Software Engineering / Edition 2by Ian Sommerville
Pub. Date: 11/01/1985
The new edition of this best-selling book provides a comprehensive discussion of software engineering techniques and shows how they can be applied in practical software projects. This book features new coverage of the software process and software process technology, system integration, requirements management, and risk analysis, as well as new chapters on pattern-based reuse, distributed system engineering, and legacy systems. Sommerville has incorporated a more object-oriented approach in this editionusing UML and Javaand has removed much of the material on CASE, formal methods, and Ada, making the book more in tune with current technology and practice. A new discussion of professional ethics in the introduction helps to make readers aware of the responsibilities that come with engineering software. The sixth edition uses Java for all programming examples, and bases all design examples on UML notation. It includes new chapters on pattern-based reuse, distributed system engineering, and legacy systems, as well as new coverage of the software process and software process technology, system integration, requirements management, and risk analysis. This book is designed for readers needing a general introduction to software engineering (development, management, and evolution), especially with regard to system requirements engineering and critical systems.
Table of Contents
(NOTE: Each chapter concludes with Key points, Further reading, and Exercises.)
Professional and ethical responsibility.
2. Computer-based system engineering.
Systems and their environment.
The system engineering process.
3. Software Processes.
Software design and implementation.
Automated process support.
4. Project management.
The software requirements document.
6. Requirements engineering processes.
Requirements elicitation and analysis.
7. System Models.
8. Software prototyping.
Rapid prototyping techniques.
User interface prototyping.
9. Formal Specification.
11. Distributed systems design.
Distributed object architectures.
12. Object-oriented design.
An object-oriented design process.
13. Real-time software design.
Monitoring and control systems.
Data acquisition systems.
14. Design with Reuse.
15. User interface design.
IV. CRITICAL SYSTEMS.
Availability and reliability.
17. Critical systems specification.
18. Critical systems development.
Safe system design.
V. VERIFICATION AND VALIDATION.
Automated static analysis.
Cleanroom software development.
20. Software testing.
21. Critical systems validation.
Choosing and keeping people.
The People Capability Maturity Model.
23. Software cost estimation.
Algorithmic cost modelling.
Project duration and staffing.
24. Quality management.
Software measurement and metrics.
25. Process Improvement.
Process analysis and modelling.
The SEI Process Capability Maturity Model.
Legacy system design.
Legacy system assessment.
27. Software change.
28. Software re-engineering.
Program structure improvement.
29. Configuration management.
Version and release management.
CASE tools for configuration management.
and post it to your social network
Most Helpful Customer Reviews
See all customer reviews >