Bµi 2
Ph©n tÝch vµ ®Æc t¶ yªu cÇu
1
Ph©n tÝch vµ ®Æc t¶ yªu cÇu
• Vai trß cña ph©n tÝch vµ ®Æc t¶
• Mét sè kü thuËt m« h×nh hãa
• §Æc t¶ yªu cÇu
• §Þnh d¹ng tµi liÖu yªu cÇu
2
Tµi liÖu
(cid:132) N.V. Vþ, N. V. Hµ, Gi¸o tr×nh kü nghÖ phÇn
(cid:132) N.V. Vþ, Ph©n tÝch thiÕt kÕ HTTT hiÖn ®¹i – H−íng cÊu tróc vµ h−íng ®èi t−îng, NXB Thèng kª
(cid:132) Zhiming Liu, Object-Oriented Software
mÒm, ch−¬ng 2.
(cid:132) Sommerville, Software Engineering (cid:132) Pressman, Software Engineering
3
Development with UML, UNU/IIST Report
Kh¸i niÖm, tÇm quan träng
(cid:132) Ph©n tÝch yªu cÇu lµ kh©u kü thuËt ®Çu tiªn, bao
(cid:132) Lµ sù phèi hîp c¶ nhµ ph¸t triÓn vµ kh¸ch hµng
(cid:132) Cã vai trß ®Æc biÖt quan träng trong tiÕn tr×nh
gåm nhiÒu b−íc nhá: (cid:132) nghiªn cøu kh¶ thi (cid:132) ph©n tÝch, m« h×nh hãa (cid:132) ®Æc t¶, (cid:132) thÈm ®Þnh yªu cÇu
4
ph¸t triÓn phÇn mÒm
Gi¸ ph¶i tr¶ cho sù t×m vµ söa lçi
5
Qu¸ tr×nh h×nh thµnh yªu cÇu
6
2.1 Ph©n tÝch yªu cÇu
• T×m hiÓu xem hÖ thèng cÇn lµm c¸i g×? • CÇn tu©n thñ nh÷ng rµng buéc g×? (tµi liÖu yªu cÇu lµ c¬ së cña hîp ®ång ®−îc ký)
"§Æc t¶ yªu cÇu phÇn mÒm"
• hiÓu vÊn ®Ò • chi tiÕt hãa • biÓu diÔn l¹i
7
®Æc t¶ bµi to¸n
Ph©n tÝch yªu cÇu: c¸c c«ng ®o¹n
(cid:132) X¸c ®Þnh kh¸ch hµng, cïng kh¸ch hµng ph¸t hiÖn c¸c
yªu cÇu
(cid:132) X©y dùng m« h×nh ph©n tÝch (hiÓu bµi to¸n)
(cid:132) d÷ liÖu (cid:132) chøc n¨ng (cid:132) tr¹ng th¸i
(cid:132) Lµm b¶n mÉu ®èi víi c¸c chøc n¨ng ch−a râ rµng (cid:132) T¹o ®Æc t¶ yªu cÇu phÇn mÒm (cid:132) ThÈm ®Þnh ®Æc t¶ yªu cÇu
8
Khã kh¨n cña ph©n tÝch
(cid:132) Kh¸ch hµng chØ cã kh¸i niÖm m¬ hå vÒ yªu
(cid:132) Kh¸ch hµng rÊt hay thay ®æi yªu cÇu
(cid:132) ng−êi ph¸t triÓn cÇn tØnh t¸o ®Ó x¸c ®Þnh ®óng
c¸c yªu cÇu (c¸i g× lµ cèt yÕu, bÒn v÷ng)
9
cÇu (cid:132) ng−êi ph¸t triÓn ph¶i chi tiÕt hãa thµnh c¸c yªu cÇu phÇn mÒm cã thÓ ph¸t triÓn ®−îc
Khã kh¨n trong ph©n tÝch(t)
• C¸c yªu cÇu th−êng mang tÝnh ®Æc thï
- khã hiÓu, khã ®Þnh nghÜa - kh«ng cã chuÈn biÓu diÔn • HÖ thèng ®a ng−êi sö dông
- yªu cÇu ®a d¹ng, møc −u tiªn kh¸c nhau - yªu cÇu m©u thuÉn nhau
• Ng−êi ®Æt hµng kh¸c ng−êi dïng thùc sù
10
kh«ng n¾m v÷ng yªu cÇu
Môc tiªu vµ yªu cÇu
• Môc tiªu: lµ c¸i h−íng tíi
VÝ dô:“Cã giao diÖn th©n thiÖn"
lµ c¸i cô thÓ kiÓm tra ®−îc • Yªu cÇu:
VÝ dô: "Giao diÖn ®å häa cã c¸c lÖnh ®−îc
chän b»ng menu"
11
nhiÖm vô cña ng−êi ph©n tÝch lµ x¸c ®Þnh c¸c yªu cÇu
C¸c lo¹i yªu cÇu
Cã thÓ ph©n lo¹i yªu cÇu phÇn mÒm thµnh:
• Yªu cÇu chøc n¨ng
m« t¶ mét chøc n¨ng (dÞch vô) cô thÓ mµ phÇn mÒm cÇn cung cÊp
• Yªu cÇu phi chøc n¨ng
12
c¸c rµng buéc vÒ chÊt l−îng, vÒ m«i tr−êng, chuÈn sö dông, qui tr×nh ph¸t triÓn...phÇn mÒm
Yªu cÇu phi chøc n¨ng
• Yªu cÇu vÒ s¶n phÈm
tèc ®é, ®é tin cËy, bé nhí, giao diÖn, qui tr×nh t¸c nghiÖp,…
• Yªu cÇu vÒ tiÕn tr×nh ph¸t triÓn
c¸c chuÈn, ph−¬ng ph¸p thiÕt kÕ, ng«n ng÷ lËp tr×nh...
• Yªu cÇu ngo¹i lai
13
vÒ chi phÝ, vÒ b¶n quyÒn,...
TiÕn tr×nh ph©n tÝch yªu cÇu
14
Nguyªn lý ph©n tÝch 1 M« h×nh hãa miÒn th«ng tin
(cid:132) ®Þnh danh d÷ liÖu (®èi t−îng, thùc thÓ) (cid:132) x¸c ®Þnh c¸c thuéc tÝnh cña chóng (cid:132) thiÕt lËp c¸c mèi quan hÖ gi÷a c¸c d÷ liÖu
15
Ph¶i hiÓu vµ biÓu diÔn ®−îc miÒn th«ng tin (problem domain):
Nguyªn lý ph©n tÝch 2 M« h×nh hãa chøc n¨ng
B¶n chÊt cña phÇn mÒm lµ biÕn ®æi th«ng tin
(cid:132) ®Þnh danh c¸c chøc n¨ng (biÕn ®æi th«ng tin) (cid:132) x¸c ®Þnh c¸ch thøc d÷ liÖu (th«ng tin) di chuyÓn
trong hÖ thèng (luång d÷ liÖu)
(cid:132) x¸c ®Þnh c¸c t¸c nh©n t¹o d÷ liÖu vµ t¸c nh©n tiªu
thô d÷ liÖu (t¸c nh©n)
16
Nguyªn lý ph©n tÝch 3 M« h×nh hãa hµnh vi
PhÇn mÒm (hÖ thèng) cã tr¹ng th¸i (hµnh vi)
(cid:132) x¸c ®Þnh c¸c tr¹ng th¸i cña hÖ thèng
(cid:132) vÝ dô: giao diÖn ®å häa, phÇn mÒm ®iÒu khiÓn,… (cid:132) x¸c ®Þnh c¸c d÷ kiÖn lµm thay ®æi hµnh vi hÖ thèng (cid:132) vÝ dô: bµn phÝm, chuét, c¸c cæng th«ng tin...
17
Nguyªn lý ph©n tÝch 4 Ph©n ho¹ch, lµm mÞn c¸c m« h×nh
Lµm mÞn, ph©n ho¹ch vµ biÓu diÔn c¸c m« h×nh ë c¸c møc kh¸c nhau
(cid:132) lµm mÞn c¸c m« h×nh d÷ liÖu (cid:132) t¹o c©y (m« h×nh) ph©n r· chøc n¨ng (cid:132) biÓu diÔn hµnh vi ë c¸c møc chi tiÕt kh¸c nhau
18
Nguyªn lý ph©n tÝch 5 Tim hiÓu vÊn ®Ò b¶n chÊt
(cid:132) Nh×n nhËn b¶n chÊt cña yªu cÇu (lµm g×?,
(cid:132) Ch−a quan t©m ®Õn c¸ch thøc cµi ®Æt (lµm
®iÒu kiÖn g×?) - What?
19
nh− thÕ nµo?) – How?
Ph−¬ng ph¸p thu thËp yªu cÇu
• Pháng vÊn
• Quan s¸t
• §iÒu tra b»ng b¶ng hái • Nghiªn cøu tµi liÖu
20
• Joint Application Design - JAD
Pháng vÊn
kÕ ho¹ch, danh s¸ch tham dù, ®Þa ®iÓm, ...
• ChuÈn bÞ:
• C©u hái:
- theo nhãm, Ýt nhÊt 2 ng−êi - ph©n c«ng hái vµ ghi chÐp
21
- c©u hái cã/kh«ng - c©u hái m« t¶ • C¸ch thøc tiÕn hµnh:
C¸c møc trõu t−îng cña yªu cÇu
Yªu cÇu nªn ®−îc biÓu diÔn ë nhiÒu møc trõu t−îng kh¸c nhau
Cã nhiÒu ®èi t−îng ng−êi ®äc:
22
• ng−êi sö dông • nhµ qu¶n lý • lËp tr×nh viªn • kü s− b¶o tr×
C¸c møc trõu t−îng cña yªu cÇu
X¸c ®Þnh yªu cÇu:
• m« t¶ c¸c dÞch vô mµ phÇn mÒm cung cÊp • viÕt b»ng ng«n ng÷ tù nhiªn • h−íng ng−êi dïng
§Æc t¶ yªu cÇu:
tµi liÖu cã cÊu tróc
23
• • m« t¶ chi tiÕt, chÝnh x¸c vÒ yªu cÇu • dïng lµm b¶n hîp ®ång
VÝ dô: chøc n¨ng kiÓm tra chÝnh t¶
§Þnh nghÜa: th«ng b¸o c¸c lçi chÝnh t¶ cña v¨n b¶n
§Æc t¶:
- c¸c lçi chÝnh t¶ ®−îc g¹ch ®á bªn d−íi - lçi so¹n th¶o ®−îc g¹ch xanh bªn d−íi
Lçi chÝnh t¶:
- tõ ®¬n kh«ng cã trong tõ ®iÓn
Lçi so¹n th¶o:
24
- thõa dÊu c¸ch - kh«ng viÕt hoa ®Çu c©u
§ßi hái ®èi víi ®Æc t¶ yªu cÇu
• TÝnh ®Çy ®ñ
- mäi yªu cÇu cña ng−êi dïng ph¶i ®−îc m« t¶
• TÝnh kh«ng ®−îc m©u thuÉn lÉn nhau
25
• TÝnh chÝnh x¸c: yªu cÇu kh«ng ®−îc m¬ hå - ng−êi ph¸t triÓn sÏ lµm c¸i nhá nhÊt - chi phÝ ph¸t sinh do söa ®æi yªu cÇu rÊt cao
ThÈm ®Þnh yªu cÇu
Néi dung cÇn thÈm ®Þnh ®Æc t¶ yªu cÇu:
1. Tháa m·n ®−îc nhu cÇu cña ng−êi dïng
2. Yªu cÇu kh«ng m©u thuÉn nhau
3. Yªu cÇu ph¶i ®Çy ®ñ (chøc n¨ng; rµng buéc)
26
4. Yªu cÇu ph¶i hiÖn thùc
Quan hÖ gi÷a ph©n tÝch vµ thiÕt kÕ
• Ph©n tÝch chØ nªn ®−a ra gi¶ sö tèi thiÓu
vÒ thiÕt kÕ hÖ thèng
• Yªu cÇu ph¶i kh«ng m©u thuÉn víi kü thuËt
27
m¸y tÝnh vµ tµi nguyªn hiÖn cã
2.2 Mét sè ph−¬ng ph¸p m« h×nh hãa
• BiÓu ®å ph©n r· chøc n¨ng
• BiÓu ®å luång d÷ liÖu
• BiÓu ®å thùc thÓ quan hÖ
28
• M« h×nh hãa h−íng ®èi t−îng
BiÓu ®å ph©n r· chøc n¨ng
Function Decomposition Diagram - FDD
29
• X¸c ®Þnh ph¹m vi cña hÖ thèng • Ph©n ho¹ch chøc n¨ng • T¹o nÒn t¶ng cho thiÕt kÕ kiÕn tróc hÖ thèng
VÝ dô: BiÓu ®å ph©n r· chøc n¨ng
30
BiÓu ®å luång d÷ liÖu
Data Flow Diagram - DFD
• C¸ch thøc d÷ liÖu ®−îc xö lý trong hÖ thèng
• Cã nhiÒu møc chi tiÕt kh¸c nhau (ph©n tÝch cã cÊu tróc)
• Cã nhiÒu biÕn thÓ vµ më réng kh¸c nhau
31
- hÖ thêi gian thùc
DFD: Kh¸i niÖm
T¸c nh©n ngoµi:
- ®èi t−îng bªn ngoµi hÖ thèng - ph¸t sinh hoÆc tiÕp nhËn th«ng tin
TiÕn tr×nh: thao t¸c ®èi víi th«ng tin (biÕn ®æi)
Luång d÷ liÖu:
- luång th«ng tin di chuyÓn trong hÖ thèng
32
Kho d÷ liÖu: n¬i l−u tr÷ d÷ liÖu
DFD: Ký ph¸p
Cã nhiÒu c¸ch biÓu diÔn kh¸c nhau
t¸c nh©n
tiÕn tr×nh
luång d÷ liÖu
33
kho d÷ liÖu
DFD - C¸c b−íc x©y dùng
• Ph©n r· chøc n¨ng hÖ thèng
• LiÖt kª c¸c t¸c nh©n, c¸c kho¶n môc d÷ liÖu
34
• VÏ DFD cho c¸c møc
DFD – Mét sè nguyªn t¾c
• C¸c tiÕn tr×nh ph¶i cã luång vµo vµ luång ra • Kh«ng cã luång d÷ liÖu trùc tiÕp gi÷a t¸c nh©n
víi t¸c nh©n hay kho d÷ liÖu
• Luång d÷ liÖu kh«ng quay l¹i n¬i xuÊt ph¸t
• B¾t ®Çu b»ng DFD møc 0, liÖt kª c¸c t¸c
35
nh©n ngoµi ë møc 0
CÊp bËc DFD
aa
bb
PP
xx
yy
level 0 level 0
p2p2
cc
aa
ff
p1p1
p4p4
bb
p5p5
dd
p3p3
gg
ee
level 1 level 1
36
BiÓu ®å ng÷ c¶nh
• HÖ thèng m« t¶ b»ng mét tiÕn tr×nh • Kh«ng cã kho d÷ liÖu • LiÖt kª c¸c t¸c nh©n ngoµi
®Æt vÐ
kh¸ch hµng
hÖ thèng b¸n vÐ
vÐ
37
DFD hÖ thèng b¸n vÐ
DFD møc 1
KiÓm tra giê tÇu
Ph©n tÝch yªu cÇu
b¶ng giê tÇu kh¸ch hµng
§Æt chç
Ph¸t hµnh vÐ
kh¸ch hµng
38
chç ®· ®Æt b¶ng gi¸ vÐ
BiÓu ®å thùc thÓ - quan hÖ
Entity - Relation Diagram
Ph©n tÝch cÊu tróc d÷ liÖu
thùc thÓ thuéc tÝnh
39
quan hÖ kÕ thõa
TÇm quan träng cña E-R
(cid:132) Ph©n tÝch d÷ liÖu ®éc lËp víi xö lý (cid:132) Nghiªn cøu miÒn th«ng tin (cid:132) T¹o ra m« h×nh trõu t−îng h−íng kh¸ch hµng (cid:132) X¸c ®Þnh mèi liªn hÖ gi÷a c¸c d÷ liÖu
40
E-R: ®Þnh nghÜa
Thùc thÓ:
- lµ c¸c ®èi t−îng thÕ giíi thùc mµ chóng ta
muèn xö lý
- cã thÓ lµ ®èi t−îng thùc hoÆc trõu t−îng
Thuéc tÝnh: ®Æc ®iÓm cña thùc thÓ Quan hÖ:
- mèi liªn hÖ gi÷a c¸c thùc thÓ - lµ th«ng tin cÇn l−u tr÷/xö lý
KÕ thõa:
41
- quan hÖ kÕ thõa gi÷a c¸c thùc thÓ
E-R: VÝ dô
m· sv tªn
®Þa chØ
sinh viªn
phim bản sao
42
l−u tr÷
E-R: VÝ dô
name
label
43
icon image text text label
Lùc l−îng tham gia quan hÖ
(0, m) (0, m)
relationship relationship
object object
object object 11
22
(1, 1) (1, 1)
relationship relationship
object11 object
object 22 object
(1, 1)
(0, m)
44
E-R: X¸c ®Þnh thùc thÓ vµ quan hÖ
Thùc thÓ:
- lµ c¸c danh tõ (trong c©u m« t¶ yªu cÇu) - cã c¸c thuéc tÝnh khãa (x¸c ®Þnh duy nhÊt)
Quan hÖ:
45
- ho¹t ®éng xÈy ra gi÷a c¸c thùc thÓ - cã nghÜa víi ho¹t ®éng cña hÖ thèng - lµ ®éng tõ
E-R: C¸c b−íc
(cid:132) M« t¶ c¸c thùc thÓ vµ sù liªn kÕt gi÷a c¸c
(cid:132) M« t¶ c¸c thùc thÓ vµ c¸c mèi quan hÖ (cid:132) M« t¶ c¸c thùc thÓ, mèi quan hÖ vµ c¸c thuéc
thùc thÓ
46
tÝnh
Tõ ®iÓn d÷ liÖu
(cid:132) Ph−¬ng ph¸p (v¨n ph¹m) cã tÝnh h×nh thøc ®Ó
(cid:132) Ký ph¸p ®Ó m« t¶ c¸c d÷ liÖu ®iÒu khiÓn vµ
m« t¶ d÷ liÖu mµ hÖ thèng xö lý
(cid:132) Chøa ®ùng c¸c th«ng tin vÒ n¬i (m« ®un) vµ
miÒn gi¸ trÞ cña chóng (vd. on/off)
(cid:132) Th−êng ®−îc t¹o b»ng c¸c c«ng cô trî gióp
c¸ch thøc xö lý d÷ liÖu
47
(CASE)
Kho¶n môc tõ ®iÓn d÷ liÖu
(cid:132) Tªn (Name): tªn d÷ liÖu (cid:132) BiÖt danh (Aliases): tªn gäi kh¸c (cid:132) VÞ trÝ (Where): tªn c¸c m« ®un xö lý (cid:132) C¸ch thøc (How): vai trß cña d÷ liÖu, c¸ch
(cid:132) Ký ph¸p (Description): ký ph¸p m« t¶ d÷ liÖu (cid:132) Format: kiÓu d÷ liÖu, gi¸ trÞ mÆc ®Þnh...
48
thøc xö lý
VÝ dô tõ ®iÓn d÷ liÖu
telephone number
system output
integrated office phone system
Build the requirements dictionary:
telephone number phone number, number read-phone-number (input) display-phone-number (output) analyze-long-distance-calls (input) telephone no. = [ local extension | outside no. | 0 ] outside no. = 9 + [ service code | domestic no. ] service code = [ 211 | 411 | 611 | 911 ] domestic no. = ( ( 0 ) + area code ) + local number area code = *three numeral designator*
alphanumeric data
Name: Aliases: Where/How used: Description: Format:
49
2.3 Lµm b¶n mÉu trong ph©n tÝch
Trong nhiÒu tr−êng hîp, m« h×nh ch¹y thö lµ ph−¬ng ph¸p duy nhÊt ®Ó x¸c ®Þnh yªu cÇu
phÇn mÒm lín, phøc t¹p
b¶n mÉu (= trùc quan)
C¸c lo¹i b¶n mÉu:
50
• b¶n mÉu phÇn mÒm: ph¸t triÓn yªu cÇu • b¶n mÉu phÇn cøng: kiÓm tra thiÕt kÕ
C¸c b−íc lµm b¶n mÉu
B−íc 1: §¸nh gi¸ yªu cÇu vµ x¸c ®Þnh
cã nªn lµm b¶n mÉu kh«ng
®é phøc t¹p, chñng lo¹i, kh¸ch hµng
B−íc 2: BiÓu diÔn v¾n t¾t yªu cÇu
yªu cÇu chøc n¨ng/yªu cÇu phi chøc n¨ng
B−íc 3: ThiÕt kÕ nhanh
51
kiÕn tróc, cÊu tróc d÷ liÖu
C¸c b−íc lµm b¶n mÉu
B−íc 4: Ph¸t triÓn, kiÓm thö
- sö dông c¸c thµnh phÇn s½n cã - dïng c¸c ng«n ng÷ bËc cao - c¸c thuËt to¸n dÔ cµi ®Æt
B−íc 5: Ng−êi dïng ®¸nh gi¸
b−íc quan träng nhÊt???
52
B−íc 6: LÆp l¹i 2~5 cho ®Õn khi ®ñ yªu cÇu
¦u ®iÓm
• Lo¹i bít hiÓu nhÇm • Ph¸t hiÖn thiÕu hôt chøc n¨ng
vd: so¹n th¶o kÐo theo kiÓm tra chÝnh t¶
• Ph¸t hiÖn c¸c ®iÓm yÕu: - khã sö dông, - thao t¸c kh«ng an toµn • KiÓm tra tÝnh kh¶ thi/h÷u Ých
53
- cã thÓ x©y dùng ®−îc kh«ng - cã thùc sù cÇn kh«ng
¦u ®iÓm (t)
• Lµm c¬ së cho ®Æc t¶
lµm phÇn mÒm gièng nh− thÕ nµy, nh−ng tèt h¬n
• HuÊn luyÖn ng−êi sö dông
• Hç trî kiÓm thö (so s¸nh kÕt qu¶)
54
lµm b¶n mÉu lµ kü thuËt tr¸nh rñi ro
Nh−îc ®iÓm cña b¶n mÉu
• C¸c yªu cÇu phi chøc n¨ng th−êng kh«ng ®−îc
thÓ hiÖn ®Çy ®ñ
• Lµm t¨ng chi phÝ: cÇn ph¶i −íc l−îng chÝnh x¸c
chi phÝ cña b¶n mÉu
• C¸c yªu cÇu thay ®æi qu¸ nhanh khiÕn b¶n mÉu
trë nªn v« nghÜa
• Ng−êi dïng kh«ng dïng b¶n mÉu theo c¸ch
55
th«ng th−êng (kÕt qu¶ ®¸nh gi¸ kh«ng cã gi¸ trÞ)
Ng«n ng÷ lµm b¶n mÉu
(cid:132) Java (cid:132) Visual Basic (cid:132) Prolog, Lisp, Python (cid:132) C¸c ng«n ng÷ script kh¸c (cid:132) Perl, php, shell script
56
B¶n mÉu giao diÖn/ b¶n mÉu trùc quan
(cid:132) Sö dông c¸c ng«n ng÷/c«ng cô trùc quan
(cid:132) VB (cid:132) Delphi, J Builder (cid:132) FrontPage
(cid:132) Sö dông l¹i mét l−îng lín c¸c th− viÖn cã s½n (cid:132) TÝnh cÊu tróc kh«ng cao, khã tÝch hîp kÕt qu¶
57
cña nhiÒu nhãm, khã b¶o tr×
2.4 C¸c ph−¬ng ph¸p ®Æc t¶
§Æc t¶ phi h×nh thøc
• ®Æc t¶ b»ng ng«n ng÷ tù nhiªn • dÔ hiÓu
- kh«ng chÆt chÏ, dÉn tíi hiÓu nhÇm - cã nhiÒu c¸ch biÓu diÔn cho mét kh¸i niÖm
khã ph©n ho¹ch, khã söa ®æi
58
"kh«ng ai biÕt ch¾c ch¾n ph¶i lµm g× khi ch−a cã ®Æc t¶"
C¸c ph−¬ng ph¸p ®Æc t¶
§Æc t¶ h×nh thøc
h×nh vÏ + biÓu thøc ???
- ®Æc t¶ b»ng c«ng thøc to¸n häc - ®Æc t¶ b»ng s¬ ®å - ®Æc t¶ b»ng ng«n ng÷ ®Æc t¶
59
"kh«ng ai biÕt ch¾c ch¾n ph¶i lµm g× khi ch−a cã ®Æc t¶"
§Æc t¶ h×nh thøc
Pascal number syntax
60
§Æc t¶ h×nh thøc (t)
unsigned integer
digit
unsigned number
+
.
unsigned integer
unsigned integer
digit
E
-
61
§Æc t¶ h×nh thøc (t)
• ¦u ®iÓm
tÝnh chÝnh x¸c (duy nhÊt) cña ®Þnh nghÜa
®óng ®¾n???
• Nh−îc ®iÓm
- khã hiÓu, tèn thêi gian m« t¶ - kh«ng ¸p dông ®−îc víi mäi bµi to¸n
(c¸c yªu cÇu phi chøc n¨ng)
62
phèi hîp gi÷a ®Æc t¶ h×nh thøc vµ ®Æc t¶ phi h×nh thøc
C¸c ng«n ng÷ ®Æc t¶ h×nh thøc
§Æc t¶ yªu cÇu:
Z: m« t¶ biÕn ®æi tr¹ng th¸i
§Æc t¶ thiÕt kÕ:
- RAISE
63
- flowchart, pseudo code
Pseudo code
Procedure Write_name
if sex = male print “Mr.”
else print “Ms.”
print Name
64
end Procedure
DFD, E-R, UML
65
võa dïng cho ph©n tÝch, võa h−íng tíi thiÕt kÕ
2.5 Tµi liÖu yªu cÇu
• ChØ m« t¶ vÒ chøc n¨ng, rµng buéc
• Kh«ng m« t¶ vÒ ph−¬ng ph¸p cµi ®Æt
• Ph¶i dÔ thay ®æi (cã cÊu tróc)
66
- khã x¸c ®Þnh ®−îc ®Çy ®ñ chÝnh x¸c ngay - ph¶i qua nhiÒu b−íc xÐt duyÖt l¹i
§Þnh d¹ng cña tµi liÖu yªu cÇu Software Requirement Specification-SRS
67
ChuÈn IEEE 830-1984 1. Giíi thiÖu 2. M« t¶ chung 3. Yªu cÇu chi tiÕt
®Þnh d¹ng cña tµi liÖu yªu cÇu (SRS)
1. Giíi thiÖu
68
1.1 Môc ®Ých 1.2 Ph¹m vi 1.3 §Þnh nghÜa (®Þnh nghÜa, tõ viÕt t¾t) 1.4 Tµi liÖu tham kh¶o 1.5 M« t¶ cÊu tróc tµi liÖu
®Þnh d¹ng cña tµi liÖu yªu cÇu (SRS)
2. M« t¶ chung
69
2.1 Tæng quan vÒ s¶n phÈm 2.2 Chøc n¨ng s¶n phÈm 2.3 §èi t−îng ng−êi dïng 2.4 Rµng buéc tæng thÓ 2.5 Gi¶ thiÕt vµ sù lÖ thuéc
®Þnh d¹ng cña tµi liÖu yªu cÇu (SRS)
3. Yªu cÇu chi tiÕt
3.1 Yªu cÇu chøc n¨ng
70
3.1.1 Yªu cÇu chøc n¨ng 1 3.1.1.1 Giíi thiÖu 3.1.1.2 D÷ liÖu vµo 3.1.1.3 Xö lÝ 3.1.1.4. KÕt qu¶ 3.1.2 Yªu cÇu chøc n¨ng 2
… 3.1.n Yªu cÇu chøc n¨ng n …
®Þnh d¹ng cña tµi liÖu yªu cÇu (SRS)
3. Yªu cÇu chi tiÕt
… 3.2 Yªu cÇu giao diÖn ngoµi
3.2.1 Giao diÖn ng−êi dïng 3.2.2 Giao diÖn phÇn cøng 3.2.3 Giao diÖn phÇn mÒm 3.2.4 Giao diÖn truyÒn th«ng
71
3.3 Yªu cÇu hiÖu suÊt 3.4 Rµng buéc thiÕt kÕ
3. Yªu cÇu chi tiÕt
… 3.5 Thuéc tÝnh 3.5.1 TÝnh b¶o mËt 3.5.2 TÝnh b¶o tr× 3.6 C¸c yªu cÇu kh¸c
72
Phô lôc
C©u hái «n tËp
1. Ph©n tÝch yªu cÇu nghÜa lµ g×?
2. Môc tiªu cña ph©n tÝch yªu cÇu lµ g×?
3. C¸c c«ng ®o¹n cña tiÕn tr×nh ph©n tÝch yªu cÇu?
4. Nhøng khã kh¨n cña ph©n tÝch yªu cÇu?
5. Cã nh÷ng lo¹i yªu cÇu nµo?
6. Nªu nh÷ng yªu cÇu phi chøc n¨ng?
73
7. Nªu c¸c nguyªn lý cña ph©n tÝch yªu cÇu?
C©u hái «n tËp
8. Nªu c¸c ph−¬ng ph¸p thu thËp th«ng tin vÒ
yªu cÇu?
9. §Æc t¶ yªu cÇu cÇn cã nh÷ng tÝnh chÊt g×?
10. Néi dung cÇn thÈm ®Þnh yªu cÇu lµ g×?
11.C¸c ph−¬ng ph¸p m« h×nh ho¸ ®Ó ph©n tÝch
yªu cÇu lµ nh÷ng ph−¬ng ph¸p nµo?
74
12.Nªu c¸c b−íc lµm mÉu ®Ó x¸c ®Þnh yªu cÇu?
C©u hái «n tËp
12.Ph−¬ng ph¸p lµm mÉu ®Ó x¸c ®Þnh yªu cÇu
cã nh÷ng −u vµ nh−îc ®iÓm gi ?
13.Nh÷ng ng«n ng÷ nµo ®−îc dïng lµm mÉu?
14. Cã nh÷ng lo¹i ph−¬ng ph¸p ®Æc t¶ nµo?
M« t¶ tãm t¾t néi dung cña nã?
15. Tr×nh bµy néi dung ®Æc t¶ yªu cÇu theo chuÈn
75
IEEE 843-1984?