For courses in computer science and 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.Part 1 Introduction to Software Engineering 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