1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo bài tập lớn kỹ thuật phần mềm ứng dụng đề tài thiết kế hệ thống quản lý tiêm vaccine cho sinh viên

19 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết kế hệ thống quản lý tiêm vaccine cho sinh viên
Tác giả Lê Chí Tuyền, Lê Duy Hoàng Minh, Trương Phi Long, Nguyễn Đình Hòa
Người hướng dẫn PGS.TS Vũ Hải
Trường học Trường Đại học Bách Khoa Hà Nội, Viện Điện tử - Viễn thông
Chuyên ngành Kỹ thuật phần mềm ứng dụng
Thể loại Bài tập lớn
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 19
Dung lượng 1,65 MB

Nội dung

Xác lập dự án  Xây dựng một phần mềm quản lí tiêm vacxin cho sinh viên và cán bộ  Thiết kế phần mềm với giao diện thân thiện, dễ sử dụng… Rèn luyện tư duy phát triển phần mềm, kĩ năn

Trang 1

VIỆN ĐIỆN TỬ - VIỄN THÔNG

***** □&□ *****

BÁO CÁO BÀI TẬP LỚN:

Kỹ thuật phần mềm ứng dụng

ĐỀ TÀI: THIẾT KẾ HỆ THỐNG QUẢN LÝ TIÊM

VACCINE CHO SINH VIÊN

Nhóm sinh viên thực hiện

Lê Duy Hoàng Minh : 20193011

Trương Phi Long : 20192991

Nguyễn Đình Hòa : 20192860

Giảng viên hướng dẫn: PGS.TS Vũ Hải

Trang 2

MỤC LỤC

DANH MỤC HÌNH VẼ 3

LỜI MỞ ĐẦU 4

CHƯƠNG I: KHẢO SÁT HIỆN TRẠNG VÀ XÁC LẬP DỰ ÁN 5

1.1 Khảo sát hiện trạng 5

1.1.1 Nghiệp vụ của hệ thống hiện tại 5

1.1.2 Nhược điểm của hệ thống hiện tại 5

1.2 Mục đích của dự án 6

1.3 Xác lập dự án 6

CHƯƠNG II: TÌM HIỂU YÊU CẦU 8

2.1 Các kỹ thuật được sử dụng 8

2.2 Các yêu cầu được thu thập 8

2.3 Phân loại yêu cầu 11

2.3.1 Yêu cầu chức năng 11

2.3.2 Yêu cầu phi chức năng 11

CHƯƠNG III: PHÂN TÍCH HỆ THỐNG 12

3.1 Sơ đồ chức năng 12

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

Trang 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

Trang 4

DANH MỤC HÌNH VẼ

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

Trang 5

LỜI MỞ ĐẦU

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ên mô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ẫn

vô 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ủa chú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 hoàn thiện hơn

Chúng em xin chân thành cảm ơn

Trang 6

CHƯƠNG I: KHẢO SÁT HIỆN TRẠNG VÀ XÁC LẬP DỰ ÁN

1.1 Khảo sát hiện trạng

1.1.1 Tình hình dịch Covid

Thời điểm hiện tại số ca nhiễm Covid ở Việt Nam là trên 836.000 ca và số ca mỗ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 tuy nhiê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 hoàn cảnh covid rất khó khăn Sinh viên đã học Online được hơn

1 kì học và chất lượng thì không thể kiểm soát Rất cần thiết được đi học bình thường trở lại

Hình 1.1 Một số trang web và phần mềm

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úp kiểm soát dịch bệnh và hỗ trợ người dân ổn định cuộc sống như: Bluezone, Sổ sức khỏe điện tử, Ncovid…

1.1.2 Nhược điểm của hệ thống hiện tạ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ổng thô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 được cá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ả

1.2 Mục đích của dự án

Trang 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án bộ

1.3 Xác lập dự án

 Xây dựng một phần mềm quản lí tiêm vacxin cho sinh viên và cán bộ

 Thiết kế phần mềm với giao diện thân thiện, dễ sử dụng…

Rèn luyện tư duy phát triển phần mềm, kĩ năng làm việc nhóm, trao đổi thuyết trình

1.4 Lập kế hoạch

 Các công cụ: Google Driver, Github, Messenger

 Mô hình phát triển: Tăng dần

 Các nền tảng xây dựng: Phần mềm visual studio 2019, quản lý dữ liệu bằng mySQL với phần mềm Xampp, lưu trữ file bằng các định dạng pdf(file để in)

và csv(excel)

Trang 8

CHƯƠNG II: TÌM HIỂU YÊU CẦU 2.1 Phân loại yêu cầu

2.3.1 Yêu cầu chức năng

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ếm

b 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

2.3.2 Yêu cầu phi chức năng

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 1 CSDL

 Hệ thống cần giao diện sử dụng đơn giản cho mọi người có thể dễ dàng

sử 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 file khác nhau để dễ dàng lưu trữ và thống kê báo cáo

Trang 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

CHƯƠNG III: PHÂN TÍCH HỆ THỐNG 3.1 Sơ đồ chức năng

Hình 3.1.1 Biểu đồ chức năng của Admin

Quản lý thành viên:

 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

Kiểm tra:

 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ý

Trang 10

Hình 3.1.2 Biểu đồ chức năng cho user

Quản lý thông tin bản thân:

 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

Tìm kiếm thông tin:

 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êm của mình hoặc tìm kiếm thông tin về các loại vaccin được tiêm và dịch bệnh covid nói chung

Đăng kí:

 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ủ

Trang 11

3.2. Sơ đồ luồng dữ liệu của hệ thống

Hình 3.2.1 Phân tích hành vi

Trang 12

Hình 3.2.3 Biểu đồ luồng dữ liệu cho Admin

3.3 Phân tích cơ sở dữ liệu

3.3.1 Nhận diện thực thể

a) Thực thể: User:

 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)

b) Thực thể: login:

 Mỗi thực thể tượng trưng cho một tài khoản đăng nhập

 Các thuộc tính: id, username, password

 Mô tả: mỗi thực thể sẽ có mã người dùng, tên đăng nhập và mật khẩu

Trang 13

e) Thực thể: vaccin:

 Mỗi thực thể tượng trưng cho một lần tiêm vaccin

 Các thuộc tính: id, userid, type, date

 Mô tả: id lần tiêm, id user, loại vaccin và ngày tiêm

d) Thực thể: vaccinOnTime:

 Mỗi thực thể tượng trưng cho một địa điểm tiêm

 Các thuộc tính: id, name, owner, fromDate, toDate

 Mô tả: id địa điểm, tên địa điểm, người tổ chức và thời gian bắt đầu kết thức

e) Thực thể: vaccinType:

 Mỗi thực thể tượng trưng cho một loại vaccin

 Các thuộc tính: id, name

 Mô tả: gồm có id vaccin và tên của loại vaccin

f) Thực thể: area:

 Mỗi thực thể tượng trưng cho một loại vaccin tại 1 địa điểm tiêm

 Các thuộc tính: id, name, idvaccin

 Mô tả: gồm có id địa điểm, tên địa điểm và id vaccin được tiêm

3.3.2 Cơ sở dữ liệu bằng mySQL

Trang 14

CHƯƠNG IV: TRIỂN KHAI VÀ ĐÁNH GIÁ HỆ THỐNG

4.1 Thiết kế giao diện

Hình 4.1.1 Form đăng nhập

Trang 15

Hình 4.1.2 Giao điện cho user khi đăng nhập

Trang 16

Hình 4.1.3 Thiết kế giao diện cho Admin đăng nhập

4.2 Lập trình

4.2.1 Kết nối CSDL và tránh lỗi

Ví dụ với hàm kiểm tra tên đăng nhập ở form đăng nhập

bool isValidUer()

{

string connectionString =

"datasource=127.0.0.1;port=3306;username=root;password=;database=ql_vaccin;" ;

// Câu lệnh mySQL select tâ t ca / ba /n ghi ở / login

string query = "SELECT * FROM login" ;

MySqlConnection databaseConnection = new MySqlConnection(connectionString);

MySqlCommand commandDatabase = new MySqlCommand(query, databaseConnection);

commandDatabase.CommandTimeout = 60;

MySqlDataReader reader;

// tránh lỗ< i

try

{

//Kế t nỗ i với csdl và rà soát xem có ba /n ghi nào ở / login có username và password hợp lệ

databaseConnection.Open();

reader = commandDatabase.ExecuteReader();

if (reader.HasRows)

{

while (reader.Read())

{

if ((reader.GetString(1)==tbUser.Text)&&(reader.GetString(2)==tbPassword.Text)) {

userId = reader.GetString(0);

MessageBox.Show( "Đăng nhập thành cỗng" , "Thỗng báo" );

return true ;

}

}

}

else

{

Console.WriteLine( "No rows found." );

}

databaseConnection.Close();

}

// nế u lỗ< i in ra mã lỗ< i

catch (Exception ex)

{

MessageBox.Show(ex.Message);

}

MessageBox.Show( "Sai mật khâ/ u hoặc tài khoa /ng" , "Lỗ< i" );

return false ;

}

4.2.2 Điều khiển Form

Ví dụ với hàm điều khiển form trong form login

private void btLogin_Click( object sender, EventArgs e)

{

// Kiế/ m tra đúng tài khoa /n và mật khâ/ u khỗng

bool checkLogin = isValidUer();

// đăng nhập với tư cách thành viến

if ((checkedListBox1.SelectedIndex == 0) && checkLogin)

{

MainForm frMain = new MainForm (userId);

Trang 17

this Hide();

}

// đăng nhập với tư cách admin

if ((checkedListBox1.SelectedIndex==1)&& checkLogin)

{

QuanLySinhVien frMain = new QuanLySinhVien();

frMain.ShowDialog();

this Hide();

}

}

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

private void listSV()

{

string connectionString =

"datasource=127.0.0.1;port=3306;username=root;password=;database=ql_vaccin;" ;

// Lệnh mysql đọc tâ t ca / ba /n ghi

string query = "SELECT * FROM user" ;

MySqlConnection databaseConnection = new MySqlConnection(connectionString); MySqlCommand commandDatabase = new MySqlCommand(query, databaseConnection); commandDatabase.CommandTimeout = 60;

MySqlDataReader reader;

// lệnh try catch tránh lỗ< i

try

{

//kế t nỗ i csdl

databaseConnection.Open();

reader = commandDatabase.ExecuteReader();

if (reader.HasRows)

{

//đọc csdl

while (reader.Read())

{

// đọc từng sinh viến 1

numberSV++; // sỗ lượng sinh viến tăng lến

// tạo một hàng trong listviewer trong form hiế/ n thị

string [] row = { reader.GetString(0), reader.GetString(1), reader.GetString(2), reader.GetString(3),

reader.GetString(4), reader.GetString(5), reader.GetString(6), reader.GetString(7) };

var listViewItem = new ListViewItem(row);

// thếm thỗng tin sinh viến vào listviewer

listView1.Items.Add(listViewItem);

// đánh dâ u sỗ lượng sinh viến tiếm mũi 1 và mũi 2

if (reader.GetString(6) == "1" )

{

numberSVVaccin1++;

}

if (reader.GetString(6) == "2" )

{

numberSVVaccin2++;

}

}

Trang 18

"%" ;

lbPredic2.Text = "Mũi 2: " + (numberSVVaccin2*100 / numberSV).ToString() +

"%" ;

// Đóng csdl

databaseConnection.Close();

}

//In ra lỗ< i kế t nỗ i

catch (Exception ex)

{

MessageBox.Show(ex.Message);

}

}

Trang 19

CHƯƠNG V: KẾT LUẬN

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ông việ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ểu yêu 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ưa

có 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ể hoàn thành tốt được báo cáo này Trong quá trình thực hiện sẽ không tránh khỏi những sai sót, nhóm em mong nhận được những ý kiến và góp ý từ thầy và các bạn để hoàn thiện hơn

Ngày đăng: 09/05/2024, 14:47

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w