You are on page 1of 248

T I

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

4.7 ........................................................................................ 141


................................................................................................................... 143
K 5

, ,
E ............................................................................................... 145
5.1

..............................................

147

5.2 E ..................... 151


5.3

......................................................................

5.4

...............................................

155
162

5.5 ....................... 166


................................................................................................................... 168

EPIEXOMENA

K 6

K 6:

, ,
E ............................................................................................... 169
6.1

.................................................................................

6.2

..............................................................

171
172

6.3 T .................................................................................................. 173


6.4 E

..............................................................................................

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

IEEE (the Institute


of Electrical and Electronics Engineers). . ,
,

.

;
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

OXI AOEKTO OKIMATIKH


XPHH

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

KAOPIMO TOXN, ENAAKTIKN


EION, EPIOPIMN

EIOH ENAAKTIKN YEN


ENTOIMO KAI EIYH KINYNN

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
.

9 ControlC, ControlX ControlV


,
.
10 , , , .
11
,
, .
12
, .
13 . ,
.
14 ,
.

, , ,
: ,
. . , ,
,
.
,
. .
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

, 3.11 3.13 , 3.2.2.

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

AP. TAYT. ONOMA ENYMO

(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

. (world wide web)


Internet web server (browser). scripts,
Java, DCOM,
. (multitier) web (web based) 4.11. -

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

() . 1.3, 1.2.1. , 1.2.1 1.2.2. 3,



/
.
4.21. () 1.2.1,
() 1.2.2, () 1.3.
EXEC 121

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

4.22 1.1.1 1.1.2,


4.19.

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

1.3.1 1.3.2 ( 3.13).

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

FOR FROM 1 TO 2 STEP 3 DO


()
END FOR

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;

const double NOT_TAXABLE = 50000;


const double TAX_RATE = 0.2;

Else
y = 0;

if (income > NOT_TAXABLE)


tax = (income NOT_TAXABLE) * TAX_RATE;
else
tax = 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)
.
, . , . , ,
.
, . , ,
:
, .
,
, , .
.
(..
, ),
.

(cause and effect graphing) . ,


.

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

3: FT, 6: F, 12: F, 18: T

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

Microsoft Windows 2000

Autocad

Linux

Microsoft Word
Netscape Communicator
Adobe Pagemaker

Internet (.. www.


metacrawler.com) computer operating
systems. , ,
.

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

Clr, Choice, Flag, Run1, Run2, Run3

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

3: FT, 6: F, 12: F, 18: T

TEXNOOIA OIMIKOY I

231


. , ,
.
,
. ,

.
6.4

:

. ! 2 .
6.5
)
:

TEXNOOIA OIMIKOY I

232

(Exec 132)

(Exec 132) (Exec 131)

(Exec 132) (Exec 131) (Get (Grd))

(Exec 132) (Exec 131) (Get (Grd)) (Get (ExD))

(Exec 132) (Exec 131) (Get (Grd)) (Get (ExD))


(Prepare (GRec))

(Exec 132) (Exec 131) (Get (Grd)) (Get (ExD))


(Prepare (GRec)) (Put (GRec))

(Exec 132) (Exec 131) (Get (Grd)) (Get (ExD))


(Prepare (GRec)) (Put (GRec)) (Put (Flg5))

(Exec 132) (Exec 131) (Get (Grd)) (Get (ExD))


(Prepare (GRec)) (Put (GRec)) (Put (Flg5)) (Get (Stc, SbC))

(Exec 132) (Exec 131) (Get (Grd)) (Get (ExD))


(Prepare (GRec)) (Put (GRec)) (Put (Flg5)) (Get (Stc, SbC))
(Lookup(StC, SbC))

10

(Exec 132) (Exec 131) (Get (Grd)) (Get (ExD))


(Prepare (GRec)) (Put (GRec)) (Put (Flg5)) (Get (Stc, SbC))
(Lookup(StC, SbC)) (Verify (Flg1, Flg2, Flg3))

)
:

(Get (Stc, SbC))

(Get (Stc, SbC)) (Lookup(StC, SbC))

(Get (Stc, SbC)) (Lookup(StC, SbC)) (Verify (Flg1, Flg2,


Flg3))

(Get (Stc, SbC)) (Lookup(StC, SbC)) (Verify (Flg1, Flg2,


Flg3)) (Exec 131)

(Get (Stc, SbC)) (Lookup(StC, SbC)) (Verify (Flg1, Flg2,


Flg3)) (Exec 131) (Get (Grd))

(Get (Stc, SbC)) (Lookup(StC, SbC)) (Verify (Flg1, Flg2,


Flg3)) (Exec 131) (Get (Grd)) (Get (ExD))

(Get (Stc, SbC)) (Lookup(StC, SbC)) (Verify (Flg1, Flg2,

TEXNOOIA OIMIKOY I

Flg3)) (Exec 131) (Get (Grd)) (Get (ExD)) (Prepare (GRec))


8

(Get (Stc, SbC)) (Lookup(StC, SbC)) (Verify (Flg1, Flg2,


Flg3)) (Exec 131) (Get (Grd)) (Get (ExD)) (Prepare (GRec))
(Put (GRec))

(Get (Stc, SbC)) (Lookup(StC, SbC)) (Verify (Flg1, Flg2,


Flg3)) (Exec 131) (Get (Grd)) (Get (ExD)) (Prepare (GRec))
(Put (GRec)) (Put (Flg5))

10

(Get (Stc, SbC)) (Lookup(StC, SbC)) (Verify (Flg1, Flg2,


Flg3)) (Exec 131) (Get (Grd)) (Get (ExD)) (Prepare (GRec))
(Put (GRec)) (Put (Flg5)) (Exec 132)


,
.

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

You might also like