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 [r]
(1)Chương 2:
THU THẬP MƠ HÌNH U CẦU
(2)Nội dung
Mục đích thu thập mơ hình yêu cầu Định nghĩa yêu cầu
Phát yêu cầu (Requirements Elicitation)
Đàm phám phê chuẩn yêu cầu (Requirements
(3)Requirements in Context
The 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.
(4)Định nghĩa yêu cầu
"A requirement is a condition or capability to
which a system must conform"
Yêu cầu dịch vụ (services) mong đợi
(5)Phân loại yêu cầu
Yêu cầu chức (Function requirements):
hành động mà hệ thống thực mà không xem xét ràng buộc vật lý.
Các dịch vụ hệ thống (System services): chức mà
hệ thống cung cấp
Yêu cầu liệu (Data requirements): liệu mà hệ
thống phải xử lý
Yêu cầu phi chức (Non-Function
Requirements): ràng buộc hệ thống, thuộc tính mơi trường hệ thống.
Yêu cầu giao diện (Look and Feel), Yêu cầu thực
(6)Các hành động bước yêu cầu
Use Case Model Requirements
List Candidate
Requirements
Elicit
requirements Project Initiation
Document
Select requirements
Develop use cases
Requirements discipline
(7)Các kỹ thuật kết quả
Các kỹ thuật Artifact: Kết quả
Requirements Elicitation:
Phát 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 chức giao diện người dùng hệ thống
Glossary: Bảng giải Requirements List: Danh
sách yêu cầu
Use Case Model: mơ hình
usecase
Prototypes: phác thảo
(8)Phát yêu cầu
Mục đích:
Nhận diện cá nhân liên quan (stakeholders) tới dự án
Tập hợp yêu cầu mà hệ thông phải thực
Sắp thứ tự ưu tiên yêu cầu.
Các bước thực hiện:
Xác định nguồn yêu cầu
Thu thập thông tin
Hội thảo để phát yêu cầu (Conduct Requirements
Workshops)
Prototyping
(9)Xác định nguồn yêu cầu
Các cá nhân stakeholder
Stakeholder cá nhân có ảnh hưởng tới kết dự án,
các đối tượng làm việc để thu thập thông tin
Một nguồn thông tin quan trọng khác tài liệu
tồn tổ chức mô tả hoạt động hệ thống sử dụng
Có thể mơ hình nghiệp vụ (business models) Hoặc biểu mẫu thương mại khác
Xác định thứ tự ưu tiên nguồn thông tin yêu
(10)Thu thập thông tin
Mục đích:
Xác định câu hỏi cần trả lời
Thu thập viết tài liệu cho thông tin thu thập
Các phương pháp truyền thống để thu thập thông
tin
Interviewing: Phỏng vấn khách hàng chuyên gia 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 tài liệu
(11)Interviewing – Phỏng vấn
Phỏng vấn nhằm đạt hiểu biết sâu mục tiêu tổ chức, vai
trò yêu cầu người dùng
Phỏng vấn người quản lý để hiểu mục tiêu Phỏng vấn nhân viên để xác định vai trò yêu cầu thông tin Phỏng vấn chuyên gia để có tri thức lĩnh vực xem xét
Phỏng vấn cấu trúc (Structured interview)
Các câu hỏi xác định trước có lịch vấn rõ ràng
Phỏng vấn không cấu trúc (Unstructured interview)
Gặp mặt khơng 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 vấn cho ý kiến Biased: Câu hỏi định hướng để tìm câu trả lời cụ thể
(12)Questionnaires - Bảng câu hỏi
Nhằm đạt thơng tin từ nhiều người kết
phân tích thống kê.
Đặc điểm:
Bảng câu hỏi gởi qua thư, email, dựa web Dùng thu thập ý kiến kiện
Bảng câu hỏi phải thiết kế tốt dễ trả lời
Các loại câu hỏi
Câu hỏi mở: câu trả lời khơng đốn trước
Câu hỏi đóng: Câu trả lời chọn từ danh sách cung cấp trước Có thể dùng câu hỏi đóng 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
(13)Observation - Quan sát
Nhằm tìm kiếm điều thực xảy ra,
điều người ta nói.
Bao gồm:
Quan sát người ta thực xử lý công việc
điều xảy ra.
Quan sát thụ động: Quan sát hoạt động mà không bị dừng
ngang không tham gia trực tiếp dùng camera
Quan sát chủ động: Tham gia trực tiếp vào hoạt động xử lý
thương mại
Đi theo xử lý từ đầu đến cuối.
Đạt liệu định lượng để làm sở cho cải
(14)Background reading
Nhằm tìm hiểu tổ chức mục tiêu kinh doanh
của nó.
Bao gồm:
Tài liệu tổ chức
Các biểu mẫu thương mại, thủ tục làm việc, miêu tả công việc,
các kế hoạch thương mại, hướng dẫn (manuals), biểu đồ tổ chức …
Tài liệu hệ thống tồn tại
Các biểu mẫu (forms) báo cáo (reports), tài liệu người dùng,
tài liệu phân tích thiết kế hệ thống, …
Các yêu cầu tri thức lĩnh vực liên quan
(15)Các phương pháp phát yêu cầu
Được sử dụng rủi ro dự án cao, 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 tài liệu hóa Các 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 yêu cầu
Prototyping
(16)Hội thảo phát yêu cầu
Mục đích
Tạo điều kiện cho nhóm dự án gặp stakeholder dự án Để thu thập yêu cầu tinh tế từ stakeholder
Để thứ tự yêu cầu tập hợp dựa stakeholder tham dự
hội thảo
Có thể sử dụng số kỹ thuật phát thông tin
Brainstorming: Thảo luận tập thể
Trong thời gian ngắn, cho phép người trình bày ý kiến, hay cảm nhận
quan trọng dự án
Role playing: Đóng kịch
Từng thành viên phân vai trò đáng quan tâm dự án Thảo luận
ghi nhận trách nhiệm vaui trò
Một kỷ thuật tổ hợp với Role playing Class Responsibility Collaboration
(17)Prototyping – Tạo hệ thống phác thảo
Prototype hệ thống có tính trình diễn
Một mơ hình làm việc “nhanh thơ” giải pháp cho hệ thống,
nhằm kiểm tra số chức
Có thể miêu tả GUI cho ứng xử khác hệ thống
Nột dung thông tin GUI mã cứng (hard-coded) truy
cập động từ CSDL
Không thể thiếu quy trình phát triển phần mềm
Tính khả thi hữu dụng hệ thống ước lượng qua prototype
trước thực cài đặt Thường dùng khi:
Hệ thống xây dựng cho chức thương mại Dùng trình xây dựng kịch cho use case Các yêu cầu xung đột
(18)Các kiểu Prototyping
“Throw-away” prototype – hệ thống phác thảo bỏ đi
Bỏ tiến trình tìm kiếm u cầu hồn tất Tập trung vào yêu cầu hiểu biết Thường thực bước xác định yêu cầu
Evolutionary prototype – hệ thống phác thảo tiến hóa
Được giữ lại sau tiến trình tìm kiếm yêu cầu hoàn tất Thường đưa cho sản phẩm cuối
Hướng đến việc phát triển nhanh hệ thống cách tập trung vào
(19)Đàm phám phê chuẩn yêu cầu
Yêu cầu phát từ khách hàng thường:
Chồng chéo xung đột. Mơ hồ không thực tế.
Một số yêu cầu chưa khám phá.
Cần đàm phán với khách hàng đẩ phê chuẩn yêu cầu
trước 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 yêu cầu phạm vi (Out of scope
requirements)
Xác định yêu cầu chồng chéo xung đột.
(20)Xác định yêu cầu phạm vi
Là nhiệm vụ bước phân tích yêu cầu nhằm xác định
biên hệ thống (system boudary)
Dùng lược đồ ngữ cảnh (context diagram) để định nghĩa phạm vi hệ
thống
Các yêu cầu phân loại phạm vi do:
Quy định ràng tổ chức Giới hạn ngân quỹ dự án
Quá khó cài đặt vào hệ thống máy tính
Có quyền ưu tiên thấp loại khỏi phiên hệ
thống
Được cài đặt thiết bị phần cứng khác, nằm điều khiển
(21)Chương 2:
THU THẬP MƠ HÌNH U CẦU
(22)Nhắc lại: Các hành động bước yêu cầu
Use Case Model Requirements
List Candidate
Requirements
Elicit
requirements Project Initiation
Document
Select requirements
Develop use cases
Requirements discipline
(23)Tài liệu kết bước yêu cầu
Các đặc tả bổ sung (Supplementary
Specification) Bảng giải
(Glossary)
Các đặc tả Use Case
Use-Case Model
Actors
(24)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,
(25)Lược đồ Use Case
Actor Communication Use case
association
Withdraw Client
(26)Actor
Actor vai trò 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 use case.
Ở bên hệ thống cần dịch vụ hệ thống. Một vai trị khơng phải người cụ thể.
Nhận diện Actor:
Ai cần đến dịch vụ cung cấp hệ thống? Hệ thống dùng đâu tổ chức?
Ai có lợi ích từ việc dùng hệ thống?
Ai cung cấp, dùng, hủy thông tin hệ thống? Ai hỗ trợ bảo trì hệ thống?
(27)Use case
Use case dãy hành động mà hệ thống
thực nhằm đạt kết giá trị có thể nhận biết cho actor cụ thể.
Biểu diễn đơn vị chức đầy đủ.
Một đơn vị chức nhìn thấy từ bên ngồi Mỗi use case kích hoạt actor
Một kích hoạt, tương tác hay cung cấp kết cho
actor khác Phát từ
(28)Quan hệ actor use case
Communication Association :
Biểu diễn truyền thông actor use case
Hướng mũi tên biểu diễn kích hoạt việc truyền thông.
Withdraw Client
Bank System
Client kích hoạt use case Withdraw
(29)Ví dụ: Hệ thống đăng ký học phần
Hệ thống cho phép sinh viên đăng ký học phần xem
phiếu điểm từ máy tính cá nhân kết nối vào
mạng nội trường Các giáo sư truy cập hệ thống để đăng ký lớp dạy nhập điểm cho môn học.
Trường giữ lại sở liệu sẵn có danh mục học
phần mà lưu trữ tồn thơng tin học phần Hệ thống mới đọc thông tin học phần CSDL cũ khơng cập nhật chúng Phịng Đào tạo tiếp tục trì các thơng tin học phần thông qua hệ thống khác.
Đầu học kỳ, sinh viên yêu cầu danh sách học
(30) Hệ thống cho phép sinh viên chọn bốn học phần mở
học kỳ tới Thêm vào sinh viên đưa hai môn học thay thế trường hợp đăng ký theo nguyện vọng Các học phần mở có tối đa là 100 tối thiểu 30 sinh viên Các học phần có 30 sinh viên bị hủy Đầu học kỳ, sinh viên có một khoảng thời gian để thay đổi lịch học phần đăng ký Sinh viên thêm hủy học phần đăng ký khoảng thời gian Khi q trình đăng ký hồn tất cho sinh viên, hệ thống đăng ký gửi thông tin tới hệ thống toán (billing system) để sinh viên đóng học phí Nếu lớp bị hết chỗ trình đăng ký, sinh viên phải thông báo thay đổi trước xác nhận lịch học phần đăng ký.
Ở cuối học kỳ, sinh viên truy cập vào hệ thống để xem phiếu
điểm Bởi điểm sinh viên thơng tin nhạy cảm cần giữ kín, nên hệ thống phải có chế bảo mật để ngăn chặn truy cập không hợp lệ.
Các giáo sư truy cập vào hệ thống để đăng ký những học phần
(31)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:
Hệ thống quản lý danh mục học phần (Course Catalog
System)
(32)Nhận diện Use Case
Chức cho actor:
Đăng nhập hệ thống (Login)
Các chức sử dụng Student:
Đăng ký học phần (Register for Course) Xem phiếu điểm (View Report Card)
Các chức sử dụng Professor:
Đăng ký môn dạy (Select Courses to Teach) Nộp điểm (Submit Grades)
Nhiệm vụ Registrar:
Kết thúc đăng ký (Close Registration)
(33)View Report Card
Student
Register for Courses
Submit Grades
Course Catalog System
Professor
Select Courses to Teach
Maintain
Maintain
Professor Information
Billing System Registrar
Close Registration User
(34)Video Store
Cho khách hàng thuê băng đĩa video
Tất băng đĩa mã vạch
(bar-coded) dùng thiết bị quét tích hợp với hệ thống để đọc.
Thẻ khách hàng thành viên mã vạch. Các khách hàng có thẻ thành viên đặt thuê
trước băng video nhận ngày cụ thể đó.
Trả lời câu hỏi khách hàng, bao gồm
(35)Nhận diện actor
Người dùng:
Nhân viên (Employee)
Thiết bị:
(36)Nhận diện Use Case
Chức Employee:
Reserve Video Order Video Answer Inquiry
Maintain Customer Information Maintain Video Information
Các chức kích họat Scanning Device:
(37)Video Store - Use case diagram
Rent Video
Return Video
Reserve Video Scanning Device
Maintain Customer Answer Enquiry Employee
(38)Quan hệ phụ thuộc use case
(39)Quan hệ Include
Một use case luôn bao gồm dãy ứng xử
của use case khác
Được dùng để tách dãy ứng xử mà
dùng nhiều use case
Withdraw Client
View Balance
List Account
<<include>>
(40)Quan hệ Extend
Một use case cung cấp thêm chức cho use
case khác
Biểu diễn ứng xử tùy chọn, nhiều công việc khác
thực dựa vào việc chọn lựa actor.
Chỉ kích hoạt điều kiện đó.
Điểm mở rộng (extension points) trình bày điều kiện
việc mở rộng xảy ra.
View Balance Print Balance
(41)Actor Generalization
Một actor
tham gia vào tất cả truyền
thông với use case mà "super actor" có, ngồi các use case khác của nó.
Login User
Register for Courses Student
Select Courses to Teach Professor
(42)Use-Case Specifications
Name
Actors
Brief description Flow of Events Relationships
Activity diagrams Use-Case diagrams Special requirements Pre-conditions
(43)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.
(44)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
(45)Use-Case Flows of Events
Là dãy hành động mà hệ thống phải thực tương tác vói
actor để thực 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ý tình lỗi
(46) Scenario thể use case, dòng
sự kiện qua use case
Mỗi use case có nhiều kịch thực hiện.
Phải tìm kịch tiêu biểu giải chung cho hầu
hết trường hợp Dịng kiện (Main Flow) Các trường hợp thay đổi khác xử lý riêng Dòng lựa
chọn hay dòng ngoại lệ (Alternative Flow)
(47)Đặc tả use case: Select Courses to Teach
Tóm tắt
Use case cho phép giáo sư chọn từ danh mục học phần lớp
học mà minh dạy muốn dạy học kỳ tới Actor
Professor
Điều kiện tiên quyết
Giáo sư phải đăng nhập vào hệ thống trước use case bắt đầu
Post-Conditions
Nếu use case thành công, lớp mà giáo sư chọn dạy cập
(48)Đặc tả use case: Select Courses to Teach
Dịng kiện chính
Use case bắt đầu giáo sư muốn đăng ký dạy số lớp học kỳ tới
1 Hệ thống truy xuất hiển thị danh sách lớp mà giáo sư dạy
trong học kỳ Hệ thống truy xuất hiển thị lớp học mà giáo sư đăng ký dạy
2 Giáo sư chọn thêm/bỏ bớt lớp mà minh muốn dạy học kỳ
tới
3 Hệ thống xóa giáo sư khỏi lớp bị giáo sư bỏ bớt
4 Hệ thống kiểm tra lớp học chọn xem có mâu thuẫn với
(49)Đặc tả use case: Select Courses to Teach
Dịng kiện khác
Khơng có lớp học
Nếu Dịng kiện chính, giáo sư không chọn dạy môn mở học kỳ tới hệ thống hiển thị thông báo lỗi Giáo sư xác nhận thông báo use case kết thúc
Mâu thuẫn lịch dạy
Nếu hệ thống tìm thấy mâu thuẫn lịch dạy giáo sư đăng ký lớp dạy, hệ thống hiển thị thông báo lỗi Hệ thống lớp học gây mâu thuẫn Giáo sư giải mâu thuẫn (ví dụ hủy dạy số lớp) hủy thao tác Trong trường hợp này, chọn lựa giáo sư bị usee case kết thúc
Hệ thống Danh mục học phần không sẵn sàng
Nếu hệ thống kết nối với Hệ thống Danh mục học phần, hệ thống hiển thị thông báo lỗi Giáo sư xác nhận thông báo lỗi use case kết thúc
Đăng ký học phần bị đóng
(50)Đặc tả use case: Rent Video
Brief Description
Use case cho phép nhân viên cửa hàng xử lý yêu cầu
thuê băng đĩa video khách hàng. Actors
Nhân viên (Employee), Thiết bị quét (Scanning Device)
Preconditions
Không
Postconditions
Videos cho khách hàng thuê sở liệu
(51)Đặc tả use case: Rent Video (tt)
Main Flow
1 Nhân viên dùng thiết bị quét thẻ thành viên khách hàng.
2 Hệ thống kiểm tra băng đĩa video thuê hạn mức độ đáng
tin khách hàng.
3 Nhân viên quét mã vạch video khách hàng muốn thuê Nếu số lượng băng đĩa khách hàng thuê nhỏ 8, hệ thống chọn
một video tương ứng có sẵn cho khách hàng.
5 Nhân viên nhập ngày thuê hạn trả cho ghi th video Hệ thống tính tốn hiển thị lệ phí thuê video.
7 Sau khách hàng toán, nhân viên in biên nhận thuê video
và chọn chức Save
(52)Đặc tả use case: Rent Video (tt)
Alternative Flows
1 Khách hàng có video hạn
Hệ thống hiển thị nhắc nhở ghi “quá hạn” tới khách hàng use case kềt thúc Nếu video khơng trả vịng ngày kể từ hạn trả, ghi khác khởi tạo khách hàng bị ghi nhận “đã vi phạm” (không đáng tin)
2 Khách hàng không đáng tin
Nhân viên yêu cầu khách hàng đóng tiền chấp cho video thuê
3 Khách hàng khơng có thẻ thành viên
Nhân viên kích hoạt use case Maintain Customer để đăng ký cấp thẻ cho khách hàng
4 Nếu nhiều video thuê, hệ thống hiển thị nhắc nhở
5 Nếu khơng cịn video thuê, hệ thống hiển thị nhắc nhở
6 Thẻ thành viên video bị hư, máy quét nhận được, hệ
(53)Viết kịch use case dạng cột
Employee Video Store System
1 Nhân viên dùng thiết bị quét thẻ
thành viên khách hàng. 2 Hệ thống kiểm tra băng đĩa video thuê hạn mức độ đáng tin khách hàng 3 Nhân viên quét mã vạch
các video khách hàng muốn thuê. 4 Nếu số lượng băng đĩa khách hàng thuê nhỏ 8, hệ thống chọn video tương ứng có sẵn cho khách hàng. 5 Nhân viên nhập ngày thuê hạn
trả cho ghi thuê video 6 Hệ thống tính tốn hiển thị lệ phí thuê video 7 Sau khách hàng toán,
nhân viên in biên nhân thuê video và chọn chức Save
(54)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 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
(55)(56) Prototype chương trình với chức giới hạn xây
dựng để kiểm tra hệ thống làm việc nào.
Prototype xây dựng cho giao diện người dùng
(User interface – UI) để hỗ trợ viết kịch use case cách hiệu quả.
Ví dụ: Renting Video prototype
(57)Glossary
Bảng giải
Giới thiệu
Tài liệu dùng để định nghĩa thuật ngữ đặc thù lĩnh vực tốn, giải thích từ ngữ không quen thuộc người đọc mô tả use case tài liệu khác dự án Thường tài liệu dùng từ điển liệu khơng thức, ghi lại định nghĩa liệu để mô tả use case tài liệu khác tập trung vào hệ thống phải thực
Các định nghĩa
Bảng giải bao gồm định nghĩa cho khái niệm Hệ thống đăng ký học phần
Course (Học phần): Một môn học dạy trường
Course Offering (Lớp): Một lớp cụ thể mở cho học phần học kỳ cụ thể – học phần mở song song nhiều lớp học kỳ Thông tin bao gồm ngày học tuần
(58)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ợ
(59) Chức năng
Hỗ trợ nhiều người dùng làm việc đồng thời
Nếu lớp bị hết chỗ sinh viên đăng ký học lớp sinh viên
phải 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, ngày/tuần, với thời gian ngừng hoạt
động không 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
lúc nào, đến 500 người dùng truy xuất server cục
Hệ thống phải truy xuất đến CSDL danh mục học phần cũ với độ trễ không 10 giây Hệ thống phải có khả hồn tất 80% giao dịch vịng 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, CSDL RDBMS