243 97 4MB
Russian Pages [285]
.
.
А
А
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 .