软件工程:英文版

软件工程:英文版
作 者: Lan Sommerville
出版社: 机械工业出版社
丛编项: 经典原版书库
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 计算机/网络 影印版
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  IanSommerville著名的软件工程学家,英国兰卡斯特大学软件工程学教授,在软件工程的教学和科研方面有20多年经验。他是IEEECS组织编撰“软件工程知识体系”(SWEBOK)的专家委员会三成员之一。目前,他的研究领域包括:计算机系统工程、需求工程、系统可靠性以及软件进化。

内容简介

本书是系统介绍软件工程理论的经典教材,自1982年初版以来,随着软件工程学科的发展不断更新,销售逾400000册,培养了一代又一代软件工程人才,对学科本身也产生了重大影响。这个最新版重点论述在开发大型复杂软件系统时可以采用的一些实用方法。全书重新组织为7篇,涵盖了整个软件开发过程各个阶段的内容,从初始的需求导出到设计和开发,再到软件项目管理。本书适合作为本科生和研究生教材,同时也可供软件工程人员参考。本书的主要特点●涵盖软件工程理论和实践领域的最新发展。●整合软件工程和相关领域的知识。●着重讨论了需求和体系结构设计的重要内容。●提供Java程序示例以及用UML表示系统模型。●配套网站(www.software-engin.com)提供了丰富的软件工程资源和教学材料。本版新增内容●新增4章,分别是:"应用系统体系结构"、"快速软件开发"(包括敏捷方法)、"基于构件的软件工程"和"软件进化"。●大幅改写和重组了11章的内容,增加了许多最新资料。●其余各章也进行了修订和更新。●通过一个信息系统和一个控制系统的案例分析,阐述了不同的软件工程技术,●增加了敏捷方法和软件复用的相关知识。●结合讨论了系统的可靠性和安全性。

图书目录

Preface

Part 1 Overview

Chapter 1 Introduction

1.1 FAQs about software engineering

1.2 Professional and ethical responsibility

Key Points

Further Reading

Exercises

Chapter 2 Socio-technical systems

2.1 Emergent system prperties

2.2 Systems engineering

2.3 Organisations, people and computer systems

2.4 Legacy systems

Key Points

Further Reading

Exercises

Chapter 3 Critical systems

3.1 A simple safety-critical system

3.2 System dependability

3.3 Availability and reliability

3.4 Safety

3.5 Security

Key Points

Further Reading

Exercises

Chapter 4 Software processes

4.1 Software processes models

4.2 Process iteration

4.3 Process activities

4.4 The Rational Unified Process

4.5 Computer-Aided Software Engineering

Key Points

Further Reading

Exercises

Chapter 5 Project management

5.1 Management activities

5.2 Project planning

5.3 Project scheduling

5.4 Risk management

Key Points

Further Reading

Exercises

Part 2 Requirements

Chapter 6 Software requirements

6.1 Functional and non-functional requirements

6.2 User requirements

6.3 System requirements

6.4 Interface specification

6.5 The software requirements document

Key Points

Further Reading

Exercises

Chapter 7 Requirements engineering processes

7.1 Feasibility studies

7.2 Requirements elicitation and analysis

7.3 Requirements validation

7.4 Requirements management

Key Points

Further Reading

Exercises

Chapter 8 System models

8.1 Context models

8.2 Behavioural models

8.3 Data models

8.4 Object models

8.5 Structured models

Key Points

Further Reading

Exercises

Chapter 9 Critical systems specification

9.1 Risk-driven specification

9.2 Safety specification

9.3 Security specification

9.4 Software reliability specification

Key Points

Further Reading

Exercises

Chapter 10 Formal specification

10.1 Formal specification in the software process

10.2 Sub-system interface specification

10.3 Behavioural specification

Key Points

Further Reading

Exercises

Part 3 Design

Chapter 11 Architectural Design

11.1 Architectural design decisions

11.2 System organisation

11.3 Modular decomposition styles

11.4 Control styles

11.5 Reference architectures

Key Points

Further Reading

Exercises

Chapter 12 Distributed Systems Architectures

12.1 Multiprocessor architectures

12.2 Client-server architectures

12.3 Distributed object architectures

12.4 Inter-organisational distributed computing

Key Points

Further Reading

Exercises

Chapter 13 Application Architectures

13.1 Data processing systems

13.2 Transaction processing systems

13.3 Event processing systems

13.4 Language processing systems

Key Points

Further Reading

Exercises

Chapter 14 Object-oriented Design

14.1 Objects and object classes

14.2 An object-oriented design process

14.3 Design evolution

Key Points

Further Reading

Exercises

Chapter 15 Real-Time Software Design

15.1 System design

15.2 Real-Time operating systems

15.3 Monitoring and control systems

15.4 Data acquisition systems

Key Points

Further Reading

Exercises

Chapter 16 User Interface Design

16.1 Design issues

16.2 The UI design process

16.3 User analysis

16.4 User interface prototyping

16.5 Interface evaluation

Key Points

Further Reading

Exercises

Part 4 Critical Systems

Chapter 17 Rapid Software Development

17.1 Agile methods

17.2 Extreme programming

17.3 Rapid application development

17.4 Software prototyping

Key Points

Further Reading

Exercises

Chapter 18 Software Reuse

18.1 The reuse landscape

18.2 Design patterns

18.3 Generator-based reuse

18.4 Application frameworks

18.5 Application system reuse

Key Points

Further Reading

Exercises

Chapter 19 Component-based Software Engineering

19.1 Component and component models

19.2 The CBSE process

19.3 Component composition

Key Points

Further Reading

Exercises

Chapter 20 Critical Systems Development

20.1 Dependable processes

20.2 Dependable programming

20.3 Fault tolerance

20.4 Fault-tolerant architectures

Key Points

Further Reading

Exercises

Chapter 21 Software Evolution

21.1 Program evolution' dynamics

21.2 Software maintenance

21.3 Evolution processes

21.4 Legacy system evolution

Key Points

Further Reading

Exercises

Part 5 Verification and Validation

Chapter 22 Verification and Validation

22.1 Planning verification and validation

22.2 Software inspections

22.3 Automated static analysis

22.4 Verification and formal methods

Key Points

Further Reading

Exercises

Chapter 23 Software Testing

23.1 System testing

23.2 Component testing

23.3 Test case design

23.4 Test automation

Key Points

Further Reading

Exercises

Chapter 24 Critical Systems Validation

24.1 Reliability validation

24.2 Safety assurance

24.3 Security assessment

24.4 Safety and dependability cases

Key Points

Further Reading

Exercises

Part 6 Managing People

Chapter 25 Managing People

25.1 Selecting staff

25.2 Motivating people

25.3 Managing Groups

25.4 The People Capability Maturity Model

Key Points

Further Reading

Exercises

Chapter 26 Software Cost Estimation

26.1 Software productivity

26.2 Estimation techniques

26.3 Algorithmic cost modelling

26.4 Project duration and staffing

Key Points

Further Reading

Exercises

Chapter 27 Quality Management

27.1 Process and product quality

27.2 Quality assurance and standards

27.3 Quality planning

27.4 Quality control

27.5 Software measurement and metrics

Key Points

Further Reading

Exercises

Chapter 28 Process Improvement

28.1 Process and product quality

28.2 Process classification

28.3 Process measurement

28.4 Process analysis and modelling

28.5 Process change

28.6 The CMMI process improvement framework

Key Points

Further Reading

Exercising

Chapter 29 Configuration Management

29.1 Configuration management planning

29.2 Change management

29.3 Version and release management

29.4 System building

29.5 CASE tools for configuration management

Key Points

Further Reading

Exercises

Glossary

References

Index