《软件工程》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:管建军主编
  • 出 版 社:武汉:武汉大学出版社
  • 出版年份:2007
  • ISBN:7307055651
  • 页数:245 页
图书介绍:本书介绍了软件的概念、发展、软件危机等,并论述了软件工程的方法、技术,介绍了面向对象软件工程学和统一建模语言UML、软件项目管理等。

第1章 软件工程概述 1

1.1 软件 1

1.1.1 软件的定义 2

1.1.2 软件的特点 2

1.1.3 软件的产生与发展 3

1.2 软件危机 4

1.2.1 软件危机的产生 4

1.2.2 软件危机的表现与原因 5

1.3 软件工程 6

1.3.1 软件工程的定义 6

1.3.2 软件工程的目标 6

1.3.3 软件工程的原则 7

1.4 软件生存周期 7

1.5 软件开发模型 9

1.5.1 瀑布模型 10

1.5.2 快速原型模型 11

1.5.3 增量模型 12

1.5.4 喷泉模型 12

1.5.5 螺旋模型 13

1.6 实例解析 14

本章小结 15

习题1 16

第2章 可行性研究和需求分析 18

2.1 软件的可行性研究 18

2.1.1 可行性研究的任务 18

2.1.2 可行性研究步骤 19

2.1.3 可行性研究的文档 20

2.2 需求分析 21

2.2.1 需求分析的重要性 21

2.2.2 需求分析的任务 21

2.2.3 需求分析的步骤 23

2.3 系统流程图 24

2.4 数据流图 26

2.4.1 数据流图中的符号 26

2.4.2 设计数据流图的步骤 28

2.4.3 数据流图的绘制 29

2.5 数据字典 32

2.5.1 数据字典的内容及格式 32

2.5.2 数据字典的用途 34

2.5.3 数据字典的实现 34

2.6 实例解析 35

本章小结 36

习题2 37

第3章 概要设计 39

3.1 概要设计的任务 39

3.1.1 概要设计的任务 39

3.1.2 概要设计说明书的主要内容 40

3.2 设计过程 40

3.3 设计原理 42

3.3.1 模块化 42

3.3.2 抽象与逐步求精 43

3.3.3 信息隐蔽 44

3.3.4 模块独立性 45

3.4 描绘软件结构的图形工具 47

3.4.1 软件结构图 47

3.4.2 层次图 49

3.5 启发规则 50

3.6 面向数据流的设计方法 52

3.6.1 变换分析 53

3.6.2 事务分析 54

3.6.3 设计优化 55

3.7 实例解析 55

本章小结 60

习题3 60

第4章 详细设计 62

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

4.1.1 详细设计的任务 62

4.1.2 详细设计的原则 63

4.2 结构化程序设计 63

4.2.1 结构化设计技术的形成 63

4.2.2 结构化设计技术的概念 64

4.2.3 结构化程序设计的原则 65

4.3 过程设计的工具 65

4.3.1 程序流程图PFC 65

4.3.2 盒图N-S 66

4.3.3 问题分析图PAD 66

4.3.4 过程设计语言PDL 67

4.3.5 判定表(Decision Table) 68

4.3.6 判定树 69

4.4 用户界面设计 70

4.4.1 用户界面应具备的特性及设计过程 70

4.4.2 用户界面的风格 70

4.4.3 用户界面的基本类型 72

4.4.4 用户界面设计指南 72

4.5 面向数据结构的设计方法 74

4.5.1 Jackson方法简介 74

4.5.2 Jackson方法的设计过程 75

4.6 程序复杂程度的定量度量 78

4.6.1 McCabe度量法 78

4.6.2 Halstead方法 79

4.7 实例解析 80

本章小结 81

习题4 82

第5章 面向对象的方法 84

5.1 面向对象方法概述 84

5.1.1 传统软件工程方法存在的问题 84

5.1.2 面向对象方法概述 85

5.1.3 面向对象的基本概念 88

5.1.4 面向对象的开发方法 92

5.2 面向对象分析 94

5.2.1 面向对象分析基本过程及原则 95

5.2.2 确定对象 98

5.2.3 确定结构 99

5.2.4 确立主题 100

5.2.5 确定属性 100

5.2.6 确定服务和消息 101

5.3 面向对象设计 102

5.3.1 面向对象设计的准则 102

5.3.2 面向对象设计的内容 104

5.3.3 人机交互子系统的设计 105

5.3.4 问题域子系统的设计 106

5.3.5 任务管理子系统的设计 107

5.3.6 数据管理子系统的设计 108

5.4 实例解析 108

本章小结 112

习题5 113

第6章 统一建模语言UML 115

6.1 UML概述 115

6.1.1 UML的产生和发展 115

6.1.2 UML的组成 116

6.1.3 UML的主要特点 117

6.1.4 UML的应用 117

6.2 通用模型元素 118

6.2.1 模型元素 118

6.2.2 约束 119

6.2.3 依赖关系 119

6.2.4 细化 120

6.2.5 注释 120

6.3 UML的静态建模机制 120

6.3.1 用例图 121

6.3.2 类图和对象图 124

6.3.3 包 130

6.3.4 构件图 131

6.3.5 配置图 132

6.4 UML的动态建模机制 132

6.4.1 消息 133

6.4.2 顺序图 133

6.4.3 协作图 134

6.4.4 状态图 135

6.4.5 活动图 137

6.5 实例解析 140

本章小结 144

习题6 145

第7章 软件测试 147

7.1 编码 147

7.1.1 程序设计语言的选择 147

7.1.2 程序设计风格 149

7.2 软件测试基础 151

7.2.1 软件测试的目的 151

7.2.2 软件测试的特点和原则 152

7.2.3 软件测试的基本步骤 153

7.2.4 静态分析与动态测试 153

7.3 白盒测试技术 154

7.3.1 逻辑覆盖 154

7.3.2 基本路径测试 157

7.3.3 条件测试 158

7.3.4 循环测试 158

7.3.5 白盒法测试步骤的总结 159

7.4 黑盒测试技术 159

7.4.1 等价分类法 159

7.4.2 边界值分析法 160

7.4.3 错误推测法 161

7.4.4 因果图法 161

7.4.5 综合策略 161

7.5 软件测试过程 162

7.5.1 单元测试 162

7.5.2 集成测试 163

7.5.3 确认测试 165

7.5.4 系统测试 166

7.6 调试 166

7.6.1 调试的目的 166

7.6.2 调试方法 166

7.6.3 调试原则 167

7.7 实例解析 168

本章小结 171

习题7 171

第8章 软件维护 173

8.1 软件维护的内容 173

8.1.1 软件维护的定义 173

8.1.2 软件维护的类型及策略 174

8.2 软件维护的特点 175

8.3 软件维护过程 176

8.3.1 维护组织 176

8.3.2 维护工作的流程 177

8.3.3 维护技术 178

8.4 软件的可维护性 179

8.4.1 软件可维护性的定义 179

8.4.2 可维护性的度量 179

8.4.3 提高可维护性的方法 181

8.5 软件再工程过程 183

8.6 实例解析 185

本章小结 186

习题8 187

第9章 软件项目管理 189

9.1 度量软件规模 189

9.1.1 面向规模的度量 190

9.1.2 面向功能的度量 190

9.2 成本估算 192

9.2.1 软件开发成本估计方法 192

9.2.2 成本估算模型 193

9.3 进度计划 194

9.3.1 进度安排的方法 194

9.3.2 制定开发进度计划 196

9.4 人员组织 196

9.5 质量保证 198

9.6 软件配置管理 200

9.6.1 软件配置项(简称SCI) 200

9.6.2 基线 200

9.6.3 软件配置管理的过程 201

9.7 能力成熟度模型 203

9.7.1 CMM概述 203

9.7.2 CMM的五个级别详述 204

9.7.3 关键过程域 204

9.7.4 应用软件过程评估 206

9.8 实例解析 206

本章小结 207

习题9 207

第10章 综合应用 209

10.1 “图书馆管理信息系统”的立项背景 209

10.2 可行性研究 210

10.2.1 现有系统存在的问题 210

10.2.2 新系统的功能 210

10.2.3 软件开发环境 211

10.2.4 可行性分析 211

10.3 需求分析 212

10.3.1 需求分析概述 212

10.3.2 组织结构调查 212

10.3.3 系统用户分析 213

10.3.4 UML用例图建模 213

10.3.5 数据流图 213

10.3.6 数据字典 215

10.3.7 IPO图 218

10.3.8 用户其他需求 219

10.4 概要设计 219

10.4.1 系统结构设计 219

10.4.2 数据库设计 221

10.5 详细设计 226

10.5.1 登录模块详细设计 226

10.5.2 读者管理子系统详细设计 227

10.6 系统实现 231

10.6.1 登录窗体 231

10.6.2 读者管理 233

10.7 系统测试 235

10.7.1 功能测试 235

10.7.2 系统测试 238

10.7.3 测试结论 238

本章小结 238

第11章 实训 239

11.1 实训指导 239

11.2 实训流程 240

11.3 实训内容 242

实训1 学校排课系统 242

实训2 学校教材定购系统 242

实训3 机票预定系统 243

实训4 学生公寓管理系统 243

实训5 实训室设备管理系统 243

参考文献 245