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

Published by Pearson (May 9, 2019) © 2020

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

eTextbook

per month

  • Anytime, anywhere learning with the Pearson+ app
  • Easy-to-use search, navigation and notebook
  • Simpler studying with flashcards
from$63.99

  • Hardcover, paperback or looseleaf edition
  • Affordable rental option for select titles
  • Free shipping on looseleafs and traditional textbooks

For 1-semester courses in software engineering.

Introduces software engineering techniques for developing software products and apps

With Engineering Software Products, author Ian Sommerville takes a unique approach to teaching software engineering. He focuses on the type of software products and apps that are familiar to students, rather than focusing on project-based techniques.

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. Topics covered include personas and scenarios, cloud-based software, microservices, security and privacy, and DevOps.

Hallmark features of this title

An introductory text focusing on modern software engineering, based around the kind of software that students can relate to

  • Covers methods and techniques that are used in the development of off-the-shelf, software products.
  • Current topics (Cloud computing, microservices, security and privacy, and DevOps) are covered that are not covered in other software engineering texts.
  • The book is written in an informal style with many illustrative examples, diagrams and tables, key points, and exercises for each chapter.
  • Recommended Reading and Exercises section.
  • 20 diagrams and tables for each chapter.
  • Instructor resources and supporting material are available online.
  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

About our author

Ian Sommerville is Emeritus Professor of Computer Science at St Andrews University, Scotland. He has a BSc in Physics from Strathclyde University and MSc and PhD degrees in Computer Science from St Andrews University. He has been a full Professor of Computer Science since 1986 firstly, at Lancaster University, and, subsequently, at St Andrews University. He has written several software engineering textbooks, including Software Engineering, now in its 10th edition, which has been in print since 1982. In 2011, he was awarded both the IEEE TCSE Distinguished Educator award and the ACM SIGSOFT Influential Educator award. He wrote his first computer program in 1970 and, almost 50 years later, still enjoys programming.

Need help? Get in touch

Pearson+

All in one place. Pearson+ offers instant access to eTextbooks, videos and study tools in one intuitive interface. Students choose how they learn best with enhanced search, audio and flashcards. The Pearson+ app lets them read where life takes them, no wi-fi needed. Students can access Pearson+ through a subscription or their MyLab or Mastering course.

Video
Play
Privacy and cookies
By watching, you agree Pearson can share your viewership data for marketing and analytics for one year, revocable by deleting your cookies.

Pearson eTextbook: What’s on the inside just might surprise you

They say you can’t judge a book by its cover. It’s the same with your students. Meet each one right where they are with an engaging, interactive, personalized learning experience that goes beyond the textbook to fit any schedule, any budget, and any lifestyle.Â