《软件工程基础教程》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:刘文,朱飞雪主编
  • 出 版 社:北京:北京大学出版社
  • 出版年份:2005
  • ISBN:7301096917
  • 页数:271 页
图书介绍:

第1章 软件工程概述 1

1.1软件与软件危机 1

1.1.1软件的发展 1

1.1.2软件的特征 2

1.1.3软件危机 3

1.2软件工程 4

1.2.1软件工程的概念 4

1.2.2软件工程的基本原理 4

1.2.3软件工程的基本目标 6

1.3软件生存周期 6

1.4软件开发模型 8

1.4.1瀑布模型 8

1.4.2快速原型模型 9

1.4.3增量模型 10

1.4.4螺旋模型 11

1.4.5喷泉模型 13

1.4.6形式化方法模型 13

1.5软件开发方法和软件开发工具 15

1.5.1软件开发方法的概念 15

1.5.2软件开发的基本方法 16

1.5.3软件开发工具 17

1.6传统软件工程和面向对象软件工程 17

1.6.1传统的软件工程 17

1.6.2面向对象的软件工程 18

习题 19

第2章 软件需求分析 22

2.1软件需求分析概述 22

2.1.1实例分析 22

2.1.2软件需求分析的任务 25

2.1.3软件需求分析的步骤 26

2.2软件需求获取的方法 27

2.2.1常规的软件需求获取的方法 27

2.2.2快速原型法在软件需求分析中的应用 29

2.3分析建模 30

2.3.1分析模型 30

2.3.2分析建模的描述工具 31

2.4软件需求说明 38

2.5结构化分析方法 40

2.5.1画出分层数据流图 40

2.5.2确定数据定义与加工策略 44

2.5.3复审 45

2.6需求验证 45

2.7软件需求规格说明书书写范例 46

习题 48

第3章 总体设计 51

3.1总体设计的任务和步骤 51

3.1.1总体设计的任务 51

3.1.2总体设计的步骤 51

3.2总体设计的概念与原则 52

3.2.1模块化 53

3.2.2抽象 54

3.2.3信息隐蔽 54

3.2.4模块独立性 55

3.2.5结构设计准则 57

3.3面向数据流的设计方法 59

3.3.1系统结构图(SC图) 59

3.3.2数据流图的类型 60

3.3.3设计过程 61

3.3.4变换分析 62

3.3.5事务分析 63

3.3.6设计优化 64

3.3.7教材购销系统的结构设计示例 65

3.4总体设计规格说明书与评审 70

3.5总体设计文档写作范例 71

习题 73

第4章 详细设计 75

4.1详细设计的任务与原则 75

4.1.1详细设计的任务 75

4.1.2详细设计的原则 76

4.2详细设计的方法 76

4.2.1详细设计的工具 76

4.2.2 Jackson图 80

4.2.3详细设计示例 84

4.3详细设计规格说明与评审 87

4.3.1详细设计说明书 87

4.3.2详细设计复审 87

4.4详细设计文档写作范例 87

4.4.1详细设计文档的编写 87

4.4.2详细设计文档的实例 89

习题 91

第5章 软件的编码与测试 94

5.1编码设计的目的 94

5.2程序设计语言 95

5.2.1程序设计语言的分类 95

5.2.2程序设计语言的选择 97

5.3编码风格 98

5.3.1使用好程序内部的文档 98

5.3.2数据说明原则 99

5.3.3语句结构的规则 99

5.3.4输入/输出规则 100

5.3.5高效率的原则 100

5.4软件测试 101

5.4.1软件测试目标 101

5.4.2软件测试的原则 102

5.4.3软件测试的方法 103

5.4.4软件测试的过程 104

5.4.5软件测试与开发各阶段的关系 105

5.5测试用例的设计 105

5.5.1逻辑覆盖 105

5.5.2等价分类法 108

5.5.3边界值分析法 109

5.5.4错误猜测法 110

5.5.5实用综合测试策略 110

5.6测试步骤 110

5.6.1单元测试 111

5.6.2集成测试 114

5.6.3验收测试 115

5.6.4系统测试 116

5.7调试技术 117

5.7.1调试过程 117

5.7.2调试技术 117

5.7.3调试原则 118

习题 119

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

6.1面向对象方法学概述 122

6.1.1面向对象方法的发展历程 122

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

6.1.3面向对象方法学的不足 125

6.2面向对象的基本概念 126

6.2.1对象 126

6.2.2类和实例 127

6.2.3消息和方法 128

6.3面向对象的基本特征 129

6.3.1继承性(inheritance) 129

6.3.2封装性(encapsulation) 131

6.3.3多态性(polymorphism)和重载(overloading) 131

6.4面向对象的软件工程 132

6.5面向对象的建模 135

6.5.1面向对象的建模概述 135

6.5.2对象模型 136

6.5.3动态模型 136

6.5.4功能模型 137

6.6面向对象的开发方法 137

6.6.1 Booch方法 138

6.6.2 Coad方法 138

6.6.3 OMT方法 139

6.6.4 Jacobson方法 140

习题 140

第7章 面向对象的分析 144

7.1面向对象的分析 144

7.1.1概述 144

7.1.2对象模型的层次 145

7.1.3需求陈述 145

7.2对象模型 147

7.2.1确定类-&-对象 147

7.2.2确定关联 149

7.2.3确定主题 151

7.2.4确定属性 151

7.2.5对象模型的精化 152

7.3动态模型 154

7.3.1概述 154

7.3.2编写系统交互式活动的脚本 154

7.3.3构造交互过程的用户界面 155

7.3.4构造事件跟踪图 156

7.3.5构造系统对象的状态图 157

7.3.6动态模型的合并和精化 158

7.4功能模型 158

7.4.1基本系统模型 159

7.4.2功能级数据流图 159

7.4.3描述处理框功能 160

7.4.4类和对象中服务的定义 160

习题 161

第8章 面向对象设计 163

8.1面向对象设计的概念 163

8.1.1面向对象设计的准则 163

8.1.2面向对象设计应遵循的原则 164

8.1.3面向对象设计的内容 165

8.2问题域部分的设计 166

8.3人-机交互子系统的设计 168

8.3.1界面系统的设计原则 168

8.3.2分类用户和描述用户 169

8.3.3界面元素及命令层次的设计 169

8.4任务管理子系统设计 170

8.5数据管理子系统设计 171

8.5.1数据存储管理的3种模式 171

8.5.2数据管理子系统的设计内容 172

8.5.3类中提供的服务的设计 173

习题 173

第9章 统一建模语言UML 175

9.1 UML概述 175

9.1.1 UML的产生和发展 175

9.1.2 UML的主要内容 176

9.1.3 UML的主要特点 177

9.1.4 UML的应用 178

9.2 UML静态建模机制 178

9.2.1用例图 178

9.2.2类图和对象图 182

9.2.3包 187

9.2.4构件图 188

9.2.5配置图 189

9.3 UML动态建模机制 189

9.3.1消息 190

9.3.2顺序图 190

9.3.3协作图 191

9.3.4状态图 192

9.3.5活动图 194

9.4统一建模过程 195

习题 196

第10章 面向对象的实现 198

10.1程序设计语言 198

10.1.1面向对象的语言与非面向对象的语言 198

10.1.2面向对象的语言的技术支持 199

10.1.3选择面向对象语言的原则 201

10.2面向对象程序设计风格 202

10.2.1提高可重用性 202

10.2.2提高可扩充性 203

10.2.3提高稳健性 203

10.3测试策略 204

10.3.1面向对象测试概述 204

10.3.2测试OOA、 OOD模型 205

10.3.3面向对象测试策略 205

10.4设计测试用例 206

10.4.1设计类测试用例 207

10.4.2测试类间测试用例 208

习题 208

第11章 软件维护 210

11.1软件维护的种类 210

11.2软件维护的特点 212

11.2.1软件维护面临的困难 212

11.2.2产生软件维护问题的根源 212

11.2.3非结构化维护 213

11.2.4结构化维护 213

11.3软件维护的实施 213

11.3.1维护机构 213

11.3.2软件维护申请报告 214

11.3.3软件维护工作流程 214

11.3.4维护档案记录 216

11.3.5维护评价 216

11.4软件的可维护性 216

11.4.1影响可维护性的因素 216

11.4.2软件可维护性的度量 217

11.4.3提高可维护性的方法 219

11.5软件维护的副作用 222

习题 223

第12章 软件项目的计划和成本估计 225

12.1软件的目标与项目计划 225

12.1.1软件开发项目的特点 225

12.1.2项目计划目的与作用 226

12.1.3项目计划制定的原则 227

12.1.4项目计划的内容 227

12.1.5项目计划编制过程 229

12.1.6项目计划内容确定 231

12.2成本估算 233

11.2.1成本估算的方法 233

12.2.2成本估算的经验模型 235

12.3进度计划 237

12.3.1进度安排的制定过程 237

12.3.2任务的并行性 238

12.3.3进度安排的方法 238

习题 240

第13章 控制管理 242

13.1软件配置管理 242

13.1.1软件管理的危机 242

13.1.2软件配置管理 243

13.1.3软件配置管理活动 243

13.2软件质量管理 246

13.2.1软件质量的定义 246

13.2.2软件质量要素 246

13.2.3软件质量评价准则 247

13.2.4软件质量度量 248

13.2.5全面质量管理 248

13.3软件风险管理 250

13.3.1什么是风险 250

13.3.2风险管理 251

13.3.3风险识别 251

13.3.4风险估计 253

13.3.5风险评估 254

13.3.6风险管理策略 256

13.3.7风险驾驭和监控 256

习题 257

第14章 组织与文档技术 259

14.1人员分配 259

14.1.1组织结构 259

14.1.2人员配备 260

14.1.3团队管理 260

14.2软件工程文档 262

14.2.1软件工程文档的分类 262

14.2.2软件工程文档的作用 263

14.2.3编制规范的软件工程文件 264

14.3软件工程标准化 266

14.3.1软件工程标准化的意义 266

14.3.2软件工程标准的层次 267

14.3.3我国的软件工程标准化工作 268

习题 269

参考文献 271