Software Engineering компьютерных систем. Парадигмы, технологии и CASE-средства программирования

К.: Наукова думка, 2013. — 283 с. — ISBN 978-966-00-1416-9 В монографии рассмотрены парадигмы программирования и Case-ср

242 97 4MB

Russian Pages [285]

Report DMCA / Copyright

DOWNLOAD PDF FILE

Recommend Papers

Software Engineering компьютерных систем. Парадигмы, технологии и CASE-средства программирования

  • Commentary
  • 1651876
  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

.

.

А

А

SOFTWARE ENGINEERING К Т Т А А CASE-

,Т Т А

А

2013

, А

004.41 Software Engineering

/ .

. . – .:

.

,

CASE, 2013. – 283 .

.

CКЬО-

-

.

,

,

-

.

(

)

,

,

,

-

.

. ,

.

CASE-

CASE-



JAVA, VBКЬТМ -

. ,

, .

,

,

-

,

(

.

.-

( (

.

-

.-

-

.

,

.

.

,

:

.

. " .

,

.

. . .

,

-

),

. ")

" (

#, -

") № 12

. .

19.12.2013) -

© ISBN 978-966-00-1416-9

© . "

. «

, 2013, »", , 2013

А ........................................................................................... 7

...................................................................................................................... 8

........................................................................................................... 11 1

.

................................ 14

1. 1.1. 70–901.2. 1.3. 1.4. 1.5. 1.6. CASE-

.................. 14

,

.......................................................................... 15 ........................................ 18 ...................................................... 24 ........................................ 28 , ............................... 30 ............................................. 33

2. ................................................................................. 34 2.1. 2.2.

.................................... 35

2.3.

.................................................................................................. 37 .... 38 3.

3.1. 3.2. 3.3. 3.4.

. 4.

4.1. 4.2. 4.3.

.. 39 ................................................ 39 .............................. 41 ................................................... 43 , , ........... 49 .............. 63 ............................................................ 66 PrШНЮМЭ LТЧОЬ ............................................................. 66 ................................... 68 3

2 .............................................................. 70 1.

. ....................................................................................... 70 .

1.1. 1.2. 1.3. 1.4. 1.5. 1.6. CASE-c

(

.

2. 2.1. 2.2. 2.3. 2.4. 2.5. CASE-

................................. 71 ..................................................... 76 ). ......... 86 ..................... 91 .................................................... 98 .......................... 102 ..... 107 ........................... 108 ( ) ................... 118 ...................................................... 119 .................................................... 124 .............. 125

3. ....................................... 127 3.1. 3.2. 3.3. 3.3. 3.4. 3.5. 3.6. CASE-

.

, -

4.

. .................................................................................... 158

4.1. 4.2. 4.3. 4.4. 4.5. 4.6. 4.7. CASE-М 5. 5.1. 5.2. 4

.

........... 129 ........................................ 135 ................ 137 ............................................................ 146 ........... 149 ........................................................ 152 ............................. 155

.

......................... 161 ...................... 162 .................................. 164 ....................... 171 ................ 179 ........................................ 181 ....................... 184 ..................................... 185

. -

....................................................................... 185 ............................................ 189

5.3. 5.4. CASE3

АCF ...................................................................... 191 JAVA EE ....................................................................... 193

,

CASE-

................................ 197

1. ............................................................................ 197 1.1. 1.2. 1.3. 1.4.

....................... 199 .................................................. 201 .................................................... 203 ...................... 204 2. ...................................................................... 207

2.1. 2.2. 2.3. 2.4. 2.5.

....................... 208 ........................................... 210 ............................ 211 ........................................ 213 ................................................ 216 3.

................................................. 218

3.1. 3.2. 3.3. 3.4. 3.5. 3.6. 3.6. 3.7.

............................ 218 ....................................... 221 ......................................................... 222 .......... 223 ............................ 225 .................................................... 228 ............................................. 229 .......................... 231 4.

...................... 236

4.1 4.2. 4.3.

............. 236 ............................................. 239 ...................................... 243 5. CASE-

5.1. 5.2. 5.3. 5.4.

...... 245 .

........................................... 246 ..................... 247 .................................... 249 .................................................... 251 5

6. CASE 6.1. 6.2. 6.3. 6.4. 6.5. 6.6. 6.7.

-

7. 7.1. 7.2.

.

"

:

, ....................................................................... 256 ............................................................................ 257 ................................................... 259 " " ................................................. 262 ................................................................................. 267 "............................................................. 268 , ......................................... 269 " "............ 269 ............................................................................... 271 ................................. 272 ..................................................................... 273

........................................................................................................... 276

......................................................................................... 277

6

К

ACM CBD CMM SOA CS GDM DSL SWEBOK V&V PSM PIM

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

К А

-

-

Association for Computing Machinery Component-Based Development Capability Maturity Models Servise oriented architecture Computer science Generative Domain Model Domain specific language Software Engineering Body Knowledge Platform System Model Platform Independed Model

7

ТА Т XX

SФвЩО,

А

-

,

.

.

,

,

-

-

.

,

, .

(

(SШПЭаКrО EЧРТЧООrТЧР – SE), -

)

-

. ,

.

,

,

1968 -

,

CASE-

,

-

-

.

,

,

(

,

. .

,

,

.).

-

,

-

, . .

-

-

,

,

. .). ,

( ,

,

-

, ,

,

. .

.

, ,

8

,

-

. ,

, -

. ,

lgol-60

.

.

Cobol

"

-2" (1965–1975)

(1975–1985) (Algol-60,

.) , –

. -

,

. " ( 1980 .).

" (

– -

.

/1, Fortran, Cobol . ,

-

-

,

( 2000),

, 1965)

-

SE, . ,

14 ,

. ,

(1965–2013). -

,

(

) , CASE-

.

CASE-

3 -

. " ,

.

" 1965 . ,

,

,

. (

-

SE

3

11

. 10

, -

, CASE) ( 2001 .,

) " ,

"

9

.

-

.

(PrШНЮМЭ LТЧО). ,

, . .

(2013).

,

(1982–1992), (2007–2012), 8 – 10 "The International Conf. ICTERI 2011–2013" (http://senldogo0039.springer-ЬЛЦ.МШЦ/ШМЬ/ СШЦО/ http://ceur-ws.org/Vol-1000/) " " (2011–2013) http://www.ict-congress.com.ua/attachments/, " ", " ", . , http://sestudy.edu-ua.net, http://programsfactory. ЮЧТЯ.ФТОЯ.ЮК, http://www.intuit.ru. , , 33 (1980–2013) . . . , . . , . . , . . , . . , . . , . . , . . , . . .), ( . , . , . , . , . , . , . .). , . " " . . CASE.

10

, (

. .

(

). (1975).

,

(

)

,

. ,

,

,

"

,

.

"

", (

.),

(1969) -

,

).

. ,

(

, -

"

. , (Algol-60, Fortran, Cobol, PL/1, Modula2



-

),

CASE), -

100

. (1965–1992), (

,

),

rОЮЬОЬ.

, .

. ,

,

,

. (

-

(RUP, UML, JAVA ,

( 1980)

( ,

.). , rОЮЬОЬ

, .

, ( 1967)

.)

)

11

(

, .

,

)

,

. -

.

,

.

,

.

, ,

,

, .

,

-

,

,

-

. (

, ,

,

,

,

-

).

-

.

( ) DSL (DШЦКТЧ SЩОМТПТМ LКЧРЮКРО) )

( ,

, .



-

.. .

.

:

CASEISO/IEC 12207; ISO/IEC 11404;

-

,

-

. . аз

1"

а

а

ж

.

аз

, 12

"

. .

.



SE,

,

.

, .

, .)

,

, (

-

, ,

,

, -

,

. аз

2. " а а

а

а –

, ( ,

,

( аз

,

-

.

-

,

-

) ,

CASE-

"

,

;

,

.



.

-

,

),

,

3. "Т

;

,

,

,

.

"

.

CASE,

,

10 , ISO/IEC 12207

, ISO/IEC 11404

-

. ,

JAVA Зак

.

CASEО -ЬМТОЧЬО (

, .

, ,

C#, Basic GrТН.

АSDL ,

.). ,

, .

-

-

.

13

А

А АЗ

а а 1. ТА )

, –

(

Knowledge, www.swebok.com, 2001 .), IEEE ACM, 10 – , . . , ( ( ) . SWEBOK – 2001 ( , , . .), ( ),

. 14

.

),

,

– 1975 .

. .

,

,

,

.

-



(КrОК ФЧШаХОНРО). ,

)

, . ISO/IEC 12207, .

, .

,

-

,

, ,

-

SWEBOK-2001

,

-

SWEBOK-2001, . –

,

.

1968 .

,

,

,

.

Д1–3].

Т

. , ка . SАEBOK (SШПЭаКrО EЧРТЧООrТЧР ЛШНв ШП

к

.

1 .

Ж

,

.

)

Ж

А (

(

аз

.

,

, , .

-

(Microsoft, IBM, CORBA, JAVA, Intel, Ap-

ple .), Legacy

. ,

-

,

,

9126,

ISO/IEC 9000 (1-4)

.

,

,

.

.,

Swebok.

(Computer Sciences –

S),

.

), SШПЭаКrО

: CШЦЩЮЭОr EЧРТЧООrТЧР ( ), SвЬЭОЦ EЧРТЧООrТЧР ( Engineering (SE – , ). S. – , (ПrКЦОаШrФЬ, . .), ( , , . .). , , CШЦЩЮЭОr SвЬЭОЦЬ. , , , (www.swebok.com).

S (1992) – – -

, (

.

)

.

" (1982) [3]. . .

60-

,

,

-



,

,

1.1. 70–90-

,



,

. " -

-

. а

.

ж S Д4–16]

,

SE. 15

.

(1980–1991) (1990–1992),

" (1991) [4]. ,

,

. .

" www.swebok.com) ,

"

"

,

("Software

.

. Engineering", ,

1968, . , SE, Ш ШЩ О : LEEE Transaction on Software engineering, Software Engineering Journal, Computer Technology, Computer Systems . , , , . , " " , ( ) : ( ), ( ), "

. ЩШ

",

,

ё ,

". )

"

. ,

"

,

,

-

(

.

. .

, .

, ,

16

. , (

ё

,

,

, , Д4]:

, .).

-

– – –

.

; .

(

); ,

, -

, , .

,

;

;

.

,

: -

,

. ,

,

,

.

,

. .

,

, ,

:

,

.

.

, .

.

).

6

9126 –1989 250

. .

,

,

,

.

,

,

50 -

,

,

CASE-

-

28915–1989 "

". (

,

-

. ,

(Software 17

tools).

ё

,

ё

,

,

-

.

,

, :

; ;

1) 2) 3) Ш О

. ,

ШМ О

,

. .

.

Ш ,

.

: 1) 2) 3)

ё

,

-

, , ;

; ,

,

. .

,

,

, а :

ё

.



,

(



)

ж (

,

. .)

,

,

, ., . . ,

18

, (

)

-

,

, .

(

,

,

:

,

) .

,

.

.

.

.

1.2. ,

.

-

,

, . ,

, –

-

(

(

)

),

),

.

,

(

( ,

. ).



.

ё

,

ё

,

,

. .), ) –

.

. . .).

"

"

ё

, .

-

,

.

)

O (

,

.

,

,

,

:

,

. –

, -

)

-

(

,

,

,

(

-

,

.

(SADT, PSA, PSI, . ( , ,

(

.

– ).

.

),

.

,

(

(



,

. .)

-

,

,

Ш

, ,

"

,

.

-

" .

-

,

,

. .

19

,

,

.

,

-

. – .

(

,

)

,

,

.

.

-

, ,

.

[5–7].

,

,

.

, ,

.



,

),

,

,

-

,

,

., (

-

)

[8–11].





.

, . ,

, , 20

.

,

.

, ,

-

-

. .

.

-

.

. (

, -

-



,

,

,

,

. . ,

. ,

,

(

)

(

1) .); 2)

,

. -

,

[9–10]: -

;

3)

;

4) 5)

.



,

(

,

,

ё

. :

;

.

.

, -

, ,

(

.

,

.

100–110

.); -

. .

,

,

1) 2)

.

-

-

,

.

.

.

, )

.

.

10–20

,

,

.

-

, 70–80%

-

,

21

.

-

.

,

, Д11].

Д12Ж ШО Ш ,

-

(COCOMO)

ё

, -

,

.

: 1) 2) 3) 4) 5) .), 6)

;

; , , (

;

T

. ,



,

, –

).

-

),

, .

)

)

-

i

,

22

)



(Si –

.

,

i+1

-

j

Д11].

. (T

.). -

(Sj )

Sj+ 1

S,

(

( ; S1 – ,

. Sj

.

.

-

, ,

.

i+ 1-

(

,

(S0),

,

,

.;

(

, (SR)

;

,

= (S, S ,

К

.

,

i

,(

j

,

,

-

), i = 0, 7 , j = 1, k .

j

– (S11),

-

, L1; S2 –

(S12),

: S0 – (S13)

,

. -

(S12),

(S22),

(S31),

(S23), (S25)

(S32),

(S33)

)

. Si-

,

i

).

(

j

L3)

; S6 –



, -

(

-

( ,

,

-

(S24),

,

,

, j

.; S3 –

. .; S4 – ; S5 –

, ; S7 –

L2

.

.

-

.

,

. 1.1.

i

Si 1

Si+ 1 1 i

Si2

Si

Si+ 12

TO1

TO2

Sik

Si+ 1k

. 1.1. Si i

i

Si1, ..., Sik, .

= {TOkж. S0

(

(

(

)

(

),

Sk

),

.

-

. 1.2). i

1

S0

Si+ 1

TOk

Sk

0 2

...

j

. 1.2. 23

, Si

д

. Si

-

Si+ 1

,

i-

,

, i}

,

,

.

-

iSi+ 1

,

-

.

, ,

,

,

. а

1.3.

,

. .)

ж : , [4, 13–15]. а за .

з

,

,

,

, а

,

24

).

,

,

-

.

-

, ,

,

.

.

. .

. ,

(

,

,

(

-

,

.

а

-

,

.

,

20 -

(

)

-

.

. 4-5

( ,

20 %

. .

,

. ,

.

,

,

.

, -

, [12, 14]. (

,

Y

1)

(

; W = {Wi} R = {Rl, Rm}, );

2) 3)

Дt0, ], Rl –

,

) :



t0

;

-

; Rm – , (i = 1, N ), NRl :

4) Y = Y(t0, T, W, Rl, Rm, NRl, f ), ( .), , .

f –

. ,

.

-

), ,

-

. -

.

. – ,

,



, [10–14].

. , .

.

25



,

) )

.

,

(

,

а

а ,

[4]

.

( за

(

),

(

-

)

,

-

а .

.

-

. (

N i

(i = 1, N );

)

-

:N–

; J i–

Pi + P –

i 1

(

; Tij – ,

,

)

i–

;

i-rШ

Pi – –

; xij (i= 1, N ), j= 1, J i ) – . ( i. : γi – ,

(

), i-

-

j-

)

jij-

ji

.

i-

-

,

,

mij

-

j 1

ji , F = max

i-

mij – i 1, N

.

,

j 1

,

:

-

ji

0

mij

F = max

xij ≤ γi mij Tij , γi ≥ P i , N

i 1

26

γi≤

min,

j 1

i 1, N

(1.1)

N

Pi + P . i 1

(1.2)

xij, Tij, ij

i

,

, γi > 1. ij , xij – γi ,

(1.1) ij

ij



. (1.2)

.

,

-

,

,

ji

(1.1).

Fo

mij j 1

. F o = d1

N

ji

(

N

ji

i 1

j 1

mij

m – ij

i 1

d 1, d 2–

ji

i 1

j 1

.

≥0

i

zi > 0

N

ji

i 1

j 1

(1.3)

,

mij

ji

yi – zi =

min,

mij

N

j 1

N

) + d2

mij –

N

j 1

(1.1) xi j –

0 i

ij

– mij0 γ

ij

i

ij

≤ –

0 i

0

mij

γ0, mij0 ,

, :

ij,

(1.4)



-

0 i

xij . 0 i Tij

0 mij =

, N

ji

i 1

j 1

ji

N

F 0 = d1

mij

mij –

( i1

xi j –

:

N

j 1 0 i

ij

ij

– mij0 γ j N i 1

mij = 0

ij

γi ≤

N

ji

mij

) + d2

min,

i 1 j 1

≤ – γ i 0 mij

ij

, γi ≥ P i,

(1.5)

N

Pi + P, i 1

xij , m i j ≥ 1, 0 T ij i 27

N

ji

i 1

j 1

mij

jk –

N

mij – yi + zi = 0. j 1

γi,

ij

, . .

( : d 1, d 2

,

),

-

γi,

, .

1.4. У

а

аз а

.

к

ка

, .



,

,

( 21,5–

(

( ;d=2–

qi – ;m–

-

; Q–

(

1 n

n

m

i-

, 28

.

-

1 ( I ) 0 ,8 D R + ) , d B c QT

; D – 1); – 1); R– )

Q=

.

. . (Q ) (

.). A= (

-

,



I –

-

[4, 14]

;

;B= -

= 30 – ).

1 m qi (i ) , 1mi 1 ;

.



-

.

-

.

,

,

-

. .

,

,

,

,

,

.

,

(

,

за

а

а аз а

.

. -

) .

.

а

(

,

к

. . .,

, .

. "

(

,

-

, ,

" -

. .

-

, , ,

.

-

-

Т . ,

)

,

,

.

, ,

-

. ,

.

,

,

.

-

, )

– , -

. ,

. 29

,

. 9000. ,

,

2844

,

ISO -



,

.

,

. ж

1.5. ,

а

, ,

ж

,

(

.)

-

,

.

,

ак

.

-

,

[4, 16, 17].

-

. , . ,

2000 (

,

,

,

,

-

.).

-

. .

,

,

,

.

.

:

.

ж

,

.





,

,

,

/ ,

.

ReengХneeЫХng

,

,

-

, .

30

-

.

-

,

.

, . .

-

.

:

1) 2) 3)

;

; .

,

, -

.

,

.

, ,

. -

. ,

.

:

1) ; 2)

;

3) ,

4) , .

,

-

.

,

-

. ,

-

. ж –

,

-

,

.

,

.



, ,

-

.

(Revers Engineering)

.

-

, ,

.

, 31

.

: 1) 2) 3) 4)

,

.

;

. .;

;

,

5)

;

. :

,

1) 2)

;

. ,

:

-

(ЦОЭrТМ) ,

1) 2)

;

3)

ак

,

)

-

.

-

-

.

(

.

,

, . :

; .

,

ABOVE. rОКЬЬОЦЛХТЧР .

(Refactoring) – ,

,

,

;

SШПЭаКrО RОЯОrЬ EЧРТЧООrТЧР ,

.

;

,

,

, – ,

, . . . .

,

.

32

-

а

1.6. CASE-

а

ж

CASE – Computer Aided Software Engineering (CASE) – [4, 16 – 18]. CASE– .

,

.

,

1) 2) 3) 4)

,

, ,

.

CASE-

,

,

,

-

;

;

;

.

– .



.



.

, .



90CASE, CASEЖ. 1) Constantine), Д

:

,

, :

-

, CASE-

,

.

-

(CADT, SSADM, IDEF, OOP, UML ( , .).

.),

,

-

– .

, -

,

: SD (Structured Design by Yourdan and , ;

2) OOAD (Object-oriented analysis and design by Martin and Odell) ER, " – " .; 3) OMT (Object modeling Technique by Rumbaugh) , ( , , ); 4) OOAS-SM (ObjectOriented system analysis by ShlaОr КЧН MОХХШr) , , , , dataflow; 33

5) Лв CШКН КЧН ВШЮrНКЧ) ", 6) -

OOA (Object-Oriented analysis " – ; , (UЬО МКЬО)

7) 8)

. 1980) ,

" [19],

а а . ТА Т

,

)

( . , . .

.

, . .).

(



, ,

.

.

(

(

,

,

")

. :

, -2), ",

(

,

2. ),

( ,

-

-

,

"

"

34

,

"),

1. "



, "

"

-

)

. .

-

.

,

,

[21].

:

А

, . .

-

-

Т

А

. . 60-

ASE" [19, 20, 27].

"

Т (

, . . .

;

(

.

;

,

UML

9)

"

-

CORBA

,

,

,

;

,

,

,

, .

(

.

-1, )

-

3. ( (

)

,

)

.

. .

,

.

(

. . ( . .

, 2" (1965) ( ,

"

,

.

( .–№1, 1957)

).

-

.–№1, 1957).

,

,

-

.

. ) [22, 23] . ( – (1971–1973). ,

"

-

.

[1–3]. "

-

)

-

-2"

)

(10

,

-2"

. ".

BMHW "

2.1. Т

-2"

"

1992 .

к

а



,

,

,

.

Т

.

-

.

.

.

.

. .

,

,

. . -

.,

-

, [2, 24–25].

.

.

-

,

.

[26, 27]. . ,

. .

,

, 35

Т

А , А У А УТ . [1–3],

.

(

,

, -

, .). . . .

,

.

.

. .

(2004),

, . (http://lib.iitta.gov.ua/view/creators), Т

а

.).

5 ,

-

(Algol, PL/1, Cobol, Fortran, Modula-2 .

.

.

.

,

. . .

а

-

-

[23] "

1975 .

- 2". -

. (

). .

.

1980 Д28]: ( ) Д26, 27];

1) 2) 3)

Д29]; Д30].

-

);



( . . ( . . ( . . ( .

.

);

( . )

, (

);

.

. .

.

.

( (

.

. )

( .

.

: , .

),

. );

, -

);

-

.), ( . .

), CASE.

36

, -

. ,

а

2.2.

а .

.

а -

"

,

-

". "

-2".

"

.

, " , ,

(

.

.

-

. ),

" [31].

. -

.

.

,

, -

(Algol, Fortran, PL/1, Cobol .). " " (1987) [32]. , , , . . , . . , . . . , , MIL ( ШНЮХО IЧЭОrПКМО LКЧРЮКРО, 1984) API (Application programs Interface), IDL (Interface Definition Language), SIDL (ScientificaХ IDL) . , . . . . , . . , . . . Д24], CASE, 10 . " – " (1987). 52

.

.

-

. "

, 37

-, -

-

" [33].

" (1988), . . ( .

,

"

. – . .

.

. , . . "( . . , . "( . .

.

, . .

, 1991), " , . .

, "

2.3. аз

" , 1992) , . .

( ), -470"

(1983–1991).

, . .

" , 1992).

-

ж

" -

500

.

а

-

а – -

AppFabric (VS.Net, VSphere IBM, CORBA, IЧЭОХ, GrТН .). : . " "; . ; – use case UML . . ; ( ), . . . . (СЭЭЩ://ЬОЬЭЮНв.ОНЮЮК.ЧОЭ) ( ). 4 .

SОrЯТМОЬ

(

.

-

http://programsfactorв.ЮЧТЯ.ФТОЯ.ЮК) 90. . 15 000

.

-

, SE

.

.), 38

(GШШХО

.

) : DSL, GDT,

, , , SE, CШЦЩЮЭОr SМТОЧМОЬ. (

.

.

-

,

,

а а 3. К

Т К

А

Т А ,

Computer Science (CS). (CШЦЩЮЭОr EЧРТЧООrТЧР), (SвЬЭОЦЬ EЧРТЧООrТЧР), (SШПЭаКrО EЧРТЧООrТЧР). Software Engineering (SE) 1968 . SE ACM IEEE SАEBOK (SШПЭаКrО EЧРТЧООrТЧР BШНв KЧШаХОНРО) 2001 . (ааа.ЬаОЛШФ.МШЦ). SWEBOK (ФЧШаХОНРО КrОК), , , . ( , ), SWEBOK. SE , . 3.1. За

ж

EЧРТЧООrТЧР),

к Computer Science : (CШЦЩЮЭОr EЧРТЧООrТЧР); (SвЬЭОЦ EЧРТЧООrТЧР) (Software ( . 1.3).

,

, ,

,

. 1.3. 39

, Science,

,

.

а ,

.



ж

,

. а

Д2–6Ж.

, ж

,



,

,

,

).

,

.

, ,

,

Д2, 3Ж,

,

И

,

ж



,

,

(ааа.ЬаОЛШФ.МШЦ). ,

.

а

,

-

, ,

,

-

– ,

-

1990,

,

.

[3],

-

-

Д33Ж.

-

.

. . -

.

40

,

.

,

,

, -

,

. .

,

.

.

. .

.

,

, ,

,

,

.

, а

,

,

(

а

.

,

.

CS (1992). К ,

. Computer , -

И

а

( [34, 35]

,

,

,

-

,

.). . ,

,

» ( .:

.. . -

. .

,

.

. .

-

: .

.

-

-

. а

а

ж

Т

,

. MТМrШЬШПЭ, IBM, CORBA, IЧЭОХ (ХОРКМв) . .

. EЧРТЧООrТЧР КЩЩХТМКЭТШЧ, ПКЦТХв, НШЦКТЧ,

,

.), ,

(

.,

.

, ( , ,

, ,

, .

-

-

,

,

, , , ,

,

,

[36 – 38].

з

,

.

,

, , -

-

3.2.

,

.

, 1986)

,

,

, .

-

.

« . .



, ,

– ). . . -

Д7–9]. 41

з

,

а

к

,



.

-

.

.

,

: v = F (z, u), , z = (zi) –

v = (vi) – (u i ) – n.

wj

,

v–

,n–

,t–

,

.

v = ne rt L K ,

,e–



,

,



,

. ,

,

,

,

-

,

-

.).

-

(http://programsfactory.univ.kiev.ua)

"–

"

,

.

, ка

MS.NОЭ DSL (DШЦКТЧ SЩОМТПТМ LКЧРЮКРО), АШrФFХШа

з а Curricula-2004

.

. SАEBOK ,

,

, ,

-

,

,

42

,

(PrШНЮМЭ LТЧОЬ), . ,

,

,

-

,L–

-

Д7Ж.

(

,



,u= z = F (wj, u), j = 1, 2 .., , -

.

. -

. ,

, . ,

, ,.

. .

а

Д39-40]: , DiMa –

ж (

,

-

,

( ), = {DiSc, DiEn, DiEc, DsMa, DiDe}, , DiEn – , DiEc – ) DiDe – .

(

-

SE,

,

.

(Di) DiSi –

,

.

,

.

),

,

( ,

,

.

,

, . 1.4), – ,

. 1.4.

а

а

а

,

, ,

,

, CASEД17–18Ж . , ,

(

, . ,

,

,

, .



..), -

, .

, 43

( 1)



. 1.5): ,

. (

2)

)

,

(

,

);

,

-

;

3)

(

. .).

-

-

,

. 1.5.

, , –

– ,

,

.

(

,

,

,

44

,

,

, Curricula-2004 ж

-

.

, ,

)

.

(

.),



,

-

CASE[18] .

а

,

, ,

[39], а

-

.

, (

. 1.6).

-

PMBOK

. 1.6.



;

; , :

;



.

,

-

SАEBOK, ; ,

-

,

3)

;

; PMBOK –

Д9–13].

1) 2)





4) 5)

,

.

(

, . .).

(

;

-

, : (AЩЩХТМКЭТШЧ EЧРТЧООrТЧР), (FКЦТХв ШП ЬвЬЭОЦЬ EЧРТЧООrТЧР- Product

(RОЮЬО EЧРТЧООrТЧР), (Domain EЧРТЧООrТЧР) line SEI www.sei.com) [16, 17, 43].

.

;

,

.

(

-

,

).

, ,

,

,

,

,

-

,

, ,



. .),

, .

45

(

).

, "

DSL (DШЦКТЧ SЩОМТПТМ LКЧРЮКРО) Д43Ж. ,

" ,



. (

, SPICE, TrТХХТЮЦ

.).

-

, ,

,

-

. а

а

-



IEEE SЭН.1490 PMBOK (PrШУОМЭ MКЧКРОЦОЧЭ BШНв ШП Knowledge). .

.

,

(

(1982 .)

-

(1970 .).

,

,

,

"

-

. .

").

[2, 3].

, "Dupon"

.

-

MОЭСШН),



,

CRM (CrТЭТМКХ PКЭС , – -

. PERT (PrШРrКЦ EЯКХЮКЭТШЧ КЧН RОЯТОа TОМСЧТqЮО) "Polaris", 3800 60 . , . . .

PMBOK. ,

,

. ,

46

.

,

-

,

,

-



, , -

,

. PMBOK,

,

ISO 9001,

,

.

.

к

ка

а

-

. . ,

, ,

,

,

,

, .

,

,

.

, , (F – Function Points Analyses, Feature Points, Mark-ІІ FЮЧМЭТШЧ PШТЧЭЬ, 3D FЮЧМЭТШЧ PШТЧЭЬ .); COCOMO, (AЧРОХ, SХТЦ, SООr-SEM .), , [12, 33]. : 1) ; 2) ; 3) ; 4) . . , , ISO/IEC 9126 .

.

-

, (ISO/IEC 9000 (1–4),

.), ,

-

. 47

з

а

а



MТМrШЬШПЭ, IBM, IЧЭОХ , (

.,

.

,

(

) "

. "), -

.

. SEI

(

,

,

,

) Д8, 9Ж,

(PrШНЮМЭ ХТЧО) .



,

,

. .).

І

"

" .

,

,

, ,

(

-

. ,

, -

,

.

-

.

, . . ,

,



, .

.

35 % ,

. .

,

,

,

,

, .

.

. .

, 48

,

,

-

, – assets

,

. .

.

" (

,

.

,

"

)–

, -

.

,

: SМТОЧМОЬ, – DiEn Engineers, – DiEc EМШЧШЦТМЬ, – DiMa Managers, – DiDe Developer . . а

-

,

,

3.4.

к

а



,

,

– DiSi -

а

[44Ж 1) 2) 3) OMA4) 5) 6) 7) 8) 9) А а з А

( ) [24]; Sun Microsystems (IBM) [45]; CORBA (OMG) [46]; " " Д47]; UML . Д48]; – MS.VSTS [49]; Grid [50]; . ЮЬО МКЬО [51]; . [52]. –А , IBM Sun MХcЫoЬyЬЭemЬ, CORBA. , . – , ,

FTD

. .), IBM –

XDR-

,

, . (reuses, services,



.),

.

. , , Sun Workshop, Toolbox

( CALL , 4GPL (1980-

:

, 4GPL )

-

. . 49

SOA, ОЛ-

,

, ++, JAVA, RUBY, SCRIPT,

– ONC (Sun Microsystems), MVS, VM, OS/2, AIX, Open source, (WebSphere Application Server Compunity Edition). CORBA (Apple, IBM, Win-NT, x-OЩОЧ, DОМ), C++, Smalltalk, JAVA, Cobol, ADA-96 .) ЬФОХОЭШЧ, НТХХ), ІDL (CХТОЧЭ-interface, Server-IЧЭОrПКМО) PCTE, ToolTalk, JAVA2SDK, NОЭPТХШЭ CCS . .). TCP/IP, IIOP , ,

AIБ. IBM

( , (ЬЭЮЛ, (COSS, DCE/RPC, ORB, -

. CORBA, OLE/DCOM, SOM/DSOM, IBM OS . . Фа ка к И. Б . , , , (VC++, VBКЬТМ, MКЭХКЛ, JAVA, Visual Works SЦКХХЭКХФ . .) (MТМrШЬШПЭ.Net, HP, Apple, IBM . .). . , , ( , , MIO-16E-2 .) RMI, JКЯК NКЭТЯО IЧЭОrПКМО exe. Domain and Application Model, Model Interconnection, Microsoft Foundation, ( , , . .) . Фа ка а Дж. Г а. UML , FDT (IDL, XML, RDF . .). : reuse, ( , . .) ; (КЬЬОЭЬ), , ; , UML ; , ; . . UML : UML , rОЮЬО ; UML . , reuses, , , . .

50

Фа к S.NET.

а



Microsoft.

, : ) , – JAVA, C++, Basic, JAVA, Pascal, C#, FCL, (ОбО, НТХХ) , , PM-2007 VSTS, MSF, , . : VSTS-2005 (Visual Studio Teams Systems); MSF (Microsoft Solution ArСТЭОМЭЮrО) , PMBOK ; ; PrШПОЬЬТШЧКХ SЭЮНТШ FШЮЧНКЭТШЧ SОrЯОr , , (SDLC, IDE, MS Office, MS SQL server, MS Visual Studio 2005); (CMMI PrШМОЬЬ IЦЩШЯОЦОЧЭ), , CLR(CШЦЦШЧ LКЧРЮКРО RШЮЭТЧО), , FCL, , GОЧОrКХ МШНО (exe), Portable Executable МШНО . . , , . Фа к Grid. GrТН ( , , , .) Д14, 15Ж. : GМЮЛО, ETICS – . . ( ) . (

, CLR

GrТН.

: (

. .),

,

, URL – ID (GUID)



(SШПЭаКrО DОЯОХШЩЦОЧЭ KТЭЬ). ETICS

,

, ,

Д46, 50Ж , ,

. .

API

.

.

, CIM MвSQL .

.

, (GХШЛКХ PrШЭШМШХ).



-

SDK ,

51

а ка . 1.7).

(

к

а

4

. 1.7.

Software Factory – SШПЭаКrО FКМЭШrв – , . , VТЬЮКХ SЭЮНТШ,

,

Software Factory. , –

. ,

DSL

,

.

А

к

ка ка

а

к

А

а.

. ,

:

, ,

-

, ,

52

,

Д53Ж. ,

.

,

, . .

,

, -

DSL. .

,

-

. -

-

.

-

. ,

-

. . –

, ,

.

,

. .). ,

,

.

(

:

,

,

;

1) 2) 3)

.

, ,

,



.

-

),

-



,

, ,

,

;

. ,

-

, . . ,

(

– .

,

.

,

.

,

, -

.

. .

-

.

-

: 1) 2)

,

,

(.NET EЧЭОrЩrТЬО LТЛrКrв);

,

;

3)

,

.

.

-

-

. 53

Т

а

к

а

а

а

-

,

, 1) 2) 3) 4) 5) 6) 7) 8) 8) 9)

а

-

:

AЩЩFКЛ AppFab

VS.NОЭ;

GrТН

IBM

;

-

AЩЩFКЛ CORBA AppFab Intel; Product Line SEI USA; continious integration

. ;

.

; ; , .

,

; . ,

(

,

)

(

), "Big Data", , big data ), -

,

( Cloud Computing .

: IBM WebSphere, Microsoft Biz Talk 2004, BEA АОЛLШРТМ OrКМХО 10Р, SAP NОЭАОКЯОr, " ( . . 1.1). CASE, , . CASE-

.

.

1.1. CASEIBM

IBM WebSphere

Microsoft Biz Talk 2004 .Net BEA WebLogic

Oracle 10g

54

"

-

" "BEA Systems" ( 2008 . "Oracle") "Oracle" http://www.oracle.com

, , EII , workflow/BPM ,

,

J2EE, , аШrФПХШа/BPM, COM, ,

,

J2EE, , , аШrФПХШа/BPM

, , EII

J2EE, , аШrФПХШа/BPM,

-

. 1.1

SAP NetWeaver "

CASE к SОrЯОr (АAS)

SAP http://www1.sap.com/ www.sap.ru

, BPM

( ) http://www.ivk.ru/

а

.

J2EE/ABAP, ,

,

,

,

,

-

IBM WebSphere. АОЛSЩСОrО

WebSphere Application J2EE, БML . АОЛSЩСОrО – (EAI) : , , , 2 ЛЮЬТЧОЬЬ ЭШ ЛЮЬТЧОЬЬ; JAVA. : 1) (Message Oriented Middleware, MOM), Business Integration Interchange Server (ICS) MQ Business Integration Message Broker (WSMB); 2) АAS; 3) PШrЭКХ SОrЯОr , АAS; 4) АШrФПХШа, АSMB. АОЛSЩСОrО BЮЬТЧОЬЬ IЧЭОРrКЭТШЧ АШrФЛОЧМС . , АSMB, АAS аШrФПХШа, Enterprise JAVA beans (EJB). АAS . IBM АОЛSЩСОrО : WebSphere Business Integration for Automotive . WebSphere Business Integration for Banking , . WebSphere Business Integration for Financial Networks . WebSphere Business Integration for Electronics , . , , , . , " " . АОЛSЩСОrО BЮЬТЧОЬЬ IЧЭОРrКЭТШЧ for Energy and Utilities ( , ), . WebSphere Business Integration Express for Item Synchronization . 55

, IBM АОЛSЩСОrО

.

CASE Microsoft .NET Framework. , J2EE, O АТЧНШаЬ. , , , ( , MTS, IЧЭОrЧОЭ IЧПШrЦКЭТШЧ SОrЯОr, " " .NОЭ). BizTalk Server 2004 – XML, , . – ( EJB) ( аШrФПХШа) , BТгTКХФ SОrЯОr , + .NОЭ. MТМrШЬШПЭ . " " , workflow. , . . CASE WebLogic Integration. – , " " ( 2 ), JAVA. : JAVA, , , , .

. АОЛLШРТМ .

, MТМrШЬШПЭ. JAVA, VТЬЮКХ BКЬТМ COBOL. BEA БML (БSLT, БQЮОrв . .), , JMS, ,

,

CASE Oracle Integration. "OrКМХО" . : ( TrКЧЬЩКrОЧЭ GКЭОаКвЬ , MOM. 56

, АТЧНШаЬ

-

, JAVA . ),

OrКМХО AЩЩХТМКЭТШЧ

.

-

(SОrЯТМО-OrТОЧЭОН CШЦЩЮЭТЧР)

(GrТН CШЦЩЮЭТЧР). SOA

(ПОНОrКЭО)

.

,

. , -

.

: 1) Business Intelligence – ,

-

,

; 2) Business Integration –

-

,

; 3) IНОЧЭТЭв MКЧКРОЦОЧЭ ( ),

-

.



Oracle Integration Interconnect. ESB . (DТrОМЭШrв).

( :

SAP

SAP –

а

.

)

-

(RОЩШЬТЭШrв SAP), .

-

, , , . SAP EМХТЩЬО, IBM АОЛSЩСОrО SAP АОЛ AЩЩХТМКЭТШЧ SОrЯОr SAP JAVA CШЧЧОМЭШr, MS.NET SAP .NET CШЧЧОМЭШr. а К" ". – , , . 57

"

"

.

, ,

,

.

: 1) 2) "

;



;

"

.

"

"

". – . ). ,

:

.

CХШЮН CШЦЩЮЭТЧР -

".

IP

,

,

MOM (

"

"

-

,

, ,

-

. API

,

-

-

DrТН а

CХШЮН CШЦЩЮЭТЧР. к

,

а

, (FЮЧНКЦОЧЭКХ DКЭК TвЩОЬ – FDT, GDT (General Data Types – ISO/IEEC 11404), , [26–39]. ( SUN ONC, MS.NОЭ, OЛОrШЧ, BКЛОХ, GrТН, EМХТЩЬО .), ( , , .), ( , RКЭТШЧКХ RШЬО, CLR, .) . , , ( , , , , , , .). – ( , , , , , . .). – ( , , , , , , .), , ,

58

Д49Ж. ,

,

MS.NОЭ. ( -

,

(UML,

.).

:

,



,

,

-

. ,

.

,

-

. ,

MS.NОЭ

.

. ,

, , (ПrКЦОаШrФ), DSL-

.

,

-

(IBM, Microsoft, Grid а ак

,

, – –

,

.)

-

.

. 1.8

ка

, : (OSI, TCP/IP; ;

а

к

,

.

:

.). ,

.

(IЧЭОХХ, IBM, AЩЩХО, MS; ; ; (e-ЦКТХ); . . : , ( RОЮЬОЬ, ЬЬ ЭЬ, AЩЩХТМКЭТШЧЬ, DШЦКТЧЬ, SвЬЭОЦЬ); ; , (IDL, API, DII, SIDL, БML, RDF .); ( , , , , , .). : , : / ( / PDF, PS, HTML . .); ; ( , , . .); ( , .); CASE, ; ; . . , ( , ), , , , . .

, ; -

59

-

-

-

V&V

V&V

(

)

. 1.8.

ISO/IEC 12207 : 1) CASE, 2) 3) 4)

60

,

-

,

(SQA,

. .); ( ) ,

(

,

,

, , .;

. .); . .; ,

, -

5)

,

,

;

6)

-

,

,

, ;

7)

,

; 8)

,

-

(

,

)

,

-

. ,

VS.NОЭ. а

а

а

ISO

, ( ,

.

[33]. "

)

,

,

SEI

(

( , : ISO/IEC 14598 " ISO 15939 " ", ", . ",

(

CMM BШШЭЬЭrКЩ, TrТХХТЮЦ .

,

ISO/IEC 12207 " ,

.

. "

,

ISO/IEC 15504–2007 (" ").

(Capability Maturity Models) . , ,

-

,

,

" ,

)

.

),

– ", ISO/IEC 15504 " – ISO 9001 " 2844–1994, 2850–1994 9126 . "The Software Engineering Body of Knowledge" (www.swebok.com), ," SАEBOK" , . – , , , , ), – , , Д44Ж. , 61

,

" . "The Project Management Body of Knowledge" – (IEEE Std.1490 "IEEE Guide adoption of PMI Standard. A Guide to the Project Management Body of Knowledge), І [44, 45]. , : ( ); ; . "

аз

к

а

к

а

,

. , .

– ,

:

-

БML

(

; ,

Eclipse [53Ж,

1) Environment,

2)

-

,

, Protege, JAVA, RMI), -

. .; JAVA

3) ,

. .

,

(

,

PХЮР DОЯОХШЩЦОЧЭ

,

RMI

Д32, 37Ж. ,

,

.)

EМХТЩЬО.

EМХТЩЬО

(IBM, OMG, MТМrШЬШПЭ, OЛОrШЧ

1) КЬЬОЭЬ, 2) 62

,

:

,

,

-

Grid, ,

)

-

(

, ) . .; , (IDL, API, SIDL, АSDL, RAS –

,

(

.

) [3–8],

-

, rОЮЬОЬ, . .) [6, 7];

-

3)

(

;

),

(PrШНЮМЭ LТЧОЬ) Д1Ж

є

4) c 5) 6)

;

;

. (1980–1991)

(1992–2010).

,

. а а 4. Т

, 1987–1991

К

(1982 .),

К

Т

1987 . Д8Ж "

-470" (1983–1991).

.

. .



.

, .

(

.



,



,

,

1, ,



. .),

(

-

, ,

.

,

,

.) ,

.

, .

-

.

,

6 -

-



,

,

,

500

.

-

,

, .

-

,

.

63

, –

. .

-

.

"–

"

.

-

.

:

-

,

,

-

,

-

, .

-

, :

(

),

.

.),

(

. 1.2.

.

,

,

,

-

– ,

,

1.2. , , ,

,

,

,

, (

), (APL, IDL), -

(БML, АSDL, …)

– 64

, -

(COM, CORBA, OSF, …)

(RPS, HTTP, SOAR, …)

-

,

-

-

-

-

(БML, UDDI, …)

,

-

.

-

к

,

– ( .

.

. –

.



, .

-



,

,

(

,

.

. (SОrЯТМО OrТОЧЭОН ArМСТЭОМЭЮrО), . ). :

,

. .

,

к .

,

,

.

-

.

,

.

:

,

-

-

,

а

-

.

,

.

-

.

, HШЦО

, .

-

-

, К

.

,

– ,

.

.

++, #

.



К

,

)

-

, . .

. ,

65

:

,

,

. .

,

, к

4.1. .

.

, .

а ,

, ,

,

.

, ,



(

)

,

-

,

.

(

;

)

-

(

).

:

1) 2)

;

,

,

;

: 1)

.

-

,

;

;

2) 3)

;

-

,

-

4) ; 5) "

,

"

.

/

. а

4.2. LТЧОЬ) 66

,

2004 . SE

, -

Product Lines – СЭЭЩ://ЬОТ.МЦЮ.ОНЮ/ЩrШНЮМЭХТЧОЬ/ПrКЦОИrОЩШrЭ/) ,

(PrШНЮМЭ -

. ,

.

.

,

. ,

-

. .

( -

-

,

,

)

(

)

http://programsfactory.univ.kiev.ua, .

(Compositional programming: theory and practice, K. M. Lavrischeva, 2009, Volume 45, Number 6, Pages 845–853, Theory and practice of software factories K. M. Lavrischeva, 2011, Volume 47, Number 6, Pages 961 – 972.). AppFab Unix, JAVA ( ,

.),

(VS.NОЭ, IBM, IЧЭОХ, . . (Continuos integration, 2007), . [ 44 – 54]. , -

, 2005), . ЮЬО МКЬО, 2008) ,

(

, ,

.



, -

. . –

,

26.12.2013. ( ),

, .

,

,

.

.

(

) ,

,

-

,

.

.

-

67

,

, UML, OKM,

, к

. .

а

з

-

.

а

.

.

1987 .,

.

. (

,

, ,

(

– [8, 55 – 57]. :

,

, ;

(

, ,

)

(

); -

.

.

.

,

).

.

;

;

.

.

.

;

68

-

-

, .

, .

-

-

.

,

-

;

,

-

. BPMN

,

3) 4)

-

) ,

,

.)

1) 2)

(

,

.

. , -



,

,

,

,

,

,

: :

-

.

. -

.

-

. ,

.

[55 –

60],

3. [5, 32, 44]. , ,

-

. (GDT) .

GDT

FDT ,

ISO/IEC 11404. . FDT (real, integer, char .); (array, record, vector (set, table, vector, sequence

-

(FDT). -

: .); . ).

. -

GDT : ( character, integer, real, omplex , numerated ( hoice, pointer, set, bag, sequence . .); , ; (rОЮЬО, КrЭТПКМЭ, ШЛУОМЭ, МШЦЩШЧОЧЭ, ЬОrЯТМО). АSDL, GrТН IDL. ,

.); -

. 69

А А

аз А

А

а а .

У АЗ

,

А Т (

,

А

.



,

,

,

.

,

, :

.

.

(

, .

. ,

, .

,

,

. .

-6 -1, , -

,

.

65 . 70

– , -

, ++, BКЬТМ, JAVA

1.

,

.



.),

.

). . .,

.

,

2

,

2.

( . . ,

-

,



, (

.). ,

– .

, -

,

,

,

.

,

,



-

,

,

,

-

к

– .

-



[6, 8, 16, 60 – 70].

а.

1.1.

-

.

,

3. ,

-

)

-

. .

-

.

, . (

05.03.1974 . . : " ( . . – ( . . ( ) , . . ); ( . . ), " " ( : , -60,

)

,

"

. ( .

,

( . ,

. )

; ),

. . -6 -1,

.),

,

.

-

); ( . .

.

( .

.

а,

-

,

-

.

)

);

.

.

, [1].



. -

.

71

,

. )

(65

(

-

)

. ,

,

, ,

,

к

(

1976 .

(

-

).

.

-

[60 – 68].

,

-

(

.). –

.

,



,

.

)

,



(

. -

)

-

. 50 [16].

,

, ,

1975–1982 . . 1985–1990 API (AЩЩХТМКЭТШЧ PrШРЩКЦ IЧЭОrПКМО) IDL (IЧЭОrПКМО DОПТЧТЭТШЧ LКЧРЮКРО). (

)

,

.

– -

, -

, .

72

-

,



,

-

,

[20 – 24].

. .

-

, (1976).

LТЧФ < (

.

1) 2) 3)

CКХХ -

"( . .

"

>. ,

), -

LТЧФ

,

-

.

:

;

;

(b-boolean, c-

, .)

character, i-integer, r-real, a-array, z-rОМШrН ; 4) ; 5) ; 6) 7) ; 8) . ,

>&
G q = < X q , >. Xt Xq . .

3)

:

а . G t G

ЩrОН а .

Т G b

,

q

(X . max) = X ,

q

.

-

. min) = X . min, . , ,

t

max.

-

G

, ,

.

c

,

.

.

,

.

-

,

. min)

-

, (

.

(1.2) max)

=X

c

max.

G

: ( X . falseb ) = X . falseb , ( X . trueb ) = X . trueb . G b Gb

. (3).

78

q

= X c. min. succ ( < succ(x)), , ( )= , (succ ( )) = succ( ).

min

1) G

G

succ

(

X

q

t = c, b , r , a , z

1 – 5 [6, 7]. а . – , Xc Xc – . = =

.

t

; =

X ,

t

t

(

. .

(

,

. Т c G .

q

1;

.

q

t); t

),

1, 2

q

,

,

,

(1.1) Л

t

,

b . false


(ЩЮЛХТМ), get < Pfieldni>

Pfieldi

: Imethi = Methi {get < Pfieldni> } Ifunci, Imethi. Imethodi IFunci,

{se < Pfieldni> }. Imethodi,

G.

,

G

IFunci

– -

OClassi.

.

.

а .

-

IG

,

OClass

-

-

OClass; IG – ,

,

set

.



IG

,

,

.

Т

,

.

: ISyst = (IFunc, IG),

IFunc = {IFunci} – ,

,

, ЩЮЛХТМpublic-

, publicISyst

.

ЩЮЛХТМ. . , -

. 2.4. Ж

к

а .

, , 124

. .

, .

,



,

,

,

-

:

.

1. 2. 3. 4.

.

(BКЬТМ, C#, JAVA

. -

.).

5. 6.

.

IDL, API -

.

7.

.

: JAVA, JAVA Beans, JAVAScript, C#, Vbasic а

2.5. CASE-

к

а

к

, (ЩЮЭ ,

з

к

(

CORBA – stub,

, DCOM

SUN

OSF DSE.



.)

:

(RPC-

1) 2) 3)

1) 2)

N

.

,

.

SUN, OSF DCE, OSI (OЩОЧ

RPC, (

а ( N

COM, SOM, CORBA, JAVA .), , , Systems Interconnection ) [45–50]. за

-

;

ЬЭЮЛ,

); -

РОЭ).

, ) CORBA. ЬЭЮЛ /ЬФОХОЭШЧ , ++.

;

,

-

DCOM

-

. , .

ORB CORBA ЬЭЮЛ

: ЬФОХОЭШЧ;

-

125

3) ( ↔Smaltalk, Smaltalk↔ DA, ADA↔COBOL, COBOL↔ JAVA, COBOL↔ .), 1. D : 1) ( RPC); 2) ; 3) ( ↔ ++), , . ONC, DCE CORBA ++. IDL. IDL CORBA : in – , out – , inout – . – simple (short, long, unsigned short, unsigned long, float, double, boolean, char, octet, enum). , ПТбОН ЯКrТКЛХО. . – , "ПТбОН ЯКrТКЛХО" . OUT RESULT . ИЯКr. TИЯКr. TИЯКr & ШЩОrКЭШr = (T) .

TИЯКr (T) TИЯКr. ,

. -

SЭrТЧРИЯКr: CORBA::SЭrТЧРИЯКr ЯКr = "some string", ЬЭrТЧРИНЮЩ: CORBA::String_var var = CORBA::string_dup ("some string"). ЬЭrТЧРИНЮЩ . TИЯКr , .

TИЯКr

за

к CORBA – .

(ЬЭЮЛ) 95)

. 126

,

OUT. CORBA.

-

ORB. CORBA ( ++, JAVA, Smalltalk, Visual C++, Cobol, Ada(stub, sceleton) . JAVA ORB. CORBA , ,

,

IDL.

stub, sceleton CORBA . -

,

а

аз

а RMI

. Т

JAVA ++. JAVA: 1) 2) 3)

++

JAVA ORBA.

JAVA

JAVA.

,

-

JAVA/RMI, ,

.

, RMI;

-

ЛвЭО-

;

-

JAVA. ,

struct

IDL,

++, ORB.

а а 3. Т

,

)

. .).

-

,

.).

А А

А

, 75 % ,

-

array . (

А А

++. ,

IDL ++.

( CDR (Common Domain Routine),

К

,

IDL.

.

(

,



.



.

,

. –

[84 – 88].

, -

127

.

. ,

-

,

.

-

. ,



-

. ,

.).

( ,

– (interface)

,

, (НОЩХШвЦОЧЭ)

.

) .

1) 2) 3) 4) 5)

:

;

; .;

.

;

,

. (

,

.

, . ;

-

, ,

-

:

128

-

.

,

,

1)

, . -

.

,

,

,

. -

(ТЦЩХОЦОЧЭКЭТШЧ), . ,

.

, ),

.

,

.

(

.

-

2) .

3) ( . ,

).

,

-

.;

.

.

-

.

, -

,

.

. .





, .



.

3.1. Т

к

а

а ,

. :

,

APL

(

.

,

[7]. .

, ):

, , ,

( , , (ТЦЩХОЦОЧЭКЭТШЧ), . .

– –

3.1.

,

:

,

,

.

– (НОЩХШвЦОЧЭ) – ,

.

. аз

.

. .) . (ТЧЭОrПКМО)

,

.

,

,

,

(

.

) – ,

. IDL -

, 129

, ,

,

,

-

.

-

. , (

3.2.

(

,

)–

.), ,

. ,

.

,

T–

,

-

.

. – = (T, I, F , R, S),

,I–

,S–

;F –

.



3.3.

,R–

,

, .

к

а,

а

,

.



. .

(1998–2001

2002–2006) (

,

,

. ),

,

, :

;

3) 4) 130

,

-

.

;

1) 2)

-



; ;



5)

,



,

-

Д7]. (

-

. 2.8).

3 2

1 ,

6 4

5 Data 8 Data ( ....)

7

,

. 2.8.

к

а

,

,

,

,

-

[84, 85]. Comp = (CName, CInt, CFact, CImp, CServ), CName – ; CInt = {CInti} – , ; CFact – j ; CImp = {CImp } – {CServr } – .

(3.1) ; CServ =

к

: CE = (NameSpace, IntRep, ImpRep, CServ, CServImp ), NameSpace = {CName m} – ; IntRep = {IntRepi} – ; ImpRep = {ImpRepj} – 131

; CServ = {CServr } – ; CServImp = {CServImp r } – . а. CInti = ( IntNamei , IntFunci , IntSpeci ) IntNamei – ; IntFunci – , ( ); CInti – ; IntSpeci – ( , , . .).

-

(3.2) ,

: CInti Provide(CInti)

CInt

CImpj

CImp [Provider (CInti) ,

CInti.

, . (CORBA, JAVA, C++

. (

CInti1

Comp1 CInt1,

,

,

,

Comp2 CIntk2 CInt2

Sign (CInti1)= Sign (CIntk2) & Provider (CInti1) Sign(…) Comp1

-

,

. .). ,

(3.3)

, .)

:

CImpj],

CImpj2, .

(3.4)

Comp2

. 3.4.

Comp1

Comp2

3.5.

Comp1

3.6.

, 1) 2) 3)

Comp1 Comp2 Comp1 Comp2

. CInti

,

Comp2 . , Comp2 .

(3.3)

: – Create; – Remove. .

132

(

, , Comp1

,

.

), Comp1 Comp1. Comp2 . -

– Locate; -

ImpNamej – , ); ImpSpecj –

CInti = {Locate, Create, Remove}. : j j j CImp = (ImpName , ImpFunc , ImpSpecj),

,

.

. .).



(

(

: (3.5) -

; ImpFuncj –

, ,

,

-

,

.

,

( з к

CORBA).

-

к

. : Cfact.Create: Comp → {Cinskij}, Cinskij = (Iinskij, IntFunci, ImpFuncj), k , IntFunci ImpFuncj; Iinskij –

Cfact Cinskij –

.

-

Create

-

,

: OClass = {Oclass } – i

ClassNamei – {Fieldni} –

Osyst = (Oclass, G ), ;G–

.

: OClassi = (ClassNamei, Methodi, Fieldi}, ; Methodi = {Methodji} – , . 2.9. CШЦЩ2, Oclass1, Oclass2

CШЦЩ1 IntIO2

(3.6)

,

; Fieldi = . . Int1, IntO1

IntI2,

Oclass3.

Oclass Oclassi = {ClassNamei, Method, Field}, Oclass = {Oclass } – ; ClassNamei – i i {Methodj } – ; Field = {Fieldni} – . i

; Methodi = , 133

OClass4

Int1

OClass2

Field1 Field2 Method1 Method2

Int2 Field3 Field4

OClass1

OClass3

Method3 Method4

IntI1 IntO1 Comp1

Comp2 IntO2 IntI2

. 2.9.

Pfieldi

. set < Pfieldni>

Fieldi – Pfieldni Pfieldi

(ЩЮЛХТМ), get < Pfieldni> . , .

. : Imethodi = Methodi {get } {set } , Ifunci, , i Imethod . Osyst Isyst = (Ifunc, IG ), Ifunc = {Ifunci} – ; IG – , G. Oclassi ( ) Objki = {ObjNameki, Methodi, Fieldi}, Isyst Iobjki= {Inameki, i Ifunc }. . ,

, 134

), Iobjkij = {Inameki, Ifunci, ImpFuncj}, , Cinskij = (Iinskij, IntFunci, ImpFuncj). .

-

,

ImpFuncj (

.

,

,

,

-

. .

,

(

,

) .

, .

, (

-

-

– ,

) аз а

3.2.

-

.

к

-

. . зк

CE (Component Enviroment System)

:

CE = (NameSpace, IntRep, ImpRep, CServ, CServImp ), (3.7) m NameSpace = {CName } – , ; IntRep = {IntRepi} – , ; ImpRep = {ImpRepj} – , ; r CServ = {CServ } – , , ; CServImp = {CServImpr } – . : IntRepi = (CInti, CNamem), i CInt – ; CNamem – , . . , .

.

.

-

, ,

-

.

(ПrКЦОаШrФ): FW = ( , ,

(

. )

,

, CServ, CServImp),

,

.

-

– 135

CServ

.

CServImp

,

. .

– NКЦТЧР

1. 2. ) 3.

– TrКЧЬКМЭТШЧ,

(

,

1) 2) 3) 4)

,

. . .

. ;

.

,

,

,

-

: ;

.

-

. ,

-

.

– MОЬЬКРТЧР,

4.

-

.

– BТЧНТЧР,



,

.

,

CServ = {CServr }

-

;

-

, , – , . . FW = ( , , , CServ, CServImp). FW2 = ( , , , CServ2, FW1= ( , , , CServ1, CServImp1) CServImp2) – . . , . SMap: CServ1 → CSОrЯ2 , SMap(CServ1) CServ2, FW1 FW2. .8. FW1 FW2, SMap: CServ1 –> CServ2 , , SMap(CServ1) CServ2. FW2 FW1 . . . 136

.7.

,

.

CServ1

CServ2

.

,

– .

,

,

, а

3.3.

.

.

,

.

,

-

,

,

-

. ,

а -

Cset,

,

CSet* . Cset

CE ,

CSet .

-

CSet*

*c

.

.

, ,

.

-

. .

Comp CE1= CE2, CE2.NameSpace = {Comp.CName} CE1.NameSpace, CE2.IntRep = {Comp.(CInti, CName)} CE1.IntRep, CE2.ImpRep= {Comp.(CImpj, CName)} CE1.ImpRep. а . . : Comp CE = CE Comp. а . .

Ак Ак

-

-

: У

ж а

Comp1 3.1.

(CE

Comp2) = (Comp1

: CE = Comp1 а к

Namem: Namem

Comp2 а

,…,

CE)

Compn

Comp2. CE FW .

: CE1 Comp = CE2, CE1.NameSpace (CNamem =Comp.CName) 137

CE2.NameSpace = CE1.NameSpace\ {Comp.CName} CE2.IntRep = CE1.IntRep\ {( i: IntRepi.CName = Comp.CName) IntRepi} CE2.ImpRep = CE1.ImpRep\ {( j &ImtRepj.CName = Comp.CName) ImtRepj}. Т а . . Comp CE -

(Comp2 CE) Comp = CE. . : Comp CE = ({Comp.CName} CE.NameSpace}, {Comp.(CInti, CName)} CE.IntRep, {Comp.(CImpj, CName)} CE.ImpRep, CSe, CSeIm) = CE. . CE' \ Comp = (CE'.NameSpace \ {Comp.CName}, {CE'.IntRep \ Comp.(CInti, CName)}, CE'.ImpRep \ {Comp.(CImpj, CName)}, CSe, CSeIm) = CE. а за "–" CE.NameSpace(Comp1) - Comp2 = (CE Comp 1) Comp 2. к а – , , = CSet, CEnv, Ω , CSet = {Comp1,…,CШЦpn} – , Comp, CEnv = {CE 1,…,CEn}, . , Ω = { , , –} – а ( ) : CE1 CE2 = CE3 , CE3.NameSpace = CE1.NameSpace CE2.NameSpace, CE3.IntRep = CE1.IntRep CE2.IntRep, CE3.ImpRep = CE1, ImpRep CE2.ImpRep. Т а . . : (CE1 CE2) CE3 = CE1 (CE2 CE3). Comp (CE1 CE2) CE3 Comp CE1 Comp CE2 Comp CE3; Comp CE1 (CE2 CE3) Comp CE1 Comp CE2 Comp CE3. Ак а 3.3. : CE1 CE2 = CE2 CE1. У ж 3.4. : CE FW = FW CE = CE. У ж 3.5. CE FW = FW CE = CE. У ж 3.6. CE1, CE2 CШЦЩ : Comp (CE1 CE2) = (Comp CE1) CE2 = (Comp CE2) CE1. У ж 3.7. omp : Comp = CE. 138

.5. (

,

),

. Comp1

CInt1 ,

Cont12im

-

CE,

CInt2m, Cont.

Comp2 = (CInt1 , CInt2m, IMap12im),

, . а

а.

к

а

.

,

-

-

,

: = { CSet, CESet, 1 }, (3.8) CSet = {Compn} – , (3.3); CESet = {CEn} – , (3.4); 1 – . : Comp – , CE1, CE2, CE 3 – д , \,, ж . . . ( ) CE2 = Comp CE1 : CE2.NameSpace = {Comp.CName} CE1.NameSpace, CE2.IntRep = {Comp.(CInti, CName)} CE1.IntRep, CE2.ImpRep = {Comp.(CImpj, CName)} CE1.ImpRep. CE3 = CE1 CE2 : CE3.NameSpace = CE1.NameSpace CE2.NameSpace, CE3.IntRep = CE1.IntRep CE2.IntRep, CE3.ImpRep = CE1.ImpRep CE2.ImpRep. , . , , , . : CE1, CE2 FW = CE; CE1, CE2 , CE1 CE2 = CE2 CE1; CE1, CE2, CE 3 (CE1 CE2) CE3 = CE1 (CE2 CE3); Comp, CE1, CE2 (Comp CE1) CE2 = (Comp CE2) CE1; Comp1, Comp2, CE Comp1 (Comp2 CE) = Comp2 (Comp1 CE). 1

139

CE2 = CE1 \ Comp : CNamem NameSpace&(CNamem = Comp.CName) CE2.NameSpace = CE1.NameSpace \ {Comp.CName} & IntRepi.Cname = Comp.CName) IntRepi} & CE2.IntRep = CE 1.IntRep \ {( CE2.ImpRep = CE1.ImpRep \ {( j IntRepj.Cname = Comp.CName) IntRepj}. , (Comp CE) \ Comp = CE . . , , \. Comp1 Comp2 ,\ : CE2 = Comp2 (CE1 \ Comp1). CE,

Comp1

CInt1 , m

CInt2 , Cont.

Comp2 Cont12im = (CInt1 , CInt2m, IMap12im)

-

. Т

к

а

к

а

к

,

. ,

.



:

; (

COM); . к

аа

, [89].

3)

,

, .

.

(

, .

140

,

, ,

1) 2)

,

,

.

,

-

, JAVA, CORBA, COM), ,

,

,

,

.

-

.

,

.

,

-

.

-

: CInt =

CImp = , . : TComp = (Template , CFact

– ,

. ,



, CServ). ,

.

,

,

,

. -

.

: = {CSet, CESet, 2}, Cset = {OldComp, NewComp} – OldComp NewComp, NewComp; OldComp = (OldCName,OldInt, CFact, OldImp, CServ), , ; NewComp = (NewCName, NewInt, CFact, NewImp,CServ), , , , ; 2 = {addImp, addInt, replInt, replImp}, add imp – ; addInt – replImp – , replImp – . а а а за а к addImp , 2

; а.

,

-

. : NewIntOs = {NewIntOsq}. NewIntOs = , . : AddOImp : NewComp = AddImp(OldComp, NewCImps,NewCIntOs ) NewInt = OldInt NewIntOs

-

141

NewCImp = OldCImp {NewImps} ( OldIntt OldCIntI) Provide(OldInt) NewImps NewCImps – , ; OldCInt – .

. AddImp .

.

.

, -

,

-

AddNImp NewComp = AddNImp(OldComp,NewCImps,NewCIntOs) NewCInt = OldCInt NewCIntOs NewCImp = OldCImp { NewCImps}. NewCImps – , . , . ReplImp NewComp= ReplImp(OldComp,NewCImps,NewCIntOs OldCImpr,OldCIntOr ) . , ( OldCIntt OldCInt)&(Provide(OldCIntt) OldCImpr )=> (Provide(OldCIntt) NewCImps)V(( OldCImpj (OldCImp\{OldCImpr })) & Provide(OldCIntt) OldCImpj) NewCInt = OldCInt NewCIntOs \ OldCIntOr ; NewImp = OldImpl {NewCImps}\{OldCImpr }, NewCImps – , ; NewCIntOs – , ; OldCImpr – , ; OldCIntOr – , , . Л а . . . , , , , OldCImpr – . , OldCImpr, , Provide(OldCIntt) NewCImps . , ,

. – 142

.

,

,

.

-

а

а

. -

а.

– .

AddInt : NewComp = AddInt(OldComp, NewCIntIq) . , ( OldCImps OldCImp) & (Provide(NewCIntIq) OldCImps), NewCIntIq – NewCInt = OldCInt {NewCIntIq}, NewCImp = OldCImp , . Л а . . . , . . . .

.

.

,

-

-

,

, CFact

-

,

-

,

. .

,

CServ

, . а к

а а

а

-

. : 1= {CSet, CESet, 1} – , 3 = {Set, CESet,

refac



= { 1, 3} –

3

, OReing – .

3.

,

2,

3},

,

2

3

= {CSet, CESet,

={

refac,

.

2}



OReing , O Rever }, ORever –

, -

. :

143

1)

;

,

2)

,

;

3)

/

,

.

.

-

. : n refac = {O ОП , {CSet = {NewComp }}, refac = {AddOImp, AddNImp, ReplImp, AddInt } – (CSОЭ, refac) – . , ,

.

,

,

,

. -

Д68, 196Ж. .

-

,

. AddOImp, AddNImp, ReplImp, AddInt . У

ж

,

(CSet, Refac)

. .

refac

.

.

., . .

CE= Comp1

,

CSet

-

.

,

: AddInt(AddNImp(Comp2,NewCImp , NewCIntO s ), NewCIntI q ) s

: = { O , { CSet = {NewCompn}}, Reing Reing Oreing= {rewrite, restruc, adop, supp, conver } – (CSet, OReing) – . Reing = (CSet, Reing) 144

= (CSet, Refac)

.

3.2

,

-

.

FW.

, .

-

reeng

,

.

(Refac), .

,

Reeng

-

,

,

.

= (CSet, Reeng)

,

. : = {OReve,r , {CSet = {NewCompn}}, ORever = { restruc, design, restruct}– OReing) – . Rever = (CSet, Rever ) Rever

Revers.

,

,

Revers .

,

;

(CSet, -

. Reeng

-

,

,

-

( Revers). Reeng

, ,

.

-

,

,

.

– .

,

,

,

. -

, ,

. : 1) 2) 3)

; ;

, . :

-

.

-

, 145

link PS (Comp , Comp , Comp ) – Comp , Comp , Comp ; config SPS (Comp l1, CompB l1, Comp l1 (CIntAidl, CIntBidl, CIntCidl) – Comp , Comp , Comp li IDL; x, y BD ; redoing x, y BD – redo TD (x,y) – ; interconect PS (Comp , Comp , Comp , CIntA, CIntB, CIntC) – A, B, C ; redevelop PS (CIntA, CIntB) – Comp , Comp B. : makeaway PS (Comp ) – PS Comp ; add PS (Comp , CompC) – Comp , CompC PS; insert F PS – F PS; redact Comp (PS) – Comp PS, . CompA – CNameC; к

3.3.



Т ж к ШЦpn= (Cnamen,Cin , Cfactn , Cimpn ,Cserv) .

а

CIntIi. ij ij i CInsk = (IInsk , IntFunc , ImpFuncj) IInskij – CIntIi CInt, ImpFuncj – CImpi CImp. . : Cont12im = (CInt1 , CInt2m, IMap12im), , CInt2m CInt2 – im ; IMap12 –

Comp.

.

,

(

.

CInt1n

.

,

CInt2m,

.

-

).

-

, IntFunc – , i

Comp1 CInt1

Comp2 CInt1 –

,

, Comp2 IntFunc1

-

Comp1 Comp2 Cont12im, CIns1kij = (IIns1kij, IntFunci, ImpFuncj) CIns2pmq= (IIns2pmq, IntFuncm, ImpFuncq) Cont12im, Bind (IIns1kij, IIns2pmq, Cont12im).

.

к



, 146

,

Isyst. ,

. 2.10

:

1,

2,

.

3,

-

4.

O1 Comp1 IC2

IO2 IO3

O2

O3

OC11

OC12

Comp2 OC2

IO4

IC4

IC3

Comp3 O4

OC3 . 2.10. 2,

3,

ЩЮЛХТМ-

4

I

. ISyst ).

IC2, IC3, IC4 (

.

– ,

.

2 ,I

3 ,I

-

4

OC11,OC12,OC2,OC3 –

.

,

, . .

, 3

.



CШЦЩ3 -

-

. .

4

-

,

-

.

. . 147

. 2.11. . і

'є ’є

’є

і

я

і

я

і

І

’є

І ’є

’є

М

І

:

,

,

, artifacts, assets, reuses

я

я

М М

я

. 2.11.

:

,

1)

/ ; –

2) 3)

),

,

,

,

,

, 148

, (

, ,

-

;

,

;

4)

5) 6) 7) 8) 9)

,

;

.

-

;

;

; ; ,

. -

,

. – 3.4. Т

(

). за

,

к

.К , (

1) 2) 3)

"

;

к

к к :

(

, beans,

; .);

JAVA

.)

,

4)

-

;

,

5)

,

, 6)

;

.

, . : 1) ,

".

– ,

,

-

,

;

2)

-

,

.;

3) ,

.

, . . ,

.

-

. ,

,

– -

149

i 1

(

.

Ai –

,

, Ai

.

, , In, Out

). In

, Out In

,

J,

i

(

In, .

,

)

а



,

,

,

. (

,

. .),

-

.

C (C X).

R1, R2 ,..., Rm ,

-

. Ci

,

-

. In = {Ci, In, Out, Inout}

Ci

, .

,

.

C

,

', . .

, C.

C(

К Л

к а 3.3.

, 1) G= { , І}, 2)

C' ),

к

3)

з

[7]).

,

к

-

:

, ( ;

150

( аз

-

.

Ini, Outj, Inoutij,

X–

Inout -

Out. Ai

,

xi

Inout -

; і

, і

.

), -

-

. ж

У

. .

.

G ={ , Іж

:

G= { , І},

1. 0,  = 1,

,

.

2. ,

Іі j , Іі У =1, 0,

(

:

У

(

=0)

. ( ж

,

-

,

.). ={

.4. і , Iі , kj , Ij }

.

(

Iі , Ij ,

. а 3.4.

і

,

-

j)

= {{

.

Л 1) 2)

, kj )

,

.

3. 4.

і

-

G{ , І}

,

-

, ;

і

;

3)

.

G{ , І}

3.3. , G= { , І} –

:

.

),

і

= 0,

,

t(X) = 1. ,

д і, j ж , I }, { , I жж і і j j

T(

: 151



.

,



,

.

. .

-

,

. ,

.

.



-

.



,

-

.

– "

-

",

.

.



,

,

,

(

). )

.

,

,

-



-

.

-

. ,

1. IDL)

, 152

,

(

ISO/IEC 11404–2007.

3.5. Ж

к

API, -

.

аз а –

-

,

.



(

-

,

к ,

,

,

-

. , , ;

.

(

А а ,

.

к

.

.

к

,

.

-

.

-

,

-



,

,

.

.

, к

.

,

.

,

.

,

-

,

,

а

( . .



а

з а

,

.

.

-

.

.

,

-

)

.

"

-

,

.

.

"

;

;

.

AХЭКVТЬЭК)

-

;

к к

,

;

, ;

к

:

;

.

, .

.

, .

153

,

, ,

,



.

.

.

.

-

.

1. . 2.

.

.

3. , 4.

-

,

-

. ,

.

.

1)

:

;

2)

. . за

а а к

а

.

;

к

-

,

.

-

к

.

.

,

.

, ,

-

.

.

. 154

,

.

, А а

. -

.

,

. ;

;

а

.

, , ж

к

,

,

.

,

"

, .

-

". . а

3.6. CASE-

жк к MS.NET, JAVA, IBM

а

. [40 – 45]. :

а MS.NET MТМrШЬШПЭ (АТЧНШаЬ 2007/БP/ME/), ; MS.NОЭ (.NОЭ EЧЭОrЩrТЬО SОrЯОrЬ) ( , AЩЩХТМКЭТШЧ SОrЯОr, EбМСКЧРО SОrЯОr, SQL SОrЯОr); 3) .NОЭ Building Block Services – " ; 4) VТЬЮКХ SЭЮНТШ.NET (VS.NET) – MS.NET, . MS.NET FrКЦОаШrФ . : CLR FCL (FrКЦОаШrФ CХКЬЬ LТЛrКrв), , , WindowsАОЛ SОrЯТМОЬ . , , (НОЩХШвЦОЧЭ) .

1) 2)

,

CTS (Common Type System) . (КЬЬОЦЛХв) ЭвЩО) CTS



-

(

, К

.

(

а

.NET (rОПОrОЧМО ЭвЩО), . 8

128

.

.

"

-

CIL, (PШrЭКЛХО EбОМЮЭКЛХО) (ЧКЭТЯО). : (value

,

S, . ),

, -

MS.NeЭ.

), .

155

– ,

, .

, .

,

,

.

,

,

,

.

М

. -

"

.

.

"

: : (ШЛУОМЭ ЭвЩО); (ТЧЭОrПКМО ЭвЩО); (ЩШТЧЭОr ЭвЩО). CTS , , .NET. .NET , CLS. : CLR (Common Language Runtime), CLS (Common Language Specification), CIIL. CLR .NET . .

. ,

, (

" JIT).

.

COM. ASP.NET.

1000)

CLR

" MТМrШЬШПЭ IЧЭОrЦОНТКЭО LКЧРЮКРО (MIIL CPU

MIIL .

,

EППТХ,

, .NET. C# . FCL-

а JAVA – COBRA , . Д25Ж.

к

к

, RMI, БML-

-

IL), .NET (УЮЬЭ- Ч-time. -

FCL-

,

.

JAVA. (AАT-

,

, , CLR

, , DTD-

), ЛОКЧЬ -

, JSP

JAVA [90]. к

JAVA 156

как

к

з

к

.

:

, -

1)

JAVA-

;

( ;

2) 3) ,

)

,



,

-

,

.

,

,

.

:

1) BХКЧФAЧЭPrШУОМЭ,

, . -

;

2) SampleAntProject 3) CastШЦTКЬФ – .

JAVA,

(

, :

1) exception

;

.

EбЭОЧНЬ,

, JAЩЩХОЭ).

,

CХКЬЬ, MКТЧ, EЦЩЭв ( ,

,

;

2) ЩОrЬТЬЭОЧМО CКЩКЛХО MвSQL; 3) interface –

),

-

JAVA

ТЦЩХОЦОЧЭЬ.

,

(BШШХОКЧ, CСКrКМЭОr, BТРIЧЭОРОr, BТРDОМТЦКХ, CХКЬЬ), , (Vector, Stack, Hashtable, Collection, LiЬЭ, SОЭ, MКЩ, IЭОrКЭШr) (CКХОЧНКr – ). -

.

,

.

, .

,

,

.

ЧОЧЭ,

– CШЧЭКТЧОr.

AАT

AАT .

AАT ,

.

, CШЦЩШ157

-

. . URL JAVA.

з

JAVA ,

JAVA

SUN.

,

ЛОКЧЬ

JAVA– ,

.

,

(JAVA НОЯОХШЩОr KТЭ).

У а

,

-

AЛЬЭrКМЭ АТЧНШа TШШХФТЭ –

,

JAVA AЩЩХОЭ ,

, HTML IЦКРО

. RMI, EJB (Enterprise JAVA Beans) JAVA, JVM. EJB.

ЛОКЧЬ JAVA for FORTE:

1) BОКЧЬ ; 2) BОКЧIЧПШ 3) CЮЬЭШЦТгОr

ЛОКЧЬ-

; 4) PrШЩОrЭв EНТЭШr

; , ЛОКЧЬ-

,

-

.

, Eclipse (c .

-

JAVA, JAVA 3).

а а 4.

-

, ЛОКЧЬJAVA

,

Eclipse,

JDK ,

Appletviewer

MS.Net. VS.Net ↔

,

MS.Net

У

А

А

.

Т 70" .

XX "

. .

,

, . ,

158

.

-

Ж,

.

. .

(

(

. . Д18], , 1982), . . , .: , 1989) .

, .

,

Д33 , -

.

. ,

. . . . (family system ( )

PrШНЮМЭ LТЧОЬ SEI, 2004)

(

,

, ,

,

. ) Д51Ж

),

, rОЮЬОЬ

.),

" " ,

, –

,

-

(2006), , , ( ). , 1 . , ( , [89–92]. " (GОЧОrКЭ ЩrШРrКЦЦТЧР) (

2011) [ ].

(

-

". GОЧОrКЭ ЩrШРrКЦЦТЧР –

,

,

, . ,

,

-

.

-

,

GDM (Generative Domain Model). GDM : 1) ; 2) , ; 3) (configuration knowledgО) , .

-

159

,

.

.

,

, –

а

;



.

.

. 1) 2)

. , -

,

.

.

: ;

,

, UЬО CКЬО, –

.

,

,

. – 160

,

,

,

-

,

,

-

,

.

,

,

, .

:

, -

-

.

:



2)

.

,

[91 – 94]. а

1)

-

,

,

,

,

,

,

.

, ,

,

,

..

CASE-

,

,

,

,

, –

.

-

,

L,

.

DEMRAL Д51Ж, , ,

:

. . (abstract data types – ADT) RSEB . " ,

GDM .

. DEMRAL,

,

:

.

-

, :

,

, SE

,

-

(ааа.ЬОТ.МШЦ), .

,

(http://programsfactory. ЮЧТЯ.ФТОЯ.ЮК) .

, -

)

[7Ж.

4.1.

-

.

(

[57–59].

.

,

,

.

,

-

, –

UЬО CКЬО

, "

,

.

.

-

а (Product family) – "

" ("product family /product line – group of products or services sharing a common, managed set of features that satisfy specific needs of a selected market or mission").. – . [91 – 94]. ,

,

161

– ,

, ( DSL

.

)

GPL

. -

,

DSL

. GPL

,

DSL.

Д13Ж. ,



. GDM (problem space), (МШЧПТРЮrКЭТШЧ ЛКЬО)

,

MШНОХ, LКЧРЮКРО)

. .

FОКЭЮrО GPL (GОЧОrКХ-Purpose DSL, UML2. , , –

, -



,

.

(solution space)

,

.

,

"

". . ,

AМЭТЯОБ

, ,

. , JAVABОКЧЬ, . ( M

), .

, ,

4.2. Т а

,

. .,

, а

к

а

,

.

а

-

, Т а 162

DSL (

-

а

а

[91]. .

,

-

(

DSL-

. 2.12).

1 я 1 (DSL- domain specific language) 1 я

(

)

(

) 1= 2(

2)



- [

... n я n -

я)



. 2.12.

– DSL-

DSL-

,

, (

, GDM (

,

/

.

,

,

,

.

.

-

).

-

,

. 2.13). .

-

,

. -

,

,

(

.

-

) 163

. (

.

, rОЮЬО),

,

-

.

-

-

. 2.13.

,

. ADL (ArСТЭОМЭЮrО DОЬМrТЩЭТШЧ LКЧРЮКРОЬ). , ADL. . 4.3. А

к

.

-

, а

-

а

а -

Д95, 96Ж. ( 164

. 2.14) AO (Aspect-Oriented Development).

-

-

, (FOA) f1 f3

(AOP)

f2

(MDA)

(

PIM

) C2 C6

C1 C4

PSM

C3

PSM

-

C2 C1 C4 C2

C4

C6

(

)

. 2.14.

(

. .),

,

FOD (OЧЭШХШРв-DrТЯОЧ DОЯОХШЩЦОЧЭ) (Ontology-BКЬОН FОКЭЮrО MШНОХХТЧР) . , , 1970 . . . ) Д1Ж. ( ) , . "

", . .

.

. . .

,

. -

(

-

,

, -

165

(

)

. ) –

,

-

, ,



. (

, "

"

,

, 1) 2) 3) " А

к – ,

А

(

,

,

. -

.

.

, (МШЧМОrЧ МrШЬЬМЮЭЭТЧР) " " ,

166

-

, -

.

а а аА JШТЧ PШТЧЭ MШНОХ), 1. " , 2. (PointCuts) – (

),

, " (cross- ЮЭЭТЧР)

,"

.

-

),

-

"

,

-

(1997)

. (

.

. .

. а а

,

),

.

БОrШб PARC , :

( " –

"

(Join point) – ), ,

,

.

,

,

,

. :

.

, .

(JPM, ("

,

-

). (Advice) –

3. .

:

), КПЭОr (

,

( : 1) 2) 3)

за

к

)

,

. . (ЦТбТЧЬ)).

,

;

(МШЦЩТХО ЭТЦО аОКЯТЧР)

)

, . .



,

,

, ,

;

-

.

,

-

-

.

,

.

-

,

( (rЮЧЭТЦО аОКЯТЧР) .

,

, -

. .

,

, а

-

.

, ..

, -

.

ТЧЭОr-type)

к

-

,

,

,

. з

., -

"

), КrШЮЧН (

.

, (Inter-type declaration) – ( (ЩШТЧЭМЮЭЬ, КНЯТМО .

,

,

, 5.

-

"

. ЛОПШrО (

– ). (aspect) –

4.

,

.

.

-

-

(РОЧОrТМ ЩrШРrКЦЦТЧР). 167

-

, . "

)

, (

"

,

.

,

,

,

, ,

.

, ,

. ,

.

, ,

, ,

,

,

.,

.

,

,

168

,

.

.

,

, Д53, 54Ж, , -

,

,

.

,

.

,

-

,

,

.

, -

, -

. ,

-

,

.

,

,

,

.

-

.

.

,

,

:

-

. , -

.

,

,

-

. .

.

("

.

")

,

. , SQL)

-

,

-

Д51Ж.

(

-

,

,

.

-

. а

ак

.

,

ка А

-

.

,

,

.

, ,

. .

,

.

.

,

. -

, .

,

,

.

-

. -

. .

.

,

.

,

,

,

,

, -

. 169

Т

А

:

1.

(

2.

. .).

.

3.

-

.

4. 5.

,

)

(

,

.

,

.

,

,

-

,

6.

. AЬЩОМЭ, І (Intensional Programming – ) , , SЦКХХЭКХФ ( AspectJ, Aspect++, Aspect, AspectC#, JAC). AspectJ (http://ecliЩЬО.ШrР/КЬЩОМЭУ/), , JAVA, , EМХТЩЬО (http://eclipse.org/aspectj/), SЮЧ ONE SЭЮНТШ BШrХКЧН JBЮТХНОr. : ++ AspОМЭ ++ (СЭЭЩ://ааа.КЬЩОМЭМ.ШrР), JAVAScript – AspectJS (http://www.aspectjs.com), PHP 5 – ЩСЩКЬЩОМЭ (СЭЭЩ://ЩСЩКЬЩОМЭ.ШrР/), # - Eos (http://www.cs. ЯТrРТЧТК.ОНЮ) .NET. .NET AЬЩОМЭ.NET Д96]. " " (аОКЯТЧР) : Xweaver (http://www.xweaver.org/Xweaver/), AspectXML (http://www.aspectxml.org), – DotSpect (.SPECT) (http://dotspect.tigris.org) – .NET. , AЬЩОМЭJ . # VB.NET. EМХТЩЬО AJDT (AЬЩОМЭJ DОЯОХШЩЦОЧЭ TШШХЬ for Eclipse) (http://www.ibm.com/developerworks/JAVA/library/j-ajdt/index.html) – ( ), AЬЩОМЭJ. к аА . , . " ", , ( , RPC, RMI, IDL .) 7.

170

,

.

,

. .

– -

.

, ,

,

.

,

-

, ,

за

4.4.

.

.

аз

.

.Т ,

за

.

-

а ,

за

-

,

,

,

-

(

). [36, 37, 97, 98]. ISO/IEC 11404–1996 LI (LКЧРЮКРО IЧНОЩОЧНОЧЭ).

-

,

. ,

Д10Ж.

:

-

1) , 2)

;

-

;

3) 4) 5)

; (L1, …, Ln) а

. за

з

.

к

CORBA,

, JAVA,

CORBA.

-

,

(ЬЭЮЛ, ЬФОХОЭШЧ).

;

CORBA

ЬЭЮЛ

Д46]:

171

1) IDL (Interface Definition Language), RMI (Remote Invocation Interface) API (Application Program Interface); 2) IDL ORB, ЬЭЮЛ . ( ++, JAVA, SЦКХХЭКХФ, VТЬЮКХ C++, COBOL, ADA-95) , ,

,

.

. .

CORBA ORB.



CORBA .

CORBA .

.

,

-

ORBA. ORBA

1) 2)

:

IDL, – stub, skeleton. IDL

, ,

.

APL

;

(

; 2) ,

,

(ЬФОХОЭШЧ)

,

skeleton

).

-

, :

: )

.

.

, (ЬЭЮЛ)

1)

172

, -

,

.

(stub

JAVA/RMI, , -

-

. 1) 2)

,

,

,

JAVA

-

,

,

-

Т

за

а

(OЩОЧ SвЬЭОЦ IЧЭОrМШЧЧОМЭТШЧ) ,

:

, .

(

.

OSI

OSI

. ,

.

.

,

,

OSI. .)

(VS.Net, CORBA, Eclipse, JAVA ,

, Д9–11, 30–32Ж.

. за

,

,

,

-

RPC/RMI),

, IBM-360

,

,

-

а

.

,

-

(

,

. -

. (

).

(

).

-

,

. – RPC, RMI, ORB (ЬЭЮЛ, ЬФОХОЭШЧ), ICШЧЭrКМЭ . .).

(ТЧЭОrМШЧЧОМЭТШЧ)

, CORBA, COM

.

. .

, ,

IDL (IЧЭОrПКМО DОПТЧТЭТШЧ LКЧРЮКРО, APL, SIDL , . Eclipse, MS.Net, , , GrТН О-science. . 173

за

.

.

,

.

,

,



-

=

= (Com, Int, Pr, Pro) – , Pr – , Pro – Int, Pro} – , , pro

. БDL, RDF

,

sys

env

,

; Com – (RPC, RMI, Icontract); Int, Pro, Icontract/IP Icontract/IP , .

,

,

(Icontract)

. (MS.NОЭ, CORBA, JAVA) EМХТЩЬО,

EМХТЩЬО,

OSI , .

,

-

SОrЯТМО МШЧЬЮЦОr

АCF.

: Visual Studio

Eclipse,

Eclipse.

.

-

.

.

MS.Net, CORBA, JAVA

174

-

.

,

,

VS.Net , IBM VSphere .

,

, Int – = {Env,

env

, DSL, IDL, API

. .

.

SОrЯТМО ЩrШЯТНОr

,

,

,

CORBA

pro

,

Д26, 27Ж

.

),

:

inter , inter

.

(

[37].

inter

,

.

. 2.15.

-

CO RB

Ja

va

A

S1

OR B

RM

S2

I

S3

RP

C MS

IBM

Ec

VS . Ne

reuse

assets

IL

t

lip se

. 2.15.

CORBA, IBM, VS.NОЭ, JAVA, .

,

,

EМХТЩЬО

, ,

1) Visual Studio.Net

. .

(

Eclipse – #

2) CORBA, JAVA, MS.NОЭ

, EМХТЩЬО.

.

-

4): EМХТЩЬО.

;

;

-

175

3) IBM VSЩСОrО, EМХТЩЬО

,

VSphere

. .

а ак

ка

(

за

CALL) .

),



,

,

( ,

.

.

, ,

.

,

, routines

.

FDT .)

-

,

. (GDT) ISO/IEC 11404–2007 General ( . -

(SЮЧ IBM, MТМrШЬШПЭЬ.NОЭ, CORBA, , JAVA ЬЭЮЛ, ЬФОХОЭШЧ , LКЧРЮКРО) EБE SОrЯОr, MS.NОЭ, IBM АОЛ SЩСОrО за

. Д37, 38]. а .

IBM, VS.Net, JAVA, CORBA 176

-

,

,

,

-

.

data types

DКЭК TвЩОЬ. ,

,

.

за

,

.

а

.). , MISL (MТМrШЬШПЭ IЧЭОrЦОНТКЭО , LТЧЮб, АТЧНШаЬ , . 2.16.

.

-

MS Visual Studio

JAVA RMI

-

я

( C,VC++,VC#, Java)

(DLL): CLR, CTS, CLS

ECLIPSE -

IBM Class Sphere

CORBA ORB

-

я

я

(

( C,VC++,VC#, SmallTalk, Java, К , Visual Basic, Ada-96)

,

/1,

, )

,

RPC,

G G R R

I

D D

. 2.16.

EМХТЩЬО,

,

,

.

,

, VS.NОЭ

за

(

.

-

,

-

JAVA . : VТЬЮКХ SЭЮНТШ

VТЬЮКХ SЭЮНТШ , . )

CORBA ( . а

,

EМХТЩЬО

-

) [97– 98].

за

Т , VТЬЮКХ SЭЮНТШ, CORBA, VSphere, Eclipse. , Visual Studio Eclipse C# VТЬЮКХ SЭЮНТШ, EМХТЩЬО Emonic VS.Net .

.

,

NAnt 177

,

EМХТЩЬО.

EМХТЩЬО

.build

,

(.resx).

EМХТЩЬО.

JAVA (

)

, MS.Net .

MS.NОЭ ;

VS.Net CORBA, ORB. IIOPNОЭ. MS.NОЭ ( CORBA. MS.NОЭ MКrЬСКХBвRОПOЛУОМЭ

ак

-

IIOPNet. VSphere VSphere. І

Eclipse

)

IDL

Skeleton CLS-

rmic,

-

CORBA JDK

JAVA

IDLMS.NОЭ

JAVA

Import File System . , dll VS.Net VТЬЮКХ Studio -

-

Eclipse

Vsphere

VS.Net. ка

C#

за

а

CORBA, JAVA Eclipse, WCF (Windows Communication Foundation) [97]. – IContract, CШЧЬЮЦОr Provider . Icontract (Service consumer ) (Service provider ). XML. , . WCF . : 1) , ; 2) (ТЧЭ, ПХШКЭ, ЬЭrТЧР .) ; 3) , ; 4) . БML SOAP :



178





(

(

1. 2.

,

"

",

. 2.17) ,

. "

.

").

-

.

3. 4.

;

5.

.

.

. 2.17.

к

4.5.

а

а

а -

,

,

. , .

. [88, 89]

[91].

179

. а

а

,

а

а

,

. "

PrШНЮМЭ LТЧОЬ SEI,

180

.

-

(SPS)

: SPS = , MPrO – ; MFM – ( ; KPV – ; PRG – ; RPC – , ; Mvar – ; MConfig – ( ); Mref – . Mvar . , , [4]. – , , : t O = G 1; G t 2, G t 3, G t 4 , G t1 – , (t=1); Gt2 – feature ЦШНОХ (t=2); Gt3 – t – (t=3); G 4 – (t=4). G t1 ( t = 2, 3), . – O , , . : = RC, In, ImC, Fim, , RC – , ; In – ; ImC – ; Fim ( ) – –

– . -

,

" .

,

.

-

) KPV; –

-

3. .

-

-

,

;

к

а

а

а

а

К

.

. ,

.

,

.

.

,

, .

,

,

.

, , (

,

,

(

,

.

а

,

, ,

-

. . ,

ж

4.6.

-

.

)

)

-



-

.

.

, -

,

,

,

.

,

. . 2, 3.

,

,

, , .



а

,

,

-

181

.

(

)

(

,

Mo –

,



;

,

= MШ, MТЧМ,

M

, ;

. ) ,

, P,

;

; Minc –



,

(ПОКЭЮЭО)

-

Mo,

;D–

-

,

.

-

.

, , (

,

)

.

,

, CM

,

, .

, ,

,

,

-

= ( 1, .

,

2

. ,

, .

,

,

.

)

N

-

(2001–2012)

[4, 5]. ,

182

,

,

, ,

,

Д3Ж.

,

.



.

D ,

,



-

-

. , а



Д7–9].

,

:

(

,

,

)

-

. = L, Mf, Ms, Mi, Md ,

L = (L1, L2 ., Lk) –

; Mf –

(КМЭТШЧЬ)

Msin, Msinout AЩЩХТМКЭТШЧ, (CШЦЦШЧ FКМТХТЭв SОrЯТМОЬ)

IDL

,

Mf = (O1, O 2., Or ,), ; Ms = (Msin, Msout, Msinout) – Msout -

,

, .; Mi – in

, -

,

,

.



,

-

(ЬЭЮЛ, ЬФОХОЭШЧ) Minc, Ms Mi , , AЩЩХТМКЭТШЧ. , . а



inout . -

out

; Md – IDL.

,

,

in, out, inout

-

,

,

.

-

183

,

,

=

1,

1,

(1970). ,

2,

Msfr Mi;

(M

1,

2,

Ф

.

), (Mgf, Msf = (Msf1, Msf2, Msfk), Mi, ; Mgf –

Ф– , ; Msf = (Msf1, Msf2 ,..., Msfr ) – , . .; Mi – Ф IDL; Minc – d = ( d1, d2 ., dk) –

RPC, RMI, IМШЧЭrКМЭ, IDL, API (ЬЭЮЛ, skeleton).

, . . Msf1 ,

-

.

,

-

Minc,

-

жк

4.7. CASE-c

,

d)

а

а ,

1. AspОМЭ 2. Component Object Model (COM) – ,

MТМrШЬШПЭ

. AМЭТЯОБ, OLE VТЬЮКХ BКЬТМ, C++, C#, .NET . SЮЧ MТМrШЬвЬЭОЦЬ (

3. JAVA Beans – ). 4. CORBA (IDL-

,

CLR (НОЩХШвЦОЧЭ)

6. IBM, VSphere IBM – АSDL 7. OBERON

(EJBs), J2EE. ,

.

(SCA)

CORBA

.

), – , -

,

. .

-

(

,

). 5. Microsoft Visual Studio.NET – Common Language Runtime (CLR), М

184

:



Aspect.

А

Case-

.

,

Aspect

.

,

JAVA .

, . : AspectC++, AspectC, AspectC#, ; JAC , JAVA, ; Weave.NET -

, ,

.NET FrКЦОаШrФ ,

#

. , SЦКХХTКХФ,

Д17Ж.

,

: ІP-

,

, IP

,

, . . . , ,

,

,

Д17Ж.

,

:

,



,

.

.

а а 5.

А

5.1. -

,

-

.

(CORBA, DCOM EJB, MS.NОЭ, IBM . SOA (SОrЯТМО-OrТОЧЭОН ArМСТЭОМЭЮrО), (БML, SOAP, АSDL .) Д18Ж. . аз –

, -

А

, )

JAVA. -

,

JAVA-

++,

JAVA.

URI, АSDL. SOAP,

-

185

БML-

,

HTTP

-



-

.

.

SOAP,

,

.

,

,

,

,

,

,

:

BТЧНТЧР

3.

TrКЧЬКМЭТШЧ,

4.

MОЬЬКРТЧР,

)

-

.

,

;

-

.

,

;

.

(

.

,

.

186

;

-

, NКЦТЧР,

1.

1) 2)

,

. CSОrЯ = дCSОrЯrж,

.

.

, -

-

;

,

,

-

.

,

2.

. .

:

, , -

-

.

,

1)

2)

,

,

,

,

,

,

,

3)

. -

(JAVA EE).

-

, . :

,

.. -

3) 4)

.

,

,

. 1) 2)

;

,

:

;

;

-

.

3)

БML.



-

:

:

,

SOAP, XML, WSDL; RDF; BPMN, -

АSDL.

– SOAP. .



-

є -

1)

-

,

.

,

,

.

. ,

-

, . .

-

;

2) ; 3)

-

. (

,

1)

,

,

,

,

, "

", ,

,

: ;

(CBSE),

2)

. .)

,

187

,

,

;

,

3)

;

4)

, –

),

,

,

, CORBA.

.

.

,

– ,

URL-

, RPC (RОЦШЭО PrШМОНЮrО CКХХ). ,

URL-

,

. CORBA

1) 2)

,

,

-

-

,

, (.NET, J2EE, . -

-

БML SOAАSDL (АОЛ SОrЯТМОЬ DОЬМrТЩЭТШЧ LКЧРЮКРО) БML,

3) SOAP (SТЦЩХО OЛУОМЭ AММОЬЬ PrШЭШМШХ) ; 4) SCA (Servise-CШЦЩШЧОЧЭ ArМСТЭОМЭЮrО) ; 5) UDDI (UЧТЯОrЬКХ DОЬМrТЩЭТШЧ, DТЬМШЯОrв КЧН IЧЭОРrКЭТШЧ) , , 188

,

,

.) :

-

-

XML-

,

.

.

.

, ,

-

.

-

. . (

-

.

; ;

,

-

,

-

® АОЛSЩСОrО ® IЧЭОРrКЭТШЧ DОЯОХШЩОr. SOA (SОrЯТЬО OrТОЧЭОН ArМСТЭОМЭЮrО), SCA (SОrЯТЬО-CШЦЩШЧОЧЭ ArМСТЭОМЭЮrО) UML. JAVA, АSDL, ™. SCA – а а , .

SCA

. common.ЬНШ.DКЭКOЛУОМЭ, , 5.2.

SCA .

1) 2)

J2EE

-

SCA ,

,

а

а а

к

а

(SOA) – ,

2) 3) 4)

-

, JMS, EЧЭОrЩrТЬО JAVABОКЧЬ . EЧЭОrЩrТЬО JAVABean, SCA . SCA , SDO JAVA , . АОЛSЩСОrО IЧЭОРrКЭТШЧ DОЯОХШЩОr EМХТЩЬО 3.0 SCA .

-

". 1)



JAVA -

EAR-

-

"

IBM -

SCA

WebSphere Process Server – . J2EE , ,

SCA

-

SOA

-

: (user integration) ; (application connectivity) (process integration) (information integration) . SOA

.

SOA

;

;

;

:

; 189

3) (

4)

; .).

, РrТН-

-

-

, (QЮКХТЭв ЬОrЯТМО). А3C

ЭТШЧЬ) IT1) 2) ;

4)

-

5) WSDL6)

: (ЩШХТМв ХКвОr)

;

.

);

-

(ЛЮЬТЧОЬЬ ЩrШМОЬЬ ХКвОr) ; (ЬОrЯТМО rОРТЬЭrв ХКвОr), ,

-

,

(ЭrКЧЬКМЭТШЧ ХКвОr)

8) 9)

(ЦКЧКРОЦОЧЭ ХКвОr) -

АSDL.

.

-

1)

:

(ЬОrЯТМО НОЬМrТЩЭТШЧ ХКвОr)

(ЬОМЮrТЭв ХКвОr) (

7)

, (FЮЧМ-

.

(ЭrКЧЬЩШrЭ ХКвОr) ; (ЬОrЯТМО МШЦЦЮЧТМКЭТШЧ ХКвОr)

;

3)

-

,

,

; : БML, SOAP, UDDI, SOA; , ;

2) , ; 3)

,

HTTP ,

.

L-

,

(

. 2.18)

.

WSDL, SOAP, XML.

190

,

. 2.18.

а

SOA.

1) ) 2) 3)

:

SOA АSDL SOAP ;

UDDI

, ,

5.3.

к

ак

(

;

, COM, CORBA, DBMS, .JNET SOA ,

,

SOA,

-

WCF

.NET FrКЦОаШrФ. DCOM. АCF

. .

.

Windows Communication Foundation (WCF) –

RОЦШЭТЧР

-

,

, ,

,

,

/ . DОЬМrТЩЭТШЧ LКЧРЮКРО) mex-ОЧНЩШТЧЭЬ (MОЭКНКЭК EбМСКЧРО EЧНЩШТЧЭЬ). " .

;

, , .NОЭ -

АSDL (АОЛ SОrЯТМО , " 191

,

. JКЯК/PвЭСШЧ/RЮЛв , . WCF MS.Net , ",

," ,

,

& MТМrШЬШПЭЬ

.

,

АCF "AННrОЬЬ : ,

АCF

TCP

. .;

. .

. -

. .

.

.

АCF

.NОЭ RОЦШЭТЧР

-

. : SОrЯТМО MШНОХ

АCF CСКЧЧОХ LКвОr.

.

WCF.

. HTTP, NОЭTМЩBТЧНТЧР

,

192

-

,

;

-

,

LКвОr

.

,

MS.Net. (ОЧНЩШТЧЭ),

(BКЬТМHЭЭЩBТЧНТЧР "CШЧЭrКМЭ" ,

,

.

ASP.NОЭ

"BТЧНТЧР"

,

-

.

,

Binding - CШЧЭrКМЭ", "ABC". "AННrОЬЬ"

-

,

GХШЛКХ BКЧФ.

,

. ..

,

VSIP

АCF,

(CСКЧЧОХ LКвОr) , : TCP, HЭЭЩ, NКЦОН PТЩОЬ . . , . , .

, -

АCF 1) . 2)

:

.

,

,

; – ТЧЭ, ЬЭrТЧР

.NОЭ

,

,

, SOAP

-

,

.,

– CЮЬЭШЦОrЬ, OrНОr ,

3)

,

. ,

.

., ;

,

. БML.

-

-

,

CLR

АSDL

БSD,

.

.

-

АCF ДMОЬЬКРОCШЧЭrКМЭЖ

ДSОrЯТМОCШЧЭrКМЭЖ, ДOЩОrКЭТШЧCШЧЭrКМЭЖ, ДFКЮХЭCШЧtract], ДDКЭКCШЧЭrКМЭЖ. VТЬЮКХ SЭЮНТШ ЬЯМЮЭТХ.ОбО, , АSDL . , , АCF CLR БML , АSDL. : .NET БML. .NET CLR, , , . БML БSD, , БML (БML IЧЬЭКЧМО). АCF . (2012). 5.4. CASEа JAVA EE JAVA Entreprise Edition (EE)

,

, -

. 193

-

(

)

-

URI (UЧТПТОН RОЬШЮrМО IНОЧЭТПТОr, ( )

),

. SOAP (SТЦЩХО OЛУОМЭ AММОЬЬ PrШЭШМШХ), XML, HTTP. ( JAVA EE . . , . , , SOAP, ,

, SOAP

, БML-

-

, (SOAP-СОКНОr; ,

(32.5, ЭrЮО),

,

-

,

АSDLSOAP-ОЧЯОХШЩО ) . .

), (ЦОЬЬКРО), -

.

.

. ,

SOAP.

-

(SOAP-body). , -

. MвSОrЯТМО.ЬШЦОMОЭСШН SOAP, -

, .

32.5 true



Nothing to see here



194

з к WSDL. , .

– JAVA, /

JSP.

,

POST. ( (ЬОrЯХОЭ ЦКЩЩТЧР). URL/ЬОrЯТМОЬ ,

Axis.

-

-

/ЬОrЯТМОЬ/Д

JAVA-

БML-

-

.

SOAPSOAP-

,

) ,

JAVA EE,

, -

GET

HTTP-

-

,

АSDLЖ?аЬНХ. ,

AЩКМСО

,

,

, AбТЬ Д17Ж. з к WSDL. АSDL (АОЛ SОrЯТМО DОПТЧТЭТШЧ LКЧРЮКРО) БML; EМХТЩЬО JAVA. 1) (бЬН:ЬЭrТЧР); 2) (бЬН:ТЧЭ, бЬН:ХШЧР, бЬН:ЬСШrЭ, бЬН:ТЧЭОРОr, бЬН:НОМТЦКХ), (бЬН:ПХШКЭ, бЬН:НШЮЛХО); 3) (бЬН:ЛШШХОan); 4) (бЬН:ЛКЬО64BТЧКrв, бЬН:СОбBТЧКrв); 5) (бЬН:ЭТЦО, бЬН:НКЭО, бЬН:Р); 6) (бЬН:КЧвSТЦЩХОTвЩО). (

,

АSDL.











. :

-

).

195





, . АSDLMвSОrЯТМО String someMethod(double arg0, boolean КrР1), , . ЬШЦОMОЭСШНRОqЮОЬЭ someMethodResponse – someMethod. ( аЬНХ:ЩШrЭTвЩО) SOAP ( аЬНХ:ЛТЧНТЧР), (). , . АSDL(), ( ХШМКЭТШЧ). а з за а . Eclipse , MS.NET WSDL. , , SOAPSOAP. AЩКМСО AбТЬ. JAVA: 1) (ЬОrЯТМО ХШМКЭШr) ; 2) ; 3) SOAP(SOAP ЛТЧНТЧР ЬЭЮЛ) – , SOAP; 4) ; 5) , ; . , MвSОrЯТМО MвSОrЯТМОSОrЯТМОLШМКЭШr, MвSОrЯiceService, MвSОrЯТМОSШКЩBТЧНТЧРSЭЮЛ, MвSОrЯТМО, MвSОrЯТМОPrШбв. MyService.someMethod : My Service svc = new MyServiceProxy (); Try {System.out.println (svc.someMethod(32.5, true)); } catch (Remote Exception e) { System.err.println("Error occurred while accessing web service"); e.printStackTrace(); }. , MS.NET .

196

аз Т

Т CASEа а .Т

З

Ж У

Т

Т

3 ,

Т

, . (MТМrШЬШПЭ VТЬЮКХ SЭЮНТШ, MSF, RКЭТШЧКХ Rose, COM, CORBA . .) ( , rОЮЬОЬ, КЬЬОЭЬ, . .) (LОРКМв ЬвЬЭОЦ). ., DSL, , ( ), , , . з з . DSL

,

,

(

CASE. .) .

,

,

. .

JAVA

,

,

(reuse, assets, artifacts, services

,

-

EМХТЩЬО, PrШЭОРО, VS.NОЭ, CORBA, 12207, .

. .),

.

.



-

. (

1) MDD, MDA

.;

2) ,

;

)(

. 3.1). :

197

,

3)

,

; 4)

;

5) 6) 7) 8)

,

; DSL

DSL TШШLЬ VS.NОЭ ; , ,

;

9) ;

,

10)

. f1

-

f2

;

DSL

f3

DSL; S

,Net, Corba; -

, IDL, ADL,

; -

,

- Basic – C++’; - MS.Net – Eclipse; - Corba – Eclipse C2

; ;

C6

PIM

C1 C4

C3

PSM

К

;

PSM

ы -

;

КМ: (Ci, Ik, Oj)

C2

-

s3

s2

(MDA)

-

(MDD) s1

;

C1

C4 C6

,

C2

C4

Ф , ,

. 3.1. 198

я СПС

,

; -

1.1. аз

к

к

а

MDD, MDA, MGD аз а

к

ж а

. FOD (Feature-Oriented Development) , MDD (Model Driven Development) MDA (Model Driven Architecture) . PIM (PХКЭПШrЦ IЧНОЩОЧНОЧЭ MШНОХ) PSM (PХКЭПШrЦ SЩОМТПТМ MШНОХЬ). MDA (MШНОХ DrТЯОЧ ArМСТЭОМЭЮrО) PIM PSM [91 – 94] . MDD. UML . MDD , , ( , JAVA - ). MDD (AЩЩХТМКЭТШЧ MШНОХ), , . MDD , " " PIM PSM. , , , . MDD . . , , , MDD. MDA. .

MDA

.

CАM, MDA –

,

. MDA – UML, БML, MOF.

, MDA

OMA, ORB, CORBA,

,

. MDA

. (

( . 3.2, ). . 3.2, ).

199

. 3.2.

DA -

(AЩЩХТМКЭТШЧ ЦШНОХ),

,

. 3.3,

( , )

"

,

"

.

-

" .

: , -

" PSM.

PIM

MDD

,

-

.

, , 200

. 3.3, )

.

. 3.3. -

,

MDD (

,

,

, ,

MDD

,

.

MDD (Vodel Domain Development).

-

,

:

;

;

-

. аз

1.2.

а

, , , , .). MDA, MDD, GDM, SOA . , . -за а PSM (Platform Specific Model)

-

( . а ,

,

.

,

,

.

PSM.

, .

,

,

.

ADO.NET. ,

,

.NET

,

-

-

. -

. -

,

-

-

.

,

.

PIM

CIM (Computation Independent Model), . 3.4, PIM UML.

(Platform Independent Model)

. 3.4.

CIM 201

.

, ,

. ,

-

,

,

CIM,

CIM

CIM UML. .

,

.

-

,

,

(PIM) , -

, PIM

MDA.

,

(

.

PIM

PSM

PSM .

.

)

-

MDA, . PIM PSM.

UML 1) 2) 3)

(ЦКrФТЧР), (transformation).

(ЦКЩЩТЧР),

.( ),

,

PIM .

,

PIM

(

(

).

,

(

,

.). -

PSM.

.

PIM

202

,

,

.

.

,

PSM

PIM,

PSM.

,

-

:

,

(ЦКrФ), . 3.5).

PIM .

-

PSM.

-

. 3.5.

. .

а

ка

VS.NОЭ,

ж

,

GDM

PrШЭОРО,

.

: ,

1) ;

,

2)

( ,

,

. .) :

1) 2) 3)

.

;

,

, ,

.

,

DSL TШШLЬ -

,

; -

,

.

-

. CASE-

. Make – . UЧТб

к

– Make, Apache Ant, Apache Maven ЦКФО.

,

-

. MКФОПТХО

-

203

Apache Ant – JAVA. Ant – JAVA

AЧЭ

БML

UNIБJAVA-

MКФО

MКФОПТХО. .

ЛЮТХН.бЦХ, Apache Maven – JAVA ,

БML.

,

JAVA-

AЩКМСО

.

Gradle – AЧЭ AЩКМСО MКЯОЧ, БML-

,

AЩКМСО GrШШЯв .

DSL

,

BPMN. к

1.4.

, AЧЭ , MКФО БML, -

(ЦКЧКРement) ЛЮТХН-

.

(build) AЩКМСО AЧЭ,

а

ISO/IEC 12207 ( ),

Ж ,

,

,

(

,

,

,

204

, -

,

, )

,

-

.

.

,

.

-

, (

), ,

, [16, 17, 39, 100 – 102].

,

, ,

,

.

MКФО,

.

-

.

,

-

12207-

. (

17

. ).

ISO/IEC (2007) ( . 3.1) -

I , 74

232 .

.

,

3.1.

5 8 4 17

35 25 14 74

135 70 27 232

-

.

. .

-

.

-

,

.

-

[3].

: OWL (Web Ontology Language), ODSD (Ontology-Driven Software Developmen), XML (Extensible Markup Language); – ODM (Organizational Domain Modeling), FODA (Feature-Oriented Domain Analysis), DSSA (Domain-Specific Software Architectures), DSL (Domain Specific Language), Eclipse-DSL Tools VS.Net, Protege . . , .



DSL PrШЭцРц, DSL TШШХ VS.NОЭ XML, , "

,

.

-

MBPN . .

,

-

. ".

-

, 205

, ISO/IEC 12207–2007

– DSL TШШХЬ VS.NОЭ к

аЖ

а

а

;

1) 2) 3) КМЭТЯТЭв),

а ISO/IEC

;

Д5Ж:

. (

(

)

,

(

-

PrШЭОРО Д4 –6].

–2007

,

.

.

, ISO/IEC 11404–2006. GDT (General Data Types).

. 3.6).



,

.



Ц Э

Э

. 3.6.

,

(

. 3.7).

, , (ааа.ЬаОЛШФ.МШЦ) Д2Ж. , , ISO/IEC 9126, ISO/IEC 11404 GDT 206

, , ,

,

.) , .),

,

. ( SАEBOK

(ISO/IEC 15404, .

Ц

-

. 3.7.

(2007–2011) . 4

2

,

АШrФПХШа FШЮЧНКЭТШЧ), DSL TШШХЬ VS.NОЭ, PrШЭцРц

(

) ,

, а

, . .

" .

,

.

, ,

-

Т

[91].

"

БML

А Т А

,

.

PrШЭцРц.

а а 2.

,

– WWF (Windows

.

DSL TШШХЬ VS.NОЭ

– -

.

,

-

. " (

),

. а. ,

-

.

"

-

207

. ,

,

.



,

.

-

, ,

,

:

-

,



.

,

.

.

,

,

1) ; 2) , . .

3)

; 4) .

,

, к

,

.

а ,

.

-

,

(

3)

. ); ;

;

, ,

7) ; 8) 208

;

,

;

,

,

,

.

,

4) 5) 6)

-

. а

1) 2)

-

;

,

,

2.1.

,

,

; ,

, 9)

(

,

, "

");

10) 11)

;

-

; "

; –

.

, –

.

(

, ,

).

,

.

,

,

1)

,

(

) , . .

3)

.

-

; (

;

-

. ,

,

. :

),



,

,

2)

, -

,

.

.

,

,

,

,

.

.

-

.

,

,

,

)

-

;

.

(

-

"

– .

– 209

а

2.2.

а –

,

.

,

(ПОКЭЮrО НТКРrКЦ)

-

DSL

. FDD. БML. –DSL 1) 2) 3)

.

DSL ; ;

;

:

DSL,

4)

.

,

1) 2)

; ;

3)

DSL ).

,

-

.

(

.

DSL

,

(НШЦКТЧ ОЧРТЧООrТЧР).

-

[103]: ODM (Organizational Domain Modeling, FODA (Feature-Oriented Domain Analysis, DSSA (Domain Specific Software Architectures). : Lucent, Family–Oriented Abstraction, Specification and Translation (FAST). ( ) . DSL : . . DSL . , .

1) 2) 3) 210

:

– "

;

"–

;

;

4)



;

5)

.

.

,

1)

2)

:

,

;

;

;

, . .

,

,

, ;

;

5)

;

6) 7) 8)

;

, .

9)



;

-

;

а

2.3. CвМL, OIL, OАL

-

,

;

3) 4)

-

, -

– OKBC, OCML, FХШРТМ). , БOL, SHOE

,

,

-

(OЧЭШХТЧРЮК, LOOM, , , UPML, RDF(S), DAML, . -

. (

)

,

, . БML (EбЭОЧЬТЛХО MКrФЮЩ LКЧРЮКРО) . БML . (

БML )

,

БML-

,

-

. 211

.

,

UML (

). (

.



MDA,

1).

Ontology-Driven Software Development. , .

"

" а

,

(

( PrШЭege

). PrШЭege,

,

аз

,

.

(template slot) ( )

, ,

(

-

.

,

,

. .)

,

-

,

.

, .

, :

, , .

БML, -

.

(own) :

,



,

, (min, max). .

-

,

, ,

. 212

.

,

), (

-

).

.

(

.

). ).



. , ,

)

( ( PrШЭege

-

-

,

,



(

).

.

,

.

а

а

-

,

,

.

-

1) 2)

,

3)

,

,

4)

;

,

, а

2.4.

к

;

.

Ж (ЩrШМОЬЬ),

-

T (Task) =( ,

1

,

,

за

(AМЭТШЧ) =(

:

;

,

,

2 1,

3 2),

,

,r,r = 1-35 – 1Х, l= 1-25 – 2, j= 1-14 – = ( , Х, У ) Х, l = 1-70 – У, j= 1-27 –

1

),

=1-5 .(

3 2, 2= 4

.

:

,

),



, ,

. (JAVA, C++, C#

БML, АSDL

.

.), ,

=(

.

-

DSL

HTML,

, DSL, DSL. , ,

-

) – 2У

1Х,

,

,

,

– ,r

DSL,

[101–102]. .

DSL. ,

2 1, 1= 1-8

;

, = 1-135 – .

;

,

.

,

.

213

. ,

.

а

а ак

к

Ж .

: ODM (Organization Domain Modeling), FODA (Feature-Oriented Domain Analysis). DSSA (Domain-Specific Software Architectures), , . . FODA. . (instances). FDL (FОКЭЮre Definition Language), : 1) , ; 2) (optional) (mandatory) , all(); 3) (exclusive – ) one-of (); 4) (НОПКЮХЭ). FDL XMI Metadata (XML Metadata Information Exchange format) UML . -

. а

Ж

а

. DSL, PЫoЭege Eclipse DSL.

. DSL Tools VS

c . .

. 3.8. , ,

. .

XML-

. Protege. .

214

-

. 3.8.

Т к

а

Ж

з к XML

XML. .

БML. ( XML .