Chương 2
Mơ hình hóa u cầu của bài tốn
sử dụng use case diagram
Yêu cầu của hệ thống
Những chức năng mà hệ thống phải thực hiện.
Những đặc tính mong muốn của người dùng đối với hệ
thống.
Những phát biểu về những đề xuất đối với hệ thống mà tất cả
các bên tham gia đống ý về các vấn đề của khách hàng phải
được giải quyết thỏa đáng.
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân
Hiền
2
Tiến trình phân tích u cầu bài tốn
Tìm hiểu, khám phá và phân tích các yêu cầu của của người
dùng đối với hệ thống.
Xây dựng các tài liệu yêu cầu
Kiểm tra tính hợp lệ của các yêu cầu
Quản lý các u cầu
Mơ hình hóa u cầu
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân
Hiền
3
Mục tiêu của phân tích yêu cầu
Yêu cầu thường khơng được nêu một cách rõ ràng, don đó
người phát triển hệ thống cần phải làm việc với khách hàng
và các bên liên quan để khai thác:
• Các dịch vụ mà hệ thống cần cung cấp
• Những ràng buộc mà hệ thống phải đáp ứng
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân
Hiền
4
Mục tiêu của phân tích u cầu
Mục tiêu:
• Đảm bảo các yêu cầu đối với sản phẩm phần mềm được định nghĩa và
hiểu một cách rõ ràng.
• Thiết lập và duy trì các thỏa thuận về yêu cầu với các bên liên quan
• Đảm bảo tất cả các yêu cầu được đáp ứng.
• Tài liệu phân tích u cầu dùng để kiểm soát và là cơ sở cho việc phát
triển phần mềm và sử dụng trong quản lý dự án.
• Phát hiện và giải quyết mâu thuẫn giữa yêu cầu
• Xác định phạm vi của phần mềm và cách nó tương tác với mơi trường
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân
Hiền
5
Các loại tài liệu trong phân tích yêu cầu
Xác định yêu cầu người dùng (URD – User requirement
definition)
• Xác định những gì người dùng cần cho cơng việc của họ
• Bao gồm yêu cầu doanh doanh nghiệp, quy tắc nghiệp vụ và các ràng
buộc khác
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân
Hiền
6
Các loại tài liệu trong phân tích yêu cầu
Đặc tả yêu cầu phần mềm (SRS – Software requirement
specification)
• Một tập hợp các yêu cầu phần mềm: đầy đủ, nhất qn và chính xác
từ quan điểm của nhà phát triển
• Tài liệu đặc tả yêu cầu dùng làm cơ sở tham chiếu chung của các yêu
cầu phần mềm cho khách hàng, nhà phát triển, thử nghiệm và quản lý
dự án.
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân
Hiền
7
Các loại yêu cầu
Chức năng - Functional
Giao diện - Interface
Dữ liệu - Data
Nguồn nhân lực - Human engineering
Chất lượng - Qualification
Nghiệp vụ - Operational
Ràng buộc về thiết kế - Design constraints
An toàn - Safety
Bảo mật - Security, etc.
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân
Hiền
8
Yêu cầu chức năng - Functional requirements
Mô tả sự tương tác giữa hệ thống và mơi trường của nó
Mô tả cách ứng xử của hệ thống với hành vi kích hoạt của
người dùng
• Có thể sử dụng mơ hình - một sự kết hợp của các ký hiệu đồ họa và
cấu trúc ngơn ngữ tự nhiên
• Sử dụng use case diagram, activity, state diagram
• Prototype, ...
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân
Hiền
9
Yêu cầu phi chức năng - NonFunctional requirements
Mô tả các hạn chế trên một hệ thống làm hạn chế sự lựa chọn
và từ đó đưa ra một giải pháp cho một vấn đề xác định
Các yêu cầu phi chức năng khơng được mơ hình hóa => được
chỉ định chỉ sử dụng ngơn ngữ tự nhiên có cấu trúc
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân
Hiền
10
Tính hợp lệ của các yêu cầu
Đánh giá các u cầu - Requirements Review
• Phân tích thủ cơng có hệ thống các yêu cầu
• Tham gia của nhà phát triển, khách hang, các bên tham gia
Prototyping
• Sử dụng mơ hình thực thi của hệ thống để kiểm tra yêu cầu
Model Validation
• Kiểm tra chất lượng của các mơ hình phát được xây dựng trong thời gian
phân tích
Test-case generation
• Phát triển thử nghiệm đối với các yêu cầu để kiểm tra khả năng kiểm thử
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân
Hiền
11
Quản lý các yêu cầu thay đổi
Yêu cầu thay đổi (CR – Change request)
• Các yêu cầu từ quan điểm khác nhau thay đổi trong q trình phát
triển
• Khách hàng có thể xác định các yêu cầu từ góc độ kinh doanh mâu
thuẫn với yêu cầu của người dùng cuối
• Mơi trường kinh doanh và kỹ thuật của hệ thống thay đổi trong quá
trình phát triển hệ thống
Tiến trình u cầu thay đổi
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân
Hiền
12
Thuật ngữ - Glossary
Khái niệm:
• Một tập hợp các thuật ngữ được định nghĩa làm cơ sở cho giao tiếp.
• Một từ điển để thực hiện mơ hình hóa
Mục đích:
• Làm rõ ý nghĩa của từ ngữ hoặc có những hiểu biết chung về các điều
khoản giữa các thành viên trong nhóm
• Được tạo ra trong q trình xác định u cầu, xác định use case và mơ
hình hóa khái niệm
• Được duy trì trong suốt q trình phát triển hệ thống
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân
Hiền
13
Thuật ngữ - Glossary
Ví dụ
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân
Hiền
14
Nội dung trong tài liệu xác định yêu cầu hệ thống
1. Mục đích
2. Phạm vi
3. Tổng quan hệ thống
4. Tài liệu tham khảo
5. Xác định các điều khoản, các thuật ngữ chuyên môn
6. Yêu cầu chức năng
7. yêu cầu phi chức năng
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân
Hiền
15
Bài tập
Viết một đặc tả yêu cầu cho một hệ thống bán hàng trong siêu
thị.
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân
Hiền
16
Mơ hình hóa u cầu hệ thống
sử dụng mơ hình use case
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân
Hiền
17
Use case diagram
Mô tả trực quan các chức năng được cung cấp bởi hệ thống.
Một Use Case thể hiện một hành động tương tác riêng biệt
giữa người dùng (human or machine) và hệ thống.
Use case diagram chứa các thành phần:
• Use cases
• Actors
• Relationships
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân
Hiền
18
Use case diagram
Use case
• Một use case đại diện cho một chức năng hoàn chỉnh, bao gồm một
chuỗi các hoạt động khác nhau mà hệ thống có thể thực hiện bằng
cách tương tác với các actor bên ngoài hệ thống.
• Các yếu tố của một use case
• Kịch bản (scenarios): là một tập các ràng buộc theo mục tiêu người dùng,
thường là một chuỗi các giao dịch được thực hiện bởi một hệ thống, có thể nhìn
thấy được, đo lường được kết quả.
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân
Hiền
19
Use case diagram
Use Cases
• Mơ tả hoặc nắm bắt yêu các cầu chức năng của hệ thống
• Một use case đại diện cho một chuỗi các hành vi tương tác của hệ
thống và các actor bên ngoài.
Ký hiệu use case trong UML
• Có dạng hình oval
Login
• Tên của use case
• Sử dụng động từ
• Biểu diễn hành vi tương tác của Actor và hệ thống
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân
Hiền
20
Use case diagram
Actor:
• Là một thực thể tương tác với hệ thống, actor có thể là người dùng,
hoặc các ứng dụng bên trong, hoặc một hệ thống bên ngoài của hệ
thống đang xây dựng
Loại Actor:
• Primary Actor: Actor trực tiếp kích hoạt giao tiếp giữa actor và hệ
thống. Thơng thường là người sử dụng.
• Secondary actor: Actor chỉ thực hiện giao tiếp khi được yêu cầu từ hệ
thống tại thời điểm thực thi của một use case nào đó
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân
Hiền
21
Use case diagram
Ký hiệu Actor trong UML
• Tên actor là một danh từ
• Primary Actor
Ví dụ
Khách hàng
Ví dụ
• Secondary actor
<<Actor>>
Tên Actor
<<Actor>>
Bank IS
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân
Hiền
22
Các mối quan hệ trong use case diagram
Quan hệ giữa Actors và use cases: Association
• Actor tham gia tương tác với hệ thống được mơ tả bởi use case.
• Nếu quan hệ association có hướng:
• Xác định hướng tương tác của actor chính.
• Xác định luồng điều khiển (not data flow)
Login
Sinhvien
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân
Hiền
23
Các mối quan hệ trong use case diagram
Quan hệ giữa Actor và Actor:
• Được sử dụng để xác định vai trị trùng lắp
của các Actor
• Ví dụ:
• Người Administrator và Client thực hiện được
tất cả các thao tác của User
• Administrator có những thao tác riêng mà User
và Client khơng thực hiện được
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân
Hiền
24
Các mối quan hệ trong use case diagram
Quan hệ giữa Use case với use case
• Include
• Extend
• Generalization/Specification
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân
Hiền
25