软件工程-理论与实践PDF电子书下载
- 电子书积分:12 积分如何计算积分?
- 作 者:许家珆等编著
- 出 版 社:北京:高等教育出版社
- 出版年份:2004
- ISBN:7040141477
- 页数:303 页
1.1 软件工程的产生和发展 1
1.1.1软件工程的发展过程 1
第1章 软件工程概述 1
1.1.2软件危机 2
1.1.3软件工程的定义 3
1.1.4软件工程研究的内容 3
1.2软件与软件生存期 4
1.2.1软件的概念和特点 5
1.2.3软件生存期 6
1.2.2软件工程过程 6
1.3软件生存期模型 7
1.3.1瀑布模型 8
1.3.2循环模型 8
1.3.3增量模型 9
1.3.4螺旋模型 9
1.3.5喷泉模型 9
1.4软件开发方法 11
1.3.6智能模型 11
1.4.1结构化开发方法 12
1.4.2面向数据结构的开发方法 13
1.4.3原型化开发方法 15
1.4.4面向对象的开发方法 16
1.5软件工具与软件开发环境 17
习题一 18
第2章 软件需求分析 20
2.1 基本概念 20
2.1.1软件需求分析的任务 20
2.1.2需求分析的过程 21
2.1.3软件需求分析的原则 22
2.1.4需求分析方法 23
2.2结构化分析方法 23
2.2.1 SA法概述 24
2.2.2数据流图 24
2.2.3实例:医院病房监护系统 28
2.2.4分层DFD图的改进 30
2.2.5数据词典 32
2.2.6加工逻辑说明 33
2.3原型化方法 35
2.3.1软件原型的分类 36
2.3.2快速原型开发模型 37
2.4系统动态分析 38
2.4.1状态迁移图 38
2.4.2 Petri网 39
习题二 40
第3章 软件设计与编码 43
3.1 软件设计阶段的任务与目标 43
3.1.1软件设计在开发阶段中的重要性 43
3.1.2软件设计阶段的任务 44
3.2软件结构与软件结构图 45
3.2.1软件结构的基本概念 45
3.2.2软件的树状结构和网状结构 47
3.2.3软件结构图 48
3.3模块的独立性 49
3.3.1模块独立性 49
3.3.2耦合性 50
3.3.3内聚性 51
3.3.4信息隐蔽 53
3.4结构化设计方法 54
3.4.1结构化设计方法概述 54
3.4.2数据流图的分类与典型的系统结构 54
3.4.3变换分析 55
3.4.4事务分析 57
3.4.5实例:银行贷款文件管理 58
3.4.6模块结构图的改进 61
3.5 JACKSON系统开发方法 65
3.5.1 JACKSON方法简介 65
3.5.2 JACKSON方法的设计过程 67
3.5.3 JACKSON方法的技术构成 68
3.6.1程序流程图 71
3.6.2 N-S图 71
3.6详细设计描述工具 71
3.6.3 PAD图 72
3.7用户界面设计 74
3.7.1用户界面的特性及设计任务 75
3.7.2用户界面的基本类型 75
3.7.3输入/输出用户界面设计 77
3.8程序编码 78
3.8.1程序设计语言的选择 79
3.8.2结构化程序设计 80
3.8.3程序设计风格 81
3.8.4算法与程序效率 83
习题三 83
第4章 面向对象方法 87
4.1面向对象方法概述 87
4.1.1什么是面向对象方法 87
4.1.2面向对象方法的主要特点 88
4.2.1对象与类 89
4.2面向对象的基本概念 89
4.2.2继承 90
4.2.3多态性 91
4.2.4消息 91
4.2.5方法 91
4.3面向对象的分析 91
4.3.1需求分析中的问题 92
4.3.2面向对象分析的特点 93
4.3.3面向对象分析的基本任务与分析过程 93
4.4.1 面向对象设计的准则 95
4.4面向对象的设计 95
4.4.2面向对象设计的基本任务 96
4.5典型的面向对象方法 97
4.5.1 Booch方法 98
4.5.2 Coad/Yourdon方法 100
4.5.3对象模型技术 103
4.5.4 OOSE方法 109
习题四 110
5.1.1 UML的形成 113
第5章 UML统一建模语言 113
5.1 UML概述 113
5.1.2 UML的主要内容 114
5.1.3 UML的图形表示 115
5.1.4 UML的特点 116
5.2通用模型元素 117
5.2.1模型元素 117
5.2.2约束 118
5.2.3依赖关系 119
5.2.4细化 120
5.2.5注释 120
5.3用例模型 120
5.3.1用例图 121
5.3.2确定执行者 121
5.3.3确定用例 123
5.3.4用例之间的关系 124
5.3.5用例图实例 125
5.4建立静态模型 127
5.4.1类图与对象图 128
5.4.2类的识别 129
5.4.3属性与操作识别 132
5.4.4类之间的关系 132
5.4.5包图 138
5.5建立动态模型 139
5.5.1消息 140
5.5.2状态图 140
5.5.3顺序图 142
5.5.4合作图 145
5.5.5活动图 147
5.6实现模型 150
5.6.1构件图 150
5.6.2配置图 151
习题五 153
6.1.2软件复用的级别 155
6.1.1软件复用的基本概念 155
6.1软件复用概述 155
第6章 软件复用和构件技术 155
6.1.3软件复用的形式 157
6.2可复用构件与构件工程 157
6.2.1可复用构件 157
6.2.2基于构件的软件工程 159
6.3 领域工程分析和基于构件的开发 159
6.3.1领域分析 159
6.3.2构件的开发与构件库 160
6.3.3基于构件的开发 162
6.4基于构件的软件开发特点 163
6.4.1开发的质量 163
6.4.2开发的效率 163
6.4.3开发的成本 164
6.5软件构件技术的技术规范 164
6.5.1对象管理组织的CORBA 165
6.5.2微软的COM 167
6.5.3 Sun的EJB 169
习题六 171
第7章 软件测试 172
7.1软件测试的基本概念 172
7.1.1软件测试的目的和重要性 172
7.1.2软件测试的特点和原则 173
7.1.3软件测试的基本步骤 176
7.1.4静态分析与动态测试 177
7.2 白盒法测试 178
7.2.1逻辑覆盖 178
7.2.2语句覆盖 179
7.2.3判定覆盖 180
7.2.4条件覆盖 181
7.2.5判定-条件覆盖 182
7.2.6条件组合覆盖 182
7.2.7白盒法测试实例 183
7.3黑盒法测试 184
7.3.1等价分类法 184
7.3.3错误推测法 186
7.3.2边界值分析法 186
7.3.4因果图法 187
7.4软件测试的策略 188
7.4.1单元测试 188
7.4.2组装测试 191
7.4.3确认测试 194
7.4.4系统测试 195
7.4.5 α测试和β测试 196
7.4.6综合测试策略 196
7.5.2几种主要的排错方法 197
7.5排错技术 197
7.5.1排错的原则 197
7.6面向对象的测试 199
7.6.1在面向对象语境中的单元测试 199
7.6.2在面向对象语境中的集成测试 200
7.6.3在面向对象语境中的确认测试 201
习题七 201
8.1.2软件维护的类型 203
8.1.1软件维护的目的 203
第8章 软件维护 203
8.1软件维护的基本概念 203
8.1.3软件维护的特性 205
8.1.4软件维护的代价 206
8.2软件维护的过程 207
8.2.1维护组织 207
8.2.2维护工作的流程 208
8.2.3维护工作的组织管理 208
8.3软件维护技术 209
8.3.1面向维护的技术 209
8.3.2维护支援技术 210
8.3.3维护档案记录 210
8.3.4维护工作评价 210
8.4软件可维护性 211
8.4.1 软件可维护性的定义 211
8.4.2提高可维护性的方法 213
8.5逆向工程和再工程 217
8.5.1 逆向工程 217
8.5.2软件重构 218
8.5.3再工程的成本/效益分析 218
8.5.4再工程的风险分析 219
习题八 219
第9章 软件工具与集成化环境 221
9.1软件开发工具 221
9.2集成化CASE环境 223
9.2.1概述 223
9.2.2集成化的CASE开发环境的体系结构 224
9.3软件开发工具Rational Rose 226
9.3.1 Rose工具简介 226
9.3.2业务用例图 227
9.3.3用例图 228
9.3.4类图 230
9.3.5协作图与时序图 232
9.3.6活动图 233
9.3.7状态图 234
9.3.8构件图和部署图 235
习题九 237
第10章 软件工程管理 238
10.1软件工程管理概述 238
10.1.1软件管理的任务与目标 238
10.1.2软件的作用范围 239
10.1.3 资源要求 240
10.2可行性研究 241
10.2.1可行性研究的任务 241
10.2.2系统的描述 241
10.2.3可行性研究报告 242
10.3成本估算技术 243
10.3.1 影响成本估算的因素 244
10.3.2成本估算模型 245
10.3.4专家估算模型 246
10.3.3 Halstead理论模型 246
10.3.5 IBM估算模型 247
10.3.6 Putnam估算模型 247
10.3.7 COCOMO模型 248
10.3.8成本估算方法 250
10.3.9成本/效益分析 251
10.4软件项目的组织与计划 251
10.4.2软件开发进度计划 252
10.4.1软件项目管理的特点 252
10.4.3人员配备与组织 254
10.4.4软件开发小组与软件生产率 255
10.5软件质量保证 256
10.5.1 软件质量因素的定义 257
10.5.2软件质量保证工作 257
10.5.3软件项目的跟踪与控制 258
10.6软件能力成熟度模型(CMM) 258
10.6.1 CMM的基本概念 258
10.6.2软件过程的成熟度等级 259
10.6.4软件企业如何实施CMM 261
10.6.3关键过程区域 261
习题十 265
第11章 软件工程课程设计 267
11.1课程设计目的与要求 267
11.1.1目的与要求 267
11.1.2命题原则 267
11.2.2需求分析 268
11.2.3软件设计 268
11.2.1确定课题 268
11.2课程设计步骤安排 268
11.2.4编码与测试 269
11.2.5验收测试 269
11.3案例分析 270
11.3.1案例一ATM系统 270
11.3.2案例二医院病房监护系统 281
11.3.3案例三会议系统 288
参考文献及参考网站 303
- 《市政工程基础》杨岚编著 2009
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《联吡啶基钌光敏染料的结构与性能的理论研究》李明霞 2019
- 《工程静力学》王科盛主编 2019
- 《情报学 服务国家安全与发展的现代情报理论》赵冰峰著 2018
- 《英汉翻译理论的多维阐释及应用剖析》常瑞娟著 2019
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《新课标背景下英语教学理论与教学活动研究》应丽君 2018
- 《党员干部理论学习培训教材 理论热点问题党员干部学习辅导》(中国)胡磊 2018
- 《化学反应工程》许志美主编 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《全国高等中医药行业“十三五”创新教材 中医药学概论》翟华强 2019
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《习近平总书记教育重要论述讲义》本书编写组 2020
- 《办好人民满意的教育 全国教育满意度调查报告》(中国)中国教育科学研究院 2019
- 《高等数学试题与详解》西安电子科技大学高等数学教学团队 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《教育学考研应试宝典》徐影主编 2019
- 《语文教育教学实践探索》陈德收 2018
- 《家庭音乐素养教育》刘畅 2018