Hệthống có biên (boundary) hình chữnhật phân tách
hệthống khám bệnh vớinhững actor bên ngoài hệ thống khám bệnh với những actor bên ngoài
Một sựtổng quát hóa (generalization) use case cho
biết một một use case la một một loại đặc biệt của
một use case khác theo quan hệcha con
Quan hệinclude phân tách một use case thành 2 use
khá h ó hữ dù khi hâ tá h caes khác nhau, nó hữu dùng khiphân táchra use
case dùng chung
Mộtquanhệextend chỉ ra một use case là mộtmức Một quan hệ extend chỉ ra một use case là một mức
biến đổi của một use case khác. Điểm mởrộng
(extension
471 trang |
Chia sẻ: netpro | Lượt xem: 2804 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Giáo trình thu nhận yêu cầu, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
cầu
Ma trận CRUD
Viết tắt của Create, Read, Update, Delete.
Ma trận CRUD cho sự tương quan giữa các hoạt
động của hệ thống với các thực thể dữ liệu giúp
t biết đượ mỗi m dữ liệ đượ t o đọ ậpa c ục u c ạ , c, c
nhật, xóa ở đâu và như thế nào.
9
Thu nhận yêu cầu
CRUD cho hệ thống theo dõi hóa chất
Requester ???
10
Thu nhận yêu cầu
Kiểm tra
Có ký tự nào trong 5 ký tự CRUD không xuất hiện
t 1 ột à đó khô ?rong c n o ng
Một cột không có ký tự C Æ đối tượng được cập
nhật mà không bao giờ được tạo ra? Nếu vậy
chúng được tạo ra từ đâu?
11
Thu nhận yêu cầu
Phân tích
Cột Requester không chứa D, không có use case
à ó thể ó R t B khả ă ản o c x a eques er. a n ng x y ra:
1. Deleting a Requester is not an expected function
of the Chemical Tracking System .
2. We are missing a use case that deletes a
Requester.
3. The "Edit Requesters" use case is incorrect.
12
Thu nhận yêu cầu
Khi nào thì kết thúc?
Nếu người dùng không thể nghĩ ra thêm 1 use
à khácase n o c.
Nếu người dùng đề nghị các use case mới nhưng
thự tế húng ó thể đượ diễn á e ec c c c suy c c us cas
khác.
Nếu người dùng lặp lại các vấn đề đã được xét
đến trong các lần thảo luận trước đó.
Nếu các tính chất yêu cầu người dùng yêu cầu , ,
chức năng mới được đề nghị nằm ngoài phạm vi
dự án.
13
Thu nhận yêu cầu
Khi nào thì kết thúc?
Nếu các yêu cầu mới được đề nghị có độ ưu tiên
thấp.
Nếu người dùng đưa ra các khả năng có thể đôi khi
xuất hiện trong sản phẩm.
Tạo một bảng kiểm (checklist) của các miền chức
năng chung.
Tạo checklist bao gồm error logging, backup and
restore, access security, reporting, printing, preview
capabilities, and configuring user preferences.
So sánh định kỳ danh sách này với các chức năng đã
xác định của hệ thống. Nếu không tìm thấy vấn đề
( ) à ó hĩ là hú t đã hâ tí hgap n o c ng a c ng a p n c xong.
14
Thu nhận yêu cầu
Phát hiện và phân tích
15
Thu nhận yêu cầu
3. Phân loại và sắp xếp yêu cầu
Prioritization and Ranking of Requirements
Phân loại ưu tiên là gán mức độ quan trọng cho
yêu cầu bắng cách dùng thẻ (tag) hay nhãn
(l bel)a
Phân loại ưu tiên thường được xác định ngay khi
bắt đầu dự án
1 có nghĩa là quan trọng nhất và 5 là ít quan
trọng nhất .
Sắp xếp là gán 1 thứ tự duy nhất cho mỗi yêu cầu
trong 1 nhóm, sao cho không có 2 yêu cầu nào có
cùng thứ tự
16
Thu nhận yêu cầu
Khi nào dùng?
Sắp xếp xác định tính năng cần có trong sản
hẩ ẽ hát hà hp m s p n
Phân loại ưu tiên thường được dùng khi xác định
ph m i b n đầ ủ hệ thốngạ v a u c a .
17
Thu nhận yêu cầu
Các lưu ý
• Khi phân phối bảng câu hỏi hay phiếu điều tra cho
khá h hà thườ l ô ó â hỏi là ê h độc ng ng u n c c u n n c ọn
ưu tiên nào cho 1 tính năng nào đó của hệ thống
More likely to buy the product no difference less• , ,
likely to buy the product.
• Một vấn đề chung hay xảy ra khi để khách hàng
đánh giá yêu cầu với 3 mức ưu tiên là cao, trung
bình hay thấp thì một số khách hàng sẽ luôn gán
độ ưu tiên là cao cho mọi yêu cầu.
18
Thu nhận yêu cầu
Các kỹ thuật phân loại ưu tiên
Xử lý cấp bậc (Analytic Hierarchy Process – AHP
h i i ki )ay pa rw se ran ng
Trò chơi lập kế hoạch (Planning Game - PG)
19
Thu nhận yêu cầu
Xử lý cấp bậc
Để xếp loại yêu cầu, Stakeholder hay nhà phân
tí h tì 2 ê ầ á h hú à đá h iác m y u c u, so s n c ng v n g
chúng để tìm ra cái nào quan trọng hơn. Quy trình
này sẽ lập lại cho đến khi tất cả yêu cầu được xếp
loại.
Phương pháp này chỉ thích hợp cho những tập
hợp yêu cầu không quá lớn.
Vì các stakeholder khác nhau có thể xếp loại yêu
cầu rất khác nhau, nên tạo qui tắc để thống nhất
nhất các tập yêu cầu được đánh giá khác nhau
20
Thu nhận yêu cầu
Trò chơi lập kế hoạch
Các yêu cầu của stakeholder, các tính năng hay
ê ầ ủ ả hẩ đượ hâ hi thà h 3y u c u c a s n p m c p n c a n
tập hợp theo tiêu chuẩn Kano:
“needed for the system to function”
“add real value”
“nice to have but not necessary”
Thực hiện 1 phân tích rủi ro không chính thức để
xác định mức độ thực thi sau đó quyết định xem ,
nên chọn yêu cầu nào để thực thi.
21
Thu nhận yêu cầu
Đặc tính của phân loại
“Phân loại không thực hiện trong chân không”
Việc xếp loại đánh giá phải dựa vào thực tế
Chi phí và rủi ro luôn có liên quan với nhau.
Một số ngành công nghiệp, có 1 số yêu tố như
mối nguy hiểm cho người dùng và công nghệ mới
ầ hải đượ khả át ù hc n p c o s c ng n au.
22
Thu nhận yêu cầu
Ví dụ
• Kỹ thuật mới cho việc đóng mở cửa số của xe hơi
dù ả biế á h á th ì dù ô tắng c m n n s ng ay v ng c ng c
vật lý như trước đây có chi phí thấp được khách
hàng đánh giá rất cao
• Khi phân tích hiểm họa thì thấy rằng không bảo
đảm an toàn có thể làm cho trẻ con bị thương khi ,
cửa sổ đột ngột mở ra
23
Thu nhận yêu cầu
Khi nào thực hiện?
Phân loại ưu tiên: Việc xác định độ ưu tiên ban
đầ h á ê ầ ủ t k h ld ê đượu c o c c y u c u c a s a e o er n n c
thực hiện càng sớm càng tốt trong chu kỳ phát
triển sản phẩm .
Sắp xếp: Việc xếp loại đánh giá được thực hiện
ngay khi các yêu cầu đã thu thập khá đủ như về
chi phí, tài nguyên …
24
Thu nhận yêu cầu
4. Triển khai chức năng chất lượng
QFD (Quality Function Deployment ) là một kỹ
thuật quản lý chất lượng mà chuyển những nhu cầu
của khách hàng thành những yêu cầu kỹ thuật cho
phần mềm
QFD tậ t à iệ tối đ ự thỏ ã ủ khá h p rung v o v c a s a m n c a c
hàng về qui trình kỹ nghệ phần mềm
QFD nhấn mạnh tới sự hiểu biết những gì là giá trị với
khách hàng và triển khai những giá trị này qua qui
trình kỹ nghệ
QFD dùng phỏng vấn, quan sát, nghiên cứu và kiểm
tra các dữ liệu trong quá khứ. Áp dụng nhiều biện
há đồ hì h hươ há đá h iá ( tp p, n , p ng p p n g … cus omer
voice table)
Thu nhận yêu cầu
Ba loại yêu cầu
Yêu cầu thông thường (Normal Requirements)
Yêu cầu mong đợi (Expected Requirements):
những yêu cầu cơ bản, ngầm định
l f h / hi i i For examp e: ease o uman mac ne nteract on,
overall operational correctness and reliability, and ease
of software installation
Yêu cầu kỳ thú (Exciting Requirements)
For example, in word-processing software, a number of
page layout capabilities that are quite pleasing and
unexpected.
26 CNPM/NN
Thu nhận yêu cầu
Trình tự thực hiện
1. Tìm ra nhu cầu khách hàng từ những người dù nói
ra hay không nói ra, từ những lời nói mập mờ
không đầy đủ.
2. Phát hiện ra các đặc tính “tích cực” làm phấn chấn
khách hàng.
3. Chuyển các đặc tính này thành các đặc tính thiết
kế và hành động có thể chuyển giao .
4. Xây dựng và phân phối sản phẩm /dịch vụ có chất
lượng bằng cách tập trung vào các chức năng
nghiệp vụ hướng tới mục tiêu chung – thỏa mãn
khách hàng.
Thu nhận yêu cầu
Six Sigma
Six Sigma là gì?
QFD is often part of a Six Sigma program
Thu nhận yêu cầu
5. Kỹ thuật lập mô hình xử lý
Kỹ thuật lập mô hình xử lý (hướng mô hình -
d l d i ) hù hợ h ả iệ hát hiệmo e r ven p p c o c v c p n
(elicitation) và phân tích (analysis)
Biểu đồ luồng dữ liệu (Data flow diagrams DFD) -
Phân tích Use case (use case = business process)
29
Thu nhận yêu cầu
DFD
Được sử dụng trong 1 thời gian dài
Tập trung vào dòng dữ liệu và cấu trúc dữ liệu
hơn là vào dịch vụ (services).
30
31
Thu nhận yêu cầu
Errors
Thu nhận yêu cầu
Thu nhận yêu cầu
Phân tích Use case
Dùng để chỉ ra quy trình nghiệp vụ và mối quan
hệ iữ hệ thố à thế iới bê ài g a ng v g n ngo .
Có thể dùng ngôn ngữ tự nhiên hay bảng biểu để
mô tả e e us cas .
35
Thu nhận yêu cầu
Thu nhận yêu cầu
37
Thu nhận yêu cầu
Phương pháp use case
Mỗi use case mô tả một chuỗi các tương tác giữa
hệ thố à ột t bê ài ng v m ac or n ngo .
Actor là con người, hệ thống phần mềm khác, hay
thiết bị phần ứng tương tá ới hệ thống để hoàn c c v
thành mục tiêu.
Còn được gọi là vai trò người dùng (user role)
Thu nhận yêu cầu
Phương pháp use case
Use case là phương pháp nổi bật trong hướng OO,
là tâ điể ủ i t ì h RUP m m c a qu r n .
Use case chuyển hướng việc phát triển yêu cầu
thành iệ thảo l ận em người dùng ần hoàn v c u x c
thành cái gì (what), ngược lại với phương pháp
truyền thống hỏi người dùng muốn hệ thống làm
cái gì.
Mục tiêu của phương pháp use case là mô tả tất
cả các nhiệm vụ mà người dùng sẽ cần thực thi
với hệ thống.
39
Thu nhận yêu cầu
Hệ thống theo dõi hóa chất
40
Thu nhận yêu cầu
Mô tả Use case và kịch bản
Use case là một tập hợp các kịch bản (scenario)
thô thườ ó liê hng ng c n quan n au.
Kịch bản (scenario) là 1 thể hiện (instance) nào
đó ủ e e c a us cas .
Khi khai thác các yêu cầu của người dùng, có thể
bắt đầu bằng các use case trừu tượng và xây
dựng các kịch bản thông dụng riêng rẽ, hay có
thể khái quát hóa từ kịch bản riêng biệt thành 1
use case rộng hơn.
41
Thu nhận yêu cầu
Use case
• Một nhận dạng duy nhất
Một tê ắ ói lê đ hiệ ời• n ng n gọn n n ược n m vụ ngu
dùng và có dạng "verb + object,“ như "Place an
Order"
• Đoạn văn bản mô tả ngắn gọn viết bằng ngôn
ngữ tự nhiên
• Một danh sách các tiền điều kiện (precondition) và
hậu điều kiện (Postcondition)
• Danh sách có đánh số thứ tự các bước tuần tự
giữa actor và hệ thống.
Thu nhận yêu cầu
Bảng sự kiện và đáp ứng
Sự kiện là 1 số thay đổi hay hoạt động xảy ra
t ôi t ườ ười dù để kí h khởi ộtrong m r ng ng ng c m
đáp ứng từ hệ thống phần mềm
Phương pháp dùng bảng ự kiện à đáp ứng để s v
xác định các sự kiện bên ngoài mà hệ thống cần
phải đáp ứng
Bảng sự kiện và đáp ứng liệt kê tất cả các sự kiện
và hành vi mà hệ thống đáp ứng lại ứng với mỗi
sự kiện
43
Thu nhận yêu cầu
Các loại sự kiện và đáp ứng
44
Thu nhận yêu cầu
Các loại sự kiện hệ thống
Hành động người dùng mở ra 1 hộp thoại trong
hầ ề ũ iố hư khi ười dù bắtp n m m, c ng g ng n ng ng
đầu 1 use case
Ch ỗi e ent e pon e tương đương ới á bướu v -r s s v c c c
trong hộp thoại của 1 use case.
Bảng event response không mô tả mục tiêu người -
dùng khi sử dụng hệ thống hay cho biết tại sao
chuỗi event-response cung cấp giá trị gì cho người
dùng.
45
Thu nhận yêu cầu
Các loại sự kiện hệ thống
Hành động của con người
ể Tín hiệu điều khi n hay ngắt từ thiết bị phần cứng
bên ngoài
ệ í ở ở ồ ồ á í Sự ki n k ch kh i b i đ ng h m y t nh
46
Thu nhận yêu cầu
6. Quy tắc nghiệp vụ từ khách hàng
Luật về nghiệp vụ (Business rules) là loại đặc biệt
ủ ê ầ khá h hàc a y u c u c ng.
Khác với các nhu cầu cố định của khách hàng, các
q tắ nghiệp dùng đểuy c vụ :
Mô tả việc thực thi chính sách của khách hàng
Có thể bị thay đổi bởi chính khách hàng sau khi sản
phẩm được phân phối.
47
Thu nhận yêu cầu
Quy tắc nghiệp vụ và chính sách
Một tổ chức có thể ban hành, chỉnh sửa hay hủy
bỏ á tắ hiệ à á tắ à ẽ c c quy c ng p vụ m c c quy c n y s
chi phối và hướng dẫn tổ chức.
Chính á h nghiệp (b ine poli ) là ế tố s c vụ us ss cy y u
quản lý, không trực tiếp được thi hành mà dùng
để hướng dẫn tổ chức hoạt động Chính sách .
không đòi hỏi phải diễn tả có cấu trúc (không cần
thuật ngữ tiêu chuẩn) như là quy tắc nghiệp vụ.
48
Thu nhận yêu cầu
Chính sách hay quy tắc nghiệp vụ?
“Bank customers should not be able to make too
b k ithd l i i l dmany an w rawa s n a s ng e ay or
withdraw more than a certain amount of money
in a fixed period of time; the maximum amount
being based on their total account value and
history.”
49
Thu nhận yêu cầu
Tại sao nó quan trọng
Các quy tắc nghiệp vụ do người dùng xác định
phải tách riêng khỏi các yêu cầu thông thường vì ,
chúng không thực sự là yêu cầu.
Yêu cầu khách hàng có thể được suy diễn từ quy
tắc nghiệp vụ, các yêu cầu có thể khác với quy tắc
mà chúng được suy diễn.
50
Thu nhận yêu cầu
Lưu ý
Chính quy tắc nghiệp vụ do khách hàng xác định
dù để thự thi hí h á h ủ ô t hưng c c n s c c a c ng y, n ng
quy tắc nghiệp vụ có thể thay đổi sau khi hệ
thống đã được phân phối .
Î Nên xây dựng hệ thống sao cho khách hàng có
khả năng thay đổi quy luật mà không làm cho hệ
thống bị sửa đổi theo.
51
Thu nhận yêu cầu
Ví dụ
Policy: The hospital shall be able to define the
diff b t d lt d hild ti t ference e ween a u an c pa en s or
check-in and medical records purposes.
52
Thu nhận yêu cầu
Ví dụ
`Rule: Any patient under the age of 14
checking in shall be considered a child. When
a child checks into the hospital, depending on
th h it l’ b i li te osp a s us ness po cy, a paren or
guardian may have to accompany the child
and sign all the admission forms Detailed .
rules explain under what circumstances (e.g.,
an accident emergency or life-threatening , ,
situation) a child may be checked in without a
parent’s or guardian’s consent.
53
Thu nhận yêu cầu
Ví dụ
Requirement: A facility shall be provided with the
t h th t th h it l h k i fsys em suc a e osp a c ec - n process or
adults and children can be changed by hospital
administrators without the need for system or
software modifications.
54
Thu nhận yêu cầu
Chính sách và luật nghiệp vụ
55
Thu nhận yêu cầu
Quy tắc nghiệp vụ
Mỗi tổ chức nghiệp vụ đều phải tuân theo 1 tập
á hí h á h l ật à tiê h ẩ đượ i làc c c n s c , u v u c u n c gọ
business rule
Phần mềm ứng d ng b ộ phải t ân theo á q ụ u c u c c uy
tắc nghiệp vụ này.
Trong một số trường hợp các quy tắc nghiệp vụ ,
không nằm trong phần mềm nhưng được kiểm
soát thông qua việc người dùng phải tuân theo
các chính sách và thủ tục.
56
Thu nhận yêu cầu
Quy tắc nghiệp vụ
Hầu hết các quy tắc nghiệp vụ đều xuất phát từ
bê ài ữ ả h ủ bất kỳ hầ ề àn ngo ng c n c a p n m m n o,
nhưng các quy tắc này là nguồn yêu cầu chức
năng chính của phần mềm vì nó đưa ra các khả
năng mà hệ thống phải có để phù hợp với các quy
luật.
Ví dụ: trong hệ thống theo dõi hóa chất cần phát
ra các báo cáo phù hợp với các quy định của liên
bang về việc lưu trữ hóa chất.
57
Thu nhận yêu cầu
Quy tắc nghiệp vụ
Không phải mọi công ty đều xem các quy tắc
hiệ hư tài ả ó iá t ị Có thể á thông p vụ n s n c g r . c c ng
tin này không được ghi chép và quản lý, mà chỉ
tồn tại trong đầu các cá nhân .
Các cá nhân khác nhau có thể hiểu khác nhau về
các quy tắc dẫn đến các phần mềm tuân theo các ,
quy tắc nghiệp vụ chung sẽ không toàn vẹn
58
Thu nhận yêu cầu
Quy tắc nghiệp vụ
"A business rule is a statement that defines or
t i t f th b i It icons ra ns some aspec o e us ness. s
intended to assert business structure or to control
or influence the behavior of the business ” .
59
Thu nhận yêu cầu
Phân loại quy tắc nghiệp vụ
60
Thu nhận yêu cầu
Tạo tài liệu
Quy tắc nghiệp vụ có thể ảnh hưởng đến nhiều
ứng dụng, nhiều tổ chức Æ các tổ chức nên quản
ý á ắ ệ ở ứ ôl c c quy t c nghi p vụ m c kinh doanh kh ng
phải ở mức dự án.
Dùng phân loại luật nghiệp vụ (business rules
catalog)
Nếu tổ chức lớn nên xây dựng một CSDL luật
nghiệp vụ
Khi xác định 1 quy luật mới trong lúc làm việc với
ứng dụng, hãy thêm nó vào phân loại (catalog),
đừng nhúng nó vào tài liệu của riêng ứng dụng
hay chỉ viết code cho nó.
Các quy luật liên quan đến an toàn, an ninh và tài
chánh có thể dẫn đến các rủi ro cao nhất nếu
quản lý không đúng.
61
Thu nhận yêu cầu
Ví dụ: phân loại
62
Thu nhận yêu cầu
Luật nghiệp vụ
63
Thu nhận yêu cầu
Lưu ý
Sau khi nhận dạng và xác định các quy tắc nghiệp
ê á đị h tắ à ầ thự thivụ, n n x c n xem quy c n o c n c
trong phần mềm. Một số quy tắc sẽ làm phát sinh
các use case vì vậy sẽ ảnh hưởng đến yêu cầu ,
chức năng của use case đó.
64
Thu nhận yêu cầu
Ví dụ
`Rule #1 (action enabler) "If the expiration
d t f h i l t i h b h da e or a c em ca con a ner as een reac e ,
then notify the person who currently possesses
that container " .
`Rule #2 (inference) "A container of a chemical
that can form explosive decomposition products is
considered expired one year after its manufacture
date."
`Rule #3 (fact) "Ethers can spontaneously form
explosive peroxides."
65
Thu nhận yêu cầu
Ví dụ
Ba quy tắc này dẫn đến use case "Notify Chemical
O f E i ti “ Một ê ầ hứ ă hwner o xp ra on. y u c u c c n ng c o
use case này là "The system shall e-mail a
notification to the current owner of a chemical
container on the date the container expires."
66
Thu nhận yêu cầu
Quy tắc nghiệp vụ và yêu cầu chức năng
Đôi khi các quy tắc nghiệp vụ và yêu cầu chức
ă tươ ứ ất iố h T hiê án ng ng ng r g ng n au. uy n n c c
quy tắc là những phát biểu bên ngoài cần phải
đưa vào phần mềm thành các chức năng hệ
thống.
Mỗi nhà phân tích phải quyết định quy tắc nào
phù hợp với ứng dụng, cái nào nên đưa vào phần
mềm, và đưa vào như thế nào.
67
Thu nhận yêu cầu
Ví dụ
Xét hệ thống Quản lý hóa chất, có 1 một ràng
b ộ ê ầ ười dù ó hồ ơ đà t ồi ớiu c y u c u ng ng c s o ạo r m
có quyền được yêu cầu hóa chất độc hại
(hazardous chemical) .
Nhà phân tích có thể suy diễn quy tắc này thành
các yêu cầu chức năng khác nhau tùy thuộc vào
điều kiện CSDL về hồ sơ đào tạo có trực tuyến
hay không?
68
Thu nhận yêu cầu
Ví dụ
Nếu có, hệ thống chỉ đơn giản tìm kiếm hồ sơ đào
t à ết đị h hấ hậ h từ hối ê ầạo v quy n c p n n ay c y u c u.
Nếu không, hệ thống có thề lưu trữ tạm thời yêu
ầ nà à gửi em il đến tổ hứ h ấn l ện đểc u y v a c c u uy
phê duyệt hay từ chối yêu cầu.
Î Cùng 1 quy tắc nghiệp vụ cho cả 2 yêu cầu chức
năng – các yêu cầu chức năng thay đổi tùy theo
môi trường hệ thống.
69
Thu nhận yêu cầu
Quy tắc nghiệp vụ và SRS
Để tránh dư thừa, không nên lặp lại các quy tắc
từ phân loại luật nghiệp vụ vào SRS mà nên chỉ ,
ra nơi tham chiếu các quy tắc.
Phòng tránh được việc phải thay đổi cùng lúc cả
quy tắc nghiệp vụ và yêu cầu chức năng khi quy
tắc thay đổi.
Giữ cho SRS luôn phản ánh các quy tắc vừa thay
đổi vì nó tham chiếu đến bản sao chính của quy
tắc.
Thuận lợi trong việc dùng lại cùng 1 quy tắc trong
nhiều nơi khác nhau của SRS và cho nhiều dự án
khác nhau mà vẫn giữ được sự nhất quán. 70
Thu nhận yêu cầu
Quy tắc nghiệp vụ và SRS
Lý do khác để tách quy tắc nghiệp vụ và yêu cầu
hứ ă tắ thườ đượ tá h 1 á hc c n ng: quy c ng c c ra c c
riêng biệt, vì vậy có thể không nhạy bén khi xem
xét thực tế có liên quan đến nhiều yêu cầu khác .
Không có 1 giải pháp nào là hoàn hảo và đơn giản
để cho các quy tắc nghiệp vụ thực thi cùng nhau
trong mọi hoàn cảnh.
71
CHƯƠNG V
Tạo Mô hình Hệ thống
Thu nhận yêu cầu
TNYC
1
Thu nhận yêu cầu
Nội dung
1. Mô hình hệ thống
2 Ph há MDRE (M d l D i. ương p p o e - r ven
Requirements Engineering)
3 Mô hì h tiê (G l d li ). n mục u oa mo e ng
4. Mô hình UML
2
1. Mô hình hệ thống
Hệ thống: một tập hợp các thành phần liên kết với
nhau, ở trong một phạm vi xác định, chúng tương tác
với nhau nhằm đạt những mục đích xác định.
Đầu vào
Thành
phần
Ph iạm v
3 Đầu raGiao diện Liên hệ giữa các
thành phần
Hệ thống: các mục
Thành phần (component)
Ranh giới (boundary)
Mục đích (purpose)
Môi trường (environment)
Đầu
vào Thàn
h
phầnPhạm
Giao diện (interface)
Người dùng
vi
Với hệ thống khác
Giữa các thành phần
Đầu vào (input)
Đầu ra (output)
Ràng buộc (constraints)
Đầu
ra
Giao
diện
Liên hệ
giữa các
thành
phần
4
Hệ thống bán nước giải khát
Môi trường: khách hàng, nhà cung
cấp, ngân hàng,…
Đầu vào:
Nước giải
khát,
Kho
Đầu ra:
Nước giải
khát,
tiền mặt,
lao động,
tài sản,
Phòng
bán
hàngVăn phòng
tiền mặt,
bảng giá,
hóa đơn,
Ranh giới
…. …
5
Thu nhận yêu cầu
Hệ thống bán nước giải khát
Khách hàng
(1)
Phòng bán hàng Văn phòng (4)(5)
Đơn vị(8)
Kho
cung ứng(5)
6
Thu nhận yêu cầu
Hệ thống đặt phòng…
7 CNPM/NN
Thu nhận yêu cầu
Mô hình thu thập & phân tích
Cung cấp các hỗ trợ phân tích nhu cầu của
người dùng .
Xác định một cách rõ ràng các quy trình và
ngữ cảnh của khách hàng khi sử dụng sản
phẩm đang được xây dựng.
Cung cấp tầm nhìn cho thấy sản phẩm sẽ được
dùng như thế nào sau khi hoàn tất .
Hỗ trợ để xác định các rủi ro có thể xảy ra cho
người dùng sản phẩm.
Xác định tất cả người dùng. Mỗi loại người
dùng sẽ tương tác với hệ thống đang xây dựng
hư thế àn n o.
8
Thu nhận yêu cầu
Thu thập và phân tích
Hai hoạt động này hay dùng lẫn lộn vì có cùng
công cụ và mô hình vật lý nhưng được dùng ở
những thời điểm khác nhau trong chu kỳ phát
triển hệ thống
Thu thập là hoạt động được hoàn thành cùng
với stakeholders để xác định nhu cầu của họ là
ìg
Ngay khi các tính năng của sản phẩm đã được
xác định dựa vào mô hình nghiệp vụ mô hình ,
phân tích có thể được thực hiện để xác định chi
tiết hơn sản phẩm sẽ được dùng như thế nào.
9
Thu nhận yêu cầu
Mô hình phân tích
Ngay khi các tính năng của sản phẩm đã được xác
đị h dự à ô hì h hiệ ô hì h hân a v o m n ng p vụ, m n p n
tích có thể được thực hiện để xác định chi tiết hơn
sản phẩm sẽ được dùng như thế nào .
Phương pháp MDRE (Model-Driven Requirements
Engineering) bao gồm cả hai hoạt động mô hình
hóa nghiệp vụ và phân tích.
10
Thu nhận yêu cầu
2. Phương pháp MDRE
Model-Driven Requirements Engineering
1 Các quy trình nghiệp vụ được mô hình hóa để hiểu.
rõ hơn sản phẩm có thể hỗ trợ cho các hoạt động
của khách hàng
Output: mô hình nghiệp vụ (business model)
2. Từ mô hình nghiệp vụ, sản phẩm hay tập hợp các
ễ ỗdịch vụ IT sẽ được suy di n để h trợ việc xác định
tập các tính năng của sản phẩm.
3 Khi tậ á tí h ă đã đượ á đị h hú ầ. p c c n n ng c x c n , c ng c n
được phân tích bằng cách triển khai tất cả các tính
năng này để xem chúng được dùng như thế nào.
Output: mô hình phân tích (analysis model)
Thu nhận yêu cầu
Phương pháp MDRE
4. Việc phân tích mỗi tính năng sẽ tạo ra mô hình
Mỗi ẽ đượ hâ tí h à ôuse case. use case s c p n c v m
tả cụ thể.
5 Tập hợp đầ đủ ó phân ấp á e e nà ẽ. y c c c c us cas y s
là yêu cầu của sản phẩm.
12
13
Thu nhận yêu cầu
Quy trình MDRE
Việc sử dụng quy trình MDRE đòi hỏi phải được
lậ kế h h hâ iê ó kỹ ă à á bộp oạc , n n v n c n ng, v c c
công cụ hiệu quả.
Q t ình MDRE ó thể t ải dài q ốt h kỳuy r c r ua su c u
phát triển của cả sản phẩm từ lúc khởi tạo đến
bảo trì Vì vậy phải xác định được mục tiêu của .
quy trình, và các stakeholder mong đợi điều gì.
14
15
Thu nhận yêu cầu
Quy trình MDRE
Các quy trình MDRE chỉ bao gồm các hoạt động
th thậ ê ầ khô b ồ á h t độu p y u c u, ng ao g m c c oạ ng
thiết kế.
Sử d ng UML như điểm khởi đầ do bộ ông ụ u c cụ
của nó luôn sẵn có và chấp nhận được.
MDRE là tạo các mô hình có tính chuyển đổi phù
hợp với những ứng dụng khác nhau
16
Thu nhận yêu cầu
Các bước của quy trình MDRE
Những hiểu biết ban đầu
Hiểu biết ngữ cảnh và hiểu được sản phẩm sẽ
được dùng như thế nào.
hâ í h á í h ă ả hẩ à ô P n t c c c t n n ng s n p m v tạo m
hình Use Case
Rút trích các yêu cầu từ mô hình
Phân tích yêu cầu từ MDRE
Quản lý các phiên thảo luận cho thu thập và
phân tích
Điều hành các buổi họp kiểm tra mô hình
17
Thu nhận yêu cầu
Thuận lợi của quy trình MDRE
MDRE không phải là phương pháp “all or
thi ” à thườ đượ dù kè ới áno ng , m ng c ng m v c c
phương pháp khác. Ví dụ, nếu 1 tổ chức muốn tập
trung vào use case và các yêu cầu dạng văn bản ,
thì vẫn có thể dùng mô hình use case mức cao
để hỗ trợ, việc chọn 1 biểu tượng use case sẽ kích
khởi bộ soạn thảo để mô tả use case đó.
18
Thu nhận yêu cầu
Thuận lợi của quy trình MDRE
Theo hướng phát triển nhanh, các mô hình chưa
đầ đủ ẫ ó thể dù đượ để biể diễ tậy v n c ng c u n p
hợp các câu chuyện người dùng.
Nhờ ử d ng mô hình mà hi tiết đượ bổ ng s ụ c c su
dần sẽ không chỉ dành cho người phát triển mà
cho cả người kiểm thử và người kiểm tra .
19
Thu nhận yêu cầu
MDRE – Vấn đề
Thiếu các kỹ năng tạo mô hình
Công cụ không thích hợp
Tổ chức không sẵn sàng cho MDRE
20
Thu nhận yêu cầu
3. Mô hình mục tiêu (Goal modeling)
Là cách để đúc kết các ý tưởng, trình bày các mục
tiê hợ hất t á h dễ hiể õ à á đị hu p n rong c c u r r ng, x c n
và cân đối các chọn lựa khó
21
Thu nhận yêu cầu
Ví dụ 1
22
Thu nhận yêu cầu
Ví dụ 2
23
Thu nhận yêu cầu
Hạn chế của mô hình mục tiêu
Nhiều yêu cầu mức cao không thể tính toán được
ì hiề lý d hư ô hệ th đổi h hv n u o n c ng ng ay n an
chóng, ..
Một ố m tiê ng đột không phát hiện đượ s ục u xu c
cho đến khi phê duyệt yêu cầu.
Việc tinh chỉnh yêu cầu phi chức năng có thể làm
xuất hiện nhiều vấn đề còn tiềm ẩn.
24
Thu nhận yêu cầu
KAOS
KAOS, is a goal-oriented software requirements
capturing approach in RE.
It is a specific Goal modeling method; another
is i*.
It allows for requirements to be calculated from
l digoa agrams.
Viết tắt của Knowledge Acquisition i