TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TINVÀ TRUYỀN THÔNG VIỆT - HÀN KHOA KHOA HỌC MÁY TÍNH BÁO CÁO ĐỒ ÁN CHUYÊN NGÀNH 1 XÂY DỰNG ỨNG DỤNG ĐẶT LỊCH KHÁM BỆNH ĐA NỀN TẢNG GO DUCK DOCTOR Sinh viên
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
VÀ TRUYỀN THÔNG VIỆT - HÀN
KHOA KHOA HỌC MÁY TÍNH
BÁO CÁO ĐỒ ÁN CHUYÊN NGÀNH 1
XÂY DỰNG ỨNG DỤNG ĐẶT LỊCH KHÁM BỆNH ĐA
NỀN TẢNG GO DUCK DOCTOR
Sinh viên thực hiện : TRẦN NGỌC ĐỨC
Mã sinh viên : 20IT933
Giảng viên hướng dẫn : TS NGUYỄN THANH
Đà Nẵng, tháng 5 năm 2023
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ
TRUYỀN THÔNG VIỆT – HÀNKHOA KHOA HỌC MÁY TÍNH
BÁO CÁO ĐỒ ÁN CHUYÊN NGÀNH 1
XÂY DỰNG ỨNG DỤNG ĐẶT LỊCH KHÁM BỆNH ĐA
NỀN TẢNG GO DUCK DOCTOR
Sinh viên thực hiện : TRẦN NGỌC ĐỨC
Mã sinh viên : 20IT933
Giảng viên hướng dẫn : TS NGUYỄN THANH
Đà Nẵng, tháng 5 năm 2023
Trang 3Xây dựng ứng dụng đặt lịch khám bệnh đa nền tảng i
LỜI CẢM ƠN
Lời đầu tiên, em xin gửi lời cảm ơn chân thành đến các thầy cô Trường Đại họcCông nghệ thông tin và truyền thông Việt - Hàn đã dạy em những kiến thức hay, vàcác thầy cô trong bộ môn Công nghệ Web, Phân tích thiết kế hệ thống, Lập trình mạng
đã truyền đạt những kiến thức chuyên ngành bổ ích cũng như các kỹ năng trong cuộcsống Giúp cho chúng em trưởng thành hơn trong quá trình làm đồ án cơ sở 4 củanhững sinh viên năm ba Mặc dù, chúng em còn thiếu khá nhiều kinh nghiệm nhưngchúng em đã và đang cố gắng phát triển từng ngày, đôi khi cũng gặp nhiều khó khăn,thách thức trong quá trình làm đồ án nhưng chúng em xem đó là bước tiến cho tươnglai
Đặc biệt, em xin cảm ơn sâu sắc tới giáo viên hướng dẫn TS Nguyễn Thanh Giảng viên khoa Khoa học máy tính, Trường Đại học Công nghệ Thông tin & Truyềnthông Việt Hàn - Đại học Đà Nẵng đã tận tình hướng dẫn chu đáo, góp ý theo sát giúp
-em có thể hoàn thành đồ án tốt nhất
Em xin cảm ơn tới gia đình đã luôn động viên tinh thần, tạo động lực cho em trongquá trình thực hiện đồ án Cảm ơn tất cả bạn bè, những người đã giúp đỡ, chia sẻ, góp
ý trong việc hoàn thiện đồ án một cách tốt đẹp nhất
Xin chân thành cảm ơn!
Khoa Khoa học máy tính Trần Ngọc Đức
Trang 4Xây dựng ứng dụng đặt lịch khám bệnh đa nền tảng ii
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Chữ ký GVHD
TS Nguyễn Thanh
Trang 5Xây dựng ứng dụng đặt lịch khám bệnh đa nền tảng iii
MỤC LỤC
LỜI CẢM ƠN i
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ii
MỤC LỤC iii
DANH MỤC HÌNH ẢNH vi
DANH MỤC BẢNG BIỂU vii
DANH MỤC CÁC TỪ VIẾT TẮT viii
MỞ ĐẦU 1
1 Giới thiệu đề tài 1
2 Mục tiêu của đề tài 1
3 Phương pháp nghiên cứu 2
4 Phạm vi nghiên cứu 2
5 Nội dung và kế hoạch thực hiện 2
6 Bố cục báo cáo 3
CHƯƠNG 1 NGHIÊN CỨU TỔNG QUAN 5
1.1 Tìm hiểu về các ngôn ngữ lập trình 5
1.1.1 Ngôn ngữ Java 5
1.1.2 Ngôn ngữ lập trình kotlin 6
1.2 Một số thư viện hỗ trợ 7
1.2.1 Spring boot 7
1.3 Cơ sở dữ liệu MySQL 8
1.4 Mô hình mạng client – server 9
CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 12
2.1 Khảo sát và đặc tả yêu cầu 12
2.1.1 Yêu cầu về chức năng 12
2.1.2 Yêu cầu phi chức năng 12
2.1.3 Giao diện người dùng 12
2.2 Phân tích thiết kế hệ thống 12
2.2.1 Chức năng của hệ thống 13
2.2.2 Các tác nhân của hệ thống 13
Khoa Khoa học máy tính Trần Ngọc Đức
Trang 6Xây dựng ứng dụng đặt lịch khám bệnh đa nền tảng iv
2.3 Mô tả hệ thống 13
2.3.1 Người khám bệnh 14
2.3.2 Bác sĩ 14
2.4 Thiết kế cơ sở dữ liệu 15
2.5 Tiến trình sử dụng hệ thống 16
2.5.1 Đăng ký 16
2.5.2 Đăng nhập 17
2.5.3 Thêm đánh giá 18
2.5.4 Tìm kiếm thông tin bác sĩ, lịch khám 19
2.5.5 Đặt lịch khám 20
2.5.6 Quản lý hồ sơ sức khỏe 21
2.5.7 Thanh toán trực tuyến 22
2.5.8 Ghi nhận kết quả khám bệnh 23
2.6 Biểu đồ Use-case 24
2.7 Đặc tả Use-case 25
2.7.1 Use-case đăng ký 25
2.7.2 Use-case đăng nhập 25
2.7.3 Use-case tìm kiếm bác sĩ lịch khám 26
2.7.4 Use -case đánh giá dịch vụ 26
2.7.5 Use -case đăng ký lịch khám 27
2.7.6 Use -case tạo lịch khám 27
2.7.7 Use -case thanh toán 27
2.7.8 Use -case thanh toán 28
2.7.9 Use -case ghi nhận kết quả khám bệnh ( medical history ) 28
CHƯƠNG 3 TRIỂN KHAI THỰC HIỆN 29
3.1 Trang đăng nhập bác sĩ 29
3.2 Trang đăng ký 29
3.3 Trang chủ 30
3.4 Trang lịch khám 31
3.5 Đăng nhập đăng ký ( app ) 32
Trang 7Xây dựng ứng dụng đặt lịch khám bệnh đa nền tảng v
3.6 Đặt lịch khám ( app ) 33
3.6.1 Thanh toán 34
3.7 Lịnh sử khám bệnh 34
3.8 Quản lý hồ sơ 35
KẾT LUẬN 36
TÀI LIỆU THAM KHẢO 37
Khoa Khoa học máy tính Trần Ngọc Đức
Trang 8Xây dựng ứng dụng đặt lịch khám bệnh đa nền tảng vi
DANH MỤC HÌNH ẢNH
Hình 1-1 Mô hình client – server 9
Hình 2-1 Hình ảnh mô tả quan hệ cơ sở dữ liệu 15
Hình 2-3 Hình ảnh mô tả chức năng đăng ký tài khoản 16
Hình 2-4 Hình ảnh mô tả chức năng đăng nhập tài khoản 17
Hình 2-5 Hình ảnh mô tả chức năng thêm đánh giá 18
Hình 2-6 Hình ảnh mô tả chức năng tìm kiếm 19
Hình 2-7 Hình ảnh mô tả chức năng đăng ký lịch khám bệnh nhân 20
Hình 2-8 Hình ảnh mô tả chức năng quản lý hồ sơ sức khỏe 21
Hình 2-8 Hình ảnh mô tả chức năng thanh toán trực tuyến 22
Hình 2-9 Hình ảnh mô tả chức năng ghi nhận kết quả khám bệnh 23
Hình 2-8 Hình ảnh mô tả biểu đồ use-case người dùng 24
Hình 3-1 Trang đăng nhập 29
Hình 3-2 Trang đăng ký 29
Hình 3-3 Trang chủ (1) 30
Hình 3-4 Trang chủ (2) 30
Hình 3-5 Trang lịch khám (1) 31
Hình 3-6 Trang lịch khám (2) 31
Hình 3-7 Màng hình đăng nhập đăng ký 32
Hình 3-8 Màng hình lịch khám (1) 33
Hình 3-9 Màng hình lịch khám (2) 33
Hình 3-10 Màng hình thanh toán 34
Hình 3-11 Màng hình lịch sử khám 34
Hình 3-11 Màng hình quản lý hồ sơ 35
Trang 9Xây dựng ứng dụng đặt lịch khám bệnh đa nền tảng vii
DANH MỤC BẢNG BIỂU
Bảng 2.1 Bảng mô tả chức năng của người dùng 14
Bảng 2.2 Bảng mô tả use-case đăng ký 25
Bảng 2.3 Bảng mô tả use-case đăng nhập 25
Bảng 2.4 Bảng mô tả use-case tìm kiếm 26
Bảng 2.5 Bảng mô tả use-case đánh giá dịch vụ 26
Bảng 2.6 Bảng mô tả use-case đăng ký lịch khám 27
Bảng 2.7 Bảng mô tả use-case tạo lịch khám 27
Bảng 2.8 Bảng mô tả use-case thanh toán 27
Bảng 2.9 Bảng mô tả use-case thanh toán 28
Bảng 2.10 Bảng mô tả use-case ghi nhận kết quả khám bệnh 28
Khoa Khoa học máy tính Trần Ngọc Đức
Trang 10Xây dựng ứng dụng đặt lịch khám bệnh đa nền tảng viii
DANH MỤC CÁC TỪ VIẾT TẮT
1 CNPM Công nghệ phần mềm
2 CNTT Công nghệ thông tin
3 5E Engagement, Exploration, Explanation, Elaboration, Evaluation
4 STEM Science Technology Engineering Mathematics
Trang 11Xây dựng ứng dụng đặt lịch khám bệnh đa nền tảng 1
MỞ ĐẦU
1 Giới thiệu đề tài
Thực trạng: Trong thời đại công nghệ hiện nay, việc tìm kiếm và đặt lịch khámbệnh trở nên phức tạp và mất nhiều thời gian Bệnh nhân thường phải đi tìm kiếmthông tin về các bác sỹ và cơ sở y tế, gọi điện thoại để đặt lịch khám bệnh, đôi khi phảixếp hàng chờ đợi vào giờ cao điểm Điều này gây ra phiền toái và tốn thời gian chobệnh nhân
Vấn đề: Các vấn đề khi tìm kiếm và đặt lịch khám bệnh là quá trình tốn kém vàphức tạp cho bệnh nhân Tuy nhiên, các phòng khám và bệnh viện cũng đối mặt vớivấn đề lãng phí thời gian và tài nguyên cho việc quản lý lịch khám khách hàng Nhiềulần, người bệnh không đến đúng giờ hoặc bỏ lỡ cuộc hẹn mà không thông báo trướctới các cơ sở y tế Điều này gây ra sự lãng phí tài nguyên và ảnh hưởng đến chất lượngchăm sóc sức khỏe của bệnh nhân
Cách giải quyết vấn đề: Ứng dụng đặt lịch khám bệnh đa nền tảng được thiết kế
để giải quyết các vấn đề liên quan đến việc đặt lịch khám bệnh Ứng dụng này chophép người dùng tìm kiếm các cơ sở y tế, đặt lịch hẹn trực tuyến và quản lý lịch khámcủa mình trên nền tảng di động Bệnh nhân sẽ không cần phải đợi hàng chờ đợi hoặcgọi điện thoại để đặt lịch khám bệnh
Ứng dụng đặt lịch khám bệnh đa nền tảng chấp nhận nhiều hình thức thanh toán
và cung cấp dịch vụ thông báo nhắc nhở cuộc hẹn cho người dùng Hệ thống cũng chophép bệnh nhân chủ động hủy hoặc thay đổi cuộc hẹn của mình, giúp tối ưu hóa việcquản lý lịch khám của cơ sở y tế
2 Mục tiêu của đề tài
Mục tiêu của đề tài "Đặt lịch khám đa nền tảng" là xây dựng một ứng dụng đặtlịch khám bệnh trực tuyến đa nền tảng, bao gồm Android và Web, nhằm giải quyết cácvấn đề liên quan đến việc đặt lịch khám tại các cơ sở y tế
Cụ thể, đề tài đặt ra các mục tiêu sau:
1 Thiết kế và phát triển giao diện đơn giản, thân thiện với người dùng cho ứngdụng
2 Xây dựng hệ thống đặt lịch khám trực tuyến cho người dùng, cho phép đặtlịch khám tại các cơ sở y tế khác nhau
3 Cung cấp tính năng theo dõi trạng thái lịch khám, giúp người dùng dễ dàngquản lý lịch hẹn của mình
Khoa Khoa học máy tính Trần Ngọc Đức
Trang 123 Phương pháp nghiên cứu
1 Tìm hiểu về các ứng dụng đặt lịch khám hiện có trên thị trường, bao gồmcách thức hoạt động, tính năng, giao diện, độ phổ biến và những hạn chế
2 Thu thập thông tin về các cơ sở y tế và quy trình đặt lịch khám tại các cơ sở
đó, bao gồm các thông tin như thời gian làm việc, địa chỉ, thông tin bác sĩ và các dịch
vụ khám bệnh
3 Phân tích yêu cầu của người dùng, bao gồm các tính năng cần thiết, giao diệnthân thiện với người dùng và độ an toàn thông tin
4 Thiết kế kiến trúc hệ thống và giao diện người dùng cho ứng dụng
5 Phát triển ứng dụng trên các nền tảng Android và Web
6 Kiểm thử và đánh giá hiệu suất của ứng dụng, đảm bảo tính ổn định và độphản hồi tốt
7 Đánh giá sự hài lòng của người dùng với giao diện và tính năng của ứngdụng, dựa trên các cuộc khảo sát và phản hồi từ người sử dụng
8 Đảm bảo tính bảo mật và an toàn thông tin cho người dùng, đặc biệt là thôngtin y tế liên quan đến lịch khám
9 Đưa ra các đề xuất để cải thiện ứng dụng, bao gồm cải tiến tính năng, giaodiện và hiệu suất
4 Phạm vi nghiên cứu
Xây dựng ứng dụng với máy chủ đặt tại Việt Nam
5 Nội dung và kế hoạch thực hiện
Nội dung:
- Ứng dụng các ngôn ngư lập trình vào thiết kế website (React Native, Nodejs, MongoDB)
Trang 13Xây dựng ứng dụng đặt lịch khám bệnh đa nền tảng 3
- Thiết kế đặc tả hệ thống
- Xây dựng cơ sở dữ liệu trên MongoDB
- Tìm hiểu về React Native, Nodejs phục vụ quá trình xây dựng ứng dụng đa nền tảng
Kế hoạch thực hiện:
- Phân tích thiết kế hệ thống và cơ sở dữ liệu
- Xây dựng giao diện
09/04/2023
Phân tích thiết kế hệ thống,thiết kế cơ
sở dữ liệu, class diagram
Hoàn thiện báo cáo và slide
6 Bố cục báo cáo
Sau phần Mở đầu, báo cáo được trình bày trong ba chương, cụ thể như sau:Chương 1 Nghiên cứu tổng quan Trong chương này, báo cáo trình bày cáckhái niệm, đặc điểm, về các ngôn ngữ lập trình, thư viện và mô hình mạng
Chương 2 Phân tích thiết kế hệ thống Nội dung chương bao gồm các đặc tảyêu cầu, xây dựng biểu đồ usecase, thiế kế cơ sở dữ liệu, tiến trình sử dụng hệ thống
Khoa Khoa học máy tính Trần Ngọc Đức
Trang 15CHƯƠNG 1 NGHIÊN CỨU TỔNG QUAN
1.1 Tìm hiểu về các ngôn ngữ lập trình
1.1.1 Ngôn ngữ Java
Java là một ngôn ngữ lập trình đa nền tảng, được phát triển bởi SunMicrosystems và hiện tại được quản lý bởi Oracle Corporation Java được giới thiệulần đầu vào năm 1995 và nhanh chóng trở thành một trong những ngôn ngữ lập trìnhphổ biến nhất trên thế giới Java được sử dụng rộng rãi trong việc phát triển các ứngdụng di động, web, máy tính và hệ thống phân tán
Java có những đặc điểm như sau:
1 Đa nền tảng: Java có khả năng chạy trên nhiều nền tảng khác nhau, bao gồmWindows, macOS, Linux và các thiết bị di động như Android
2 Đơn giản và dễ học: Java có cú pháp đơn giản và dễ hiểu, giúp cho ngườimới học có thể nhanh chóng tiếp cận và phát triển các ứng dụng đơn giản
3 An toàn và bảo mật: Java có tính năng an toàn và bảo mật cao, giúp ngănchặn các cuộc tấn công từ xa và bảo vệ thông tin của người dùng
4 Hiệu suất cao: Java có khả năng xử lý dữ liệu nhanh chóng và hiệu quả, đặcbiệt là trong các ứng dụng lớn và phức tạp
5 Hỗ trợ đa dạng: Java có rất nhiều thư viện và framework hỗ trợ cho việc pháttriển các ứng dụng, giúp cho quá trình phát triển được thực hiện nhanh chóng và hiệuquả
Java cũng có một số ưu điểm và nhược điểm như sau:
Ưu điểm:
- Đa nền tảng: Java có khả năng chạy trên nhiều nền tảng khác nhau
- An toàn và bảo mật: Java có tính năng an toàn và bảo mật cao, giúp bảo vệthông tin của người dùng
- Hỗ trợ đa dạng: Java có rất nhiều thư viện và framework hỗ trợ cho việc pháttriển các ứng dụng
Nhược điểm:
- Tốc độ chậm hơn so với một số ngôn ngữ lập trình khác
- Cú pháp phức tạp hơn so với một số ngôn ngữ lập trình khác
Trang 16Xây dựng ứng dụng đặt lịch khám bệnh đa nền tảng 6
- Khó khăn trong việc quản lý bộ nhớ
Java được sử dụng rộng rãi trong các lĩnh vực như phát triển ứng dụng di động,web, máy tính, game và hệ thống phân tán Ngoài ra, Java còn được sử dụng trong cáclĩnh vực như trí tuệ nhân tạo, khoa học dữ liệu và blockchain
1.1.2 Ngôn ngữ lập trình kotlin
Kotlin được giới thiệu vào năm 2011 và được công bố miễn phí và mã nguồn mở
từ năm 2012 Kotlin được thiết kế để chạy trên nền tảng Java Virtual Machine (JVM)
và cũng có thể được biên dịch thành mã máy trực tiếp
Kotlin có những đặc điểm như sau:
1 Tính an toàn: Kotlin được thiết kế để giảm thiểu các lỗi phổ biến trong Java nhưNullPointerExpection hoặc lỗi gọi phương thức không hợp lệ
2 Đơn giản và dễ học: Kotlin có cú pháp đơn giản và dễ hiểu, giúp người mới học
có thể nhanh chóng tiếp cận và phát triển các ứng dụng đơn giản
3 Tính linh hoạt: Kotlin hỗ trợ cả lập trình hướng đối tượng và hướng chức năng,giúp cho việc phát triển ứng dụng dễ dàng và linh hoạt hơn
4 Tính tương thích: Kotlin có thể chạy trên nền tảng Java Virtual Machine (JVM)
và có thể tương thích với các thư viện và framework của Java
5 Cải tiến hiệu suất: Kotlin cải thiện hiệu suất so với Java trong một số trường hợpnhư xử lý chuỗi và xử lý bất đồng bộ
Kotlin cũng có một số ưu điểm và nhược điểm như sau:
Ưu điểm:
- Tính an toàn: Kotlin giảm thiểu các lỗi phổ biến trong Java nhưNullPointerExpection hoặc lỗi gọi phương thức không hợp lệ
- Đơn giản và dễ học: Kotlin có cú pháp đơn giản và dễ hiểu
- Tính linh hoạt: Kotlin hỗ trợ cả lập trình hướng đối tượng và hướng chức năng.Nhược điểm:
- Cộng đồng phát triển chưa lớn: So với Java, Kotlin có cộng đồng phát triển chưalớn
- Thời gian phát triển: Một số lập trình viên cho rằng việc phát triển ứng dụng bằngKotlin mất nhiều thời gian hơn so với Java
Trang 17Xây dựng ứng dụng đặt lịch khám bệnh đa nền tảng 7
Kotlin được sử dụng rộng rãi trong các lĩnh vực như phát triển ứng dụng di động,web, máy tính và game Kotlin cũng được sử dụng trong các lĩnh vực như trí tuệ nhântạo và khoa học dữ liệu
1.2 Một số thư viện hỗ trợ
1.2.1 Spring boot
Spring Boot là một framework được phát triển trên nền tảng Spring Framework,giúp cho việc phát triển ứng dụng Java trở nên nhanh chóng hơn và dễ dàng hơn.Spring Boot cung cấp cho người dùng một cách tiếp cận mới để phát triển ứng dụngSpring, giúp loại bỏ các thủ tục cấu hình phức tạp và giảm thiểu thời gian phát triển.Spring Boot có những đặc điểm như sau:
1 Tính tự động cấu hình: Spring Boot tự động cấu hình cho ứng dụng của bạn dựatrên các thư viện và framework được sử dụng
2 Tính linh hoạt: Spring Boot hỗ trợ nhiều loại database và nhiều loại framework,giúp cho việc phát triển ứng dụng linh hoạt hơn
3 Tính di động: Spring Boot cho phép bạn triển khai ứng dụng trên nhiều nền tảngkhác nhau, bao gồm cả cloud computing
4 Tính bảo mật: Spring Boot cung cấp các tính năng bảo mật như xác thực vàphân quyền, giúp bảo vệ ứng dụng của bạn trước các cuộc tấn công từ xa
5 Tính dễ sử dụng: Spring Boot giúp loại bỏ các thủ tục cấu hình phức tạp và giảmthiểu thời gian phát triển ứng dụng
Spring Boot cũng có một số ưu điểm và nhược điểm như sau:
- Không phù hợp cho các ứng dụng có yêu cầu cấp cao về hiệu suất
Khoa Khoa học máy tính Trần Ngọc Đức
Trang 181.3 Cơ sở dữ liệu MySQL
MySQL là một hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở được sử dụngrộng rãi trên toàn thế giới MySQL được phát triển bởi Oracle Corporation và đượcphát hành dưới giấy phép GPL
MySQL có những đặc điểm như sau:
1 Tính đa nền tảng: MySQL có thể chạy trên nhiều hệ điều hành khác nhaunhư Windows, Linux và Mac OS
2 Tính linh hoạt: MySQL hỗ trợ nhiều loại lập trình như Java, PHP, Python,C++, Perl và Ruby
3 Tính bảo mật: MySQL cung cấp các tính năng bảo mật như xác thực và phânquyền, giúp bảo vệ dữ liệu của bạn trước các cuộc tấn công từ xa
4 Tính hiệu suất cao: MySQL có thể xử lý hàng trăm nghìn lượt truy cập mỗigiây và hỗ trợ các tính năng như index và caching để tăng tốc độ truy vấn
5 Tính dễ sử dụng: MySQL có cú pháp đơn giản và dễ hiểu, giúp cho việc sửdụng và quản lý cơ sở dữ liệu trở nên dễ dàng hơn
MySQL cũng có một số ưu điểm và nhược điểm như sau:
Ưu điểm:
- Tính đa nền tảng: MySQL có thể chạy trên nhiều hệ điều hành khác nhau
- Tính bảo mật: MySQL cung cấp các tính năng bảo mật như xác thực và phânquyền, giúp bảo vệ dữ liệu của bạn trước các cuộc tấn công từ xa
- Tính hiệu suất cao: MySQL có thể xử lý hàng trăm nghìn lượt truy cập mỗigiây và hỗ trợ các tính năng như index và caching để tăng tốc độ truy vấn
Trang 19Xây dựng ứng dụng đặt lịch khám bệnh đa nền tảng 9
MySQL được sử dụng rộng rãi trong các lĩnh vực như phát triển ứng dụng web,game và mobile MySQL cũng được sử dụng để lưu trữ dữ liệu cho các ứng dụng củacác công ty lớn như Facebook, Twitter và Google
1.4 Mô hình mạng client – server
Client server là mô hình mạng máy tính gồm có 2 thành phần chính đó là máy
khách (client) và máy chủ (server) Server chính là nơi giúp lưu trữ tài nguyên cũngnhư cài đặt các chương trình dịch vụ theo đúng như yêu cầu của client Ngược lại,Client bao gồm máy tính cũng như các loại thiết bị điện tử nói chung sẽ tiến hành gửiyêu cầu đến server
Mô hình mạng Client Server sẽ cho phép mạng tập trung các ứng dụng có cùngchức năng tại một hoặc nhiều dịch vụ file chuyên dụng Chúng sẽ trở thành trung tâmcủa hệ thống Hệ điều hành của mô hình Client server sẽ cho phép người dùng chia sẻđồng thời cùng một loại tài nguyên mà không giới hạn vị trí địa lý
Nguyên lý hoạt động:
- Client chính là khách hàng sử dụng dịch vụ Nó có thể là một tổ chức hay cánhân cụ thể nào đó Và khi khái niệm này được sử dụng trong lĩnh vực kỹ thuật
số thì cũng mang ý nghĩa tương tự như vậy Trong Client Server thì Clientchính là một máy tính (Host) Chúng có khả năng nhận thông tin từ nhà cungcấp và sử dụng dịch vụ cụ thể (Server)
- Server là từ dùng để nói về một máy chủ hoặc một phương tiện được sử dụng
để phục vụ các dịch vụ nào đó Khi khái niệm này được sử dụng trong lĩnh vựccông nghệ thì Server là một máy tính từ xa Chúng có chức năng là cung cấpcác thông tin (dữ liệu) cho một dịch vụ cụ thể nào đó hoặc quyền truy cập đốivới dịch vụ
Trang 20Xây dựng ứng dụng đặt lịch khám bệnh đa nền tảng 10
Ưu điểm đầu tiên của mô hình Client Server kiểu mạng khách chủ đó chính làkhả năng kiểm soát tập trung (Centralization) đã được tích hợp sẵn Theo như mô hìnhnày thì tất cả mọi thông tin cần thiết đều sẽ được đặt ở một vị trí duy nhất Đây là một
ưu điểm vô cùng hữu ích được những người quản trị viên mạng yêu thích bởi vì họ cóthể toàn quyền quản lý cũng như điều hành mọi việc
Tính năng này giúp cho mọi sự cố trong mạng đều sẽ được giải quyết ở cùngmột nơi thống nhất Đồng thời, việc cập nhật cơ sở tài nguyên, dữ liệu cũng sẽ dễdàng hơn rất nhiều
Bảo mật:
Trong mạng Client Server, tất cả các dữ liệu đều sẽ được bảo vệ một cách tối
đa nhờ vào hệ thống kiến trúc tập trung của mạng Thông qua đó, nó sẽ giúp ngườidùng kiểm soát truy cập để chỉ có những ai được cấp quyền truy cập thì mới đượcthực hiện các thao tác cần thiết
Muốn làm như vậy, chúng ta cần phải áp đặt thông tin đăng nhập cũng nhưUsername hay Password Bên cạnh đó, nếu dữ liệu của chúng ta bị mất thì các file sẽđược khôi phục một cách vô cùng dễ dàng chỉ từ một bản sao lưu duy nhất mà thôi
Khả năng mở rộng:
Mô hình mạng kết nối Client Server có khả năng mở rộng vô cùng tốt Chỉ cầnngười dùng cần sử dụng bất cứ lúc nào thì họ cũng có thể tăng được số lượng tàinguyên của mình Ví dụ như số Client hoặc Server Nhờ đó mà chúng ta có thể tăngkích thước của Server một cách dễ dàng mà không bị gián đoạn nhiều
Khả năng truy cập:
Hoàn toàn không hề có sự phân biệt giữa các vị trí hay nền tảng với nhau Tất
cả mọi Client đều có khả năng đăng nhập được vào hệ thống mạng máy tính Điều này
sẽ giúp cho tất cả các nhân viên đều có thể truy cập thông tin của công ty một cách dễdàng mà không cần phải dùng một terminal mode hoặc một bộ xử lý nào khác
Nhược điểm:
Tắc nghẽn lưu lượng
Nói về nhược điểm lớn nhất của mô hình mạng Client Server đó chính là tắcnghẽn lưu lượng Trong trường hợp có quá nhiều Client tạo request từ cùng mộtServer thì nó có thể sẽ làm cho kết nối chậm hơn Trong trường hợp xấu nhất còn cóthể xuất hiện hiện tượng crash Khi một server bị quá tải thì sẽ tạo ra nhiều vấn đề khitruy cập thông tin
Độ bền
Client Server là mạng tập trung chính vì thế, khi Server chính xảy ra sự cố
hoặc bị nhiễu thì cũng đồng nghĩa với việc toàn bộ hệ thống mạng sẽ bị gián đoạn
Trang 21Xây dựng ứng dụng đặt lịch khám bệnh đa nền tảng 11
Như vậy, bạn cần chú ý đó là mạng thiếu tính ổn định và độ bền Bạn cần chú ý khithực hiện
Chi phí
Chi phí được sử dụng để thiết lập và bảo trì Server trong Client Server thường
sẽ khá cao Lý do là vì các hệ thống mạng có sức mạnh rất lớn cũng đồng nghĩa vớiviệc giá để chi cho việc này là rất đắt Chính vì vậy, không phải ai cũng có khả năngchỉ trả và sử dụng
Bảo trì
Khi các Server thực hiện triển khai để làm việc thì nó cũng sẽ hoạt động mộtcách không ngừng nghỉ Điều này đồng nghĩa với việc chúng ta cần phải quan tâm đếnviệc bảo trì hệ thống đúng mức Khi xảy ra bất cứ vấn đề gì cũng cần phải giải quyếtngay lập tức Vậy nên, cần phải có một nhà quản lý mạng chuyên biệt để tiến hànhduy trì hoạt động của Server khi chúng được đưa vào và sử dụng
Tài nguyên
Một điều mà chúng ta rất cần phải lưu ý đó chính là không phải tất cả tàinguyên hiện có trên Server đều sử dụng được Ví dụ một cách đơn giản đó chính làchúng ta không thể in trực tiếp được tài liệu từ trên web cũng như tiến hành chỉnh sửabất kỳ một thông tin nào trên ổ cứng của Client cả
Khoa Khoa học máy tính Trần Ngọc Đức
Trang 22CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG2.1 Khảo sát và đặc tả yêu cầu
2.1.1 Yêu cầu về chức năng
- Đăng ký tài khoản: cho phép người dùng đăng ký tài khoản để sử dụng các tính năng của ứng dụng đặt lịch khám
- Đặt lịch khám: cho phép người dùng đặt lịch khám bằng cách chọn bác sĩ, ngày giờ, phòng khám, và các thông tin khác liên quan
- Hiển thị lịch khám: cho phép người dùng xem lịch khám của mình và chỉnh sửanếu cần
- Quản lý lịch khám: cho phép bác sĩ hoặc nhân viên y tế quản lý lịch khám của mình, bao gồm thêm, sửa, xóa, hoặc xác nhận lịch khám
- Thanh toán: cho phép người dùng thanh toán phí khám bệnh trực tuyến hoặc tạiphòng khám
- Gửi thông báo: cho phép gửi thông báo đến người dùng về lịch hẹn, thay đổi lịch khám, hoặc các thông tin khác liên quan đến sức khỏe
2.1.2 Yêu cầu phi chức năng
- Hệ thống hoạt động nhanh, chính xác
- Có thể nâng cấp, update, bảo trì dễ dàng
- Tính bảo mật và độ an toàn cao
- Đa truy cập: cho phép 500 người dùng truy cập cùng lúc
- Cơ sở dữ liệu đáp ứng đầy đủ thông tin cho hệ thống
- Khả năng bảo trì: hệ thống được xây dựng có thể dễ dàng bảo trì khi gặp sự cố
- Khả năng mở rộng: hệ thống phải xác định các tùy chọn bổ sung có thể xảy ra
- Tính di động: hệ thống được thiết kế sao cho nó có thể được thêm vào bất kỳ hệthống nào khác
- Tính bảo mật: hệ thống phải đảm bảo tính chính xác của thông tin và việc đảm bảo thông tin không được rò rỉ ra ngoài
2.1.3 Giao diện người dùng
- Ứng dụng không nên quá phức tạp
- Dung lượng file không quá lớn
- Thanh menu thật đơn giản
- Font chữ đơn giản, dễ nhìn, màu sắc hài hòa
- An toàn và bảo mật dữ liệu
- Kiểm tra ứng dụng có tương thích với các hệ điều hành hay không
2.2 Phân tích thiết kế hệ thống
2.2.1 Chức năng của hệ thống
Trang 23Xây dựng ứng dụng đặt lịch khám bệnh đa nền tảng 13
1 Đăng ký tài khoản: cho phép người dùng đăng ký tài khoản trên nhiều nền tảngkhác nhau như trên ứng dụng di động, trên website hoặc trên các thiết bị thôngminh khác để sử dụng các tính năng của hệ thống
2 Đặt lịch khám: cho phép người dùng đặt lịch khám từ nhiều nền tảng khác nhaunhư trên ứng dụng di động hoặc trên website
3 Hiển thị lịch khám: cho phép người dùng xem lịch khám của mình và chỉnh sửanếu cần từ nhiều nền tảng khác nhau
4 Quản lý lịch khám: cho phép bác sĩ hoặc nhân viên y tế quản lý lịch khám củamình từ nhiều nền tảng khác nhau, bao gồm thêm, sửa, xóa, hoặc xác nhận lịchkhám
5 Thanh toán: cho phép người dùng thanh toán phí khám bệnh trực tuyến từ nhiềunền tảng khác nhau hoặc tại phòng khám
6 Gửi thông báo: cho phép gửi thông báo đến người dùng về lịch hẹn, thay đổi lịchkhám, hoặc các thông tin khác liên quan đến sức khỏe từ nhiều nền tảng khác nhau
7 Tăng cường tính bảo mật: Hệ thống đặt lịch khám đa nền tảng có tính bảo mậtcao, giúp người dùng đặt lịch và thanh toán một cách an toàn trên nhiều nền tảngkhác nhau
8 Cập nhật thông tin liên tục: Hệ thống đặt lịch khám đa nền tảng sẽ cập nhật cácthông tin liên quan đến lịch hẹn, bác sĩ và phòng khám liên tục trên nhiều nền tảngkhác nhau để giúp người dùng dễ dàng theo dõi
2.2.2 Các tác nhân của hệ thống
Người bệnh: là tác nhân chủ yếu trong hệ thống này Họ sử dụng hệ thống đểđặt lịch hẹn khám bệnh, cập nhật thông tin sức khỏe, xem kết quả xét nghiệm và chia
sẻ thông tin với bác sĩ
Bác sĩ: là tác nhân chính trong việc cung cấp dịch vụ chăm sóc sức khỏe chongười bệnh Họ sử dụng hệ thống để xem và quản lý lịch hẹn khám bệnh, đọc và ghichú vào bản ghi sức khỏe của bệnh nhân, yêu cầu xét nghiệm và đơn thuốc
Hệ thống máy tính: là tác nhân kỹ thuật phụ trợ cho hoạt động của hệ thống
Nó cung cấp các tính năng và dịch vụ cho người bệnh, bác sĩ và nhân viên y tế, baogồm việc lưu trữ các bản ghi sức khỏe, quản lý lịch hẹn khám bệnh và xem kết quả xétnghiệm
Hệ thống mạng: là tác nhân hỗ trợ cho hoạt động của hệ thống Nó cung cấpkết nối giữa các tác nhân trong hệ thống và cho phép truy cập vào các tính năng vàdịch vụ của hệ thống từ xa
2.3 Mô tả hệ thống
Khoa Khoa học máy tính Trần Ngọc Đức