Preface |
|
v | |
|
|
1 | (114) |
|
|
3 | (17) |
|
FAQs about software engineering |
|
|
5 | (9) |
|
Professional and ethical responsibility |
|
|
14 | (6) |
|
|
17 | (1) |
|
|
18 | (1) |
|
|
18 | (2) |
|
|
20 | (23) |
|
Emergent system properties |
|
|
23 | (2) |
|
|
25 | (9) |
|
Organisations, people and computer systems |
|
|
34 | (4) |
|
|
38 | (5) |
|
|
40 | (1) |
|
|
41 | (1) |
|
|
41 | (2) |
|
|
43 | (20) |
|
A simple safety-critical system |
|
|
46 | (1) |
|
|
47 | (4) |
|
Availability and reliability |
|
|
51 | (4) |
|
|
55 | (3) |
|
|
58 | (5) |
|
|
60 | (1) |
|
|
61 | (1) |
|
|
61 | (2) |
|
|
63 | (29) |
|
|
65 | (6) |
|
|
71 | (3) |
|
|
74 | (8) |
|
The Rational Unified Process |
|
|
82 | (3) |
|
Computer-Aided Software Engineering |
|
|
85 | (7) |
|
|
89 | (1) |
|
|
90 | (1) |
|
|
91 | (1) |
|
|
92 | (23) |
|
|
94 | (2) |
|
|
96 | (3) |
|
|
99 | (5) |
|
|
104 | (11) |
|
|
111 | (1) |
|
|
112 | (1) |
|
|
112 | (3) |
|
|
115 | (124) |
|
|
117 | (25) |
|
Functional and non-functional requirements |
|
|
119 | (8) |
|
|
127 | (2) |
|
|
129 | (6) |
|
|
135 | (1) |
|
The software requirements document |
|
|
136 | (6) |
|
|
140 | (1) |
|
|
140 | (1) |
|
|
141 | (1) |
|
Requirements engineering processes |
|
|
142 | (27) |
|
|
144 | (2) |
|
Requirements elicitation and analysis |
|
|
146 | (12) |
|
|
158 | (3) |
|
|
161 | (8) |
|
|
166 | (1) |
|
|
167 | (1) |
|
|
167 | (2) |
|
|
169 | (24) |
|
|
171 | (2) |
|
|
173 | (4) |
|
|
177 | (4) |
|
|
181 | (6) |
|
|
187 | (6) |
|
|
190 | (1) |
|
|
191 | (1) |
|
|
191 | (2) |
|
Critical systems specification |
|
|
193 | (24) |
|
Risk-driven specification |
|
|
195 | (7) |
|
|
202 | (2) |
|
|
204 | (3) |
|
Software reliability specification |
|
|
207 | (10) |
|
|
213 | (1) |
|
|
214 | (1) |
|
|
214 | (3) |
|
|
217 | (22) |
|
Formal specification in the software process |
|
|
219 | (3) |
|
Sub-system interface specification |
|
|
222 | (7) |
|
Behavioural specification |
|
|
229 | (10) |
|
|
236 | (1) |
|
|
236 | (1) |
|
|
237 | (2) |
|
|
239 | (150) |
|
|
241 | (25) |
|
Architectural design decisions |
|
|
245 | (2) |
|
|
247 | (5) |
|
Modular decomposition styles |
|
|
252 | (4) |
|
|
256 | (4) |
|
|
260 | (6) |
|
|
263 | (1) |
|
|
264 | (1) |
|
|
264 | (2) |
|
Distributed systems architectures |
|
|
266 | (26) |
|
Multiprocessor architectures |
|
|
269 | (1) |
|
Client-server architectures |
|
|
270 | (5) |
|
Distributed object architectures |
|
|
275 | (7) |
|
Inter-organisational distributed computing |
|
|
282 | (10) |
|
|
289 | (1) |
|
|
290 | (1) |
|
|
290 | (2) |
|
Application architectures |
|
|
292 | (21) |
|
|
295 | (3) |
|
Transaction processing systems |
|
|
298 | (6) |
|
|
304 | (3) |
|
Language processing systems |
|
|
307 | (6) |
|
|
310 | (1) |
|
|
310 | (1) |
|
|
311 | (2) |
|
|
313 | (26) |
|
Objects and object classes |
|
|
316 | (4) |
|
An object-oriented design process |
|
|
320 | (15) |
|
|
335 | (4) |
|
|
336 | (1) |
|
|
337 | (1) |
|
|
337 | (2) |
|
Real-time software design |
|
|
339 | (23) |
|
|
342 | (4) |
|
Real-time operating systems |
|
|
346 | (3) |
|
Monitoring and control systems |
|
|
349 | (6) |
|
|
355 | (7) |
|
|
357 | (2) |
|
|
359 | (1) |
|
|
359 | (3) |
|
|
362 | (27) |
|
|
366 | (10) |
|
|
376 | (2) |
|
|
378 | (3) |
|
User interface prototyping |
|
|
381 | (2) |
|
|
383 | (6) |
|
|
385 | (1) |
|
|
386 | (1) |
|
|
386 | (3) |
|
|
389 | (124) |
|
Rapid software development |
|
|
391 | (24) |
|
|
396 | (2) |
|
|
398 | (7) |
|
Rapid application development |
|
|
405 | (4) |
|
|
409 | (6) |
|
|
412 | (1) |
|
|
413 | (1) |
|
|
414 | (1) |
|
|
415 | (24) |
|
|
418 | (3) |
|
|
421 | (2) |
|
|
423 | (3) |
|
|
426 | (2) |
|
|
428 | (11) |
|
|
437 | (1) |
|
|
437 | (1) |
|
|
438 | (1) |
|
Component-based software engineering |
|
|
439 | (23) |
|
Components and component models |
|
|
442 | (8) |
|
|
450 | (2) |
|
|
452 | (10) |
|
|
460 | (1) |
|
|
460 | (1) |
|
|
461 | (1) |
|
Critical systems development |
|
|
462 | (26) |
|
|
466 | (1) |
|
|
467 | (8) |
|
|
475 | (7) |
|
Fault-tolerant architectures |
|
|
482 | (6) |
|
|
486 | (1) |
|
|
486 | (1) |
|
|
487 | (1) |
|
|
488 | (25) |
|
Program evolution dynamics |
|
|
490 | (2) |
|
|
492 | (6) |
|
|
498 | (6) |
|
|
504 | (9) |
|
|
509 | (1) |
|
|
510 | (1) |
|
|
510 | (3) |
|
Part 5 Verification and Validation |
|
|
513 | (76) |
|
Verification and validation |
|
|
515 | (22) |
|
Planning verification and validation |
|
|
519 | (2) |
|
|
521 | (6) |
|
Automated static analysis |
|
|
527 | (3) |
|
Verification and formal methods |
|
|
530 | (7) |
|
|
535 | (1) |
|
|
535 | (1) |
|
|
536 | (1) |
|
|
537 | (29) |
|
|
540 | (7) |
|
|
547 | (4) |
|
|
551 | (10) |
|
|
561 | (5) |
|
|
563 | (1) |
|
|
564 | (1) |
|
|
565 | (1) |
|
Critical systems validation |
|
|
566 | (23) |
|
|
568 | (6) |
|
|
574 | (7) |
|
|
581 | (2) |
|
Safety and dependability cases |
|
|
583 | (6) |
|
|
586 | (1) |
|
|
587 | (1) |
|
|
587 | (2) |
|
|
589 | (126) |
|
|
591 | (21) |
|
|
593 | (3) |
|
|
596 | (3) |
|
|
599 | (8) |
|
The People Capability Maturity Model |
|
|
607 | (5) |
|
|
610 | (1) |
|
|
610 | (1) |
|
|
611 | (1) |
|
|
612 | (29) |
|
|
614 | (6) |
|
|
620 | (3) |
|
Algorithmic cost modelling |
|
|
623 | (14) |
|
Project duration and staffing |
|
|
637 | (4) |
|
|
638 | (1) |
|
|
639 | (1) |
|
|
639 | (2) |
|
|
641 | (24) |
|
Process and product quality |
|
|
644 | (1) |
|
Quality assurance and standards |
|
|
645 | (7) |
|
|
652 | (1) |
|
|
653 | (2) |
|
Software measurement and metrics |
|
|
655 | (10) |
|
|
663 | (1) |
|
|
663 | (1) |
|
|
664 | (1) |
|
|
665 | (24) |
|
Process and product quality |
|
|
667 | (2) |
|
|
669 | (3) |
|
|
672 | (1) |
|
Process analysis and modelling |
|
|
673 | (5) |
|
|
678 | (2) |
|
The CMMI process improvement framework |
|
|
680 | (9) |
|
|
687 | (1) |
|
|
687 | (1) |
|
|
688 | (1) |
|
|
689 | (26) |
|
Configuration management planning |
|
|
692 | (3) |
|
|
695 | (3) |
|
Version and release management |
|
|
698 | (7) |
|
|
705 | (1) |
|
CASE tools for configuration management |
|
|
706 | (9) |
|
|
711 | (1) |
|
|
711 | (1) |
|
|
712 | (3) |
|
|
715 | (79) |
|
|
717 | (26) |
|
|
720 | (2) |
|
|
722 | (5) |
|
|
727 | (10) |
|
|
737 | (6) |
|
|
741 | (1) |
|
|
742 | (1) |
|
|
742 | (1) |
|
Service-oriented software engineering |
|
|
743 | (27) |
|
Services as reusable components |
|
|
747 | (4) |
|
|
751 | (9) |
|
Software development with services |
|
|
760 | (10) |
|
|
768 | (1) |
|
|
768 | (1) |
|
|
769 | (1) |
|
Aspect-oriented software development |
|
|
770 | (24) |
|
The separation of concerns |
|
|
772 | (4) |
|
Aspects, join points and pointcuts |
|
|
776 | (4) |
|
Software engineering with aspects |
|
|
780 | (14) |
|
|
792 | (1) |
|
|
792 | (1) |
|
|
793 | (1) |
Glossary |
|
794 | (12) |
References |
|
806 | (18) |
Index |
|
824 | |