close

Вход

Забыли?

вход по аккаунту

?

Факты и заблуждения профессионального программирования

код для вставкиСкачать
?????? ?????
????? ? ??????????? ????????????????? ????????????????
???????????? «??????????»
(812) 3245353, (495) 9458100
www.symbol.ru
Категория: методология
Уровень подготовки читателей: средний
ADDISONWESLEY
?????????? ????? Computing Trends.
??????? ????? ??????? ????, ????
???, ??? ????? ??? ????? ??????
????????? ?? ???????? ?????????
??????? ?????? ????????. ?? ??
?????? ?? ??????? ?? ???????? ??
????????? ??????????, ?? ? ?????
?????? ?????, ???? ??? ????? ???
????????. ????? ????????? ????
???? ?????????? ? ????? ?????
????? ??, ???????? ? ???, ??? ??????
??? ??????? ? ???????? Communica
tions of ACM ? IEEE Software. ??????
????? ????? ????????? ?????????
The Software Practitioner ? ????? ??
??????? ?? ????????? ? ????????
????, ??????????? ?????????? ??.
???????? ??????????? ????????? ? ??????? ??????????. ?????
?????? ????? ?? ?????????????? ??, ??? ???????? ?? ??????? ?????
????? ???????, ?????? ? ????? ???? ?????????????? ?????????
????????? ???????????? ?????? ????? ????????? ?????????.
?? ????????????????? ??????? ????????? ?? ???? ???????
???? ????????? ?????? ? ???????? ?? ?????? ???????????. ???
?? ?????? ?????? ? ???????? ?? ??????????? ????? ? ???? ????
? ?????? ?????.
????? ?????? ?? ??? ????????????? ???????? ? ??????? ??????
????????? ????????. ????? «????? ? ??????????? ?????????????
???? ????????????????», ?? ????????? ?? ???? ??? ???????:«??
??, ??? ?? ? ????? ?? ?????» ? «??????? ??? ? ? ????? ???? ????».
?????? ????? ?? ???????? ????????. ?????? ???? ? ?????? ??
????????? ? ????? ?????????????? ????????? ?????? ? ?????
??????, ?? ??????????. ? ?????????? ?? ??? ?? ???????????, ????
?????? ?????? ????? ??????? ??? ?? ????. ?????????? ?? ??????
???????? ??? ?????????? ?? ???????, ?????? ????? ??????????
???????? ???????? ?????? ????????????? ????????????????.
??? ????? ? ??????????? ????????? ?? ??????????????, ??
????? ??????? ? ??? ??? ??????????? ???, ?? ?????????? ?? ????
????? ? ????!
???????????
???? ?????
????????
?????
??????????
?????????????
?????
????????
?????
? ????????????????
?.??????????
????????????????
??????????
????????????
???????????
???????, ??????
????????????
??????:
????????
???????
? ???????
Роберт Гласс
Robert_Glass_fakti_print.p65 12.11.2007, 14:421
?? ???????? ????? ????????????? «??????????» ? ????????????
????? «Books.Ru ? ????? ??????» ???????????? ????????? ??????
????????? ??????? ????? ? ?????? ISBN 5932860928, ????????
«????? ? ??????????? ????????????????? ????????????????» ?
??????? ? ???????????????? «Books.Ru ? ????? ??????». ???? ??
???????? ?????? ???? ????????? ?????? ???????, ?? ????????
????????????? ???????????????? ? ???????????????? ??????????
????????? ?? ?????? ?????????? ?????. ??? ?????????? ???????
?????? ????, ? ????? ???????? ???????????? «??????????»
(piracy@symbol.ru), ??? ?????? ?? ???????? ?????? ????. Facts and Fallacies
of Software Engineering
Robert L. Glass
????? ? ??????????? ????????????????? ???????????????? ?????? ?????
?????????????? ???????
2008
????? «???????????????»
?????? ?????
????? ? ??????????? ????????????????? ????????????????
??????? ?.??????????? ??????? ???????? ?.???????
???. ????????? ?.????????
??????????? ???????? ?.??????????
??????? ???????? ?.????????
???????? ?.??????
????????? ?.????????
??????? ?.????????
????? ?.
????? ? ??????????? ????????????????? ????????????????.? ???. ? ????.?
???.: ??????(????, 2007.? 240 ?., ??.
ISBN 13: 978(5(93286(092(2
ISBN 10: 5(93286(092(8
?????, ??????? ???????? ???? ?????? ? ????????? ??, ???????? ???? ???? ??
??????, ????? ? ??????????????, ?????????? 55 ?????? ? 10 ???????????, ??(
????????? ? ???????????, ?????????? ?????, ????????, ????????????? ? ????(
??????? ? ????? ?????????? ??. ????????? ?? ??? ?????? ????????, ? ??????,
????????, ????? ????????. ???????? ???????? ????????? ??????????? ??? ????(
??? ???????? ??????????? ????????? ??, ????????????? ???? ????????? ???(
?????, ??????? ????????? ????? ???????? ?? ????????, ? ????????????? ???(
???? ? ????????????, ??? ??????? ???????? ???????? ?????????.
?????????? ???????? ????? ????????? ? ?? ???, ??? ????????? ????????????
?????????, ?? ?????????????.
ISBN 10: 5932860928 ISBN 13: 9785932860922
ISBN 0321117425 (????)
© ???????????? ??????(????, 2007
Authorized translation of the English edition © 2004 Pearson Education, Inc. This transla(
tion is published and sold by permission of Pearson Education, Inc., the owner of all rights
to publish and sell the same.
??? ????? ?? ?????? ??????? ???????? ????????????????? ??, ??????? ????? ?? ?????? ??? ?????????
??????????????? ? ????? ?????. ??? ???????? ????? ??? ?????????????????? ???????? ?????, ???????(
???? ? ????????? ???????, ???????? ?????????????? ??????????????? ????. ???????????? «??????(????».199034,?????(?????????,16 ?????,7,
???.(812) 324(5353, edit@symbol.ru. ???????? ?? N 000054 ?? 25.12.98.
????????? ?????? ? ?????????????? ????????????? ????????? ?? 005(93, ??? 2; 953000 ? ????? ? ???????.
????????? ? ?????? 09.11.2007. ?????? 70?90 1
/16
. ?????? ????????. ????? 15 ???.?. ????? 3000 ???. ????? N
?????????? ? ??????? ???????????? ? ??? «?????????? «?????»
199034, ?????(?????????, 9 ?????, 12.
??? ????? ????????? ??? ??????????????, ??????? ?????? ????? ?????????? ????????????????, ? ??? ?????????, ??????? ???????????? ??? ???????.
??????????
??????????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
?? ??????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
?????????????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
???????????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
????? I 55 ??????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
????????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
????? 1 ? ???????????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
???????????? ?????? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
???? 1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
???? 2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
???? 3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
???? 4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
??????????? ? ??????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
???? 5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
???? 6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
???? 7
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
??????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
???? 8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
???? 9
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
???? 10
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
???? 11
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
???? 12
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
56
???? 13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
58
???? 14
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
62
8 ??????????
????????? ?????????????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
???? 15
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
???? 16
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
66
???? 17
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
???? 18
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
???? 19
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
74
???? 20
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
78
?????????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
81
???? 21
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
81
???? 22
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
83
????? 2 ? ????????? ?????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
88
??????????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
91
???? 23
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
91
???? 24
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
95
???? 25
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
97
??????????????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
???? 26
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
???? 27
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
104
???? 28
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
107
???????????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
???? 29
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
???? 30
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
?????????? ??????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
???? 31
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
????????????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
???? 32
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
???? 33
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
123
???? 34
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
126
???? 35
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
130
???? 36
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
????????? ? ??????????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
???? 37
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
???? 38
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
139
???? 39
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
???? 40
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
?????????? 9
?????????????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
???? 41
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
???? 42
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
149
???? 43
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
???? 44
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
???? 45
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
158
????? 3 ? ????????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
160
????????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
162
???? 46
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
162
???? 47
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
166
??????????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
168
???? 48
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
168
???? 49
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
170
???? 50
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
???? 51
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
172
?????????????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
???? 52
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
???? 53
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
???? 54
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
180
????? 4 ? ??????? ?????????????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
182
???? 55
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
183
????? II 5+5 ???????????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
187
????? 5 ? ???????????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
??????????? 1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
??????????? 2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
195
???????????? ??????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
197
??????????? 3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
197
??????????? ? ??????????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
199
??????????? 4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
199
??????????? 5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
202
??????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
205
??????????? 6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
205
10 ??????????
????? 6 ? ????????? ?????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
208
????????????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
208
??????????? 7
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
208
??????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
212
??????????? 8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
212
?????????????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
215
??????????? 9
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
215
????? 7 ?? ???????????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
219
??????????? 10
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
219
??????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
223
?????????? ?????????
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
226
?? ??????
????? ?. ????? ?????? ? ?????????????? ????? ??? ????? 45 ???, ? ?????
?? ? ????????? ??????????? ??????? ?????? ? ??????????????? ???:
??????????? (? North American Aviation Inc.) ? 1954 ?? 1957 ?., ??? ???? ???
????? ?????????? ????? ?? ????????? ???????? ????????? ??.
????? ??????:???????????? ?? ??????? ??? ? ?????????? ???????:
???????? ????????? (Aerojet:General Corp. ? 1957?1965 ??. ? Boeing Co.
? 1965?1970 ? 1972?1982 ??.). ?? ??????? ????? ??? ?????? ???????????
? ???????? ??????????? ???????????????? ???????, ? ???????? ????????
?????????? ???????????. ??????????? ? ??????????????? ??????? ? ?? ???:
?? ???? ????? ?????????? ???? ??? ???? ??????????? ???????????
????? ???????????? ???????. ?? ?????? ? ??????? ?????????????? ?????:
?? ? ???????????????? ??????? ?????? ??? ??????. ? ????? ????????
???????? ??? ?????????????, ? ??????????? ?????????! ??????? ????, ????????? ?? ?? ????, ??????????? ? ???????????????
???????, ??????? ? ???, ??? ??? ????? ????????? ??????????? ??????? ??:
??????? ??, ?? ???? ?????????? ?? ?????? ?? ?????. ?? ??????????? ???:
????? ? ???? ???????????? ???????????, ? ??? ?????? ???????? ?? ??? ????:
??? ??????? ???????:
1.??? ??????????? ?????? ?????????? ??????? ? ?????????? ? ??:
???????????, ?? 2.??? ?????????????? ??? ????????? ? ? ??? ??????????? ? ??????
????????????? ????? (!) ? ?????????????? ???????????.
????? ??? ??????????? ???????????? ????? ?? ????????? ???????? ??:
?????? ??????????? ???????, ?? ?????????? ????????? ??????, ???????
?? ??????? ? ????????????????? ??????. ?? ????? ???? ?????? ??
????????? ?? ?????????? ???????????? ??????? (1982?1987) ? ???? ???
(1987?1988) ?????????? ? (????? ?????????????) ????????? ?????????
?
12 ?? ??????
?? (Software Engineering Institute ? SEI). (?? ?????, ??????? ?????, ?? ??? ??:
?? (1970?1972) ????????? ?????????????? ???????????????? ??????? ?
????????????? ????????????.)
?? ??? ???? ??????? ? ????????????????? ?????? ????? ?????? ???
???? ??????? ????. ??? ????? ? ????????? ????????? ? ??????? ???????
?????????? ???????????? ???????????, ?? ?????? ??? ? ???????? ???????
????????. ???????, ????? ???????? ???????? ?? ??? ?????????, ?? ??????
??????? ????????? ?? ??? ????. ???????????? ???? ????? ?????????, ??
????? ?????? ?????? ????????? ????????????? ? ???????????? ???????
?????????????? ???????, ?????????? ???? ????? ??, ??? ?? ????? ??????
??? «?????????????? ????????».
? ?? ????? ????????? ????????. ?????? ?? ??? ???? (????? 20) ? ??????
(????? 75) ????????? ????, ??? ??????? ???????? ? ?????????????? ???:
????, ????????? ???????, ? ??? ???????? ? ????????? ?? ?? ?? ???, ????:
??? ????? ???????????? ????????. (??? ??????, ?????????, ??????????:
???, ? ?????? ??? ? ???????????? ???? ?????????? ?????????? ? ???????:
??????? ??????? ??? ????????? ? ???????? ?????.) ????? ?????? ? ?????:
?? ????????, ?? ????????????????? ??? ?? ?????????????, ??? ? ?? ??????
???????????? ???????????, ?????????? ? ???????? ??????. ????? ?? ??:
?????? ? ??? ????????? «The Software Practitioner», ??? ? ????????? ?????
????????????? ?????? «Journal of Systems and Software», ??????? ?? ?????:
??????? ????? ??? ??? ???????????? Elsevier (?????? ?? ??? ???????? ??:
??????). ? ???????, ??????? ?? ????? ? ????? ????????, ??? «Communica:
tions of the ACM, IEEE Software» ? ACM SIGMIS?s «DATA BASE». ???????????
??? ????? ???????? ? ?????????, ?? ???????? ?? ???? ???????? ????????
(? ????????? ? ?????????) ? ?????????????? ?????.
????? ?? ??????? ??? ???????, ???? ????? ??? ??? ? ????, ????? ??:
????? ?????? ??????????????? ? 1995 ? ???????? ??????????? ?????:
????? ???????? ??? ???????? ??????? Ph.D, ? ? 1999 ?. ?? ??? ?????? ???:
??? ???????????????? ?????????? ?????????????? ??????? ACM (Asso:
ciation for Computing Machinery).
?????????????
???? ?????? (Paul Becker),
?????? ??????????? ? Addison:Wesley, ??????? ???????????? ?????
??? ??? ????? ?? ????? ?????????????? ?? ??????????????, ?? ??, ???
?? ????? ? ???? ??? ??? ????.
????? ??????? (Karl Wiegers),
?? ??? ????? ? ???? ??????????????? ??????, ??????? ??? ????? ??????:
??, ? ?? ??? ??????? ?????? ?? ?????????????? ? ????????? ??????
?? ??, ??? ? ???????.
??????? ???? (James Bach), ???? ?????? (Vic Basili), ????? ????? (Dave
Card), ??? ?????? (Al Davis), ???? ??????? (Tom DeMarco), ????? ????????
(Yaacov Fenster), ???? ???????? ???????? (Shari Lawrence Pfleeger), ????:
?? ??????? (Dennis Taylor) ? ?????? ???????? (Scott Woodfield) ?? ?????:
????? ?????? ? ?????? ?????????? ?????? ?? ????????? ??????????
??????.
???????????
???? ? ?????, ??? ??? ????? ?????????? ???????? ??? ????? ? ???????
??? ?? ??????? ???? «201 Principles of Software Development»,
1
?? ????:
?? ????????????. ??? ???? ?? ?????? ??????? ? ????? ???????, ? ??? ?????
???????? ????????? ??????? ??????????? ????. ? ????? ??? ???????? ??:
?? ???????? ????????, ? ???????????? ? ???? ???? ???????? ?????, ???????
????? ?? ???????? ??????????? ? ????? ?? ????? ?????? ????? ??????:
??? «Facts and Fallacies of Software Engineering» ? ??? ? ??????? ?????????:
?????? ??? ???????????? ???????? ??? ??????? ????? (? ??? ?????? ??
????????!).
????????? ?? ?????????? ?????? ?? ??, ??? ?????????? ????????????
? ????? XIX ????. ????? ???????, ??? ????? ??? ????? ??????? ?????? ???:
???????, ????????? ????????? ????? ? ??????????????? ??????, ??? ???:
??????? ?????, ??????? ?????????? ????????? ????? ? ????? ??????
? ?????. ???? ?? ?? ????????? ?? ??????, ??? ??????? ????????????? ??:
??? ??????? ????????????? ????????. ?? ????? ??? ??????? ? ???????
????????? ?? ????????? ?????????????, ??????? ????????, ???????????
????????, ???????? ?????, ???????????? ??????????, ????????? ???????:
?????, ??????? ??????????? ? ?.?. ? ?.?. ???????? ???????? ????????? ?????:
??, ??? ?? ???????? ???????? ????????, ? ???? ?? ???? ???? ?????? ? ???:
?????? ??? ???? ???? ????????. ???? ?? ????? ????????? ???? ?? ?????
???????? ? ????? ???????? ??? ?????? ??????? ?????: ? ???? ??????.
??? ??? ????? ??? ???????? ??? ??????????? ??? ??????????? ? ???:
??????????? ???????????, ????????? ? ??. ? ? ????????, ??? ?? ???????
????? ????? ???? ??????? ? ???? ???????, ??????? ??? ???? ?? ?????
??????,???????? ?? ??????? ???? ??????. ????????? ???? ??????, ???????
1
Davis, A.M., «201 Principles of Software Development», McGraw:Hill, 1995.
?
??????????? 15
????? ????????? ?????,? ??? ????? ?? ??? ???????., ? ??? ??? ??, ???? ? ????:
????????, ????????????? ??????? ??? ???????? ???????? ????? ???????,
? ??????? ?? ????? ? ???????.
???? ????????, ?? ???? ????????? ?????????? 55 ??????, ???????????
? ????? I. ????????? ?? ??? ???????? ? ?????? ???????????? ? ??? ??????:
????? ????????????? «?????? ????????». ??? ?? ???, ??? ??????????
??????????????? ??????, ???????????? ?? ????????? ???? ?????, ? ????
???? ???????? ??????????? ????, ?? ? ???????? ?? ???? ????????????. ??
?????? ?? ??????, ??? ??????? ?? ???? ??????????, ????? ???????? ????:
??, ? ?????? ??????? ???? ???????, ??????? ?? ??????. ?????? ?????, ??:
????? ? ???? ??? ???? ? ??? ???????? ????? ?? ????? ?????? ???? ????
??????, ??????????? ???????????, ????????? ? ??. ?? ?? ???, ??? ???????:
?? ??????? ??????, ???? ?????? ?? ?????? ??????????? ??????. ??????
?? ???? ???? ??? ?????????? ????? ???????? ????????. ??? ???? ?????? ?
??????????????. ?????? ???? ??????, ??? ?? ?????? ?? ???? ??????. ? ????
???? ? ???? ?????????? ??????? ????? ??????? ? ?????? ?????? ? ???????
????? ??????? ? ?????????. ???????? ??? ????, ? ?? ? ??????? ????????:
???? ?????????? ? ???? ???????. ???????????? ??? ??????? ? ?? ???????:
????, ???? ????? ????????? ??? ??? ???????? ??? ?????????? ? ????? ?????:
??, ????? ???????? ??? ? ???? ????????? ??????? ????????? ? ?????????
? ?????????? ??.
???? ?. ?????
????? 2002 ?.
?????????? ??????:
? ??????? ????????? ??? ?????? ??????? ??? ?????? ??????????. ???:????
??? ?????????? ??????? ?????????. ?? ??? ??? ??????? ???????????
??????. (? ????????????? ???????! ??????? ?????!) ??????? ???? ?? ???,
?? ??????: «?? ???????????? ???? ?? ??????????, ? ? ??? ?????? ?????? ??:
?? ????????? ?? ????!» ??? ???? ???????, ??? ?? ??????????? ?? ?????????
????????? ??????? ???????, ? ?????????? ???????? ?? ????????????, ???
??????:??????, ?? ?????????? ???????.
??? ??? ??????, ?????? ????? ????????????? ? ???????????? ???????,
??? ??, ????? ????? ???????? ??? ??, ? ? ??????????? ?? ????. ???????!
?????? ?. ?????
???? 2002 ?.
I
55 ??????
????????
?? ????? ???????????? ????? ??????? ?????? ? ??????????? ?? ?????:
?? ?????????? ????????????????. ?????? ??????????, ?? ?????? ??? ??????? ?????? ?????? ? ????????
?? ?? ????? ?????????? ?? ????? ?????, ? ????? ? ???????. ?? ???? ???:???
????????? ? ???? ?????? ? ????????????. ??? ??????????????. ? ????
????? ???????? ??????, ??????? ????? ? ?? ??????. ?? ????? ???? ??? ??:
??? ? ?????? ???? ?????. ?? ????, ??? ?? ??????? ????? ? ???????? ??, ??
??????? ?? ??? ??? ???? ??????? ?? ?????. ? ???:??? ?? ????, ??? ?? ??:
?????? ??? ?????????, ???????? ???????. ??? ??? ?? ? ?????????? ??????? ????, ??????? ??????? ??, ???????
??. ??, ??????, ?????? ????? ? ????? ????? ??? ?? ?? ?????? ?????, ????:
??? ????? ????????, ????, ???????, ??? ????? ???????. ?? ??? ?? ? ???:
?? ??????? ???, ??? ????????? ??????????? ???????????. ?????????
?? ??? ????????? ??????? ?????? ? ??????, ??? ?????????? ????? ??????
?????, ????????? ??????????? ?? ?????? ? ??? ?? ??????. ??? ??? ? ????????? ???? ????? ?????? ?????, ??? ???????????? ?????:
???? ??. ?????????????? ??? ??????????? ???????????, ??? ? ?? ?????:
????. ????????. ?????????????. ?????????????. ? ????? ??? ??????
??????????, ??? ? ???? ????? ???????? ???:?????? ??? ???? ?? ???. ????????????? ????? ????? ?????????? ???????? ?? ?????????? ????:
«Fifty:Five Frequently Forgotten Fundamental Facts (and a Few Fallacies) about
Software Engineering» (????????? ???? ????? ?????????? ???????????????
?????? (? ????????? ???????????) ?? ??????? ?????????? ???????????:
?????). ??? ????, ???????, ???????? ??????? ????????????? (?? ???????
????, ??? ????????? ??, ??? ??????? ?? ??????????????? ?????). ??? ???
??????? ????? ??????? ??????. ?? ? ???? ????????? ???????????? ? ???:
?? ?????? ?? ???????? «Facts and Fallacies of Software Engineering» (?????
?
20 ????????
? ??????????? ?? ??????? ?????????? ????????????????). ?????, ????,
?? ?????? ?? ??? ????! ? ??????? ????????? ???????? ??????? ????????, ????????? ??? ? «The
F:Book» (F:?????), ????? ???????? ???????? ?? ??????????? (???????:
???) ????? «F». ?? ???????? ??? ??????????? ?? ???????, ? ?, ????????,
?????? ???????? ??? ???????. ????? «F», ????????, ???????????? «???????»
?????
1
??????????? ???????? (????????? ????????? ?? ??? ??????? ???:
?? «H» ? «D», ?? «F», ???????, ???????? ? ???? ?????? ??????????? ?????
??????). ??? ??? ??? ?? «F:?????». (???? ?? ?????? ???????????? ????, ??:
????????? ????????? ????????????, ?????????? «Dragon Book»
2
?? ???
???????????? ???????, ??? ????:?? ?????? ? ?????? (??? ????? ???? ???
???????) ????????? ?? ??????? ??????????? ???????, ?? ?????? ??????:
???????? ????? ?? ??????? ??? ? ?????). ? ???? ?????? ???? ???????, ??? ?????? ?????, ???????????? ? ?????
«F», ????? ???? ????? ? ?????? ??????? ???? ????? ? ????????? ????? ??:
??????. ????? 55 ????, ???????, ????? ???? ???????, ??????? ????????:
???? ???, ????? ???????? ??????????? ? ????????. (????? ?? ??????, ???
????? 201 ? ???????? ???????? ????? ????? ?????? ? 201 ???????? ?????:
????? ???????????????? ????????? ????????? ?? ????????.) ?? ??? ??:
??????? F:????? ?????????? ?????????. ????? ?????????? (frequently forgotten). ?????? ??? ??? ???????????
??? ??????????? ?? ???. ????? ????? ??????, ? ??????? ?? ??????? ???:
????: «?? ??, ?????:?????», ? ????? ???????? ? ???, ?????? ?? ?????? ??
?????????? ? ???. ??????????????? (fundamental). ??? ????? ???? ??????? ??????? ??:
????? ??????, ??? ??? ???????? ?????? ????????? ? ???????????????
?????. ????? ?? ???? ?????? ?????? ?? ???, ??? ?? ????? ?? ????? ?????
?????????. ???? ?? ?? ??? ??? ?? ??????, ????? ?? ?????????? ?????? ???
?????, ? ?????? ????? ????? ??????? ???????, ?? ??????? ????? ??? ???????,
?? ????? ???, ??? ? ???? ????????? ?????? ?? ??????? (? ? ???? ??????) ??:
??? ??????????????? ?????? ?? ??????? ?????????? ????????????????. ????? (facts). ???????, ?? ???, ???????, ????? ??????? ????? ? ?????:
???. ?? ?????? ??????????? ?? ?? ????? ???????, ??????? ? ?????? ?????.
1
F:word ?????????? ?? ?????? ?????, ???????????? ? ????? F, ?? ? ?????? ?????,
?? ????????????? ? ???????????? ? ????????? ????????.? ??????. ?????.
2
?.???, ?.????, ??.?.?????? «???????????: ????????, ?????????? ? ??????:
?????», ???????, 2001 ?.
???????? 21
?? ?????? ???? ??????? ???????????? ?????? ????????? ?? ???. ? ?????
???????, ??? ??? ??? ????????????? ????????????????, ?? ??? ?? ????????,
??? ?? ?????? ?????? ??? ??. ????????? ??????????? (few fallacies). ? ?? ????????? ?? ????, ?????
???????? ????? ???????? ????????? «????????? ?????» ?????????????:
???! ?????, ? ?????? ????????, ??? ?? ????, ??????? ? ???? ???????????:
??, ?????? ????? ??????? ???????. ?? ??????????????, ???, ????? ??? ?????,
?? ?????? ???????? ????????????, ? ?? ????????? ???? ? ???? ?????????
???????????? ?????? ???????????? ?????? ? ???, ??? ? ??????? ?????:
?? ? ?????????????. ? ??? ????? ??????? ?? ?????? ?? ????????????? ????????????? ?????,
???? ?? ???? ?????? ???????, ??? ????????? ?? ??? ????????. ? ????
?????? ?? ??????????? ?????? ????, ????? ?????????? ???????? ?????:??
???? ?????? ????????. ?????? ????? ? ???? ???????? ?????????????. ??
????????? ????? ? ??????????? ????? ??????? ??? ? ??? ??, ??? ???????:
??? ??? ???? (? ?????? ??? ??? ?????). ??? ??? ???? ?? ? ???, ??? ??? ???:
?? ??????, ? ? ???, ??? ??? ????????. ????? ? ???? ??????????? ??? ?? ?????, ? ??????? ?????? ???? ????.
????? II, ??????????? ????????????, ???????????? ????????? ?????????.
???? ???????? ??????????? ? ???, ????? ??????? ????????? ??? ????????
??? ??? 55 ????? ?????????? ??????????????? ?????? ? ??????????,
??????? ?? ??? ??????? ? ????????? ??????? ?? ??????????????? ?????:
??? ?????. ????????? ??????????????, ? ?????? ????????, ??? ?????????
?? ???? ?????? ?????? ?? ??????. ? ?????????? ?? ??? ?????? ????????????. ??? ?? ???? ??????, ???:
??? ? ??? ???? ?? ???????. ?????? ???, ??:?????, ????? ????????:
??????? ????????. ? ??????????? ?? ??? ?????????? ?????? ??????????????, ??, ????:
??, ????? ?? ??????????????? ??? ? ????? ?????????. ? ?????? ?????????????, ?? ?? ?? ???????? ? ??????? ??????
? ???, ??? (? ????? ?? ??????) ?????? ????????, ??????? ??? ???:
?????????. ? ????? ??????, ????????, ?? ???????????? ???????? ?????????:
???, ? ? ??? ???????? ?????. ? ???? ?????? ????? ??????? ???????????? ???????. ? ??? ???? ??????? ???????, ?? ????????? ??????????? ?????????:
?? ??, ??? ?????? ?? ?????????? ????????. 22 ????????
??? ?? ???? ? ????? 55, ??? ??? ????? ?) ????? ??????? ? ????????? ????:
????? ? ?) ????? ?????????????? ? ?????? ?????????? ? ????????? ????:
??????? (????????, «?????? ????????????? ?? ??????????? ?? ? ????»).
?? ???? ???????????????? ????? ?? ??????????, ? ??????????? ??? ???:
???????? ????????? ? ??? ??????????? ??????. ???????? ????????, ??? ?????? ????? ????????? ???????? ?????????.
????? ??? ???? ????? ? ??? ???????????, ?? ?????? ??????????? ?????
? ??????? ???????? ? ????????, ??????? ?? ????????. ? ??????? ?????
???????? ?????? ? ???? ????? ?????? ?????????? ?? ????, ????????? ??
??? ? ????, ? ????? ????, ?? ???????, ? ??? ???? ?????? ?????????. ??? ??? ?????????? ????????????, ??????? ? ???????, ???????, ????
?? ???????? ?????????? ? ??????? ???????, ?????? ??? ????? ????????
??? ?????, ? ????? ???????? ? ???? ? ?????? ????????????. (? ?????? ?????
???? ??? ?? ????? ????????? ?????????, ??????? ????? ? ???? ??????.) ? ??:
????? ? ??????? ?????????? ???????????????? ??? ????? 45 ???, ? ?????:
??? ? ???????? ???????????? ??????????? ? ?????????????. ? ???????
25 ???? ? ????? 75 ???????????????? ?????? ?? ??? ????. ? ????????? ???:
??????? ? ???? ?????????? ???????? ???????: ? Communications of the
ACM? ??????? «The Practical Programmer» (???????????? ???????????),
? IEEE Software ? «The Loyal Opposition» (???????? ?????????) ? ? SIGMIS DA+
TABASE ???????????? ACM? «Through a Glass, Darkly» (????? ??????? ??????).
? ???????? ??? ???????, ???????????????? ?????? ???????????? ?????:
???????? ??????, ? ? ????, ? ????????????? ???? ????, ???? ???? «????:
???? ?????? ????????????? ????????????????»! ?? ?????? ????????:
???? ?? ????, ???? ???? ???????? ??????????? ?, ??? ? ?????? ?????, ????:
???? ???????? ????????? «????????? ?????». ? ????? ?? ??? ???:??? ???????? ?? ?????? ???? ??????. ? ??? ???????,
??? ????????? ???????? ?? ?? ???????? ????????????????? ??? ?????
???????. ?? ???? ???????? ? ???, ??????? ?? ??? ????????????? ??????, ??
????? ??? ??? ???????? ??? ?? ??????? ???????????? ? ????? ????????. ??:
??????? ??????????, ??????????? ??????????????, ??????????, ??? ????
????? ??? ??????, ???? ? ?????? ?? ??? ????? ??????? ?? ??????. ?? ???:
?? ? ??? ? ????????????, ??? ??? ??????? ??????? ???? ?????????. ??:
??????????? ?????????? ?????????, ??????? ??? ???? ????? ?? ??????:
????, ???? ?? ???? ???? ???? ??????????. ? ??????? ???????, ??? ?? ?? ???,
??? ??????? ?????????? ?????? ?????, ??????? ??????????? ?????? (???
?????????) ??????. ???????? 23
? ??????, ?????? ??? ???????? ??? ??????? ? ???????, ???? ???????? ??:
??????? ?????? ????????? ??????????. ??????????? ?????, ? ?????? ???:
?? ????? ????????? ???????? ???????. ? ??? ????????? ????? ?? ??????
?????????? ??????? ???? ???????. ??? ????? ???????? ?? ?????? «????»
? ?? «????». ????? ??? ???? ????? ???????? ??? ????? ??????? ?? ??????:
?????, ??? ?? ????? ???????? ????????? ? ??????? ????????? ? ????????:
???? ?????????? ??. ? ??????, ??? ??? ?????????? ?????? ????, ????? ??
???????????? ??, ????? ???????? ? ??????? ???????. ??? ??????? ???????
??????? ????? ????? ? ?????? ? ???????: ????????? ? ????????????????
?????? ?? ?????????? ????????????????, ??????? ???????? ???????
? ?????????? ???????????? ???????? (???? ?????? ?? ????????? ?????:
??? ????? ???????? ?????????? ? ?????? ???????????). ????? ?????? ?????????? ???? ????, ? ??????????? ????? ? ?????????
???????: ? ??????? ? ???????? ????. ? ????? ? ??????????? ???????? (???? ??? ????), ?????????? ???????
?????. ? ? ??? ????? ? ??????????? ????????? ??????????, ???????????
? ??????? ?????, ???????????? ?? ???????? ? ???????????????
?????????. ?????? ?? ???? ?????????? ????? ????????? ?? ???????:
??? ?????????? ???????????????? (??? ? ???? ????? ??????????
?????). ?? ?????? ???? ????????? ??????????? ????. ? ?????????
????? ??????? ? ?? ? ??????. ? ????????? ???? 55 ?????? ? ????????? ?????????. ??? ???:
? ? ???????????
? ? ????????? ?????
? ? ????????
? ?? ?????????????
??????????? ?????????? ??????????? ???????: ? ? ???????????
? ? ????????? ?????
? ?? ????????
???, ?????????? ?????????????! ? ???????, ??? ?????????? ????? ? ??:
?????????, ?????????????? ???? ?????. ?, ??? ??? ??????, ? ???????, ???
?? ??????? ?? ?????????. ?????? ?. ?????
???? 2002 ?.
1
? ???????????
?????? ??????????, ???? ??????????? ?????? ???? ?????? ???. ? ??????
? ??????????? (??????? ? ?????), ?????????, ??? ?? 95% ?? ??????? ??
???????? ?????? ? ?? 5%? ?? ??????? ?? ?????? ????????, ??????????????
?? ???????? ???????????. ?????? ?? ?????? ????? ????????? ?????? ???? ????? ??????? ???? ? ??????????? ????? ?????? ? ???????? ???????,
???????????? ? ????????? ??, ????? ????????? ? ???????????. ????:
??????? ????? ??????, ? ???????, ????????????? ???????????. ? ????:
??? ????? ????? ??????? ????? ????????? ???????????. ? ????? ??????:
??????? ?????, ??????????? ????????? ?????????? ??, ???? ????? [Davis,
1995] ??????? ?? ???? ????? ???? ? ???????? 127: «??????? ??????????
?????? ??????? ??????????». ??? ?????? ??? ????????, ?? ?? ????. ? ?????? ? ?? ???? ??? ??????????? ? ?????? ?????? ????? ???????
? ???????? ????? ???????, ?????? ??????? ???? ??????????. ? ??? ????:
?????? ? ?????????? ?????????, ????????? ?????? ??, ??? ? ????? ? ???:
?????? ??, ??? ??????? ?????? ???? ? ????? ??????????. ? ????????? ??:
????? ????? ????????. ??????? ???????????? ???? ???????????? ?????:
??? ????? ?? ????????? ????????, ? ???? ?????? ?????? ? ???, ?????
?????? ?? ????????. ?? ? ???????? ????? ????????? ???? ???????????????
? ?????, ??? ?? ???? ??????? ??????? ??? ??????????. 1.? ????? ??????????? ???, ? ?? ?????????? ???????? ??????.
2.? ????? ???????? ????????? ??????????? ???????, ? ?? ?????????:
?? «?????????? ???????? ?????», ??????? ??????????? ?????????:
???? ??????? ??????????? ???. ?????? ?????????????? ????? ??? ?????????? ????????. ??? ???????:
???? ?????????? ????? ???? ????????? ? ???????? ???????, ??? ??? ??:
??????? ? ???? ?? ???????????? ?????, ??? ??? ??????, ?? ???? ??????
????????? ??? ??????????. ? ????? ? ??????? ????? ????? ?? ??? ????
25
??? ????????? «The Power of Peonage» (???????????? ????????????? ???:
??, 1979). ??????? ????? ???? ????? (??????????? ?????? ???? ?????????,
??:?? ??????? ? ? ??????? ?????????) ??????????? ? ???, ??? ?? ????????:
???, ??????? ????????????? ?????? ? ???, ??? ??? ??????, ? ? ?? ?? ?????
????????? ?? ??? ????????? ????????, ???????? ????????????, ???????
?? ????? ????? ?????? ? ???? ????????. ?? ?????? ???????? ? ?????????.
??? ??? ????????????, ??? ??? ????? ?? ?????????? ????? ??????? ?????,
?? ???????? ?? ????? ???? ?? ????????. ???????? ???????? ?????
?????????? ?????:?????? ??????????, ?? ????????? ? ????????? ??? ??
??????. ? ???? ??????? ?????? ??????? ????, ? ?? ???? ???? ???????????
??????? ? ???????? ? ??? ????????????. ?? ? ????????. ?? ??????? ????? ? ???, ?????? ?, ??????????? ???????:
????? ?? ?????? ?????????, ????????? ?????? ??? ????? ? ???? ??????:
?????. ??? ????? ???????? ? ????, ??? ???? ???????????? ???????????
?????????? ??? ?????? ????????????, ??? ???? ?????????. ? ?? ??????, ???
??? ???? ??????. ????? ?????? ????? ?? ??????? ????????????????,
? ??????? ????? ????????,? ??? ?????, ??????????? ? ???????????. ? ??:
???????, ????????? ????? ??? ???????????? ? ???? ????????? ???????
??????, ??? ????????? ?????? ????? ????? ?????????, ???????? ??????,
? ??? ???? ?????? ???????. ????????, ????? ? ?????. ? ???, ????????? ??? ?????. ? ???, ??? ??:
?? ?????????? ??????????? ??????. ? ???, ??? ????? ??? ?????? ???????
? ?????? ??????? ??????? ?? ????, ??? ????????? ??????, ? ?? ?? ????, ???
??? ???????????. ????????, ????? ? ??????? ? ????????? (??????? ? ???????? ?????
?????? ???????? ?????????). ? ???, ??? ?? ????????????? ????????
?????? ?????, ??? ??????. ? ???, ??? ??????? ?? ????? ?????? ????????
????????, ?????? ??? ?? ????????. ? ???, ????????? ????? ?? ????? ????
??????????? ????? ?????? ? ????????. ????????, ????? ?? ???????. ? ???, ??? ????? ???? ?????? ?????.
????, ??? ?????? ??????? ?? ?????????. ? ???, ??? ????????????? ??:
????? ???? ???????? ?????? ?? ???????????? ? ??????, ??????? ?????
???????? ????? ?????? ???????. ? ???, ??? ?????????? ? ???????????
???????????, ???????? ????? ??????, ???????? ???????????????. ????????, ????? ? ????????? ????????????? ??. ? ???, ??? ????? ??
????????? ? ?????????? ?????????????, ??? ???? ??? ??????????????:
???? ? ????????? ???? ? ????? ??????? ??????? ? ??? ????????? (?????
????, ????????). 26 ????? 1. ? ???????????
????????, ????? ? ????????? ????????. ? ???, ??? ????????? ??:
???????? ?? ???????? ???????? ????? ??????? ???????. ? ???, ??? ????:
????? ????? ????????? ????? ?????? ? ??? ??? ??????????? ???? ??????:
??? ?????????? ?????????? ??????????????? ???????????. ?? ???! ??? ??? ??????? ????? ??????????? ?????. ?????? ?????????
? ??????, ??????? ????? ????????? ? ?????????? ???????, ???????????
???????? «??????????», ? ??????? ??? ????? ???????? ? ? ??????? ???
????? ???????. ?????? Davis, Alan M. 1995. 201 Principles of Software Development. New York:
McGraw:Hill. Glass, Robert L. 1979. The Power of Peonage. Computing Trends. ???????????? ??????
??????????
? ???????? ?? ????? ???????????? ??????. ?????? ??? ????? ???????
? ?????? ?????????? ?????. ???? ???? ?????? ???????????????? ??????:
??. ????? ? ??????. ? ????????. ?? ???? ????? ??????? ????? ???????. ???? ??? ?????, ??? ???? ???????????? ?????????. ??? ????? ?? ?????
?????????????? ??????? ???????????? ? ???????? ?? ????????? ????
(??? ??? ??????????? ? ??????), ??? ? ?????????? ??????? ?????? ????
????? ?? ????? ?????? «?????? ?????». ?? ? ????????? ?? ? ??? ??:
???????? ????????. ?? ??????? ??????? ?????? ? ?????? ??????????
??. ?? ????????? ???????????????? ???????? ?? ???? ????????? ????:
???, ??????????? ???? ??????????? ????????? ??. ?? ???????? ??????
????????????? ??????, ???????? ????????? ???????????? ? ???????, ???:
?? ?????? ????????????? ?????? ? ???, ???????? ????? ?? ???, ??????:
???????? ?????? ????? ???????? ? ?????????? ? ????? ????????? ??
? ????????????? ????????. ? ??? ??? ?? ????? ???????, ???????, ????????,
??????? ??? ??????. ???? 1
????? ?????? ?????? ? ?????????? ??? ??? ?? ?????? ? ????????, ?????
?????? ??????????????, ? ???? ????????????.
???????????? ?????? 27
?? ???? ????? ???????????? ? ????????????? ????????. ?? ??????:
???? ? ??????, ??? ? ????????????????? ???????????? ?? ?????????. ??
???????, ????? ????, ???????????? ? ????? ??????? ??????? ??????
? ??????????????? ???????, ???????? ?????. ?? ?????????? ????? ???:
?????????? ???? ? ????? ??????? ????????? ???????, ? ????? ???? ??
??? ??????? ? ???, ????? ?? ?? ???????, ??? ??????.
? ?????? ????? ????????? ??????????? ???????? ????????? ?? (Soft:
ware Engineering Institute, SEI) ? ??? ??????? ?????????? ??, ?????? ?????+
??? ?????????????? ???????????? (Capability Maturity Model ? CMM).
??????????????? ????????? ?????? CMM ??????? ? ???, ??? ???????
??????? ? ??? ???? ? ???????? ??. ??????????? ?? ???? ?????????, CMM
?????????? ????? ???????? ???????? ???????? ? ?????????????????? ???:
?????, ????? ??????? ?????? ?????? ???????????:???????????? ??.
???????? ?????????? CMM ?????? ??? ????, ??? SEI ??????? ???????? ??:
?????? ? ??????????????? ????? ????????????? ??????? ? ??????????
?? ???? ????? ????, ??? ??? ?????? ??????????????? ????????? ???, ? ???:
?????? ???????????? ??????? ??? ?? ??? ?????? ???????????????
?????? ??????? ?????????????????? ???????????, ???????????? ??, ?
????? ????, ??? ????? ???????? ???????????? ??????? ??? ??????????
??????? ?????????????. ??? ????????? ?????? ???????? ???????? ???+
????????? (People Capability Maturity Model ? P:CMM) ????????? SEI. ??
??? ??????? ????? ????????, ? ??????????? ??????? ??????, ??? ??????
CMM, ??????????????? ?? ???????. ????? ??? ???, ??? ?????? ??????:
??????? ???????????????? ??:???????? ???????, ??? ??????? ??????,
??? ????, ?????? ????????????, ????????? ??????. ???????, ??? ?? ????:
??? ?? ??????? ?????? ???????. ????????
???????? ?? ?????? ???????? ????? ???? ??????. ?????? ?? ??????
?? ????????, ??? ???? ?????. ????? ?????? ????????, ??? ???? ??????,
??? ????????, ?????? ? ???????. ?? ?? ?????????? ??????????? ???, ???
???? ?? ??? ???? ?????????. ???????, ???? ? ???, ??? ?????????, ??????:
??? ? ??????, ????????? ???????, ??? ????????? ? ?????????????, ????:
???? ? ?????????. ????? ??? ? ????? ?????? ????????. (??? ??? ?????
??????? ???, ??? ????????????: ?????? ?????? ??????? ???:?? ???? ???
???????. ???????? ???????????, ??????????, ??? ?? ??? ??????. ???????
???????: «????? ???». «??? ?? ?? ????????» ? ????????? ????? ???????.
28 ????? 1. ? ???????????
«??? ???»,? ???????? ???????, ????????? ? ???????. «??? ???? ? ?? ?? ???:
?? ??????» «? ?????,? ???????? ??,? ???????».) ??? ??, ??? ????? ? ????? ????????????????, ? ???? ????????? ? ??
????? ????????? ????? ??????????, ????? ????????? ???? ??????. ????
???? ? ??????? ???? ?????, ??? ???????????? ?????? ??? ???? ??????. ?????????
??? ????? ?????????? ??????????? ?????????? ????? ????? ???????
??????? ???????????? ????? ????? ????? [Barry Boehm, 1981] «Software En:
gineering Economics» (????????? ?????????? ????????????????). ?? ???
???????????? ??????????? ????????, ?????????????? ???????? ??????:
?? ???????????? ????????. ? ??? ??: ????? ??????? ??????? ?????????:
?? ???????????? ??????????????? ?????, ??????????? ??????. ??? ???:
?????? ???????????????, ??? ???? ?????? ??????? ??????, ??? ?????
????????, ??????, ????? ? (!) ????????, ??????? ??? ?????????. ??? ????? ??????, ???????, ????? ????? ???????? ? ??? ????? ??????:
?????? ????? ? «Peopleware» [DeMarco and Lister, 1999].
1
??? ????? ??????:
?????? ?? ????????, ????? ??????? ????????? ???? ????? ? ???????? ??.
? ??? ?????, ????????, ?????????, ??? «????????? ???????? ? ????? ??:
???? ????? ?? ??????? ???????????????, ??????? ??????????????? ???:
????.», ? ???? ??? ?????????????? ???????? ? ??????????????? ????????
????????? ? «??????? ??????? ??????????». ?????? ???????? ????? «??:
?????????? ??????» ? ?? ????????? ? ???, ??? ???? ?????? ??????? ??????,
??? ????? ?????? ?????? ?????????? ??. ?????? ???? ????????? ??????????? ? ???????? ????? ?????????????
?????? [Davis, 1995], ??????: «???? ? ??? ???? ? ??????». ????? ?????? ??:
?????????? ?? ??? ???? ??????????? ??????????? ?????? (agile) ????????:
?? ??, ??????? ??????? ???????? ???: «?????????? ????? ??????? ????:
??????? ????????? ??????? ? ??????????????? ???????? ??????, ? ?? ??:
????? ?????: ????» [Highsmith, 2002]. ?????? ???? ? ???????? ???????????:
?? ??????? ??????? ????? ????, ??? ????? [Bucher, 1975]: «?????? ?????
?????????? ?? ??????? ?? ?????? ? ????????????? ?????????, ? ?????
?? ?????????? ??», ? ???? [Rubey, 1978]: «? ???????? ????? ??????? ?????:
??? ?????????????????? ???????? ????????? ?????????? ???????????». 1
??? ???????, ?????? ?????? «???????????? ??????: ???????? ??????? ? ??:
?????», 2:? ???????.? ???. ? ????.? ???.: ??????:????, 2005.
???????????? ?????? 29
?? ?????? ?????? ??????????, ? ??????? ???? ???? ??????? ?????
?????? ???????? ? ????????????????, ???, ???????, ??????????? ????:
????????? ?????? ?? ???? ???????? ?????? ????. ?????? ??? ??????????:
??? ???: «???? ?? ???? ????? ???????? ?? ?????????? ?????????, ?? ???
?? ?? ?????? ? ??? ???????» ?????????? [Bollinger, 2001] ???????: «??????
????? ? ????? ?? ?????, ??? ???, ??? ??????? ??? ?????????, ??????? ????:
???? ??????????? ????????????? ? ??? ??????? ??????????? ?????:
???????, ????? ?????????? ???????? ????????? ?? ???????? ?????? ???,
??? ??? ??????. ??? ????????? ??? ???? ?????????». ?????? Boehm, Barry. 1981. Software Engineering Economics. Englewood Cliffs,
NJ: Prentice:Hall. Bollinger, Terry. 2001. «On Inspection vs. Testing» Software Practitioner,
Sept. Bucher, D. E. W. 1975. «Maintenance of the Computer Sciences Telepro:
cessing System» Proceedings of the International Conference on Reliable
Software, Seattle, WA, April. Davis, Alan M. 1995. 201 Principles of Software Development. New York:
McGraw:Hill. DeMarco, Tom, and Timothy Lister. 1999. Peopleware. 2d ed. New York:
Dorset House. Highsmith, James A. 2002.
Agile Software Development Ecosystems. Boston:
Addison:Wesley. Rubey, Raymond L. 1978. «Higher Order Languages for Avionics Software ?
A Survey, Summary, and Critique» Proceedings of NAECON. ??????????
???? ??????????? ????? ???????? ? ???, ??? ???? ????? ???????? ? ??:
???????? ??. ???? ??????? ????? ? ???, ??? ??? ?????? ????? ?????! ???? 2
?? ??????????? ???????????? ???????????? ??????? ?????? ?????????
??? ?? 28 ??? ??????????? ?????????. ???? ??????, ??? ?????? ?? ????? ??
????? ?? ?????? ???????????, ?? ?????? ??????????? ? ???? ????? ?????
??? ???????????? ? ????????? ??.
30 ????? 1. ? ???????????
??? ??? ???? ????????, ????? ?? ??????, ??? ? ???? ??????? ??. ?????:
????, ??????? ? ????? ???????, ?????????? ? ???????? 1968?1978 ??.
????? ????????, ??? ???? ??????????????? ???? ???????? ??? ??? ????:
?? ? ??? ?????, ??? ??? ?? ?????????? ?? ????? ?????? ??? ?????? ??????. ?? ??? ???? ???????????? ????????. ???? ??????, ????????? ????? ??:
??????? ????????????, ??? ?????? (? ???? ???? ? 5 ? 28:??????? ??????:
???????), ?? ?????? ?????????? ????????, ??? ????????? ?????? ?????? ?
?????? ? ??? ???? ?????? ?????????????? ???????? ??? ?????????. ????:
?? ????? ??????, ? 28 ???, (??????? ?????? ??????????? ??????, ???
?????, ?? ????????? ? ?? ??????????????? ?????????) ???????????? ??:
??? ????? ???????? ???????? ? ????? ????????????????. (???? ?? ?? ??
?????, ?? ? ? ???, ??? ????? ? 5 ???, ????? ??????? ?? ?? ?????.)
???? ? ??? (?, ???????, ????????, ??? ?? ?? ?? ??????????????? ????
?????? ? ????? ????????????), ??? ?? ?? ?????, ??? ?????????? ???? ???:
??? ???????????. ?? ?????? ??????, ????????? ????? ????????????????
??????????? ?????????????, ???????????????? ???????? ?? ???????:
??????? ???????? ? ??????? ????????? ???????????????? ACM (Associa:
tion for Computing Machinery), ? ? ?????, ?????? ??? ???? ???? ?????, ????
?, ???????, ???? ????, ?? ???????, ??? ?????????? ????? ????????????
?????? ????????????? ?? ??????? ????? ????? ????. (????????????? ??:
????????, ?? ??? ??? ???????? ????? ?? ??????????, ??? ?????????? ???:
?? ???????? ?? ????? ??????????? ? ??????????????????? ????? ????
?????? [Sackman, 1968].) ????????
?? ?? ? ????????? ??????? ???? ???? ?? ??????????? ? ???, ??????????,
? ??? ????????. ? ?? ??????, ????? ???? ???:?? ?????????? ? ???????????:
??? ????? ?????. ?? ?????? ????????, ??? ?? ???????????? ?????? ?? ????:
?? ????????????? ???????. ?????????
? ?????? ?????? «?????????» ????? ?? ??? ????. ?????????. ? «????? ?????? ????????? (?????? ????????????) ??????? ? ???, ???
?????????????????? ????? ????????? ????????????? ????? ????:
?????? ??????????» [Sackman, 1968]. ????????????? ???????? ??????:
???? ??????? ? ?????????????????? ????? ?????????????? ???????:
???????????? ?????? 31
??????? ???????? ? ???????? ?????? ? ? ?????? ? ??????????? ???:
???? ? ??????????, ??? ??? ????? ?????????? ???????????? ??????
?? 28:1. (?????????????? ??????????? ??????? ??????????? ??????:
??? ???????? ? ????????????? ???????? ????? ???????????.) ? «? ???????? ?????? ????????????? ???????????????? ????? ?????:
?????? ?? ???????» [Schwartz, 1968]. ????? ?????? ???????? ?????:
????? ????????????????? ??. ? «??????? ? ?????????????????? ? 5 ??? ????? ?????????? ??????»
[Boehm, 1975]. ???? ???????????? ??, ??? ?? ??????? «??????? ????:
?????? ??». ? «??????????, ???????????? ??????? ??????, ????? ???? ????? ????:
?????????. ????????, ??? ???????? ? ????? ????? ???? ??????, ??
???? ??????? ?????????? ???? ??????. ??????? ??????????????, ???
????????, ?????????? ??? ?????????????:????????, ??????????
????????, ?? ??? ??????? ????????? ?????????, ?????? ?????????:
??? ? ???? ???????????? ??????????» [Myers, 1978]. ?????? ?????:
??? ?????? ????????? ???????????? ??????????? ?? ?????????
?????????? ??. ??? ?????? ? ??????, ??????? ??? ????????, ????????? ???????????,
??? ? ?? ???????? ????????????? ????????? ??????????, ?????????? ?? ??:
??????. ???????? ????????, ??? ? ?? ???? ??????? ???????, ??? ??? ???????:
??? ?????? (? ??? ????) ????????? ?? ????????. ?? ????????? ????????
??? ???? ????? ?? ????? ????? ?????? [Davis, 1995]: «??????? 132. ?????
????? ????????? ??????????? ? ??????? ?????????????, ??? ???????????:
??? ??????? ????????????? ?????????????» ? «???????141. ????????
????? ?????????????? ?? ????? ???? ?????????». ? ??? ????? ?????? ????????: ???:???? [McBreen, 2002] ???????, ???
«??????? ?????????????» ???? ??????? «???????, ??????? ??? ?????????:
??» (?? 150 ?? 250 ????? ???????? ? ???), ? ????????????? ????????
??????? ? ??????? ??????.
?????? Boehm, Barry. 1975. «The High Cost of Software». Practical Strategies for
Developing Large Software Systems, edited by Ellis Horowitz. Reading,
MA:Addison:Wesley. Glass, Robert L. 1995. Software Creativity. Englewood Cliffs, NJ: Prentice:
Hall. 32 ????? 1. ? ???????????
McBreen, Pete. 2002. Software Craftsmanship. Boston: Addison:Wesley. Myers, Glenford. 1978. «A Controlled Experiment in Program Testing and
Code Walkthroughs/Inspections». Communications of the ACM, Sept. Sackman, H., W. I. Erikson, and E. E. Grant. 1968. «Exploratory Experimen:
tal Studies Comparing Online and Offline Programming Performances».
Communications of the ACM, Jan. Schwartz, Jules. 1968. «Analyzing Large:Scale System Development». In
Software Engineering Concepts and Techniques, Proceedings of the 1968
NATO Conference, edited by Thomas Smith and Karen Billings. New York:
Petrocelli/Charter.
??????????
??? ???? ?? ???????????? ?????? ????????????????. ?? ????? ???? ???
?????? ??? ???? ? ??? ?????, «????? ??????» [Brooks, 1995]. ???????? ????????????, ??? ???? ?????? ??????? ?? ???????, ?? ?????
????????? ??????? ???????, ????? ?????????? ?????????. ??, ??? ???????
?????? ????, ????? ???????? ???????? ??????. ???? ? ???, ??? ????, ????:
??? ???????? ? ????? ???????, ?????:?? ????? «???????????». ??? ??????
?????? ??????, ?????? ??? ?????? ????????? ??????. ?? ??? ??????, ???
??? ?????? ?? ?????????? ???????? ?? ?????? ?????????? ???????. ?????:
?? ????? ????? ??????? ????? ??????? ?????????? ???????????? ?????:
??????, ? ?? ??? ??? ??? ????????? ????? ????? ?????? ? ????????? ??. ????? ????, ??? ?????? ????? ?????? ? ???????, ??? ??????? ?? ??:
?????? ????? ?????. ? ??????? ?????????? ????? ?????? ???????????
?????? ??? ??????. ????????
?????????????? ????? ????? ?????????? ????????????. ?? ? ??????????
???????? ????? ?????????. ????????, ??? ???? ????? ???? ??? ??????
??????????? ? ?????? ??????? ?????????? ?, ???????, ???? ? ??????
???????? ????? ????????????? ?????? ?? ????????????? ???????? ?????
???? 3
???? ?????? ?? ???????????? ? ?????, ?? ?????????? ??????? ???? ?????
??? ??? ??? ??????.
???????????? ?????? 33
??????????? ???????????, ? ??? ?????? ?????? ?????? ?????????? ??????.
???? ???? ?????? ???? ?????? ?????? ? ???? ?????? ???? ?? ???:??????
??????? ????? ?????? ??????? ????????. ?????? ????????? ????? ?????? ??????? ?????????? [McConnell,
1999], ??????? ???????, ??? ?) ?? ???????? ???? ????, «??? ???????, ??:
????????» ??????????; ? ?) ?? ?????????? ?????? ? «???????????? ??:
?????????????, ??????? ????? ??????? ? ????????». ?????? ?????????, ???? ? ????????, ?????? ???? ???????????????
???? ??? ????????. ????????? ??????????? ? ????????? ??????, ????
????? ?????????. (? ?????? ???????????????? ????? ??? ???????????
????? ? ?????? ???????, ?????????? ??? ???. ???? ??? ???????? ?????:
??? (? ???????? ??????), ????? ???????? ???????? ???????? ??????.) ?????????
?????? ???? ??????? ?? ????? ???????? ???????????? ????? ?? ????????:
?? ??. ????? ?????????? «The Mythical Man:Month» [Brooks, 1995]
1
??:?? ??:
??, ???, ???? ?? ????? ???????? ??????????????? ?????????? ? «????????:
???????», ?? ??? ???? ???? ?????????? ????? ? ??????, ?, ?????????????, ??
??? «????????:??????» ??????????. ??? ???????? ???????????, ???? ? ??:
??????? ?????? ????????? ??????????, ??? ????? ? ?????? ?????????? ??:
??????????? ????????? «????????:???????». Brooks, Frederick P., Jr. 1995. The Mythical Man+Month. Anniversary ed.
Reading MA: Addison:Wesley. McConnell, Steve. 1999. «Brooks? Law Repealed». From the Editor. IEEE
Software, Nov.
??????????
?????? ??????? ?? ?????????? ?? ??????? ?????????????????? ?? ???:
???????? ??????? ?????????????, ??????? ??????? ?????, ??????????
1
????? ?. «?????????? ????????:????? ??? ??? ????????? ??????????? ?????:
??», ??????:????, 2001
???? 4
??????? ????? ????????? ??????? ??????? ?? ?????????????? ? ????????
??????????.
34 ????? 1. ? ???????????
?? ???? ??????? ?????????? ???????????, ?????????? ???????, ???????
??????????? ?? «??????? ???????» CMM (Capability Maturity Model) ?? SEI
(Software Engineering Institute), ? ???? ?????! ???? ? ???, ??? ???:???? ???:
???? ? ???? ??????? ?? ???????. ????? ??????? ???? ?????? ?????, ?.?. ??:
????????, ? ??????? ????????? ????????? ???????????, ??????????????
???????????, ? ??????? ?????????? ?????????????. ???????? ????. ??? ??? ??????????? ??????????????? ? ????? ? ???, ??? ?????????? ??
?
??? ??????????? ?????????? ????????????, ? ?????, ? ??????? ??? ????????,
?????? ?????????????? ????????. ??????? ? ????????? ?? ?????? ? ????:
?? (?????????? ??? ???) ??????????? ?? ??????????? ?????? ???????. ????????? ???????? ????? ??????? ????????? ????? ????? ???????
? ??????? «Peopleware» [DeMarco, Lister, 1999],
1
? ??????? ??? ????????
???????????? ? ??????? ????? ?? ??????. ??? ???????? ?????????? ?????:
??????? ???????????? ??????? ??????? ????? ?? ?????????? ?????????:
?????????. ??????????????? ?????????????????? ????? ?????? ???????
???????, ??? ???????? ??????? ? ?????? ???????? (?????????? ???, ???
????? ? ??????? ????????, ???? ? 2,6 ???? ????, ??? ? ?????????? ??????
????????). ????? ??? ??????? ??????? ??????? ??????????? ?? ???????
? ?????? ?????. «??????????» ????? ? 1,7 ???? ?????? ???????? ???:
????????? (??????????? ??? ????????? ??????? ? ?????????? ?????). ? ???
???? ???? ??? ??????? ???? ??????? ????? «????????? ?????». ????, ???
? 3 ???? ??? ?????????? ??? «????????? ??????????». ? 4?5 ??? ???? ???
????? ????????????? ?????????? ?????? ??? ????????? ?????? ??????
????????. ? ??? ???? ???? ?? ????????? ?????? ???? (??? ?????????????). ??????????, ???????????, ??? ?????????????? ???????? ????? ????:
?? ????? ?????????????? ??????? ?? ??????????????, ??? ?? ??????
?? ????? 2. ?? ?????? ???? ??????? ???, ??? ?????????? ???:??? ???.
???????? ??????? ??????? ????????????, ?? ? ?????????? ? ??? ??????
??????, ???????? ??? ??????????? ??????? ?????. ????????
????? ?? ?????? ????? ????? ??????? ?????????. ???? ?? ???:???? ????:
??? ?????? ??? ????????. ?????? ????? ???????? ????? ????????????
??????? ????????????, ?????? ?? ???? ???????? «???????? ?? ??? ?????
1
??? ??????? ? ?????? ?????? «???????????? ??????: ???????? ??????? ? ??:
?????», 2:? ???????. ? ???. ? ????. ? ???.: ??????:????, 2005.
???????????? ?????? 35
??????». ??????, ??????????? ?? ?????????????? ??????? ????????????,
????? ????????? ? ??? ????? ?????????, ?? ??????? ??????? ???????? ????:
?? ? ?????????????????? ????? ? ???????? ??:?? ?????????? ??????? ???
?????????. ?????????? ??????? ???:?????? ????? «????? ?????????? ??????????
????????» (??? ????? ?????????? ??????? ????? ???????? ????? ?? ????
????? «???????????? ??????»). ????????? ???????? ????????????? ??:
?????? ???????????? ?????, ???????????? ???? «????????? ????????»
(??? ???????? ??? ????? ?????). ? ???:???? ????????? ????? ?? ?????. ??:
?? ? ????????????? ?????, ??? ?????????? ???? ??????? ????, ??? ? ??????
??????, ?????????? ???????????? ??? ??????????? ????? ????? ????????
? ????, ??? ????? ???? ???????????, ???? ???????????? ?????????. ????? ????????, ??? ??????? ????????? ??????. ??????? ???????, ??,
??? ????? ??????? ???????? («???????»), ???????? ????????? ????????:
???? ???????? ?? ????, ??? ?????? ????? ???????? (?? «???????»). ????
?????? ????? ?????? ?? ?????? ??? ????????????????, ?? ?????, ??????,
?? ???????? ???????. ??????? ????? ???????????? «???????» ????????.
??????? ? ?????????????????? ? «??????». ????????, ??????? ?????????? ? ???? ?????? ??????? ???? ??????????????? ????????????. ??????:
???? ?????????????? ???????????????? (Extreme Programming) ??????:
???? ?????? ??????, ?????????? ?????? ????????????????? (pair pro+
gramming). ? ?????? ???????????????? ??? ???????????? ????? ??????:
?? ? ????????? ? ???????????????? ???????? ???? ?? ????? ? ???????? ??:
????, ? ???? ?????????? ???? ?? ?????. ????? ????? ????? ??????????????
??????????, ?????????????? ??????????, ??? ??????????????, ? ? ??????:
????? ????????, ??????????. ???????? ????? ??????????????? ???? ????
????? ?????? ?? ??? ??? ?? ??? ????? ????????? ? ?????????? ?? ???????:
?????????, ?? ?? ???? ????? ??????????? ?????????????? ???????????:
????? ?? ?????? ????? ?????????? ???, ??? ???? ?? ?????????. ?????????
?? ?????????????? ???????????????? ???????? ??? ??????, ?? ??? ???:
??? ? ???????? ????????? ????????: Beck, Kent. 2000. Extreme Programming Explained. Boston: Addison:
Wesley.
1
1
???? ??? «????????????? ????????????????».? ???. ? ????.? ???.: ?????, 2002.
36 ????? 1. ? ???????????
???? ?? ??????? ??????????? ??????? ????????????????, ???? ????:
??? (Laurie Williams), ????? ?????? ? ???, ????????: Williams, Laurie, Robert Kessler, Ward Cunningham, and Ron Jeffries. 2000.
«Strengthening the Case for Pair Programming». IEEE Software 17, no. 4. ??????
DeMarco, Tom, and Timothy Lister. 1999. Peopleware. 2d ed. New York:
Dorset House. ??????????? ? ??????
??????????
?????:?? ???????? ????? ????? ???? ? ???????????????? ???? ??:??:
???????? ??????????????. ????? ???????????????? ???????? ??????.
???????? ?????????????, ???????? ?????????. ???????????? ???????
?????? ??????????. ?? ??? ???? ????? (? 1950:?). ? ??? ?? ??????? ??? ???:
???????????? ????????, ????, ??? ???????? ????? [Brooks, 1987] ??????
??????????? ??????, ????? ? ???????. ? ??? ????? ???? ? ????? ?????????? ????????? («????????????????
??? ?????????????»), ? ???????? CASE («????????????? ?????????????:
???»), ? ????????:??????????????? ??????????? («?????? ???? ???????:
??? ??»), ? ????????????? ???????????????? («??????? ???????»), ? ??:
??? ?????? ?????? ?????????? ??????????. ?? ??? ??? ???????, ????? ??
?????? ?? ?????????????? ?? ????????????? ? ???????????, ?? ??? ??
?????? ??????????? ???? ??????????? ? ?????????? ??. ????????????
??????, ????? ???????? ????? ?????? ?? ??????????????? ??????? ???:
?? ???? ?? ?????????????? ???: «?? ?????? ? ??????? ??????». ???, ????:
???, «????????????, ??? ??? ?????? ???????? ? ???????». ???? 5
????????? ???? ?????? ???????????? ? ??????? ??? ???? ????????? ??.
??????? ????? ?????????????????? ??????? ? ??????? ???????? ? ???
??????? ?????????????????? ? ???????? ???????? ?? 5?35%. ?? ??????
?? ???? ?????????????????? ???? ???????? ??? ?????? ????????????
«?? ???????».
??????????? ? ?????? 37
?????????????, ??? ????? ???? ?????????? ?????? ?????????. ????? ???
??? ?????????? ??????? ???????? ? 1970 ?. ? ?? ??? ???? ???? ????????:
????? ???????? ???????????? (?????? 35% ?????????? ?????????????:
?????). ? ???? ?????? ???????, ??? ??? «????????? ?? ???????» (? ???????
???),? ??? ?????, ??????? ????? ?????????? ? ??????????? ???????????. ? ?????? ????? ????? ???? ?????? ??????? ?????????????. ????? ??? ???:
??? ???????, ? ???????????? ????????? ???????????? ??????????? ????:
??? [Glass, 1999] ? ?????????, ???:
? ??????????? ????????? ???????? ????????? ????????????, ??:
??????? ???? ???????? ?????, ?? ??????? ????? ?????????. ? ????????? ?????????? ????????????, ??????????? ??????? ????:
????? ?????? ??????. ? ??????????? ??????????? ??????????????, ??? ????? ?? ???? ??????:
????? ???????????? ??????? ????????????. ? ???? ?????? ???????????? ??????????????, ??? ???????????? ?????:
???????? ??????????????, ?? ??????? ????? ???????? ? ?? 5 ?? 35%. (? ???? ?????? ? ??????? ? ?????????? ??? ??????????????? ????????
??????????? ???????????? ??????, ?????????? ??? ??????????? ???:
?????? ??????????.)
??? ???????? ???????? ? ????????????? ??????? ?? ?????? ?????
???????????? ??????? ?? ?????????????????? ???????? ??????????
[Grady, 1997]. ? ??????? ??????????? ????????? ????????? ????????, ??:
???????? ?????? ????????? ?? ??? ??????????????????, ? ??????, ????:
??? ??? ????????? ????????? ???????. ????? ?? ????????? ???? ?????
????????, ?????? ???????? ??? ????????? ?????????????. ?? ??????
?????? (Grady), ??? ???????????? ??????? ?? 10 ?? 35%. ????? ????????
? ??????????? ??????????? ????????? ????????????? ???????, ??????:
??? ?? «????????? ?? ???????»! ??? ??????????? ????? ?????? ??????:
??? ?????????? ???????. ?????? ?? ?? ?????????? ??? ? ???? ??????, ? ??????? ????? ????????
????????? ????????? ????, ? ? ?????? ????? ???????? ???????? ??? ???:
???????? ???? ?????????? ???? ????? ?????? ???, ??? ???? ? ?????????
???????, ? ???, ??? ???????? ????? ??. ???????????, ??????? ?? ???????
????? ?????? ????????????, ? ??? ???? ???? ??????? ? ??????? ????????,
????????????? ????? ??? ?????????????? ????????????????? ????????.
??? ???? ??????. ???????? ????????????? ?? ?????? ????????? ?? ????:
??????? ?? ?????? ????????? ????????? ?????. 38 ????? 1. ? ???????????
?? ????????? ???????????? ???????? (????? ???????, ??? ???????? ??:
?????? ????????? ???????????) ?????? ???????????. ?????? ??? ??????
????? ???? ?????????? ?????? ??? ?????????? ??????????? ??????? ????
????? ? ????????? ????? «????????????», ??????? ?????? ?? ????? ????
??? ????, ??? ??? ???????? ???? ????? ?? ???? ?????? ? ??? ? ??? ????
?? ????????? ????? ????? ???????. ???? ?? ??? ???? ??????, ?? ?? ????
?? ??????? ???????. ?? ? ??? ?? ????????? ?????????? ????????? ??????. ????????
? ??? ?? ??????, ????? ???:?????? ??????, ??? ? ????????? ?? ???????
????? ????????? ??????. ?? ??????? ????? ????? ???????? ???????
? ???? ????????? ???????????? ??????? ??????. ??????????? ??????, ???
???????? ? ??????? ??????, ? ???????? ????????, ??? ? ????????? ????:
??? ????????? ?????:???? ??????? («?????????? ????») ????????????.
?? ????? ??????? ?? ????, ???????? ?????? ?????? ????????? ???? ???:
???????? ?????????? ??????????????????. ?????? ??????????, ??????? ? ????????? ??, ??????? ??? ???:?? ?????
??????? ? ??????? ????????? ?????????? ???????. ???? ???????? ????????
????????????? ??????????? ?? ?? ????????? ???????????, ? ??????? ????:
??? ???????????? ???????????? ?????????? ???????????. ??? ?? ??????
???????????? ?????? «???????, ?????, ???????». ??? ????????, ?????????
??????? ???????, ???????, ??? ???????? ? ??????? ??????????? ????????:
??? ???????????, ???????, ????? ???????????, ??? ?????:???? ? ?????
?????? ???????. ????????, ?? ? ????????? ?? ??? ???????? ????? ???????:
??, ??? ?????? ???, ????? ?? ?????????? (??? ????? ???????????) ? ? ???. ???? ? ??? ???? ???????. ??? ???????????? ????????? ??????? ?????
??????? ??? ?????? ? ???????? ??? ??????, ??? ?? ????? ?????? ????????
?????? ? ????? ????????? ??????????? ?? ???? ?????. ?? ??????????
«????????? ?????» ??????????? ?????????/????????? ? ??????????
?????????????:?????????????? (early adopters), ?????????? ???, ??? ???:
????? ? ?????????? ?????????. ? ????????? ?? ???? ????? ????????, ????:
??? ??????? «????? ????? ???????». ????????? ?? ???? ? ???????, ??? ??:
??? ?? ????????? ? ?????? ? ?? ???????? ??????? ???, ??? ????? ????????
?????????????, ????????? ? ????????? ?????? ? ??? ??????, ? ??????
?? ???? ?? ???????? ????? ? ?????. ??? ??? ??? ??????. ????????? ?? ??????? ??? ??????????? ???????
?????????????? ? ?? ????????????. ?, ??? ??? ????, ????? ???????, ???
??????????? ? ?????? 39
???? ?? ??????? ???? ?????, ?????????? ?????????? ????????? ?????
????, ?????? ?? ???????????? ????????, ??????????? ??????? ????????
??????, ? ???? ???????, ?????????? ?????????????, ???? ??????. ??????:
??? ???????? ????? ?????? ?? ??????! ?????????
?????????? ? ?????? ????????? ?????? ?????? ??????? ????, ??? ???:
??? ????????. ? ?????? ??? ?? ???????, ??? ????????? ??? ?????? ??:
?????? ? ??????, ?? ? ?? ? ?? ???? ????????? ??? ?????, ???? ???? ?? ????.
?? ??? ??? ??????? ??? ????? ?????. ??? ????? ?????? ????? [Glass, 1976], ?
???????, ???? ??????????? «The Universal Elixir, and Other Computing Proj:
ects Which Failed» (??????? ????? ? ?????? ???????????? ???????, ????:
??? ???????????). ? ??? ???? ????????? ???????, ???????????? ??????:
??? ???????? ????? ?? ????? ??. ??? ??????? ???? ?????????? ??????:
?????? ? ??????? Computerworld (??? ??????????? ????? ?????? (Miles
Benson)) ?? ?????? ??? ?? ????, ??? ???? ??????? ? ???? ?????. ???????? ??????? ??????? ??????, ??? ??????? ??????, ????????
? ???? ???????. ?? ????? ? ? ??????????? ??????? «??????» ?????????
????????? ?? ???? ???????: Davis, Alan M. 1995. 201 Principles of Software Development. New York:
McGraw:Hill. ??????? 129 ?????? ???: «?? ?????? ?????, ??? ?? ??:
?????». Weinberg, Gerald. 1992. Quality Software Development: Systems Thinking.
Vol. 1, p. 291. New York: Dorset House. ?????? Brooks, Frederick P., Jr. 1987. «No Silver Bullet ? Essence and Accidents of
Software Engineering». ??? ?????? ????????? ????? ? ?????????? ???:
??? ??????, ?? ???????? ???????? ???? ?????????? ? ?????????
??????? ????? ????????? ????? ?????? «The Mythical Man:Month»
(Reading, MA: Addison:Wesley, 1995), ? ??????? ??? ???? ????????
? ??????????? ????. Glass, Robert L. 1976. «The Universal Elixir, and Other Computing Pro:
jects Which Failed». Computerworld. Republished by Computing Trends,
1977, 1979, 1981, and 1992. 40 ????? 1. ? ???????????
Glass, Robert L. 1999. «The Realities of Software Technology Payoffs».
Communications of the ACM, Feb.
Grady, Robert B. 1997. Successful Software Process Improvement. Table 4:1,
p. 69. Englewood Cliffs, NJ: Prentice:Hall. ??????????
???????? ?????? ??????????? ??? ?????? ? ???? ???????, ???? ??? ???:
??????? ????? ??????. ??, ???????, ?? ????????? ???????, ??? ??? ?????:
?? ??, ??? ??????? ????????? ????????? ????? ???? ? ??????????. ??
?????? ????????? ????? ???? ?????????? ???????. ????? ???? ???? ??:
????, ??????????, ???????? ?? ??? ??? ??????, ??????, ??? ?? ?????????,
? ?????????, ????? ????? ????? ?? ?????????, ? ????? ???. ????? ???
?????????? ???????????? ??? ???????, ??????? ?? ????? ?? ?????? ????:
?????????, ?? ???????? ???????? ?????????. ?????? ?? ?? ???? ????? ???? ? ????? ?? ?????????? ???????? ???????
????????? ???????? ? ??????, ??? ??? ???????? ??? ???????? ?????????:
???, ??? ???????? ?????????? ?????????????? ???????????????? ? ???:
??????????? ?? ???? ??? ???????,????, ??? ????? ?? ?????????, ?????? ??:
?????? ????????? ? ?? ??? ??????????, ??? ??????. ??? ?? ????????, ???
????? ???? ????? ????????, ??? ????? ???? ????????, ??? ?????? ??????,
? ??????? ??? ????? ???????????, ????? ???????????? ?????????, ???
?????? (? ?? ???????). ????????? ???? ???????? ??? ????????? ?????????????????? ? ??????:
?? ???????? ???? ?????? ??????? ???????? ????????????????. ?? ?????
?? ?????????? ????? ??????????? ? ??????, ?????? ??? ????? ????????
?????????????? ? ????????. ?????? ???????? ? ?????? ?????????? ?????:
?????? ? ???, ??? ?????????????? ? ???????? ???????, ????? ?? «???????:
???? ????????» ? ??????? ???:?? ?????, ??????, ? ?? ??????. ?? ??????????? ??? ?? ? ???. ???? ??????? ????????????? ???????, ??
? ???????? ????? ??? ?????? ?????. ??????, ????????? ??????: «??? ??????»
???? 6
???????? ?????? ?????? ??? ???????? ??????? ???????? ?????????????
????? ????????????? ? ???????? ????????. ?????? ?? ???????? ????? ??
????? ?????? ????? ????, ??? ???????? ?????? ????????. ??????? ???????
????? ?????? ? ???????? ????? ?????, ?????? ???? ?) ?????? ?? ????????
???????? ? ?) ????????? ???????? ? ???????? ????????.
??????????? ? ?????? 41
??, ? ??? ?? ???????, ???? ?????? ???????? (learning curve). ?? ?????? ???:
????? ????????????? ??????? ??????, ????? ???????????, ??????? ?????
??????? ????????, ? ??????? ?? ?????, ??????????????? ???????? ?? ??:
??????????. ??? ??? ?????????? ???? ?????? «??? ?????» ? ????????? ??:
??? ????????. ??? ????? ?? ????? ????? ?????????? ??????????? ??? ???:
?? ?? ???????? ? ?? ??????? ?????????? ??? ????? ?? ??????? ?????:
??? ???????? ?????? ?? ??? ????? ?? ????? ??????????? ???????? ???:?????? ?????
«??? ??????» ??? «????? ???????». ??, ???????, ?? ????? ?????? ????? ??
????? ??????? ?? ?????, ?? ????:???? ???. ????? ?????? ???????? ???????
?? ???????? ? ??????????. ??? ???????, ??? ?????? ??????? ? ?????, ???
??????? ?????? ????????. ????? ??????? ????????:???????????????
?????? ????????????, ????????? ??? ??????, ?? ????? ????? ????????:
????, ????? ????????????? ??? ???? ??????? ??????. ??? ?????? ??????:
????? ????? ????? ???? ?????????? ???????. ????????????, ??? ?????
??????????? ?????????,? ??? ??????? ?????? ????????. ????? ??????:
???? ?????? ?? ???????, ?? ?????????? ?????????? ?????????? ???????
??? ??? ????. ???????? ??? ???? ??????: «??????????» ????????? ?????????? ???:
????? ????? ????? ??? ????? ?? ???????????, ??? ? ????? ?? ?????? «??? ???:
??». ??? ??????, ????? ??????. ???? ?? ????, ??? ?? ?????? ?? ?????????:
?? ?????, ? ?????????? ???????????? ?????? ????? ?? 5?35% ????, ??? ??
???????? ?? ?????????? ????? ????. ???? ? ??? ???? ?????? ??????????????. ?? ?? ????? ???? ????? ????:
?? ?? ??????? «??? ?????» ? «?????????», ?? ?????? ???:???? ????. ? ?????
?? ????????? ?? ??? ???? ? ?? ???????????? ????????? ???????? ??? ???:
?????????? ????????????????,? ??? ?????? ????? ????????, ???????:
???? ? ??????? ????????????. ??????? (? ????????? ????, ? ???????
?????????????, ? ???????????????? ??????????? ? ?.?.) ???, ??? ??? ????:
?? ?? ????? ????????, ??????? ?? ?????? ???????? ? ???? ???????, ? ????:
???????????, ??????? ??????? ??? ??????????? (?????? ????? ??? ?????
????? ?? ???? ??????) ? ????? ?????? ??? ?? ???????? (??? ????? ??????:
??? ??????, ?, ???? ??? ?? ?????????? ?????????, ??? ????? ? ?? ????:
????). ? ?? ???????? ????????, ???? ??? ????????? (??? «??» ? «??????»)
? ???????? ????????. ???? ?????, ???? ????????? ???????? ?? ?????????. ?? ?????? ????
????????? ?? ????, ? ?? ?? ????. 42 ????? 1. ? ???????????
????????
???????? ?? ??????? ?????? ???? ?? ??????. ????????, ??? ???????? ??:
???? ????? ???? ????. ?? ?? ????????, ??????, ??????? ????????????. ??:
?????? ??????? ??????? ??????? ???????? ? ???????? ????????????,
? ????????? ??????? ????? ???????? ?????? ??? ? ??????, ??? ? ?? ??????.
????????? ???????, ??? ????????????? ????? ???????? ?????????, ???
?????? ?? ?????? ?????????. ?????????????? ??????? ? ????? ?????????:
?? ?????? ?? ?????????????, ??? ?????? ????? ???????? ? ?????? ??????. ??? ???????????? ?????? ??????? ??????? ???????? ????? ????????:
???????? ????????, ???????, ???????? ????? SAP, ??????? ??????????
??????????? ?? ????????? ??????????, ?.?. ???????????? ?? ??????????
?????? ?? SAP. ????? ?????????? ?????? ????????, ???????? ??????? ? ??:
?? ??????????? ? ???????? ?????. «?? ????????? ????????? ??? ????????:
??????!» ? ??? ????? ???? ??? ?? ???? ???????? ?? ???? ???????. ????????
?????? ???????? ? ?? ??????? ?? ???????? ???????? ??????? ?? ??????
??????, ??????? ??????:
Weinberg, Gerald. 1997. Quality Software Management: Anticipating
Change. Vol. 4, pp. 13, 20. New York: Dorset House. ??????????
???????????????? ???????? ? ??? ??????? ? ????? ????????????. ?????:
??????? ????? ???????? ? ????? ????????????, ?????????? ?? ? ????
???????????. ? ????? ?????????? ????? ??????????. ???? ????? ???????
?? ?? ?????????????. ??? ????????? ??? ?????? ???? ????? ???????? ????? ??????. ?? ????
???????????? CASE:???????, ????? ?????? ??? ????? ????????, ??? ????:
??????? CASE ? ??? ???? ? ???????? ????????????????, ?? ??????? ????:
???? 7
???????????? ????? ??????? ?? ???????????????? ?????????. ??? ???????
???????? ??????, ??????????? ?? ? ??????????? ??????????, ?? ????????
??? ?? ???????? ? ????.
??????????? ? ?????? 43
????????? ???????? ?????????? ?? ????????????? ????????, ???? ?????:
???? ????? ????? ????????????. ?? ????? ?????? ?? ??? ???? ????????,
??????? ??????, ?? ?????, ? ??? ???????? ????? ???????? ???? ?????????
????? shelfware (???????? ??). ????? ?? ????? ????? ???????? ???? ? ?. ? ?? ????? ? ????? ??? ???????,
??????????? ???????? ??, ? ?? ????? ?? ??????? ???????? ???????????
?????????, ??? ??????????? CASE ?? ????? ?????????? ????????? ?????:
?????????? ??????. ????????? ????????? ????? ??? ?????????, ??? ?????:
??? ? CASE ??? ??????????. ??? ???? ??????? (? ??????? ?? ????), ??? ???
???????? ????????????? ???????? ???????????????? ??????? ??????????. ? ?????? ?? ????? ??????? ? ?? ???????? ??????????? ? ???????? CASE:
??????????, ????? ?????????, ??? ? ????????????? ?????? ?? ?????????
? ?? ?????? ?? ?????. ?????? ?????. ? ??? ????? ?????? ?????????????.
??????????? CASE, ??? ?? ?????? ??????, ??????????, ?????? ??????, ??
??? ?? ? ???? ?????? ?? ???? ????????? ?????????. ????? ??????????
??????? ??, ????????????? ?? ?????, ????? ????? ???????, ?????? ? ????
???????? ????????. ?? ? ??????????. ???? ?7 ????? ?? ?? ????????????, ??????? ????:
?????????? ??? ????????? (?? ??????????? ??? ???? ? ????? 5), ? ?? ??:
?????????? ??? ????????, ??????? ????????????? ??????????????????.
? ???, ??????? ??????, ?????? ? ????????. ??? ?????? ?? ??? ?????????:
?? ??????????? ???? ????? ?? ?????? ??????? ?????? ???????? ?? ????? 6? ???? ?????, ??????? ???????,
??? ????????? ????? ???????? ??? ???????? ?? ?????? ?? ???????? ???:
??????????? ?????, ?? ??????? ???? ???????? ??. ???????????, ?????????
?????????? ????? ????????????, ?????? ?? ???, ? ?????????? ????????:
???, ??????????? ??????, ?????? ??????? ???????? ??????? ? ????????
?????. ??? ???? ??????????? ??????? ????? ???????????? ? ????, ??? ??
(??? ???) ????? ????? ?????, ? ? ????? ?????? ??????????? ???? ? ?? ??
???????????. ???????????? ??? ?????? ?????????? ????? ???????????:
?????, ????????? ? ???????. ????????? ??? ????? ?????. ??????? (???:
????? ?? ????????? ? ??????) ????????? ?????????. ???????????? ? ??:
????????, ??????? ????????? ???? ??????????, ?????????? ??? ?? ????:
????????? ???? ???????????? ?? ????. ???????????? (??? ???????? ??:
?????????) ???????? ?????????? ?????????????. ?????????? ?? ??, ?????
????????? ??? ???????????? ???????? ????????????? ??????? ? ???????
??????????? ????????, ???????? ???????????, ???????? ???????? ????:
???????? ?????????? ??? ????? ?????? ????????? ???????????. ? ????
44 ????? 1. ? ???????????
????? ?????? ????????????, ??????? ????????????, ?? ????? ???? ????:
???? ??????? ??????????????????, ??? ?????????? ??????. ???????? ? ????, ??? ?? ??? ????????, ???? ??? ???? ????????????. ??
?????????? «???????????? ?????? ???????????????? ???????», ???????
??? ???????????? ?????? ????? ? ????? ????????????. ???? ?? ?????:
??? ????? ???????????, ?? ? ????????????? ??? ?? ??????? ????? ????:
??? ????? ???????? ???? ?? ? ?????????????, ????????? ? ????. ??????
??????????? ?????, ??? ????? ?? ???????? ??????? ???????? ?????. (????
????? IBM ?????????? ???????? ???????????? ??? ????????? AD/Cycle, ??
?? ?????????? ?? ?????, ?.?. ??? ??????? ????? ? ????? ????????, ? ? ???
??? ?????? ????? ?? ??????? ??? ???????.) ????????
?????? ? ?????????????:?????????, ????? ????????? ? ???????? «?????:
???? ?? ?????» (not:invented:here, NIH). ?? ???????? ? ???, ??? ??? ????:
???????? ?????? ??? ??????, ? ?? ????? ?? ?????? ?????????? ??????. ???????, ?? ??? ?????. ?? ???? ??????? ??????????? ?????? ?? ??? ???:
??, ???, ??????, ??????? ?????????. ??????????? ?????????????, ????
? ??? ???? ????? ????? ???:?? ????? ? ???:?? ??????, ?????????? ?????,
?? ?????? ???? ????? ???????, ??? ??? ???? ??? ?????? ??????? ?????????
???? ??????. ????????? ??? ??????? ??????????? ????? (?? ??? ????????
? ?????? ????????), ??? ???????????? ? ???????, ????????????, ?????:
???????. ? ?????? ??? ?????, ? ?? ??????, ????? ?? ? «???????? NIH». ????????
????? ????????, ??????? ?????? ?????????? ?????, ?????????? ???????:
??????? ????????? ???????? ???? ????? ??????????, ??????? ????? ????
??? ??????, ??? ?? ????????? ??????? ??? ???????? ??????. ?????????? ??:
?????? ???????????????? ??????? (????????, ACR), ??????? ???????? ??:
???????? ? «???, ???, ?????» ????????????? ??????????????. ??????
???????????? ?? ????? ? ???, ??? ??? ????? ????????? ??????? ?????
????????????. ? ??? ?????? ? ? ?????????, ??????? ????? ? ??? ????????.
?? ??? ???????? ? ???? ???? ? ??????????? ??????. ??? ???????? ???????? ?? ?????? ???????????? ???????????? ??????
???????, ?? ?? ???? ???? ???:?? ?????? ????? ????????, ??? ? ????????:??
??????? ???. ?????? ??????????? ????, ????? ?????? ????? ?? ????????,
???? ?? ?? ??? ???? ?????? ??????! ?????? 45
?????????
ACR. The ACR Library of Programmer?s and Developer?s Tools, Applied
Computer Research, Inc., P.O. Box 82266, Phoenix AZ 85071:2266. ???
??? ???????? ??????????? ??????? ???????????? ?????????????:
???, ?? ? ????????? ????? ?????????? ???? ??????????????. Glass, Robert L. 1991. «Recommended: A Minimum Standard Software
Toolset». In Software Conflict. Englewood Cliffs, NJ: Yourdon Press. Wiegers, Karl. 2001. ?????? ???????. ?????? ???????: «?????? ????
???????????? ????? ??????? ???? ????????????? ????????????.
????????, ? ????????, ??????? ? ??????? ??? ?????? ???????????
(David Rubinstein), ???????????? ? Software Development Times 15
??????? 2000 ?.» ??????
??????????
????????????? ???????? ??? ???????, ??????? ??????? ??:??? ??????:
??. ??????? ????? ?? ?? ??????? ????????? ??????? ???? ??????:?? ???:
?????. ? ???? ??? ?? ???????, ?? ? ??????? ??????????? ?? ??????? ? ???:
???????? ???????. ?? ?????????? ?????????????? ?????? ??????, ???
?????????????, ??? ? ???????. ????????? ??????? ???????? ??? «???? ??:
???????».
1
?????? ????????, ??? ??????????, ? «????????? ??????».
2
??? ??
??? ?? ??????????, ?????? ?? ?? ???? ??????????, ????????????? ?????:
?? ? ??? ????????? ???????. ?????? ? ???, ?????? ??????? ?????????? ??????????????, ????? ???:
?????? ? ??????????????? ?????. ??, ??? ?? ???? ????????, ????? ???????:
???? 8
???? ????? ????? ?? ?????? ??????????????? ??????? ???????? ??????
??????. (?????? ??????? ???????? ???? 23.)
1
?????? ????? ???????? ???????? ?????? ????????? ????? ?.??????? (E.Jordon)
«Death March: The Complete Software Developer's Guide to Surviving «Mission Im:
possible» Projects», ??????????? ???? ????? ?????????? ??????? ?????.? ???+
???. ?????.
2
crunch mode ? ???????? ????? ????? ?????, ????? ??????????? ? ???????
«?????????» ??????? ?????.? ??????. ?????.
46 ????? 1. ? ???????????
?? ?? ?????? ???????????. ???:?? ???????, ??? ???? ? ?????????? ???????:
??? ??????????? (??????? ???? ???:?? ??????? ?????:???? ???????????).
? ???:??,? ??? ? ?????????? ??????? ???????????? (????????, ??? ??? ??:
?? ???????????? ?? ?????). ?????? ??????????, ??? ??????? ??????????
???????????????????? ? ????????? ????? ????????????? (?????? ????:
???????, ?????????????? ? ??????? ??????????? ???, ???????? ?? ??:
?????? ????? ???????????? ??????????). ???????? ????? ??????????:
?????? ?????????, ? ???????? ???:??, ??? ????? ??????????, ??? ???????
?????????? ?????????????? ?????? ??????, ??? ??? ???? ???????????. ????? ????? ???? ? ??????????, ? ???????, ????? ???????? ??:??????:
???? ??????????? ??????, ?? ??????? ?????? ????? ?? ???????? ??????:
?????? ?????? ?????????? ?? ????, ? ???? ??? ????????. ? ??? ?????? ??:
??????????? ??????? ??????????? ????? ?????. ? ??? ?????????? ???
???????, ?? ???????? ??????? ?? ?????? ???? ?????????,? ?????? (???
???????, ??????? ?????????????) ?????? ? ???????????? ??????????.
?????? ??????????? ? ????? ?????????????, ?????? ? ? ??????. ? ???? ??????? ? ???? ??????????????? ?? ??????. (????? ????????????
?????????? ???????? ?????.) ??????, ??? ?? ?????????, ???????????? ??:
??? ???????, ? ???? ???????? ?? ??????????, ??????? ????????? ??????
? ?????? ????? ???????. ? ????????? ?? ???? ? ???????? ??????? ?????
?????. ? ??????????? ??????? ???? ?????? ?????? ?????????? ???????,
??? ???????????? ????. ??? ????, ??? ??, ??????, ?????? ?? ??????????:
??, ??? ???????? ??? ???????? ????????. ? ?????????? ??? ??????? ?? ????:
????????? ??????, ????????????? ? ???? ??????, ???????? ?????? ????
? ????????? ??????? ???????????? ??????, ? ?????????? ?????????? ??
??????? ???????????? ? ?????????? ???? ??????????. ??????? ??????? ???? ?????? ???????????, ?? ??????????? ??? ????
????????, ????????? ?????????. ??????? ?? ?????????? ?? «?????????»,
????????????? ??, ??????? «???? ????? ? ?????? ???». ????? ????? ?????:
?? ??????????? ? ??? ??????? ??????????????. ?????? ????, ??????? ???:
??? ???? «??? ????? ? ????? ???», ???? ?????? ??????. ?????????????, ???
?? ??? ???? ?? ??????????? ? ??? ?? ??? ?? ??????, ????????????, ???
??? ?????????????? ????? ? ??????????? ???? ??????????????? ??????? ??:
????, ????? ????????????? ????????? ??????????. (????? ????????, ??:
????????????? ??????????? ???????, ????? ?? ????????? ???????? ??:
???????? ???????? ????? ????????, ??????? ??? ??????. ??? ????? ??
???????? ???????? ?????.) ?????? 47
????? ?? ????????? ??????????????? ???????. ???????????? ???:
???????? ???????? ????? ? ??????????, ?, ????????, ?????? ??????????
??????? ????????? ??????????? ????????????????? ????????? (??????
?? ?????? ?????????? ????????), ??????? ????? ?? ???? ?????? ? ????
??????. ??????? ?? ???? ??????, ??????????? ??? ??????? ???????, ???
??????? ?? ???????????? ??????????, ????????? ??????????????? ?????,
? ?? ???? ???????? ???????? ??????. ?????? ?? ??????????. ???????????:
?? ???? ?? ?????? (????????, ??????? [Mohanty, 1981] ????????, ???, ????
????? ?????????????? ?????? ? ???????? ??? ?????? ? ???????????? ????:
???????? ??????????????? ???????, ??? ????????? ?????????? ????:
?????? ???????? (? ????????????? ?? ???? ?? ??????) ??????????. ????:
????? ?????? ?? ????? ????????????? ??????, ??? ?? ??? ??? ?????? ???:
?????. ??????????? ???????????? ? ????? ????? ??????????? ??? ?????:
????????? ????????. ???? ?????? ?????? ?????? ? ??????? ??????? ??????????, ????????:
?? ?????????, ??, ????? ????, ??????? ????? ??????? ???????????????
??????. ?????? ??????????? ??????? ????????????? ?? ??????, ???????:
??? ?? ????? ?? ?????????? ???????? ?????? ??????????, ???????? ??
???????? ???? (lines of code, LOC). ??? ???????, ???, ???? ????? ???????:
???? ????????? ?????????? ??????? ????, ??????? ???? ???????? ??? ?????:
??? ???????, ?? ????? ????????????? «??????? ????» ? ????? ? ??????????:
??. (??? ???? ????? ????? ???? ?? ?? ???? ?????????? ? ? ??? ??????, ???,
???????, ??????? ??????, ??????? ??????? ???? ????? ????????? ???????,
??? ????? ????? ???? ?????????? ? ??????? ??? ????? ??????, ???? ?? ??
?? ??????????? ????? ?????????? ????? ?? ???? ????????? ????????????
????????????.) ???????? ???????? ?????????????? ????? (function points,
FP), ?????? ?????? ?? ?????? ??????? ???????? ??????????, ????? ??? ????:
?????? ?????? ? ??????? ? ???????. ?? ??? ?????? ? ? ???? ????????, ?????
????? ??? ????????. ??:??????, ???????? ?????????? ?? ???????, ???
?????? ? ??? ??????? ????????????. ??:??????, ??? ????? ??????????
«?????????????? ?????» ????? ????? ?????, ? ??? ??????, ???, ????????,
?????????? ?????? ? ??????? ??????? ??????, ??? ????????? ?????? ????:
?? ?????????, ??? ?? ????? ???????? ??????. (????????? ???????? ??:
??????? «?????????????? ?????» ???????????? (feature points) ? ??? ???
??????????, ????? «???????» ???????? ?? ???????. ?????? ??? ?????? ????:
???? ??????, ?? ???????, ??????, ? ?????????? ??????? ?? ??????? ?????:
«? ??????? ?? ????? ????? ??????????, ????????? ?????????? ?????? ??:
???????? ???? ????????, ?????????? ?? ????? «?????»?») 48 ????? 1. ? ???????????
??????????, ??? ??????, ? ?????? ??????????? ???????? ??????? ????,
?? ?? ?????, ??? ???? ?????????? ?????, ????????? ???? ?????????
?????? ? ???????????, ??? ??? ????????????? ?????????????, ????? ???:
??? ?????????? ? ?????? ????? ???????. ?????? ???? ????. ?? ???? ????
?????? ?? ??????????? ????????? ??????? ?????? ? «????? ?????????»
?? ??????????????? ? ???, ???, ???? ????????? ?????? ?????? ? ?????? ??:
???? ???? ??????? ???????? ????????????????? ?????????? ????????:
???? ?????????, ?? ?? ?????? ??????? ?????????. ????? ????????, ??? ??????????????? ??????? ? ??? ??????? ??, ???
??????????? ???????????? ???????,? ?????? ?? ????? ???????? ??????:
??? ? ???????? ?????? ?????????????. ??? ??????? ?????? ?????????? ??:
?? ????, ??? ????, ??????? ???? ?????????? ? ?????????? ??????, ? ? ????:
??? ?? ???? ?????????, ???? ?????? ????? ??????????? ?????????????.
??? ?????????????? ?? ?????????? ? ?????????? ??????????? ??????. ????????
???? ??? ??????, ??? ? ???????? ? ????????? ?? ???? ??????? ?????.
?? ?????? ?????? ? ???, ??? ???????? ???????? ??????. ??????????? ??:
????????????? ????????, ????????, ???????????? ???????????? ?????:
?????? ????????? ? ???????? ??????????? ??????. ?????????? ???????:
??????? ????? ????? ??????? ??????? ???? ? ???, ??? ????????? ?? ??????
?? ?????? ?????????? ??????? ????. ????????? ????? [Jones, 1994] ?????:
?? ???????? ???? ?? ????? ???????? «????????» ??????????????? ???:
?????? ? ???? ????????????? ?? ?????????? ??? «??????????? ???????:
????? ???????????». ????, ? ???????, ????? ?????? ????????? ??? ??????????????, ???? ??
???? ???????? ???????? ??????. ??????????? ???, ??? ??????? ??????
??????, ?????????? ???????? ? ??????, ??? ?????? ???????????? ?????
????? ???? ??????????? ???????? ???????? ?????? «?????????? ??? ??:
?????». ??? ???????, ??? ?????? ?????? ???????? ?? ?) ?????? ????????,
???????? ?????????? ???????, ? ?) ?????????? ?????????, ??? ?????????:
?? ??? ?????? ?????????? ?????? ?????????? ????????. ??? ??? ??????
???????????? ???????????? ?????? ???????????????? ???????. ??????:
??????, ??? ??? ?????? ????????, ?? ????? ?????? ????????, ??? ?? ??????
??????. ?????????? ????????? ???????? ???????????? ???????????????, ???
«?????????????? ???????? ????? ?????????????? ???????? ?????? ????:
?????? 49
???», ??????? ??????, ??? «??????? ??????????????? ??????» [Kitchen:
ham et al., 2002]. ??? ??????? ????????????? ? ?????? ?????????? ???????.
???? ??????????, ????? ?? ????????????? ??? ??????????. ?????????
? ?????????? ????????????? ???????? ?????, ??? ?????? ? ??? ???? ?? ????
??????? ?????? ??????????????? ????????. ??? ??? ????? ??????, ? ???
??? ????????? ? ??????? ??????. Cole, Andy. 1995. «Runaway Projects ? Causes and Effects». Software
World (UK) 26, no. 3. ??? ????????? ?????????? ???????????? ??:
??????????? ????????, ?? ??????, ????????? ? ????????? ?? ?????:
?????. ????????????? ?????? ?????, ??? «?????? ????????????
???????» ???? ??????? ?? ???????? ????????? ? 48% ????????,
???????? ??:??? ????????. Van Genuchten, Michiel. 1991. «Why Is Software Late?» IEEE Transactions
on Software Engineering, June. ?????? ???????????? ???????? ? ????:
??, ??? «????????????? ??????» ???????? ??????? ???????? ????:
????? ?????? ?????????? ? 51% ????????. ????????? ???? ????????? ???????? ????????, ???????? ??:???
???????? ??:?? ????????????? ??????????? ??????. Boddie, John. 1987. Crunch Mode. Englewood Cliffs, NJ: Yourdon Press. Yourdon, Ed. 1997. Death March. Englewood Cliffs, NJ: Prentice Hall.
1
?????? Jones, Capers. 1994. Assessment and Control of Software Risks. Englewood
Cliffs, NJ: Yourdon Press. ? ???? ?????? ???????????? ????? ????????
???????, ?????????? ?? ?????? ?????????? ????? ????, ??????? «??:
??? ????????? ?????? ??? ???????? ??» ? ?????? ? ???????? ?????:
?? ???????????, ??????? ??????? ? ???????? (? ??? ????? ? «????:
?????? ????????? ??????» ? «???????? ??????? ??????»), ????????
? ?????? ??????? ???????? ?????. Kitchenham, Barbara, Shari Lawrence Pfleeger, Beth McCall, and Suzanne
Eagan. 2002. «An Empirical Study of Maintenance and Development Esti:
mation Accuracy». Journal of Systems and Software, Sept. 1
?????? ?????? «???? ?????????». 2:? ???????, ???????????.? ?.: ????, 2005.
50 ????? 1. ? ???????????
Mohanty, S. N. 1981. «Software Cost Estimation: Present and Future».
In Software Practice and Experience, Vol. 11, pp. 103?21. ??????????
??? ?? ??????????, ??? ? ??????????? ???????? ???????? ????????? ???:
??? ?????? ?? ???????? ????? ??????, ??????? ???????? ????????? ??:
??????. ?????? ???? ???????? ?????? ??????? ??????. ?????? ?? ???????:
?? ??? ? ????? ??????. ?????? ???????, ??????? ? ????? ?? ??? ? ?????:
????? ??? ??????, ????? ??????. ????? ??????? ??????????? ??????, ??:
???????? ????? ? ??????????????? ??????? ?????????? ?????. ??? ????:
??? ???? ?????, ????? ?????? ????????? ??????. ?? ?????? ???? ??????:
???? ?????, ? ????? ?????? ???????, ??????????? ? ???????????
??????????. ?? ???? ? ?????? ???? ?? ????????????? ??????????, ???????
?????? ????????????? ???????. ????? ??????, ????? ?????????? ???????:
??? ? ??????? ??????, ???? ????????, ????? ??? ??????. ????? ?? ???????
????? ? ??????? ?? ??????? ??????, ?? ???? ? ??? ?????????????? ???????? ????????? ????????, ??? ?, ??????????? ?? ????????? ??????:
?????? ??????? ?? ???? ?????, ????????? ?????????, ????? ?? ???:??:
???? ???????????? ?????? ??? ?????????. ???:???? ???? ???????? ??????
????? ????????? ? ??????? ????????. ??? ?? ????? ?? ??? ??? ????? ?????
?? ??????. ????????, ??? ??????, ???????????? ????????? ? ????????. ????????
???????, ?? ??????? ???????? ?? ??????? ??????????? ?????, ??????,
???. ?? ????, ??? ? ?????? ??? ??????, ?????? ????? ???????? ? ??? ???????:
????. ?? ????????, ??????? ?? ?????????, ????????. ???:?? ?????? ???:
???? ?? ???? ?? ????????????, ????? ???????? ????????? ?????. ?? ???
??????. ???? 9
??????????? ?????? ? ???????? ?? ???????? ? ?????? ?????????? ?????.
? ??? ?? ??????? ???, ???? ?? ?? ????????, ??? ?????? ???????? ??????,
??? ?????????? ??????????, ? ?????????????? ??????, ??? ?????? ?????
??. ?????????????, ?????? ?????? ???????? ?? ???????.
?????? 51
?????????
??????????, ??? ?????????? ?????? ???????? ????? ????? ??? ?? ??????,
??? ?????? ???? ? ???????. ?? ??? ??? ?? ????? ???? ????, ??? ? ????????
«????????????? ?????? ???????» ???? ??????? ????: ? ? ??????? ???????? ? ??????? ????? ?????? ?????? ???????? (Roger
Pressman) ???????? ?????? ???????: «???? ? ???, ??? ????? ????????
? ?????? ???????????? ?? ????, ??? ?? ???????? ??????. ?????????:
??? ??????, ??????? ?????? ??? ???????????, ?????? ???: «?? ?????
???????? ???? ??????? ? 1 ?????» ????? ????? ??????????? ??????:
??? ?????? ???????, ????? ????? ? ?????? ??????? ???????» (1992). ? ? ?????? ?????????? ?????? ? ??????????? ??????????????? ????:
?? [SPC, 1998] ???? ????? ????????, ? ?????????, ??????: ????????
?? ?????????? (??)?: «??? ??????? ?? ???????, ?? ?????? ??????,
?????? ???? ???????» ?? (???????????? ???????): «???????? ??????
???????». ??: «???????, ?? ????????? ????????? ??????? ?????
????? ???????». ??: «????? ???????? ??????????». ??: «??????, ??
?? ?????????? ?? ??? ???????????? ???? ??? ???????». ????????, ??? ? ???? ???????? ?????? ?????? ?? ?????? ?? ???????,
?? ????? ????? ????????, ??? ? ?? ?? ????. ?? ? ????? ??????? ?? ???
????????. ?????? Pressman, Roger S. 1992. «Software Project Management: Q and A». Ame+
rican Programmer (?????? Cutter IT Journal), Dec.
SPC. 1998. Flyer for the tool Estimate Professional. Software Productivity
Centre (Canada). ??????????
??? ?????? ????, ???????????, ?????? ??????????? ?????? ???????:
?????? ?????. ? ??? ????????? ? ???, ??? ?????? ??????. ???? 10
??????????? ?????? ? ???????? ?? ?????? ???? ????????????, ???? ??
????????, ???????????? ???????????, ? ????? ?? ??, ??? ????? ?????????
??, ??? ?? ????????????. ????? ???????, ?????? ?????? ?? ?? ????.
52 ????? 1. ? ???????????
??????? ????? ????????????, ??? ??????????, ??????????? ???:
???????? ???????, ?????? ???:??? ????? ? ???????? ??. ????????????.
?????? ?? ???????. ?? ?????????. ?? ??????? ????? ? ?????? ??????
????????? ??? ???????? ????????. ???? ????? ?????? ? ???????? ?? ????:
?? ??, ??? ????? ???????? ??????????? ???????. ???:?????????. ?????
??????????. ??????? ? ????????????. ??????? ???????, ?????? ?????? ?????? ???????? ???????, ? ?? ?????:
?????. ?????????? ? ????? ?????????? ?????, ????? ??????????? ???????
??? ????? ? ?????? ???????? ?????????? ????. ?????????????, ??? ? ????
????, ? ??????? ???? ?????????. ??????, ??? «??????» ? ?????? ??????:
????????? ?????????? ? ????? ?????? ??? ?? ?????? ??? ? ?????????????:
???. ????? ? ??????, ?????????? ? ?????????? ??????? ?????????? ???:
?????, ?????? ????????????. ???????? ???? ???????. ? ??????? ? ??????????????? ???????????:
??? ??? ????????????, ???????, ?????? ??????????? ?????????, ??????
? ?????:???? ?????. ?? ???????? ???????? ?? ???????? ???????????? ???:
????? ? ?????? ??????????????? ??????. ? ???????????, ??????? ??????:
???? ???????? ?? ???????? ??, ?? ?????? ?????????? ???????? ?????,
???? ????????, ??? ?? ??????. ????????, ????? ???? ????? ? ????????. ???:
??? ?????, ???????? ? ??? ????. ??????? ??? ? ???????? ????? ????????? ?
? ????, ??????? ??????? ?????????. ?? ?? ? ???, ??????? ??? ?????? ? ???:
?????? (? ??????????, ??? ?? ????????? ??????? ????), ? ?????????? ???:
????? ????????? ?????????. ?? ????? ???????? ????? ??????? ???? ???????. ???? ????? ?????????
????????? ???????? ????? ???????? ????????? ????? ?????? ???????,
????? ? ???? ???????? ????????. ? ????? ?????? ?? ?????????? ?????:
????????? ?????? ?????????? ??????????????. ???? ????? ???????? ????
(?? ?????????, ???????? ? ??? ??????????, ??? ? ??????????? ? ?.?.), ??,
??? ??????? ?? ???? ???????, ????? ???????? ? ??????. ?????? ? ???????? ??, ??? ?????????? ?????? ????, ?????? ?? ?? ????.
????????? ???????????????? ???? ????????? ????????? ????. ????????
??? ??? ???? ????, ??? ???????? ????????????? ? ????????? ???????????.
????? ?????? ??????????, ??? ????? ????????? ????? ?????????? ????:
??. ? ??? ? ???, ????? ?? ??, ????? ??? ???? ???, ??????? ?????. ?? ????
???? ????????? ?????? ? ????????? ?????????? ??????????????? ?????
?????? 53
????, ??? ???:?? ????? ? ????????????????, ? ????, ??? ?? ?????. ? ?????
????, ?????? ???? ?????? ????? ?????????????? ????? ??????????, ??:
????? ???????????? ? ??????. ??? ? ?????? ???:??? ?????????. ???? ? ???, ??? ???????????? ?? ?????
? ?? ?????, ??? ????? ?????? ? ???????? ?????? ???????, ?? ??? ?????
?????? ?????, ??? ??????????. ? ????? ?????? ??????????? (??? ?????
??????????) ???????????? ??????? ???????? ???????????????, ???????:
??? ?? ??????, ???????????? ?????? ????????? ???????? ???, ??? ????
?? ????????. ????? ????, ??? ?????? ???????? ???? ?????????. ?????????? ????? ????? ? ????, ??? ??????? ????? ??????????????
? ?? ?????? ???????????? ? ??? ??? ????? ??????. ??????? ???? ?????:
??? ?????? ???????? ?????? ?????????? ? ???? ??????? ???????? ????:
??? ? ?????????????. ????? ????????? ???????, ??? ?? ????? ?????????
? ?????, ??????????? ??????? ?????? ??????????, ??????????? ?? ??????
??????????. ? ????? ??????, ?? ??? ????? ???????????? ?? ???? ??? ????:
???, ??? ???????????? ??? ????? ????????? ??, ??? ???????? ??? ??? ???????????????, ??? ? ????????? ?? ??????? ?????????? ????:
?????????????. ???????? ?? ?????? ??????? ????? ?? ??? ???????? ???
??????????, ??? ??????, ??????? ??????? ??? ????????. ? ???? ??? ???:
????????? ???? ?????? ???????, ???????????????? ????? ??????????
??????? ????????. ?????????
???? ??????? ??????, ? ??????? ??????????????? ?????? ?????? ??????
? ??????????????? ?????? ????. ??????? [Lederer, 1990] ????????? ??????,
???????????????? ?? ???: «???????? ??????: ???????? ?????? ??????».
(????? ???? ????? ????????????: ???????????? ??????, ??? ?? ?????????,
??????????? ?????????? ???????? ????? ? ???????????? ?? ??????????, ?
???????? ?????? ? ??? ????? ??? ???????? ???????? ? ?????????????. ? ?
?????? ???????????? ???????????? ?????? ????????? ??????.) ?????? ??????? ???????????? ???????????? [CASE, 1991] ??????????,
??? ??????????? ?????? (70%) ???????? ???:??, ??? ?????? ? ??????? ?? ??:
???? ? ??????????????, ? ?????????? ?? ???? (4%) ?????????? ?? ??????:
??? ???????. ????? ?? ?????? ? ?????????????? ????? ? ?? ???? ??????:
??? ??????? ??????????? ??? ?????? ??????????, ?? ??? ??????????, ???:
???????, ?? ???????? ??? ????, ????? ????????? ??????????? ??????? ??. 54 ????? 1. ? ???????????
??????? ???????????? ???? ????????? ? ? ?????? ?????????? ?????:
??? (????????, ??? ??? ???????????? ???? ??????? ? ???????????????
?????????). ????? ????, ? ??????? «?????????» ??????????? ????? ??? ??:
???? ????? ??????????, ??? ?????? ?????? ?? ?????? ?? ? ?? ?????, ?? ? ??
?? ????. ?????? CASE. 1991. «CASE/CASM Industry Survey Report». HCS, Inc., P.O. Box
40770, Portland, OR 97240. Lederer, Albert. 1990. «Information System Cost Estimating». MIS Quarter+
ly, June. ??????????
????????? ????? ? ???????? ??????. ??? ?????? ? ???????? ?? ?????????
?????, ?? ?? ??????? ?? ???? ?? ???????? ??, ??????? ? ????????????
? ?????????????????, ?? ???? ???????? ???????, ???????? ?? ?????????:
??? ?????? ??? ?????????? ? ???, ????? ????? ??? ????? ??????? ?????
????? ?????? ???????. ???????????? ???????? ?? ??? ?? ?? ?? ????? ???:
?????? ????????? ???? ?????????? ???????? ???????. ?????? ???????:
???? ?????? ?? ?????????????? ? ?? ?????????. ???? ??? ??? ????? ??????
???? ????????? ?? ???????????? ?????? ? ??? ? ????? ????? ??? ????????
??? ??????? ????????????? ?? ??, ????????? ??????? ????? ??????????? ??? ??????????? ? ??:
????, ????? ??????????? ????? ???? ???????????, ?, ???????, ????
????????? ???? ??????????? ????????????? ??????????? ?????. ?? ?????
???? ??????? ?? ?????????? ?????? ???????, ??? ?????????? ?????? ???:
???????? ?? ??? ??? ?? ?????????????? ??????. ?? ??????? ?????,
?????????????? ?? ???? ?????? ? ?? ? ?? ?????? ???? 11
?????? ? ???????? ?? ????? ?????????? ????????????. ??????? ???????,
??????, ????????? ?? ???? ?????? ? ?? ? ?? ?????, ??? ???????, ?? ???
???????????.
?????? 55
????????
???????, ?????, ????? ?????????????? ?????? ?? ????????????????. ??
???? ??? ??????? ? ???? ???????? ???? ???????:?????? ????????????.
(???????, ???? ????????? ???? ???????????? [NASA, 1990], ? ??????? ??:
?????????? ????????? ?????? ? ???? ???????????? ????????? ????? ???:
??????? ?????, ? ??????? ??? ?????? ???????????. ?? ? ?? ???? ??????,
??? ???????? ?? ????? ??????.) ????? ???????, ???? ???? ???? ? ?????? ??:
?????? ????????????? ????????, ? ?????? ?????? ?? ??????. ??????????:
?? ?????? ??????? ? ???, ??? ?? ?? ???? ????? ?????????????? ??????, ??:
?????? ??????? ??? ????????. ? ??? ?????? ?????? ?? ??????? ???????? ????, ??????????? ? ??????:
???? ??????, ?????????????? ????????? ??????????? ????, ?????? ??:
????? ??????? ???? ????????? ????????. ????? ???????????? ???????
?????????? ? ????????? ?????? ? ????????????? ????????? ???????.
? ????? ?????? ????? ???????? ???????? ?? Microsoft. ??? ??? ????????????
?????? ????, ? ???????? ??? ????????? ???????????? ???????????? ???:
??? ? ?????????????? ???????????. ?? ????? ?????? ???? ??????????????
??????????? ? ????? ?????????????. ? ????????? ??? ??? ?????????????
??????? «????????????», ? ??????? ????? ??????????? ? ?????????. ?????????
? ??????? ????????????? ?? ??? ???? ? ?????? ?? ??????. ?? ??? ? ????:
?????? ???????????? ??????, ??? ? ? ?????? ?? ??????????? ? ???????:
????????? ??????????? ????? ??????? ? ???, ??? ????????? ?????? ??
????????. ??? ??? ? ????????? ???? ????, ???????? ??: 1.???????, ???????? ??????????? ???? (???????? ??????? ? ???:
????? ?? Microsoft).
2.???? ?????? 40:?????? ???? ? ????????????????.
3.?????????? ????, ? ??????? ? ??????????? ? ??????????? ????????:
??? ????????.
4.??, ???, ????? ? ??????????? ?? ???? ????? ?? ????????? ???????
?????????? ????????? ???????????? ???? (?????? ??????????:
???? ??????? ??????, ?????? ?? ???? ? ???, ? ?????? ?? ??????, ?.?.
??? ???????), ????? ????? ?? ??????.
56 ????? 1. ? ???????????
??????
NASA. 1990. Manager?s Handbook for Software Development. NASA:God:
dard.
??????????
??? ????????? ???? ? ??????? ?????. ????? ????????, ??? ??? ??????
????????? ?????? ? ????? ?? ??, ? ???? ?? ??, ? (? ??? ?? ?????? ??? ??:
??????) ????? ?????? ?? ??????????????,? ?? ? ?????????? ? ??????? ??:
??? ??? ???????????? ??????????? ?????????? ???! ?????????? ???:
????????? ????????? ??????????? ?????? ??????? ? ???????????? ? ???:
???. ??:?? ????? ???? ??????????????? (?? ??????? ????, ?????? ??????:
??????) ??? ????? ?????? ?????? ? ????????? ??. ??????? ????????? ?????????. ??? ???? ????? ????????? ?? ?????,
???? ?????????? ??????????? ? ???????????? ??????????? ????? (? MS
Project ??? ?????????? ??????) ? ?????????? ?????????? ??????????
??????? ?? ????, ??? ?????????? ? ???? ??????????? ??????. ?? ???????
?? ??????? ? ????? 26? ????? ????. ? ??? ????? ?????????? ???????????? ?????????? ??????? ?????????
????????, ????? ????????, ??? ?????????? ?? ????? ? ??? ?? ?????????:
??? ??????. ? ????? ??????????????? ?? ???????. ?? ?????????? ??? ???????:
????? ??????? ????? ?????? ?? ????, ????? ????? ????????? ??????:
?? ??????? ? ??????????????. ? ? ?????????? ???????? ????? ??????????????? ?? ???????????
????????. ????? ??? ??????? ???????????? ? ??????????? ?? ????,
??? ?????? ? ??? ?????? ??????????? ?????????? ???????, ????:
??? ?????? ????????? ? ???? ?????????? ???????. ? ????? ??????????, ???????????? ?? ????. ????????? ?????? ???
??????? ????? ?? ????? ???????????? ????, ??? ??????????????
?????, ???????????? ? ?????? ???????. ???? 12
??? ?????? ????????? ???????????, ?? ?? ??? ?? ????? ?????? ??????????
?? ? ???, ??? ??????????? ??????? ?? ??????????? ? ?????, ??????????
????????. ?????? ???? ??? ?????????.
?????? 57
? ?? ????? ?? ??????????, ???????????? ?? ??????:????. ?? ?????:
????? ????? ?????? ?? ????, ????????? ?????? ??????????? ???:
???? ???????? ??????? ???. ? ?? ???? ????? ?? ?????????? (???????????!), ???????????? ?? ??:
??????. ?? ?????????? ????? ?????? ?? ????, ??????? ???????????
???????? ???????? ???????????? ??????????. ??? ? ?????: «????? ?????????! ? ????, ??? ??? ???????? ???????????,
???? ?????? ??????? ??????, ??? ??? ?????????.» ??, ???????. ?? ?? ?????:
?? ?? ??? ????????, ??? ?????????? ???????????? ?? ?????? ? ????? ??:
???????????, ????? ????????????, ????? ???????????? ???????, ????:
??? ??????????? ?????????? ????????
???, ? ??? ????? ? ???????????? ??, ?????? ??????? ? ???, ??? ?????? ??
????? ???????? ??? ????. ?????????? ?????????? ?? ??????? ???????? ???:
?? ????????????, ?? ?????, ??????, ? ????? ? ????? ?? ??????, ????? ???:
?? ???????? ????????. ????????? ????? ????, ??????, ???????? ???????? ??????????? status
quo. ?????????? ?????????????? ???????????????? [Beck, 2000] ??????:
????, ????? ?? ??????? ???????? ? ???????, ?????????? ???????, ?????:
???????? ? ???????? ? ????????????, ????? ???? ??? ?????? ??? ????????:
???? ??????? ?????:?? ???, ???????? ?????????. ??? ????????? ????? ???:
???????, ??? ?????????? ?? ????? ? ??????????? ???????, ? ???????? ??:
????, ??? ?????? ??? ?????? ?? ??????? ????? ????????? ? ???????. ?????
???????????? ???????? ???????? ?????????, ??????? ?????? ??????????
????? ? ?????? ?????? ???????. ????????
??? ?? ???????? ? ??????? ????????????? ?? ??????? ???????. ?? ??
??????????????? ????????? ? ???????? ????????? ????????????, ????:
??? ????? ????????????????? ??? ????????. ???? ?? ??? ? ????? ? ?????. ? ????? ?????????????? ?????????? ??? ????????? ???????. ???????
? ??????????? ??? ??????? ???????, ? ??????? ?? ??? ?????????? ??????
???????? ????????????. ? ??????, ??? ??? ?????????? ??????? ??? ??????,
??????? ?? ???????????, ? ?????? ??????? ????????????? ?????????, ?.?. ??
?? ?????? ???????. ??? ?? ?? ???. ??? ?? ?????? ??????? ????????? ???????:
58 ????? 1. ? ???????????
?? ? ??? ?????????? ????. ? ??????? ??????????? ? ?????????????? ???:
????, ??????? ????? ?? ???????????, ?? ?????????? ????????????????. ? ? ??? ?? ??? ??? ???????? ??? ? ????? ??????????? ???????? ?????:
?? ?? ??? ?? ?? ?? ????? ???????????? ? ????? (???????????), ???????
???? ????? ?????????????? ? ?????????. ??? ??????? ?????? ???????
?????????????? ? ????????? ????????, ? ?????????? ???? ???? ????? ??:
???? ???????????? ???? ?? ???????????? ????????????. ????????, ???
??????? ?????? ?????, ??? ??? ????? ????? ?????? ????????. ????????????? ???????????????? ????? ????? ??????? ? ?????, ????:
?? ?? ??????? ???? ? ????????? ???????. ??????
Beck, Kent. 2000. eXtreme Programming Explained. Boston: Addison:
Wesley. ??????????
?????? ???????????. ???????? ?? ???????? ??? ????????, ????????????
??????, ? ??????? ??????? ????, ?????? ?? ???????????, ??? ?????? ???:
???????? ??????????? ?????? ??? ?????????, ????? ?? ???????? ??????
? ????????? ??????. ?? ?? ?????? ??? ???????, ??? ?????????? ??? ?????:
??????, ????????? ? ????? 12. ?? ??, ??? ????????, ????????? ?????????
??????????? ????? ??????, ??????? ????? ?????:?? ?????? ??????, ???:
?? ??????, ??????? ?? ???????? ?????? ?? ?????????? ????????. ???? ??????? ???????????? ?????? ?? ??????. ?????? ? ?? ??? ???????
????? ?????????? ????????? ????? ?????? ??? (? ???????? ?????????
? ????? ? ??? ??????????? ????, ??? ????? ???????? ???????????????) ?
????????? ?????????? ? ????????? ????? ??? ??????????. ? ?????? ?? ????????????????? ???????, ????????? ????????? [Lin:
berg, 1999]. ?? ?????? ???????? ??????????? ??????, ??????? ?????????:
???? 13
????? ??????????? ? ?????????????? ??? ????????. ? ????? ?????????
???, ??????????? ???????, ? ??????? ?? ???? ????????? ?????????, ??
?????? ?? ????????? ??????, ? ??????? ?????????????? ???????????? ???
?????????, ?????????, ??? ??????????? ??????????? ?????????? ? ??? ??? ?
????? ??????? ???????, ??? ??????? ??? ????????? ????????.
?????? 59
?? ???????? ?????????? ? ? ??????? ???????, ???????????? ???????,
???? ???????? ????? ??????. ?? ???????? ??????????? ????????????,
??????? ? ???, ?????????? ? ????? ???????? ???????, ??? ??????? ??? ??:
???:???? ????????. ????????! ??????????? (?? ??????? ????, ???? ?? ????:
??) ?????????? ???? ????????? ?????? ??? ???? ????? ????????. ??????,
?????????? ?? ?????? ???????????, ???????? ?????? ??? ??????????
???????? ??????? ???????. ??? ??? ?????????????! ? ??? ?? ??? ??? ?? ??????, ? ????? ??????? ??? ????????? ????????:
???. ?????? ???????? ?? 419%. ????? ?? 193% (27 ??????? ?????? 14).
???????, ?? ????????? ? ??????????? ???????, ???? ????????? ?? 130%
? ?? 800% (?? ? ??????????:?????????? ???????? ??????????????). ??
?????? ?????????? ???????. ??????? ????? ??, ??? ?????????????? (?????:
??? ??????????? ????????????). ?? ???????????? ?????????? «???????:
??? ??????????? ???????? ????? ???????». ??? ??? ???, ??????? ??????????. ?????? ?? ??????? ???? ??????
? ?????????? ?????, ???????????? ???????. ?? ??????????? ???????,
??? ?????? ?? ??? ?????, ???????? ??, ??? ?? ???? ???????????, ? ????? ???
??????. ? ???:???? ?? ??????? ?? ??? ???????????, ???, ???????????? ? ????:
??????, ???????? ????????, ????? ??????? ?????? «????? ????????»?
?? ??????? ?? ???, ??? ???? ???????????? ???????????? ??????????? ??:
?????? ? ??????????? ????????? ???? ???????? ? ??????????????? ?????:
???????, ?? ??????? ?? ??? ??????? ???? ????????? «??». ???? ???:???
???, ??? ??????? ?????? ?????? ???????? ??? ???? ????????????, ????
????????? ????? «???:???»: ? ??????? ??????? ??????? ??????? (????? ?????? ??????). ? ?????????? ????? ???????? ???? ?????????? ??????? ???????.
(?????????????? ?????? ??????????, ??? ?????? ????? ????????:
??? ??????????? ??????? ?????? ??????? ??????.) ? ??????? ???? ?????????????, ???????? ? ??????? ???????. ? ??????? ?????????? ???? «??????, ? ????? ? ?????:???? ???????».
??????? «????????? ??????? ???? ???? ??????? ?? ?????????? ??:
????? ???????????», ????????? ?? ???? «??????????? ???????»
(scope creep) ? ????????? «?? ?????? ?????». ? ????????? ???????? ???:??? ???. ??????? ???????????????, ??? ???
?????? ? ???????? ????????? ??????. ??? ??????? ?????: ? ??????????? ?? ??????????? ?????? ????? ???? ???????????????
(???!). 60 ????? 1. ? ???????????
? ???? ???????????? ????????, ? ????????? ?? ??????? ????????????
?????????. ? ????? ?????? ?????????, ?? ????? ???????????? ???? ??? ???????. ? ?????? ?????? ?????????. ?? ???? ???? ???? ???:??? ?????????. ??? ??? ????????? ???? ???????:
???? ?? ?????? ???????. ?? ? ???????? ???????, ? ? ??? ??????. ???????
???????, ?????? ??????? ??? ????????? ? ??????? ???. ??? ?? ??????
? ??? ?? ?????? ??? ??????????? ?? ????????, ???? ?? ??? ????????? ??
???????? ???????????. ? ???? ???????? ??? ?????? ??, ??? ? ?? ????? ???:
??? ???? ??????, ??? ?? ?????????? ??????. ??? ? ??????? ??????? ?????,
?????? ????????? ???????. ??????? ???????? ???????? ? ?????? ????????????, ???????????
??????? ??????????? ? ??????????? ????????????. ????????, ? ?????
?? ??? [Colter, Cougar, 1983] ?????????? ? ???????????? ?????????? ? ??:
??????? ??????????????? ????????????? ??. ????????? ????????, ???
????????? ????, ??? ???????, ???????? ? ??????????? ????? 200 ?????
????. ??????????? ??????????? ????????, ??? ????????? ? ???????????:
????? ???????? ???? ?? 50 ?? 100 ????? ????. ????????? ???????, ??? ??:
???????? ?????????? ????? ???? ??????? ? ???????? ?????????? ????:
???; ??????????? ???????, ??? ???????? ?????????? ???. ??? ???????? ??????????????? ????????, ?? ???? ?????????????, ??? ???:
???????? ??????????? ???????? ???????? ???????? ??????? ?????? ???:
??? ??????????? (?? 72%) [Cole, 1995]. ??? ????????, ??? ?? ??????????? ??
??????? ??, ??? ???????? ???????????, ?.?. ?????????????? ???????? ??:
????????. ???????, ????? ???????????? ??????????? ?? ????? ??????? ?????:
????? ? ???? ???????, ??????????? ?????????? ?????????. ??????? ? ??:
????? [Jeffery, Lawrence, 1985] ??????????, ??? «???????, ? ??????? ??????
?? ???????? ?????, ???? ??????? ? ?????? ??????????????» (?? ???? ???
???????, ? ??????? ?????? ?????? ??????????? ???????????, ? ??????:
??? ?????????? ???? ? ????????, ??????????? ???????????). ?????????
? ????? [Landsbaum, Glass, 1992] ?????????? «????? ??????? ??????????
????? ??????? ?????????????? ? ???????? ????????» (?.?. ????? ???????:
????? ???????????, ??? ????????????? ??????????? ???????, ??? ????
??????? ????? ?????????????). ??????? ???????, ??????????, ?????????:
?????? ?? ????????, ?? ??????????? ?????? ?????? ?????? ??? ???? ?????
????????????????. ?????? 61
????????
?? ???? ? ??????? ????? ??? ???????: ??????, ??? ?????????? ????? ???????,
? ?? ??????? ???????? ??????? ????? ???????????? ? ???????????? ???:
??????????. ??? ???????? ?????????? ???????, ?? ??????, ?????????? ?????????, ??
???? ?????????????? ?? ?????? ????????? ?????? ?????, ??????? ????:
???? ?? ??????? ????? ???????? ?? ??????. ? ?????, ??? ?????????, ?????:
??? ??? ??????? ? ?????????????? ? ????????????? ??? ?????? ??????,
????? ??????????, ??? «????????» ????????? ?????? ????? ?????????:
?????? ????????????? ??? ????????. ??? ? ?????, ??? ??????????? ?????:
?????? ????????????, ?????? ?? ?? ?????, ??? ? ?????????, ?????? ??????
???? ?????? ????????????. ???? ? ????, ?? ????, ? ??????? ?????????? ???:
??? ????, ?????????????? ???????????? ???????????? ?????????, ????:
??? ????????? ? ????? ? ???, ??? ?????????? ????? ???????. ???? ?? ?? ??:
??? ???????????? ?? ?????? ??????????? ????????? ???????, ??????, ? ??:
??? ??????? ??????? ??????? ????????, ??????? ?????????? ???????.
???????, ??? ?? ????? ?? ????? ??????? ?????? ?????? ? ?????? ?????. ?????????? ?????????????? ????? ????? ?? ?????????????? ? ??????:
????. ??????, ???????? ?????? ?? ????? ??????? ? ??????????, ??????,
??????????????? ??? ???????????? ?????? ???, ??? ????????? ?? ???
????????? ????????, ?? ???, ??? ????? ??? ????, ? ????? ?? ??? ???????:
???, ??????? ???????? ????????. ?????????
??? ??? ???? ?????? ???????? ? ?????????? ? ???, ??? ?????????? ? ???:
???? ??????:
Procaccino, J. Drew, and J. M. Verner. 2001. «Practitioner?s Perceptions of
Project Success: A Pilot Study». IEEE International Journal of Computer
and Engineering Management. ?????? Cole, Andy. 1995. «Runaway Projects ? Causes and Effects». Software
World (UK) 26, no. 3. Colter, Mel, and Dan Couger. 1983. ?? ?????????? ????????????, ????:
?????????? ? Software Maintenance Workshop Record. Dec. 6.
62 ????? 1. ? ???????????
Jeffery, D. R., and M. J. Lawrence. 1985. «Managing Programmer Producti:
vity». Journal of Systems and Software, Jan.
Landsbaum, Jerome B., and Robert L. Glass. 1992. Measuring and Motivat+
ing Maintenance Programmers. Englewood Cliffs, NJ: Prentice:Hall. Linberg, K. R. 1999. «Software Developer Perceptions about Software
Project Failure: A Case Study». Journal of Systems and Software 49, nos. 2/3,
Dec. 30. ??????????
????????? ?? ?????????? ?? ???? ?????? ????????????? ??????????
???????? «???????? ???????». ???? ?? ?????????? ??????????? ? ???, ???
«??? ?? ???????». ????, ????????? ???????? ?? ???????? ? ????????, ???
??????? ?? ?????? ?????????? ??????, ???????, ??? ??? ??? ??????????
??? ??????????? ????????? ?????????????, ?? ? ??????? ??????? ? ???
????????? ????????? ??? ??? ? ??????. ??? ????? ???? ?????????? ? «?????? ???????» ????????? ??? ?????, ??:
??? ????? ????? ?????? ?????? ??????????? ???????? ??????? ????????:
???? ????????. ??????????? ??????? ?????? ?? ????? ???????????????
??? ??????????? ? ????????, ?? ??? ???? ???????. ????? ????? ??????:
???? ??????, ???????? ? ?????? ??? ??? ????????? ??????????. ??????? ??????? ??????? ??? ???? ? ??? ? ????? ???????,? ????
? ???, ??? ??, ???????, ??????? ????? ???????? ???????????? ???????:
???. ???????? ??? ???????? ???: ??? ?? ????? ??????? ??, ??? ?? ???
?? ????????? ??????? ??????, ?? ?? ???????, ??? ????? ??????, ??????? ??
?? ????? ?? ??????, ??? ??????. ? ??? ????? ????????????, ????? ??? ???
? ????. ??????, ??????, ??? ???????? ???????? ??? ? ???????. ????? ?? ??:
??????, ??? ???????? ?????? ?????? ???, ?? ??????? ????, ?? ????? ???
????? ????. ????? ?? ??????, ??? ? ???????? ?? ????? ??????, ? ????? ????:
????????, ??? ??? ?? ?????????? ???? ????????? ?????? ???????, ??? ??
????????? ??????, ?????????????? ? ??????????? ?????? ??????. ????, ????? ????, ?????? ??????????????. ???????? ????????????? ??:
????? ??? ?? ????, ????? ???? ??????? ? ??????????? ?????????????. ? ???
(??????? ????????????????) ????????, ? ??????? ?????? ???????????:
???? 14
?????? ?????????????? ??????? ????? ?????? ???? ????? «??».
????????? ????????????? 63
??? ???????????? ???????????? ??????? ???????? ???????, ?? ????????:
??? ????????? ???? ?????: «??, ?? ????? ??? ???????». ? ? ????????? ????:
?????? ??????? ???? ????? ??????????? ????????. ?? ?? ?????? ?? ????
???? ?????? ????????? ???????. ????????
????????? ????? ????? ?????????? ?????? ? ???????????? ??? ?????????:
????? ?????, ??? ?? ????? ????????? ??? ??? ???????. ??:?? ????? ??????
???? ?? ????????? ??? ????????, ????? ????? ???? ?? ???????. ?????
????, ?? ?????? ????, ??? ?????? ?????????????? ?????? ?????????? (???
?????? ??? ?????), ?????? ??????, ??? ??:?? ??? ???????????? ???????????. ????????
???????? ??????? ????? ???????????? ??? ???? ?????? ???????. ? ?????:
????? ? ????????????? ??????????? ?? ?????????? ????????????????
(International Conference on Software Engineering, ICSE) ? ????? ? 1987 ????,
??? ? ???????? ????????? ?????????? ???????? ????????????? ??????
???????? (Jerry Weinberg). ?? ???????????????, ??? ?? ????????????????
? ???? ?????:???? ?????????? ? ??????? ??????????????, ????????? ??????:
?? ??? ?? ?????????????. ??????? ? ????????? ?????????? ???????? ???:
?????, ????? ???????? ????. ?? ????????? ?? ???? ????. ? ???? ?????? ???
1500 ??????? (??? ????? ????) ????????, ? ?????, ??? ?????? ???????? ??:
?? ?? ???????????? ??????? ??????? ? ???????, ? ??????? ?? ???????
?? ????? ?? ????????????. ????????? ?????????????
??????????
? ???????????? ???? ??????? ???????, ??? ????? ??????? ????, ???????
?????????? ? ???? ??????, ?????????? ?????? ???? ?????. ????? ?? ????:
????? ? ????????? ?????????????. ???? 15
????????? ????????????? «? ?????????» (? ??????????? ???????????)
????????? ????? 50 ??? ?????, ? ??????? ???? ?????? ?????????? ??????.
64 ????? 1. ? ???????????
?? ?????? ??????, ???? ?????????? ????????????? ??? ?? ?????, ??? ??:
?? ????????????????. ? ???????? 1950:? ???? ???????????? ????????:
??? ????????????? ??????? ?????????? «???????????» (????? ?? ???
??? ?? ????????) ???????????? IBM. ???? ?? ????? ?????? ?? ??????? ??:
?????? ? ???, ??? ??? ???? ??????? ?????? ?????????????? ????? ????:
??????????, ?????? ?? ??????? ?????? ???? ?????. ??????????? ??????:
????, ???????????, Share, ? ?????????, ?????????? ??????????????
? ??????????????? ??? ? ????? ????????????, ????? ?????? ????????:
??? ??????????? ????????????? ??. ?????, ?? ???? ???????????? ?????,
????? ???????, ????????? ??????, ??????????? ?? ? ??? ??????????, ???
????????????. (??????????? ????? ????????, ??????, ???? ??????. ?????
???????? ?? ?? ?????????? ? ??????? ? ??? ???????????? ????????? ???:
??? ? ?????????????. ? ???, ????????, ??? ???? ??????? ???? ? ???????
???????? ????????? ??, ??? ?? ? ???????? ???????? ?????.) ??? ?????????? ???????? ???????? ????????? ??, ??? ?? ??????? ??:
????? ?? ??????????? ?????????? ????????????? ? ?????? ????????. ??:
???????????? ???????. ?????????? ? ???????. ????????? ????????????
??????? ??????????. ??????????? ?????????? ?????. ??? ?? ??????????:
??? ????????? ???????????, ??????? ????? ?? ??????? ???? ????????:
?? (? ????? ?? ??? ???) ??????????? ?????????????. ?? ??? ?????? ??:
????????? (? ????? ????? ?????!) ??????, ????? ? ??????? ? ??????????
Share ?????????? ? ?????????? ?????????. ????????? ????????????? ???? ? ?? ??? ???????????? ?????? ??????:
?? ??????????. ???, ??? ????? ?????????, ??????? ???? ?????????? ?????
????? ????????????????, ??????? ?????????? ? ?????????? Share. (??????
???????????????? ??????, ????? ??? Guide ? Common, ????????, ?????
???? ??????????? ?????????? ??? ??????????? ?????????? ????????. ??:
??? ? ?? ????? ???????????? ?????????? ? ??????? ?? ????, ???? ??
Guide ? Common ??????? Share.) ?????, ??? ????? ?????????, ? ???????
?????????? ????????? ????????? ?????,? ??? ? ????? ?????? ? ??????????
Share. (??? ?? ???? ????????? ? ?? ????????????? ?????????? ?????????
????? ?? ???, ??????? ???????????? ????????? ????? ?? ??????? ??????:
????????? ???????, ???????? ?? ?????? ??????????? ?????????????.) ????????? ????????????? ? ?? ??? ?? ??????????? ??????? ????????,
????? ?? ????????????? ???????? ????, ??????????? ? ??????????. ????:
?? ???? ??? ???????????? ? ????????? ?? ?????????? Share, ??? ????
????? ??? ???, ? ?? ???????? ????? ??????, ????? ???, ?????????? ? ??:
????????? ????????????? 65
??? ??????????, ?????????????? ?? ???????? ??????. ? ?? ?????, ?????
???????? ???????? ???????????? ???????? Share ???????? ?????????. ????? ???? ??????? ? ???????? ?????, ??? ????? ????? ?????????? ??:
???? ??????? ?????????? ????????????? ? ??? ??????????? ?????? ? ????:
????, ??? ??? ????? ?????? ? ????? ??????? ????. ??? ????? ????? «? ???:
??? ????????», ??, ???????? ?? ??????? ?????????????? ??? ?????????
?? ????? ??????? ??????????, ?? ?????? ??? ??? ???? ??? ???????? ???:
???????. ?????? ?????? ???, ?? ??????? ? ????? 16.
????????
?????????????? ???????????? ????? ??????????? ? ???, ??? ???????
?????? ? ????????? ?? ????????, ??? ????????? ????????????? ? ??? ??:
??????? ????? ????. ? ?????????? ??? ???????? ??????????? (? ????? ??:
??????? ????????? ??????) ?????????, ??????? ??? ?? ???? ????? ????:
???, ???? ?? ???? ????????? ?? ??????? ? ??????, ?????? ?? ?? ???????
????????? ?? ??? ????. ?????????
???????????? ??? ?????? ???? ? ????????? ????????????? ????? ????
? ???? ??????. ?? ????? ???? ????? ????? ???? ??????? ?????? ? ????
??????????? ??????/???????????????? ???????????? [Glass, 1998] (???
?????????). ????? ????, ????????? ???? ??????? ????? ????? ? ???????
Share (??? ?? ??? ??? ?????????????, ? ? ?? ?????? ????????????? ????
??????? ??, ??? ??????? ??????? ?? ????????? ???????????? ? ????????
??????, ??? ????????????? ???????????? ????? ??????, ????? ??????, ??:
????????????? ? ???????????? ? ????????? ????????, ?? ????????). ??????
Glass, Robert L. 1998. «Software Reflections ? A Pioneer?s View of the His:
tory of the Field». In In the Beginning: Personal Recollections of Software
Pioneers. Los Alamitos, CA: IEEE Computer Society Press. 66 ????? 1. ? ???????????
??????????
???? ???? ? ????????? ????????? ???????? ??????????? ??????????.
??????? ?????? ? ??????? ? ????????. ? ????? 15 ???? ??? ? ???, ??? ??
?????? ?????? ?????????? ????????????? «? ?????? ????????» ????? ???
40 ??? ?????. ?? ??????? ?? ?????????? ?????????? ?????? «???????????»
?????????? ?????????????. ?????? ??? ?????? ?? ????? ?????? ??? ?????, ??? ?? ??????? ??
? ????????? ??????? «????????». ???????? ???? ? ????????? ???? ???????? ?????? ????? ????????.
????????? ????????????? ????????? ????????????? ????????????? ??
????? ??????. ??, ????????, ??? ?? ?????? ???: ????????? ???????, ???
? ??? ???? ???????, ??? ??????? ????????? ????????? ???????????? ??:
???????? (????? ??????? ???????? ???? 18), ?? ??? ?? ???? ??????????:
??? ???????????. ????????? ? ???, ??? ??? ??????????? ???????????? ??:
???? ? ?????? ??????? ?????? ????????? ?????? ? ???????? ?????????:
???? ????? ??????? ?????? ???????????? ? ???????? ???????????? ???:
???????. ? ??? ????????????? ???????????. ?? ?????????? ???????? ?? ??????
???? ?? ??????, ??? (?? ??????? ????, ???????? ????? ?????? ????? ????:
?? ???) ??? ??????? ????????????? ????? ????? ????? ?????????????
???????????, ?????? ????????? ??????? ??????? ????????????, ?? ????:
??? ????, ? ?????? ??????, ????? ??????? ????????? ?????????????
«? ??????? ????????» ??????????????. ????????
????????? ????????????? ???? ? ??????? ???????? ???????? ????????
????????. ??:??????, ?????????? ???? ???? ????? ? ??? ??????? ??????? ? ????:
???, ? ??????? ????????? ?????????? ?? ??????? ??????????? (??? ??:
?????? ??? ???????????:??????????????? ??????????? ???????????:
?????). ?????? (?????? ??? ????????), ??????? ????? ??????????? ? ??:
???? 16
?????? ?????????? ????????????? «? ??????? ????????» (? ???????????)
???????? ?? ??????? ????? ??????????, ???? ??? ???????? ? ???, ??? ???
???? ??? ????? ?????.
????????? ????????????? 67
??? ??????? (?????? ???, ? ????????? ???????????!), ??????????? ???????:
?? ? ???? ????. ??? ???????, ??? ????? ?????????? ???????? ??????????
????? ????????????????, ????? ???????? ??? ??????????? ??????????:
?? ??????????, ??????????????? ? ?????????? ??????. ?????????? ?????? ????????????, ?? ???????? ? ????, ??? ????? ??:
?? ?? ??????? ?????????????? ??. ???? ? ????????? ???????? (? ????
? ?????????? ????????) ?????????? ????? ?????, ?? ???????????:?????:
?????????? ??????? ? ???????? ????? ??????? ????. ???? ??, ??? ??????:
?????? ??????, ???????????? ?????????? ? ???????? ????????, ??? ??:
??? ??? ???????? ?? ????? ?????? ???? ?? ?????, ?????, ????????, ?????
???????? ???? ?? ?????, ??????? ????????? ??????? ? ??????, ? ??? ??:
???????? ????? ????????? ???? ????????? ???? ?????????. ??????? ???? ?? ???? ?????? ???????? ???? ???????? ??????. ?????
??????????? ??????? NASA:Goddard, ??????? ?????? ???? ?????????
????????? ??????????? ????????? ? ????? ??????????? ??????????
???????????????? (Software Engineering Laboratory, SEL) ? ??????? ?????:
?????? ????? ???????????? ?????????? ??????? ???????? ??????, ????:
?????, ??? ?? 70% ?? ???????? ????? ???? ????????? ?? ???????? ??:
?????????? ???????. ?? ???? SEL ????????? ???? ???? ???????? ????
???????????? ?????????? ??????? ? ?? ??????? ????????? ?????? ? ??:
??? ??????????? ???????. ??:??????, ?? ?????? ????, ?????? ????????? ????????????? «? ????:
??? ????????» ??? ? ?? ???????? ??????? ????????????, ? ??????? ????
?????? ??????. ??????, ???????? ?????????, ????????, ??? ????? ????
????????? ?????????, ??????? ???????????? ????????? NIH (Not Invent:
ed Here ? ????????? ?? ?????), ?????????? ???? ????????????? ? ????????:
??? ????? ??????. ??????????? ?????????? ???? ????????? ????? ?????
?????? ???????? ? ? ???????? ????? ?? ??????? ? ??????????. ? ????
????? ?????? ????????? ????????????????? ?????????? ?????????????
??????? ? ?????, ? ?? ? ???????. ???????? ???????, ??? ?????? ?????????
?????? ?????????? ??????? ? ?????????, ?????????? ???????? ??????:
??? ?????????????, ??????? ??? ????? ????. ?? ???? ? ????????? ????????????? ???????? ?????? ????????????
???, ??? ?? ??????????, ?? ?? ???? ???? ??? ???????. ??? ???????, ??? ??:
????? ??????? ??????? ?????????????, ??????????? ???????????? ???:
??? ????? ????????????????, ??? ?? ??????????? ????????????, ?? ???
????? ???????, ??? ????? ?????, ????????? ????????? ??? ??????, ?? ??:
???????? ?????. 68 ????? 1. ? ???????????
? ??????? ?? ???, ??? ????????? ???????? ???????? NIH, ? ???, ??? ??
??????? ???????????? ???????????? ?????? ????????, ? ???????, ???
???????? ????? ???????????. ? ??????: ?? ??????? ???????????? ?????,
??????????? ?????, ????? ?????????, ??????? ?? ??? ????????????? ??:
??? ??? ????????????? ??????????, ?? ?????? ??? ? ?????????? ?????:
???, ????? ?????? ? ?????????????? ??????, ? ????? ?? ??? ???????. ????
????? ?????? ? ????????????? ??????, ??? ??? ????? ??? ????????? ???:
?? ??????? ? ???, ??? ??????? ?????? ?????? ?????????? ???????? ??:
???????? ?????????????. ? ????? ? ??????? ????????? ???????? ??????:
?????? ??????????, ??????? ???? ?? ???????? ??? ?????? ?? ????????
??????? ??????????, ??? ? ?? ????????? ?? ?????????? Share. ? ? ????,
??? ???? ???, ??????, ???????? ???????, ????????? ?????? ??? ??????. ??:
??????, ????, ??? ????? ?? ???????????? ???????????? ? ??????? ??:
???????????? ?????? ???????? ????????????? ????????? ???????, ? ??:
??????? ????????????? ??????????? ???????????????? ??? ???????/??:
???????? ???????. ???????? ?????? ?? ?????????? ??????, ? ??? ? ??
???? ???????? ??????????? ???????? ? ???????????? ????????? ????:
???/?????????? ???????, ????? ?????????? ?????????? ? ?????????
??????????, ?? ?????? ??? ? ???????? ????????. ????? ????, ?? ????? ??????, ??????? ?????????? ?????????????
? ??????? ????????, ????????, ??? ? ????????? ??????????. ???? ?? ? ???:
????? NIH. ???? ?? ? ??????? (??? ??????????) ????. ? ???? ?? ? ????????:
?? ????????????. ?????? ??? ?????? ??????? ??????, ????? ?? ????? ??:
?? ??????, ??? ?????? ??????? ? ???????????? ??. ???????, ?????? ?? ???????, ????? ? ??? ????. ???????, ? ??? ????? ??
???????. ?????? ???????? ?? ??????????? ???? ?? ????????????? ?????:
??? ???????? ??. ??? ? ?????????????? ????????? ???? ?? ????????????
??????????. ?, ??:?????, ????????????, ??? ???? ?? ???? ?? ???????? ??:
??? ?????:???? ?????????? ?????:???? ???????? ???????. ?????????
?? ???? ?????????? ????????????? ? ??????? ???????? ???????? ?????, ??
????? ?? ???? ??????? ???? ?????????????? ???, ????? ??? ?????? ?????????. ???? ??????????, ??? ???? ?????? ????? ???????????? ??????????
??????? ?? ???, ??? ???????, ??? ??? ???? ? ??????????, ? ?????????? ???:
???, ?????????? ?????? ??????????? ? ???????? ???????????? ??????:
???. ??? ??? ?????? ????????? ? ???? ?????? ??????:
????????? ????????????? 69
IEEE Standard 1517. «Standard for Information Technology ? Software
Life Cycle Processes ? Reuse Processes; 1999». ????????, ????????? ??:
???????? ??????????? IEEE, ??? ?????? ???????? ????? ?????:
???????? ???????? ???????? ???????????? ???????????.
McClure, Carma. 2001. Software Reuse ? A Standards+Based Guide. Los
Alamitos, CA: IEEE Computer Society Press. ?????????? ?? ???????:
??? ????????? IEEE. ????????? ?????? ??? ????????? ??? ????????? ?????? ??????? ?? ??:
???? ?????????? ?????????????. ???, ??? ??? ???????? ?? ??? ????, ??????:
?? ?????????. ??? ??? ?????????? (Ted Biggerstaff), ???? ????? (Will Tracz)
? ??? ?????? (Don Reifer). Reifer, Donald J. 1997. Practical Software Reuse. New York: John Wiley and
Sons. Tracz, Will. 1995. Confessions of a Used Program Salesman: Institutionaliz+
ing Reuse. Reading, MA: Addison:Wesley. ??????????
????, ????????? ????????????? ? ??????? ???????? ? ??? ???????, ????
?????? ?????? ?????????? ??????. ????? ?? ???:?? ????????? ?????
?? ?? ???????? ???????? ????? ?????????????. ????? ????, ????? ?????????? ????? ??????
??????????, ????????? ? ????????????? ? ?????? ?????????? ????????,
?? ? ???????? ????? ??????? ??????? ?????????? ???????? ? ???????.
???? SEL ?? ???????? ???????? ? ??????? ???????? ?????? ???????? ??:
??????????. ????, ?????????? ? ?????????? ??, ??????? ? «??????????» ???????:
???, «???????? ?????????» ? «????????????, ??????????? ??? ????????».
??? ???? ?????? ?????????? ?????? ??? ????, ????? ???????, ??? ??????:
?????????? ????????? ?????????????, ???? ??? ?????? ????????, ????:
?????? ????????? ? ?????? ????????, ???????? ?????????? ??????.
????????? ????????? ? ????, ???????, ????????? ????? ??????. ???:
???? 17
????? ?????????? ????????????? ? ??????? ???????? ?????? ?????????
??? ? ?????????? ??????????? ?????? ? ?????? ??????? ?? ?????????? ??
?????. ??? ?????? ????????????? ???????????? ?????????? ??????????
??? ? ??????? ????????.
70 ????? 1. ? ???????????
?????? ??????????????? ????????? ?????? ? ????????????. ?????????
?????????? ????????. ????????? ??? ??????? ?????????? ???????????
???????. ???????? ???????? ?? ?????????? ??????????????, ????????:
??? ??? ??????????? ?????????? ??????? ? ???????, ? ??????? ??????:
?????????? ????????? ????????????? ???? ?? ???????????????. ????????? ????????????? «? ??????? ????????» ????????????? ? ??:
?? ???????????? ?????????? ??????? ????? ??????? ????? ?? ?????.
? ????????? ?????????????, ????????? ?? ??????? ??????? ? ???????, ??
?? ????? [McBreen, 2002]. ????????
???????? ?? ??????? ????? ??????????? ????? ????, ??? ?? ????? ????:
???????? ?? ???? ????????? ?????????????? ?????????? ?????????????
? ??????? ????????. ????????? ?? ??? ? ??? ??????????, ?????????
????????, ?????????????? ????????? ????????????? ? ??????? ??????:
??. ?????? ? ??? ?????????, ????? ???? ????????? ? ?????????? ????????
? ???????? ?????? ? ??, ??? ??? ????????????? ? ????????, ????????:
??? ??? ?????????? ???????. ??? ????????? ? ?????????? «????????????:
?? ???????» (one:size:fits:all) ?????? ? ?????????????, ????????????????
?? ???? ??????, ???????? ?????? ? ??????????? ??????. ??? ?????? ??
??????, ??? ????????? ????????? ?????????, ?????????? ?? ????, ? ?????
?????????? ??????? ???? ????. ? ??? ?? ?????. ?????????
?????????? ????, ??????????? ?????????? ??????????? ????????? ? ??:
??????????, ?????? ??????. ??????? ???????, ?????? ???????? ??????:
???? ?????? ????, ? ???????? ????? ????? ??? ????????????. ??? ???? ??:
???? ?????? ????, ???????????? ? ?????? ???? ????? ?????? ??????????
???????:
Bosch, Jan. 2000. Design and Use of Software Architectures: Adopting and
Evolving a Product+Line Approach. Boston: Addison:Wesley. Jazayeri, Mehdi, Alexander Ran, and Frank van der Linden. 2000. Software
Architecture for Product Families: Principles and Practice. Boston: Addi:
son:Wesley. ????????? ????????????? 71
??????
McBreen, Pete. 2002. Software Craftsmanship. Boston: Addison:Wesley.
?????????? ? ???, ??? ?????:????????? ????????? ?????????????
??????????? ????? ??????. ??????????
????? «???» ? ?????? ?????????? ????????????? ?? ????????? ????????
??????????? ??????. ? «???????? ????» ?????? ? ??? ????? ???? ??????:
?????? ???????? ? ?????? ??????. ?? ??? ????????? ??????????????
???????, ??????????????, ?????????? ???????????? ???????. ?????? ???????? ?????? ?????, ??????????? ??? ???????? ???????????
???????????? ???????????. ?? ??? ?????, ??? ?????????? ???????????
???????????? ??????????? ? ??? ??????? ??????. ????? ????????? ??????
?????????? ?????????? ?????????? ?????? ? ???????? ??????????, ????:
?????? ?? ????? ????? ??????????? ??????. ??????????? ????????????
?????????, ??????? ??, ?????? ?????? ??? ????? ????? ?????? ???, ?????
??? ???? ???????? ??????? ??????????. ???????????? ????, ??? ??? ????????? ???????,? ????? ????????????
?????????? ?????? ?????????? ?????????? ??????. ??????? ?????????
?????????? ??????????? ????????????? ?????????? ??????????? ?? ???:
???? ??????????? ?????????? («?????? ?????????? ???????»), ?????????:
????? («??? ? ???? ?????? ?????? ?????????? ???????»), ???????????
? ????????????. ??????? ???????, ?? ?????? ?? ??????. ?????????????, ??? ???????? ?? ?????????? ????????????? ???????,
??? ????????? ? ??? ???? ?????? ???????. ????? ????? ????????, ???, ????
??????????? ????? ???????? ?????? ? ??????? ? ?????????? ????, ??? ??
??? ????? ????????? ?????? ??? ????????, ?? ????????? ? ???????? ???:
??????? ????????. ?????? ????????? ?? ??????????? ??????????????:
??? ????????? ?? ??????? ?????????? ?????. ???? 18
? ???????? ?????????? ????????????? ???? ??? «??????? ????»: ?) ?????
?????? ???????????? ?????????? ? ??? ???? ????? ?????????, ??? ??????
????? ??????????; ? ?) ??????????? ???????????? ????????? ?????? ????
?????????? ? ???? ????????? ???????????, ?????? ??? ??? ????? ?????
??????? ?????????? ?????, ????? ????????? ? ?????????? ???????????.
72 ????? 1. ? ???????????
?????? ???????????? ??????? ???????? ?????????? ??????????? ? ???,
??? ??? ??????????? ???????????? ????????? ????????????? ???????:
??????????. ???? ????????, ??? ?? ?????? ???? ??????. ?? ?????? ??????
????????? ??????????? ??????, ?? ???? ??, ? ???????, ????????, ?? ????
?????? ?????? ????????????? ? ?????? ???????? ??????????. ??? ??? ??:
?????: ????? ??? (????????? ???? ????????? ? ???? ????????? ???????:
??????) ????? ???????????. ?????, ??? ??? ??????????? ???????????.
?? ???? ? ?? ???????????? ?????????? ????????????? ????????? ? ????
?? ???? ????????? ???????????, ?????? ??? ?????? ?????, ??? ?? ?????:
???????? ?????????????????. ????????
? ???? ????? ?????????????? ??? ???????????? ???????, ? ???????????:
??? ??????? ???? ?? ???:?? ????? ???????????. ??? ????????, ??? ?????:
????? ????????????? ????????????? ??????? ????????????? ? ??? ?????:
?? ?????? ????????, ??? ?? ???????????? ????????????. ???:?? ?????
????????? ? ??????? (? ????????), ?? ???? ?? ???:?? ????? ???????? ??
?? ?????????? ? ???? ??? ????? ???? ???????????? ???????. ?????????
?????? ???? ???? ???????? ? ???????? ??????? ??? «??????? ???? ?????:
??????» (Biggerstaff?s Rules of Three). ???? ?????? ?????? ???? ???????????,
?????????????? ? 1960:? ??? 1970:?, ??? ??????? ??????????? ? ????????
?????????? ?????????????. ? ?????????, ??? ???? ?????, ????????? ???:
??????? ?????? ? ?? ????, ? ?????????????? ??????? ????? ?? ? ???????:
?? ??????? ?? ??????????. ?????? ? ??????? ?????? ? ???????? ??????,
??????????? ???? ???????????. ? ???? ???? ?????? ??????? ?????????? ??? «??????? ????» ? ??????
???????????. ? ?? ????? ????? ???? ???????????? ?????? ???????????,
? ??????? ??? ?????????? ?????????????? ?????????? ??????? ??? ???:
???:?????????? (? ??? ??????? ? ???). ? ??????? ??????? ?? ??? ??????:
???? ??????? (??? ????? ?????????? ?????), ? ????????? ??????? ?? ?????
??? ?? ??????????? ?????? ?????????? ???????, ?? ???????? ??? ?????:
???? ? ??????? ???? ?????? ???????????? ??????. ?????????? ??????? ?? ???? ??????????? ??? ?????????? ????????,
???? ? ????? ??? ?????? ?????????, ? ??? ??? ??? ???? ???? ?????????:
????????? ????????????? 73
??. ???????????? ??????? ????. ???????????? ????. ????????????
???? ????. ?????????? ???? ?????? ????????? ?????????? ?????, ?????
???????????? ?? ????, ??? ? ????? ? ??? ??????? ???????, ? ??????? ???
?????? ?? ?????. ???? ?? ?????? ?????????? ???????????? ?? ??????? ???????. ?????:
??? ???? ???? ??, ??? ? ??????? ??????????, ????????? ????? ?????? ??:
??? ? ???? ???? ????????, ? ??? ?????? ? ??????, ??? ????????????? ????:
??? ????? ?? ???? ???????????. ???? ?????? ????????? ??? ?????????? ??????. ????????????? ??????,
??????? ???? ???????? ??? ??????? ?????? ?????? (??? ???? ? ??????
? ?????? ??????), ???????? ????????????. ??????????? ???????? ???????
???? ?? ?????? ?????? ????????? ????????? ???????, ?? ????? ? ??????:
??????? ????????? ???????. (? ?????? ??? JARGON. ?????? ????? ????????
??????????? ? ??????? ???????, ??? ??? ????? ???? ????????, ?? ??????:
?? ? ??? ??????????. ????????, ?? ??????? ? ??????? ? ?? ?????, ??????????
Aerojet. ?? ???????????? ??? ???????????? ?? Nimble. ? ??????? JAR:
GON ??????????? ???: Jeneralized Aerojet Report Generator on Nimble (???:
?????????? (??!) ????????? ??????? ???????? Aerojet ? ????? Nimble).) ??? ???, ? ??? ?????? ? ??????, ??? ?????????? ???? ???????? ??? ???
?????????? ???????, ????? ????? ?????????? ???????. ? ??????, ???
???????????? ???????? ???? ? ?????????????? ??????? ????? ?????
????????? ???? ??????? ??? ?????????? ?????? ???? ??????. ? ??? ??:
?????? ?????????a ?? ????? ???????. ?????? ?? ??????, ?????? ? ?? ?? ???
??? ?????. ? ?????????, ? ?? ???? ??????????? ?????????????? ??????? ???????
????, ???????? ???????? ????????????? ??????? ??????? ? ??? ???? ????:
?? ???????. ?? ? ????????? ??????, ??? JARGON ?????????? ???????????
?????? ???????, ??? ????? ?? ???? ??????????? ???????????. ? ? ??????
????? ??? ?????? ?????????????? ? ?????? ?????????. Biggerstaff, Ted, and Alan J. Perlis, eds. 1989. Software Reusability. New
York: ACM Press. Tracz, Will. 1995. Confessions of a Used Program Salesman: Institutionaliz+
ing Reuse. Reading, MA: Addison:Wesley. 74 ????? 1. ? ???????????
??????????
????, ????????? ????????????? ? ??????? ???????? ???????????????
????? ??????? ?????????? (???? ?????? ??? ?????? ????????), ?????
??????? ??????????? ??????????, ? ?????? ??????? ??:?? ????????????
?????, ???????? ??????????????. ??? ?????? ?? ?? ???????? ??????
????????????? ? ???????????????? ????????? ?????????????? ??????
?? ?? ?????????????? ??????????, ????? ??? ??????????????? ???????:
??? ??????, ?????? ???? ????? ???????????? ?? ? ????????????, ??? ???:
????, ????? ?????, ????? ?????????? ?????????, ????? ????????? ??? ???:
??????? ???????? ??? ??????, ???? ? ?????????? ?? ????????? ??????????
??????????. ???????????, ??? ???? ???? ?????????. ?????????? ?????????, ?????:
??? ???????? ? ????????????? ???????????? ??????????? ?????? (??
???????? ? ???? ???? ? ??????????? ??????), ??????????? ??? ??????:
???? ?? ????? ???? ?????????? ??????. ?????? ??????????? ???????
??????? ? ????????? ????????? ????? (?????, ??????? ???????????? ????
??????????? ?????? ?????? ? ???????????? ????????? ???????) ? ? ????:
???????? ? ?????????? ?????????? ?????????????? (?????? ???? ????:
???? ????? ?????? ?????? ?????????? ?????? ? ???? ?? ????????????
???????). ?? ??????????? ??? ???????, ????? ???, ??? ??????? ????????:
?????? ????? ???????????? ????, ???????? ??? ??????????? ? ?????????
??? ????????, ????? ?????? ??????? ??????? ????????? ?? ?????. ????? ????, ????? ????????? ????? ????? ?????? ????????????? ??????:
?????? ??????, ?? ????? ????????? ????????? ??????? ????? ??????, ??:
????? ?? ?????????? ?????? ????? ??????????????, ??????? ?????? ?????:
???????? ????????????? ?????????? ? ????????? ?????????? ????????.
(???????? ????????, ??? ??? ???????? ??????? ?????? ??????????????
????????????????, ??????? ?????? ????? ? ?????? ??????? ? ???????
????????? ???????, ??:?? ???? ??????????? ??????????? ????????????
??????? ???????????? ?????? ??????????????.) ???? ??? ???? ????????, ??????? ? ?????? ?????????? ???????????
??? ?????????? ??. ??, ??? ?????? ?????? ????????????? ??, ????????,
???? 19
??????????? ???????? ????????????? ???? ?????? ??????? ????????.
???? ???? ???????? ????? 2025% ???? ??????????, ?? ????? ??????????
??? ? ?????? ??????.
????????? ????????????? 75
??? ???? ???? ??????, ?? ????????? ????????????? ??? ????????? ??????
??????????? ??. ?????? ??? ??????? ? ???, ????? ?????? ????????? ??:
?????. ?????? ????????, ??? ???? ????????????, ???????? ???????????
????????? ???????????? ???????, ???????? ?????????????? ??? ?? ???:
??????? ?????????? ???????. ??? ??????????? ???? ?????????? ???????????? ???????? ??????? ???:
????????????? ????????????? ????????????, ? ??????? ??????? ??????
????????? ? ????????, ?????? ????????? ???????? ?????? ???. ????? ??:
?????? ???????????? ???????? ????????? ???????????? ? ?????????:
??? ????????? ??????????, ??????? ?????? ??? ??? ???????. ?? ????? ??
???????????? ? ??? ????? ?????????, ??????????? ??? ????????? ??.
??? ????????, ??? ???????????????? ???????????? ??????????, ?? ?????
????????? ?????? ?????????? ??????? ???????????? ??????? ??? ????:
????? ??? ??????, ??????? ? ?????? ??????? ?????? ???????????? ????:
?? ?? ????????????. ??????????? ??????????? ??????, ??????????????
?????????? ???????????????? ?????????????, ??????????? ???. ????? ????, ?? ????? ????? ?? ?????????????, ????? ???????????
??????? ?????????????? (? ???????????? ??? ??? ???????? ??? ???:
????????? ? ????????????????, ??? ?? ?????? ? ????? 42), ???????????:
????? ????????????, ????? ?? ??? ?? ????, ????? ???????? ? ?????????:
??? ? ??????????? ??. ??????????, ??? ???????????????? ????????????
????? ???????????? ??? ?? ????? ?? ???? ?????, ?? ???? ???? ??? ??????:
????, ??? ?????? ????? ???????? ? ?????? ??????????????. ?? ???? ?????:
??? ?????????? ??????????? ????? ?? ????????????? ??????? ??????
????. ????, ???????????? ? ?????? ??????. ?????? ?????????????? ??.
????????, ? ???????? ????????? ??????, ??????????? ????? ??? ?????:
??????. ????? ???? ????? ?????? ???? ?????? ?????: ??????? ?????
? ????????? ???????????. ???????????? ?????????????? ??????????? ??:
??????, ? ???? ?? ?? ?????? ??????? ??????? ?????????? ????????????
?????????, ????????????, ??? ?? ?????? ????????? ?? ????? ?????. ?? ??????? ????? ? ??????????? ??????????? ??????????? ???? ??:
?? ?????????. ??????? ?????????????? ???????? ??????????? ??????? ?? ????????
?? ????????????? ??????????? ?????? ????????. ??? ????????, ?.?. ???????? ??????????? ?????????? ?????? (??? ??
?????? ??? ????????). ?? ??? ???????? ? ?? ?????? ???????. ?????????
76 ????? 1. ? ???????????
????????????? ?????? ????????? ??????????? ?????? ????????, ? ????:
??? ?????? ?????? ????????, ????????? ????? ???????????????? ???
?????? ? ?? ? ??????. ??? ???????, ????????? ????? ????? ???? ?????? ? ??:
???? ?????? ???????? (?????????? ??????? ????? ?????:?? ????? ???:
??????? ????????? ?????? ????????, ? ????? ? ????????????? ????? ??
?????????? ??????? ??????, ????? ?????? ?????? ?????? ?? ?? ?????). ????????? ??????????? ????? ??????? ???????????? ?????? ?????:
?????? ? ???, ??? ?? ?????????? ???????? ? ???? ??? ?????? ???????? ??:
??? ??????. ? ???? ????????? ?????? ??????? ????? ???????, ?? ?????
???????????? ?????? ?????????????????? ?????? ??????????? ? ????:
???????? ? ????????? ????? ??????? ????????. ????? ???????, ????????:
??? ????????? ??? ??? ???????????? ???????????, ????????? ????? ??:
???? ????? ??????? ???????? ?? ????? ??????. ? ?????????? ???????:
??? ???????? ??????????? ????????????? ????? ? ????? ??????? ???? ? ??
?? ????????? ? ????? ????? ???? ??, ?, ???????, ??? ?????? ????? ??????,
??????? ?? ??? ?????????? ????????????. ?????????? ????? ??????????
? ?????????, ? ?????? ??????? ?????? ????????? ???? ??????? ??????. ?????? ????? ??? ?????? ??????. ?????, ??? ??? ? 1960:? ??? ???:
?????, ???????????? ?????? ??????? ????? ??????, ?????????? ?? ????:
??????? ???????????? ???????? ?????????? ?????????? ??:?? ????, ???
????????????? ??? ??? ?? ????? ???????? ????? ???????. ? ?????????,
??? ? ? ??????? ??????? ????? ??????????? ???????, ?????????? ? ???:
??? ?????, ???, ??????, ?????????? ????? ???? ???? ??? ? ??? ???. ??????? ???????????? ?? ???? ????????????? ?????? ?????????? ??:
??????? ??????????? (Enterprise Resource Planning, ERP) (????????, SAP), ?
???????, ??? ????????? ??????????? ??????? ????????? ???????????
??????????? ???????, ?? ????? ???????????? ?? ???? ?????????, ?????
??????????, ? ?????? ?????, ?? ??? ??? ???? ???????. ??????, ??? ??? ?? ???????? ????? ?????????? ??????????? ??? ?????:
??? Open Source. ???????? ???????? ?????? ? ????????? ???? ? ????? ??:
???????????? ???, ?? ?????????? ????????? ????????, ????????, ?????:
??????, ?? ??????????? ??? ???????, ????? ???????????????? ?????? ??:
??????? ???? ?????? ????? ????? ?????? ?????????? ??????? ? ???????
????? ?? ??????????? ?? ??????????? ??????. ? ?? ??????, ????? ??????:
???? ???????? ? ???????? ????? ????????? ?????? ????????. (?????:
??? ????????? ????????? ???????, ???????, ????? ???????? ????? ????:
??????? ?????? ??????????? ??????. ?? ??? ??????? ????????, ??? ???
??? ???????.) ????????? ????????????? 77
????????
????? ???????? ??? ?????, ?????????? ???????? ? ?????? ????, ? ??????
??, ??? ??????????? ???????? ?????? ????????? ? ????????????. ???:
?????????:????????, ??? ???????, ???????? ? ????. ??, ? ?????????, ??:
???? ?????? (?????? ????? ???, ???? ?? ??????????? ????????? ?? ???:
?????????? ????????), ??? ??? ???? ?????????. ????? ??? ????????????:
?? ??, ??? ??????? ?? ????? ???????????? ??????? ???? ?????:?????? ??:
???? ???? ??????????? ?????? ? ?????????????? ???????? (???, ????????,
?????? ????????? ? ?? ????????), ??? ??, ??? ?????????? ? ???????????:
?????? ???????????? ?????? ???????????? ???????????, ??? ?????
??????? ???????? ???? ????????? «Hello, World». ????????? ????? ????????? ???????????, ? ??????? ?????? ??????? ??
??????? ? ????, ??? ??????????? ?? ??????. ?????????????, ??? ???? ???:
??? ????? ??????? ???? ?????? ? ????????? ???????????? ? ?????????:
??????? ????????? ????????????? (?, ? ??????????, ? ????????? ???????
???????) ??????????. ???????, ? ???? ?????? ?? ????????? ? ????? ???:
?? ??? ???????????? ??, ??? ??? ?????????. ?????????
???????? ???? ????? ??????? ??? ??????? ? ????????????? ???????????
?????? ? ????????? ??????. ??????????? SEL ?????? ??????????? ????:
??? NASA:Goddard ? ???????????, ????? ??????????? ? ?????? ?????,?
??????? ????????????, ??????????? ??????? ?????????? ???????????
??????? ???? ?? ????????? ? ?????????? ????? ?????? ? ???? [McGarry et
al., 1984; Thomas, 1997]. ?????????? ??? ?????? ?????????? ?????????
? ??????????. ???? ??? ??????????? ??????? ????????? ??????????????
?? 20?25% ??? ??????, ?? ????? ? ??????? ?????? ??? ?????? ? ??????? ??:
??? ???????. ???? ????? ????? (?? ????? ???? ?? ??????????? ?????). ????????, ?? ???????, ??? SEL ???????????????? ?? ?? ??? ????? ???:
???????? ?????????? ???????? ???????? ??????. ????? ????, ?? ?????
???????, ??? SEL ??????????? ????????? ? ?????????? ????????? ??????:
??????? ???? ? ????? ????? ????????????? ???????. ???:?? ????? ??????:
????? ??????????? ??????, ?.?. ??? ?????? ???????? ??? ????? ???? ?????:
??, ?? ? ??????? ??????? ??? ??????????, ?????????: ?) SEL ???????? ????
????? ??? ??????????? ? ????? ????????????? ????? (?? ? ??????) ?????:
???; ?) SEL ???? ?????????? ?????????????? ? ???, ????? ????????? ??????:
??? ????????????? ? ??????? ???????? ???????? ????? ????????? ???:
78 ????? 1. ? ???????????
?????; ?) ??? ??????????? ???? ??????? ????, ??? ??????????? ??, ??:
???????? ???:?? ??????, ????? ?????? ????????? ?????????. (?? ??????
??? ? ?????????? ?????? ?? ????????? ?????? [Brooks, 1995]: «????????:
??? ??????? ????????, ????????, ?????? ???????? ? ???????????
(? ?????? ????? ????????? ????? ????????????) ?????????? ????????.»
1
) ?????? Brooks, Frederick P., Jr. 1995. The Mythical Man+Month. Anniversary ed.
Reading, MA: Addison Wesley. McGarry, F., G. Page, D. Card, et al. 1984. «An Approach to Software Cost
Estimation». NASA Software Engineering Laboratory, SEL:83:001 (Feb.).
????? ???????????? ? ???? ???????? 20%. Thomas, William, Alex Delis, and Victor R. Basili. 1997. «An Analysis of Er:
rors in a Reuse:Oriented Development Environment». Journal of Systems
and Software 38, no. 3. ? ? ???? ?????????? ? 25%. ??????????
?? ?????????? ??????? ?? ????????? ????????? ????????????? ? ??????:
?? ???????? ?????. ??????? ?????? ?????????? ????????????? ? ??????
???????? ?????? ?????????? ? ???????? ??????? ??? ????? 45 ???. ???:
??????? ????????? ????????????? ? ??? ??????????? ???????????? ??:
????, ???? ?? ???????? ? ???????????, ???????? ??????? ??????. ? ????
?? ??????????? ??????????? ???????????? ??????????? ????? ??????:
???? ? ???????????????. ??? ??? ?? ?????? ????????????, ????? ?? ????:
???? ? ???? ?????? ????? ??????? ????? ??????? ??????, ???????????? ?????? ?????????? ???????, ???:
?????? ??????. ??? ???????? ?????????? ????, ???????? ? ????? ?????? ??
??????, ???? ?? ?????? ????? ????????????? ?? (? 1970:?), ????? ??????:
??? ????????? ?????????????? ????????? ? ????????? ?????? ???????
??? ???????? ???????????.
1
?????????? ??: ????? ?. «?????????? ????????:????? ??? ??? ????????? ???:
???????? ???????», ??????:????, 2001
???? 20
????????? ????????????? ????????? ?????????????? ? ??? ??????? ???
????, ????????????? ?????????? ????????????? ????.
????????? ????????????? 79
????????????, ???????, ??? ????? ??? ??????. ?????? ?? ??? ??????? ?
??????, ?????? ?? ?? ????? ??? ?? ??????, ??????????? ? ????????? ??????:
??????? ??????? ??????? ??????? ????????????, ????? ????? ????
?????? ?????????? ?? ?????. ??? ??? ???????????? ???????????? ???????:
???? ??????????? ? ???????????? ???????? ??????????. ??? ???????????? ??????? ????? ???????????? ???????? ?? ???????
????. ???? ?????????? ??????????? ??????????? ??????????????, ??:
?????????? ? ????. ?? ????? ??????????? ??? ???????? ???? ????? ???:
??? [Visser, 1987] ??????? ??, ??? ??????????? ????????? ????? ? ??????:
«?????????????? ????? ???????? ? ????». ???? ? ??????? ???????, ??? ????????? ????????? ????????????? ????
?? ?????? ??????. ?? ????? ???????? ? ????????? ????????????? ????
???, ??? ?? ?????? ??? ?? ??? ???. ? ????? ???????? ? ????????? ??????:
??????? ??????????? ??????????????. ?????? ??? ?????????? ????????:
????? ???? ??????????? ?????????? ? 1990:?. ???? ???? ????? ??? ????
????????????????, ?? ??? ??, ?????? ????? ????? «????????? ???????:
???????», ??? ???????? ?????? ? ????? ???????????? (? ????? ??????:
???). ???????? ??????????????, ???????? ???????????? ? ?????????:
?????? ? ????? ?????? ????? ?? ??? ???? [Gamma, 1995], ????????? ?????:
???? ??????? ??? ? ????? ???????????? ????????????, ??? ? ? ??????????. ??? ????? ??????? ??????????????? ??? ???????? ????? ??????, ????:
??? ??????????? ????? ? ????? ? ?????????????? ?? ????????? ????????.
??????? ????? ?????? ???????????? ????????: ????????????, ????????
???????, ????? ??????? ??????? ?????????, ???? ??????? ? ???????????
??? ??????????. ?????? ???????? ??? ?????? ????????? ? ????????????????? ????:
???? ?????? ? ??? ??, ??? ??? ???????? ??????, ?????? ??????????????
??????? ???? ?????, ? ?????????? ?????? ?????????? ???? ? ????? ???:
???. ????????? ????????, ??? ???????? ??? ? ????????? ?????? ????? ??:
???????? ?????????, ??? ????????? ????????????? ????, ? ?????? ? ???
??????, ??? ??? ??????????? ?????? ?????????????? ? ????? ????? ????:
??????? ? ??????????????, ??? ???. ????????? ????????? ????????????? ?????????, ?? ?????? ?? ??????:
??, ??? ?????? ??? ???? ??????? ???????? ????????? ????????????
?????? ????????. ???????, ??????? ???? ???. 1.????????????:????????, ??? ? ??? ???????, ? ?? ????? ?????? ?????:
??? ????. 80 ????? 1. ? ???????????
2.?? ??????? ???? ?????????? ??????????? ?????????????? ???:
?????? ???????????? ????? ????????? (????????????, ?? ??????:
??? ?? ?????????? ???????) ????????. ??????????? ? ?????????,
??????????? ??? ?????????? ???????, ?????????? ???????? ???:
????????? ? ???????????????. ?? ??????? ????? ???? ??????????????? ?????????. ???????? ?????????????? ??????????? ?????????, ? ?? ???????. ????? ? ??? ??????? [Gamma, 1995] ?????? ??????? ???? ????????, ??:
???? ???????? ???: «?? ???? ??????? ?????????????? ? ?????? ????? ??
????????? ????? ??? ????????????? ?????? ?[???] ??????????? ?? ????
??? ? ????????? ????????» ? «??????????????:???????? ????????? ??:
???????? ???????, ?????????? ???? ????????????? ? ???????». ???
?????? ?????????? ?????? ?????????? ?????? ?????????. ???????? ????
? ????????????? ? ???, ??? ????? ???? ??????? ??????????, ? ????????
?????????? ?? ??????????. ????????? ???, ?????? ????????? ? ?????????
????? ???? ????????? ? ?????????????? ????????? ?????? ? ????? ?????:
???? ??????? ?? ????????????????. ????????
???????? ?????????????? ???????? ??????? ?????????. ????????????
?????????? ??????????:???????????, ??????? ??????? ? ????????? ??:
??????? ????????????? ???? ?????????. ???????? ????? ?? ?????? ?? ??
???????????? ? ??????????????? ????, ? ????? ?? ??, ??? ? ??????????
?????????? ????? ????????. ?????? ???????? ??????? ???? ????? ?????? ?? ???????? ????????.
??? ?? ???????? ????????????, ??????? ?? ??????????, ????? ????? ??:
?????? ????????? ?????????? ???????? ?? ??????????????? ??????:
???. ????????? ????????????? ???????, ??? ??????????? ????????? (??:
????? ????????? ?? ? ??? ??????????, ??? ??????? ??? ?? ????????) ??:
??? ???????? ? ????????? «??????????? ?????, ?????????? ?? ???????,
??????????? ????????? ????????». ??? ?? ????? ?? ??????????? ? ???????? ???? ??????, ??????? ?????
? ???????????? ???????, ??? ???????? ?????????????? ???????????? ??:
??? ???? ?? ????? ???????????? ? ?????????????? ????? ?????????:
???????. ????????? 81
?????????
? ????????? ???? ????????? ????????? ????, ??????????? ?????????.
????? ??? ????? ??? ??????: ??? ???, ????????, ????? ???????. ???????:
???? ???? ? ????????? ???????????? ????? ?? ????????, ? ??????? ??????:
?? ???????????? ?? ????????????? ????????. ????? ?????? ????? ? ???,
??? ?? ?????? ? ??????? ????????????, ???? ???????? ?????? ? ??????:
????. ??? ????? ????? ????????? ?????? ?? ?????? ????????, ?????????:
?? ????????????? ???????? «????? ???????» (Gang of Four). ?????? Gamma, Erich, Richard Helm, Ralph Johnson, and John Vlissides. 1995.
Design Patterns. Reading, MA: Addison:Wesley.
1
Visser, Willemien. 1987. «Strategies in Programming Programmable Cont:
rollers: A Field Study of a Professional Programmer». Proceedings of the Em:
pirical Studies of Programmers: Second Workshop. Ablex Publishing Corp. ?????????
??????????
??? ???? ?? ???? ??????? ??????. ???????, ?????? ??? ?? ??? ??????:
??????, ??? ????????????? ????? ? ??? ????????? ??? ??????????. ?? ???
????????, ??? ??????????? ??????????? ?????? ? ???????? ? ????????:
?????. ?????? ???? ???? ????? ??????????. ????? ????, ?? ????????? ? ?????? ?????? ????? ???? ?????. ? ?????? ??? ????? ???????????? ??????? (?????? ??? ??? ????????:
??? ?????????? ????????? ???????????? ?????????? ???????????
? ??????????.) 1
?.?????, ?.????, ?.???????, ??.????????? «?????? ????????:??????????????:
?? ??????????????. ???????? ??????????????».? ???. ? ????.? ???.: ?????, 2001.
???? 21
?????????? ????????? ?????? ?? 25% ???????? ? ?????????? ????????
???? ??????? ?? 100%. ??? ?? ???????, ??????? ????? ?????????? ????
???? (???? ????????? ?????? ?????????? ?????? ? ????????), ??? ????????
????????? ???.
82 ????? 1. ? ???????????
? ?????? ??? ?????? ?????????? (?????? ??? ???? ??????? ???????
???????, ??? ???????? ???? ??????.) ? ?????? ?????????? ????????? ????????????? ??? ???????????
(?????? ??? ????????? ?????? ???????? ???????????? ????? ????:
??????.) ? ?????? ?????????? ??????????? ?????????? ?????? ?????????????
(?? ???? ???? ??? ?? ???????????? ?? ?????????? ? ???????????:
???, ????? ?????????? ??????????? ? ??????????? ????? ?????:
????????? ???????, ??????????? ??? ???????? ?????????? ????:
???????)? (?????? ??? ?? ???????? ?? «??????????????????????»
????? ????????? ? ??????? «?????????????».) ? ?????? ??? ????? ????????? ?????????? ???????? ? ???????????:
??? ??????? ????? ??????? (?????? ??? ???????????? ???????
??? ???????????.) ? ?????? ?????? ?????????????? ???????? ??????????? ? ????:
????????? ???????? (?????? ??? ??????? ? ????????? ?????????
??????? ??????????? ?????.) ? ?????? ????????? ??????? ????? ??????????????? (????????? ????:
??????? ??????????? ?????????? ????? ???????????? ?????????.) ? ?????? ????????????? ??????? ????????? ???????? ????? ?????:
??? ? ? ????? ?????? ????????????? (?????????? ?????????? ?????
????? ? ??????????? ???????? ? ????????? ??????????? ????:
????? ???????? ? ???????, ??????? ?? ??????? ????????.) ? ?????? ????????? (??????????????) ???????? ???????? ????????:
??? ??????? ?????????? ??????? (?????? ??? ????? ???????, ???:
?? ????????? ??? ??? ????????? ?? ???????? ? ?????????? ??????.) ? ?????? ????????????? ?? ???????? ??????? ???????? (??????
??? ? ????? ?????? ????? ??????? ?????? ?????????? ??? ????????:
??? ??????? ??????.) ? ?????? ??????, ??? ??????? ??????? ???????,? ??? ????? ???????
???????? ?????? ????????????? ??? (?????? ??? ?????????? ?????
?????????? ??????? ??????? ????? ??????.) ? ?????? ????????? ???????? ??????? ??????? (?????? ??? ??????
??????? ??? ????????? ? ?????? ??????.) ? ?????? ????????????? ???????????????? ????????? ? ????????:
??? (????????, ???? ? ???, ??? ? ???? ???????? ?? ??????? ??????
????????? ??????????? ?????? ????????? ????????????, ???????
?????? ?????????????? ??????????.) ????????? 83
??! ???? ? ?? ????? ?????????? ???? ??????, ?, ???????, ?????? ? ?? ??:
?????, ????????? ?? ?????. ???? ?? ?????? ?????? ?? ????????? ?? ????
?????, ????????? ?????????. ?????? 25% ?????????? ????????? ??????
????????????? 100% ?????????? ????????? ???????????? ???????. ?
??? ?????????, ??? ?????? ????? ??? ???????? ???????????. ????????:
??? ??????? ??????, ????????? ?????? ?? ???????. ????????
??? ????????????? ????. ???? ?? ? ??? ????? ??????, ??, ? ???????, ????
?? ?????? ?????? ?? ?????? ??? ??????????????, ? ??? ????? ???????????
(???????? ???, ??? ???????, ??? ??????????? ??????? ??????) ? ???, ???
?????? ?? ?? ???? ????????? ???????, ???????? ? ???? ?????? ???????:
?????, ? ????? ?? ????????? ????????. ????????
Woodfield, Scott N. 1979. «An Experiment on Unit Increase in Problem
Complexity». IEEE Transactions on Software Engineering, (Mar.) ?????
????? ????????? ?????????? ? ???? ?????? ?????, ??? ?????? ???:
???? ?? ?????? ?????. ? ?????????? ???? ?????? ????????? ? ?????:
?? (? ??? ??????, ??? ???????? ?? ???? ???:?? ???), ??????????? ??:
??????? ??????? ? ??????? ?????? ?????????? ??????, ???, ???? ??:
????, ????? ????????? ????????? ?? ??? (????? ?? ?????? ?? ????
??????, ?? ??? ???????, ??? ?? ????? ????? ??). ? ???????? ?????
?????? ?????? ?????? (Dennis Taylor) ?? IEEE ????????? ???????:
??? ??????, ? ??? ?????? (Vic Basili) ?? ???????????? ????????? ??:
??? ??? ???? ?? ?????. ???????!
??????????
??? ????? ??? ?? ???????? ????????? ? ???, ???????? ?? ?????????? ??
??????????? ???????, ??????? ????? ????????????????, ??? ??????????:
?? ?????? ??????? ??? ?? ????? ?? ???? ?????? ????????? ????????. ???? 22
??????????? ????????? ????? ?? ???????? ?? ?????????? ?? ??????????
?????? ????????????. ???????? ???? ????????? ????? ????? ???????
? ??????????. ????? ????????? ????? ? ? ???????????.
84 ????? 1. ? ???????????
? ?????? ???????????? ???? ?????????????/????????????? ????????
?????? ???? ????? «Programming without Programmers» (?????????????:
??? ??? ?????????????)
1
? «CASE is Software Automation»
2
(CASE ? ??? ????:
????????? ?????????? ??), ? ????? ?????????????, ??????? ???? ???????
??????? ????????????? ????????????? ??? ?? ????????????, ???? ???
??????? ? ????? ??????. ? ?????? ???, ??? ??????? ??? ?????? ?????
?? ??????????, ??????, ????????, ???????? ????? (Frederick Brooks) ? ??:
??? ?????? (David Parnas). ???????? ?? ?????? ??????? ????????????
???? ??????, ?? ?????? ???????? ??????? ???? ?? ???? ???????? ??????
??????. ?????? ??????????? ?????, ??? ????? ??? ????? ??? ??????????
?? ??????? ? ?? ?????????? ??????????? ????????? ?????????????? ???:
?? ?????????. ?????? ?????? ???? ???????????? ?? ????????????, ? ????:
??? ?????? ??? ? ???? ???????. (????? ??????, ??? ???????????? ????:
???????? ?????? ???????? ?????????????? ? ????????? ??. ??? ??????
? ???????????? ????????????, ????????? ??? ????????????? ? ???????
? ????? ??????? ????????????, ????? ??????? ? ??????.) ??? ?? ?? ??????? ? ??????? ? ???, ????? ?????? ??????, ????????? ?
?????????????????, ??? ??? ?????????? ?/??? ???????????????? ?????
?? ???? ??????, ?? ??????? ???? ? ?????? ????????????, ?????: ???? ???:
???? ????????????? ?? ???????. ????????? ?????????? ????? ?? ?????
? ???????? ?????? ?? ??????????? ??????????? ??????????. ??? ??????
?? ??????, ?????????? ???????? ??????, ??????? ?? ?????????? ??????
?????. ? ????????? ???? ???????? ? ?????, ??? ???????? ??? ?????????:
??? ???? ????????????? (? ??? ?? ????????????) ????????. ????? ?????
?????????? ????????? ????????? ?? ?????? ????????? ?????? (??? ? ??:
?? ???????????? ???????). ????? ??? ???????????? ???:?? ????? ??????:
???? (??? ???? ???? ??????, ?? ????, ????????? ???????? ??? ??? ????? ??:
???????????, ??? ?????????). ????? ???? ??? ? ???????? ???????? ????? ? ??????? ?????????? ???:
????, ? ?????? ? ??????, ??? ????? ?????????? ?????? ? ?????? ?? ??????,
??? ??????????, ? ????? ???:?? ??????????, ??? ????????? ??????????
???? ???????????. ??? ??????? ???????????, ? ????? ????, ??? ????? ??
??????????? ?????????? ???????????????? ????? ???????, ? ????? ??
?????? ? ???????????. 1
Martin,J. «Programming without Programmers ? A Manifest for the Information Soci:
ety», Prentice Hall, Englewood Cliffs, New Jersey, US, 1984.
2
McClure, Carma L. «CASE is Software Automation», Prentice:Hall, Englewood Cliffs,
New Jersey, 1989.
????????? 85
????? ???? ?????? ??????????? ?????????? ??????. ????? ??????????
???? ???????????????? ??? ?????????? ????? ??????????, ????????????
????????? ???????. ?????????? ??????? ?????????????? 80% ??????? ??
???????????, ? 20%? ?? ?????? ???????????. ???, ??????? ???????, 80%
?????? ?? ?????????? ???????, ?? ??????? ???? ? ?????????? ???? ???:
??????? ??????????, ?????????? ???????????????? ????????????, ? ??????:
??? 20%? ??, ??? ? ?????? ??????????? ?????? ??????. ? ??? ??????????
???? ???????????? ??????????? ? ???????? ?????? ??????????. ???????? ?? ????????? ????? ? ??????? ?????????/????????????. ??:
??????????????? ??????? ?? ???, ??? ??, ????????, ?????????, ????? ??
???????. ? ????? ?????? ????????????? ??? ??????????? ???????????
??????????????. ?? ????????? ?? ????????????! ? ?? ??? ?? ???? ???????:
???? ????? ????????? ?????????, ??? ??, ??????? ????????? ???? ?? ???:
??? ????. ??? ?? ??? ??????? ?? ??????? ???????????? ??????? ????
? ???, ??? ??? ???????? ??????? ??????? ??????, ? ?? ?????? ???????? ?
???? ??? ???? ??????. ?????????? ????????? ???? ??? ??????????, ??????
?? ??????? ?????????? ? ???, ??? ?????????????? ?????? ????????? ???:
???, ? ?? ??? ???????????? ????? ?? ?????????? ??. ?????? ? ? ???, ???
????????? ??? ???????????? ? ??????? ?? ????????? ?????? ??????????,
??????????? ? ????? ????????????. ?????? ?????? ??????????? ??? ????????. ?? ?????? ????????? ??
?????????? ?? ? ?????, ??????????????? ?????????? ?? ?????, ? ???????
??? ?????? ?? ?????????, ??????????? ?? ???, ???????? ?? ??? ? ??????
??????? ????????????????? ??? ????????????. ????????? ????????? ????? ??????????????????. ? ?????????? ???????
80% ????? ?? ?????????? ?? ???? ???????????????? ??? ?????????????:
???, ? 20%? ??? ???????????; ??? ?? ?? ????????? 80/20, ??????? ?????:
???? ?? ????????????? ???????????? ?????????? ???????. ???? ?? ??????????? ?????????????? ???????? ???????? ???? 80/20.
??? ??? ??????? ???????????? ?????????? ? ????? ????????? ????????,
?????????? ????? ?????? ???????? ????????????. ?????? ???:????, ???
?????????? ???? 80/20 ????????, ? ??????? ?????? ?? ?????. ??????
??????? ???? ? ?????? ??????? ?????????, ???????, ??? ?????????? ?? ?
????? ? ?????? ??? ???????????? ?? 80 ????????? ???????????????? ? ??
20 ????????? ???????????. ? ??? ???????? ??????? ???????? ? ?????
«?????????????/?????????????????? ?????? ?????????». ? ??????: ???:
???????? ????? ????? ???? ??????????? ? ????????????????, ?? ?????:
??????????? ? ???? ??. 86 ????? 1. ? ???????????
? ???? ??????? ???? ????????? ??????????. ?????? ???????????? ? ??:
?????? ????? ????????? ? ???????? ?????????? (?? ?????? ??????????:
??????) ???????? ?????????? ??. ?? ???????? ?? ?????? ???????? ???:
??? ????? ????????????, ?? ???????????????? ???????????????? ???:
??? ??? ?? ????? ?????, ??????????? ??????????, ????? ?? ?? ???????
? ??????????. ????? ???????? ( 80/20) ?????? ????? ???????????? ??
????? ???????? ?? ?????????????? ??????????? ?? ?????? ????, ?????
????? ?????????? ?? ????????? ? ??????????. ??? ?????????? ?????????????. ?????? ????? ?? ???????????? ???? ??:
?????? ? ??????? ??????????? ????????????. ? ???????? ????? ???
??????? ????? ? ??????????????? ??????????. ???????? ?????? ?????????:
???, ???????? 16 ????????? ??? ????? ???? ??????? ? ??????????, ? ???
???? ??????. ????? ???? ??, ??? ?????? ?????? ?????????????? ??????
??????????: ???? ??????, ??? ???? 6 ????????? ????? ???? ???????????,
? ??????,? ??? ?? ???? 29 ?????????. ?????????? ?? ????? ?????
??????????, ??? ?????????? ??? ??? ?????? ??????????????? ??????????:
??????, ? ?? ???????????, ? ? ????????????, ???? ? ??????? ??????? ??? ??:
?? ??????????. ? ? ????? ?? ????? ?????, ??? ???????????????? ??? ??? ??
??????? ???? ?????????? ??????? ????????????, ? ????? ?? ???????????
??? ????????????????. ????????
? ???????? ?? ?????? ????? ????? ???????? ????? ??????, ????????? ???
??? ???????? ??? ???????? ???? ?????????? ??????. ?????? ?????????:
??? ???????, ?? ??????? ???? ? ???? ??????, ?????? ???????????? ?
????????, ??? ???????? ?? ?????? ??????? ??????, ??? ???????????. ???:
?? ????, ??? ??????? ????????????, ??? ????? ?????????????? ? ???????:
????? ????????????. ???? ?? ??? ???????? ???????? ????? ?????????:
???, ?? ?? ?????????? ????????????? ? ??????????, ?? ?? ????? ???????,
? ?? ????????? ????????? ????????????. ???, ???????, ?????? ????????.
????????? ????????????? ??????? ?? ???? ?????? ??:???????. ???????? ?? ??? ???????? ?????????, ? ???????? ? ?????? ? ????????:
?? ???? ????????????, ??? ???????? ????????, ??? ???????? ?????? ?????
???? ???????????? ?? ???????. ? ????? ????? ????, ??? ?? ??????? ??
??????? ??????? (?? ?????????, ??? ?????? ?? ?????? ?????????). ????????? 87
????????? ?????? ??????? ???????????? ? ????, ??? ? ??????????:
???/??????????????????? ????????? ????????? ?????? ??????. ???????
[Jacobson, 2002], ???? ?? «???? ?????» ????????:???????????????? ?????:
?? (???? ???????, ?????????????? ???????? Rational Software, ? ???????
???? ??????? ??????????? ???????????????? ????? ????????????? (Uni:
fied Modeling Language, UML)), ???????, ??? ?????? ????????????
? ???????? ????????. (?? ???? ?? ??????? ?? ? ????? ??????, ??? ???????:
???? ????? ????? ?????????? ?????? ?????????? ?? ? ???????????? UML.)
? ???????? ????? (80% ??????? ? 20% ??????????), ??????, ??? ????? ??
?? «????????? ? ????????? ?? ????????????? ?????». ??? 20% ??????????
??????, ????????, ??????????? ? ?????? ??????, ?? ??? 80% ??????? ???:
??????? ???. ???????? ????????, ??? ??????? ?? ????????? ??????????:
?????? ????????????, ????? ?????? ??????????, ??????? ????? ???????:
???? ? ???????. ????????
????????????, ??????????? ???????????? ????????????????/???????:
???? ? ??????????/????????????????/???????????, ???? ????????????
? ?????? ??????, ?? ??? ??? ?????? ????? ????? ? ?????: Glass, Robert L. 1995. Software Creativity. Section 2.6, «Intellectual vs. Cler:
ical Tasks». Englewood Cliffs, NJ: Prentice:Hall.
??????
Jacobson, Ivar. 2002. «A Resounding ?Yes? to Agile Processes, but Also to
More». Cutter IT Journal, Jan. 2
? ????????? ?????
?????? ????????? ???? ?? ????????? ? ?????, ?? ??????? ??????? ??:
??????? ??????? ?????????? ??. ?? ??? ???? ?? ??????. ??? ??????????
?????????? ?????????, ?? ???????? ?????? ?????? ????, ???????????
«????????? ????», ????? ??????????? ??????????? ???????. ??? ???, ???
??? ? ????? ??????????????, ??? ????? ??????? ????????? ?????, ????:
??????? ??? ?????????? ???????? ??, ? ????? ???????, ? ??????? ??
?????????????? ?????????. ??? ??????? ?????? ?????????? ????? ????
??????? ?????????? ??????. ?????????? ??????? ????????? ?????? ????:
?? ????, ? ????? ??????? ?? ??????. ?? ???? ? ???? ????????????? ???
??????????? ???????????. ??? ?????????? ??????????? ?????????? ??:
???? ????? ????????? ????? ???????????????? ??????????, ??? ????? ??:
??????? ??????????, ??? ?????????? ???:?? ?????????. ????? ???? ??, ??? ?????????? ???? ?????? ??????????? ??????????
??????? ???????. ??, ??? ??????? ???????, ??? ????????? ??, ?????, ???
??????? ???????????? ?????????, ??? ??? ??????,? ?? ????????? ???:
?????? ???????? «????????????» ????? ????? ? ?? ??????????????????. ??
???? ???? ??? ?????? ?? ?? ?????, ??? ???? ???? ?????? ? ?? ???????????. ?? ???????? ??????? ????? ? ?????????, ??? ?? ????? ?????????
????. ?? ?????????? ? ??????????? ? ?????????? ??????????; ????? ????:
???????? ? ????????????? ??????? ??????. ?? ??? ??????? ??????????????,
? ??????? ???????????????, ??? ????????? ?????? ??????. ?? ??? ???? ????+
???????, ??? ????????? ??????? ???????????????? ? ???, ??????? ?????
??????????? ?? ??????????. ?????, ????????? ??? ??? ??????? ????????,
?????????? ?????????? ??????. ? ???????, ????? ???????? ??? ?????,
??????????? ??????? ????????? ? ????????????, ? ?????????? ???? ??+
???????????. 89
?????? ???????? ? ????????? ??????????? ?????????? ?????. ??? ???:
??????? ????????, ??? ????????? ????? ????????? ? ???????? ? ???? ??:
?????. ??????? ????????? ???????????? ??????????. ?????? ? ?????? ??:
???? ????? ???? ???????? ??????????????. ? ???? ?? ?????????? ???:
??????????? ????? ???? ?????????? ? ????????? ????. ? ????? ???????:
??? ??????????? ?????????? ????????????. ?, ???? ?????, ?? ? ?????
??????? ???????? ? ?????? ????????????? ?? ??? ????, ???? ?? ???????:
?????? ????????????. ??? ??? ?????? ??? ???????. ?? ????????????:???????? ????? ?????
?? ???????????? ??????. ?????????? ????? ?????????? ?? ???? ?????:
????? ????????. ????????? ??????? ?????????? ???? ????????? ?? ??:
??????? ?????????? ????, ????? ??????????, ????????????? ?? ??????:
???????? ?????? ????? ????????? ? ??????????????? ?????????. ? ??:
?????, ??? ????????? ???? ???? ???? ??????????????, ????? ?????????,
??? ????????????????? ???????, ??????????? ? ??????????? ????, ???:
?????????? ????????. ???????? ?????, ??? ?????????? ?????? ???? ????:
???????? ???????. ??? ?????????? ?????????????? ?? ???, ??? ??????
??????, ???? ????? ?????? ??????????? ????????? ?????????? ????. (??:
???????? ?????? ????????? ?????????????, ????????? ??? ????????????
???????, ??????? ???? ??????? ????? ?????????, ?? ?????????
? ????????? ????????? ????????? ?????????? ??.) ?????, ???????, ?????? ??????????? ????????? ???????, ? ??????? ??:
?????? ???????? ???????????? ???????? ??????????? ? ????????? ???:
?????? ??? ????????, ????? ??? ?????? ???? ???? ?????????, ? ????
?????????? ????? ??????? ??????. ? ?????????? ????????? ???????? ???
?????????? ?????????? ??????, ? ??? (? ????) ??? ???????? ?????? ????:
??????????? ????, ??? ??????????? ?????? ??? ?????. ????? ????? ???????
????? ???????????????? ???? ?????????? ?? ?????????? ??????, ? ?? ??:
??? ?????? ????? ????????????? ??????????. ?? ??? ??? ????? ? ???? ?????????? ?????????? ???? ? ???? ???????. ??:
???? ?? ????? ????????, ???, ???? ?? ????????? ?? ??????? ? ????????:
??, ??????????? ?????? ??????????? ??????????, ??????????????, ????:
???????, ?????????? ?????? ? ?????????????, ??? ??? ????? ??:??????:
?? ??????????? ?????? ??? ??? ????. ??? ??????? ?????? ??????? ????:
??? ?? ??????????. ?? ???? ????? ? ???????????? ?????? ?????. ?? ??????? ?? ???? ???:
????? ?????????? ????? ? ??? ?????? ?????????? ????????? ????????:
??????? ??????, ? ??????? ??????? ????????. 90 ????? 2. ? ????????? ?????
? ????? ? ??????????? ???????????. ???????, ?? ???????? ? ?????
?????????? ???????????? ? ????? ???? ???????? ?????? ?????, ??:
????????? ????? ???????. ? ????, ??? ?????? ????????, ?????????
? ???????????? ????????????. ? ????? ? ??????????????. ?????????????? ? ???, ???????, ?????
???????????????? ? ????? ?????????? ????? ?????????? ?????. ???
??????????, ????????? ?????? ??????? ?????????? ??. ??? ?? ????:
?????? ? ?????, ??????????? ??????????????. ? ????? ? ???????????. ????????? ???? ? ??? ????? ? ????? ??????:
?? ??????????. ????????? ???? ??????? ???????? ?????? ??????,
?? ????????? ??? ?????? ??????, ??? ?????? ??????? ??????????
?????. ? ????? ?? ?????????? ??????. ??? ???????????????? ?????????
?????????? ????? ????????????? ?????????, ??????? ????? ????:
???? ????? ??. ???????? ?????????? ?????? ???????? ? ?????? ???:
?????? ??????, ???????? ?????????? ????, ?????????????? ?????
? ???, ??? ??????????? ?????????? ??????? ??????????? ???????
??? ??????. ? ????? ? ????????????. ???? ???????????? ? ???????? ?????????
?? ????????????????? ?? ????????? ?????? ??????? ?????? ? ???
???????????? ????? ???????? ?????????? ??????, ??????????? ??:
???????? ?????????????? ??????????? ??????? ????????? ?????:
??????, ????? ??????? ? ??? ??? ??????. ? ?????, ??????????? ?????????? ? ??????????. ????????? ???????:
????? ????? ????????? ??????? ?????????? ??????, ???????????
???????, ????? ??? ?????????? ? ?????????, ?????? ????????? ???.
?? ???????????? ? ????????? ? ??????????? ? ?????????? ??? ??
????????? ???? ??????? ? ??????????? ?????????. ??????????
???? ???? ????? ???????????? ?????? ??????????, ????????? ????:
?? ???????? ??????? ??????????? ??????? ???????? ????????. ? ? ???????, ????? ? ?????????????. ????????????? ? ??? ????? ??:
???????? ? ?? ?????? ??????? ????? ?????? ???? ?????????? ???:
??. ????? ??? ????? ??????? ????? ??????? ????????, ????????? ?
??????? ?? ?????? ?????. ? ?????? ?????? ???? ???? ?? ?????????? ?????. ? ?? ??????? ?? ????
???? ??????? ? ???????! ?????????? 91
??????????
??????????
? ????????????? ????????, ??? ?? ?????? ? ????? 8, ????????? ?? ?????:
??, ??????? ??????? ??:??? ????????. ? ????????? ?? ??????????? ???:
?????? ????????????? ????????. ?? ??? ?????, ??????? ????????, ??? ???:
?? ?? ??????? ??, ??? ????? ? ?????? ????????????????. ?? ???:???? ??
??????? ?????. ???? ????? ???????, ????????? ??:??? ????????, ?? ????? ???? ????:
??? ? ?? ???? ????????????. ???? 8 ???????? ?????? ?????. ?????? ???
?????????? ?????? ? ???????????? ? ???, ??? ?? ???????? ????????????
??????? ??????????? ??????? ?????? ??????? ? ???????, ??? ? ????
????????????????,? ??? ???? ?? ???? ??????? ?????? ????????? ???????:
?????? ????????. ?? ???????? ??????? ?????????? ??????????????
? ?????? ??????, ? ??? ??????, ??? ??? ???????? ? ?????????????? ?????,
? ?????? ??????????? ? ???????????? ??????, ? ?? ? ???????? ??????????. ???????????? ?????????? (??????? ????????????? ??????) ????:
???????? ????? ????????? ????? ????????? ??????? ???????????????
????????. ????????? ? ?????? ?????? ??????????? ???, ??? ?????????
? ???????????? ???????????? ??????? ?? ?????? ????? ?????, ?????
?????? ?????? ????????? ??????. ?????????? ??? ????? ????????????, ???
????? ???, ? ? ???????? ???????? ??????? ????????????, ??? ??????, ????:
??? ??? ?????????? ??????, ??? ??????? ?????????? ??? ???????????:
???, ? ????? ?????????? ???:?? ???, ???? ??? ?? ???????. ????? ????, ???:
???? ??? ? ??????? ????? ?????? ?? ????? ? ?????? ????????? ??????? ??:
????? ????????. ? ????? ?????? ???????, ??? ??? ??????? ?????????? ??? ?????????
????????. ? ???? ??????, ????????? ?????? ??????? ??????????? ???????
????????? ??????, ?? ?????? ? ??????????? ???????????? ????????? ???
????? ????????????? ???????. ?????????????, ??? ? ???????? ?????:
??? ?????? ??????? ?????????? ??????????????. ? ?? ?? ????? ?? ????:
???? ? ??, ??? ???????? ????????? ?????????? ????????? ?????? ???????.
? ????? ?????? ???????????????? ?????????? ?????:?? ????? ??????????
???? 23
????? ?? ???? ????? ???????????????? ?????? ??????????????? ????????
???????? ?????????? ??????????. (?????? ??????? ??????????? ? ????? 8.)
92 ????? 2. ? ????????? ?????
???, ? ? ??? ??????? ???????? ?????? ????? ????????????? ? ?????????:
??? ????????, ?????? ?? ??????? ? ??????????? ???? ?????? ???? ???
??? ??????? ??? ?????. ????????? ??????????? ?????? ??????? ? ?????????? ???????????,
????????????? ? ????????????????. ??????? ??????????? ?????????:
???, ??????? ? ????????? ??, ????????, ??? ???????? ????????? ? ??????
??????????, ? ?? ????? ??????, ????????????? ???????????? ?????? ???:
???????, ????????? ??? ????, ??? ?????????? ? ????????????? ????????
??????? ?? ??????? ???? ??????, ??????? ?????????? ???????. ??????
? ???? ?????? ???????????? ??????????? ????????? ???? ??????????
????????????, ?????? ??????????????? ??????? ????????????? ????
?????????? ??????????. ???? ????? ???????? ?? ????? ???????????. ???????? ??????? ?? ??:
????????????? ?? ????? ?? ?????, ???????? ????? ??????????? ? ????????:
??????, ? ??????? ????? ??????? ?????????????? ? ? ???????? ????? ??
??? ????????????. ??? ??????????? ?? ???????? ??????????? ???????
?????? ? ????? ???????? ??????????? ? ?????. ? ?????? ? ???? ? ??? ???
????????, ?? ???????? ??????? ?????????????? ??????????? ???????. ? ??
??????? ????? ?? ?? ????? ??????????? ? ??????????? ????? ???????:
???? ? ????????????:?????????????. ??? ?????? ???????????? ????????, ??? ?? ???????? ?????????????????
? ???????? ???????????? ??????????, ???? ?????????? ??????????
???? ?????? ???????. ???? ?????????? ?????? ??????????? ??????????,
????? ???????? ?? ? ?????????? ?????????, ? ??????? ???? ??????? ? ???:
????? ??????????. ? ???????????? ? ???? ???????? ???????????? ?????:
?? ??????? ??????? ? ?????? ????????????? ??????????? ????????? ???
?? ??????? ???????????? ?? ????????. (?????????? ?????? ???????? ???:
?????? ???? ??????? ??????? ?????????, ?? ????? ?? ??????? ?????? ?
??? ????????????? ??? ??????????? ??????????.) ?? ???? ???? ??? ?????:
?????? ??????????? ??? ????? ? ????? ??????????? ??????? ??????????:
???, ???? ??????????? ???????????, ?????????? ???????? ?????????? [?
??????????????] ?????????? ?????????? (Joint Application Development ?
JAD). (? ??????? ?????? ?? ???????, ??? ???????? ?????????? ? ??????
?????????, ?.?. ??? ?????? ????????, ??? ?????? ????? ?????? ??????????
?????????? ???????? ?????????? ? ?????????? (Joint Application Re+
quirements Resolution ? JARR).) ?????? ???????? ????????? ? JAD ???????
?????????? ? ?? ??? ????, ???????? ? ??????? ???????????? ??????????. ?????????? 93
????? ??? ??????????? ??????????? ??????????? ??? ?????????????
?????????? ? ????????? «?????????????? ??????». ??????????, ????? ??:
?????? ??????????, ?????????????? ????????, ????????, ????? ?? ???? ???:
???. ?? ? ???????? ????? ?????????? ???????, ???, ???? ? ?????? ??????:
???? ??????????, ????? ???????? ?? ???, ????? ????????? ??????????
????????? ? ????????? ????????? ???????. «????? ????????????????
??? ?????: ????? ??? ???????????? ????? ??????? ???????, ??????? ???????
? ??????? ?? ??? ??????????? ????? ??????????? ??????». ? ?????????,
??? ?????? ??? ? ??????? ????????? ?????? ? ???????? ???????? ???????, ?
??? ?? ???????? ? ????? 11. ?? ????????? ?????? ? ??? ????????????
?????? ??????????????? ???????????? ??????????, ? ??????? ??????
?????????? ??????????? ????????, ????????? ? ????? 11. ???????? ???????????? ? ???????????????? ?????????? ? ??????:
??? ?? ??????????? ? ??????. ?? ???????? ?????? ????????????, ???
? ???? ????? ?????? (??. ?????? «??????????» ????? 22), ?? ?? ??? ????:
?? ? ??? ?????????? ??????? ??, ??? ?? ??????. ???????? ??????? ? ????:
????? ?? ?????????? ??? ??????? ? ?????????????, ? ????????????? ???:
??????? ?????????? ??? ?????????. ?? ?????? ????????? ????????, ??:
?????? ??:??? ???????? ???????????? ? ???????????? ????????? ?????:
?????? ?????????? ????????? ????????, ??? ???? ??? ? ?? ????? ?? ????:
??? ???? ?????:?????? ??????. (??? ???????????? ?????? ????? ???????
?????????????????? ??????? ?????????? ? ????????? ?????? ?????????
??????? [Glass, 1998], ??? ?????????? ???? ???????? ??? ??????????, ???
? ???????? ????? ???? ????????? ??? ??????. ?? ???????????? ??? ??? ???:
???? ??? ? ?? ???? ??????????? ? ????? ??????????? ????, ? ??? ???????:
????? ? ???????, ????? United, ?????????? ??????? ?????????.) ??????? ???????? ???????????? ?????????? ????????? ????? ????:
?????? ???????. ??????????? ??????????? ?????????????? ???????????:
????? ??????????????? ??????????? ????????????? ????????????????? ??:
???????? ??? ????????? ??????? ?? ????? ??????????. ??? ??????????
???????????, ???????, ????? ?????? ?? ??????????? ?????? ????????????
? ????????? ???????? ? ?????? ?????????? ??? ?????????????????
????????????. ????????, ??????, ?????? ? ???, ??????? ????????????????
??????????? ?) ????? ?????? ???????????? ?????????????? ???????????
?? ?????? ??????? ????; ? ?) ?????? ?????????????, ??????? ???? ?? ??:
?????? ??? ???????????? ?????????? ????? ?????? ?????????? ? ??????:
???????? 94 ????? 2. ? ????????? ?????
????????
???, ??? ?????? ?????? ????????,? ? ???????????? ?????????? ???? ???:
??????? ? ?????? ?? ????? ???. ????? ????? ?? ?????? ? ???, ??? ???? ??:
????????? ? ???????????? ????????? ??????????, ?? ??????? ???? ????:
???????? ? ???, ??? ??? ?????? ??????????????? ????????? ???????? ???
?????????. ?? ??? ??? ?????????? ????????? ??????????? ?? ???????? ?? ???:
??????? ????????????. ???? ?????????????? ????? ????? ???????????
?? ????????, ?? ? ?????? ??????? ?????????? ??? ??:???????? ???????:
?? ? ??????????????. ??? ????? ???????? ????? ?? ???, ??? ??????
? ???????? ?? ??????? ????? ????? ????. ????????? ???????? ?????????
? ?????????, ? ???????? ???????? ?????????? ? ???, ??? ?? ???????? ??:
????? ??????? ?? ?????. ?????? ?? ??????????? ?????????? ???????????:
??? ?????? ? ???????? ?? ????????? ? ???????????? ??????????, ??? ???
???????????? ????? ?????????? ? ????????? ???????. ?????????
??????? ????????? ??????? ??????? ????? ??, ??? ? ??? ????? 8.
Cole, Andy. 1995. «Runaway Projects ? Causes and Effects». Software
World (UK) 26, no. 3. ????????????? ??????????, ??? ???????????:
??? ???????? ??????????????? ???????? ???? «?? ????????? ???:
?????????????? ???? ???????», ??? ??????????? ? 51% ???????
(?????? 48%, ???????????? ?? ?????? ???????????? ? ??????). Van Genuchten, Michiel. 1991. «Why Is Software Late?» IEEE Transactions
on Software Engineering, June. ? ?????? ???????????? ?????? ?? ???:
??????? ???????? ???????????? ???????? ???? ?????? ?????????
???????????/?????????? (??????????? ??:?? ????? ??????????).
? 50% ??????? (????????????? ?????? ???? ??????? ????????
? 51% ???????). (? ????????? ???????? ????? ?????? ???? ??????,
? ??? ?????????, ?????? ? ????? ?????????? ?????? 100%.) ??????
Glass Robert L. 1998. Software Runaways. Englewood Cliffs, NJ: Prentice:
Hall. ?????? ????? ?????????? ??????? ?????? ????????????? ???:
?????, ??????? ????? ??????? ?????????????? ??????????, ? ???
?????????? 95
????? ??????? ?????????????????? ??????? ????????? ??????
????????? ???????. ??????????
?????? ???? ? ??? ????? ???? ??????? ?????. ???????, ??? ?????? ????:
?? ???????? ? ????????? (??? ????? ?????? ????????, ???? ?? ?? ?? ??:
???), ??? ?????? ????????? ?? ??????????? (? ??? ????? ???? ??????
?????????? ????? ???????????? ? ?????? ? ?????????????). ???? ? ????:
?? [Boehm and Basili, 2001] ???????, ??? ??????????? ?????? ?? ????? ???:
????????? ????????? ? 100 ??? ??????, ??? ?? ????? ?????? ?????? ???:
???????. ? ???????????????? ??? ?????????????? ?????????? ???????? ????:
???????????. ?? ?????? ????? ?? ???????????? ????? ????? ????????,
?? ????? ??????????, ??? ????? ??? ????????????????? ????????????,
??????? ???????? ????????. ?? ? ???????? ??????? ??????????? ???:
???? ?????????? ??? ????? ????????? (?? ???? ??????????????), ???????:
??? (?? ???? ???????????) ? ??????? (?? ???? ??????????? ???? ? ??:
??????? ???????). ??, ??? ? ????? ?????? ????? ???? ?????????? ?????
?????, ???????????? ????????? ??????? ????????. ?????? ???? ?????? ????? ? ???? ???????, ??? ?? ?????? ? ????????:
??? ???????? ???? ??????????? ????????? ????, ????????? ??? ????????? ??:
????? ????. ?????? ?? ? ??? ??? ????? ????????? ???? ? ???, ??? ??, ?????:
??, ?? ??????????????? ???? ?????? ? ????? ?????????, ???? ? ?? ????????:
?? ???. ?????????? ?????? ? ??????????? ?? ?????? ?????? ??????? ?????:
?????? ??????? ??????????, ?? ???, ??????, ?? ???????? ??????? ??:??
???????????? ?????????? ????????? ? ????? (????? ??????????). ????? ??:
???? ??????????? ??? ??????? ??????????? ???????? ?????????? ?? ??:
?????????????. ????????? ?????????? (????????? ? ???????????? ???????:
???? ? ???????????? ??????????? ????????????? ? ????? ??????). ???:
??? ?????????????? ??????????? ???????? ??? ??????????. ???????????
????????????? ??????????. ????????????? ? ???????? ????????? ??? ???:
????? ????????????? ??????????? ??????????. ?, ???????, ???? ?? ? ???
???? 24
??????????? ?????? ? ??????????? ????????? ?????? ?????, ???? ??? ??
???????? ?? ????? ????????????, ? ??????? ?????, ???? ??? ??????????
?? ?????? ?????? ??????????.
96 ????? 2. ? ????????? ?????
??????, ??????????? ?????????? ???????????? (????????? ?????????
???????????? ???????????? ????? ??????? ??????????? ??????????). ???? ????? ????????, ??????????? ?????????, ??? ?????????? ???????:
?? (? ?????????? ????????????). ? ???????????????????? ??????? ?????:
???????? ???? ????? ????? ????? ??????. ????????
???? ??????? ????? ?? ???????? ????????. ??? ?? ???????? ?????, ??? ??
????? ??? ??????? ?????. ???????????? ??????????? ???????? ?? ?????? ????, ??? ??????? ??:
????. ????? ?????? ?????????? ?? ???? ???????. ????????? ???????????:
????? ?????????? ?? ??????? ?????????? ????????????. ????????????
???????? ?? ?????? ??????? ?????? ?????? ??????????. ??????? ? ???:
???????? ?? ???????? ?????????? ?? ???, ????? ?????????? ???????????
???????????? ? ????? ??????????? ??????? ??????????? ?? ?????? ???:
????. ????????? ?????????, ???????, ????? ????????? ????????? ?????:
???. ?????????? ?????????????? ???????????????? ???????? ?????????:
???? ????????? ? ??????? ?????????????. ????????? ?????? ????????? ??????, ?????????? ????, ?????????
??? ?? ???? ?? ?????? ? ??????????????? ????????. ?????? ?? ??????
??????? ??????? ?????? ? ???? ??????. ? ?????? ????, ?????? ????? ???:
???, ?? ??????? ?? ????????? ????? ???????? ????,? ??? ??? ?????? ??:
?????? ????, ?????????????? ?????. ????? ?? ????? ?????????, ???????
?????? ? «????????????? ???????» (??? ?????? ????? ?????????) ???
??????? ??????????? ??? ??????????. ??? ?? ? ??????? ????? ?????? ?????
????????? ???? ?????????? ?????, ??????????? ? ????? ??? ??????? ??,
???? ? ????? ?????? ?? ??????? ?? ???? ? ??????????? ?????????, ?????
?????????, ??????? ??? ??? ????????? ????????????, ???????? ?? ?????
?????. ?????! ? ?? ????? ?????? ???? ??????? ? ??????? ?? ???????????
??????, ??????? ??????? ? ???????? ? ?????? ??? ????????. ????????
??? ??????? ????? ???? ????????? ??????????. ????? ??????????? ????
?? ???, ? ?????? ????? ????? ? ??????????? ??????? «??????». Davis, Alan M. 1993. Software Requirements: Objects, Functions, and States,
pp. 25?31. Englewood Cliffs, NJ: Prentice:Hall. ?????? ???? ????????:
?????????? 97
???? ????? ????????? ????? ?????? ??????, ????????????? ? ????
?????. ??????
Boehm, Barry, and Victor R. Basili. 2001. «Software Defect Reduction Top
10 List». IEEE Computer, Jan. «??????????? ? ??????????? ??????
? ?? ????? ??? ???????? ???????? ? 100 ??? ?????????, ??? ?? ?????:
?? ??????????? ?????????? ? ??????????????». ??????????
??? ????? ??????????, ??? ?????????? ???? ??? ????? ????, ????? ? ???:
????? ?? ????? ???:?? ????? ?? ???. ???? ?????????? ??????? ? ??????????? ??????, ??????? ?????????
??????. ????????? ???????? ??????: «??? ???????? ???????????» ????
?????????? ???????, ?? ?? ??????, ???????????? ????? ??????? ?????????:
????? ????? ????? ? ???????. ??, ??? ?????? ??????,? ?????????, ????????:
???? ??? ?? «??????:?????????» ? ???????????? ??????????????? ????:
???????, ??????????????? ??. ???, ??? ???????? ??? ??????, ???????? ?????????? ???????????.
????????? ?????? ????? ???????? ? ????????????:?????????? ? ???:
????????, ???????? ?????? ???????? ? ???? ????????? ??????. ? ?????
?????? ???????, ??? ????????? ??????, ??????????????? ???????????
?????????????? ????? ??????,? ??? ????????????, ???????? ????????.
?????? ???? ????????? ???????? ?????? ??????????. ????????? ?????? ? ??? ??????? ????? ????? ?????????? ? ????? ???:
??????? ??? ???????. ?? ???? ? ?????? ?????????? ??????? ? ?????? ???:
???? ????? ??????????. ? ????????? ???????????, ??? ?? ???????? ??:
???? ????????? ??????? ??????? ???????, ???? ?????????? ??????????
?? ????????????? ??????, ?? ???? ??? ????? ???? ?????????????? ??:
???:???? ?????????? ? ??????????? ????? ???????. ????????? ???????:
??? ????? ????????? ? ????? ?????????? ????????, ??????????? ?????:
?? ? ?????. ???? 25
??????????, ??????? ???,? ??? ????? ??????, ????????? ??????? ???????
?????.
98 ????? 2. ? ????????? ?????
?????, ??????????? ????? ???? ??????????, ????? ???????? ??????:
???? ??????????. ??:?? ???????? ???????????? ?????, ? ???????? ?????
??????????? ????????? ????????, ??????? ??????? ??????? ??????????
?????????????? ??????????????? ?????????? (? ?????? ???????? ???
?????????????? ???????) ???? ???????????, ? ???? ???? ????????????:
??? ????? ????????????? ??????????, ?????????? ?????? ??????????
???????? ???????????? ????????????. ? ?????? ?????????, ????? ????????? ??????? ????????? ????????.
???? ?? ????? ??????????? ??????????? ?????????? ??? ???????? ???:
???? ??????? ? ?????????? ???????? ????????? ?????????? ? ???????
??????????, ??????? ????????? ??????????? ????? ???????. ? ??? ????
???????, ?????? ???????? ????????. ??? ????? ???????:???????????,
? ???????, ?????, ????? ????????? ?????????? ? ???????????????? ??????
?? ??????? ??????????? ?????. ??? ???? ???????, ??? ??????? ?????
?????????? ? ?? ???????? ?????? ????: ?) ??????????? (? ???????
??????? ?????? ??????, ????? ?????????? ??????????? ??? ??) ? ?) ????:
????????? (???????? ??????????? ?????????? ?????? ?????????????:
???? ?? ?????? ????????? ?? ?????? ???????? ? ????? ????????? ???????:
??? ?????????? ???????). ????, ?? ?????, ??? ????????? ?????? ??? ??????? ??????????????
?????????????? ?????? ????????. ?? ????? ???????, ??? ????????? ???:
??????????? ??? ??????????????? ??????? ????? ?????? ????????. ??:
????? ?????????????, ??? ? ??????? ???? ????????? ????????? ????????.
? ????? ??????? ???????? ? ??? ?????? ?????????? ??????? ????????????
???????. ?????? ?????????? ?????????? ??? ????????????? ??????????? ?? ??:
????? ??????? ?????? ??? ?????? ?????????? ?????? ???? ????? ? ???????
????????? ??????? ??????, ? ?????????????? ???? ???? ?????????? ???:
????? ? ???????? ?????????? ????????? ??????? ??????. ???????? ??:
???? ??????? ????? ???????? ? ????, ??? ?????? ?????? ?? ????? ???????:
???? ??? ?????????????? ???????. ?????? ??? ?????? ?????????? ? ????????? ??????????? ???????????
?????? ??? ????? ???????? ????? ???????? ?????????? ?????? ? ???????:
????????? ???????????? ???????????? ????????????. ??, ? ?????????,
?????????? ??????????? ???????, ? ??????? ??????? ?????????, ???
?? ?????????? ???? ???????? ? ??????? ??????. (????? ?? ??????, ???
???????????? ?? ?????? ?????????? ? ??? ???????????, ?? ??????
?? ??????????? ??????.) ???? ?????:???? ?????????? ???????????, ???
?????????? 99
?? ???????? ? ????????????, ? ?????? ?? ????? ??????????? ? ???? ?????
??????? ??? ?????????, ?????????? ?? ?????? ??????????. ????? ????, ??
????? ??????? ??????????? ???????, ??????????? ????????? ??? ?????:
?????. ????? ???????, ???????? ?????? ?????????? ?????? ?? ?????? ??:
???????? ??? ??????????. ??????????? ?? ???? ??????????????, ????? ??????? ????? ?????????: ????? ??????? ?????? ? ???????????????? ? ??, ??? ???????? ??????
??????? ? ???????? ???????????? ? ??????? ?? ????? ???????????? ??,?
??? ?????? ??????????? ??????.
????????????? ?????????? ????????
? ???????? ? ??????.
????????? ??? ?????, ??????????? ?????????? ???????? ??????????
??????, ? ??? ???????? ??????? ?????? ? ???, ????? ?????? ???????? ??:
????????? ??? ??????????????? ????????. ? ??????, ??? ? ???????????
??????? ???????? ??????, ??????????? ?? ?????? ? ?????????? ??????:
??, ????? ????? ??????? ????????, ??? ??????????? ?? ????? ?????????:
??? ??????. ???????, ?? ???? ??????????? ???????? ??????? ????????? ??????:
????, ???????? ?? ?? ??????? ???????????. ??? ????????? ????????? ??
??? ?????????? «???:?????????» (show stoppers) ? ??????, ???????? ??:
???? ???? ??????? ???????????, ?? ???????????, ??????? ????????????
????? ?????? ??? ?????, ??? ? ?? ???????????? ????? ???????????. (???
?????? ?????????????. ???????? ?? ??? ??????, ??????????? ?? ?? ???
??????, ????? ??? ??????? ??????????? ??????? ???????? ??????????
??????? ??? ??????? ????????? ??????. NASA, ? ???????, ????? ??????:
???? ?????????? ?????? ? ??????????, ?????????????? ???????? ?????:
?????? ??????. ????? ??????, ??????? Microsoft ???????????? ??????????
?????? ? ????? ?? ????? ??????, ? ????? ?? ??????? ?? ????? ???? ???????:
?? ?? ???????, ????? ?? ?????? ?? ????? ?? ???? ?????? ? ??? ????????.) ?????? ?????????? ????????????? ???????????, ??:?? ???? ????? ??:
???????? ???:???? ???????? ??????? ?????? ? ??????? ???????????, ?
?????? ????? ?????????? ????????? ??????? ? ?????? ? ????? ??????:
??. ??? ??????????? ???:??, ? ???? ????? ???? ?? ??????? ????? ?????:
?????. ????????? ??? ????, ? ?????? ? ??????, ??? ?????? ??????????
???????? ????????????????, ?????????? ?? ?? ??????? ? ??????????,
???????? ??????, ??????? ????????? ???????? ?????? ????????????
????????. ??????????, ??? ???????? ?????? ?????????????, ??? ??, ????:
100 ????? 2. ? ????????? ?????
??? ?????????? ?? ?????? ????????????, ????, ??? ?? ?????? ??? ??????,
? ?? ?????? ???????????? ?????? ??????????? ?? ??????? ???????????.
????? ? ??????? ????????: ? ???? ?? ???:?????? ????????? ? ???? ???????
???????? ? ???? ??????, ??? ??? ????????. ?????????, ??? ????????. ? ?? ????? ? ??????? ?? ?????????? ????:
??????????? ???????? ? ??????:????????????????? ???????????, ? ? ??:
?? ??? ?????? ? ?????? ?????? ?? ??????? ? ???????? ?? ?????????? ??.
? ??????? ?????? ?????? ???????????? ?? ????????? ???? ? ??? ???????:
??? ???????? ????? ???????? ? ????????????????? ?????? ?? ???????. ?? ???? ???? ??? ? ???????????? ??????, ??????? ?????????. ? ??????:
???, ??? ????? ??????? ?????? ? ??????? ??????? ?????????? ??????,
????????? ???? ???????? ??????????? ??????. ??? ????????? ??????:
?????? ? 30% ???????. ? ????????? ?? ???????? ????????? ??????? ??:
?????????? ?????? ? ????? ??????, ??????????? ? ???????? ????????:
????? ? ?????????? ??????????? ??????. ?? ?? ???? ??????????? 8,5%?
??????? ?????? 30%. ????????? ????????, ??? ?????? ????????? ???????
?????? ?? ????????? ??????????? ?????? ?????. ??? ???? ?????? ????:
???????? (8%), ??? ???? ?????????, ??? ??????????? ??????? ??????? ?
??????, ???? ????? ?? ???????????. ????? ?? ?????? ????????? ? ??????? ??????????? ??????? ?????:
???, ?????????? ?????? ?????? ? ?????????????? ???????? ????? ????, ???
??? ???? ????????????, ?? ??????????? ???????, ??? ???????? ???????:
?? ? ??????????? ????? ? ????? ???????. ??? ?????? ????????? ??:??
????, ??? ???????????? ? ?????????????? ???????????? ??????? ?????:
?????? ???? ??????. ?????? ??? ?????? ??????????? ? ???????? ?????? ??? ?????? ???
?????? ????????? ??, ???? ?????? ???. ????????? ?????? ????????????,
????? ??? ?????? ???????? (coverage analysis), ???????? ??? ?????????,
??? ??? ???????? ????????? ????????????? ??????? ???????. ?? ????
???????? ???, ?? ??? ?????????? ?? ????? ???? ?????????? ? ??????? ??:
????? ????????. ?????????? ????????, ????????? ??????? ????????
?????? ? ????????? ????, ????? ?? ???????? ? ????? ?? ????????? ???????:
??? ???????????? ????. ????? ?? ??? ????? ????????? ? ????????????? ???????????? ???:
?????, ??? ????????????? ?????????? ???????? ? ???????? ? ??????. ????
? ???, ??? ?????????? ?????????? ?????? ???????? ?? ??? ?? ???????, ??
????? ?????? ???????? ??????????? ??????. ?????????????? 101
????????
?????? ???? ? ????????? ?? ???? ??????? ? ??????????. ???????? ?? ???:
???? ??????? ????? ????? ????????? ???????????. ??????? ? ???, ???
??????????? ????? ?????? ?? ????? ?? ???? ?????????. ???, ???????,
????????? ????????????? ? ????????? ??. ???? ???????? ????????????
???? ??????, ??????????? ? ????????????????, ??????? ??????? ????.
(???????? ???? ?? ??????? ? Microsoft. ??????????? ????, ??? ????????
????? ???????????? ?? ?????? NASA ??:?? ??????, ???????????? ? ??
??????????? ???????.) ?????????
??? ???? ?? ?????????? ????????? ??? ??????? ?????:
Wiegers, Karl E. 2002. Peer Reviews in Software: A Practical Guide. Boston:
Addison:Wesley. ?????? ???? ? ????????? ???? ??????? ????????
????? ????? ?? ???.91. ????????, ?? ???????? ?????????? ?????????:
Glass, Robert L. 1981. «Persistent Software Errors». IEEE Transactions on
Software Engineering, May. ??????????????
??????????
? ???????? ?????????? ?? ??? ???????? ?????? ????????????. ???? ?????????? (??????? ?????? ????????????????, ??????????? ??
???????) ??????????? ? ????????? ??????? (?????? ????????????????,
??????????? ???? ???????), ?????????? ????? ?????????????. ? ??
????? ??? ????????????? ????????? ??? ???? ???, ????????? ????? ????:
???, ???? ???????? ???????????? ????? ?????????? ?????? ????????
???? 26
?? ???? ??????????? ?? ????????? ?????????? ? ??????????? ?? ??? ??
?????????? ????? «??????????? ??????????» (?????????? ? ???????????
?????????? ???????), ????????? ?????????? ????????. ?????? ???? ???
???????? ?????????? ????? ? 50 ??? ??????? ????????????.
102 ????? 2. ? ????????? ?????
?????????????????? ? ?????????? ? ???????. ? ??, ??? ????? ????????
????? ? ????? ?????? ??????, ???????????????? ? ????? ???????? ????:
?????? ? ????? ?????? ???????. ??? ????? ????????? ?????????? ??????
???????? ????????????, ??? ????????, ????????????, ????????? ???
?????????? ?? ????? ?????????? ??????. ?????? ?????? ???? ???????
?????????? ????????, ??? ?? ?????????? ????????????? ??? ??????? ? 50
???! ???????????, ?????????????? ?? ?????? ?? ?????????? ???? ?????:
??? ????, ????????? ????????? ?? ???? ?????? ????? ?????????? ?????
????? ?????? ????? ?? ??????????? ??????? ??????? ???????, ???? ???? ??:
???? ????????????? ????? ??????. ?? ??? ?????????????? ?? ????? «?????
?????? ?? ?????????». ???????? ?? ????????? ? ?????? ???????? ??? ???:
???????, ??? ? ?????????, ?????????? ???? ?????????? ?????????? ?????
??????????. ??????? ????????? ??????? ???? ??????, ?? ??????? ??:
?????? ?????. ? ????? ??? ?????? ?????? ????????? ????????? ????? ? ???, ??? ??
???? ????????? ??????? ???? ???????? ????? ???????! ?? ??????? ????? ???? ?????????, ?????, ??? ???? ??????? ???????? ???:
???? ??????????: ????? ??????????, ?????????????? ?? ?????????????, ??????? ??????
???????? ????, ??? ?????? ?????????? ?????????????? ?????????? (requi
rements traceability), ?.?. ?????????? ???? ???????? ?????????? ?????
????????? ??????????? ???? ? ?? ???????????, ???? ????? ?? ??????,
??? ???? ?? ??? ??????. ??? ??? ??? ???????? ???????????? ?? ???? ???:?? ????? ??????? ????:
??. ?? ????? ??????????? ???????? ???? ?? ?????????? ?????? ? ??????:
??? ?? ???????. ??? ??????????? ????????? ?? ??????????? ?????? ? ??:
????? ?????????? ? ????? ?????????? ?????? ????? ???????????, ????,
??????????? ????????, ???????????? ? ????? ?????? ??????????? ??:
????????, ??????????? ?? ????. ? ????? ?????????????? ???? ????? ????????????? ??????????. ??:
?????, ????? ???????? ?? ??? ???? ?? ??????????? ?????????? ??? ???:
??????? ????????? ???????? ????????, ????? ???? ?????????????? ???:
??????? ??? ????????????? ????????????????? ???????. ??? ??????:
????? ???? ?? ???????? ?????????????, ????????, ??? ???????????? ??
?????????????, ?????????? ????????? ??? ??????? (??? ?? ????? ???:
???) ??????? ? ???, ????? ?????? ??????????? ??????? ?? ????? ???????,
????? ??? ????? ???????? ???. ?????????????? 103
?????? ?????????? ??? ????? ????? ? ???????? ???????????. ?????:
??? ??????????? (backward tracing), ?? ????????? ?????????? ?????? ? ?????
????????????????, ????? ???????????? ? ????? ???????, ??? ??????????:
??? «????????» ???? (dangling code) ? ???? ????, ??????? ???? ? ?????????,
?? ?????? ?? ????????????? ?? ??????? ??????????. ???????? ???
??????????? ??????? ????, ??? ????? ???????? ??????? ? ???????????:
?????. ??? ?? ????? ????????? ???????????? ? ??? ??????, ??? ????? ???
????? ?????????? ? ????????? ? ??? ???? ????? ?? ???? ?????? ???????,
?????? ?? ????? ???????? ??????, ????????? ?????????? ?????????
? ?????? ????????? ?????? ??. ??????????????, ??????, ???????? ?? ???? ????????? ?????????????
????????? ??? ????? ???????????? ???????. ???????? ???????????? ??:
????????? ? ??????????? ??? ?????????? ???????????, ?? ??? ????? ??
????????? ???????? ????, ? ?????? ??????? ??????????????. ?????? ??? ???????? ???????? ??????????????? ?? ?????? ??????
????? ??????????, ??? ????????? ????? ?????????? ? ??? ????????? ????:
????, ????? ? ??? ?????, ? ????? ? ??????? ??? ??????????? ? ??? ???????
?????? ? ??????? ???????. ? ????????? ?????? ?? ???????? ???????? ??:
??????? ? ??????????????? ? ?? ???????????? ?????????? ??? ??????:
?????????? ?????????????. ?? ???? ?????? ??????, ? ?????????, ??????? ??????????. ??? ????,
??? ??, ????????, ??? ??????, ? ??? ????? ?????? ??????????. ???? ?? ??:
?????? ??????? ?????????? ? 5?6 ???????????? ?????????? ??????????:
??. ?? ????? ?????????? ?????? ??????? ?? ????? ??? ? ?????????? ???:
?????? ??????????, ? ?????? ?? ??? ??????? ? ??????? ??????? ??????
????????? ????, ? ???????? ???? ????? ??????????? ?????????????? ? ??:
??? ?????????????? ????? ?????? ??????????, ?? ??? ????? ???? ? ????:
??? ??????????? ?????????, ??????? ?? ????????? ??????? ???????
? ???? ?????????? ????????? ?????????????? ?????? ? ??????????? ????:
?????????????? ???????. ????????
??? ??? ???? ?? ??????, ? ??????? ??????? «?????? ?????? ? ?????
?????». ?????? ? ??? ???????, ?????? ??? ?? ????????????. ? ???:???? ???
????? ??????? ? ??? ??????, ? ??????? ?????? ?? ??????, ????????? ??
?????????? ??? ?? ???? ???????????. ?? ??? ???? ? ????? ?????? ????? ??:
???????? ? ???????????? ?????? ? ?????? 1980:?. 104 ????? 2. ? ????????? ?????
???????? ????????: ???? 21, ????????????, ??? ?????????? ??????:
??? ?????? ???????? ? ????????, ???? ? ????????????????? ????? ????:
????? ???????, ?????? ? ?????? ??????. ? ??? ??? ???????????? ???:
????? ? ?????????? ???????. ? ??, ??? ??????? ? ??????? «????????»
????? 21, ? ?????? ??????? ????? ??????? ? ?????: ??, ??? ???????? ? ?????
????????????? ? ???, ??? ????????? ?? ?????, ?????? ?? ???????? ???:
???? ?????? ????. ?????????
???????? ??????????????? ?????????? ????? ?????????? ??????? ????
??????? ????? ???????? ??? ????? ? ???????????? ????? ?????? (Mike Dy:
er), ? ?? ????? ?????????? ????????????? ????????? ?????????? IBM
[Glass, 1992]. ?????? ?????????????? ???????? ??? ??????. (????????????
???????? ?????????? ??????? ?????? ?????????????? ?? ??? ???? ????
?????????????.) ??? ?????? ????????? ? ??????? ???????:
Ebner, Gerald, and Hermann Kaindl. 2002. «Tracing All Around in Reengi:
neering». IEEE Software, May. ???????? ??????? ? ????????????? ???:
?? ? ??????? ??????????????. Glass, Robert L. 1982. «Requirements Tracing». In Modern Programming
Practices, pp. 59?62. Englewood Cliffs, NJ: Prentice:Hall. ???????? ??
????????????????? ???????, ?????????????? ? 70:? ???? XX ????
?????????? TRW ? Computer Sciences Corp., ??????????? ??????:
?? ??????????? ?????????? ? ?????????? ???????????? ????????. ??????
Glass, Robert L. 1992. Building Quality Software. Englewood Cliffs, NJ:
Prentice:Hall. ?????? ?? ???????????? ????? ????? ????? ?? ???.55.
?????????? ????????? ? ?????? ??????, ????? ???????? ????? ???:
??? ??????, ?? ?? ?????? ????????? ????? ??? ??? ?? ???????. ??????????
? ?????? ???????????? ??? ???????? ?????: ???????????? ? ??????. ???? 27
?????? ????????? ??????? ?????? ???????????????? ????? ?????? ????
????????.
?????????????? 105
??? ??????????? ????? ? ???????????????? ????? ????? ?????????
???????. ??? ?? ?????? ????? ????????????. ? ?? ??????, ???????? ?? ???:
?????? ??????? «??????», ???? ???? ?? ??? ???? ????????????, ??????
??????. ??? ?? ?????? ????? ??????. ???? ???? ??????? ??????????????, ??, ???????, ?? ????? ????????. ??:
??????????, ??? ?????? ??????? ???????????????, ????? ????? ??????,
?????? ? ?????? ? ???? ?? ???????????? ???????. (???? ?? ???????
???? ???????????? ? ????????????? ?????? ???: «???? ? ??????? ?????
????????? ???????? ??????????????? ?? ? ???? ?? ??? ???????? ????
? ??????, ?? ??? ???????? ???????????».) ?????????, ??? ??????????
? ?????????? ?????? ? ????????? ???????? ??????? ? ??????????????
????? ?????????? ? ???????? ??????????????. ??? ??? ??????? ?? ?????,
??? ?????????????? ? ??? ??????? ? ?????????? ??????? ? ???????, ? ??:
????? ?? ????????? ? ??????? ??? ?????????? ?? ?????? ??????? ????:
???. ?????? ?????????? ?? ????????? ?????????, ???? ???? ?? ?????? ???:
????, ???? ?? ??? ?????? ??????????????? ?????????????? ???, ?????
?????? ???????, ???? ?? ???????? ??????. (???????, ???? ??? ??????? ???
?? ??????, ?? ?????? ??? ? ?? ????? ?????? ?????????.) ?????????? ???? ???? ? ????????? ?????? ?? ????????? ????????????:
?? ????????????????. ????????????? ???????????????? ?????????? ??:
?????? ??????????? ??????? ????????? ???????. ?????? ???? ?? ?????:
??????? ????? ????????, ?? ????????, ??? ?????? ?????? ?? ????? ?????
????????? ???????? ??????? (???? 28, ? ??????? ???? ???? ? ?????????
??????????????, ???? ?????????? ??? ? ???? ??????). ?????? ?????????:
?????? ??????????? ???? ??????? ?????????????? ????????????????
? ?????? ???????. ???? ??????? ?????????? ??????? ???, ?? ??????? ??:
?????, ????????? ? ?????? ?????????????? ????????????????, ?????
???? ????????? ?? ???????, ??? ? ????? ?????? (???? ?????? ??????? ???
???? ?? ???????????? ? ??????????). ????????
???????? ?? ?????? ??????? ????? ? ???????? ????????? ??????. ??:
????????, ?????? ?????????????? ?????????, ??? ???????????? ??????
????????? ??????? ???????? ? ????? ??? ??????????. ????????, ? ????:
??????, ??????????? ????????? ????????????? ????, ????????? ?????:
???? ?????????? ?????????? ???????? ?????? ??????????? ?? ??????
106 ????? 2. ? ????????? ?????
??????????? ??????? ??????. ???? ?????? ??? ?? ????? ???????????,
???? ?? ? ??????????? ??????? ?????? ????? ???????????? ???????.
?????? ????? ?????????? ?? ???????????? ???????????? ? ??????????
????? ?????? ? ?????????? ??????, ?? ??? ??????? ????????? ? ?????? ??
?? ???????, ??????? ????????? ? ?????? ???. ????????, ??? ???? ???:??
???????? ?????? ????? ?????? (???:?? ?????? ? ?????????? ????????
? ????????? ?????????????), ? ???? ?? ???????????? ???? ??????? ?? ???,
??? ??? ???? ???????????? ????? ??????????, ?? ??????? ????? ??????
???? ?????????, ???? ? ???????? ???????? ???????, ???????? ?? ???????. ???:???? ??????????? ?????????????:?????????, ??????? ????????
???????????? ?????? ? ??????????????, ?????????? ? ?????? ??????. ?????????
??????? ????, ??????????? ???? ?????: «???? ??????? ?????????
????????? ???????????????? ??
?
» ?? ????? ?? ??????????? ?? ???:
??????? ???????????????? ???????? ???? ?????? (Bill Curtis). ???????, ?????? ????????? ?? ???? ?????????????? ?????? ? ? ???:
??? ????? ? ????????? ???????????? ???????? ? ??? ????????? ? ???????:
?????????? ???????? MCC (??????? ???????????????? ? ???????????),
? ????? ????????? ???????? (Elliott Soloway) ? ??? ????????? ?? ???????:
?? ???????????? ????? ?????? ??? ?????. ? ?? ????? ??? ?????? ???????
?????? ???????????? ?????? ??????????????. ??????? ???????, ?? ???:
??? ??????, ?????????? ????, ??????? ??????? ????? ???????????? ???
????????? ?, ????? ????, ???? ????????????? ???????? ??????????????,
??????? ??? ?????????? ? ????? ????????????. ? ?????????, ??? ??????
?????? ? ??????, ??? ??????? ?????????????? ??????????????? (????:
???? ?????????? ? ?????? ????????, ??? ???? ???? ?? ??? ?????????? ???
????????????????? ???????????? ??? ???????????????), ?? ??? ?????
? ????, ??? ??????? ???????? ????? ??????? ????? ?? ?????????????? ???:
??????. ??? ??????????, ????? ?????:?????? ????????????? ??????????
??????????? ???? ?????? ? ?????? ??????? ????? ?????????? ????????
??????? ? ???????. Curtis, B., R. Guindon, H. Krasner, D. Walz, J. Elam, and N. Iscoe. 1987. «Em:
pirical Studies of the Design Process: Papers for the Second Workshop on
Empirical Studies of Programmers». MCC Technical Report Number STP:
260:287. ?????????????? 107
Soloway, E., J. Spohrer, and D. Littman. 1987. «E Unum Pluribus: Generat:
ing Alternative Designs». Dept. of Computer Science, Yale University. ??????????
???? 27 ???????????? ?? ????????????? ????? ??????? ? ???????? ????:
??? ? ?? ??????, ??? ??????????????? ??????? ?????????????? ????????:
??? ???????. ? ????? 27 ????????? ?? ?????????????????? ???????????:
???, ?.?. ? ?????? ?????????? ??????? ?? ??????????, ?????????????
? ????????????????? ???????, ? ?????? ?????. ???? ?????? ?????? ????? ??????? ??:???????, ?? ? ??????????? ???:
????????? «?? ???????? ? ????????». ?????? ?????????????? ????????
? ?????????? ??????? ?? ?????? ???? (??? ????? ?????), ? ????????? ????
??????? ????????. ? ??? ????, ???????????? ????????????, ?????? ????:
???????? ????? ??????? ??????, ??? ??????? ????????????? ?? ?????
???????? ???????. ????? ??????, ?????????? ?? ????????? ??????? ??? ??:
???? ? ?????, ?????????????? ?????? ????????? ??? ???? ?????????????:
???, ? ??????? ?????????????? ???????? ?????????. ? ????? ??????, ?? ????? ?????????????? ????????????, ????? ?????
???????, ?????????????? ?????????? ??????. (?????????, ??? ?????????
??????????? ???????????? ??????????????, ??? ?? ?????? ? ????? 14,
???????????: «??, ??????? ???????????», ???? ???? ???????????? ???:
????????? ????????????, ??? ?? ????? ???? ??? ?? ?????????? ?????.) ??????? ?????? ??????????????????? ??????????????, ? ???????
??????? ????????? ?? ???????? ? ????????. ??????? ??????? ? ????????:
?? ?????????????? ?????????? ??????? (?? ????? 18)? ?? ????? ? ??????? ??
????? ?? ?????? ??????????????????? ?????????? ???????. ??? ???????
?????? ????? ?????????? ??????? ??? ?????????? ???????, ???????????
??????? ???????, ??????????????? ?????????????? ????? ??????? ?????,
????? ???? ????, ? ????? ???? ????, ??? ??????????. ? ?????? ??? ??????
«??????????? ??????????? ????» (rolling totals). ????????? ? ?????????:
????? ?????? ?????????? ???????, ? ?????? ?????? ???????, ????? ????:
??????? ???? ?? ???????, ? ?????? ????????? ?? ????? ????????
???? 28
?????????????? ? ??? ??????? ??????????? ???????. ?????????????? ???
?????? ???????, ??????, ????? ???????? ???????? ?, ??????????, ?? ????
???????.
108 ????? 2. ? ????????? ?????
??????????? ?????? ??????????? ????. ? ?????? ????? ??????? ???? ????:
??? ?????? ???? ??????, ? ????????????, ??? ???? ???????? ????????? ? ??:
??? ?????? ? ?????? ?????? ??. ? ??????? ??, ????????? ??????? ??? ????:
?? ??????????? ???? ?????? ???????? ???? ? ?????? ??????? ???????
????? ??????. ? ??????? ??????? ? ??????? ????? «??????????????????» ???? ? ???
???? ???????????? ???????. ????? ????????:?????????????? ???????:
???? ? ????? ???? ????????? ??????, ?????????, ??? ?? ??????? ???????:
??????, ?.?. ??????????? ??????? ???? ? ??????. ??????????? ???? ?????
????????? ??????? (????? ????, ?????????? ?? ????????? ????? ???
??????????? ??????). ???????? ?????????? ???????????????? ??????
? ??? ???????. ???????????? ???????, ??????????? ????? ???????.
???????? ???????? ???????? ?????? ? ???? ???????. ??????????, ????:
???? ?? ??? ??????. (??? ??????? ??????????, «???????????», ?????????
????? ??????? ??????? ?????? ????????? ?????? ????????? ??????????
??????????? ??????????, ?????? ??? ?????? ?? ?????? ??? ?????????
????????????.) ?????? ??? ??????????? ???????? ?????? ????? ???????, ? ???????:
???????? ????? ??????? ???????? ? ????????? ????? ?????? ??????. ????
??? ???, ???????? ?????? ????? ??????? ?????? ? ????????? ???? ???????.
? ???????? ????? ???????????? ?????? ????? ????????, ? ???????? ?? ???:
?????? ??????? ????? ??????????????? ??? ????????? ???????. ???????
???? ???????? ?????? ????? ?????????. ? ???? ?????? ???????:?????:
??? ?? ????????. ?????????? ??? ???????????, ????? ????????? ?????????
????????. ??? ??? ?????????? ?????????? ???? ????? ??????? ??????.
?????????? ??????? ?? ??? ???, ???? ?????? ?? ?????? ?? ???????? ???:
????. ????? ????????? ? ?????? ???? ???????????? ????? ?????? ? ?????:
???? ???? ???????. ??????, ?????????? ???????? ? ???????? [Curtis, Soloway, 1987], ???:
????????????, ??? ?????????????? ? ??? ?????? ?? ?????????????, ?????:
??????????, ????????????????? ???????; ?? ??????? ?? ?????? ????
? ?????? ? ?????? ???????. ? ???????, ??? ??? ?????????? ???????? ???
?????????? ?? ??????? ?????? ???????????????. ???? ????????, ??? ??:
??? ????????????????? ?????????????? ??????? ??????? ??? ????? ??:
????????. ????????, ????? ?????? (? ??? ?? ????? ???????????????
??? ??????????? ????????) ???????? ? ?????????????? ????? ??????
«?? ???????? ? ????????». ?????? ??????? ?????????????? ??? ???? ??:
??????, ?? ??????? ????? ?????????? ??????? ???????, ??????? ?????:
?????????????? 109
????? ????????????? ? ??????? ?????. ?? ????? ??????? ??????? ??:
????? ?????????? ????????????. ?? ????? ????? ????? ??????, ??? ?????????????? ???????????? ?????
??????? ??????????? ???????. (?????? ??? ??? ????? ??????????????
? ?????? ??????? [Wiegers, 1996].) ? ? ???????? ?????????? ?? ???? ???
???????????? ?????? ????????? ?????? ? ???????? ??????????. ????? ??:
?????? ??????, ??? ??????????? ????????? ??????? ????? ? ??????? ??:
?????????? ????????? ????????. ? ??? ?? ?????? ?????????????? ?? ??:
?????, ????????? ?????? ????????? ??????? ????? ?????? ??????????:
??. ???????????, ????????? ??????: «? ?????????? ?? ?????? ???????????
????????? ????????» ? ????????? ?????? ???? ?????? ??? ??????????, ? ????? ?? ???? ????
? ????? 27, ??? ?? ??????????, ??? ????????? ????????? ??????? ?????
??????? ?????. ?? ????? ???? ??? ???? ????????????, ??????? ????? ?????.
???? ???? ???? ? ??????? ?????????, ??, ??? ?? ?????? ?? ????? ???????
[Simon, 1981], ??????????? ?????????????? ?????? ??????????, ? ??
?????? ?????? ????? ?????????? ? ????, ??? ?????? ???????? «?????????:
??????» (satisficing) ????????. ??????????????? ??????? ? ???, ? ??:
????? ?? ??????????????? (optimizing), ????? ???????, ??????? ???????:
?? ????????????? ???????? ?????????? ??????????????, ??? ????? ?????
???????? ? ??????? ???, ???? ???????, ??? ??????????? ????????? ????:
??? ?????? ????? ???? ??????????? ?????? ???? ?????????????. ????????
?????? ????????????, ???????? ???, ??? ????????? ????????????, ????:
?? ?????????? ?? ???? ?????????????? ??????????????, ??????????? ?? ??:
?????????? ???????, ? ?????? ?????????????? ???????????????????. ??:
?? ?? ?????? ? ???, ??? ????????? ???? ? ???????????????? ?????,? ????
? ?????? ??????: ???? ?? ????????????? ??????? ?????????????? ???:
??? ?????????? ???????, ???????????, ??? ????????? ???????????? ? ??:
??? ???? ??????????? ?????????? ????????? (????????? ????? ??????:
?????? ????? ?????? ???????? ????? ?????????? ?? ?????? ????:?? ?????:
??). ????? ?? ????????? ????????? ???????????? ??????????? ??????
???????????? «????????????????» ??????? ?????????????? [Parnas and
Clements, 1986], ???????? ??? ????? ???????, ??? ???? ?? ?? ??? ???????:
110 ????? 2. ? ????????? ?????
??????, ???? ?? ??????? ?? ???, ? ??? ????? ????????? ?????????????,
???????????? ? ?????, ????? ???? ????????????. ?????? ?????? ?????????? ?? ???? ? ???????? ??????????????. ?????:
???, ???? ???????? ?????????? ??????? ?????????????? ?????????? ??:
???? ?????????????, ?????? ??? ????????????? ???????????????? (Ex:
treme Programming ? XP) ? ?????? ?????????? ?? (Agile Development ? AD)
(??? ?????????? ?????? ????? ??????? ????????? ???????, ????? ??????
???????? ????????). ??????????, ??? ????????? ????? ????? ??????? ??:
??? ????????? ??????? ????? ??????? ???????. ?? ?????????? ???????
XP/AD ? ????????? ??????? ???? ??????? ?????????. ??????? ?? ???????????? ? ???? ???????????? ?????????? ???????.
? ??????????? ?????????? ???????????? ?????????? ??????? ????? ??:
??????, ? ????????? ??, ??? ?????????? ??????? ??????? ? ??????? ??????:
?????????? (????????, ????????????? ??? ?????????? ????? ? ???????
??????????). ?? ??????? ????? ??? ??????? ??????? ??? ?????? ????????:
???? ??????? ???????? ?????? ?? ????????? ? ?????? ?????????? ???:
??? ???????? ??????. ? ???? ??????????????? ??????? ? ????????????????
????? ???? ???????????, ?? ???????????. ?????????
?????? ??????? ? ??????? ??????????? ? ??????? «??????» ????? 27. ?? ???:
?????? ?????????????? ????? ????? ????? ? ????? [Glass, 1995]. ?????
??????? [Simon, 1981] ????????? ? ????????????, ? ? ???????? ??????????
???????? ?? ????, ???? ??? ???? ?????????? ???? ?? ????????????. ?????? Glass, Robert L. 1995. Software Creativity. Englewood Cliffs, NJ: Prentice:
Hall. Parnas, David L., and Paul C. Clements 1986. «A Rational Design Process:
How and Why to ?Fake It.?» IEEE Transactions on Software Engineering,
Feb. Simon, Herbert. 1981. The Sciences of the Artificial. Cambridge, MA: MIT
Press. Wiegers, Karl E. 1996. Creating a Software Engineering Culture. p. 231.
New York: Dorset House. ??????????? 111
???????????
??????????
? ????? ?????????, ??? ??????? ?? ?????????????? ? ??????????? ?????:
??? ??????. ? ???????? ??? ??? ? ???? ? ?? ??? ???, ???? ??? ????? ??? ??
???????, ??????? ???????????? ??????????. ?? ? ????????? ????????:
???? ?????????? ???????? ?????? ?????????? ?????. ????????? ?????????
??? ????????? ???????? ????????? ?????? ?? ????? ??????????. ?????:
????????? ?????????? ???????????????. ? ??????????? ????? ???.
(????? ? ????? ???????????? ??????? ????????? ????????????, ?? ???
??? ?????? ???????.) ?????? ??? ?????? ???????? ???????????? ??????:
??. ????????? ? ???? ???????? ??????? ??????? (??????????). ??? ????? ?????????? ????? ????? ????????, ??? ????? ????? ???????:
???? ??????? ?? ???? ?????????????? ? ???? ????????? ????. ??????
?? ?????????????? ???????, ??? ?? ????????? ?? ??? ???????, ??? ?????:
?? ??????????? ???????????? ????? ??? ?????????? ?????????? ???:
???????????? ??????????? ???????, ??????? ?????? ???????? ? ?????
???????????????. ??? ?????? ????? ??????. ?? ?? ????? ???? ??? ????:
?????? ??????. ????????? ??????????? ???, ??? ? ?????? ???? ?????? ??:
???? ??????????. ??? ???????? ??????????????? ??????????? ?????:
??? ??? ??????, ????? ?? ???? ??????? ??? ???????. ??????? ??????? ?? ????? 18 ? ???, ??? ? ? ?????? ??? ????? ???????:
?? ?????????? ???????? ??? ???? ????? ??????? ??????? ???? ??????, ???
????????? ? ???, ??? ? ??????? ???????????? ???????. ? ???????? ?????
?????? ?? ?????????????? ???? ??????, ?????? ??? ????? ?????? ???.
?? ??? ???, ??? ?????? ??????? ??????????? ??????? (? ??? ???????????
????????????? ??????:??????), ??? ???? ?? ??????????? ??????. ??? ????
????????????????? ???????????? ???????? ???? ?????, ? ????? ????????
(?? ??????? ????? ??????? ?????? ??????????) ?? ????, ??? ???? ????????
??? ????, ???????? ?????????????. ?????????????????, ??????? ???:
???? 29
???????????? ????????? ?? ?????????????? ? ??????????? ?????,
????? ?????? ????????? ?? ?????? «??????????», ???????? ???????
?????????????. ???? ?????????? ? ????????????? ? ??? ?????? ??
??, ?? ????????? ??????????????, ????????, ?? ????? ????????? ? ???
???????? ??????????? ? ??? ???????? ? ?????????????.
112 ????? 2. ? ????????? ?????
???????? ??????:?????? ???????? ?? ?????????????? ? ??????? ? ??:
??????? ???? ??????? ??????, ??? ??? ?????? ?. ??? ? ??? ??? ????. ???? ????????????? ????????? ???????????, ???:
???? ??????? ???? ?????? ??????????, ???????? ????????? ???????:
???, ?? ?????????? ?????????????? ?? ????? ?????????? ????????? ???:
??? ??? ??????????. ??:?? ????? ??? ???????? ????????? ????????? ?????,
????? ???????? ?????????????? ?????? ??????????????, ?????? ??? ??
?????? ?????????? ? ???????????. ??????? ?? ????? ?????? ? ?????? ??:
??? ? ?????? ?????? ?????????, ? ????? ???? ? ????????????, ???? ????:
??????? ????? ? ?? ?????? ? ???? ???????????? ?????????? ???????,
?????? ?????? ?????????????. ????? ?? ????????? ???????? ? ??????????????? ????????. ???? ???:
?????????? ???????? (? ?????????? ??????? ? ???? ???????? ???????? ?),
?? ?? ?????? ?? ????? ????????????????? ?????? ??????????????. ? ????:
??????, ?????????? ??????? ??????, ????? ??????? ?????????? ????
????????? ???????????? ??????? ??????????????, ?????????? ?? ???:
?????? ??????????? ?????? ?????????????? ? ???????? ?? ?? ????????:
??? ????????? ????. ??? ?? ????????, ??? ?????????????? ?????? ????
????? ??? ?????????????????, ??? ???????????. ????, ????? ??? ?????
?????????? ????? ??????? ??????????. ??????, ?????????? ?? ?????? ?????? ???????,? ????????? ???????????:
??? ? ??????????? ? ???????????? ???????? ?????? ????????? ???????:
???, ????? ????????????? ???? ??????,? ???????? ????? ???????. ? ????
????????????? ? ?????????? ?? ????????? ??????????? ????????????:
?? ?????? ?????? (?????? ?????????????, ???????? ???? ?????? ??????
? ???, ??? ??? ??????????? ????? ?? ?????????? ????????????? ???????
?????????? ???????), ?? ???????? ??? ????? ????????? ?????? ?? ??????. ?? ????? ??????, ?????????? ????? ??????????????, ?????????? ??????:
??? ?????? ? ??????????? ?????? ???????? ???????. ???:???? [McBre:
en, 2000] ?????? ???, ??????, ??? «???????????? ?????????? ????? ????:
???????? ? ?????????? ??». ???????, ???? ?????? ????? ??????, ?? ??????
????? ??? ????. ????????
??? ? ?????? ?????? ????? ?? ?????? ?????, ???? ?? ???????? ???????
??????, ????????? ?? ????? ???????????. ? ??????? ?? ??????, ????? ??,
??? ????????? ????????? ?????? ?? ?????????????? ? ???????????, ??:
??????????? 113
??????? ?????? ?????????? ????????. ???????, ??? ?????????? ??:?? ??:
??, ??? ? ??????????? ???????? ??????????? ?????????????? ? ???????:
???? ????? ???????? ?????????? ??????? ??????????. ??? ??:?? ????,
??? ?????????????? ??? ?????? ??????? ? ??????? ?????????? ???:
??????????, ??? ?????????? ?? ?????? ????????????? ??????????? ??:
???????. ???, ??? ?????????????? ???????? ?? ???????????, ??? ????? ?????? ??:
?? ????, ??? ????????? ?????? «?????». ? ??????? ???????? ?????? ??:
??????? ??????? ?????????????????????? ???????????? ????????? ??:
??????? ?????? ?? ????? ?????????? ? ??????????????, ? ?????? ?????,
????? ????????? ??????????? ?????? ??????????????, ? ???? ???????? ??:
????? ?????????????. (???????? ????????, ??? ??? ?????? ??????????:
????? ??????? ?????? ???????? ?? ?????????? ?????, ? ???????? ????????
??????.) ??????? ?????? ??????? ??????? ???? ??????????? ? ???????
????????, ??? ? ?????. ??? ????? ??????????????? ??????????????? ?????
??????????????? ? ???????????? ?? ????????, ??????? ?? ?????? ??:
????????? (? ?????? ??? ??????? ???? ??????????) ??????? ? ???? ???????
?????? ?????????????, ???? ??? ??? ??? ??? ??????.
??? ???:?????????? ??????? ????? ????? ???????? ?????????????:
???. ???????, ????????? ? ???, ???? (3 Ч 3 ? ??? ???????? ?? ??? ??????)
? ?????? ?????????? ????????. ? ???? ???????? ???? ?????????????? ??:
?????? ??????????? ????? ? ????? ??????? ????? ????? ????????? ?????,
? ?????? ???????? ????????? ?????. ??? ?????? ? ???? ?????? ??????????
?? ? ?????????????? ???????????????? ?? ????? ?????????? ? ??? ?
?????????? ???? ????????? ? ????????? ??????? ???? ?????????? ?????:
??? ????????????? ?????? ?? ?? ?? ???? ??????????????. ????????
??? ? ??? ???????, ?????? ???? ????? ??????????? ? ??????????. ??????:
?????? ????????, ? ??????? ? ??????, ??? ??? ??????????? ?????. Glass, Robert L. 1995. «Ending of Design.» In Software Creativity, pp. 182?
83. Englewood Cliffs, NJ: Prentice:Hall. ??????
McBreen, Pete. 2002. Software Craftsmanship. Boston: Addison:Wesley. 114 ????? 2. ? ????????? ?????
??????????
?????:?? ????? ???????????????? ???? ???????????????????, ?????:
??????? ??? ?????????? ???????. ????????, Fortran ?????????????? ???
??????? ????????. ?????? ???? ?????, ??? ???? ?????? ???? Ada, ?????:
?????????? ?? ??????? ????????? ???????. ?? ???????? ?? ????? ???
??????, ? ????????? ????? ??? ????????? SYMPL (System Programming
Language, ????????? ???? ????????????????). ??? ????????????? ????:
??? ?????? RPG (Report Program Generator, ??????????? ????????? ????:
???), ? ????????????, SQL. ????? ??? ????????? ?? ???????????, ?? ??????
???????? ???? ??????????. ??? ??? COBOL. ??????, ??????????? ?????????? ??????? COBOL.
?? ??? ???????? ??? ???????????????? ??????:?????????? ? ???????:
????????? ?? ?????? ??? ????, ?? ??????? ????? ??????, ?? ? ??? ????, ??:
????????? ?????? ????? ???????? ?????????. ????? ?? ??? ?????????,
????????????, ??? «?? ??? ????? ?????? ???????? ?????????? ?????, ? ??:
???????? ?? ??? ????? ?????? ?????????» (?.?. ??????????????? ?? ???:
?? COBOL ????? ??????????????????? ????????, ? ?????? ??? ???????:
?? ????? ???, ???? ??? ??????????). ?????? ???? ???????????? ?????????? ???? (??? ?????????, ???????:
?????) COBOL ?????? ??????? ?????? ??? ????????, ??? ?? ??????????
???????. ???????, ?????? ???????????? ????? ??????????? ????? MOVE
CORRESPONDING. ??? ?? ?????? ????????? 16 ???????? ? ??? ???? ?? ???:
???, ?? ??????? COBOL ????????? ????? ???????????? ?????? ???:
????????????? ?? ?????:???? ??????????????. ?????? ??? ???????????
????????? ????????? ????????: ?????????? ?????? ? ???????????? ???:
???? ?? ????? ????????? ?????? ? ??????, ???????? ??????, ? ???????,
?????????? ????????? ?????? MOVE. ?? ????? ?????? ? ????? COBOL ??? ??, ??? ?? ????????????? ???????:
???? ???????? ????????????, ??????????? ???????????? ??????:?????:
?????: ????????? ?????? ?????????????? ??????? ??? ???????????
?????????? ? ????? ???????????? ?????????? ??????? ?? ???? ????????.
?????????? ??????? ?????????? ????????? ????? ? ?????????? ??????:
???? ??? ?????????? ?????????????? ?????. ?? ???????? ? ????????? ??:
???? 30
COBOL ? ??? ????? ?????? ????, ?? ??? ????????? (??? ????????? ??????
??????) ??????? ????.
??????????? 115
???????????? ????????? ???????, ? ??????? ?? ?????? ?????? ???? ???:
???? (? ?????? ?? ?????????? ? ?? ??? ???). ?????????? ??????????
???????????? ?????????? ? ?????????? ?????????, ????????? ????????:
??? ??????????? ? ????????? ??????????? ??? ?????? ? ????????????
?????? ???????? ????????, ??????? ?????? ? ????????? ??????. (???
??????????? ????? ???????? ??????? ? ???????? ????????? «Software
Practitioner», ????????????? ???? ? ??????? «??????».) ????? ???? ??? ? 50:? ????? XX ???? ???? ?????????? ??????????? ???:
??????????????? ??????, ? ???? ??????? ????????? ????? ????????. ???
????? ????? ???????? ?? ????. ??????? ? PL/1 ?? IBM (??? ???? ?????????:
??? ??????? ????????????? ????? ???? ????????) ? 60:? ????? XX ????, ???:
????????? ?????? ???????????????? ?????????? ?????? ? ???????? «???:
??????????» ??????, ?????????? ?????, ??????????? ?? ??????? ?????:
?????. ???????, ??? PL/1 ??? ???????? ?????????? ? ?? ??? ?????? ???:
??? ???????/1
1
, ????????? ???????? ??? ???????? ???????????,
? ??????? ???:???? ?????:???? ???????????. PL/1 ?????????? ????? ??? ??:
??? ??????, ??? Pascal, Modula, C ? Java. (Ada, ?????????? ?????????????:
??? ??? ???? ??? ?????????? ????????? ???????, ? ???????? ????? ??????
????? ?????????????? ??????? ? ?????, ????? ???? ??? ????????? ?? ?????
??????.) ???? ??? ?????? ????????????? ??????????? ???????? ???? ???:
??????????????? ???????????????? ??? ??????????? ?????????? ??:
??????. (???????? ??????????? ? ??????????? ??????, ??????????? ???:
??????????????? ??????; ???? ? ????? [Hunt, Thomas, 2000] ??????????:
???? ????? ?????, ?? ??? ??????? ???????? ?????? ? ??????? ?? ????????
?????????, ? ??????????? ?????, ??? ??? ?? ???????? ?? ?????? ????:
???????????????? ?????.) ? ?????????? ???? ???? ??????? COBOL ???????? ???????????? ???:
???, ??????? ???? ????? ??????? ??? ?????????? ??????:??????????.
????? ????, ??????, ???????? ??? ??????, ??? ??? COBOL??? ???????????
??????? ??? ?????????? ? ????????? ? ??????????? ???????? ??? ?????
????????????????, ? ????????, ??? COBOL ???? ??? ????????! ??????
??? ?????? ???????????? ???????????? ??????????, ??? ???? COBOL ?
????????? ???? ????? ??????????? ??????? ??????. ? ?????? ??? ?????:
??????, ??? COBOL ???? ??????????? ????, ??? ?????? ?????. 1
?????? ???????/1 ??? ????????? ? ??????, ? ? ?????????? ???????? (kitchen:
sink language) ??????????? ?????????? ?????? everything but the kitchen sink
(??? ??? ??????, ????? ???????? ????????), ???????????? ??????????? ?????:
??????? ? ???????????????? ????:????.? ??????. ?????.
116 ????? 2. ? ????????? ?????
????????
????????? ? COBOL?? ??? ??????, ??? ??????? ? ??? ???:?? ??????? ?????
?????? ??:?????????? ?????? ???????. ?? ?????? ?????????? COBOL ?
??? ????????? ???????????? ?????????. ?? ???? ?????????? ????????
? ???, ? ??? ?????????? ??????, ??? ?????????? ????? ??????? ??, ??? ???:
??????? ?????????? ??? ???????. (?? ????????? ???????, ? 2005 ???? ??:
???????? ??????? ???? ?? COBOL?? ????????? 50 ??????????!) ??? ?????? ????? ???????? ???????? ????? COBOL, ???????????????
????? ???????? ???????? ? ??????????: «COBOL ? ??? ????? ?????? ????,
?? ??? ????????? (??? ????????? ??????:??????) ??????? ????». ?????????
???????? ??????????, ? ?????? COBOL?? ????? ??:????????. ???????,
??????, ??????? ????????? ?????????????? ?????????, ??????? ???:???:
?? ? ?????????? ??????????? ?? ????? ?????, ???????????? ????? ?????
??????? ?? ???. ????????? ? ???:???? ????? ???????? COBOL Report, ???
??????? ? ??????????? ???????? ?????? ? COBOL. COBOL ?????????
??????????? (???? ???????????? ???????????, ??????? ?????? ????????:
???, ??????? ? ? ???????? ????? ?????????? ???????????? ?????, ???????
«?????» ???????????, ????? ??? ????????:??????????????? ???????????
? ????????? ???????????????? ??? ?????????), ? COBOL Report ??????
???? ?????????? ? ????? ????????? ???????. ????????? ??? ?????, ?????????? ???, ??? COBOL ?????????? ?????:
??????, ???? ??? ? ?????? ????????, ? ????? ????????????????, ????? ??
??????????? ?? ?????????????, ??????? ??? ? ?????? ??????????? ???:
???. ???? ?????? ??????? ? ????? ??????????? ???????? ????? ???????:
???????? ????????? «Software Practitioner» : ? ???????? ? ??????? 1996 ?., ?????? «How Does COBOL Compare with
the ?Visual? Programming Languages?» (COBOL ? «??????????» ?????
????????????????) ? «Business Applications: What Should a Program:
ming Language Offer?» (?????????? ??? ???????: ????? ???????????
?????? ????????????? ???? ?????????????????). ? ?????? ? ??????? 1996 ?., ?????? «How Does COBOL Compare with
C++ and Java?» (COBOL, C++ ? Java) ? «How Best to Provide the Services
?????????? ?????? 117
IS Programmers Need» (??? ????? ???????????? ??????, ? ???????
????????? ???????????? ?????????????? ??????). ? ?????? ? ??????? 1997 ?., ?????? «COBOL: The Language of the Future?»
(COBOL: ???? ?????????) ? «Business Applications Languages: No ?Best?
Answer» (????? ??? ??????:??????????: «???????» ?????? ???).
??? ???? ?????, ?????????????? (????????????) COBOL, ?????? ? ???:
?????? ?????, ????? ???????, ??????????? ?????? ?????????? ???????:
?????????, ??????????, ??? ????????? «??? ??????? ??? ???????? ??????:
???? COBOL». McBreen, Pete. 2002. Software Craftsmanship. Boston: Addison:Wesley. ??????
Hunt, Andrew, and David Thomas. 2000. The Pragmatic Programmer.
Boston: Addison:Wesley. ?????????? ??????
??????????
??? ???????????? ???? ?????????? ????? ??????????, ???????? ???????
???????? ????????? ???????????. ? ???????? ???????? ?????? ????? ???
??????????? «???????» (checkout) (????????? ??? ? ??????? ?? ? ? ??????:
??? ????? ??????, ??????????? ???????? ??). ?????????? ?????? ?????
?? ?????????? ????????????????, ? ?????????, ??? ?????? ???????? ??
«?????????????», ????? ??? ?????? ??????????? ????????? «???????? (??:
?????????) ? ??????????» (verification and validation). ? ???????, ?? ???
?????, ??? ?? ?? ????????. ????? ??, ??? ?????????? ?? ???? ??????. ? ??:
???? «?????????? ??????» ?????? ??????, ??? ??? ????? ???????????? ??:
?????? ??? ???? ????????????. ? ???? ???? ?????????? ?? ??? ?????? ??:
???????? ?? ?????????? ??????. ?? ??? ????????????? ????? ? ?????? ????, ??? ??? ??, ??? ???????
?????????? ?????? ??? ??????????? ??????????? ????????? ???????
???? 31
???? ?????????? ?????? ? ????? ?????????? ? ????????? ?????.
118 ????? 2. ? ????????? ?????
?????? ???????, ??? ???? ??????????, ?????????????? ??? ???????????
??????? ?????? ?????? ? ?????????? ???????? ????? ??????. ??? ????????????? ?? ??? ????? ?????? ??????????? ?????????. ?????
?????????? ? ????? ?????? ?????????? ?????, ????? ??????????? ??????
????? ??????????, ?????????????? ? ???????????. ? ?????? ?? ???? ???
?????????? ????? ????? ?, ?? ??????? ????, ??????? ?????????????. ? ??
????? ???? ?????????? ??????? ???, ??? ?????????? ???, ????????? ??:
????? ?? ????, ??? ?????? ?????????????? ????. ? ????? ????? ??? ???:
????? ?? ??? ??????, ??? ??????????? ???????????. ?? ???? ???????????????? ????? ????????????? ???????? ?????????
(??? ?????, ???????, ???????? ? ??????? ?? ????? ???? ???) ??????? ????
?????? ????????, ??? ????????? ????????? ?? ????? ???????? ?? ??????
? ?????? ???? ?? ??????????. ???????, ???? ??? ?????????, ?????????
???? ??????? ??????. ? ??? ?? ????? ???????????! ???? ???:?? ????? ? ????
????????????????, ???? ??? ???? ???????? ?????????, ??? ?????????? ??:
?????? ??????, ??? ? ???? ????? ????????? ??????????? ??????? ?? ??:
??????? ??????. ??, ? ?? ??????? ???? ????????? ?? ? ????????? ??:
??????, ??? ????????? ?? ???????? ????? ??? ???? ?????????????????. ?????? ? ?????????? ???? ???????, ???????????? ?? ??????????
??????, ? ?????? ????????, ?? ??????? ????? ?????????? 20?20?20?40.
?? ???? 20% ?? ???? ??????????, 20% ?? ??????????????, 20% ?? ????????:
??? (???????? ???????????? ??????????? ?????????????, ??? ????? ???:
??? ?????? ?????, ?? ??? ???????? ?????? ?????????) ? 40 ?? ??????????
?????? [Glass, 1992]. (? ????????? ????? ???????? ????????? ??????????:
?????? ?? ?????? ?????? ?????????? ?????, ?????? ?????? ???????? ???:
?? ?????????? ? ??????????????, ??????? ?????, ???????, ??????????
?? ???????? ?????: 25?25?20?30.) ? ??? ????????? ???? ?? ?????????? ??????. ? ??? ??????? ??? ? ????:
??, ??????????? ???? ??? ?? ????????? ????? ?????????? ???? ? ?????:
?????????. ?? ??, ???????, ???????, ??? ? ?????????? ????????? ?????
?? ?????????? ???????????? ???????? ????? ??? ???? (? ??? ????????
????? ??? ?????????? ??????). ???????, ???????????? ? ??? ???:???? ??:
??????? ????, ???????????? ????? ????????? ???? ? ??????????????
?? ????????????? (???? ???????????? ?????? ????? ?????????? ?? ????
?????????? ???????? ???????????), ?? ?????? ??????? ?????????? ???:
???, ????? ??? ??????? ? ?????????, ?????? ??????????? ?? ??????????
????? ?????????? ?????, ? ?????????? ????????? ??? ????????????????
(???????) ?? ???? ?? ?????????. ???????????? 119
????????
???? ???? ???????? ???????? ????? ?????????. ???, ????????, ?? ??? ???
?????? ???? ???????????, ??? ?? ?????????? ?????? ?????? ????? ????
???????, ? ? ???????? ???????????????? ????? ???. ?? ?????????? ???
????????? ????? ?????. ?????? ???? ???? ???????????? ????? ??? ?????:
?????? ??????, ??????? ?????????????? ? ???? ?????: ???????? ??? ???
??????????? ??????? ? ???????? ???????? ??????. ???? ???????, «???:
????» ? «?????????? ????» ?? ??????? ?????. ????????
?????, ????????? ? ??????? «??????», ???????? ????? ?????? ??????????
? ???????????? ??????? ?????. ??????
Glass, Robert L. 1992. Building Quality Software. Englewood Cliffs, NJ:
Prentice:Hall. ????????????
??????????
? ?????????? ??????? ????? ???????? ? ???????????? ??. (??? ???????:
?????? ????? ?????????? ?????????? ???????????? ????, ?????????? ??:
????? ?????? ? ???.) ?? ????????, ????????????? ? ???? ??????????
???? ???????? ?? ?????:?? ????????????. ??? ??? ???????: ? ???????????? ?? ?????? ?????????? (requirements:driven testing),
?????????? ?????????, ??? ?? ?????????? ?????????.
???? 32
???????????, ??? ? ??, ? ??????? ???????? ??????????? ??????, ??? ???
????????? ???????????????, ??????? ????????? ?????????? ???? 55?60%
?????????? ?????. ?????????? ?????????????????? ???????, ????? ???
??????????? ????????, ????????? ???????? ??? ???? ???????? ?? 85?90%.
?????????????? 100% ?????????? ????? ?? ??????????? ??????????.
120 ????? 2. ? ????????? ?????
? ??????????? ???????????? (structure:driven testing), ??????????
?????????, ??? ?? ????? ????????? ????????????? ??????????
???????.
? ?????????????? ???????????? (statistics:driven testing); ??????????
?????????, ????? ?????????, ??? ????? ??? ????????? ?????? ??:
??? ??????????? ?????????.
? ????????????, ??????????????? ?? ????? (risk:driven testing), ??:
??????? ?????????????? ? ???, ??? ???????? ????? ????? ???????
?????????.
????? ???? ?????? ? ??????????? ????????????. ??, ?????? ??? ???:
??????? ? ??? ??????????, ????????? ??????? ? ???, ??? ??????? ?????:
???? ??? ???????? ????????. ??? ???????????? ?? ?????? ?????????? ?? ????????, ?? ??? ??????
????. ?????? ????????????, ?????? ???????????, ?????? ????????????
??? ??. ?????? ??? ??????? ?? ?????? ?????????????, ??????? ??:?? ??:
??, ??? ?????????? ????? ?????????? ?? ???? ???????? ???????? ?????? ??:
???????????, ? ??? ??? ??????????. ? ??? ??????????? ????????? ?????:
????? ????????????? ? ???, ??????? ???? ????????? ?????? ???????? ???:
???????, ?? ?????? ??????? ???????????? ???? ?????? ?? ????? ????????:
??????. ?????????????, ??????????? ???????????? ??????????. ????? ?????:
???? ??? ??????????? ?????????, ??????? ?? ?????:?? ?????? ???????
? ????????? ????????????, ??????????? ??????? ?????????? ??????????:
???? ??? ??????????? ???????? ??????? ?????????. ????? «??????????»
??????????? ????????? ? ????? ?? ??????, ??? ?????????????? ???
????????? ??????????. ? ???? ????? ??????? ??????????? ?????? ????:
???? ?? ?????????? ???????, ? ???????, ?????????????? ????? ??????
(? ?? ?????? ??????????), ???? ???? ??????????,? ??????? ?? ???????
«??????????? ????????». ???????? ????????, ??? ???? ? ????? ?? ?????? ? ??????????????
???????????? ? ????????????, ??????????? ?????. ?????? ????????, ??:
??? ????????? ??????? ? ????????????? ????????????? ???????????, ???
??????????? ??????? ????? ? ???????????? ????????????, ? ?????? ??:
???????? ??? ???????? ? ???????? ???????, ? ??????? ????? ????????:
??????, ??? ??? ????? ???????? ? ????????? ??? ?????????. ?? ??????????
??????????? ???????????? ? ????????????, ?????????? ?? ???????????
??????, ??????? ? ???? ?????? ???????? (??????????????? ? ????????:
???? ?????) ????????? ????????? ?????? ? ???????? ? ?????????? ??? ??:
???????????? 121
???????? ???????????? ? ??????????. ????? ????????? ??????????
? ?????????????? ???????????? ? ???????, ????????? ? ???????, ?????
?????, ????????, ? ???? ????? [Glass, 1992]. ? ?????? ?? ?????????????, ??? ??????????? ???????????? ???????
? ??????????? ??????????, ? ?? ? ???????? ?????? (?????????, ?????????
? ???????? ??????, ??????????? ????????? ??????? ???????????? ? ???:
?? ??????????? ?? ????????). ???? ???? ???????, ??? ?????????? ????????
?????? ???? ???????? ????????????, ???????? ?????? ? ???, ??? ????? ??:
???????? ???????. ?? ????? ?? ????????? ?????? ??????????, ??????:
???? ???? ??? ?????? ??????/?????????. ???????????? ???????/?????:
?????? ??? ??????? ?????????? ??????? ?? ??????????? ?????????????,
?? ??? ????? ?? ???????????? (????????? ?????? ??? ????????? ????????
????? ?????????? ????, ??????????? ????????????). ? ???????????, ???
???? ???????????? ?? ?????? ?????????? (statement:level testing) ?? ????:
???????? ??????????? ??????? ????????????. (??? ???????? ?????????:
??? ??????? ?????? ? ??????? ????? ?????????? ??????????, ? ?????
? ????????????? ???????????? ?????. ????? ??????, ?????? ?????????:
??? ?? ?????? ?????????? ?? ????????? ???????, ??? ???????????? ????:
?????? ?????, ??????????, ????????, ? ?????? [Glass, 1992].) ??????? ???????????? ???????? ?? ?????????? ????? ?????????,
? ???????? ????????? ?????????????? ??????? ? ???? ???????? ? ?????:
????? ????? ??????? ????? . (??? ???? ??????????? ???? ???????????, ??:
?????????? ?????????? ??????????, ??????? ????? ???????????? ???????
???????? ????????????? ?????? (branch testing) . ? ??????????? ????????
? ?????????? ?????, ????????? ?? ????????? ?? ?????????, ? ??? ? ??????
??????????.) ?????? ????????? ? ??????????? ???????????? ? ????????. ????, ????
??????????? ???????, ??? ??? ????????? ?????????????, ??? ???????
????????, ??? ?? ????? ???? ???? ????????? ???? ?? 55% ?? 60% ??????:
???? ????? [Glass, 1992]. ??? ??????????????, ??? ? ??????? ????? ???????:
?? ??????? ?????, ??????????????? ? ????????? ???????????? ????????
? ??????????, ??? ???? ???? ????????? ???????????? ???? ????? ? ???,
??? ??? ???????. ??????????? ?? ??????? ???????????? ?????????? ??:
??? ???????, ??? ???????????, ?????????? ?????????? ??????? ????????
???????????? ?????, (??? ?????????? ????????????? ????????? ?????:
???), ????????? ????????? ???? ?????????? ?? 85?90% [Glass, 1992]. ?????,
??? ????? ?? ???????????? ???????? ??????, ????????? ??????? ???????:
????? ?????????? ????? ?? 100% ?????? ?????????? (??:?? ????? «????:
122 ????? 2. ? ????????? ?????
??? ???», ??? ??????????? ?????????? ????, ??????????? ???????????:
??? ????????, ??????? ?????? ????????? ?????????, ? ?.?.). ?? ?? ?????
???????? ????????? ?? ?????????? ?????????, ????? ???????? ??????:
???? ????, ??????? ?? ???? ?????????. (?? ????? ????????? ?????????:
?? ?? ?????????? ?????????? ? ??????? «????????? ? ??????????», ????:
????????? ? ????? 37.) ????, ?? ?????, ??? ???????? ???????? ? ???????????? ?? ????????:
???? ????????? ????????? ???????????? ????????, ??????? ? ??????:
?????? ?????????? ?????????????? ????????????. ??:?? ?????: ?) ?????:
??????? ???????????? ????? ??????????, ? ???????? ????? ??????? ???:
??????? ?????, ? ?) ?????????????, ??? ??????? ????? ?????? ????????:
??? ????????? ??????????? ? ???????? (???????, ??? ????????? ?? ?????
????????? ?????? ? ??????? ?????????). ????????
? ???????????? ???????? ????????? ????? ??????, ?? ?? ???????? ???
???????? ?? ????????? ????????????. ???????????? ??????????? ???:
????? ???????????? ?? ?????? ??????????, ? ????? ????? ?? ???? ??????:
?????? ???????????????? ???????????? ????????????. (??????????? ???:
?????????? ?????? ??????? ?????????? ? ??????????? ???????? ??, ??:
????? ??? ???????, ???????, ??? ???????????? ?? ?????? ?????????? ??:
??????????, ?? ??? ????? ????????? ?????:???? ???????????
???????????? ???????, ????? ??????, ????????? ?????? ?? ??? ???????.)
?????????????? ?????? ? ???????, ????????? ? ???????, ??????????? ??
???????? ????? ?? ?????. ???? ????? ??????????? ?? ??????? ? ???????? ?? ?????? ????? ?????
? ??? ?????????, ??????? ? ???, ??? ????? ???????????? ?????????? ?????
??????????? ?????? ????????? ??????? ???? ????????. ?????????, ????:
?? ??? ???, ???, ????????. ??????? ?????????????, ??? ?? ??? ??????, ??
????? ? ????? ??????? ????????? ???????? ? ????????????? ???????.
?????????? ?? ??????? ????????? ?? ????? ??????? ?????? ??????????
?????, ??? ??? ?????, ????? ??????? ????????????. ??????? ? ???????? ???:
????????? ???????????? ???, ??? ?? ????? ?????? ?????? ??????????
????? ???????????? ?????. ???? ?? ?????? ? ???, ??? ????? ???????????
??????????? ????????? ???????? (?? ???????? ? ????? ?????), ?? ? ? ???,
??? ?? ???????????:????????, ?? ?? ?????????, ??????, ?? ??????????:
???????????? 123
???? ? ???, ????? ????????? ?????? ?? ???????????? ???? ????????????.
?????? ???? ?? ????? ?? ?? ?????????????. ????????? ???????? ?? ?????? ?????????????? ???????????? ???????:
????? ? ??????????? ??????????? ???????? ?????? ????. ?????? ?? ???,
? ??? ????????????? ?????? ???? ??????? ? ???, ??? ??????? ???? ? ?????:
???? ?? ?????? ???????? ??????? ????????. ??? ????????? ?????, ????????? ? ???? ??????, ????????? ? ???? ?????:
??? ??, ?? ??????????? ??????. ?????? ???????? ???????????????? ??:
??????, ??? ??? ????????, ? ??????? ???, ??? ?? ???? ????? ???????. ?? ??
????, ??? ???? ??????? ? ?????? ???????, ?????? ???? ????????, ??? ??:
?????? ???? ??????? ???? ????? ???? ? ????? ????????? ????????.
???????, ????? ?????????? ?? ?????????? ?? ??????? ??????? ??????? ??
??? ??????, ????? ?????????????????? ?? ????? ???????????? ? ?????:
????? ????? (????????, ?? ???????? ?? ??? ??????????? ??????). ????????
?????? ???????????? ?? ???????? ??????? ???? ? ??????, ?????????
? ????????? ??????? «??????» (? ? ?????? ??????), ? ???? ? ??????? ????:
????? ????? ?????? ?????? ???????, ? ????????? ???????, ??? ??????:
??? ?????????? ??????? ????? (? ????????? ?? ???????????), ????????:
??? ???, ??????????? ?????????? ????????. ??????
Glass, Robert L. 1992. Building Quality Software. Englewood Cliffs, NJ:
Prentice:Hall. ??????????
???????????, ????????? ???? 32, ??? ??? ???????????? ????? ?????:
???? ???????? ?????????? ????. ???????? ?? ??? ??? ???????????? ? ??:
???? 33
???? ???? ?? 100%%???????? ???????? ???? ????????, ??? ?? ???????? ??
?? ???? ???????? ????????????? ????????????. ???????? 35% ???????? ??
??????? ???????????? ??????????? ?????? ? ??? 40% ??????? ? ?????
?????? ?????????? ?????????? ?????????? ?????. ?? ?? ??????? ??? 100%
???????? ???????.
124 ????? 2. ? ????????? ?????
?????????? ???? ???????? ??, ?? ??????????? ??????? ???????? ?????,
??? ??? ?????? ???????????? ?????????? ????? ?? ????????? ??? ????:
?????? ?? ???? ????????, ? ?????? ??????? ????????? ??????????? ???:
????, ????????????? ?? ?????????, ??????? ?????????? ????????????
? ??????????, ????????????? ?? ????? ?????? ?????????????????. ??? ??
???????, ??????? ?? ??? ??? ? ???????? ????????, ????????? ?? ??????? ?? ???? ? ????????? ???? ????????? ???????? ??? ?????, ????? ??????
???????????? ? ????? ???????????? ???????????? ?????????? ?????
? ???????????????? ?????????????, ?????? ??? ??????????? ?????????
????????. ????? ? ?? ? ?????? ???? ? ? ?????? ???? ?????? ????? ??????. ??? ? ?? ????? ? ????????, ??? ???? ???????, ????? ???????? ?? ???? ??:
????. ? ??????? ? ??????????????? ?????????, ? ? ???? ??? ??????
? ????????? ?????????? ?????? ?? ??????? ? ????? ???????? ?????????:
?????? ????????. ? ?????????? ????????? ?? ???? ?????? ? ??????????:
????? ?? ? ????????? ??????? ???????. ????????? ?? ?????? ???????? ??:
???????? ????? ?????????? ?????????? ??????? ??????? ????? ??? ????
???????? ?????? ??? ???? ?????????????, ??? ??????????? ?? ??????:
????? ??????? ???????????? ???????????? ???????? ???? ???????????
???????? ?? ??????. ????????, ??? ? ?? ??? ??? ????????? ??? ????, ?????, ??? ???????? ????:
??????, ??????? ????? ?????????? ?????????????. ??????????? ??????
???? ??????, ??? ?? ?? ??????? ?? ?????????? ??? ?????? ???????????
????????????. ?? ???? ??????? ?????? ????? ??????????? ?? ??? ???????
??????:
1.????????? ????????, ?.?. ??????????? ??????? ???????? ??????
??? ?????????? ????????? ??????.
2.«?????????????» ??????, ??????? ??????????? ?????? ??? ?????:
????? ???????????? ?????????? ?????????? ?????.
? ?????? ??????? ??? ???? ????. ???? ?????:?? ????? ?????? ???, ?? ??:
????? ?????????? ???????? ?????????? ????? ??? ?????? ?? ?????????.
? ??? ?? ?????? ??????? ????? ?????? ?????????. ?????????? ??? ??????:
??? ?? ???????, ? ?????????, ??? ????? ??????? ????????? ?????? ??:
???????? ???? ?? ???????????, ?? ??????????? ? ???, ??? ????????? ?????:
????? ????? ?????????? ????? ???????? ????????????. ???????? ??????:
???, ?? ???????? ??????: ???????????, ??? ??????????, ??????????? ?
????? ?????????? ????, ????????? ???????????????? ?? ???? ????????:
?????? ???, ?? ??????????? ??????. ??? ?????????? ?????? ????? ??:
???????????? 125
???????? ??????????? ???? ? ?????????? ?? ??? ????????? ????????? ??:
?????????. ??? ???????????? ??????? ????????? ?????? ? ???, ??? ????? ???????:
?? ????? ??????. ?????, ?? ??????? ???? ???, ??????? ??? ??????? ?????
? ????????? ???? ????? ?????? ??????, ???????????? ? «???????????
?????». ???? ?????? ??????????? ?????? ? ???? ????? ????????? 35%.
(?????????????, ? ????? ??????? ???????????? [Glass, 1981] ? ?????????,
??? ???????????? ?????????? «???????» ??????????? ?????? ? ???, ??:
????? ??????????? ?????? ??? ?????? ???? ???????????? ? «??????» ??
?????? ???????????? ???????????? ????????,? ??????????? ??????
? ????? ????.) ?????? ????????????? ?????????, ??? ???????????, ???
40% ????? ???????, ????????????? (100%) ??????????? ???????????? ??:
???? ?? ?????????? ??? ? ????????????? ?? ? ???????????? ????? ???:
??? ???????????????, ?? ????????????? ? ????????????? ? ??????? 75%
(?? ???? ?????? ???????? ??????????? ????????????? ??????????? ????:
??????? ????? ???? 25% ?????? ? ??????????? ????????). ???? ??????, ??? ??? ??? ????? ? ????????? ?????????? ????????????
???????????? ? ????????????? ??? ???????????? ????????? ????????, ??
??? ???? ????? ??? ??? ???????? ????. ?? ??? ?? ????? ? ??????, ??? ???
???? ?????? ???????? ? ?????? ???????. ????????
??? ???????? ????? ????????, ?? ? ???????? ??????. ?????? ???? ?????
?????????? ? ??? ? ?????? ? ????????????, ??? ????????? ?? ???????????
??????????????, ? ?????? ??????? ??? (? ??? ????? ?????????, ??????????
???? ?? ??????? «?????????») ? ?????, ??????? ????? ????? [Glass, 1979]. ?
?????????? ??? ?? ????????? ? ??? ????? ?????????? ??????, ? ???????
????????? ? ???????? ???? ?????. ????????, ??? ????????????. ????????, ?????????????? ?????? ????? ?????, ?????? ??????????? ??:
????????, ??? ??????????????? (??:?? ???? ???????). ?????, ??? ? ??:
???????? ?? ???? ????? ????? ?? ??????????? ? ????????. ???? ????
? ?????????, ?????? ????????? ???? ?????????? ????????????? ??, ? ??:
????????????? ???????, ??? ??????? ?? ??????? ? ????? ????????. ? ???,
????????, ?????????? ????? ? ??? ? ??? ?????? ?? ???????. ??????? ????? ? ??? ???? ????????????? ? ?????? ????, ??? ?????????
?? ?? ???????? ???? ?? ?????? ???????, ????????? ?? ??????. ? ??? ????
?????????? ???????????? ?? ?????? ?????????? ? ??????????? ?????????:
126 ????? 2. ? ????????? ?????
??? ?? ????????? ???????? ??, ????????? ?? ??????? ????????? ????:
???, ??? ????? ????? ????????, ????????? ? ?????? ????????, ????? ???
?????????? ??????????? ??? ????????????????? ??. ?? ??????? ????:
???????? ???????????? ???? ?????????????? ????????, ??????????? ??
???????? ????????, ?? ????????, ??? ??? ???. ???? ???? ? ???, ??? ?????????? ????????, ???????????? ?? ??????????
?? ?????? ? ??????????? ? ???????????? ?????????, ????????? ??, ??:
??? ???????? ? ????? ??????? ????????; ??? ???????, ??? ?? ??????, ???
?????. ?????????? ??????? ??? ???? ?????? ???. ????????
???????? ????? ?????, ??? ??? ??????????, ??? ??????????? ?????????:
???, ? ?????????, ??????????? ? ????????? ????? ?????????? ?????.
????????? ? ??? ???????? ? ???????? ? ??????????? ??????? (??:????:
???? ?????????????), ???????? ? ????: Glass, Robert L. 1992. Building Quality Software. Englewood Cliffs, NJ:
Prentice:Hall. ??????
Glass, Robert L. 1979. Software Reliability Guidebook. Englewood Cliffs,
NJ: Prentice:Hall. Glass, Robert L. 1981. «Persistent Software Errors». IEEE Transactions on
Software Engineering, Mar. ????????, ? ????? ??????? ? ???????, ???
????? ?????????????? ?????????? ???????????? ? ??????? ?????:
????? ?? ? ????????? ???????. ??????????
???????? ? ????? ?????????? ????? ?? ?????????? ???? ????????? ????:
?? ????? ????????????? (Rodney Dangerfield) ? ??? ?????????? «?????
???? ?? ???????». ???? 34
??? ???????????????? ??????? ????? ?????????? ??????????? ?????????
?????? ?? ?????????? ??????. ?????? ??????????? ????????? ? ? ????
??? ?? ?????? ????????????, ???????? ???????????? ????????? ????????. ???????????? 127
????? ??????? ???????? ????????? ??? ?????????? «?????????»
(front:end) ??????? ?????????????? ? ??????? ??????????. ??? ??????:
??? ????????????? ???? ?????? ??????? ???????????????? ???????? ??+
????????????????? ?????????????? ? ???????? ???????? (Computer:
Aided Software Engineering ? CASE). ?? ????????? ??????????????? ?????
(????????, ?????????? ????? ?????????? ??????? ? ??????????????). ??:
???????? ??????????? ??????????? ? ???, ??? ???????? ?????????? ????:
?? ?? ???? ???????. ???? ?? ???????? ?????????? ??????????? ??????, ???????????? ? ??:
??????????? ??? ?? ???. ??????????? ??? ???? ?????? ???? (?????? ????
????? ????????? ?????? ? ?????), ?? ??????????? ??? ?????. ? ??????:
??????? ????? ??? ??????????? ?? ?????? (?? ?????? ?????????????, ??:
????, ???????, ??? ????????? ???? ?? ????????????? ????????????). ??:
??? ????????, ??? ?????? ???? ????????? ??? ??????, ???????? ???????:
?????? (????????? ?? ???????????? ????, ?? ??? ???????????? ???????:
????????). ???? ????????? ????? ?? ??????? ???, ??? ? ??????? ????????????????
??????? ??? ????????????. ?? ?????????. ?????????. ??????????? ?????:
???. ??????? ?????????? ?????????????. ?????????? ?????????. «????:
??????????????» ??????????? ????????????, ??????????????? ? ????:
???????? ???????? ???????????? (capture/replay testers). ??????????????:
??? ????? (? ????????? ???????????????). ?????????? ???????? ??????.
???? ? ???, ??? ???????? ??? ??????????? ?????. ?? ????? ???? ??? ? ??:
?????????? ?????. (????? ???????????????? ??????? ???????? ??????
??????????????? ?????? shelfware ? ?? ????????, ?????? ?? ????? ? ????:
??? ?? ?????????. ??????????? ???????????? ????? ?? ????? ?? ??????:
??. ???????????, ???????????????? ???????????? (??. ???? 35), ????:
???????? ????? ?? ????????? ??????? ??????????. ??? ?????????? ??:
??? ?????.) ? ??? ?? ????? ?? ? ???, ??? ??? ??????????? ??????????. ?????????,
??? ????????? ??? ?????? ?????? ???????, ??????????????? ??? ??????:
??? ?????? ? ?????????????? ? ??????? ??????????,? ??? ?????? ???:
????????, ? ??? ??? ?????, ?? ? ???????? ?? ???????????. ? ?? ?? ????? ??:
????????? ??? «?????????» (back:end) ??????, ???? ??? ????????????,
????? ????????. ?????????? ??????????? ???? ?????????? ? ???????????
??????. ??????????? ???????? ????? ??????? ???????? ??? ??????????:
?? ????????????. ??????? ?????????? ????????????? ?????????? ?????:
???? ?????????? ??????????? ??????, ??????????? ? ???? ?????????
128 ????? 2. ? ????????? ?????
??????. ???????????? ?? ??? ?????????? ?????? ????? ?????????? ???
?????????? ?????????. ???????? ? ?????? ???????? ????????????, ???? ?
?? ?????????? ?? ??????????, ?????????? «?????????????? ???????????:
??», ??????????? ????????? ?????? ?????????? ????????????. ?? ? ?????:
????? ?????????? ? ???, ???????, ??? ?? ????? ????????? ? ?????????:
???????? ????? (????????, ??? ???????? ???????????? ????? ?????????:
??? ? ??????). ???????? ????? ?????????? ???????? ??????, ????????
? ????? ???????, ??? ?????????????? ???????????? ? ???, ??? ????? ??????
???????????????? ???????????. ???? ????? ?? ? ????????????? ?????????? ???????????, ? ? ???????:
?????? ?????????????? ???????. ??? ??? ???????? ???????, ?????????:
??? ?????????? ???????????????? ??????? ???????????? ??: 1.??????? ? ????? ? ?????????? ????? ? ?????? ?????? ?????? ???:
?????? ?????? ??????????? ?????????????? ? ?????? ?????????? ?
?? ??????? ????. ? ???, ??? ??? ????? ??? ???????, ???????, ??? ??:
???? ???????. ?? ??? ?????????, ??? ??????, ?????????? ?? ????
???????, ??????????, ????????? ????? ??????. ????? ?????? ??????:
???? ??????????? ?????? ??????? ?????????? ? ??????????????.
?? ?????????? ?? ???????????, ???????????????? ?? ?????????
???????, ???????????? ?????????. ? ?????? ??? ? ?????????. 2.? ??????????? ????? ?????? ????????? ?????? ?????????? ????:
???????? ????? ?????, ????????????? ??? ????????? «???????». ????
???? ???? ?????? ?????????? ??? ?????????????? ?? ???????, ?? ??
????? ????????? ???? ?? ????????. ? ?????? ???????????? ? ??:
??????????? ??? ?? ???. ? ????????? ???????????? ? ??????????:
??? ????? ?????? ???? (?????? ??? ????????? ??, ??? ? ?????? ??:
???????), ??????? ? ??????????? ????????, ? ???????????????????:
?? ?????????????? ???????????? ?????? ?? ????????? ?????? ???:
?? ??????. 3.?????? ??????????? ??????? ?????????? ??????? ?????????? ??:
??? ??????????? ????? ? ????? ?????????? ?????. ??????? ?? ???:
????????? ???????? ??????? ???? ???????. ??????? ?????????
????????, ??????? ????????? ? ??????. ??? ???? ????? ????? ????
? ???? ???????????????, ?????????? ???? ???????????? ?? ????:
?? ???????????? ? ???????????? ?????? ?? ????? ??? ??????????,
? ? ???? ? ??????? ??????? ????? ?????? ???. ????? ???????????? ????? ??????????? ??? ???????????? ? ??? ?????:
???, ? ???? ?? ????????????? ? ????????????? ?????, ??????????? ?????:
???????????? 129
???????? ?? ?? ??? ??? ????? ???????????. ?? ??????? ????? ?????? ??:
?????????? ????????? ???????????? ? ??????? ?? ????, ??? ?????? ???:
?????????, ? ??? ???? ?? ????????????, ?????? ?? ??????????? ?? ?? ??:
???????????. ??? ? ?????? ???????. ??? ?????????, ????????? ??? ??? ?????????? ??? ?????????? ????????
???????????? ?? ????????????? ??????????????, ????????, ? ??????? ???:
???? ?????????????, ???? ? ??????? ?????????? ???????????? (ACR2001).
?? ??? ???????? ????? ???:???? ???????????. (???? ??? ? ??? ??????????:
??, ??? ??? ?????????? ??????, ?????:???? ?????? ? ???. ? ??? ??? ? ??????
? ????? ?? ??????????? ????? ?????????, ?? ????, ??????? ?????? ??????:
?????? ? ????????? ???? ?????????.) ? ??????? ??????????? ???????????? ????????????? ????????????
???????????? [Zhao and Elhaum, 2000], ????????, ???????? ??????, ?????:
???? ??????? ?????????? ?? ? ???????? ???????? ?????. ??????? ???:
?????????? ?? ? ???????? ???????? ?????, ?????? ???????????? ????:
??????, ??? ???????????? ???? ???????? ???????????. ???? 39,6% ???:
?????? ???? ?????:?? ???????? ????????????, ?????? ? ??????????? ?????:
?? ??? ???? ?????????. ????? ????? ?? ???????? ??????????? ????????.
??? ?????? ???? ???, ? ???? ??? ???? ?????:?? ???? ????????????. ????????????? ?? ?????????? ???? ??????? ???, ??? ??????? ????????
? ???????? ???????? ?????. ???????????? ????????????? ??, ????????,
?? ??????? ?????????? ? ???? ?????? (? ?? ?????, ????? ????, ???? ????:
?? ?????????????? ????? ????????????). ?????? ???????, ?? ???????
??????????? ???????? open source ???? ????????? ????????????????
????????, ??????????? ?????????. ??? ????????????, ????????, ???????,
??? ??? ?????? ? ?? ?????????? ???????? ??? ????????? ?????? ??????
(??? ?????? ?????????? ?????????, ???? ?? ??? ???????? ??????????
????? ???? ? with enough eyeballs, all bugs are shallow). ????????, ????????:
??? ??? ????, ??? ???????????? ?? ????????? ????? ?????? ? ?????????????
??????????? ???, ????????? ???? ?????? ? ????? ??? ??????????. ???
?????????, ???????, ????? ???? ??????????? ????????? ?????????????
? ??, ???????? ??? ???????? ???????????? ??????? ?????? ? ?????????.
?? ???? ?? ?? ???????? ???????????? ????? ????, ?? ???? ??? ?????????
???????, ??? ????? ??????? ? ???????? ???????? ????? ????? ?? ??:
??????? ????????, ????????? ??? ?? ????????? ????. ? ? ?????????????
??? ??????? ??????, ?????????? ?? ???? ??????? ? ?? ????????????. 130 ????? 2. ? ????????? ?????
????????
?? ??? ????????, ??? «?????????» ??????? ?????????? ????????? ????
????????. ??????? ? ?????? ??? ???????? ?? ?????. ? ?? ?? ????? ???:??
????????? ????? ????????? ???? ???? ??? ?????????? ???. ?????? ???? ???:
????, ??? ? ??? ?? ?????. ? ?????? ??????????? ? ???, ??? ?? ????? ????,
??????? ?????????? ??????????? ?? ?, ? ?????????, ??????????? ??????:
?????? ????????????, ??????? ???? ???????????? ???? ????????? ? ??:
????? ??????? ??? ??????? ???? ????????. ??????????, ??? ???? ?????
??? ???????? ?????, ?? ??????????? ??????????? ??????????? ?? ? ????
????????????. ????? ????, ????? ?????? ????????????? ???????, ????:
???? ??, ??? ??????, ????? ?????. ????????
??????, ??????????? ?????????? ????????? ? ???????? ???????? ??:
???, ? ??????? ???????? ????????????? ?????????? ????????????????
???????, ??????????? ? ??????? «??????». ??????
ACR. 2001. The ACR Library of Programmer?s and Developer?s Tools. App:
lied Computer Research Inc., P.O. Box 82266, Phoenix AZ 85071:2266.
???? ??????? ???????????????? ??????? ?????????? ????????. ? ??:
??????? ????? ?? ????????. Zhao, Luyin, and Sebastian Elbaum. 2000. «A Survey on Quality Related
Activities in Open Source». Software Engineering Notes, May. ??????????
?? ?????????? ????? ??????? ????????????? ????????? ?? ????, ????:
??? ? ???, ??????? ? ?????? ????????????? ???????? ???????? ????????:
???? ???????????. ??? ????? ????????? ???? ?? ??????. ???? 35
????? ????? ????????????????. ?? ???? ???????????? ???????? ???????
????? ????? ? ?????? ???? ????????????????. ?? ???????????? ????? ??
????, ????????? ? ?????????????, ???????????????? ??????.
???????????? 131
?????:?? ??????? ??????? ? ?? ???????? ???? ?????????????? ??????:
??? ???? ?? ????????????. ?????? ????????????? ????????, ??? ??? ???:
?????, ? ?????? ????? ? ????? ?????? [Rich and Waters, 1988] ????????? ???
???? «?????? ? ?????????», ??????????? ????? ?? ??? ????????????. ?????
??? ??????, ??? ??????????? CASE ???????? ???????????????? ??????:
??? ???? ?? ????????? ??????. ?? ???????? ?? ????????? ? «?????????:
??????? ??? ?????????????» ? ?? «????????????? ????????????????»,
??? ???? ? ???????? ????? ??????. ??????????? CASE ???? ?????????,
?? ??????? ?? ????? ????? ?? ????? ?????? ??:?? ????, ??? ??? ?? ???????:
???????? ??????? ??????? ?????????? ?? ??????????. ????????, ???? ?????????, ??? ??????? ?? ?????????????, ????????
????????? ?? ???? ????? ?? ????????? ?????? ?????????? ?????, ????:
????????? ?? ?????????. ?????????? ?? ????? ???????????? ?? ?????:
???? ???????????, ??????????????? ??? «?????????????» ???????? ???:
?????????. ??? ? ? ??????? ?????????? ?? ?????? ????????????? ??????:
??? ??????, ? ??????? ????????????? ???????????? ???? ????????? ????:
??. ??????????? ???????????? ????, ? ???????? ???????. ???
????????????? ???????? ????????????? ? ???????? ???????? ? ?????????
?????? ? ??. ??? ???? ????????????? ?????? ????????? ????? ??????
?? ????????????. ?? ????? ????????? ????? ?????????? ????????. ?????? ?????????:
?? ???????????????? ?????? ??????? ?????? ???????, ?? ??? ??? «??????:
???????» ? ????? ? ?????? ?? ????????? ? ????, ????? ???????? ???????:
????? ?????????. ? ????????, ???????????, ??????????????? ? ???????????? ?????:
??? ????????????, ???? ????? ?????? ??? ?????? ??????? ??????
????????????, ??? ????????? ???????????? ????????? ????? ??:
??????, ???? ?? ???? ???? ????????????? (? ??? ?????????? ??????
?????). ? ??????? ?????????? ????????????? ????????? ????????????? ????:
??? ?????????, ??????????? ??????????? ????????? ?????? ???:
????? ????? ? ?????????? ?? ?????????? ? ???????? ???????? (???+
????? ?????? (test oracle) ? ??? ??????, ???????????? ????? ??:
??????? ?????????? ???????). ? ???????? ????????? ????????????? ?????? ? ?????? ? ???? ? ??:
?????? ?????? ?????????????? ????? ??????? ????????? ????:
??????? ???? ? ?????????? ???????? ? ???? ?????????. 132 ????? 2. ? ????????? ?????
?? ???????? ????????????????????? ?????? ???????? ?????? ????:
?? ????????????: ? ????? ??????? ? ??????? ????????????. ? ???????? ????????? ?????? (test case), ??????????? ???????????
????????? ?????????? ??????? ???????????????, ??????????????
?????? ??????. ? ???? ?????????, ?????????? ??????????? ????????? ?????? ???
???????? ????????? ???????. ? ???????????? ?????????????? ???????? ????????????. ? ??????????? ???????? ???????? ???????, ? ???????????? ? ????:
??? ???????????? ????? ??????????? ? ? ????? ?????? ?????????
???????????.
? ???????????? ?????????? ?????, ??? ?????????? ? ???????? ??????:
????? ? ???????????? ? ?????????????? ???????????? ????????. ? ???????? ????????????, ??????????? ????????????? ????????:
??? ?????? ? ?????? ?? ?????? ?????????? ? ?????????? ??????. ??? ??? ?? ???. ????????????, ??? ? ????????????????,? ?????? ????:
??? ??????? ??? ?????????????. ? ??? ?? ?????? ?????? ??? ?????????
???????????, ??????? ????????????? ?????????????? ?????????? ???
?????, ??????? ????? ???? ????????????????. ?? ?????? ?? ???????, ???
???? ???????????? ????? ????????? ? ???, ??? ???????????? ???:?? ???:
?????? ????????????????. ????????
? ????????? ????? ?????? ????????????? ???????????????? ??????? ???:
????????? ???????? ? ???, ??? ????? ????? ????????? ????????????????.
?? ?????, ??? ? ????? ????? ?????? ??????????????, ??????? ????????:
???? ? ????????? ????? ????????, ? ?? ???? ??? ????? ? ?????? ????????:
?????, ?? ?? ???? ?????????? ???? ????. ????????, ??? ?? ?????? ????? ?????? ??????, ??????????? ? ????
?????, ???????? ????? ? ???, ??? ???????? ?? ???????????? ????? ????:
??? ??????, ????????? ??????????? ?????????? ? ??????????? ?? ???:
?? ???????????? ??? ?????? ?????????. ????????????? ???????? ????:
?????? ?????????????? ???? ????????????? ????????????, ? ???, ??? ??:
???????????? 133
?????, ??? ?? ??????? ????????, ??????? ????????? ???? ???????? ??????:
??? ?? ??????? ????? ??????????? ? ????????????? ????????
??????????? ? ??????????. ?????????
????? ?????? ???????? ????????????????? ?????? ? ????? ???????,
?? ??????? ?? ????? ???????. ????????, ????? ???????????? ????? ??:
????? ?????????? ?????, ?????????? ????????? ? ??????? ??????????
????, ??????? ????? ????? ????? ????????? ????????? ??. Brooks, Frederick P., Jr. 1995. «No Silver Bullet ? Essence and Accident in
Software Engineering». In The Mythical Man+Month, Anniversary ed. Read:
ing MA: Addison:Wesley.
1
???????? ??? ??????? ??????????? ? ??:
??????? ??????, ? ?????? ??????? ????? ????? ? 1970 ?. ? ???? ????:
??????? ?????? ????????????? ????? ????? ???????? ???? ????????:
??? ? ????? ??????? ???????? ? ???????? ???? ??????? ? ????????:
??? ????? ??????. ??????, ? ??????? ?????????? ???????????? ?????? ?? ?????????????
????????????: Sweeney, Mary Romero. 2001. «Test Automation Snake Oil». In Visual Ba+
sic for Testers, by James Bach. Berkeley, CA: Apress. ??? ????? ???????????? ????? ??????? ??????, ??????????? ?? ?????:
???????. ? ????? 5 ?????????? ?????? ???? ?? ?????????????????? ???:
?????????. Kaner, Cem, James Bach, and Bret Pettichord. 2002. Lessons Learned in
Software Testing. New York: John Wiley & Sons. ??????
Rich, Charles, and Richard Waters. 1988. «Automatic Programming: Myths
and Prospects». IEEE Computer (Aug.): 40?51: 1
???????? ????? «?????????? ????????:????? ??? ??? ????????? ???????????
???????». ? ???. ? ????.? ???.: ??????:????, 2000.
134 ????? 2. ? ????????? ?????
?????????? ? ????? ????????? ????????????? ????? ??????? ?????????? ??? ??????
?? ???????????? ?? ?? ???????????????? ????????. ?? ??? ???? ?? ??:
?????????. ?????????? ????????? ??????? «????????» ???????? ????????????,
??????? ?? ?????? ?????????? ???????????? ????? ?????? ????? ???:
???? ????????????. ????????? ???? ?????? ? ????? ? ??????????? ???
?? ??????, ?? ???????? ?????????. ?????????? ? ????????? ???? ??????.
?????????????? ???????? ? ????????? ?????????? ???????, ??? ??????
??????????, ??? ???????????? ?????? ????? ?????????? ??????. ???????
??????? ? ??? ??????????? ???? ????????????????. ????????? ???????:
??? ??????????? ??????, ?? ???????????????? ? ??????? ??????.
???????? ??????? ??????, ?? ?????? ???????? ?? ?????? ???? ?????:
???? ? ????? ?????????????? ??? ? ????????? ??? ????????. ????? ??????????, ??? ?????????? ???? ? ????????? ?????????? ???
????, ????? ?????????? ? ??????????? ??????, ?????????????, ?? ????:
??? ????? ??? ????? ???????? ?????? ???????? ??? ????????. ???? ??
?????? ?????, ????? ???????? ???????? ?????????? ?????????? ? ???????:
??? ?????? ???????, ????? ?? ?????????? ?????? ??? ??????? ? ?????:
????? ???? ?????????????. ???????? ???, ????????????, ??? ????????
?????????? ? ?????? ??????. ???????????? ? ?????????, ??????? ??????? ??????????, ??? ? ????:
??? ??????, ??? ???????? ????? ????????? ????????? ?????????? ????:
???????, ?????????? ???????? ?????????? ??? ? ????????? «?????????:
????». ?? ????? ?? ???????????, ????? ??? ? ???????. ??? ????? ????????
??? ??????? ??? ?????? ?????????? ????????? ?? ????? ?????????? ???
??????????? ?????????? ??????????? ???????? ??????????. ????? ????:
???, ??????? ????????? ?????????? ??? ????? ????????? ? ?????????
?? ?????? ?????????????. (?? ???????? ?????????????? ????????? ? ????:
?????? ? ? ??????????? ?????????? ?????.) ???? 36
?????? ??????????? ? ???????????? ???????????? ???????? ?????????
????????????? ?????????? ?????????? ???, ??????????, ??????????
? ????????? ??? ? ??????????? ?? ???????? ??????????.
????????? ? ?????????? 135
????????
??????????? ????????????? ????????? ??? ???????? ???????? ?????
??????????. ?? ? ??? ????? ???????????? ? ?????? ????????????????
??? ??????????, ??????? ????? ???? ?? ????????? ?? ?????. ??? ??? ???:
???, ????? ???????? ????????????? ???????? ???????? ????????? ?????:
???, ???????????? ???????????. ?????????
???????? ???????????? ???? ?? ?????? ? ??????? ????????? ???? ?????:
???? ??????: Glass, Robert L. 1992. Building Quality Software. Englewood Cliffs, NJ:
Prentice Hall. ????????? ? ??????????
??????????
? ????? ??? ????????????? ?????? ?? ?? ??????????? ??????? ? ??????
??????????? ? ???????????????? ????????? ? ??????????? ???????? ??.
?? ??? ??????????? ??????????, ??? ?????????? ???? ?? ??????????. ?????????? ?????????. ?????? ? ???, ??? ???? ???? ?????, ????????:
?? ????? ?????? ???????? ?????????? ?????? ?? ??, ??????? ?????? ? ??:
??, ????? ??? ??????? ????????, ??? ??????? ?????? ???????? ?? ??????
????????. ?????????? ????????? ????????? ???? ? ?????, ? ????????????
? ??????? ???? ??????????? ??? ???????????? ???????????? ? ????? ??:
????????? ????? ???????????? ? ??? ??????,? ???????????? ?????
????? ??????. ????????????, ?????????? ???? ?? ??????, ????????, ???
????????? ????????? ?????????? ?? 90% ?????? ? ??????????? ??????:
?? ?? ????, ??? ????? ???????? ?????:???? ????????? ?????. ? ??? ??????:
???? ???????????? ????????????? ????????. ???? 37
?????????? ????????? ????????? ????????? ?? 90% ?????? ?? ????????
???? ???????? ?? ????, ??? ????? ??????? ?????? ????????? ????.
136 ????? 2. ? ????????? ?????
????? ????, ??? ?? ???????????? ????????, ??? ????????? ?????????
???????, ??? ????????????, ??????????? ??? ??????????? ???? ?? ???:
???. ??? ??? ??? ??????? ?? ?????? ???????????, ?? ? ????????. ? ???
????? ??????? ?????????. ??? ?????? ?? ????????? (?????????? ????? ??????????? ????????:
??, ???? ????? ?? ??????? ????? ????????? ??? ??? ???????) ?? ???????:
?????? ??? ??, ??? ??????? «???????», ???????? ??????????? CASE ? ???:
??? ???????????? ???? ???? ?????? ???????: 1.?? ?????????? ???????????? ?? ?????? ??????? ?????????????. 2.? ?????????? ??? ?????? ?????? (?, ?????????????, ??????????
? ??????????? ?? ?????). 3.????????? ????????? ? ????? ????????? ????????? ?????? ???:
??????? ?????. 4.????????? ???? ? ??????????, ?? ??????? ????????????? ? ?????:
?????? ?????????? ??????. ?????????? ?????? ?? ?????? ??????? ?????????. ?????? ??? ???? ??????????. ??? ??? ????? ????????? ? ?????????.
? ???? ????? ???? ????????????? ????? ? ????, ????? ??????????? ????:
???? ? ???? ?????????? ???????, ???? ????????, ???????????? ?????,
?? ??????? ????, ??? ????????? ?????????, ?? ??, ??? ??? ???? ?????????:
????, ?? ?????????? ?????????? ?? ????, ??? ??????????????? ??? 20?30 ??:
???. ??? ?????????? ????????????? ???????? ????? ???????? ???????:
???? ?????????????? ? ???, ????? ?????? ?????? ?? ??????????, ? ?????:
??, ??????? ?? ???? ??? ????? ?? ???? ?????, ???????? ??????. ?????? ??????? ?? ??? ???????? ? ??? ?????????? ????????, ??????:
???? ???????????? ? ?????????????. ?? ?????????? ???????? ??? ??
??????. ??? ???? ?? ????? ????????, ??? ????????? ????? ???? ???????:
?? ? ????????? ????? ?????? ?????????? ?????. ? ??? ??:???????? ??:
???? ??? ? ???:??, ??? ?????? ??????????? ?? ????????? ?????? ??????:
???? ?????. ????????? ??????? ????? ? ???? ????? ???????????? ?????????. ?????
??????????, ??? ????????? ????????? ??????. ??? ?? ???. ??, ??? ????????:
?? ????????? ?? ?????, ???????? ???????????? ?????????? ?????, ???:
???? ? ????, ?? ??????? ???????? ??? ???????? ????? ?? ?????????? ???:
????, ? ???????????? ???????? ?? ??????????, ??????? ? ??????????, ??:
??????? ???????? ???????? ?????????. ? ???????????? ???????? ?????
??????. ??? ??????????? ??????????? ? ??????????, ? ?? ?, ?? ??, ??? ????:
????????? ? ?????????? 137
????? ??? ??, ?? ???? ? ????????? ???????????? ??????????? ???:
????????? ????? ?????? ???? ??????. ? ???: ?? ??? ????? ????????? ???:
????? 100 ????? ????, ?????????????, ???????? ???? ????????? ???????:
?? ??????, ??????, ? ???? ????? ????? ????????? ???????????? ??????. ? ??????????, ???? ????????? ????????? ???????, ??? ?? ????????????,
???? ??? ????????? ?????? ??????? ???? ???????????? ????????. ????,
?? ??? ??? ?????????, ??? ??????? ?????????? ?? ?????? ???????? ?? ??:
??????? ????????? ????????????, ?? ???? ?????????? ??????????, ??:
??? ??????? ????? ?????????? ???????????? ???? ???? ?????????. ?????,
??????, ?????? ???: «??????????? ??????? ?????????? ??????? ????».
? ???????? ????? ??????, ???????, ??????? ?? ??????????. ???? ???? ??????????????? ????? ????????????, ??????? ?? ????? ??:
?????? (? ????? ? ???). ??????????, ???????, ????? ?????:?????? ?????
???????? ?????? ?????????? 90% ?????? ? ??????????? ????????.
?? ??? ??? ?????????: ???? ??? ????? ????????, ??????? ?????? ?????:
????? ? ?????????, ???? ??? ?? ???????? ? ???????????? ????? ??? ?????
??????????????? ?????. ??? ?????? ?? ??? ?????, ???????? ?? ?????? ???:
?????????, ??? 90% ???? ????? ?????? ??? ??????????? ?????, ????????
????,? ????????. ??????? ?? ??????, ????? ?? ???? ???????? ? ?????:??:
???? ?????????????, ??????????? ????? ?????, ?? ?????, ??? ???????? ??:
?? ? ???, ??? «?????????, ??? ???????, ????????? ??????? ?? 90% ??????+
??? ?????? ?? ??????? ??????? ?????? ??????». ????????
??, ??? ????? ?? ???? ?????, ???????????? ?? ??????????? ? ?????????? ??
?????? ?????????. ? ??, ??? ?? ?????, ?????? ???? ?????????? ? ?????????
?? ????? ?????? ? ??????? ?????????? ???????????, ? ? ?????????? ??????
???, ?????? ?????, ?? ? ????????? ???????????? ? ??? ????? ??????. ??:
????????, ??? ????????????, ? ??? ?????? ????? ?????????????,? ??? ???+
??? ?????????? ?????????. ??????????? ?????????? ???????? ???????
???????????? ?????????? ??????? ???????? (???? ? ???????). ????? ??:
??, ? ???????? ??? ???????, ??? ????? ????? ????????? ?????? ?? ?????:
???? ??????????. ?? ????????? ??? ??????????? ?????????? ????????????, ????????:
??? ?????????? ? ?????????????? ???? ???? ??????. ???????? ????????:
??????? ??????? ? ????????? [Rifkin and Deimel, 1995] ??????? ?????????:
???????? ?? ?? ?????????????, ? ?? ?????????? ? ??????? ?????? ???:
138 ????? 2. ? ????????? ?????
???????? ???, ????????, ??? ?????? ???? ? ??? ??????. ?????????, ???:
??????? ??????, ??????????? ? ????????, ? ????????? ???????????????
??????????? ?? ????? ?????????, ??? ????????? ??????????? ???????:
?????, ??????????? ????????? ????????????? ?????????? ???????????
? ??????, ? ?????????, ??? ?? ?????? ???? ?? ???? ?? ??????? ???????. ?????? ? ????????? ???? ???????? ?????????, ????????????? ???????
????? ???????, ??? ????????? ????? ????????? ? ??????, ?????????? ??:
??????? ??? ???????. ???????, ?????????? ???????? ??????????? ???:
????? ?? ??????????????? ??????? ????????. ?????????
?????? ?????????? ?????????? ??????, ???????????? ??? ?????? ??:
???????, ??????? ? ?????, ???????? 60% [Boehm and Basili, 2001]. ? ???????
???? (1989) ? ??? ?????????? ??????? ?????????? ? 90%. ????? ???? ????????? ????? ????????????. ?? ???? ?????????? ??????
?? ???, ? ?????, ??? ???? ?????? ?????????? ?????? ?????, ??????? ????? ??:
??? ????????? ?????? ????? ??????????. Glass, Robert L. 1999. «Inspections ? Some Surprising Findings.» Practical
Programmer. Communications of the ACM, Apr. ?????? ???????, ????????? ? ??????? «??????»,? ???????? ???????
?????? ??????????, ????? ??????????? ???????????? ???????????? ??:
??????? ?????????? ?????????. ?? ?????????? ???????? ?????? ???????? ????, ???? ?? ?????? ?? ???
?????????????? ?????????? ??????? ????????, ????????? ???????????:
??? ??? ??????? ?????? ??????, ???????? ? ????? ??????? ? ????????
??????: Wiegers, Karl E. 2002. Peer Reviews in Software ? A Practical Guide. Bos:
ton: Addison:Wesley.
??????
Boehm, Barry, and Victor R. Basili. 2001. «Software Defect Reduction
Top 10 List». IEEE Computer, Jan. Bush, Marilyn. 1989. Report at the 14th Annual Software Engineering
Workshop. NASA:Goddard, Nov. Rifkin, Stan, and Lionel Deimel. 1995. «Applying Program Comprehension
Techniques to Improve Software Inspections». Software Practitioner, May. ????????? ? ?????????? 139
??????????
??? ?? ?????? ??? ??????, ?????????, ????????, ????? ????? ???????
? ????, ????? ???????? ?????? ??????????, ????????? ?????????? ??????.
? ?????? ??????? ?? ????? ???? ????????? ?? ????????????? ? ????????
??? ? ???:??, ??? ? ??????? ???? ?????:?? ???? ?????????. ?????????? ??? ?????? ??????????. ?? ??? ?? ? ???? ?????? ?? ?????:
????? ??? ??????? ?????????? ??????. ? ??? ??????? ? ???? ????? ? ?????
??? (? ????? 50), ??? ???????? ?????? ? ??????? ??????, ????????? ??
??????? ??????????? ????? ?????????? ??? ????????. ?????? «?????????? ????» ?? ?????? ?????????? ?????? ???? ??? ??
??????????????, ??? ? ?? ????? ?????? ?????? ?????????? ??. ? ??????
????? ???????? ????????? ? ???, ??? ????????? ???????? ???? ???????
??? ?????? ??????? ?????????? ??????. ???????????? ????? ????????,
??? ?????????? ??????????? ?????? ??????????, ???? ?? ????????? ? ???:
??????? ?????????????. ??, ??? ??????? ??????????????????, ????????:
??, ??? ????????????????? ??, ?????????????? ?????? ? ???????????:
?????? ???? ?????????????????, ????????? ?????????? ?? ????? ????????:
??. ??????? ?????? ????????, ??? ??? ????? ? ???????, ???? ???????? ?????:
?? ???????? 100%. ???????? ???? ??????? ?????, ? ?? ?????????, ???
???:?? ??? ???????? ? ??? ??????????????? ????. ?? ???. ???????? ??? ??? ??????? ????????????, ???????? ????????.
?????? ???? ?????????? ?????????????? ? ??????????. ? ????????????
???????? ???? ?? ????????????? ??????????, ??? ? ??? ?????????. ??? ??:
???????? ????, ??????? ??????? ??? ?? ??????. ????? ?????? ????????
??? ???? ?? ???? ????????????. ????????
????? ?? ??????? ????????? ?????????, ??? ????? ??????? 100% ?????:
???????? ????????? [Radice, 2002]. ?? ??????????? ???????????? ?????,
??? ??? ?? ?? ???? ????????????? ????? ????????, ??? ?? ????? ????
???????????? ??????? ?????????? ?? ??????. ???? 38
?????????? ????????? ???? ????????? ?????, ?? ??? ?? ????? ????????
????????????.
140 ????? 2. ? ????????? ?????
? ???? ?????? ??????? ?????? ?????????????, ??? ????????. ????????:
???? ??, ???????? ????? ??????, ??? ?? ??? ?????? ???????? ? ??? ??:
????? ??? ??????? ?????????? ?????? ? ?????????? ??????. ? ??? ?? ???
?? ??????? ?? ?????????? ?????? ?????????? ???? ? ?????? ????????
?????????? ??, ??, ????????, ??????? ?? ?????????? ?????? ? ? ????. ?
??????? ???:?? ?????? ????? ????????, ??? ??? ??? ????? ?????:?? ?????
????????. ?? ?????? ??! ?????????
????????????? ????????????, ???????? ? ????????? ???????????? ? ??:
???????? ??????????? ?? ?????? ???? ????????????? [Basili and Selby,
1987; Collofello and Woodfield, 1989; Glass, 1991; Myers, 1978]. ?? ???? ??????:
?? ?????, ??? ???????? (????????? ?????) ????????, ??? ????????????.
?? ??????? ?? ??? ?? ????????? ?????????? ?? ????????????. ????? ????, ???? ????? ?????????? ??? ????????? ?????? ??????,
??????? ????????? ? ?????. ????????: ?? ?????????? ???????, ??? ???
???????????? ?? 90% ?????? ? ?? (???? 37). ????????, ??? ?????? ??:
?????? ??????? ????? ?????????? ????? ?? 90% ???????????? ????????,
?? ??? ???? 100% ???????? ??????? ?????? ?? ?????????? (?????32 ?33).
????????, ??? ??:?? ??? ?????????????? ????? ??????????????? ?????
?????????? 100% ???????????? ?? ?? ?????? ???? ? ???????? ?????? ???:
???? ?????????????????? ??????? (???? ? ?????? ??????? ??????????? ?
????? 32). ????????, ??? ????????????? ???????????? ?????????? ?? ??:
??????? ????????? ? ??? ?????? (???? 35). ???? ???????????, ??? ???:
??????? ??????????? (????????? ?????????????? ????????????) ??? ??
?????????? ???????, ??? ? ?????????? ????????????????, ? ?? ???????
?? ???? ?????????? ???? ??? ?? ????, ??? ? ?? ?????? ???????? [Glass,
2002]. ????? ?????? ??????? ? ?????? ????, ??? ?????????? ???????????
?????? ?????? ????? ??????? ?????. ??????
Basili, Victor, and Richard Selby. 1987. «Comparing the Effectiveness of
Software Testing Strategies». IEEE Transactions on Software Engineering,
Dec. ????????? ? ?????????? 141
Collofello, Jim, and Scott Woodfield. 1989. «Evaluating the Effectiveness
of Reliability Assurance Techniques». Journal of Systems and Software, Mar. Glass, Robert L. 2002. «The Proof of Correctness Wars». Practical Program:
mer. Communications of the ACM, July. Glass, Robert L. 1991. Software Conflict. Englewood Cliffs, NJ: Yourdon Press. Myers, Glenford. 1978. «A Controlled Experiment in Program Testing and
Code Walkthroughs/Inspections». Communications of the ACM, Sept. Radice, Ronald A. 2002. High Quality, Low Cost Software Inspections. p. 402.
Andover, MA: Paradoxicon. ?????????? ???? ??????? ?? ???????? ??? ?????, ?????????? ????, ?? ??????? ???:
??? ? ??????????????? ??????????? ???????? ?? ?????? ????????
?????????. ??? ?? ?????? ???????? ????????? ? ??, ??? ????????? ????
???????????? ???????? ?? ????????? ??????????, ????????? ????? ????:
???? ?? ???? ?????????? ?????? ??????????.
? ????????? ???????????, ??? ?? ??? ??????? ????????? ?????????
?????????? ???????????? ????? ?????????. ??, ?? ?? ????????? ??????:
???? ?????? ? ? ??????? ????? ????????, ??? ?????: ? ????:?????????:
???, ????????????? ????? ? ?.?., ?????????? ?????????? ? ??????????
???? ??????????? ? ???, ??? ? ????????? ??? ??????? ??? ??? ?????. ? ????? ?????????? ?? ????????? ????????? ???????????? ???????
??? ?????, ??????????? ?? ????, ??? ??????????? ??? ?????????????
?? ?????. ??????? ??????, ??? ? ???????? ????? ??????, ??????? ????????
????????? ?????????????, ????????????, ?????????? ??? ?????????
????????, ??? ?????????? ? ?????? ??????????. ? ??? ??? ??????? ?????:
?? ???????????? ?????? ??????????, ????? ???????????? ? ???????? ??,
??? ????????? ???????:?? ??????? ???? ?????. ???????? ??????? ????? ????????????, ??? ????? ????? ??????????
???????, ????? ????, ??????? ???? ??????????? ??? ????? (?????? ???
?????? ?????????? ????????????? ?? ??? ??????????). ??????????? ???:
???? 39
????????????, ??? ??????, ????????? ?????????? (?? ????? ????????
????????????????), ????? ??? ? ????? ?????? ????????? ???????????
(???????????? ??), ??? ? ? ????? ?????? ????????????????? ????????. ??
???? ? ??????????? ??????????? ??????????????? ?????? ?? ????????.
142 ????? 2. ? ????????? ?????
???????? ??????? ??????????, ???, ??? ?? ???????? ???? [Kerth, 2001], ???:
???????????? ???????, ???????, ??? ??????????? ???? ??? ?????????:
??? ??????????? ?????????? ?? 3 ?? 12 ???????. ?? ? ????????? ?? ??? ??:
??? ????????. ??????? ???? ?????????? ????????????? ?????????? ???????
????? 1?3 ?????? ????? ??? ?????????? ? ? ????? ??????? ????? ??? ???:
???? ????????? ???? ?? ???????, ????????? ? ?????????????? ??, ??, ??
??????? ????, ??????????? ??????? ???????. ??? ????? ??????? ? ??????????????? ??????? ?? ?????????? ??????:
?? ??? ?????????? (?? ???? ????, ??? ?????? ??????): ???????? ????????
? ????? ?????? ???????????? ? ?????? ????? ????????????? ? ???, ???
? ??? ? ???????? ???? ?????, ? ??? ? ????.
?? ??? ???????. ? ???, ?? ???? ?????? ???????? ??? ??????, ??????
????? ?????, ?? ? ??????????? ????? ?? ?????? ????? ?? ??????. (??? ?????
?????? ? ??, ???????, ??????? ?????, ????? ????? ????????? ???????????
????????????? ??????? ??, ???????, ??????? ????? ???? ?? ?????????:
????, ???????? ?? ???? ? ?????????? ??????? ????????.) ????? ?????. ???
????????? ????????? ?? ???????? ? ?? ????? ????????? ??????, ????? ????
? ?? ?? ?????? ? ????? ??????? ?? ??????. ???????? [Brossler, 1999] ??????,
??? «?????? ?????????? ?? ????????? ?????? ?? ????? ? ????????? ????:
?? ??????????». ?? ??????? ?? ????????? ?????? ???????????? ?????:
???, ?? ?????? ?????? ??????????? ?????? ???????????? ?????????? ??:
????????, ??? ? ??? ?? ??? ???? ??????????? ??, ? ??? ??? ????????? ??????:
????? ????? ????? ?? ???? ?????? ?? ????????????????. ???? ???, ??? ???
«?, ??????, ??? ?? ??? ?????????» ? «??? ??? ?? ??? ?????????». ????????? ??? ??????? ????????? ???????????. ? ????, ??? ? ??????
??? ?????? ? ???????????????? ??, ???? ???:??? ????????. ??? ??????:
??????? ??????? ???? ??????? (Steve Jenkin) ??????? ??? ???? ??????
?? ????????, ? ??????? ??????????? ???????????????? ??? ?????????.
??????? ??????? ??????????, ?????? ??, ? ???????? ???????, ??????,
?? ????????. ?? ?????? ?????? ?????? ???????, ??????? ??, ??????, ????
? ???? ??, ??? ?? ???? ??????????????? ??????? ????? ??? ? ??? ?????
????????????? ??????? ???????? ?????????? ????????? ????????????
????? ??? ??????????? ?????? ???????????? ????????, ???????????
??????. ??????? ??????????? ??? ??????? ?????, ? ?????? ? ??????:
???????? ? ????????? ?? ?? ?????????? ??????. ? ???? ?? ?????? ??????????, ?? ? ???????? ?? ????????????. ? ?????:
??? ???? ? ?????? ?? ????????? ?????? ?? ???????. (????????, ? ?????
????????? ? ?????????? 143
????????? ? ?????????? ????????, ????? ??? ????????????? ?????????:
??????? ? ?????? ???????????????? (Extreme ? Agile), ??????????????
????????? ? ?????? ?? ?????????????? ?????, ???????????? ????? ?????:
?? ?????????????.)
??? ?? ??????????? ????????? ??? ???? ????????? ?? ???????? ??? ??:
??? «????????? ?????» [IEEE, 1993]? ? ??? ?????? ??????????????? ????:
???? ?????? «?????? ?????» (Experience Factories), ???????????? ?????
?????? (Vic Basili) ? ????????? ? 1992 ? ? ???????????? ????????? [Basili,
1992; IEEE, 2002]? ??? ?????? ???????????? ??????????, ? ?????? ???????
????? ?????? ????????, ? ?? ?????? ?? ?????????? ??? ????? ?????????:
?????? ??????, ??????????? ??????? ?????? (1995) ? ?????? (1998)? ???
???? ??????? ? ????? ????????? ??????? ?????? ?????????? ????????????
????????? ? ????? ?????????? ???????? ?????? ???? ?????????? ??????
?????????? ????????, ?? ???? ?????????, ?? ???? ????????? [Brossler, 1999]. ????????
??????, ??? ????? ? ????????? ??????? ?????, ?????, ??? ??? ??? ?? ???
??????, ?? ????? ????????, ??? ????? ?? ????? ????????????? ???????
???:?????? ? ???? ???????.
????????????? ????????????, ????????? ? ???????, ????????? ????,
?????????????. ?????????? ??? ????? ????? ?? ???????????, ???? ??????
(Karl Weigers) ??????: «?? ????????? ? ????????? ???????? ????? ????,
???:??, ????????, ?????? ?? ???, ? ??? ???? ?????? ???????, ??? ?????????
???????? ??????? ??. ???? ????????????, ??? ??????????? ????????
? ????? ???? ?????:?? ????????, ?? ? ?????, ??? ?? ?????????? ????? ???:
???.» ? ????????? ???? ????? ???????????? ???????? ? ???, ??? ??, ????:
??? ??????????? ??, ? ???? ???????, ???????? ?? ?? ??????, ????????:
??? ?????? ????? ?????????, ????????? ??.
??? ?? ?? ?? ???? ? ?????, ??????????? ??????????, ??? ? ?????????
?? ??? ???????? ?????? ???? ? ????? ??????????, ??? ????? ??????? ???:
?? ???????? ? ???, ??? ??? ????? ?? ???? ?????, ? ?? ?????? ???????. ????
???? ? ???, ????? ???????? ? ??????? ????, ? ?? ? ??????? ????????.
?? ? ???? ???? ????? ???????? ? ??????? ?????
????? ????, ????????, ??????????? ????????? ??????????? ?????,
? ???????????? ???? ???????. ???????????, ??????? ????? ?? ????????:
???? ???????????? ?????, ??????????? ?? ???????????? ????????????,
??? ???????????? ????? ??????, ???????, ? ???? ?? ??????????????.
144 ????? 2. ? ????????? ?????
??? ????? ????????? ????????? ?????? ?????? ????????, ??? ????????
???? ????? ?????? ?? ???????? ?? ?????????????? ?? ???????????????. ?????????
?????????, ??????????? ? ????? ?????:
Basili, Victor. 1992. «The Software Engineering Laboratory: An Operational
Software Experience Factory». Proceedings of the International Confer:
ence on Software Engineering. Los Alamitos, CA: IEEE Computer Society
Press. ?? ????????? ???? ?????? ??????? ?? ??? ???? ??????? ??????
? ????? ??????????? ?? ????????. ? ??? ????? ?????????, ???????:
???? ?? ????????? ??????????? ? ???????????? ????????? (Com:
puter Science Dept., University of Maryland).
Brooks, Frederick P., Jr. 1995. The Mythical Man+Month. Anniversary ed. Re:
ading, MA: Addison:Wesley, 1995. ???????????????? ???????????????
???????????? ????????. ????? ???????????? ? ????? ????? ? ??????,
??????????? ?? ?????? ??? ????? ?? ?????????? ???????????
???????? ? ???????? ???????????? ??????? IBM 360 (OS/360).
Brossler, P. 1999. «Knowledge Management at a Software Engineering
Company ? An Experience Report». ????????? ???????? Learning
Software Organisations (LSO?99). Glass, Robert L. 1998. In the Beginning: Personal Recollections of Software
Pioneers. Los Alamitos, CA: IEEE Computer Society Press. IEEE. 2002. «Knowledge Management in Software Engineering. Special is:
sue». IEEE Software, May. ???????? ????????? ??????, ???????????
?????????? ?????????? ? ???????? ?????. IEEE. 1993. «Lessons Learned». ????. ??????. IEEE Software, Sept. Kerth, Norman L. 2001. Project Retrospectives: A Handbook for Team Re+
views. New York: Dorset House. ??????????
? ??????????? ?? ??????? ???? ?????, ??????? ?????????? ???????????
????? ??? ????????. ??? ????? ????????????. ???, ??? ????????? ? ??????:
???? 40
? ?????????? ?????? ? ???????????? ????????? ???????????? ? ???????
???. ??????? ??????? ???????? ?????? ?????? ? ????? ??????? ? ???
??? ???? ? ??????????.
????????? ? ?????????? 145
??? ??, ?????? ??????????? ?????????????????? ?? ???, ??? ??? ????:
??. ???????? ?? ????? ????????? ?????? ?????????????? ???????, ???
????? ?? ????? ?????? ?????? ?????????? ??,? ??? ??????????? ?????:
??? ??????? ? ?????????? ???????????? ????????. ???????????? ? ???
???????????? ?????? ?????????? ??????????? ????????????. ? ????? ??????, ??, ??? ????????? ?????????, ????????? ?? ????? ???:
????? ?????? ?????? ? ?????????? ??? ??????? ? ??????, ?????????????
? ????????????? ??????????? ????????. ??? ???????? ??????, ???????:
?? ???????? ?????????? ???????? ? ???????? ????? ? ?????? ????????
????, ??? ???? ??? ???????, ? ?? ?? ?????? ??????????. ????????, ??? ? ??:
???? ????? ?????????? ?????:???? ???? ?????????? ??? ??????????? ??:
?????. ?? ????? ????????? ???????????? ????? ??????????? ???????
??????? ??? ????? ????? ??????, ??? ????? ?? ??????? ?? ?? ????, ??? ??:
????? ?????? ? ???????, ??? ?????? ?? ????? ?????? ????????????. ????:
??????? ?? ??? ????? ?????? «????????? ? ????? ?????».
??? ???, ???????, ????? ????????? ? ??????????. ???????, ???????:
???????? ???????? ? ???????????? ???????????? ?????????, ????? ????:
???? ? ?????????? ???????? ??. ?? ??? ??? ??????????????? ?????????
????????? ?????? ????????. ????????????, ??????????? ??? ????, ????? ??? ??????? ???????? ??:
???????, ?????????? ??????? ?????? ???????? ????????????? ???????.
? ???? ????? ????? ?????????? ???????????? ???????????? ????? ??????
???????? ????????? ????????? ??????, ? ????????? ??? ????? ??????????
?????????????? ? ????????. ??? ????????? ?? ????? ??????? ????????:
?????? ? ??????, ?.?. ????????????, ??????????? ??? ???????, ???????? ??
????? ???????, ??????? ???? ??????????????? ??? ??????? ??????????
????????. ? ??? ??????? ?? ??? ???????????? ???? ??????????. ???
«???????????? ????????????????» ??????? ?????, ?? ??????????? ?? ???
?????????? ? ????????? ????? ???????????? ??? ?????????, ??? ? ??????,
? ???? ????? ?????? ??? ???????? ?????????, ????? ?????? ??????????
???? ????????? ????????. ? ????? ??? ?????? ???????? ????????? ?????????
???????????? ????????????????? ?????? ?? ????? ??????????, ?? ?? ????:
???? ??? ??????????? ? ??? ?????????. ?????? ??? ?? ????? ??????????
??????? ?????? ???????, ? ????????? ??????????????? ?????? ?????:
????, ?? ????? ?????, ????? ??????? ????? ??????.
??? ?????????? ????????? ??????????? ????????????? ??????????
???????, ? ??????????? ??????? ????????????? ??????? ??????????
??????????????? ??????????. ?? ?????????? ??????? ??????????? ?????:
146 ????? 2. ? ????????? ?????
????? ??? ?????????? ????????? (??? ????????? ????????? ?????????:
???? ????????, ? ?? ??? ???????). ??????, ????? ?? ?? ??????????????, ???
?????????? ????????????, ??????????????? ??????????? ? ?????????
(??? ??????? ????????????? ?????? ? ?????????????? ?????????? ? ??:
?????? ?? ??????????? ?? ????). ?????????? ???????? ???? ????????????
?????? ?? ???? ????????????? ???????? (? ????? ????????? ?????? ????:
??? ?????????????). ?????????? ??????? ????? ??????????????? ?????
?????? ? ???????? ?????????? ??????????? ?????????? ?????????? ??:
????? ?????????? ????????? ??. ? ????????????? ???? ????? ?????:
???? ??????? ???? ???????.
??? ????? ??? ??? ?????? ???? ????????? ????????? ????. ??? ????
????????? ???????, ? ?? ?????? ???????????????? ??????? (?????:?? ???,
?????????? ????) ??? ??????????? ????????????? ???????? (?? ?????:
???? ?? ?????? ??? ???, ?? ? ????? ????? ???? ????????? ????????????
????). ? ????? ?????????? ????? ???????, ?? ????????? ? ???????? ? ????:
?? ?? ??????????, ? ???? ?? ????????, ?????? ??? ????? ? ????????????
???, ??? ??????. ??? ??? ???????, ?? ????????????. ? ????? ??????? (?, ???
?????????, ??????????) ???? ?? ??????? ???????? ???? ????? ?????, ?? ???:
?????, ?????????? ????. ?? ????? ????? ??? (??????????????? ????? 60
????? ????) ?? ????????? ?????????, ???????? ??????????? ?????????
????? ? ????????? ??????. ?? ?? ????? ??? ? ?? ???????.
????????
?? ?????????? ????????? ???? ??????, ?? ?????? ?????? ?????? ? ???,
????????? ?? ????????? ??????, ??? ? ???????????????????? ????????.
? ? ??????????, ??? ????????? ???????? ? ???, ??? ??? ????????, ???????:
?? ?????? ? ???????????????? ????????? ? ???? ?????????.
?????????
?? ????????? ???? ? ?????????? ????????? ???????? ????? ???????
????. ?? ??? ?????? ????? ????????, ????????? ??? ????? (? ???? ?? ? ???:
????? ??????? ? ?? ??????????????): Wiegers, Karl E. 2002. Peer Reviews in Software: A Practical Guide. Boston:
Addison:Wesley. ????????????? 147
?????????????
??????????
????????????? ?? ?? ?????? ?????????? ???????? ???, ??? ?? ???????
?????? ????????????? ? ???????????? ??. ??:??????, ???? ?????? ? ???,
??? ?? ? ???? ????????? ???????? ????? ?????????????. ? ???????????
?????? ???????? ??? ????????, ??? ????????????? ??????? ?????????????
??, ??? ????????? ??? ?????????. ?? ??????? ?? ??????, ??? ??? ???????
?? ???????? ? ?? ???????. ??????????? ??????? ???? ?????????? ???????:
????, ?? ??????? ?????????? ?????????? ?????, ??????? ? ??? ??????
??????? ? ????????.
?? ? ??????????? ??????????? ????? ???? ??????. ??? ????? ????
?????????????? ? ????? ?????????? ??? ????????????????. (??? ????:
?? ??????? soft ? ????? software. ??? ????? ?????????? ????????, ???????
??????, ??? ?? ??? «????????????».) ???? ? ???, ??? ?????? ? ?? ???????:
???? ?? ?????????? ????????, ??? ?????? ??????????? ?? ?????? ?????:
??? ??? ????????? ????????. ????? ???????, ????????????? ???????
? ???????????? ???? ?????? ?? ???? ?? ??????????? ? ? ????????? ??:
??????? ? ??, ????? ??? ?????????? ??????????. ? ???? ???? ??? ??? ???:
??? ???????????? ??? ?????????????? ?????? ?????????, ?? ??? ???????:
?????? ????? ?????????? ?????.
??:??????, ????????????? ?? ????????? ? ???????? ????????? ??:
??????? ?? ????????? ??????. ??????? ?? ???????? ???????? ??????????:
?? ???????? ?????????? ?? 20 ?? 60%, ? ?????????? 40?80% ??????????
?? ?????????????. (?? ????????, ??????? ?????? ?????? ?????, ?? ????:
?????? ????? ??????? ??????? ?? ????????????? ??? ???????????? 60%
?? ?????? ?? ???? ????????? ????.) ? ????? ?????? ????????? ????????:
????? ???????????? ????? ???????????? ???? ?????????? ??. ?? ??? ??:
????????? ? ??????????? ?????? ?????? ???? ????? ? ????????. ? ?????:
?? ?????????????, ????????,? ????? ?????? ???? ?????????? ????? ??.
??? ???????????? ???????? ??????, ???? ?? ?????? ?????????????.
??? ???????, ??? ? ?? ?????????? ?????? ???, ??? ??????? ? ???, ??? ??
???? 41
????????? ????????????? ?????? ?????????? ?? 40 ?? 80% (? ??????? 60%)
????????? ??. ?????????????, ??? ???? ??? ?????????? ?????, ????????,
????? ??????. 148 ????? 2. ? ????????? ?????
????????? ????? ??????? ? ???????????? ????? ???????? ? ????????????
???? ??????, ???? ?? ?????????????. ?????????? ???????????? ???? ??:
??????????? ????? ??????? «???????? 2000». (??? ??????????? ? ????:
????????? ????????? ??, ? ??????? ??? ??? ??????????? ???????????
???????, ?.?. ? ????????? ?????????? ??? ???????? ????????? ? 1999 (99)
???? ?? 2000 (00) ????? ???????? ???? ??????.) ? ???? ????????? ????
??????? ??? ????????. ?????? ??????? ? ???, ????????? ??? ????????? ???:
???????????, ? ?????? ? ? ???, ?????? ????????????? ????????? ???:
???????? ? ??????????? ????????? (?????? ?? ??? ???? ??????? ? 70:?
??? ???? 60:? ????? XX ????).
? ???????? ????????? ? ?? ????? ???????? ????? ???? ?????? ???????:
???????? ?????????:
?????? ?????????? ??????? ?? ????????????, ? ?????? ????????? ???
????? ? ???????????? ?????? ????.
????????
?????? ???? ? ???? ?? ???, ??????? ???????????? ??????????? ? ???,
? ??? ????? ????????. ??, ??? ????? ? ???????????? ??, ????? ????? ????
???, ????? ????? ?????????? ?????????? ???????? ????? ?? ????? ??????:
?? ????????. ??? ?? ????? ???????????????? ?? ???????? ?? ???????????:
????? ? ?????????????. ? ???????????? ? ??????? ?????????? ????? ????:
??? ???????? ????????? ??? ?????????? ????????? ?????? ??????????
?????, ????? ??? ????? ?????? ?? ??????? ? ?????????????, ??????? ???:
????? ?????? ????????. ????? ?????? ???????? ?? ????? ???????????
?????? ? ???, ??????? ??? ? ??????? ?????? ? ??? ?? ????????????? ??. ? ?????????? ??????? ? ????? ? ????????? ????, ????? ???? ???????
? ?????????????, ???????? ???????? ??????????? ????????. ?????????
?? ??? ?? ???????, ????? ????? ????????? ????????? ????. ????? ?? ??
????????? ? ???, ????????? ????????????? ???????????? ????? ????????:
??? ?????? ? ????????? ? ??????????? ??. ? ???? ?? ???????, ??? ? ??:
?????? ??? ??????????? ??????, ?? ??? ??????? ???? ?? ??? ????? ???:
??????.
?????????
???? ???? ???????? ??? ????? ?????. ? ???????????? ?????????? ? ??? ??:
?????? ???????? 30 ??? ???? ?????. ? ?????????? ???????? ? ??? ???. ??:
????????????? 149
????? ????? ?????? ????????? ??, ??? ? ??? ????????. ?? ? ??? ????????:
?? ????????. Boehm, Barry W. 1975. «The High Cost of Software». In Practical Strategies
for Developing Large Software Systems, edited by Ellis Horowitz. Reading,
MA: Addison:Wesley. Lientz, Bennet. P. E., Burton Swanson, and G.E. Tompkins. 1976. «Charac:
teristics of Applications Software Maintenance». UCLA Graduate School
of Management. ??? ?????? ????????? ??????? ??? ??????, ???????:
????? ???????????? ? ??????? «Communications of the ACM» ? ????
1978 ????, ? ????????? ? ???? ????? ?????? ? ?????? ?????????
?????? ???? ?? ????????????? ??. (???????? ???? ????? ??
??????????, ???? ???????, ??? ? ??????? ?????? ??? ??? ????? ????
??????????? ???????????? ?????? ?? ?????????????.) ???? ?? ??????? ??????, ??? ?? ??????? ?????? ???? ????????? ????:
?????, ?? ??? ????? ?????? ????????:
Landsbaum, Jerome B., and Robert L. Glass. 1992. Measuring and Motivat+
ing Maintenance Programmers. Englewood Cliffs, NJ: Prentice:Hall. ??????????
????, ?????????????? 60% ?????, ??????? ?? ?????? ?? ??, ?????? ?? ??:
??????????? ? ?????????. ??? ?? ?? ???????? ?? ??? ???????
???????????, ??? ??? ??? ???????? ??? ???? ???????, ???? ?? ???????:
??? ? ???????????? ??. ????? 60% ???????, ????????????? ?? ????????:
?????, ?????? ?? ???????????? ?????????, ???????????? ???? ???????
????????? ????? ????????. ??? ?????????? ????? ????????????? ?, ???
???????, ??????? ?????? ???????????? (??????? ???????) ? ?????????
???????????? ????????, ?? ????????? ??? ????????? ??????????. (???:
??? ??? ??????????, ?????????? ??????? ???? ???????? ?? ????????????
???? ? ??????.) ??????? ???????????? ?????????? (???? ?? ???? ????? ?????? ???:
??? ?????? ??????????? ???????? ??:??? ????????) ?? ????? 23? ?????
???? 42
???????? 60% ???????? ?? ????????????? ?????????? ?? ????????? ????
? ????? 17% ? ?? ??????????? ??????. ????? ???????, ? ???????? ?????
???????? ? ????????? ?? ??????????? ? ?????????? ? ???? ????? ???
?????????, ? ?? ? ??? ???????????. 150 ????? 2. ? ????????? ?????
?????????? ??????? ? ???? ???????????. ????????? ? ???, ??? ?? ????? ???:
?????? ?????????? ???????????? ???????? ????????? ? ??????? ??????:
?????? ?? ????? ???? ???? ???????? ?????, ??? ???? ??????? ?????? ? ??:
??? ??? ??? ??????. ?????? ????? ???? ??? ???????????? ????????? ?????
?????????? ? ?????????, ??? ???????? ????????, ??????? ??? ???? ? ???
????????. ? ??? ????? ???????, ????? ??? ????????? ???? ???????. ???????? ?? ??? ??? ????????? ??? ? ?????, ??. ?????????????? ??:
???????? ??????? ?????? ????????, ??? ?? ?? ??? ????? ???? «????».
??,??? ?? ?????? ?? ???? ??? ????????, ??? ????????????? ??????????
?? ????? ????? ??????? ????????. ? ????? 43 ?? ????????? ? ???, ??:
??????? ????????? ???? ???????.
? ????? ???????? ? ????????? ? ???, ?? ??? ?????? ????????? 40%
???????, ????????????? ?? ?????????????; ???? 60% ?????????? ???????
?? ????????????. ? ???? ????? ?????? ????? ???????? ??, ??? ??? ????
?????? ?? ??????????? ??????. ???????????? ???? ?? ?????? ??????????,
??? ?? ???? ? ????????? ????? ?? ????? ????? ??? ???? ?????? ???? ?
?? ??????????? ?????? ????????????? ???? 17% ?? ???? ???????, ?????:
??? ?? ?????????????. ???????? ?? ??? ????????? ? ??????? ????????
??????????, ?????? ???????? ?? ????????????? ??????????? ????? ????:
????? ? ???, ??? ?? ?????????? ???????.
???????, ????, 60 + 17 = 77. ???? ?? ?????? ????????? ??????? ???????:
????? ????????? ? ?? ??? ?????????? ?????????? ????????????? ? ????:
??????? ????????????????? ?? ? ???????? ???????????? ?????. ???
?????? ???????? ?? ????? ??????????, ? ????? ???????????? ???????,
????????????????? ? ?????? ???????? ??? ? ?????? ????????????. ??:
??????, ??? ??? 18% ???? ?? ???????? ????? ???????? ??????????? 17%,
? ??????? ????????? ??????????? ??????. ?????????????, ???? ???? ???:
????? ? ????????? ????? ?? ?? ????????? ??????? ????.
????? ??????, ? ??? ??? 5%? ? ?????????? ????? «??????». ????, ???
?????????? ?????????, ?????? ??????? ?? ????????????? ? ?????????
??, ?????????? ??????? ????????? ????? ?????????? ??? ??????????:
???. (?????? ??? ?????????? ???????????? ??????????????. ??????? ???
??????????? ???? ???????????? ??? ????????? ?????? ???????????
[Fowler, 1999].) ? ?????? ? ???? ???:??? ????????? ?? ???? ???? 60:?????????? ??????,
??????? ?? ????? ?????????. ??? ???????? ??, ??? ? ?? ?????? ????????
????????????? ?? «60/60»:
????????????? 151
??????? 60/60: 60
%
?????? ?? ???????????? ?? ?????????? ???????
?? ?????????????, ? 60
%
?? ??? ?????????? ??????? ?? ????????????.
????? ???????, ???????????? ??????? ?? ????? ????????? ????????. ????????
???? ? ?????? 60% ?? ????? ??????? ???????? ?????, ?? ? ?????? ????????
??? ????. ???? ??????? ??????????? ??????? ? ???, ??? ??????????
????????? ????????????? ?? ??????? ???????, ??? ??? ? ?????? ???????
??????? ?? ?????????? ??????, ?????????? ?? ?????? ???????? ????????.
???? ?? ??????? ????????? ? ???? ???????, ???????????? ?????? ???????:
???, ???? ??????? ?? «??????????????» ????????????? ??, ??? ?????
????????????? ? ??? ?????. ????????????, ??????? ???????? ??????:
??? ????,? ??? ??????. ?????? ??? 60% ?????????? ????????? ???????:
???? ???????? ??: ?????? ??????????? ???????? ????? ??????????? ??:
?????????????, ??????? ?? ??????????? ????????? ????? ???????. ?????????
????????? ??? ?????? 41 ? 42 ?????????. ??????
Fowler, Martin. 1999. Refactoring: Improving the Design of Existing Code.
Boston: Addison:Wesley.
1
??????????
??? ?? ??? ???????? ???? ????! ??? ?????? ? ??? ??????? ??, ??? ??????
???? ??????? ? ????????????? ??. (?? ?????? ???????, ? ?????, ??? ???
?????? ??????, ??? ????. ?? ? ???????, ??? ? ????? ??????? ??????????
????? ??????????? ??? ? ????, ????? ??????? ? ??? ??? ????.)
1
?????? ?????? «???????????: ????????? ????????????? ????».? ??? ? ????.?
???.: ??????:???? 2002.
???? 43
????????????? ? ??? ???????, ? ?? ????????.
152 ????? 2. ? ????????? ?????
??????? ?? ?????? ????? ? ????????????? ?? ????????????, ?????
?????, ??? ??????? ?????????? ? ????, ????????, ??????????. ??? ?????
??? ????????????? ??????????? ??????????. ????????????? ?? ?????
?? ???? ????????? ? ???????????? ?????? ? ???? ?? ??? ????? ???????
???????? ?? ??????????? ??????. ? ?? ??? ??????, ??? ??? ?? ???. ??????
?? ???.
????????, ????????????? ???? ????????? ?? ?????????? ???????
???????? «?? ??????? ??? ?????????, ? ?????? ????? ??????? ????? ????:
???? ??????». ? ????????????, ??? ?????????? ???????????? ???????, ???
????? ??????. ????????, ???, ??? ?????:?????? ???????????? ???, ?????,
????????? ??????? ? ??????????????? ????? ????????? ????????? ????:
????????? ????????. (???? ???????, ???????????? ???????????? ? ????:
?????????????, ????????? ???, ??? ??????????? ??? ???????? ??????????
?? ????? ??????????? ????? (???????????????? ??????????????? ??
???? ?????????????). ? ??? ?? ?????, ??? ??????? ?? ???? ?????? ????:
?????????!) ? ????????? ???????????? ????????, ??????????????? ???
????, ????? ?? ????? ???:?????? ??????, ??????????????? ?????????????
?????????. (???????? ???????? ?? ????? ?????????????. ??????? ????:
????? ? ??????????? ??? ? ???? ?????? ?? ???????????. ?????? ??? ???:
?? ???????????, ??? ? ?????? ? ??? ????????????? ?????????.)
???????? ???????? ?? ?????? ????? ????? ???????????? ????? ??????????? ????:
????, ????????? ????? ???????????. ? ??? ???????, ? ????? ???? ??????
?????? ?????????????, ? ???? ?????? (? ??? ???????????) ???????, ????:
???, ?????? ???????????, ??? ? ????? ?????? ? ????????? ??. ???? ????:
?? ?????? ?? ?????? ????????? ???? ???????????? ??????, ?? ???????:
????? ?????????? ????? ??????, ? ?????? ?????? ?????? ? ???, ??? ?????:
???????? ?? ???? ?? ???? ???? ????????, ?????? ???????. (????????????
????????? «?? ???? ????, ???? ??? ????».)
????????? ? ??? ????? ????? ????????? ?? ??, ??? ??? ?????? 41 ? 42. ?? ????? ????:
???????? (??? ????????? ????? ?????) ?? ?????????? ? ????? Glass, Robert L. 1991. Software Conflict. Englewood Cliffs, NJ: Yourdon
Press. ????????????? 153
?????????? ?? ???? ???? ?????????? ? «??????? 60/60» ???????, ??? ?????????? ????
????????????/????????????? ?? ?????????? ??????? ?????? ?????:
???. ??? ?????? ?? ?????? ???????? ??? ?????????????, ?? ??, ??? ??????,
????????? ??? ??????? ??????? ????????????. ????? ??????? ???????:
??? ??????? ? ???, ??? ????????????? ??? ????? ?????????? ????? ?? ??:
??? ????, ? ???? ???????, ??????? ?? ???????????? ??? ????. ? ????? ???:
??? ????? ?????? ?????, ???? ?????? ??? ??? ??????, ????????????? ?? ??:
???????????. ???????????, ??? ???? ????????? ?????? ????????????? ? ????????:
?? ?? ??????????? ?????????. ??????? ???? ???????????????? ???????:
???, ????????????? ? ?????? (? ??????????? ??? ????????????). ?????
??????????? ???????, ?????????????? ? ???????? ??????????????? ???:
?????. ??????????? ??????? ? ??????????? ????, ???????? ??? ? ?????
????????. ?????????????? ?????????, ???????? ??????????????, ??? ?????
??????? ?? ?????? ?????????????? ???? ?? ????, ?? ? ?? ?????? ?? ?????
??, ??? ???????? ??????. ????? ????? ???????????? ??????? ???????????
? ????????????, ? ??? ???? ????? ?????????? ?????????????.
?????? ???????? ???????? ?????? ????? ??????????, ?????????? ????:
????, ??? ????????? ???? ????????????? ?????????? ?? ??? ????? ?????:
???????, ????? ??? ? ??????? ?? ?????? ????? ??????? ???????. ???????:
??? ??????? ???????? ? ??????? ???????? ?????: «??????????? ???????,
?????????????? ? ???????? ??????????????? ????????». ?????? ???????
????? ??????????, ??? ????? ?????????? ??? ?????? ?????? ???????????
??????. ?????? ???????????? ???????????????, ??? ????? ??????? ? ?????:
???????? ??? ??? ??????, ??? ???????? ??? ????????? ???????. ??????? ? ????????? ???? ????? ???????? ? ????? ??? ?????????????
??????. ?????, ?????????????? ??????????? ?????????????? ???????:
???? 44
???? ?????????? ?????? ?????????? ? ????????????? ??, ?? ??? ?? ???????
????? ?????????,? ?? ??????????? ?????????????? ?????? ??????????
???, ????????????? ??? «???????? ??????????????? ????????». ??? ??
?????? ???????? 30% ???????, ????????? ?? ????????????? ? ?????,
? ???? ??? ???????????? ??????????? ? ?????????????. ????? ???????,
????? ???????, ??? ????????????? ????? ?????????, ??? ??????????. 154 ????? 2. ? ????????? ?????
??? ? ?????????? ?????? ?????????????? (???? 26). ?????????? ??????:
??????? ?????????? ??????? ??? ??????????? ????? ????????????????
(???? 27). ????????? ????????????? ? ????????? ???????? ???????????:
??? (???? 28). ??? ????, ??? ??? ??????????? ????????? ????? ??????
?? 25% ????????? ???????????? ??????? ????????????? ?? 100% (???? 21).
? ???????????? ??? ??? ????? ???????????????, ??? ?????????? ?? ????:
???????? ????? ???????, ????????? ??????????, ???? ??????????
(???? 22) ???????. ???? 44 ? ???, ??? ????? ???? ?? ??????? ????????
??????????? (reverse engineering) ???????? ???????????? ???????, ? ???
?? ?????? ?????? ?? ?????, ??? ???????? ?????? ????????????????.
???? ??? ???? ???????, ?? ??????? ?????? ?????? ?????? ????????
???????? (????????? ???????? ??????????). ??????????? ????????? ???:
????? ??????? ??? ?????????? ????? ?????????????? (design envelope), ??:
??? ?????????, ? ?????? ??????? ????? ????? ??????? ??????, ????????:
???????? ?? ?????? ??????????. ?? ??????????? ? ???????? ?????????:
??? ????????? ????? ????? ??????????. ? ??? ????? ?????????? ?????
??? ????????? ?????????? ?? ?????? ??????????????, ??? ? ???. ? ??????
?????? ?????? ???????????? ???????????? ??????, ?? ??????? ??????
? ????? ???? ????????? ????????????.
?? ????????, ??? ????????? ???? ?????????? ???????????? ? ???????
20?20?20?40, ??? 20% ?????????? ?? ??????????, 20%? ?? ???????????:
???, 20%? ?? ????????? ???? ? 40%? ?? ?????????? ??????. ?????????
???? ????????????? ? ????????? ???? ? ????? ?? ????, ?? ??????????
? ????? ????????? ???????. ??? ??? ?????????, ???????? ?????????
? ??????? [Fjelsted and Hamlen, 1979]:
? ??????????? ? ???????????? ?????????? 15%
? ???????????? ? ????????????? ?? ???????? ? 5%
? ??????????? ?????? ? 25%
? ???????? ?????????? 20%
? ???????????? ? ??????? ?30%
? ?????????? ???????????? ?5%
? ?????? ????????? ?????????? ????? ????? ???????? ? ?????????
?????? ??????????:
? ??????????? ? ???????????? (15%) ????????????? ???????????
?????????? (20%).
? ???????????? ? ????????????? ? ??????????? ?????? (30%) ????:
????????? ?????????????? (20%).
????????????? 155
? ???????? ????????? (20%) ?????????? ????????? ????????????
???? (20%)
? ???????????? ? ??????? (30%) ????????????? ?????????? ??????
(40%)
? ? ????????? ????? ?????????? ?????????? ???????????? (5%), ???
???????, ?? ?????????? ? ???? ????????? ??????.
????????, ???, ???? ???????????? ? ??????? ????????? ????????????
???? ?????????? ????? ????????????? (??? ? ?? ????? ??????????), ?????
????????? ????:??????? ? ???????? ??????????. ??? ?????????? 30% ???:
??????? ????? ????????????? ?, ????? ??????? (?????? ? ??? ???????),
???????????? ????? ????? ?????? ??? ??????. ? ???????, ???? ??? ???????:
????? ???????? ??????? ?????????? ?? ????????? ?????????????? ??.
????????? ?? ????????? ??? ????? ?????? ?? ????????? ???????? ???:
???????? ? ?????? ??????????? ???????? ??? [???], ????????? ? 1983
????, ????????????? ??????????, ??? «????? ??????? ????????? ? ???????:
?????? ??» ???????? ? «??????? ????????? [??????]», ???????????? 8,7 (??
10:???????? ?????). ? ??????? ??, ??????? ?????? ? ?????? ?????, ??????
«?????????? ???????????? ? ????????????? ?? ????????» (7,5) ? «??????:
????? ?????, ? ??????? ???? ??????????? ?????????» (6,9). ??????????:
??? ????????????? ??? ????? (Ned Chapin) ?????? (???? ? 1983 ????), ???
«??????????? ?????? ? ????? ?????? ?????? ? ?????????????». ????
?????? ???????? ????? ???????? ???????, ??? ????????? ????????, ???
?? ????????? ???? ??? ????? ??????????.
? ????????? ?? ??????? ???????, ??? ????????????? ???????????? ??:
??? ???:?? ??????????????, ?????????? ? ?????:?? ?????? ????? ??????
?????????, ?? ????????? ? ????????? ???????????? ??. ???????, ??? ???
?????? ???????? ??? ? ???????? ??????. ?? ????? ???? ?????????????
??????????????? ???????????? ??????????, ? ?? ???? ?????? ??????????
????? ??????????????. ??? ????????????? ??????? ? ??????? ?????? ?
? ??? ??????, ??? ????????????? ????????????? ?????????? ? ???????
???????????? ??????? ????????????. ? ?? ?????? ? ????????? ???????? ??
??? ????????????. ?????? ????????????? ?? ? ???? ?????? ?????? ???????
?????????????? ???????.
???????? ???????? ?? ????????? ????????, ??????????????? ??????
? ????????????? ? ????????? ????? ?????????????. ???????????, ????:
???????? ??????????????, ?????? 5% ?????? ??????? ?? «???????? ????:
????????» ? ??? 5%? ?? ?? «??????????». ???, ??? ?????? ??????????? ???
????? ???????, ??? ?? ?????????, ??? ??? ??? ????????. ? ????? ??????,
156 ????? 2. ? ????????? ?????
???? ???????? ?????????? ???????? ??????? ????? ? ?????????????, ??
????? ?? ???????? ????? ?? ????????? ????? ???????? ????????? ???????:
???????? ?? ??????????? ?????? ????????????? ???? ?? ??? ??????, ??
???? ?????. ???????
????? ????? ???????, ??? ????????????? ????????? ? ???? ???? ?????
????????????????, ??????? ?????????? ????????????? ?????????. ? ??
??????, ? ??? ??? ???? ? ? ??? «????????????????» ??? ? ?????????,?
?????? ??. ???????????? ??????????????? ?????????, ?????????? ??:
????????????, ?????, ? ?????????, ? ????? ??????? ?????????? ????, ???
?? ????? ?? ??????? ????????????? ?? ?????????????. ??????? ?????
????????????, ??? ????????????, ??????????? ?? ?????? ????????????
???????????? ????????, ????? ?? ????????? ??????? ?????????? ???
??????? ????? ???????? ??????????. ?? ? ?????? ?????? ??????? ?????
??????????? ?????? ??????????. ?? ???? ???????? ????????? ??? ??????
? ?????? ??????????? ?? ???????? ????????????, ? ????????????? ???:
????? ???????????? ? ??????? ??? ?????? ???? ?? ?????. ???? ???? ?????:
?????? ? ???, ??? ???????????? ?????? ?????????????? ? ????????????,
? ???? ??????? ????? ???? ??????? ?? ?????????????, ??? ??????????
?? ??????????? ???????. ? ?????????? ???????? ?????????? ????? ?????:
???? ??????? ?? ?????? ???? (?? ?????? ????????????) ? ?????????????
???????????? (???:?? ??? ??? ??????????).
? ??? ?? «?????????? ????????????»? ??? ????? ????? ???????????
????????. ??????????? ?????????? ???: ???? ?? ???????????? ?????? ??:
??????, ?? ????? ????????? ???????? ? ?? ???????????? ?? ????? ????????,
??? ??????? ????, ????? ??? ?????? [Wiegers, 2001], ?????????: «???? ??
????? ? ???, ??? ???? ?? ???????????». ?????, ??? ? ??????, ????????? ???
?????? ?????? ? ????? ??????. ??:????????, ???, ??? ?????????? ???????:
???????, ??????? ?? ??????????, ????? ??????????? ??????? ??? ??:
??? (?, ?? ????, ??? ???????, ???????? ?????? ????????????? ?????, ???
??? ????????????? ? ?????????? ????????? ????????????). ??? ? ???
? ?? ???????? ??????? ?? ??????????? ????????????. ? ?????????? ???????????? ?? ?????????????, ????????, ???????
??????? ????? ????? ?????????????? ?????? ???????????? ????????.
? ?????? ???????? ????????? ?? ???????????? ?? ????????????? ???:
??? ????? ???????????, ??? ??? ??? ? ???????? ?????????? ????????????
?? ?????? ??????? ?????????? ?????, ????? ??? ??????????????. ????? ????, ??? ? ???????, ?? ? ????? ????????, ??? ?? ???? ??????:
???????? ???????? ????????????? ??? ?????? ????? ???????, ??? ???
????????????? 157
??????????. ????? ???????? ????? ??? ???????, ??????? ? ???????? ????:
???? ?? ???? ???????.
?? ???? ???? ???????, ????????? ????? ???????, ? ? ????????, ?????
????, ????? ????? ????????????. ????????? ? ???, ??? ?? ???????? ??:
??????? ?????? ???????????????, ?? ??????: «[?????] ?????? ?????? ???:
?????????? [???? ?????????????] ??????? ? ???, ????? ?????? ?????????
? ??????? ??????? ?????????, ?????????? ???????. ?? ???????? ???:
????? ???????????? ?????? ? ???????? ???????? ???????????????
??????». ??? ?? ??? ???? ???????, ???????????? ???????? ???????? ?????
????????? ?? ????? ? ??? ???????. ??? ??? ???? ?????. ?????, ??????? ??
??????? ? ?????, ????? ??? ???????????, ?????? ??? ????????????, ??? ??:
??????? ????????????? ????????? ?? ???????? ???? ??????.
????????
?? ???, ??? ???? ?????:?? ????????? ?????????????? ??, ?? ???? ???????
?? ????????? ?? ? ???? ????? ?????? ????????. ?? ??????? ? «?????????:
???????» ????? ?????????? ????? ?? ????????? ???, ??? ???? ??, ? ?????,
???:?????? ?????? ? ????????? ????? ?????????????, ?? ?????? ???
? ???, ??? ????? ?? ???? ???????? ???? ??????. ????? ???????, ????????
?? ?????? ????? ????? ????? ???, ???? ????? ????? ????? ??????? ???????.
????????
?????? ?? ?????????? ????? ????????????? ?? ????? ?? ?????? (???:
????? ?????????????? ????????) ????????????, ??????????? ? ?????
?? ??????????? IBM ? ?????????????? ? ???????? ??????????? ??????:
??????? IBM (Guide). ??? ??????????, ????? ?????:?????? ?????????????
?????????? ? ??? ??? ? ???? ????.
????????? ??????????? ? ???????????? ?? ????????????? ?????
?????, ????????, ? ??????? ??????? (??. ?????? «??????»). ??????
Fjelsted, Robert K., and William T. Hamlen. 1979. «Application Program
Maintenance Study Report to Our Respondents». Proceedings of Guide
48, The Guide Corporation, Philadelphia. 158 ????? 2. ? ????????? ?????
Glass, Robert L. 1981. «Documenting for Software Maintenance: We?re
Doing It Wrong». In Software Soliloquies, Computing Trends. Lammers, Susan. 1986. Programmers at Work. Redmond, WA: Microsoft
Press. Wiegers, Karl E. 2001. «Requirements When the Field Isn?t Green». Soft+
ware Test and Quality Engineering, May. ??????????
???????? ???? ????????????? ?? ??????, ????????,, ????? ?????????:
??? ?? ????? ???????????? ??????. ?? ?????? ???? ????, ????? ? ???????
? ??? ???????. ?? ?????? ? ???? ?????????????, ??????? ??? ?????????!
???????????? [Dekleva, 1992] ???? ????????? ??????? «??????????? ??:
????? ??????????» ?? ??????????? ??????? ? ????? ?????? ?? ????????:
???? ?????????????.
??? ?? ??? ???? ?? «??????????? ?????? ??????????»? ????????, ?????:
?????? ??? ?????????:??????????????? ??????????????, ?????????? ??:
???????????:??????????????? ??????, ????????????????, ?????????:
??????? ???????? ??????????????????? ?????????????? ? ???????? ???:
????? CASE (Computer Aided Software Engineering),? ??????? ???????, ??:
?????? ??????? ????? ???????, ???????????, ???????????????? ???????
? ??????????. ????????? ???????? ???? ????????????. ???????, ??????:
????? ? ??????????? ???? ????????, ???? ????????, ??? ????????? ???:
???? ????????. ?? ???? ??????????? ??????. ?? ?? ?? ?????????????
??????? ?????? ???????. ??? ??? ????? ???????????
????????? ????? ??????? ?????????? ????? ????? ?? ???? ??????
? ? ????? ?????? ????? ???; ??? ????? ?????????, ?? ??? ?????????. ??:
??????????? ???? ?????? ????????? ?????? ???????, ?????? ??? ???
???????????? ????? ??????? ??????????. ? ??? ??????????? ??????, ???
????????????????? ??? ????? ??????????? ??????? ???? ?????. ? ????:
??????? ???? ???? ??????? ?????? ?????????????????? ???????????
????????? [Software, 1988]. ?????? ????? ??????????? ??????? ???????
????????? ???? ??????????????????, ??? ?? ???? ???????????????? ??:
??????.
???? 45
????????? ???????? ?????????? ?? ???????? ? ????, ??? ?????????????
?????????? ??????, ? ?? ??????.
????????????? 159
??? ?????????? ?????? ???????? «????????????? ? ??? ???????, ? ??
????????» (???? 43). ???? ?? ??????? ????????????? ????????, ?? ???
?????? ?? ?? ?????????? ? ??? ????? ??? ? ??? ??????????. ?? ???? ????:
?? ??????? ????????????? ????????????, ?? ?????? ??????? ?????? ????:
???? ? ???, ??? ??? ???????? ??? ? ????????? ????? ?????????? ??? ????:
??.
????????
?? ?????? ????? ?? ???? ?????. ? ???? ?? ?????, ?? ?? ?? ?????? ?????
??????. ??? ???? ??, ??? ?? ???????????? ???????? ??????, ???????????
?????. ????? ???????? ???? ?? ??????????? ??????? ??? ????????? ??,
????????? ????????? ?? ????????? ????????? ?? ?? ?????? ????. ?????????
????????? ??? ????? ????? ??????????? ? ??????? «??????».
??????
Dekleva, Sasa M. 1992. «The Influence of the Information System Devel:
opment Approach on Maintenance». Management Information Systems
Quarterly, Sept. Software. 1988 (Jan.). ? ???? ??????? ??????? Software (???????????:
?? ???? ?????????????) ????????????? ??? ??????, ???????????
?? 19 ??????? ?? ????????????? ?? ??? PC, ?? 26 ??????? ? ?? ??:
??????????? ?? ??? ??????????????? ? ?? 46 ??????? ? ???
???????????. ??? ??????, ???????, ????????, ?? ????? ?????? ???
?? ????????. 3
? ????????
???????? ? ???????? ??????. ??? ???????? ??????????? ?????????????
? ????????? ??. ?????????? ?????? ??????? ???????? ??????? ??????:
??? ????????????? ????? «Zen and the Art of Motorcycle Maintenance» [Pir:
sig, 1974].
1
?? ??????? ????? ????? ? ??? ? ???????? ??????? ???????????:
??? ???????? ????? ? ???????? ??? ?????????? ???????????!
??? ?? ???????????? ?? ?? ???????? ?? ??? ???????????? (???? ?????
?? ??? ?? ?????? ?? ?????? ??????), ? ????????? ?? ??? ??????? ????????
?????. ? ???????? ?? ??????? ???: «????? ? ??? ?????, ? ?????, ??? ??? ???».
?? ?? ????? ???? ??? ?? ??????????? ??????????? ???????? ??????????:
?? ????????, ?? ???????? ?? ?????? ????, ?? ??? ????? ??????????????? ??
??? ????????. ? ???? ???? ?? ?????? ???????????, ??????? ???? ???????,
??? ??? ???????? ?????????, ??? ???????? ??????????? ??????? ????????
??? ?????? ???????????? ????????. ?????????? ?????? ?? ???? ??????:
????? ?? ???????.
??? ??????????? ???????????? ? ????? ??????? ?? ?????? ??????? ??:
?????? ?????????? ?????????? ???????????. ???? ????, ???? ???????????,
?????????, ??? ??????? ??????????? ???, ?? ???????????? ????????? ??:
?????????? ???????????. ? ????? 46 ? ??????? ???????????, ???????
??????????? ??? (???????? ???? ???????????? ???? ???????), ? ?????? ?
????? 47 ? ?????? ???????????, ???????????? ? ???? ????? ??????. ??
?????? ?????? ????????????, ??? ?? ?????? ?? ???? ?? ???????????. ??? ???????? ?? ????????? ? ??????????? ???? ? ??????, ???????????
???????? ??????????? ?????????, ?????????, ??? ??????????? ???????? ?
??? ?????? ??????????. ?? ???? ????????? ?????? ? ?????????? ?? ???
1
?????? ?????? «???? ? ????????? ????? ?? ??????????».? ???. ? ????.? ???.:
?????????, 2002 ?.
161
???????????, ??????????? ?? ???? ???????, ?????????? ????????, ??
????? ??????? ???:???, ??????? ?????? ????????? ? ?????? ???????:
???? ????????. ???? ?? ???, ????????????????, ?????????????, ??? ???:
???????? ????? ?????????????? ?? ????? ???????, ??? ???????????? ??:
????????? ?? ???????? ?????. ?????????? ????????, ??? ?????? ????????
?? ???????????? ???????? ? ???????? ??????????? ????????????? ? ??:
?? ??????, ? ????? ??, ??? ? ???????? ?????????? ?????? ????? ?????????:
???? ??????? ??????????????????? ????????????, ??????? ??????????.
????????????? ? ???????? ??, ????????????????? ????? ???????, ???
??? ? ???????????? ????????? ????? ????????? ? ????? ????????? ??
??????. ??? ? ?????? ?????? ???????? ???????? ????? ?????? ???????:
???? ???????, ??? ?? ?????????? ????? ???????? ?????? ? ??????? ???:
?????????????. ?????? ????????? ??????? ?????? ?? ? ???, ????? ?????:
???? ?? ???? ??????????????? ?? ?????????? ????????, ? ? ???, ????? ???:
????????? ???????????? ??????? ??? ??????, ????? ???? ?? ?????? ??.
?????? ?? ?? ????? ???????? ????????? ?????? ??? ?? ?????? ????????
? ?????? ????????? ???????????, ?? ?? ?? ????? ????? ??????? ? ? ??????:
???, ????????????? ? ????? 46. ??????????? ?????????? ???????? ? ????
????? ??????????, ????????????????, ????????????? ??? ? ????? ?????
?????? ????????? ????????. ??, ?? ????? ???????? ? ?????? ??????????
?,?? ????????? ???????, ?????????????, ?? ?????? ????????? ?????, ????:
??? ? ???????????? ????????, ?? ?????????? ?? ????? ????? ?????????.
???????:?? ??? ????? ???????????? ??????? ??? ???????? ????????
?? ????????? ???? ???? «:??????» [Bowen, Wigle and Tsai, 1985]. ????????
?????????? ????? ???????? ????? ??????, ?????????? ??????????
(?? ?????? ??????? ?? 4 ?? 25 ?????), ? ??????????????? ????, ???????:
??? ??????????. ???, ????? ??? ?????????, ?????????, ??? ?????????????
???????? ?? ????? ??????? ????? ?? ????????? ? ??????? ????????????. ????, ????? ???? ? ????????? ? ???? ???????, ??????????? ?????????
? ???????? ???????????? ?????????, ??? ????? ???????? ? ??? ???
?? ????????. ? ??? ????? ????????? ???????? ??????????, ???????? ????????
?????? ? ???, ??? ?? ??????. ? ?????????, ??????????? ? ?????????
????????, ??????????????? ??? ????????????? ??????, ???????:
????? ? ????? ?????? ?????????? ?????, ??? ???????? ??????,
???????? ????? ???? ?????????????? ???????? ? ???? ?????????:
???, ??????????????? ??????.
162 ????? 3. ? ????????
? ???????????? ????????? ??????? ?????????????. ??? ?? ??????
?? ????????? ???? ??????, ???? ????????????? ????? ????????,
?? ???????? ??? ??:?????????? ??????. ????????? ????? ?? ??:
??????????? ???????? ??? ??????? ???, ? ??? ??????????? ????,
????? ????? ?? ????????? ?????? ??? ????????????. ? ?????????????? ???????? ????? ????????, ??? ?? ???? ?????????
???????? ? ??????? ??? ??????????? ?????????? ???? ??? ? ?????:
????? ? ?????????????. ??? ?? ?????? ????????? ???? ????????
? ?????????. ???? ? ???, ??? ? ???? ???? ????? ????????? ?????
????????????, ?? ?????? ????????????? ??????, ?? ? ????? ????:
?????? (??? ? ????? ?????? ? ???? ???? ???? ?????).
?????????
? ???? ??????????, ????????? ? ??????? «??????», ???????? ????:
Glass, Robert L. 1992. Building Quality Software. Englewood Cliffs, NJ:
Prentice:Hall. In Section 3.9.1, State of the Theory. ??? ????? ????????
?????? ??????????? ???? ?????? ???????????? ??????? ???.
??????
Bowen, Thomas P., Gary B. Wigle, and Jay T. Tsai. 1985. «Specifications of
Software Quality Metrics». RADC:TR:85:37, Feb.
Pirsig, Robert M. 1974. Zen and the Art of Motorcycle Maintenance. New
York: Morrow.
????????
??????????
???????? ???????????? ??????????? ????? ?????????? ?????? ?????:
???. ????? ? ???? ??????????? ???????????, ????????? ????? ?????? ??:
??????? ????????.
???? 46
???????? ???? ???????????? ???????.
???????? 163
??? ????????? ? ????????? ?? ???????? ???????????? ???? ???????,
???????? ?????? ???????? ??????????? ???????: ????????????? (porta:
bility), ?????????? (reliability), ????????????? (efficiency), ???????? ? ??:
??????????? (usability, ??? ????? ????????????? ???????), ?????????????
(testability), ?????????? (understandability) ? ???????????????? (modifi:
ability). ?????? ??????????? ???? ???? ????????? ?? ?????? ??????????
????????, ?? ?????? ?????? ?????? ??????????? ???????????? ? ????:
?????? ????? ???????? ???.
????? ?? ????? ???? ????????
1.????????????? ????????, ??? ??????????? ??????? ????? ??? ???:
?? ????????? ?? ?????? ?????????.
2.?????????? ? ??? ???????? ???????????? ???????? ??????????
??????? ????????? ???? ???????.
3.??? ?????????????? ???????????? ???????? ???????? ??????:
??? ???????????? ?? ??????? ? ??????????? ?????.
4.???????? ? ?????? ????????????? ??????? (??? ???????? ????? ???:
??? «?????????») ?????????????, ??? ? ??????????? ?????????
????? ? ?????? ????????.
5.????????????? ?? ???? ?? ??? ????, ??? ????????, ???????????????
???????? ??? ????????????.
6.?????????? ??? ??? ????????, ???????????????, ????????? ?????
(??? ??????) ???????????, ??????????????? ??????????? ???:
????, ?????? ??? ??????.
7.?????????????? ???????? ??, ????????? ???????? ?? ????????
??????????.
??????? ???????????? ???? ????????? ???????? ?? ????????????? ??:
???:???? ???????????. ?? ??? ? ?????? ??????? ?????:???? ???????????
????????. ??????? ???????, ??? ????????????, ?????????? ?????????:
?????????, ? ????? ???? ???? ?? ???????? ?????????? ?? ??????? ? ??.
?????? ?????? ????? ???????, ??? ?? ?? ??????? ?????????????. ????????
????? ?????????? ????? ?????????????????? ? ?????? ?????? ??? ???????
???????? ??????? ???????. ???, ???? ??????????? ??????? ????????? ???
?????, ??? ?? ????? ????????????????? ?? ?????? ??????????, ?? ??????:
??????? ???????????? ???? ? ?? ? ????? ?????? ??????, ?? ???:?? ??????:
???? ?? ???. ???? ?? ????????? ?????? ????????, ??????? ????????? ??:
????????, ??????????? ??????????, ??????? ???????????? ?????, ?? ???:
??? ? ?????? ??????? ?? ?????? ?????? ??????????. ???? ??????????????,
??? ???????? ????????? ??????, ?????????? ?????, ?? ?????? ????????,
164 ????? 3. ? ????????
??? ????? ? ?????? ?????? ???????? ????????, ????????????? ????????:
?????, ? ?????????? ? ???????????????? (????????? ????????, ??? ???
???????? ?? ???? ??????????????? ????????? ? ?????????????). ???? ??
??????? ????? ???????? ? ???????? ???????? ????????, ?? ? ??????? ?????
?????? ?? ?????? ?????????????.
????????, ??????? ?????????? ??? ????????????????????? ????????
????? ?? ???? ??????:
1.?????????? (???? ??????? ?? ???????? ?????????? ???????, ??
????????? ??? ???????? ?? ????? ???????? ????????).
2.???? ????????????? ??????? (???????? ????????, ????????? ?????:
?????? ??????????? ???????????? ? ????????? ?????, ????? ??????
???? ??????? ? ??????? ???????? ???????? ?????? ? ?????????).
3.?????????? ? ???????????????? (????? ??, ??o???? ??????????:
?? ?? ???? ?????, ????????, ????? ????? ?????????????? ? ????????:
??????).
4.????????????? (??? ???????, ??? ???????? ??? ???????? ?? ?????
?????? ???????; ??? ????????? ?????????? ??? ????? ?? ??????
?????).
5.????????????? (????????????? ????????, ?? ??? ?? ????????? ???
????????, ????????? ??? ????? ????? ?????? ????? ???????? ? ??:
???????? ??, ? ?????????? ? ???????? ?? ?????? ?????). 6.????????????? (??? ?????? ?????????? ??? ???????? ?????? ??
????? ????????, ? ??? ?????? ????? ????? ?????????????? ???:
?????).
?? ???????????, ???? ??????????? ???? ??????? ?? ???????? ? ?????.
????? ? ????? ???? ?????? ????? ? ???????? ?? [Glass, 1992], ???? ?? ??:
????????? ????????? ??????? ???????? ???????, ??????? ??????? ? (??:
????? ????????). ?? ???????????????? ??? ???? ????? ???????? ??????:
????? (???????, ????????, ???????? ?????? ?????????? ?? ????). ???????,
??? ? ???????? ??????? ?????????? ???????? ????????? ???????? ????
???:?? ?? ???????? ?????????????? ??: ???? ??? ???????????? ????????
? ????????, ?? ???, ????????, ?????????? ???????????. ????????
? ???? ?????? ??????? ????????? ???????? ????????, ?????????????
?? ????????? ????????:
???????? 165
1.????????? ?? ??? ??????????? ?????????
2.?????????? ?? ??? ?????? ????????
3.?????????? ?? ?????????? ?????????????????? ????????? ?????????
??? ???????? ?????? 1, ?? ???? ???????, ??? ?????? ? ????????? ?? (? ???
????? ????????? ????????) ????? ? ??????, ?????????????? ??? ???????
«??? ???????????? ???????????». ??????????? ?? ??? ?????????????? ??:
???? ?? ???????????, ?????????????? ???? ? ????? 47. ????? ?? ????? ??:
??????? ???? ????, ? ????????, ?????? ? ?????, ??? ??? ?????? ?????????. ???????? ? ?????? 2. ? ????????? ?? ?? ??? ???????? ? ???? ???????
????????? ????????. ???? ??????????, ????????, ????? ????????? ??????
??????????? ? ??? ????????????? ? ?? ??? ?????????, ??? ??? ?????????
?? ?????? ???????? ???????????? ??? ?? ???????? ????????? ????????.
???????? ?????????? ?, ? ?? ??????, ?????????. ?? ??????? ??????, ???
????? ????????? ???????? ??? ?????? ???????? ??????????? ? ???????
???????, ??? ?? ?????????? ???????????? ?? ????????? ? ????????. ???,
????? ?????? ????????? ???????? ??? ??????????? ???????? ?????????
??????? ? ??????? ????. ?? ??? ?????? ?????????, ? ??? ????? ???:
????????, ?? ?? ????? ????????. ???? ? ??????, ??? ?????? ???????????
?????? ???????? ??? ????????? ???????? ?? ???????????? ???? ??????.
? ????? ? ???????? ??????? ?????. ??? ???????, ??? ?? ????????, ?? ???
??? ???? ? ??????????? ???????? ?? ?????????? ???????, ??????? ?? ???:
?? ??????????.
?? ? ????? 3 ?? ??? ?????????. ? ?????????, ??? ?? ?????????? ???:
???????? ?????????????? ???????, ? ??????? ??????? ??????????? ??????:
?? ???????? ??, ? ????? ?? ???? ?????? ?????????? ????? ? ???, ?????:
?? ??????? ????? ????????? ?? ?????? ???????.
?????????
????? ?????? ? ????? ????????? ?????????? ?? ???? ??????????? ??????:
??, ?????????? ?? ?????????, ????? ????? ? ?????? ????? ????? (Barry
Boehm).
Boehm, Barry W., et al. 1978. Characteristics of Software Quality. Amster:
dam: North:Holland.
???????????? ????? ???????? ?????????, ?? ??? ??????, ???????? ? ??:
????, ?????????? ???? ? ??????? «??????». ? ??? ?????? (?? ???????)
??????????? ???????? ??, ?????????? ?? ?????????, ??????????? ? ??????
166 ????? 3. ? ????????
McCall, J., P. Richards, and G. Walters. 1977. «Factors in Software Quality».
NTIS AD:A049:015, 015, 055, Nov.
??????
Glass, Robert L. 1992. Building Quality Software. Englewood Cliffs, NJ:
Prentice:Hall.
??????????
??? ???????? ?? ?????????? ????? ?????????? ?????? ???????????, ???
?????? ? ?????? ? ????????. ??????? ????? ???????? ? ???, ??? ?????
?????? ?? ???? ???????????, ??????????, ???????????, ?? ?? ???????:
??, ? ??? ???? ??? ????????, ??????? ???? ???????.
? ???? ????? ?????????? ?????? ????? ???????????. ?????? ?? ???
?????? ??????????????, ?????? ??????? ? ???:??, ??? ????? ???????? ???
????????? ??. ?? ? ?????????, ??? ?? ???? ?? ??? ?????? ??????? ???:
???????. ??? ??????????? ??? ?? ?????????, ?? ? ????? ?? ??? ????? ???????,
??? ??????. ? ?? ????, ???? ?? ???????, ??? ????????? ?? Computer Scien:
ces Corp. ?? ????? ?? ??????????? ?????? ??? ??????? ? ???? ???????.
??? ???: ?????????????? ???????????? = ?????????? ?????????? + ????????????? ???????? + ?????????? ????????? + ???????????? ???????
?????? ????????? ??????????? ?????????????? ????????????. ??????:
?????? ????? ????????????, ???? ??????? ??????? ???????, ????????????:
??? ????????, ??????? ?????????? ???????? ? ?? ??????? ?????? ??:
???????. ?? ???? ?????????? ???????????????? ??? ???????, ?? ????????,
??? ??? ?? ?????? ???????????? ? ?????? ? ?? ??????????? ???? ? ???:
???. ???????? ????????, ??? ????? ?? ???????????? ???????? ????????.
???? 47
???????? ?? ???????????? ??????????????? ????????????, ?????????????
??????????? ?????????, ????????????? ???? ? ??????????? ?????? ???
?? ???????? ??? ???????????.
???????? 167
???? ??????? ? ???, ? ?? ???????? ??????????, ??? ???????? ?????????
?????????? ?? ???? ????????? ???????????? ???????.
????????, ??? ??? ????????? ???? ??????? ????? ?????. ??????, ???
???????? ? ??? ?? ?? ?? ?????, ??? ??? ????????? ????????????, ?? ?? ???:
???? ???????? ?????????. ?? ?????? ???????, ??? ???????? ? ??? ??????
????? ??????. ???????????? ???????????, ?????????? ?????? ???????? ?
???????????? ???? ??????????? ?????, ?? ??? ?? ????? ????????? ? ??:
??????. ????????????????? ???????????? ????? ????????? ? ????????, ??
?? ?????? ? ????, ? ? ? ????????? ?????? ????? ?????? ????????.
??? ????????? ???????? ? ???????????? ?? ????, ??? ???????? ?? ????:
???? (? ????????? ????? ?????). ?? ???? ???????????? ???????? ? ??? ??:
????????. ?????? ??????????? ???????????? ???????? ?? ? ???????
? ??? ?????? (???, ?????????????, ? ?? ??????????). ??, ??? ?? ?????
?? ????? 46, ???????? ????? ?????? ????????? ? ???????? ?????? ??
????? ? ????, ?????? ? «??????????», ?? ????????? ?????????? ???????
?????? ???????. ???????????, ?????????????? ???????? ? ?????????? ??????, ?????
??? ????????? ????????. ?? ????? ?????????? ??? ??????????? ?? ?????
?????????? ????????, ?? ????? ????? ????? ????? ????????, ??? ??? ????:
??? ?? ??????? ???, ????? ???????? ? ??? ?????? ?? ??????????. ??? ?????:
???? ?????????? ???????? ? ??????????: ???? ????????? ??? ????? ???
??????? (? ???????? ? ????? ?? ?????? ????? ? ????? 46) ? ?? ????? ?? ???:
?? ?????? ????????? ??????, ??????????? ?????? ????????. ????????
???? ???? ??? ?? ???? ? ???????? ????????. ?? ???????????? ?????????
? ???, ??? ???????? ? ??? ?????????????? ????????????, ??? ????????????
???????????, ??? ??????????????? ??????? (? ?????? ?? ???????, ???
????? ? ?????? ???? ?????, ?? ???????, ?? ????? ?????????, ???????? ??:
??????? ? ????????), ??? ??????????. ? ??? ????????? ??????????? ????:
??? ?????????????, ?? ???????????, ???????, ????????? ??????????. ?????????
?? ??????? ?????????? ??? ???? ????????? ?????????????? ????????
?? ???????? ??, ????????? ?) ??? ?????? ?? ??????? ??? ?????????
??????? ? ?) ??? ???????? ?? ? ???? ?????? ??????????? ?????? ?????,
168 ????? 3. ? ????????
????? ??????? ????? ???? ??? ????????. ????? ??? ???? ??? ????? ?????
??????? ?????????? ??????????? ???????? ? ????????? ?????????. ????
?? ?? ??????? ?????, ??? ????? ?????? ? ???????:?????? ??????????????
????? ???????? ? ???????? ??. ??????????
??????????
????????, ?????? ?? ?????? ????????, ??? ?????:?? ?????? ? ????????:
??? ????????? ??????????? ????, ??? ??????. ??????, ??? ?????:???? ???:
????? ??????? ? ????????? ????????? ????, ????????, ??????, ??? ???:??
?? ??????????? ????????????: «???:???, ????? ???? ?? ???? ???????????
??????». ???? ? ???, ??? ??????? ????????? ?????????? ?????? ??????:
??????? ????. ?????????????? ? ??????? ?? ??????? (off:by:one). ??????
?? ??????????, ?????????????? ?? ???????????. ??????? ?????? ????:
??? ??????????????. ?????????? ????????????? ????????? ?????????:
??? ??????????. ?????????? ??????? ??????? ? ?????? ???????.
???????, ?? ?? ?????? ????????????? ????????? ???? ??????? ?????
?????????. ?????? ???????????? ?????, ??? ???? ?????????? ??????? ??:
???? ????????????? ?? ????????, ?????????????? ? ?????????? ??????????:
??? ??????????? ? ???????????? [Gramms, 1987]. ?? ?????? ??? ??????
«????????????????» ? ??????, ??? ??? ??????????? ?? «??????? ?????:
???». ??? ?? ?????? ???????, ????????? ????? ???????, ??? ??? ?????? ??:
????? ? ????? ???, ?? ??????? ????? ????????????? ?????? ??????????
??????. ????????, ??? ????? ?? ???? ??????? ? ??????????? ?????? ??:
???????. ????? ???? ?? ??????? ???????????????? ????????, ????????:
??? ? ???????????????? ??? ??????. ????? ???? ?? ???????????????
???????????? ????? ???, ????? ????????????? ??. ????????????? ????? ??
??????? ?????????????? ??????? ?? ??????????? ? ??????????????.
? ???????????????, ??? ?????, ?????? ???? ? ??? ???? ?????. ?????
??????? ????????????????? ???????????????? (??? ???????? ????????
????????, ?????????? ????????????? ??????????? ??????, ????? ???
?????????) ???? ??? ?????????? N:?????????? ????????????????. ? ????:
???? 48
???? ????? ??????, ? ??????? ??????????????? ??????????? ?????????????. ?????????? 169
?? ?????????? ????? ?????????????, ??? ? N ????????? ???????? ??????,
??????????? N ?????????? ????????? ?????????????, ???? ?? ?????
??????????? ???? ? ?? ?? ??????. ???? ??? ????? ???????? ????????? ????
? ??????, ?? ????? ????? ???????????????? ? ????????? ??? ?????????
????? ?????????, ?????????? ?? ?????? ?? ?????????, ???? ?? ?? ?????:
??? ? ????????????, ??????????? ?? ?????????. ?? ???????? ? ?????????:
?????? ??????? ????????????, ??? ????? ??? ? ????? ?? N ????????? ??:
????? ???? ???? ? ?? ?? ??????, ??? ??????? ???? N:??????????? ???????.
(? ??? ????????? ??????????? ? ??? ????????, ??? ?????????? ?????? ????:
?? ?????? ????? ????????????? ???????, ???????? ? ????????, ??????:
???????? ????????? ? ??????????????? ?????????.) ????????
???????, ????????? ? ???? ?????, ???????? ??????? ?? ??????, ????:
??? ????????? ? ????????? ??, ?? ?? ?? ??????? ???????? ?????????
? ??????? ?? ????? ??????? ????? ?? ?? ?? ???? ????????.
????????
? ???? ?????? ???????????, ??????? ????????? ?????????? ?????????:
??? ???????? (German Computing Society), ? ??????? ????????? ? ???????
«??????». ? ??? ??? ??????, ???? ? ??????? ????????? ?? ??????? ???????
(Gramms): Glass, Robert L. 1991. «Some Thoughts on Software Errors». In Software
Conflict. Englewood Cliffs, NJ: Yourdon Press. ???????????? ? ???????,
?????????????? ??? ?????????? ??????????? ???? ???????????
?? ??????????? ??????????? ????????????? ????????.
??????
Gramms, Timm. 1987. ? ?????????? ??????????? «???????????????
??????» ? «??????? ????????». ??????? ?????? ??????????? ??:
?????????? ???????????????? ?????????????? ?????? ?????????:
?? ????????????? ???????? (German Computing Society Technical In:
terest Group on Fault:Tolerant Computing Systems, Bremerhaven, West
Germany, Dec).
170 ????? 3. ? ????????
??????????
???????????? ? ???????? ? ???, ??? ? ? ????? ??????????? ????????????:
?? ??????????? ??????. ? «???????? ?????? ?????????????? ? 15% ???????» ([Davis, 1995],
?????? ?? ?????? ?????? [Endres, 1975]).
? «80% ???? ?????? ?????????????? ????? ? 2% (sic) ???????» ([Davis,
1995], ?????? ?? [Weinberg, 1992]). ? ???? ?????????? ????????? ??:
????, ?? ????? ????????, ?? ?? ????????? ?? ???? ??? 2%.
? «???????? 80% ?????? ????????? ? 20% ???????, ? ???????? ????:
???? ??????? ?? ???????? ??????» [Boehm and Basili, 2001].
?????? ?? ?? ???? ?????????????? ????????, ????????, ??? ??????
???? ????? ???????? ????????? ? ??????????? ?????????. ????????, ???
???? ???? ???????? ??? ????????? ??????????? ? ?????? ??????? ??????:
???? 1975 ?????.
?????? ?????? ???????????? ?????? ???? ????? ????, ?????????
????? ???????? ??????? ??????? ??????, ? ??? ????????? ????????
? ???????? (?????? ??? ??????.) ????? ????, ????????? ???????? ????:
?????? ?????????? ?????????????, ? ????????? ?? ??? ????????? ????:
?? ????, ??????????? ?? ????? (???????, ? ??? ????????, ???????? ????:
?????????? ???????, ? ??????? ?? ???????? ? ????? 2.)
? ??? ?? ????? ????? ??????????? ?????? ????? ? ????????? ???:
???????? ?????? ?????? ??????, ??? ???????, ??????????? ??????.
?????? ????????, ??? ?? ???????? ??? ??????.
????????
??????, ??????????? ?????, ?????????? ???? ? ?????????? ??????????
?????, ? ? ?? ???? ? ????? ?? ?? ?? ???? ?????????? ?? ????? ?????. ?????????
?????????, ?????????? ??????????, ?????????????? ?????? ????,
??????????? ? ??????? «??????». ???? 49
?????? ????? ????????? ???????????? ?????????.
?????????? 171
??????
Boehm, Barry, and Victor R. Basili. 2001. «Software Defect Reduction Top
10 List». IEEE Computer, Jan.
Davis, Alan M. 1995. 201 Principles of Software Development. New York:
McGraw:Hill. Principle 114.
Endres, A. 1975. «An Analysis of Errors and Their Causes in System Pro+
grams». IEEE Transactions on Software Engineering, June.
Weinberg, Gerald. 1992. Quality Software Management: Systems Thinking.
Vol. 1, section 13.2.3. New York: Dorset House.
??????????
???????????? ? ??? ??? ???? ?????????! ??? ? ????????? ????????? ???,
????????? ?????????? ?????? ???? ?????. ????? ? ??????????, ?????? ???
?????? ??????? ??????????? ??????? ???????????????? ?????, ?????????:
??????? ???????? ?? ??????.
?????? ?? ?????? ???????? ????? ?????? ?? ?????????? ?????????? ??:
??, ????????? ??????? ??? ??????. ? ?? ??????, ??? ??????? ?????:??????
????????. ???????????? ?? ???? ????????, ?????? ?? ??? ?? ???? ????.
?? ???? ???????? ????????? ? ?????????? ????????, ? ??? ???? ???????,
??? ????? ?? ???????????. ?????????????? ???????????? ????????? (????
?? ?????? ? ???????? ?????) ?? ???? ????????. ????? ?? ?????? ??????:
??? ?? ???? ??????????????????, ??? ?? ???? ????????. ? ????? ?? ?? ???
??? ??????? ?????????? ?????????? ??????, ?? ???? ?? ???? ????????. ????????
? ?????? ?????? ???????? ? ???????? ??????????? ???????. ??????:
????? ?????????? ???? ?? ????????? ???????????? ??????? ???????
??????? ????? ??????????? ??? ??????????, ? ??? ????? ? ????????
?????????? ??????. ??? ??????????? ????????? ? ????? ?????????,
?? ??? ?? ???????? ?? ????????? ??? ?? ????? ????? ? ? ???????. ???? 50
??? ?????????? ?????? ??? ?? ????????? ??????? ????, ?????? ??????.
172 ????? 3. ? ????????
????????
?????? ???? ?????????? ???? ?? ??????? ??? ??????
Glass, Robert L. 1992. Building Quality Software. Englewood Cliffs, NJ:
Prentice:Hall.
??????????
?????? ????????????! ??????? ??? ???: ? ???????? ?? ???? ????? ????:
??, ??? ???????????? ??????????? ?????????? ? ???? ????????????????
?????, ? ???????? ?? ?? ?????? ?????????? ???????, ???????? ? ????
??????? ???????. ? ?????????? ?????? ????? ?????????????? ???????, ???? ????? ????:
?? ??????????? ?? ????????? ?????????? ??????. ?? ?????? ?????? ? ??:
?????? ?????????? ? ???????? ??????????? ???? ?????????? ????????.
????????????? ?????, ?????? ?? ??????? ? ??, ?????? ??????? ???:
???????? ?????? (error severity). ??????????? ?????? ? ???????????
????????? ?????? ???? ?????????. ?????? ???? ?? ????????? ? ???
????????? ?????? (????????, ?????? ????????????????, ?????? ????:
??????? ????, ?????? ??????????? ?????, ??????????????? ??????, ??
???????? ?? ??????????), ?? ??? ?? ?????? ??????????. ????????
??? ????????, ??? ? ?????????? ???? ????? ?????????????? ??????.
?? ????? ????? ?????? ? ???, ?????? ?? ??????????? ????? ?????????
???. ???????? (?? ????? ???? ?? ??????? ???????????? ??? ???? ?????:
??????) ???????, ??? ???????? ?? ????????? (??:?? ???? ???? ??? ???????:
?????? ???? ??????????). ????????? (?? ????? ???? ?? ??????? ?????:
?????? ??? ???? ??????????) ?? ???????????, ??? ????? ? ??, ?????????
?? ??????, ???????????, ? ???? ???? ?????? ???? ??????? ? ??????????
??????? ?????.
???? 51
?? ?????? ?????? ?? ??????. ???? ??????? ? ???, ????? ???????? ???????
???? ?????? ??? ?????? ?? ? ????????.
?????????? 173
???? ???????? ???????????? [Smidts, Huang and Widmaier, 2002] ?????:
???? ???? ?? ?????? ??????? ??????? ???????. ??? ???????, ?????? ????
????????? ???????? (?????????????, ???????????????? ??????4 ????:
?? CMM, ? ????????????, ? ??????? ??????????? ?????????? ??????), ??
?????? ??????? ?????????? ??????? ???????, ??????? ?? ???????????? ??:
??????? ?????? ?????????? ? 98% (???? ? ????? ???????? ?????????????
????????:???? ??????? ?????????? ? ?????? ????????? ? ?????? ?????).
? ?????????? ??????? ??, ????????, ??? ???????, ?? ???? ??????? ??:
?? ???????? ? ???? ????????. ? ?? ???????? ??? ????. ????????
?????? ???? ???????? ????? ?? ??????? ????????? ?????.
Glass, Robert L. 1992. Building Quality Software. Englewood Cliffs, NJ:
Prentice:Hall.
???????? ????????? ?????????? ?????, ??????????? ? ??????????:
???? ???????.
? ?????????????? ???????:
? «??????? ????????????????? ??????????? ????? ???????? ???:
???? ?????????? ?????? ?? 75%» [Boehm and Basili, 2001].
? «???????? 40?50% ???????????????? ???????? ???????? ???????:
?????? ??????» [Boehm and Basili, 2001]. (????????, ??? ?????? ??:
?????????? ????? ????????? ? ? ??????????? ??????.)
? «??? ?????? ?????????? ??????????» [Kaner, Bach and Pettichord,
2002].
? ??????????? ??????:
? «????? 90% ???????? ??????? ???????? 10% ??????» [Boehm and
Basili, 2001].
??????
Boehm, Barry, and Victor R. Basili. 2001. «Software Defect Reduction Top
10 List». IEEE Computer, Jan.
Kaner, Cam, James Bach, and Bret Pettichord. 2002. Lessons Learned in
Software Testing. Lessons 9, 10. New York: John Wiley & Sons.
Smidts, Carol, Xin Huang, and James C. Widmaier. 2002. «Producing Reli:
able Software: An Experiment». Journal of Systems and Software, Apr. 174 ????? 3. ? ????????
?????????????
??????????
????????????, ??????? ?? ???????? ?????????, ?????? ???? ?? ???????:
????, ??? ????? ?????? ???????? ??????????? ?????????. ??????? ? ??:
??????? ?? ??? ??? ??? ????? ????, ??? ?????????. ??? ???????? ???? 53,
? ????? ? ???? ???????? ? ?????? ????????? ?????? ????????????????,
???, ????? ???????????? ??????????????.
??? ?????? ?????????? ????????, ?????? ?????? ????????????? ??:
??????????? ???????????? ????????,? ????? ?????? ???? ??????????
?????. ? ????? ?????? ?????????? ??????????????? ??????? ???????
????/????? (I/O) (????????, ????????? ?????? ? ??????), ????????? ??:
???????? (?? ????????? ?????????????? ??? ????????? ?????? ?????:
???), ? ????? ?????? ???????, ????????????? ??????????? ?????????
(????????, ?????????? ?????, ??????? ? ??????).
?????? ? ??????????? ?????/??????. ?? ??????? ? ?????????? ??????
?? ??????? ????????? ?????????? ??????????? ?????????? ?????? ???:
????, ??? ?? ????? ?????? ??????????? ??? ????????. ? ????, ???????:
?????? ?? ?????????????? ???????? ?????/??????, ????????????? ?????:
???, ???????????? ?? ????????? ?????? ??????????. ????? ????????
?????? ?????, ? ?? ?????????? ????????????? ???????? ?????????
? ??????? ???????, ??? ????? ?????? ?????, ????????? ?????????????.
???????? ??????????????? ?????????????? ?? ?????????????? ???????,
??? ??????? ?????? ???????? ??? ??????? ?????? ?? ?????????? ??????
??????? ??????? ? ???, ????? ??????????, ????? ????????? ? ? ????? ???:
???????? ???????? ??????????. ?????, ? ????? ??????, ??? ??????? ???:
????? ????????????????? ??????? ? ???? ???????????? ?????? ????????:
???? ??????????? ??????? ??????, ???????, ?????????????? ? ?.?? ? ??? ??
?? ??? ?????????? ??????????? ??????, ????????? ????????????? ??:
???? ????????? ??????????? ???? ????? ??????????? ?????? ? ????????
?????, ??????? ? ??, ??? ????????? ?????? ???????????? ????? ??????:
???? ????? ??????????? ????????? ?? ??????????? ? ?????????? ??:
??????????? ??????? ? ?? ???????????. (????????? ?????? ????????, ???
???? 52
????????????? ?????? ??????? ?? ????????????? ?????????????? ?????
?????, ??? ?? ????????????? ????????????????.
????????????? 175
???????? ????????????? ?????? ? ???????, ? ????? ? ?????????? ??????
???? ?????????? ??????? ??????????? ??????, ?? ??????.) ??????? ?? ????? ?????????????? ?? ????? ??????? ???????????? ???
??????? ?????????? ????????? ??????. ??? ????????? ??????. ??? ??:
????????? ???? ??????. ????? ??????? ????? ???, ?????? ??????? ???:
????????? ?????? ?? ?????? ????? ??????? ? ???????
??????????????? ?????????? ??? ?????? ???????? ? ????????? ? ??:
?????????????? ?????/??????. ????, ???????, ??????????? ????? ?????:
???? ?????? ??????????? ?????? ????????? ? ???????? ?????? ?????:
????, ???? ???????? ????????? ??????????? ????????? ??????. (??????:
???? ???? «??????????? ?????», ?????? ??????? ?? ??????????? ???????.)
????????, ????? ?????? ???????????? ????? ?? ??????? ??????????? ??:
???????????? ??????????. ????????? ??? ??????? ?????????? ?????????
????? ???????? ? ?????????? ???????? ????????????? ???????. ? ????:
???????????? ????????, ?? ???? ??????, ????????????? ?????????????
?????? ??????? ? ?????????? ?????? (?????? ?? ??????????? ??????????
?? ??????? ????????, ????? ?????? ? ??? ??? ?????? ? ???????????). ??:
???????: ????????? ????????, ????????? ????????????? ????????? ??
????? ??????????????, ????? ???? ??????? ????? ???????????? ??????:
???, ??? ?????? ????????? ??????????? ???.
????? ?? ?????????????? ?????? ???? ??????????? ??????? ??????
???? ???????????, ?? ?????????? ?? ???? ???? ?? ?????? ??????? ??? ???:
??????? ????? ? ???? ???????? ??????, ?? ?? ?????? ????????????????.
????????
??? ????????? ?????? ????????????? ????????? ???? ? ????? ?????? ??:
?????????? ???????? ???????? ??, ? ??? ???????, ??? ??? ??????? ???
??????????, ??? ?????. ??? ??????????? ????? ?????? ??????????????
???? ????? ???? ????? ?????, ??? ??????????? ??????, ???????????? ?? ???:
??? ??????? ????????.
?? ??? ?????????? ???? ? ???????????? ??????? ?????????, ? ??:
????? ?) ??, ????????, ??????? ?? ??????? ??????? ? ???????? ? ?) ? ???,
??? ??? ??????, ?? ????? ???? ?????? ?? ????? ?????????????. ?? ????:
??? ????????? ? ?? ????? ??? ????, ????? ???? ??????, ?????????? ?? ??:
??? ?????? ?????????????? ? ????????? ????????? ????, ???????? ??:
176 ????? 3. ? ????????
?????. (????????? ???? 21, ??? ??????????, ??? ????? ????????? ??????
???????? ?????????? ????????? ?? ???????.) ??? ????? ???????? ? ????, ??? ???????? ?? ?????? ????? ???????????
????? ????? ????? ????? ????, ??? ??????? ???????? ?????????????? ??:
????????????, ? ????, ??? ????????????? ???? ???? ??? ???????? ??????
???????? ? ?????????? ????????? ????. ??????????, ??? ?????????????
????????????????, ???????????? ??????? ??????? ? ??????????????,
??????????? ?????? ?????? ???????????, ????????? ????? ? ????? ????
??????. ??????? ?????????????, ??? ? ???? ?????????? ????? ????????
????????? «????????????», ??????????? ??????????? ??????????????
? ?????? ???????, ??? ????????????? ? ??????????? ???. ?????????
?????? ???? ??????????? ? ???, ??????? ???????? ??? ??? ?????, ???
????? ?????????? ?????????? ?? ??????? ?? ??????:???? ????????? ??:
???????. ? ??? ????????? ? ????? ?????, ??????????? ???????? ???:
???????? ????????? (? ??? ???????? ??? ??? ????????).
?? ????????? ???? ?? ?????????????? ???????????????? ????? ??:
????, ?????? ?????????, ??? ???? ????????? ????????? ??????????????
? ?????????? ? ????????? ???? ? ???????????? ??? ????????????, ??:
??????????? ??????, ??????? ???? ??????? ?? ???? ????? ??????????:
???? ?????? ? ????:
Beck, Kent. 2000. eXtreme Programming Explained. Boston: Addison:
Wesley. ??. ???????? ?? «???????? ??????????????» ? «???????:
?????».
1
????????? ????? ??????????? ??????????????? ? ?????
Fowler, Martin. 1999. Refactoring: Improving the Design of Existing Code.
Reading, MA: Addison:Wesley.
2
1
???? ??? «????????????? ????????????????. ?????????? ????????????».?
???. ? ????.? ???.: ?????, 2002.
2
?????? ??????, ??? ?., ????? ?., ??????? ?., ?????? ?. «???????????: ????????? ??:
??????????? ????».? ???. ? ????.? ???.: ??????:????, 2002.
????????????? 177
??????????
? ????????? ?? ????? ? ????????????? ???????????? ????? ??????????
? ?????? ???????? ?????? (???) ??????? ??? ?????? ????. ?? ??? ?????? ??
???? ??????????? ??????? ?? ??????? ? ???????? ???????? ?????????????
????? ????? ?????? ?? ??????? ??????????? ???????. ????? ??? ?? ?????
???????? ??????, ??????? ????????? ????????? ???? ????. ? ????? ?????:
?? ???????? ?????? ??????????, ? ??????? ????? ????? ????????????,
??????????? ? 70:? ????? ???????? ????????. ???????, ???? ???? ??????
???????? ?????? ? ??????????? ???????? ??? ?? ????, ??? ? ????? ?????:
????? ??? ???????????? (???, ???????, ???? ????? ??????????? ??????:
???? ?????????? ????? ???? ???????), ????????, ??????????? ? ??????:
??? ??, ????????, ???????? ???????????, ????? ?????? ????????????.
????? ????????????, ???????????? ? ???????? 1970:?, ???????? ????:
???? ????????????? ??????. ????? ??? ?????? ???, ??? ???? ???? ???:
????? ??????????? ???????? ? ????????????? ????? ?????????? ???
???????? (??, ???????????? ??? ?????????? ???????????? ?????????
????????? ? ??????????? ??????????? ?????????). ? ??? ????? ??? ????
???? ??????? ????????, ?????????? ???????????? ? ?????? [Rubey, 1978]:
«????? ?? ???? ???????? ?????????? ? ? ???, ??? ??????????????? ?????:
????? ??? ????????, ?????????? ?? ?????? ???????? ??????, ??????????
10?20%.» (????? ? ???? ?????? ??????????, ??? ?????????? ????????:
?????? ???????????? ????????? ????????? ????????????? ???? ???
??????? ?? 10% ? ??? ?????? ????????? ????????? ?? ????? ????????
?????? ????? ?? ????????? (???? ??????? ???????? ???????? ? ????????
????????? ?? ????? ??????????) ????? ???????? ??? ?? 2 ?? 5%.)
??? ?????? ?? ???? ???? ?? ?????? ??? ??? ???????????? ???? ? ???, ???,
???????? ?? ??? ??????????? ???????????? ?????? ???????? ??????, ??:
???? ??????, ????? ? ??????? ??????? ??????????? ?????????. ??????? ???:
????, ???????????? ?????? ???????? ?????? ?????? ??????? ?? ???????
??? ????????? ????? ???????? ??????????? ????????? ?? ????? ?????
??????? ??????? , ??? ??? ??????. ???? 53
????????????? ???? ?? ????? ???????? ??????, ???????????????? ? ????
???????????? ??????????? ???????????, ????? ????????? 90% ????????
????? ????????????? ?????????? ????????????? ????. ? ? ????????? ????
??? ??????????? ???????????? ??? ????? ???? ???? ????.
178 ????? 3. ? ????????
?????? ?? ???????????? ???? ???????, ??? ???????? ?? ????? ?? ???:
?? ??????, ?.?. ??? ?????? ???????? ? ?????????????, ? ??? ?? ?????.
? ??????? ?????? ?? ????? ???????? ?????? ???????? ??????? ????:
?? ????? ???????????? ????, ??? ?? ????? ??????????, ?????????
???? ??????? ? ?????????????????? ????? ???????????? ????????:
?? ????????????.
? ??? ?? ???? ?????? ???????????? ??????????? ?????????? ? ?????:
??? ?????? ? ??????? ? ???????? ???????? ????????, ????? ??? ??:
????????? ? ??????????. ? ??????????????? ??? ? ????? ??????????????? ??????????????,
????????? ?? ?????????? ?? ??????????.
? ??????????????? ??? ????? ???????????? (???????? ? ????????:
??????).
? ??????????????? ??? ????? ????????? ?????? ?????????, ???????:
??? ????????, ???, ??? ??? ??????????, ??? ?????????????.
? ??? ????????? ???????????????? ???? ???????????? ????? ?????
??????? ????????????.
? ??????????????? ??????????? ???????? ?????????????? ??????:
??????? ??????????? ??????????, ???????? ?????????????????
??? ????????????? ???:??????.
? ??? ???????????? ???????????
? ????????? ?????? ???????? ?????? ?? ?????? ??????????? ? ????:
??????????? ????????????? ??????????? ???????????, ? ??? ??:
???????? ????? ???????????? ???????????? ??????? ?????????
? ?????????? ????????, ?????? ??? ???? ????? ????? ??????????:
????? ????????. ? ?????????? ?? ????? ???????? ?????? ?? ?????? ?????? ????????:
?????? ?????????????? ? ????????? ??, ???????????????? ?? ??:
???????.
? ???????? ????? ? ?????? ? ?????????? ? ???????? ?????????? ???:
??? ??????????? ??????? ?????????? ? ????????????? ????.
??????? ????????????, ??????????? ?????????? ?????????? ? ?????:
??????, ?????????? ? ???????? ??????? ???????????, ??????? ? ??????
[Prentiss, 1977]. ? ???? ??????? ???????? ????????? ???? ???????? ?????:
???? ?? ????? ???????? ??????, ? ?????? ? ????? ???????? ????????????
??????? ? ??????????????? 20% ???? ???? ?????????? ?? ??????????.
??? ???????????, 80/20, ?????? ????????? ???????? ???????????? ????:
????????????? 179
?????? ????????????? ????, ? ??????? ????? ????????? ?????, ???? ??:
????????? ???????.
????????
?????? ???????, ??? ????? ?? ??? ???? ?? ???????? ??????! ????????? ?
??? ?????????? ? ????????? ?????? ??????????????? ? ????? «?????????
???????????» ?? ????? ??:?????????? ?????? ????????????? ?? ?????
??????????? ? ? ???????????? ????????? ?????? ?? ????? ???? ????
???? ??? ? ????? ??????? ??????? ???????? ??? ? 1970:?. ???? ? ???, ???
???? ???? ?? ??????????? ????????????? ???????? ???????? ????? ??:
?????????? ? ??????? ????????.
?????????
?????????, ????????? ??????? ????? ?????????? ? ???? ?????, ????:
??????? ? ??????? «??????».
??????
Prentiss, Nelson H., Jr. 1977. «Viking Software Data». RADC:TR:77:168.
????????? ????? ????????????, ? ??? ????? ??????? ?????????
? ?????????????? ?????? ???????? ?????? ? ??????????, ???? ??:
?????????? ? ????? Robert L. Glass, Modern Programming Practices (En:
glewood Cliffs, NJ: Prentice:Hall, 1982).
Rubey, Raymond. 1978. «Higher Order Languages for Avionics Software ?
A Survey, Summary, and Critique». ????? NAECON (???????????? ???:
???????? ?? ??????????? ? ???????????), ???????????? ? ????? Ro:
bert L. Glass, ed., Real+Time Software (Englewood Cliffs, NJ: Prentice:Hall,
1983). ? ???? ?????? ????? ????? ?????? ?? ???????????? ??????:
??????? ????????????? ?????????? ? ?????? ???????? ??????. 180 ????? 3. ? ????????
??????????
????? ??????????, ??? ????? ?????????, ????? ???????? ????????? ????:
???? ???????, ??????? ?? ? ????? ??????????. ?????? ??? ?? ???. ??????? ??? ??????? ???:?????? ?????????, ???????? ????????????:
?????? ???????. ??????????? ?????????????????? ??????? ???????:
???? ??????????????, ??? ???? ??????????? ??? ???????? ????? ?????:
?? ?????, ?? ? ???? ??????????? ??????? ????????? ??????????? ?? ????:
??. ?????????????? ?????? ?????????? ?????????????????? ???????
??????? ? ???, ????? ???????? ? ????????? ??????? ???????? ? ?????????
????????? ????? ????????????. ???????????? ??????????? ??????? ??:
?????, ??? ????????, ???? ??????? ??????? ??????, ??? ??????????? ???
???????????? ?????????. (????? ??????? ???? ?????? ????????????
??? ???????? (? ???? ????????) ?? ??? ??????????? ???????, ??? ???:
????? ?????????? ???? ???? ?????????? ?????? ??? ???????.)
? ???????? ??? ??????, ????? ???????????? ??????? ?????????? ???:
?????? ?? Java. ??? ?? ????? Java ????????????? ?? ? ???????? ???????:
???, ? ? ??? ?????????? ????:???. ????:??? ??????? ?????????? ??????:
???????? ????????? ????, ? ? ?????????? ????????? ?? Java ??????????
? ????? ?????? ?? ???????. ?? ?????????? ?? ??? ? ????? ?????? ?????:
??? ??????????? ?? ? ???? ??????! ????????? ????:??? ? ??? ?? ?????:
??? ???, ?? ???????????????? ?? ???? ?????????? ?????????, ? ?????:
???????? ?????? ??????????? ????? ?????????? ? 100 ???.
????? ???????, ?????? ????????????? ???????? ? ?????????? ???:
????????. ?????????? ???????, ????? ?????????? ???????? ?????? ???:
?????? ?????????????? ??????????? ?? ???????, ????????. (? ??????
[Rubey, 1978]), ??????????? ? ????? ???????????? ????????????? ??????
???????? ??????, ???? ??????? ?????????? ??????????, ??? ????? ???:
???? ????????????? ???? ? ????? ?????? ???????, ??? ? ????? ?????? ???:
????? ??? ??????????. ??????, ? ????? ??????, ????? ???????? ???????:
???, ????? ??? ????????? ?????????? ???????? ???????????. ?????? ???
??? ?????, ?? ?? ???? ??????? ?????? ????? ??????? ?????????? ???????:
???, ??? ?????????????????.)
???? 54
?????????? ??????????? ????? ???????????? ?? ??????? ? ????????
???? ?? ????????. ??????? ????????? ??????? ?????????? ???????? ????
????? ???????.
????????????? 181
????? ?? ????? ??????? ?????? ???????? ??????? ??????????? ???????,
??????? ??????? ?? ????? ????????? ????????, ??? ?????????????, ?????:
????, ??? ????? ??????, ????? ?????? ????????????? ????? ? ?????? ??????.
????????
???????? ?? ???? ????? ????????? ???????, ? ??????????? ? ??? ???????
???????. ? ????? ????? ???, ???? ?????????? ?????????????, ?? ???? ???
?????. ??????, ??????, ??? ??, ??? ?? ???????????? ??????????????, ?????
????????? ?????? ????????? ??????, ?? ?????? ???? ???? ?? ????????.
????????
???????? ?????????? ??? ????? ????? ?????? ? ??????? «??????».
??????
Rubey, Raymond. 1978. «Higher Order Languages for Avionics Software ?
A Survey, Summary, and Critique». ????? NAECON ((????????????
??????????? ?? ??????????? ? ???????????). ???????????? ? ???:
?? Robert L. Glass, ed., Real+Time Software (Englewood Cliffs, NJ: Prentice:
Hall, 1983). 4
? ??????? ?????????????
?? ?????? ?????????, ??????, ??? ? ???? ????? ?????? ????????????? ????
????????????. ? ????? ??????, ? ????? ????? ?????????? ????????? ?????:
???? ???????????? ???????? ????????? ??. ???????????. ??????????
?????. ????????. ????? ?? ??? ??? ??????? ???? ?? ???? ??????????? 55
?????? ?? ???????????? ?????, ???, ?? ????? ????????? (??? ?? ?????? ??
?????????) ??????, ? XXI ???? ??????? ???????????? ? ??????? ????????
??????????? ????????? ?????????? ?? ?????? ????????? (?? ? ? XX, ????
?? ?? ?? ?????, ? ???? ???? ???? ?? ??? ??????). ???????????? ???? ??:
????? ??????, ??? ????? ? ?????? ??????, ????? ??????? ?????? ??????:
???. ? ???:??? ???????? ????? ????? ???????? ?? ??????.
?????? ? ???????, ??? ?????? ???????? ? ?? ???????????? ?????????:
????? ??????. ? ???????, ??? ??? ???????????? ????? ?????? ?????? ???:
???, ?? ?????????? ????????????? ?????????????. ?? ???? ?????, ? ???
???????? ????? ????????? ? ???? ??? ?? ???????? ?? ??????. (? ?????
? ???? ? ????????? ????? ? ?????????? ????? ???????? ?????, ?????
? ??????? «The ?I Don?t Know What I Want from You, but I Ain?t Gettin? It?
Blues». ??????, ? ???? ?????? ??????? ?????, ???? ?? ????? ? ?? ????????.) ???????? ????? ?? ??????, ????? ????????? ??????? ?? ??????, ?????
????? ?????????? ?? ????? ???? ???????????? ??????? ????????? ? ??:
???? ????? ???? ??????? ???? ??????. ?????? ???? ??????? ???, ??? ???,
??? ????? ????????, ?????? ?????? ?????????? ???? ????? ????? ?????:
?????, ????????? ? ?????? ?????? ???????? ? ??? ?????, ? ??????? ??
??? ????????. ? ??? ??? ????, ?????? ???? ???? ???????? ???????????
???????????????, ????????????? ????? ????? (??? ??????), ???????
?? ?????? ????.
? ????? ?????????, ??? ?????? ? ???????? ???????????? ???????????
????????? ???????????????? ?????????. ? ??? ???????? ???? ????? ???,
183
??? ?????? ???????? ???? ?????? ????? ?????????? ? ??? ???? ?? ????:
???????? ???? ???????? ???????? ???? ??????. ??????? ? ?????? ???? ???????: ??????????, ??????????? ?????????:
????, ????? ?????????????? ??????????????. ?? ??????? ??????? ???:
???? (? ?????) ? ?? ???:?? ????? ???????????? ? ????????.
??????, ?????? ?? ????. ???? ???????????.
????????
Glass, Robert L. 1977. «Philosophic Failures of the Field in General». ? The
Universal Elixir and Other Computing Projects Which Failed. Computing
Trends. Reprinted in 1979, 1981, and 1992.
??????????
??????????? ????????? ???????? ? ?????????? ????????????. ??? ?????
???? ?????????????? ?????, ?????????? ??????:?? ??????? ??? ??????:
????? ????????????? ??????. ?? ??????????? ???????????? ????????????
(??? ?? ????????????) ??????? ????????? ???????????? ????????????.
???????????? ?????? ??????????????, ? ??????? ????????? ?????????
?????????? ???????? ??? ??????, ??? ??????????, ???????????????
?????:?? ??????, ?????? ??? ?????? [Glass, 1995]. ? ???????, ?????????:
??? ????? ?????????? ??? ???????. (??? ???????? ??????????????? ???:
???? ????, ?? ???????????? ????? ??????????? ??? ? ?????????????, ??? ? ?
??????? ?????????????? ????. ????? ? ?????? ? ?????? ??????? ?? ?????:
???????? ?????????????.) ?? ? ????????????? ???????????? ???? ???? ??????????. ??? ????? ??:
????????? ?????:???? ???????. ?? ???? ??????? ??????? ?????????
???? 14% ????????????, ????????? ? ??????????? ??, ?????????? ????:
?? ????? ?? ??????. ???????????? ? ??????? ?????????????? ??????? ??:
??? ????????? ???????? ???? ? 11% ???????. ? ?????? ??????? ??????:
???? 55
?????? ??????, ?????????? ? ????????? ????????????????, ???????
?????? ???????? ???? ??????, ??? ?????????? ??????????????. ?????????:
?) ???????? ????????? ???????????????? ?????? ??????? ??????, ???
?????? ???? ?????????????; ?) ???? ????????????, ?????????? ??????
??????????, ?????? ?? ???????? ???????? ???? ??????.
184 ????? 4. ? ??????? ?????????????
?????? ???????, ?????????????? ????????, ????????, ????????? ?????:
??????? ????? ?????? ????????????? ??????? ? ?????????? ? 67% ?????:
?? [Glass, Vessey and Venkatraman, 2003].
???????????? ?? ???? ?????? ? ? ?????????? ?? ???????? ??????? ??:
????, ????? ??????? ? ???????? ?? ??????, ? ????? ???. ? ????????? ? ??:
?????? ???????? ? ?????? ??????? ??? ???????? ? ????????? ?????? ??:
???????? ??????????. ??, ??? ??????? ???????? ??? ???????? ????? ??
??????, ???????? ????? ?? ??????.
? ??? ??????? ???????? ?? ??? ???????? [Glass, 1999], ?????? ? «?????:
??? ?????? ???????? ????????? ???????????? ? ?????????? ?? ??????
?????». ? ???? ??????, ?????????????? ????? ?????????????? ?????
?????????? ????????, ????????? ? ???? ????????? ???????????? ?????
??????????? ??????????, ????????, ??? ??????? ????????? ? ??????? ??:
????:??????????? ??????????? ???? ?????????? ?? ????? ??? ????? ??:
????? ?????????, ?? ????? ???? ????????? ???????? ? ????? ????????
??????????? (?? ???????????? CASE, ?????? ?????????? ?????????, ???,
?????????? ??????? ? ?.?.).
? ????????? ???? ????? ?????? ???????? ???????? ???????? ? ????
????????. ????? [Potts, 1993] ???????? ???? ???????? ?????? «??????? ?
????????» (research and transfer), ???? ? ????, ??? ??????????, ????????????
? ????????????, ? ???????????? ????????????? ? ????????????? ??????:
???????, ????? ?? ???????????. ?????? ? ??? ?? ???????? [Glass, 1994],
? ????????? ????????? «????????????? ????????????» (advocacy research).
?????? ? ????????? [Fenton et al., 1994] ??????? ? «????? ? ????????????
??????????», ???? ? ????, ??? ????????????? ? ??????? ?? ?? ??????? ????:
???????? ?????????? ? ??? ??? ?????? ?? ????, ????? ?????????? ??????:
??. ???? ? ????????? [Tichy et al., 1995] ??????? 400 ????? ?? ???????????:
??? ??????? ? ??????????, ??? ? 40?50% ????? ?? ???????? ??
???????????? ????????? ???????????? ??????????? ?????. (?? ????????,
??? ? ??????????? ?????? ? ????????? ???????????, ????????, ???? ?
12?14% ?????????????? ????? ?? ?????? ??????.) ???? ???????, ??? ?????:
?? ? ????????? ???????? ???????????? ? ??????? ?? ??????????? ??? ?
1984 ?. [Vessey and Weber, 1984]. ??? ?????? ????????? ????? ??????????,
????? ????????, ??????????? ?? ????? ??????? ????????????, ????????
?????????? ?? ??????? ????????? ? ??????? ??????? ?????????? ?????:
??????? ????????????????. (??????????, ??? ?? ???????????.) ????????, ????????? ? ????????? ???????, ?? ?????????????? ????:
??????? ????? ??????????????? (??????? ?????? ???????? ????????:
185
?????????? ? ????????? ????? ????????) ? ??????????. ??????? ?????
??????, ????????? ???????? ??, ????????? ?????:?? ????? ?????????,
?????? ?? ????? ?????? ??????????? ????????? ? ?????? ????? ????????:
?? ????, ??? ???????????? ?????? ?? ?????????? ??? ???? ? ?????. ???:
??????? ??????? ??? ?????? ???? ?????? ????? ?????????? ???????.
?? ??? ??? ???? ?????? ?? ???????? ?????????? ??????????????, ???, ??:
????????? ????, ????? ??????? ? ??????????? ?????????, ??????????? ??
? ???????, ??????? ?????????? ?? ?? ??????????? ????.
????????
? ??! ???? ?????????? ???? ???????? ?????? ???????????. ?????? ?????:
???????? ??????? ??????????, ??? ?? ?? ?????:?? ?????????? (???? ?????:
????? ??????). ??? ????????, ??? ?????????????? ?? ?????? ????, ???
??? ???????????. ??? ? ?? ???????????? ?????? ? ????? ???????, ?? ???
? ?? ??????, ??? ?????? ??? ??????. ??????? ?? ???????? ??? ????? ??????,
???????????????? ? ???? ?????, ????? ?????????? ??????????????, ????:
???????? ????????? ??, ???????? ?????????????? ?????? ???????????
????????. ????????, ??? ???? ?? ????? ??????? ?????? ? ?????? ?????.
?????????
????????? ?????????? ??? ????? ????? ??????????? ? ??????? «??????».
??????
Fenton, Norman, Shari Lawrence Pfleeger, and Robert L. Glass. 1994. «Sci:
ence and Substance: A Challenge to Software Engineers». IEEE Software,
July.
Glass, Robert L. 1999. «The Realities of Software Technology Payoffs».
Communications of the ACM, Feb.
Glass, Robert L. 1995. «A Structure:Based Critique of Contemporary Com:
puting Research». Journal of Systems and Software, Jan.
Glass, Robert L. 1994. «The Software:Research Crisis». IEEE Software, Nov.
Glass, Robert L., Iris Vessey, and Ramesh Venkatraman. 2003. «A Compara:
tive Analysis of the Research of Computer Science, Software Engineering,
and Information Systems».
186 ????? 4. ? ??????? ?????????????
Potts, Colin. 1993 «Software Engineering Research Revisited». IEEE Soft+
ware, Sept.
Tichy, Walter F., Paul Lukowicz, Lutz Prechelt, and Ernst A. Heinz. 1995.
«Experimental Evaluation in Computer Science: A Quantitative Study».
Journal of Systems and Software, Jan.
Vessey, Iris, and Ron Weber. 1984 «Research on Structured Programming:
An Empirical Evaluation». IEEE Transactions on Software Engineering, July. II
5+5 ???????????
????????
??? ???????? ? ??? ????? ????????? ??????????? ???????? ???? ??:
????????. ?????? ????? ????? ? ???, ??? ??????? ?????? ????????:
???????? ????? ? ????? ??????? ???? ??????, ???? ??????? ?? ???? ??:
?????? ???, ???? ????????? ?? ? ??? ?????. ? ? ??????? ??????? ??? ?????
?? ?????, ??????? ?? ????? ? ?????????? ??????? ? ????????? ??????.
?????? ? ??????? ???? ??????, ????????? ? ???? ???????????? ? ??
?????????? ? ????????? ????????? ?? ??, ??? ????? ? ????????????. ?? ??,
? ?????????? ???? ?????? ? ????????? ?? ??????? ? ???, ?? ????? ??
????? ????????? ??????, ?????? ????????. ??? ?? ?????? ?????????, ???:
?????? ? ?????????? ??????? ??????????????????? ???????????????
???????, ?? ? ??, ??? ????? ? ??? ????? ????????? ?? ??????????? ? ???:
????????, ??????? ?? ?????? ???? ????? ??? ??????? ????????, ????? ????
?????? ?????????? ? ?? ????????????. ??????? ? ????????? ???? ???? ??? ??? ???????????, ?? ????? ?? ???:
?? ????????. ? ????? ?????? ? ????? ?????? ??? «????????? ???????????»
? 10. ? ???? ??????? ?????? «5+5» ? ? ??? ????? ???? ??? ???? ??????????
?????????? ????? ??????????? ?? ???????, ????????????? ? ????? «F»,
?? ???????? ? ????? I. ?? ??????????, ??? ?? ??? ? ?????????? ?? ?????:
?? ?????? ???????????, ???? ?? ????????? ????? ????? ????? ??????.
?????? ? ?????, ??? ??? ????????? ???????????? ? ??? ????? ??????,
????? ? ??????? ? ???, ????? ???????? ??????????? ? ??? ?????, ? ????????
??? ??? ????. ???? ???? ???????? ? ?????? ? ???:?? ????? ?? ???????????
? ?????????? ?? ???, ?? ?? ????? ? ???????????????. ??????????? ? ???
????? ??????. ??, ??? ? ?????? ?????????????, ? ????? ?????? ????? ???:
?????? ??? ?????? ???????. ? ???? ?? ??, ??? ????? ????? ???????????? ??:
??????????, ????????????? ????? ??????????!
?
190 ????????
??????? ? ?? ????? ??????? ???????? ????????? ???, ??? ????? ? ??:
??????? ???????????????? ? ???????????:
? ???? ???????, ???? ???????? ??????????? ???? ?? ????? ????????
?????? ? ????????? ?? ? ??? ???????????? «?????????? ????????:
?????? ??, ??? ?????????? ????????» ???? ????????? ? ??????????
??? ????????? ? «?????????? ????????? ???, ??? ?????????? ????:
????».
? ?????? ?????????, ??? ?????? ???????? ???? ???????, ???????
???? ??????? «????????????? ????????????????», ??????????????
????? ????? ?????????????? ????? ????? ? ???????????, ??? ? ???:
??? ?? ???? ?? ??????????? ??? ????? ? ???????? ???????????.
? ?????? ??????, ??????? ???? ??? ???????????? ????????? ? ????:
????? ?? ? «????????? ????????????» ???????? ? ????????, ??????
?? ????? ?? ???????????, ? ??? «?????? ?????? ??????» ? ??????
????????, ?????? ? ??????.
? ???????? open:source, ?????? ???????? «??? ?????? ?????????? ??:
???????, ???? ?? ??? ???????? ?????????? ????? ????» ??????????
? ???????? ??? ?????, ??? ? ?? ???? ?? ??????? ?? ????????????.
? ?????????? ??????, ??????? ????????? ????????????????? ???:
?????? ????????????? (??!) ? ??? ????????? ???????? ?????????
? ???????? ???? ????????, ????? ?? ???????? ?????? ????????????
????????.
? ?????????????? ??????? ??? ?????, ?????? ???????????? ?????
?????? ????????? ?????? ??? ?????? ??, ???????, ??? ??? ?????:
??????, ?? ?? ???????, ??????, ??? ??? ?????????.
????, ??????? ? ????? ????? ???????? ?????????. ?? ?????????? ?????
?? ??????????, ??? ????????? ????? (????? ????, ???? ??? ??? ?????)
?????????. ????????????? ?????????????, ??? ?????????? ???? ????????
????????. ???? ?? ??????????? ? ???? ?????????????? ???????????, ???:
??? ????? ??? ?? ????????. ? ???? ?? ???????????, ??, ????????, ???????
??????? ??????????. ? ??? ???????????! ??????? ??????.
5
? ???????????
??????????
?????? ???????????? ???????? ??????? ?? ??, ??? ?????????? ?????????
??? ?????????? ?????????? ???????????. ????, ??? ????????? ??????:
???? ????? ?????? ?? ????? ???????, ??? «??????? ??????», «??????» ? «? ??:
??? ??????????» ? ????????? ?? ???????????? ????? ????, ??????? ????:
???????? ?????? ??? ??, ? ????? ?????????, ????????? ????????? (?
??????????? ????????? ????? ????????? ??????? ? ?????????), ??????:
?? ??? ?? ???? ????????.
? ????????? ???? ???? ????????? ??, ??? ??? ?? ??????? ????????
??????????. ? ??????? ???????????????? ??????? ? ?????????? ??? ??:
????????, ?????????? ? ????? ??, ???????? ????????? ??????, ??? ???:
????, ??????????? ????? ? ?????. ???????, ???? ? ?????????? ? ??????:
??? ???????? (????????, IBM, Motorola ? Hewlett:Packard) ????????
?? ??????? ??????????? ????????. ?? ?? ??????? ????? ??????, ????:
?????? ?? ????????, ?????????? ????????????. ??????? ????? ????, ??:
??????? ?? ???????, ??? ? ???? ??????? ???? ???????????? ?????. ? ?????
????, ?????:?? ??????????? ?????? ?????? ???????.
?????? ???? ????????? ????? ????????????, ??????????? ??? ????:
???, ????????????? ?????????, ??? ? ???????? ?? ?? ?????????. ? ????:
??????? ???????????? ??????????? ?????????? ??????????. ? ???????,
? ????????????? ?????? ???????? ???? ????????, ??? ??????? ?????????
????? ??????????? ??????????? ?????? ?? ?????? ????????? 3% (????
??????????? 1
?????????? ????????? ???, ??? ?????????? ????????.
192 ????? 5. ? ???????????
? ?????? ??????) ???? ??? ?? 4 ?? 6% (????????? ? ?????? ??????), ???
???? ? ????? ?? 7 ?? 9% ????? ????????? ??????? [Rombach, 1990]. ? ????:
?? ???????? (NASA) ???????, ??? ??? ??????, ???????? ???????? ???????:
??? ??? ???????????.
?? ? ??????? ???????? ???????, ????????? ? ?????????, ?? ????????
??? ?????. ????????????? ????????? ??????? ????? ???????? ??????,
?? ??????? ???????? ???????? ??? ???????????? ??????? ??????. ???:
???? ????? ?????? ?????? ??????????? ???? ???????:?????? ?????????:
????, ???? ????? ????????? ???????? GQM (Goal/Question/Metric ? ????/
??????/???????, ??????? ?????? ????????? ??? ?????? (Vic Basili)), ??:
???????? ?? ???? ?????: ?????????? ????, ??????? ????????? ??????? ??:
????????? ????? ??????; ?????????? ???????, ??????? ?? ???????, ?????
??????, ?????????? ?? ????; ? ??????? ??????? ???????, ??????????? ??:
?????? ?? ??? ???????. ??? ???? ????????? ???? ??????? ? ??????? ???????????? ????????:
???. ?????? ???????????? ??????????? ???? ???????? ?????????? ???:
????:????????????? ?????? ???????? (Murray Halstead) ??????? ?????,
??????? ?? ??????????? ???????? ???????? ??. ?? ????????? ???? ????:
????? ? ??????? ?? ?????????. ????? ??? ???? ???????? ????????? ? ???:
???. ?????? ???????? ?????????? ???? ?? ?????? ??????????? ????????,
??? ?? ???????? ??? ?????????????? ??????? ???? ???? ???????, ???? ??:
???????????. ????????? ???? ???????????? ?????? ?? ? ?????????????
??????????. ???? «???????» ?????? ? ??????????? ???????? ? ????????
????? ???????? ?????? ????? ? ??? ??????????? ????????. ??, ??? ??????
?????? ?????? ??, ??????? ?????? ??? ??????? ?? ? ????? ?????.
??? ?? ????? ???? ?????? ?? ? ????????? ????? ???????????? ??????:
?? ?????, ? ???? ???? ?????? «10 ?????????» ?????? ??, ?? ???????? ???:
???????? ???? ??????. ? ???????? ?????? ?? ?????? «??? ????? ???????
???» ??????? ????????? ???????.
??????? ??
??????? ?????????? (%) ??????? ?????? ?????????? ????? ?????? ?????? 61
?????????? ????????? (??? ???????? ?? ?????????) 55
?????????????? ????????????? ??? ??????????? 52
?????????? ??????, ???????????? ?? ????? ?????????? 50
???????/???????? ???????????? 42
193
????????, ??? ?? ????? ????????? ????????? ?? 5 ??????, ??????????
??????: (??? ?????? ????? ?? ?????? ??????? [Hetzel, 1993]. ??? ????????? ??:
??????, ??? ????, ????????? ? 1993, ?????? ???????? ???? ??????, ????
????????? ???????? ?????? ???????????????? ?? ????????, ??? ? ??:
??????? ????? ???? ????? ???? ??????????? ????.)
????????
? ????????? «?????????? ????????? ???, ??? ?????????? ????????» ?????
??, ??? ?? ?????? ? ??????, ??? ????????? ???, ??? ?? ????? ????????,?
? ??????? ?????? ???????? ???????????? ? ???????????. ?? ?????????
?????????????? ????. ?? ????????? ??????????????? ????????. ??????
?????? ?????????? ?? ?? ????????? ? ??????? ?????????????????, ????
???????????,? ?????????? ?? ??????????? ????, ????? ??????? ?? ????:
?? ??? ???? ?????????????????. ??????? ????????, ??????????? ?????:
?????? ??????????? ?????, ????????? ????????? ???????????? ????????:
??, ? ?? ??????????????.
????? ?? ?????/????????? ?????? 40
????????????? ?????? ?? ?????/??????? 37
?????? ? ???????? ????????/?????????????? ????????????
32
???????? ???????????? ??????? 31
???????? ???? ??????? 31
??????? ??
??????? ?????????? (%)
????????? ??????/??????? 24
?????????? ????? ???????????? ???? 22
?????/????????? ???????????? 20
?????????? ???????? ?????????????? ????? ???? 16
?????? ???????????????? ? ?????? 10
??????? ??
??????? ?????????? (%) 194 ????? 5. ? ???????????
?? ??????????????, ??? ??? ???????????, ?? ??????, ??????, ?????????
?? ??? ??????? ? ??? ??????. ??????????, ???? ??????, ??????? ?????,
??? ??????????, ?? ???? ??????. ?? ????? ???? ????? ???????? ??? ??:
???? ???? ????? ? ?????? ??????? ????????????? (? ????? ??????).
????????? ??????? ???? ? ???????. ?? ??????? ??????? ????, ???????
??? ???????? ? ??????? ????????, ?????????? ???????, ????? ????????
?????, ???????????? ?? ??????????. ?? ?????????? ?????? ???? ?????,
????? ? ???????:?? ??????, ???????? ? ???????? ??????? ? ??????? ? ??:
?? (????? ????????? ??????????? ??????????? ? ??????).
???? ? ?????? ?????? ??????? ? ???, ??? ????????? ????? ?????????
???????? ??? ???????????, ? ??????????? ??????? ? ??????? ???????? ??:
??????????, ??? ?????? ???????? ?? ???????? ???? ???? ?????????????.
????????
???????????? «?????????? ????????? ???, ??? ?????????? ????????» ??:
?? ????? ??????????? ? ?????? ? ??????? ?? ?????????? ????????????
?????????, ??????, ????????? ? ????????? ????????, ? (????????)
?? ??????????? ????????. ????? ? ????? ??????????, ?????? ?? ????:
?????? ????? ??? ????????????, ????????? ?????????? ????. ?????????
???????????? ?? ??????????? ???????? ???????, ??? ??? ?????? ?? ?????
«Controlling Software Projects» [DeMarco, 1998]; ??? ? ???????????? ? ?????
????? ???????. «??,? ?????? ???????,? ??? ?????? ??????????? ????
????? ?? ?????????? ???????????? ?????????. ??,? ????????? ??,?
?? ????? ???? ??? ???? ??????? «?????????? ?????????????? ??, ??? ??:
???????? ????????».» ????? ???????, ?????? ?????? ???????????? ? ???:
????????????? ???? ?? ??? ????, ??? ????????? ???????? ????? ???????! ??????
DeMarco, Tom. 1998. Controlling Software Projects: Management, Mea+
surement, and Estimation. Englewood Cliffs, NJ: Yourdon Press.
Halstead, M.H. 1977. Elements of Software Science. New York: Elsevier Sci:
ence.
Hetzel, Bill. 1993. Making Software Measurement Work. Boston: QED.
Rombach, H. Dieter. 1990. «Design Measurement: Some Lessons Learned».
IEEE Software, Mar. 195
?????? ????? ??? ??????????? ? ???? ?????. ? ????? 3 «? ????????» ? ????:
??? ??????: «??? ???????? ?? ?????????». ????????, ?? ???????, ??? ? ???:
???. ??? ????? ????????? ? ????, ??? ?? ????? ????????, ??????? ????? ??:
???, ??? ?? ???????? ???????????? ???????? ???????? ???????????,? ??
???????????? ????? ???????, ??????? ?????????? ???????????? ?????:
????, ????? ??? ????? ???? ?????? ?? ????? ??????????. ????? ? ??????
??? ???? ? ??????, ??? ????? ?????? ?? ???????????? ???????? ?????????:
?????? ???????? ???????????? ????????, ? ???????? ????? ????? ????
?????? ??????????? ??????????.
???? ?? ?????? ? ???, ??? ?????????? ???????? ???? ?????? ???????????,
?? ? ? ???, ??? ??, ??? ???????? ? ??????? ???? ??????????? ? ???????
???? ??????, ????? ???? ???????????? ?????. ????????? ?????? ????:
???? ???????? ?????? ?? ????????, ??????? ????????????? ????????, ???
????? ?????????? ??????????? ?????????? ????? ????????????? ? ??????:
?? ????????, ?????? ???? ??? ? ????? ?????????. ????? ????????, ??? ???:
????????? ???????? («???????? ? ?????? ????? ????!») ? ???????????
(«????????? ?????????? ?????????») ???? ??????? ???????? ?????????????
? ???? ??????????? ???????? ???????????? ????????. ??? ??? ????? ???:
???????? ???????????? ? ??????????? ?? ?????????. ?? ???????? ????
? ??, ??? ? ???? ???????? ????? ???????? ???????? ? ??????????? ???:
???????? ???????? ????????? ?????. ????? ????? ?????????? ??????:
???? ? ???????? ????????, ? ? ?????? ? ?????? ?????, ??? ????????? ????:
??? ? ?????? ????????. ??????, ??? ?????????, «? ?? ???? ?????????, ? ????:
?? ???? ?? ???????????». ? ??????????? ???????? ?????????? ????, ?????
???????? ???. ? ??? ?? ??? ??????? ???????????? ? ???, ??? ???????? ?????? ??????:
?????? ????????????. ???????, ??? ?????? ????? ?????? ???? ? ??????:
????? ????????. ??? ????? ??????? ?????????, ? ??????? ?????????? ??:
?????? ????????????? ??????? ?????????. ??? ????? ????????? ????????:
???, ???????? ??????????? ???????????? ??????? ??????? ?????????:
???. ??? ????? ?????? ?????????????? ????????????, ? ???, ??????????,
?????? ?????? ?????????? ???????? ????????. ? ????? ??????????? ? ???:
??????????? 2
?????????? ????? ??????? ??????????? ??????? ?????????
???.
196 ????? 5. ? ???????????
??? ?????????, ??? ????? ???? ???????????? ?????? ? ?? ?????? ?? ??????
??, ? ??? ??? ?????? ? ??????? ??? ?????,? ??????? ????? ?????, ??? ???
?????? ?????????.
????????
??????????? ?? ????? ??????? ??????? ??????. ?????, ??? ?????? ??????
???? ?? ???????? ?? ??? ????????? ????????? ???????????? Software
Engineering Master ? ???????????? ??????, ? ???? ?????? ???????. ? ?????
?? ?? ??? ? ?? ??????, ???????????, ??? ???????? ?? ??????? ???????
???????????. ? ????? ?????? ??? ???????? ???????? ??? ????? ?????
???? ???????, ????? ????? ??????????? ???????????? ? ???????? ???, ???
? ??? ?????? ??????. ? ??????????? ????????? ???? ?? ???????? ? ?? ???
???? ?????????????? ? ???????? ? ???????????.
?????????
Glass, Robert L. 1992. Building Quality Software. Englewood Cliffs, NJ:
Prentice:Hall. ???????, ??????? ????? ????? ?? ???.246, ??????????
? ??????????, ?????????????? ??????? «?????????» ???????? ? ???:
???????? ???????? ???????? ???????????. ??????? ?????????????
????????:
«?? ???? ?????????? ???????? ???????????? ?????????» ??? ??????.
DeMarco, Tom, and Timothy Lister. 1999. Peopleware. 2d ed. New York:
Dorset House.
1
??? ?????? ??????? ??????, ??????????? ???????:
???? ??? ??????????? ????????, ??????????? ???????????. ? ??:
??????????? ?????????, ???????????? ???????????, ??? ???????:
«??? ??????? ??????? ? ????????». ? ????????????? ???????? ????
??????? ?? ??????? ?????? «???????» (teamicide). ??????? ? ???:
????? ??? ???????? ??????????? ? ???????, ??? «? ???????????
????? ?? ??? ????? ?? ????». ???????, ??? ? ????? ??????? ?? ???:
????? ??????, ?????? ??????????? ?????????????? ??? ???????:
??? ???????? ??. 1
??? ???????, ?????? ?????? «???????????? ??????: ???????? ??????? ? ??:
?????», 2:? ???????.? ???. ? ????.? ???.: ??????:????, 2005.
???????????? ?????? 197
???????????? ??????
??????????
?????? ?????????? ?? ???????????????? ????????? «Psychology of Com:
puter Programming» (?????????? ????????????????) [Weinberg, 1971].
? ????? ?????? ???????? ?????? ? ???? ????? ???? ???? ?????????. ????
???????? ? ???, ??? ???????????????? ?????? ???? ???????????? ?????.
«????????????,? ??????? ?????,? ?? ?????? ?????????? ? ???????????
??? ??????? ???? ???». ???????, ? ?????? ???? ?? ??? ?????? ???????. ??
?????????, ??? ??????? ?????? ???????????? ?????? ???? ?????????
????????? ???????, ??? ?????? ?????? ?????????????. ??? ??????????:
?? ????????? ?? ??????? ? ????? ?????????? ??? ?????? ?????? ??????
????. ???????? ??????????? ??? ???? ? ??? ??????. ???????? ????, ??? ???
???????, ??? ??????? ????????????????. ?????? ???????????? ????????????:????????????? ???????????, ??:
???????? ? ???????. ???????? ??????? ????? ? ??????????? ????????
???? ?????? ? ?????????? ???? ???????. ????????? ?? ???????, ?????:
??? ????????? ???? ??????? ? ??????? ?????????? ??????????? ??? ???:
???????? ???? ??????? ? ?????????? ?? ????????? ???????? ? ??? ??
????????, ??????? ????? ?????????? ???????? ??????.
?? ?????? ?????? ? ???? ?????????? ??????? ??????. ???????, ???:
????????, ???????? ?????????????? ??????? ? ???????? ????????????
«?», ?? ?????, ??? ??? ????????? ???????? ???:?? ?????? ? ????????, ?????
??? ????????. ?? ???? ???????? ???, ?? ????? ???? ????????? ????????
????????????. ????? ??????? ?????? ???????? ???????????? ???????:
?????????, ?? ???? ???? ? ???, ??? ??????????? «?» ??????? ???????? ??
???????, ? ??????? ????? ????:??, ??? ??? ?? ????????? ????? ?????? «?» ??
????? ??????? (??? ???? ???? ????????? ?? ??? ???????). ?????????? ????,
? ???????, ????????????? ?????????. ??? ????, ???????, ????????! ?????:
?????? «?» ????????? ????????? ???? ???????? ????, ??????? ? ?????? ???
??????????? ??????????. ? ?????????, ??? ?????? ???????????? ?????:
???? ???????????? ? ??????? ???????, ??? ????????? ?????????. ?? ??:
??????????? 3
???????????????? ????? ? ?????? ???? ????????????.
198 ????? 5. ? ???????????
???, ??????, ????????? ?????? ? ????, ????? ??????? ??? «?» ??? ??????:
???.
????????
???? ?????? ????????, ?????????? «The Psychology of Computer Program:
ming» (1971), ? ????????? ???? ?????????????? ????????? ?????????????
????????????????, ?????? ??? ??????? ?? ????????????????. ?? ? ??????
????? ? ??, ? ??? ??????? ? 1971 ?., ?? ???????, ??? ??? ????????? ????????
??? ????????? ??????? ?????????. ?????? ????????? ????????????? ??:
????????? ????????? ???????????? ?? ??? ???. ? ????????? ???????, ???:
???????? ? ????? ??????? ????, ?????????, ?????? ?????:?? ? ??????
???????????? ?????? ?, ????????, ???? ??????? ????????????????
(?? ?????????????? ????????????????), ? ????? ?????? ??????, ??? ???
?????? ????? ????? ???????????. ???????????? ????????????? ??????
???? ??????? ??? ???????, ?? ??? ??????????. ? ???? ????? ??? ??????:
?????? ????????? ????? ? ???, ??? ?? ?? ????? ?????? ?????????, ? ????:
??? ?? ???? ?? ??????, ? ??? ????????, ??? ????????????? ?????? ??????:
?? ???????? ? ????? ????? ??????????? ??????????? ? ?????????.
?? ??? ????? ?????? ???? ?????:?? «??????? ????????». ?????????
? ????? ?????? ???, ? ????????? ??????, ??? ??????????? ?? ?????????,
??? ??? ???? ????? ??????? ????????? «?? ??????? ?? ????????????,
??????? ?? ????????????». ????????, ??? ?? ??? ????? ????????? ????
??????????? ???????????? ?????? ?????, ???????? ? ????? ?? ???????
????????, ? ????? ???????? ????????, ??? ?? ????? ???????????? ?????:
?????? «?» ? ?????? ????????? ???????. ??????????????? ??????? ??????
?????????? ??????? ???????????? ??????? ? ??????????????? ? ??????,
??????????? ???. ? ???????????? «?» ???????????? ????? ???? ?? ???? ??:
?????.
????????
????? ?????????, ????????? ???? ? ??????? «??????», ????????? ? ?????
????????????. ? ????? ??? ?????????? ? ?????????? ?????????????? ??
???????? ??? ?? ?? ?????????, ??? ? ?? ????????? ????? ???????? ????,
?????????? ?????????? ????? ?? ???. (? 1998 ?. ????????????? Dorset
House ???? ???????? ?? «??????????» ???????.) ??????????? ? ?????????? 199
??????
Weinberg, Gerald. 1971. The Psychology of Computer Programming. New
York: Van Nostrand Reinhold. ??????????? ? ??????????
??????????
??? ????????, ??? ? ????????? ?? ????? ?????, ??????? ???????? ?? ??:
????, ??? ??? ? ???? ?? ????????????. ?????? ??, ??? ??????? ????????:
???. ??? ?????????? ???????, ?????????? ?? ?????????. ??? ????????????
??????????? ? ??????????. ??? ???????? ????????? ??, ??????????
?? ???????????. ??? ????????????? ?????????. ??? ????????????? ?????:
??????? ? ??????? ?????????? ??????? ?????? ????????????? ??. ??????:
????????? ??????, ?????????????? ????????? ????: ?? ?????, ??? ??? ??:
????????. ??? ??? ???? ????????????? ??????????????? ???????. ???:
??? ?? ??? ???? ?????, ??? ??? ??? ?????. ? ??????? ?????? ?? ??? ?????
??????? ??? ???!
?? ????? ???? ???? ?????????. ????????? ?? ??????????? ????? ???:
??? ????? ???????, ?????????? ??? ?????????, ??? ????????????? ?????:
??? ? ?? ??????? ?? ????? (???? ??? ?????? ????). ???????, ?????????
??? ??????:??????????, ??????? ?? ????? ?????? ??? ?????? ????????:
??? ???????? ????????? ???????. ??, ??? ?????? ? ????????? ???????:
?????????, ????? ?? ???????? ??? ???? ??????? ?????????? ????????.
???????, ??????????? ? ????????? ????????, ? ??? ?????
? ??????????? ?????? ?????? ?????????? (agile development), ?? ?????:
???? ???? ? ???????? ????????, ? ??????? ?????? ?????? ????? ???????:
??????. ? ??????, ??????? ??????????? ? ??????? ????????, ????????
?? ?????????? ?????? ? ??????? ? ?????????? ??????.
?? ? ????? ??????? ?????? ???????? ????????, ????????? ???????:
????? ??????, ??????? ??? ????????? ??????. ? ?????????? ??????? ??:
????????? ????????? ??????? ???? ???????? ? ?????? [Glass and Oskars:
son, 1996].
??????????? 4
??????????? ? ?????????? ????????????.
200 ????? 5. ? ???????????
? ????? ???????? ??????. ??????? ????????? ?????????? ????????:
?? ?????, ??? ???????. ? ????? ???????? ??????? ?????????? ?????????. ???????? ??, ???
?????????? ? ??????? ???????????,? ???????? ???????? ??????:
???????? ?????, ??? ???????, ?? ????? ? ??????:??????????? ? ???:
?????? ??????????.
? ????? ???????? ???????????. ???? ?? ?????? ?????????? ???????
???????????? ????? ??? ??????? ????? ?????, ?? ???????????????
??? ????? ?????? ?? ??? (???????? ??? ????????? ? ???????? ??? ??:
????????), ??? ??????????, ?? ???????? ??? ??? ?? ???????. ? ????? ???????? ???????. ???? ??????, ??????? ?? ???????, ?? ????:
?? ?? ?? ????? ??????, ? ???????? ?? ??? ????? ????, ?? ??????,
??????? ?? ????????, ????? ??????? ????? ?????????? ? ???????
????? ????????????????????. ???????, ? ?????? ???????????? ???? ??????????? ???????. ?????:
???, ????? [Jones, 1994] ????? ?????????? ?????? ?? ?????????????? ??:
???????????? ??????? (Management Information Systems), ?????????
??, ???????????? ?? (Commercially Marketed Products), ??????? ??, ??,
??????????????? ?? ????????? ? ????????, ? ?? ??? ????????? ??????????:
?? (?? ???????? ???????????? ??????, ??????????????? ?????? ?? ???? ??:
?????? ? ?????????? ???????? ?? ??????? ?????).
????????, ? ??? ???? ???? ???????????. ??????????? ????????? ?? ??:
?????????, ???: «? ???? ??????? ??? ??:???????». ????? ?????? ???????:
??, ??????, ????????? ? ????? ???????????? ???????????????? ? ?????:
??, ??? ??????? ???????? ?? ????? ??????????? ????? (? ????? «??????:
???????») ?????? (??. Glass 2002a).
????????
?????? ??????????? ???????? ????? ???????????. ????? ?????, ??:????:
???? ??????? ? ????????????? ??????????? ? ??????, ???????????? ? ??:
???????? ????????? ?????? ??????????. ??????? [Plauger, 1994] ???????,
??? «???????, ??? ???????, ??? ??? ??????????? ? ?????????? ??????????:
??, ????? ? ??????? ????????». ?????? [Yourdon, 1995]: «????? ?????????
????? ?? ?????? ??????? ???????, ??????? ?????? ??????????» ? ?????
???????,? «??? ???? ?? ?????????????, ??? ??? ??????????? ???????????
?? ???? ?????????». ?????? [Sanden, 1989] ????? ? ??????????? ??? «??:
??????????? ? ?????????? 201
?????????? ??????????????». ????? ? ????? [Vessey and Glass, 1998] ?????:
????, ??? ? ??????? ????? «????????» ????????? ???????, ?????????:
?????? ?? ????????? ?????? (? ???????? ???????? ????? ???????? ????:
??? ???? ?????????????? ???????), ? ?????????? ???????? (???????? ?
????????? ????) ? «???????». ? ?????? ????????????? ??????????? ???:
????? (Glass 2002a]. ????????? ?????????? ???????????? ???? «????????:
??????????» ????????, ???????? ?????? ???????????? (Glass 2002b]
(??? ??????????????????? ?????????? ??????, ????????? ??? «??????,
???????? ? ?????? ?????? ???????»). ???, ??? ??????? «?????????????»
??????? ?????????????, ?????? ? ???? ????? ????????? ? ??? ??????:
?????? ?????? ??? ???? ???????.
?????????
????????? ????????????? ???????? ??? ??????? ???????? ????. ? ?????:
??, ?????????? ?????????? ??????? ??????????????? ?????? ??????????
(Agile Development) ???????, ??? «??? ?????? ???????? ????? ?????? ??:
??????», ? ???????????? ? ???????? «??????????? ????», ? ??????? ????:
??? ?????????? ????????? ???? ? ????? ???????? ????? [Cockburn, 2002]: ??
2 ?? 8 ??????? ????????????? ? ????? ?????????, ??????????? ??????:
?? ?? ?????????????, ??????????? ???????? ????????. ???????? ??? ????,
??? ???????? ??????? (????? ??????), ? ??????? ????? ????? ?????????
????????????/??????? ??????? [Highsmith, 2002]: ????? ??????? ?????:
??, ?????????? ?????? ???????, ???????, ????????????? ???????, ???:
????????? ???????????????? ?????????????.
McBreen, Pete. 2002. Software Craftsmanship. Boston: Addison:Wesley.
???????? ??????, ????????????? «One Size Does Not Fit All» (????
?????? ?? ??????? ??? ????).
??????
Cockburn, Alistair. 2002. Agile Software Development. Boston: Addison:
Wesley.
Glass, Robert L. 2002a. «Listen to Programmers Who Say 'But Our Project
is Different.'» The Practical Programmer. Communications of the ACM.
Glass, Robert L 2002b. «In Search of Meaning (A Tale of Two Words)». The
Loyal Opposition. IEEE Software.
202 ????? 5. ? ???????????
Glass, Robert L., and ?sten Oskarsson. 1996. An ISO Approach to Building
Quality Software. Upper Saddle River, NJ: Prentice:Hall.
Highsmith, Jim. 2002. Agile Software Development Ecosystems. Boston: Ad:
dison:Wesley.
Jones, Capers. 1994. Assessment and Control of Software Risks. Englewood
Cliffs, NJ: Yourdon Press.
Plauger, P.J. 1994. Programming on Purpose. Englewood Cliffs, NJ: Pren:
tice:Hall.
Sanden, Bo. 1989. «The Case for Eclectic Design of Real:Time Software».
IEEE Transactions on Software Engineering SE:15 (3). (? ??????? ???
?????????? ?????? ? ?????????? ?? ?????? ????? «?????????????»
(eclectic) ? ???????? ??? ?? «?????????????» (electric)!)
Vessey, Iris, and Robert L. Glass. 1998. «Strong vs. Weak Approaches to Sys:
tems Development». Communications of the ACM, Apr.
Yourdon, Ed. 1995. «Pastists and Futurists: Taking Stock at Mid:Decade».
Guerrilla Programmer, Jan.
??????????
???????, ?? ? ?? ????, ???? ?? ????? ???? ??????????? ??? ???????????.
?????? ?????? ??? ?? ?????? ????????? ? ?????????? ???????????, ???:
???? ??????????: «? ??? ??? ?? ????», ????????? ??? ?????????, ? ???
????? ????. ????? ?? ??????? ?? ??????????? ????? ??????????, ?? ?????
???????????, ??? ??? ???? ??????????. ??? ?????? ????. ??? ?????? ????????? ??????????. ??? ?????? ???:
??????? ???????/??????? ???????????. ??? ?????? ???? ?????????? ??:
?? ?????????? ? ?????????????. «??????, ??? ?????? ???????? ???? ? ??:
?? [????????????????], ?????????? ??? ???? ?????? ??? ?????» [Wiegers,
1998]. ????? ????????, ??? ?????? ?? ???????????? ??????????? ??????:
?? ???????? ?????? ?, ??:????????, ??????????????. ? ???? ???????????? ?????? ? ??? ???? ???????? ??????. ??????, ??:
????????? ??????? ?????????????? [Hardy, Thompson and Edwards, 1995;
Vlasbom, Rijsenbrij and Glastra, 1995] ???? ?? ?????? ? ??????????? ????:
??????????? 5
???????????????? ????????? ? ??????? ?????????? ??????
?????. ??????????? ? ?????????? 203
???, ????????, ??? ??????????? ????? ?? ?????????????:????????? ?? ??:
???????? ??? ??????????? ? ??????? ????. ????????, ??????????? ?? ???,
??? ??????? ?? ??????????, ?????????? ?? ? ?????????? ????????.
???????? ????????? ????? ??????? ???? ????????? ???? ??????. ???
??? ?? ????????: «?? ??? ??? ?????, ??? ????????????, ???????? ?????
?????????????? ????? ???????????????? ?????????». ?????? ????? ???,
? ??? ?????????? ? ???? ??????????? ???????????? ? ??????????? ????
?????????????? ?????? ??? ?? ??????????? ????????????. ???????? ???
???? ?????????????????? ??????????? ????????, ? ?? ??????????????
?????????.
?????? ? ?????? ??????? ??????????? ????? ?????? ? ???, ????? ??
??? ??? ??? ???????????, ?????????? ?? ????????. ??? ???? ? ???, ???
?????? ???????? ?? ????????????. ???? ?????? (Karl Wiegers, ?? ??? ????:
?? ??? ??? ? ???? ?????), ???????? ?????? ??????????? ?????? ????????
????? ??????????, ???? ?????? ???? ????? ??????? ? ?????
????????????. «??????? ?? ?????,? ?????? ?? ? ????? ?? ????????,? ????:
??? ????? ???????» (??? ???????? ?? ???????? ??????????? ??????,
?????? ? ???????????).
?????? ?????? ??????? ???? «??????,? ???????? ??,? ??? ????? ??
????????? ?? ???????????, ??????? ? ??? ??? ????». ???? ???????? «?????:
??? ??» (shelfware) ????????????? ??????????? ?????? ?????? ????????:
??? ????????????, ?? ?????? ??????????? ??????????? ????? ????? ??:
????????????? ?????? «??????????». ??????????? ?????????? ? ?????:
????? ???????????? ????, ??? ???? ??? ?????????????.
????????? ??, ??? ??? ?????????? ??? ???????????? ??????? ??????,
?? ??, ????????, ??? ??????? ??????????? (??? ?????). ????? ?, ??????, ??:
????????, ??? ??????? ?????? ???? ??????????? ???????????? ?????
??????? ?) ?????????? (??? ????? ????? ????????? ????????? ??? ????
????????????? ? ?????? ?????????? ????????? ?????????????????) ? ?)
???????????? ?????? ????? (??????? ?????? ???????????? ????, ?????:
??, ?????, ????? ???? ????????? ?? ??????????? ??????, ??? ??? ???????:
??, ? ?? ??????, ??? ??????????? ??? ????????????? ???????? ?????????
??????????? ???????????). ??????? ? ?????? [DeMarco and Lister, 1999] ??:
?????, ??? ???? ??????????? (? ??????? ?????) ? ??????????? (? ??????:
??? ?????), ?????? ??????? ??????? «?» ???????????? ????? ??????????
????, ??? ????? ???? ?? ??????? «???????????????? ????????». ???????
?????? [DeGrace and Stahl, 1993] ???????? ????? ?? ????????, ?? ?????????:
?? ?????? ???????. ??????????? ????? ??????????? ??? ???????? «???:
204 ????? 5. ? ???????????
????», ? ????? ??????? «?????????». ???????? ??? ??????????????,
? ??????, ??? «?????????» ???????????? ????? ???????, «???????» ? ??:
???? ??? ? ??? ????????? ? ??? ??????? ? ??????? ?????????????.
????????
??????, ??? ????? ?? ???????? ????? ??? ???? ????????????, ????? ?????
???????. ?? ????:??, ????????, ????????? ??? ???????. ??? ??? ????? ???:
?? ???? ?????? ? ????????????.
? ???? ?????:?? ?? ??? ?????????????? ????????????? ????????
(?? ??????? ????? ????? ?????????????.)
? ??:?? ???? ?? ????? ????????? ? ??:?? ????, ??? ??? ???? ???????:
?????, ??? ??:?? ?????????? ????????????? ??????????????
? ?????? ?? ???????? ??????????????? ?? ? ??????????? ???????:
????? ???? ??, ?? ???????
? ?????? ?? ????????? ??????????? ?? ??????????? ???? ?????????
??? ??? ??????? «?????????????» ??????? ? ???? ?? ????????? ??????????? ??????? ??? ?? ?????? ?????????
????? ??????? ????????, ??? ???????? ???????? ???????
? ???? ?? ? ?????????, ???????????? ??????????? (????? ????????:
???), ?????? ?????????? ??????, ????? ???????, ??? ????????????
«???????, ??? ???????? ???? ?????»? ? ????? ? ????? ??????????? ??????? ?????????? ??? ?? ?????????
??????
????? ? ??????, ???, ???? ?? ??????? ?????? ?? ? ????? ????? ???? ??:
??????, ???????? ?????? ???? ???? ? ?????????????. ??????? ??????,
???????,? ???? ?? ??? ????????? ??????????? ????????? ????????? ??:
????????? (??????????? ??????, ?????????????? ???????, ???, ??????:
??????? ????????????????, ?????? ??????? ?????????? ? ?.?.). ??? ???? ?? ??? ????????????? ??????????. ???????????, ??????? ? ???
??? ????, ??????, ??? ???????????, ??????? ?? ????? ?????????. ? ????
????? ????? ????????, ?? ??????? ?? ?? ????? ????????. ? ??? ???? ????,
???????????? ?????????? ???????????, ??? ????? ?? ????? ??????? ??
???????. ???? ??? ??? ??????????. ??????? ?????? ?????? ???? ?? ??????:
??? ???????. ???????????? ? ????? ???????, ?????????: «?????? ?????
???????.»
?????? 205
?????????
? ?????????? ? ??????????, ????????????? ? ??????? «??????», ??????:
??? ? ????????????? ??????????? ??????? ? ????????? ?????:
Glass, Robert L. 1995. Software Creativity. Englewood Cliffs, NJ: Prentice:
Hall.
??????
DeGrace, Peter, and Leslie Stahl. 1993. The Olduvai Imperative: CASE and
the State of Software Engineering Practice. Englewood Cliffs, NJ: Prentice:
Hall.
DeMarco, Tom, and Timothy Lister. 1999. Peopleware. 2d ed. New York:
Dorset House.
Hardy, Colin J., J. Barrie Thompson, and Helen M. Edwards. 1995. «The
Use, Limitations, and Customization of Structured Systems Development
Methods in the United Kingdom». Information and Software Technology,
Sept.
Vlasbom, Gerjan, Daan Rijsenbrij, and Matthijs Glastra. 1995. «Flexibiliza:
tion of the Methodology of System Development». Information and Soft+
ware Technology, Nov.
Wiegers, Karl. 1998. «Read My Lips: No New Models!» IEEE Software, Sept. ??????
??????????
? ???? ????? ?? ? ?????????? ?????? ??? ????????, ??? ?????? ?????
???????????? ???????? ? ????????? ????????????????. ?? ??? ?? ????:
??, ???????????? ??? ?????, ????? ?????????? ??????? ?????? ????? ??:
??????. ??? ??? ????? ?? ????????? ???? ?? ?????? ?????? (????? ???????:
??? ?????? ??????), ???????? ???????, ??? ?????? ??????? ???????? ????
??????????? 6
????? ??????? ??????? ? ?????????? ?????, ??????? ??????????
?????? ????.
206 ????? 5. ? ???????????
????????? ??? ? ??????? ???????????? ???? (Lines Of Code ? LOC). ??? ???:
??? ??????? ? ???, ??? ????? ?? ?????????? ????? ???? ??????? ????:
????? ? ????? ?????????? ???????? (?? ?????????, ??:????????, ?????:
????????? ??????, ??????????????? ????? LOC ?? ??????? ? ??????????
????????? ???? ????? ????). ???? ???????? ?? ?????????????, ??? ????:
?????? ????? ???? ????? ???????, ????? ?? ????????? ????? ???????????
???????? ? ????????????? ????????? ???????? LOC ???, ????? ?????????
??? ? ???????? ??????. ??? ?????? ???? ?????, ?????????? ????? ???????????????? ? ?????:
??, ????????? ??????, ??? ??? ?? ?????? ?????? ? ?????? ????, ??? ??????
?????? ?????????? ????? ???? ???????:?????? ????? ??? ????????, ???
?????? ?????? ? ??????. ? ?? ????????, ??? ?????????? ????????????? ????:
???? ?????????????? LOC ? ???????? ? ????????? ??????? (? ??? ?????:
????? ????????????? ???????). ? LOC ????? ????????? ????? ????? ????:
?? ?????????? ?? LOC ??????? ????????? ?? ?????? ???? ?????? ???? ??
??????, ????????? ?????? ?????? ???? ?? C++? ????? ?? ??????????
?????? ???? ?????????? ?????????, ????????????? ??????? ????????:
?????? ???????, ?? ??????? ??????:??????????? ???????????? ?? ??????,
?????????? ?????????? ?????????????, ???????, ????????????? ????:
?? ?? ?????? ????????? (????? ?? ???? ?????? ? ?? 28:1 ? ????? ?????
? ????? 2.) ? ???????? ?? ?????? ?????????, ??????? ?????????? ???:
??????????, ?? ??????? ?????????, ?? ??????????????????? ?????? ???
?????? ????? LOC? ????????
????, ????????!
? ????? 8 ? ??? ????????? ??? ??????????? ??????? ???????, ? ??????:
«??? ???? ???? ?? ????????????? ????????, ??????? ??????, ?? ????????
??????????? ????? ????? ???????? ??? ???????, ??? ?? ??????? ??? ????:
????? ? ? ????? ????? ????? ??????,? ???? ?? ?? ?? ?????????? ????? ???:
??????????? ? ????????? ? ?????? ?????????? ??????.»
???????, ??????? ??????? ??????? ?? ??? ?? ????????, ??? ? ????? ??:
????????? ???? ???????? ?????????. ? ??????????? ????? ????? ??????
????? (Capers Jones) ??????? ???????????? ?? ????????, ??????????
?? LOC. ?????????? ????? ??????? ????????? ? ????????? ??, ?? ??????
???????????? ??????? ?? ?????? ????? ? ??? ?? ???????, ??? ??????? ????
??????? ? ? ???????? LOC. «? 1978 ?. ???? ????????, ??? ?? ?????????
?????? 207
«????? ????» ? ?????? ??????? ?????????? ?????????? ???????? ? ???????:
???????????» [Jones, 1994]. ????? ?? ??????????? «????? ???????????? ??:
????????? ?????? LOC», ? ?????, ?? ??? ??????, ???? ?? ??? ?? ??????? «??:
?????????? ???????» ?????? ? LOC, ???????: «?????????? ?????? LOC
????????????? ??? ????? ????????? ????????.»
??? ???, ???? ????????? ????? ???? ???????????? ????????? ?? ????
? LOC, ????? [Jones, 1994] ????????????? ???????? «10 ???????» ??????:
????, ?????:?? ??????? ????????? ? ??????????? LOC (?????? ??????
???????? ? ???????): ? ???????????????????? ????????? (2)
? ??????????????? ??????????? (4)
? ???????????? ?????? ?????? (5)
????? ???? ?? ??????????? ????? ? ?????? ???????? ?????????? LOC
? ??????, ?? ?? ????????? ?? ???? ??????????? ????????? ?????? ?????:
??? ??????.
????????
????? ?????? [Jones, 1994], ???????????? ? ???????????? ???????? ??
?????? ??????? LOC (? ?? ????????? ??), ??????? ? ??????? «??????». ??????
Jones, Capers. 1994. Assessment and Control of Software Risks. Englewood
Cliffs, NJ: Yourdon Press. 6
? ????????? ?????
????????????
??????????
? ??????? ???????????? ?? ?????????? ??????? ? ??????? ????????
? ????? 32 (?? ???????? ???????? ???????, ? ??? ??????????, ??? 100%
???????? ???????? ????? ??????????). ??? ??? ???? ????????????????
??? ???? ?? ??????? ???????? ???????? ? ????????????. ??? ??? ??????
???????: ???????????? ?? ?????? ??????????, ??????????? ? ??????????:
???? ???????????? ? ???????????? ?? ?????? ?????????? ???????.
? ????? ??????? ??????? «?????????????? ????????????» ????????????
????? ????? ???? ????? ???????????? ???????? ???????????? ? ???????:
???? ????????? ??????? ??????. ??? ???? ?????? ???????? ?????? ????:
???????? ????????? ??????? ? ???????? ??????? ???????? ??? ????????
?????? ? ????????? ??????????? ?????? ?? ?? ?????? ??????????, ?????:
???? ??? ??????, ? ? ???? ????????????? ???????. ???? ?? ??????? ???????
????????? ???????????? ????? ?????????? ??????? ? ???, ??? ??? ?????:
??????? ????????? ?.?. ?????????????? ?????? (operational profile). ?? ????
?????? ???????? ?????? ?????????? ????????? ???????, ?? ???? ??????
?????? ??????????????? ???????? ???????? ?????? ?????????.
? ???? ????????????? ?????????? ???????????? ???? ???? ?????????:
??? ????????????. ???? ???????? ?? ????, ??? ??? ?????? ???????? ???:
??? ????? ?? ???????????? ??????, ? ???????? ???????? ????????????,
??????????? 7
????????????? ????????? ??????? ?????? ? ??????? ??????
?????????????? ????????????.
???????????? 209
?? ????????? ???????????? ????? ??????????? ??? ???????? ?????????
?????? ??????????. ?? ????? ???? ????????? ??????????????? ?????????:
??? ????????????? ????????? ?? ????? ?????? ???????? ????? ??????:
???: «????? ???????? ?????? ????? ???????? ?????????? 97,6%». ?????????
?????? ???? ????????? ?? ????????????? ?????? ??????? ???????????. ???,
??????????, ????? ??? ??? ??????? ?????, ??? ????? ????? «???? ???????
????????????? 99,2% ????????????? ??? ??????????» (?????? ?????????:
??, ?? ?? ??? ?????, ??? 100% ????? ??????? ?? ?????? ?????????? ??????
?? ??????????), ??? «?????????????? 94,3% ????????? ??????? ????????»
(???????? ???????????? ??????? ?? ????? ? ???, ??? ????? «?????????»),
??? «???? ??????? ??????? ?????? ?????, ??????????? 91% ??????, ? ??:
?????? ??? ????????? ???????????» (? ???? ????? ????????? ?????? ?
???????? ??? ? ????????? ?????, ???????????? ????????????? ??? ??
?????????????? ? ???????? ?? ?????????? ????? ??????? ??????????
???????????? ?? ?????? ??????, ????? ???????????????).
?? ? ?????????? ???????????? ????? ???????????. ??????: ??? ?????:
?????? ???. ???? ????? ??:?????????? ?????????, ?? ??????????? ???
?????? ?? ????? ????????????? ? ???, ????? ??????? ???????????? ????
?????? ?????????? ????????????, ? ????? ? ???. ? ?????????, ??? ?????:
??? ?????? ??????????? ??????????? ?????? ?????????? ?????? ?????:
??? ????? ????????? ?????????????? ???????? (???????? ????????? ??
?????????? ????????? ????????? ?? ???? ????????? ????????? ?????:
?????), ? ??? ??????? ????????? ????????, ??? ????????? ????? ???????
??????? ????, ??????????? ? ?????????????? ??????????, ???? (???
????????) ???? ??? ????? ???????????? ?? ?????????????? ????????.
??? ???? ??????????: ????????? ???????????? ?????????? ?????? ? ??:
?????? ????????????? ? ????????. ?? ?????????, ??? ?????????? «???????:
????????» (????????????????) ??????, ??????? ??????? ????????? ????:
??????? ????????????? (???? 48), ? ??? ?????? ????? ????????? ????:
???????? ????????? (???? 49). ?????? ???????????? ? ??????? ?????:
????? ????? ?? ???? ? ???????? ? ???? ???????????? ????????????????
???? ?????? ?? ???? ??????????. ?? ????????? ???????????? ? ??? «?? ???:
??» ?, ?????????????, ?? ????? ???? ?? ??? ????????????? (? ???? ?? ???:
??, ?? ??? ?? ???? ?? ??:?????????? ?????????).
? ???????? ??? ?????? ?????????? ??????? ???????? ???????????? ???:
?????????. ? ????????? ????????????, ???????? ???????????? ??????,
? ??????? ????????????? ????? ?????? ??????????? ? ?????? ????????
??, ?????????? ???????? ?????????????? ???? ? ??? ?? ????? ??????.
210 ????? 6. ? ????????? ?????
?? ?? ????? ?????????? ? ?????? ?????????? ?????????? ????????????
(????????????, ???????????? ?????????? ??????? ??????? ?????? ?????:
??? ?????? ? ?????????? ???????? ???????????, ??????????? ?.?.
???????? ??????). ???? ????????? ????? ??:?????????? ????????, ?? ???
???????? ????? ?? ????????????? ??????????????? ?????? ? ???? ?? ??
??????. ???????, ????? ????????? ??????? ????????????? ????? ??????
? «??????????» ??? ? ???, ????? ???????????? ????????? ???????????. ??
????? ?? ???????? ? ?????????? ??????? ?????????? ???????????? ? «??:
???????????» ?????????? ????????????.
???????????? ????????? ???????????? ??????????????? ????????:
????? ?????????????? ?????? ?????? ?? ???? ???????????? ? ????? ???
???? ? ???? ???????????? ???????? ??????. ????????, ????????? «??????:
?????? ??????????» ?????????? ? ????????????? ???????? ??????? («??:
??????????? ????????????») ??? ? ?????????? ???? ??????. ???????? ??:
???? ???????????? ????????? ??????? ? ?????? ??????????????? ????:
?????? ???????? ??????, ??????? ??? ?? ???? ???????????? ??????????:
???? (?????????? ???????????) ???, ????? ???????????? ????? ????????
??????????. (????? ??????? ? ????????? ?????????? ????? ?????, ?????:
???, ? ?????? [Michael and McGraw, 2001]). ?????? ????????, ??? ????????
???????????? ???????? ?????? ?????? ??????? ????????????????, ?? ??:
?????? ??? ???????? ???? ???? ????????????? ????????????.
????????
????????? ?????? ????????? ?????? ??????? ????????? ????????????
???????????? ?????? ?????? ??????? ? ?????????? ?? ??????, ? ??????
??? ?????????????? ??????? ??????? ??? ???? ????????? ????????????,
??? ? ????????? ? ????????? ????????????? ??? ??????????. ???, ?????
????? (Harlan Mills) ? ????? ??????? ??????? ??????? ????????? ???????:
????? ? ??????????? ?????????? ?? ??????, ?????????? ???????? «???:
???????? ?????????» (clean room) [Mills, Dyer and Linger, 1987]. ???????:
??????? ?? ????, ???? ?????? ????????????:
? ?????????? ??????????? (?????????????? ????????????) ?????
????.
? ??????????? ????????????? ?? ????????????.
? ?????????? ???????????? ???????????? ????????.
? ????????????? ????????? ????????????, ?????????? ?? ???????:
??????? ????????.
???????????? 211
???????? ?????????? ??????, ???????????? ???????? «???????????
?????????», ????? ?? ??????? ???????????, ?? ?????? ????????? ?? ??:
????? ???????????? ? ?????????? ????????. ???, ?????????? ????????:
??? ????? ?????????? ??????????? ??????????? (? ????? 37 ?? ??? ????:
??, ????????? ??????????? ????? ???? ???? ??????). ??????????, ?? ??
????? ??????, ?????????????? ???, ??? ?????????????? ??????????
?????????? ???????????? ????? ??????? ??????? (??? ?????????) ????:
????? ???? ??????????????. ? ????? ??????? ????? ?????????? ? ?????? ????????????. ?? ??? ???:
?????? ???????????? ???????????? [Michael and McGraw, 2001]. ? ???? ??:
???? ????? ???? ?????? ?????????? ???????????? ? ?????? ????? ? ???,
??? ??? ????????????? ????????? ?? ???? ????? ?????? ???????????? ??.
«? ????? ????????????? ??????????? ????? ??????? ?????????
?????????????????? ????????????? ????????? ??????, ??? ???
????? ???? ??????? ??????? ??????????? ?????????? ????????
?????????, ?????????? ????????. ?????? ???????, ??? ???????:
??? ????????? ?????? ??????? ????????? ? ??????? ???????:
???, ??? ? ?????????. ?????? ????, ??? ????????????, ??? ?? ????
?????????? ????????? ???????? ????????????????? ????????:
?? ???????? ????????????? ??????????? ??????.»
?????? ?????? ????????? ??? ????????????? ??????? ????????? ???:
??? ? ??????????? ??????????? ? ????. ?????? ??? ????????? ?? ? ??????
???????????, ??????????????? ????. ??? ???? ?? ??????? ????????????
??? ????? ??????????? (??? ?? ???????????), ?? ??????????? ????????:
????, ??? ??? ?????:?????? ?????? ? ????? ???????????.
?????????
?????????, ????????????? ??????????????, ????????? ? ?????????
??????? «??????».
??????
Michael, Christopher C., and Gary McGraw. 2001. «Generating Software
Test Data by Evolution». IEEE Transactions on Software Engineering, Dec.
Mills, Harlan D., Michael Dyer, and Richard Linger. 1987. «Cleanroom
Software Development: An Empirical Evaluation». IEEE Transactions on
Software Engineering, Sept. 212 ????? 6. ? ????????? ?????
??????
??????????
?????? ??????????? ????????? ???????? ? ???????. ??? ???? ?? ?????
?????????? ????????? ????????? ????. ??? ?? ???????????: «???? ???:
???????? ??? ????? ?????????? ??????????? ??????????? ?????????:
???, ?? ??? ?????? ? ??? ????? ???????».
????? ??????? ?????????? ????????. ?????? ?? ? ???????? ?? ?????
???????????? ?????? ?????????. ???????: ? ??????? ????????? ?????? ?? ????? ????????? ? ?????????? ?????,
?? ?????????????.
????????????:
? ?????? ?? ?????????? ??????????, ??? ???? ?????????? ??????:
??? ?????? ?????? ??????????? ? ??????????? ?????????? ??????:
????????.
?????????:
? ??? ??????, ?????????????? ?????????????? ????? ???????????.
?????????? ?????? ?? ?????? ?? ???????.
???????. ????????, ??? ????? ???? ???? ????. ?? ?????????? ??????:
??, ??? ?????:?? ?????? ????? ??????, ??? ??????, ? ??? ??????? ?? ??????:
??? ?? ????????, ????? ?? ?????????? ????? ?? ?? ??????. ??? ???????
??????????? ????? ?????? ??????, ??? ??????? ?????? ????????? ? ????:
??? ???, ??? ????? ??? ??? ????? ??????? ???????????. ? ?? ??? ??????
? ???? ?????, ??? ??????? ??????????? ?????? ????? ???????????? ???:
????? ??? ?????? ???????? ?? ?????????. ????????, ??? ????? ?????????
??????? ??????????? ??????, ???????? ?? ??? ??????? ????????,? ???
? ?????? ?????? ???????????. ????????????. ??? ?????. ?????? ?? ?????????? ?? ??????????, ???
?????????? ???????????? ?????????? ???????? ?????????? ?????????,
? ?????? ?????????? ???????? ????????? ?????? ?????????? ????? ??:
??????? (?????????, ????????, ?? ???? 37). ??? ?????????? ?????? ????:
???? ? ?????????? ?? ???? ?? ???????. ????? ???????, ???? ??? ????????
??????????? 8
«??? ?????? ?????????? ?????????, ???? ?? ??? ???????? ??
???????? ????? ????».
?????? 213
??????????, ?? ?? ?????? ????????? ??? ?????? ??????????? ? «?????:
?????? ?????????? ????». ???????, ??? ?????? ???????????? ????? ???:
??????? ? ?????? ??????, ??? ?????? ?????? ???????????. ?? ?? ???????
??????, ??? ???? ????????, ????? ?? ?????? ?? ???? ?? ?????????, ??????:
??? ????????? ???????????? ????????, ?????????? ?? ??????; ?? ?????,
?? ??????? ????, ?? ??????, ??? ????? ?????? ??????? ?????? ????????
??????.
?????????. ???????? ??? ????????????, ??????????? ?? ??????????
????? ???????????. ??? ??????????? ???????, ??? ???????? ????????
open:source ???????? ????????????? ????????? ? ??????? ?????????:
???, ?????????, ??? ?? ? ???????? ???????? ????? ???????? ????? ???:
???????? (??? ??:?? ???? ????? ????). ? ??????????????? ?????? ?? ?????:
?????, ????????????? ????? ???????, ? ?????????, ??? ?????? ?????????
? ??? ???. ????????, ??? ?????????? Fuzz Papers ???????????? ??? ?????:
???????, ? ??????? ???????? ????? ? ??????? ?????????? ?? ? ????????
???????? ????? (?????? (Miller)). ?? ????? ???? Fuzz Papers ???? ??????:
?? ??????? ? ?? ? ???????? ???????? ?????, ??? ??????????? ?????:
??????? ?????? ????????????, ? ???? ?? ????? ?? ???? (? ?????? ???????)
??????????, ??? ?? ? ???????? ???????? ????? ????? ???????. (?? ??
???????????, ??? ??? ????? ???? ????? ????, ?? ???????, ??? ??? ???????:
????? ?? ???? ?????? ?? ???? ??????.) ? ?????? ??? ? ???????? [Zhao and
Elbaum, 2000] ????????, ??? ????????????, ??????? ???????? ????????
???, ????????, ????????? ?? ?????? ??????? ?????????? ??????, ??? ??,
??? ????? ????????????? ???. ????????, ??? ????????, ??? ??? ??????
???????? ?? ????? ????????? ???? (???????? ????????????, ?????????
??? ?? ?????????? ? ?? ????? ?????, ??????? ??? ???? ?? ????? ???? ?????:
???? ? ???? ???????).
????????
???? ???? ? ??????????? ???????????? ?????????, ?????????? ?????:
???? ????????????! ? ?? ?????, ??? ??????????? ???????? open:source
?????????? ?????? ?????????, ????????? ????! ???? ?? ???????? ?? ??????? ???????? ? ??, ???? ??? ??? ????? ??????:
??. ???? ?? ????? ?????? ???????? ?????????? open:source ??????, ???
??????, ???????????? ???? ???????????, ???????????? ????????? ???:
????? ????? ???????? ????????. ?, ?????????, ??? ????? ?? ?????, ??? ?? ???,
?? ?????????? ?? ?????? ?????? ????? ???????.
214 ????? 6. ? ????????? ?????
????? ?? ??? ???????????? ??????????? ???? ???????? ????? ?????:
??? ??????????? ?????, ??? ?? ?????? ??????? ? ????????? ??, ????? ??
??????????????? ?? ???? ??? ?????????? ???????????, ?? ??????
???? ????????? ????????? ?????? ??? ????????????? ???????? ?? ?????
???????. ? ?? ???? ???????????? ?? ?? ???? ? ??? ??????????? ?????????
?????? ?? ???? ???, ??? ?????? ?????? ???????? ?? ?????? ???????? ??:
?????? ?????,? ? ????????????? ???????????? ???? ?? ????????????
??? ? ???????????????? ??? ????????????? (?? ?????? ?????? ????????:
?? ????????? ? ???????????? CASE).
????????, ? ?? ?????????, ??? ?? ? ???????? ???????? ????? ?????
???????, ??? ??? ????????????. ? ?????????, ??? ?) ???? ?? ???????? ???:
?? ??????? ???????????? ????? ??????????? ? ?) ???????????? ??????????
????? ??????? ???? ??? ??? ?????. ?????????
? ??????????, ????????????? ? ??????? «??????», ???????:
Glass, Robert L. 2001. «The Fuzz Papers». Software Practitioner, Nov. ??:
?????? ?????? ?????????? Fuzz Papers ? ????? ?????? ??????????
?? ? ???????? ???????? ?????. Glass, Robert L. 2002. «Open Source Reliability ? It's a Crap Shoot». Soft+
ware Practitioner, Jan. ?????? ?????? ??? ? ????????, ?????????
? ????????? ???????. ??????
Miller, Barton P. «Fuzz Papers». ???????? ????????? ?????, ????????:
?????? ??? ????? ????????? «Fuzz Papers» ? ?????? ????? ? ? ???:
??? ?????? ? ?????????? ???????? ?. ???????? (Barton P. Miller),
??????????? ??????? ?????????????? ??????? ??????????????
????????????. ? ??? ????????? ?????????? ?????? ?? ?????? ?????:
??????? ??????, ? ???????? ?? UNIX ? Windows (?? Linux ???????:
?? ???? ?????????????? ????????). ?? ?????? ????????? ??????
????? ????????? ?????? ?? ????? «Fuzz Papers» ???? ????????????
? ?????????? ?????????? USENIX Windows Systems (the Proceedings
of the USENIX Windows Systems Symposium) ? ??????? 2000 ?.
Zhao, Luyin, and Sebastian Elbaum. 2000. «A Survey on Quality Related
Activities in Open Source». Software Engineering Notes, May. ????????????? 215
?????????????
??????????
???????? ??????????? ????????????? ???????, ???????? ?? ???? ??????:
??. ? ????? ??????, ?????? ????? ??????????? ???????, ????? ? ???? ??. ??:
????? ?? ??????? ?? ?????????????, ??? ????????? ??????? ????????
????? ?????? ?? ?? ???????, ??????? ??? ?????????. ?????? ??? ??????:
??????? ?????????????. ?? ????? ???? ???????? ?????. ?? ?????? ??? ??
????????????? ??????????. ??? ??? ?????????? ???????, ???????? ????? ??????????? ? ???? ??:
??????????? ??:
? ?????? ?????????????? ??????? ?? ????????????? ??????? ???:
??????
? ?? ???? ?? ???????? ? ?????? ????? ?????????
??? ??????? ?? ?????? ?????????, ?? ? ?????. ? ?? ????????? ?? ????:
???? ?????????, ??? ??? ???????? ??? ???????? ? ??????????? ?????????:
??? ???????? ?? ?????? ????? ???????? ????? ?????????? ??????????.
????????? ?? ???? ????? ???????????? ????????????? ? ?????????????
??, ??? ? ??? ??????.
????? ???????? ?? ???? ??????, ???? ??????? ?????????? ? ???, ??? ???:
??????????? ?????????????. ??? ?? ????? ?? ????? 42, ? ????????????
??????? ??? ??????? ?? ??????????????????. ??????? ?? ????? ????????
?????? ??????????????? ?? ??????? ??????????? ?????? ? ???????????
????????. ? ???? ????????, ????, ???????, ???? ?????? ???????????? ????:
?? ????? ???? ???????????, ?? ??, ??? ????? ?? ?????????????????.
??? ???? ?? ?????:?? ?????????????? ? ??????? ???????????????????
??????, ??????? ?? ????????? ????? ?? ???? ??????, ?? ?????, ?? ???? ??:
??????? ?????, ????????? ????????????. ?????? ????? ?? ??????????:
??? ?? ????? ???????? ? ???, ??? ?????? ?????? ?? ????????????? ?????
????? ????? [Sallivan, 1989]. ? ????????? ????????????? ????????? ???:
????, ??????? ??????????? ?? ?????, ?????? ???: ?) ? ????????????? ???:
?? ??????????? ?? ???????, ??????? ??? ???????? ?????????, ? ???
??????????? 9
????, ?? ??? ???????? ????????? ? ?????????? ??????, ?????
???????????, ?? ??? ??? ????????? ? ???????, ? ??????? ????
??? ? ???????????????? ?????? ????????. 216 ????? 6. ? ????????? ?????
???????????? ? ?????? ?????, ??????? ????????, ?? ??????? ????? ????:
???? ??????; ?) ??????????? ????????????? ???????? ?? ????????? ???:
??? ?????? ??????????? ??????? ?????????? ??????, ??? ?????????? ??:
???? ? ??? ?? ????? ??????? ??????. ?? ?????????? ??????? ?????????
??????, ????? ??????? ?? ????????? ? ??????????? ?????????????
? ?????? ?????? ??????? ???? ?? ????? ? ???????? ????? ?????????????,
????????? ?????? ? ?? ?????? ???????? ? ???????????, ??????? ? ???:
??????????????? ???????? ???????????, ? ???????????? ?????? ???, ???
????????? ??????? ?????? ?? ?????? ? ?????????. ??????? ????????? ???:
?? ???????????????, ????????? ? ??? ?????????????, ? ?? ????????????
??????? ???????? ? ??????? ????????????, ?????????? ? ???? ??? ?????:
?????????. ??????? ? ????? ???????, ??????? ????????? ??? ????????:
??? ????????? ??????? ??????, ? ?????? ?????? ?????? ???? ?????, ????:
??? ?????? ???? «?????». ?? ?????????, ??????? ?????? ?????????? ????:
??, ????????. ? ?????, ??? ??????? ?? ????????????? ??????, ?????????? ????? ?????,
??? ??????????? ??????? ???????. ? ?????????? ????? ?????? ?? ????????:
????? ??????? ????????? ? ????? ?????????? ?????????, ?????????
??????????, ???????????? ????????? ???? ????????? ?????, ? ? ??????:
??? ??????? ??? ?????? ????????? ???????? ? ?????????, ?????? ???
?????? ?? ????? ???????? ??, ??? ??? ?? ???? ???????. ? ????? ?????? ??:
????? ?? ????????????? ????? ??????????? ?, ????????, ?????. ???????:
?? ????????? ?????? ???? «?????». ? ?????? ???????? ? ???? ???????????? ???????? ?? ?????? ????? ???:
?????. ???????, ????? ??????????? ???????? ???? ???? ?????????, ????:
??? ?? ?????? ??? ???????, ?? ??????????? ????????????? ???? ??????:
??? ?? ??????? ?????????? ? ????? ?????, ? ????? ??????????. ???????:
?? ?? ?? ?? ??? ?????, ??? ??????? ???????? ?????????? ??? ????????
??????????? ? ?? ????, ? ??????? ????????? ????? ??? ?? ?????????? ??:
??? ???? ? ?????? ?????????? ???? ?? ??????, ? ??????? ?????? ?????????:
??? ??? ???? ??????? ?????????? ?? ???, ??? ?? ?????? ?????????, ? ????:
??? ???? ??? ????????? ??????? ??? ?????? ?????? ??? ??????? ??????
? ??? ????????? ?????? ?????????????? ???????????????.
??????????? ?? ???? ??????????????, ? ?????????, ??? ??? ???????
?????? ???????????????? ??????? ?? ?????????????, ?????????: ?) ??:
??????????? ?????? ???????????, ?????? ????? ??????? ?? ??????????:
??? ? ?) ????? ????, ????? ?????????? ?????????? ???????, ??? ????? ??:
???????? ????? ???????? ??????? ? ?????? ????????.
????????????? 217
????????, ??? ? ????? ??????? ? ?????????????? ???????? ????? ????:
???? ??????????? ? ?????????????, ???? ??? ???? ?? ???????? ?????????,
? ?? ?????????? ?????????????? ?????? ????????. ???? ???????? ? ??????
????????, ?? ???? ??????? ??? ????. ? ??????????? ???????? ????????
????????, ??? ?????????? ?? ??? ??????????? ???????? ??????????? ??:
????????. ??? ???????? ?????? ????? ??????????, ??????? ???????????:
?? ?? ??????? ?????? ????????, ? ??? ??????????, ????? ????, ?????? ??
?????????? ? ???????. ?? ??? ? ????????????, ?????? ??? ??? ?? ??????:
???????? ? ?????????? ?????????. ?? ?????? ???????? ?? ???, ??? ????????:
?? ???????? ???????, ??? ??????? ? ???, ??? ??? ????????????, ?????? ???
?????? ?? ??? ?????????? ????? (???? ???????? ? ??????????? ??????:
??, ??????????????? ?? ?????????? ????????????? ??????? ???????).
?? ????? ????????? ????? ???????? ?????????? ????????, ?? ??? ????
??????????????????? ? ???????? ????????, ?????????? ??????? ??????:
?? ?? ????? ?????????. ???????????? ????????? ????????????,
1
?????
???????, ??? ?????? ?? ?? ???????, ? ?????? ????????? ????. ??? ??????????? ?? ??? ? ????????????? ?????????????? ???????, ??:
????????? ?? ?????? ? ???????? ????????? ??? ?????! ????? ????, ???
???????, ??? ????? ???? ???????????.
????????
???? ?????? ???? ???????, ?? ??????? ?????? ??????????? ??????? ????:
??? ? ??????? ???????????, ? ??????? ??? ? ???, ??? ????????????? ?????:
???????? ?????, ???????????? ????????? ?????????????, (? ?? ????:
??? ????) ???????????? ????????? ??????, ????? ?????????????? ????:
??, ????? ???????? ?? ???????, ???????? ???, ??????? ?? ?????? ??? ???:
????????. ? ???? ?????? ????? ?????? ?? ???????? ? ????? ??????
?????? ?? ?????????????. ??? ???????, ??? ??????? ?? ?????????????
?????? ??? ??????? ? ???????, ???? ?? ?????????? ?????????????.
????? ??? ?????? ??? ???? ??????. ??? ????????, ??? ??????? ???? ??:
????? ?? ??????????? ?????? ? ??, ? ?? ??????? ?? ??? ???????????????:
???. ??????, ?????? ????? ? ???????????? ?????????, ????? ????, ? ??
???????? ??????????????, ?? ???, ?? ??????? ????, ????? ?????????????
1
«Old soldiers never die, they just fade away.» (?????? ??????? ?? ???????, ???
?????? ?????? ? ???????.) ???????????? ??????????? ???????? ??????? ???:
?????? (Douglas MacArthur) ? ??????. ?????.
218 ????? 6. ? ????????? ?????
?????; ??? ??????????? ????? ?????? ?? ???? ?????????????? ??????.
??????? ???? ???????? ? ??? ?????, ??? ??????? ?? ????????????? ?????:
????? ?????????????. ? ?????? ??? ???????, ?? ??? ??? ??? ???? ??????
?? ?? ???????, ??????? ????? ?????? ????? ???? ?????? ??????????.
?? ????? ?? ??????????? ? ???????, ??? ???? ?????? ? ????? ???????
?????? ???? ??????, ? ??????? ? ???? ? ?????????, ?????? ??? ????? ??:
????????. ??? ??? ???? ???????? ? ???????? ???????????? ?????? ?? ??:
??????? ??????????, ??????? ??????? ?? ?????????????? ???? ?? ???
???????. ?? ?? ????????? ?? ???! ????????, ??? ??? ?????? ????? ??????:
??????????, ?? ??????? ????????? ???? ?????? ??? ?????????????? ??:
???????????. ??? ????????? ?? ??? ??? ?? ??????????????? ? ???????
???????????? ?????? ?? ?????????????.
??????? ? ? ??????? ???? ????? ????????????, ???????, ??? ?????????
?? ???? ??????????????, ???????????? ?????? ???????????? ???? ??
?????????? ?????? ?????????????? ???????? ??????, ???????? ? ??????:
?? ?????????? ?????? ????. ?????????
? ?? ???????? ????? ??? ???????????????, ?? ????????? ?????? ?? ???
?????????, ??? ?? ????? ? ??, ??? ???????? ? ????, ? ??? ??????, ? ??? ? ??:
????, ? ?????? ?????? ? ??? ????? ?? ????. ?? ????? ????????? ?????? ??:
???????? ?? ???? ????, ? ??????? ??????????? ???????? ??????? ?? ??:
???????????, ? ??? ????? ? ?? ?????? ??:
Glass, Robert L. 1991. «The ReEngineering Decision: Lessons from the Best
of Practice». Software Practitioner, May. ???????? ?? ?????? ????????
?. ?????? (Patricia L. Seymour), ???????????? ???????????? ?? ??:
?????? ?????????????, ? ????? ???? (Martha Amis) ?? Ford Motor
Co.
Glass, Robert. 1991b. «DOING Re:Engineering». Software Practitioner,
Sept.
??????
Sullivan, Daniel. 1989. ?????? ??????? ??. ????????? (Daniel J. Sulli:
van) ?? Language Technology, Inc. ?? ??????????? «Improving Produc:
tivity in EDP System Development». 7
?? ???????????
??????????
??? ?? ??????? ???????????????? ????? ???????, ??? ??? ???? ?????:??
??????? ? ??????? ??????, ?? ??????? ????????????? ??????????? ? ?????:
??? ????? ????????????????, ????? ???? ???????????? ?????????? ??????
????? ??????????? ???, ??? ?? ?????????????????. ? ???? ?? ???????
??????????????? ????? ??? ?? ????? ?????, ?? ????????? ?? ???? ???????
??? ???? ???? ? ?? ??. ?? ?????? ? ????? ????????????????, ??? ??? ???:
????????? ? ???, ? ????? ????????????? ?????? ??????? ?????? ?? ????
????? ??? ??? ??????. ? ????? ?????? ???????? ???????????????? ????????? ????? ? ???:
??, ??? ??, ????? ????, ? ?? ?????? ? ??? ?????? ???????. ? ????????.
?? ???????? ????? ???????.
???? ??? ? ???: ?????? ????? ????, ?? ? ?????? ??????? ?????? ??????.
?? ?????? «????? ? ???», ??? «???? ? ?????», ??? ?????:?? ?????? ?????:
??????? ? ???????. ? ?? ?? ???????, ??? ????? ???????? «???? ? ?????»
??? «????? ? ???», ?? ?????? ??? ????? ?????? ???????? ?????????? ???:
??? ?????????. (???????? ???, ????????? «???? ? ?????» ???? ???????
??????????! ???? ?????? ???????, ????????? ? ???????, ???????????????
???????? ? ??????? ?????????.)
??? ?? ??????? ???, ??????? ? ????????? ??, ?? ???? ???????? ????,
????, ?? ??????? ?????? ???? ??????, ??? ??????? ? ???? ?? ??????, ???
??????????? 10
????? ????? ??????? ????????????????, ????????? ??, ???
?????? ?????????. 220 ????? 7. ?? ???????????
????. ?? ?? ???? ?? ????, ? ???? ??? ????????. ? ?? ???? ?? ?????? ????:
???? ????????? ? ???? ?? ?????? ????????, ? ??????? ?? ??????? ??????:
??? ???????? ??????? ????? ?? ??????. ??????????? ??????? ?????????
?? ????????? ???????????? ???????????? ?????????????? ???????,
?????????? ??, ?????????????? ????????? ???????? ?????
?? ????????? ????????, ?? ?? ? ???? ?? ???????? ????? ?? ?? ??????.
???? ? ????? ??????, ?? ????????? ??????? ????????????, ? ??????:
??? ?? ?? ?????????? ?? ????? ?????. ? ???? ???? ????????? ????????:
??? ?? ????? ??????. 1.??? ???? ????? ????? ?????? ????????, ?????????? ??????? ????:
??????????? ???????. ????????, ??? ?????? ???? ?????????????
???. ? ????? ????? ??????? ?????? ????????. ?? ?????????, ???
? ???? ???? ?????? ???? ??????, ????? ?? ???? ????? ???? ??:
????? ?????, ??????? ?? ?????, ??? ?????? ?? ????. ? ??? ???? ?????:
?? ?????. ????????? ? ???, ??? ? ???, ??? ????? ? ????????? ??, ??
?????? ????????? ??????? ?? ??, ??? ????? ??????? ???, ? ??? ?????
??????. ????? ????, ? ??????????? ????? ????????? ?? ???????
?????? ?? ??????? ??? ?????? ?? ???????? ????, ? ??? ???? ? ??,
???????. ????????? ??? ????? ???????? ????????? ?? (Software En:
gineering Institute ? SEI) ? ???? ????? ????? ?????? ????? ???????:
???? ???? ? ? ????? ?????? ????????? ?? ???? ?????. ? ????? ??? ???:
?????????????? ????? ???????? ?????, ? ??????? ???? ??? ????:
???, ??? ? ????????? ?????????. (??????????? ?????????????
??????? ???? ??????? ????????? ? ????, ?? ? ?????, ??????????
????????, ??? ???? «????? ? ???» ????? ?? ??? ??? ?? ???????!)
2.??? ???? ????? ????? ???? ????? ?????? ???????????? ????, ??:
???????? ????????. ?? ???. ? ?????? ?? ????????? ??? ???? ??
???????????????? ????????? ? ????????? ????????, ? ?? ? ???:
???. ???? ?? ?????? ??????? ? ???, ??? ????? ?? ?????, ??? ????????
????? ?????. ??????? ? ???????????? ??? ?????? ???????? ????:
???????? ????????, ?????????????? ?? ????????? ???? ????. ??
?????? ?????? ??? ?????? ???? ??????????? ?????????. ???? ????:
????? ?????????? ? ???? ?????, ?????????? ???????????? ???????,
??? ?? ????? ???. ??:?? ? ???????? ???? ????????????? (?????????
??? ???? ?????????) ???????????? ?????????? ?? ?? ??????????. ???
???? ?????????? ???, ??? ???? ???????????????, ? ???? ????? ???
?? ???? ??????? ??????? ??????. ? ????? ????? ???????? ?????????
??????? («???? ? ?????» ?? ???????? ??? ??????).
221
3.??? ? ??? ???????, ????? ??? ????? ?? ????????? ??????? ???????
???? ?? ????????????? ???????????, ??????? ????????? ? ???:
?????????????. ??? ???? ??????? ????. ?? ? ???? ????? ?? ???:
????? ?? ???? ??????? ? ???, ????? ????? ?????? ????. ??? ??? ????:
????, ??? ?????? ???? ????? ????????, ? ??????? ??? ??????????
? ??? ?? ??????, ???????? ???????? ??????. ? ?? ?????, ??? ??????
???????? ??????????? ??????? ?????!
4.???????????? ?????, ????? ? ????????? ?? ?????? ???,? ??? ????:
?? ?????????????. ? ????????????? ???????????? ????? ???????
????????????, ? ??????? ????????? ? ??????? ??????????????. ??:
?? ?? ?????? ?????? ????????? ??????????? ? ???, ??? ??????
???? ? ??? ????? ????????? ????. ??????? ???????? ???????? ????
??????????? ????? ???, ??? ?????? ?????? ? ?????.
????????
????? ??????, ??? ???????????? ?? ???????? ????????????????, ????:
????, ??? ??? ???? ?????????? ???????????. ?? ????? ?????, ???????,
?? ????? ??????? ??? ?????? ? ?????????? ???:?? ???????? (????? ?????,
??????? ? ???????????? ?????????, ??? ????? ?? ???????? ???????:
???). ??? ?? ??? ??????, ? ??????? ???????, ???????? ???????? ???????
???? ??????? ??????, ? ????? ??????, ???? ??????????, ?? ??????????? ??:
???, ??? ?? ????? ??? ?????? ?? ???????. ? ????? ?? ???? ???? ??? ???????
????????, ???? ?? ????? ???? ??? ??????? ? ????? ???? ?? ????? ???????,
???? ?? ????? ???????? ????, ?????? ???? ?????????.
?????????
???? ?? ??????? ?? ???????????? ?? ????, ? ? ?????, ??? ? ????????? ??
??? ?????, ?? ?????? ?????????, ?????? ???????????????? ?????? ???, ???
???????? ?? ????? ??????? ???????????? ???????.
Corbi, T. A. 1989. «Program Understanding: Challenge for the 1990s». IBM
Systems Journal 28, no. 2. ???????? ???????? ?? ???? ???????????
???? ??????? ??? ???????? ?????. ????? ???????: «???????????? ??:
????????? ? ?????? ?????????? ??????????? ???????? ???????? ???:
??? ????, ?????? ? ??????
.
.
. ?? ?????? ??????????? ? ???????? ??:
???????????? ??????? ???????, ??? ????????, ??????????? ? ???,
????????? ????????? ?????? ?? ??????? ?????
.
.
. ???????????? ??:
222 ????? 7. ?? ???????????
????? ????????? ???????????? ???? ????????????? ? ?????????:
??? ??????? ?? ?????? ??????.»
Deimel, Lionel. 1985. «The Uses of Program Reading». ACM SIGCSE Bulletin
17, no. 2 (June). ? ???? ?????? ????????????, ??? ?????? ??????????:
?? ???? ????? ??????? ????????, ? ??? ??????? ???????; ??????????
????????? ??????? ? ????????.
Glass, Robert L. 1998. Software 2020, Computing Trends. ? ???? ???????
??????? ?????? ????, ????????????? «The ?Maintenance First? Soft:
ware Era». ? ??? ?????????, ??? ????????????? ?? ??????, ??? ???
??????????, ? ??? ??????? ???? ??????? ?????? ??????????? ???,
? ????? ?????? ???, ?????? ??? ??????????? ?? ????????????? ??:
???????? ?????? ???????. Mills, Harlan. 1990. ???????????, ????????? ?? ??????????? ?? ??:
??????????? ?? ? ?? ??????? ???? ?????? ? ?????? [Glass, 1998].
???? ?????????? ??????:???????????? ???????, ??? ??????????
«? ?????? ??????? ??????????? ?????????????
.
.
., ?????? ??? ? ??:
??? ??????????? ???????? ?????? [?? ????????? ? ?????????????:
????] ??????? ???? ??????, ? ????? ??????».
????????, ??????????????? ? ???? ????????? ????? ??? ???? ??????.
? ??? ???????? ?? ??????, ? ????? 44, ????? ??????? ? ????????????? ??,
?? ? ????? ??? ?????? ???????. Lammers, Susan. 1986. Programmers at Work. Redmond, WA: Microsoft
Press ? ???? ????? ? ?????????? ???? ????? (?? ??? ????? ??????):
«[?????] ?????? ?????? ????????????? [???? ?????????????] ??:
????? ? ???, ????? ?????? ????????? ? ??????? ??????? ???????:
??, ?????????? ???????. .
.
.? ???????? ???????? ????????????
?????? ? ???????? ???????? ??????????????? ??????». ??????
? ??? ?, ??? ??? ????? ????? 55 ?????? ? ????????? ???????????, ??:
???????? ??????????????? ????????? ? ????????? ??. ?? ?????
??????????? ? ?????????? ?? ??? ? ?? ??????????? ? ???????. ?? ? ????:
???, ??? ??? ?????????? ??? ??????? ?? ???? ???? ?????????????? ???:
???, ? ? ?????? ??? ????? ????? ? ???, ??? ??? ????? ????????? ??????
?? ???????? ? ????????????? ??. ?????????????? ????? ????? ? ??????????? ????????? ??? ???????
? ?? ?????? ???. ? ????????? ??????????? ????????? ? ?????????, ????????? ? ??:
??, ?????????? ?????? ?? ????, ??? ?? ?????? ? ???? ??????? ? ?????
? ???. ?? ????????? ?????? ?? ??????, ? ?? ???? ? ??? ????????, ???:
??? ???? ????????? ? ??? ???????????. ? ??? ????? ????????? ???:
??????? ?????? ? ???? ?????, ? ????????? ????? ?? ????????????. ? ???????????? ???? ? ????????? ?? ?????? ???????????? ??????
?????????????? ?? ???????? ?????? ?????. ? ??????????? ???????
????? ???????????? ??????? ??:??? ???????? ?????? ?? ? ???????
???????? ???????? ??, ? ? ???, ??? ???? ?????????? ??????, ?????
????????????? ? ???????????. ? ???? ????? ??????? ?????? ??????.
? ????? ??????????? ? ?????????????? ?????????? ??????. ????,
? ?????????, ??????????? ??, ??? ??????????????, ??????? ? ???????
??????????? ????????, ???????? ??:??? ????????, ??????? ??:
?????? ???????, ?? ?? ?? ??????? ????????, ????? ???????? ??????.
?? ???? ??????? ????????? ? ???? ??????. ? ????????? ???? ? ?????????? ????????? ????????????? ??????,
????????? ??? ????? ?? ?????, ????????? ???? ??????????? ????:
???????? ????????, ???????, ??????????????? ?? ??????????
?????? ???????. ?? ?????????? ?????? ??????? ??????, ???? ??:
?
224 ??????
??? ???? ???????, ??? ??? ?? ??????? ??? ?????. ???? ????????????
????????? ?????? ?????.
? ?????????? ???? ?????? ? ??????????? ???? ????????. ??? ???? ???:
?? ??????? ??? ???????, ? ?????????? ?? ?????????, ??????? ????????:
??? ?? ?????????? ? ??????????? ?? ????, ??? ???? ?? ??????? ????????:
??? ???? ? ??????????????? ??????, ????????, ????, ?????????? ???????
? ???????????? ????????????, ??? «????» (????? ? ????????? ?? ??? ?????,
?????????????? ?????? ??????????? ??????????????). ??? ?????? ???:
??? ? ???????, ??? ?????? ????????? ????, ??? ???????????. ? ???????? ???????? ????????? ???? ?????? ? ??????????? ?????????
??????, ??????????? ?? ?????? ? ??????? ??????, ?? ? ? ???????????? ???:
?????????. ????? ??? ????? ???? (Barry Boehm), ???????? ????? (Fred
Brooks), ?? ????? (Al Davis) ? ????? ???? ?????. ???????? 35% ??????????
(????? 60) ????????? ? ???? ?????????. ????????? ?? ???????? ??????
?????????? ???? ????????, ??? ???? ????? ????????????? ? ?????????
?? (50, ??? ???????? 29%). ??????? ??????, ??? ? ??????, ?????????
??????????????? ?????? (????? 40 ??????????, ??? 23%). ?, ? ????? ??:
??????? ?????????, ?? ???? ????, ??????????? ????? ?????????????
??????, ???????? ???????? 20 ??????????, ??? 12%. ?? ?????, ??? ??? ????? ??????? ? ???? ?????? ???????????? ? ????:
?? ???? ?????? ? ?????????? ??????, ??? ??? ??????? ? ??? ?? ?? ?? ????
???. ? ???? ??? ???????? ????????? ??????? ????????????, ???? ??????
??????? ??????? ?????????? ????????? ??????? ????????????, ???????:
?????? ?????????. ? ? ?????????? ???? ? ???????? ?????? ??????????. ????????? ????????????????? ??????????? ? ?? ????? ????? ????????,
??????? ?? ?????????????. ??? ??????????? ?????????? ????????????
??????????? (Software Engineering Laboratory ? SEL), ? ?????? ??????? ???:
?????? ? ??????, ? ????????, ? ????? ?????????????. ?? ??? ??????, ?????
??? ?? ?????????? ???? ??? ?????????? ????? ?????? ???????????? ? ??:
????? ?????????????? ???????, ??????? ???????????? ??????. ?????
? ???????? ?????? ???????? (?????????????), ???????? Computer Sciences
Corp. (??????????????) ? ???????? ?????????? ?????????????? ???????
???????????? ????????? (????????????? ?????) ?? ??, ??? ??? ??????????
???? ?????????? ? ????????? ????? ?????? ??????. ??? ?? ????????? ?
??????? ?????????? ????? ???????????. ? ?????? ???????????? ? ?? ??????? ???????? ????????? ?? (Soft:
ware Engineering Institute ? SEI) ??? ???????????? ??????? (Carnegie Mellon
University) ?? ?????????? ?? ?????? ?? ????????? ????????? ???????:
?????? 225
??? ?????????? ??. ????????, ????????? ???????????????, ???????? ?
??????????? ?????????? ??, ?????? ???:?? ?????????? ? ????????. ??:
??? ????, ???????? SEI ?? ?????? ???????? ?? ??????????, ??????? ??????
?? ?, ?? ???? ?? ??? ???????? ?????:?? ??????????, ?? ?????? ??? ?????:
??. ????? ? ???? ???????? ????? ?????? ???, ??? ????? ? ?????, ????????
? ??? ?????, ???? ?????????????? ????????, ???, ??? ????????????????? ??:
???? ???????????? ? ?????? ??????? ? ???????????. ????? ? ???????? ????
?????? (Vic Basili), ????? ????? (Barry Boehm), ????? ?????? (Fred Brooks),
??? ?????? (Al Davis), ???? ??????? (Tom DeMarko), ?????? ????????
(Michael Jackson), ??????? ?????? (Capers Jones), ????? ?????????? (Steve
McConnell), ??. ????. ???????? (P.J.Plauger), ?????? ????????? (Jerry
Weinberg), ????? ??????? (Karl Wiegers) ? ??? ??????? (Ed Yourdon). ????
???? ???? ? ?????:?? ???????? ???????? ? ????????? ??, ?? ????? ? ????:
??? ???????????? ??????????, ??? ???? ??? ????????? ???? ?? ????? ???:
??? ????? ? ???? ?????????.
? ?????????? ? ?? ????? ???????? ???? ?? ???? ??????? ???????:
?????: ?????????? ? ??? ???????? ?????????? ?????? ?????? ??????? ??????.
????? ? ?? ?????? ????? ????? ?????? ?????????? ?????? «????? ???????
??????». ? ? ?? ?????, ??? ????? ?????? ?????????. ?? ? ??????, ??? ?????
??????, ????:?? ??????? ? ????????? ??, ?? ?????? ????????????? ??????,
?????????????? ? ???? ?????, ?????????? ??? ??? ???. ?????????? ??
??????, ?????? ??????? ?? ??????????? ? ????? ??? ??????????? ?? ????
??????, ??? ??? ???????? ??, ??? ??? ?????????? (??? ??????????). ? ????:
?????, ???????????? ????????? ?????:?? ??????????, ??????????, ?????
??? ???????????, ??????? ???????????? ???? ??????, ? ?? ???????????
???????????? ?????????? ????????? ?? ?????????? ??? ????.
?? ????? ??? ? ????????? ?? ????????? ????? ??????. ? ?? ???? ? ????
?????????? ??????? ??? ????????, ?????? ??? ? ?????, ??? ?? ???????
??????, ??? ?????? ?????????? ????? ??? ???????. ? ?????? ?? ? ???, ???
????????????? «??? ?????????? ?? ?????» ??? «??? ?????? ?? ???????», ????:
?? ??? ? ?????, ??? ?? ???? ????? ???????. ??????, ? ??????? ? ??????,
??????????? ??????, ??? ????? ? ????????? ????????????? ????? ???????
??????????, ?????????? ? ???????? ? ????? ???????? ?????? ??????.
? ???????, ??? ???? ??????? ?????? ? ??????????? ??????? ??????:
???? ??? ??????.
?????????? ?????????
A
ACR (Applied Computer Research), ?????????? ???????????? ? ???????????, 44?45, 129?130
AD/Cycle (Application Development/Cy:
cle), ??????? ?????????? ????????? ?????????? ?? IBM, 44
Ada, ????, 114?115
B
Basili, Vic, 83, 95?97, 138, 140, 143?144
Beck, Kent, 35, 58, 176
Benson, Miles, 39
Biggerstaff, Ted, 69, 72?73
Boddie, John, 49
Boehm, Barry, 95?97, 138, 149
Bollinger, Terry, 29
Bosch, Jan, 70
Brooks, Frederick (? ????? ??????), 32?
33, 36?39, 78, 84, 133, 143?144
Brossler, P., 143?144
Bush, Marilyn, 138
C
CASE (Computer Aided Software Engineer:
ing), ?????????????????? ?????????????? ? ???????? ????????, 36, 42?44, 53?54, 131
Chapin, Ned, 155
Churchill, Winston, 116
CMM (Capability Maturity Model ), ?????? ???????? ?????????????? ????????????, 27
COBOL (COmmon Business Oriented Lan:
guage), ????, 114?117
Cockburn, Alistair, 201
Cole, Andy, 49, 60?61, 94
Collofello, Jim, 141
Colter, Mel, 60?61
Computer Sciences Corp., ??????????, 224
Corbi, T.A., 221
Curtis, Bill, 106?110
D
Dangerfield, Rodney, 126
Davis, Alan, 24, 26, 29, 39, 96, 170?171
DeGrace, Peter, 203?205
Deimel, Lionel, 222
Dekleva, Sasa M., 158?159
DeMarco, Tom, 190, 194, 196, 203?205
Dyer, Mike, 104
E
early adopters, 38
Ebner, Gerald, 104
ERP systems (Enterprise Resource Plan:
ning systems), ??????? ?????????? ????????? ???????????, 76
F
Fenton, Norman, 184?185
Fjelsted, Robert K., 154?157
Fortran (Formula TRANslator), 114
Fowler, Martin, 151
Fuzz Papers, 213?214
?????????? ????????? 227
G
Gamma, Erich, 79?81
Gates, Bill, 157
Glass, Robert L., 39, 104, 110, 113, 117?
119, 121?123, 125?126, 135, 138, 141, 143?144, 152, 183?186, 196, 199?202, 205, 214, 218
GQM (Goal/Question/Metric), ???????? ????/??????/???????, 192
Grady, Robert B., 37?40
H
Halstead, Murray, 192?194
Hardy, Colin, 202?205
Hetzel, Bill, 193?194
Highsmith, James A., 201?202
Hunt, Andrew, 115?117
I
IEEE (Institute of Electrical and Electronics Engineers), ???????? ????????? ?? ?????????????? ? ???????????, 69
J
Jacobson, Ivar, 87
JAD (Joint Application Development), ?????????? ?????????? ??????????, 92
JARGON (Jeneralized Aerojet Report Gen:
erator on Nimble), ????????????? ????????? ??????? ???????? Aerojet ? ????? Nimble, 73
Jazayeri, Mehdi, 70
Jeffery, D.R., 60?62
Jenkin, Steve, 142
Jones, Capers, 49, 202, 206?207
K
Kaner, Cem, 133
Kerth, Norman, 142?144
Kitchenham, Barbara, 49
L
Lammers, Susan, 158
Landsbaum, Jerome B., 60?62, 149
Lederer, Albert, 53?54
Lientz, Bennet P. E., 149
Linberg, K.R., 58?62
M
McBreen, Pete, 31?32, 70?71, 112?113, 117, 201
MCC (Microelectronics and Computing Consortium), ??????? ???????????????? ? ???????????, 106
McClure, Carma, 69
McConnell, Steve, 33
McGarry, Frank, 77?78
Michael, Christopher C., 211
Microsoft, 55, 99?101
Miller, Barton P., 213?214
Mills, Harlan, 190, 210?211
Mohanty, S.N., 47?50
Myers, Glenford, 31?32, 140?141
P
Parnas, David, 84, 109?110
PL/1, ???? ????????????????, 115
Plauger, P.J., 200?202
Potts, Colin, 184?186
Pressman, Roger, 51
Procaccino, J. Drew, 61
R
Radice, Roland, 139?141
Rational Software, ????????, 87
Reifer, Donald J., 69
Reilly ? Maloney, 182
Rich, Charles, 131?133
Rifkin, Stan, 137?138
Rombach, Dieter, 192, 194
RPG (Report Program Generator), ??????????? ????????? ???????, 114
S
Sanden, Bo, 200?202
SAP (Systems, Applications, and Products in Data Processing), ???????? SAP, ????????????? ?? ??? ???????, ??????? ????? ? ????????), 76
Schwartz, Jules, 31?32
SEI (Software Engineering Institute), ???????? ????????? ??, 27
228 ?????????? ?????????
SEL (Software Engineering Laboratory), ??????????? ?????????? ????????????????, 67
Share, ??????????, 64?65
Simon, Herbert, 109?110
Software Practitioner, ?????????????? ?????????, 115?116
Soloway, Elliott J., 107?110
SQL (Structured Query Language), ???? ????????????????? ????????, 114
Sullivan, Daniel J., 215?218
Sweeney, Mary Romero, 133
SYMPL (System Programming Language), ????????? ???? ????????????????, 114
T
Taylor, Dennis, 83
The Loyal Opposition, ???????, 22
The Practical Programmer, ???????, 22
Thomas, William, 77?78
Through a Glass, Darkly, ???????, 22
Tichy, Walter F., 184?186
Tracz, Will, 69, 73
U
UML (Unified Modeling Language), ??????????????? ???? ?????????????, 87
V
Van Genuchten, Michiel, 49, 94
Vessey, Iris, 184?186, 201?202
Visser, Willemien, 79?81
Vlasbom, Gerjan, 202?205
W
Weinberg, Jerry, 39, 42, 63, 170?171, 190, 199
Wiegers, Karl, 45, 101, 109?110, 138, 146, 156?158, 202?205
Williams, Laurie, 36
Woodfield, Scott, 83
Y
Yourdon, Ed, 49, 200?202
Z
Zhao, Luyin, 129?130, 213?214
?
????????? ?????, 45, 49
????????????? ????????????, 127?133
??????????????? ???????, 47?50
?????????? ????????? ????????, 40?42, 126?135
????????????? ???????, 96
????????? ?????????, 38
????????? ?????, 19
??????????, 111
?
«????? ???????», 81
??????, ??? ??. Basili, Vic
???, ???? ??. Beck, Kent
??????, ????? ??. Benson, Miles ?????????? ??????????? (????????? ????????????? ? ?????????), 63?65
??????????, ??? ??. Biggerstaff, Ted
?????, ???? ??. Boddie, John
??????????, ????? ??. Bollinger, Terry
???, ?? ??. Bosch, Jan
????????, ? ??. Brossler, P.
?????, ???????? ??. Brooks, Frederick
???, ???????, ??. Bush, Marilyn
?
????????, ?????? ??. Weinberg, Jerry
??? ????????, ??????? ??. Van Genucht:
en, Michiel
???:??????????, 113
?????, ????? ??. Vessey, Iris
??????, ???? ??. Wiegers, Karl
??????, ????????? ??. Visser, Willemien
?????????? ?????? (????????? ???? ??), 89?90
?
?????, ???? ??. Gamma, Erich
?????, ???? ??. Gates, Bill
«???????????? ????????????», 210?211
???????, ???? ??. Hetzel, Bill
?????? ?????????? ??, 110, 113, 143, 199, 201
??????? ??????, 22
?????????? ????????? 229
?????, ?????? ??. Glass, Robert L.
??????, ?????? ??. Grady, Robert B.
?
????, ???? ??. Dyer, Mike
???????, ????? ??. DeGrace, Peter
??????, ??????? ??. Deimel, Lionel
???????, ???? ?. ??. Dekleva, Sasa M.
???????, ??? ??. DeMarco, Tom
???????, ???? ??. Jenkin, Steve
???????, ?. ?. ??. Jeffery, D.R.
?????, ?????? ??. Jones, Capers
?????????, ????? ??. Jazayeri, Mehdi
??????????? ????????????, 48
?????, ???? ??. Davis, Alan
????????????, ????? ??. Dangerfield, Rodney
?
??? ????? ??. Zhao, Luyin
??????? ??????, 99?101, 125?126
????????? ???? ??, 88?159, 208?218
?
??????????? ????????? ??, 191???
??????????? ?? ?????????? ???????, 69?71
??????? ? ??????? ????????? ?????????? ???????, 38
?
?????????, ???????, 191?194
???????? ??????????????? ????????, ??????????, 153?157, 162?165, 219?
222
?????????, 82, 90, 135?146, 212?214
????????? ? ??????????, 135?138
???????? ????????? ?? ??. SEI
???????????????? ???????? ????????????, 126?130
???????????, 26?27, 40?42, 199?205
???????????????? ???????????? (? ???????? ??), 83?87, 90
?
???????? ???????????, 106
??????, ?? ??. Yourdon, Ed
?
??? ????? ????????????????, 219?222
?????, ??? ??. Kaner, Cem
???????? ???????????? ????????, 33?
36, 171?181, 195?196
????, ?????? ??. Kerth, Norman,
??????, ???? ?. ??. Curtis, Bill
?????????, ???????? ??. Kitchenham, Barbara
??????????? ???????, 108
???????, ??????? ??. Cockburn, Alistair
?????????? ??????? ???? ??? ?????? ??? ?????? ???????????, 47?49, 60, 137, 206?207
??????????, ???? ??. Collofello, Jim
??????, ??? ??. Colter, Mel
???????, 197?198
?????????, 198
????? ?. ?. ??. Corbi, T.A.
????, ???? ??. Cole, Andy
?????? ?????? ?? ????????????? (????? ?????), 215?218
?????? ????????, 41?43
?????? ????????????????, 91
?
?????????????? ???? ??????????, 82, 120
???????, ?????? ??. Lammers, Susan
???????, ??????? ??. Lederer, Albert
??????? ?. ?. ??. Linberg, K.R.
?????, ?????? ?. ??. Lientz, Bennet P. E.
?????????? ????, 121?126
?????????, ?????? ?. ??. Landsbaum, Jerome B.
?
??????, ???????? ??. Myers, Glenford
?????, ????????? ??. Michael, Christo:
pher C.
???:????, ??? ??. McBreen, Pete
???:?????, ????? ??. McGarry, Frank
???:????, ????? ??. McClure, Carma
??????????, ???? ??. McConnell, Steve
?????????? (? ????????? ??), 142?144
????????????? ???????? ???????, 55, 93, 95
????????? ????????????, 210
230 ?????????? ?????????
??????????, 24?87
???????????, 26, 202?205
??????, 26?27, 40?42, 199?205
?????? ???????????? ????????????????, 185
??????, ?????? ??. Miller, Barton P.
?????, ????? ??. Mills, Harlan
??????????? ????? ???????????????? ???????, 44
???????????? ??????? ???, 27
?????????? ????????:?????, ?????, 33
?????????????, 95, 96
?????? ???????? ?????????????? ????????????, 27
????????? ????????????, 108
??????? ??. Mohanty, S.N.
???????? (? ????????? ??), 142?144
?????????? ?? IBM, 64
?
????????? ????, 89, 111?117, 174?179
???? (????? ????????), 55?56, 67, 77?
78, 99?101, 191, 224
??????? ???????????? (? ????????? ??), 182?186
?????????? ??????????????? (????? ??????????? ? ??????????????), 52, 58?62, 223???
???????????, 37
????????????? ????????????, 184?186
???????????? ??????????, 46
????????????? ???????, 45?63, 91?94
?
???????????? ????????????????, 145, 197?199
????????? ?????????????? ????????, 209
????????:??????????????? ???????????, 36
???????????? ??????? ?????? ??????????, 36
?????????????????? ??????????????, 107?110
??????????? ?????????????? ??, 107?
110
?????????????? ??????? ??, 62?63
?? ???????? ? ???????? (?????????????? ??), 108
?? ???????? ? ???????? (?????????????? ??), 107?110
?????????????????? ??, 139
?????????? ???, 134?135
?????????, 36, 126?130
??????, 205?207
????????? ????????????, 37, 183?186
?????? ?????????????, 124
?????? ????????, 124
?
??????, ????? ??. Parnas, David
?????? ????????????????, 35
????????, 78?81
???????? ??????????????, 81
????????????????? ???????? ?? ?????? ?????? ?????????? ?????, 118
???????, ?. ????. ??. Plauger, P.J.
?? ? ???????? ???????? ?????, 76, 129, 212?214
??, ????????? ?? ??????, 90, 99?101, 122?123, 140, 171?173
????????? ?????????????, 25, 63?81
???????? ??, 43, 127, 131
????????????:?????????????, 38
?????????, 222
?????, ????? ??. Potts, Colin
??????? ???? ??. ????????? ?????????????, 71
???????????? ?????????????, 150?
151, 176
????????, ?????? ??. Pressman, Roger
????????? (????????? ????), 111?113
???????? ?????????? ??, 24, 26
???????? 2000, 148
?????? ??????? ??, 58?62, 91
???????? ??????????? ????????, ?????????, 69
??????????????, 88?90, 101?110, 174?
176
?????????????? ??, ????????????? ??????, 82, 108
????????? ?????, 74
?????????????????? ????? ????????????, 33?36, 40?42
«??????????? ??????????», 101?104
??????????, ????. ??? ??. Procaccino, J. Drew
?????????? ????????? 231
???????, ????? ? ????? ????????? ??, 26?27
???? ?????????, 45, 49
?
????????????? ?? (????????, ????????????? ????????? ? ??????????? ?????????), 67?69
?????????? ? ??? ????? ??????? ??????, 225
???????????? ?????, 209
??????, ??????? ??. Reifer, Donald J.
????????? ???? ? ???? ????????? ??, 36?40, 65, 171, 185, 223
??????????????? ??????, 141?144
??????????? ??. ???????????? ?????????????, 176
??????, ???? ??. Rifkin, Stan
???, ?????? ??. Rich, Charles
??????, ????? ??. Rombach, Dieter
?????, ?????? ??. Radice, Roland
?
??????, ??????? ??. Simon, Herbert
????????, ?????? ??. Sullivan, Daniel J.
??????, ?? ??. Sanden, Bo
?????????, 69
?????????? ????, 38?39, 171
??????? ????????? ?? ????? (not:in:
vented:here, NIH), 44, 67
??????????????? ??????, 209
????????? ?????????, 97, 97?99
????????? ????????, 98?99
??????? ?????????? ????????? ???????????, 76
????????? ??????, 209
????????? ??, 101?104, 107?110, 211
???????? ??????????, 92, 95
???????, ??????? ??. Soloway, Elliott J.
?????????????, 88, 147?159, 215?218, 221
????????????? ??, 74?76, 82
?????????????????? ?????, 114?117
«??????????????????» ????????, 201
?????????? ?????? (????????? ???? ??), 89, 118
?????????????? ????????????, 120?122, 208?211
??????? ??????????? ??????, 99?101, 172, 212
«??????????? ?????????», ????????, 210?211
??????????? ????????????, 120?122
?????, ????? ?????? ??. Sweeney, Mary Romero
?
??????, ?????? ??. Taylor, Dennis
??????, 225
?????? ??, ??????? ????????, 192
???????, 212
????????????, 88?90, 96, 119?135, 208?
211
???????????? ??????, 121
???????????? ?? ?????? ??????????, 120?122
???????????? ? ??????????? ????????? ??????? ??????, 208
????????????, ??????????????? ?? ?????, 120?122
???????? ????????, 82, 119?135, 208
???????? ??????, 210
??????????? ?????? (? ???????? ??), 83?87
???? ?????? ? ??, 101
????, ?????? ?. ??. Tichy, Walter F.
?????, ?????? ??. Thomas, William
?????????????? ??????????, 102?104
??????????, 50, 88?90, 91?101, 166?168
?????, ???? ??. Tracz, Will
?
«??????????????? ???????», 109?110
???????, ????, 36
????????? ????, 149?152, 215?218
??????????? ?????????, 224
??????????? ??????, 103
?????????? ?? ?????, 56?58
?????????? ?? ????? (?????????????? ???????), 56
??????? ????? ????????????, 33?36
????? ??????? ??, 58?62
?????????? ??????, 88?90, 99, 126?146, 168?173
232 ?????????? ?????????
?
??????? ?????, 143?144
?????? «?????», 113
????????, 41, 213
??????, ?????? ??. Fowler, Martin
??????, ?????? ??. Fenton, Norman
?????????? ???????????, 210
?????????? ????????????, 92?96
?????????????? ?????, ????????, 47
?????????, ?????? ?. ??. Fjelsted, Robert K.
?
??????????? ?????, ????????, 47
???????, ?????? ??. Highsmith, James A.
????, ?????? ??. Hunt, Andrew
?????, ????? ??. Hardy, Colin
???????, ?????? ??. Halstead, Murray
?
??????????? ?????, 107, 111
?
?????, ??? ??. Chapin, Ned
???????????? ??????, 26?29, 197?199
???????????? ?????? ??????, ??? ??????????? ? ?????? (??????? ? ???, ??? ??????? ????? ?????), 27?28
????????, ??????? ??. Churchill, Win:
ston
?
?????, ???????? ??. Ebner, Gerald
??????????, 90, 100, 135?146
????????????? ????????????????, 36, 40?42, 57, 74, 110, 176
?
???? ??????????, 114?117, 174?179
????? ???????? ??????, 36, 177?179
????? ?????????? ?????????, 36
???????, ????? ??. Jacobson, Ivar
?? ???????? ????? ????????????? «??????????» ? ????????????
????? «Books.Ru ? ????? ??????» ???????????? ????????? ??????
????????? ??????? ????? ? ?????? ISBN 5932860928, ????????
«????? ? ??????????? ????????????????? ????????????????» ?
??????? ? ???????????????? «Books.Ru ? ????? ??????». ???? ??
???????? ?????? ???? ????????? ?????? ???????, ?? ????????
????????????? ???????????????? ? ???????????????? ??????????
????????? ?? ?????? ?????????? ?????. ??? ?????????? ???????
?????? ????, ? ????? ???????? ???????????? «??????????»
(piracy@symbol.ru), ??? ?????? ?? ???????? ?????? ????. ?? ?? ???,
?? ?????????? ?? ?????? ?????? ????? ???????.
214 ????? 6. ? ????????? ?????
????? ?? ??? ???????????? ??????????? ???? ???????? ????? ?????:
??? ??????????? ?????, ??? ?? ?????? ??????? ? ????????? ??, ????? ??
??????????????? ?? ???? ??? ?????????? ???????????, ?? ??????
???? ????????? ????????? ?????? ??? ????????????? ???????? ?? ?????
???????. ? ?? ???? ???????????? ?? ?? ???? ? ??? ??????????? ?????????
?????? ?? ???? ???, ??? ?????? ?????? ???????? ?? ?????? ???????? ??:
?????? ?????,? ? ????????????? ???????????? ???? ?? ????????????
??? ? ???????????????? ??? ????????????? (?? ?????? ?????? ????????:
?? ????????? ? ???????????? CASE).
????????, ? ?? ?????????, ??? ?? ? ???????? ???????? ????? ?????
???????, ??? ??? ????????????. ? ?????????, ??? ?) ???? ?? ???????? ???:
?? ??????? ???????????? ????? ??????????? ? ?) ???????????? ??????????
????? ??????? ???? ??? ??? ?????. ?????????
? ??????????, ????????????? ? ??????? «??????», ???????:
Glass, Robert L. 2001. «The Fuzz Papers». Software Practitioner, Nov. ??:
?????? ?????? ?????????? Fuzz Papers ? ????? ?????? ??????????
?? ? ???????? ???????? ?????. Glass, Robert L. 2002. «Open Source Reliability ? It's a Crap Shoot». Soft+
ware Practitioner, Jan. ?????? ?????? ??? ? ????????, ?????????
? ????????? ???????. ??????
Miller, Barton P. «Fuzz Papers». ???????? ????????? ?????, ????????:
?????? ??? ????? ????????? «Fuzz Papers» ? ?????? ????? ? ? ???:
??? ?????? ? ?????????? ???????? ?. ???????? (Barton P. Miller),
??????????? ??????? ?????????????? ??????? ??????????????
????????????. ? ??? ????????? ?????????? ?????? ?? ?????? ?????:
??????? ??????, ? ???????? ?? UNIX ? Windows (?? Linux ???????:
?? ???? ?????????????? ????????). ?? ?????? ????????? ??????
????? ????????? ?????? ?? ????? «Fuzz Papers» ???? ????????????
? ?????????? ?????????? USENIX Windows Systems (the Proceedings
of the USENIX Windows Systems Symposium) ? ??????? 2000 ?.
Zhao, Luyin, and Sebastian Elbaum. 2000. «A Survey on Quality Related
Activities in Open Source». Software Engineering Notes, May. ????????????? 215
?????????????
??????????
???????? ??????????? ????????????? ???????, ???????? ?? ???? ??????:
??. ? ????? ??????, ?????? ????? ??????????? ???????, ????? ? ???? ??. ??:
????? ?? ??????? ?? ?????????????, ??? ????????? ??????? ????????
????? ?????? ?? ?? ???????, ??????? ??? ?????????. ?????? ??? ??????:
??????? ?????????????. ?? ????? ???? ???????? ?????. ?? ?????? ??? ??
????????????? ??????????. ??? ??? ?????????? ???????, ???????? ????? ??????????? ? ???? ??:
??????????? ??:
? ?????? ?????????????? ??????? ?? ????????????? ??????? ???:
??????
? ?? ???? ?? ???????? ? ?????? ????? ?????????
??? ??????? ?? ?????? ?????????, ?? ? ?????. ? ?? ????????? ?? ????:
???? ?????????, ??? ??? ???????? ??? ???????? ? ??????????? ?????????:
??? ???????? ?? ?????? ????? ???????? ????? ?????????? ??????????.
????????? ?? ???? ????? ???????????? ????????????? ? ?????????????
??, ??? ? ??? ??????.
????? ???????? ?? ???? ??????, ???? ??????? ?????????? ? ???, ??? ???:
??????????? ?????????????. ??? ?? ????? ?? ????? 42, ? ????????????
??????? ??? ??????? ?? ??????????????????. ??????? ?? ????? ????????
?????? ??????????????? ?? ??????? ??????????? ?????? ? ???????????
????????. ? ???? ????????, ????, ???????, ???? ?????? ???????????? ????:
?? ????? ???? ???????????, ?? ??, ??? ????? ?? ?????????????????.
??? ???? ?? ?????:?? ?????????????? ? ??????? ???????????????????
??????, ??????? ?? ????????? ????? ?? ???? ??????, ?? ?????, ?? ???? ??:
??????? ?????, ????????? ????????????. ?????? ????? ?? ??????????:
??? ?? ????? ???????? ? ???, ??? ?????? ?????? ?? ????????????? ?????
????? ????? [Sallivan, 1989]. ? ????????? ????????????? ????????? ???:
????, ??????? ??????????? ?? ?????, ?????? ???: ?) ? ????????????? ???:
?? ??????????? ?? ???????, ??????? ??? ???????? ?????????, ? ???
??????????? 9
????, ?? ??? ???????? ????????? ? ?????????? ??????, ?????
???????????, ?? ??? ??? ????????? ? ???????, ? ??????? ????
??? ? ???????????????? ?????? ????????. 216 ????? 6. ? ????????? ?????
???????????? ? ?????? ?????, ??????? ????????, ?? ??????? ????? ????:
???? ??????; ?) ??????????? ????????????? ???????? ?? ????????? ???:
??? ?????? ??????????? ??????? ?????????? ??????, ??? ?????????? ??:
???? ? ??? ?? ????? ??????? ??????. ?? ?????????? ??????? ?????????
??????, ????? ??????? ?? ????????? ? ??????????? ?????????????
? ?????? ?????? ??????? ???? ?? ????? ? ???????? ????? ?????????????,
????????? ?????? ? ?? ?????? ???????? ? ???????????, ??????? ? ???:
??????????????? ???????? ???????????, ? ???????????? ?????? ???, ???
????????? ??????? ?????? ?? ?????? ? ?????????. ??????? ????????? ???:
?? ???????????????, ????????? ? ??? ?????????????, ? ?? ????????????
??????? ???????? ? ??????? ????????????, ?????????? ? ???? ??? ?????:
?????????. ??????? ? ????? ???????, ??????? ????????? ??? ????????:
??? ????????? ??????? ??????, ? ?????? ?????? ?????? ???? ?????, ????:
??? ?????? ???? «?????». ?? ?????????, ??????? ?????? ?????????? ????:
??, ????????. ? ?????, ??? ??????? ?? ????????????? ??????, ?????????? ????? ?????,
??? ??????????? ??????? ???????. ? ?????????? ????? ?????? ?? ????????:
????? ??????? ????????? ? ????? ?????????? ?????????, ?????????
??????????, ???????????? ????????? ???? ????????? ?????, ? ? ??????:
??? ??????? ??? ?????? ????????? ???????? ? ?????????, ?????? ???
?????? ?? ????? ???????? ??, ??? ??? ?? ???? ???????. ? ????? ?????? ??:
????? ?? ????????????? ????? ??????????? ?, ????????, ?????. ???????:
?? ????????? ?????? ???? «?????». ? ?????? ???????? ? ???? ???????????? ???????? ?? ?????? ????? ???:
?????. ???????, ????? ??????????? ???????? ???? ???? ?????????, ????:
??? ?? ?????? ??? ???????, ?? ??????????? ????????????? ???? ??????:
??? ?? ??????? ?????????? ? ????? ?????, ? ????? ??????????. ???????:
?? ?? ?? ?? ??? ?????, ??? ??????? ???????? ?????????? ??? ????????
??????????? ? ?? ????, ? ??????? ????????? ????? ??? ?? ?????????? ??:
??? ???? ? ?????? ?????????? ???? ?? ??????, ? ??????? ?????? ?????????:
??? ??? ???? ??????? ?????????? ?? ???, ??? ?? ?????? ?????????, ? ????:
??? ???? ??? ????????? ??????? ??? ?????? ?????? ??? ??????? ??????
? ??? ????????? ?????? ?????????????? ???????????????.
??????????? ?? ???? ??????????????, ? ?????????, ??? ??? ???????
?????? ???????????????? ??????? ?? ?????????????, ?????????: ?) ??:
??????????? ?????? ???????????, ?????? ????? ??????? ?? ??????????:
??? ? ?) ????? ????, ????? ?????????? ?????????? ???????, ??? ????? ??:
???????? ????? ???????? ??????? ? ?????? ????????.
????????????? 217
????????, ??? ? ????? ??????? ? ?????????????? ???????? ????? ????:
???? ??????????? ? ?????????????, ???? ??? ???? ?? ???????? ?????????,
? ?? ?????????? ?????????????? ?????? ????????. ???? ???????? ? ??????
????????, ?? ???? ??????? ??? ????. ? ??????????? ???????? ????????
????????, ??? ?????????? ?? ??? ??????????? ???????? ??????????? ??:
????????. ??? ???????? ?????? ????? ??????????, ??????? ???????????:
?? ?? ??????? ?????? ????????, ? ??? ??????????, ????? ????, ?????? ??
?????????? ? ???????. ?? ??? ? ????????????, ?????? ??? ??? ?? ??????:
???????? ? ?????????? ?????????. ?? ?????? ???????? ?? ???, ??? ????????:
?? ???????? ???????, ??? ??????? ? ???, ??? ??? ????????????, ?????? ???
?????? ?? ??? ?????????? ????? (???? ???????? ? ??????????? ??????:
??, ??????????????? ?? ?????????? ????????????? ??????? ???????).
?? ????? ????????? ????? ???????? ?????????? ????????, ?? ??? ????
??????????????????? ? ???????? ????????, ?????????? ??????? ??????:
?? ?? ????? ?????????. ???????????? ????????? ????????????,
1
?????
???????, ??? ?????? ?? ?? ???????, ? ?????? ????????? ????. ??? ??????????? ?? ??? ? ????????????? ?????????????? ???????, ??:
????????? ?? ?????? ? ???????? ????????? ??? ?????! ????? ????, ???
???????, ??? ????? ???? ???????????.
????????
???? ?????? ???? ???????, ?? ??????? ?????? ??????????? ??????? ????:
??? ? ??????? ???????????, ? ??????? ??? ? ???, ??? ????????????? ?????:
???????? ?????, ???????????? ????????? ?????????????, (? ?? ????:
??? ????) ???????????? ????????? ??????, ????? ?????????????? ????:
??, ????? ???????? ?? ???????, ???????? ???, ??????? ?? ?????? ??? ???:
????????. ? ???? ?????? ????? ?????? ?? ???????? ? ????? ??????
?????? ?? ?????????????. ??? ???????, ??? ??????? ?? ?????????????
?????? ??? ??????? ? ???????, ???? ?? ?????????? ?????????????.
????? ??? ?????? ??? ???? ??????. ??? ????????, ??? ??????? ???? ??:
????? ?? ??????????? ?????? ? ??, ? ?? ??????? ?? ??? ???????????????:
???. ??????, ?????? ????? ? ???????????? ?????????, ????? ????, ? ??
???????? ??????????????, ?? ???, ?? ??????? ????, ????? ?????????????
1
«Old soldiers never die, they just fade away.» (?????? ??????? ?? ???????, ???
?????? ?????? ? ???????.) ???????????? ??????????? ???????? ??????? ???:
?????? (Douglas MacArthur) ? ??????. ?????.
218 ????? 6. ? ????????? ?????
?????; ??? ??????????? ????? ?????? ?? ???? ?????????????? ??????.
??????? ???? ???????? ? ??? ?????, ??? ??????? ?? ????????????? ?????:
????? ?????????????. ? ?????? ??? ???????, ?? ??? ??? ??? ???? ??????
?? ?? ???????, ??????? ????? ?????? ????? ???? ?????? ??????????.
?? ????? ?? ??????????? ? ???????, ??? ???? ?????? ? ????? ???????
?????? ???? ??????, ? ??????? ? ???? ? ?????????, ?????? ??? ????? ??:
????????. ??? ??? ???? ???????? ? ???????? ???????????? ?????? ?? ??:
??????? ??????????, ??????? ??????? ?? ?????????????? ???? ?? ???
???????. ?? ?? ????????? ?? ???! ????????, ??? ??? ?????? ????? ??????:
??????????, ?? ??????? ????????? ???? ?????? ??? ?????????????? ??:
???????????. ??? ????????? ?? ??? ??? ?? ??????????????? ? ???????
???????????? ?????? ?? ?????????????.
??????? ? ? ??????? ???? ????? ????????????, ???????, ??? ?????????
?? ???? ??????????????, ???????????? ?????? ???????????? ???? ??
?????????? ?????? ?????????????? ???????? ??????, ???????? ? ??????:
?? ?????????? ?????? ????. ?????????
? ?? ???????? ????? ??? ???????????????, ?? ????????? ?????? ?? ???
?????????, ??? ?? ????? ? ??, ??? ???????? ? ????, ? ??? ??????, ? ??? ? ??:
????, ? ?????? ?????? ? ??? ????? ?? ????. ?? ????? ????????? ?????? ??:
???????? ?? ???? ????, ? ??????? ??????????? ???????? ??????? ?? ??:
???????????, ? ??? ????? ? ?? ?????? ??:
Glass, Robert L. 1991. «The ReEngineering Decision: Lessons from the Best
of Practice». Software Practitioner, May. ???????? ?? ?????? ????????
?. ?????? (Patricia L. Seymour), ???????????? ???????????? ?? ??:
?????? ?????????????, ? ????? ???? (Martha Amis) ?? Ford Motor
Co.
Glass, Robert. 1991b. «DOING Re:Engineering». Software Practitioner,
Sept.
??????
Sullivan, Daniel. 1989. ?????? ??????? ??. ????????? (Daniel J. Sulli:
van) ?? Language Technology, Inc. ?? ??????????? «Improving Produc:
tivity in EDP System Development». 7
?? ???????????
??????????
??? ?? ??????? ???????????????? ????? ???????, ??? ??? ???? ?????:??
??????? ? ??????? ??????, ?? ??????? ????????????? ??????????? ? ?????:
??? ????? ????????????????, ????? ???? ???????????? ?????????? ??????
????? ??????????? ???, ??? ?? ?????????????????. ? ???? ?? ???????
??????????????? ????? ??? ?? ????? ?????, ?? ????????? ?? ???? ???????
??? ???? ???? ? ?? ??. ?? ?????? ? ????? ????????????????, ??? ??? ???:
????????? ? ???, ? ????? ????????????? ?????? ??????? ?????? ?? ????
????? ??? ??? ??????. ? ????? ?????? ???????? ???????????????? ????????? ????? ? ???:
??, ??? ??, ????? ????, ? ?? ?????? ? ??? ?????? ???????. ? ????????.
?? ???????? ????? ???????.
???? ??? ? ???: ?????? ????? ????, ?? ? ?????? ??????? ?????? ??????.
?? ?????? «????? ? ???», ??? «???? ? ?????», ??? ?????:?? ?????? ?????:
??????? ? ???????. ? ?? ?? ???????, ??? ????? ???????? «???? ? ?????»
??? «????? ? ???», ?? ?????? ??? ????? ?????? ???????? ?????????? ???:
??? ?????????. (???????? ???, ????????? «???? ? ?????» ???? ???????
??????????! ???? ?????? ???????, ????????? ? ???????, ???????????????
???????? ? ??????? ?????????.)
??? ?? ??????? ???, ??????? ? ????????? ??, ?? ???? ???????? ????,
????, ?? ??????? ?????? ???? ??????, ??? ??????? ? ???? ?? ??????, ???
??????????? 10
????? ????? ??????? ????????????????, ????????? ??, ???
?????? ?????????. 220 ????? 7. ?? ???????????
????. ?? ?? ???? ?? ????, ? ???? ??? ????????. ? ?? ???? ?? ?????? ????:
???? ????????? ? ???? ?? ?????? ????????, ? ??????? ?? ??????? ??????:
??? ???????? ??????? ????? ?? ??????. ??????????? ??????? ?????????
?? ????????? ???????????? ???????????? ?????????????? ???????,
?????????? ??, ?????????????? ????????? ???????? ?????
?? ????????? ????????, ?? ?? ? ???? ?? ???????? ????? ?? ?? ??????.
???? ? ????? ??????, ?? ????????? ??????? ????????????, ? ??????:
??? ?? ?? ?????????? ?? ????? ?????. ? ???? ???? ????????? ????????:
??? ?? ????? ??????. 1.??? ???? ????? ????? ?????? ????????, ?????????? ??????? ????:
??????????? ???????. ????????, ??? ?????? ???? ?????????????
???. ? ????? ????? ??????? ?????? ????????. ?? ?????????, ???
? ???? ???? ?????? ???? ??????, ????? ?? ???? ????? ???? ??:
????? ?????, ??????? ?? ?????, ??? ?????? ?? ????. ? ??? ???? ?????:
?? ?????. ????????? ? ???, ??? ? ???, ??? ????? ? ????????? ??, ??
?????? ????????? ??????? ?? ??, ??? ????? ??????? ???, ? ??? ?????
??????. ????? ????, ? ??????????? ????? ????????? ?? ???????
?????? ?? ??????? ??? ?????? ?? ???????? ????, ? ??? ???? ? ??,
???????. ????????? ??? ????? ???????? ????????? ?? (Software En:
gineering Institute ? SEI) ? ???? ????? ????? ?????? ????? ???????:
???? ???? ? ? ????? ?????? ????????? ?? ???? ?????. ? ????? ??? ???:
?????????????? ????? ???????? ?????, ? ??????? ???? ??? ????:
???, ??? ? ????????? ?????????. (??????????? ?????????????
??????? ???? ??????? ????????? ? ????, ?? ? ?????, ??????????
????????, ??? ???? «????? ? ???» ????? ?? ??? ??? ?? ???????!)
2.??? ???? ????? ????? ???? ????? ?????? ???????????? ????, ??:
???????? ????????. ?? ???. ? ?????? ?? ????????? ??? ???? ??
???????????????? ????????? ? ????????? ????????, ? ?? ? ???:
???. ???? ?? ?????? ??????? ? ???, ??? ????? ?? ?????, ??? ????????
????? ?????. ??????? ? ???????????? ??? ?????? ???????? ????:
???????? ????????, ?????????????? ?? ????????? ???? ????. ??
?????? ?????? ??? ?????? ???? ??????????? ?????????. ???? ????:
????? ?????????? ? ???? ?????, ?????????? ???????????? ???????,
??? ?? ????? ???. ??:?? ? ???????? ???? ????????????? (?????????
??? ???? ?????????) ???????????? ?????????? ?? ?? ??????????. ???
???? ?????????? ???, ??? ???? ???????????????, ? ???? ????? ???
?? ???? ??????? ??????? ??????. ? ????? ????? ???????? ?????????
??????? («???? ? ?????» ?? ???????? ??? ??????).
221
3.??? ? ??? ???????, ????? ??? ????? ?? ????????? ??????? ???????
???? ?? ????????????? ???????????, ??????? ????????? ? ???:
?????????????. ??? ???? ??????? ????. ?? ? ???? ????? ?? ???:
????? ?? ???? ??????? ? ???, ????? ????? ?????? ????. ??? ??? ????:
????, ??? ?????? ???? ????? ????????, ? ??????? ??? ??????????
? ??? ?? ??????, ???????? ???????? ??????. ? ?? ?????, ??? ??????
???????? ??????????? ??????? ?????!
4.???????????? ?????, ????? ? ????????? ?? ?????? ???,? ??? ????:
?? ?????????????. ? ????????????? ???????????? ????? ???????
????????????, ? ??????? ????????? ? ??????? ??????????????. ??:
?? ?? ?????? ?????? ????????? ??????????? ? ???, ??? ??????
???? ? ??? ????? ????????? ????. ??????? ???????? ???????? ????
??????????? ????? ???, ??? ?????? ?????? ? ?????.
????????
????? ??????, ??? ???????????? ?? ???????? ????????????????, ????:
????, ??? ??? ???? ?????????? ???????????. ?? ????? ?????, ???????,
?? ????? ??????? ??? ?????? ? ?????????? ???:?? ???????? (????? ?????,
??????? ? ???????????? ?????????, ??? ????? ?? ???????? ???????:
???). ??? ?? ??? ??????, ? ??????? ???????, ???????? ???????? ???????
???? ??????? ??????, ? ????? ??????, ???? ??????????, ?? ??????????? ??:
???, ??? ?? ????? ??? ?????? ?? ???????. ? ????? ?? ???? ???? ??? ???????
????????, ???? ?? ????? ???? ??? ??????? ? ????? ???? ?? ????? ???????,
???? ?? ????? ???????? ????, ?????? ???? ?????????.
?????????
???? ?? ??????? ?? ???????????? ?? ????, ? ? ?????, ??? ? ????????? ??
??? ?????, ?? ?????? ?????????, ?????? ???????????????? ?????? ???, ???
???????? ?? ????? ??????? ???????????? ???????.
Corbi, T. A. 1989. «Program Understanding: Challenge for the 1990s». IBM
Systems Journal 28, no. 2. ???????? ???????? ?? ???? ???????????
???? ??????? ??? ???????? ?????. ????? ???????: «???????????? ??:
????????? ? ?????? ?????????? ??????????? ???????? ???????? ???:
??? ????, ?????? ? ??????
.
.
. ?? ?????? ??????????? ? ???????? ??:
???????????? ??????? ???????, ??? ????????, ??????????? ? ???,
????????? ????????? ?????? ?? ??????? ?????
.
.
. ???????????? ??:
222 ????? 7. ?? ???????????
????? ????????? ???????????? ???? ????????????? ? ?????????:
??? ??????? ?? ?????? ??????.»
Deimel, Lionel. 1985. «The Uses of Program Reading». ACM SIGCSE Bulletin
17, no. 2 (June). ? ???? ?????? ????????????, ??? ?????? ??????????:
?? ???? ????? ??????? ????????, ? ??? ??????? ???????; ??????????
????????? ??????? ? ????????.
Glass, Robert L. 1998. Software 2020, Computing Trends. ? ???? ???????
??????? ?????? ????, ????????????? «The ?Maintenance First? Soft:
ware Era». ? ??? ?????????, ??? ????????????? ?? ??????, ??? ???
??????????, ? ??? ??????? ???? ??????? ?????? ??????????? ???,
? ????? ?????? ???, ?????? ??? ??????????? ?? ????????????? ??:
???????? ?????? ???????. Mills, Harlan. 1990. ???????????, ????????? ?? ??????????? ?? ??:
??????????? ?? ? ?? ??????? ???? ?????? ? ?????? [Glass, 1998].
???? ?????????? ??????:???????????? ???????, ??? ??????????
«? ?????? ??????? ??????????? ?????????????
.
.
., ?????? ??? ? ??:
??? ??????????? ???????? ?????? [?? ????????? ? ?????????????:
????] ??????? ???? ??????, ? ????? ??????».
????????, ??????????????? ? ???? ????????? ????? ??? ???? ??????.
? ??? ???????? ?? ??????, ? ????? 44, ????? ??????? ? ????????????? ??,
?? ? ????? ??? ?????? ???????. Lammers, Susan. 1986. Programmers at Work. Redmond, WA: Microsoft
Press ? ???? ????? ? ?????????? ???? ????? (?? ??? ????? ??????):
«[?????] ?????? ?????? ????????????? [???? ?????????????] ??:
????? ? ???, ????? ?????? ????????? ? ??????? ??????? ???????:
??, ?????????? ???????. .
.
.? ???????? ???????? ????????????
?????? ? ???????? ???????? ??????????????? ??????». ??????
? ??? ?, ??? ??? ????? ????? 55 ?????? ? ????????? ???????????, ??:
???????? ??????????????? ????????? ? ????????? ??. ?? ?????
??????????? ? ?????????? ?? ??? ? ?? ??????????? ? ???????. ?? ? ????:
???, ??? ??? ?????????? ??? ??????? ?? ???? ???? ?????????????? ???:
???, ? ? ?????? ??? ????? ????? ? ???, ??? ??? ????? ????????? ??????
?? ???????? ? ????????????? ??. ?????????????? ????? ????? ? ??????????? ????????? ??? ???????
? ?? ?????? ???. ? ????????? ??????????? ????????? ? ?????????, ????????? ? ??:
??, ?????????? ?????? ?? ????, ??? ?? ?????? ? ???? ??????? ? ?????
? ???. ?? ????????? ?????? ?? ??????, ? ?? ???? ? ??? ????????, ???:
??? ???? ????????? ? ??? ???????????. ? ??? ????? ????????? ???:
??????? ?????? ? ???? ?????, ? ????????? ????? ?? ????????????. ? ???????????? ???? ? ????????? ?? ?????? ???????????? ??????
?????????????? ?? ???????? ?????? ?????. ? ??????????? ???????
????? ???????????? ??????? ??:??? ???????? ?????? ?? ? ???????
???????? ???????? ??, ? ? ???, ??? ???? ?????????? ??????, ?????
????????????? ? ???????????. ? ???? ????? ??????? ?????? ??????.
? ????? ??????????? ? ?????????????? ?????????? ??????. ????,
? ?????????, ??????????? ??, ??? ??????????????, ??????? ? ???????
??????????? ????????, ???????? ??:??? ????????, ??????? ??:
?????? ???????, ?? ?? ?? ??????? ????????, ????? ???????? ??????.
?? ???? ??????? ????????? ? ???? ??????. ? ????????? ???? ? ?????????? ????????? ????????????? ??????,
????????? ??? ????? ?? ?????, ????????? ???? ??????????? ????:
???????? ????????, ???????, ??????????????? ?? ??????????
?????? ???????. ?? ?????????? ?????? ??????? ??????, ???? ??:
?
224 ??????
??? ???? ???????, ??? ??? ?? ??????? ??? ?????. ???? ????????????
????????? ?????? ?????.
? ?????????? ???? ?????? ? ??????????? ???? ????????. ??? ???? ???:
?? ??????? ??? ???????, ? ?????????? ?? ?????????, ??????? ????????:
??? ?? ?????????? ? ??????????? ?? ????, ??? ???? ?? ??????? ????????:
??? ???? ? ??????????????? ??????, ????????, ????, ?????????? ???????
? ???????????? ????????????, ??? «????» (????? ? ????????? ?? ??? ?????,
?????????????? ?????? ??????????? ??????????????). ??? ?????? ???:
??? ? ???????, ??? ?????? ????????? ????, ??? ???????????. ? ???????? ???????? ????????? ???? ?????? ? ??????????? ?????????
??????, ??????????? ?? ?????? ? ??????? ??????, ?? ? ? ???????????? ???:
?????????. ????? ??? ????? ???? (Barry Boehm), ???????? ????? (Fred
Brooks), ?? ????? (Al Davis) ? ????? ???? ?????. ???????? 35% ??????????
(????? 60) ????????? ? ???? ?????????. ????????? ?? ???????? ??????
?????????? ???? ????????, ??? ???? ????? ????????????? ? ?????????
?? (50, ??? ???????? 29%). ??????? ??????, ??? ? ??????, ?????????
??????????????? ?????? (????? 40 ??????????, ??? 23%). ?, ? ????? ??:
??????? ?????????, ?? ???? ????, ??????????? ????? ?????????????
??????, ???????? ???????? 20 ??????????, ??? 12%. ?? ?????, ??? ??? ????? ??????? ? ???? ?????? ???????????? ? ????:
?? ???? ?????? ? ?????????? ??????, ??? ??? ??????? ? ??? ?? ?? ?? ????
???. ? ???? ??? ???????? ????????? ??????? ????????????, ???? ??????
??????? ??????? ?????????? ????????? ??????? ????????????, ???????:
?????? ?????????. ? ? ?????????? ???? ? ???????? ?????? ??????????. ????????? ????????????????? ??????????? ? ?? ????? ????? ????????,
??????? ?? ?????????????. ??? ??????????? ?????????? ????????????
??????????? (Software Engineering Laboratory ? SEL), ? ?????? ??????? ???:
?????? ? ??????, ? ????????, ? ????? ?????????????. ?? ??? ??????, ?????
??? ?? ?????????? ???? ??? ?????????? ????? ?????? ???????????? ? ??:
????? ?????????????? ???????, ??????? ???????????? ??????. ?????
? ???????? ?????? ???????? (?????????????), ???????? Computer Sciences
Corp. (??????????????) ? ???????? ?????????? ?????????????? ???????
???????????? ????????? (????????????? ?????) ?? ??, ??? ??? ??????????
???? ?????????? ? ????????? ????? ?????? ??????. ??? ?? ????????? ?
??????? ?????????? ????? ???????????. ? ?????? ???????????? ? ?? ??????? ???????? ????????? ?? (Soft:
ware Engineering Institute ? SEI) ??? ???????????? ??????? (Carnegie Mellon
University) ?? ?????????? ?? ?????? ?? ????????? ????????? ???????:
?????? 225
??? ?????????? ??. ????????, ????????? ???????????????, ???????? ?
??????????? ?????????? ??, ?????? ???:?? ?????????? ? ????????. ??:
??? ????, ???????? SEI ?? ?????? ???????? ?? ??????????, ??????? ??????
?? ?, ?? ???? ?? ??? ????
Автор
shmaltorhbooks
Документ
Категория
Информационные технологии
Просмотров
2 050
Размер файла
2 660 Кб
Теги
программирование
1/--страниц
Пожаловаться на содержимое документа