Upload
smile-smile
View
213
Download
1
Embed Size (px)
DESCRIPTION
Cong nghe phan mem c4
Citation preview
9/4/2011
1
Nhpmn
Cng ngh hc Phn mmIntroduction to Software Engineering
Department of Software Engineering
Faculty of Information Technology
Hanoi University of TechnologyTEL: 04-8682595 FAX: 04-8692906
Email: [email protected]
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.1
Phn IV
Thit k v Lp trnh
Design and Programming
Chng 6:
Phng php thit k h thng
6.1. Thit k h thng l g?
6.2. Phng php thit k h thng
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.2
6.1.Thit k h thng l g?
L thit k cu hnh phn cng v cu trcphn mm (gm c chc nng v d liu) cc h thng tha mn cc yu cu ra
C th xem nh Thit k cu trc (WHAT), chkhng phi l Thit k Logic (HOW)
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.3
Quy trnh thit k h thng
Phn chia m hnh phn tch ra cc h con
Tm ra s tng tranh (concurrency) trong hthng
Phn b cc h con cho cc b x l hoc ccnhim v (tasks)
Pht trin thit k giao din
Chn chin lc ci t qun tr d liu
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.4
Quy trnh thit k h thng (tip) Tm ra ngun ti nguyn chung v c ch iukhin truy nhp chng
Thit k c ch iu khin thch hp cho hthng, k c qun l nhim v
Xem xt cc iu kin bin c x l nh thno
Xt duyt v xem xt cc tha hip (trade-offs)
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.5
Cc im lu khi thit k h thng
(1) C th trch c lung d liu t h thng: l phn ni dung c t yu cu v giaodin
(2) Xem xt ti u ti nguyn kin trc ln hthng ri quyt nh kin trc
(3) Theo qu trnh bin i d liu, hy xemnhng chc nng c kin trc nh th no
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.6
9/4/2011
2
Cc im lu (tip)(4) T kin trc cc chc nng theo (3), hy xem xt
v chnh li, t chuyn sang kin trc chngtrnh v thit k chi tit
(5) Quyt nh cc n v chng trnh theo ccchc nng ca h phn mm c da theo lungd liu v phn chia ra cc thnh phn
(6) Khi cu trc chng trnh ln qu, phi phn chianhhn thnh cc mun
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.7
Cc im lu (tip)
(7) Xem xt d liu vo-ra v cc tp dng chungca chng trnh. Truy cp tp ti u
(8) Hy ngh xem c c nhng thit k trnth nn dng phng php lun v nhng k
thut g ?
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.8
Thit k h thng Thit k h thng
Thit k h thng phn cng [(1), (2)]
Thit k h thng phn mm [(3)-(7)]
Thit k h thng phn mm
Thit k tp (file design) [(7)]
Thit k chc nng h thng [(3)-(6)]
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.9
6.2 Phng php thit k h thng
Phng php thit k cu trc ha (StructuredDesign) ca Constantine
Ngoi ra cn cc phng php khc, nhPhng php thit k tng hp (CompositeDesign) caMyers
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.10
Thit k cu trc ha
Bt ngun t modularity, top-down design, structured programming
Cn xem nh Phng php thit k hnglung d liu (Data flow-oriented design)
Quy trnh 6 bc: (1) to kiu lung thng tin; (2) ch ra bin ca lung; (3) nh x DFD sang cu trcchng trnh; (4) xc nh phn cp iu khin; (5) tinh lc cu trc; (6) chn m t kin trc
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.11 HUT, Falt. of IT Dept. of SE, 2001 SE-IV.12
Thit k cu trc ha
(1) Mun v tham s
(2) Lu bong bng v cu trc phn cp
Lu bong bng (Bubble chart)
Cu trc phn cp (Hierarchical structured chart)
(3) Phng php phn chia STS
(Source/Transform/Sink) v TR (Transaction)
(4) Phn tch cu trc ha
(5) Chun phn chia mun
9/4/2011
3
(1) Mun
Dy cc lnh nhm thc hin chc nng(function) no
C th c bin dch c lp
Mun c dch c th c mun khcgi ti
Giao din gia cc mun thng qua cc bintham s (arguments)
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.13
(2a) Lu bong bng (Bubble chart)
Biu th lung x l d liu
K php
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.14
Tn
chc nng
Tn d liu Tn d liu
(D liu vo) (D liu ra)(Bong bng)
(2b) Cu trc phn cp(Hierarchical structured chart)
L phn cp biu th quan h ph thuc gia ccmun v giao din (interface) gia chng
Cc quy c:
Khng lin quan n trnh t gi cc mun, nhng ngmnh l t tri qua phi
Mi mun xut hin trong cu trc 1 ln, c th c ginhiu ln
Quan h trn di: khng cn nu s ln gi
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.15
Hierarchical structured chart
Cc quy c (tip): Tnmun biu th chc nng (lm g), t tn sao chocc mun pha di tng hp li s biu th chc nngcamun tng ng pha trn
Bin s (arguments) biu th giao din gia cc mun, bins cc mun gi/bgi c th khc nhau
Mi tn vi ui trn trng biu th d liu, ui trn en(hng) biu th flag
Chiu ca mi tn l hng truyn tham s
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.16
Hierarchical structured chart
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.17
Module A
Module B Module C Module D
Module E
1
Lung d liu
Lung flag
(3) Phng php phn chia STS, TR
Thit k cu trc:
Phng php phn chia STS(Source/Transform/Sink: Ngun/Bini/Hpth)
Phng php phn chia TR (Transaction)
Minh ha phn chia chc nng theo bong bngcaDFD (biu lung d liu)
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.18
9/4/2011
4
(3a) Phng php phn chia STS
1) Chia i tng bi ton thnh cc chc nngthnh phn
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.19
Bi ton
Problem
F1
F2
F3
F4F5
Quyt nh lung d liu chnh
2) Tm ra lung d liu chnh i qua cc chc nng: tu vo (Input) ti u ra (Output)
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.20
F1
F2
F3
F4
F5
INPUT
OUTPUT
Lung d
liu chnh
Quyt nh bong bng v d liu3) Theo lung d liu chnh: thay tng chc nngbi bong bng v lm r d liu gia cc bong
bng
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.21
F2 F3 F4 F5F1Data1 Data2 Data3 Data4 Data5 Data6
INPUT OUTPUT
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.22
T s bong bng sang
s phn cp
4) Xc nh v tr tru tng ha ti a u
vo v u ra
F2 F3 F4 F5F1Data1 Data2 Data3 Data4 Data5 Data6
INPUT OUTPUTTru tng hati a u vo
Tru tng hati a u ra
Source Module Transform Module Sink Module
5) Chuyn sang s phn cp
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.23
F2 F3 F4 F5F1Data1 Data2 Data3 Data4 Data5 Data6INPUT OUTPUT
Tru t-ng hati a u vo
Tru t-ng hati a u ra
Source Module Transform Module Sink Module
Control
Module
Source
Module
Transform
Module
Sink
Module
0
1 2 3
6) Xc nh cc tham s gia cc mun da theoquan h ph thuc
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.24
Module 0
Module 1 Module 2 Module 3
0
1 2 3
3
3 5 5
9/4/2011
5
7) Vi tng mun (Source, Transform, Sink) li pdng cch phn chia STS lp li cc bc t 1) n6). i khi c trng hp khng chia thnh 3 mun nh m thnh 2 hoc 1
8) Tip tc chia n mc cu trc lgic khi muntng ng vi thut ton bit th dng. Tnghp li ta c cu trc phn cp: mi nt l 1 mun vi s nhnh pha di khng nhiu hn 3
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.25
(3b) Phng php phn chia TR
Khi khng tn ti lung d liu chnh, m d liuvo c c th khc nhau nh nhng ngun khc
nhau xem nh cc Giao dch khc nhau
Mi giao dch ng vi 1 mun x l n
Phn chia mun c th: theo kinh nghim; theotnh c lp mun; theo s bc ti a trong 1 mun (v d < 50) v theo chun
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.26
(4) Phn tch cu trc ha
Xc nh lung d liu
Lung tuyn tnh th theo phn chia STS
Lung phn nhnh th theo phn chia TR
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.27
(5) Chun phn chiamun
Tnh c lp: kt hp (coupling) v bnvng (strength)
5 tiu chun caMyers Decomposability
Composability
Understandability
Continuity
Protection
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.28
c trng ca thit k cu trc ha
D thch ng vi m hnh vng i thcnc do tnh thn thin cao
Thit k theo tin trnh, khng hp vi thitk x l theo l (batch system)
Dng phn chia - kt hp gii quyt tnhphc tp ca h thng
Topdown trong phn chiamun
K thut lp trnh hiu qu
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.29
Chng 7:K thut thit k chng trnh
7.1 Thit k chng trnh l g ?
7.2 Phng php thit k chng trnh
7.3 Cng c thit k
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.30
9/4/2011
6
7.1 Thit k chng trnh l g ? L thit k chi tit cu trc bn trong ca phnmm: thit k tnh nng tng mun v giaodin tng ng
Cu trc ngoi ca phn mm: thit k hthng
Trnh t x l bn trong: Thut ton (gii thut, Algorithm); Logic
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.31
7.2 Phng php thit k chng trnh
Khng c trng thi m (fuzzy), m bothit k cu trc trong ng n
Ngn ng lp trnh ph hp
Trin khai ng n c t chc nng ccmun v chng trnh nh phng php lunthit k chi tit
Dng quy trnh thit k d chun ha tngbc
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.32
K thut thit k chng trnh
K thut thit k m hnh h phn mm
Hng tin trnh (process) : K thut thit k cutrc iu khin
Hng cu trc d liu (data): K thut thit k cutrc d liu
Hng s vt / i tng (object): K thut thit khng i tng
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.33
7.2.1 Lp trnh cu trc ha
Khi nim c bn: tun t, nhnh (chn), lp; cutrcm rng, tin x l, hu x l
Nhng im li khi thit k thut ton
Tnh c lp ca mun: ch quan tm vo-ra
Lm cho chng trnh d hiu
D theo di chng trnh thc hin
H phc tp s d hiu nh tip cn phn cp
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.34
Loi b GOTO
GOTO dng lm g?
Cho php thc hin cc bc nhy n mt nhn nht
nh
Ti sao cn loi b GOTO ?
Ph v tnh cu trc ca lp trnh cu trc ha
Phng php loi b GOTO
C th loi b GOTO trong mi trng hp?
Th no l k nng lp trnh cu trc
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.35
Lu khi thit k chng trnh
Ph thuc vo k nng v kinh nghim cangi thit k
Cn chun ha ti liu c t thit k chi tit
Khi thit k cu trc iu khin ca gii thut, v theo cc quy c cu trc ha nn i khitnh sng to ca ngi thit k b hn ch, bbuc theo khunmu c
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.36
9/4/2011
7
7.2.2 Lu cu trc ha
Tc dng ca lu (flow chart)
Quy phm (discipline)
Tru tng ha th tc
Lu cu trc ha
Cu trc iu khin c bn
Chi tit ha tng bc gii thut
Th hin c trnh t iu khin thc hin
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.37
Lu Nassi-Shneiderman(NS chart by IBM)
a- Ni (concatination) b- Chn (selection)
c- a nhnh (CASE) d- Lp (repetition)
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.38
X l 1
X l 2
Iu kinY N
X l 1 X l 2
Iu kin
X l 1
X l 2Xl 3
TT1
TT2 TT3
DO WHILE (kin)
X lREPEAT UNTIL (kin)
X l
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.39
Lu Phn tch bi ton
(PAD chart by Hitachi)
a- Ni (concatination) b- Chn (selection)
c- a nhnh (CASE) d- Lp (repetition)
WHILEkin X l
X l 1
X l 2
X l 1
X l 2
iu kin
X l1
X l2
X l3
X l4
TT1
TT2
TT3
TT4
Iu
k
in
UNTILkin X l
Trcchnh
7.2.3 V Phng phpGic-sn(Jacksonsmethod)
JSP: Jackson Structured Programming
Cc k php:
C s (elementary)
Tun t (sequence)
Lp
R nhnh
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.40
Trnh t thit k chung
Thit k cu trc d liu (Data step)
Thit k cu trc chng trnh (Program step)
Thit k th tc (Operation step)
Thit k c t chng trnh (Text step)
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.41
7.2.4 V Phng phpWa-ny(Warniers method)
Khi nim chung
Trnh t thit k Thit k d liu ra
Thit k d liu vo
Thit k cu trc chng trnh
Thit k lu
Thit k lnh th tc
Thit k c t chi tit
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.42
9/4/2011
8
Chng 8:K thut lp trnh
8.1 Lch s pht trin ca ngn ng lp trnh
8.2 Cu trc chng trnh
- Cu trc d liu d hiu
- Cu trc thut ton d hiu
8.3 Cc cng c lp trnh
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.43
8.1 Lch s ngn ng lp trnh Cc ngn ng th h th nht:
Ngn ng lp trnh m my (machine code) Ngn ng lp trnh assembly
Cc ngn ng th th th hai: FOTRAN, COBOL, ALGOL, BASIC Pht trin 1950-1970
Cc ngn ng th h th ba Ngn ng lp trnh cp cao vn nng (cu trc) Lp trnh hng i tng Lp trnh hng suy din logic
Cc ngn ng th h th t Truy vn Cc ngn ng h tr quyt nh
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.44
8.2 Cu trc d liu d hiu
Nn xc nh tt c cc cu trc d liu v ccthao tc cn thc hin trn tng cu trc d liu
Vic biu din/khai bo cc cu trc d liu chnn thc hin nhngm un s dng trctip d liu
Nn thit lp v s dng t in d liu khithit d liu
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.45
Cu trc thut ton d hiu
Algorithm
Structured coding v 9 im lu : Tun theo quy cch lp trnh
Mt u vo, mt u ra
Trnh GOTO, tr khi phi ra khi lp v dng
Dng comments hp l
Dng tn bin c ngha, gi nh
Cu trc lng r rng
Trnh dng CASE / switch nhiu hoc lng nhau
M ngun 1 chng trnh / mun nn vit trn 1 trang
Trnh vit nhiu lnh trn 1 dng
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.46
IF THEN / IF THEN ELSE
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.47
K Cng vic1
Cng vic 2
=0
0PASCAL
if iu kin then
begin
cng vic 1
end;
else
begin
cng vic 2
end
Ngn ng C
if (iu kin)
{ cng vic 1}
else
{cng vic 2}
CASE / switch
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.48
Ngn ng C
switch ()
{
case : ;[break;]
case : ; [break;]
case : ; [break;]
[default : ; [break;] ]
}
PASCAL
CASE
OF
gtr1: ;
gtr2: ;
...........
gtrN: ;
ELSE
;
END;
9/4/2011
9
FOR TO / DOWNTO
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.49
Bt u
KThc
Bin iu khin = Gi tr u
Bin iu khin > Gi tr cui
Thc hin
Bin iu khin = gi tr tip theo ca bin iu khin)
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.50
PASCAL
FOR binkhin := GTu TO GTCui DO
begin
end;
Ngn ng C
for ( [biuthc1] ; [biuthcK]; [biuthc2] )
{ ; }
c bit: c cc lnh thot break; continue;
exit
DOWHILE
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.51
Bt u
KThc
Cng vic
Biu thc LogicSai
ng
Kim tra iu kin trc khi thc hin
Li thng gp: Lp v hn
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.52
PASCAL
While BiuthcBoolean DO
begin
end;
Ngn ng C
while ()
{ ; }
REPEAT UNTIL
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.53
Bt u
Kthc
Cng vic
Biu thc LogicSai
ng C s khc nhau gia hai ngn ng?
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.54
PASCAL
Repeat
until Biu_thc_Boolean;
Ngn ng C
do {
;
} while ();
9/4/2011
10
Ch thch trong chng trnh Ti sao cn t cc ch thch trong chng trnh ?
V tr t cc ch thch trong chng trnh Thnh phn/ Module
Lp
Hm/th tc
Cc v tr c bit khc
Mt s quy nh khi t ch thch: Ngn gn
Gi nh
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.55
8.3 Cc cng c lp trnh Environments: DOS, WINDOWS, UNIX/LINUX
Editors, Compilers, Linkers, Debuggers
TURBO C, PASCAL
MSC, Visual Basic, Visual C++, ASP
UNIX/LINUX: C/C++, gcc (Gnu C Compiler)
JAVA, CGI, perl
C#, .NET
HUT, Falt. of IT Dept. of SE, 2001 SE-IV.56