Mô tả:
PhÇn 3
ThiÕt kÕ phÇn mÒm
1
ThiÕt kÕ phÇn mÒm
Kh¸i niÖm, nguyªn lý, chÊt l−îng
ThiÕt kÕ kiÕn tróc
ThiÕt kÕ giao diÖn
ThiÕt kÕ thñ tôc
ThiÕt kÕ h−íng ®èi t−îng
2
Tµi liÖu
N.V. Vþ, N. V. Hµ, Gi¸o tr×nh kü nghÖ phÇn
mÒm, ch−¬ng 3.
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ª
Zhiming Liu, Object-Oriented Software
Development with UML, UNU/IIST Report
Sommerville, Software Engineering
Pressman, Software Engineering
3
ThiÕt kÕ phÇn mÒm
m« h×nh
th«ng tin
m« h×nh
chøc n¨ng
ThiÕt kÕ
thiÕt kÕ
kiÕn tróc
cÊu tróc
d÷ liÖu
c¸c yªu
cÇu kh¸c
thiÕt kÕ
thuËt to¸n
LËp tr×nh
m« ®un
ch−¬ng tr×nh
4
ThÕ nµo lµ thiÕt kÕ
Lµ mét qu¸ tr×nh s¸ng t¹o:
• NghÜ xem nªn lµm nh− thÕ nµo (c¸ch thøc, ph−¬ng ¸n)
• BiÓu diÔn c¸ch thøc, ph−¬ng ¸n
• Xem xÐt l¹i, chi tiÕt hãa
®ñ chi tiÕt ®Ó ng−êi lËp tr×nh biÕt
ph¶i lµm nh− thÕ nµo
5
ThiÕt kÕ phÇn mÒm
Lµ t¹o m« h×nh cµi ®Æt cña phÇn mÒm
Lµ ph−¬ng tiÖn ®Ó trao ®æi th«ng tin, ®Ó ®¶m
b¶o chÊt l−îng
dÔ hiÓu dÔ söa ®æi h¬n m· ch−¬ng tr×nh
cung cÊp c¸i nh×n tæng thÓ; ®ång thêi cã nhiÒu
møc chi tiÕt
NÕu kh«ng cã thiÕt kÕ; hoÆc thiÕt kÕ tåi:
lµm t¨ng c«ng søc viÕt m· ch−¬ng tr×nh
lµm t¨ng c«ng søc b¶o tr×
6
ThiÕt kÕ phÇn mÒm
PhÇn mÒm lµ tËp c¸c m« ®un t−¬ng t¸c lÉn
nhau
M« ®un hãa lµ ch×a khãa cho phÇn mÒm tèt
Môc tiªu thiÕt kÕ lµ x¸c ®Þnh:
chøc n¨ng cña c¸c m« ®un
c¸ch thøc cµi ®Æt m« ®un
t−¬ng t¸c gi÷a c¸c m« ®un
7
Nguyªn lý thiÕt kÕ
ThiÕt kÕ kh«ng nªn bÞ bã buéc vµo c¸i nh×n
h¹n hÑp
nªn
®−îc lùa chän tõ c¸c gi¶i ph¸p kh¸c nhau
ThiÕt kÕ ph¶i lÇn ng−îc l¹i ®−îc m« h×nh
ph©n tÝch
c¸c
m« ®un vµ c¸c yªu cÇu kh«ng ph¶i lµ
t−¬ng øng mét - mét
ph¶i kiÓm tra ®−îc sù tháa m·n c¸c yªu cÇu
8
Nguyªn lý thiÕt kÕ (t)
Kh«ng nªn t¸i t¹o l¹i c¸c thiÕt kÕ (gi¶i ph¸p)
®· cã, mµ cÇn t¸i sö dông tèi ®a c¸c thiÕt kÕ
®· cã
M« h×nh thiÕt kÕ (gi¶i ph¸p) nªn tiÕn gÇn ®Õn
m« h×nh thÕ giíi thùc (bµi to¸n)
DÔ hiÓu, dÔ kiÓm tra
9
Nguyªn lý thiÕt kÕ (t)
BiÓu diÔn thiÕt kÕ ph¶i cã tÝnh nhÊt qu¸n vµ
tÝnh tÝch hîp:
thiÕt
kÕ do nhiÒu ng−êi tiÕn hµnh song song
ph¶i thèng nhÊt c¸ch biÓu diÔn, thèng nhÊt
giao diÖn
ThiÕt kÕ cÇn cã cÊu tróc ®Ó dÔ dµng thay ®æi
ph¶i
®−îc modun hãa, ph©n cÊp
10
Nguyªn lý thiÕt kÕ (t)
ThiÕt kÕ kh«ng ph¶i lµ m· hãa
thiÕt kÕ lu«n cã møc trõu t−îng h¬n m· hãa, ®¶m
b¶o dÔ hiÓu, dÔ thay ®æi, cã thÓ cµi ®Æt b»ng c¸c
ng«n ng÷ kh¸c nhau
ThiÕt kÕ cÇn ®−îc ®¸nh gi¸ chÊt l−îng ngay
trong khi nã ®−îc t¹o ra
tÝnh
kÕt dÝnh, tÝnh ghÐp nèi, tÝnh hiÖu qu¶,...
ThiÕt kÕ cÇn ®−îc thÈm ®Þnh ®Ó tr¸nh c¸c lçi
mang tÝnh hÖ thèng
thiÕu
chøc n¨ng, chøc n¨ng kh«ng râ rµng, m©u
thuÉn,...
11
N«i dung thiÕt kÕ
ThiÕt kÕ kiÕn tróc
ph©n r· hÖ thèng thµnh c¸c m« ®un, hÖ thèng con
x¸c ®Þnh t−¬ng t¸c (giao diÖn) gi÷a c¸c m« ®un
ThiÕt kÕ cÊu tróc d÷ liÖu
x©y dùng m« h×nh biÓu diÔn th«ng tin
ThiÕt kÕ thñ tôc (thuËt to¸n)
x¸c ®Þnh c¸c b−íc thùc hiÖn
ThiÕt kÕ giao diÖn ng−êi dïng
nªn nh×n nhËn giao diÖn lµ mét bµi to¸n ®éc lËp
12
ThiÕt kÕ kiÕn tróc
Sö dông biÓu ®å cÊu tróc (structure chart), m« t¶:
c¸i nh×n tæng thÓ vÒ hÖ thèng
mèi quan hÖ gi÷a c¸c m« ®un
giao diÖn gi÷a c¸c m« ®un
Ch−a cÇn chØ ra:
thø tù thùc hiÖn
sè lÇn thùc hiÖn
chi tiÕt thiÕt kÕ
13
ThiÕt kÕ cÊu tróc d÷ liÖu
Chän c¸ch biÓu diÔn cho sù vËt cã ¶nh
h−ëng m¹nh mÏ ®Õn chÊt l−îng phÇn mÒm
C¸c møc thiÕt kÕ
ThiÕt kÕ cÊu tróc d÷ liÖu l« gic
- ®Þnh danh d÷ liÖu
- x¸c ®Þnh c¸c mèi quan hÖ
ThiÕt kÕ cÊu tróc d÷ liÖu vËt lý
- kiÓu d÷ liÖu
- kÝch cì
14
ThiÕt kÕ cÊu tróc d÷ liÖu vËt lý
Cã nhiÒu c¸ch thøc biÓu diÔn
- phÇn tö v« h−íng;
- m¶ng mét chiÒu, nhiÒu chiÒu; danh s¸ch mãc nèi
- kiÓu cÊu tróc
- quan hÖ kÕ thõa
Nªn lµm chËm viÖc chän biÓu diÔn møc thÊp
- ®ãng gãi/che giÊu th«ng tin
- thiÕt kÕ h−íng ®èi t−îng
15
ThiÕt kÕ thñ tôc
M« t¶ c¸c b−íc ho¹t ®éng cña m« ®un
Ph−¬ng ph¸p m« t¶
- gi¶ m· (pseudo code)
- BiÓu ®å luång (flow chart)
- BiÓu ®å (diagam) Nassi-Shneiderman
- JSP
16
Kh¸i niÖm thiÕt kÕ c¬ së
Trõu t−îng hãa trõu t−îng hãa d÷ liÖu, thñ tôc,
®iÒu khiÓn
Lµm mÞn
chi tiÕt hãa c¸c trõu t−îng
TÝnh m«dun
ph©n chia d÷ liÖu vµ chøc n¨ng
KiÕn tróc
cÊu tróc tæng thÓ cña phÇn mÒm
Thñ tôc
thuËt to¸n ®Ó thùc hiÖn chøc n¨ng
Che giÊu th«ng tin
®iÒu khiÓn b»ng giao diÖn
17
Trõu t−îng hãa (abstraction)
Kh¸i niÖm c¬ së trong t− duy cña con ng−êi
Lµ qu¸ tr×nh ¸nh x¹ mét sù vËt/hiÖn t−îng
cña thÕ giíi thùc thµnh mét kh¸i niÖm logic
Cã nhiÒu møc trõu t−îng kh¸c nhau
cho phÐp con ng−êi tËp trung (t− duy) vµo gi¶i
quyÕt vÊn ®Ò mµ kh«ng cÇn bËn t©m ®Õn chi
tiÕt
biÓu diÔn vÊn ®Ò b»ng mét cÊu tróc tù nhiªn
18
Trõu t−îng d÷ liÖu
door
manufacturer
model number
type
swing direction
inserts
lights
type
number
weight
opening mechanism
19
Trõu t−îng thñ tôc
open
details of enter
algorithm
20
- Xem thêm -