Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.49 MB, 19 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
<b>VIỆN ĐIỆN TỬ - VIỄN THÔNG***** □&□ *****</b>
<i><b>1.1.1. Nghiệp vụ của hệ thống hiện tại...5</b></i>
<i><b>1.1.2. Nhược điểm của hệ thống hiện tại...5</b></i>
<b>1.2.Mục đích của dự án...6</b>
<b>1.3.Xác lập dự án...6</b>
CHƯƠNG II: TÌM HIỂU YÊU CẦU...8
<b>2.1.Các kỹ thuật được sử dụng...8</b>
<b>2.2.Các yêu cầu được thu thập...8</b>
<b>2.3.Phân loại yêu cầu...11</b>
<i><b>2.3.1. Yêu cầu chức năng...11</b></i>
<i><b>2.3.2. Yêu cầu phi chức năng...11</b></i>
CHƯƠNG III: PHÂN TÍCH HỆ THỐNG...12
<b>3.1.Sơ đồ chức năng...12</b>
3.2.1. Sơ đồ mức ngữ cảnh...13
3.2.2. Sơ đồ mức đỉnh...14
3.3. Phân tích cơ sở dữ liệu...14
CHƯƠNG IV: THIẾT KẾ CƠ SỞ DỮ LIỆU...17
4.1. Chuyển mơ hình thực thể liên kết sang mơ hình quan hệ...17
4.2. Chuẩn hóa dữ liệu về 3NF...18
4.3. Sơ đồ thực thể liên kết sau chuẩn hóa 3NF...20
4.4. Thiết kế một số form đầu ra...21
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">CHƯƠNG V: TRIỂN KHAI VÀ ĐÁNH GIÁ HỆ THỐNG...22
5.1. Xây dựng cơ sở dữ liệu trên MySQL...22
5.2. Thiết kế giao diện...23
CHƯƠNG VI: KẾT LUẬN...27
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4"><b>DANH MỤC HÌNH VẼ</b>
Hình 1. 1 Sơ đồ nghiệp vụ của hệ thống cũ ...6
Hình 3. 1 Sơ đồ chức năng của hệ thống...11
Hình 3. 2 Sơ đồ mức ngữ cảnh của hệ thống...12
Hình 3. 3 Sơ đồ luồng dữ liệu mức đỉnh...13
Hình 3. 4 Sơ đồ thực thể liên kết...15
Hình 4. 1 Sơ đồ Hoa_Don ở dạng chuẩn 1NF...17
Hình 4. 2 Sơ đồ Hoa_Don ở dạng chuẩn 3NF...18
Hình 4. 3 Sơ đồ thực thể liên kết sau khi chuẩn hóa...19
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5"><b>LỜI MỞ ĐẦU</b>
Trong thời gian làm đồ án, để tìm được tài liệu tham khảo theo đúng đề bài vànhững kỹ năng cần thiết để giúp cho việc hoàn thành bài đồ án chúng em đã gặp khánhiều khó khăn. Nhưng nhờ có sự gợi ý, hướng dẫn của PGS.TS Vũ Hải giảng viênmôn Kỹ thuật phần mề ứng dụng về những tài liệu cần thiết để tham khảo cũng nhưkiến thức hai thầy truyền đạt đã giúp em có những kiến thức, tài liệu, kỹ năng cần thiếtđể làm đồ án. Dù sự giúp đỡ đó có ít hay nhiều, có gián tiếp hay trực tiếp thì em vẫnvơ cùng biết ơn thầy.
Chúng em làm đề tài về phân tích và thiết kế hệ thống quản lý, bài làm củachúng em còn nhiều hạn chế, thiếu sót. Do vậy, chúng em mong được thầy/cơ góp ý đểem hồn thiện hơn.
Chúng em xin chân thành cảm ơn.
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6"><b>CHƯƠNG I: KHẢO SÁT HIỆN TRẠNG VÀ XÁC LẬP DỰ ÁN1.1.Khảo sát hiện trạng</b>
<i><b>1.1.1. Tình hình dịch Covid</b></i>
Thời điểm hiện tại số ca nhiễm Covid ở Việt Nam là trên 836.000 ca và số camỗi ngày ghi nhận là trên 5000 ca. Dịch bệnh ở Hà Nội đã cơ bản được kiểm soát tuynhiên dịch còn phức tạp ở nhiều tỉnh thành như TP.HCM, Bình Dương, Hà Nam…
Kinh tế trong hồn cảnh covid rất khó khăn. Sinh viên đã học Online được hơn1 kì học và chất lượng thì khơng thể kiểm sốt. Rất cần thiết được đi học bình thườngtrở lại.
<i>Hình 1.1 Một số trang web và phần mềm</i>
Bộ y tế cùng các cơ quan chức năng có đưa ra nhiều giải pháp cơng nghệ giúpkiểm sốt dịch bệnh và hỗ trợ người dân ổn định cuộc sống như: Bluezone, Sổ sứckhỏe điện tử, Ncovid…
<i><b>1.1.2. Nhược điểm của hệ thống hiện tại</b></i>
+ Tiêm xong vacxin nhiều ngày nhưng dữ liệu chưa được cập nhật. Phản hồi đến cổngthông tin Covid không được trả lời.
+ Truy cập App nhiều bước, nhiều phần mềm quản lý chung nhưng còn nhiều hạn chếvề quản lý và truy suất.
+ Đăng kí tiêm vacxin trên App khơng được phản hồi, không biết cách để xem đượccác địa điểm và thời gian tiêm chủng.
+ Nhà trường quản lý tiêm chủng của sinh viên qua điền form email không hiệu quả.
<b>1.2.Mục đích của dự án</b>
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">Quyết định lựa chọn đề tài: Phần mềm quản lý tiêm vacxin cho sinh viên và cánbộ
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8"><b>CHƯƠNG II: TÌM HIỂU YÊU CẦU2.1.Phân loại yêu cầu</b>
<i><b>2.3.1. Yêu cầu chức năng</b></i>
Phần mềm cần có các chức năng sau:a. Admin quản lý
Thêm thành viên
Cập nhật và xóa thành viên
Đăng kí kê khai thơng tin cho thành viên Tìm kiếm thơng tin thành viên
Tạo báo cáo về kết quả tìm kiếmb. User thành viên
Chỉnh sửa thơng tin cá nhân Đăng kí khai báo y tế
Tìm kiếm địa điểm và thơng tin tiêm vaccin Đăng kí tiêm chủng
Xem thơng tin tình hình dịch covid
<i><b>2.3.2. u cầu phi chức năng</b></i>
Phần mềm cần có các yêu cầu phi chức năng sau:
Đảm bảo CSDL đủ để lưu trữ thông tin trong thời gian dài.. Giao diện trực quan dễ sử dụng cho người mới tiếp xúc.
Đảm bảo các phân quyền sử dụng cùng truy cập và sử dụng trên 1CSDL.
Hệ thống cần giao diện sử dụng đơn giản cho mọi người có thể dễ dàngsử dụng.
Hệ thống đảm bảo khả năng linh hoạt khi xuất dữ liệu ra các dạng filekhác nhau để dễ dàng lưu trữ và thống kê báo cáo.
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9"> Cập nhật nhanh chóng những thay đổi trong CSDL để đảm bảo đồng bộgiữa các phân quyền sử dụng
<b>CHƯƠNG III: PHÂN TÍCH HỆ THỚNG3.1.Sơ đồ chức năng</b>
<i>Hình 3.1.1 Biểu đồ chức năng của Admin</i>
<b>Quản lý thành viên:</b>
Chức năng cho phép người dùng hệ thống sử dụng các tác vụ như thêm, cập nhật thông tin và khai báo sức khỏe cho thành viên.
<b>Kiểm tra:</b>
Chức năng tìm kiếm thành viên dựa vào một phần thông tin
Chức năng tạo báo cáo hiển thị danh sách các thành viên đang quản lý
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10"><i>Hình 3.1.2 Biểu đồ chức năng cho user</i>
<b>Quản lý thông tin bản thân: </b>
Chức năng cho phép người dùng hệ thống sử dụng các tác vụ như thêm khách hàng, cập nhật thông tin, sửa chữa, và lấy QR bản thân để khai báo sức khỏe.
<b>Tìm kiếm thơng tin:</b>
Chức năng cho phép người dùng tìm kiếm thơng tin về các địa điểm tiêmcủa mình hoặc tìm kiếm thông tin về các loại vaccin được tiêm và dịchbệnh covid nói chung.
<b>Đăng kí:</b>
Chức năng cho phép người dung tạo và gửi các bản đăng kí tiêm chủng hoặc khai báo y tế lên máy chủ.
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11"><b>3.2.</b> Sơ đồ luồng dữ liệu của hệ thống
<i>Hình 3.2.1 Phân tích hành vi</i>
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12"><i>Hình 3.2.3 Biểu đồ luồng dữ liệu cho Admin</i>
<b>3.3.Phân tích cơ sở dữ liệu</b>
<i><b>3.3.1. Nhận diện thực thể</b></i>
<b>a) Thực thể: User:</b>
Mỗi thực thể tượng trưng cho một thành viên,
Các thuộc tính: ID, name, address, class, level, healthy, vaccin, bhyt. Mơ tả: mỗi khách hàng sẽ lưu thông tin về tên, địa chỉ, lớp học, trình độ
sinh viên, sức khỏe, thông tin vaccin, số BHYtT(hoặc tương đương).
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14"><b>CHƯƠNG IV: TRIỂN KHAI VÀ ĐÁNH GIÁ HỆ THỐNG</b>
4.1 Thiết kế giao diện
<i>Hình 4.1.1 Form đăng nhập</i>
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15"><i>Hình 4.1.2 Giao điện cho user khi đăng nhập</i>
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16"><i>Hình 4.1.3 Thiết kế giao diện cho Admin đăng nhập</i>
<small> string query = "SELECT * FROM login";</small>
<small> MySqlConnection databaseConnection = new MySqlConnection(connectionString); MySqlCommand commandDatabase = new MySqlCommand(query, databaseConnection); commandDatabase.CommandTimeout = 60;</small>
<small> MySqlDataReader reader; // tránh lỗ<i</small>
<small> try {</small>
<small> //Kế.t nỗ.i với csdl và rà sốt xem có ba/n ghi nào ở/ login có username và password hợp lệ</small>
<small> databaseConnection.Open();</small>
<small> reader = commandDatabase.ExecuteReader(); if (reader.HasRows)</small>
<small> {</small>
<small> while (reader.Read()) {</small>
<small> if ((reader.GetString(1)==tbUser.Text)&&(reader.GetString(2)==tbPassword.Text)) {</small>
<small> userId = reader.GetString(0);</small>
<small> MessageBox.Show("Đăng nhập thành cỗng", "Thỗng báo"); returntrue;</small>
<small> } } } else {</small>
<small> Console.WriteLine("No rows found."); }</small>
<small> databaseConnection.Close(); }</small>
<small> // nế.u lỗ<i in ra mã lỗ<i</small>
<small> catch (Exception ex) {</small>
<small> MessageBox.Show(ex.Message); }</small>
<small> MessageBox.Show("Sai mật khâ/u hoặc tài khoa/ng", "Lỗ<i"); returnfalse;</small>
<small> }</small>
4.2.2 Điều khiển Form
Ví dụ với hàm điều khiển form trong form login
<small> privatevoid btLogin_Click(object sender, EventArgs e) {</small>
<small> // Kiế/m tra đúng tài khoa/n và mật khâ/u khỗng</small>
<small> bool checkLogin = isValidUer(); // đăng nhập với tư cách thành viến</small>
<small> if ((checkedListBox1.SelectedIndex == 0) && checkLogin) {</small>
<small> MainForm frMain = new MainForm (userId);</small>
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17"><small> this.Hide(); }</small>
<small> // đăng nhập với tư cách admin</small>
<small> if ((checkedListBox1.SelectedIndex==1)&& checkLogin) {</small>
<small> QuanLySinhVien frMain = new QuanLySinhVien(); frMain.ShowDialog();</small>
<small> this.Hide(); }</small>
<small> }</small>
4.2.3 Hiển thị dữ liệu ở CSDL
Ví dụ với hàm hiển thị ra thông tinh sinh viên ở form Admin
<small> privatevoid listSV() {</small>
<small> string connectionString = </small>
<small>"datasource=127.0.0.1;port=3306;username=root;password=;database=ql_vaccin;"; // Lệnh mysql đọc tâ.t ca/ ba/n ghi</small>
<small> string query = "SELECT * FROM user";</small>
<small> MySqlConnection databaseConnection = new MySqlConnection(connectionString); MySqlCommand commandDatabase = new MySqlCommand(query, databaseConnection); commandDatabase.CommandTimeout = 60;</small>
<small> MySqlDataReader reader; // lệnh try catch tránh lỗ<i</small>
<small> {</small>
<small> //đọc csdl</small>
<small> while (reader.Read()) { </small>
<small> // đọc từng sinh viến 1</small>
<small> numberSV++; // sỗ. lượng sinh viến tăng lến</small>
<small> // tạo một hàng trong listviewer trong form hiế/n thị</small>
<small> string[] row = { reader.GetString(0), reader.GetString(1), reader.GetString(2), reader.GetString(3), </small>
<small> reader.GetString(4), reader.GetString(5), reader.GetString(6), reader.GetString(7) };</small>
<small> var listViewItem = new ListViewItem(row); // thếm thỗng tin sinh viến vào listviewer</small>
<small> listView1.Items.Add(listViewItem);</small>
<small> // đánh dâ.u sỗ. lượng sinh viến tiếm mũi 1 và mũi 2</small>
<small> if (reader.GetString(6) == "1") {</small>
<small> numberSVVaccin1++; }</small>
<small> if (reader.GetString(6) == "2") {</small>
<small> numberSVVaccin2++; }</small>
<small> }</small>
</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18"><small> //In ra lỗ<i kế.t nỗ.i</small>
<small> catch (Exception ex) {</small>
<small> MessageBox.Show(ex.Message); }</small>
<small> }</small>
</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19"><b>CHƯƠNG V: KẾT LUẬN</b>
Trong báo cáo này nhóm đã tìm hiểu và xây dựng thành bước đầu trong côngviệc thiết kế một phần mềm ứng dụng: Khảo sát hiện trạng và xác lập dự án. Tìm hiểuu cầu. Phần Demo cịn nhiều hạn chế, nhiều vấn đề do kiến thức còn chưa đủ, chưacó nhiều kinh nghiệm
Nhóm em xin chân thành cảm ơn thầy đã tận tình hỗ trợ và giúp đỡ để em có thểhồn thành tốt được báo cáo này. Trong q trình thực hiện sẽ khơng tránh khỏi nhữngsai sót, nhóm em mong nhận được những ý kiến và góp ý từ thầy và các bạn để hồnthiện hơn.
</div>