Giới Thiệu Đề Tài
Khảo sát hiện trạng
Ngày nay, dịch vụ nha khoa ngày càng phổ biến, nhưng nhiều trung tâm vẫn sử dụng hình thức chăm sóc và tư vấn lạc hậu, ảnh hưởng đến khách hàng và giảm doanh thu Vấn đề đặt và hủy lịch khám không hợp lý dẫn đến lãng phí thời gian cho cả hai bên Nhận thấy sự ảnh hưởng lớn từ những vấn đề này, nhóm quyết định nghiên cứu đề tài “Quản lý phòng khám nha khoa” để phát triển sản phẩm khắc phục những yếu tố trên.
Yêu cầu hệ thống
STT Tên yêu cầu Biểu mẫu Quy định Ghi chú
1 Đăng ký thông tin BM 1 QĐ 1
2 Tạo lịch hẹn BM 2 QĐ 2
4 Thêm nha sỹ BM 4 QĐ 4
5 Cập nhật thông tin nha sỹ BM 5 QĐ 5
6 Thêm ca trực BM 6 QĐ 6
7 Thêm lich trực BM 7 QĐ 7
8 Thay đổi thông tin lịch trực BM 8 QĐ 8
10 Thêm dịch vụ BM 10 QĐ 10
11 Thay đổi thông tin dịch vụ BM 11 QĐ 11
1.2.2 Danh sách biểu mẫu và quy định
1.2.2.1 Biểu mẫu 1 và quy định 1:
BM1 ĐĂNG KÝ THÔNG TIN
QĐ1: Email đăng ký không được trùng với các email đã được đăng ký trước
1.2.2.2 Biểu mẫu 2 và quy định 2:
Tên: ……… ……… Dịch vụ: ……….……… Nha sỹ: ……… ……… Thời gian: ……….………
- Khách hàng không được đăng ký hẹn lịch cùng dịch vụ vào cùng thơi điểm
- Nha sỹ phải còn thời gian trống đủ để thực hiện dịch vụ khách hàng đăng ký
- Dịch vụ đăng ký còn được cung cấp bởi nha khoa
- Nha sỹ còn trong thời gian làm việc tại nha khoa
- Chỉ được hủy lịch hẹn với các lịch hẹn chưa hoàn thành và không ở trong trạng thái “Quá hạn” hoặc “Đã hủy”
- Sau khi hủy lịch hẹn thời gian trống của nha sỹ trong ca trực được hoàn lại
1.2.2.4 Biểu mẫu 4 và quy định 4:
Số điện thoại: ……… Chuyên môn:……… Kinh nghiệm:………
- Số điện thoại cung cấp là hợp lệ
- CNMD cung cấp là hợp lệ
- Chuyên môn phải phù hợp với nhu cầu của phòng khám
- Số năm kinh nghiệp tối thiểu 1
1.2.2.5 Biểu mẫu 5 và quy định 5:
BM5 CẬP NHẬT THÔNG TIN NHA SỸ
- Số điện thoại là hợp lệ
- Chuyên môn phải phù hợp với nhu cầu của phòng khám
- Số năm kinh nghiệp tối thiểu 1
1.2.2.6 Biểu mẫu 6 và quy định 6:
QĐ 6: Sử dụng định dạng 24h
1.2.2.7 Biểu mẫu 7 và quy định 7:
STT Ca trực Bắt đầu Kết thúc Ghi chú
- Ngày trực được thêm phải sau hoặc cùng với ngày hiện tại
- Số điện thoại là hợp lệ
- Nha sỹ còn trong thời gian hoạt động
1.2.2.8 Biểu mẫu 8 và quy định 8:
BM8 CẬP NHẬT THÔNG TIN LỊCH TRỰC
Số điện thoại: ……… ……… STT Ca trực Bắt đầu Kết thúc Ghi chú
- Chỉ được thay đổi thông tin lịch trực của ngày hôm nay hoặc các ngày sau đó
- Nếu có lịch hẹn trong ca trực bị hủy, chuyển trạng thái của lịch hẹn sang đã hủy và gửi thông báo đến khách hàng
- Chỉ được hủy lịch trực của ngày hôm nay hoặc các ngày sau đó
- Nếu có lịch hẹn trong ca trực bị hủy, chuyển trạng thái của lịch hẹn sang đã hủy và gửi thông báo đến khách hàng
1.2.2.10 Biểu mẫu 10 và quy định 10:
Tên dịch vụ: ……… ……… … Thời gian xử lý: ……… ……… ……
- Dịch vụ thêm không được trùng với dịch vụ hiện có
1.2.2.11 Biểu mẫu 11 và quy định 11:
Tên dịch vụ: ……… ……… … Thời gian xử lý: ……… ……… ……
QĐ 11: Nếu trạng thái chuyển thành “Ngưng phục vụ” cần gửi thông tin đến các khách hàng có hẹn sử dụng dịch vụ nhưng chưa hoàn thành.
Phân Tích
Mô hình Usecase
STT Tên Actor Ý nghĩa/Ghi chú
1 Quản lý Người có vị trí cao nhất, chịu trách nhiệm quản lý các dữ liệu thông tin của nha khoa và khách hàng
2 Khách hàng Khách hàng đăng ký sử dụng dịch vụ của nha khoa
STT Tên Usecase Ý nghĩa/Ghi chú
7 Xem danh sách lịch khám
8 Xem thông tin dịch vụ Khách hàng xem thông tin dịch vụ
9 Xem thông tin nha sỹ Khách hàng xem thông tin nha sỹ
10 Xem danh sách nha sỹ
11 Xem danh sách dịch vụ
12 Quản lý dịch vụ Thêm/Sửa/Xem thông tin dịch vụ
13 Quản lý nha sĩ Thêm/Sửa/Xem thông tin nha sĩ
14 Quản lý lịch làm việc Thêm/Sửa/Xóa/Xem thông tin lịch làm việc
15 Tư vấn online Nhận câu hỏi và phản hồi online
Tên chức năng Đăng ký
Tóm tắt Người dùng đăng ký tài khoản
Dòng sự kiện chính 1 Người dùng nhập thông tin và nhấn chọn nút “Register”
2 Hệ thống tạo tài khoản cho người dùng
Dòng sự kiện khác 1.1 Người dùng nhập sai thông tin: Hệ thống hiển thị thông báo thông tin không chính xác
1.2 Email đã được sử dụng: Hệ thống hiển thị thông báo email đã có người dùng
Các yêu cầu đặc biệt Không có
Trạng thái hệ thống trước khi thực hiện usecase
Actor: Khách hàng Điều kiện: Không có
Trạng thái hệ thống sau khi thực hiện usecase
Hệ thống đăng nhập tài khoản vừa tạo và trở về trang chủ Điểm mở rộng Không có
Tên chức năng Đăng nhập
Tóm tắt Chức năng đăng nhập vào hệ thống
Dòng sự kiện chính 1 Người dùng chọn nút đăng nhập trên thanh điều hướng
2 Hệ thống hiển thị form đăng nhập
3 Nhập email và mật khẩu (bắt buộc) và nhấn “Login”
4 Hệ thống kiểm tra thông tin đăng nhập
5 Hệ thống hiển thị trang chính
Dòng sự kiện khác 4.1 Thông tin đăng nhập sai:
Hệ thống hiển thị thông báo tài khoản đăng nhập không hợp lệ Các yêu cầu đặc biệt Không có
Trạng thái hệ thống trước khi thực hiện usecase
Actor: Tất cả các actor Điều kiện: không có
Trạng thái hệ thống sau khi thực hiện usecase
Người dùng đăng nhập thành công vào hệ thống, có thể sử dụng các quyền mà hệ thống cho phép Điểm mở rộng Không có
Tên chức năng Đăng xuất
Tóm tắt Chức năng đăng xuất ra hệ thống
Dòng sự kiện chính 1 Người dùng nhấn vào “Logout”
2 Hệ thống đăng xuất tài khoản của người dùng
Dòng sự kiện khác Không có
Các yêu cầu đặc biệt Không có
Trạng thái hệ thống trước khi thực hiện usecase
Actor: Tất cả các actor Điều kiện: Người dùng đã đăng nhập hệ thống
Trạng thái hệ thống sau khi thực hiện usecase
Người dùng đăng xuất khỏi hệ thống Điểm mở rộng Không có
Tên chức năng Lấy lại mật khẩu
Tóm tắt Thay đổi mật khẩu cho tài khoản khi quên mật khẩu
Dòng sự kiện chính 1 Trên form đăng nhập chọn “Forget pasword”
2 Hệ thống gửi token xác nhân về mail người dùng
3 Hệ thống yêu cầu nhập token xác nhận
5 Hệ thống hiện thị form đổi mật khẩu
6 Người dùng nhập mật khẩu mới
7 Hệ thống cạp nhật mật khẩu và thông báo thành công
Dòng sự kiện khác 4.1 Token không chính xác hệ thống hiện thị thông báo token không phù hợp
Các yêu cầu đặc biệt Không
Trạng thái hệ thống trước khi thực hiện usecase
Actor: tất cả các actor Điều kiện: Không
Trạng thái hệ thống sau khi thực hiện usecase
Mật khẩu của người dùng được thay đổi Điểm mở rộng Không có
Tên chức năng Đặt lịch khám
Tóm tắt Đặt lịch khám
Dòng sự kiện chính 1 Chọn nút “Appointment” trên thanh điều hướng (web) và trên sidebar (mobile).
2 Hệ thống hiển thị form đặt lịch khám
3 Hệ thống kiểm tra thông tin nha sĩ được chọn trả về ngày làm việc
4 Chọn ngày làm việc và khung giờ sau đó ấn “Book”
5 Hệ thống lưu thông tin lịch khám xuống cở sở dữ liệu và hẹn giờ gửi mail nhắc hẹn.
Dòng sự kiện khác 4.1 Người dùng đã đăng ký dùng dịch vụ tại thời điểm được chọn: Hệ thống hiển thị thông báo đã có lịch hẹn.
Các yêu cầu đặc biệt Không có
Trạng thái trước khi thực hiện usecase
Actor: Khách hàng Điều kiện: Người dùng đã đăng nhập vào hệ thống.
Trạng thái hệ thống sau khi thực hiện usecase
Thêm lịch hẹn thành công vào hệ thống Điểm mở rộng Không có
Tên chức năng Hủy lịch khám
Tóm tắt Hủy lịch khám
Dòng sự kiện chính 1 Chọn “My Appointments”.
2 Chọn lịch khám muốn hủy, chọn “Cancel”
3 Hệ thống yêu cầu xác nhận
4 Người dùng xác nhận muốn hủy lịch khám.
5 Hệ thống tiến hành hủy lịch khám.
6 Hệ thống xóa lịch hẹn dưới cơ sở dữ liệu và trả về kết quả. Dòng sự kiện khác
Các yêu cầu đặc biệt Không có
Trạng thái hệ thống trước khi thực hiện usecase
Actor: Khách hàng. Điều kiện: Người dùng đã đăng nhập vào hệ thống và có quyền sử dụng chức năng này.
Trạng thái hệ thống sau khi thực hiện usecase
Hiển thị hủy lịch hẹn thành công Điểm mở rộng Không có
2.1.4.7 Xem danh sách lịch khám
Tên chức năng Xem danh sách lịch khám
Tóm tắt Xem danh sách lịch khám
Dòng sự kiện chính 1 Chọn “My Appointments”.
2 Chuyển đến trang danh sách lịch khám
Các yêu cầu đặc biệt Không có
Trạng thái hệ thống trước khi thực hiện usecase
Actor: Khách hàng. Điều kiện: Người dùng đã đăng nhập vào hệ thống và có quyền sử dụng chức năng này.
Trạng thái hệ thống sau khi thực hiện usecase
Hiển thị danh sách tất cả lịch khám của người dùng Điểm mở rộng Không có
2.1.4.8 Xem danh sách dịch vụ
Tên chức năng Xem danh sách dịch vụ
Tóm tắt Xem danh sách dịch vụ
Dòng sự kiện chính 1 Người dùng chọn nút “Services” trên thanh điều hướng
2 Hệ thống hiển thị trang danh sách dịch vụ.
Dòng sự kiện khác Không có
Các yêu cầu đặc biệt Không có
Trạng thái hệ thống trước khi thực hiện usecase
Trạng thái hệ thống sau khi thực hiện usecase
Hiển thị trang danh sách dịch vụ Điểm mở rộng Không có
2.1.4.9 Xem thông tin dịch vụ
Tên chức năng Xem thông tin dịch vụ
Tóm tắt Xem thông tin dịch vụ của nha khoa
Dòng sự kiện chính 1 Tại trang danh sách dịch vụ chọn dịch vụ muốn xem thông tin.
2 Hệ thống hiển thị thông tin dịch vụ.
Dòng sự kiện khác Không có
Các yêu cầu đặc biệt Không có
Trạng thái hệ thống trước khi thực hiện usecase
Trạng thái hệ thống sau khi thực hiện usecase
Hiển thị thông tin dịch vụ Điểm mở rộng Không có
2.1.4.10 Xem danh sách nha sỹ
Tên chức năng Xem danh sách nha sỹ
Tóm tắt Xem danh sách nha sỹ
Dòng sự kiện chính 1 Chọn nút “Our doctors” trên thanh điều hướng.
2 Hệ thống hiển thị danh sách nha sỹ.
Dòng sự kiện khác Không có
Các yêu cầu đặc biệt Không có
Trạng thái hệ thống trước khi thực hiện usecase
Trạng thái hệ thống sau khi thực hiện usecase
Hiển thị danh sách nha sỹ. Điểm mở rộng Không có
2.1.4.11 Xem thông tin nha sỹ
Tên chức năng Xem thông tin nha sỹ
Tóm tắt Xem thông tin nha sỹ
Dòng sự kiện chính 1 Tại trang danh sách nha sỹ chọn nút “More Info” trên thẻ nha sỹ muốn xem thông tin
2 Hệ thống hiển thị trang thông tin nha sỹ.
Dòng sự kiện khác Không có
Các yêu cầu đặc biệt Không có
Trạng thái hệ thống trước khi thực hiện usecase
Trạng thái hệ thống sau khi thực hiện usecase
Hiển thị thông tin dịch vụ Điểm mở rộng Không có
Tên chức năng Tư vấn online
Tóm tắt Tư vấn và trả lời các câu hoi của khách hàng online.
Dòng sự kiện chính 1 Khách hàng chọn vào nút “Chat” trên giao diện
2 Khách hàng đặt câu hỏi
3 Nhân viên nhận câu hỏi và phản hồi khách hàng.
Dòng sự kiện khác Không có
Các yêu cầu đặc biệt Không có
Trạng thái hệ thống trước khi thực hiện usecase
Trạng thái hệ thống sau khi thực hiện usecase
Hiển thị thông tin dịch vụ Điểm mở rộng Không có
2.1.4.13.1 Xem danh sách lịch trực
Tên chức năng Xem danh sách lịch trực
Tóm tắt Xem danh sách lịch trực
Dòng sự kiện chính 1 Tại trang quản lý chọn mục quản lý lịch trực
2 Hệ thống hiển thị danh sách lịch trực
Dòng sự kiện khác Không có
Các yêu cầu đặc biệt Không có
Trạng thái hệ thống trước khi thực hiện usecase
Actor: Quản lý. Điều kiện: Người dùng đã đăng nhập vào hệ thống và có quyền sử dụng chức năng này.
Trạng thái hệ thống sau khi thực hiện usecase
Hệ thống hiển thị danh sách lịch trực. Điểm mở rộng Không có
Tên chức năng Thêm lịch trực
Tóm tắt Thêm lịch trực cho nha sỹ
Dòng sự kiện chính 1 Tại trang quản lý lịch trực người dùng điền thông tin vào form thêm lịch trực
2 Người dùng xác nhận lưu thông tin lịch trực
3 Hệ thống tạo thông tin lịch trực và hiện thị kết quả.Dòng sự kiện khác 2.1 Thông tin bị thiếu: Hệ thống hiển thị thông báo lỗi
Các yêu cầu đặc biệt Không có
Trạng thái hệ thống trước khi thực hiện usecase
Actor: Quản lý. Điều kiện: Người dùng đã đăng nhập vào hệ thống và có quyền sử dụng chức năng này.
Trạng thái hệ thống sau khi thực hiện usecase
Hệ thống thêm thông tin lịch trực vào cơ sở dữ liệu. Điểm mở rộng Không có
2.1.4.13.3 Xem thông tin lịch trực
Tên chức năng Xem thông tin lịch trực
Tóm tắt Xem thông tin lịch trực
Dòng sự kiện chính 1 Tại trang quản lý chọn nút “Edit” trên bảng danh sách lịch trực của lịch trực cần xem thông tin
2 Hệ thống hiển thị thông tin lịch trực.
Dòng sự kiện khác Không có
Các yêu cầu đặc biệt Không có
Trạng thái hệ thống trước khi thực hiện usecase
Actor: Quản lý. Điều kiện: Người dùng đã đăng nhập vào hệ thống và có quyền sử dụng chức năng này.
Trạng thái hệ thống sau khi thực hiện usecase
Hệ thống hiển thị thông tin lịch trực. Điểm mở rộng Không có
Tên chức năng Xóa lịch trực
Tóm tắt Xóa lịch trực của nha sỹ.
Dòng sự kiện chính 1 Tại bảng danh sách lịch trực trong trang quản lý, chọn nút “Delete” trên lịch trực muốn xóa
2 Người dùng xác nhận xóa lịch trực
3 Hệ thống xóa lịch trực khỏi cơ sở dữ liệu và hiển thị kết quả.
Sau khi xóa lịch trực thành công, hệ thống sẽ gửi email thông báo hủy lịch hẹn cho tất cả các lịch hẹn trong ngày đó của nha sĩ.
Các yêu cầu đặc biệt Không có
Trạng thái hệ thống trước khi thực hiện usecase
Actor: Quản lý. Điều kiện: Người dùng đã đăng nhập vào hệ thống và có quyền sử dụng chức năng này.
Trạng thái hệ thống sau khi thực hiện usecase
Hệ thống hiển thị xóa lịch trực thành công. Điểm mở rộng Không có
2.1.4.13.5 Sửa thông tin lịch trực
Tên chức năng Sửa thông tin lịch trực.
Tóm tắt Sửa thông tin lịch trực của nha sỹ.
Dòng sự kiện chính 1 Tại bảng danh sách lịch trực, chọn nút “Edit” trên lịch trực muốn thay đổi thông tin
2 Người dùng nhập thông tin mới
3 Người dùng xác nhận lưu
4 Hệ thống cập nhật thông tin lịch trực xuống cơ sở dữ liệu và thông báo kết quả.
Nếu ca trực của bác sĩ bị xóa khỏi lịch, hệ thống sẽ tự động gửi email thông báo hủy lịch hẹn đến khách hàng có lịch hẹn trong ca trực đó.
Các yêu cầu đặc biệt Không có
Trạng thái hệ thống trước khi thực hiện usecase
Actor: Quản lý. Điều kiện: Người dùng đã đăng nhập vào hệ thống và có quyền sử dụng chức năng này.
Trạng thái hệ thống sau khi thực hiện usecase
Hệ thống hiển thị sửa lịch trực thành công. Điểm mở rộng Không có
2.1.4.14.1 Xem danh sách dịch vụ
Tên chức năng Xem danh sách dịch vụ
Tóm tắt Xem các dịch vụ của nha khoa
Dòng sự kiện chính 1 Vào trang quản lý, vào chức năng quản lý dịch vụ.
2 Hệ thống hiển thị danh sách các dịch vụ.
Dòng sự kiện khác Không có
Các yêu cầu đặc biệt Không có
Trạng thái hệ thống trước khi thực hiện usecase
Actor: Quản lý. Điều kiện: Người dùng đã đăng nhập vào hệ thống và có quyền sử dụng chức năng này.
Trạng thái hệ thống sau khi thực hiện usecase
Hệ thống hiển thị danh sách dịch vụ. Điểm mở rộng Không có
Tên chức năng Thêm dịch vụ
Tóm tắt Thêm dịch vụ
Dòng sự kiện chính 1 Tại trang quản lý dịch vụ, người dùng điền thông tin dịch vụ cần thêm
2 Người dùng xác nhận lưu dịch vụ
3 Hệ thống lưu thông tin dịch vụ và hiển thị kết quả.
Dòng sự kiện khác 3.1 Thông tin nhập không hợp lệ: Hệ thống hiển thị thông báo lỗi.
Các yêu cầu đặc biệt Không có
Trạng thái hệ thống trước khi thực hiện usecase
Actor: Quản lý. Điều kiện: Người dùng đã đăng nhập vào hệ thống và có quyền sử dụng chức năng này.
Trạng thái hệ thống sau khi thực hiện usecase
Hệ thống hiển thị thêm dịch vụ mới thành công. Điểm mở rộng Không có
2.1.4.14.3 Xem thông tin dịch vụ
Tên chức năng Xem thông tin dịch vụ
Tóm tắt Xem thông tin dịch vụ
Dòng sự kiện chính 1 Trong bảng danh sách dịch vụ trên trang quản lý dịch vụ chọn nút “Edit” trên dịch vụ cần xem thông tin
2 Hệ thống hiển thị thông tin dịch vụ.
Dòng sự kiện khác Không có
Các yêu cầu đặc biệt Không có
Trạng thái hệ thống trước khi thực hiện usecase
Actor: Quản lý. Điều kiện: Người dùng đã đăng nhập vào hệ thống và có quyền sử dụng chức năng này.
Trạng thái hệ thống sau khi thực hiện usecase
Hệ thống hiển thị xóa dịch vụ thành công. Điểm mở rộng Không có
2.1.4.14.4 Sửa thông tin dịch vụ
Tên chức năng Sửa thông tin dịch vụ
Tóm tắt Sửa thông tin dịch vụ
Dòng sự kiện chính 1 Trong bảng danh sách dịch vụ tại trang quản lý dịch vụ chọn nút “Edit” trên dịch vụ cần thay đổi thông tin
2 Hệ thống hiển thị form thay đổi thông tin dịch vụ
3 Người dùng nhập thông tin mới vào form và xác nhận lưu thay đổi
4 Hệ thống lưu thông tin thay đổi và hiển thị kết quả.
Dòng sự kiện khác 4.1 Thông tin không hợp lệ: Hệ thống hiển thị thông báo lỗi
4.2 Nếu thông tin cập nhật dịch vụ thành trạng thái ngưng phục vụ, hệ thống gửi mail thông báo hủy lịch hẹn đến các khách hàng có hẹn lịch sử dụng dịch vụ nhưng chưa hoàn thành
Các yêu cầu đặc biệt Không có
Trạng thái hệ thống trước khi thực hiện usecase
Actor: Quản lý. Điều kiện: Người dùng đã đăng nhập vào hệ thống và có quyền sử dụng chức năng này.
Trạng thái hệ thống sau khi thực hiện usecase
Hệ thống hiển thị cập nhật thông tin dịch vụ thành công. Điểm mở rộng Không có
2.1.4.15.1 Xem danh sách nha sĩ
Tên chức năng Xem danh sách nha sỹ
Tóm tắt Xem danh sách nha sỹ
Dòng sự kiện chính 1 Tại trang quản lý chọn chức năng quản lý nha sỹ
2 Hệ thống hiển thị danh sách nha sỹ.
Dòng sự kiện khác Không có
Các yêu cầu đặc biệt Không có
Trạng thái hệ thống trước khi thực hiện usecase
Actor: Quản lý. Điều kiện: Người dùng đã đăng nhập vào hệ thống và có quyền sử dụng chức năng này.
Trạng thái hệ thống sau khi thực hiện usecase
Hệ thống hiển thị danh sách nha sĩ. Điểm mở rộng Không có
Tên chức năng Thêm nha sỹ
Tóm tắt Thêm nha sỹ
Dòng sự kiện chính 1 Tại trang quản lý nha sỹ, điền thông tin cần thêm vào form thêm nha sỹ
2 Người dùng xác nhận lưu thông tin
3 Hệ thống lưu thông tin nha sỹ và hiển thị kết quả.
Dòng sự kiện khác 3.1 Thông tin không hợp lệ: Hệ thống hiển thị thông báo lỗi. Các yêu cầu đặc biệt Không có
Trạng thái hệ thống trước khi thực hiện usecase
Actor: Quản lý. Điều kiện: Người dùng đã đăng nhập vào hệ thống và có quyền sử dụng chức năng này.
Trạng thái hệ thống sau khi thực hiện usecase
Hệ thống hiển thị thêm nha sĩ mới thành công. Điểm mở rộng Không có
2.1.4.15.3 Xem thông tin nha sỹ
Tên chức năng Xem thông tin nha sỹ
Tóm tắt Xem thông tin nha sỹ
Dòng sự kiện chính 1 Trong bảng danh sách nha sỹ, chọn nút “Edit” của nha sỹ cần xem thông tin
2 Hệ thống hiển thị thông tin nha sỹ.
Dòng sự kiện khác Không có
Các yêu cầu đặc biệt Không có
Trạng thái hệ thống trước khi thực hiện usecase
Actor: Quản lý. Điều kiện: Người dùng đã đăng nhập vào hệ thống và có quyền sử dụng chức năng này.
Trạng thái hệ thống sau khi thực hiện usecase
Hệ thống hiển thị thông tin nha sỹ. Điểm mở rộng Không có
2.1.4.15.4 Sửa thông tin nha sỹ
Tên chức năng Sửa thông tin nha sỹ
Tóm tắt Sửa thông tin nha sỹ
Dòng sự kiện chính 1 Trong bảng danh sách nha sỹ trên trang quản lý nha sỹ, chọn nút “Edit” của nha sỹ cần thay đổi thông tin
2 Hệ thống hiển thị from sửa thông tin nha sỹ
3 Người dùng nhập thông tin cần thay đổi và xác nhận
4 Hệ thống cập nhật thông tin nha sỹ và hiển thị kết quả.
Dòng sự kiện khác 4.1 Thông tin nhập không hợp lệ: Hệ thống hiển thị thông báo lỗi.
Các yêu cầu đặc biệt Không có
Trạng thái hệ thống trước khi thực hiện usecase
Actor: Quản lý. Điều kiện: Người dùng đã đăng nhập vào hệ thống và có quyền sử dụng chức năng này.
Trạng thái hệ thống sau khi thực hiện usecase
Hệ thống hiển thị cập nhật thông tin nha sĩ thành công. Điểm mở rộng Không có
Sơ đồ lớp
2.2.1 Sơ đồ lớp (mức phân tích)
2.2.2 Danh sách đối tượng và quan hệ
STT Tên lớp/quan hệ Ý nghĩa/mô tả
1 User Tài khoản của người dùng dùng để đăng nhập vào hệ thống và sử dụng các chức năng của ứng dụng Gồm 2 loại là Admin và Guest
2 Dentist Lớp đối tượng nha sĩ
4 Expert Thể hiện chuyên môn của nha sĩ
5 Degree Lớp đối tượng thể hiện bằng cấp của nha sĩ
6 Shift Lớp đối tượng thể hiện ca làm việc của nha sĩ
7 Schedule Lớp đối tượng lịch trình thể hiện lịch làm việc của các nha sĩ theo ngày
8 ShiftInSchedule Lớp đối tượng thể hiện ca làm việc theo một lịch trình và thời gian còn lại của ca làm việc
9 Appointment Lớp cuộc hẹn thể hiện thông tin lịch hẹn của bệnh nhân
2.2.3 Mô tả chi tiết từng đối tượng
+Danh sách thuộc tính STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
2 name String Tên người dùng
3 email String Email đăng nhập
5 role String Có 2 giá trị:
Dùng để phân quyền người dùng
6 googleID String Mã đăng nhập bằng google
7 resetpassToken String Mã reset mật khẩu
+Danh sách phương thức STT Tên phương thức Kiểu trả về Ràng buộc Ý nghĩa/ghi chú
1 SignUp Object public Đăng ký
2 LogIn Object public Đăng nhập
3 LogOut Bool Public Đăng xuất
4 ResetPassword Object public Lấy lại mật khẩu
5 GetInfo User Public Lấy thông tin người dùng
6 Update Bool Public Cập nhật thông tin tài khoản
+Danh sách thuộc tính STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 _id String ID nha sỹ
2 name String Tên nha sỹ
3 phone String Số điện thoại
4 avatar String Ảnh đại diện
5 description String Mô tả về nha sỹ
6 yearExperience Int Số năm kinh nghiệm
7 rating Double 0 < rating < 5 Điểm đánh giá
8 Patient Int Số lượng bệnh nhân
9 IDNumber String CMND nha sỹ
10 Status String Có 2 giá trị:
+Danh sách phương thức STT Tên phương thức Kiểu trả về Ràng buộc Ý nghĩa/ghi chú
1 Create Bool Admin Tạo nha sĩ mới
2 Update Bool Admin Cập nhật thông tin
3 GetInfo Dentist Public Lấy thông tin nha sỹ
4 GetAll Dentist[] Public Thông tin tất cả nha sỹ
+Danh sách thuộc tính STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 _id String ID dịch vụ
2 name String Tên dịch vụ
3 timeConsume Int Thời gian để hoàn thành dịch vụ
4 status String Có 2 giá trị:
Tình trạng còn phục vụ hay không
+Danh sách phương thức STT Tên phương thức Kiểu trả về Ràng buộc Ý nghĩa/ghi chú
1 Create Bool Admin Tạo dịch vụ mới
2 Update Bool Admin Cập nhật thông tin
3 GetInfo Service Public Lấy thông tin dịch vụ
4 GetAll Service[] Public Thông tin tất cả dịch vụ
+Danh sách thuộc tính STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
2 services Service Các chuyên môn của nha sỹ
+Danh sách thuộc tính STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 _id String ID bằng cấp
2 name String Tên bằng cấp
+Danh sách phương thức STT Tên phương thức Kiểu trả về Ràng buộc Ý nghĩa/ghi chú
1 Create Bool Admin Tạo bằng cấp mới
2 Update Bool Admin Cập nhật thông tin bằng cấp
3 GetInfo Degree Public Lấy thông tin bằng cấp
4 GetAll Degree [] Public Lấy thông tin tất cả bằng cấp
+Danh sách thuộc tính STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 _id String ID ca trực
2 from String Thời gian bắt đầu ca làm
3 to String Thời gian kết thúc ca làm
+Danh sách phương thức STT Tên phương thức Kiểu trả về Ràng buộc Ý nghĩa/ghi chú
1 Create Bool Admin Tạo ca trực mới
2 Update Bool Admin Cập nhật thông tin ca trực
3 GetInfo Shift Public Lấy thông tin ca trực
4 GetAll Shift [] Public Lấy thông tin tất cả ca trực
+Danh sách thuộc tính STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 _id String ID lịch làm việc
2 day Int Ngày làm việc
3 month Int Tháng làm việc
4 year Int Năm làm việc
+Danh sách phương thức STT Tên phương thức Kiểu trả về Ràng buộc Ý nghĩa/ghi chú
1 Create Bool Admin Tạo lịch làm việc mới
2 Update Bool Admin Cập nhật thông tin lịch làm việc
3 GetInfo Schedule Public Lấy thông tin lịch làm việc
4 GetAll Schedule [] Public Lấy thông tin tất cả lịch làm việc
5 GetDentistSchedule Schedule Public Lấy thông tin lịch làm việc của nha sĩ
+Danh sách các thuộc tính STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 timeRemain Int Thời gian trống còn lại của ca làm việc
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 _id String ID lịch hẹn
2 day Int Ngày hẹn khám
3 month Int Tháng hẹn khám
4 year Int Năm hẹn khám
5 status String Có 4 giá trị:
Tình trạng lịch hẹn khám
+Danh sách phương thức STT Tên phương thức Kiểu trả về Ràng buộc Ý nghĩa/ghi chú
1 Create Bool Admin Tạo cuộc hẹn mới
2 Update Bool Admin Cập nhật thông tin lịch hẹn
3 GetInfo Appointment Public Lấy thông tin cuộc hẹn
4 GetAll Appointment [] Public Lấy thông tin tất cả lịch hẹn
5 GetByUser Appointment[] User Lấy thông tin các lịch hẹn của người dùng.
Sơ đồ trạng thái
2.3.1.2 Mô tả các trạng thái
STT Trạng thái Ý nghĩa Xử lý liên quan Ghi chú
1 Hoạt động Nha sỹ đang làm việc tại cơ sở
2 Ngưng hoạt động Nha sỹ không còn làm việc tại cơ sở
2.3.2.2 Mô tả các trạng thái
STT Trạng thái Ý nghĩa Xử lý liên quan Ghi chú
1 Đang phục vụ Cơ sở có hỗ trợ dịch vụ này
2 Ngưng phục vụ Cơ sở không còn hỗ trợ dịch vụ này
2.3.3.2 Mô tả các trạng thái
STT Trạng thái Ý nghĩa Xử lý liên quan Ghi chú
1 Chưa xử lý Lịch hẹn chưa được xử lý
2 Hoàn thành Khách hàng check in và hoàn tất sử dụng dịch vụ
3 Đã hủy Khách hàng hủy lịch hẹn, hoặc lịch hẹn hết hạn.
Thiết kế
Thiết kế dữ liệu
3.1.2 Đặc tả từng phần trong sơ đồ logic
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 _id String Mã người dùng
5 Name String Tên người dùng
3 Email String Email đăng ký
4 Password String Mật khẩu đăng nhập
5 Role String Phân quyền người dùng
6 GoogleID String ID google/dùng khi đăng nhập với google
7 resetPassToken String Token dùng khi reset mật khẩu
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 _id String Mã dịch vụ
2 Name String Tên dịch vụ
3 timeConsume Int Thời gian xử lý dịch vụ
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 _id String Mã bằng cấp
2 Name String Tên bằng cấp
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 _id String Mã nha sỹ
2 Name String Tên nha sỹ
3 IDNumber String CMND nha sỹ
4 Phone String Số điện thoại nha sỹ Đúng format
5 Avatar String URL đến ảnh nha sỹ
6 Description String Giới thiệu về nha sỹ
7 Degree String Bằng cấp của nha sỹ
8 yearExperience Int Số năm kinh nghiệm
9 Rating Double Đánh giá trên thang điểm 5
10 Patient Int Số bệnh nhân đã phục vụ
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 _id String Mã chuyên môn
2 Dentist String Khóa ngoại đến bảng
3 Service String Dịch vụ mà nha sỹ có chuyên môn
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 _id String Mã ca làm việc
2 From String Thời gian bắt đầu ca làm Định dạng 24h
3 To String Thời gian kết thúc ca làm Định dạng 24h
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 _id String Mã lịch làm việc
2 Day Int Ngày làm việc
3 Month Int Tháng làm việc
4 Year Int Năm làm việc
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 _id String Mã chi tiết lịch làm việc
2 Shift String Ca làm việc
3 Schedule String Lịch làm việc
4 timeRemain Int Thời gian còn lại của ca làm việc Tính theo phút
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 _id String Mã lịch hẹn
2 Customer String Mã khách hẹn lịch
3 Dentist String Nha sỹ phụ trách
4 Shift String Ca làm việc
5 Status String Trạng thái lịch hen
Thiết kế kiến trúc
NodeJS là một nền tảng được xây dựng trên “V8 Javascript engine” của Google Nền tảng này được phát triển bởi Ryan Lienhart Dahl vào năm 2009
Phần lõi bên dưới của Nodejs được viết hầu hết bằng C++ nên cho tốc độ xử lý và hiệu năng khá cao
Nodejs chạy đa nền tảng phía Server, sử dụng kiến trúc hướng sự kiện, cơ chế non- blocking I/O làm cho nó nhẹ và hiệu quả
Có thể chạy ứng dụng Nodejs ở bất kỳ đâu trên Mac –Windows –Linux, hơn nữa cộng đồng Nodejs rất lớn, các package đều hoàn toàn miễn phí
Nodejs tạo ra được các ứng dụng có tốc độ xử lý nhanh, thời gian thực
Node.js là lựa chọn lý tưởng cho các sản phẩm có lượng truy cập lớn, yêu cầu khả năng mở rộng nhanh chóng và đổi mới công nghệ Nó cũng rất phù hợp để phát triển các dự án khởi nghiệp trong thời gian ngắn nhất có thể.
React là thư viện UI được phát triển bởi Facebook, giúp xây dựng các thành phần giao diện người dùng (UI components) tương tác cao, có trạng thái và có khả năng tái sử dụng.
React là một thư viện hấp dẫn vì nó không chỉ hoạt động trên phía client mà còn có khả năng render trên server, cho phép kết nối linh hoạt Thư viện này so sánh sự thay đổi giữa các giá trị của lần render hiện tại với lần render trước, từ đó cập nhật tối thiểu các thay đổi trên DOM.
Redux is a predictable state management tool for JavaScript applications, enabling consistent application behavior across various environments such as client, server, and native It simplifies testing and is inspired by the principles of the Elm language and Facebook's Flux architecture.
MongoDB là một hệ quản trị cơ sở dữ liệu mã nguồn mở thuộc dạng NoSql và được hàng triệu người sử dụng
MongoDB là một cơ sở dữ liệu tài liệu, lưu trữ dữ liệu dưới dạng document kiểu JSON, giúp tăng tốc độ truy vấn so với các cơ sở dữ liệu quan hệ truyền thống.
So với RDBMS thì với MongoDB collection ứng với table, còn document sẽ ứng với row, MongoDB sẽ dùng các document thay cho row trong RDBMS
Các collection trong MongoDB được cấu trúc rất linh hoạt, cho phép các dữ liệu lưu trữ không cần tuân theo một cấu trúc nhất định
3.2.2 Mô hình kiến trúc hệ thống
3.2.3 Mô tả các thành phần trong hệ thống
Component là thành phần chính cấu tạo nên giao diện của mỗi trang, bao gồm nhiều phần ghép lại với nhau Các component được phát triển dựa trên sự kết hợp giữa JavaScript và HTML.
Actions là các javascript object mỗi action sẽ có một thuộc tính gọi là type, thuộc tính này cho biết cần phải thực hiện những store queries nào
Dispach nhận vào một action và chuyển action này cho hàm callback, hàm này sẽ thực hiện các thay đổi trên store dựa vào type của action
3.2.3.4 Store Để lưu trữ các state một cách thuận tiện và nhất quán redux sử dụng store Đây là nơi lưu toàn bộ state của ứng dụng Khi data trong state thay đổi các data tương ứng tại component cũng thay đổi theo
Middleware là lớp trung gian giữa yêu cầu (request) và phản hồi (response), nhận thông tin từ yêu cầu và thực hiện các đoạn mã tương ứng như xác thực tài khoản, mã hóa token, và gửi nhận email.
Là lớp tương tác với model để thực hiện xử lý logic, đồng thởi gửi trả response lại cho client
3.2.3.7 Model Đại diện cho các đối tượng dữ liệu của ứng dụng, model tương tác với cơ sở dữ liệu để truy vấn các dữ liệu cần thiết.
Thiết kế giao diện
STT Tên màn hình Ý nghĩa / Ghi chú
7 Trang danh sách nha sỹ
8 Trang danh sách dịch vụ
9 Trang thông tin chi tiết dịch vụ
10 Trang danh sách nha sĩ
11 Trang danh sách lịch hẹn đã đặt
12 Trang quản lý nha sỹ
13 Trang quản lý lịch trực
14 Trang quản lý dịch vụ
3.3.2 Mô tả chi tiết từng màn hình
3.3.2.1.2 Mô tả chi tiết + Danh sách đối tượng
STT Tên Kiểu Chức năng
1 homePage Link Chuyển đến trang chủ
2 servicesPage Link Chuyển đến trang danh sách dịch vụ
3 appoinmentPage Link Chuyển đến trang đặt lịch khám
4 ourDoctorsPage Link Chuyển đến trang danh sách nha sĩ
7 prevDocBtn Button Xem thông tin giới thiệu nha sỹ
8 nextDocBtn Button Xem thông tin giới thiệu nha sỹ
10 servicePage Link Chuyển đến trang danh sách dịch vụ
11 appointmentPage Link Chuyển đến trang đặt lịch khám
12 ourDoctorPage Link Chuyển đến trang danh sách nha sỹ
STT Biến cố Xử lý
1 Click vào homePage Hiển thị giao diện Trang chủ
2 Click vào servicesPage Điều hướng sang trang giao diện danh sách dịch vụ
3 Click vào appointmentPage Điều hướng sang trang giao diện đặt lịch khám
4 Click vào ourDoctorsPage Điều hướng sang trang giao diện danh sách nha sĩ
5 Click vào button loginBtn Hiển thị form đăng nhập
STT Tên Kiểu Chức năng
1 emailInput Input/Text Nhập thông tin email
2 passInput Input/Password Nhập thông tin password
5 forgotpassword Link Quên mật khẩu
STT Biến cố Xử lý
1 Click vào button confirmLogin Kiểm tra thông tin nhập vào và chuyển thông tin tới server để xác nhận đăng nhập
2 Click vào register Điều hướng chuyển sang form đăng ký
3 Click vào forgotpassword Điều hướng chuyển sang form quên mật khẩu
4 Click vào button closeForm Đóng form
3.3.2.3.2 Mô tả chi tiết + Danh sách đối tượng
STT Tên Kiểu Chức năng
2 nameInput Input/Text Nhập tên người dùng
3 emailInput Input/Text Nhập thông tin email
4 passInput Input/Password Nhập thông tin password
6 login Link Chuyển đến form đăng nhập
STT Biến cố Xử lý
1 Click vào button signup Kiểm tra thông tin nhập vào và chuyển thông tin tới server để xác nhận đăng ký
2 Click vào login Điều hướng chuyển sang giao diện đăng nhập
3 Click vào button closeForm Đóng form
3.3.2.4.2 Mô tả chi tiết + Danh sách đối tượng
STT Tên Kiểu Chức năng
2 emailInput Input/Text Nhập thông tin email
3 sendBtn Button Quên mật khẩu
STT Biến cố Xử lý
1 Click vào button sendBtn Chuyển thông tin email tới server kiểm tra lấy mã xác nhận
2 Click vào button closeForm Đóng form
3.3.2.5.2 Mô tả chi tiết + Danh sách đối tượng
STT Tên Kiểu Chức năng
2 tokenInput Input/Text Nhập mã xác nhận
3 newPassInput Input/Password Nhập mật khẩu mới
4 resetPassBtn Button Lấy lại mật khẩu
STT Biến cố Xử lý
1 Click vào button resetPassBtn Chuyển thông tin tới server kiểm tra đổi mật khẩu mới
2 Click vào button closeForm Đóng form
3.3.2.6.2 Mô tả chi tiết + Danh sách đối tượng
STT Tên Kiểu Chức năng
1 serviceInput Input/Select Chọn loại dịch vụ
2 doctorInput Input/Select Chọn nha sĩ
6 selectHourBtn Button Chọn khung giờ
STT Biến cố Xử lý
1 Click vào input serviceInput Hiển thị danh sách dịch vụ
2 Click vào input doctorInput Hiển thị danh sách nha sĩ ứng với loại dịch vụ đã chọn
3 Click vào nút prevMonthBtn Hiển thị tháng trước đó
4 Click vào nút nextMonthbtn Hiển thị tháng tiếp theo
5 Click vào nút selectDayBtn Hiển thị tất cả khung giờ có lịch làm việc của nha sĩ
6 Click vào nút selectHourBtn Chọn khung giờ
7 Click vào nút bookNowBtn Kiểm tra và gửi các thông tin cuộc hẹn tới server
STT Tên Kiểu Chức năng
1 dentistInfoBtn Button Chuyển sang trang thông tin nha sỹ
STT Biến cố Xử lý
1 Click vào dentistInfoBtn Hiển thị thông tin nha sỹ
STT Tên Kiểu Chức năng
1 PatientsLabel Label Hiển thị số lượng bệnh nhân
2 dentistsLabel Label Hiển thị số lượng nha sỹ
3 servicesLabel Label Hiển thị số lượng dịch vụ
4 ratingLabel Label Hiển thị điểm đánh giá
5 openManageMenuBtn Button Chọn loại hình quản lí
6 homePageBtn Button Di chuyển đến trang chủ
7 shiftManageBtn Button Chọn loại quản lí ca trực
8 dentistManage Btn Button Chọn loại quản lí nha sỹ
STT Biến cố Xử lý
1 Click vào nút openManageMenuBtn Hiển thị menu quản lý
2 Click vào nút homePageBtn Di chuyển đến trang chủ
3 Click vào nút shiftManageBtn Hiển thị màn hình quản lí ca trực
4 Click vào nút dentistManageBtn Hiển thị màn hình quản lí nha sỹ
3.3.2.9 Màn hình quản lí nha sỹ
3.3.2.9.2 Mô tả chi tiết + Danh sách đối tượng
STT Tên Kiểu Chức năng
1 dentistNameInput Input/Text Nhập tên
2 dentistAvaInput Input/File Thêm ảnh đại diện
3 IDNumberInput Input/Text Nhập mã số
4 yearExperienceInput Input/Text Nhập năm kinh nghiệm
5 degreeInput Input/Checkbox Chọn loại bằng cấp
6 degreeInput Input/Checkbox Chọn loại bằng cấp
7 saveBtn Button Thêm nha sỹ
8 editDentistBtn Button Chỉnh sửa thông tin nha sỹ ̣9 dentistEditNameInput Input/Text Chỉnh sửa tên
10 dentistEditAvaInput Input/File Chỉnh sửa ảnh đại diện
11 IDNumberEditInput Input/Text Chỉnh sửa mã số
12 yearExperienceEditInput Input/Text Chỉnh sửa năm kinh nghiệm
13 degreeEditInput Input/Checkbox Chỉnh sửa loại bằng cấp
14 phoneEditInput Input/Text Chỉnh sửa số điện thoại
15 expertEditInput Input/Checkbox Chỉnh sửa chuyên môn
16 saveEditBtn Button Lưu thông tin chỉnh sửa
17 closeEditBtn Button Đóng form chỉnh sửa
STT Biến cố Xử lý
1 Click nút saveBtn Kiểm tra và gửi thông tin nha sỹ mới tới server
2 Click nút editDentistBtn Hiển thị màn hình chỉnh sửa thông tin nha sỹ
3 Click nút saveEditBtn Kiểm tra và gửi thông tin chỉnh sửa tới server
4 Click nút closeEditForm Đóng form chỉnh sửa thông tin
3.3.2.10 Màn hình quản lí lịch làm việc
3.3.2.10.2 Mô tả chi tiết + Danh sách đối tượng
STT Tên Kiểu Chức năng
1 dentistInput Input/CheckBox Chọn bác sĩ
2 dateInput Input/Date Chọn ngày
3 shiftsInput Input/CheckBox Chọn ca trực
4 saveBtn Button Thêm lịch làm việc
5 editDentistBtn Button Chỉnh sửa lịch làm việc
6 dentistNameLabel Label Hiển thị tên nha sĩ
7 dateLabel Label Hiển thị ngày
8 shiftsEditInput Input/CheckBox Chỉnh sửa ca trực
9 saveEditBtn Button Lưu thông tin chỉnh sửa
10 closeEditBtn Button Đóng form chỉnh sửa
STT Biến cố Xử lý
1 Click nút saveBtn Kiếm tra và gửi thông tin lịch làm việc mới tới server
2 Click nút editShiftBtn Hiển thị form chỉnh sửa thông tin
3 Click dentistInput Chọn nha sĩ
5 Click shiftsInput Chọn ca trực
6 Click shiftsEditInput Chỉnh sửa ca trực
7 Click nút saveEditBtn Kiếm tra và gửi thông tin chỉnh sửa tới server
8 Click nút closeEditBtn Đóng form chỉnh sửa
3.3.2.11 Màn hình quản lí dịch vụ
3.3.2.11.2 Mô tả chi tiết + Danh sách đối tượng
STT Tên Kiểu Chức năng
1 serviceNameInput Input/Text Nhập tên dịch vụ
2 imageInput Input/Text Nhập đường dẫn ảnh
3 minPriceInput Input/Text Nhập chi phí thấp nhất
4 maxPriceInput Input/Text Nhập chi phí cao nhất
5 timeInput Input/Text Nhập thời gian
6 saveBtn Button Thêm dịch vụ
7 editServiceBtn Button Chỉnh sửa thông tin dịch vụ
8 serviceEditNameInput Input/Text Chỉnh sửa tên dịch vụ ̣9 imageInput Input/Text Chỉnh sửa đường dẫn ảnh
10 minPriceInput Input/Text Chỉnh sửa chi phí thấp nhất
11 maxPriceInput Input/Text Chỉnh sửa chi phí cao nhất
12 timeInput Input/Text Chỉnh sửa thời gian
13 statusInput Input/Checkbox Chỉnh sửa tình trạng phục vụ
14 ratingInput Input/Text Chỉnh sửa điểm đánh giá
15 saveEditBtn Button Chỉnh sửa dịch vụ
STT Biến cố Xử lý
1 Click nút saveBtn Kiểm tra và gửi thông tin dịch vụ mới tới server
2 Click nút editServiceBtn Hiển thị form chỉnh sửa thông tin dịch vụ
3 Click nút saveEditBtn Kiểm tra và gửi thông tin chỉnh sửa tới server
4 Click nút closeFormBtn Đóng form chỉnh sửa
3.3.2.12 Màn hình danh sách lịch hẹn khám
3.3.2.12.2 Mô tả chi tiết + Danh sách đối tượng
STT Tên Kiểu Chức năng
1 cancelAppointmentBtn Button Hủy cuộc hẹn
STT Biến cố Xử lý
1 Click nút cancelAppointmentBtn Hủy cuộc hẹn
3.3.2.13 Trang danh sách dịch vụ
3.3.2.13.2 Mô tả chi tiết + Danh sách đối tượng
STT Tên Kiểu Chức năng
1 moreInfoBtn Button Xem thông tin chi tiết dịch vụ
STT Biến cố Xử lý
1 Click nút moreInfoBtn Di chuyển đến trang thông tin chi tiết của dịch vụ tương ứng
3.3.2.14 Trang thông tin chi tiết dịch vụ