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Ð

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

::= |

::= {}

::= . {} |

. {} E | E

::= |

::= + | -

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?