For one-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 and focuses on the type of software products and apps that are familiar to students, rather than focusing on project-based techniques. Written in an informal style, this book 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.
Les mer
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
Les mer
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 can be found at http://iansommerville.com/engineering-software-products/:
Instructor’s Manual
Solutions to exercises and quiz questions for all chapters
Suggestions how you can use the book in a one-semester software engineering course
Links to relevant videos and presentations for each chapter
Python programs from the book
Check out the preface for a complete list of features.
Les mer
Produktdetaljer
ISBN
9780135210642
Publisert
2019-05-09
Utgiver
Vendor
Pearson
Vekt
477 gr
Høyde
234 mm
Bredde
190 mm
Dybde
10 mm
Aldersnivå
U, 05
Språk
Product language
Engelsk
Format
Product format
Heftet
Antall sider
352
Forfatter