高等院校计算机课程案例教程系列:软件工程方法与实践(第3版) 9787111549482,7111549481

配送至
$ $ USD 美元

编辑推荐

《高等院校计算机课程案例教程系列:软件工程方法与实践(第3版)》适合作为高等院校软件工程课程的教材,也可作为软件开发从业人员的参考书。

目录

前言
第一部分软件工程基础
第1章软件工程概述2
1.1引言2
1.2什么是软件2
1.2.1软件的定义与特性2
1.2.2软件技术的演化3
1.3什么是软件工程4
1.3.1软件危机4
1.3.2解决软件危机的途径5
1.3.3软件工程的定义5
1.4软件工程的基本原理与基本原则7
1.4.1基本原理7
1.4.2基本原则8
1.5软件工程开发方法学8
1.5.1结构化开发方法学9
1.5.2面向对象开发方法学9
1.5.3重型软件工程与轻型软件工程10
1.6小结10
习题11
第2章软件过程12
2.1引言12
2.2什么是软件过程12
2.2.1软件过程的定义12
2.2.2软件过程框架13
2.3软件产品与过程15
2.4软件生存周期17
2.5软件工程活动18
2.6小结20
习题21
第3章软件过程模型22
3.1引言22
3.2什么是软件过程模型22
3.3传统的软件过程模型22
3.3.1瀑布模型22
3.3.2增量模型24
3.3.3螺旋模型25
3.4面向对象模型26
3.4.1构件集成模型26
3.4.2统一过程模型27
3.5小结29
习题29
第4章敏捷软件开发方法30
4.1引言30
4.2敏捷软件开发过程30
4.2.1敏捷过程30
4.2.2敏捷开发原则31
4.3Scrum开发过程31
4.3.1Scrum的特点31
4.3.2Scrum模型与过程32
4.4极限编程33
4.4.1什么是极限编程33
4.4.2极限编程的要素34
4.5结对编程35
4.5.1什么是结对编程36
4.5.2结对编程的优势分析37
4.5.3结对编程的分类39
4.5.4结对编程的方式39
4.6小结41
习题41
第二部分结构化分析、设计与测试
第5章软件需求分析44
5.1引言44
5.2什么是软件需求44
5.3需求分析过程45
5.4会谈技术49
5.4.1非正式会谈49
5.4.2正式会谈49
5.5调查技术50
5.5.1确定调查内容50
5.5.2可靠可信分析51
5.6场景分析技术51
5.7小结52
习题52
第6章结构化分析53
6.1引言53
6.2结构化分析模型53
6.3面向数据流的建模方法54
6.3.1数据流建模方法54
6.3.2实例分析57
6.4面向数据的建模方法58
6.4.1数据建模方法58
6.4.2实例分析59
6.5面向状态的建模方法60
6.5.1状态建模方法60
6.5.2实例分析61
6.6规格说明书编写示例62
6.7小结70
习题70
第7章结构化设计71
7.1引言71
7.2软件设计过程71
7.3软件模块化设计75
7.4软件结构78
7.5结构化概要设计79
7.5.1数据流模型79
7.5.2数据流设计方法80
7.5.3实例分析81
7.6概要设计文档编写示例83
7.7详细设计90
7.8结构化详细设计91
7.9详细设计文档编写示例98
7.10编码实现101
7.10.1编码语言101
7.10.2编码风格102
7.11小结103
习题103
第8章结构化软件测试106
8.1引言106
8.2软件测试的目的和原则106
8.3软件测试的基本过程108
8.3.1单元测试108
8.3.2集成测试110
8.3.3确认测试110
8.3.4系统测试111
8.4测试用例设计111
8.5黑盒测试技术112
8.5.1等价类划分112
8.5.2边界值分析113
8.5.3错误推测114
8.5.4因果图114
8.6白盒测试技术117
8.6.1逻辑覆盖117
8.6.2路径覆盖120
8.6.3循环路径测试策略122
8.7集成测试技术123
8.7.1集成策略123
8.7.2性能测试125
8.7.3实例分析127
8.8调试技术133
8.8.1调试过程133
8.8.2调试策略134
8.9软件测试文档135
8.9.1软件测试计划文档135
8.9.2集成测试文档137
8.10小结139
习题139
第9章高要求系统的分析与设计140
9.1引言140
9.2什么是高要求系统140
9.3高要求系统的需求分析142
9.3.1风险需求描述143
9.3.2安全性描述146
9.3.3信息安全描述146
9.3.4软件可靠性描述146
9.3.5胰岛素输送系统完整的需求描述147
9.4形式化描述方法149
9.4.1软件过程中的形式化描述149
9.4.2接口描述方法150
9.4.3行为描述153
9.5高要求系统的设计155
9.6高要求系统的开发156
9.7系统验证160
9.7.1可靠性验证160
9.7.2安全性保证161
9.7.3信息安全评估164
9.8小结165
习题166
第三部分面向对象分析、设计与测试
第10章面向对象分析168
10.1引言168
10.2面向对象模型168
10.3UML170
10.3.1UML的组成170
10.3.2UML的视图171
10.4面向对象分析过程172
10.5用例驱动分析173
10.5.1用例建模分析173
10.5.2开发活动图177
10.5.3开发泳道图178
10.6领域与业务建模179
10.6.1识别业务类和领域类179
10.6.2业务类图180
10.6.3识别属性和操作181
10.6.4开发协作图182
10.6.5开发包图182
10.6.6逻辑架构183
10.7系统行为建模185
10.7.1系统顺序图185
10.7.2建立操作契约186
10.7.3建立顺序图187
10.7.4系统状态图188
10.8POS机系统案例分析188
10.9分布式结对编程系统分析191
10.9.1项目概述191
10.9.2功能描述192
10.9.3逻辑分析与建模200
10.10小结204
习题205
第11章面向对象设计206
11.1引言206
11.2面向对象设计模型206
11.3构件设计207
11.3.1构件设计的步骤207
11.3.2构件设计的原则208
11.4并发性设计209
11.5设计模式211
11.5.1基于职责的设计211
11.5.2常见的设计模式212
11.6面向对象详细设计215
11.6.1模型精化216
11.6.2逻辑架构精化设计219
11.6.3分层设计221
11.6.4类操作设计223
11.7方法设计229
11.8精化设计234
11.9数据存储与持久性设计238
11.10部署设计与构件图243
11.11小结244
习题245
第12章面向对象实现与测试246
12.1引言246
12.2面向对象实现246
12.3POS机系统实现247
12.4分布式结对编程系统实现253
12.5面向对象测试256
12.6面向对象测试策略258
12.7测试驱动开发261
12.7.1什么是测试驱动开发261
12.7.2测试驱动开发的步骤264
12.7.3编写测试程序266
12.7.4代码重构270
12.8小结271
习题271
第四部分软件维护与项目管理
第13章软件维护274
13.1引言274
13.2软件的可维护性275
13.3软件维护的类型275
13.4软件维护方法277
13.5提高软件的可维护性279
13.5.1结构化维护与非结构化维护279
13.5.2提高软件可维护性的技术途径280
13.6小结281
习题281
第14章软件项目管理283
14.1引言283
14.2软件项目组织285
14.3软件过程管理287
14.3.1软件过程度量287
14.3.2软件过程改进288
14.3.3软件项目度量289
14.4软件项目风险管理289
14.4.1风险识别289
14.4.2风险预测290
14.4.3风险管理290
14.5软件配置管理291
14.5.1基本概念291
14.5.2软件配置管理过程292
14.6软件项目估算293
14.6.1软件项目资源293
14.6.2软件规模度量294
14.6.3估算管理296
14.7分解技术296
14.7.1基于问题分解的估算296
14.7.2基于过程分解的估算298
14.8经验估算技术299
14.8.1专家类比推断299
14.8.2中级COCOMO估算模型300
14.9软件质量管理303
14.9.1软件质量保证303
14.9.2软件质量度量305
14.10项目进度管理308
14.10.1项目进度管理计划308
14.10.2进度安排309
14.10.3进度跟踪管理311
14.11小结311
习题312
参考文献314

文摘

版权页:



调试过程为了确定故障,往往需要进行某些诊断测试,加以验证。如果调试处理不当,仍然可能带人新的错误,所以,调试过程要特别慎重。为了确保调试的正确性,在修改设计和代码之后,往往需要重复进行暴露这个错误的某些原始测试,即回归测试,验证故障确实被排除了。因此,调试过程往往需要和测试过程交替进行。
软件测试一般由专业测试人员进行,而软件调试最好由编程人员自己进行。这是因为,问题的外部现象和内在原因之间往往没有明显的联系,而编程者最清楚程序的内部结构,由他们自己根据错误症状来调试的效果好得多。
8.8.2调试策略
调试过程常用的一些调试技术,例如,安排打印语句输出有关变量或存储单元的内容,利用专门的调试软件工具分析程序的动态行为等,这些调试技术均有一定的局限性。一般,在使用调试技术之前,都应该对错误的症状进行全面的分析和周密的思考,得出对故障的推测,然后使用适当的调试技术检验推测的正确性,也就是说,任何一种调试技术都应该以试探的方式使用。
ISBN9787111549482,7111549481
出版社机械工业出版社
作者窦万峰
尺寸16