With Engineering Software Products, author Ian Sommerville takes a unique approach to teaching software engineering and focuses on the type of software products and apps that are familiar to students, rather than focusing on project-based techniques. Topics covered include personas and scenarios, cloud-based software, microservices, security and privacy and DevOps. The text is designed for students taking their first course in software engineering with experience in programming using a modern programming language such as Java, Python or Ruby.