软件工程概论PDF电子书下载
- 电子书积分:11 积分如何计算积分?
- 作 者:郑人杰,殷人昆编著
- 出 版 社:北京:清华大学出版社
- 出版年份:1998
- ISBN:7302029091
- 页数:287 页
第1章 软件工程概述 1
1.1 软件的概念和分类特点 1
1.1.1 软件的概念与特点 1
1.1.2 软件的分类 3
1.2 软件的发展和软件危机 6
1.3 软件工程过程和软件生存期 8
1.3.1 软件工程过程(software engineering process) 8
1.3.2 软件生存期(life cycle) 9
1.4 软件生存期模型 10
1.4.1 瀑布模型(waterfall model) 10
1.4.2 演化模型(evolutional model) 11
1.4.3 螺旋模型(spiral model) 11
1.4.4 喷泉模型(water fountain model) 13
1.4.5 智能模型(intelligence model) 13
1.5 软件工程的基本目标 13
1.5.1 软件工程的定义 13
1.5.2 软件工程项目的基本目标 14
第2章 软件需求分析 15
2.1 软件需求分析概述 15
2.1.1 软件需求分析的任务 15
2.1.2 需求分析的过程 16
2.1.3 软件需求分析的原则 19
2.2 结构化分析方法 21
2.2.1 数据流图(DFD,data flow diagram) 21
2.2.2 数据词典(DD,data dictionary) 24
2.2.3 加工逻辑说明 27
2.3 结构化数据系统开发方法(DSSD)—面向数据结构的分析方法之一 30
2.3.1 Warnier图 30
2.3.2 DSSD的分析方法 31
2.4 Jackson系统开发方法(JSD)—面向数据结构的分析方法之二 34
2.4.1 进程模型 35
2.4.2 JSD方法的步骤 35
2.4.3 实体动作分析 36
2.4.4 实体结构分析 37
2.4.5 定义初始模型 38
2.5 原型化方法(prototyping) 40
2.5.1 软件原型的分类 41
2.5.2 快速原型开发模型 41
2.6 系统动态分析 44
2.6.1 状态迁移图 44
2.6.2 petri网 45
2.7 结构化分析与设计方法(SADT) 48
第3章 软件设计 51
3.1 软件设计的目标和任务 51
3.1.1 软件设计在开发阶段中的重要性 51
3.1.2 软件设计任务 52
3.2 程序结构与程序结构图 54
3.2.1 程序的树状结构和网状结构 55
3.2.2 结构图(structure chart简称SC) 55
3.3 模块的独立性 57
3.3.1 模块(module) 57
3.3.2模块独立性(module independence) 58
3.3.3 耦合性(coupling) 58
3.3.4 内聚性(cohesion) 60
3.3.5 信息隐蔽 63
3.4 结构化设计方法—面向数据流的设计方法 63
3.4.1 典型的系统结构形式 64
3.4.2 变换分析 66
3.4.3 事务分析 69
3.4.4 软件模块结构的改进 71
3.5 结构化数据系统开发方法(DSSD)—面向数据结构的设计方法之一 75
3.5.1 一种简化的设计方法 75
3.5.2 导出逻辑输出结构 76
3.5.3 导出逻辑处理结构(LPS) 76
3.6 Jackson系统开发方法(JSD)—面向数据结构的分析与设计方法之二 78
3.6.1 JSD功能描述 78
3.6.2 决定系统时间特性 82
3.6.3实现 82
第4章 详细设计描述的工具 87
4.1 程序流程图(program flow chart) 87
4.2 N-S图 90
4.3 PAD 91
4.4 PDL 93
第5章 程序编码 100
5.1 对源程序的质量要求 100
5.2 结构化程序设计 101
5.2.1 关于COTO语句的争论 101
5.2.2 结构化程序设计的原则 102
5.2.3 程序设计自顶向下,逐步求精 104
5.3 程序设计风格 106
5.3.1 源程序文档化 107
5.3.2 数据说明 110
5.3.3 语句结构 110
5.3.4 输入和输出(I/O) 114
5.4 程序复杂性度量 115
5.4.1 代码行度量法 115
5.4.2 McCabe度量法 116
5.4.3 Halstead的软件科学 117
第6章 面向对象技术 120
6.1 面向对象的概念 120
6.2 基于复用的开发过程 123
6.2.1 应用生存期 123
6.2.2 类生存期 124
6.3 面向对象分析与模型化 126
6.3.1 面向对象分析(OOA,object-oriented analysis) 126
6.3.2 论域分析(domain analysis) 126
6.3.3 应用分析(application analysis) 129
6.3.4 对象模型技术(OMT,object model tech.) 129
6.4 高层设计 134
6.5 类的设计 135
6.5.1 通过复用设计类 135
6.5.2 类设计的方针 136
6.5.3 类设计的过程 138
6.6 Coad与Yourdon面向对象分析与设计技术 143
6.6.1 面向对象的分析 143
6.6.2 面向对象的设计 145
6.7 Booch的方法 146
6.7.1 Booch方法的设计过程 147
6.7.2 Booch方法的基本的模型 147
6.8 面向对象设计的实现 151
6.8.1 类的实现 151
6.8.2 系统的实现 153
第7章 软件测试 155
7.1 软件测试的基础 155
7.1.1 什么是软件测试 155
7.1.2 软件测试的目的和原则 156
7.1.3 软件测试的对象 157
7.1.4 测试信息流 158
7.1.5 测试与软件开发各阶段的关系 159
7.2 测试用例设计 160
7.3 白盒测试的测试用例设计 161
7.3.1 逻辑覆盖 161
7.3.2 语句覆盖 162
7.3.3 判定覆盖 163
7.3.4 条件覆盖 163
7.3.5 判定-条件覆盖 164
7.3.6 条件组合覆盖 164
7.3.7 路径测试 165
7.4 黑盒测试的测试用例设计 165
7.4.1 等价类划分 165
7.4.2 边界值分析 168
7.4.3 错误推测法 171
7.7.4 因果图 171
7.5 软件测试的策略 174
7.5.1 单元测试(unit testing) 175
7.5.2 组装测试(integrated testing) 177
7.5.3 确认测试(validation testing) 181
7.5.4系统测试(system testing) 183
7.5.5 测试的步骤及相应的测试种类 183
7.6 人工测试 186
7.6.1 静态分析 186
7.6.2 人工测试 187
7.7 调试(Debug,,排错) 189
7.7.1 调试的步骤 189
7.7.2 几种主要的调试方法 190
7.7.3 调试原则 193
第8章 软件维护 194
8.1 软件维护的概念 194
8.1.1 软件维护的定义 194
8.1.2 影响维护工作量的因素 195
8.1.3 软件维护的策略 195
8.2 软件维护活动 196
8.2.1 软件维护申请报告 196
8.2.2 软件维护工作流程 197
8.2.3 维护档案记录 198
8.2.4 维护评价 198
8.3 程序修改的步骤及修改的副作用 198
8.3.1 分析和理解程序 199
8.3.2 修改程序 199
8.3.3 重新验证程序 202
8.4 软件可维护性 202
8.4.1 软件可维护性的定义 203
8.4.2 可维护性的度量 203
8.5 提高可维护性的方法 206
8.5.1 建立明确的软件质量目标和优先级 206
8.5.2 使用提高软件质量的技术和工具 206
8.5.3 进行叨确的质量保证审查 207
8.5.4 选择可维护的程序设计语言 208
8.5.5 改进程序的文档 209
8.6 逆向工程和再工程 210
第9章 软件工程标准化与软件文档 211
9.1 软件工程标准化 211
9.1.1 什么是软件工程标准 211
9.1.2 软件工程标准化的意义 213
9.1.3 软件工程标准的层次 213
9.1.4 中国的软件工程标准化工作 214
9.2 软件质量认证 215
9.2.1 ISO 9000系列标准及软件质量认证 215
9.2.2 ISO 9000系列标准的内容 216
9.2.3 制定与实施ISO 9000系列标准 217
9.2.4 ISO 9000-3的要点 218
9.3 在开发机构中推行软件工程标准化 220
9.4 软件文档的作用与分类 221
9.4.1 软件文档的作用和分类 221
9.4.2 对文档编制的质量要求 223
9.4.3 文档的管理和维护 225
9.5 软件过程成熟度模型 227
9.5.1 软件机构的成熟性 227
9.5.2 软件过程成熟度模型 228
9.5.3 关键过程领域 229
9.5.4 成熟度提问单 230
第10章 软件管理 232
10.1 软件生产率和质量的度量 232
10.1.1 软件度量 232
10.1.2 面向规模的度量 232
10.1.3 面向功能的度量 233
10.1.4 软件质量的度量 234
10.1.5 影响软件生产率的因素 235
10.2 软件项目的估算 236
10.2.1 对估算的看法 236
10.2.2 软件项目计划的目标 237
10.2.3 软件的范围 237
10.2.4 软件开发中的资源 237
10.2.5 软件项目估算 240
10.2.6 分解技术 241
10.3 软件开发成本估算 243
10.3.1 软件开发成本估算方法 244
10.3.2 专家判定技术 245
10.3.3 软件开发成本估算的经验模型 245
10.4 软件项目进度安排 249
10.4.1 软件开发小组人数与软件生产率 250
10.4.2 任务的确定与并行性 251
10.4.3 制定开发进度计划 251
10.4.4 进度安排的方法 252
10.4.5 项目的追踪的和控制 254
10.5 软件项目的组织与计划 255
10.5.1 软件项目管理的特点 255
10.5.2 制定计划 257
10.5.3 软件项目组织的建立 258
10.5.4 人员配备 262
10.5.5 指导与检验 263
10.6 软件配置管理 265
10.6.1 软件配置管理 265
10.6.2 配置标识 267
10.6.3 版本控制 269
10.6.4 变更控制 269
10.6.5 配置状态报告(configuration status reporting ,CSR) 271
10.6.6 配置审计(configuration audit) 271
附录 软件产品开发文档编写指南 273
参考文献 287
- 《市政工程基础》杨岚编著 2009
- 《全国高等中医药行业“十三五”创新教材 中医药学概论》翟华强 2019
- 《工程静力学》王科盛主编 2019
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《化学反应工程》许志美主编 2019
- 《绿色过程工程与清洁生产技术 张懿院士论文集精选 上》《绿色过程工程与清洁生产技术》编写组编 2019
- 《软件工程》齐治昌,谭庆平,宁洪编著 2019
- 《海绵城市概论》刘娜娜,张婧,王雪琴 2017
- 《化学工程与工艺专业实验指导》郭跃萍主编 2019
- 《药学概论》于海平主编 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《走出人格陷阱》郑晓斌,徐樟责编;武志红 2020
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019