60
07/03/22 1 Chương 2: THU THẬP và MÔ HÌNH YÊU CẦU THU THẬP YÊU CẦU (Requirement Capture)

2 thu thap va mo hinh yeu cau

Embed Size (px)

Citation preview

Page 1: 2 thu thap va mo hinh yeu cau

04/12/23 1

Chương 2: THU THẬP và MÔ HÌNH YÊU CẦU

THU THẬP YÊU CẦU

(Requirement Capture)

Page 2: 2 thu thap va mo hinh yeu cau

204/12/23

Nội dung Mục đích của thu thập và mô hình yêu

cầu Định nghĩa yêu cầu Phát hiện yêu cầu (Requirements

Elicitation) Đàm phám và phê chuẩn yêu cầu

(Requirements Negotiation and Validation)

Page 3: 2 thu thap va mo hinh yeu cau

304/12/23

Requirements in ContextThe purpose of Requirements is to: Establish and maintain

agreement with the customers and other stakeholders on what the system should do.

Give system developers a better understanding of the requirements of the system.

To define the boundaries of(delimit) the system.

Provide a basis for planning the technical contents of the iterations.

Provide a basis for estimating cost and time to develop the system.

Define a user interface of the system.

Page 4: 2 thu thap va mo hinh yeu cau

404/12/23

Định nghĩa yêu cầu "A requirement is a condition or

capability to which a system must conform".

Yêu cầu là các dịch vụ (services) được mong đợi của hệ thống và các ràng buộc (constraints) mà hệ thông phải tuân theo.

Page 5: 2 thu thap va mo hinh yeu cau

504/12/23

Phân loại yêu cầu Yêu cầu chức năng (Function

requirements): các hành động gì mà hệ thống có thể thực hiện mà không xem xét các ràng buộc vật lý. Các dịch vụ hệ thống (System services): các chức

năng mà hệ thống cung cấp Yêu cầu về dữ liệu (Data requirements): các dữ liệu

mà hệ thống phải xử lý

Yêu cầu phi chức năng (Non-Function Requirements): các ràng buộc hệ thống, các thuộc tính và môi trường của hệ thống. Yêu cầu về giao diện (Look and Feel), Yêu cầu về thực

hiện (Performance), Yêu cầu về bảo mật (Security), …

Page 6: 2 thu thap va mo hinh yeu cau

604/12/23

Các kỹ thuật Requirements Elicitation: Phát hiện

yêu cầu Use Case Modelling: Lập mô hình

usecase Prototyping: Tạo mô hình phác thảo

ban đầu cho các chức năng và giao diện người dùng của hệ thống

Page 7: 2 thu thap va mo hinh yeu cau

704/12/23

Phát hiện yêu cầu Mục đích:

Nhận diện các cá nhân liên quan (stakeholders) tới dự án

Tập hợp các yêu cầu mà hệ thông phải thực hiện.

Sắp thứ tự ưu tiên các yêu cầu. Các bước thực hiện:

Xác định nguồn của các yêu cầu Thu thập thông tin Hội thảo để phát hiện yêu cầu (Conduct

Requirements Workshops) Prototyping Đánh giá kết quả.

Page 8: 2 thu thap va mo hinh yeu cau

804/12/23

Xác định nguồn yêu cầu Stakeholder

là các cá nhân có ảnh hưởng tới kết quả của dự án, và là các đối tượng chúng ta sẽ làm việc để thu thập thông tin.

Một nguồn thông tin quan trọng khác là các tài liệu đang tồn tại của tổ chức mô tả hoạt động của hệ thống đang sử dụng Có thể là các mô hình nghiệp vụ (business models) Hoặc các biểu mẫu thương mại khác.

Xác định và sắp thứ tự ưu tiên các nguồn thông tin yêu cầu.

Page 9: 2 thu thap va mo hinh yeu cau

904/12/23

Thu thập thông tin Mục đích:

Xác định các câu hỏi nào cần được trả lời. Thu thập và viết tài liệu cho thông tin thu thập

được. Phương pháp truyền thống để thu

thập thông tin Interviewing: Phỏng vấn khách hàng và chuyên

gia về lĩnh vực liên quan. Questionnaires: Bảng câu hỏi. Observation: Quan sát. Background reading: Nghiên cứu tài liệu tổ

chức và tài liệu hệ thống phần mềm đang tồn tại.

Page 10: 2 thu thap va mo hinh yeu cau

1004/12/23

Interviewing – Phỏng vấn Phỏng vấn nhằm đạt được hiểu biết sâu

về mục tiêu của tổ chức, vai trò và yêu cầu người dùng

Phỏng vấn cấu trúc (Structured interview) Các câu hỏi xác định trước và có lịch phỏng vấn rõ

ràng. Phỏng vấn không cấu trúc (Unstructured

interview) Gặp mặt không chính thức; câu hỏi, mục tiêu

không định trước. Các loại câu hỏi nên tránh:

Opinionated: Người được phỏng vấn cho ý kiến của mình.

Biased: Câu hỏi định hướng để tìm câu trả lời cụ thể

Imposing: Giả định câu trả lời cho câu hỏi.

Page 11: 2 thu thap va mo hinh yeu cau

1104/12/23

Questionnaires - Bảng câu hỏi Nhằm đạt được thông tin từ nhiều người và

kết quả có thể phân tích thống kê. Đặc điểm:

Bảng câu hỏi có thể được gởi qua thư, email, hoặc dựa web

Dùng thu thập ý kiến hoặc dữ kiện. Bảng câu hỏi phải được thiết kế tốt và dễ trả lời

Các loại câu hỏi Câu hỏi mở: câu trả lời có thể không đoán trước được. Câu hỏi đóng: Câu trả lời được chọn từ danh sách cung

cấp trước. Có thể dùng câu hỏi đóng và hạn chế câu hỏi mở Các câu hỏi đóng có thể:

Multi-choice questions: Câu hỏi nhiều chọn lựa Rating questions: Câu hỏi đánh giá từ yếu tới mạnh Ranking questions: Câu hỏi xếp hạng. từ 1 – 10 hoặc tỉ lệ %

Page 12: 2 thu thap va mo hinh yeu cau

1204/12/23

Observation - Quan sát Nhằm tìm kiếm điều thực sự xảy ra,

không phải điều người ta nói. Bao gồm:

Quan sát người ta thực hiện xử lý công việc như thế nào và điều gì xảy ra.

Quan sát thụ động: Quan sát các hoạt động mà không bị dừng ngang hoặc không tham gia trực tiếp dùng camera

Quan sát chủ động: Tham gia trực tiếp vào các hoạt động xử lý thương mại.

Đi theo một xử lý từ đầu đến cuối. Đạt được các dữ liệu định lượng để làm cơ sở

cho các cải tiến được cung cấp bởi hệ thống mới.

Page 13: 2 thu thap va mo hinh yeu cau

1304/12/23

Background reading Nhằm tìm hiểu về tổ chức và mục tiêu

kinh doanh của nó. Bao gồm:

Tài liệu của tổ chức Các biểu mẫu thương mại, các thủ tục làm việc, miêu

tả công việc, các kế hoạch thương mại, các hướng dẫn (manuals), các biểu đồ tổ chức …

Tài liệu của hệ thống đang tồn tại Các biểu mẫu (forms) và các báo cáo (reports), tài

liệu người dùng, tài liệu phân tích và thiết kế hệ thống, …

Các yêu cầu về tri thức của lĩnh vực liên quan Tạp chí thương mại, sách tham khảo

Page 14: 2 thu thap va mo hinh yeu cau

1404/12/23

Các phương pháp hiện đại để phát hiện yêu cầu Được sử dụng khi rủi ro của dự án cao, các

nhân tố rủi ro bao gồm: Mục tiêu không rõ ràng Các thủ tục làm việc không được tài liệu hóa Các yêu cầu không ổn định Người phát triển không có kinh nghiệm. Sư hợp tác củas người dùng không đầy đủ.

Các phương pháp: Conduct Requirements Workshops

Hội thảo phát hiện yêu cầu Prototyping

Một GUI, mà mô phỏng ứng xử hệ thống

Page 15: 2 thu thap va mo hinh yeu cau

1504/12/23

Hội thảo phát hiện yêu cầu Mục đích

Tạo điều kiện cho nhóm dự án gặp các stakeholder của dự án Để thu thập các yêu cầu tinh tế hơn từ các stakeholder. Để sắp thứ tự các yêu cầu được tập hợp dựa trên các

stakeholder tham dự hội thảo.

Có thể sử dụng một số kỹ thuật phát hiện thông tin Brainstorming: Thảo luận tập thể

Trong một thời gian ngắn, cho phép mọi người trình bày ý kiến, hay cảm nhận quan trọng của mình về dự án.

Role playing: Đóng kịch Từng thành viên được phân một vai trò đáng quan tâm của dự

án. Thảo luận và ghi nhận trách nhiệm của từng vaui trò Một kỷ thuật tổ hợp với Role playing là Class Responsibility

Collaboration (CRC) cards

Page 16: 2 thu thap va mo hinh yeu cau

1604/12/23

Prototyping – Tạo hệ thống phác thảo Prototype là một hệ thống có tính trình diễn

Một mô hình làm việc “nhanh và thô” của giải pháp cho hệ thống, nhằm kiểm tra một số chức năng nào đó.

Có thể miêu tả GUI cho các ứng xử khác nhau của hệ thống. Nột dung có thể mã cứng (hard-coded) hơn là truy cập động

từ CSDL.

Không thể thiếu trong quy trình phát triển phần mềm Tính khả thi và hữu dụng của hệ thống có thể ước lượng

qua prototype trước khi thực sự được cài đặt.

Thường được dùng khi: Hệ thống xây dựng cho các chức năng thương mại mới. Dùng trong quá trình xây dựng kịch bản cho use case. Các yêu cầu xung đột Có vấn đề truyền thông giữa khách hàng và người phát

triển

Page 17: 2 thu thap va mo hinh yeu cau

1704/12/23

Các kiểu Prototyping “Throw-away” prototype

Bỏ đi khi tiến trình tìm kiếm yêu cầu hoàn tất. Tập trung vào các yêu cầu ít hiểu biết nhất. Thường thực hiện ở bước xác định yêu cầu.

Evolutionary prototype Được giữ lại sau khi tiến trình tìm kiếm yêu cầu

hoàn tất Thường đưa ra cho sản phẩm cuối cùng. Hướng đến việc phát triển nhanh hệ thống

bằng cách tập trung vào các yêu cầu đã hiểu biết nhất (là chung cho nhiều hệ thống)

Page 18: 2 thu thap va mo hinh yeu cau

1804/12/23

Đàm phám và phê chuẩn yêu cầu Yêu cầu phát hiện từ khách hàng

thường: Chồng chéo và xung đột. Mơ hồ hoặc không thực tế. Một số yêu cầu chưa được khám phá. Cần đàm phán với khách hàng đẩ phê chuẩn

yêu cầu trước khi viết tài liệu yêu cầu. Các công việc thường phải thực hiện:

Xác định các yêu cầu ngoài phạm vi (Out of scope requirements)

Xác định các yêu cầu chồng chéo và xung đột. Phân tích rủi ro và sắp thự tự quyền ưu tiên các

yêu cầu.

Page 19: 2 thu thap va mo hinh yeu cau

1904/12/23

Xác định các yêu cầu ngoài phạm vi Là nhiệm vụ của bước phân tích yêu

cầu nhằm xác định biên hệ thống (system boudary)

Các yêu cầu được phân loại ở ngoài phạm vi do: Quy định ràng cuộc của tổ chức. Giới hạn của ngân quỹ của dự án. Quá khó cài đặt vào hệ thống máy tính. Có quyền ưu tiên thấp và được loại ra khỏi

phiên bản đầu tiên của hệ thống. Được cài đặt trong các thiết bị phần cứng khác,

nằm ngoài điều khiển của hệ thống phần mềm.

Page 20: 2 thu thap va mo hinh yeu cau

04/12/23 20

THU THẬP và MÔ HÌNH YÊU CẦUMÔ HÌNH YÊU CẦU HỆ THỐNG

Page 21: 2 thu thap va mo hinh yeu cau

2104/12/23

Tài liệu kết quả của bước yêu cầu

Các đặc tả bổ sung(Supplementary

Specification)

Bảng chú giải(Glossary)

Các đặc tả Use Case(Use Case Specifications)

...

Use-Case Model

Actors

Các Use Case

Page 22: 2 thu thap va mo hinh yeu cau

2204/12/23

What Is a Use-Case Model? Là mô hình ứng xử hệ thống

System behavior is the outwardly visible and testable activity of a system and is captured in use cases.

A model that describes a system’s functional requirements in terms of use cases.

A model of the system’s intended functions (use cases) and its environment (actors).

Use cases describe the system, its environment, and the relationship (or interactions) between the system and its environment.

Page 23: 2 thu thap va mo hinh yeu cau

2304/12/23

Lược đồ Use Case

Actor Use caseCommunicationassociation

Withdraw

Client

View Balance

Page 24: 2 thu thap va mo hinh yeu cau

2404/12/23

Actor Actor là vai trò của con người, thiết bị

hay hệ thống khác … mà tương tác trực tiếp với hệ thống qua các use case. Ở bên ngoài hệ thống và cần các dịch vụ hệ

thống. Một vai trò không phải là một người cụ thể.

Nhận diện các Actor: Ai cần đến một dịch vụ nào đó cung cấp bởi

hệ thống? Hệ thống được dùng ở đâu trong tổ chức? Ai có lợi ích từ việc dùng hệ thống? Ai sẽ cung cấp, dùng, hủy thông tin của hệ

thống? Ai hỗ trợ và bảo trì hệ thống? Hệ thống có dùng các tài nguyên bên ngoài?

Page 25: 2 thu thap va mo hinh yeu cau

2504/12/23

Use case Use case là một dãy các hành động mà

hệ thống thực hiện nhằm đạt được một kết quả về giá trị có thể nhận biết được cho một actor cụ thể. Biểu diễn một đơn vị chức năng đầy đủ. Một đơn vị chức năng có thể nhìn thấy từ bên ngoài Mỗi use case có thể được kích hoạt bởi một actor

Một khi kích hoạt, nó có thể tương tác hay cung cấp kết quả cho actor khác.

Phát hiện từ Các yêu cầu chức năng được diễn dịch thành các

use case Actor và mục đích của họ đối với hệ thống.

Page 26: 2 thu thap va mo hinh yeu cau

2604/12/23

Quan hệ giữa actor và use case Communication Association :

Biểu diễn sự truyền thông giữa actor và use case

Hướng mũi tên biểu diễn ai kích hoạt việc truyền thông.

WithdrawClient

Bank System

Client kích hoạt use case Withdraw

Use case Withdraw truy cập thông tin tài khoản từ Bank System

Page 27: 2 thu thap va mo hinh yeu cau

2704/12/23

Video Store case study Cho khách hàng thuê băng và đĩa video Tất cả các băng và đĩa đều được mã vạch

(bar-coded) và dùng một thiết bị quét tích hợp với hệ thống để đọc.

Thẻ khách hàng thành viên cũng được mã vạch.

Các khách hàng có thẻ thành viên có thể đặt thuê trước các băng video nhận ở một ngày cụ thể nào đó.

Trả lời các câu hỏi của khách hàng, bao gồm cả các câu hỏi về các phim mà cửa hàng không có

Page 28: 2 thu thap va mo hinh yeu cau

2804/12/23

Nhận diện actor Người dùng:

Nhân viên (Employee)

Thiết bị: Thiết bị quét (Scanning Device)

Page 29: 2 thu thap va mo hinh yeu cau

2904/12/23

Nhận diện Use Case Các chức năng kích hoạt gián tiếp bởi

Employee thông qua Scanning Device: Rent Video Return Video

Chức năng Employee: Reserve Video Answer Inquiry Maintain Customer Information Maintain Video Information

Page 30: 2 thu thap va mo hinh yeu cau

3004/12/23

Video Store - Use case diagram

Rent Video

Return Video

Reserve VideoScanning Device

Maintain Customer Answer Enquiry

Employee

Maintain Video

<<depends on>>

Page 31: 2 thu thap va mo hinh yeu cau

3104/12/23

Ví dụ: Hệ thống đăng ký học phần Hệ thống mới cho phép sinh viên đăng ký học

phần và xem phiếu điểm từ một máy tính cá nhân được kết nối vào mạng nội bộ của trường. Các giáo sư cũng có thể truy cập hệ thống này để đăng ký lớp dạy và nhập điểm cho các môn học.

Trường sẽ giữ lại cơ sở dữ liệu sẵn có về danh mục học phần mà lưu trữ toàn bộ thông tin về học phần. Hệ thống mới sẽ đọc các thông tin học phần trong CSDL cũ nhưng sẽ không cập nhật chúng. Phòng Đào tạo sẽ tiếp tục duy trì các thông tin học phần thông qua một hệ thống khác.

Đầu mỗi học kỳ, sinh viên có thể yêu cầu danh sách các học phần được mở trong học kỳ đó. Thông tin về mỗi học phần, như tên giáo sư, khoa, và các học phần phần tiên quyết sẽ được cung cấp để giúp sinh viên chọn lựa.

Page 32: 2 thu thap va mo hinh yeu cau

Sinh viên được chọn bốn học phần được mở trong học kỳ tới và có thể chọn thêm hai môn học thay thế trong trường hợp không thể đăng ký theo nguyện vọng chính. Các học phần được mở có tối đa là là 100 và tối thiểu là 30 sinh viên. Các học phần có ít hơn 30 sinh viên sẽ bị hủy. Đầu mỗi học kỳ, sinh viên có một khoảng thời gian để đăng ký các học phần muốn học. Sinh viên chỉ có thể thêm hoặc hủy các học phần đã đăng ký trong khoảng thời gian này. Khi quá trình đăng ký hòan tất, hệ thống sẽ gửi thông tin đăng ký của các sinh viên tới hệ thống thanh toán (billing system) để các sinh viên có thể đóng học phí. Nếu một lớp bị hết chỗ trong quá trình đăng ký, sinh viên phải được thông báo về sự thay đổi trước khi xác nhận lịch các học phần đã đăng ký.

Ở cuối học kỳ, sinh viên có thể truy cập vào hệ thống để xem phiếu điểm. Vì điểm của sinh viên là thông tin nhạy cảm cần được giữ kín, nên hệ thống phải có cơ chế bảo mật để ngăn chặn những truy cập không hợp lệ.

Các giáo sư có thể truy cập vào hệ thống để đăng ký những học phần mà họ sẽ dạy. Họ cũng có thể xem danh sách các sinh viên đã đăng ký vào lớp của họ, và cũng có thể nhập điểm sau mỗi khóa học.

Page 33: 2 thu thap va mo hinh yeu cau

3304/12/23

Nhận diện actor Người dùng:

Sinh viên (Student) Giáo sư (Professor) Nhân viên giáo vụ (Registrar)

Hệ thống khác: Danh mục học phần (Course Catalog) Hệ thống thanh toán học phí (Billing System)

Page 34: 2 thu thap va mo hinh yeu cau

3404/12/23

Nhận diện Use Case Chức năng cho mọi actor:

Đăng nhập hệ thống (Login)

Các chức năng sử dụng bởi Student: Đăng ký học phần (Register for Course) Xem phiếu điểm (View Report Card)

Các chức năng sử dụng bởi Professor: Đăng ký môn dạy (Select Courses to Teach) Nộp điểm (Submit Grades)

Nhiệm vụ của Registrar: Kết thúc đăng ký (Close Registration) Cập nhật thông tin giáo sư (Maintain Professor Information) Cập nhật thông tin sinh viên (Maintain Student Information)

Page 35: 2 thu thap va mo hinh yeu cau

3504/12/23

View Report Card

Student

Register for Courses

Submit Grades

Course Catalog

Professor

Select Courses to Teach

Maintain Student Information

Maintain Professor Information

Billing System

Registrar

Close Registration

User

Login

Page 36: 2 thu thap va mo hinh yeu cau

3604/12/23

Quan hệ phụ thuộc giữa các use case Quan hệ bao gồm (Include) Quan hệ mở rộng (Extend)

Page 37: 2 thu thap va mo hinh yeu cau

3704/12/23

Quan hệ Include Một use case luôn luôn bao gồm dãy

các ứng xử của một use case khác Được dùng để tách một dãy các ứng

xử giống nhau mà được dùng bởi nhiều use case

Withdraw

Client

View Balance

List Account

<<include>>

<<include>>

Page 38: 2 thu thap va mo hinh yeu cau

3804/12/23

Quan hệ Extend Một use case cung cấp thêm chức năng

cho một use case khác Biểu diễn ứng xử tùy chọn, nhiều công việc khác

nhau được thực hiện dựa vào việc chọn lựa của actor.

Chỉ được kích hoạt dưới một điều kiện nào đó. Điểm mở rộng (extension points) trình bày điều

kiện khi nào việc mở rộng xảy ra.

View BalancePrint Balance

<<extend>>

Page 39: 2 thu thap va mo hinh yeu cau

3904/12/23

Actor Generalization Một actor có

thể tham gia vào tất cả các truyền thông với các use case mà "super actor" có, ngoài các use case khác của nó.

LoginUser

Register for CoursesStudent

Select Courses to TeachProfessor

Close RegistrationRegistrar

Page 40: 2 thu thap va mo hinh yeu cau

4004/12/23

Use-Case Specifications Name Actors Brief description Flow of Events Relationships Activity diagrams Use-Case diagrams Special

requirements Pre-conditions Post-conditions Other diagrams

Page 41: 2 thu thap va mo hinh yeu cau

4104/12/23

Use-Case Specifications Brief description describes the role and

purpose of the use case. Actors Flow of events are textual descriptions of what

the system does with regard to the use case. There can be multiple flows of events — for example, a basic flow and alternative flows.

Pre-conditions define a constraint on the system regarding when the use case may start.

Post-conditions define a constraint on the system that applies after the use case has terminated.

Page 42: 2 thu thap va mo hinh yeu cau

4204/12/23

Use-Case Specifications Relationships are communicates-associations.

The use case includes and extends relationships that the use case participates in.

Activity diagrams can be used to illustrate the structure of the flow of events.

Use-case diagrams can be used to show the relationships involving the use case.

Special requirements is a textual description that collects all use-case requirement

Other diagrams can be used to illustrate the use case, like hand-drawn sketches or screen captures from an user-interface prototype.

Page 43: 2 thu thap va mo hinh yeu cau

4304/12/23

Use-Case Flows of Events Là dãy các hành động

mà hệ thống phải thực hiện và tương tác với actor để thực hiện Use case

Has one normal, basic flow (Main Flow or Happy Path)

Several alternative flows Các biến thể thường gặp

(Regular variants) Các trường hợp bất thường

(Odd cases) Exceptional flows xử lý các

tình huống lỗi

“Happy Path”

Page 44: 2 thu thap va mo hinh yeu cau

4404/12/23

Scenario là một thể hiện của use case, là một dòng sự kiện qua một use case

Mỗi use case có thể có nhiều kịch bản thực hiện. Phải tìm ra một kịch bản tiêu biểu giải quyết

chung cho hầu hết các trường hợp Dòng sự kiện chính (Main Flow)

Các trường hợp thay đổi khác sẽ xử lý riêng Dòng lựa chọn hay dòng ngoại lệ (Alternative Flow)

Scenarios là gì ?

Page 45: 2 thu thap va mo hinh yeu cau

4504/12/23

Đặc tả use case: Rent Video Brief Description

Use case này cho phép nhân viên cửa hàng xử lý yêu cầu thuê băng hoặc đĩa video của khách hàng.

Actors Nhân viên (Employee), Thiết bị quét (Scanning

Device) Preconditions

Không Postconditions

Videos được cho khách hàng thuê và cơ sở dữ liệu được cập nhật tương ứng.

Page 46: 2 thu thap va mo hinh yeu cau

4604/12/23

Đặc tả use case: Rent Video (tt) Main Flow

Use case bắt đầu khi khách hàng muốn thuê băng đĩa1. Nhân viên dùng thiết bị quét thẻ thành viên của

khách hàng.2. Hệ thống kiểm tra băng đĩa video thuê quá hạn và

mức độ đáng tin của khách hàng.3. Nhân viên quét mã vạch của các video khách hàng

muốn thuê. Số lượng băng đĩa khách hàng thuê tối đa là 8.

4. Nhân viên nhập ngày thuê và hạn trả cho từng bản ghi thuê video.

5. Hệ thống tính toán và hiển thị lệ phí thuê video.6. Sau khi khách hàng thanh toán, nhân viên in biên

nhận thuê video và chọn chức năng Save 7. Hệ thống cập nhật các bản ghi thuê video.

Page 47: 2 thu thap va mo hinh yeu cau

4704/12/23

Đặc tả use case: Rent Video (tt) Alternative Flows

1. Khách hàng có video quá hạnHệ thống sẽ hiển thị nhắc nhở và ghi chú “quá hạn” tới khách hàng và use case kết thúc. Nếu video không được trả trong vòng 2 ngày kể từ hạn trả, một ghi chú khác được khởi tạo và khách hàng bị ghi nhận là “đã vi phạm” (không đáng tin)

2. Khách hàng không đáng tinKhách hàng sẽ được yêu cầu đóng tiền thế chấp cho từng video thuê

3. Khách hàng không có thẻ thành viênNhân viên sẽ kích hoạt use case Maintain Customer để đăng ký và cấp thẻ cho khách hàng.

4. Nếu nhiều hơn 8 video được thuê, hệ thống sẽ hiển thị nhắc nhở.

5. Thẻ thành viên hoặc video bị hư, máy quét không thể nhận được, hệ thống sẽ hiển thị nhắc nhở.

Page 48: 2 thu thap va mo hinh yeu cau

4804/12/23

Viết kịch bản use case dạng 2 cột

Actor: Employee Video Store System1. Nhân viên dùng thiết bị quét thẻ

thành viên của khách hàng.2. Hệ thống kiểm tra băng đĩa

video thuê quá hạn hoặc mức độ đáng tin của khách hàng

3. Nhân viên sẽ quét mã vạch của các video khách hàng muốn thuê. Số lượng băng đĩa khách hàng thuê phải nhỏ hơn 8

4. Nhân viên nhập ngày thuê và hạn trả cho từng bản ghi thuê video.

5. Hệ thống tính toán và hiển thị lệ phí thuê video

6. Sau khi khách hàng thanh toán, nhân viên in biên nhân thuê video và chọn chức năng Save

7. Hệ thống cập nhật các bản ghi thuê video.

Page 49: 2 thu thap va mo hinh yeu cau

Đặc tả use case: Register for Courses Tóm tắt

Use case này cho phép một sinh viên đăng ký các lớp học được mở trong học kỳ hiện tại. Sinh viên còn có thể cập nhật hoặc xóa các lớp học đã chọn nếu các thay đổi này diễn ra trong thời gian cho phép thay đổi đăng ký vào đầu học kỳ.

Actor Student

Điều kiện tiên quyết Student phải đăng nhập vào hệ thống trước khi use

case bắt đầu. Post-Conditions

Nếu use case thành công, các lớp mà sinh viên chọn học sẽ được cập nhật vào lịch học của sinh viên. Ngược lại, trạng thái của hệ thống vãn không đổi.

4904/12/23

Page 50: 2 thu thap va mo hinh yeu cau

5004/12/23

Đặc tả use case: Register for Courses Dòng sự kiện chính

Use Case này bắt đầu khi một sinh viên muốn đăng ký học phần, hoặc thay đổi lịch học đã đăng ký.

1. Hệ thống yêu cầu sinh viên chọn chức năng muốn thực hiện: Create a Schedule, Update a Schedule, Delete a Schedule.

2. Nếu sinh viên chọn “Create a Schedule”, luồng phụ Create a Schedule được thực hiện.Nếu sinh viên chọn “Update a Schedule”, luồng phụ Update a Schedule được thực hiện.Nếu sinh viên chọn “Delete a Schedule”, luồng phụ Delete a Schedule được thực hiện.

Page 51: 2 thu thap va mo hinh yeu cau

Đặc tả use case: Register for Courses Các dòng sự kiện phụ

Create a Schedule1. Hệ thống lấy danh sách học phần có mở trong học kỳ từ hệ thống Course

Catalog System và thể hiện dưới dạng danh sách cho sinh viên chọn.2. Sinh viên chọn 4 học phần bắt buộc và hai học phần tự chọn từ danh sách

trên.3. Sau khi sinh viên chọn, hệ thống tạo một lịch học chứa những học phần

sinh viên đã đăng ký.4. Sinh viên kiểm tra và xác nhận lịch học, Submit Schedule được thực thi.

Update a Schedule1. Hệ thống lấy và hiển thị lịc học mà sinh viên đã đăng ký (trong học kỳ hiện

tại)2. Hệ thống lấy danh sách học phần có mở trong học kỳ từ hệ thống Course

Catalog System và thể hiện dưới dạng danh sách cho sinh viên chọn.3. Sinh viên có thể cập nhật lại bằng cách xóa và tạo mới. Sinh viên có thể

chọn thêm những học phần mới hoặc loại bỏ những học phần đã đăng ký. 4. Sau khi sinh viên lựa chọn xong, hệ thống cập nhật lại lịch học cho sinh

viên.5. Luồng sự kiện Submit Schedule được thực hiện.

5104/12/23

Page 52: 2 thu thap va mo hinh yeu cau

Đặc tả use case: Register for Courses Các dòng sự kiện phụ

Delete a Schedule1. Hệ thống lấy và hiển thị lịch học mà sinh viên đã đăng ký (trong học kỳ hiện

tại).

2. Hệ thống yêu cầu sinh viên xác nhận việc xóa.

3. Sinh viên xác nhận việc xóa.

4. Hệ thống xóa lịch học của sinh viên.

5. Hệ thống xóa lịch học của sv

Submit Schedule1. Đối với mỗi học phần trong lịch học, chưa được đánh dấu là “enrolled in”,

2. Hệ thống sẽ kiểm tra sinh viên đã đủ những điều kiện tiên quyết chưa, học phần đó có mở và không có mâu thuẫn trong lịch học (như là trùng giờ...).

3. Hệ thống sẽ thêm sinh viên vào học phần đã chọn. Học phần được đánh dấu là “enrolled in” trong lịch học. Lịch học được lưu vào hệ thống.

5204/12/23

Page 53: 2 thu thap va mo hinh yeu cau

Đặc tả use case: Register for Courses Alternative Flows

Save a Schedule Tại mọi thời điểm sinh viên có thể chọn lưu lịch học trước khi

submit. Unfulfilled Prerequisites, Course Full, or Schedule

Conflicts Nếu luồng sự kiện phụ Submit Schedule, nếu sinh viên chưa

chọn đủ các học phần theo qui định, hoặc học phần đã đầy, hoặc trong lịch học bị xung đột giữa các học phần (trùng giờ...), thông báo lỗi sẽ được gửi đến sv.Sinh viên phải chọn học phần khác và use case tiếp tục hoặc sinh viên hủy việc đăng ký và use case khởi tạo lại từ đầu.

No Schedule Found Khi trong hai luồng sự kiện Update a Schedule Delete a

Schedule, hệ thống không nhận được lịch học của sinh viên, thông báo lỗi sẽ hiễn thị trên màn hình.

Page 54: 2 thu thap va mo hinh yeu cau

Đặc tả use case: Register for Courses Alternative Flows

Course Catalog System Unavailable Nếu không kết nối được với hệ thống Course Catalog, hệ

thống sẽ hiển thị thông báo cho sinh viên.

Course Registration Closed Khi thời gian đăng ký cho học kỳ hiện tại đã kết thúc, sinh

viên vào đăng ký sẽ nhận được thông báo và hệ thống không cho phép sinh viên tiếp tục.

Delete Cancelled Nếu trong dòng sự kiện phụ Delete A Schedule, sinh viên

quyết định không xóa lịch học, lệnh xóa bị huỷ bỏ và Dòng sự kiện chính được re-started lại từ đầu.

Page 55: 2 thu thap va mo hinh yeu cau

5504/12/23

What Is an Activity Diagram? An activity diagram in the Use-Case Model can

be used to capture the activities in a use case. It is essentially a flow chart, showing flow of

control from activity to activity.

Flow of Events

This use case starts when the Registrar requests that the system close registration.

1. The system checks to see if registration is in progress. If it is, then a message is displayed to the Registrar and the use case terminates. The Close Registration processing cannot be performed if registration is in progress.

2. For each course offering, the system checks if a professor has signed up to teach the course offering and at least three students have registered. If so, the system commits the course offering for each schedule that contains it.

Page 56: 2 thu thap va mo hinh yeu cau

5604/12/23

Example: Activity Diagram of Register for Course Usecase

Page 57: 2 thu thap va mo hinh yeu cau

5704/12/23

UI Prototype là các phác thảo giao diện người dùng (User interface – UI) để hỗ trợ viết kịch bản use case một cách hiệu quả.

Ví dụ: Renting Video prototype

UI Prototype

Page 58: 2 thu thap va mo hinh yeu cau

5804/12/23

Glossary

Bảng chú giảiGiới thiệu

Tài liệu này được dùng để định nghĩa các thuật ngữ đặc thù trong lĩnh vực của bài toán, giải thích các từ ngữ có thể không quen thuộc đối với người đọc trong các mô tả use case hoặc các tài liệu khác của dự án. Thường thì tài liệu này có thể được dùng như một từ điển dữ liệu không chính thức, ghi lại các định nghĩa dữ liệu để các mô tả use case và các tài liệu khác có thể tập trung vào những gì hệ thống phải thực hiện.

Các định nghĩa

Bảng chú giải này bao gồm các định nghĩa cho các khái niệm chính trong Hệ thống đăng ký học phần.

Course (Học phần): Một môn học được dạy trong trường.

Course Offering (Lớp): Một lớp cụ thể được mở cho một học phần trong một học kỳ cụ thể – cùng một học phần có thể được mở song song nhiều lớp trong một học kỳ. Thông tin bao gồm cả ngày và giờ học trong tuần.

Course Catalog (Danh mục học phần): Danh mục đầy đủ của tất cả các học phần được dạy trong trường.

Page 59: 2 thu thap va mo hinh yeu cau

5904/12/23

Supplementary Specification Include the nonfunctional

requirements and functional requirements not captured by the use cases.

Include constraints on the implementation. Functionality (Chức năng) Usability (Tính dễ dùng) Reliability (Tính đáng tin) Performance (Hiệu suất) Supportability (Tính hỗ trợ) Design constraints (Ràng buộc thiết

kê)

Page 60: 2 thu thap va mo hinh yeu cau

6004/12/23

Chức năng Hỗ trợ nhiều người dùng làm việc đồng thời. Nếu một lớp bị hết chỗ khi một sinh viên đang đăng ký học của lớp đó

thì sinh viên này phải được thông báo. Tính dễ dùng

Giao diện nguời dùng tương thích Windows 95/98. Tính ổn định

Hệ thống phải hoạt động liên tục 24 giờ/ngày, 7 ngày/tuần, với thời gian ngừng hoạt động không quá 10%.

Hiệu suất Hệ thống phải hỗ trợ đến 2000 người dùng truy xuất CSDL trung tâm

đồng thời bất kỳ lúc nào, và đến 500 người dùng truy xuất các server cục bộ.

Hệ thống phải truy xuất đến CSDL danh mục học phần cũ với độ trễ không quá 10 giây.

Hệ thống phải có khả năng hoàn tất 80% giao dịch trong vòng 2 phút. Sự hỗ trợ

Không có. Các ràng buộc thiết kế

Hệ thống tích hợp với Hệ thống danh mục học phần có sẵn, một CSDL RDBMS.

Hệ thống phải cung cấp giao diện dựa Web.

Supplementary Specification