图书介绍

软件工程导论 第4版PDF|Epub|txt|kindle电子书版本网盘下载

软件工程导论 第4版
  • 张海藩编著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:730207321X
  • 出版时间:2003
  • 标注页数:381页
  • 文件大小:51MB
  • 文件页数:715页
  • 主题词:软件工程-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

软件工程导论 第4版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 软件工程学概述1

1.1 软件危机1

1.1.1 软件危机的介绍1

1.1.2 产生软件危机的原因3

1.1.3 消除软件危机的途径4

1.2 软件工程5

1.2.1 软件工程的介绍5

1.2.2 软件工程的基本原理7

1.2.3 软件工程方法学9

1.3 软件生命周期11

1.4 软件过程14

1.4.1 瀑布模型15

1.4.2 快速原型模型16

1.4.3 增量模型17

1.4.4 螺旋模型19

1.5 小结21

习题122

第2章 可行性研究25

2.1 可行性研究的任务25

2.2 可行性研究过程26

2.3 系统流程图28

2.3.1 符号28

2.3.2 例子28

2.3.3 分层30

2.4 数据流图30

2.4.1 符号30

2.4.2 例子32

2.4.3 命名34

2.4.4 用途35

2.5 数据字典37

2.5.1 数据字典的内容37

2.5.2 定义数据的方法37

2.5.3 数据字典的用途38

2.5.4 数据字典的实现39

2.6 成本/效益分析39

2.6.1 成本估计40

2.6.2 成本/效益分析的方法41

2.7 小结43

习题243

第3章 需求分析45

3.1 需求分析的任务46

3.1.1 确定对系统的综合要求46

3.1.2 分析系统的数据要求47

3.1.3 导出系统的逻辑模型48

3.1.4 修正系统开发计划48

3.2 与用户沟通获取需求的方法48

3.2.1 访谈48

3.2.2 面向数据流自顶向下求精49

3.2.3 简易的应用规格说明技术49

3.2.4 快速建立软件原型51

3.3 分析建模与规格说明52

3.3.1 分析建模52

3.3.2 软件需求规格说明52

3.4 实体-联系图52

3.4.1 数据对象53

3.4.2 属性53

3.4.3 联系53

3.4.4 实体-联系图的符号54

3.5 数据规范化54

3.6 状态转换图55

3.6.1状态55

3.6.2 事件55

3.6.3 符号56

3.6.4 例子56

3.7 其他图形工具57

3.7.1 层次方框图58

3.7.2 Warnier图58

3.7.3 IPO图59

3.8 验证软件需求60

3.8.1 从哪些方面验证软件需求的正确性60

3.8.2 验证软件需求的方法60

3.8.3 用于需求分析的软件工具61

3.9 小结62

习题363

第4章 形式化说明技术65

4.1 概述65

4.1.1 非形式化方法的缺点65

4.1.2 形式化方法的优点66

4.1.3 应用形式化方法的准则66

4.2 有穷状态机67

4.2.1 概念67

4.2.2 例子69

4.2.3 评价72

4.3 Petri网72

4.3.1 概念72

4.3.2 例子74

4.4 Z语言75

4.4.1简介75

4.4.2 评价78

4.5 小结78

习题 479

第5章 总体设计81

5.1 设计过程81

5.2 设计原理84

5.2.1 模块化84

5.2.2 抽象85

5.2.3 逐步求精85

5.2.4 信息隐藏和局部化86

5.2.5 模块独立87

5.3 启发规则89

5.4 描绘软件结构的图形工具92

5.4.1层次图和HIPO图92

5.4.2 结构图93

5.5 面向数据流的设计方法94

5.5.1 概念94

5.5.2 变换分析95

5.5.3 事务分析101

5.5.4 设计优化102

5.6 小结103

习题5104

第6章详细设计107

6.1 结构程序设计107

6.2 人机界面设计109

6.2.1 设计问题109

6.2.2 设计过程111

6.2.3 人机界面设计指南112

6.3 过程设计的工具114

6.3.1 程序流程图114

6.3.2 盒图(N-S图)114

6.3.3 PAD图116

6.3.4 判定表117

6.3.5 判定树118

6.3.6 过程设计语言118

6.4 面向数据结构的设计方法119

6.4.1 Jackson图120

6.4.2 改进的Jackson图121

6.4.3 Jackson方法122

6.5 程序复杂程度的定量度量126

6.5.1McCabe方法127

6.5.2 Halstead方法129

6.6 小结130

习题6130

第7章 实现135

7.1 编码136

7.1.1 选择程序设计语言136

7.1.2 编码风格137

7.2 软件测试基础139

7.2.1 软件测试的目标140

7.2.2 软件测试准则140

7.2.3 测试方法141

7.2.4 测试步骤141

7.2.5 测试阶段的信息流142

7.3 单元测试143

7.3.1 测试重点143

7.3.2 代码审查144

7.3.3 计算机测试145

7.4 集成测试146

7.4.1 自顶向下集成147

7.4.2 自底向上集成148

7.4.3 不同集成测试策略的比较149

7.4.4 回归测试150

7.5 确认测试150

7.5.1 确认测试的范围150

7.5.2 软件配置复查151

7.5.3 Alpha和Beta测试151

7.6 白盒测试技术152

7.6.1 逻辑覆盖152

7.6.2 控制结构测试155

7.7 黑盒测试技术161

7.7.1 等价划分162

7.7.2 边界值分析165

7.7.3 错误推测165

7.8 调试166

7.8.1 调试过程166

7.8.2 调试途径168

7.9 软件可靠性169

7.9.1 基本概念169

7.9.2 估算平均无故障时间的方法170

7.10 小结172

习题7173

第8章维护179

8.1 软件维护的定义179

8.2 软件维护的特点180

8.2.1 结构化维护与非结构化维护差别巨大180

8.2.2 维护的代价高昂180

8.2.3 维护的问题很多181

8.3 软件维护过程182

8.4 软件的可维护性185

8.4.1 决定软件可维护性的因素185

8.4.2 文档186

8.4.3 可维护性复审187

8.5 预防性维护188

8.6 软件再工程过程188

8.7 小结191

习题8192

第9章 面向对象方法学引论193

9.1 面向对象方法学概述193

9.1.1 面向对象方法学的要点193

9.1.2 面向对象方法学的优点195

9.1.3 喷泉模型199

9.2 面向对象的概念200

9.2.1 对象200

9.2.2 其他概念202

9.3 面向对象建模206

9.4 对象模型207

9.4.1 类图的基本符号208

9.4.2 表示关系的符号209

9.5 动态模型215

9.6 功能模型215

9.6.1 用例图215

9.6.2 用例建模218

9.7 3种模型之间的关系219

9.8 小结220

习题9220

第10章 面向对象分析223

10.1 面向对象分析的基本过程223

10.1. 概述223

10.1.2 3个子模型与5个层次224

10.2 需求陈述225

10.2.1 书写要点225

10.2.2 例子226

10.3 建立对象模型227

10.3.1 确定类与对象228

10.3.2 确定关联230

10.3.3 划分主题233

10.3.4 确定属性233

10.3.5 识别继承关系236

10.3.6 反复修改236

10.4 建立动态模型239

10.4.1 编写脚本239

10.4.2 设想用户界面240

10.4.3 画事件跟踪图241

10.4.4 画状态图242

10.4.5 审查动态模型244

10.5 建立功能模型245

10.5.1 画出基本系统模型图245

10.5.2 画出功能级数据流图245

10.5.3 描述处理框功能246

10.6 定义服务247

10.7 小结247

习题10248

第11章 面向对象设计249

11.1 面向对象设计的准则249

11.2 启发规则251

11.3 软件重用253

11.3.1 概述253

11.3.2 类构件255

11.3.3 软件重用的效益256

11.4 系统分解257

11.5 设计问题域子系统260

11.6 设计人机交互子系统263

11.7 设计任务管理子系统265

11.8 设计数据管理子系统267

11.8.1 选择数据存储管理模式267

11.8.2 设计数据管理子系统268

11.8.3 例子270

11.9 设计类中的服务270

11.9.1 确定类中应有的服务270

11.9.2 设计实现服务的方法271

11.10 设计关联272

11.11 设计优化273

11.11.1 确定优先级273

11.11.2 提高效率的几项技术274

11.11.3 调整继承关系275

11.12 小结277

习题11278

第12章 面向对象实现279

12.1 程序设计语言279

12.1.1 面向对象语言的优点279

12.1.2 面向对象语言的技术特点280

12.1.3 选择面向对象语言284

12.2 程序设计风格284

12.2.1 提高可重用性285

12.2.2 提高可扩充性287

12.2.3 提高健壮性287

12.3 测试策略288

12.3.1 面向对象的单元测试288

12.3.2 面向对象的集成测试289

12.3.3 面向对象的确认测试289

12.4 设计测试用例289

12.4.1 测试类的方法290

12.4.2 集成测试方法291

12.5 小结293

习题12294

第13章 软件项目管理295

13.1 估算软件规模295

13.1.1 代码行技术295

13.1.2 功能点技术296

13.2 工作量估算298

13.2.1 静态单变量模型298

13.2.2 动态多变量模型298

13.2.3 COCOMO2模型299

13.3 进度计划302

13.3.1 估算开发时间302

13.3.2 Gantt图304

13.3.3 工程网络305

13.3.4 估算工程进度306

13.3.5 关键路径308

13.3.6 机动时间308

13.4 人员组织310

13.4.1民主制程序员组310

13.4.2 主程序员组311

13.4.3 现代程序员组312

13.5 质量保证314

13.5.1 软件质量314

13.5.2 软件质量保证措施316

13.6 软件配置管理318

13.6.1软件配置319

13.6.2 软件配置管理过程319

13.7 能力成熟度模型321

13.8 小结324

习题13325

附录327

附录A C++类库管理系统的分析与设计327

A.1 面向对象分析327

A.1.1 需求327

A.1.2 建立对象模型328

A.2 面向对象设计329

A.2.1 设计类库结构329

A.2.2 设计问题域子系统330

A.2.3 设计人机交互子系统331

A.2.4 设计其他类333

附录B 一个汉字行编辑程序的设计335

B.1 设计规格说明335

B.1.1 外部编辑命令335

B.1.2 编辑命令335

B.1.3 输出信息336

B.2 概要设计337

B.2.1 正文文件337

B.2.2 两个工作模式339

B.2.3 数据元素339

B.2.4 过程340

B.3 概要设计结果341

B.4 详细设计344

B.4.1 数据元素344

B.4.2 控制数据元素346

B.4.3 编辑过程346

B.4.4 输入模式的过程347

B.4.5 编辑模式的过程348

B.5 详细设计结果351

B.5.1 编辑程序的详细结构351

B.5.2 类PASCAL伪码352

B.5.3 实现编辑程序的算法354

参考文献381

热门推荐