Dieses Buch stellt Techniken des Software-Engineerings vor, die bei der Entwicklung von Softwareprodukten eingesetzt werden. Softwareprodukte sind generische Softwaresysteme, die an viele Endverbraucher verkauft werden können - im Gegensatz zu Systemen, die für einen bestimmten Kunden entwickelt werden. Die Größe von Softwareprodukten reicht von Millionen von Codezeilen in großen Geschäftssystemen bis hin zu einigen Hundert Codezeilen in einer einfachen App für Mobiltelefone. Die Engineering-Techniken, die für die Produktentwicklung eingesetzt werden, wurden bisher aus den projektbasierten Software-Engineering-Techniken übernommen, doch diese tradtionellen Methoden sind nicht immer geeignet für die Entwicklung von Softwareprodukten. Der Autor stellt hier einen völlig neuen Zugang zum Software-Engineering für diese Produkte vor - einige der behandelten Themen finden Sie bislang in keinem anderen Lehrbuch.
Ian Sommerville konzentriert sich auf Softwareprodukte und Anwendungen, die dem Leser vertraut sind und zu denen Anknüpfungspunkte bestehen. Das Buch ist in einem informellen Stil geschrieben und richtet sich an Studenten, die ihren ersten Kurs im Bereich Software-Engineering belegen und über Erfahrung im Programmierung mit einer modernen Programmiersprache wie Java, Python oder Ruby verfügen. Der Umfang entspricht einer einsemestrigen Vorlesung.