PHÂN TÍCH VÀ XÁC ĐỊNH YÊU CẦU1.1 Hãy sắp xếp từng yêu cầu trên thành Yêu cầu chức năng và Yêu cầu phi chức năng - Yêu cầu phi chức năng: + Vận hành: b : Sao luu lịch biểu hằng ngày
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC VÀ KĨ THUẬT THÔNG TIN
MÔN PHÂN TÍCH THIẾT KẾ PHẦN MỀM
Trang 2NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
……., ngày…… tháng……năm 2024
Người nhận xét
(Ký tên và ghi rõ họ tên)
Trang 3MỤC LỤC
Phần 1 PHÂN TÍCH VÀ XÁC ĐỊNH YÊU CẦU
1.1Hãy sắp xếp từng yêu cầu trên thành Yêu cầu chức năng và Yêu cầu phi chức năng
1.2Hãy sắp xếp từng yêu cầu trên thành Yêu cầu chức năng và Yêu cầu phi chức năng
1.3Đóng vai trò là nhà phân tích, hãy thực hiện phân tích bài toán và xác định các Yêu cầu chức năng, Yêu cầu phi chức năng của phần mềm nêu trên (Càng chi tiết càng tốt)
1.3.1 Yêu cầu chức năng:
1.3.2 Yêu cầu phi chức năng
Phần 2 USE CASE VÀ USE CASE DIAGRAM
2.1Câu 2.1.1 Dựa vào các use case diagram, hãy điền các thông tin thích hợp vào chỗ trống dưới đây:
2.2Câu 2.1.2 Hãy liệt kê các thông tin sau trong mỗi use case diagram:
2.3Câu 2.1.3 Hãy xác định các thông tin sau của mỗi use case:
2.4Câu 2.1.4 Hãy viết đặc tả các use case 10
2.5Câu 2.2.3 Thực hiện tương tự như yêu cầu của câu 2.1.4 cho tối thiểu 3 use case trong use case diagram trên 12
2.6Câu 2.3.3 Thực hiện tương tự như yêu cầu của câu 2.1.4 cho tối thiểu 3 use case trong use case diagram trên 13
2.7Câu 2.4.3 Thực hiện tương tự như yêu cầu của câu 2.1.4 cho tối thiểu 2 use case trong use case diagram trên 14
2.8Câu 2.5.3 Thực hiện tương tự như yêu cầu của câu 2.1.4 cho tối thiểu 2 use case trong use case diagram trên 15
2.9Câu 2.6.3 Thực hiện tương tự như yêu cầu của câu 2.1.4 cho tối thiểu 2 use case trong use case diagram trên 16
Phần 3: ACTIVITY DIAGRAM, INTERACTION OVERVIEW DIAGRAM VÀ BUSINESS PROCESS MODEL 18
3.1Câu 3.1.1 Dựa vào các activity diagram, hãy điền các thông tin thích hợp vào chỗ trống dưới đây: 18
3.2Câu 3.1.2 Hãy xác định các thông tin sau trong mỗi activity diagram: 19
3.3Bài tập 3.2 Hệ thống quản lý khám chữa bệnh 20
3.4Bài tập 3.3 Hệ thống quản lý đơn hàng online 20
Trang 43.5Câu 3.4.1 Dựa vào các interaction overview diagram, hãy điền các thông
tin thích hợp vào chỗ trống dưới đây: 20
3.6Câu 3.4.2 Hãy xác định các thông tin sau trong mỗi interaction overview diagram: 20
3.7Bài tập 3.5 Các business process model của hệ thống quản lý bảo hiểm 20
Phần 4 CLASS MODEL VÀ CLASS DIAGRAM 21
4.1Bài tập 4.1 Dựa vào các use case đã được đặc tả của hệ thống quản lý bệnh viện, hãy định nghĩa các lớp với các thông tin 21
4.2Câu 4.2.1 Dựa vào các class diagram, hãy điền các thông tin thích hợp vào chỗ trống dưới đây: 21
4.3Câu 4.2.2 Xác định các thông tin trong mỗi class diagram: 22
4.44.3 Hệ thống Mentcare 23
Phần 5 SEQUENCE DIAGRAM 24
5.1Câu 5.1.1 Dựa vào các sequence diagram, hãy điền các thông tin thích hợp vào chỗ trống dưới đây: 24
5.2Câu 5.3 Cho sequence diagram của use case tạo đơn đặt hàng: 25
Trang 5NỘI DUNG BÀI LÀM Phần 1 PHÂN TÍCH VÀ XÁC ĐỊNH YÊU CẦU
1.1 Hãy sắp xếp từng yêu cầu trên thành Yêu cầu chức năng và Yêu cầu phi chức năng
- Yêu cầu phi chức năng:
+ Vận hành:
b : Sao luu lịch biểu hằng ngày
e : Hỗ trợ in qua kết nối không dây
l : Vận hành trên hệ điều hành windows+ Hiệu suất:
j : Lưu thông tin cuộc hẹn mới trong vòng dưới 2 giây
m : Truy xuất lịch hẹn hàng ngày trong vòng dưới 2 giây+ Bảo mật: a, f
a : Chỉ có người quản lý mới có thể cập nhật lịch biểu
f : Chỉ bác sĩ mới đặt được trạng thái có sẵn của mình hay không
- Yêu cầu chức năng:
g : Cho phép nhân viên bán hàng tạo ưu đãi cho khách hàng
h : Tất cả thiết bị máy tính đều được mua từ hãng Dell
j : Cho phép nhân viên bán hàng biết liệu một ưu đãi có đang chờ
xử lý trên một chiếc xe cụ thể hay không
l : Chạy được trên máy tính bảng để nhân viên bán hàng sử dụng
m : Phải kết nối không dây với máy in
r : Phải được cập nhật các ưu đãi đang chờ xử lý trên các phương tiện cứ sau 15 phút
s : Cho phép người quản lý xem tồn kho xe mới hiện tại
Trang 6 e : Không nhân viên bán hàng nào có thể truy cập vào danh bạ khách hàng của bất kỳ nhân viên bán hàng nào khác.
k : Việc sử dụng mỗi máy tính bảng phải được hạn chế ở nhân viên bán hàng được chỉ định
o : Cho phép người quản lý phương tiện mới đặt hàng xe mới
p : Thông tin cá nhân của khách hàng được bảo vệ tuân theo Đạo luật bảo vệ dữ liệu
- Yêu cầu chức năng:
+ b : Ghi nhận việc bổ sung xe mới vào kho khi nhận xe từ nhà sản xuất.+ d : Chuẩn bị hợp đồng mua bán
+ f : Lập hồ sơ mua xe của khách hàng
+ i : Ghi nhận thông tin xe đổi trả của khách hàng
+ n : Ghi nhận khoản thanh toán của khách hàng.
1.3 Đóng vai trò là nhà phân tích, hãy thực hiện phân tích bài toán và xác định các Yêu cầu chức năng, Yêu cầu phi chức năng của phần mềm nêu trên (Càng chi tiết càng tốt).
1.3.1 Yêu cầu chức năng:
Đăng nhập bằng mạng xã hội: Cho phép người dùng đăng ký và đăng
nhập nhanh chóng bằng tài khoản Google, Facebook hoặc Apple ID
Nghe nhạc trực tuyến (streaming): Bổ sung tính năng phát nhạc trực
tuyến (streaming) với các bài hát mà người dùng đã mua
Đề xuất thông minh: Ứng dụng trí tuệ nhân tạo (AI) để đưa ra các gợi ý bài
hát dựa trên hành vi nghe nhạc, sở thích hoặc xu hướng hiện tại
Tính năng hẹn giờ phát nhạc: Cho phép người dùng đặt thời gian tự động
tắt nhạc, giúp tối ưu trải nghiệm vào buổi tối hoặc trong quá trình nghỉ ngơi
Hệ thống xếp hạng và đánh giá: Cho phép người dùng đánh giá bài hát,
album hoặc nghệ sĩ để giúp cải thiện chất lượng đề xuất
Gửi thông báo cá nhân hóa: Cập nhật thông tin về các bài hát mới, chương
trình khuyến mãi hoặc gợi ý nhạc phù hợp với sở thích người dùng
Chia sẻ nhạc qua mạng xã hội: Cho phép người dùng chia sẻ bài hát hoặc
danh sách phát lên các nền tảng như Facebook, Instagram, v.v
Tạo danh sách phát (playlist): Hỗ trợ người dùng tạo và quản lý danh sách
phát cá nhân theo từng chủ đề hoặc tâm trạng
Hỗ trợ đa ngôn ngữ: Cung cấp giao diện với nhiều ngôn ngữ khác nhau để
tiếp cận người dùng quốc tế
Lịch sử giao dịch và hoạt động: Lưu trữ lịch sử các bài hát đã mua, danh
sách yêu thích và các giao dịch thanh toán để người dùng dễ dàng quản lý
1.3.2 Yêu cầu phi chức năng
a Vận hành
- Hệ thống phải hỗ trợ tìm kiếm hiệu quả trong cơ sở dữ liệu âm nhạc số
- Đảm bảo trải nghiệm mượt mà trên nhiều trình duyệt web và nền tảng thiết bị khác nhau
- Cho phép khởi động lại quá trình tải xuống nếu bị gián đoạn
- Ứng dụng cần hoạt động tốt trên cả thiết bị di động (Android, iOS), máy tính bảng và trình duyệt web
b Hiệu suất
Trang 7- Tốc độ tải xuống phải được giám sát để đảm bảo hiệu quả tối ưu.
- Hệ thống phải phản hồi nhanh khi tìm kiếm hoặc duyệt danh mục
- Áp dụng thuật toán tải xuống song song để cải thiện tốc độ tải file nhạc lớn
c Bảo mật
- Bảo vệ thông tin cá nhân của khách hàng
- Mã hóa chi tiết thanh toán để đảm bảo quyền riêng tư và bảo vệ dữ liệu
- Bổ sung tính năng xác thực hai yếu tố để nâng cao tính bảo mật cho tài khoản người dùng
- Đảm bảo dữ liệu người dùng và nội dung âm nhạc được sao lưu định kỳ để tránh mất mát dữ liệu
Phần 2 USE CASE VÀ USE CASE DIAGRAM
Chương 2:
2.1 Câu 2.1.1 Dựa vào các use case diagram, hãy điền các thông tin thích hợp vào chỗ trống dưới đây:
a Use case diagram: Patient Maintenance
- Hình vẽ cho thấy một use case diagram điển hình đại diện cho module (a1) Patient Maintenance (PM) của Hệ thống quản lý bệnh viện (HMS).
- Trước hết, nó cho thấy người dùng có các vai trò: (a2) A10-Patient, (a3) Doctor, và (a4) A80-Administrator Use case diagram cũng cho thấy một actor có tên là (a5) A90-Government Health Regulatory System, trong
A60-trường hợp này là một hệ thống bên ngoài
- Xem xét một hệ thống bảo trì bệnh nhân điển hình, actor (a6) A60-Doctor
tương tác với hệ thống theo nhiều cách khác nhau, một trong số đó là khi anh ta tạo hồ sơ y tế của bệnh nhân Tương tác này được thể hiện bằng một use case
có tên là (a7) UC14-CreatesPatientsMedicalProfile Mối quan hệ giữa actor (a8) A80-Administrator và use case (a9) UC12-MaintainsPatientDetails là
mối quan hệ liên kết thể hiện sự tương tác của quản trị viên với hệ thống trong quá trình bảo trì thông tin chi tiết của bệnh nhân
- Use case diagram cũng có một use case (a10) UC10-RegistersPatient với nhiều actor tương tác Thông tin đặc tả của use case (a11) UC10-
RegistersPatient có thể chứa các điều kiện tiên quyết và hậu điều kiện Một
trong những điều kiện tiên quyết có thể là bất cứ khi nào có bệnh nhân mới đăng ký, thông tin khám bệnh của anh ta sẽ được xác minh bằng cách gửi tin
nhắn đến (a12) A90-GovernmentHealthRegulatorySystem.
b Use case diagram: Calendar maintenance
- Hình vẽ cho thấy use case diagram đại diện cho module Calendar
Maintenance (b1) của hệ thống quản lý bệnh viện Sơ đồ này đưa ra một bức tranh cấp độ cao về các hoạt động liên quan đến A50-Staff (b2) Actor chính
tham gia vào module này là nhân viên bệnh viện Actor này gắn liền với các use
case UC20-CreatesCalendar (b3) và UC22-MaintainsCalendar (b4) Ghi chú đặc biệt đính kèm với use case UC22-MaintainsCalendar (b5) cho biết yêu cầu xác thực khi nhân viên truy cập Use case UC24-ChecksCalendar (b6)
Trang 8thể hiện các nhiệm vụ liên quan đến việc kiểm tra lịch để biết tính khả dụng của
thời gian tư vấn Module này được sử dụng bởi use case
UC22-MaintainsCalendar (b7) cho hoạt động hoàn chỉnh và do đó được thể hiện dưới dạng mối quan hệ <<include>> (b8).
c Use case diagram: Consultation details
- Hình vẽ cho thấy use case diagram cho module Consultation details (c1) của
hệ thống quản lý bệnh viện Các actor tham gia vào module này là A10-Patient (c2) và A64-Physician (c3) Bệnh nhân có liên quan đến use case UC30-
BooksConsultation (c4) Use case UC24-ChecksCalendar (c5) được tham chiếu bởi use case UC30-BooksConsultation (c6) như một mối quan hệ
include Điều này đảm bảo use case UC30-BooksConsultation (c7) hoạt động
đúng chức năng
- Bác sĩ trị liệu và bệnh nhân tương tác với use case UC32-ExaminesPatient (c8), cho thấy rằng cả hai actor đều được yêu cầu cho hoạt động của module này Bác sĩ trị liệu cũng liên quan đến các use case khác như UC34-
OrdersTests (c9), UC35-WritesPrescription (c10), và
UC36-ManagesConsultationSchedule (c11) để giải quyết các công việc khác liên
quan đến việc khám bệnh
2.2 Câu 2.1.2 Hãy liệt kê các thông tin sau trong mỗi use case diagram:
Các actor: Các actor có trong mỗi use case diagram.
Các use case: Các use case có trong mỗi use case diagram.
a Patient Maintenance Diagram:
- Actor: A10-Patient, A60-Doctor, A90-GovermentHealth RegulatorySystem,
A80-Administrator
- Use case: UC10-RegisterPatient, UC12-MaintainsPatientDetails, UC14-
CreatesPatientMedicalProfile, UC16- UpdatesPatientMedicalProfile
- Actor: A10-Patient, A64-Physician, A80-Administrator
- Use case: UC30-BooksConsultation, UC24-ChecksCalendar,
UC32-ExaminesPatient, UC34-OrdersTests, UC35-WritesPresciption, UC36-
ManagerConsultationSchedule
d Accounting:
Actor: A10-Patient, A20-PrivatePatient, A00-CardReader, A00-Printer
Trang 9 Use case: UC50-PaysBill, UC55-PaysBillByCard, UC56-PaysBillOnInternet,
UC57-CashChequePayment, UC58-PlacesInsuranceClaim
2.3 Câu 2.1.3 Hãy xác định các thông tin sau của mỗi use case:
Actor: Các actor có trong use case.
Use case description: Thông tin mô tả tóm tắt về use case (Use case mô tả điều gì, hoạt động của các actor trong usecase là gì? ).
a Patient Maintenance
Use case: UC10-RegistersPatient
o Actor: A10-Patient, A90-GovernmentHealthRegulatorySystem, Administrator
A80-o Use case descriptiA80-on: Use case này dùng để đăng ký thông tin bệnh nhân.A10-Patient nhập thông tin cá nhân, A90-
GovernmentHealthRegulatorySystem xác thực bảo hiểm Medicare nếu làlần đăng ký đầu tiên, và A80-Administrator kiểm tra, xác thực rồi thêm vào hệ thống
Use case: UC12-MaintainsPatientDetails
o Actor: A10-Patient
o Use case description: Use case này cho phép A10-Patient cập nhật và chỉnh sửa thông tin cá nhân khi cần Bệnh nhân có thể thay đổi các chi tiết liên quan để đảm bảo hồ sơ luôn chính xác và cập nhật
Use case: UC14-CreatesPatientDetails
o Actor: A10-Patient, A60-Doctor, A80-Administrator
o Use case description: Use case này được sử dụng để tạo hồ sơ y tế cho bệnh nhân, bao gồm lịch sử bệnh án và các thông tin liên quan A10-Patient cung cấp thông tin cá nhân cần thiết, A60-Doctor bổ sung dữ liệu
từ quá trình thăm khám, và A80-Administrator kiểm tra, xác thực thông tin để đảm bảo tính chính xác và đồng bộ của hồ sơ
c Use case diagram: Consultation details
Use Case: UC30-BooksConsultation
o Actor: A10-Patient, A80-Administrator
o Use case description: Use case này được sử dụng để đặt lịch tư vấn A10-Patient có thể tự đặt lịch dựa trên lịch trình có sẵn A80-
Administrator có thể hỗ trợ đặt lịch thủ công khi cần thiết Quá trình này
Trang 10bao gồm kiểm tra lịch trình thông qua UC24-ChecksCalendar để đảm bảo không có xung đột
Use case: UC36-ManagesConsultationSchedule
o Actor: A64-Physician
o Use case này được sử dụng để quản lý lịch tư vấn A64-Physician có thể cập nhật, thay đổi hoặc sắp xếp lại lịch trình của mình để đảm bảo tính khả dụng Điều này giúp duy trì lịch tư vấn hiệu quả và tránh trùng lặp
d Use case diagram: Accounting
Use case: UC50-PaysBill
o Actor: A10-Patient
o Use case này được sử dụng để thanh toán hóa đơn sau khi hóa đơn đã được phát hành A10-Patient có thể thanh toán thông qua nhiều phương thức khác nhau, bao gồm thanh toán bằng thẻ, qua internet hoặc bằng tiền mặt/séc
Use case: UC56-PaysBillOnInternet <<extends>> UC50-PaysBill
o Actor: A10-Patient
o Use case này mở rộng từ UC50-PaysBill, cho phép bệnh nhân thanh toánhóa đơn trực tuyến Người dùng có thể sử dụng các cổng thanh toán điện
tử hoặc dịch vụ ngân hàng trực tuyến để hoàn tất giao dịch
2.4 Câu 2.1.4 Hãy viết đặc tả các use case
Use Case Diagram: Patient Maintenance
Use Case: UC10-RegisterPatient
Use case description: Mô tả quy trình đăng ký một bệnh nhân mới vào hệ
thống quản lý bệnh viện
Precondition: Bệnh nhân chưa có hồ sơ trong hệ thống bệnh viện.
Postcondition: Bệnh nhân hoàn tất quá trình đăng ký.
Actor: A10-Patient, A80-Administrator,
A90-GovernmentHealthRegulatorySystem
Use case relationship: Liên kết trực tiếp với ba Actor A10-Patient,
A80-Administrator và A90-GovernmentHealthRegulatorySystem
Basic flow:
1 Bệnh nhân đến bệnh viện để tiến hành khám bệnh
2 Quản trị viên hỏi bệnh nhân đã từng khám tại hệ thống bệnh viện này chưa
3 Bệnh nhân phản hồi: Chưa từng khám
4 Quản trị viên yêu cầu bệnh nhân cung cấp thông tin cá nhân
5 Bệnh nhân cung cấp thông tin cá nhân
6 Quản trị viên nhập dữ liệu và tiến hành đăng ký hồ sơ bệnh nhân
7 Hệ thống xác thực thông tin do bệnh nhân cung cấp
Trang 11thông tin cần thiết
8.1 Nếu xác thực không thành công, quản trị viên sẽ yêu cầu bệnh nhân kiểm tra và nhập lại thông tin
Use Case Diagram: Calendar Maintenance
Use Case: UC22-MaintainsCalendar
Use case description: Mô tả quy trình quản lý và cập nhật lịch trình làm việc
của nhân viên
Precondition: Hệ thống đã có lịch trình tồn tại.
Postcondition: Lịch trình được cập nhật và duy trì hiệu quả.
Actor: A50-Staff.
Use case relationship: Kết nối trực tiếp với tác nhân A50-Staff Đồng thời, có
mối quan hệ "include" với Use case UC24-ChecksCalendar
Basic flow:
1 Hệ thống đã thiết lập lịch trình làm việc
2 Nhân viên được giao nhiệm vụ duy trì lịch trình
3 Nhân viên thực hiện cập nhật lịch trình, bao gồm kiểm tra các ghi chú đính kèm
4 Nhân viên đảm bảo không có lỗi xảy ra trong quá trình cập nhật
Use Case Diagram: Consultation Details
Use Case: UC30-BooksConsultation
Use case description: Mô tả quá trình đặt lịch hẹn tham vấn cho bệnh nhân.
Precondtion: Bệnh nhân có nhu cầu đặt hẹn với bác sĩ điều trị.
Postcondition: Bệnh nhân đặt hẹn thành công trên hệ thống.
Actor: A10-Patient, A80-Administrator.
Use case relationship: Kết nối giữa hai tác nhân A10-Patient và
A80-Administrator
Basic flow:
1 Bệnh nhân có nhu cầu đặt lịch hẹn với bác sĩ chuyên khoa
2 Bệnh nhân truy cập hệ thống để thực hiện đặt hẹn
3 Quản trị viên hỏi bệnh nhân đã từng khám trước đây chưa
4 Bệnh nhân phản hồi: Chưa từng khám
5 Quản trị viên yêu cầu bệnh nhân cung cấp thông tin cá nhân và thời gian mong muốn
6 Bệnh nhân nhập thông tin cá nhân và lựa chọn thời gian đặt hẹn
7 Quản trị viên kiểm tra lịch trình bác sĩ
8 Nếu có thời gian trống, quản trị viên cập nhật lịch trình trên hệ thống
Trang 12Use Case: U9: Change Password
Use case description: Use case cho phép Member đổi mật khẩu
Precondtion: Là khách hàng của hệ thống quản lý và đã đăng ký làm thành
1 Thành viên có nhu cầu đổi mật khẩu
2 Thành viên đăng nhập vào hệ thống
3 Thành viên chọn chức năng đổi mật khẩu
4 Thành viên đổi mật khẩu thành công
Alternative flow:
4.1 Thành viên đổi mật khẩu thất bại -> Thử lại
Use Case: U11: Cancel Reservation
Use case description: Mô tả quá trình hủy đặt lịch
Precondtion: Thành viên đã đặt lịch
Postcondition: Thành viên hủy đặt lịch thành công
Actor: Member, Assistant
Use case relationship: Có mối quan hệ <<extend>> với U10 và U5, là cầu nối
của Assistant và Member
Basic flow:
1 Thành viên có nhu cầu hủy lịch hẹn
2 Thành viên đăng nhập vào hệ thống
3 Thành viên nhấn vào xem những lịch hẹn đã có của mình
4 Nếu có lịch hẹn, thành viên chọn hủy lịch hẹn
5 Nhân viên sẽ xem yêu cầu của thành viên và xác nhận hủy lịch hẹn
6 Khách hàng xác nhận lại với nhân viên
7 Nhân viên hoàn tất việc hủy lịch hẹn
Alternative flow:
6.1 Khách hàng thay đổi ý định -> Không hủy lịch hẹn nữa
Use Case: U13-Look for Car Models
Use case description: Mô tả quá trình quan sát, quan tâm đến mẫu xe của
khách hàng
Precondtion: Khách hàng muốn thuê xe