You are on page 1of 224

32.973.

2-018-02
004.415
29

29

.
. . .:
, 2012. 224 .: .
ISBN 978-5-459-01044-2
, ,
: .
. .
(
), , ,
, , .
: . ,
, .

32.973.2-018-02
004.415

Prentice Hall, Inc. Upper Sadle River, New Jersey 07458.


. .
, , ,
. , ,

, .

ISBN 978-0137081073 .
ISBN 978-5-459-01044-2

Prentice Hall, Inc., 2011


, 2012
,
, 2012

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1. . . . . . . . . . . . . . . . . . . . . . . . . . 19
2. . . . . . . . . . . . . . . . . . . . . . . . . . 35
3. . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4. . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5. . . . . . . . . . . . . . . . 87
6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
7. . . . . . . . . . . . . . . . . . . . 105
8. . . . . . . . . . . . . . . . . . . . . . 124
9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
11. . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
12. . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
13. . . . . . . . . . . . . . . . . . . . . . . . . . 175
14. , . . . . . . . . . . . . . 180
. . . . . . . . . . . . . . . . . . . . . . . . . 193
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211


. . . . . . . . . . . . . . . . . . . . . . . . . 13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1. . . . . . . . . . . . . . . . . . . . . . . . . 19
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . .
, . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
/ . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20
20
23
23
24
25
26
26
28
29
30
31
32
32
33
33
33

2. . . . . . . . . . . . . . . . . . . . . . . . . 35
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .

37
40
41
42
44
46
47
53

3. . . . . . . . . . . . . . . . . . . . . . . . . . 56
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
X. . . . . .
, . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

58
59
59
60
61
62
62
63
63
64
66

4. . . . . . . . . . . . . . . . . . . . . . . . . . . 67
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

68
70
70
72
73
74
74
75
76
79
79
80
80
80
81
81
81
82
83
83
84
84

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5. . . . . . . . . . . . . 87
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TDD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TDD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

89
89
90
90
91
91
92
93
94
94

6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
7. . . . . . . . . . . . . . . . . 105
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

105
107
107
108
108
110
110
113

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
? . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
- . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

113
115
115
116
117
119
120
121
122
122
122

8. . . . . . . . . . . . . . . . . . . 124
. . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

125
125
126
126
127
128
129
130
130

9. . . . . . . . . . . . . . . . . . . . . . . . . . . 132
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . .

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

133
134
134
135
135
136
136
137
138
139
139
140
140

10

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
, . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

141
142
142
143
144

10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . .
PERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

147
148
148
150
151
154
154
155
155
156
157
157
157

11. . . . . . . . . . . . . . . . . . . . . . . . . . 159
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

161
161
162
163
163
163
164
164
164
165

12. . . . . . . . . . . . . . . . . . . . . . . . . 166
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
. . . . . . . . . . . . . . . . . . . . . . . . . . . 168
. . . . . . . . . . . . . . . . . . . . . . . . . 171

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

11

171
172
172
173
174

13. . . . . . . . . . . . . . . . . . . . . . . 175
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
? . . . . . . . . . . . . . . . . . . . . . . .
? . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

176
176
177
177
178
178
179

14. , . . . . . . . . 180
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Digi-comp I, . . . . . . . . . . . . . . . . . . . . . .
ECP-18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

181
182
182
183
186
187
187
189
189
190
190
191
191
192
192

. . . . . . . . . . . . . . . . . . . . . 193
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

12

. . . . . . .
CVS / SVN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IDE/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FitNesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
UML/MDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

196
197
200
203
204
205
205
206
206
207
207
208
209
210

. . . . . . . . . . . . . . . . . . . . . . . . . . . 211

( , !)

? , , . ! , .
. 421
. . .
, ,
. , 2.
/ ,
. COBOL, FORTRAN, BAL, PDP-8, PDP-11, C, C++, Java, Ruby,
1
2

!
.

14

Smalltalk . , .
.
,
. ,
, , .
, ?
. ,
,
.
1969 . 17 .
ASC
. (, .
, : ! . .)
, , IBM,
. :
.

Easycoder1.
,
. ,
Autocoder , .

. 1 1
. .
,
. , 50
25 25 ,
. .
; ,
200 , . (,
1

Honeywell H200, Autocoder


IBM 1401.

15

)
.

, 25 80 .
.
. 6
. 10,
.
.
,
.
, , ,
.
.
. .
.
.
, ( ). ,
. ,
.
. . (,
!)
, .

, . , - , ,
. ,
, . ,
.
, ,
- , .

16

, . ,
. .
,
. , ASC ,
17- .
, ASC .
ASC
. , .
, , , .
1970 . , , , . , .
COBOL, Fortran, PL/1, PDP-8
IBM 360.
.
ASC. ,
19 ,
, . Varian 620i
-, PDP-8, ,
16- .
.
. , . ,
, /, ,

.
8 , 7080 . $7200 .
. .
, . ,

2%. .
.
, , .

17

. .
, . 19 ,
. , .
, . ,
, .
.
,
- . .
,
.
. .
,
, ,
. , ,
, , ,
. ,
, .
,
. . . ! $6800 ,
.
,
. . .
, ,
.
, , ? . ,
.

.
, , , , .

18

, . , .
, -
.
, ,
.


, comp@piter.com ( ,
).
!
- http://www.piter.com.

, , . ,
,
. ,
! !
, -

20

1.

, ?
: !
, ,
, .
, ?


. ,
, . ,
:
, .
.
. ,
.
, .
,
$10 000? , : , .
$10 0001!
, ,
, ? . , .
.

, ? ; .
, ,
.
1

, , .

21

1979 Teradyne. ,
. -
300 , . .
,
.
100 000 .
, .
,
. ,
.
: - ,
.
. ,
.

. : .
, .
, . .
,
.
,
. , ,
, .

, . ,

22

1.

, .
, .
. , ,
. . ,
.
,
. ,
. . ,
,
.
, .
,
. , .
, , ,
.
:
.
, .
. .
( , ), .
, .
, .
, ,
. ( ) ,
. ,
: . .
, ,
. , ,
. ,
. :
, . , ,
, .

23

:
, ? ,
? , ,
?
?
.
, .


, , .
, , .

. .
, ,
.
. ,
.
! . ,
.
, . ,
. , .
,
, .
,
?
, ?
, , .
, ,
, .
, , .

24

1.


, . ,
, .
, .
.
. ,
, .



, ,
.
.
? ,
!

. ,
.
. .
, ,
. ,

. ,
. , , .
.
? ,
, ,
, - ,
.
( ) , , ,
.

25

,

, ? . .
. ,
. !
, , . ,
, . , ? !
. , , .

? ? ! . .
, 100% ? . , .
. .
, ? ? , , . ,
, , .
.

FitNesse. FitNesse
60K , 26 2000+ .
Emma, 2000 90% .
? Emma !
, .
100%? , 100% .
? , , . , .
, .
(TDD, Test Driven Development),
.

26

1.


FitNesse
. , .
, .
, - FitNesse
. , FitNesse , .
, ,
. ,
, .
,
, .


,
.
. , .
. ,
, , .
.
, . , - ,
, .

. ,
.
,
, , 1.
1

Robert C. Martin, Principles, Patterns, and Practices of Agile Software Development,


Upper Saddle River, NJ: Prentice Hall, 2002.

27

. , : ,
, !
, ?
!
, , ,
.
? ! .
.
. :
, . ,
.

. ,
. ! , . , , .

? ! ? .
. , 100% ,
,
. , ? .
, , .
.
,
. switch
. ,
,
.

28

1.


. .
, .
. ,
!
,
. , .
, !
, , .
.

, .
, .
.

. 40-
. 40
, .
60 . 40
, 20 . 20 , ,
.
: ? ?
?
. 20 .
90
.
. 168 . 40
, 20 . 108. 56
, 52. ,
. ,
. .

29

, , . ! 20
, .
. ,
, .
20
. : 20 . , .
, . , . , - ,
.
20 , .
20 !


, ? ? ?
. ,
?
?
? ?
50
, , , .
? , , .
? , ?
: ,
. ,
. ,
24 .
, , . , , . ,
if while, 50 . .
.

30

1.

.
50 .
, . , ,
. ,
, ,
.
50 . ,
. :
.
, .
 .
24 Pattern-Oriented Software
Architecture.
 . SOLID
.
 . XP, Scrum, 1 (Lean), Kanban, , .
 . (TDD), -
, ,
.
 . UML, DFD,
, , , -
.


,
, . ,
.
1

. . .

31

, , . ,

.
, , ? ,
? ,
?
, , , . .
. , .
.NET Java.
Java Ruby. C
Lisp. ,
Prolog Forth!

.
,
.
.
, . ,


.
?
.
. ?
, . ? ,
, . ,
.
?
, . ,

32

1.

. . , , .
, ,
. ;
, .
.
- ,
. Java, Ruby, Clojure -
, . (,
)
.
10- 10-
.


- .
, ,
. ,
.
, 100% . .
,
.

- . ,
, . ,
.
, .
. ,
.

33


. ,
.
, .
,
. ,
- . . ,
.
, ,
. ,
.


/
.
.

, .
.
,
.
.

.
.
. ,
. ,
.
. .

34

1.

, . .
, , , ; ,
.
, , . ,
.
, ,
.
, ,
.
, : .

. . .

1970- 19-
ASC.
, 1, . 1971
.
.
.
60, 70 80 , .
- .
,
. ,
1

, . . .

36

2.

, , .
ASC , .
, : 3000
, . , 19- ,
.
, .
. ,
. . .
.
, , .
, ,
.
. .
-
, 30 , 300 .
.
, , .
, ASR35, 110 .
. , ,
, .
, ,
.
. .
, .
,
.
.
, .
,
. : .

37

, . , ,
.
: , .
.
.
: , . ?

. . ,
. -
- . .
, , .
, , .
: , .
? , .
. ,
. ,

.
, .
.
, .
? !
, ?
! , .
. . . ,
, . - .


. , - .

38

2.

, ; . , ,
, .
, .
,
.
, ,
,
. ,
.
, , ,
. ,
.
,
,
. . ,
, : , , .
: : , .
? ,
,
, .
.
,
. , ,
.
.
: ,
.
: ! ? .
: , !
, .
. .

39

.
, ,
. , . ,
, -
.
.
, .
: , ,
:
? , ?
.
: ,
.
: , , .
: , ?
: ?
: ( - ) , .
, . . ,
, :
, .
, ,
. , ,
- ? .
.
.
, .
: ,
.
: , , .
: ? ,
, !

40

2.

: , . ,
. 10 .
?
: ( ) , . -,
, .
:
?
: !
.
: , , . .

. , . cookie,
,
. . ?
: , ?
: , .
: , , ! (
)
.
, . . , ,
.

?
, , ,
.
, ,
. ,
. .
, ( , ) .

41

,
. , . , , .
,
12 .
.


, .
, .
, . ,
, .
.
( ): ,

12 , / 5 .
( ): ( ,
) , 17 ?
: , .
: (, ) , !
! , .
, ?
- .
: , ,
. ,
20%! ,
?
: , .
, . ( , .)
. , ?
? ( , .) ,
- .

42

2.

: , . .
. ,
.
. .
: . ,
?
: , , .
: , . , .
.
,
, . , (
). ,
.


, . , ,
, , .
, , ,

.
,
. .
: , . ,
- /
.
: , -,
.
: ? , .
: .

43

: () , ,
, .
,
.
: , -.
: , .
: . , , ,
.
: , .
: - ? ,
, ?
: , . ,
,
.
: .
: . , , ?
: , .
: , . . , .
: , , , . - .
: , , . ,
. ,
.
: , , ,
.
( , .)
,
: , , -
. , .
: , . , . ,
, !
: , !
? ,
, , .

44

2.

, .
. , ,
, ( ) .
( ), .
? ,
, ,
. ;
,
, .


, ,
: , . ,
. .
? , , -
? ,
?
.
. , -
? , ,
.
, , ; ,
. , ; ,

. , ,
. .
, .
,
? , ?
?

45

, .
. , ,
. ?
? ,
?
, ,
, ,
?
, , ,
. . ,
, .
. , .
.
. ,
- , ,
.

: , -.
, .
: , .
: , .
: , -
.
: ! !
: , . ? , .
: , , .
.
: , . .
: , , ?
: , . .
. , ?

46

2.

: , .
: , , .
( , , .)
: , ; , .
: ( ) , ?
.
( , .)


. ,
.
.
,
.
, , .
- .
,
. , , .
, , , :
, ,
: ! !

: , ? , -
?
: , , .
: , , . , . ,
.
: , , , ?
: , . , ?

47

: () , , . . , ,
.
: , .
, .
: , .
: , , .
: ,
: , , - . .
. ,
- . ,
, .
: ( ) ?
: , , . , ,
, -.
,
. , .
: !
: , . ,
, ,
-, ?
? . , .
. , ,
. ,
.

. . , , ,
.


. ,
.

48

2.


, .
, , ,
.
,
1. .
, .
?
. - . ,
3D-.

,
, , .
? . .
, . . .

XP .


?

, ( ) . , , ,
- ,
.
, , . . ,

. , ,
.
.

.
; . ,
1

http://raptureinvenice.com/?p=63

49

iPhone,
1. ? 1 .
4 . , Apple
(
). ,
?!?
. . , . ( .)
.
, 1 , . , ,

. .
. , ?
, !
2: , .
, . , II ,
.
. ,
, , .
, . ! ! !
. XML! .
. !
,
.
: , , -
.
: -?
: ................
. , -, Java. .
Excel.
.
: ,
. ! , 1

; 22 29 .
. .

50

2.
iPhone,
PHP, ? ?
, . .
f or
!
.


, .
- .
( , .)
8 .
74 , , . , .
.
, : / (AKA ),
( ! ) !
( , !)
, . ,
, ? - ? , .
(
), , ,
, . , .
!
, . , .
, , ! ,
. ,
, . ,
. ?
. . . , . ,
.
. , : .
.
.

51

:
( )2
+ 2 *
+
= ,
, .
( ). , ( !). ,
.
,
,
.
.
. .
,
, , ,
, .
. (!),
. . ! 1.0! !
, , , 42- ,
. , , ?
, - .
, . .
. , ,
, .
, ? . Apple . ,
, (. ).
. . .
, : , ?
!
Apple.
, .
,
, :
. ; .
. .

, ! Apple.

52

2.
, . , . . ,
. 1234567890 .
, ! !
, , :
! , , . -
!
:
, . -, . App Store, ?
, 11
. , 11
. , ?
, :
.
, .

? ,
: ( ) ,
. ? . ? .
.
, .
.
, ,
, , .
. ?
, .
: , - . ,
, ?
, .
( ,
?). ? ,
, ?
! , , ,

53

20- , .
,
, .
. ,
, ? . , .
,
, , ,
.
, , , //
.


: ?, :
? ,
. , ,
. 1.
.
?
, . , , .
? .
iPhone .
. -,
. ?
, . , - , -;
, . . ,
: ,
,
, , ?
1

, , , .

54

2.

, .
, :
. ,
?
( ), ?
, .
, ?
.
, , , .
PHP.

. 20 90
. ,
.
? : ,
, ,
42- , . ,
. .
, ,
. ,
, .
, .
.
, ,
- .

.
,
.
,
,
. , :
, . .

for !

55

:
.
, :
/ (AKA ), (
! )
! ( ,
!)
.
,
, , .
, . .
, . .
,
, . , -
:
? ?
!

, ? . -
, , : ,
. 80- , Teradyne.
, ( ).
, .
,
, ( ,
1).

57

, . , . ,
.
.
.
, . , .
, .
, .
.
, Teradyne , .
CDS (Craft Dispatch System)
. Teradyne ,
(!).
(!!)1.
CDS ( ), .
, ,
.
; .
,
. , : , , . , .
, , .
. , : , . , , . ,
. , - , .
, .
,
: , ,
.
: ,
.
1

, . Teradyne
1 ( ).

58

3.

. . .
.
1. , .
2. .
3. .
(, !),
?
 ,
, : , . , .

, : .
. - ,
, .
 : . ,
. .
, -,
, .
, . , , . , :
, , ,
? .
, ?
, .
, ,
. , ,
.

59

, ,
. ,
1 2 .


,
,
. ,
,
. ,
.
 /: ,
, - .
 / : ,
, , , , ,
.
 : ,
.
, ,
, .
, .
, - . ,
.
, , . ,
?


: ,
. ,
, .

60

3.

-
, -
.

- - (,
).
? , , .
- , . ,
. , ,
; .
,
. , ,
: , .
, ,
. ,
( ). , ?
-
, .
.
- . . ,
- .

: .
, -
( ).


X
, .
, ,
,

61

.
,
. :
 - ,
;
 , ;
 ,

, ;
 , .
?
- ,
,
.

,

, , .
,
!
25
( ),
, .
 25 .

.
 .

62

3.


, . -
. , - .
.
,
, .
,
, ,
, -
(, ). , .
.
 , . ,
. ,
, . ,
.
 , . - ,
, .
( ,
, ) .

, .

,
, : , ,
.
, , , ,
.

63


,
. ,
. .


, .
, - .
, . , ,
.
: , ?
: , .
: ?
: .
,
. ,
, .
.
,
, , , .
.
: , ?
: , .
: ?
: . , ,
.
. , -
. , .

64

3.


: , .
?
.
, .
?
: . ,
, .
: ?
: , .
,
?
: , . , , .
. , .
?
: , , .
: , - ?
. , ; ,
,
. , , .
?
: , , ,
.
? ,
. .

65

: ?
: , .
, .
: , , .
, ?
. ,
, .
.
.
. -,
,
. ,
. ,
.
-, . ,
. .
, .
. ,
.
: , , ,
, . ,
, .
: , , .
?
: , , .
: , . , .
. ?
?

66

3.

: , , , , , . . -
?
, , ,
.
.
; .
. , , ,
. ,

.
: , , .
.
, .
,
.
. ?
. , .
,
.

, .
,
. ,
,
.

1
. ,
, .
18 , , . . IBM 029, ,
.
, .
1

. . , . .: , 2010.

68

4.

,
. ,
. ,
;
, . , ,
, .
, .

, . ,
. , ,
.

.

. ,
, . , .
.
, - .
. , -
.
-, . .
, ,
- .

.
, . ,
.
1. .
, .

69

, . ,
, ,
.
2. , .
, . ,

.
3. .
,
.
. ,
1.
4. .
. , ,
. . , ,
.
.
.
, , . ,
.
, . .
. .
. , .
.
.
. , .
1

Robert C. Martin, Agile Software Development: Principles, Patterns, and Practices ,


Upper Saddle River, NJ: Prentice Hall, 2003.

70

4.


, , 3 .
1988 ,
Clear Communications. , .
( , )

( ). ,
3 .
, 18 (
6070- )
.
, . , . , ,
3 . !
, , . ,
.
. , .
, ( ),
.
, .
.
, : !
!
: , . , . , ,
.


-
? , ,

71

?
- . ,
.
.
,
, .
, , ,
. . .
, ,
.
.
- .
- . .
,
, .
, . , , .
, .
, .
, . ,
,
.
.
,
, (, )
. ,
. ,
. , . , ,

.
.
.
,
. ,
,

72

4.

. ,
, ,
, ,
( ,
).


, (flow),
.
. , , ,
.
,
,
, .
,
: .
, , . - ,
.
. .
(TDD), //. .
,
, ,
. ,
.
, ,
. : , .
. , - .
:
. , ,

73

. , , .
! , .
- .
, . ! .

Teradyne 1970-, . PDP 11/60,


,
. VT100
9600 , PDP11 25 RS232,

.
: , . ,
Led Zeppelin, Pink Floyd, , .
, .
, .
.
, .
: , . . : ( ),
, .
, . .
, , , .
, . ,
. , .
, , , .

74

4.

, .
? ?
? , ? , ?
? , , ?
. , , -
. ,
.
, .
, . .
. ,
. ,

.
.
- ,
. ,
.
, , . , .
,
.


. , ,
.
.
.
. , . -

75

. . , ,
.
- ? .
. , . , .
, .
. , .
.
, .
- , , ,
. .
, , . ,
,
.
, . -,
,
. ,
, ,
.
.


.
, .
. , , , , , ,
. , .
- ,
. , , . . ,

, ,
- .

76

4.

. . , .
, .
, .


1972 . , , - .
. - . ,
: , .
. . ,
.
, . , .
, . ,
.
, -
.
,
, 30 .
, . .
.
5 ,
.
,
.
ASR-33, . .

77

, . ,
. ,
, .
. , , .

.
, - , . , , -. -
5K ,
.
!
, ,
, .
, . ,
.
.
.
,
30 .
? 19,
.
, .
,
. ,
. ,
.
FIFO, . , . ,

78

4.

. ,
. - , , .
,
. , ,
,
. ,
, ,
. ,
, : ,
.
,
.
, .
,
. 1972 ,
. .
. ,
. ,
, . ,
, .
.
, .
,
.
, .
.
.
30 ,
3 .

12 . !

79

, ,
.
, .


-
. ,
: ,
.
, ,
.
,
. , , , 10.

(TDD, Test Driven Development), .
, TDD
1, . ,
, .
,
. . ,
, .
, , .


, .
, . ,
.
1

,
TDD, ?

80

4.

, .
.


, ? , !
.
, .
, , ,
( ).
, .
.
,
.
.
, .


, .
. ,
, .
- ,
, .

. ,
, , .
, ,
. ,

. ,

81

, ,
.


.
. . ,
.
, , : .
, ,
, .
.
1 : , . .
!
. .

, , ? , , . ,
, , 8/12/20.
, 10 !
. . .
10 , 12 , .
,
, ,
. .


? ,
1

10.

82

4.

? ! , . , (
) .
.
, .
.
, ,
.
, .
. .
.
,
.
, ,
, .

: ?
? -
, .
, . ,
10 , - .
. 20%
20% . ,
- .
,
: 1 ; 2 , ,
3 ,
.

83

.
, , .


,
.
, .

. ,
, . ,
,
.
. , .
,
. ,
. . !
, ,
. ,
. :
, .


. -
1,
. FitNesse,
Selenium, RobotFX, Cucumber . .
, , .
1

. 7.

84

4.

. ,
. , if while. , if
while. .
,
,
, .
, ,
. .


. , ,
. ,
.
, .
, .
, ,
. , , 10:00 , 13:00 15:00
.
.
- , . , .
, ;

.
- , . . ,
, . . ,
, .

85


- , .
. , .
30. , . : ,
.
.
, .
, : .
,
. , .
, .
, ,
? ,
. , , . ,
. ,
,
, , ,
.
, . , .
, 1.
.
, , , .
1

, .
@desi ( , DevChix)
-. , , .
, , , .

86

4.

.
, .
. . ,
. ,
,
. ,
.

, TDD (Test Driven


Development), 10 .
(XP, eXtreme Programming),
Scrum (Agile) . , ,
TDD.
1998 ,
. ? ?
?

88

5.

30-
; , . , ,
, .
1999 , , .
!

Java. ,
.
,
- . ,
, .
.
.
, .
30 . ! ,
!
, 1
Basic Logo. : .
.
.
.
, ,
. .
C++, ! C++ , . .
, Java 30- , .
,
,
Logo! TDD!
1

, 35 .
20,
. , , , , . .

TDD

89


, TDD ,
. , .
.
 !
 .
 GOTO .
 TDD .
, TDD
. , . , TDD .
, , ,
. , TDD.
, ,
? , ,
? ,
?

TDD?
, .
, , TDD?

TDD
1. ,
, .
2. , , (
, , ).

90

5.

3. ,
, .
30 .
.
, ; ,
. ,
, .
, .
.
. .
, .
.

, TDD ,
, ,
.
- .

FitNesse1 Java. FitNesse 64 000 ,
28 000 2200 .
90% 2, 90 .
, - FitNesse,
. ,
, .
? , !
1
2

http://fitnesse.org
90% . .
,
, catch.

91

FitNesse ant release.


FitNesse , . , .


FitNesse . FitNesse
,
. ,
. ,
FitNesse , , 20 000 ,
17 (
). , , FitNesse
.
. TDD 1 2.
IBM Microsoft, Sabre Symantec 2, 5 10 .
.

,
? ,
: , . :
- ! ? :
1
2

http://www.objectmentor.com/omSolutions/agile_customers.html
E. Michael Maximilien, Laurie Williams, Assessing Test-Driven Development
at IBM, http://collaboration.csc.ncsu.edu/laurie/Papers/MAXIMILIEN_
WILLIAMS.PDF
B. George, and L. Williams, An Initial Investigation of Test-Driven Development
in Industry, http://collaboration.csc.ncsu.edu/laurie/Papers/TDDpaperv8.pdf
D. Janzen and H. Saiedian, Test-driven development concepts, taxonomy, and
future direction, IEEE Computer, Volume 38, Issue 9, pp. 4350.
Nachiappan Nagappan, E. Michael Maximilien, Thirumalesh Bhat, and Laurie
Williams, Realizing quality improvement through test driven development: results
and experiences of four industrial teams, Springer Science + Business Media, LLC
2008: http://research.microsoft.com/en-us/projects/esm/nagappan_tdd.pdf

92

5.

, ;
, .
, ?
90 ,
, ?
TDD. , ,
. , .
, , .
, ! , . .
,
.
, ?

- ?
;

, .
, - , .
? , . ,
: .
,
, , .
, ,
, . ,
,
, .
, ,
. ,
, ,
.

93

, . , , , ,
. , .
?

,
. ,
,
, , !
,
.
. , . ,
- . ,
.
,
, .
, ,
, , , .
,
. ,
?
, . , . , . , .
, ,
, , . , , ,
, .
, .

94

5.


, TDD .
, ,
,
. TDD
.

TDD
TDD .
.
. .
. ,
.
,
, .


. . . . .
, .

.

96

6.


, . ,
6 1.
main()
{
printf("hello, world\n");
}

? ,
. ,
,
.
,
SQINT,
. , BASIC, FORTRAN,
COBOL .
,
, .

1980- . , (VIC-20, Commodore-64 TRS-80),
'\' '/'.
, , , .
,
. , . , . ?
.
1970- . , . TDD
, ,
, .
1

Brian W. Kernighan and Dennis M. Ritchie, The C Programming Language, Upper


Saddle River, NJ: Prentice Hall, 1975.

97


. ,
.
, , PDP8/I. 1,5 4096 12-
, . 32K
12- ,
10 .
, ,
.
Macbook Pro. 2,8 , 8 , 512- SSD 17- - 1920 1200.
. 85 .
PDP-8/I
, ,
, 1% , 1% 25 .
:
8000 2000 000 16 000 000 100 100 25 = 6,4 1022.
. 22 ! ;
; , , .
, !
, 10 22 ?
, PDP-8/I. if, while .
, ,
.
. 2010 1960- . , ,
.

98

6.


. 1960-
.
1970- 50 000 45 . 1990- .
1.
,
--
.
, FitNesse, Java
64 000 . 4 . ,
. , , ,
4 . .
. , /
10 !
, .
2.
.
. /
.
,
.
. , , .
, .
. ,
.
/ ,
, .
, , .
, , .
2
.
1

99

, ,
.
,
.
: /
, .
, . .
. ,
.
. , ,
.


2001 TDD,
1. 30 .
,
.
2.
, . ! .
,
,
. ,
.
2005 XP2005 ().
(Coding Dojo), .
; Google . http://butunclebob.com/
ArticleS.UncleBob.TheBowlingGameKata
2
Robert C. Martin, Agile Software Development: Principles, Patterns, and Practices ,
Upper Saddle River, NJ: Prentice Hall, 2003.
1

100

6.

, TDD .
, 1 2 .

. 3.
, .
. .
. , 20
,
.
.
.


, . ( ) . ,

. .
, . ,
. , ,
.
,
. ,
.
, .
http://codekata.pragprog.com
,
OTI.
3
http://codingdojo.org/
1
2

101

. ,
, .
.

.
, (TDD)
(CI, Continuous Integration). /;
,
, .
, , ,
. http://katas.
softwarecraftsmanship.org http://codekata.pragprog.com.
:
 : http://butunclebob.com/ArticleS.UncleBob.TheBowlingGameKata
 : http://butunclebob.com/ArticleS.UncleBob.ThePrimeFactors-Kata
 : http://thecleancoder.blogspot.com/2010/10/craftsman62-dark-path.html
,
, .
1.

-, ().
. . ,
. ,
.
1

http://katas.softwarecraftsmanship.org/?p=71

102

6.

, -1.
. ,
. .
, , ,
. ,
, . , , , . . ,
,

, . .

. -
, .
, .
( ,
).
. .
; ,
. , . ,
. , ,
.
, .
.
.
, .
,
.
.
1

http://c2.com/cgi/wiki?PairProgrammingPingPongPattern

103



. ,
, . , .
, .



: - , . ;
, ,
, .
Java Rails.
C++ ,
Python .


.
. ,
. () , , .
, ,
.
.
,
.
.
.NET, Java Ruby
.

104

6.

.
, . , , ,

, . .
, .

, . , /
, ,
.


.
, ,
, .

106

7.

. , .
1979 Teradyne , .
ED-402,
.
ED-402 ,
M365 PDP-8.
, .
, , , . , ,
. .
, ,
.
, , , . . ,

. , .
.
.
:
, Control+B ( ) ^B. :
,
.
. , ,
, ,
, .
- ,
. 20 ,
, , , ,
.
. , , .

107

5 , -
. X, 5 X .
, , .
ED-402; - . -,
, .
, . -
: , , . . ,
. , , . , ,
.
,
, . ,
, . ,

.


, . ,
. ,
, .
,
, .


, ,
. ,
, , . ,
, .
, . -,

108

7.

, ,
.
, .


. ,
, ,
. !
-, . -,
. ,
, .
, ( ) . ,
.
, -
(. 10).


?
.
,
. : .
.
, . ,
, . ,
:
- 1.
, -
. ,
, . ,
1

XP Immersion 3, May, 2000. http:/ /c2.com/cgi/wiki?TomsTalkAtXpImmersionThree

109

,
, .
.
( ): ,
.
: ?
: .
: . ?
: ?
: , ?
: , .
: ?
: , backup?
: , . ,
backup. ?
: .
: , ?
: .
: ?
: , . .
: , .
: , !
: .
.
: ,
backup .
: . ?
: , log.backup .
: .

110

7.

.
: , , .
: , .
, -
, ,
- , . ..
: , .
backup .
: , .
? , , ,
.
, .
, . ( ) ,
.
, .


.
, ,
.
. ,

.

?
, ,
. , , ?
?

111

? , , ?
,
.
.
: . , , , . .
,
? ,
! ,
, .

. ,
, .
: , .
: ?
: .
: . ?
: ?
: , ?
: , .
: ?
: , backup?
(): , backup .
?
: .
: ?
: .
: ?

112

7.

: , . .
:
?
: .
: ! , .
: , ,
.
: . , .
: , .
: .
: old_inactive_logs.
: .
: ?
: ?
: ,
, .
: , . , old_inactive_logs.
, , , .
: . 20 , .

.
: ?
: SystemStarter. StartupCommand,
. SystemStarter
StartupCommand
. StartupCommand
old_inactive_logs, , .
: , StartupCommand. FitNesse.
( .)

113

:
given the command LogFileDirectoryStartupCommand
given that the old_inactive_logs directory does not exist
when the command is executed
then the old_inactive_logs directory should exist
and it should be empty

:
given the command LogFileDirectoryStartupCommand
given that the old_inactive_logs directory exists
and that it contains a file named x
When the command is executed
Then the old_inactive_logs directory should still exist
and it should still contain a file named x

: , .
: ?
: ,
?
: ,
.
: , , . ,
.


,
.
,
. .
, , .

114

7.

,
. : .
. 7.1. , ,
-. , ,
. ,
. .
, , 50%, :
?
.
,
, , !

. 7.1.

115

.
,
, ,
.
, .
( , ), .
FitNesse, Cucumber, cuke4duke, robot framework Selenium .
, -
, .


.
, . . 7.1, ,
. .
, , ,
.
, ,
, , .
.

.
,
.

?

,
.

,
-,
. ,

116

7.

, ,
,
.
- ,
,
. , . ,
, .

, .

.
. , .
,
. , -
/ .


,
.
, .
,
.
: , ?
: , ?
: . , .
given the command LogFileDirectoryStartupCommand
given that the old_inactive_logs directory does not exist
when the command is executed

117

then the old_inactive_logs directory should exist


and it should be empty1

: , . . :
|scenario|given the command _|cmd|
|create command|@cmd|

: createCommand?
: , CommandUtilitiesFixture,
.
: , .
: ( ) ,
.
(scenarios)
(fixtures) , .
,
,
. ,
.
, , .


-
, .
, . .
1

: LogFileDirectoryStartupCommand
: old_inactive_logs
x
old_inactive_logs
x. . .

118

7.

. . , , .
.
- , :
, .
:
, . ,

.
: , - .
ensure that the post operation finishes in 2 seconds.

: -, . , . ?
: ,
.
: -, . :
.
: , 99,5% .
: , .
: .
.
: .
: - . ,
.
: ? : .
: .
: ,
? .

119

: , .
?
execute 15 post transactions and accumulate times.
ensure that the Z score for 2 seconds is at least 2.571

: z-?
: , . ?
execute 15 post transactions and accumulate times.
ensure odds are 99.5% that time will be less than 2 seconds2

: , , ?
: , ,
.
: , .


(unit tests).
.

. , .
(
, ).
,
.
.
, - ,
, .
, .
15 .
, z- 2,57. . .
2
15 .
, , ,
99,5%. . .
1

120

7.

-, , .

. API
. , .
, , ,
. , - , .
.
, . , ,
.



.
, . ,
, , .
,
. , ,
. .

.
, API, , , .
,
.
, (SRP, Single
Responsibility Principle). ,
,
, ,
. .

121

,
, . ,

, .
, .
,
,
. ,
.
ok_button, 3
4 .


, API, .
API,
. : ,
-.

(
). , , .
,
, . .
, - ,
API, .
. ,
. -,
, .
- .

122

7.

.
- .
, , .


, .

. , - ,
.
.

-
, . .
, .

, -.
, . ,
,
. ,
. , ,
, .
,
.

.
, .

123

, .
, , .
.
,
. , .

. . ,
.
.
1989 Rational Rose.

. ,
, ,
Rose .
. ,

125

, . , ,
.



.
,
, ,
.
, . ,
, . ,
- ,
. , , .


,
,
.
.
,

.


, . , ,
,
(. 7, ).

126

8.

, - ,
, .



1
-.
.


(TDD,
Test Driven Development).

(. 7, . 122)
.
.
, ,
,
. . 8.1 2 ,
.


.
1
2

http://www.satisfice.com/articles/what_is_et.shtml
Mike Cohn, Succeeding with Agile, Boston, MA: Addison-Wesley, 2009.

127

. 8.1.

.
.
,
.
,
100%, .
90%, ,
.


,
. . ,
-.
. 8.2, . ,
.

128

8.

. 8.2.


-.

- .
FitNesse, JBehave
Cucumber. (
Selenium Watir.) , - ( ).
.
,
.
,
.


. . 8.3,
. , ,
-.
: -, ,

129

. 8.3.

. .

( ) . .
.

, .
,
. (,
. .) , .


, . , . -
. ,
, .
.
. ,
,

130

8.

. ( ),
.
10% . ,
,
. .


.
.
.
.
.
. ,
, , , , ,
.
.
- .

,
.

TDD ,
.
.

131

, , ,
.
, .

. 480 , 28 800 .
.
,
? ?
1986 - ().
Teradyne, 15 .
,
, , . ,
.

133

 5 6 .
2,5 , .
 , .
15- , .
 3 .
9 15-
;
.
 ,
: ,
.
, ,
, -
.
. 5
,
.
.

$200 .
, ,
. . ,
. .
:
1) ;
2) .
.
, .
, . ,
; .
, .

134

9.


, . , .
. ,
. , ,
.
, , ,

.
, ,
. , .
.
, ,
, . ,
. , ,
. ,
.

- ,
. , .
,
.
.
, , .


, .
, ,
.

135

- .
: .
, . ,
, .
, :
! .
, . , , ,
. ,
, ,
- , .
,
.


?

.
,
.
, , , ,
.
, .
, , ,
, . ,
.

. ,
. :

136

9.

1. ?
2. ?
3. ?
. 20 ,
.
10 10 .


.
.
, .

,
.
.
/
.
:
, , .
5 10 . ,
.
: 5% . , (40 )
.



.
, , . . ;
45 .

137

20 25 . ,
- ,
.


: , 5 , . , ,
.
,
.
.
,
. , ( 5 30),
. , , .

. , . ; . .
- .
, , ,
. : ,
. ,
. , . , .
, ?
, . ,
.
, , .
.
,
.
, .
, .

138

9.

,
5 ,
. 15 .


, ,
Dungeons & Dragons.
.
,
. , 1.
,
, .
, , , ( , ),
. , , , , .
,
. ,
, ,
.
, . , , , , .
,
. ,
.
. , , ,
,
.
1

Dungeons
&Dragons. , . , .
,
.
.

139

. .
.
,
,
.

, . !
.
.
, ,
.
. .
, .

. , ,
.
. .
.
, , , . ,

.
.


, -
. ,

140

9.

. ,
.
, , .
,
.
.
, 2030 .
, -,
.
. ,
.
. , .
, -
, .


, .
.
,
. - .



1. : ( ) 25 .
.
,
1

http://www.pomodorotechnique.com/

141

25 . - , ,
25 .
.
, 25 !
-
. ,
.
, 25
.
, 30 .
; .
.

. .
.
, , ,
.
? 12
14. 2 3.
, ,
,
.
,

.
.
, 25- .


. , , . ,
,
? ?

142

9.


. , ,
. : , ,
.
, .
, , ,
. , ,
.
, . , ,
.
.
, .
.

,
. ,
.
, . ,
.
,
. , , .
: , .
,
.
,
, .

143

,
, . ,
. ,
, .
, ,
, ( ).
, . ,
.

,
. .
, , , .
,
, .
.
, ,
. , . -
,

.
!
.
. , ,
,
. ,
, , .
, .
,
, .
( , )
. ,
, ,
. , ,
.

144

9.


.
, .
.
, .

. ,
,
.

10

,
, .
. .
. ,
. ,
.
1978 32- Z-80, .
32 ,
( 12 ).

146

10.

, . , ,
32 !
. ,
.
. ,
.
-
. , .
, , .
.
, .
.

, .
. . ,
.

, , ,
, 100 .
.
. ,
, .
, : v-, .
- , .
.
,

147

, .
.
.
, .
- , . , ;
, .
.
. Teradyne
1978 . 26 .
Teradyne,
. ,

. , .
, , , .
.
- (
29 , ), ,
. . ,
,
.
, , , .
,
. : , , ,
, , .
. .

?
, -.
. .
.

148

10.

, . - , -
. 12
, .
.
,
. , .
, , , .
, , , ,
, ; .
.
.
; ,
.

, , . . .
. ,
, , , .
, .
, - .
, .
, . :
: , ,
?
: .
? ,
? : .
?
, ? ,

149

? .
, .
, ?
: , ?
: , .
: ?
: .
: , , .
: . ,
.
: ?
: , ,
.
: ?
: , ,
, .
, ?
.
. , . 10.1.
, 3
. , .
.
,
11 .
? ! 1
,
.
1

, - ,
.

150

10.

. 10.1.


. ,
. ,
. - .
: , . , ,
, .
: ?
: , .
. ,
.
.
: , , ?
, , .
? ?

PERT

151

2.
. , .
?
, ? 8 ?
, .
? , .
? , . .
- , ,
.
. ,
. ,
.
, .

PERT
PERT (Program Evaluation and Review Technique)
1957
Polaris. PERT .
PERT , ,
.
( ):
 O: .
.
, . ,
,
1% 1. . 10.1,
;
 N: ( ).
. . 10.1 3 ;
1

1:769, 0,13. , 1:1000.

152

10.

 P: .
.
, , , .
,
1%.
(12 ).
:

O + 4N + P
,
6

. (1+12+12)/6, 4,2 .
,
1.

P O
,
6

2. :
, .
(12 1)/6, 1,8 .
4,2/1,8 , , ,
, 6 9 .

. ,
. ,
, . 10.1.
1

, PERT . , , [ . . .: ;
.: , 2007. . 1.3].

, , . ,
.

153

PERT
10.1.

12

4,2

1,8

1,5

14

3,5

2,2

6,25

11

6,5

1,3

? ,
, . ?
?
,
.
:

m sequence = S m task .
. ,
4,2/1,8, 3,5/2,2 6,5/1,3,
, 14 :
4,2 + 3,5 + 6,5.

ssequence=

Ss

2
task


. ,
3.
(1,82 + 2,22 + 1,32 )1/2 =
= (3,24 + 2,48 + 1,69 )1/2 =
= 9,771/2 = ~3,13.
, ,
, 14 ,
17 (1s) 20 (2s).
, .
. ,
5 ? ,

154

10.

1, 1 3.
10 . 14 17
20? ,
.
- , , 35 .
PERT .
, .


. ,
.
, ?
, ?
, .
, . , .


1970- , 1.
, . :
.
. ,
.
, .
, ,
;
. .
1

Barry W. Boehm, Software Engineering Economics, Upper Saddle River, NJ: Prentice Hall, 1981.

155


. . , .
0 5
, , , .
,
.
, .
,
. ,
.
, . ,
3 4 .
4 , ,
.
.
,
,
3 .
.
,
.


2002 1
. ,

2. planningpoker.com,
.
James Grenning, Planning Poker or How to Avoid Analysis Paralysis while Release
Planning, April 2002, http://renaissancesoftware.net/papers/14-papers/44-planingpoker.html
2
http://store.mountaingoatsoftware.com/products/planning-poker-cards
1

156

10.

.
. 0 5 ;
.
. -
. , , ,
.
.
. , .
, .

.
, .

. , 0, 1, 3, 5, 10 .


.
.
- .
,
.
. , , , .

, . ,
h , .
.
. ,
.
,
, , . . ,
(1, 2, 3, 5, 8).

157



. ,

.

. ,
,
.
.


. ,
. 1. , ,

, . ,
.
, . , , . .
,
.

, , .
, , , .
, , .
1

http://en.wikipedia.org/wiki/Law_of_large_numbers

158

10.

. , .

, .
,
. , . ,
.

11

:
, ,
.
, .
? ,
? ,
? , ,
?

160

11.

? ?

?
?
,
.
, ,
.
1988 Clear Communications.
, . , .
,
. . .
PC Sparc. :
.

. , , ,
.
, , , .
. C
3000 . .
: , , ,
.
.
- - . ,
-. .
. .
80 , .
- , .
, .
.

161

. 1988 , 20- ,
.
,
, .
80- , C
3000 2 , .
. , . .
. , . ,
. . ,
. ,
; .
- . .
. . ; ,
?
. ,
.
C 3000 . ,
, , .
, , .
.



, . ,
, .

10,
, .

162

11.

,
. ,
, .
, .
. ,
- , .
.

.
.
,
, . ,
, ,
, .
, - , .
,
.


,
.
, .
!
,
. ,
. : .
, ,
.
,
.

163


, - , .
,
.
(TDD)
, ,
TDD.
, , ,
. , , , .
, . .
.
.
,
.


, , ,
.
,
.
.
. , . ?


. . . ,

164

11.

, !
. .
, . , , .

.
.
. .
, .
.


, .
, .

, .
-,
,
. , , .
, . ,
. ,
, .

! , , .
.
.
, ,
, .

165

, , -
, .
, .

. , .
, , .
, , ,
.

12

.

. .
1974 22 .
-. ,
, .
Teradyne, Chicago Laser Systems.
.
:

167

, 1
, PDP-8 .
,
(,
. .) ,
, Motorola Pulsar.
M365, Teradyne PDP-8.
, . ,
, .
. . ,
.

.
, .
. , , . ,
. (MOP) .
,
. , , ,
, .
.
- . , . ,
.
.
. .
1

; . http://en.wikipedia.org/wiki/Jacob%27s_ladder_%28
toy%29. . .

168

12.

.
. , . . .
15 ,
.
.


, . ,
.
, . , , - .
, ,
.
.
, . , ,
.


1970- 1980- , Teradyne,
. ,
. !
, ! ,
.
: . !
.
, .
, .

. ,

169

, -,
, . .
,
.
, , ,
.
!
,
. , .
. , ,
.
,
, .

. 1976 , Outboard
Marine Corp. ,
IBM System/7 .
.
System/7 , .
. . , .
,
. -
. .
. . , 24
.
.
. , ,
, . ,
: .

170

12.

, .
. . ? , . .
? , .
. ,
. , . :
. , .
. . , ,
.
,
. ,
, -
. ,
.
. . , .
, , , . , ,
.
, . :
, ? : , .
-, ,
, . , :
? .
- . . . ? .
, ?
.
,
. !

171

, .
.
! ,
. ,
. , ,
.
. - .
, ,
.
.
.
22- , . ,
- .



.
.



. , .
.
, . :
, , , , . . . ,
.
.
, . .

172

12.


.
. , ,
.
. , ,
. ( ) .
, .



. ,
, . , ,
.

. . ,
. ,
.


.
, . ?

. :
, .
,

?
,
.
, .

173

, . .
? . , .
,
. ,
. ,
,
.
,
. , .
;
.
.


-
. ,
. -
. : !
.
, , ,
. ,

. ,
, .
, ,
.
. , .
, , ,
.
.

174

12.

. , .
, . , .
,
.
.
, , . , ,
. ,
.
, .
.
,
.

.

, - , . : .
, .
, :
, T3, , ,
. , .
, .

13

, .
?
, ?

176

13.


. , .
,
. , .
-,
. ,
. - ,
.
? ,
. 50%
25% .
: .
A, B,
, -, . ?


. . ,
, .
.
- :
. ,
.
.
.
( 20) ( 3), - 12. ,
. .
/ , 2:1 .
, 12

177

, ,
.
.
, .
, , . , ,
,
.
,
.
, . ,
.


, , .
. ,
. ,
, .
-
.
.

?

. :
.
, ,
, .
- ,
.

178

13.

,
.

?
1, , , .
( ). ,
, , .
, .
. 38 , 42 25 . .
, ,
50 ,
15/15/20.
,
. : B ; 100% .
,
, ,
.


, , ,
. ,
, . ,
,
1

Robert C. Martin, Agile Software Development: Principles, Patterns, and Practices,


Upper Saddle River, NJ: Prentice Hall, 2003, pp. 2022; Mike Cohn, Agile Estimating and Planning, Upper Saddle River, NJ: Prentice Hall, 2006.

179


.
,
, . -
. ,
.
, .

. ,
, .
.

, .
,
. , ,
.

14

. ,
, .

181


,
. . , : -
.
, ,
.
,
. , .
, .
,
.
,
? .
.
, , .
! : , .
. ,
.

.
: , .
, . ,
, , .

182

14. ,

?
.

Digi-comp I,
1964 12- . Digi-Comp I 1
.
. ,
.
.
,
( )
. , ,
, .
, !
,
; , .
, ,
2.
. , .
, .
, 6 .
. ,
. !
.
12-
1

, .

.
.

183

. ,
.
, ? ,
?
. .
( )
, ,
12- .
; ,
.
. .
: . ,
.
. . ; ,
. , , .

ECP-18
15- , ,
. .
, ECP-18.
.
. 15- ( ?)
1024 . ( , ,
.)
, ,
. , . ,
.
. ,
.

184

14. ,

, , .
, 1.
, . , , .

.
.
Digi-Comp , . ,
.
, , , - .
1, 5, 2, 0, 4 , : 204. 1, 0, 2, 1, 3 : 213
. !
15- ,
15 , 10 ,
,
1024 . (
!)
( ),
. ,
, .
, ,
. , , ! , 2 1.
5, 13!
!
,
, . !
, .
,
, ,
, . ,
,
1

. . .

185

. HLT. ,
. ,
, .
. , ,
!
, ,
, .
,
. ,
-, ,
. ,
, , ,
. ,
, !
,
. (! !)
,
. , : ! !
, . - .
, .
. , ,
, - , . , ,
.
. :
, , , (,

1967 ). ,
,
. .
, ,
.
? .
,

186

14. ,

. ,
, - .
. , ,
. ,
.
.


, , .
. ,
, .
.
, . ,
Teletype, 30 .
:
!

( ).

.
Digital Equipment Corporation,
PDP-8 PDP-10.
BAL-,
.
Cobol, .
, ,
. . , ,
.
, . 1970-
.
, , . ,
, . ,

187

, .
,
.


, - 1976 . ,
. .
,
.
,
.
:
-
. , .
, , ,
. , ,
.
,
. ,
15 .
. ,
. ,
, ; ,
, , .
,
. . . .

? ,
? , .

188

14. ,


, .

, .

.
,
.
: .

, . - ,
, ( )
.
,

.

.
, , . :
, ,
,
- .
?
, -
. , . -
.
- ,

.
, . !
. . . ,
! , ,

189

,
, .
, . .
. ,
. ,
.
, .
.
, , , .
.
, , ,
.


, ? ? ? ?

.

, . ,
10- , . ,

. , , , .
,
, , . .

190

14. ,

, .
.
,
. , ,
; . ; 5 .
, .

. . , . ,

.

/
.

.
, .
.
.

.
. , , .
TDD, , . .
, ; .
. , ,
.
, .
, .

191

, .
, ,
.
,
. . , !
. ,
.

, .
,
, .
.

, . ? ,
.
, . , , ,
.
, ,
.
, . , , , .
? ?
.
. . , , .
. ,
.

192

14. ,


.
. . .
.
, .
.
?
, , , . ,
. . .
.

.
, .
, . ,
, , , . ,
.

1978 Teradyne ,
. 80
M365. .
8- ,
1970- . , .
10, 25, 50 100 . ,
, . 100-
5 ,
1.
1

. ,
. , ,
. - .
,
. , . ,
. (
), . 1970- .

194

. , .
, , , .
; ,
, .
100-
. , , 10- () . ,
.
, .
. ,
,
. !
.
ED-402 vi.
, , .
50 .

. .
,
. ! .
, , .
.
,
, . , ,
. ,

.
.
, ,
.

195

,
. , .

. ,
, . .
,
. , .


, , . ?
. , ,
.
,
. , , ,
. .
, ,
.
.



,
.
. , : ,
. .

196


( ), .
, , .

1980- .
,
. ,
. ,
1970-,
. ,
.
, .
, ,
, .
-, .
. :
,
. ,
.
.
.
,
.
, . , ,
,
. .
.

197

, , ,
. .

CVS/SVN
CVS
,
. CVS ,
.
Attic , .
, Subversion .
.
, . SVN
.

2008 , .
,
. , ,
.
SVN, - ,
. ,
.
. git.
.

git
git 2008 . . ,
,
. . .1 . .2
, .

198

. .1. FitNesse Subversion

. .1 FitNesse
SVN. . ,
,
.
. .2
git. ,

199

. , ;
.
, , .
,
. , .

. .2. FitNesse git

200

.
,
.
, , .
.
, .
- , .
git . , , . : git
.

IDE/
, , . , , .
,
1970- .

vi
, vi
. , vi ,
. vi,
, , .
vi Emacs Eclipse ,
.
vi. -
vi, . vi
, .

Java . ,
vi 10 , .

201

Emacs
Emacs , , .
lisp.

.
, , Emacs
(IDE),
.
.
1990- Emacs.
. ,
. 2000- IntelliJ IDE, .

Eclipse/IntelliJ
IntelliJ. .
Java, Ruby, Clojure, Scala, Javascript
. , ,
. IntelliJ
, .
Eclipse IntelliJ.
Emacs Java-. IDE,
,
.
,
Emacs, . , IntelliJ
. , ,
.

. , , . ,

202


.
, .
,
.
, .

TextMate
TextMate . ,
,
IntelliJ Eclipse. lisp- Emacs.
vi. ,
, .
TextMate ,
C++. Emacs,
C++ .


Pivotal Tracker. ,
/

. .
Lighthouse.
, Tracker.
.
.
, .
.

. (, , ).
.
,
, .

203

,
. , ,
.


.

, .
( 5 12 ) . !
, - .
/ , - .
,
, , Lighthouse
Tracker.
, . , ,
. ,
.
,
.
( ).



Jenkins. , ,
. , , .
.
: . ,
, , .
, . ,

204

, .
.
FitNesse ,
.
5 , .
, . ,
- .
- ,
.


. JUnit Java, rspec
Ruby, NUnit .Net, Midje Clojure CppUTest C C++.
, , .
1. . ,
IDE
; ,
.
. , CppUTest
TextMate command+M.
makefile, ,
. IntelliJ JUnit rspec,
.
NUnit Resharper.
2. / . ,

. ,
, .
,

205

, , .
3. .
, , ,
, .
4. . JUnit ,
;
.
,
. ,
. , .
5. .
, JUnit API
(assertions), Java
, .
IDE ,
.

API.
, .
- .

,
- ,
, . - ,

206

, , , ,
:
.

FitNesse
FitNesse.
, .
, .
FitNesse , -

.
. , .
FitNesse Java,
, , . Java,
C#/.NET, C, C++, Python, Ruby, PHP, Delphi .
FitNesse : Fit Slim. Fit ,
FitNesse . Slim
, FitNesse.


,
.
 RobotFX Nokia. FitNesse, , .
RobotFX , Excel . Python,
, .
 Green Pepper , FitNesse. confluence.

UML/MDA

207

 Cucumber , Ruby, .
Cucumber Given/When/Then.
 JBehave Cucumber. Java.

, , .
, , , . -
,
, .
, .
, , .
Selenium Watir.

UML/MDA
1990- , . , ,

, .
! , .
, , ;
.

208

,
.
.
UML.
,
. - (MDA,
Model Driven Architecture).
, . MDA
, .
. .

. , . . ,
( ).
?
, \n \r? , \n
(line feed), , \r (carriage return).
?
1960- 1970-
. ASR33 1 .
,
10 . ,
. , ,
.
,
.
.
,
. 72-
, ,
(\r = 0x0D);
1

http://en.wikipedia.org/wiki/ASR-33_Teletype

UML/MDA

209

72 ,
.
, . .
(\n = 0x0A),
.
, ASR33 \r\n. ,
100 .
\n\r,
,
. (0xFF) 1.
1970- , , UNIX
\n. DOS \r\n.
,
?
. ,
,
. ,
\r\n .
\r\n, \n\r .
. -
UML!


MDA ,
.
1

.
. 0xFF ,
. ,
. ,
, , , .

210

. , , .
, . , ,
.
.
MDA , , , Java
. .
.
,
. , .
,
,
.

, ,
.

. git , Tracker
, Jenkins ,
IntelliJ, XUnit FitNesse
.
Macbook Pro 2.8 Intel Core i7,
17- , 8 , 512 SSD
.

Cucumber, 207

PERT, 151

CVS, 197

RobotFX, 206

Eclipse, 201

Emacs, 201

SVN, 197

F
FitNesse, 206

G
Git, 197
Green Pepper, 206

T
TDD
, 87
, 92
, 25
, 91
, 90
, 90
TextMate, 202

IDE/, 200

IntelliJ, 201

UML, 207

J
JBehave, 207
Jenkins, 203

M
MDA, 207

V
Vi, 200

, 111

, 26

212

, 37
, 156

, 27
-, 168
, 196

, 101
, 148
, 197

, 134
, 135
, 137

, 27
, 120
, 38
, 176
, 178

, 176
, 177
, 178

, 99, 100

, 70
, 171
, 195

, 127
, 205

, 26
, 24
, 115, 125
, 137
, 138
, 139

, 83

-
(MDA), 208
, 93
, 204
, 119
, 73

, 157

, 108
, 107
, 122
, 203
, 20
, 151
, 151

, 142

, 207
, 128
, , 122
, 190

, 57

, 161
, 111
, 105

, 196
, 151
, 103
, 76

PERT, 151

, 157
, 148
, 157
, 148
, 147
, 151
, 152

, 72,
163
-
, 39, 117
, 30
, 139

, 196
, 152
, 136
, 91
, 208
, 155
, 74
, 140
, 72
, , 33

213

, 77

, 111
, 120
, 113
, 119
, 122
, 118
, 110
-
, 117
, 116
, 171
, 30
, 20

, 33, 168
, TTD, 90
, 102
, 190
, 22
, 136
, , 37

, 82
, 129
, 32
, 166

, 79

, 128
, 127
, 119
, 122
, 110

214

()
, 110
, 116
, 129
, , 107

, 107
, 20
, 105
, 108
, 107
, 142

, 90
, 140
, 195

, 38, 135


, 154

.

.



.
.
.
.
. , .
.

, 198206, -, , 73, . 29.


005-93, 2; 95 3005 .
25.10.11. 70100/16. . . . 18,060. 1500. 0000.
CtP ,
. 197110, -, ., 15.

: ,
The Clean Coder: A Code of Conduct
for Professional Programmers
.

ISBN: 978-5-459-00858-6
: 464 .
: 2010

.
,

-,
.

.
.
: ,
. ,
. ,
.
,
.
.
,
;
.

.


.

.
,
.
,
,
.


Head First Software Development
. , .

ISBN: 978-5-459-00522-6
: 464 .
: 2011




:
, -


.


IT-,

,

.


:

,

,
,
.

,
Head First O'Reilly
,
.


Head First Design Patterns
. , . , . , .

ISBN: 978-5-459-00435-9
: 565 .
: 2011

-

,
.

.
,
() ,
.
,


.

.


, Head
First OReilly
,
.
-,
,

.

JavaScript
Head First JavaScript
.

ISBN: 978-5-459-00322-2
: 592 .
: 2011

,
-
HTML CSS
?

-
?

JavaScript!

,
, ,

.
: JavaScript:
;
-
, ,
;
JavaScript

.
,



:
java-
-,
.

?
!
?
?
? ,

?
!


!

www.piter.com/ePartners

www.piter.com,
,

( www.piter.com)
!
.
10% ,
, - c
. ,
, 5%
.
, , 500 ,
. Web.Money.
:
http://www.piter.com/book.phtml?978538800282
http://www.piter.com/book.phtml?978538800282&refer=0000
, 0000


WWW.PITER.COM


, ,
,

/ . , . ., . 29
./: (812) 7037373, 7037372; email: sales@piter.com
. , ., . 2/1, . 1, 6
./: (495) 23438-15, 97434-50; e-mail: sales@msk.piter.com

., . 169; ./: (4732) 396170


email: piterctr@omch.ru
. , . 11; ./: (343) 3789841, 3789842
mail: office@ekat.piter.com

. , . 13; .: (8312) 412731


email: office@nnov.piter.com
. , . 36; .: (383) 363-01-14
: (383) 3501979; email: sib@nsk.piter.com
//

. , . 26; .: (863) 2699122, 2699130


mail: piterug@rostov.piter.com

. , . 33; 223; .: (846) 2778979


e-mail: pitvolga@samtel.ru

. , . 12, 10; .: (1038057) 751-10-02


758-41-45; : (1038057) 712-27-05; -mail: piter@kharkov.piter.com

., . 6, . 1, 33; .: (1038044) 4903569


: (1038044) 4903568; mail: office@kiev.piter.com

. , . 34, 2; ./: (1037517) 201-48-79, 201-48-81


mail: gv@minsk.piter.com

, .
: (812) 703/73/73. E/mail: fuganov@piter.com
.
: / (812) 703/73/72, (495) 974/34/50
.: (812) 7037373.
mail: kozin@piter.com
: www.piter.com; .: (812) 703-73-74
ICQ 413763617

!



.


./: (4232) 238212
email: bookbase@mail.primorye.ru

,
.: (3952) 200917, 241777
email: prodalit@irk.ru
http://www.prodalit.irk.ru

, , . , . 1
.: (4212) 360665, 339531
email: dkniga@mail.kht.ru

,
./: (3952) 252590
email: kkcbooks@bk.ru
http://www.kkcbooks.ru

,
.: (4212) 328551, : (4212) 328250
email: postmaster@worldbooks.kht.ru
,
.: (4212) 394960
email: zakaz@booksmirs.ru

, , . , . 3
.: (8182) 654134, 653879
email: marketing@avfkniga.ru

, , . , . 4
.: (4732) 267777
http://www.amital.ru
, ,

./: (4012) 215628, 6 56568
email: nshibkova@vester.ru
http://www.vester.ru
, ,
, .15
.: (846) 3312233
email: chaconne@chaccone.ru
,
. , . 58
.: (4732) 512893, 470081
email: manager@kmsvrn.ru

, , . , 424
./: (87934) 69309
email: rossy@kmw.ru

,
. , . 86
./: (3912) 273971
email: bookworld@public.krasnet.ru
, 
.: (383) 3361026
: (383) 3361027
email: office@topkniga.ru
http://www.topkniga.ru

, ,

.: (843) 2723455
email: tais@bancorp.ru

,
. , . 12
./: (343) 3581898, 3581484
email: domknigi@k66.ru

,
. , . 1
./: (343) 228-10-70
e-mail: igm@lumna.ru
http://www.lumna.ru
,
. , . 124
.: (351) 2477403, 2477409,
2477416
email: zakup@intser.ru
http://www.fkniga.ru, www.intser.ru


:
: www.piter.com
: postbook@piter.com
: (812) 703/73/74
: 197198, /, / 127,
ICQ: 413763617

:

.
.
,
.
. : . Web-money USD
E-Gold, MoneyMail, INOCard, RBK Money (RuPay), USD Bets, Mobile Wallet
.
, ,
.
.
.
e-mail.

:
, , , , , email;
, , , , , ,
, ;
, , .