I was referred this book by my professor for writing UML diagrams and designing my final year report using the materials and facts provided in this book I have started using this book since 2 months and I should say, it is very good, clear and simplified book Pictures and diagrams help in proper understanding of various topics I like the book and will use it in future too. Great The book is worth its weight in gold This book is extremely well written, is easy to read and has a broad coverage of the most important topics in software engineering Somerville even provides references to other books that provide in depth coverage of the topics discussed.This is a great book for both software engineering professionals and students alike If you are put off by the fact it is an academic book, don t be it is very easy to read, and highly relevant.A thorough discussion of the advantages and disadvantages of most of the things he talks about is presented in the book.This book is the de facto book on software engineering. I bought this to teach me about software for an engineering degree For this purpose the book is not suitable.It is about the management of large software projects and is beyond the scope of anyone who does not already know about the basics of software development. This is a book that all people involved in the development of medium and large scale software systems should read In this 7th edition, Sommerville covers and extends all important details in the life cycle of any of these systems from requirements, specification and design to development, verification and validation not forgetting management The author also gives special relevance to the social technical aspects of software system development, all the processes involved in it and also project management.Managing people deserves its own part in the book as it involves, arguably, the most critical processes to achieve success an evolving system with assured quality in terms of availability, reliability, safety and security Due to their sensitive characteristics, critical systems are a special class of systems widely covered throughout all the book.In this book, Sommerville demonstrates his considerable experience of being involved as an actor with different roles in the life cycle of several large scale and complex systems He successfully manages to pass the knowledge acquired to the reader Very useful UML and Java practical examples are employed to exemplify the theoretical concepts and foundations of software engineering. We used this as a text book for a Software Engineering class I was taking Although I was familiar with the contents this book does cover it nicely and the ideas presented are relatable I like the Author s style and his way of explainng things. Thanks Software Engineering presents a broad perspective on software systems engineering, concentrating on widely used techniques for developing large scale systems The objectives of this seventh edition are to include new material on iterative software development, component based software engineering and system architectures, to emphasize that system dependability is not an add on but should be considered at all stages of the software process, and not to increase the size of the book significantlyTo this end the book has been restructured intoparts, removing the separate section on evolution as the distinction between development and evolution can be seen as artificial New chapters have been added on Socio technical Systems discussing the context of software in a broader system composed of other hardware and software, people, organisations, policies, procedures and lawsApplication System Architectures to teach students the general structure of application systems such as transaction systems, information systems and embedded control systems The chapter coverscommon system architectures with an architectural overview and discussion of the characteristics of these types of systemIterative Software Development looking at prototyping and adding new material on agile methods and extreme programmingComponent based Software Engineering introducing the notion of a component, component composition and component frameworks and covering design with reuseSoftware Evolution revising the presentation of the th edition to cover re engineering and software change in a single chapterThe book supports students taking undergraduate or graduate courses in software engineering, and software engineers in industry needing to update their knowledge