8/26/2013
1. Khái ni m
PH N III:
XÁC
NH YÊU C U NG
DÙNG
I. T ng quan v yêu c u ph n m
II. Quy trình xác đ nh yêu c u ph
III. Công c và ph ng pháp đ c t
ph n m m
IV. Nguyên lý phân tích yêu c u s
Các đ c tính c a h th ng hay s n ph m do
khách hàng - ng i s d ng ph n m m - nêu ra
Xác đ nh đ c ph n m m đáp ng đ c các yêu
c u và mong mu n c a khách hàng - ng i s
d ng ph n m m
•
I
Bài toán c a
khách hàng
c n gi i quy t
L nh v c ng
d ng c a h
th ng/s n ph m
m
nm m
yêu c u
Nhu c u và ràng
bu c c a nh ng
ng i có quy n l i
và ngh a v
liên
quan đ n h th ng
/s n ph m
d ng
Ng c nh nghi p v :
t ng tác c a h
thông/s n ph m và đóng
góp v m c nghi p v
c a h th ng
1
2
T i sao c n ph i đ t ra yêu
c u ph n m m ?
2. Phân lo i
• Khách hàng ch có nh ng ý t ng còn
m h v ph n m m c n ph i xây
d ng đ ph c v công vi c c a h ,
chúng ta ph i s n sàng, kiên trì theo
đu i đ đi t các ý t ng m h đó
đ n “Ph n m m có đ y đ các tính
n ng c n thi t”
• Khách hàng r t hay thay đ i các đòi
h i c a mình, chúng ta n m b t đ c
các thay đ i đó và s a đ i các mô t
m t cách h p lý
• Theo 4 thành ph n c a ph n m m:
–
–
–
–
Các
Các
Các
Các
yêu
yêu
yêu
yêu
c
c
c
c
u
u
u
u
v
v
v
v
ph n m m (Software)
ph n c ng (Hardware)
d li u (Data)
con ng i (People, Users)
• Theo cách đ c t ph n m m
– Các yêu c u ch c n ng
– Các yêu c u ngoài ch c n ng
– Các ràng bu c khác
3
II. Quy trình xác đ nh yêu c u PM
4
Quy trình xác đ nh yêu c u PM (ti p)
• Phát hi n các yêu c u ph n m m (Requirements
elicitation)
• Phân tích các yêu c u ph n m m và th ng
l ng v i khách hàng (Requirements analysis and
negotiation)
•
c t các yêu c u ph n m m (Requirements
specification)
• Mô hình hóa h th ng (System modeling)
• Ki m tra tính h p lý c a các yêu c u ph n m m
(Requirements validation)
• Qu n tr các yêu c u ph n m m (Requirements
management)
5
Xây d ng
m t nguyên m u
(prototype)
V nđ
Xác đ nh
yêu c u
Phát tri n
đ c đi m k thu t
Xem
duy t
T o ra
mô hình
phân tích
Last Update8-07
Dept. of SE, 2002
SE-III.6
1
8/26/2013
1. Phát hi n yêu c u ph n m m
1. Phát hi n yêu c u ph n m m
ánh giá tính kh thi v k thu t và nghi p v
c a ph n m m đ nh phát tri n
• Tìm ki m các nhân s (chuyên gia, ng i s
d ng) có nh ng hi u bi t sâu s c nh t, chi ti t
nh t v h th ng giúp chúng ta xác đ nh yêu c u
ph n m m
• Xác đ nh môi tr ng k thu t trong đó s tri n
khai ph n m m
• Xác đ nh các ràng bu c v l nh v c ng d ng c a
ph n m m (gi i h n v ch c n ng/hi u n ng
ph n m m)
• Xác đ nh các ph ng pháp s d ng đ phát hi n
các yêu c u ph n m m: ph ng v n, làm vi c
nhóm, các bu i h p, g p g đ i tác, v.v.
• Thu hút s tham gia c a nhi u chuyên gia,
khách hàng đ chúng ta có đ c các quan đi m
xem xét ph n m m khác nhau t phía khách
hàng
• Xác đ nh các yêu c u còn nh p nh ng đ làm
m u th
• Thi t k các k ch b n s d ng c a ph n m m đ
giúp khách hàng đ nh rõ các yêu c u chính.
•
7
c phát hi n yêu c u
2. Phân tích các yêu c u PM và
th ng l ng v i khách hàng
Nhóm công
ngh ph n
m m
• B ng kê (statement) các đòi h i và ch c n ng
kh thi c a ph n m m
• B ng kê ph m vi ng d ng c a ph n m m
• Mô t môi tr ng k thu t c a ph n m m
• B ng kê t p h p các k ch b n s d ng c a ph n
m m
• Các nguyên m u xây d ng, phát tri n hay s
d ng trong ph n m m (n u có)
• Danh sách nhân s tham gia vào quá trình phát
hi n các yêu c u ph n m m - k c các nhân s
t phía công ty- khách hàng
Nhóm
khách hàng
u ra c a b
ph n m m
8
9
2. Phân tích các yêu c u ph n m m và
th ng l ng v i khách hàng
Yêu c u không
c n thi t
Nh t quán
+đ yđ ?
Th
Th o
lu n v
các yêu
c u
Kh
thi ?
Yêu c u không đ y đ ,
yêu c u mâu thu n
ng l
t th t
u tiên cho
các yêu c u
2. Phân tích các yêu c u ph n m m và
th ng l ng v i khách hàng
• Phân lo i các yêu c u ph n m m và s p x p chúng
theo các nhóm liên quan
• Kh o sát t m t ng yêu c u ph n m m trong m i
quan h c a nó v i các yêu c u ph n m m khác
• Th m đ nh t ng yêu c u ph n m m theo các tính
ch t: phù h p, đ y đ , rõ ràng, không trùng l p
• Phân c p các yêu c u ph n m m theo d a trên nhu
c u và đòi h i khách hàng / ng i s d ng
• Th m đ nh t ng yêu c u ph n m m đ xác đ nh:
Phân tích
C n
thi t ?
10
Yêu c u không
kh thi
ng
– Các yêu c u PM có kh n ng th c hi n đ c trong môi
tr ng k thu t hay không
– Có kh n ng ki m đ nh các yêu c u ph n m m hay không
Nh t trí
v các
yêu c u
11
12
2
8/26/2013
2. Phân tích các yêu c u ph n m m và
th ng l ng v i khách hàng
• Th m đ nh các r i ro có th x y ra v i t ng yêu
c u ph n m m
•
ánh giá thô (t ng đ i) v giá thành và th i
gian th c hi n c a t ng yêu c u ph n m m trong
giá thành s n ph m ph n m m và th i gian th c
hi n ph n m m
• Gi i quy t t t c các b t đ ng v yêu c u ph n
m m v i khách hàng / ng i s d ng trên c s
th o lu n và th ng l ng các yêu c u đ ra
c t yêu c u ph n m m
3.
c t các yêu c u ph n m m: xây d ng các tài li u đ c t ,
trong đó có th s d ng t i các công c nh : mô hình hóa,
mô hình toán h c hình th c (a formal mathematical model),
t p h p các k ch b n s d ng, các nguyên m u ho c b t k
m t t h p các công c nói trên
• Ph ng pháp đ c t :
•
c t phi hình th c (Informal specifications): vi t b ng ngôn ng
nhiên
c t hình th c (Formal specifications): vi t b ng t p các ký
pháp có các quy đ nh v cú pháp (syntax) và ng ngh a (sematic)
r t ch t ch , thí d ký pháp đ h a dùng các l u đ .
–
t
–
• Tiêu chí đánh giá ch t l
– Tính rõ ràng, chính xác
– Tính phù h p
– Tính đ y đ , hoàn thi n
ng c a h s đ c t :
13
14
Ví d : Các yêu c u v h s đ c t
3.1. Các thành ph n c a h s đ c t
•
c t hành vi bên ngoài c a HT
•
c t các ràng bu c v cài đ t
• D thay đ i
• Dùng nh công c tham kh o cho b o trì
• S ghi chép c n th n v vòng đ i c a HT, ngh a
là d đoán các thay đ i
• Các đáp ng v i các s c không mong đ i
•
•
c t v n hành hay đ c t ch c n ng (Operational
specifications): mô t các ho t đ ng c a h th ng
ph n m m s xây d ng:
– Các d ch v mà h th ng ph i cung c p
– H th ng s ph n ng v i đ u vào c th ra sao
– Hành vi c a h th ng trong các tình hu ng đ c bi t.
c t mô t hay đ c t phi ch c n ng (Descriptive
specifications): đ c t các đ c tính, đ c tr ng c a
ph n m m:
– Các ràng bu c v các d ch v hay các ch c n ng h th ng
cung c p nh th i gian, ràng bu c v các quá trình phát
tri n, các chu n,…
• Ngoài ra còn có yêu c u v l nh v c, b t ngu n t l nh
v c c a ng d ng h th ng và các đ c tr ng c a l nh
v c này.
15
16
c t ch c n ng
c t phi ch c n ng và ràng bu c
• Miêu t các ch c n ng c a h th ng, ph thu c
vào ki u ph n m m và mong đ i c a ng i dùng
– T ng tác gi a ph n m m và môi tr ng, đ c l p v i
vi c cài đ t
– Ví d : H th ng đ ng h ph i hi n th th i gian d a trên
v trí c a nó
• Yêu c u phi ch c n ng: nh ngh a các khía c nh s d ng
ph n m m, không liên quan tr c ti p t i các hành vi ch c
n ng:
– Các tính ch t c a h th ng nh đ tin c y, th i gian tr l i, dung
l ng b nh , …
• Th i gian tr l i ph i nh h n 1 giây
• Ràng bu c: do khách hàng hay môi tr
m m đ t ra
• Các công c đ c t tiêu bi u:
–
–
–
–
Bi u đ lu ng d li u (Data Flow Diagrams)
Máy tr ng thái h u h n (Finite State Machines)
M ng Petri (Petri nets),…
Tuy nhiên không b t bu c và có th dùng ngôn ng
nhiên.
ng th c thi ph n
– Các yêu c u do t ch c qui đ nh nh qui đ nh chu n v quá trình
ti n hành, chu n tài li u, …
• Ngôn ng cài đ t ph i là COBOL
– Các yêu c u t
• Th
bên ngoài
• Ph i giao ti p v i h th ng đi u ph i đ
ng s
d ng các công c
c vi t vào n m 1956.
– Bi u đ th c th liên k t (Entity-Relationship Diagrams)
–
c t Logic (Logic Specifications)
–
c t đ i s (Algebraic Specifications)
t
17
Khó phát bi u chính xác, R t khó ki m tra
18
3
8/26/2013
3.2. Tài li u yêu c u
N i dung c n có c a tài li u yêu c u
• Tài li u v yêu c u là các phát bi u chính th c v
cái đ c yêu c u b i các nhà phát tri n HT
• Nó bao g m c 2 ph n: đ nh ngh a và đ c t yêu
c u
• Nó không ph i là tài li u thi t k . T t h n có th
nó ch là 1 t p các cái mà HT ph i làm h n là HT
ph i làm th nào (PT ch không ph i là TK)
Khách hàng h
th ng
Xác đ nh các yêu c u, đ c hi u đ
ki m tra xem có đúng v i nhu c u
hay không. H xác đ nh các thay đ i
v yêu c u.
Nhà qu n lý
S d ng tài li u v yêu c u đ lên k
ho ch đ u th u cho h th ng và lên
k ho ch cho quá trình phát tri n h
th ng
K s
K s
K s
S
h th ng
ki m th
th ng
d ng yêu c u đ hi u v h
th ng s phát tri n
S d ng yêu c u đ phát tri n các
tr ng h p ki m th cho h th ng
h
S d ng yêu c u đ hi u v h
th ng và m i liên h gi a các ph n
khác nhau c a h th ng
b o trì h
th ng
19
III. Ph ng pháp và công c
đ c t yêu c u ph n m m
20
1.
• Bi u đ phân c p ch c n ng - WBS
(work break down structure)
• Bi u đ lu ng d li u – DFD (data flow
diagram)
• Máy tr ng thái – FSM (Finite state
machine)
• S đ th c th liên k t – ERD (entity
relation diagram)
c t ch c n ng v i DFD
• H th ng (System): t p h p các d li u (data) đ
x lý b ng các ch c n ng t ng ng (functions)
• Các ký pháp s d ng:
c
Th hi n các ch c n ng (functions)
Th hi n lu ng d
Kho d
li u
li u
Vào ra d li u và t ng tác gi a
h th ng và ng i s d ng
21
Ví d : mô t bi u th c toán h c b ng
DFD
22
Ví d đ c t các ch c n ng c a th
vi n qua DFD
Yêu c u t
(a+b)*(c+a*d)-e*(a+b)
Kho sách
b
c
a
+
a
Tên tác gi
d
Danh sách tác gi
*
+
Tên sách
Danh sách tên sách
Có
sách
*
Tên sách;
Tên ng i m
Tìm theo
ch đ
Ch
n
Thông tin
v sách
n
im
n
Li t kê các tên sách
liên quan đ n ch đ
đ
Ch đ yêu c u
23
im
Sách
Danh sách ng
Danh sách ch đ
ng
Tên sách, tác gi
Tên ng i m n
Sách
a ra
Tên sách
24
4
8/26/2013
Các h n ch c a DFD
Các h n ch c a DFD
• Ý ngh a c a các ký pháp s d ng đ c xác đ nh
b i các đ nh danh l a ch n c a NSD
• Ví d : DFD c a ch c n ng tìm ki m sách:
•
Trong DFD không xác đ nh rõ
các h ng th c hi n (control
aspects)
A
If NSD nh p vào c tên tác gi và tiêu đ sách Then
tìm ki m sách t ng ng, không có thì thông báo l i
Elseif ch nh p tên tác gi Then
hi n th danh sách các sách t ng ng v i
tên tác gi đã nh p và yêu c u NSD l a ch n sách
Elseif ch nh p tiêu đ sách Then
...
Endif
B
E
•
•
D
F
C
•
•
•
•
Ch c n ng D có th c n c A,
B và C
Ch c n ng D có th ch c n
m t trong A, B và C đ th c
hi n
Ch c n ng D có th k t xu t
k t qu cho m t trong E và F
Ch c n ng D có th k t xu t
k t qu chung cho c E và F
Ch c n ng D có th k t xu t
k t qu riêng cho c E và F
Bi u đ DFD này không ch rõ
đ u vào là gì đ th c hi n
ch c n ng D và đ u ra là gì
sau khi th c hi n ch c n ng
D.
25
2.
c t tr ng thái v i FSM - Finite
State Machines
Các h n ch c a DFD
• DFD không xác đ nh s
n ng / mô-đun
26
đ ng b gi a các ch c
• FSM ch a
– T p h u h n các tr ng thái Q
– T p h u h n các đ u vào I
– Các ch c n ng chuy n ti p
– A x lý d li u và B đ c h ng (nh n) các k t qu
đ c x lý t A
– A và B là các ch c n ng không đ ng b (asynchronous
activities) vì th c n có buffer đ ng n ch n tình trang
m t d li u
•
:QxIQ
Báo đ ng áp l c cao
A
B
Báo đ ng nhi t đ cao
ON
Kh i đ ng l i
27
Ví d : th
OFF
28
c t các yêu c u đ c bi t c a th
vi n
vi n
• Xét các giao d ch:
c gi không đ c m n quá m t s l ng sách
nh t đ nh, trong m t th i gian nh t đ nh
• M t s sách không đ c m n v
• M t s ng i không đ c m n m t s lo i sách
nào đó, . . .
•
– M n sách / Tr sách
– Thêm đ u sách / Lo i b đ u sách
– Li t kê danh sách các đ u sách theo tên tác gi hay theo
ch đ
– Tìm ki m sách theo các yêu c u c a ng i m n
– Tìm ki m sách quá h n tr , . . .
29
30
5
8/26/2013
c t các đ i t
• Các đ i t
–
–
–
–
ng trong th
FSM đ c t tr ng thái
vi n
ng:
• Ta có t p h p các sách (m i đ u sách có th có
nhi u quy n sách trong th vi n).
• M i quy n sách có th có 1 trong 5 tr ng thái
sau:
Tên sách
Mã quy n
Nhân viên ph c v
Ng i m n
–
–
–
–
• C n có:
– t p h p (danh sách) các tiêu đ sách
– danh sách các tác gi cho t ng quy n sách,
– danh sách các ch đ liên quan c a các quy n sách
31
3.
c t d li u v i
Mô hình th c th liên k t -ERD
(AV) Available: đ c phép m n,
(CO) - (BR): đã m n (Check Out; Borrow),
(L): Last,
(R): Remove
CO
Có th có h n ch v s sách đ
cm
AV
BR
L
R
n cho 1 nhóm đ c gi ho c m i đ c gi , . .32
.
Th c th
• Mô hình khái ni m cho phép đ c t các yêu c u
logic c a h th ng, th ng đ c s d ng trong
các h th ng d li u l n
• ER Model
• Th c th : t p h p các thông tin liên quan c n
đ c x lý trong ph n m m
• Th c th có th có m i quan h :
– ng
– Th c th
– Quan h
– Thu c tính
i s h u ôtô
Ng
• Bi u đ th c th
i
s h u
Ôtô
• Th c th có các thu c tính
33
Thu c tính
34
Quan h
• Tính ch t c a m t th c th ho c m t đ i t
d li u
– đ t tên cho 1 m u (instance) c a đ i t ng d
– mô t m u (instance)
– t o liên k t (reference) đ n các m u khác
ng
• Ch ra m i liên quan g a các đ i t
Bookstore
li u
Cardinality : ch ra đ nh l
1:1 one-to-one
Ford
Car
Automobile
Company
Modality :
Orders
N
ng d
li u
Books
ng c a m i quan h
1:N one-to-many M:N many-to-many
0 – có th có, có th không có quan h
1 – b t bu c có quan h
Blue
ID
1
Ford
T p các thu c tính c a 1 đ i t ng d li u đ
xác đ nh thông qua ng c nh c a bài toán.
c
35
Customer
1
Is
provided
with
N
Repair Action
36
6
8/26/2013
Ví d : ERD mô t th
vi n
So sánh
Area
DFD
Deals
with
FSM
n gi n, d hi u.
N
Copy
Belongs to
1
N
Title
N
Mô t lu ng d
Was
held
by
li u
Text
holds
1
Author
M
Borrower
Có th ph c t p v i
s l ng tr ng thái
l n
n gi n, d hi u
Mô t tr ng thái c a
th c th
Mô t tr u t
s d li u
Không xác đ nh rõ
h ng th c hi n
Xác đ nh rõ h
th c hi n
Không xác đ nh rõ
h ng th c hi n
Không th hi n tính
tu n t hay song
song c a ti n trình
Th hi n t t tính
song song và tu n t
state
Written
by
ERD
ng
ng c
Không th hi n tính
tu n t hay song
song
limit
37
4. Th nào là m t đ c t t t?
•
•
•
•
•
38
4. Th nào là m t đ c t t t?
D hi u v i ng i dùng
Có ít đi u nh p nh ng
Có ít quy
c khi mô t , có th t o đ n gi n
V i phong cách t trên xu ng (topdown)
D tri n khai cho nh ng pha sau c a vòng đ i:
thi t k h th ng và thi t k ch ng trình và giao
di n d làm, đ m b o tính nh t quán, . . .
Khách hàng
m i
t hàng
Khách hàng
Hoá đ n
H th ng
đ t hàng
M t hàng
Phi u hàng
Kho hàng
Thông báo
chuy n hàng
39
2.1
Customer
Order
Need to
establish
1. Mô hình hóa d
D Customer
1 Master
Verify
Customer
• Xác đ nh
• Xác đ nh
t ng d
• Thi t l p
t ng d
Valid
2.2
Customer
Order
Notify
D Inventory
2 Master
Verify
Item
Update
2.4
Valid
Item
40
Avail
Update
Commit
li u
các đ i t ng d li u
các đ c tính c a các đ i
li u
các m i quan h gi a các đ i
li u
2.3
Check
Available
Back
Order
D Back
3 Order
D Shipping
4 Taxes
Tax
2.5
Create
Order
Ord D Inventory
2 Master
Pending
Order
41
42
7
8/26/2013
2. Mô hình hóa các ch c n ng
3. Mô hình hóa hành vi
• Xác đ nh các ch c n ng chuy n đ i đ i
t ng d li u
• Ch ra lu ng d li u đi qua h th ng
nh th nào
• Bi u di n b ph n s n sinh d li u và
b ph n tiêu th d li u
• Ch ra các tr ng thái (states) khác
nhau c a h th ng
•
c t các hi n t ng (events) làm h
th ng thay đ i tr ng thái
43
44
4. Phân m nh các mô hình
5. B n ch t
• Tinh l c t ng mô hình đ bi u di n các
m c tr u t ng th p h n
• L c đ i t ng d li u
• T o ra phân c p ch c n ng
• Bi u di n hành vi (behavior) các
m c chi ti t khác nhau
• Hãy b t đ u b ng cách t p trung vào
b n ch t c a v n đ ch không xem
xét nh ng chi ti t cài đ t
45
46
8