Thiết kế hệ thống

Một phần của tài liệu (Đồ án tốt nghiệp) xây DỰNG WEBSITE QUẢN lý TIÊM CHỦNG CHO TRẺ EM của TRẠM y tế xã SUỐI tân (Trang 39)

3.6.1. Thiết kế cơ sở dữ liệu

3.6.1.1. tbl_Role

Thuộc tính Giải thích Kiểu dữ liệu Ghi chú role_id Mã loại INT Khóa chính,

tự tăng name Tên loại VARCHAR(255)

Bảng 1: Table Role

3.6.1.2. tbl_Account_role

Thuộc tính Giải thích Kiểu dữ liệu Ghi chú account_role_id Mã loại tài

khoản

INT Khóa chính, tự động tăng

account_id Mã tài khoản INT Khóa ngoại role_id Mã loại INT Khóa ngoại

Bảng 2: Table Account role

3.6.1.3. tbl_Account

Thuộc tính Giải thích Kiểu dữ liệu Ghi chú

account_id Mã tải khoản INT Khóa chính, tự tăng

encrypt_pw VARCHAR(255)

token VARCHAR(255)

user_name Tên người dùng VARCHAR(255) is_enabled BIT(1)

verification_code VARCHAR(255) email Email VARCHAR(255)

3.6.1.4. tbl_Patient

Thuộc tính Giải thích Kiểu dữ liệu Ghi chú

patient_id INT Khóa chính, tự tăng

address Địa chỉ VARCHAR(255) date_of_birth Ngày sinh DATE

delete_flag BIT(1)

email Email VARCHAR(255) gender Giới tính VARCHAR(255) guardian VARCHAR(255) name Tên VARCHAR(255) phone Số điện thoại VARCHAR(255)

account_id Mã tài khoản INT Khóa ngoại

Bảng 4: Table Patient

3.6.1.5. tbl_Message

Thuộc tính Giải thích Kiểu dữ liệu Ghi chú

message_id Mã tin nhắn INT Khóa chính, tự tăng

content Nội dung VARCHAR(255)

vaccination_history_id Lịch sử vaccinate INT Khóa chính, tự tăng after_status VARCHAR(255) dosage DOUBLE pre_status VARCHAR(255) status Trạng thái BIT(1)

patient_id INT

vaccination_id INT delete_flag BIT(1) end_time Ngày kết thúc TIME start_time Ngày bắt đầu TIME vaccination_times INT

Bảng 6: Table Vaccination history

3.6.1.7. tbl_Vaccination_transaction

Thuộc tính Giải thích Kiểu dữ liệu Ghi chú

vaccination_transaction_id INT Khóa chính, tự động tăng

price Giá DOUBLE

quantity Số lượng BIGINT

vaccination_history_id Lịch sử tiêm INT Khóa ngoại

Bảng 7: Table Vaccination transaction

3.6.1.8. tbl_Provider

provide_id INT Khóa chính, tự động tăng name Tên VARCHAR(255)

Bảng 8: Table Provider

3.6.1.9. tbl_Invoice

Thuộc tính Giải thích Kiểu dữ liệu Ghi chú

invoice_id INT Khóa chính, tự động tăng delete_flag BIT(1)

expired DATE

price Giá BIGINT quatity Số lượng BIGINT

transaction_date VARCHAR(255)

provider_id INT Khóa ngoại vaccine_id Mã vaccine INT Khóa ngoại

Bảng 9: Table PrinterStatus

3.6.1.10. tbl_Vaccine

Thuộc tính Giải thích Kiểu dữ liệu Ghi chú

vaccine_id Mã vaccine INT Khóa chính, tự động tăng age Tuổi VARCHAR(255)

license_code VARCHAR(255) maintenance VARCHAR(255) name Tên VARCHAR(255) origin VARCHAR(255) quatity Số lượng BIGINT

vaccine_type_id Mã loại vaccine INT Khóa ngoại image Hình ảnh VARCHAR(255)

duration INT

time Thời gian INT

Bảng 10: Table Vaccine

3.6.1.11. tbl_Vaccine_type

Thuộc tính Giải thích Kiểu dữ liệu Ghi chú

vaccine_type_id Mã loại vaccine INT Khóa chính, tự động tăng name Tên VARCHAR(255)

Bảng 11: Table Vaccine type

3.6.1.12. tbl_Employee

Thuộc tính Giải thích Kiểu dữ liệu Ghi chú

employee_id Mã nhân viên INT Khóa chính, tự động tăng address Địa chỉ VARCHAR(255)

date_of_birth Ngày sinh DATE delete_flag BIT(1)

name Tên VARCHAR(255) phone Số điện thoại VARCHAR(255)

account_id Mã tài khoản INT Khóa ngoại position_id INT Khóa ngoại

Bảng 12: Table Employee

3.6.1.13. tbl_Position

Thuộc tính Giải thích Kiểu dữ liệu Ghi chú

position_id INT Khóa chính, tự động tăng

name VARCHAR(255)

Bảng 13: Table Position

3.6.1.14. tbl_Import_and_export

Thuộc tính Giải thích Kiểu dữ liệu Ghi chú

import_and_export_id INT Khóa chính, tự động tăng

action VARCHAR(255)

date DATE

delete_flag BIT(1) price Giá BIGINT quatity Số lượng BIGINT

storage_id INT Khóa chính, tự động tăng quatity Số lượng BIGINT

vaccine_id Mã vaccine INT Khóa ngoại

Bảng 15: Table Storage

3.6.1.16. tbl_Vaccination

Thuộc tính Giải thích Kiểu dữ liệu Ghi chú

vaccination_id Mã vaccine INT Khóa chính, tự động tăng

date DATE

delete_flag BIT(1)

description Mô tả VARCHAR(255) end_time Thời gian bắt

đầu

TIME

start_time Thời gian kết thúc

TIME

status Trạng thái BIT(1)

location_id INT Khóa ngoại vaccination_type_id Mã loại vaccine INT Khóa ngoại vaccine_id Mã vaccine INT Khóa ngoại

duration INT

times Thời gian INT

3.6.1.17. tbl_Vaccination_type

Thuộc tính Giải thích Kiểu dữ liệu Ghi chú

vaccination_type_id INT Khóa chính, tự động tăng name Tên VARCHAR(255)

Bảng 17: Table Vaccination type

3.6.1.18. tbl_Location

Thuộc tính Giải thích Kiểu dữ liệu Ghi chú

location_id INT Khóa chính, tự động tăng name Tên VARCHAR(255)

Bảng 18: Table Location

3.6.2. Kịch bản cho use-case

3.6.2.1.Xem danh sách tiêm chủng

Use case name: Xem danh sách tiêm chủng

Actors: Admin

Description: Admin xem và tìm kiếm danh sách tiêm chủng

Input: Admin đăng nhập tài khoản thành công. Chọn chức năng xem danh sách tiêm chủng.

Output: Hệ thống hiển thị danh sách tiêm chủng của các bệnh nhân đăng kí tiêm chủng, cho phép tìm kiếm bệnh nhận và xem thông tin bệnh nhân

Basic flow:

Bước 1: Admin đăng nhập thành công.

Bước 2: Hệ thống tự động hiển thị danh sách tiêm chủng.

Bước 5: Hệ thống kiểm tra tính hợp lệ các trường actor đã nhập và hiển thị kết quả ra màn hình

Exception flow: Hệ thống kiếm tra không hợp lệ (Không tìm thấy bệnh nhân)  Thông báo không có kết quả.

3.6.2.2. Quản lý nhân viên

Use case name: Quản lý nhân viên

Actors: Admin

Description: Admin xem danh sách nhân viên, chỉnh sửa danh sách và tìm kiếm nhân viên.

Input: Admin đăng nhập tài khoản thành công. Chọn chức năng Quản lý và chọn nhân viên.

Output: Hệ thống hiển thị danh sách các nhân viên thuộc trung tâm, cho phép chỉnh sửa và phân quyền cho nhân viên, tìm kiếm và xem thông tin nhân viên.

Basic flow:

Bước 1: Admin đăng nhập thành công.

Bước 2: Nhấn vào mục quản lý và chọn nhân viên. Bước 3: Hệ thống hiển thị danh sách các nhân viên. Bước 4: Admin nhấn vào nhân viên để xem thông tin. Bước 5: Admin chỉnh sửa và phân quyền cho nhân viên

trong thông tin chi tiết nhân viên.

Bước 6: Admin nhấn vào mục tìm kiếm và nhập tên nhân viên để tìm kiếm.

Exception flow: Hệ thống kiếm tra không hợp lệ (Không tìm thấy nhân viên)  Thông báo không có kết quả.

3.6.2.3. Xác nhận tiêm chủng

Use case name: Xác nhận tiêm chủng

Actors: Admin

Description: Admin xem thông tin bệnh nhân, kiểm tra lịch sử tiêm và xác nhận tiêm

Input: Admin đăng nhập tài khoản thành công.

Chọn chức năng Quản lý và chọn quản lý bệnh nhân.

Output: Hệ thống sẽ hiển thị thông tin bệnh nhân và lịch sử tiêm của bệnh nhân và nút xác nhận tiêm chủng.

Basic flow: Bước 1: Admin tìm kiếm và nhấn vào bệnh nhân cần xác nhận.

Bước 2: Hệ thống hiển thị thông tin của bệnh nhân cần tiêm và lịch sử tiêm chủng.

Bước 3: Admin nhập loại vaccine cần tiêm, liều lượng, số mũi và tình trạng bệnh nhân.

Bước 4: Admin nhấn button “Xong cho tiêm” để xác nhận cho phép tiêm vaccine.

Bước 5: Hệ thống xác nhận và hiển thị kết quả ra màn hình

Exception flow: Bước 4. Admin chọn button “Hủy”  Use case dừng lại 3.6.2.4. Xem lịch sử tiêm chủng

Use case name: Xem lịch sử tiêm chủng

Actors: User

Description: User xem lịch sử tiểm chung của bản thân và đánh giá, phản hồi sau khi tiêm.

Input: User đăng nhập tài khoản thành công. Chọn chức năng lịch sử tiêm chủng

Output: Hệ thống hiển thị danh sách số lần tiêm vaccine, thời gian và loại vaccine đã tiêm.

Basic flow:

Bước 1: User nhấn vào nút “Tái khoản”  “Lịch sử tiêm”.

Bước 2. Hệ thống hiển thị danh sách số lần tiêm chủng. Bước 3: Nhấn button “Phản hồi”

Bước 4: Hệ thống hiển thị thông tin lần tiêm chủng cần phản hồi.

Bước 5. Nhập tình trạng cá nhân cần phản hồi.

Bước 6: User nhấn “Phản hồi lại” để phản hồi tình trạng sau khi tiêm cho admin.

Bước 7: Hệ thống kiếm tra không hợp lệ  Thông báo thông tin sai cho User  Quay lại bước 4.

3.6.2.5. Quản lý bệnh nhân

Use case name: Xem danh sách bênh nhân

Actors: Admin

Description: Admin xem hoặc chỉnh sửa thông tin bênh nhân

Input: Admin đăng nhập tài khoản thành công. Chọn chức năng quản lý bệnh nhân

Output: Hệ thống hiển thị danh sách các bệnh nhân đã đăng kí tiêm chủng.

Basic flow:

Bước 1. Admin nhấn vào nút “Quản lí”  “Bệnh nhân” Bước 2. Hệ thống hiển thị danh sách các bệnh nhân. Bước 3. Admin nhấn vào bệnh nhân để xem thông tin của bệnh nhân.

Bước 4. Admin nhấn vào biểu tượng chỉnh sử để chỉnh sửa thông tin bệnh nhân hoặc nhấn vào biểu tượng xóa để xóa bệnh nhân.

Bước 5. Admin chọn tìm kiếm theo tên.

Exception flow:

Bước 5: Hệ thống kiếm tra không hợp lệ  Thông báo thông tin sai cho User  Quay lại bước 2.

3.6.2.6. Đăng kí và đăng nhập

Use case name: Đăng kí và đăng nhập

Actors: User

Description: User đăng kí tài khoản và đăng nhập vào hệ thống

Input: Người dùng truy cập vào hệ thống.

Chọn chức năng đăng kí để tạo tài khoản hoặc đăng nhập khi có tài khoản.

Output: Hệ thống hiển thị form đăng kí cho người dùng mới hoặc form đăng nhập

Basic flow:

Bước 2: User nhập thông tin cá nhân

Bước 3. Nhấn button “Đăng kí” nếu đăng ký tài khoản hoặc “Đăng nhập” nếu đã có tài khoản

Exception flow:

Bước 3a. User chọn button “Hủy”  Use case dừng lại Bước 4a. Hệ thống kiếm tra không hợp lệ  Thông báo thông tin sai cho Actor  Quay lại bước 2.

3.6.2.7. Quản lí danh sách tiêm chủng định kì

Use case name: Quản lí danh sách tiêm chủng định kì

Actors: Admin

Description: Admin tìm kiếm, thêm, sửa lịch tiêm

Input: Admin đăng nhập tài khoản thành công. Chọn chức năng quản lý lịch tiêm

Output: Hệ thống hiển thị lịch tiêm định kì của trung tâm.

Basic flow:

Bước 1. Admin nhấn vào nút “Quản lý”  “Lịch tiêm định kỳ”.

Bước 2. Hệ thống hiển thị danh sách lịch tiêm định kì. Bước 3. Nhấn button “Tạo mới”

Bước 4. Nhập thông tin lịch tiêm.

Bước 5. Nhấn button “Tạo mới lịch tiêm”

Exception flow: Bước 5a. Actor chọn button “Hủy”  Use case dừng lại Bước 6a. Hệ thống kiếm tra không hợp lệ  Thông báo thông tin sai cho Admin  Quay lại bước 4.

3.6.2.8. Quản lý vaccine

Use case name: Quản lý vaccine

Actors: Admin

Description: Admin xem hoặc thêm mới vaccine

Bước 3. Admin tìm kiếm và xem thông tin vaccine Bước 4. Admin nhấn vào “Thêm vaccine”

Bước 5. Nhập thông tin vaccine. Bước 6. Nhấn button “Lưu

Exception flow:

Bước 6a. Admin chọn button “Hủy”  Use case dừng lại

Bước 5a: Hệ thống kiếm tra không hợp lệ  Quay lại bước 2.

3.6.2.9. Đăng kí tiêm

Use case name: Đăng kí tiêm vaccine

Actors: User

Description: Người dùng đăng kí tiêm vaccine

Input: User đăng nhập tài khoản thành công. Chọn chức đăng ký tiêm

Output: Hệ thống hiển thị form đăng kí tiêm vaccine và danh sác loại vaccine

Basic flow:

Bước 1. User nhấn vào nút “Đăng kí tiêm”. Bước 2. Hệ thống hiển thị danh sách tiêm. Bước 3. Nhấn button “Đăng kí”

Bước 4. Nhập thông tin và chọn thời gian tiêm. Bước 5. Nhấn button “Đăng kí tiêm”

Bước 6. Hệ thống kiểm tra tính hợp lệ các trường đã nhập và hiển thị kết quả ra màn hình – Kết thúc use-case

Exception flow:

Bước 5a. Actor chọn button “Hủy”  Use case dừn g lại

Bước 6: Hệ thống kiếm tra không hợp lệ  Thông báo thông tin sai cho Actor=> Quay lại bước 2.

CHƯƠNG IV. KẾT QUẢ TRIỂN KHAI HỆ THỐNG WEBSITE 4.1. Công cụ xây dựng

 Hệ quản trị cơ sở dữ liệu (MySQL Workbench): thiết kế cơ sở dữ liệu.

 HTML, CSS, JS, Bootstrap: xây dựng giao diện chương trình.

 Spring Framework: xây dựng Back-end(sever) chương trình.

 Angular Framework: xây dựng Front-end chương trình

4.2. Thiết kế giao diện

4.2.1. Giao diện trang tiêm chủng định kỳ

4.2.2. Giao diện trang đăng ký tiêm

Hình 24: Giao diện trang đăng ký tiêm

4.2.3. Giao diện trang quản lý nhân viên

Hình 26: Giao diện thêm mới nhân viên

4.2.5. Giao diện quản lý bệnh nhân

Hình 28: Giao diện danh sách bệnh nhân

4.2.6. Giao diện lịch sử tiêm

4.2.7. Giao diện xác nhận tiêm

Hình 30: Giao diện xác nhận tiêm

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 1. Kết luận

1.1. Về công nghệ:

 Tìm hiểu và nắm bắt được các công cụ thiết kế web.

 Biết được các thiết kế web động cũng như cách tổ chức cơ sở dữ liệu.

 Hiểu sâu hơn về Spring Framework, Angular.

 Hiểu sâu và vận dụng thành thạo mô hình MVC, các kiến thức hổ trợ trong quá trình xây dụng hệ thống: CSS, HTML, MySQL, Javascript, Ajax, …

 Tích lũy được kinh nghiệm về xây dụng kế hoạch cho việc phát triển một phần mềm hoàn chỉnh, cách bố trì và quản lý thời gian sao cho hợp lý.

1.2. Về ứng dụng:

Xây dựng thành công website “Website quản lý tiêm chủng cho trẻ em của trạm y tế” với các chức năng đáp ứng được nhu cầu quản lý tiêm chủng cho trẻ em. Giúp người dân có thể nắm bắt công nghệ và theo dõi được quá trình tiêm chủng qua công nghệ số

2. Hướng phát triển

- Xây dựng thêm một số chức năng mới

- Tối ưu hóa hệ thống để website hoạt động nhanh hơn.

- Nâng cấp và hoàn thiện giao diện người dùng, các chức năng và tính bảo mật của hệ thống.

PHỤ LỤC 1. Cài đặt IntelliJ IDEA

https://cungdev.com/2018/02/01/huong-dan-intellij-idea/

2. Thiết lập đường dẫn tới database

- Chọn file application.properties

TÀI LIỆU THAM KHẢO

[1].Bootstrap, https://getbootstrap.com/docs/3.4/css/ [2]. levunguyen. Học lập trình Spring Framework:

https://levunguyen.com/hoc-lap-trinh-spring-web/

[3]. levunguyen Học lập trình Angular: https://levunguyen.com/hoc- lap-trinh-angular/

[4]. NgoLeQuan. (2021). Lập trình web nâng cao. DaNang. [5]. topdev. Restful API: https://topdev.vn/blog/restful-api-la-gi/ [6]. wikipedia. (2022, 2 12). . Retrieved from Java programing:

Một phần của tài liệu (Đồ án tốt nghiệp) xây DỰNG WEBSITE QUẢN lý TIÊM CHỦNG CHO TRẺ EM của TRẠM y tế xã SUỐI tân (Trang 39)

Tải bản đầy đủ (PDF)

(59 trang)