Sale!

Software Engineering 10th Edition by Ian Sommerville, ISBN-13: 978-0133943030

Original price was: $50.00.Current price is: $14.99.

Trustpilot

Software Engineering 10th Edition by Ian Sommerville, ISBN-13: 978-0133943030

[PDF eBook eTextbook] – Available Instantly

  • Publisher: ‎ Pearson; 10th edition (March 24, 2015)
  • Language: ‎ English
  • ISBN-10: ‎ 0133943038
  • ISBN-13: ‎ 978-0133943030

For courses in computer science and software engineering

Table of Contents:

Preface
Changes from the 9th edition
Readership
Using the book in software engineering courses
Book website
Contact details
Contents at a glance
Contents
PART 1 Introduction to Software Engineering
1 Introduction
Objectives
Contents
1.1 Professional software development
1.1.1 Software engineering
1.1.2 Software engineering diversity
1.1.3 Internet software engineering
1.2 Software engineering ethics
1.3 Case studies
1.3.1 An insulin pump control system
1.3.2 A patient information system for mental health care
1.3.3 A wilderness weather station
1.3.4 A digital learning environment for schools
Key Points
Further Reading
Website
Exercises
References
2 Software processes
Objectives
Contents
2.1 Software process models
2.1.1 The waterfall model
2.1.2 Incremental development
2.1.3 Integration and configuration
2.2 Process activities
2.2.1 Software specification
2.2.2 Software design and implementation
2.2.3 Software validation
2.2.4 Software evolution
2.3 Coping with change
2.3.1 Prototyping
2.3.2 Incremental delivery
2.4 Process improvement
Key points
Further Reading
Website
Exercises
References
3 Agile software development
Objectives
Contents
3.1 Agile methods
3.2 Agile development techniques
3.2.1 User stories
3.2.2 Refactoring
3.2.3 Test-first development
3.2.4 Pair programming
3.3 Agile project management
3.4 Scaling agile methods
3.4.1 Practical problems with agile methods
3.4.2 Agile and plan-driven methods
3.4.3 Agile methods for large systems
3.4.4 Agile methods across organizations
Key Points
Further Reading
Website
Exercises
References
4 Requirements engineering
Objectives
Contents
4.1 Functional and non-functional requirements
4.1.1 Functional requirements
4.1.2 Non-functional requirements
4.2 Requirements engineering processes
4.3 Requirements elicitation
4.3.1 Requirements elicitation techniques
4.3.1.1 Interviewing
4.3.1.2 Ethnography
4.3.2 Stories and scenarios
4.4 Requirements specification
4.4.1 Natural language specification
4.4.2 Structured specifications
4.4.3 Use cases
4.4.4 The software requirements document
4.5 Requirements validation
4.6 Requirements change
4.6.1 Requirements management planning
4.6.2 Requirements change management
Key Points
Further Reading
Website
Exercises
References
5 System modeling
Objectives
Contents
5.1 Context models
5.2 Interaction models
5.2.1 Use case modeling
5.2.2 Sequence diagrams
5.3 Structural models
5.3.1 Class diagrams
5.3.2 Generalization
5.3.3 Aggregation
5.4 Behavioral models
5.4.1 Data-driven modeling
5.4.2 Event-driven modeling
5.4.3 Model-driven engineering
5.5 Model-driven architecture
Key Points
Further Reading
Website
Exercises
References
6 Architectural design
Objectives
Contents
6.1 Architectural design decisions
6.2 Architectural views
6.3 Architectural patterns
6.3.1 Layered architecture
6.3.2 Repository architecture
6.3.3 Client–server architecture
6.3.4 Pipe and filter architecture
6.4 Application architectures
6.4.1 Transaction processing systems
6.4.2 Information systems
6.4.3 Language processing systems
Key Points
Further Reading
Website
Exercises
References
7 Design and implementation
Objectives
Contents
7.1 Object-oriented design using the UML
7.1.1 System context and interactions
7.1.2 Architectural design
7.1.3 Object class identification
7.1.4 Design models
7.1.5 Interface specification
7.2 Design patterns
7.3 Implementation issues
7.3.1 Reuse
7.3.2 Configuration management
7.3.3 Host-target development
7.4 Open-source development
7.4.1 Open-source licensing
Key Points
Further Reading
Website
Exercises
References
8 Software testing
Objectives
Contents
8.1 Development testing
8.1.1 Unit testing
8.1.2 Choosing unit test cases
8.1.3 Component testing
8.1.4 System testing
8.2 Test-driven development
8.3 Release testing
8.3.1 Requirements-based testing
8.3.2 Scenario testing
8.3.3 Performance testing
8.4 User testing
Key Points
Further Reading
Website
Exercises
References
9 Software evolution
Objectives
Contents
9.1 Evolution processes
9.2 Legacy systems
9.2.1 Legacy system management
9.3 Software maintenance
9.3.1 Maintenance prediction
9.3.2 Software reengineering
9.3.3 Refactoring
Key Points
Further Reading
Website
Exercises
References
PART 2 Dependability and Security
10 Dependable systems
Objectives
Contents
10.1 Dependability properties
10.2 Sociotechnical systems
10.2.1 Regulation and compliance
10.3 Redundancy and diversity
10.4 Dependable processes
10.5 Formal methods and dependability
Key Points
Further Reading
Website
Exercises
References
11 Reliability engineering
Objectives
Contents
11.1 Availability and reliability
11.2 Reliability requirements
11.2.1 Reliability metrics
11.2.2 Non-functional reliability requirements
11.2.3 Functional reliability specification
11.3 Fault-tolerant architectures
11.3.1 Protection systems
11.3.2 Self-monitoring architectures
11.3.3 N-version programming
11.3.4 Software diversity
11.4 Programming for reliability
Guideline 1: Control the visibility of information in a program
Guideline 2: Check all inputs for validity
Guideline 3: Provide a handler for all exceptions
Guideline 4: Minimize the use of error-prone constructs
Guideline 5: Provide restart capabilities
Guideline 6: Check array bounds
Guideline 7: Include timeouts when calling external components
Guideline 8: Name all constants that represent real-world values
11.5 Reliability measurement
11.5.1 Operational profiles
Key Points
Further Reading
Website
Exercises
References
12 Safety engineering
Objectives
Contents
12.1 Safety-critical systems
12.2 Safety requirements
12.2.1 Hazard identification
12.2.2 Hazard assessment
12.2.3 Hazard analysis
12.2.4 Risk reduction
12.3 Safety engineering processes
12.3.1 Safety assurance processes
12.3.2 Formal verification
12.3.3 Model checking
12.3.4 Static program analysis
12.4 Safety cases
12.4.1 Structured arguments
12.4.2 Software safety arguments
Key Points
Further Reading
Website
Exercises
References
13 Security engineering
Objectives
Contents
13.1 Security and dependability
13.2 Security and organizations
13.2.1 Security risk assessment
13.3 Security requirements
13.3.1 Misuse cases
13.4 Secure systems design
13.4.1 Design risk assessment
13.4.2 Architectural design
13.4.3 Design guidelines
Guideline 1: Base security decisions on an explicit security policy
Guideline 2: Use defense in depth
Guideline 3: Fail securely
Guideline 4: Balance security and usability
Guideline 5: Log user actions
Guideline 6: Use redundancy and diversity to reduce risk
Guideline 7: Specify the format of system inputs
Guideline 8: Compartmentalize your assets
Guideline 9: Design for deployment
Guideline 10: Design for recovery
13.4.4 Secure systems programming
13.5 Security testing and assurance
Key Points
Further Reading
Website
Exercises
References
14 Resilience engineering
Objectives
Contents
14.1 Cybersecurity
14.2 Sociotechnical resilience
14.2.1 Human error
14.2.2 Operational and management processes
14.3 Resilient systems design
Key Points
Further Reading
Website
Exercises
References
PART 3 Advanced Software Engineering
15 Software reuse
Objectives
Contents
15.1 The reuse landscape
15.2 Application frameworks
15.3 Software product lines
15.4 Application system reuse
15.4.1 Configurable application systems
15.4.2 Integrated application systems
Key Points
Further Reading
Website
Exercises
References
16 Component-based software engineering
Objectives
Contents
16.1 Components and component models
16.1.1 Component models
16.2 CBSE processes
16.2.1 CBSE for reuse
16.2.2 CBSE with reuse
16.3 Component composition
Key Points
Further Reading
Website
Exercises
References
17 Distributed software engineering
Objectives
Contents
17.1 Distributed systems
17.1.1 Models of interaction
17.1.2 Middleware
17.2 Client–server computing
17.3 Architectural patterns for distributed systems
17.3.1 Leader‒follower architectures
17.3.2 Two-tier client–server architectures
17.3.3 Multi-tier client–server architectures
17.3.4 Distributed component architectures
17.3.5 Peer-to-peer architectures
17.4 Software as a service
Key Points
Further Reading
Website
Exercises
References
18 Service-oriented software engineering
Objectives
Contents
18.1 Service-oriented architecture
18.1.1 Service components in an SOA
18.2 RESTful services
18.3 Service engineering
18.3.1 Service candidate identification
18.3.2 Service interface design
18.3.3 Service implementation and deployment
18.4 Service composition
18.4.1 Workflow design and implementation
18.4.2 Testing service compositions
Key Points
Further Reading
Website
Exercises
References
19 Systems engineering
Objectives
Contents
19.1 Sociotechnical systems
19.1.1 Emergent properties
19.1.2 Non-determinism
19.1.3 Success criteria
19.2 Conceptual design
19.3 System procurement
19.4 System development
19.5 System operation and evolution
19.5.1 System evolution
Key Points
Further Reading
Website
Exercises
References
20 Systems of systems
Objectives
Contents
20.1 System complexity
20.2 Systems of systems classification
20.3 Reductionism and complex systems
20.4 Systems of systems engineering
20.4.1 Interface development
20.4.2 Integration and deployment
20.5 Systems of systems architecture
20.5.1 Architectural patterns for systems of systems
Systems as data-feeds
Systems in a container
Trading systems
Key Points
Further Reading
Website
Exercises
References
21 Real-time software engineering
Objectives
Contents
21.1 Embedded system design
21.1.1 Real-time system modeling
21.1.2 Real-time programming
21.2 Architectural patterns for real-time software
21.2.1 Observe and react
21.2.2 Environmental Control
21.2.3 Process pipeline
21.3 Timing analysis
21.4 Real-time operating systems
21.4.1 Process management
Key Points
Further Reading
Website
Exercises
References
PART 4 Software Management
22 Project management
Objectives
Contents
22.1 Risk management
22.1.1 Risk identification
22.1.2 Risk analysis
22.1.3 Risk planning
22.1.4 Risk monitoring
22.2 Managing people
22.2.1 Motivating people
22.3 Teamwork
22.3.1 Selecting group members
22.2.3 Group organization
22.3.3 Group communications
Key Points
Further Reading
Website
Exercises
References
23 Project planning
Objectives
Contents
23.1 Software pricing
23.2 Plan-driven development
23.2.1 Project plans
23.2.2 The planning process
23.3 Project scheduling
23.3.1 Schedule presentation
23.4 Agile planning
23.5 Estimation techniques
23.5.1 Algorithmic cost modeling
23.6 COCOMO cost modeling
23.6.1 The application composition model
23.6.2 The early design model
23.6.3 The reuse model
23.6.4 The post-architecture level
23.6.5 Project duration and staffing
Key Points
Further Reading
Website
Exercises
References
24 Quality management
Objectives
Contents
24.1 Software quality
24.2 Software standards
24.2.1 The ISO 9001 standards framework
24.3 Reviews and inspections
24.3.1 The review process
24.3.2 Program inspections
24.4 Quality management and agile development
24.5 Software measurement
24.5.1 Product metrics
24.5.2 Software component analysis
24.5.3 Measurement ambiguity
24.5.4 Software analytics
Key Points
Further Reading
Website
Exercises
References
25 Configuration management
Objectives
Contents
25.1 Version management
25.2 System building
25.3 Change management
25.4 Release management
Key Points
Further Reading
Website
Exercises
References
Glossary
Subject Index

What makes us different?

• Instant Download

• Always Competitive Pricing

• 100% Privacy

• FREE Sample Available

• 24-7 LIVE Customer Support