Thiết kế ứng dụng tư vấn y tế | Báo cáo bài tập lớn môn Kỹ thuật phần mềm
Dự án "Ứng dụng tư vấn y tế trên di động" nhằm tạo ra một ứng dụng di động thông minh để cung cấp tư vấn y tế và hỗ trợ cho người dùng trong việc quản lý sức khỏe cá nhân. Ứng dụng sẽ cung cấp thông tin y tế đáng tin cậy, đưa ra lời khuyên, và hỗ trợ giải đáp các thắc mắc về chăm sóc sức khỏe. Nó sẽ giúp người dùng tự quản lý sức khỏe một cách hiệu quả và thuận tiện. Dự án đặt mục tiêu tạo ra một nền tảng tư vấn y tế trên di động dễ sử dụng và tiện ích cho mọi người. Tài liệu giúp bạn tham khảo, ôn tập và đạt kết quả cao. Mời bạn đón xem.
Preview text:
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC PHENIKAA KHOA HỌC CƠ BẢN ~~~~~~*~~~~~~
BÁO CÁO BÀI TẬP LỚN MÔN KỸ THUẬT PHẦN MỀM
ĐỀ TÀI: THIẾT KẾ ỨNG DỤNG TƯ VẤN Y TẾ Giáo viên hướng dẫn : Mai Xuân Tráng Thành viên nhóm : Nguyễn Xuân Hiếu : Phạm Anh Tuấn : Nguyễn Quang Linh Năm học: 2022-2023 MỤC LỤC
MỞ ĐẦU .......................................................................................................... 1
DANH MỤC HÌNH ẢNH ............................................................................... 3
1.Tổng quan ..................................................................................................... 4
1.1.Khảo sát thực trạng .................................................................................... 4
1.2. Đánh giá .................................................................................................... 4
1.3.Tối tượng và phạm vi ứng dụng ................................................................. 5
2. CƠ SỞ LÝ THUYẾT ................................................................................... 7
2.1 TỔNG QUAN VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG ................... 7
2.2 TỔNG QUAN VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL ........ 8
3. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG .................................................. 9
3.1 XÁC ĐỊNH YÊU CẦU ........................................................................ 9
3.1.1 Yêu cầu chức năng ............................................................................ 9
3.1.2. Yêu cầu hệ thống ............................................................................ 10
3.2 MÔ HÌNH HÓA ................................................................................ 11
3.3. CƠ SỞ DỮ LIỆU CỦA HỆ THỐNG .............................................. 12
3.3.1 Bảng người dùng ............................................................................. 12
3.3.2 Bảng bác sĩ ...................................................................................... 12
3.4.CÁC THÀNH PHẦN CHỨC NĂNG CỦA HỆ THỐNG ................. 12
3.4.1. Chức năng đăng nhập hệ thống ...................................................... 12
3.4.2. Chức năng quyền admin ................................................................ 12
3.4.3. Chức năng quyền user .................................................................... 13
3.4.4.Chức năng hiển thị tìm kiếm ........................................................... 13
3.4.5.Chức năng hiển thị thông tin cá nhân user..................................... 13
3.5. SOURCE CODE CỦA CHƯƠNG TRÌNH ...................................... 13
3.6. THIẾT KẾ GIAO DIỆN HỆ THỐNG .............................................. 16
4.Tầm quan trọng của dự án .......................................................................... 25
5. Những khó khăn dự án gặp phải ................................................................ 25
KẾT LUẬN .................................................................................................... 29 1 MỞ ĐẦU
Dự án "Ứng dụng tư vấn y tế trên di động" nhằm tạo ra một ứng dụng di
động thông minh để cung cấp tư vấn y tế và hỗ trợ cho người dùng trong việc
quản lý sức khỏe cá nhân.
Ứng dụng sẽ cung cấp thông tin y tế đáng tin cậy, đưa ra lời khuyên, và hỗ
trợ giải đáp các thắc mắc về chăm sóc sức khỏe. Nó sẽ giúp người dùng tự
quản lý sức khỏe một cách hiệu quả và thuận tiện. Dự án đặt mục tiêu tạo ra
một nền tảng tư vấn y tế trên di động dễ sử dụng và tiện ích cho mọi người.
Người dùng có thể truy cập ứng dụng từ điện thoại di động của mình, tìm
kiếm thông tin y tế, đặt câu hỏi và nhận được phản hồi chất lượng từ các
chuyên gia y tế. Ứng dụng tư vấn y tế sẽ được thiết kế với giao diện thân
thiện, dễ sử dụng và tương tác. Người dùng có thể nhập thông tin về tình
trạng sức khỏe cá nhân, theo dõi chỉ số sức khỏe, và nhận được các bài viết,
video và tài liệu hữu ích về chăm sóc sức khỏe. Lợi ích của dự án bao gồm
việc tăng cường quyền tự quyết và trách nhiệm cá nhân trong việc chăm sóc
sức khỏe, tiết kiệm thời gian và tài nguyên trong việc truy cập y tế, và cung
cấp sự hỗ trợ và giúp đỡ cho những người không thể tiếp cận dễ dàng đến cơ
sở y tế truyền thống.Với sự phát triển nhanh chóng của thiết bị di động và
ứng dụng di động, việc áp dụng công nghệ vào lĩnh vực y tế đã tạo ra một cơ
hội mới để cung cấp dịch vụ chăm sóc sức khỏe một cách thuận tiện và hiệu
quả. Ứng dụng tư vấn y tế trên di động sẽ cung cấp một loạt các chức năng
và tính năng phong phú để đáp ứng nhu cầu của người dùng. Người dùng sẽ
có thể tra cứu thông tin y tế, như triệu chứng bệnh, phương pháp điều trị và
thuốc, để có kiến thức cơ bản và tự chẩn đoán. Hơn nữa, ứng dụng sẽ cung
cấp tư vấn y tế cá nhân hóa dựa trên thông tin người dùng cung cấp về tuổi
tác, giới tính, tiền sử bệnh và các chỉ số sức khỏe.
Dự án hy vọng sẽ đóng góp vào việc cải thiện sức khỏe cộng đồng và tăng
cường kiến thức y tế của mọi người thông qua việc cung cấp tư vấn y tế chất
lượng và phù hợp trên thiết bị di động. 2 DANH MỤC HÌNH ẢNH
Hình 3.1. Biểu đồ phân rã chức năng (BFD)
Hình 3.2. Bảng người dùng Bảng 3.3. Bảng bác sĩ
Hình 3.4.Source code class ConnectoDB
Hình 3.5.Source class Đăng nhập và Đăng ký
Hình 3.6. Source code lưu thông tin đăng nhập
Hình 3.7. Source code lấy danh sách tất cả các bác sĩ
Hình 3.8.Source code thêm bác sĩ
Hình 3.9. Source code xóa tài khoản
Hình 3.10. Source code cập nhật bệnh án
Hình3.11.Source code đăng nhập người dùng
Hình 3.12. Form đăng nhập
Hình 3.13.Form giao diện chính của phần mềm dưới quyền Admin
Hình 3.14. Thông tin người dùng
Hình 3.15. Xóa người dùng
Hình 3.16. Danh sách bác sĩ
Hình 3.17. Thêm bác sĩ mới Hình 3.18. Xóa bác sĩ Hình 3.19.Đăng nhập
Hình 3.20. Thông tin cá nhân
Hình 3.21. Cập nhật bệnh lý Hình 3.22. Đăng xuất
Hình 3.23. Xác nhận xóa tài khoản Hình 3.24. Tra cứu bệnh
Link github dự án : git@github.com:AnhTuan2003ml/se_N10_appyte.git
https://github.com/AnhTuan2003ml/se_N10_appyte?
fbclid=IwAR3Ao6qfQrJIz5OfGie1amVdk75EdrFA2- 69kKtwlXU_1EPlm6TxRUJ9WFc 3 1.Tổng quan
1.1.Khảo sát thực trạng
Ngành tư vấn y tế đóng vai trò cần thiết trong việc cung cấp thông tin, hỗ trợ
và giáo dục về sức khỏe cho cá nhân và cộng đồng. Nó giúp mọi người tăng
cường kiến thức y tế, tự chăm sóc sức khỏe, đánh giá và giải quyết các vấn
đề sức khỏe, cung cấp tư vấn tâm lý và tinh thần, cùng với sự tiện lợi và tiếp
cận dễ dàng thông qua các phương tiện kỹ thuật số. Ngành tư vấn y tế đóng
góp quan trọng cho việc nâng cao chất lượng cuộc sống và sức khỏe của mọi
người, để giúp mọi người thuận tiện cũng như tiết kiệm thời gian khám sức
khỏe cho mọi người các app sản phẩm tư vấn y tế trực tuyến bắt đầu ra đời. 1.2. Đánh giá
App tư vấn y tế có những ưu điểm và nhược điểm riêng. Dưới đây là một số
điểm mạnh và điểm yếu của ứng dụng này: Ưu điểm: 1.
Tiện lợi và truy cập dễ dàng: App tư vấn y tế mang lại tiện ích cho
ngườidùng với khả năng truy cập thông tin y tế và tư vấn mọi lúc, mọi nơi
chỉ cần có kết nối internet. Điều này giúp tiết kiệm thời gian và công sức cho
việc di chuyển đến các cơ sở y tế truyền thống. 2.
Tư vấn cá nhân hóa: Ứng dụng tư vấn y tế có thể cung cấp tư vấn
cánhân hóa dựa trên thông tin và lịch sử sức khỏe của người dùng. Điều này
giúp người dùng nhận được thông tin và khuyến nghị phù hợp với tình trạng
sức khỏe và nhu cầu riêng của họ. 3.
Đa dạng thông tin y tế: App tư vấn y tế cung cấp một nguồn thông
tinphong phú về triệu chứng, bệnh tật, phòng ngừa, và quản lý sức khỏe.
Người dùng có thể tìm hiểu và cập nhật kiến thức y tế để tự quản lý sức khỏe một cách tốt hơn. 4.
Giao tiếp và tương tác: Một số ứng dụng tư vấn y tế cung cấp khả
nănggiao tiếp và tương tác trực tiếp với các chuyên gia y tế qua tin nhắn,
cuộc gọi video hoặc hệ thống chat. Điều này cho phép người dùng nhận được
hỗ trợ và giải đáp thắc mắc từ những chuyên gia có kinh nghiệm. 4 Nhược điểm: 1.
Thiếu giao tiếp trực tiếp: Mặc dù có thể cung cấp thông tin và tư
vấn,app tư vấn y tế không thể thay thế hoàn toàn sự giao tiếp trực tiếp với
bác sĩ hoặc nhân viên y tế. Điều này có thể khiến người dùng cảm thấy thiếu
sự kết nối và lòng tin tưởng. 2.
Giới hạn về chẩn đoán: App tư vấn y tế có thể hỗ trợ với việc cung
cấpthông tin về triệu chứng và khuyến nghị, nhưng không thể thay thế quá trình chẩn đoán
1.3.Tối tượng và phạm vi ứng dụng
Đối tượng của app tư vấn y tế có thể là mọi người, bao gồm cả người dùng
có kiến thức y tế cơ bản và người không có nền tảng y tế. Tuy nhiên, phạm
vi đối tượng chủ yếu của app tư vấn y tế có thể được phân loại như sau: -
Người dùng tự chăm sóc sức khỏe: App tư vấn y tế hướng đến
ngườidùng có nhu cầu tự chăm sóc sức khỏe cá nhân. Đây có thể là những
người quan tâm đến việc duy trì lối sống lành mạnh, phòng ngừa bệnh tật,
tìm hiểu về triệu chứng và cách quản lý tình trạng sức khỏe của mình. -
Người tìm kiếm thông tin y tế: App tư vấn y tế cung cấp một nguồn thông
tin phong phú về các vấn đề y tế. Đối tượng này bao gồm những người tìm
kiếm thông tin liên quan đến bệnh tật, phương pháp điều trị, phòng ngừa, và
các lĩnh vực y tế khác. -
Người cần tư vấn và hỗ trợ: App tư vấn y tế có thể hướng đến
nhữngngười cần tư vấn và hỗ trợ từ các chuyên gia y tế. Đối tượng này bao
gồm những người có câu hỏi về sức khỏe, cần lời khuyên, hoặc muốn có ý
kiến chuyên môn về tình trạng sức khỏe của mình. Phạm vi đối tượng của
app tư vấn y tế là rất rộng, từ những người sử dụng thông thường cho đến
những người quan tâm chuyên sâu về y tế. Phạm vi : 5
1. Phát biểu: Dự án ứng dụng tư vấn y tế nhằm cung cấp một nền tảng tiệních
và thông tin chính xác về sức khỏe cho người dùng thông qua ứng dụng di động.
2. Mục tiêu: Mục tiêu của dự án là tạo ra một ứng dụng tư vấn y tế chấtlượng
cao, đáng tin cậy và dễ sử dụng. Ứng dụng sẽ cung cấp thông tin y tế đa
dạng, tư vấn cá nhân hóa và khả năng tương tác với các chuyên gia y tế.
Mục tiêu cuối cùng là nâng cao kiến thức y tế, khả năng tự chăm sóc sức
khỏe và cung cấp sự hỗ trợ chính xác cho người dùng. 3. Lợi ích: -
Tiện lợi và truy cập dễ dàng: Người dùng có thể truy cập thông tin y
tế vàtư vấn mọi lúc, mọi nơi chỉ cần có kết nối internet. -
Tư vấn cá nhân hóa: Cung cấp tư vấn và thông tin phù hợp với tình
trạngsức khỏe và nhu cầu riêng của từng người dùng. -
Đa dạng thông tin y tế: Cung cấp nguồn thông tin phong phú về
triệuchứng, bệnh tật, phòng ngừa và quản lý sức khỏe. -
Giao tiếp và tương tác: Khả năng giao tiếp và tương tác trực tiếp với
cácchuyên gia y tế, giúp người dùng nhận được hỗ trợ và giải đáp thắc mắc.
4. Các bước thực hiện:
a. Nghiên cứu và phân tích: Tiến hành nghiên cứu về nhu cầu và yêu cầucủa
người dùng, phân tích thị trường và các ứng dụng tương tự đã có.
b. Thiết kế giao diện và tính năng: Xây dựng giao diện và các tính năngtương
thích với các nền tảng di động, đảm bảo trải nghiệm người dùng tốt.
c. Phát triển ứng dụng: Tiến hành phát triển và kiểm thử ứng dụng tư vấn ytế
với sự hỗ trợ của các chuyên gia y tế và nhà phát triển phần mềm.
d. Triển khai và đánh giá: Triển khai ứng dụng và thu thập ph
Các ràng buộc của hệ thống
• Dữ liệu phải đúng với khai báo và được cập nhật một cách chính xác
• Phần mềm sau khi triển khai phải đáp ứng được nhu cầu tự động 50% số
lượng công việc liên quan. 6
2. CƠ SỞ LÝ THUYẾT
2.1 TỔNG QUAN VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
2.1.1. Ngôn ngữ lập trình Backend :
Backend là phần của một ứng dụng hoặc hệ thống phần mềm nằm phía sau
(từ đó có tên gọi "backend"), xử lý các tác vụ logic, quản lý dữ liệu và tương
tác với các thành phần khác của hệ thống. Trong kiến trúc phần mềm,
backend là nơi xử lý các yêu cầu của người dùng và gửi lại phản hồi tương
ứng. Nó chịu trách nhiệm xử lý và lưu trữ dữ liệu, quản lý tài khoản người
dùng, xác thực và ủy quyền, thực hiện các tính toán phức tạp và tương tác
với các dịch vụ bên ngoài như cơ sở dữ liệu, dịch vụ bên thứ ba, hệ thống tệp, và hơn thế nữa.
Ở nhóm chúng em lựa chọn ngôn ngữ python.Python là một ngôn ngữ lập
trình phổ biến và mạnh mẽ được sử dụng chủ yếu cho việc phát triển phía
backend của ứng dụng. Với cú pháp đơn giản, Python cho phép lập trình viên
xây dựng các hệ thống phức tạp và ứng dụng web hiệu quả. Với Python, bạn
có thể xây dựng các API, web service và ứng dụng web phức tạp. Python hỗ
trợ nhiều framework phát triển phía server như Django, Flask và Pyramid,
giúp tăng tốc quá trình phát triển và cung cấp các công cụ và thư viện mạnh
mẽ để xây dựng các ứng dụng linh hoạt và bảo mật. Python cũng hỗ trợ kết
nối với cơ sở dữ liệu thông qua các thư viện như SQLAlchemy, giúp quản lý
và tương tác với cơ sở dữ liệu dễ dàng. Ngoài ra, Python cũng cung cấp các
thư viện và công cụ để xử lý dữ liệu, thực hiện tính toán phức tạp và triển
khai các tác vụ xử lý nền. Với mô-đun và gói phong phú, Python cho phép
bạn mở rộng chức năng của ứng dụng bằng cách sử dụng các thư viện bên
thứ ba. Điều này giúp giảm thời gian phát triển và tận dụng lại mã nguồn có
sẵn. Tổng quan, Python là một lựa chọn mạnh mẽ cho việc phát triển phía
backend của ứng dụng. Với tính đơn giản, hiệu quả và khả năng tích hợp,
Python là một ngôn ngữ phổ biến trong cộng đồng phát triển phần mềm và 7
được sử dụng rộng rãi trong việc xây dựng các ứng dụng web và hệ thống phức tạp. Front end :
Frontend là phần giao diện người dùng của một ứng dụng hoặc trang web,
đóng vai trò trong việc hiển thị và tương tác với người dùng. Nhóm chúng
em sử dụng HyperText Markup Language (HTML ). HTML (HyperText
Markup Language) là một ngôn ngữ đánh dấu được sử dụng để xây dựng cấu
trúc và định dạng nội dung của một trang web. Nó là ngôn ngữ cơ bản và cốt
lõi của phần giao diện người dùng (frontend) của một trang web. HTML cho
phép bạn xác định các phần tử và cấu trúc trên trang web bằng cách sử dụng
các thẻ (tags). Các thẻ HTML được sử dụng để định nghĩa các phần tử như
tiêu đề, đoạn văn bản, hình ảnh, liên kết, bảng, biểu đồ và nhiều phần tử khác.
Bằng cách sắp xếp và nhóm các thẻ HTML, bạn có thể tạo ra giao diện và
cấu trúc trang web mong muốn. Ngoài việc định nghĩa cấu trúc, HTML cũng
hỗ trợ định dạng thông qua CSS (Cascading Style Sheets). CSS được sử dụng
để định rõ kiểu dáng, màu sắc, kích thước, khoảng cách và các thuộc tính
khác của các phần tử HTML trên trang web. Bằng cách áp dụng CSS vào
HTML, bạn có thể tạo ra giao diện đẹp mắt và phù hợp với thiết kế của trang
web. Khi trình duyệt web hiển thị trang web, nó sẽ hiểu và hiển thị nội dung
HTML theo cấu trúc và định dạng đã được định nghĩa. Điều này cho phép
người dùng tương tác với các phần tử trên trang web và truy cập đến các liên
kết, biểu mẫu nhập liệu và các chức năng khác. Tóm lại, HTML là ngôn ngữ
đánh dấu được sử dụng để xây dựng cấu trúc và định dạng nội dung của một
trang web. Nó là thành phần cơ bản và quan trọng trong phát triển phần
frontend của một trang web và thường được kết hợp với CSS để tạo ra giao
diện và trải nghiệm người dùng tốt hơn.
2.2 TỔNG QUAN VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
MySQL là một hệ quản trị cơ sở dữ liệu phổ biến và được sử dụng rộng rãi
trên toàn thế giới. Điểm mạnh của MySQL nằm ở sự dễ sử dụng, hiệu suất
cao, độ tin cậy và khả năng mở rộng. MySQL có cú pháp SQL đơn giản và 8
dễ hiểu, giúp người dùng tạo, truy vấn và cập nhật dữ liệu một cách dễ dàng.
Nó được tối ưu hóa để xử lý tốt các truy vấn và giao transactiois trong môi
trường có tải công việc cao. Đồng thời, MySQL cũng đảm bảo tính toàn vẹn
dữ liệu và cung cấp các tính năng bảo mật như xác thực người dùng và quyền
truy cập. Một ưu điểm quan trọng của MySQL là khả năng mở rộng. Người
dùng có thể mở rộng dữ liệu bằng cách thêm các máy chủ slave hoặc sử dụng
các công nghệ như phân chia dữ liệu và nhân rộng dữ liệu. Điều này giúp
MySQL xử lý hiệu quả các tải công việc lớn và đáp ứng nhu cầu mở rộng
của hệ thống. MySQL cũng hỗ trợ đa nền tảng, cho phép cài đặt trên nhiều
hệ điều hành và nền tảng khác nhau. Điều này giúp người dùng linh hoạt
trong việc triển khai và vận hành MySQL trên các môi trường khác nhau.
Cuối cùng, MySQL có một cộng đồng người dùng lớn và phong phú. Người
dùng MySQL có thể dễ dàng tìm kiếm tài liệu, tài liệu hướng dẫn và nhận sự
hỗ trợ từ cộng đồng thông qua các diễn đàn và nguồn kiến thức phong phú.
Tóm lại, MySQL là một hệ quản trị cơ sở dữ liệu mạnh mẽ và linh hoạt, đáp
ứng được nhiều yêu cầu về quản lý dữ liệu. Với tính dễ sử dụng, hiệu suất
cao và khả năng mở rộng, MySQL là một lựa chọn phổ biến cho các ứng
dụng web, di động và hệ thống thông tin.
3. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 3.1 XÁC ĐỊNH YÊU CẦU 3.1.1 Yêu cầu chức năng
Yêu cầu chức năng của ứng dụng tư vấn y tế bao gồm: 1.
Đăng ký và đăng nhập: Người dùng có thể tạo tài khoản và đăng
nhậpvào ứng dụng để truy cập vào các tính năng và thông tin. 2.
Tìm kiếm thông tin y tế: Người dùng có thể tìm kiếm thông tin về
triệuchứng, bệnh tật, phương pháp điều trị, và các tài liệu tham khảo y tế khác. 9 3.
Tư vấn cá nhân hóa: Ứng dụng cung cấp khả năng tư vấn cá nhân
hóadựa trên thông tin và triệu chứng của người dùng. Người dùng có thể
nhập thông tin cá nhân và nhận được khuyến nghị và tư vấn phù hợp với tình
trạng sức khỏe của mình. 4.
Giao tiếp với chuyên gia y tế: Ứng dụng cung cấp khả năng giao
tiếptrực tiếp với các chuyên gia y tế thông qua hệ thống chat, cuộc gọi video
hoặc tin nhắn. Người dùng có thể đặt câu hỏi, nhận lời khuyên và được hỗ trợ từ các chuyên gia. 5.
Quản lý lịch sử sức khỏe: Ứng dụng cho phép người dùng ghi lại lịch
sửsức khỏe cá nhân, bao gồm triệu chứng, bệnh tật, điều trị, và các cuộc tư vấn trước đó. 6.
Thông báo và nhắc nhở: Ứng dụng có thể gửi thông báo và nhắc
nhởcho người dùng về việc uống thuốc, khám bệnh định kỳ, và các hoạt
động chăm sóc sức khỏe khác. 7.
Đánh giá và phản hồi: Người dùng có thể đánh giá và phản hồi về
trảinghiệm sử dụng ứng dụng, giúp cải thiện chất lượng và hiệu quả của nó. 8.
Bảo mật và quyền riêng tư: Ứng dụng phải đảm bảo bảo mật thông
tinngười dùng và tuân thủ các quy định về quyền riêng tư và bảo vệ dữ liệu
y tế. Các yêu cầu chức năng này sẽ đáp ứng nhu cầu cơ bản của người dùng
trong việc tìm kiếm thông tin, nhận tư vấn và hỗ trợ y tế cá nhân.
3.1.2. Yêu cầu hệ thống
Yêu cầu hệ thống của ứng dụng tư vấn y tế bao gồm: -
Hệ điều hành: Ứng dụng phải hoạt động trên các hệ điều hành di
độngphổ biến như Android và iOS. -
Giao diện người dùng (UI): Giao diện người dùng phải được thiết kế
đẹp,trực quan và dễ sử dụng. Nó phải cung cấp các tính năng tìm kiếm, tư
vấn cá nhân hóa, giao tiếp với chuyên gia, quản lý lịch sử sức khỏe và các tính năng khác. -
Đăng ký và đăng nhập: Hệ thống phải có khả năng đăng ký tài khoản
mớicho người dùng và cho phép họ đăng nhập vào ứng dụng bằng các 10
phương pháp xác thực an toàn như mật khẩu, mã OTP hoặc đăng nhập xã
hội. - Quản lý người dùng: Hệ thống phải có khả năng quản lý thông tin
người dùng, bao gồm tài khoản, thông tin cá nhân, lịch sử sức khỏe và các dữ liệu liên quan khác. -
Tìm kiếm và phân loại thông tin: Hệ thống phải có khả năng tìm kiếm
vàphân loại thông tin y tế từ cơ sở dữ liệu, giúp người dùng dễ dàng tìm kiếm
thông tin liên quan đến triệu chứng, bệnh tật, phương pháp điều trị và tham khảo y tế. -
Hệ thống tư vấn và xử lý thông tin: Hệ thống phải có khả năng xử
lýthông tin từ người dùng và cung cấp tư vấn cá nhân hóa dựa trên dữ liệu
có sẵn. Nó cần tích hợp các thuật toán máy học và trí tuệ nhân tạo để cải
thiện khả năng tư vấn và đưa ra quyết định. -
Giao tiếp với chuyên gia y tế: Hệ thống phải cung cấp khả năng tương
táctrực tiếp với các chuyên gia y tế thông qua hệ thống chat, cuộc gọi video hoặc tin nhắn. -
Bảo mật và quyền riêng tư: Hệ thống phải tuân thủ các quy định về
bảomật và quyền riêng tư của dữ liệu y tế. Nó phải đảm bảo rằng thông tin
người dùng được bảo vệ an toàn và chỉ truy cập bởi những người có quyền truy cập. 3.2 MÔ HÌNH HÓA
3.2.1 Biểu đồ phân rã chức năng (BFD) 11
Hình 3.1. Biểu đồ phân rã chức năng (BFD)
3.3. CƠ SỞ DỮ LIỆU CỦA HỆ THỐNG
Để nắm được yêu cầu của bài toán, chúng ta cần hiểu dõ về cơ sở dữ liệu
mà bài toán cần. Ở đây em xin đưa ra những thông tin mà phần mềm quản
lý khách sạn cần có như sau: 3.3.1 Bảng người dùng
Hình 3.2. Bảng người dùng 3.3.2 Bảng bác sĩ Bảng 3.3. Bảng bác sĩ
3.4.CÁC THÀNH PHẦN CHỨC NĂNG CỦA HỆ THỐNG
3.4.1. Chức năng đăng nhập hệ thống
Đăng nhập tài khoản để xứ lý chương trình.
3.4.2. Chức năng quyền admin
Thêm sửa ,xóa, và hiển thị thông tin của nguời dùng, bác sĩ. 12
3.4.3. Chức năng quyền user
Thêm, sửa và hiển thị thông tin cá nhân
3.4.4.Chức năng hiển thị tìm kiếm
Tìm kiếm bác sĩ, tra cứu bệnh án.
3.4.5.Chức năng hiển thị thông tin cá nhân user
Thêm , xóa,hiển thị ,sửa thông tin đăng nhập
3.5. SOURCE CODE CỦA CHƯƠNG TRÌNH
3.5.1. Source code class ConnectoDB
Chức năng : Dùng để kết nối cơ sở dữ liệu MySql
Hình 3.4.Source code class ConnectoDB
3.5.2 Source class Dang Nhap và Đăng ký
Chức năng : Dùng để đăng nhập, đăng ký vào hệ thống 13
Hình 3.5.Source class Đăng nhập và Đăng ký
3.5.3 Source code check quyền đăng nhâp
Chức năng: Dùng để check quyền
Hình 3.6. Source code check quền đăng nhập
3.5.4. Source code lấy danh sách tất cả các bác sĩ
Chức năng: Dùng để hiển thị lên bảng
Hình 3.7. Source code lấy danh sách tất cả các bác sĩ 14
3.5.5 Source code thêm bác sĩ
Chức năng: Dùng để thêm bác sĩ
Hình 3.8.Source code thêm bác sĩ
3.5.6 Source code xóa tài khoản Chức năng : Xóa
Hình 3.9. Source code xóa tài khoản
3.5.7. Source code cập nhật bệnh án
Hình 3.10. Source code cập nhật bệnh án 15
3.5.8. Source code đăng nhập người dùng
Hình3.11.Source code đăng nhập người dùng
3.6. THIẾT KẾ GIAO DIỆN HỆ THỐNG
Hệ thống đã được thiết kế với giao diện hấp dẫn và dễ sử dụng để đáp ứng
nhu cầu của người dùng. Trang đăng nhập có giao diện đơn giản và gọn nhẹ,
cho phép người dùng nhập email và mật khẩu để truy cập vào hệ thống. Sau
khi đăng nhập thành công, người dùng sẽ được chuyển hướng đến trang quản
trị. Trang quản trị được thiết kế để cung cấp các công cụ và chức năng quản
lý cho người dùng có quyền admin.
Giao diện của trang admin được thiết kế theo phong cách hiện đại với menu
điều hướng ở phía trên, giúp người dùng dễ dàng truy cập đến các chức năng
quản lý khác nhau. Các trang quản lý người dùng và bác sĩ được hiển thị
dưới dạng danh sách, cho phép admin xem thông tin chi tiết, chỉnh sửa và
xóa người dùng hoặc bác sĩ theo yêu cầu. Ngoài ra, hệ thống cũng cung cấp
chức năng thêm mới bác sĩ, giúp admin có thể quản lý danh sách bác sĩ trong
hệ thống một cách thuận tiện.
Giao diện được tối ưu hóa để hiển thị đúng trên các thiết bị khác nhau, bao
gồm cả máy tính để bàn và thiết bị di động. Điều này đảm bảo rằng người
dùng có thể truy cập và sử dụng hệ thống một cách linh hoạt và thuận tiện từ
bất kỳ đâu. Tổng thể, giao diện của hệ thống được thiết kế đơn giản, thân 16
thiện với người dùng và tối ưu hóa để đáp ứng các yêu cầu quản lý và sử
dụng hệ thống một cách dễ dàng và hiệu quả.
3.6.1. Form đăng nhập chạy đầu tiên của chương trình
Hình 3.12. Form đăng nhập
- Giao diện: Trên trang đăng nhập, người dùng sẽ thấy một form đăng nhập
đơn giản. Form bao gồm hai trường nhập liệu: "Email" và "Mật khẩu".
Dưới form có một nút "Đăng nhập" để người dùng gửi thông tin đăng nhập.
- Chức năng: Người dùng nhập email và mật khẩu vào các trường tương
ứng trong form. Sau khi nhấn nút "Đăng nhập", dữ liệu được gửi đến máy
chủ. Máy chủ kiểm tra thông tin đăng nhập: Nếu thông tin chính xác, người
dùng được chuyển hướng đến trang chính của hệ thống. Nếu thông tin
không chính xác, người dùng nhận được thông báo lỗi và yêu cầu nhập lại thông tin đăng nhập. 17
3.6.2 Form giao diện chính của phần mềm dưới quyền Admin
Hình 3.13.Form giao diện chính của phần mềm dưới quyền Admin
Dưới đây là các chức năng được thực hiện dưới quyền admin trong hệ thống:
1. Hiển thị danh sách người dùng: - Route: `/admin`
Hình 3.14. Thông tin người dùng - Chỉ
người dùng có quyền admin mới có thể truy cập trang này.
- Danh sách tất cả người dùng trong cơ sở dữ liệu được hiển thị.
- Template `users.html` được sử dụng để hiển thị danh sách người dùng.
2. Xóa người dùng: - Route: `/admin/delete-user/` 18
Hình 3.15. Xóa người dùng -
Chỉ người dùng có quyền admin mới có thể thực hiện thao tác này. -
Khi xóa một người dùng, dữ liệu tương ứng của người dùng đó cũng sẽ bị
xóa khỏi cơ sở dữ liệu. -
Sau khi xóa thành công, người dùng sẽ được chuyển hướng về trang quảntrị (`admin`).
3. Hiển thị danh sách bác sĩ: - Route: `/doctor`
Hình 3.16. Danh sách bác sĩ
- Chỉ người dùng có quyền admin mới có thể truy cập trang này.
- Danh sách tất cả bác sĩ trong cơ sở dữ liệu được hiển thị.
- Template `doctors.html` được sử dụng để hiển thị danh sách bác sĩ.
4. Thêm bác sĩ mới: - Route: `/add_doctor` 19