Đồ án Xây dựng hệ thống khám chữa bệnh cho người khiếm thính

Qua qua trình tìm hiểu lý thuyết, nghiên cứu, và tiến hành thực hiện đề tài đồ án tốt nghiệp, nhóm chúng em đã tiếp thu được nhiều kiến thức bổ ích, kinh nghiệ thực hành thực tế. Nhóm em đã hoàn thành cơ bản đề tài nghiên cứu với các chức nghiệp vụ cơ bản của hệ thống. Các kết quả đạt được : - Về nghiệp vụ ứng dụng: hiểu và phân tích đa số các nghiệp vụ cơ bản của hệ thống. Các nghiệp vụ được phân tích và triển khai ứng dụng thành công, chương trình đã chạy theo đúng ý muốn. - Học thêm được cách xử lí dữ liệu với biểu đồ,cách xử lý dữ liệu với cơ sở dữ liệu - Phân tích sát nghiệp vụ của ứng dụng - Hoàn thành việc phân tích và thiết kế CSDL đảm bảo tính thống nhất và toàn vẹn dữ liệu khi triển khai thành ứng dụng thành công Những tồn tại trong quá trình phát triển: - Một số nhỏ nghiệp vụ của ứng dụng chưa được phân tích kỹ càng, vẫn còn một số thông tin cần phải được phân tích một cách chi tiết hơn, đầy đủ hơn nữa. - Thiết kế database chưa thật chỉn chu phải sửa lại Hướng phát triển: - Tìm hiểu thêm về yêu cầu và phân tích thêm về nghiệp vụ của nhiều bài toán khác. - Đọc thêm tài liệu về xây dựng cơ sở dữ liệu - Cải thiện chức năng sao cho có sự đáp ứng và phản hồi của hệ thống tới người dùng nhanh nhất - Mở rộng thêm nhiều chức năng đáp ứng nhu cầu người dùng

docx82 trang | Chia sẻ: hachi492 | Ngày: 07/01/2022 | Lượt xem: 228 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đồ án Xây dựng hệ thống khám chữa bệnh cho người khiếm thính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
a bệnh cho người khiếm thính” là kết quả quá trình tìm hiểu và nghiên cứu của chúng tôi. Các dữ liệu được nêu trong đồ án là hoàn toàn trung thực, phản ánh đúng kết quả làm thực tế. Mọi thông tin trích dẫn đều tuân thủ các quy định về sở hữu trí tuệ, các tài liệu tham khảo được liệt kê rõ ràng. Chúng tôi xin chịu hoàn toàn trách nhiệm với những nội dung được viết trong đồ án này. Hà Nội, ngày 10 tháng 6 năm 2019 Người cam đoan MỤC LỤC DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT Từ viết tắt Diễn giải CNTT Công nghệ thông tin CRC Class Responsibility Collaborator MVC Model View Controller DANH MỤC HÌNH VẼ Hình 1.1: Chu trình nghiệp vụ 3 Hình 3.1: Sơ đồ hoạt động quản lý hồ sơ bệnh nhân 8 Hình 3.2: Sơ đồ hoạt động chu trình điều trị 9 Hình 3.3: Sơ đồ use-case hệ thống 10 Hình 3.4: Sơ đồ class diagram 26 Hình 3.5: Sơ đồ class diagram- tiếng anh 27 Hình 3.6: Sơ đồ tuần tự thêm thông tin bệnh nhân 29 Hình 3.7: Sơ đồ tuần tự sửa thông tin bệnh nhân 30 Hình 3.8: Sơ đồ tuần tự xóa thông tin bệnh nhân 31 Hình 3.9: Sơ đồ tuần tự thêm lịch sử khám chữa bệnh 32 Hình 3.10: Sơ đồ tuần tự sửa lịch sử khám chữa bệnh 33 Hình 3.11: Sơ đồ tuần tự xóa lịch sử khám chữa bệnh 34 Hình 3.12: Sơ đồ tuần tự điều trị 35 Hình 3.13: Sơ đồ tuần tự quản lý file nghe 36 Hình 3.14: Sơ đồ tuần tự xem thống kê 37 Hình 4.1: Phương thức và thuộc tính lớp bệnh nhân 38 Hình 4.2: Phương thức và thuộc tính lớp Musicfile 40 Hình 4.3: Phương thức và thuộc tính lớp thiết bị 41 Hình 4.4: Phương thức và thuộc tính lớp điều trị 42 Hình 4.5: Sơ đồ thực thể liên kết 44 Hình 4.6: Mô hình quan hệ các thực thể 45 Hình 5.1: Giao diện menu 50 Hình 5.2: Giao diện cập nhật bệnh nhân 51 Hình 5.3: Giao diện cập nhật thư viện audio 52 Hình 5.4: Giao diện điều trị 53 Hình 5.5: Giao diện xem thống kê 54 DANH MỤC BẢNG BIỂU Bảng 2.1: Bảng nhận diện chi phí 4 Bảng 2.2: Bảng nhận diện về doanh thu 4 Bảng 3.1: Mô tả use-case quản lý thông tin cá nhân 11 Bảng 3.2: Mô tả use-case thêm thông tin cá nhân 12 Bảng 3.3: Mô tả use-case sửa thông tin cá nhân 13 Bảng 3.4: Mô tả use-case xóa thông tin cá nhân 14 Bảng 3.5: Mô tả use-case quản lý lịch sử khám chữa bệnh 15 Bảng 3.6: Mô tả use-case thêm lịch sử khám chữa bệnh 16 Bảng 3.7: Mô tả use-case sửa lịch sử khám chữa bệnh 17 Bảng 3.8: Mô tả use-case xóa lịch sử khám chữa bệnh 18 Bảng 3.9: Mô tả use-case quản lý file nghe 19 Bảng 3.10: Mô tả use-case xem thông kê 20 Bảng 3.11: Mô tả use-case điều trị 21 Bảng 3.12: Mapping giữa class và use-case 28 Bảng 4.1: Danh sách các phương thức lớp bệnh nhân 39 Bảng 4.2: Danh sách các phương thức lớp Musicfile 41 Bảng 4.3: Danh sách các phương thức lớp thiết bị 42 Bảng 4.4: Danh sách các phương thức lớp điều trị 43 Bảng 4.5: Các thực thể và thuộc tính của nó trong cơ sở dữ liệu 44 TÓM TẮT ĐỒ ÁN Trong báo cáo tốt nghiệp này, chúng em xin được đề xuất ra một số nhiệm vụ chính: Trình bày lí do viết báo cáo đồ án. Giới thiệu về đề tài nghiên cứu đồ án Trình bày quá trình tìm hiểu, nội dung nghiên cứu đề tài đã thực hiện được. Hướng khai triển và phát triển tiếp theo dành cho đề tài. Bố cục báo cáo đồ án bao gồm: phần Mở đầu, phần Nội dung, phần Kết luận và phần Tài liệu tham khảo. Phần mở đầu: giới thiệu tóm tắt về lí do lựa chọn đề tài, dẫn ra đề tài nghiên cứu của nhóm và lời cảm ơn đến thầy (cô) hướng dẫn. Phần nội dung: bao gồm năm chương: Chương I: Lập kế hoạch sẽ đưa ra quy trình cơ bản cần thiết để thực hiện đề tài, lập ra các yêu cầu chính của đề tài nghiên cứu. Chương II: Phân tích hệ thống sẽ tiến hành đi sâu vào bên trong cấu trúc hệ thống, trả lời được cho câu hỏi chính cần làm rõ về chức năng của hệ thống, hệ thống hoạt động liệu có khả thi trong hoạt động nghiệp vụ công thực tế, tiêu chuẩn đánh giá hệ thống Chương III: Mô hình hóa chức năng sẽ thực hiện làm rõ chức năng hệ thống, tổ chức kiến trúc hệ thống để các chức năng được cài đặt và liên kết với nhau đi vào và đi ra hệ thống như thế nào. Chương IV: Thiết kế sẽ thực hiện thiết kế các cơ sở dữ liệu cho hệ thống Chương V: Demo hệ thống Phần kết luận: Kết luận chung của đồ án tốt nghiệp, đánh giá các công việc đã làm được và chưa làm trong khuôn khổ đồ án đã vạch ra ban đầu, những kiến thức tích lũy được trong quá trình thực hiện đồ án, những điểm hạn chế và chưa thực hiện được trong phạm vi đề tài. Nêu định hướng và các công việc tiếp theo có thể khắc phục, triển khai và phát triển của đề tài. ABSTRACT In this project report, we would like to propose some main tasks: Describe the reason for writing the project report Introduction to the project research topic Describe the research process and completed contents of topic research. Orienting the following implementation and development for the topic. The layout of our internship report shall include the following parts: Introduction, Contents, Conclusion and References. Introduction: Brief introduction to the reason for topic selection, declaring the research topic of our group and expressing our gratitude to the internship instructor. Contents of the Report: The Contents shall include five chapters: Chapter I: Planning works will provide the basic procedures needed to implement the topic, setting out the main requirements of research topic. Chapter II: System analysis will be implemented deeply into the system structure, answering the key questions that need to be clarified about the functions of system, whether the operation of system is feasible in practical public services, and system assessment standards. Chapter III: Functional modeling will be implemented to clarify the system functions, organizing the system architecture so that the functions are set up and linked together into and out of the system. Chapter IV: Design will be implemented to design the database for the system. Chapter V: Demo Functions Conclusion: The general conclusion of graduation project, the assessment of completed and uncompleted works within the scope of initial outlined project, the knowledge accumulated during the implementation of the project, the limitations and uncompleted works within the scope of the topic. Giving directions and follow-up works for repairing, implementation and development of the topic. LẬP KẾ HOẠCH Đặt vấn đề Đề tài được xây dựng trên những yêu cầu thực tiễn, có tính ứng dụng cao. Hiện nay không chỉ ở thế giới mà ở tại Việt Nam dưới sự bùng nổ của công nghệ thông tin đã làm cho đời sống con người ngày càng được nâng cao. Ở thời đại 4.0 này mọi chuyện đều có thể làm được một cách tự động, có sự hỗ trỡ của máy móc giảm đi đáng kể sức lao động của con người, và thêm vào đó là tăng hiệu suất công việc lên một tầm cao mới. Y học là một trong những ngành đã đang và sẽ được đầu tư mạnh mẽ về khoa học, về máy móc và trang thiết bị. Ngành y học nói chung đang rất được chú trọng, việc triển khai công nghệ 4.0 vào khám chữa bệnh đã không còn gì xa lạ. Con người rất chú trọng thời gian, nên việc vào bệnh viện là tất yếu, nhưng việc làm thế nào để vẫn khám chữa chất lượng tốt mà thời gian bỏ ra lại ngắn đang là vấn đề mà mọi người quan tâm. Những bệnh viện hay phòng khám đang dần triển khai việc quản lý bệnh nhân, khám chữa bệnh một cách tự động giảm thiểu lao động và hơn hết tránh được những cuộc tắc nghẽn và những mối lo không đáng có trong công tác khám chữa bệnh. Là một sinh viên Điện tử viễn thông, với những kiến thức đã học cùng với mong muốn thiết kế được một hệ thống khám chữa bệnh tự động nói trên cùng với sự giúp đỡ của TS. NGUYỄN THANH BÌNH chúng em đã chọn đề tài : “Xây dựng hệ thống khám chữa bệnh cho người khiếm thính” làm đề tài đồ án tốt nghiệp. Đề tài là những viên gạch đầu để xây nên một nền móng cho những dự án lớn hơn về một hệ thống tự động hóa trong bệnh viện. Mục đích nghiên cứu Đề tài được nghiên cứu, khảo sát và thực hiện với mục đích áp dụng các kiến thức đã học trên ghế nhà trường để xây dựng, phát triển một hệ thống khám chữa bệnh cho người khiếm thính. Phương pháp nghiên cứu Trong đề tài này, chúng em đã sử dụng các phương pháp nghiên cứu: Phương pháp tham khảo tài liệu: bằng cách thu thập thông tin từ sách, tạp chí về điện tử, viễn thông, truy cập từ mạng internet. Phương pháp quan sát: khảo sát các hệ thống quản lý bệnh nhân, bệnh viện đã có trên thế giới và ở Việt Nam. Phương pháp thực nghiệm: Xem xét một số công nghệ đã được áp dụng trước đó để rút ra kinh nghiệm cũng như những yêu cầu đề ra cho hệ thống đang cần làm. Yêu cầu hệ thống Tên đề tài Xây dựng hệ thống khám chữa bệnh cho người khiếm thính. Đối tượng hướng đến Đối tượng mà hệ thống hướng đến là phòng điều trị cho những bệnh nhân khiếm thính, hoặc dành cho phòng khám chuyên môn về bệnh khiếm thính nhằm phục vụ tốt nhất có thể cho bệnh nhân. Giảm thiểu tối đa thời gian khám chữa bệnh cho bệnh nhân. Chu trình nghiệp vụ Chu trình khám chữa bệnh gồm các hoạt động chính gồm: Đăng kí hồ sơ: Mỗi bệnh nhân khi tới với phòng khám sẽ được cấp hồ sơ để tiện cho việc khám chữa Khám và điều trị: Quy trình khám bệnh làm theo một trình tự. Đầu tiên Bác sĩ sẽ xem xét thông tin bệnh nhân và theo dõi lịch sử xem tình trạng bệnh nhân (có thể là bệnh nhân khám lần đầu, hoặc bệnh nhân đang điều trị thì sẽ có lịch sử khám chữa) để đưa ra liệu pháp chữa bệnh phù hợp cho bệnh nhân. Sau đó tiến hành điều trị (phát cho bệnh nhân nghe file nhạc tương thích). Tiếp theo, bệnh nhân nghe và đưa phản hổi rồi từ đó Bác sĩ có những đánh giá về mức độ nghe của bệnh nhân và lưu lại thông tin cho khoảng thời gian điều trị sau của chu trình điều trị. Xem thông tin tình trạng: Bệnh nhân có thể trực tiếp xem thông tin tình trạng bệnh của mình thông qua phần mềm mà không cần phải gặp mặt bác sĩ. Bệnh nhân Bác Sĩ Đăng kí hồ sơ Đăng kí hồ sơ Khám Nghe Nói lại Yêu cầu xem thông tin Xem thông tin tình trạng Chấm Chọn file, phát file Xem lịch sử khám chữa, bệnh án Nói chuyện và hẹn lịch Hình 1.1: Chu trình nghiệp vụ Kết luận chương Chương I chủ yếu giới thiệu tổng quan đề tài hệ thống quản lý bệnh nhân khiếm thính tự động. Đề tài mang tính chất ứng dụng thực tế, hiện đang có những nhà đầu tư muốn triển khai dự án này. Hệ thống tuy không lớn, nhưng sẽ là bước đệm để có thể vươn tới những hệ thống lớn hơn chẳng hạn là một hệ thống thông minh quản lý bệnh viện. Đây là một điều hết sức phấn khích cho nhân loại nói chung là con người Việt Nam nói riêng. PHÂN TÍCH HỆ THỐNG Phân tích tính khả thi. Khả thi về kĩ thuật. Về mặt ứng dụng: Dễ dàng sử dụng, tiết kiệm thời gian cho bác sĩ, độ chính xác cao tránh sự nhầm lẫn không đáng vì những lí do chủ quan không đáng có. Có thể cải biến ứng dụng cho việc khám chữa những bệnh khác không riêng gì khiếm thính. Về công nghệ: Sử dụng ngôn ngữ lập trình Java và hệ quản trị cơ sở dữ liệu MySQL để lưu trữ dữ liệu, sử dụng JavaFX để thiết kế giao diện. Về lí do chọn công nghệ được nêu rõ tại phần 4.3. Khả thi về kinh tế. Nhận diện về chi phí : Bảng 2.1: Bảng nhận diện chi phí Chi phí phát triển Chi phí vận hành Lương đội ngũ phát triển Phần cứng và phần mềm Chi phí tư vấn Nâng cấp phần mềm Lệ phí Cấp phép Phần mềm Sửa chữa phần cứng Nâng cấp phần cứng Lương của Đội Hoạt động Phí truyền thông Đào tạo người dùng Nhận diện về doanh thu: Bảng 2.2: Bảng nhận diện về doanh thu Doanh thu hữu hình Doanh thu vô hình Tăng doanh thu Giảm nhân viên Giảm trong Kiểm kê Giảm chi phí CNTT Tăng thị phần Tăng cường công nhận thương hiệu Sản phẩm chất lượng cao hơn Dịch vụ khách hàng cải tiến Khả thi về tổ chức. Đánh giá khả năng: Rút ngắn thời gian cho bác sĩ, dẫn tới việc chăm chút cho bệnh nhân được nhiều hơn. Bệnh nhân cũng được chủ động hơn, thoải mái lựa chọn thời gian khám, và tự có thể xem xét bệnh tình. Tổ chức con người: Hệ thống trước tiên được sử dụng bởi bác sĩ, sau đó có thể được cải biến lên wep để bệnh nhân có thể theo dõi được bệnh tình và những chức năng đăng kí online khác. Chức năng của hệ thống Yêu cầu chức năng Người dùng của hệ thống được chia thành 2 loại: Bác sĩ và bệnh nhân. Với mỗi loại người dùng hệ thống có các yêu cầu chức năng sau: Với bệnh nhân: Đăng nhập, đăng xuất, đổi mật khẩu, tìm lại mật khẩu bị mất. Tra cứu các hướng dẫn. Truy cập thông tin cá nhân của mình. Theo dõi bệnh lý của mình. Với bác sĩ: Đăng nhập, đăng xuất, đổi mật khẩu Quản lý các file nghe: Thêm sửa xóa. Phát file nghe Cập nhật hồ sơ của bệnh nhân mỗi khi khám xong. Theo dõi được bệnh lý của bệnh nhân. Yêu cầu phi chức năng Hiệu năng hoạt động Có thể phục vụ nhiều người cùng truy cập 1 lúc. Đáp ứng nhanh. Khả năng tương thích Tương thích với hệ thống và hệ điều hành window. Tính khả dụng Hiển thị thông tin rõ ràng, chuẩn xác. Dễ dàng cập nhật, chỉnh sửa. Giao diện đơn giản, dễ thao tác, sử dụng. Dễ dàng bảo trì, sửa đổi khi có lỗi. Tính bảo mật Bệnh nhân có thể tìm kiếm những thông tin cần thiết. Thông tin của bệnh nhân được bảo mật an toàn. MÔ HÌNH HÓA CHỨC NĂNG Sơ đồ hoạt động Trong phạm vi đồ án, với lượng thời gian không được dài, chúng em bo hẹp lại phạm vi của chu trình nghiệp vụ của hệ thống. Hệ thống sẽ chỉ để sử dụng cho đối tượng bác sĩ. Các chức năng chính được mô tả dưới 2 sơ đồ hoạt động dưới đây. Sơ đồ hoạt động quản lý hồ sơ bệnh nhân Hoạt động quản lý thông tin cá nhân bệnh nhân bao gồm các bước chính: Yêu cầu cập nhật thông tin: Bệnh nhân yêu cầu cập nhật thông tin (thêm, sửa, xóa). Bệnh nhân không tham gia trực tiếp vào hệ thống nhưng nhu cầu của bệnh nhân gián tiếp là tác nhân khởi đầu mọi hoạt động. Lấy thông tin bệnh nhân: Bác sĩ tiến hành thu thập yêu cầu từ bệnh nhân về việc cập nhật thông tin cá nhân của bệnh nhân (thêm, sửa, xóa). Cập nhật thông tin bệnh nhân: Bác sĩ thao tác cập nhật thông tin bệnh nhân (thêm, sửa, xóa). Lưu hồ sơ bệnh nhân: Bác sĩ thực hiện lưu lại hồ sơ của bệnh nhân mỗi khi có thay đổi, cập nhật thông tin. Hình 3.1: Sơ đồ hoạt động quản lý hồ sơ bệnh nhân Sơ đồ hoạt động chu trình điều trị Chu trình điều trị sẽ theo một trình tự dưới đây: Yêu cầu điều trị: Bệnh nhân yêu cầu điều trị với bác sĩ Xem thông tin bệnh nhân: Bác sĩ tiến hành xác định thông tin bệnh nhân Xem lịch sử khám chữa bệnh: Bác sĩ xem lịch sử khám chữa bệnh của bệnh nhân để dựa vào đó đưa được liệu pháp điều trị phù hợp, hoặc thực hiện tiếp liệu trình đã làm trước đó Bắt đầu điều trị: Bác sĩ bắt đầu tiến hành điều trị, chọn file nghe với mức âm lượng tương thích Phát file nghe: Bác sĩ phát file nghe cho bệnh nhân nghe Nghe và phản hồi: Bệnh nhân sau khi nghe sẽ phản hồi lại cho bác sĩ về kết quả vừa nghe được Đánh giá mức độ nghe của bệnh nhân: Bác sĩ đánh giá mức độ nghe của bệnh nhân Lưu kết quả điều trị: Bác sĩ lưu kết quả điều trị để tiện theo dõi và điều trị cho những lần khám chữa tới. Hình 3.2: Sơ đồ hoạt động chu trình điều trị Sơ đồ Use-case Sơ đồ usecase nêu lên những chức năng chính và quan trọng nhất của hệ thống, ở đây do chỉ có duy nhất một actor bác sĩ tham gia vào hệ thống nên use-case hệ thống sẽ trùng với use-case của bác sĩ. Chi tiết về các use-case sẽ được nêu rõ ở phần 3.3 đặc tả use-case phía dưới. Hình 3.3: Sơ đồ use-case hệ thống Đặc tả use-case Quản lý thông tin cá nhân Bảng 3.1: Mô tả use-case quản lý thông tin cá nhân Tên use case: quản lý thông tin cá nhân ID:1 Mức quan trọng: cao Tác nhân chính: bác sĩ Loại use case: chi tiết, thực tế Mô tả tóm tắt Cập nhật thông tin cá nhân của bệnh nhân (thêm, sửa, xóa) Ràng buộc Người dùng chọn chức năng cập nhật bệnh nhân Các mối quan hệ Luồng sự kiện chính Khi có bệnh nhân mới à thực hiện chức năng thêm thông tin cá nhân bệnh nhân Khi có sai xót về thông tin của bệnh nhân à thực hiện chức năng sửa thông tin cá nhân bệnh nhân Khi cần dọn dẹp hệ thống, hoặc những hồ sơ không cần thiết à thực hiện chức năng xóa thông tin cá nhân bệnh nhân Mỗi khi thực hiện chức năng thêm, sửa, xóa thông tin cá nhân bệnh nhân. Thông tin cá nhân của các bệnh nhân được cập nhật lại. Luồng sự kiện con Không có Ngoại lệ Không có Thêm thông tin cá nhân Bảng 3.2: Mô tả use-case thêm thông tin cá nhân Tên use case: Thêm thông tin cá nhân ID:2 Mức quan trọng: cao Tác nhân chính: bác sĩ Loại use case: chi tiết, thực tế Mô tả tóm tắt Thêm thông tin cá nhân của bệnh nhân Ràng buộc Người dùng chọn chức năng cập nhật bệnh nhân. Sau đó chọn chức năng thêm bệnh nhân Các mối quan hệ Luồng sự kiện chính Khi bệnh nhân đăng kí khám chữa à nhận yêu cầu Lấy thông tin từ bệnh nhân à thêm thông tin trong hồ sơ Lưu lại hồ sơ đã thay đổi Luồng sự kiện con Không có Ngoại lệ Không có Sửa thông tin cá nhân Bảng 3.3: Mô tả use-case sửa thông tin cá nhân Tên use case: Sửa thông tin cá nhân ID:3 Mức quan trọng: cao Tác nhân chính: bác sĩ Loại use case: chi tiết, thực tế Mô tả tóm tắt Sửa thông tin cá nhân của bệnh nhân Ràng buộc Người dùng chọn chức năng cập nhật bệnh nhân. Sau đó chọn chức năng sửa thông tin cá nhân bệnh nhân Các mối quan hệ Luồng sự kiện chính Khi bệnh nhân báo có sai xót về thông tin à xác thực thông tin Lấy thông tin từ bệnh nhân à thay đổi thông tin trong hồ sơ Lưu lại hồ sơ đã thay đổi Luồng sự kiện con Không có Ngoại lệ Không có Xóa thông tin cá nhân Bảng 3.4: Mô tả use-case xóa thông tin cá nhân Tên use case: Xóa thông tin cá nhân ID:4 Mức quan trọng: cao Tác nhân chính: bác sĩ Loại use case: chi tiết, thực tế Mô tả tóm tắt Xóa thông tin cá nhân của bệnh nhân Ràng buộc Người dùng chọn chức năng cập nhật bệnh nhân. Sau đó chọn chức năng xóa thông tin cá nhân bệnh nhân Các mối quan hệ Luồng sự kiện chính Khi bộ nhớ đầy cần dọn dẹp hồ sơ, hoặc những bệnh nhân đã hoàn toàn chữa khỏi cần dọn dẹp hồ sơ Chọn hồ sơ cần xóa Xóa hồ sơ Lưu lại sự thay đổi Luồng sự kiện con Không có Ngoại lệ Không có Quản lý lịch sử khám chữa bệnh Bảng 3.5: Mô tả use-case quản lý lịch sử khám chữa bệnh Tên use case: quản lý lịch sử khám chữa bệnh ID:5 Mức quan trọng: cao Tác nhân chính: bác sĩ Loại use case: chi tiết, thực tế Mô tả tóm tắt Cập nhật lịch sử khám chữa bệnh của bệnh nhân (thêm, sửa, xóa) Ràng buộc Người dùng chọn chức năng điều trị Các mối quan hệ Luồng sự kiện chính Muốn bắt đầu tiến hành điều trị bệnh nhân, bác sĩ xem lịch sử khám chữa của bệnh nhân. Bác sĩ chọn chức năng điều trị rồi tiến hành chọn file nghe với mức âm lượng phù hợp rồi phát cho bệnh nhân nghe. Sau khi đã điều trị xong, tiến hành thêm lịch sử khám chữa cho bệnh nhân, và sửa hoặc xóa nếu có sai xót. Cập nhật lại lịch sử khám chữa sau khi đã hoàn thành. Luồng sự kiện con Không có Ngoại lệ Không có Thêm lịch sử khám chữa bệnh Bảng 3.6: Mô tả use-case thêm lịch sử khám chữa bệnh Tên use case: Thêm lịch sử khám chữa bệnh ID:6 Mức quan trọng: cao Tác nhân chính: bác sĩ Loại use case: chi tiết, thực tế Mô tả tóm tắt Thêm lịch sử khám chữa bệnh của bệnh nhân Ràng buộc Người dùng chọn chức năng điều trị. Sau đó chọn chức năng thêm lịch sử khám chữa bệnh Các mối quan hệ Luồng sự kiện chính Khi bác sĩ khám xong cho bệnh nhân à thêm vào phần lịch sử khám chữa Kiểm tra thông tin và lưu vào hồ sơ Luồng sự kiện con Không có Ngoại lệ Không có Sửa lịch sử khám chữa bệnh Bảng 3.7: Mô tả use-case sửa lịch sử khám chữa bệnh Tên use case: Sửa lịch sử khám chữa bệnh ID:7 Mức quan trọng: cao Tác nhân chính: bác sĩ Loại use case: chi tiết, thực tế Mô tả tóm tắt Sửa lịch sử khám chữa bệnh của bệnh nhân Ràng buộc Người dùng chọn chức năng điều trị. Sau đó chọn chức năng sửa lịch sử khám chữa bệnh Các mối quan hệ Luồng sự kiện chính Khi bác sĩ khám xong cho bệnh nhân à thêm vào phần lịch sử khám chữa Kiểm tra thông tin Nếu sai thông tin, hoặc nhầm lẫn à sửa thông tin Lưu sự thay đổi vào hồ sơ Luồng sự kiện con Không có Ngoại lệ Không có Xóa lịch sử khám chữa bệnh Bảng 3.8: Mô tả use-case xóa lịch sử khám chữa bệnh Tên use case: Xóa lịch sử khám chữa bệnh ID:8 Mức quan trọng: cao Tác nhân chính: bác sĩ Loại use case: chi tiết, thực tế Mô tả tóm tắt Xóa lịch sử khám chữa bệnh của bệnh nhân Ràng buộc Người dùng chọn chức năng điều trị. Sau đó chọn chức năng xóa lịch sử khám chữa bệnh Các mối quan hệ Luồng sự kiện chính Khi bác sĩ khám xong cho bệnh nhân à thêm vào phần lịch sử khám chữa Kiểm tra thông tin Nếu sai thông tin, hoặc nhầm lẫn à xóa thông tin Khi cần dọn dẹp bộ nhớ à xóa thông tin không cần thiết Lưu lại thay đổi Luồng sự kiện con Không có Ngoại lệ Không có Quản lý file nghe Bảng 3.9: Mô tả use-case quản lý file nghe Tên use case: quản lý file nghe ID:9 Mức quan trọng: trung bình Tác nhân chính: bác sĩ Loại use case: chi tiết, thực tế Mô tả tóm tắt Điểu chỉnh các file nghe (thêm, sửa xóa) Ràng buộc Người dùng chọn chức năng cập nhật thư viện audio Các mối quan hệ Luồng sự kiện chính Bác sĩ chọn chức năng cập nhật thư viện audio Quản lý danh sách các file nghe để khám chữa bệnh cho bệnh nhân, khi có file mới bác sĩ sẽ thêm file vào danh sách, khi có sai xót có thể sửa hoặc xóa. Muốn phát file cho bệnh nhân nghe à chọn chức năng phát file. Bác sĩ tiến hành cập nhật lại danh sách các file nghe. Luồng sự kiện con Không có Ngoại lệ Không có Xem thống kê Bảng 3.10: Mô tả use-case xem thông kê Tên use case: Xem thống kê ID:10 Mức quan trọng: trung bình Tác nhân chính: bác sĩ Loại use case: chi tiết, cần thiết Mô tả tóm tắt Xem thống kê tổng quan các bệnh nhân và lịch sử khám chữa bệnh Ràng buộc Người dùng chọn chức năng thống kê Các mối quan hệ Luồng sự kiện chính Người dùng lựa chọn chức năng thống kê Luồng sự kiện con Không có Ngoại lệ Không có Điều trị Bảng 3.11: Mô tả use-case điều trị Tên use case: Điều trị ID:11 Mức quan trọng: cao Tác nhân chính: bác sĩ Loại use case: chi tiết, cần thiết Mô tả tóm tắt Điều trị bệnh nhân Ràng buộc Người dùng chọn chức năng điều trị Các mối quan hệ Luồng sự kiện chính Người dùng lựa chọn chức năng điều trị Bác sĩ tiến hành quá trình điều trị cho bệnh nhân, thực hiện phát các file nghe cho bệnh nhân với mức âm lượng phù hợp Bác sĩ đánh giá mức độ nghe của bệnh nhân (kém, vừa, bình thường, tốt, rất tốt) Luồng sự kiện con Không có Ngoại lệ Không có Mô hình hóa cấu trúc Thẻ CRC (class-responsibility-collaboration card) Sau khi đã liệt kê, khoanh vùng được chức năng của hệ thống ta tiến hành xác định các thẻ CRC để bước đầu vạch ra các lớp sử dụng trong hệ thống. Thẻ CRC PatientFront: Class name: Patient ID: 1 Type:Concrete, donmain Description: Tập hợp thông tin cá nhân của bệnh nhân Associated Use Cases: 1, 2, 3, 4 Responsibilities: Chỉnh sửa thông tin cá nhân của bệnh nhân (thêm, sửa, xóa thông tin bệnh nhân) Collaborators: MusicFile Machine Back: Attributes: Họ: string Tên: string Giới tính: string Ngày sinh: string SDT: string Mã BN: string Relationships: Generalization(a-kind-of): Aggregation (has-part): Other Associations: MusicFile Machine Thẻ CRC MusicFileFront: Class name: MusicFile ID: 2 Type: Concrete, donmain Description: Tập hợp các file mp3 với nội dung là đoạn audio dùng chữa bệnh Associated Use Cases: 9 Responsibilities: Cập nhật thư viện nhạc (thêm, sửa, xóa file audio) Phát audio Collaborators: Patient Back: Attributes: MusicName: string LinkFile: string ID: string Relationships: Generalization(a-kind-of): Aggregation (has-part): Other Associations: Patient Thẻ CRC Machine Front: Class name: Machine ID: 3 Type: Concrete, donmain Description: Tập hợp các máy móc hỗ trợ bệnh nhân trong quá trình điều trị Associated Use Cases: 1, 2, 3, 4, 11 Responsibilities: Cập nhật loại máy móc bệnh nhân đã dùng Đưa lời khuyên cho bệnh nhân sử dụng loại máy móc nào Collaborators: Patient Back: Attributes: Mã BN: string Tên TB: string ID: string Ngày sử dụng: string Relationships: Generalization(a-kind-of): Aggregation (has-part): Other Associations: Patient Thẻ CRC Treatment Front: Class name: Treatment ID: 4 Type: Concrete, donmain Description: là lớp điều trị, tập hợp các id file nhạc, thông tin đánh giá bệnh nhân Associated Use Cases: 11 Responsibilities: Phát các file nghe với âm lượng thích hợp cho bệnh nhân Đánh giá mức độ nghe được của bệnh nhân Collaborators: Patient Back: Attributes: Mã BN: string Music Name: string Muc Nghe: string Thoi Gian: string Relationships: Generalization(a-kind-of): Aggregation (has-part): Other Associations: Patient Sơ đồ lớp(Class diagram) Hình 3.4: Sơ đồ class diagram Để tiện cho việc lập trình các lớp sẽ được đặt theo tên tiếng anh. Dưới đây Hình 3.3 là vẽ lại class diagram, sơ đồ này sẽ gần với thiết kế hơn sơ đồ Hình 3.2. Hình 3.5: Sơ đồ class diagram- tiếng anh Bảng ánh xạ giữa sơ đồ lớp và use case Sau khi xây dựng các thẻ CRC để làm rõ các lớp sử dụng trong hệ thống, ta xây dựng sơ đồ Lớp –Class Diagram nhằm làm rõ quan hệ phụ thuộc giữa các lớp, lực lượng của các thực thể tham gia liên kết. Các Lớp sẽ phục vụ cho các Kịch bản sử dụng trong Bảng sau: Bảng 3.12: Mapping giữa class và use-case Use case Class Quản lý thông tin cá nhân bệnh nhân Quản lý lịch sử khám chữa bệnh Quản lý file nghe Xem thống kê Điều trị Thiết bị x Bệnh nhân x x x File nhạc x x x Điều trị x x x Mô hình hóa hoạt động- Sơ đồ tuần tự - Sequence diagram Sơ đồ tuần tự quản lý thông tin bệnh nhân Hình 3.6: Sơ đồ tuần tự thêm thông tin bệnh nhân Hình 3.7: Sơ đồ tuần tự sửa thông tin bệnh nhân Hình 3.8: Sơ đồ tuần tự xóa thông tin bệnh nhân Sơ đồ tuần tự quản lý lịch sử khám chữa bệnh Hình 3.9: Sơ đồ tuần tự thêm lịch sử khám chữa bệnh Hình 3.10: Sơ đồ tuần tự sửa lịch sử khám chữa bệnh Hình 3.11: Sơ đồ tuần tự xóa lịch sử khám chữa bệnh Sơ đồ tuần tự điều trị Hình 3.12: Sơ đồ tuần tự điều trị Sơ đồ tuần tự quản lý file nghe Hình 3.13: Sơ đồ tuần tự quản lý file nghe Sơ đồ tuần tự xem thống kê Hình 3.14: Sơ đồ tuần tự xem thống kê THIẾT KẾ Thiết kế lớp và phương thức Hệ thống sẽ được thiết kế theo mô hình MVC (Model-View-Controller) để phần mềm được xây dựng và quản lý có hệ thống hơn. Các dữ liệu sẽ đi theo luồng cụ thể để được xử lý trong mô hình Model: có nhiệm vụ thao tác với cơ sở dữ liệu, nghĩa là nó sẽ chứa tất cả các hàm, các phương thức truy vấn trực tiếp với dữ liệu và controller sẽ thông qua các hàm, phương thức đó để lấy dữ liệu rồi gửi qua View View: có nhiệm vụ tiếp nhận dữ liệu từ controller và hiển thị nội dung sang các đoạn mã HTML, bạn có thể hiểu nôm na đây người ta còn gọi là thành phần giao diện. Controller: đóng vài trò trung gian giữa Model và View. Nó có nhiệm vụ tiếp nhận yêu cầu từ client sau đó xử lý request, load model tương ứng và gửi dữ liệu qua view tương ứng rồi trả kết quả về cho client. Lớp bệnh nhân Thiết kế các thuộc tính và phương thức Hình 4.1: Phương thức và thuộc tính lớp bệnh nhân Danh sách các phương thức Bảng 4.1: Danh sách các phương thức lớp bệnh nhân STT Tên phương thức Dữ liệu đầu vào Kiểu dữ liệu đầu ra 1 addPatient Mã bệnh nhân, họ, tên, giới tính, ngày sinh, số điện thoại Boolean: True-> thêm thông tin bệnh nhân vừa tạo mới hiển thị lên màn hình False-> thông báo lỗi 2 deletePatient Mã Bệnh nhân Boolean: True-> thông báo xóa thành công, False-> Thông báo lỗi,xóa thất bại 3 editPatient Mã bệnh nhân, họ, tên, giới tính, ngày sinh, số điện thoại Boolean: True -> thông báo edit thành công, False -> thông báo lỗi,edit thất bại Lớp file nhạc Hình 4.2: Phương thức và thuộc tính lớp Musicfile Danh sách các phương thức Bảng 4.2: Danh sách các phương thức lớp Musicfile STT Tên phương thức Dữ liệu đầu vào Kiểu dữ liệu đầu ra 1 addFile Tên File,đường dẫn Boolean: True -> thông báo thêm thành công False -> thông báo lỗi 2 deleteFile ID Boolean: True -> thông báo xóa thành công False->thông báo xóa thất bại 3 editMusicFile Tên File,đường dẫn,ID Boolean True-> thông báo edit thành công False-> thông báo edit thất bại 4 runFile ID Void Lớp thiết bị Hình 4.3: Phương thức và thuộc tính lớp thiết bị Danh sách các phương thức Bảng 4.3: Danh sách các phương thức lớp thiết bị STT Tên phương thức Dữ liệu đầu vào Kiểu dữ liệu đầu ra 1 addMachine Mã bệnh nhân, tên thiết bị, ngày sử dụng Boolean: True -> thông báo thêm mới thành công False-> thông báo lỗi 2 deleteMachine ID Boolean: True-> thông báo xóa thành công False-> thông báo lỗi 3 editMachine Tên thiết bị,ngày sử dụng Boolean: True-> thông báo edit thành công False-> thông báo lỗi Lớp điều trị Hình 4.4: Phương thức và thuộc tính lớp điều trị Danh sách các phương thức Bảng 4.4: Danh sách các phương thức lớp điều trị STT Tên phương thức Dữ liệu đầu vào Kiểu dữ liệu đầu ra 1 addTreatment Mã bệnh nhân,tên File nhạc,mức nghe,thời gian Boolean: True -> thông báo thêm thành công False-> thông báo lỗi 2 deleteTreatment ID Boolean: True-> thông báo xóa thành công False-> thông báo lỗi 3 editTreatment ID, tên File nhạc,mức nghe,thời gian Boolean: True -> thông báo sửa thành công False -> thông báo lỗi Cơ sở dữ liệu Thiết kế sơ đồ thực thể liên kết (entity- relationship model) Bảng 4.5: Các thực thể và thuộc tính của nó trong cơ sở dữ liệu STT Thực thể Thuộc tính 1 Bệnh nhân maBN, họ, tên, ngày sinh, giới tính, số điện thoại 2 Thiết bị ID, maBN, tên thiết bị, ngày nhập thiết bị 3 File nhạc ID, music name, linkFile 4 Danh sách bệnh nhân sử dụng thiết bị ID, maBN, ngày sử dụng Hình 4.5: Sơ đồ thực thể liên kết Mô hình quan hệ Hình 4.6: Mô hình quan hệ các thực thể Chọn công cụ và môi trường lập trình Công cụ lập trình Elipse Neon Eclipse là công cụ phát triển phần mềm chuyên dụng dành cho các developer, đây là công cụ không chỉ được sử dụng đào tạo tại các trung tâm lập trình, các trường ĐH, CĐ về công nghệ thông tin mà còn được tin tưởng sử dụng nhiều ở các công ty lớn về phần mềm như FPTSoftware, GCS, AXON Active Elipse có rất nhiều ưu điểm so với các công cụ lập trình hiện tại. Eclipse là một IDE(integrated development environment – môi trường phát triển) được viết CHÍNH là ngôn ngữ java, có một không gian làm việc cơ bản, và một hệ thống các plugin mở rộng. Eclipse trước đây được sử dụng CHÍNH để lập trình các ứng dụng chạy trên ngôn ngữ java như web JSP, các ứng dụng desktop, lập trình di động Android, blacberry, J2ME Ngày nay eclipse không chỉ lập trình java mà còn cho các ngôn ngữ phổ biến khác như C/C++, PHP, Scala, Javascript Đây thực sự là một điều tuyệt vời cho các lập trình viên muốn phát triển ứng dụng bằng những ngôn ngữ khác trên một môi trường quen thuộc và đẳng cấp. Eclipse có giao diện làm việc tốt, dễ sử dụng, có đầy đủ các chức năng để các lập trình viên có thể chạy ứng dụng, debug tìm lỗi. Có nhiều plugin miễn phí hỗ trợ mở rộng giá trị. Việc sử dụng một IDE chuyên nghiệp với khả năng lập trình đa năng (hỗ trợ nhiều ngôn ngữ C/C++/PHP/Ruby/python/Java), phát triển phần mềm đang dạng (xây dựng ứng dụng desktop, game, web, mobile) sẽ thực sự hữu ích cho các lập trình viên trong việc phát triển phần mềm và không phải tốn thời gian để chuyển qua một IDE mới. Eclipse hoàn toàn miễn phí và có một cộng đồng lập trình viên sử dụng, hỗ trợ, nhờ viết chính trên Java mà eclipse có thể chạy ở hầu hết các nền tảng hệ điều hành khác nhau như windows, mac osx, linux chỉ cần bạn đã cài đặt java. Eclipse cũng là nền tảng được google lựa chọn đầu tiên để xây dựng công cụ lập trình cho HĐH Android của mình (ADT), mặc dù hiện nay google đã chuyển công cụ lập trình Android qua dùng IntelliJ IDEA nhưng eclipse vẫn còn được khá nhiều lập trình viên tiếp tục sử dụng. Với những ưu điểm của Eclipse và nhận thấy sự phù hợp việc thực hiện đề tài chúng em quyết định chọn Eclipce làm công cụ lập trình của hệ thống. JDK (Java Development Kit) 8 Java Development Kit (JDK) là một trong ba gói công nghệ cốt lõi được sử dụng trong lập trình Java, cùng với JVM (Máy ảo Java - Java Virtual Machine) và JRE (Java Runtime Environment - Môi trường Java Runtime). JVM là thành phần Java nền tảng để chạy các chương trình. JRE là phần on-disk của Java, phần tạo ra JVM. JDK cho phép các developer tạo các chương trình Java, trong đó các chương trình có thể được JVM và JRE xử lý và chạy. MySQL Workbench 8.0 CE Hiện tại có nhiều loại database: Oracle, MSSQL, Access, MySQL,. Nhưng MySQL là lựa chọn phù hợp nhất. MySQL là cơ sở dữ liệu mã nguồn mở phổ biến nhất do sự ổn định và cơ chế xử lý nhanh, được nhiều người sử dụng và đáng tin cậy, ngay cả Yahoo, Google, Nokia, Youtube, cũng sử dụng MySQL để tiết kiệm thời gian và chi phí đối với các website có dung lượng lớn. Sau đầy là một sô ưu điểm nổi bật của MySQL: Linh hoạt: Sự linh hoạt về flatform là 1 đặc tính nổi bật của MySQL với các phiên bản đang được hỗ trợ của Linux, Unix, Windows, MySQL cho phép tùy biến hoàn toàn theo ý muốn, thêm vào các yêu cầu thích hợp cho database server. Thực thi cao: Các chuyên gia cơ sỡ dữ liệu có thể cấu hình máy chủ cơ sở dữ liệu MySQL đặc trưng cho các ứng dụng đặc thù thông qua kiến trúc storage-engine. MySQL có thể đáp ứng khả năng xử lý những yêu cầu khắt khe nhất của từng hệ thống, MySQL còn đưa ra các “công cụ” cần thiết cho các hệ thống doanh nghiệp khó tính bằng tiện ích tải tốc độ cao, bộ nhớ cache và các cơ chế xử lý nâng cao khác. Sử dụng ngay: Các tiêu chuẩn đảm bảo của MySQL giúp cho người dùng vững tin và chọn sử dụng ngay, MySQL đưa ra nhiều tùy chọn và các giải pháp để người sử dụng dùng ngay cho server cơ sở dữ liệu MySQL Hỗ trợ giao dịch: MySQL hỗ trợ giao dịch mạnh 1 cách tự động, thống nhất, độc lập và bền vững, ngoài ra khả năng giao dịch cũng được phân loại và hỗ trợ giao dịch đa dạng mà người viết không gây trở ngại cho người đọc và ngược lại. Các dữ liệu được đảm bảo toàn vẹn trong suốt quá trình server có hiệu lực và các mức giao dịch độc lập được chuyên môn hóa cao. Nơi tin cậy để lưu trữ web và dữ liệu: Do MySQL có engine xử lý tốc độ cao và khả năng chèn dữ liệu nhanh, hỗ trợ tốt cho các chức năng chuyên dùng cho web,nên MySQL là lựa chọn tốt nhất cho các ứng dụng web và các ứng dụng web doanh nghiệp. Bảo mật tốt: Doanh nghiệp nào cũng cần tính năng bảo mật dữ liệu tuyệt đối vì đó chính là lợi ích quan trọng hàng đầu, và đó cũng là lý do mà các chuyên gia về cơ sỡ dữ liệu chọn dùng MySQL. MySQL có các kỹ thuật mạnh trong việc xác nhận truy cập cơ sở dữ liệu và chỉ có người dùng đã được xác nhận mới có thể truy cập vào server cơ sở dữ liệu. Bên cạnh đó, tiện ích backup và recovery cho phép backup logic và recovery toàn bộ hoặc tại 1 thời điểm nào đó. Phát triển ứng dụng hỗn hợp: MySQL cung cấp hỗ trợ hỗn hợp cho bất kỳ sự phát triển ứng dụng nào nên MySQL được xem là cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới. Thư viện plugin có sẵn để nhúng vào cơ sở dữ liệu MySQL hỗ trợ trong bất kỳ ứng dụng nào. MySQL còn cung cấp các bộ kết nối cho phép tất cả các form của ứng dụng ưu tiên sử dụng MySQL như 1 server quản lý dữ liệu. Dễ quản lý: Quá trình cài đặt MySQL diễn ra khá nhanh chóng trên Microsoft Windows, Linux, Macintosh hoặc Unix. Sau khi cài đặt, các tính năng tự động mở rộng không gian, tự khởi động lại và cấu hình động được thiết lập sẵn sàng cho người quản trị cơ sở dữ liệu làm việc. Mã nguồn mở tự do và hỗ trợ xuyên suốt: Nhiều doanh nghiệp lo lắng việc sử dụng mã nguồn mở là không an toàn và không được hỗ trợ tốt vì đa số tin vào các phần mềm có bản quyền, nhưng đối với MySQL, các nhà doanh nghiệp hoàn toàn có thể yên tâm về điều này, MySQL có chính sách bồi thường hẳn hoi và luôn hỗ trợ tối đa cho quý doanh nghiệp. Chi phí thấp: Đối với các dự án phát triển mới, nếu các doanh nghiệp sử dụng MySQL thì đó là 1 chọn lựa đúng đắn vừa tiết kiệm chi phí vừa đáng tin cậy. Mức duy trì của MySQL không chiếm nhiều thời gian sửa chữa của người quản trị cơ sở dữ liệu và các doanh nghiệp thật sự hài lòng về khả năng xử lý thông qua việc sử dụng server cơ sở dữ liệu MySQL và kiến trúc scale-out. Các ngôn ngữ lập trình sử dụng Java Java là một ngôn ngữ lập trình và là một Platform. Từ thập kỉ 90, chứng kiến một sự phát triển như vũ bão của mạng Internet và kèm theo đó là vô vàn ứng duungjt rên các môi trường, các hệ điều hành, các hệ xử lý khác nhau. Tuy nhiên có một điểm hạn chế rất lớn khi người lập trình phải vất vả chuyển đổi các ứng dụng của mình để các hệ thống khác nhau có thể sự dụng. Thấy được điều này, ngày 23/05/1995 công ty máy tính Sun Microsystems đã giới thiệu một công cụ lập trình mới – ngôn ngữ Java để khắc phục những khó khăn đó. Đặc điểm nổi bật nhất của Java là nó không phụ thuộc vào hệ điều hành và bộ xử lý. Điều này cho thấy bất kì ứng dụng nào được viết bằng ngôn ngữ Java có thể thực hiện được trên bất kì hệ điều hành và hệ xử lý có hỗi trợ Java. Nó không chỉ viết cho các ứng dụng trên máy cục bộ như máy giặt, tivi, lò nướng nữa mà nó còn được phát triển sử dụng rộng rãi trong các chương trình điều khiển thiết bị di động, PDA, JavaFX JavaFX là nền tảng để tạo và phân phối các ứng dụng dành cho máy tính để bàn cũng như các ứng dụng RIAs (Rich Internet Applications) có thể chạy trên nhiều thiết bị khác nhau. JavaFX được phát triển bởi kỹ sư Chris Oliver, ban đầu dự án được đặt tên là F3 (Form Follows Functions). Sau đó vào năm 2005 thì Sun Micro-Systems đã mua lại dự án F3 và đổi tên thành JavaFX. JavaFX dự định thay thế hoàn toàn Swing làm thư viện GUI chuẩn cho Java SE. JavaFX hỗ trợ cho các máy tính để bàn và trình duyệt web trên nền tảng Windows, Linux và macOS. JavaFX có rất nhiều ưu điểm nổi bật hơn Swing. JavaFX là một thư viện Java bao gồm các lớp và các giao diện được viết bằng mã Java nguyên gốc. FXML là một ngôn ngữ khai báo dựa trên XML để xây dựng một giao diện người dùng trong ứng dụng JavaFX. Lập trình viên có thể sử dụng JavaFX Scene Builder để thiết kế giao diện đồ họa (GUI). JavaFX hỗ trợ đồ họa 2D và 3D cũng như hỗ trợ âm thanh và video. Java FX có WebView dựa trên trình duyệt WebKit, vì vậy có thể nhúng các trang web hoặc các ứng dụng web bên trong JavaFX. DEMO HỆ THỐNG Sau đây là những mô tả chi tiết hoạt động của hệ thống thông qua giao diện của ứng dụng được tạo ra. Giao diện menu Khi bắt đầu khởi động ứng dụng, giao diện đầu tiên được nhìn thấy là một menu tùy chọn chức năng được hiển thị trên Hình 5.1: Hình 5.1: Giao diện menu Tại giao diện menu ta có thể thấy có 5 button, các button khi được click sẽ thao tác được các chức năng khác nhau : Cập nhật bệnh nhân: mục này có chức năng cập nhật thông tin của bệnh nhân sẽ được trình bày rõ trong phần 5.2 giao diện cập nhật bệnh nhân Cập nhật thư viện audio: chức năng của mục là cập nhật các file nghe cho bệnh nhân sẽ được trình bày rõ trong phần 5.3 giao diện cập nhật thư viện audio Điều trị: Với chức năng chính là khám cho bệnh nhân sẽ được trình bày rõ trong phần 5.4 giao diện điều trị Thống kê: Thống kê các kết quả đã và đang điều trị cho những bệnh nhân sẽ được trình bày rõ trong phần 5.5 giao diện thống kê Khi muốn thoát hệ thống, ta nhấn nút “thoát”. Giao diện cập nhật bệnh nhân Tại giao diện menu, nếu t click vào button cập nhật bệnh nhân thì giao diện cập nhật bệnh nhân sẽ lập tức hiện ra trên màn hình. Chi tiết giao diện hiển thị như dưới Hình 5.2. Hình 5.2: Giao diện cập nhật bệnh nhân Đối với giao diện này ta có thể thêm, sửa, xóa bệnh nhân; và thêm, sửa, xóa thiết bị. Trên giao diện, dễ dàng thấy được các ô chức năng điền thông tin bệnh nhân, thiết bị nằm gọn bên trái khung giao diện. Thêm vào đó là 2 bảng danh sách để list các bệnh nhân và thiết bị. Cùng với đó là các nút chức năng thêm, sửa, xóa, lưu, đóng, thêm TB, Sửa TB, Xóa TB. Thông tin cơ bản của bệnh nhân bao gồm: mã BN, họ, tên, ngày sinh, giới tính, số điện thoại; và thông tin thiết bị đã dùng (nếu có). Khi muốn thêm bệnh nhân vào danh sách, ta cần nhập thông tin tại các ô thông tin nằm bên trái khung giao diện sau đó nhấn nút “thêm”. Khi cần sửa thông tin bệnh nhân, ta chọn bệnh nhân trong danh sách đã có và được hiển thị, tiếp theo nhập lại thông tin cần sửa chữa và nhần nút “lưu”. Tiếp tục với chức năng xóa bệnh nhân, ta chỉ cần chọn bệnh nhân cần xóa trong danh sách và nhấn nút “xóa”. Tương tự cho việc thêm, sửa xóa thiết bị. Ta cũng thao tác như vậy đối với ô danh sách các thiết bị nằm bên dưới. Khi làm việc xong với giao diện cập nhật bệnh nhân, chúng ta có thể nhấn nút “đóng” để trở về giao diện menu. Giao diện cập nhật thư viện audio Từ menu chính, muốn vào cập nhật thư viện audio ta chỉ cần nhấn nút “cập nhật thư viện audio”. Giao diện hiện ra như Hình 5.3 dưới đây. Hình 5.3: Giao diện cập nhật thư viện audio Giao diện gồm 3 phần chính đó là bảng danh sách các audio với thông tin là tên cùng đường dẫn; ngay dưới là các nút chức năng thêm, bớt, lưu, đóng để cập nhật thư viện audio; và bên phải là các nút chức năng nghe thử các bản audio. Chi tiết hoạt động của của các nút chức năng như sau: Nút “thêm”: Chọn nút thêm, sau đó điền thông tin của file audio (tên, đường dẫn tới thư mục) nhấn nút “lưu” để hoàn thành việc thêm file audio. Nút “bớt”: Chọn 1 hàng thông tin trên danh sách bằng cách click chuột vào bất kì một vị trí trên hàng chứa thông tin file audio cần chọn, sau đó nhấn nút “bớt ” tiếp theo nhấn nút “lưu” để hoàn thành việc xóa 1 file nhạc. Nút “lưu”: Lưu các thao tác vừa thực hiện làm thay đổi danh sách file nhạc. Nút “đóng”: Nhấn nút đóng để trở về menu chính. Nút “>>” và “<<”: Là 2 nút để tua nhạc lùi và tiến trong trình nghe thử. Nút “>”: Là nút play audio dùng chạy file nhạc trong trình nghe thử. Nút “□”: Là nút pause audio dùng để tạm dừng file nhạc đang chạy trong trình nghe thử. Giao diện điều trị Tại menu chính, nhấn nút “điều trị” để chuyển tới giao diện điều trị. Chi tiết giao diện hiện ra như hình 5.4 dưới đây. Hình 5.4: Giao diện điều trị Như trên Hình 5.4, dễ dàng thấy có 4 phần (chia làm 3 cột trên giao diện): Bảng danh sách các bệnh nhân (tại cột đầu tiên bên trái khung giao diện) Bảng danh sách các file nhạc, kèm các chức năng đánh giá (tại cột giữa trung tâm khung giao diện) Bảng thống kê các kết quả (nằm tại cột cuối cùng bên trái giao diện) Các nút chức năng thực hiện cập nhật kết quả điều trị Khi bắt đầu tiền hành khám chữa cho 1 bệnh nhân, bác sĩ sẽ chọn bệnh nhân trong danh sách tại bảng nằm bên trái khung giao diện, sau đó chọn file nghe với mức âm lượng phù hợp trong cột nằm giữa giao diện và thao tác với nút play , stop để cho bệnh nhân nghe. Sau khi quá trình phát file và tương tác với bệnh nhân về cảm nhận của bệnh nhân, Bác sĩ tiến hành đánh giá mức độ (Rất kém, kém, được, tốt, rất tốt) bằng cách tích vào ô tròn nhỏ trước đánh giá. Sau khi hoàn thành nhần nút “thêm” để kết thúc một đợt phát file nghe. Trong quá trình điều trị, khi có những sai xót nhất định, Bác sĩ có thể chỉnh sửa lịch sử khám bằng cách chọn 1 hàng cần sửa tại danh sách khám chữa (hiển thị tại cột cuối cùng bên phải trên giao diện ), tiếp theo nhấn nút “Sửa” và cập nhật lại thông tin cho đúng đắn, cuối cùng nhấn nút “lưu”. Các quá trình kết thúc, người dùng muốn trở về menu chính chỉ cần nhấn nút “đóng”. Giao diện xem thống kê Tại menu chính, nhấn nút “thống kê” để chuyển tới giao diện thống kê. Chi tiết giao diện hiện ra như hình 5.5 dưới đây. Hình 5.5: Giao diện xem thống kê Giao diện gồm 2 phần: Danh sách bệnh nhân: hiển thị tất cả các bệnh nhân đã điều trị (thông tin gồm mã bệnh nhân, tên, giới tính) Biểu đồ điều trị: hiện thị trực quan kết quả điều trị thông qua một biểu đồ Mỗi bệnh nhân sẽ tương ứng với một đồ thị trên biểu đồ. Đây là mức hiển thị rất trực quan và sinh động cho người bác sĩ nhìn thấy được quá trình điều trị một cách nhanh chóng và tiện lợi. Bác sĩ có thể xem thông tin điều trị chi tiết mỗi bệnh nhân bằng thao tác chọn bệnh nhân trên danh sách rồi nhấn nút “xem”. Khi đã xem xong muốn quay trở lại Bác sĩ nhấn nút “đóng” để về menu chính. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Qua qua trình tìm hiểu lý thuyết, nghiên cứu, và tiến hành thực hiện đề tài đồ án tốt nghiệp, nhóm chúng em đã tiếp thu được nhiều kiến thức bổ ích, kinh nghiệ thực hành thực tế. Nhóm em đã hoàn thành cơ bản đề tài nghiên cứu với các chức nghiệp vụ cơ bản của hệ thống. Các kết quả đạt được : - Về nghiệp vụ ứng dụng: hiểu và phân tích đa số các nghiệp vụ cơ bản của hệ thống. Các nghiệp vụ được phân tích và triển khai ứng dụng thành công, chương trình đã chạy theo đúng ý muốn. - Học thêm được cách xử lí dữ liệu với biểu đồ,cách xử lý dữ liệu với cơ sở dữ liệu - Phân tích sát nghiệp vụ của ứng dụng - Hoàn thành việc phân tích và thiết kế CSDL đảm bảo tính thống nhất và toàn vẹn dữ liệu khi triển khai thành ứng dụng thành công Những tồn tại trong quá trình phát triển: - Một số nhỏ nghiệp vụ của ứng dụng chưa được phân tích kỹ càng, vẫn còn một số thông tin cần phải được phân tích một cách chi tiết hơn, đầy đủ hơn nữa. - Thiết kế database chưa thật chỉn chu phải sửa lại Hướng phát triển: - Tìm hiểu thêm về yêu cầu và phân tích thêm về nghiệp vụ của nhiều bài toán khác. - Đọc thêm tài liệu về xây dựng cơ sở dữ liệu - Cải thiện chức năng sao cho có sự đáp ứng và phản hồi của hệ thống tới người dùng nhanh nhất - Mở rộng thêm nhiều chức năng đáp ứng nhu cầu người dùng TÀI LIỆU THAM KHẢO truy cập lần cuối ngày 30/5/2019 https://stackoverflow.com/ truy cập lần cuối ngày 30/5/2019 https://o7planning.org/vi/10161/hoc-nhanh-java-cho-nguoi-moi-bat-dau truy cập lần cuối ngày 25/5/2019 https://viblo.asia/p/phan-tich-thiet-ke-he-thong-thong-tin-su-dung-bieu-do-uml-phan-1-PjxMe6yNG4YL truy cập lần cuối ngày 20/5/2019 https://voer.edu.vn/c/bieu-do-tuan-tu-sequence-diagram/4654167d/e5b5e82c truy cập lần cuối ngày 20/5/2019 https://o7planning.org/en/10227/jdbc-driver-libraries-for-different-types-of-database-in-java truy cập lần cuối ngày 10/5/2019 https://iviettech.vn/blog/813-classs-diagarm-ban-ve-ve-classlop.html truy cập lần cuối ngày 10/5/2019 truy cập lần cuối ngày 10/5/2019 https://iviettech.vn/blog/1066-activity-diagram-ban-ve-hoat-dong.html truy cập lần cuối ngày 10/5/2019 PHỤ LỤC Code một vài class chính Class Patient package com.thanhnc.Entities; /** * @author MSI GF63 * */ public class Patient { private String maBN; private String ho; private String ten; private String gioiTinh; private String ngaySinh; private String SDT; public Patient() { super(); } public Patient(String maBN, String ho, String ten, String gioiTinh, String ngaySinh, String sDT) { super(); this.maBN = maBN; this.ho = ho; this.ten = ten; this.gioiTinh = gioiTinh; this.ngaySinh = ngaySinh; SDT = sDT; } public String getGioiTinh() { return gioiTinh; } public void setGioiTinh(String gioiTinh) { this.gioiTinh = gioiTinh; } public String getHo() { return ho; } public void setHo(String ho) { this.ho = ho; } public String getTen() { return ten; } public void setTen(String ten) { this.ten = ten; } public String getSex() { return gioiTinh; } public String getMaBN() { return maBN; } public void setMaBN(String maBN) { this.maBN = maBN; } public String getSDT() { return SDT; } public void setSDT(String sDT) { SDT = sDT; } public String getNgaySinh() { return ngaySinh; } public void setNgaySinh(String ngaySinh) { this.ngaySinh = ngaySinh; } @Override public String toString() { return "Patient [maBN=" + maBN + ", ho=" + ho + ", gioiTinh=" + gioiTinh + ", ten=" + ten + ", SDT=" + SDT + ", ngaySinh=" + ngaySinh + "]"; } } Class Treatment package com.thanhnc.Entities; public class Treatment { private String id; private String maBN; private String musicName; private String mucNghe; private String thoiGian; public String getMaBN() { return maBN; } public void setMaBN(String maBN) { this.maBN = maBN; } public String getMusicName() { return musicName; } public void setMusicName(String musicName) { this.musicName = musicName; } public String getMucNghe() { return mucNghe; } public void setMucNghe(String mucNghe) { this.mucNghe = mucNghe; } public String getThoiGian() { return thoiGian; } public void setThoiGian(String thoiGian) { this.thoiGian = thoiGian; } public String getId() { return id; } public void setId(String id) { this.id = id; } public Treatment() { super(); } public Treatment(String maBN, String musicName, String mucNghe, String thoiGian) { this.maBN = maBN; this.musicName = musicName; this.mucNghe = mucNghe; this.thoiGian = thoiGian; } @Override public String toString() { return "Treatment [maBN=" + maBN + ", musicName=" + musicName + ", mucNghe=" + mucNghe + ", thoiGian=" + thoiGian + "]"; } } Class Musicfile package com.thanhnc.Entities; public class MusicFile { private String musicName; private String linkFile; private String ID; public MusicFile() { super(); } public String getMusicName() { return musicName; } public void setMusicName(String MusicName) { this.musicName = MusicName; } public String getLinkFile() { return linkFile; } public void setLinkFile(String linkFile) { this.linkFile = linkFile; } public String getID() { return ID; } public void setID(String ID) { this.ID = ID; } public MusicFile(String musicName, String linkFile) { super(); this.musicName = musicName; this.linkFile = linkFile; } } Class Machine package com.thanhnc.Entities; public class Machine { private String ID; private String maBN; private String tenTB; private String ngaySuDung; public String getMaBN() { return maBN; } public void setMaBN(String maBN) { this.maBN = maBN; } public String getTenTB() { return tenTB; } public void setTenTB(String tenTB) { this.tenTB = tenTB; } public String getNgaySuDung() { return ngaySuDung; } public void setNgaySuDung(String ngaySuDung) { this.ngaySuDung = ngaySuDung; } public Machine(String maBN, String tenTB, String ngaySuDung) { super(); this.maBN = maBN; this.tenTB = tenTB; this.ngaySuDung = ngaySuDung; } public String getID() { return ID; } public void setID(String iD) { ID = iD; } public Machine() { super(); } }

Các file đính kèm theo tài liệu này:

  • docxdo_an_xay_dung_he_thong_kham_chua_benh_cho_nguoi_khiem_thinh.docx