Software Engineering, 7/e

Ian Sommerville

  • 出版商: Addison Wesley
  • 出版日期: 2004-05-20
  • 售價: $1,150
  • 貴賓價: 9.8$1,127
  • 語言: 英文
  • 頁數: 784
  • 裝訂: Hardcover
  • ISBN: 0321210263
  • ISBN-13: 9780321210265
  • 相關分類: 軟體工程





More than 400 000 readers have learned the foundations of software systems engineering from Ian Sommerville's best-selling book. This new edition concentrates on widely used techniques for developing large-scale software systems. Restructured into six parts, the book covers a wide spectrum of techniques from initial requirements solicitation through to design and development. All chapters have been updated, with the latest techniques (such as agile methods or component-based SE) integrated throughout into the relevant sections, making this the de facto standard for all readers wanting information on the state-of-the-art of engineering large-scale computer-based systems.


Table of Contents:


1. Introduction.

FAQs About software engineering.

Professional and ethical responsibility.

2. Socio-Technical Systems.

Emergent system properties.

Systems engineering.

Organizations, people and computer systems.

Legacy systems.

3. Critical Systems.

A simple safety-critical system.

System dependability.

Availability and reliability.



4. Software Processes.

Software process models.

Process iteration.

Process activities.

The Rational Unified Process.

Computer-Aided Software Engineering.

5. Project Management.

Management activities.

Project planning.

Project scheduling.

Risk management.


6. Software Requirements.

Functional and non-functional requirements.

User requirements.

System requirements.

Interface specification.

The software requirements document.

7. Requirements Engineering Processes.

Feasibility studies.

Requirements elicitation and analysis.

Requirements validation.

Requirements management.

8. System Models.

Context models.

Behavioral models.

Data models.

Object models.

Structured methods.

9. Critical Systems Specification.

Risk-driven specification.

Safety specification.

Security specification.

Software reliability specification.

10. Formal Specification.

Formal specification in the software process.

Sub-system interface specification.

Behavioral specification.


11. Architectural Design.

Architectural design decisions.

System organization.

Modular decomposition styles.

Control Styles.

Reference architectures.

12. Distributed Systems Architectures.

Multiprocessor architectures.

Client-server architectures.

Distributed object architectures.

Inter-organizational distributed computing.

13. Applicaiton Architectures.

Data processing systems.

Transaction processing systems.

Event processing systems.

Language processing systems.

14. Object-Oriented Design.

Objects and object classes.

An object-oriented design process.

Design evolution.

15. Real-Time Software Design.

System design.

Real-time operating systems.

Monitoring and control systems.

Data acquisition systems.

16. User Interface Design.

Design issues.

The UI design process.

User analysis.

User interface prototyping.

Interface evaluation.


17. Rapid Software Development.

Agile methods.

Extreme programming.

Rapid application development.

Software prototyping.

18. Software Reuse.

The reuse landscape.

Design patterns.

Generator-based reuse.

Application frameworks.

Application system reuse.

19. Component-Based Software Engineering.

Components and component models.

The CBSE process.

Component composition.

20. Critical Systems Development.

Dependable processes.

Dependable programming.

Fault tolerance.

Fault-tolerant architectures.

21. Software Evolution.

Program evolution dynaics.

Software maintenance.

Evolution processes.

Legacy system evolution.


22. Verification and Validation.

Planning verification and validation.

Software inspections.

Automated static analysis.

Verification and formal methods.

23. Software Testing.

System testing.

Component testing.

Test case design.

Test Automation.

24. Critical Systems Validation.

Reliability validation.

Safety assurance.

Security assessment.

Safety and Dependability Cases.


25. Managing People.

Slecting staff.

Motivating People.

Managing Groups.

The People Capability Maturity Model.

26. Software Cost Estimation.

Software Productivity.

Estimation techniques.

Algorithmic cost modelling.

Project duration and staffing.

27. Quality Management.

Process and product quality.

Quality assurance and standards.

Quality planning.

Quality control.

Software measurement and metrics.

28. Process Improvement.

Process and product quality.

Process classification.

Process measurement.

Process analysis and modelling.

Process change.

The CMMI process improvement framework.

29. Configuration Management.

Configuration management planning.

Change management.

Version and release management.

System building.

CASE tools for configuration management.