《软件工程基础与实例分析》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:王阿川主编
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2010
  • ISBN:9787111311225
  • 页数:217 页
图书介绍:本书包括传统的软件工程和面向对象的软件工程两大部分。在传统的软件工程部分,按照软件生存周期的顺序介绍各个阶段的任务、过程、方法、工具和文档编写规范;在面向对象的软件工程部分,介绍了面向对象的分析与设计方法以及统一建模语言 UML的相关知识。

第1章 软件工程概述 1

1.1 软件 1

1.1.1 软件的概念及特点 1

1.1.2 软件的分类 1

1.1.3 软件危机的原因及解决途径 3

1.2 软件工程概念 4

1.2.1 软件工程的定义和内容 4

1.2.2 软件工程的基本原理 4

1.3 软件生存周期 5

1.4 常用软件开发过程模型 6

1.4.1 瀑布模型 6

1.4.2 快速原型模型 7

1.4.3 螺旋模型 8

1.4.4 喷泉模型 9

1.5 软件开发方法简述 9

1.5.1 面向数据流的结构化方法 9

1.5.2 面向数据结构的Jackson方法 10

1.5.3 面向对象的方法 10

1.6 软件文档 11

1.6.1 软件文档在软件开发中的地位和作用 11

1.6.2 软件文档的种类及写作要求 12

小结 13

习题1 14

第2章 可行性研究 15

2.1 问题定义 15

2.2 可行性研究的任务 15

2.3 可行性研究的过程 16

2.4 可行性研究阶段使用的工具 17

2.4.1 系统流程图 17

2.4.2 数据流图 19

2.4.3 数据字典 24

2.5 成本效益分析 26

2.6 网上招聘系统可行性研究报告 28

小结 31

习题2 31

第3章 需求分析 32

3.1 需求分析的任务 32

3.2 需求分析的过程 33

3.3 需求分析阶段使用的工具 35

3.3.1 实体关系图 35

3.3.2 数据规范化 36

3.3.3 层次框图 36

3.3.4 Warnier图 37

3.3.5 描述算法的IPO图 38

3.4 网上招聘系统需求规格说明书 38

小结 42

习题3 42

第4章 概要设计 44

4.1 软件设计的目标和任务 44

4.1.1 软件设计的目标 44

4.1.2 软件设计的任务 44

4.2 概要设计的过程 45

4.3 软件设计的原理 47

4.3.1 模块化 47

4.3.2 抽象 48

4.3.3 信息隐蔽 49

4.3.4 模块独立 49

4.4 启发规则 52

4.4.1 改进软件结构提高模块独立性 52

4.4.2 模块规模适中 52

4.4.3 适当控制深度、宽度、扇出、扇入 52

4.4.4 模块的作用域应该在控制域之内 53

4.4.5 力争降低模块接口的复杂程度 53

4.4.6 设计单入口单出口的模块 53

4.4.7 模块功能可预测 53

4.5 概要设计阶段使用的工具 53

4.5.1 层次图 53

4.5.2 HIPO图 54

4.5.3 结构图 55

4.5.4 程序系统结构图 56

4.6 结构化设计方法 56

4.6.1 基本概念 56

4.6.2 系统结构图中的模块 57

4.6.3 结构化设计过程 58

4.6.4 变换分析 58

4.6.5 事务分析 61

4.6.6 混合结构分析 62

4.7 网上招聘系统概要设计说明书 62

小结 66

习题4 66

第5章 详细设计 67

5.1 详细设计的过程 67

5.1.1 详细设计的基本任务 67

5.1.2 详细设计方法 68

5.2 详细设计阶段使用的工具 68

5.2.1 程序流程图 68

5.2.2 盒图 69

5.2.3 PAD图 70

5.2.4 判定表与判定树 71

5.2.5 过程设计语言 72

5.3 面向数据结构的设计方法 75

5.3.1 改进的Jackson图 75

5.3.2 Jackson方法 76

5.4 网上招聘系统详细设计说明书 79

小结 83

习题5 84

第6章 编码 85

6.1 选择开发语言 85

6.1.1 程序设计语言分类及特点 85

6.1.2 选择的标准 87

6.2 软件编码的规范 88

6.2.1 程序中的注释 88

6.2.2 数据说明 88

6.2.3 语句结构 88

6.2.4 输入和输出 89

6.3 网上招聘系统编码规范 90

小结 92

习题6 93

第7章 测试 94

7.1 测试的目标和原则 94

7.2 测试用例设计 95

7.2.1 黑盒测试 95

7.2.2 白盒测试 97

7.3 测试的步骤 100

7.3.1 单元测试 100

7.3.2 集成测试 102

7.3.3 确认测试 104

7.3.4 系统测试 105

7.4 常用测试工具及特点 105

7.5 软件测试阶段文档写作规范 107

7.5.1 测试文档的类型 107

7.5.2 软件测试过程文档 108

7.6 网上招聘系统客户端测试文档 110

7.6.1 测试计划文档 110

7.6.2 测试设计文档 112

小结 115

习题7 115

第8章 维护 116

8.1 软件维护的概念及特点 116

8.2 软件的可维护性 118

8.3 软件维护的步骤 119

8.4 软件维护过程文档写作规范 121

8.5 用户手册的主要内容及写作要求 121

8.6 网上招聘系统维护文档 122

小结 122

习题8 123

第9章 面向对象的分析设计与实现 124

9.1 传统方法学存在的缺点 124

9.2 面向对象的基本概念 124

9.2.1 基本概念 125

9.2.2 面向对象建模 126

9.3 面向对象分析 128

9.3.1 面向对象分析的特点 128

9.3.2 需求陈述 129

9.3.3 建立对象模型 129

9.3.4 建立动态模型 130

9.3.5 建立功能模型 131

9.3.6 定义服务 132

9.4 面向对象设计 133

9.4.1 面向对象设计准则 133

9.4.2 启发规则 134

9.4.3 系统分解 135

9.4.4 设计问题域子系统 137

9.4.5 设计人—机交互子系统 138

9.4.6 设计任务管理子系统 140

9.4.7 设计数据管理子系统 142

9.4.8 设计类中的服务 144

9.4.9 设计关联 144

9.4.10 设计优化 146

9.5 面向对象实现 148

9.5.1 程序设计语言 148

9.5.2 设计风格 151

小结 153

习题9 153

第10章 UML开发方法 154

10.1 UML概述 154

10.2 UML的主要目标和特点 154

10.2.1 UML的主要目标 154

10.2.2 UML的主要特点 154

10.3 UML的应用领域 155

10.4 UML的建模框架和基本概念 155

10.4.1 UML的建模框架 155

10.4.2 UML的基本概念 156

10.5 UML的基本准则和图形表示 159

10.5.1 UML的基本准则 159

10.5.2 UML的图形表示 160

10.6 运用UML对学籍管理系统建模 164

小结 166

习题10 166

第11章 描绘UML的未来 167

11.1 系统需求 167

11.2 从业务领域的扩展得到的经验 168

11.3 专家系统 168

11.3.1 专家系统的构件 168

11.3.2 知识库建模 170

小结 172

习题11 172

第12章 面向对象实例——银行系统的分析与设计 173

12.1 系统需求 173

12.2 分析问题领域 173

12.2.1 识别参与者 173

12.2.2 识别用例 174

12.2.3 用例的事件流描述 175

12.3 静态结构模型 183

12.3.1 定义系统对象类 183

12.3.2 定义用户界面类 188

12.3.3 建立类图 191

12.3.4 建立数据库模型 192

12.4 动态行为模型 193

12.5 物理模型 200

小结 201

第13章 传统软件工程实例——教学管理系统分析与设计 202

13.1 可行性研究 202

13.2 需求分析 206

13.3 系统设计 211

13.4 系统实现 216

小结 216

参考文献 217