For courses in computer science and software engineering
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 19 Slide 4 Component-based development Component-based software engineering (CBSE) is an approach to software development that relies on software reuse. It emerged from the failure of object-oriented development to support effective reuse. Log on to aw-bc.com/computing for a full list of Computing titles. This new 10th edition of Sommerville introduces students to software engineering by focusing on the proven processes and techniques fundamental to the creation of reliable software systems.Ian Sommerville, drawing on experience in system dependability and systems engineering, guides the reader through the most widely used agile methods and plan-based approaches.
The Fundamental Practice of Software Engineering
*Software Engineering * introduces readers 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 readers 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.
I have designed by textbook to be a hybrid print-web book and the supplements here provide additional information over and above what is included in the printed text. Web material falls into three categories:
- Sample chapters from the 10th edition
- Web chapters
- Web sections
Sample chapters
Sample chapters are NOT licensed under a creative commons license but are (c) Ian Sommerville and Pearson Education. They may not be edited, sold or distributed.
Web chapters
Web chapters, which are chapters that have been included in previous editions but which have been removed from the current book because they are on topics which are not usually included in current software engineering courses. These have not been significantly updated since they were published so may be out of date in places.
Chapter 26. Process Improvement | Chapter 27. Formal Specification |
Chapter 28 Application Architectures | Chapter 29. Interaction Design |
Chapter 30. Documentation | Chapter 31. Aspect-oriented Software Engineering |
LICENSE: All web chapters and web sections are licensed under a Creative Commons Attribution-Noncommercial-ShareAlike 2.5 Scotland license. This means you may share and edit any material but you must attribute the material to me and that it must not be used for commercial purposes (i.e. you can’t sell material or use it in commercial courses).
Web sections
Software Engineering By Ian Sommerville – 10th Edition
Web sections, which are short additional descriptions of topics that add more detail to individual sections in the book. The number in brackets after the link to each web section is the chapter number in the book where this section is referenced. There are web sections associated with most of the chapters in the book.
Sommerville Software Engineering 9th Edition
LICENSE: All web chapters and web sections are licensed under a Creative Commons Attribution-Noncommercial-ShareAlike 2.5 Scotland license. This means you may share and edit any material but you must attribute the material to me and that it must not be used for commercial purposes (i.e. you can’t sell material or use it in commercial courses).