Software Engineering

  • ISBN13:


  • ISBN10:


  • Edition: 9th
  • Format: Hardcover
  • Copyright: 2010-03-03
  • Publisher: Pearson
  • View Upgraded Edition
  • Purchase Benefits
  • Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $186.80


Intended for a sophomore/junior level course in software engineering.

The ninth edition of Software Engineering presents a broad perspective of software engineering, focusing on the processes and techniques fundamental to the creation of reliable, software systems. Increased coverage of agile methods and software reuse, along with coverage of 'traditional' plan-driven software engineering, gives readers the most up-to-date view of the field currently available. Practical case studies, a full set of easy-to-access supplements, and extensive web resources make teaching the course easier than ever.

The book is now structured into four parts:

1: Introduction to Software Engineering

2: Dependability and Security

3: Advanced Software Engineering

4: Software Engineering Management

Author Biography

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.  

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

Rewards Program

Customer Reviews

A valuable resource July 31, 2011
This book's twenty-six chapters cover four major topics: introductory material, dependability and security, advanced software techniques, and project management. This textbook helped me a lot in my study. Book was received before expected date which was good and the quality was excellent. Above and beyond all expectations.
Flag Review
Please provide a brief explanation for why you are flagging this review:
Your submission has been received. We will inspect this review as soon as possible. Thank you for your input!
Software Engineering: 4 out of 5 stars based on 1 user reviews.

Write a Review