Báo Cáo Nhóm 15 Phần Mềm Đặt Lịch Khám Bệnh

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 44

BÁO CÁO NHÓM 15

PHẦN MỀM ĐẶT LỊCH KHÁM BỆNH

I. Môi trường và tính cấp thiết của hệ thống


Anna là một phòng khám tư nhân đã hoạt động được trong 1 năm với đội
ngũ hơn 50 bác sĩ chuyên khoa và hơn 200 lượt khám bệnh mỗi ngày. Sau khi
thống kê dữ liệu hoạt động trong một năm vừa qua thì Anna nhận ra rằng lượng
khách hàng tới bệnh viện đăng ký khám nhưng không thực hiện khám đang rất
lớn.Từ đó Anna đã làm một bài khảo sát tới khách hàng và nhân viên trong bệnh
viện để hỏi về những vướng mắc của nhân viên và khách hàng.
Sau một tháng khảo sát, các phản hồi đều chỉ ra một số vấn đề chung là
khách hàng thường xuyên phải di chuyển nhiều lần vì không thể gặp được bác sĩ
chuyên khoa hoặc phải chờ đợi rất lâu để có thể gặp được bác sĩ.
Chính vì vậy Anna đang muốn triển khai một ứng dụng có thể giúp người
dùng dễ dàng đặt lịch thăm khám.

Đặc tả Use Case

Biểu đồ Use Case tổng quan


1. Use Case Tra cứu thông tin
Bảng đặc tả Use Case:
Tên Use Case: ID: UC1.1 Mức quan trọng: Trung bình
Tra cứu thông tin
Tác nhân chính Bệnh nhân
Các bên liên Cung cấp cho bệnh nhân khả năng tra cứu thông tin về bác sĩ
quan và mối và các khoảng thời gian rảnh của họ để đặt lịch hẹn phù hợp
quan tâm với thời gian có sẵn của bác sĩ.
Mô tả ngắn gọn
1. Bệnh nhân chọn chức năng “Tra cứu thông tin” từ giao
diện người dùng
2. Hệ thống hiển thị giao diện tra cứu thông tin về các
bác sĩ có thể hẹn khám
3. Bệnh nhân nhập thông tin cần tra cứu, bao gồm tên
hoặc chuyên môn của bác sĩ

4. Bệnh nhân xác nhận yêu cầu tra cứu


5. Hệ thống tiến hành tìm kiếm và hiển thị kết quả tra
cứu dựa trên thông tin đã nhập
6. Bệnh nhân xem kết quả tra cứu bao gồm danh sách bác
sĩ và lịch rảnh
7. Bệnh nhân tiếp tục use case “Đặt lịch hẹn”
Luồng sự kiện 6a. Hệ thống thông báo không tìm thấy thông tin
thay thế
Tên Use Case: ID: UC1.2 Mức quan trọng: Trung bình
Xem lịch sử đặt
khám
Tác nhân chính Bệnh nhân
Các bên liên Cung cấp cho bệnh nhân khả năng xem lại các cuộc hẹn đã
quan và mối được đặt với bác sĩ và thời gian của lịch hẹn ấy
quan tâm
Mô tả ngắn gọn 1. Bệnh nhân chọn chức năng “Xem lịch sử đặt lịch” từ
giao diện người dùng
2. Hệ thống hiển thị danh sách các cuộc hẹn đã được đặt
của bệnh nhân
3. Bệnh nhân xem thông tin chi tiết của lịch hẹn bằng
cách nhấp vào mỗi mục trong danh sách
Luồng sự kiện 2a. Hệ thống thông báo “Không tìm thấy lịch hẹn nào”
thay thế

Biểu đồ hoạt động:


1.1. Tra cứu thông tin
1.2. Xem lịch sử đặt khám
2. Đặt lịch hẹn
Bảng đặc tả Use Case:

Tên Use ID: UC2.1 Mức quan trọng: Cao


case: Đặt
lịch hẹn
Tác nhân Bệnh nhân, Bác sĩ
chính
Các bên Cung cấp cho bệnh nhân khả năng đặt lịch khám bệnh, lựa chọn
liên quan bác sĩ trực tuyến trên hệ thống dưới sự tư vấn của đội ngũ bác sĩ
và mối
quan tâm
Mô tả 1. Bệnh nhân Nhập thông tin bệnh, lựa chọn giờ mong
ngắn gọn muốn khám
2. Hệ thống Đưa thông tin bệnh nhân yêu cầu về phía bác
sĩ quản lý
3. Bác sĩ Dựa trên thông tin bệnh nhân sẽ lựa chọn
chuyên khoa khám phù hợp của bệnh nhân
4. Bệnh nhân Lựa chọn bác sĩ mong muốn đặt khám
5. Hệ thống Kiểm tra thông tin, đối chiếu lịch làm việc
của các bác sĩ để lên lịch cho bệnh nhân

6. Bác sĩ Xác nhận lịch khám bệnh của bệnh nhân

7. Hệ thống Thông báo lên lịch thành công

2a. Hệ thống Bệnh nhân lựa chọn luôn chuyên khoa


Luồng sự
khám phù hợp, bác sĩ xác nhận yêu cầu của bệnh nhân
kiện thay
thế 5a. Hệ thống Thông báo lên lịch không thành công, yêu
cầu bệnh nhân lựa chọn khung giờ khác

Tên Use ID: UC2.2 Mức quan trọng: Thấp


case: Box
chat
Tác nhân Bệnh nhân, Bác sĩ
chính
Các bên Cho phép bác sĩ và bệnh nhân có thể trao đổi thông tin với nhau
liên quan sau khi xác nhận xong lịch khám thành công
và mối
quan tâm
Mô tả 1. Bệnh nhân khởi tạo cuộc trò chuyện sau khi đặt lịch
ngắn gọn thành công
2. Hệ thống Nhận thông tin, kết nối với bác sĩ bệnh nhân
yêu cầu
3. Bác sĩ + Bệnh nhân Trao đổi thông tin với nhau qua hệ
thống

Luồng sự 2a. Hệ thống Thông báo không tìm thấy thông tin lịch khám của
kiện thay người dùng
thế

Biểu đồ hoạt động:


2.1. Đặt lịch hẹn
3. Cập nhật lịch khám
Bảng đặc tả Use Case:

Tên Use case: Cập nhật lịch ID: UC3.1 Mức quan trọng: Trung bình
khám

Tác nhân chính Nhân viên quản lý

Các bên liên quan và mối Cung cấp cho nhân viên quản lý khả năng cập
quan tâm nhật lịch hẹn khi bác sĩ thay đổi lịch làm việc
hoặc khách hàng thay đổi lịch.

Mô tả ngắn gọn:

1.Nhân viên quản lý thực hiện tra cứu

2. Hệ thống hiện thị kết quả

3.Nhân viên quản lý nhập thông tin

4.Hệ thống kiểm tra thông tin và trả về kết quả

Luồng thay thế:

1a Hệ thống hiện thị không tìm thấy kết quả

4a. Hệ thống hiện thị thông tin nhập bị lỗi


Biểu đồ hoạt động:
4. Xác nhận tham gia khám
Bảng đặc tả Use Case:

Tên Use case: ID: UC4.1 Mức quan trọng: Cao


Xác nhận tham
gia khám
Tác nhân chính Nhân viên quản lý
Các bên liên Cung cấp cho nhân viên quản lý khả năng xác nhận bệnh
quan và mối nhân đã tham gia khám như lịch hẹn.
quan tâm
Mô tả ngắn gọn 1. Nhân viên quản lý chọn xem danh sách các cuộc hẹn
2. Hệ thống hiển thị danh sách các cuộc hẹn
3. Nhân viên quản lý chọn cuộc hẹn muốn xác nhận tham gia
khám
4. Hệ thống hiển thị thông tin chi tiết
5. Nhân viên quản lý chọn xác nhận bệnh nhân đã tham gia
khám
6. Hệ thống thông báo xác nhận thành công

Luồng sự kiện 6a. Hệ thống thông báo xác nhận thất bại
thay thế

Biểu đồ hoạt động:


4.1. Xác nhận tham gia khám
5. Xem thống kê dữ liệu

Tên Use case: Xem ID: UC5.1 Mức quan trọng: Trung bình
thống kê dữ liệu
Tác nhân chính Người quản trị
Các bên liên quan Cung cấp cho người quản trị khả năng xem thống kê
và mối quan tâm theo các mục chỉ định.
Mô tả ngắn gọn 1. Người quản trị chọn xem thống kê theo các mục chỉ
định
2. Hệ thống hiển thị thống kê theo các mục chỉ định

Luồng sự kiện thay 2a. Hệ thống thông báo không có dữ liệu


thế
Biểu đồ hoạt động:

5.1. Xem thống kê dữ liệu


Quản lý tài khoản
Bảng đặc tả Use case:
Tên Use Case: ID: UC6.1 Mức quan trọng: Trung bình
Đăng nhập
Tác nhân chính Bệnh nhân, Bác sĩ
Các bên liên Giúp bệnh nhân và bác sĩ đăng nhập vào hệ thống để sử dụng
quan và mối các tính năng của hệ thống
quan tâm
Mô tả ngắn gọn 1. Bệnh nhân, Bác sĩ chọn chức năng “Đăng nhập” trên
giao diện người dùng

2. Hệ thống hiển thị giao diện “Đăng nhập”

3. Bệnh nhân, Bác sĩ nhập username, password


4. Hệ thống kiểm tra username, password người dùng
vừa nhập
5. Hệ thống báo đăng nhập thành công, chuyển về giao
diện trang chủ
Luồng sự kiện 5a. Hệ thống thông báo thông tin đăng nhập sai, yêu cầu nhập
thay thế lại username và password
Tên Use Case: ID: UC6.2 Mức quan trọng: Trung bình
Quên mật khẩu
Tác nhân chính Bệnh nhân
Các bên liên Giúp bệnh nhân lấy lại mật khẩu thông qua email hoặc số
quan và mối điện thoại đã đăng ký trên hệ thống trong trường hợp bệnh
quan tâm nhân quên mật khẩu
Mô tả ngắn gọn 1. Bệnh nhân chọn chức năng “Quên mật khẩu” ở giao
diện “Đăng nhập”
2. Hệ thống hiển thị giao diện “Quên mật khẩu”
3. Bệnh nhân nhập username tài khoản

4. Hệ thống kiểm tra username có tồn tại hay không


5. Hệ thống gửi OTP về email hoặc số điện thoại người
dùng
6. Bệnh nhân nhập OTP được cung cấp

7. Hệ thống kiểm tra OTP người dùng nhập

8. Hệ thống yêu cầu người dùng nhập mật khẩu mới


9. Bệnh nhân nhập mật khẩu mới
10. Hệ thống cập nhật mật khẩu mới, thông báo người
dùng đã đổi mật khẩu thành công, chuyển về giao diện
trang chủ
Luồng sự kiện 5a. Hệ thống thông báo không tồn tại username, gợi ý
thay thế người dùng đăng ký tài khoản mới

8a. Hệ thống thông báo người dùng nhập sai OTP,


chuyển về giao diện trang chủ
Tên Use Case: ID: UC6.3 Mức quan trọng: Cao
Đăng ký
Tác nhân chính Bệnh nhân
Các bên liên Bệnh nhân cần tạo mới tài khoản để sử đăng nhập và sử dụng
quan và mối các chức năng của hệ thống
quan tâm
Mô tả ngắn gọn 1. Bệnh nhân chọn chức năng “Đăng ký” trên giao diện
người dùng
2. Hệ thống hiển thị giao diện “Đăng ký”
3. Bệnh nhân nhập username, password, email hoặc số
điện thoại
4. Hệ thống gửi mã OTP về email hoặc số điện thoại
người dùng cung cấp

5. Bệnh nhân nhập OTP hệ thống gửi về


6. Hệ thống kiểm tra OTP người dùng nhập
7. Hệ thống yêu cầu người dùng nhập thông tin cá nhân
8. Người dùng nhập thông tin cá nhân
9. Hệ thống thêm tài khoản mới, thông báo người dùng
đã đăng ký tài khoản thành công, chuyển về giao diện
“Đăng nhập”
Luồng sự kiện 7a. Hệ thống thông báo người dùng nhập sai mã OTP, chuyển
thay thế về giao diện trang chủ
Tên Use Case: ID: UC6.4 Mức quan trọng: Trung bình
Sửa thông tin tài
khoản
Tác nhân chính Bệnh nhân
Các bên liên Cung cấp cho bệnh nhân khả năng thay đổi thông tin tài
quan và mối khoản như mật khẩu, thông tin cá nhân…
quan tâm
Mô tả ngắn gọn 1. Bệnh nhân chọn chức năng “Sửa thông tin tài khoản”
ở trang chủ
2. Hệ thống hiển thị giao diện “Sửa thông tin tài khoản”
3. Bệnh nhân nhập mới thông tin tài khoản hoặc sửa lại
từ thông tin cũ
4. Hệ thống nhập mới thông tin tài khoản hoặc sửa lại từ
thông tin cũ

Tên Use Case: ID: UC6.5 Mức quan trọng: Trung bình
Báo cáo tài
khoản
Tác nhân chính Bác sĩ
Các bên liên Cung cấp cho bác sĩ khả năng báo cáo các trường hợp bệnh
quan và mối nhân sai lịch hẹn hoặc có hành vi không đúng mực trong quá
quan tâm trình khám, chữa bệnh. Hệ thống dựa vào thông tin đó để
xem xét giảm mức độ ưu tiên đặt lịch hẹn của tài khoản bệnh
nhân.
Mô tả ngắn gọn 1. Bác sĩ chọn chức năng “Báo cáo tài khoản” ở trang
chủ
2. Hệ thống hiển thị danh sách các tài khoản có đặt lịch
khám với bác sĩ đó

3. Bác sĩ chọn tài khoản cần báo cáo

4. Hệ thống hiển thị các trường thông tin báo cáo


5. Bác sĩ nhập thông tin báo cáo
6. Hệ thống cập nhật thông tin báo cáo, thông báo bác sĩ
đã báo cáo thành công và gửi thông tin báo cáo đến cho
bệnh nhân
Tên Use Case: ID: UC6.6 Mức quan trọng: Thấp
Tạo tài khoản
bác sĩ
Tác nhân chính Nhân viên quản lý hệ thống
Các bên liên Cung cấp cho nhân viên quản lý hệ thống khả năng tạo tài
quan và mối khoản mới cho các bác sĩ mới chuyển đến công tác tại cơ sở
quan tâm y tế.
Mô tả ngắn gọn
1. Nhân viên chọn chức năng “Tạo tài khoản bác sĩ” ở
trang chủ

2. Hệ thống hiển thị giao diện “Tạo tài khoản bác sĩ”
3. Nhân viên hiển thị giao diện “Tạo tài khoản bác sĩ”
4. Hệ thống thêm tài khoản mới, thông báo tạo tài khoản
bác sĩ thành công
Biểu đồ hoạt động:
5.1 Đăng nhập
5.2. Quên mật khẩu
5.3. Đăng ký
5.4 Sửa thông tin tài khoản
5.5 Báo cáo tài khoản
5.6. Tạo tài khoản bác sĩ
II. Ước lượng chi phí dự án bằng phương pháp UCP(Use Case Point)
1. Tính toán Unadjusted Use Case Point (UUCP)
Tính toán Unadjusted Use Case Weight(UUCW)
Mức độ quan trọng Trọng số Số lượng Use Case UUCW
Thấp 5 2 10
Trung bình 10 10 100
Cao 15 2 30
Tổng số 140
Tính toán Unadjusted Actor Weight(UAW)
Loại tác nhân Tiêu chí đánh giá Trọng số
Đơn giản Gọi đến hệ thống khác 1
thông qua API
Trung bình Gọi đến hệ thống khác 2
thông qua các giao thức
Người dùng tương tác
với hệ thống thông qua
giao diện dòng lệnh
Phức tạp Người dùng tương tác 3
với hệ thống thông qua
giao diện đồ họa

Loại tác nhân Trọng số Số lượng tác nhân UAW


Đơn giản 1 0 0
Trung bình 2 0 0
Phức tạp 3 16 48
Tổng số 48
Kết quả tính toán UUCP
UUCP = UUCW + UAW = 140 + 48 = 188
2. Tính toán các trọng số điều chỉnh theo độ phức tạp kỹ thuật và môi trường
Tính toán trọng số điều chỉnh theo độ phức tạp về mặt kỹ thuật
Technical Complexity Factor(TCF). Trọng số được đánh giá theo thang từ
0(không cần thiết) đến 5(vô cùng quan trọng) đối với hệ thống.
STT Tên yếu tố Trọng số
1 Hệ thống phân tán 0
2 Hiệu năng cao 2
3 Sử dụng hiệu quả đối với người dùng 4
4 Xử lý tính toán phức tạp 1
5 Tái sử dụng mã nguồn 3
6 Dễ cài đặt 4
7 Dễ sử dụng 4
8 Tính khả chuyển 1
9 Khả năng thay thế 1
10 Sử dụng đồng thời 3
11 Tính bảo mật 4
12 Khả năng truy cập cho bên thứ ba 1
13 Yêu cầu đào tạo 2
Tổng số 30
Theo công thức Karner, trọng số điều chỉnh theo độ phức tạp về mặt kỹ thuật –
TCF được tính như sau:
TCF = 0.6 + (0.01 x 30) = 0.9
Tính toán trọng số điều chỉnh theo sự ảnh hưởng của môi trường phá
triển phần mềm – Environmental Factor
Ảnh
STT Tên yếu tố Trọng số Đánh giá
hưởng
1 Sự quen thuộc của đội nhóm với dự án 1.5 3 4.5
2 Kinh nghiệm triển khai dự án 0.5 3 1.5
3 Kinh nghiệm hướng đối tượng 1 5 5
4 Khả năng của trưởng nhóm 0.5 4 2
5 Động lực thực hiện dự án 1 3 3
6 Tính ổn định của yêu cầu phần mềm 2 5 10
7 Nhân lực bán thời gian -1 0 0
8 Công nghệ sử dụng phức tạp -1 1 -1
Tổng số 25

EF = 1.4 + (-0.03 x 25) = 0.65


3. Kết quả tính toán Use Case Point
Yếu tố Tên yếu tố Giá trị
UUCP Unadjusted Use Case Point 188
TCF Technical Complexity Factor 0.9
EF Enviromental Factor 0.65
UCP Use Case Point 110

UCP = UUCP x TCF x EF = 110


4. Ước lượng thời gian và chi phí thực hiện dự án
Mỗi Use Case Point tương ứng từ 20 đến 28 giờ làm việc:
Dự án hoàn thành trong vòng từ 2200 đến 3080 giờ làm việc
Đội nhóm thực hiện dự án bao gồm 5 thành viên. Mỗi thành viên dành 30 giờ mỗi
tuần cho dự án:
Mỗi tuần làm việc tương ứng 150 giờ
Vậy dự án sẽ hoàn thành trong vòng từ 15 đến 21 tuần làm việc.
Yếu tố Mô tả Kết quả
Thời gian lao động P: giờ/UCP 20 đến 28 giờ

Giá trị nỗ lực thực tế E = 1,66 x UCP 183

Mức lương lao động bình quân H: người/giờ 93,75 (nghìn VND)
Chi phí phát triển phần G = 1,4 x E x H x P 480,375 – 672,525
mềm (triệu VND)

III. Mô hình hóa cấu trúc


1.Xác định đối tượng
1.1 Tra cứu thông tin
1.2 Đặt lịch

1.3 Quản lý tài khoản


1.4 Cập nhật lịch khám
1.5 Xác nhận khách đến khám
1.6 xem thống kê
2. Mô hình lĩnh vực

3. Đặc tả lớp lĩnh vực

ID: 1 Tên: Nhân viên quản lý

Mô tả: Lớp chính biểu diễn các thông tin về nhân viên quản lý
Ca sử dụng: cập nhật đơn khám, tạo tài khoản bác sĩ ,xem thống kê, tạo đơn , xác nhận
khách hàng đến khám

Các thuộc tính:


id - Mã nhân viên
name – tên nhân viên
phoneNo- số điện thoại
position- Chức vụ

Kiểu Tên Ghi chú

id Mã nhân viên

name Tên nhân viên

position Chức vụ

Các phương thức:

ID: 2 Tên: Bác sĩ

Mô tả: Lớp chính biểu diễn các thông tin về bác sĩ

Ca sử dụng: báo cáo tài khoản, tra cứu

Các thuộc tính:


id - Mã bác sĩ
name – tên bác sĩ
phoneNo- số điện thoại
position- Chức vụ
specialization - Chuyên khoa
description- Mô tả kinh nghiệm làm việc

Kiểu Tên Ghi chú

id Mã bác sĩ

name Tên bác sĩ

phoneNo Số điện thoại

position Chức vụ
specialization Chuyên khoa

description Mô tả kinh nghiệm làm việc

Các phương thức:

ID: 3 Tên: khách hàng

Mô tả: Lớp chính biểu diễn các thông tin về khách hàng

Ca sử dụng: tạo đơn khám, tra cứu

Các thuộc tính:


id - Mã khách hàng
name – tên khách hàng
phoneNo- số điện thoại
age- tuổi
sex – giới tính

Kiểu Tên Ghi chú

id Mã khách hàng

name Tên khách hàng

phoneNo Số điện thoại

age Tuổi của khách hàng

sex Giới tính

Các phương thức:

ID: 4 Tên: Đơn khám

Mô tả: Lớp chính biểu diễn các thông tin về đơn khám của khách hàng

Ca sử dụng: thống kê, tạo đơn khám , cập nhật đơn khám
Các thuộc tính:
id - Mã đơn
time – thời gian
address- địa điểm
description- Mô tả bệnh

Kiểu Tên Ghi chú

id Mã đơn

time Thời gian

address Địa điểm

description Mô tả bệnh

Các phương thức:

ID: 5 Tên: Lịch làm việc

Mô tả: Lớp chính biểu diễn các thông tin về lịch làm việc của bác sĩ

Ca sử dụng: tạo đơn khám, cập nhật đơn khám, tra cứu

Các thuộc tính:


id - Mã thứ
dayOfWeek– thứ trong tuần
startTime- thời điểm bắt đầu
endTime- thời điểm kết thúc

Kiểu Tên Ghi chú

integer id Mã thứ

string DayOfWeek Thứ trong tuần

string startTime Thời điểm bắt đầu

string endTime Thời điểm kết thúc


integer totalOfHour Tổng số giờ

Các phương thức:

4. Mô hình hoá hành vi (Biểu đồ tuần tự mức hệ thống + Biểu đồ tuần


tự mức nghiệp vụ + Biểu đồ giao tiếp mức nghiệp vụ cho từng UC)
4.1. Trạng thái của các đối tượng trọng tâm

4.2. UC Đặt lịch khám


4.3. UC Cập nhật lịch khám
4.4. UC Tra cứu thông tin
4.5. UC Sửa thông tin tài khoản
4.6. UC Xem thống kê
4.7. UC Xác nhận khám

You might also like