The 9th Edition of my textbook on Software Engineering was published in March 2010. This is a major revision of the previous edition with extensive reorganization and 30-40% new material. See the preface for details of the changes and the contents list for information about the book’s structure.
As I was writing the final chapters in this book in the summer of 2009, I realized that software engineering was forty years old. The name ‘software engineering’ was proposed in 1969 at a NATO conference to discuss software development problems: large software systems were late, did not deliver the functionality needed by their users,
cost more than expected, and were unreliable. I did not attend that conference but, a year later, I wrote my first program and started my professional life in software.
Progress in software engineering has been remarkable over my professional lifetime. Our societies could not function without large professional software systems. For building business systems, there is an alphabet soup of technologies – J2EE, .NET, SaaS, SAP, BPEL4WS, SOAP, CBSE, etc. – that support the development and deployment of large enterprise applications. National utilities and infrastructure – energy, communications and transport – all rely on complex and mostly reliable computer systems. Software has allowed us to explore space and to create the World Wide Web – the most significant information system in the history of mankind.