Software Engineering
The Fundamental Practice of Software Engineering
Software Engineering introduces students to the overwhelmingly important subject of software programming and development. In the past few years, computer systems have come to dominate not just our technological growth, but the foundations of our world’s major industries. This text seeks to lay out the fundamental concepts of this huge and continually growing subject area in a clear and comprehensive manner.
The Tenth Edition contains new information that highlights various technological updates of recent years, providing students with highly relevant and current information. Sommerville’s experience in system dependability and systems engineering guides the text through a traditional plan-based approach that incorporates some novel agile methods. The text strives to teach the innovators of tomorrow how to create software that will make our world a better, safer, and more advanced place to live.
Chapter 1: Introduction
Chapter 2: Software processes
Chapter 3: Agile software development
Chapter 4: Requirements engineering
Chapter 5: System modeling
Chapter 6: Architectural design
Chapter 7: Design and Implementation
Chapter 8: Software testing
Chapter 9: Software Evolution
Part 2 System Dependability and Security
Chapter 10: Dependable Systems
Chapter 11: Reliability engineering
Chapter 12: Safety Engineering
Chapter 13: Security Engineering
Part 3 Advanced Software Engineering
Chapter 15: Software Reuse
Chapter 16: Component-based Software Engineering
Chapter 17: Distributed Software Engineering
Chapter 18: Service-oriented Software Engineering
Chapter 19: Systems engineering
Chapter 20: Systems of systems
Chapter 21: Real-time software engineering
Part 4 Software management
Chapter 22: Project management
Chapter 23: Project planning
Chapter 24: Quality management
Chapter 25: Configuration management
Glossary
Appendix: System requirements for the MentCare system