COVID-19 Response at

Read what we're doing...

Software Engineering


Product Description
Product Details

Table of Contents

Part 1 Introduction to Software Engineering
Chapter 1: Introduction
1.1 Professional software development
1.2 Software engineering ethics
1.3 Case studies
Chapter 2: Software processes
2.1 Software process models
2.2 Process activities
2.3 Coping with change
2.4 The Rational Unified Process
Chapter 3: Agile software development
3.1 Agile methods
3.2 Plan-driven and agile development
3.3 Extreme programming
3.4 Agile project management
3.5 Scaling agile methods
Chapter 4: Requirements engineering
4.1 Functional and non-functional requirements
4.2 The software requirements document
4.3 Requirements specification
4.4 Requirements engineering processes
4.5 Requirements elicitation and analysis
4.6 Requirements validation
4.7 Requirements management
Chapter 5: System modeling
5.1 Context models
5.2 Interaction models
5.3 Structural models
5.4 Behavioral models
5.5 Model-driven engineering
Chapter 6: Architectural design
6.1 Architectural design decisions
6.2 Architectural views
6.3 Architectural patterns
6.4 Application architectures
Chapter 7: Design and Implementation
7.1 Object-oriented design using the UML
7.2 Design patterns
7.3 Implementation issues
7.4 Open source development
Chapter 8: Software testing
8.1 Development testing
8.2 Test-driven development
8.3 Release testing
8.4 User testing
Chapter 9: Software Evolution
9.1 Evolution processes
9.2 Program evolution dynamics
9.3 Software maintenance
9.4 Legacy system management
Part 2 Dependability and Security
Chapter 10: Socio-technical Systems
10.1 Complex systems
10.2 Systems engineering
10.3 System procurement
10.4 System development
10.5 System operation
Chapter 11: Dependability and Security
11.1 Dependability properties
11.2 Availability and reliability
11.3 Safety
11.4 Security
Chapter 12: Dependability and Security Specification
12.1 Risk-driven requirements specification
12.2 Safety specification
12.3 Reliability specification
12.4 Security specification
12.5 Formal specification
Chapter 13: Dependability Engineering
13.1 Redundancy and diversity
13.2 Dependable processes
13.3 Dependable systems architectures
13.4 Dependable programming
Chapter 14: Security Engineering
14.1 Security risk management
14.2 Design for security
14.3 System survivability
Chapter 15: Dependability and Security Assurance
15.1 Static analysis
15.2 Reliability testing
15.3 Security testing
15.4 Process assurance
15.5 Safety and dependability cases
Part 3 Advanced Software Engineering
Chapter 16: Software Reuse
16.1 The reuse landscape
16.2 Application frameworks
16.3 Software product lines
16.4 COTS product reuse
Chapter 17: Component-based Software Engineering
17.1 Components and component models
17.2 CBSE processes
17.3 Component composition
Chapter 18: Distributed Software Engineering
18.1 Distributed systems issues
18.2 Client-server computing
18.3 Architectural patterns for distributed systems
18.4 Software as a service
Chapter 19: Service-oriented Architecture
19.1 Services as reusable components
19.2 Service engineering
19.3 Software development with services
Chapter 20: Embedded Systems
20.1 Embedded systems design
20.2 Architectural patterns
20.3 Timing analysis
20.4 Real-time operating systems
Chapter 21: Aspect-oriented software engineering
21.1 The separation of concerns
21.2 Aspects, join points and pointcuts
21.3 Software engineering with aspects
Part 4 Software management
Chapter 22: Project management
22.1 Risk management
22.2 Managing people
22.3 Teamwork
Chapter 23: Project planning
23.1 Software pricing
23.2 Plan-driven development
23.3 Project scheduling
23.4 Agile planning
23.5 Estimation techniques
Chapter 24: Quality management
24.1 Software quality
24.2 Software standards
24.3 Reviews and inspections
24.4 Software measurement and metrics
Chapter 25: Configuration management
25.1 Change management
25.2 Version management
25.3 System building
25.4 Release management
Chapter 26: Process improvement
26.1 The process improvement process
26.2 Process measurement
26.3 Process analysis
26.4 Process change
26.5 The CMMI process improvement framework

About the Author

Ian Sommerville is a full Professor of Software Engineering at the University of St. Andrews in Scotland, where he teaches courses in advanced software engineering and critical systems engineering. His research interest lies in complex, dependable systems.

Ian Somerville is the recipient of the 2011 ACM SIGSOFT Influential Educator Award. This honor is in recognition of the tremendous and positive influence that his Software Engineering textbook and companion educational aids have had on undergraduate software-engineering education, as well as his textbooks on Requirements Engineering, and achievements in establishing the SICSA Graduate Academy.

Ask a Question About this Product More...
Write your question below:
Look for similar items by category
How Fishpond Works
Fishpond works with suppliers all over the world to bring you a huge selection of products, really great prices, and delivery included on over 25 million products that we sell. We do our best every day to make Fishpond an awesome place for customers to shop and get what they want — all at the best prices online.
Webmasters, Bloggers & Website Owners
You can earn a 5% commission by selling Software Engineering: International Edition on your website. It's easy to get started - we will give you example code. After you're set-up, your website can earn you money while you work, play or even sleep! You should start right now!
Authors / Publishers
Are you the Author or Publisher of a book? Or the manufacturer of one of the millions of products that we sell. You can improve sales and grow your revenue by submitting additional information on this title. The better the information we have about a product, the more we will sell!
Back to top