软件工程 理论与实践PDF电子书下载
- 电子书积分:13 积分如何计算积分?
- 作 者:许家珆,白忠建,吴磊编著
- 出 版 社:北京:高等教育出版社
- 出版年份:2009
- ISBN:9787040280449;9787894692962
- 页数:399 页
第1章 软件工程概述 1
1.1 软件工程的产生和发展 1
1.1.1 软件工程的发展过程 1
1.1.2 软件危机 2
1.1.3 软件工程的定义 3
1.1.4 软件工程研究的内容 3
1.1.5 软件工程的基本原则 5
1.2 软件与软件过程 5
1.2.1 软件的概念和特点 5
1.2.2 软件工程过程 7
1.3 软件过程模型 8
1.3.1 瀑布模型 8
1.3.2 增量模型 9
1.3.3 螺旋模型 9
1.3.4 喷泉模型 9
1.3.5 智能模型 11
1.4 软件开发方法 12
1.4.1 结构化开发方法 12
1.4.2 原型化开发方法 12
1.4.3 面向对象的开发方法 13
1.5 软件工具与软件开发环境 14
1.5.1 CASE发展的两个阶段 14
1.5.2 软件开发环境的分类 16
小结 16
习题一 17
第2章 软件需求工程 19
2.1 软件需求的基本概念 19
2.1.1 软件需求的任务 19
2.1.2 功能需求与非功能需求 20
2.2 需求工程过程 23
2.2.1 需求工程的基本活动 23
2.2.2 需求的获取和分析 24
2.2.3 需求的有效性验证 25
2.2.4 需求管理 25
2.3 软件需求获取技术 26
2.3.1 需求获取的困难 27
2.3.2 需求获取方法 27
2.4 需求分析与建模 29
2.4.1 需求分析方法 29
2.4.2 结构化分析方法 30
2.4.3 面向对象的分析方法 36
2.5 软件需求案例分析 37
2.5.1 案例1——医院病房监护系统 37
2.5.2 案例2——网上竞价拍卖系统 41
小结 43
习题二 43
第3章 软件设计 46
3.1 软件设计阶段的任务和目标 46
3.1.1 软件设计在开发阶段中的重要性 46
3.1.2 软件设计阶段的任务 47
3.2 软件体系结构设计 48
3.2.1 仓库模型 49
3.2.2 分布式结构 50
3.2.3 多处理器结构 51
3.2.4 客户-服务器模型 52
3.2.5 多层应用模型 54
3.2.6 分布式对象结构 55
3.2.7 中间件 57
3.2.8 其他体系结构 59
3.3 模块分解 60
3.3.1 模块分解的目的 60
3.3.2 模块间的关系 61
3.3.3 模块的独立性 62
3.3.4 信息隐蔽 65
3.4 详细设计描述工具 65
3.4.1 程序流程图 66
3.4.2 N-S图 66
3.4.3 PAD图 66
3.5 用户界面设计 67
3.5.1 用户界面设计的特性与设计任务 68
3.5.2 用户界面设计的基本原则 69
3.5.3 用户界面的基本类型 69
3.5.4 信息输入输出界面 71
3.5.5 MVC模式 78
小结 80
习题三 80
第4章 面向对象方法基础 83
4.1 面向对象方法概述 83
4.1.1 什么是面向对象方法 83
4.1.2 面向对象方法的主要特点 84
4.2 面向对象的基本概念 85
4.2.1 对象与类 85
4.2.2 继承 86
4.2.3 多态性 87
4.2.4 消息 87
4.3 面向对象的分析 88
4.3.1 需求分析中的问题 88
4.3.2 OOA的特点 89
4.3.3 OOA的基本任务和分析过程 90
4.4 面向对象的设计 91
4.4.1 面向对象设计的准则 91
4.4.2 面向对象设计的基本任务 92
4.5 典型的面向对象方法 93
4.5.1 Booch方法 94
4.5.2 Coad/Yourdon方法 96
4.5.3 对象模型技术 99
4.5.4 OOSE方法 104
小结 106
习题四 106
第5章 统一建模语言UML 109
5.1 UML概述 109
5.1.1 UML的形成 109
5.1.2 UML的特点 110
5.1.3 UML建模及其构成 111
5.1.4 UML的图形表示 112
5.1.5 通用模型元素 113
5.2 建立用例模型 115
5.2.1 需求分析与用例建模 115
5.2.2 确定执行者 116
5.2.3 确定用例 119
5.2.4 确定用例之间的关系 121
5.2.5 用例建模实例 122
5.3 建立静态模型 126
5.3.1 类与类图 126
5.3.2 确定类之间的关系 131
5.3.3 类图应用举例 137
5.3.4 包图 139
5.4 建立动态模型 142
5.4.1 消息 142
5.4.2 状态图 142
5.4.3 顺序图 145
5.4.4 协作图 148
5.4.5 活动图 151
5.4.6 动态建模应用举例 153
5.5 建立实现模型 155
5.5.1 构件图 155
5.5.2 配置图 157
5.6 UML 2.0 159
5.6.1 UML 2.0简介 159
5.6.2 UML 2.0的可视化图 161
5.6.3 UML 2.0的顺序图 163
5.7 RUP统一过程及其应用 165
5.7.1 UML与RUP统一过程 165
5.7.2 RUP的特点 166
5.7.3 RUP的二维开发模型 167
5.7.4 RUP的迭代开发模式 170
小结 171
习题五 171
第6章 软件实现 174
6.1 程序设计语言的选择 174
6.1.1 程序设计语言的分类 174
6.1.2 程序设计语言的基本组成 175
6.1.3 程序设计语言选择准则 176
6.2 结构化程序设计 181
6.2.1 结构化程序设计概念和特点 181
6.2.2 结构化程序设计的基本原理 182
6.2.3 优化设计 182
6.3 程序设计风格 183
6.3.1 源程序文件 183
6.3.2 语句构造方法 185
6.3.3 数据说明方法 185
6.3.4 输入/输出技术 186
6.4 算法与程序效率 186
6.4.1 算法转换过程中的指导原则 186
6.4.2 影响效率的因素 188
6.5 软件代码审查 190
小结 191
习题六 191
第7章 软件复用与构件技术 193
7.1 软件复用概述 193
7.1.1 软件复用的基本概念 193
7.1.2 软件复用的级别 194
7.1.3 软件复用的形式 195
7.2 软件复用的实施与过程 196
7.2.1 软件复用技术的实施 196
7.2.2 基于复用的软件开发过程 197
7.3 可复用构件与构件工程 198
7.3.1 可复用构件 198
7.3.2 基于构件的软件工程 199
7.4 领域工程分析和基于构件的开发 199
7.4.1 领域分析 199
7.4.2 构件的开发与构件库 200
7.4.3 基于构件的开发 202
7.5 基于构件的软件开发特点 203
7.5.1 软件开发的质量 203
7.5.2 软件开发的效率 203
7.5.3 软件开发的成本 204
7.6 软件构件技术的技术规范 204
7.6.1 OMG的CORBA 204
7.6.2 微软的COM 206
7.6.3 Sun的EJB 208
7.6.4 Web服务 210
小结 212
习题七 213
第8章 软件测试 214
8.1 软件测试的基本概念 214
8.1.1 软件测试的重要性和目的 214
8.1.2 软件测试的特点和基本原则 216
8.1.3 软件测试过程 219
8.1.4 静态分析与动态测试 222
8.2 白盒法测试 224
8.2.1 逻辑覆盖 224
8.2.2 语句覆盖 224
8.2.3 判定覆盖 225
8.2.4 条件覆盖 226
8.2.5 判定-条件覆盖 227
8.2.6 条件组合覆盖 227
8.3 黑盒法测试 229
8.3.1 等价分类法 229
8.3.2 边界值分析法 230
8.3.3 错误推测法 231
8.3.4 因果图法 231
8.4 软件测试的策略 234
8.4.1 单元测试 234
8.4.2 集成测试 237
8.4.3 确认测试 240
8.4.4 系统测试 241
8.4.5 α测试和β测试 242
8.4.6 验收测试 242
8.4.7 综合测试策略 243
8.5 软件调试 243
8.5.1 软件调试过程 243
8.5.2 软件调试策略 244
8.6 面向对象的测试 246
8.6.1 面向对象测试的特点 247
8.6.2 面向对象测试的类型 247
8.6.3 分析模型测试 250
8.6.4 类的测试 253
8.6.5 类模型测试 254
8.6.6 面向对象的测试用例 255
小结 255
习题八 256
第9章 软件维护 258
9.1 软件维护的基本概念 258
9.1.1 软件维护的目的 258
9.1.2 软件维护的类型 258
9.1.3 软件维护的特性 260
9.1.4 软件维护的代价 261
9.2 软件维护的过程 262
9.2.1 维护组织 262
9.2.2 维护工作的流程 263
9.2.3 维护工作的组织管理 263
9.3 软件维护技术 264
9.3.1 面向维护的技术 264
9.3.2 维护支援技术 265
9.3.3 维护档案记录 265
9.3.4 维护工作评价 265
9.4 软件可维护性 266
9.4.1 软件可维护性的定义 266
9.4.2 提高可维护性的方法 268
9.5 逆向工程和再工程 272
9.5.1 逆向工程 272
9.5.2 软件重构 273
9.5.3 再工程的成本/效益分析 273
9.5.4 再工程的风险分析 274
小结 274
习题九 274
第10章 软件工具与集成化环境 276
10.1 软件工具 276
10.1.1 软件开发工具 276
10.1.2 软件维护工具 278
10.1.3 软件管理与支持工具 280
10.2 集成化CASE环境 281
10.2.1 概述 281
10.2.2 集成化的CASE开发环境的体系结构 283
10.3 软件开发工具Rational Rose 286
10.3.1 Rose工具简介 286
10.3.2 业务用例图 287
10.3.3 用例图 288
10.3.4 类图 290
10.3.5 协作图与顺序图 292
10.3.6 活动图 294
10.3.7 状态图 295
10.3.8 构件图和部署图 297
10.4 软件开发工具Power-Designer 298
10.4.1 PowerDesigner工具简介 298
10.4.2 PowerDesigner的6个模块 299
10.4.3 PowerDesigner与Rose建模工具的对比 300
小结 301
习题十 301
第11章 软件项目管理 303
11.1 软件项目管理概述 303
11.1.1 软件项目管理的特点 303
11.1.2 软件项目管理的主要活动 304
11.1.3 软件项目风险管理 305
11.2 软件项目可行性研究 308
11.2.1 可行性研究的任务 309
11.2.2 系统的描述 309
11.2.3 可行性研究报告 310
11.3 软件项目成本估算技术 311
11.3.1 影响成本估算的因素 311
11.3.2 成本估算模型 312
11.3.3 专家估算模型 313
11.3.4 IBM估算模型 313
11.3.5 Putnam估算模型 314
11.3.6 COCOMO模型 314
11.3.7 成本/效益分析 316
11.4 软件项目组织与人员管理 317
11.4.1 软件开发进度计划 317
11.4.2 人员配备与组织 319
11.4.3 软件开发小组与软件生产率 320
11.5 软件质量保证 321
11.5.1 软件质量因素的定义 321
11.5.2 软件质量保证工作 322
11.5.3 软件项目的跟踪与控制 322
11.6 企业资源规划ERP 323
11.6.1 资源管理发展过程 323
11.6.2 ERP系统的管理思想 324
11.6.3 应用ERP与企业的关系 325
11.6.4 ERP的风险及其预防 326
11.6.5 ERP应用成功的标志 326
11.6.6 SAP ERP简介 327
小结 329
习题十一 329
第12章 软件能力成熟度模型CMM 331
12.1 CMM概述 331
12.1.1 CMM发展历史与主要用途 331
12.1.2 软件过程成熟度的基本概念 332
12.1.3 软件过程的成熟度等级 333
12.2 CMM的内部结构 335
12.2.1 关键过程域 335
12.2.2 关键实践 337
12.2.3 共同特性 337
12.3 CMM的应用 337
12.3.1 软件过程评估与软件能力评价 337
12.3.2 软件过程改进 339
12.4 CMM的实施与评估 339
12.4.1 软件过程评估的必要性 340
12.4.2 软件过程评估参考模型 341
12.4.3 CMM评估的执行步骤 343
12.4.4 软件企业如何实施CMM 346
12.4.5 CMM与ISO 9000标准 349
12.5 软件能力成熟度模型集成CMMI 350
12.5.1 CMMI的产生与发展 350
12.5.2 CMMI的基本思想 351
12.5.3 CMMI的基本内容 352
小结 354
习题十二 354
第13章 软件工程课程设计 356
13.1 课程设计目的和要求 356
13.1.1 目的和要求 356
13.1.2 命题原则 356
13.2 课程设计步骤安排 357
13.2.1 确定课题 357
13.2.2 需求分析 357
13.2.3 软件设计 357
13.2.4 编码与测试 358
13.2.5 验收测试 358
13.3 案例分析 359
13.3.1 案例一:ATM系统 359
13.3.2 案例二:网上拍卖系统 366
13.3.3 案例三:会议管理系统 373
13.3.4 案例四:仓库信息管理系统 388
参考文献 398
参考网站 400
- 《市政工程基础》杨岚编著 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