Now with the AI-powered study tool

Engineering Software Products: An Introduction to Modern Software Engineering, 1st edition

Published by Pearson (July 14, 2021) © 2022

  • Ian Sommerville University of Lancaster, United Kingdom , University of St Andrews, Scotland

Purchasing Instructions

This form contains two groups of radio buttons, one for Exam Pack purchasing options, and one for standard purchasing options. Only one option can be chosen for purchase. Any option that is selected will deselect any previously selected purchase option.

eTextbook on Pearson+

ISBN-13: 9780137524846 (2021 update)

Unlock extra study tools for other course help

eTextbook + Study & Exam Prep on Pearson+

ISBN-13: 9780137524846 (2021 update)

In this eTextbook — More ways to learn

  • More flexible. Start learning right away, on any device.
  • More supportive. Get AI explanations and practice questions (select titles).
  • More interactive. Bring learning to life with audio, videos, and diagrams.
  • More memorable. Make concepts stick with highlights, search, notes, and flashcards.
  • More understandable. Translate text into 100+ languages with one tap.

Purchasing Instructions

This form contains two groups of radio buttons, one for Exam Pack purchasing options, and one for standard purchasing options. Only one option can be chosen for purchase. Any option that is selected will deselect any previously selected purchase option.

eTextbook access on Pearson+

ISBN-13: 9780137524846 (2021 update)

Unlock extra study tools for other course help

eTextbook access + Study & Exam Prep monthly subscription on Pearson+

ISBN-13: 9780137524846 (2021 update)

In this eTextbook — More ways to learn

  • More flexible. Start learning right away, on any device.
  • More supportive. Get AI explanations and practice questions (select titles).
  • More interactive. Bring learning to life with audio, videos, and diagrams.
  • More memorable. Make concepts stick with highlights, search, notes, and flashcards.
  • More understandable. Translate text into 100+ languages with one tap.

eTextbook on Pearson+

ISBN-13: 9780137524846 (2021 update)

In this eTextbook — More ways to learn

  • More flexible. Start learning right away, on any device.
  • More supportive. Get AI explanations and practice questions (select titles).
  • More interactive. Bring learning to life with audio, videos, and diagrams.
  • More memorable. Make concepts stick with highlights, search, notes, and flashcards.
  • More understandable. Translate text into 100+ languages with one tap.

Title overview

Engineering Software Products introduces you to software engineering techniques for developing software products and apps. Author Ian Sommerville takes a unique approach to teaching software engineering. He focuses on widely known software products and apps, rather than focusing on project-based techniques.

Written in an informal style, the text focuses on software engineering techniques that are relevant for software product engineering. 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.

Table of contents

  1. Software Products
    • 1.1 The product vision
    • 1.2 Software product management
    • 1.3 Product prototyping
    • Key points
    • Recommended reading
    • Website
    • Exercises
  2. Agile Software Engineering
    • 2.1 Agile methods
    • 2.2 Extreme programming
    • 2.3 Scrum
    • Key points
    • Recommended reading
    • Website
    • Exercises
  3. Features, Scenarios and Stories
    • 3.1 Personas
    • 3.2 Scenarios
    • 3.3 User stories
    • 3.4 Feature identification
    • Key points
    • Recommended reading
    • Website
    • Exercises
  4. Software Architecture
    • 4.1 Why is architecture important?
    • 4.2 Architectural design
    • 4.3 System decomposition
    • 4.4 Distribution architecture
    • 4.5 Technology issues
    • Key points
    • Recommended reading
    • Website
    • Exercises
  5. Cloud-based Software
    • 5.1 Virtualisation and containers
    • 5.2 Everything as a service
    • 5.3 Software as a service
    • 5.4 Multitenant and multi-instance systems
    • 5.5 Cloud software architecture
    • Key points
    • Recommended reading
    • Website
    • Exercises
  6. Microservices Architecture
    • 6.1 Microservices
    • 6.2 Microservices architecture
    • 6.3 RESTful services
    • 6.4 Microservice deployment
    • Key points
    • Recommended reading
    • Website
    • Exercises
  7. Security and Privacy
    • 7.1 Attacks and defences
    • 7.2 Authentication
    • 7.3 Authorization
    • 7.4 Encryption
    • 7.5 Privacy
    • Key points
    • Recommended reading
    • Website
    • Exercises
  8. Reliable Programming
    • 8.1 Fault avoidance
    • 8.2 Input validation
    • 8.3 Failure management
    • Key points
    • Recommended reading
    • Website
    • Exercises
  9. Testing
    • 9.1 Functional testing
    • 9.2 Test automation
    • 9.3 Test-driven development
    • 9.4 Security testing
    • 9.5 Code reviews
    • Key points
    • Recommended reading
    • Website
    • Exercises
  10. DevOps and Code Management
    • 10.1 Source code management
    • 10.2 DevOps automation
    • 10.3 DevOps measurement
    • Key points
    • Recommended reading
    • Website
    • Exercises

Author bios

This publication contains markup to enable structural navigation and compatibility with assistive technologies. Images in the publication are fully described. The publication supports text reflow, is screen-reader friendly, and contains no content hazards known to cause adverse physical reactions.

Need help?Get in touch