Engineering Software Products: An Introduction to Modern Software Engineering

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Software products, such as stand-alone programs, web apps and services, and mobile apps, have transformed our everyday life and work. There are tens of thousands of software product companies, and hundreds of thousands of software engineers are employed worldwide in software product development. Contrary to what some people may think, engineering software products needs more than coding skills. So, I’ve written this book to introduce some of the software engineering activities that are important for the production of reliable and secure software products.

Author(s): Ian Sommerville
Edition: Global Edition
Publisher: Pearson
Year: 2020

Language: English
Commentary: Vector PDF
Pages: 368
City: Harlow, UK
Tags: DevOps; Software Engineering; Security; Privacy; Reliability; Microservices; Agile; Scrum; Software Architecture; Testing; User Stories; Software Architecture Patterns; eXtreme Programming

Cover
Title Page
Copyright
Preface
Contents
1. Software Products
1.1 The product vision
1.2 Software product management
1.3 Product prototyping
Key Points
Recommended Reading
Presentations, Videos, and Links
Exercises
2. Agile Software Engineering
2.1 Agile methods
2.2 Extreme Programming
2.3 Scrum
Key Points
Recommended Reading
Presentations, Videos, and Links
Exercises
3. Features, Scenarios, and Stories
3.1 Personas
3.2 Scenarios
3.3 User stories
3.4 Feature identification
Key Points
Recommended Reading
Presentations, Videos, and Links
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
Presentations, Videos, and Links
Exercises
5. Cloud-Based Software
5.1 Virtualization and containers
5.2 Everything as a service
5.3 Software as a service
5.4 Multi-tenant and multi-instance systems
5.5 Cloud software architecture
Key Points
Recommended Reading
Presentations, Videos, and Links
Exercises
6. Microservices Architecture
6.1 Microservices
6.2 Microservices architecture
6.3 RESTful services
6.4 Service deployment
Key Points
Recommended Reading
Presentations, Videos, and Links
Exercises
7. Security and Privacy
7.1 Attacks and defenses
7.2 Authentication
7.3 Authorization
7.4 Encryption
7.5 Privacy
Key Points
Recommended Reading
Presentations, Videos, and Links
Exercises
8. Reliable Programming
8.1 Fault avoidance
8.2 Input validation
8.3 Failure management
Key Points
Recommended Reading
Presentations, Videos, and Links
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
Presentations, Videos, and Links
Exercises
10. DevOps and Code Management
10.1 Code management
10.2 DevOps automation
10.3 DevOps measurement
Key Points
Recommended Reading
Presentations, Videos, and Links
Exercises
Appendix 1: Product and System
Engineering Processes
A.1 The evolution of software engineering
A.2 A comparison of product and system engineering
Index
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
R
S
T
U
V
W
X
Y