书籍详情
软件工程:英文版
作者:(英)Lan Sommerville著
出版社:机械工业出版社
出版时间:2004-11-01
ISBN:9787111153092
定价:¥75.00
购买这本书可以去
内容简介
本书是系统介绍软件工程理论的经典教材,自1982年初版以来,随着软件工程学科的发展不断更新,销售逾400000册,培养了一代又一代软件工程人才,对学科本身也产生了重大影响。这个最新版重点论述在开发大型复杂软件系统时可以采用的一些实用方法。全书重新组织为7篇,涵盖了整个软件开发过程各个阶段的内容,从初始的需求导出到设计和开发,再到软件项目管理。本书适合作为本科生和研究生教材,同时也可供软件工程人员参考。本书的主要特点●涵盖软件工程理论和实践领域的最新发展。●整合软件工程和相关领域的知识。●着重讨论了需求和体系结构设计的重要内容。●提供Java程序示例以及用UML表示系统模型。●配套网站(www.software-engin.com)提供了丰富的软件工程资源和教学材料。本版新增内容●新增4章,分别是:"应用系统体系结构"、"快速软件开发"(包括敏捷方法)、"基于构件的软件工程"和"软件进化"。●大幅改写和重组了11章的内容,增加了许多最新资料。●其余各章也进行了修订和更新。●通过一个信息系统和一个控制系统的案例分析,阐述了不同的软件工程技术,●增加了敏捷方法和软件复用的相关知识。●结合讨论了系统的可靠性和安全性。
作者简介
IanSommerville著名的软件工程学家,英国兰卡斯特大学软件工程学教授,在软件工程的教学和科研方面有20多年经验。他是IEEECS组织编撰“软件工程知识体系”(SWEBOK)的专家委员会三成员之一。目前,他的研究领域包括:计算机系统工程、需求工程、系统可靠性以及软件进化。
目录
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
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
猜您喜欢