扫描二维码,下载手机APP
下载安卓APP箭头
客服QQ
箭头给我发消息

客服QQ:2698585038

软件工程-架构驱动的软件开发

综合评级:
★★★★★

定价:
¥69.00

作者:
施密特

出版社:
机械工业

出版日期:
2016/07/01

页数:
221

ISBN:
9787111533146

书籍介绍

本书比较全面地介绍软件工程学科,展示软件工程原则与基于系统工程的软件实践,阐明与软件工程所用的严格方法相关的实践活动、原则、任务和工件。

本书共分三部分:

第一部分(软件工程基础)讨论在软件工程体系下的软件开发框架和项目构建;

第二部分(软件工程实践)通过六项技术惯例传达一种理念——利用计算技术,应用科学原则以及激活设计软件产品结构的灵活性;

第三部分(软件工程应用的阶段)讨论软件工程团队在软件开发项目中承担的角色,以便建立和控制软件产品架构。

本书适合作为高等院校软件工程及相关课程的教材,也可作为软件开发人员和软件技术人员的参考书。

目录

出版者的话

译者序

作者序

前言

第一部分软件工程基础

第1章软件工程简介5

1.1明确软件需求6

1.2软件架构7

1.3集成产品和过程开发8

1.4集成产品团队8

1.5工作分解结构10

1.6软件分解结构10

1.7规约树和文档树11

1.8集成总体方案和进度安排11

1.9评审与审核12

1.10配置管理和变更控制13

1.11权衡分析15

1.12风险管理16

1.13建模与仿真16

第2章通用软件开发框架19

2.1软件分解结构19

2.2软件开发过程21

2.2.1需求定义阶段22

2.2.2概要架构定义阶段22

2.2.3关键架构定义阶段23

2.2.4软件单元编码和测试阶段24

2.2.5软件组件的集成和测试阶段24

2.2.6产品测试阶段24

2.2.7验收测试阶段25

2.3总结26

第3章软件架构27

3.1涉众需求的关系和依赖性29

3.2软件需求基线的关系和依赖性30

3.3计算环境的关系和依赖性30

3.4测试和评估的关系及依赖性30

3.5功能架构的关系和依赖性31

3.6物理架构的关系和依赖性31

3.7开发后的过程的关系和依赖性32

3.8软件架构的动机32

第4章理解软件项目环境35

4.1集成产品团队38

4.2软件架构39

4.3复杂性控制机制40

4.3.1工作分解结构40

4.3.2产品分解结构41

4.3.3规约树42

4.3.4文档树42

4.3.5软件产品基线42

4.3.6需求可追踪性准则42

4.3.7权衡分析43

4.3.8软件复杂性度量44

4.4软件术语注册表46

4.5软件集成策略47

4.6项目和技术方案47

4.6.1技术组织规划48

4.6.2项目规划48

第5章软件集成产品和过程开发50

5.1IPPD在软件中的应用51

5.1.1客户至上52

5.1.2产品和进程的并行开发53

5.1.3早期的和连续的生命周期规划54

5.1.4最大化承包商独特方法的优化和使用灵活性54

5.1.5鼓励鲁棒设计,提高过程能力?55

5.1.6事件驱动进度55

5.1.7多部门团队协作55

5.1.8授权55

5.1.9无缝管理工具56

5.1.10风险的主动识别和管理56

5.2软件工程和开发56

第6章软件设计阻碍58

6.1作为原材料的软件59

6.2软件技术的变革61

6.2.1软件开发方法和标准63

6.2.2敏捷宣言66

6.3架构驱动的软件开发67

第二部分软件工程实践

第7章理解软件需求76

7.1第1步:征求渉众需求与期望78

7.2第2步:需求分析与规约79

7.2.1平衡和化解渉众需求的冲突80

7.2.2维护项目的范围81

7.2.3有经验的软件人员的参与82

7.3第3步:任务定义与安排82

7.4第4步:资源的确定、估算和分配83

7.5第5步:建立组织工作包83

7.6第6步:技术规划83

7.7第7步:项目规划83

7.8探索渉众的需求84

第8章软件需求分析实践86

8.1项目分析任务86

8.1.1分析项目目的和目标86

8.1.2确定开发成功标准87

8.1.3征求渉众需求和期望88

8.1.4对渉众需求按优先级排序89

8.2业务分析任务89

8.2.1确定业务概念89

8.2.2确定业务场景89

8.2.3确定计算环境特征90

8.2.4确定外部接口91

8.3产品分析任务91

8.3.1确定业务模式91

8.3.2确定功能行为91

8.3.3确定资源利用率需求93

8.3.4确定数据处理条件逻辑93

8.3.5确定数据持久性需求93

8.3.6确定数据安全性需求93

8.3.7确定数据存储事务93

8.3.8确定性能度量94

8.4维护分析任务94

8.4.1确定开发后的过程业务概念94

8.4.2确定开发后的过程业务场景94

8.4.3确定开发后的过程特征94

8.4.4确定架构的指导方针和原则95

8.5项目评估任务95

8.5.1评估需求敏感性95

8.5.2确定软件测试策略96

8.5.3评估已提议的变更96

8.5.4评估项目可行性97

8.6建立需求基线97

第9章软件需求管理98

9.1接受变更98

9.1.1时间是一种宝贵资源98

9.1.2变更影响分析99

9.1.3调整项目里程碑101

9.2明确需求102

9.3需求分解和分配103

9.3.1功能分析104

9.3.2性能分配104

9.3.3结构化单元综合104

9.3.4结构化组件综合105

9.4需求可追踪性105

9.4.1变更控制105

9.4.2配置审核106

第10章制定功能架构107

10.1功能架构的动机107

10.2功能架构本体论108

10.2.1功能组件109

10.2.2功能单元109

10.2.3数据项109

10.2.4功能接口109

10.2.5外部接口109

10.2.6控制结构110

10.2.7资源110

10.2.8数据存储110

10.3构想功能架构110

10.4记录功能架构112

10.4.1功能层次112

10.4.2行为模型112

10.4.3功能时限113

10.4.4资源利用率概述113

10.4.5功能规约113

10.4.6需求分配表114

第11章功能分析与分配实践115

11.1评估功能复杂性115

11.2行为分析117

11.2.1识别功能场景117

11.2.2识别功能序列118

11.2.3识别数据流118

11.2.4识别控制行为119

11.2.5识别数据处理过程119

11.2.6识别资源先决条件120

11.2.7识别失效条件120

11.2.8识别系统监控过程121

11.2.9识别数据保留能力需求122

11.2.10识别数据安全过程122

11.2.11识别数据持久性与保留功能122

11.3性能分配122

11.3.1分配性能预算123

11.3.2分配资源预算123

11.4架构评估123

11.4.1评估需求满足124

11.4.2评估软件性能124

11.4.3评估架构复杂性124

11.4.4评估优化机会124

11.5建立功能架构124

第12章物理架构配置125

12.1结构设计解决方案126

12.1.1定义结构单元127

12.1.2准备结构单元规约128

12.1.3建立软件集成策略129

12.1.4指定工程组套129

12.1.5准备软件技术数据包129

12.2结构设计考量130

12.2.1结构设计指导原则130

12.2.2使用建模与仿真132

12.2.3行为分析132

12.2.4结构权衡分析133

12.2.5软件产品性能评估134

12.2.6软件原型136

第13章软件设计综合实践138

13.1设计概念化139

13.1.1建立软件架构设计指导原则140

13.1.2识别抽象结构组件141

13.1.3识别抽象用户接口机制141

13.2设计解决方案142

13.2.1识别基本结构元素142

13.2.2识别集成组件143

13.2.3评估软件重用机会143

13.3设计相关性144

13.3.1建立性能基准144

13.3.2识别结构设计缺点145

13.3.3评估架构候SHOU最选方案146

13.3.4评估软件实现挑战146

13.3.5评估软件维护挑战146

13.3.6评估架构完整性147

13.4设计表现147

13.4.1建立结构设计配置147

13.4.2说明结构配置元素148

13.4.3识别工程组套148

13.5准备软件技术数据包148

第14章软件分析实践150

14.1定义权衡研究151

14.1.1建立权衡研究领域151

14.1.2确定候SHOU最选方案152

14.1.3建立成功标准152

14.2建立权衡研究环境153

14.2.1汇集实验机制153

14.2.2汇集数据收集和分析机制153

14.2.3建立权衡研究过程154

14.3执行分析154

14.3.1评估需求候SHOU最选方案155

14.3.2评估功能候SHOU最选方案155

14.3.3评估结构候SHOU最选方案155

14.4评估项目影响156

14.4.1评估开发影响156

14.4.2评估项目影响156

14.4.3确定项目执行策略156

14.5评估权衡研究结果156

14.5.1为架构候SHOU最选方案排序157

14.5.2确定优先行动路径157

14.5.3将权衡研究的决策文档化157

14.5.4优化执行策略158

第15章软件验证和确认实践159

15.1定义V&V策略160

15.1.1建立V&V范围160

15.1.2建立V&V方法162

15.1.3建立V&V过程162

15.2验证软件架构163

15.2.1验证需求基线163

15.2.2验证功能架构163

15.2.3验证物理架构163

15.2.4验证软件实现163

15.3确认物理架构163

15.3.1确认结构配置163

15.3.2确认集成软件配置163

15.4记录V&V结果164

第16章软件控制实践165

16.1配置管理166

16.1.1识别架构元素166

16.1.2维护架构状态166

16.2处理工程变更包167

16.2.1记录工程变更请求和提议167

16.2.2准备变更评估包167

16.3变更评估168

16.3.1评估变更技术优点168

16.3.2评估架构影响169

16.3.3评估技术工作包影响169

16.3.4评估技术方案影响169

16.4变更同化170

16.4.1发布变更通知包170

16.4.2审核架构变更进展170

16.4.3评估项目现状170

16.5软件库控制170

16.5.1维护工程工件库171

16.5.2维护变更历史库171

16.5.3维护技术风险库171

第三部分软件工程应用的阶段

第17章软件需求定义176

17.1软件需求定义的产品176

17.2软件工程集成产品团队(软件需求定义阶段)178

17.3软件实现(软件需求定义阶段)180

17.4计算环境准备(软件需求定义阶段)180

17.5开发后的过程实现(软件需求定义阶段)180

17.6软件测试和评估(软件需求定义阶段)181

17.7评审、里程碑和基线(软件需求定义阶段)182

第18章软件架构定义184

18.1概要架构定义185

18.1.1概要架构定义的产品185

18.1.2软件工程集成产品团队(概要架构定义阶段)186

18.1.3软件实现(概要架构定义阶段)187

18.1.4计算环境准备(概要架构定义阶段)187

18.1.5开发后的过程准备(概要架构定义阶段)187

18.1.6软件测试和评估(概要架构定义阶段)188

18.1.7评审与里程碑(概要架构定义阶段)189

18.2详细架构定义189

18.2.1详细架构定义的产品190

18.2.2软件工程集成产品团队(详细架构定义阶段)191

18.2.3软件实现(详细架构定义阶段)192

18.2.4计算环境准备(详细架构定义阶段)192

18.2.5开发后的过程准备(详细架构定义阶段)192

18.2.6软件测试和评估(详细架构定义阶段)193

18.2.7评审与里程碑(详细架构定义阶段)193

18.2.8建立分配基线194

第19章软件实现195

19.1软件实现的产品196

19.2软件工程任务(软件实现阶段)197

19.3软件实现任务(软件实现阶段)197

19.4计算环境任务(软件实现阶段)199

19.5开发后的过程任务(软件实现阶段)199

19.6软件测试和评估任务(软件实现阶段)199

19.7评审与里程碑(软件实现阶段)200

第20章软件验收测试202

20.1软件验收测试的产品203

20.2软件工程(软件验收测试阶段)203

20.3软件实现组织(软件验收测试阶段)204

20.4计算环境实现组织(软件验收测试阶段)204

20.5开发后的过程组织(软件验收测试阶段)204

20.6软件测试和评估(软件验收测试阶段)205

20.7评审与里程碑(软件验收测试阶段)205

20.8建立软件产品基线206

索引207