《软件工程导论 修订版》求取 ⇩

前言1

第一章 概论1

1.1 软件危机1

1.1.1 什么是软件危机1

1.1.2 产生软件危机的原因2

修订版前言3

1.1.3 解决软件危机的途径5

1.2 软件工程5

1.2.1 问题定义7

1.2.2 可行性研究7

1.2.3 需求分析7

1.2.4 总体设计8

1.2.5 详细设计8

1.2.6 编码和单元测试9

1.2.7 综合测试9

1.2.8 软件维护9

1.3.1 进行审查和复审的必要性10

1.3 技术审查和管理复审10

1.3.2 技术审查的标准和方法12

1.4 小结12

习题一13

第二章 可行性研究16

2.1 可行性研究的任务16

2.2 可行性研究的步骤16

2.2.1 复查系统规模和目标16

2.2.4 重新定义问题17

2.2.3 导出新系统的高层逻辑模型17

2.2.2 研究目前正在使用的系统17

2.2.5 导出和评价供选择的解法18

2.2.6 推荐行动方针18

2.2.7 草拟开发计划18

2.2.8 书字文档提交审查19

2.3 系统流程图19

2.3.1 符号19

2.3.2 例子20

2.4.1 符号21

2.3.3 分层21

2.4 数据流图21

2.4.2 例子23

2.4.3 用途26

2.5 数据字典28

2.5.1 数据字典的内容28

2.5.2 定义数据的方法28

2.5.3 数据字典的用途29

2.5.4 数据字典的实现29

2.6 成本/效益分析30

2.6.1 成本估计31

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

2.7 小结33

习题二34

第三章 需求分析36

3.1 需求分析的任务36

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

3.1.5 开发原型系统37

3.1.4 修正系统开发计划37

3.1.2 分析系统的数据要求37

3.1.3 导出系统的逻辑模型37

3.2 分析过程38

3.2.1 沿数据流图回溯38

3.2.2 用户复查38

3.2.3 细化数据流图39

3.2.4 修正开发计划40

3.2.5 书写文档40

3.2.6 审查和复审41

3.3 图形工具41

3.3.1 层次方框图41

3.3.2 Warnier图42

3.3.3 IPO图42

3.4 验证软件需求44

3.4.1 从哪些方面验证软件需求的正确性44

3.4.2 用于需求分析的软件工具44

3.4.3 超高级语言45

3.5.1 支持原型法的基本事实47

3.5 原型法47

3.5.2 实现原型的一般途径48

3.5.3 基于知识的途径48

3.6 小结49

习题三51

4.1 总体设计的过程53

4.1.1 设想供选择的方案53

第四章 总体设计53

4.1.2 选取合理的方案54

4.1.3 推荐最佳方案54

4.1.4 功能分解54

4.1.5 设计软件结构54

4.1.6 数据库设计55

4.1.7 制定测试计划55

4.1.8 书写文档55

4.2.1 模块化56

4.2 软件设计的概念和原理56

4.1.9 审查和复审56

4.2.2 抽象57

4.2.3 信息隐蔽和局部化58

4.2.4 模块独立58

4.3 启发式规则60

4.3.3 深度、宽度、扇出和扇入都应适当61

4.3.4 模块的作用域应该在控制域之内61

4.3.2 模块规模应该适中61

4.3.1 改进软件结构提高模块独立性61

4.3.5 力争降低模块接口的复杂程度62

4.3.6 设计单入口单出口的模块63

4.3.7 模块功能应该可以预测63

4.4 图形工具63

4.4.1 层次图和HIPO图63

4.4.2 结构图64

4.5 面向数据流的设计方法66

4.5.1 概念66

4.5.2 变换分析68

4.5.3 事务分析75

4.5.4 设计优化76

4.6 小结76

习题四77

第五章 详细设计81

5.1 结构程序设计81

5.2 详细设计的工具84

5.2.1 程序流程图84

5.2.3 PAD图86

5.2.2 盒图(N_S图)86

5.2.4 判定表88

5.2.5 判定树89

5.2.6 过程设计语言(PDL)89

5.2.7 模块开发文件夹90

5.3 Jackson程序设计方法90

5.3.1 Jackson图91

5.3.2 改进的Jackson图92

5.3.3 Jackson方法93

5.4.1 Warnier方法98

5.4 Warnier程序设计方法98

5.4.2 Warnier方法的辅助技术103

5.5 程序复杂程度的定量度量107

5.5. McCabe方法108

5.5.2 Halstead方法110

5.6 小结110

习题五111

6.1.1 对软件蓝图的要求116

第六章 软件蓝图116

6.1 软件蓝图方法论116

6.1.2 三级设计117

6.1.3 蓝图语言118

6.1.4 蓝图的书写风格118

6.2 软件蓝图的构成119

6.2.1 直接描述数据119

6.2.2 高级数据运算符121

6.2.3 丰富灵活的控制操作123

6.2.4 显式描述软件结构124

6.3 词法扫描程序的规格说明126

6.3.1 输入串126

6.3.2 输出串126

6.3.3 扫描程序的语法127

6.4 词法扫描程序的A级设计129

6.4.1 选取数据元素设计数据流129

6.4.2 设计控制流129

6.4.3 划分模块130

6.4.4 定义模块131

6.4.5 书写A级蓝图131

6.5 词法扫描程度的B级设计133

6.5.1 精化数据流133

6.5.2 组织模块134

6.5.3 构造过程访问结构134

6.5.4 书写B级蓝图135

6.6.2 详细描述数据流140

6.6.1 选取更多数据元素140

6.6 词法扫描程序的C级设计140

6.6.3 构造其他访问结构141

6.6.4 书写C级蓝图141

6.7 小结148

习题六148

第七章 编码150

7.1 程序设计语言150

7.1.1 程序设计语言分类150

7.1.2 程序设计语言的特点151

7.1.3 选择一种语言154

7.2 程序设计途径155

7.2.1 写程序的风格155

7.2.2 程序设计方法论157

7.2.3 程序设计自动化158

7.2.4 程序设计工具158

7.3 小结160

习题七160

81 基本概念162

第八章 测试162

8.1.1 软件测试的目标163

8.1.2 黑盒测试和白盒测试163

8.1.3 软件测试的步骤164

8.1.4 测试阶段的信息流165

8.2 单元测试166

8.2.1 单元测试考虑166

8.2.2 单元测试过程168

8.3 集成测试170

8.3.1 自顶向下结合171

8.3.2 自底向上结合173

8.3.3 不同集成测试策略的比较174

8.4 验收测试174

8.4.1 验收测试的范围174

8.4.2 软件配置复查175

8.5 设计测试方案175

8.5.1 逻辑覆盖176

8.5.2 等价划分179

8.5.3 边界值分析182

8.5.4 错误推测183

8.5.5 实用测试策略184

8.6 调试187

8.6.1 调试技术188

8.6.2 调试策略189

8.7 软件可靠性190

8.7.1 基本概念190

8.7.2 估算平均无故障时间的方法191

8.7.3 程序正确性证明193

8.8 日立预测法194

8.8.1 测试完成率模型194

8.8.2 错误发现率模型195

8.8.3 使用日立预测法的步骤195

8.9 自动测试工具196

8.9.1 测试数据生成程序196

8.9.2 动态分析程序196

8.10 小结197

8.9.3 静态分析程序197

8.9.4 文件比较程序197

习题八198

第九章 维护202

9.1 软件维护的定义202

9.2 维护的特点203

9.2.1 结构化维护与非结构化维护的对比203

9.2.2 维护的代价204

9.2.3 维护的问题204

9.3 维护过程205

9.3.1 维护组织205

9.3.2 维护报告205

9.3.3 维护的事件流206

9.3.3 保存维护记录207

9.3.4 评价维护活动208

9.4 可维护性208

9.4.1 决定软件可维护性的因素208

9.4.2 文档209

9.4.3 可维护性复审210

9.5 软件再用211

9.5.1 概念211

9.5.2 面向对象的程序设计语言212

9.6 软件再用实例介绍214

9.6.1 应用软件生成系统215

9.6.2 Demeter系统217

9.7 小结220

习题九221

第十章 管理技术222

10.1 成本估计222

10.1.1 参数方程222

10.1.2 标准值法223

10.1.3 COCOMO模型224

10.2 进度计划227

10.2.1 Gantt图(横道图)228

10.2.2 工程网络228

10.2.3 估算进度230

10.2.4 关键路径231

10.2.5 机动时间232

10.3 人员组织233

10.3.1 程序设计小组的组织234

10.3.2 主程序员组234

10.4 质量保证235

10.4.1 软件质量236

10.4.2 质量保证236

10.5.1 项目计划的内容238

10.5 项目计划238

10.5.2 项目报告239

10.5.3 变动控制239

10.6 软件管理工具240

10.7 小结240

习题十241

附录A 软件设计语言SDL_1的语法242

B.1.1 外部编辑命令246

B.1 设计规格说明246

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

B.1.2 编辑命令247

B.1.3 输出信息247

B.2 A级设计249

B.2.1 正文文件249

B.2.2 两个工作模式250

B.2.3 数据元素251

B.3 A级蓝图252

B.2.4 过程252

B.4 C级设计255

B.4.1 数据元素256

B.4.2 控制数据元素257

B.4.3 编辑过程257

B.4.4 输入模式的过程259

B.4.5 编辑模式的过程262

B.5 C级蓝图266

参考文献296

1992《软件工程导论 修订版》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件(由张海藩编著 1992 北京:清华大学出版社 出版的版本) 。对合法合规的求助,我会当即受理并将下载地址发送给你。

高度相关资料

软件技术基础  修订版(1994 PDF版)
软件技术基础 修订版
1994 北京:北京航空航天大学出版社
控制工程导论(修订版) P313( PDF版)
控制工程导论(修订版) P313
CAD软件工程(1991年10月第1版 PDF版)
CAD软件工程
1991年10月第1版
奈米工程概论  修订2版( PDF版)
奈米工程概论 修订2版
全华图书股份有限公司
工程化学  修订版(1992 PDF版)
工程化学 修订版
1992 杭州:浙江大学出版社
软件工程引论(1995 PDF版)
软件工程引论
1995 天津:南开大学出版社
软件工程引论(1987 PDF版)
软件工程引论
1987 南京:南京大学出版社
软件工程引论(1987 PDF版)
软件工程引论
1987 成都:成都电讯工程学院出版社
软件工程概论(1987 PDF版)
软件工程概论
1987 长沙:湖南科学技术出版社
软件工程学(1991 PDF版)
软件工程学
1991 北京:电子工业出版社
软件工程(1997 PDF版)
软件工程
1997 重庆:重庆大学出版社
软件系统开发技术  修订版(1989 PDF版)
软件系统开发技术 修订版
1989 西安:西安电子科技大学出版社
ADA软件工程(1986 PDF版)
ADA软件工程
1986 北京:科学普及出版社
软件工程(1997 PDF版)
软件工程
1997 北京:高等教育出版社
软件工程(1994 PDF版)
软件工程
1994 北京:中国铁道出版社