图书目录

第1章软件工程概论1

1.1软件危机1

1.1.1软件危机简介1

1.1.2产生软件危机的原因1

1.1.3消除软件危机的途径2

1.2软件工程3

1.2.1软件工程简介3

1.2.2软件工程的基本原理3

1.2.3软件工程方法学3

1.3软件生命周期4

1.4软件过程5

习题8

习题解答10

第2章结构化分析13

2.1可行性研究的任务13

2.2可行性研究过程13

2.3需求分析的任务14

2.4与用户沟通的方法14

2.5分析建模与规格说明15

2.6实体联系图16

2.7数据流图16

2.8数据字典17

2.9状态转换图17

2.10其他图形工具18

2.11验证软件需求19

2.12成本/效益分析19

2.12.1成本估计19

2.12.2成本/效益分析方法19

2.13形式化说明技术20

习题21

习题解答23

软件工程导论学习辅导目录第3章结构化设计41

3.1软件设计的任务41

3.1.1概要设计41

3.1.2详细设计41

3.2分析与设计的关系42

3.3设计原理43

3.3.1模块化与模块独立43

3.3.2抽象43

3.3.3逐步求精44

3.3.4信息隐藏45

3.3.5局部化45

3.4度量模块独立性的标准45

3.4.1耦合45

3.4.2内聚45

3.5启发规则46

3.6描绘软件结构的图形工具46

3.7面向数据流的设计方法46

3.7.1数据流的类型47

3.7.2设计步骤47

3.8人机界面设计48

3.8.1应该考虑的设计问题49

3.8.2人机界面设计过程50

3.8.3人机界面设计指南50

3.9过程设计51

3.10过程设计的工具51

3.11面向数据结构的设计方法53

3.12程序复杂程度的定量度量54

3.12.1McCabe方法54

3.12.2Halstead方法54

习题55

习题解答59

第4章结构化实现79

4.1编码79

4.1.1选择程序设计语言79

4.1.2编码风格80

4.2软件测试基础80

4.3单元测试81

4.4集成测试82

4.5白盒测试技术84

4.5.1逻辑覆盖84

4.5.2控制结构测试85

4.6黑盒测试技术86

4.6.1等价划分86

4.6.2边界值分析87

4.6.3错误推测88

4.7调试88

4.7.1调试过程88

4.7.2调试途径88

4.8软件可靠性89

4.8.1基本概念89

4.8.2估算平均无故障时间的方法90

习题92

习题解答94

第5章维护105

5.1软件维护的定义105

5.2软件维护的特点106

5.3软件维护过程107

5.4软件的可维护性108

5.4.1决定软件可维护性的因素108

5.4.2文档109

5.4.3可维护性复审109

5.5预防性维护109

5.6软件再工程过程110

习题111

习题解答112

第6章面向对象方法学引论117

6.1面向对象方法学概述117

6.1.1面向对象方法学的要点117

6.1.2面向对象方法学的优点118

6.1.3面向对象的软件过程120

6.2面向对象的概念121

6.2.1对象121

6.2.2其他概念122

6.3面向对象建模123

6.4对象模型124

6.4.1类图的基本符号124

6.4.2表示关系的符号124

6.5动态模型126

6.6功能模型126

6.6.1用例图126

6.6.2用例建模128

6.73种模型之间的关系128

习题129

习题解答130

第7章面向对象分析137

7.1面向对象分析的基本过程137

7.1.1概述137

7.1.23个子模型与5个层次138

7.2需求陈述138

7.3建立对象模型139

7.3.1确定类与对象139

7.3.2确定关联140

7.3.3划分主题141

7.3.4确定属性141

7.3.5识别继承关系141

7.3.6反复修改142

7.4建立动态模型142

7.4.1编写脚本142

7.4.2画事件跟踪图143

7.4.3画状态图143

7.4.4审查动态模型144

7.5建立功能模型144

7.6定义服务144

习题145

习题解答146

第8章面向对象设计151

8.1面向对象设计的准则151

8.2启发规则152

8.3软件重用153

8.3.1概述153

8.3.2类构件154

8.3.3软件重用的效益155

8.4系统分解155

8.5设计问题域子系统156

8.6设计人机交互子系统157

8.7设计任务管理子系统157

8.8设计数据管理子系统158

8.9设计类中的服务159

8.10设计关联159

8.11设计优化160

习题161

习题解答162

第9章面向对象实现171

9.1程序设计语言171

9.2程序设计风格172

9.3面向对象的测试策略173

9.4设计测试用例174

9.4.1测试类的技术174

9.4.2集成测试技术175

习题175

习题解答176

第10章软件项目管理181

10.1估算软件规模181

10.1.1代码行技术181

10.1.2功能点技术181

10.2估算工作量183

10.2.1静态单变量模型183

10.2.2动态多变量模型183

10.2.3COCOMO2模型183

10.3进度计划184

10.3.1估算开发时间184

10.3.2Gantt图185

10.3.3工程网络185

10.3.4估算工程进度185

10.3.5关键路径186

10.3.6机动时间186

10.4人员组织186

10.4.1民主制程序员组187

10.4.2主程序员组187

10.4.3现代程序员组187

10.5质量保证188

10.5.1软件质量188

10.5.2软件质量保证措施188

10.6软件配置管理188

10.6.1软件配置188

10.6.2软件配置管理过程189

10.7能力成熟度模型190

习题191

习题解答193

附录199

附录A模拟试题199

试卷一199

试卷二201

试卷三203

附录B模拟试题参考答案206

试卷一参考答案206

试卷二参考答案208

试卷三参考答案210

参考文献213