软件工程(英文版)(第8版)

part t 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 properties
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 process 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 methods
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
i 1.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.5 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 development
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 components 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 management
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
exercises
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
part 7 emerging techno&ogles
chapter 30 security engineering
30.1 security concepts
30.2 security risk management
30.3 design for security
30.4 system survivability
key points
further reading
exercises
chapter 31 service-oriented software engineering
31.1 services as reusable components
31.2 service engineering
31.3 software development with services
key points
further reading
exercises
chapter 32 aspect-oriented software development
32.1 the separation of concerns
32.2 aspects, join points and pointcuts
32.3 software engineering with aspects
key points
further reading
exercises
glossary
references
index
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 properties
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 process 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 methods
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
i 1.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.5 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 development
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 components 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 management
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
exercises
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
part 7 emerging techno&ogles
chapter 30 security engineering
30.1 security concepts
30.2 security risk management
30.3 design for security
30.4 system survivability
key points
further reading
exercises
chapter 31 service-oriented software engineering
31.1 services as reusable components
31.2 service engineering
31.3 software development with services
key points
further reading
exercises
chapter 32 aspect-oriented software development
32.1 the separation of concerns
32.2 aspects, join points and pointcuts
32.3 software engineering with aspects
key points
further reading
exercises
glossary
references
index
萨默维尔(Sommerville.I.)著名的软件工程学家,英国兰卡斯特大学软件工程学教授,在软件工程的教学和科研方面有20多年经验。他是IEEE CS组织编撰“软件工程知识体系”(SWEBOK)的专家委员会三成员之一。目前,他的研究领域包括:计算机系统工程、需求工程、系统可靠性以及软件进化。
本书是系统介绍软件工程理论的经典教材。自1982年初版以来,本书随着软件工程学科的发展不断更新,培养了一代又一代软件工程人才,对学科本身也产生了重大影响。全书共分7篇,涵盖了整个软件开发过程各个阶段的内容,从初始的需求导出到设计和开发,再到软件项目管理。本书适合作为本科生和研究生教材,同时也可供软件工程人员参考。
本书主要特点:
●包括了软件工程理论与实践的最新进展,并讨论了系统工程的相关主题。
●详述了敏捷方法与复用的相关知识。
●涵盖了系统安全性、保险性与可靠性,解释了在开发关键系统时的最佳实践。
●通过一个信息系统和一个控制系统的案例分析,阐述了软件生命周期的步骤。
与以前的版本相比,第8版更新了部分内容,并增加了有关最新主题的三章:
●信息安全工程,介绍了有关安全软件的描述和设计中所需要考虑的诸多问题。
●面向服务的软件工程,解释了如何将可复用的Web服务用子开发新的应用。
●面向方面的软件开发,描述了基于关注点分离的新技术。
本书主要特点:
●包括了软件工程理论与实践的最新进展,并讨论了系统工程的相关主题。
●详述了敏捷方法与复用的相关知识。
●涵盖了系统安全性、保险性与可靠性,解释了在开发关键系统时的最佳实践。
●通过一个信息系统和一个控制系统的案例分析,阐述了软件生命周期的步骤。
与以前的版本相比,第8版更新了部分内容,并增加了有关最新主题的三章:
●信息安全工程,介绍了有关安全软件的描述和设计中所需要考虑的诸多问题。
●面向服务的软件工程,解释了如何将可复用的Web服务用子开发新的应用。
●面向方面的软件开发,描述了基于关注点分离的新技术。
比价列表
公众号、微信群

微信公众号

实时获取购书优惠