Professional Documents
Culture Documents
HPOOPIKH
A T
A'
T I
BAIEIO BEKOYKH
H M
M Y
ATPA 2000
HPOOPIKH
APXE TEXNOOIA OIMIKOY
A'
T I
BAIEIO BEKOYKH
H M M Y
AXIEA KAMEA
M H/Y
ANAITH INTEA
T M
HIA TAYPOOYO
IANNH AANOOYO
...
TYPORAMA
/ 19972000
ISBN: 9605380978
K : H 11/1
Copyright 2000
& , 26222 : (0610) 314094, 314206 : (0610) 317244
. 2121/1993,
.
............................................................................................................................................... 9
K 1
, ,
E .................................................................................................. 13
1.1 Y
.........................................................................
1.2 T K
1.3 K
15
...................................................
16
................................................................................................
18
1.4 T
...................................................................................
19
1.5 T ................................................... 21
1.6 T .................................................................................. 23
1.7
...............................................................
25
...................................................................................................................... 27
K 2
M K Z
, ,
E .................................................................................................. 29
2.1 H
2.2
...................................................
31
........................................................................
35
2.3 ................................................................. 38
2.4 T
...................................................
39
2.5 T
...................................................................................
41
2.6 T
.....................................................................................
43
2.7
................................
44
2.8
............................................................................. 46
...................................................................................................................... 48
TEXNOOIA OIMIKOY I
K 3
, ,
E .................................................................................................. 51
......................................
53
......................................................................................
62
3.1 H
3.2 M
3.3 A ............................................ 66
3.4 K .......................... 74
3.5 ............................. 97
................................................................................................................... 102
K 4
, ,
E ............................................................................................... 103
4.1
....................................................................................
4.2 T
...............................................................................
107
........................
109
......................................................................................
118
4.3 A
4.4
105
4.5 A
..............................................................................
4.6
............................................................
123
136
, ,
E ............................................................................................... 145
5.1
..............................................
147
......................................................................
5.4
...............................................
155
162
EPIEXOMENA
K 6
K 6:
, ,
E ............................................................................................... 169
6.1
.................................................................................
6.2
..............................................................
171
172
..............................................................................................
185
6.5 A
.............................................................................................
193
6.6
...................................................................................
6.7
......................................................................
195
196
................................................................................................................... 197
........................................................................................................................
199
........................................................................................................................
212
........................................................................................................................
235
.......................................................................................... 241
............................................................... 242
E
.........................................................................................................................................
245
,
.
, (Engineering), (Software Engineering).
, ,
, Internet
. , ,
. , .
, ,
. ,
, ,
.
,
.
,
,
, , . ,
, , .
(Software Engineering)
(Software Crisis), 1968.
,
10
TEXNOOIA OIMIKOY I
. ,
.
,
. ,
.
,
, .
: , , , ,
.
,
.
(, , ) .
,
.
,
,
. , ,
, .
: ,
.
, ,
: ,
.
-
TEXNOOIA OIMIKOY I
,
, .
.
. .
,
.
, , . ,
.
. . ,
( ) . 3 4 .
, 1 , , . , , . 2
. , , , ,
, ,
.
(3 4)
. 3
.
11
12
TEXNOOIA OIMIKOY I
.
, ,
. 4 , , , ,
.
, , . ,
,
.
5 .
. , , , , . ,
6 , . ,
, .
, (
)
.
,
.
. ,
. , . . , . ,
, ,
.
, .
.
, 1999
,
, ,
.
:
.
.
,
.
, -
14
KEAAIO 1: T
, .
,
. ,
, , ,
, . .
.
,
.
,
.
.
:
1.1 Y
1.2 T K
1.3 K
1.4 T
1.5 T
1.6 T
1.7
1.1 Y
(/).
/ , ,
,
. /
. .
/
. , /
, . , / ,
/ (, , ..).
/
.
, ,
,
.
(information society) Internet .
.
.
, .
15
KEAAIO 1: T
16
/.
,
.
, . , .
, :
:
(1) ( )
,
(2)
(3) , .
.
1.2 T K
,
,
.
, .
.
, .
.
, , ,
.
: ,
, ,
T K
17
.
,
.
,
.
, , ,
, .
,
, , .
,
, ,
.
,
. ,
, .
.
(, , ).
,
.
1.1
KEAAIO 1: T
18
1.3 K
. ,
,
.
,
, . 1.1
.
1.1
,
, .
, .
.
.
, .
, .
.
, , ,
.
. ,
K / T
,
. ,
.
, .
,
, (Software
Engineering). ,
.
,
, ,
.
1.4 T
,
. :
:
,
.
,
. , , . ,
, ,
.
19
20
KEAAIO 1: T
(software process),
. ,
( ) .
.
, , ,
,
. ,
,
,
(
) . :
,
,
,
,
(software
maintenance).
(software life cycle).
, . ,
.
T / T
. .
;
21
1.2
1.5 T
, ,
,
.
.
:
.
.
, ,
, , . ,
, ,
, .. ( 1.1).
YTHMA
OIMIKO
Y/ 1
Y/ 2
Y/
XPHTH
1.1
.
,
,
.
KEAAIO 1: T
22
,
.
, ,
.
,
,
( 1.2).
,
.
1.2
EYPYTEPO EPIBAON
XPHH OIMIKOY
ANAKH &
YHH
OIMIKOY
EPIPAH
XEIAH
OIMIKO
EMATIKO
EIO
OIMIKOY
EHPPEAZEI
EPIBAON
ANATYH OIMIKOY
YOOIHH
EEIH
:
,
. -
T / T
23
,
.
,
,
,
.
()
.
, . .
1.6 T
, , , .
, ,
, ,
, .
,
,
.
1.3
24
KEAAIO 1: T
.
:
. , ,
, .
. ,
,
.
,
.
, . .
/, (operating
systems). , (Unix, DOS, Windows), , ( ) .
, ,
. , ,
, ,
, , ..
,
,
.
, ,
.
-
T /
25
(
), , ,
. ,
,
.
, ,
,
.
, .
Internet. .
1.7
1.1,
. . ,
.
( ,
object, ..)
. (software documentation)
. ,
, , ,
..
1.4
26
KEAAIO 1: T
:
, .
, ,
, , ..
.
( object, ,
..) .
. ,
,
(standards) .
. ,
,
, , . , ,
. : , ,
, .
. ,
, .
. -
27
;
1.
2.
3.
4.
5.
6.
7.
8.
9.
.
. ,
, , ,
, .. , , -
1.1
28
KEAAIO 1: T
.
,
, , .
(software crisis).
,
.
,
.
,
.
M K Z
,
,
.
:
,
.
, , .
.
.
.
.
KEAAIO 2: M K Z
30
, ,
,
, , . ,
,
.
, .
. ,
, ,
..
,
. .
:
2.1 H
2.2
2.3
2.4 T
2.5 T
2.6 T
2.7
2.8
31
2.1 H
, ,
,
. : , , / ,
, .
2.1, .
YHH
KATAKEYH
XPHH
YNTHPHH
AOYPH
,
, .
. ,
, , .
(software process)
. .
.
(software development methodology) , ,
, ,
.
2.1
KEAAIO 2: M K Z
32
(CASE: ComputerAided Software
Engineering) ( ) ()
.
,
.
,
.
2.2
, , , , .
...
EPAEIA
MEOOOIE
2.2
IAIKAIE ANATYH
MONTEA KYKOY ZH
( 2.1),
,
, .
, . :
,
,
.
, . ,
: ,
(source code),
.
, .
,
, .
. , ,
.
,
,
, .
,
. / ,
.
,
,
. , (sideeffects), .
,
,
33
KEAAIO 2: M K Z
34
,
, , ..
(problem solving process).
2.3. ,
, ( ), , ( ).
O
()
()
Y
E
2.3
() ()
,
, .
, .
. , , ,
, , .
,
H /
35
, ,
.
,
,
,
.
, ,
,
, , . ,
,
.
/
, , .
: .
2.2
.
2.2
(Waterfall), 2.4.
,
.
/ ,
2.1
KEAAIO 2: M K Z
36
.
, , .
, .
,
.
POIAPAH
ANAYH
E
XEIAH
ANATYH
K
KIKOOIHH
EAHEYH
2.4
EEIH
, . 1,
,
, ..
, . ,
.
,
. (
) ,
...
, .
(, .), , ,
.
,
.
.
, . ,
. , , .
37
KEAAIO 2: M K Z
38
2.2
,
. , . ,
.
2.3
(prototyping model)
, ,
. ,
, .
.
, ( 2.5).
, .
,
. ( )
, , , . ,
, .
, .
,
-
/ T
39
AAITHEI
AO TO
YTHMA
ANO
ANATYH
KATAKEYH PTOTYOY
ANAYH
XEIAH
KIKOOIHH
EEXO
PTOTYO
AOEKTO
2.5
HPE
YTHMA
, .
,
. ,
,
.
2.4 T
(incremental model)
.
, , 2.6.
,
.
, , .
KEAAIO 2: M K Z
40
1
ANAYH
XEIAH
KIKOOIHH
EEXO
2
ANAYH
KIKOOIHH
XEIAH
EEXO
3
ANAYH
KIKOOIHH
XEIAH
EEXO
ANAYH
XEIAH
KIKOOIHH
2.6
EEXO
XPONO
,
, . :
. .
,
.
,
.
2.1
, 1 ,
;
T / T
2.5 T
. , , ,
.
, ,
. , , .
, ,
.
,
,
,
,
,
, .
, , 2.7.
, :
,
.
, .
, , ,
, ,
.
41
KEAAIO 2: M K Z
42
XPONO
2
ANAEPHH
A
1
POPAMMATIMO
EOMENH AH ANATYH
2.7
, ,
A
E
K
E
EKTEEH IAIKAIN
ANATYH OIMIKOY
2.7,
: ,
, , .
,
, . , , .
.
, , ..
.
T / T
43
,
.
. .
( ,
)
.
. ,
,
.
, , .
80120
.
.
2.6 T
, .
(objectoriented) : ,
, , -
2.2
KEAAIO 2: M K Z
44
YOOIHH
A
A
ANAYH
XEIAH
, ,
. (fountain model), 2.8.
,
. , .
,
80 90.
2.7
2.8
, . ,
.
(, .)
this page has been
intentionally left blank,
, .
.
-
45
,
, . ,
,
. 2.9 .
YHH KAI
EIOH HH
KATAKEYH
KYKO
ANATYH 1
KYKO
ANATYH 2
XPHH
KYKO
ANATYH N
2.9
ANO
EPAIN
ANAYH
XEIAH
YOOIHH
EEXO
, .
,
.
, .
,
,
, .
, .
,
.. ,
.
Rational Unified Process, .
KEAAIO 2: M K Z
46
2.3
,
.
2.8
,
2.10.
,
, , .
( )
.
: , , , ,
, ,
.
.
AH
2.10
H. Watt
IAIKAIA
POON
47
, ,
2.11.
,
.
( ) ( ). ,
,
.
,
(feedback)
.
KAOIKO
EOTIKO
EPAIA
YO
EPAIA
APAOMENA
YTATIKA
OIMIKOY
ATOMIKO
YOEPAIA
APAOMENA YTATIKA
OIMIKOY
E.1
1
E.2
2
E.
, .
, ,
2.11
KEAAIO 2: M K Z
48
( ) . , , ,
(tracking). , , ,
.
.
,
.
, . (software process)
. ,
, , .. .
. , . , . ,
, .
, -
TEXNOOIA OIMIKOY I
49
. 2.1 .
2.1
(, , ) .
.
, .
:
.
.
.
.
, - , , .
.
.
.
K E A A I O 3 : A
52
2 ( 2.1) , ,
. , ,
(
) .
, . , ,
.
,
, ,
. ,
.
,
.
:
3.1 H
3.2 M
3.3 A
3.4 K
3.5
53
3.1 H
,
.
3.1.1
: .
, , , ,
. ,
, . , ,
,
, ( 3.1).
M
(
)
M
(
, H/Y)
3.1
,
, .
,
, .
.
, , ,
,
. -
()
()
/
K E A A I O 3 : A
54
:
;. , .
(, , ) .
,
. , ,
. ,
, . , , .
3.1
, , .
, . () , , .
:
, -
,
, , .
3.1.2 ;
, , ,
, , , , , , , ..
.
. ,
.
,
.
,
, . , , .
.
3.2
(text
editor). ,
55
K E A A I O 3 : A
56
. , , :
1
Windows 98.
, .
:
1
Windows 98.
, .
,
,
.
(drag)
.
. ,
, , , .
Del Backspace
, ,
, .
insert
.
, , ,
: ,
. . , ,
,
.
,
. .
1
, -
57
K E A A I O 3 : A
58
,
3
. , ,
.
3.1.3 ;
. .
() .
,
.
.
, , .., ,
.
. , .
:
, (user
interface),
. :
.
: , -
, ,
. :
.
:
, . :
1 .
: . :
.
: . :
OMT IEEE Std 1016.
: (source code) . : ANSI C
64 .
: , ,
, (.. , )
. :
ODBC.
:
,
,
. : : ,
, , .
59
K E A A I O 3 : A
60
: . :
, .
3.2.
A
3.2
3.1
( 3.1.2) 3.1.3.
3.1
4 2 , : , , .
3.1.1, .
61
3.2
,
.
() , ,
.
, , .
.
;
, .
.
1. UNIX.
2. 1 n.
3. .
4.
UML.
5. .
6.
.
7. C++
StP.
3.2
K E A A I O 3 : A
62
8.
TCP/IP.
9. , 2 1 .
10. .
3.2 M
, (requirements engineering).
3.2.1
, ,
,
.
, .
,
.
, .
(requirements engineering).
.
.
(structured analysis)
, .
(objectoriented analysis and design),
6.1.
3.2.2
, , ,
.
,
.
, .
, , , , ,
.
,
. .
,
.
, . 3.3.
63
K E A A I O 3 : A
64
3. 3
A
/
, ,
.
/ ,
. , ,
, , .
, .
, , ,
.
,
,
. ,
.
3.3. 3.3, , .
,
.
,
, ,
.
, .
.
. , , ,
(, ..),
.
,
.
, ,
, ,
.
, , , .
, .
Windows 98.
65
3.3
K E A A I O 3 : A
66
3.3 A
,
3.4 .
3.3.1
, , 3.4.
.
, .
ANAYH AAITHEN
3.4
,
.
. , . -
. ,
, .
.
, , , , , .
. , , , , .
,
, ,
, .
, .
,
, (.. ).
,
. ,
. ,
3.3,
3.4.
,
.
/ .
67
K E A A I O 3 : A
68
,
.
.
01.
Windows 9x 32 bit (95, 98, NT,
2000). .
02. , .
03. .
04.
.
05.
.
,
( ) .
06.
.
07.
.
08.
.
09. .
10.
.
11.
.
12. .
13.
.
14.
.
3.3.2
, , .
.
,
, , .
.
,
. .
:
(, ) .
.
.
.
.
3.5
(8301993), .
69
K E A A I O 3 : A
70
3.5
1.
1.1
1.2
1.3
1.4 , ,
1.5
1.6
2.
2.1
2.2
2.3
2.4
2.5
2.6
3.
3.1
3.1.1
3.1.2
3.1.3
3.1.4
3.2
3.2.1 1
3.2.1.1 1.1
, , ,
3.2.1.2 1.2
, , ,
...
3.2.2 2
3.2.2.1 2.1
, , ,
3.2.2.2 2.2
, , ,
...
3.2.N N
3.2.N.1 N.1
, , ,
3.2.N.2 N.2
, , ,
...
3.3
3.4
3.4.1
3.4.2
3.5
3.5.1
3.5.2
3.5.3
3.5.4
3.5.5
3.6
,
, . 3 .
(mode).
,
.
, , . . ,
,
,
.
, ,
.
-
71
K E A A I O 3 : A
72
;.
.
, , .
.
. 3.2 2,
7 13 .
3.2.1 1
. ,
.
: . : . : .
3.2.2 2
.
. :
. : . :
.
3.2.3 3
.
.
: . : . : .
73
3.2.4 4
.
. : . : , , . : .
3.2.5 5
. ,
, . : . :
,
. :
.
. , 2 1, 2 3, 7
4 , , 13 5.
,
3.3.
;
3.3
M ,
.
3.4
K E A A I O 3 : A
74
3.5
,
, 6, 10 14 .
3.4 K
, ,
. .
3.4.1
,
. ,
.
,
.
, .
, . (abstract) .
.
,
75
EIKO
EOMENN
OH
AP N
MM N
PA ME
A O
I E
PA
M
Y MA
X ON
ET TO
I
E THT
. , , , ,
.
, 3.6.
3.6
IAPAMMA METABAH
KATATAEN
, .
,
3.6 .
.
, ,
.
3.4.2
,
, -
K E A A I O 3 : A
76
, , ,
. , , , .
,
. .
.
:
.
.
,
.
.
.
, .
3.3
3.7 (A+B)2, , ,
().
()
, : = +.
, ,
: = 2 = (+)2. .
A
X
77
3.7
A
3.8.
E
P
3.8
(
).
.
, (),
.
/ .
.
3.9.
3.9 ( ),
K E A A I O 3 : A
78
A
M
3.9
M
B
M
B
( ). ,
.
, .
. , ,
. , .
( )
.
3.10.
, . , ,
, .
:
79
3.10
A1
B
1
E
A2
1
A
1.1
A1
H
B
1.2
1.3
A2
1.1
I
1.1.1
1.1.3
1.1.2
A1
H
1.3
1.2
B
1.2.1
1.3.2
1.3.3
1.3.4
1.3.1
1.2.2
A2
. ,
.
,
,
. ,
, ,
.
80
K E A A I O 3 : A
,
( 3.4.5).
, ,
, ..
, .
.
, ,
.
,
, , ,
. , .
.
,
. , , .
( )
. ,
.
81
1. EIKOYPO
XPHTH
XPHTH
XPHTH
1.1
A
A
1.2 E
B
1.3 B
E
B
1.4 E
3.11
XPHTH
K E A A I O 3 : A
82
1.1.1
XPHTH
1.1.2
XPHTH
1.1.3
XPHTH
A.
1.2.2
XPHTH
E
1.2.1
A
A..
K. M/
3.12
3
( 1)
83
1.3.2
XPHTH
B
XPHTH
A.
B
1.3.1
K. M/
K. M
A
K.
XPHTH
1.4.1 P
EKTYTH
K.
1.4.2 E
E
E
A
3.13
3
( 2)
K E A A I O 3 : A
84
3.6
3.11, 3.12,
3.13,
( 3.3.1).
3.7
3.12
3.13 ( 3.11) .
3.8
A5 ( ) ( 3.3.2).
3.4.3
.
. , ,
,
(entity relationship diagram).
. , .
(entity) ,
. ,
(fields)
.
85
.
(record).
(table). ,
. , , , , 3.14.
O
KAHHTH
AP. TAYT. ONOMA ENYMO IEYYNH
TH.
A123456
5554432
A654321
N 22
9876543
M195828
B 21
1234567
3.14
(relationship)
, .
. , , ()
.
:
(1:1), / .
(1:), / .
(:),
/
.
3.15 1:
.
.
, -
K E A A I O 3 : A
86
. 3.16 1:1 :. :
: 1:
, 1:
.
IAKEI(1:N)
KAHHTH
MAHMA
K.
. EN.
TITO
IAKN
3.15
A123456
A411
4.1
A654321
1:
A654321
A424
4.1
A654321
M195828
A372
3.7
M 1
M195828
A373
3.8
M195828
(1:1)
(M:N)
3.16
1:1 :
, , ,
.
3.17.
,
. , .
, .
.
, , .
87
()
1
1
O
()
N
N
(1:1)
3.17
()
(1:N)
(M:N)
, .
.
3.18
.
KAHHTH
OITHTH
AIPNEI
IAKEI
BAMOOIA
MAHMA
AOPA
MAHMA
()
KAHHTH
OITHTH
IAKEI
BAMOOEITAI E
MAHMA
MAHMA
()
, .
:
3.18
K E A A I O 3 : A
88
:
.
:
.
. ,
3.18, :
1:.
.
,
,
,
.. .
,
.
. , , .
. ,
,
.
.
, .
,
89
,
(
, .). ( )
, .
3.19
,
.
KAHHTH
IAKEI
OITHTH
EPAETAI E
MAHMA
BAMOOEITAI E
3.19
: ,
.
.
, ,
.
:
. :,
1: .
K E A A I O 3 : A
90
3.4
. ,
, . .
3.5
: 1:.
3.4.4
, ,
.
. (state transition diagram).
, .
, .
, .
(), , ,
, .
-
.
,
, , .
. .
(event) , (, , ).
(response). .
() ,
. , .
, . ,
.
,
. 3.20.
. , .
.
() .
91
K E A A I O 3 : A
92
K
K
K
EONO/AOKPIH
3.20
M
/
EONO/AOKPIH
M
/
, .
;.
,
.
, , ().
,
,
.
.
, ,
, .
.
( )
93
,
.
3.21
.
.
,
, . , ..
. , ,
.
: (, , ),
, , , . , .
EIOH
MAHMATO
TEO
EION
EIOH
MAHMATO
EIEMENO
EIOH
MAHMATO
AITHH
EPAH
AITOYMENO
AOPPIH
AOPPIEN
TEO
EION
EKPIH
EIOH
MAHMATO
EKEKPIMENO
TEO
EION
3.21
K E A A I O 3 : A
94
3.9
, , , . , , , .
.
3.4.5
, .
: , , , , , .
,
. ,
,
,
.
(data dictionary).
, .
, . (CASE tools),
. :
: ,
.
: .
: , . .
: ( , , ..)
: .
:
( ).
: (
).
: .
,
, ,
.
,
.
,
. .
95
K E A A I O 3 : A
96
,
, 3.6. ,
,
, , ,
. (software repositories)
,
.
(CASE)
.
3.1 - 3.18.
, .
3.1
- 3.18. .
..
25
25
50
20
K /
97
..
. .
25
. .
25
. .
50
. .
20
. .
20
HMATO
. .
10
. .
10
50
. .
(//)
<
. .
10
010
100
3.5
, .
. ,
,
.
, , .
.
, , -
98
K E A A I O 3 : A
. , ,
: ,
, .
3.5.1
,
,
. , ..,
.
, , . ,
, ,
. ,
, .
, .
,
.
, , .
.
, .
, .
3.5.2
.
,
, .
( 3.3.2), , , .
, , , (, ) , ,
, . , (, .) . ,
. , , . ,
.
.
,
, , ,
( ). , -
99
K E A A I O 3 : A
100
. / CASE.
UML (Unified
Modeling Language),
(objectoriented) .
3.5.3
, . ,
, ,
, . .
, ,
. ,
.
,
, , . , ,
.
, . , ,
,
.
.
, ( ), ,
.
,
101
. , ,
. ,
, de facto
.
. .
;
3.5.4
,
.
, . , .
, .
,
,
, . .
. ,
, , . , ,
, , .
3.6
K E A A I O 3 : A
102
3.10
.
, ().
, ,
, ,
,
. , ,
, .
, . , .
. ,
.
.
,
, , , .
, ,
,
.
,
, , , , , , .
,
.
, ,
, ,
.
:
.
.
.
.
.
.
.
KEAAIO 4:
104
,
.
,
, , , 3. , , .
,
.
.
, . , , .
( ).
.
, .
:
4.1
4.2 T
4.3 A
4.4
4.5 A
4.6
4.7
4.1
.
,
.
.
, , .
, ,
, .
, , ,
.
.
, .
:
;
;
( , , )
;
, ,
105
KEAAIO 4:
106
, ;
;
. , , ,
.
.
, ,
, , . :
( ).
: , ,
.
, .
.
, ,
.
.
, (..
), (..
).
/ T
107
. , ,
,
.
;
1.5, ;
4.2 T
.
: (function oriented)
(object oriented).
.
;
,
, . 60 , ,
.
,
.
(objects). (objectoriented).
, ,
. 4.1.
4.1
KEAAIO 4:
108
TEXNOTPOIE
XEIAH OIMIKOY
POANATOIMENE
TA ANTIKEIMENA
(objectoriented)
POANATOIMENE
TI IAIKAIE
(functionoriented)
4.1
B
(>)
B
(>)
4.2.1
(topdown) ,
.
, ,
, . .
. .
.
4.2.2
(objectoriented) : , ,
,
.
.
T / A
109
.
.
Meyer (1988), Booch (1994),
Jacobson (1993), Rumbaugh (1992).
.
. .. .
10 ,
.
4.3 A
, . ,
,
. .
4.3.1
, , ,
. , :
:
4.1
KEAAIO 4:
110
() .
(interfaces):
, , , .
, ,
, , .
:
, , , ,
.
:
, , .
. ,
,
4.2.
4.2
4.3 , -
111
, .
XEIAH
4.3
4.3,
. H
,
(, , )
. ,
.
(functions), (subroutines),
(units), (procedures)
.
4.4 , , , . , , () ,
.
KEAAIO 4:
112
MONAE
OIMIKOY
4.4
EOMENA
4.3.2
,
. .
.
.
4.5.2.
. 4.5 ,
( ),
2 ( )
...,
(, , .).
. , ,
.
(functional
decomposition),
. 4.5
.
113
Y
1
Y
2
Y
3
( , ). , . ,
.
4.4.
4.3.3
.
.
, , . :
,
,
.
(interface design)
4.5
KEAAIO 4:
114
.
, ,
.
,
:
.
.
.
.
( )
, . ,
.
, , , .
4.3.4
.
.
, , . ,
.
.
, ,
, .
,
.
, , .
,
.
4.3.5
.
. , , ,
, , .
,
. , ,
. , ,
, :
, ,
(redundant) .
( )
115
KEAAIO 4:
116
.
(views).
( 4.3).
,
.
4.3.6
,
.
,
,
. IEEE
4.6.
4.6
( )
1.
1.1
1.2
1.3
1.4
2.
2.1
2.1.1 1
2.1.2 2
...
2.2
2.2.1 1
2.2.2 2
...
117
2.3
2.3.1 1
2.3.2 2
...
3.
3.1
3.2
3.3
4.
4.1
4.2
4.3
4.4
4.4.1
4.4.2
5.
5.1 1
5.2 2
...
6.
6.1 1
6.2 2
...
,
,
, ,
.
4.2
KEAAIO 4:
118
4.4
,
. : , (client
server), (3tier), (multitier). , .
(software deployment)
(, ).
,
.
,
. ,
, .
, 4.7.
. : , .
APOYIAH
4.7
EIXEIPHIAKH
OIKH
IAXEIPIH
EOMENN
119
, .
. , (business
logic) , .
. (
) ( ).
4.4.1
( 4.8).
. , ,
.
MONOIIKH
EAPMOH
OIMIKOY
APOYIAH
EIXEIPHIAKH OIKH
IAXEIPIH EOMENN
4.8
(deployment diagram)
.
, .
4.4.2
, ,
4.8
KEAAIO 4:
120
4.9
EATH
(client)
EYHPETHTH
(server)
APOYIAH
EIXEIPHIAKH OIKH
IAXEIPIH EOMENN
,
. , , , (clientserver).
4.9 .
,
.
,
.
, ,
,
.
, .
( ),
. , ,
.
4.4.3
, ,
.
121
, ,
,
.
(3tier) 4.10.
APOYIAH
EATH
(thin client)
EYHPETHTH
EOMENN
(data server)
EYHPETHTH
EAPMON
(application
server)
IAXEIPIH EOMENN
EIXEIPHIAKH OIKH
, (thin
client), ,
. .
,
. , .
4.4.4
4.10
KEAAIO 4:
122
APOYIAH
EYHPETHTH
APOYIAH
(presentation
server)
4.11
EATH
(web client)
EYHPETHTH
EOMENN
(data server)
EYHPETHTH
EAPMON
(application
server)
IAXEIPIH EOMENN
EIXEIPHIAKH OIKH
(, ) . web (web server).
,
web server,
web (browser).
, web client. , , .
4.3
web client;
. .
. .
. .
123
4.5 A
, .
4.5.1
, , , . ,
4.12. .
.
,
, .
Proc1
F
Proc2
Proc3
Z
R
4.12
Proc4
.
,
. ,
.
,
-
KEAAIO 4:
124
.
, .
4.13 .
.
,
.
HH KAI POETOIMAIA
EOMENN EIOOY
KENTPIKO
METAXHMATIMO
POETOIMAIA KAI
EEXO EOMENN
EOOY
4.13
. ,
. , .
,
. , ,
. 4.14
1, 2 3 -
125
. 4
, 5, 6, 7 8
.
4.14
3
6
4.15. 6
.
.
7
3
6
,
4.16.
, ,
, .
4.16 ,
4.15
KEAAIO 4:
126
4.16
K.M.
, . .
.
(transaction centre) ,
.
,
, . 4.17.
, , , , . , 4.18. -
HH KAI
POETOIMAIA
EOMENN
EIOOY
127
KENTPA
EEEPAIA
EOMENN
EOOY
KENTPO
OOHIN
4.17
, , , .
MONAA
EEXOY
HH
EOMENN
EEEPAIA
EOMENN
MONAA
EEXOY
EPITH 1
MONAA
EEXOY
EPITH 2
4.18
MONAA
EEXOY
EPITH N
128
KEAAIO 4:
4.5.2
,
.
:
1. .
.
2.
.
.
3. (factoring).
( ) , .
.
, , .
.
, . , , , .
4. .
.
,
.
, , .
129
.
4.19 3.10, , 1.3 . 1.1.3 ( 1) .
I
1.1.1
4.1
K
M
1.1.2
1.1.3
A1
H
B
1.2.1
1.3
A2
4.19
K.M.
1.2.2
,
4.20 ( 2 ).
, . .
, ,
. ,
, .
EXEC113
M
,M
H,
4.20
ANANH
TOY
ANANH
TOY M
YO
OIMO
,H
EOO
TOY
EOO
TOY H
4.19
KEAAIO 4:
130
O
B,N,O
ANANH
TOY B
ANANH
TOY N
YO
OIMO
TOY
ANANH
TOY O
EOO
TOY
()
EXEC 122
N
N
YO
OIMO
TOY N
ANANH
TOY
EOO
TOY N
()
EXEC 13
H
H,
4.21
ANANH
TOY
YO
OIMO
TOY E
ANANH
TOY H
()
EOO
TOY E
131
( 4)
4.22. :
,
,
. .
, 4.21.
EXEC 113
,M
H,
M
ANANH
TOY A
YO
OIMO
,H
ANANH
TOY M
EOO
TOY
EXEC 121
EXEC 13
H,
YO
OIMO
TOY E
EOO
TOY E
O
B,N,O
ANANH
TOY B
EXEC 122
ANANH
TOY O
YO
OIMO
TOY
ANANH
TOY
YO
OIMO
TOY N
4.22
KEAAIO 4:
132
4.4
3
. 4.23
3.12.
. , , .
1.1.1
XPHTH
A
1.1.2
XPHTH
A
1.1.3
4.23
, 3
133
4.24.
Exec 111
EM
M
M
Get
( M)
EM
EM
Prepare
(E M)
Get/Put
(E M)
Exec 112
EK
K
K
EK
Get
( K)
EK
EK
Prepare
(E K)
Get/Put
(E K)
Exec 113
EM
M
M
Get
( M)
EM
EM
Prepare
(E M)
Get/Put
(E M)
4.24
4.23
3.12 4.25 .
1.2.2, 1.2.1
, 1.2.2 . 1.2.1.
.
KEAAIO 4:
134
XPHTH
XPHTH
A.
1.2.2
E
1.2.1
A. .
K. /
K.M.
A
Exec 122
AE
AE
RE
Prepare
(Record E)
Exec 121
RE
Put
(Record E)
Put (A
E)
AMM, KM
AMM, KM
FLAG
E
FLAG
Get (AM M,
K. M)
Verify (AM M,
K. M)
Prepare
( E)
4.25
,
3.13. , 4.5.2. .
1.4.1 1.4.2. ,
1.4.2. 4.26, , , , .
K.
135
1.4.2
E
XPHTH
M
1.4.1
EKTYTH
E
E
E
A
SbC
PD
FP
1.4.1
1.4.2
AY
SbRecs
GRecs
StRecs
4.26
3.13,
4.27.
Exec 141
PD
FP
FP
PD
Format
(PD)
Exec 142
SbC,AY
Get
(AY, SbC)
SbC,
AY
Lookup
(SbC,AY)
*Recs
Put (FP)
PD
CreatePrint
List (*Recs)
4.27
4.26
KEAAIO 4:
136
4.5
4.6
,
.
,
.
.
.
.
,
. ,
, , . .
,
...,
, .
(stepwise refinement) (functional decomposition).
. (PDL: program description language).
, .
. -
137
.
Pascal 4.28.
.
A
/* */
:
/* */
+*/^
/* */
E
CASE OF
( 1) : ()
( 2) : ()
( N) : ()
OTHERWISE
( )
END CASE
E (1)
REPEAT
()
UNTIL
O
PROCEDURE (: IN/OUT, )
GLOBAL VAR 1, 2,
LOCAL VAR 1, 2,
()
CALL (1, 2, )
()
END PROCEDURE
4.28
E
IF THEN
( )
ELISE
( )
END IF
E (2)
WHILE DO
()
END WHILE
O
FUNCTION (, )
GLOBAL VAR 1, 2,
LOCAL VAR 1, 2,
()
: =
()
END FUNCTION
138
KEAAIO 4:
( ), ,
:
;
;
;
;
. 5
. . . , ,
. ,
,
.
.
,
(CASE).
CASE ,
. ,
,
. ,
. ,
. ,
,
.
4.2
Exec111 GET_ 4.24.
/*----------------------------------------*/
PROCEDURE Exec111
/*----------------------------------------*/
LOCAL VAR _, _
_, _
WHILE _ <> DO
CALL Get_(_)
IF _ <> THEN
CALL Prepare_(_, _)
CALL Put_(_)
END_IF
END_WHILE
END_PROCEDURE
/*----------------------------------------*/
PROCEDURE Get_(_: IN/OUT)
/*----------------------------------------*/
IF ESC THEN
139
KEAAIO 4:
140
_
END_IF
END_PROCEDURE
, .
. ,
,
, .
4.2
,
Exec141 Exec142 4.27.
4.3
4.29,
,
.
Run1
E
M
Res1
E 1
Run2
Res2
E 2
Run3
Res3
E 3
4.29
4.7
, .
.
, .
, .
, ..
2.
, :
,
, .
.
.
(
views).
, , .
,
.
:
.
141
142
KEAAIO 4:
.
.
.
,
3, .
. ( ) .
.
. (
5),
.
.
,
.
,
2.3, 3.3 6
.
,
. . ,
,
.
, , . , , , ,
.
.
, , .
143
. , .
:
.
,
.
.
.
.
. -
K E A A I O 5 : K
146
, ( )
.
, .
,
,
, , .
,
. / . , .
: , ,
, , , .
, . .. ,
.
:
5.1
5.2 E
5.3
5.4
5.5
5.1
()
,
, .
.
5.1.1
.
.
, (runtime),
.
,
, , ,
.
.
, .
.
,
. 1.2,
,
.
, ,
147
148
K E A A I O 5 : K
,
( 1.4 1.5, 1.2).
( 3.5) , ,
, , ,
. .
,
. .
.
, ,
. , ,
, , .
5.1.2
. , , . 5.1
,
.
(program editors):
.
(syntax highlighting, , , .
), , ..
149
5.1
(programming language implementations) :
, .
, , .
, .
(compilers):
.
(interpreters):
.
(assemblers): (assembly
language) .
(debuggers): -
K E A A I O 5 : K
150
. , , .
(program generators):
.
, , , , , ..
(software support systems)
(integrated
programming environments):
.
, .
.
5.1
; 50100
.
5.1
5.2 E
. ,
, .
5.2.1
(efficiency). ,
,
, .
, 6.
5.2.2
(performance).
:
.
, .
, , .
.
5.2.3
. -
151
K E A A I O 5 : K
152
, .
,
(readability),
.
, .
.
,
. . ,
, ,
.
.
, .
(begin end, { } ..), ,
,
.
.
.
, C
, .
if (x > 50000)
y = (x 50000)* 0.2;
Else
y = 0;
.
, ,
.
. , , , , .
.
.
.
.
5.2.4
.
. (documentation) ,
. ,
,
.
5.2.5
(portability)
( , )
. ,
153
K E A A I O 5 : K
154
. , :
,
(standard) .
5.2.6
(reusability) ,
.
. 5.5.
5.2
, 12
.
5.2
5.3
5.3.1
, .
, , .
. , , . ,
, .
,
. ,
.
, (real time systems).
, Pascal, C, C++, COBOL
BASIC Java,
. 5.2 -
155
K E A A I O 5 : K
156
, , . , .. .
Cobol
Fortran
Basic
Algol 60
PL/1
Lisp
Algol 68
Pascal
BCPL
C
Ada
Standard ML
Simula 67
C++
Scheme
Prolog1
Haskell
Smalltalk 80
Modula 2
Java
Etffel
Modula 3
5.2
5.3.2
1960,
.
goto if while.
(structured programming)
, , .
157
:
(s1; s2),
(if c then s1 else s2)
(while c do s).
. 5.3, ,
.
S1;S2
If C then
S1 else S2
S1
True
While C do S
False
C
False
True
S2
S1
S2
S
5.3
.
,
,
.
, ,
.
,
. ,
K E A A I O 5 : K
158
,
.
,
. ,
(topdown)
, .
5.3
5.3.3
(type system) . ,
:
,
.
,
.
,
.
(strong),
.
.
, ,
.
, ,
.
.
(encapsulation) (information hiding), :
, ,
, ,
.
, . ,
.
, .
,
.
,
159
160
K E A A I O 5 : K
. , .
.
(imperative) , ,
.
,
.
C, Pascal Basic,
. ,
Fortran Cobol, .
(objectoriented)
, ,
. .
,
,
.
C++ Java. ,
Pascal Basic.
(functional) ,
.
,
.
Lisp,
Scheme Standard ML Haskell, .
, -
,
.
. , ,
. , .
, . :
goto, , . 5.3.2,
. goto
,
, .
.
, .
, .
.
,
,
.
,
.
. ,
. -
161
162
K E A A I O 5 : K
(aliasing).
, , , .
.
,
.
, .
.
.
,
.
, .
5.4 T
, , ,
. , ,
. , . , , .
.
5.4.1
(fault avoidance)
.
-
.
,
.
.
,
, , ,
.
, . .
(, )
. ,
(formal methods) , , . ,
, .
.
,
,
.
163
K E A A I O 5 : K
164
5.2. .
5.4.2
(fault tolerance). ,
.
,
. , .
.
, .
, ..
,
.
,
.
:
.
. ,
.
. ,
.
.
(transactions).
,
,
.
.
.
, , .
.
, , .
.
. .
. , , .
. ,
. ,
165
K E A A I O 5 : K
166
. , 5.4.
, .
1
2
5.4
(defensive programming).
,
, . ,
.
5.4.3
.
,
6.
5.5 E
(reuse)
. , , ,
..
.
,
.
,
,
. , , . , ,
,
, .
.
,
.
,
FORTRAN, , .
, , , .
, ,
.
167
K E A A I O 5 : K
168
. , .
,
, , ,
.
.
,
.
, :
.
.
.
.
.
K E A A I O 6 :
170
.
. ,
, .
, ,
. , ,
, , .. .
:
6.1
6.2
6.3 T
6.4 E
6.5 A
6.6
6.7
6.1
, .
.
.
. ,
.
.
. (validation).
.
,
.
(verification).
, :
.
, . -
171
K E A A I O 6 :
172
, ,
.
6.1, , , .
EEXO OIMIKOY
EEXO MONAN
(Unit Testing)
EEXO YNENH
(Integration Testing)
EEXO YTHMATO
(System Testing)
EEXO AOOXH
(Acceptance Testing)
6.1
6.2
,
. , (test plan),
,
. , 6.2 , IEEE (IEEE Standard for Software Test Documentation,
ANSI/IEEE, Std 8291991).
6.2
01.
02.
03.
/ T
173
04.
05.
06.
07. /
08.
09.
10.
11.
12.
13.
14.
15.
16.
. , , .
: ,
,
, ,
.
6.3 T
,
,
.
6.1
K E A A I O 6 :
174
(test) .
.
(test data).
.
(test case) , ,
.
, 6.3
.
, ,
.
6.3
175
, ,
.
, . ,
,
.
,
: .
6.3.1
(blackbox testing)
,
,
. ( 6.4).
6.4
B
,
,
. ,
176
K E A A I O 6 :
, ,
. , ,
,
.
,
.
. (.. , , .).
. ,
,
. ,
,
. ,
(equivalence
partitions).
, .
. , , .
,
,
,
.
. ,
( ). ,
,
( 6.5).
(
).
( ) . :
,
(
)
( ).
,
(
) (
).
,
.
, , , ,
:
, .
-
177
KAEI IOYNAMN
TIMN
EIOOY
EKYPE
EOOY
AKYPE
6.5
178
K E A A I O 6 :
,
.
(boundary values)
.
, . , . , ,
.
, . , ,
:
, .
,
, , .
.
(..
, ),
.
179
(decision table)
.
. , ,
, .
.
. , .
, ,
.
,
Pascal,
.
Procedure GetDate(
(var d,m,y:
: integer; var flag:
:
integer);
Var day, month, year:
: integer;
1. Begin
2. day:
:=1;
; month:
:=1;
; year:
:=1900;
; flag:
:=0;
;
3. Write(' (//):'
');
4. Read(day)
); Read(month)
); Readln(year)
);
5. If (month<
<1)
) or (month>
>12)
) then
6.
:=1;
;
Flag:
7. If (day<
<1)
) or (day>
>31)
) then
8.
:=1;
;
Flag:
9. If Flag=
=0 then
10.
Begin
6.2
K E A A I O 6 :
180
6.2
11.
12.
13.
14.
15.
If month in [1,3,5,7,8,10,12]
] then
:=31;
UpperDayValue:
If month in [4,6,9,11]
] then
:=30;
;
UpperDayValue:
If month=
=2 then
16.
If leap(
(year)
) then
17.
:=29
UpperDayValue:
18.
Else
19.
:=28;
;
UpperDayValue:
20.
21.
22.
If day>
>UpperDayValue Then
:=1
Flag:
Else
23.
Begin
24.
:=day;
;
D:
25.
:=month;
;
M:
26.
:=year
Y:
27.
End;
28.
End;
29. End;
, . d, m, y.
:
( var),
GetDate.
( 2), ( 3) ( 4). ( 56)
( 78) , ,
181
flag,
( ) (
).
1 12
1 31. , .. 31.2.2000 31.4.1999.
.
6.2
9 28
( ) . 11 19
. leap,
, , .
, . 20 21 , ,
.
6.3.2
(white box), (glass
box). , ( ) , .
.
6.6
K E A A I O 6 :
182
, .
6.6 .
, , . ,
, . :
.
.
if then else , .
,
. , 0, 1, 2, (
< ), 1, + 1 .
,
.
, , . ,
.
6.1
.
x2 + bx + c = 0. , a, b, c
x ( x1 x2) ( )
flag, ( flag
0), ( 1)
( 2). , Pascal, :
Procedure equ (a,b,c:r
real; var x1,x2:r
real; var
integer);
flag:i
Var d:r
real;
Begin
d=b*b4*a*c;
if (d<0) or (a=0) then flag:=2
else if d>0 then flag:=0
else flag:=1;
if flag=0 then
begin
x1:=(b+sqrt(d))/2*a;
x2:=(bsqrt(d))/2*a;
writeln(
)
end
else if flag=1 then
begin
x1:=(b)/2*a;
x2:=x1;
writeln( )
end
else
writeln( R)
end;
a, b c. , ,
.
,
183
K E A A I O 6 :
184
,
.
,
.
(
), ,
.
( )
(
)
1236121819
12346789101119
3: FF, 4: T, 6: T
12345612131415161719
3: FF, 4: F, 5: T, 6: F, 12: T
,
. ,
.
.
6.3
6.1
( 6.3.1),
.
185
6.4 E
. , ,
(unit testing), (integration
testing), (system testing) (acceptance testing). ,
,
. ,
. , ,
.
6.4.1
.
6.7.
A
E
OXI
;
NAI
6.7
186
K E A A I O 6 :
,
.
. , ,
, .
.
(incremental)
(nonincremental).
, ,
.
.
, . , ,
.
(driver). ,
,
, ,
.
(stubs).
.
. ( goto),
..
187
6.4.2
(integration testing)
, . .
.
,
,
.
.
,
, . ,
,
, . 6.8.
M
A
E
NAI
Y
;
OXI
6.8
K E A A I O 6 :
188
, ,
, . ,
,
.
, ,
( ). .
, .
:
(topdown incremental)
(bottomup incremental),
.
,
, , .
6.2
6.9.
A
x,y
s
s
B
p
f,c
r,t
n
Z
6.9
189
6.9,
.
6.4
6.10. (, . . 4, 4.31).
6.5
Exec132
Flg5
Flg4
Grd
Exec131
StC,SbC
Get
(StC, SbC)
StC,
SbC
Flg1
Flg2
Flg3
Lookup
(StC, SbC)
Get (Grd)
ExD
Get (ExD)
Grd,
ExD
GRec
Prepare
(GRec)
Flg5
Put (GRec)
Put (Flg5)
Flg4
Verify
(Flg1,Flg2,
Flg3)
6.10
190
K E A A I O 6 :
, () ()
.
. ,
, :
. ,
, . , .
, . ,
.
.
.
,
,
191
, .
, ,
.
510
.
6.4.3
. ,
.
.
.
, .
, .
:
(Performance testing).
,
.
, ,
..
(Stress testing).
.
6.2
192
K E A A I O 6 :
,
, , ,
.
(Volume testing).
.
.
.
(Security testing).
.
(Recovery testing).
.
,
.
6.4.4
.
.
, .
,
, -
E /
193
.
. ,
: () O , () ()
.
510
. , ; , ;
6.3
6.5
.
( 6.3).
,
,
.
.
6.11.
1.
2.
3.
6.11
4.
(Test log)
(TestSummary report). -
K E A A I O 6 :
194
,
.
. , 6.12
o .
1.
2.
3.
6.12
3.1
3.2
3.3
3.4
3.5
,
. , . 6.13
.
1.
2.
3.
4.
5.
6.
6.13
7.
8.
6.6
, , . ,
.
.
(debugging
techniques).
. , :
, .
. ,
.
. .
(traces).
, .
(breakpoints) . , , ,
.
.
195
196
K E A A I O 6 :
50%
. .
6.7
,
,
, .
.
. :
(test data generators).
.
,
.
(file comparators).
.
.
(mutation testing tools).
.
,
.
(dynamic analysis
testing tools).
.
.
(static analysis testing
tools). , . , .
(test data librarians).
.
,
, , (simulators).
. , ,
,
,
. .
, , .
, .
,
. .
197
1.1
1, 3, 6, 8.
, 4,
5 7: 4 , 5 , 7 ( ).
.
. , ,
. , , 1.1, 1.7.
2.1
1,
,
.
1.4 1.5.
. ,
, .
.
2.2
, .
.
, ,
. -
TEXNOOIA OIMIKOY I
200
,
, . ,
,
.
3.1
: 214.
: 1.
! , 3.1.3 .
3.2
1. , 2. 3. ,
4. , 5. 6. , 7. , 8. , 9. , 10. .
,
,
,
. 3.1.3
3.2. !
3.3
,
. ,
,
.
TEXNOOIA OIMIKOY I
. , ,
.
3.2
3.3.
3.4
,
, .
. :
.
,
, .
, , .
3.5
:
.
.
:
.
.
3.6
:
,
.
, .
201
TEXNOOIA OIMIKOY I
202
,
.
,
.
, .
, ,
. , !
.
4.1
.
, .
! ,
, .
1.5,
.
, .
, ,
1, 2
3, 4.1 .
4.2
:
TEXNOOIA OIMIKOY I
2.1
2.2
3.1
3.2
,
,
4
5 , ,
:
2.3 ,
3.3
6
4.3. , ( 4.6) . 1 . ,
, 1 , .., .
,
4.3. !
4.3
. , ,
,
() . ( ) . ,
,
,
web client (
).
,
203
TEXNOOIA OIMIKOY I
204
.
.
.
. web
client . , web browser.
, . .
:
, , ,
web browser, . , ,
, , .., . ,
,
.
4.4
. 4.32
1.1.1
1.1.2, 4.33
.
4.5.2. ,
3 4.5.2. :
4.22 Exec111, . Exec111 ,
4 4.5.2. Exec112 ( 4.33).
TEXNOOIA OIMIKOY I
205
EXEC111
YO
OIMO
TOY
ANANH
TOY I
EOO
TOY
EXEC112
M
K
YO
OIMO
TOY M
ANANH
TOY K
EOO
TOY M
4.32
EXEC113
H
,M
EXEC111
I
I
EOO
TOY
EXEC13
YO
OIMO
TOY
ANANH
TOY I
YO
OIMO
, H
EXEC112
H,
YO
OIMO
TOY M
ANANH
TOY K
H,
YO
OIMO
TOY E
EXEC121
EOO
TOY E
O
B,N,O
ANANH
TOY B
ANANH
TOY O
EXEC122
YO
OIMO
TOY
ANANH
TOY
YO
OIMO
TOY N
4.33
TEXNOOIA OIMIKOY I
206
,
. .
, . 1 . , , .
4.5
4.5.2
. ,
,
4.5.2, 1
4.5.
1.3.1
.
4.5.
. , ! ,
.
, .
1.3.1 1.3.2 3.12,
,
4.34. , .
TEXNOOIA OIMIKOY I
207
Flg5
XPHTH
1.3.2
Grd
GRec
ExD
XPHTH
StC
Flg4
SbC
1.3.1
Flg3
Flg1
Flg2
A
Exec132
Flg5
Flg4
Grd
Exec131
StC,
SbC
Get
(StC, SbC)
StC,
SbC
Flg1
Flg2
Flg3
Lookup
(StC, SbC)
Get (Grd)
ExD
Grd
ExD
Get (ExD)
Flg5
GRec
Prepare
(GRec)
Put (GRec)
Put (Flg5)
Flg4
Verify
(Flg1, Flg2,
Flg3)
4.34
5.1
:
(program editors)
(debuggers)
(program generators)
,
.
TEXNOOIA OIMIKOY I
208
. , ,
, , .
5.2
:
,
.
E, .
, .
,
.
, ( , )
.
,
.
,
. , , , .
.
,
.
TEXNOOIA OIMIKOY I
209
5.3
, :
(s1; s2), .
(if c then s1 else s2), , ,
, .
(while c do s),
.
. ,
.
,
GOTO ,
, , . spaghetti
programming. !
5.3.2,
.
6.1
:
( )
Day
Month
Year
32
14
1999
12345678929
30
1999
12345791011121315202223242526272829
30
1999
12345791011131415202223242526272829
30
1999
12345791011131516181920212829
30
2000
12345791011131516171820212829
TEXNOOIA OIMIKOY I
210
.
. ,
,
. (:
!) . .
6.3 . ,
,
.
6.2
.
,
, . ,
,
.
6.3
6.4.4, ,
. , , . ,
,
.
! ()
, , -
TEXNOOIA OIMIKOY I
, ,
! ,
6.4.4.
,
. ,
.
,
,
. ,
, ,
211
1.1
1.
.
2. ,
.
3.
.
4.
(, , )
.
5.
.
, ,
.
1.
, .
2.
, .
3.
.
4.
,
.
, ,
TEXNOOIA OIMIKOY I
213
.
, , .
,
.
1.2
( ).
-
-
.
: . ,
,
, .
TEXNOOIA OIMIKOY I
214
1.3
video, audio CD
. .
(.. ).
1.4
Sun Solaris
Oracle
Microsoft Windows 98
SAP/R3
SGI Irix
Corel Draw
Autocad
Linux
Microsoft Word
Netscape Communicator
Adobe Pagemaker
TEXNOOIA OIMIKOY I
2.1
.
().
.
.
,
. 2.1
2.2. ,
.
2.2
1.
,
.
2. ,
,
.
3. ,
,
, .
( 2 3)
2.1: -
215
TEXNOOIA OIMIKOY I
216
,
,
, .
2.3
,
. , .
3.1
: 1. . 2.
. 3. . 4. . 5. . 6. .
: 1. . 2. 10 . 3. . 4. .
,
, ,
.
,
calculator,
Windows 98. ,
.
3.2
: 1. . 2. . 3.
.
: 1. . 2. . 3. -
TEXNOOIA OIMIKOY I
. 46. ( ) ,
.
: : , . : . : .
,
, , ..
.
. , 3.1.
: X
. ,
, : A ,
. ,
.
3.3
.
,
.
,
.
217
TEXNOOIA OIMIKOY I
218
,
( ) ,
. ,
. , !
. 3.2 3.3
.
3.4
, , ,
, .
. :
1.
, .
2.
,
.
,
.
. ,
.
TEXNOOIA OIMIKOY I
3.5
3.2.6 6
.
, ,
, . : , , . :
, ,
. : .
3.2.7 7
. . : .
: . :
.
3.2.8 8
. ,
. : . : , ,
. :
.
,
. .
. .
.
3.6
. , .
, -
219
TEXNOOIA OIMIKOY I
220
.
.
( ,
)
( ).
3.7
. . ,
. , .
3.8
:
A.
XPHTH
A.
XPHTH
. . ,
, . ,
.
TEXNOOIA OIMIKOY I
3.9
.
. .
3.21.
, !
. 3.4.4 .
3.10
, , . .
.
1.
2.
3.
4. , , ,
,
5.
6.
7.
221
TEXNOOIA OIMIKOY I
222
XPHTH
H,
A/
T
A
A .
...
XPHTH
:
.
, 47.
,
.
KEIIMO
AOPA
EIHMENH PAMATOOIEI
ETAIPIA
PAH
TEXNOOIA OIMIKOY I
4.1
,
. , . ,
.
, , .
, . .
. , ,
!
4.2
/*-----------------------------------------*/
PROCEDURE Exec141
/*-----------------------------------------*/
LOCAL VAR Print_Data, Formatted_Printout
Print_Data, Formatted_Printout
CALL Exec142(Print_Data)
WHILE Print_Data <> DO
CALL Format(Print_Data, Formatted_Printout)
CALL Put(Formatted_Printout)
CALL Exec142(Print_Data)
END_WHILE
END_PROCEDURE
223
TEXNOOIA OIMIKOY I
224
,
(
), .
/*-----------------------------------------*/
PROCEDURE Exec142(PrintList: IN/OUT)
/*-----------------------------------------*/
LOCAL VAR AcademicYear, SubjectCode, RecordList
AcademicYear, SubjectCode,
RecordList
CALL Get_pref(AcademicYear, SubjectCode)
CALL Lookup(AcademicYear, SubjectCode,
RecordList)
CALL CreatePrintList(RecordList, PrintList)
END_PROCEDURE
,
, (Lookup)
. CreatePrintList.
. , .
. .
4.3
, .
4.5,
4.17 .
.
TEXNOOIA OIMIKOY I
225
Res1
E 1
Run1
A
Run2
Res2
E 2
Run3
Res3
E 3
4.30
, 4.30. 4.31, ,
4.30 , .
.
Clr
Res1
Run1
Choice
Proc1
Run2
Dispatch
Res2
Proc2
Run3
Res3
Proc3
K..
MAIN
Clr
Choice
Get Clr
Get Ch
Choice
Flag
Process Ch
Run1
Exec Proc1
Run2
Run3
Exec Proc2
Exec Proc3
4.31
TEXNOOIA OIMIKOY I
226
4.5.1,
4.5.1.
,
. !.
/**/
PROCEDURE ExecMain
/**/
LOCAL VAR Clr, Choice, Flag, Run1, Run2, Run3
Clr, Choice, Flag, Run1, Run2, Run3
CALL Get_Clr(Clr)
CALL Get_Choice(Choice)
CALL Process_Choice(Choice, Flag)
CASE Flag OF
1: CALL Exec_Proc1(Run1)
2: CALL Exec_Proc2(Run2)
3: CALL Exec_Proc3(Run3)
END_CASE
END_PROCEDURE
, ,
(Process_Choice)
. ,
,
:
/**/
PROCEDURE ExecMain2
/**/
LOCAL VAR Clr, Choice, Flag, Run1, Run2, Run3
TEXNOOIA OIMIKOY I
CALL Get_Clr(Clr)
CALL Get_Choice(Choice)
CALL Process_Choice(Choice, Flag)
WHILE Flag<> DO
CASE Flag OF
1: CALL Exec_Proc1(Run1)
2: CALL Exec_Proc2(Run2)
3: CALL Exec_Proc3(Run3)
END_CASE
CALL Get_Clr(Clr)
CALL Get_Choice(Choice)
CALL Process_Choice(Choice, Flag)
END_WHILE
END_PROCEDURE
. ,
.
5.1
.
.
.
.
227
TEXNOOIA OIMIKOY I
228
5.2
()
()
.
,
.
,
( reverse engineering).
6.1
, :
()
() , .
6.2
day, month year. (.. day
), , .
,
. , :
TEXNOOIA OIMIKOY I
229
day
1 day 31
month
1 day 31
day < 1
day > 31
1 month 12 1 month 12
month < 1
month > 12
, . . .
, , ,
(
18). , (31)
UpperDayValue.
.
, :
Id#
day
month
year
flag
1950
13
1950
1950
36
1950
1950
13
1950
1950
TEXNOOIA OIMIKOY I
230
,
. ,
:
Id#
day
month
year
flag
1900
12
1900
31
1900
31
12
1900
1900
13
1900
31
1900
, , , , 31.2.1999, . , !
6.3,
, .
,
Pascal .
6.3
, :
( )
(
)
1236121819
TEXNOOIA OIMIKOY I
231
. , ,
.
,
. ,
.
6.4
:
. ! 2 .
6.5
)
:
TEXNOOIA OIMIKOY I
232
(Exec 132)
10
)
:
TEXNOOIA OIMIKOY I
10
,
.
233
:
,
.
:
, , ,
.
:
.
:
.
:
.
:
.
:
.
, : ,
.
:
.
: ,
.
:
.
TEXNOOIA OIMIKOY I
236
:
.
:
.
:
.
, :
.
:
.
:
.
:
,
.
:
.
:
.
:
.
:
.
TEXNOOIA OIMIKOY I
: .
:
.
:
.
:
( : , , ).
: ( )
.
:
,
.
:
(
) (
).
:
,
, .
:
,
237
TEXNOOIA OIMIKOY I
238
:
.
: .
: ,
, ,
.
:
, ,
, , .
:
.
: .
:
,
.
: ,
, .
:
,
.
:
TEXNOOIA OIMIKOY I
.
: .
: ,
.
: .
: , .
:
.
:
.
: ,
.
:
.
: .
:
(, , ) .
:
239
TEXNOOIA OIMIKOY I
240
, .
: .
B
,
.
. 1, 2, 1114
Pressman, 47, 1213, 2223 Sommerville.
,
,
.
Pressman, R. S., Software Engineering A Practitioners Approach,
McGrawHill 4th edition.
Sommerville, I., Software Engineering, London: AddisonWesley.
.
,
.
Yourdon, E. and Constantine, L. L. (1979), Structured Design,
Englewood Cliffs, New Jersey: PrenticeHall, ISBN
0133544719.
Yourdon, E. (1989), Modern Structured Analysis, Yourdon Press,
Prentice Hall Building, Englewood Cliffs, New Jersey 07632.
, .
.
, . (1991), ,
, .
TEXNOOIA OIMIKOY I
242
.
, .
Agresti, W. W. (1986), New Paradigms for Software Development,
IEEE Computer Society Order Number 707, IEEE Computer
Society Press.
Boehm, B. W. (1975) In Horowitz, E. et al., Practical Strategies for
Developing Large Software Systems, Reading, Massachusetts:
AddisonWesley.
Boehm, B. W., A Spiral Model of Software Development and
Enhancement, IEEE Computer, May 1988, pp. 6172.
,
, , , , /
CASE.
.
Boehm, B. W., Software life cycle factors, Handbook of Software
Engineering, edited by C. Vick and C. V. Ramamoorthy, Van
Nostrand Reinhold, New York, 1984, pp. 494518.
Boehm, B. W., Verifying and Validating Software Requirements and
Design Specifications, IEEE Software, January 1984, pp.7588.
Brooks, F. P. (1982), The Mythical Man Month, Reading,
Massachusetts: AddisonWesley.
Budgen, D. (1989), Introduction to Software Engineering, SEI
Curriculum Module SEICM22.1, Software Engineering
Institute, Carnegie Mellon University.
Davis, A. M., E. H. Bersoff and E. R. Comer, A Strategy for
Comparing Aternative Software Development Life Cycle Models,
TEXNOOIA OIMIKOY I
IEEE Trans. on Soft. Eng., Vol. 14, No. 10, 1988, pp. 14531461.
De Macro, T. (1978), Structured Analysis and System Specification,
New York, Yourdon Press.
Fairley, R. E. (1985), Software Engineering Concepts,
McGrawHill.
Gane, C. and T. Sarson (1979), Structured Systems Analysis: Tools
and Techniques, N. J., PrenticeHall, Englewood Cliffs.
Gane, Chris (1990), Computer Aided Software Engineering,
Englewood Cliffs, New Jersey: PrenticeHall, ISBN
0131727761.
Hall, A., Seven Myths of Formal Methods, IEEE Software,
September 1990, pp. 1119.
Howden, W. E. (1987), Functional Program Testing and Analysis,
McGrawHill International Editions.
IEEE
, ..
, ,
, . 9000
ISO ,
.
IEEE Guide To Software Requirements Specification, ANSI/IEEE,
Std 8301993, 1984.
IEEE Recommended Practice for Software Design Descriptions,
ANSI/IEEE, Std 10161987.
IEEE Standard for Software Test Documentation, ANSI/IEEE, Std
8291991.
IEEE Standard Glossary of Software Engineering Terminology,
ANSI/IEEE, Std 610.121990.
,
243
TEXNOOIA OIMIKOY I
244
,
.
,
.
Jackson, M. A. (1983), System Development, Englewood Cliffs, N.
J.: PrenticeHall.
Macro, A. and J. Buxton (1987), The Craft of Software Engineering,
AddisonWesley.
Peters, L. J. (1981), Software Design, New York: Yourdon Press,
ISBN 0917072197.
Scacchi, W. (1987), Models of Software Evolution: Life Cycle and
Process, SEI Curriculum Module SEICM101.0, Carnegie
Mellon University, Software Engineering Institute.
Williams, R. D., Management of Software Development, Handbook
of Software Engineering, Edited by C. R. Vick and C. V.
Ramamoorthy, Van Nostrand Reinhold, 1984, pp. 456468.
, . (1986), , , ,
.
E
,
. ,
. , ,
. , .
, .
,
, . ,
, .
,
. ,
. , ,
.
, ,
.
, ,
,
, . ,
,
. ,
. , ,
246
TEXNOOIA OIMIKOY I
, .
( ) ,
. , !.
.
, 1999