Chapter 3: Thu thâp yêu câu
Requirements Elicitation
Or
Requirement gathering
BM HTTT Khoa CNTT - HUI
1
Nôi dung
Requirement
Thu th âp yêu c âu (
elicitation) là gì?
Cac k y thu ât thu th âp yêu c âu
Ch on l ưa k y thu ât thu th âp yêu c âu
Quy t ăc nghi êp v u và chinh sach
Qu an ly m ôi quan h ê khach hàng
BM HTTT Khoa CNTT - HUI
2
A major aspect of requirements engineering is
the elicitation of requirements from the
customer.
BM HTTT Khoa CNTT - HUI
3
Requirement elicitation
Elicitation là qua trình xac đ inh yêu c âu và làm gi am
s ư khac bi êt gi ưa cac nhom co liên quan đ ê rut ra
cac yêu c âu đap ưng đ ươc nhu c âu c ua t ô ch ưc hay
d ư an trong khi v ân gi ư đ ươc cac ràng bu ôc.
Co r ât nhi êu k y thuâ t elicitation khac nhau
BM HTTT Khoa CNTT - HUI
4
Phân biêt giưa elicitation và analysis
Elicitation là s ư t ương tac v ơi stakeholders đ ê n ăm b ăt
đ ươc nhu c âu c ua h o.
Analysis là tinh ch inh (refinement) nhu c âu c ua
stakeholder thành cac đ ăc t a s an ph âm chinh th ưc.
BM HTTT Khoa CNTT - HUI
5
Tâm quan trong
Requirements elicitation is perhaps the most difficult,
most critical, most error-prone, and most
communication-intensive aspect of software
development.
Elicitation ch i co th ê thành công thông qua m ôi quan
h ê h ơp tac gi ưa customer và đ ôi development .
BM HTTT Khoa CNTT - HUI
6
Mô hình song song cua quy trình yêu câu
BM HTTT Khoa CNTT - HUI
7
Why is it difficult to elicit
requirements?
Customers and users often do not
understand how software design and
development works, and cannot specify
their own software requirements in a
way that works for developers.
Software developers often do not
understand the problems and needs of
customers and users well enough to
specify the requirements on their
behalf.
BM HTTT Khoa CNTT - HUI
8
V ân đ ê v ê ng ười dùng và
khach hàng
Ng ười dùng không hi êu h o mu ôn gì
Ng ười dùng không tuân theo m ôt b ô yêu
c âu đã đ ươc tài li êu hoa
Ng ười dùng nh ât đ inh đòi h ỏi cac yêu c âu
m ơi sau khi chi phi và k ế ho ạch phat tri ên
đã đ ươc ho ạch đ inh xong.
M ưc đ ô giao ti ếp v ơi ng ười dùng là th âp
Ng ười dùng th ường không tham gia cac đ ơt
th âm đ inh ho ăc không th ê tham gia.
Ng ười dùng không hi êu k y thu ât
Ng ười dùng không hi êu quy trình phat
tri ên.
BM HTTT Khoa CNTT - HUI
9
Cac hoat đông cua yêu câu
BM HTTT Khoa CNTT - HUI
10
Trước khi thu thâp yêu câu
Đã vi ết “vision and scope”
V ẽ l ươc đ ồ ng ư c anh (context diagram)
Xac đ inh stakeholder
Xac đ inh ng ười dùng và đ ại di ên ng ười dùng
BM HTTT Khoa CNTT - HUI
11
Lược đồ ngư cảnh
Ph ạm vi (scope) dùng đ ê xac đ inh đ ường biên
(boundar y ) và cac m ôi n ôi k ết gi ưa h ê th ông
đang phat tri ên và m oi th ư khac bên ngoài.
L ươc đ ồ ng ư c anh đ ươc dùng đ ê minh h oa
đ ường biên này.
BM HTTT Khoa CNTT - HUI
12
Lược đồ ngư cảnh
Là m ưc 0 (top level) c ua l ươc đ ồ dòng d ư li êu
(data flow diagram) theo cach phân tich h ương
c âu truc
Đ ươc dùng r ông rãi cho b ât k ỳ ph ương phap
phat tri ên nào
Co th ê n ằm trong tài li êu vision, trong ph uc
v u đ ăc t a yêu c âu (SRS)
BM HTTT Khoa CNTT - HUI
13
Lược đồ ngư cảnh
BM HTTT Khoa CNTT - HUI
14
Keeping Scope in Focus
Scope change isn’t a bad thing if it helps you
steer the project toward satisfying evolving
customer needs
Khi co ai đo ki ến ngh i 1 yêu c âu m ơi thì RA
ph ai làm gì??
C ân xem xét yêu c âu m ơi co n ằm trong scope
hay không??
N ếu yêu c âu ki ến ngh i n ằm trong scope thì co
th ê h ơp nh ât yêu c âu m ơi vào d ư an n ếu co
đ ô ưu tiên cao so v ơi yêu c âu hi ên co co th ê
ph ai trì hoãn hay h uy b ỏ cac yêu c âu hi ên t ại
BM HTTT Khoa CNTT - HUI
15
Keeping Scope in Focus
N ếu yêu c âu ki ến ngh i n ằm ngoài scope thì co
th ê co 1 trong cac ph ương an sau:
◦ Nên đưa vào phiên bản sau hay trong dự an khac.
◦ Scope cua dự an co thể thay đổi để đap ứng yêu câu mới
cân co phản hồi từ phia người dùng và cân câp nhât lai tài li êu
vision and scope (nếu đã phê duyêt thì cân giam sat moi thay đổi)
◦ Khi pham vi dự an tăng, thường phải thỏa thuân lai ngân
sach(budget), tài nguyên (resource), thời gian (schedule)
BM HTTT Khoa CNTT - HUI
16
Xac định StakeHolder
Identify the different classes of users for your
product
Identify source of user requeriments
Select and work with individual who represent
each user class and other stakeholder groups
Agree on who the requirements decision makers
are for you project
It’s not enough simply to ask a few customers what
they want and then start coding. If the developers
build exactly what customers initially request,
they’ll probably have to build it again because
customers often don’t know what they really need.
BM HTTT Khoa CNTT - HUI
17
Xac định StakeHolder
Nh ưng tinh ch ât mà ng ười dùng đ ưa ra luc đ âu
th ường không đ u đ ê tr ở thành ch ưc năng c ua
h ê th ông.
Đ ê co cai nhìn chinh xac h ơn nhu c âu ng ười
dùng, RA ph ai t âp h ơp cac yêu c âu ng ười dùng,
phân tich và xac đ inh ch i nên xây d ưng cai gì
đ ê ng ười dùng làm t ôt đ ươc công vi êc c ua h o.
BM HTTT Khoa CNTT - HUI
18
Phân loai StakeHolder
1.
2.
3.
4.
5.
Customers (ng ười tài tr ơ d ư an hay mua s an
ph âm)
Users (ng ười t ương tac tr ưc ti ếp hay gian ti ếp
s an ph âm)
Requiremements analysts (ng ười vi ết yêu c âu
và làm vi êc v ơi đ ôi phat tri ên ph ân m êm)
Developers (ng ười thi ết k ế, th ưc thi và b ao
trì s an ph âm)
Testers (ng ười ki êm tra xem s an ph âm co
th ưc thi nh ư mong mu ôn)
BM HTTT Khoa CNTT - HUI
19
Phân loai StakeHolder
1.
2.
3.
4.
5.
Documentation writers (ng ười t ạo ra s ô tay
ng ười dùng, h ê th ông tr ơ giup)
Project managers (ng ười l âp k ế ho ạch cho d ư
an, qu an ly đ ôi phat tri ên ph ân m êm)
Legal staff (ng ười b ao đ am s an ph âm phù h ơp
v ơi lu ât và quy ch ế)
Manaufacturing people (ng ười ph ai xây d ưng
s an ph âm co ch ưa ph ân m êm)
Sales, marketing, field support, help desk, và
nh ưng ng ười khac s ẽ làm vi êc v ơi s an ph âm
và khach hàng.
BM HTTT Khoa CNTT - HUI
20
Cac ky thuât thu thâp yêu câu
Document Sampling
Inter viewing
Sur vey and observation
Questionaires
Workshop and Brainstorming
JAD (Joint Application Development)
sessions
Ba k y thu ât ph ô bi ến nh ât là Document
sampling, inter viewing và questionaires
BM HTTT Khoa CNTT - HUI
21
Cac ky thuât thu thâp yêu câu
BM HTTT Khoa CNTT - HUI
22
Cac ky thuât thu thâp yêu câu
Assignment 12: Document Sampling
◦ Nhom???
Assignment 13: Questionaires
BM HTTT Khoa CNTT - HUI
23
Interviewing
Là k y thu ât tr ưc ti ếp và đ ơn gi an
Ph ỏng v ân đ ê thu nh ân t ừ cac ca th ê thao tac
và cac v ân đ ê trong h ê th ông hi ên hành, chinh
sach, nhu c âu mong mu ôn trong h ê th ông m ơi.
Câu h ỏi context-free co th ê giup hoàn thành
cac ph ỏng v ân bias-free interviews
T âp h ơp l ại 1 s ô nhu c âu chung s ẽ t ạo
“requirements repository”đ ê dùng trong su ôt
d ư an
Questionnaire không th ê thay th ế cho
interview.
BM HTTT Khoa CNTT - HUI
24
Interviews
•
Inter v iew ca nhân hay nhom cac ng ười dùng là ngu ồn
thu th âp yêu c âu ki êu truy ến th ông cho c a s an
ph âm th ương m ại c ung nh ư cac h ê th ông thông tin.
•
Tìm hi êu cach ngh i c ua ng ười dùng khi h o trình bày
cac yêu c âu, rut ra cac quy ết đ inh co tinh logic c ua
ng ười dùng. Đ ê mô t a qua trình đ ưa ra cac quy ết
đ inh logic co th ê dùng flowchart và cây quy ết đ inh
(decision tree) b ao đ am m oi ng ười hi êu đ ươc t ại
sao h ê th ông ph ai th ưc hi ên cac ch ưc năng này.
•
Đôi khi cac yêu c âu c ua ng ười dùng ph an anh cac
quy trình nghi êp v u đã l ôi th ời hay không hi êu qu a
n ưa và không nên đ ưa vào h ê th ông m ơi.
BM HTTT Khoa CNTT - HUI
25