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

Published by Pearson (July 14, 2021) © 2020

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

eTextbook on Pearson+

ISBN-13: 9780137524846 (2021 update)

eTextbook rental includes

  • Instant access to eTextbook
  • Search, highlight, and notes
  • Create flashcards
Products list

Details

  • A print text

This product is expected to ship within 3-6 business days for US and 5-10 business days for Canadian customers.

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.

  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

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