For courses in computer science and software engineering The Fundamental Practice of Software EngineeringSoftware 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 worlds 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. Sommervilles 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.