If you can't read please download the document
Upload
trandiep
View
243
Download
7
Embed Size (px)
Citation preview
Software Engineering
2014 Kim, Haeng Kon
2010 Software Engineering
2
,
.
- G.Myers, 1978
2010 Software Engineering
3
(1)
,
, , ,
: (What) (How)
2010 Software Engineering
4
(2)
2010 Software Engineering
5
(1)
1)
: ,
,
: ,
2010 Software Engineering
6
(2)
( )
()
( )
()
2010 Software Engineering
(3)
2)
7
2010 Software Engineering
8
(Data structure design)
(Architecture design)
(Interface design)
,
(Procedure design)
2010 Software Engineering
9
(structured design)
, ,
( )
Yourdon/Coad
Jackson, Warnier-Orr
(object-oriented design)
(=+)
Yourdon, Sheller/Meller, Rumbaugh, Booch...
2010 Software Engineering
(Module) (Identifiable unit),
.
(Abstraction)
(Modularity)
(Information Hiding)
(Complexity)
(System Structure)
10
2010 Software Engineering
11
(design principles)
(Modularity)
(Abstraction)
(Information hiding)
(Stepwise refinement)
(Structure)
2010 Software Engineering
12
(Modularity) (1)
?
?
(cohesion)
(coupling)
: :
1 4
5
6 3
2
1 2 3
4 5
6
C(p1) C(p2) E(p1) E(p2) E(p1p2) > E(p1) E(p2)
2010 Software Engineering
13
(Modularity) (2)
(Module)
(subsystem), (subroutine), (work
unit)
, ,
, , , ,
2010 Software Engineering
14
(Abstraction)
(Functional Abstraction)
(Data Abstraction)
( = + )
(Control Abstraction)
2010 Software Engineering
15
(Information hiding)
,
(Encapsulation)
, ,
2010 Software Engineering
16
(Stepwise refinement)
(Wirth )
(, )
2010 Software Engineering
17
(Structure)
,
Fan-In
Fan-Out
2010 Software Engineering
18
(1)-
(Coupling)
:
(Ripple Effect)
(Data coupling)
(Stamp coupling)
(Control coupling)
(Common coupling)
(Content coupling)
2010 Software Engineering
19
(2)-
1) Data Coupling( )
2) Stamp Coupling( )
3) Control Coupling( )
4) Common Coupling( ) (global data area)
5) Content Coupling( )
2010 Software Engineering
20
(3)-
(Cohesion)
:
(Functional Cohesion)
(Sequential Cohesion)
(Communicational Cohesion)
(Procedural Cohesion)
(Temporal Cohesion)
(Logical Cohesion)
(Coincidental Cohesion)
2010 Software Engineering
21
(4)-
1) (Functional Cohesion)
ex) ,
2) (Sequence Cohesion)
ex)
3) (Communication Cohesion)
ex)
4) (Procedural Cohesion)
ex) :
2010 Software Engineering
22
(5)-
5) (Temporal Cohesion)
ex)
6) (Logical Cohesion)
ex)
7) (Coincidential Cohesion)
ex)
2010 Software Engineering
23
(6)
?
?
()
?
?
?
Yes
No
Yes
No
Yes
No
?
?
()
?
?
?
Yes
No
Yes
No
Yes
No
2010 Software Engineering
24
(1)
,
(transition flow)
(transaction flow)
2010 Software Engineering
25
(2)
comment
Module
(/)
()
2010 Software Engineering
26
(3)
(transition flow)
DFD
2010 Software Engineering
27
(4)
2010 Software Engineering
28
(5)
2010 Software Engineering
29
(6)
(transaction flow)
: ,
, , ,
DFD
2010 Software Engineering
30
(7)
DFD
2010 Software Engineering
31
(1)
Module
:
:
( )
: h/w s/w
2010 Software Engineering
32
(2)
(flow chart)
N-S (Nassi-Schneiderman Chart)
(pseudo code)
(decision table)
(decision diagram)
PDL(Program Design Language)
(state transition diagram)
(action diagram)
2010 Software Engineering
33
(3)
( , :)
/* */
/* */
/* */
/* */
= 0
= 1
>
:= ().
( : , )
+=( - )
+:=1
.
2010 Software Engineering
34
JSP(Jackson system of Programming)
Warnier
2010 Software Engineering
35
JSP (1)
JSP : Jackson System of Programming
2010 Software Engineering
36
JSP (2)-
(Data Step)
(Program Step)
(Operation Step)
(Text Step)
JSP . /
JSP tree
2010 Software Engineering
37
JSP (3)-JSP
2010 Software Engineering
38
JSP (4)-
,
.
,
. ,
.
2010 Software Engineering
39
JSP (5)-
2010 Software Engineering
40
JSP (6)-
/
2010 Software Engineering
41
JSP (7)-
1) file file
2) file
3)
4)
5) ()
6) ()
7)
8)
9)
10)
11)
12)
13)
14) file file
15) file
16) file
2010 Software Engineering
42
JSP (8)-
Text
2010 Software Engineering
43
Warnier (1)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
2010 Software Engineering
44
Warnier (2)
(m)
(n)
(0-1)
(0-1)
(1)
(1)
(n)
(1)
(1)
(0-1)
(0-1)
(1)
+
2010 Software Engineering
45
Warnier (3)
2010 Software Engineering
46
Warnier (4)
Program
2010 Software Engineering
47
Focus