软件工程基础实践教程PDF电子书下载
- 电子书积分:13 积分如何计算积分?
- 作 者:吴洁明编著
- 出 版 社:北京:清华大学出版社
- 出版年份:2007
- ISBN:7302163421
- 页数:383 页
第1章 软件工程概述 1
1.1 软件和软件危机 1
1.1.1 软件的特点 1
1.1.2 软件危机 2
1.1.3 软件错误导致的失败实例 3
1.2 软件工程发展简史 3
1.3 软件工程的定义和目标 4
1.4 软件工程的7条基本原理 5
1.5 软件生命周期模型 7
1.5.1 瀑布模型 8
1.5.2 快速原型化模型 10
1.5.3 演化模型 11
1.5.4 螺旋模型 12
1.5.5 构件组装模型 13
1.6 软件工程过程 13
1.7 软件开发方法简述 14
1.7.1 Parnas方法 14
1.7.2 Yourdon方法 15
1.7.3 面向数据结构的软件开发方法 15
1.7.4 问题分析法PAM 15
1.7.5 面向对象的软件开发方法 16
1.7.6 可视化开发方法 17
1.8 软件工程相关的技术规范、标准和最新文献的信息源 18
1.9 练习 20
第2章 可行性研究 21
2.1 可行性研究的任务 21
2.2 可行性研究的步骤 21
2.3 可行性分析的要素 23
2.3.1 经济 23
2.3.2 技术 24
2.3.3 社会环境 24
2.3.4 人 25
2.4 成本/效益分析 25
2.4.1 程序规模估算 25
2.4.2 工作量估算 27
2.4.3 成本/效益分析的方法 31
2.5 可行性研究的模板 32
2.6 练习 33
第3章 需求工程 35
3.1 需求工程的概念 35
3.1.1 需求分类 35
3.1.2 需求工程的主要活动 36
3.1.3 高质量需求的特征 36
3.1.4 影响需求质量的因素 38
3.2 确定系统目标和范围 39
3.3 需求获取方法 41
3.3.1 必须向用户交代的两个重要问题 42
3.3.2 制定调研计划 44
3.3.3 准备调研的资料 45
3.3.4 访谈用户 50
3.3.5 编写调研报告 50
3.3.6 需求的其他来源 51
3.4 定义软件的质量属性 51
3.5 需求优先级 54
3.6 需求验证技术 55
3.6.1 需求文档的评审 55
3.6.2 正式需求评审过程 56
3.6.3 审查人员的职责 56
3.7 需求管理 56
3.7.1 管理需求变更 56
3.7.2 需求跟踪 61
3.8 练习 63
第4章 结构化分析 64
4.1 结构化分析的主要工具 64
4.1.1 系统流程图 64
4.1.2 数据流程图 68
4.1.3 数据字典 70
4.1.4 IPO图 73
4.1.5 层次方框图 74
4.1.6 实体关系图 74
4.1.7 状态—变迁图 77
4.2 结构化分析方法的实现步骤 77
4.3 结构化分析规格说明书 79
4.4 结构化分析实例 81
4.4.1 需求描述 82
4.4.2 描绘数据流程图 82
4.4.3 定义数据字典 87
4.4.4 描述IPO图 89
4.4.5 描述实体关系 89
4.5 练习 89
第5章 结构化软件设计 92
5.1 软件设计的过程 92
5.2 软件设计原则和影响设计的因素 93
5.3 软件设计的概念 94
5.3.1 模块 94
5.3.2 模块化 95
5.3.3 模块独立性 95
5.3.4 抽象 99
5.3.5 信息隐蔽 100
5.3.6 设计复用 100
5.4 软件结构图 100
5.5 结构化设计方法 103
5.5.1 数据流的类型 104
5.5.2 变换分析 106
5.5.3 事务分析 108
5.6 图书管理信息系统软件结构设计 109
5.6.1 重画数据流程图 110
5.6.2 整理数据流程图 110
5.6.3 确定事务处理中心 111
5.6.4 确定软件结构图 111
5.7 优化软件设计 113
5.7.1 软件结构优化 113
5.7.2 优化有时间要求的软件 116
5.7.3 走查软件结构图 116
5.7.4 用快速原型法修正设计 117
5.7.5 关于设计的说明 117
5.8 设计复查 118
5.8.1 概要设计复查 118
5.8.2 关键设计复查 118
5.8.3 设计复审的问题 119
5.9 数据设计 119
5.9.1 数据设计的原则 119
5.9.2 数据结构设计 120
5.9.3 文件设计 120
5.9.4 数据库设计 122
5.9.5 图书管理信息系统数据结构设计实例 123
5.10 接口设计 125
5.10.1 模块间的接口设计 125
5.10.2 模块的外部接口设计 125
5.11 详细设计 126
5.11.1 结构化程序设计 126
5.11.2 程序流程图 127
5.11.3 盒图(N-S) 129
5.11.4 PAD图 131
5.11.5 表格设计符号 133
5.11.6 过程设计语言(PDL) 135
5.11.7 模块开发文件夹 135
5.12 设计规格说明书 136
5.12.1 概要设计说明书 136
5.12.2 详细设计说明书 138
5.13 练习 139
第6章 软件测试 142
6.1 软件测试的概念 142
6.1.1 测试定义 142
6.1.2 软件测试的目标和原则 142
6.1.3 测试的层次和类型 143
6.1.4 软件错误带来的损失 145
6.1.5 测试的难点 145
6.1.6 测试产品 146
6.2 测试计划 147
6.2.1 制定测试计划 147
6.2.2 测试计划模板 148
6.3 设计测试用例 151
6.3.1 程序结构测试 152
6.3.2 功能测试法 156
6.3.3 测试策略 161
6.4 测试设计 162
6.4.1 测试大纲 162
6.4.2 测试问题卡 163
6.4.3 测试用例模板 163
6.5 单元测试 164
6.5.1 人工静态检查 164
6.5.2 动态执行跟踪 167
6.6 集成测试 168
6.7 系统测试 170
6.8 验收测试 170
6.9 用户界面测试 171
6.10 基于Web的测试 173
6.10.1 功能测试 173
6.10.2 性能测试 174
6.10.3 可用性测试 174
6.10.4 客户端兼容性测试 175
6.10.5 安全性测试 176
6.11 软件可靠性 176
6.11.1 估算平均无故障时间的方法 177
6.11.2 估计故障总数的方法 177
6.12 bug管理 179
6.13 软件辅助测试工具介绍 181
6.14 测试人员的基本素质 182
6.15 软件测试的研究热点 182
6.16 练习 183
第7章 编写程序 185
7.1 程序设计语言 185
7.1.1 程序设计语言的特点 186
7.1.2 程序设计语言的分类 190
7.1.3 选择一种语言 192
7.2 良好的编程习惯 193
7.2.1 关于GOTO语句的争论 193
7.2.2 结构化程序设计的原则 194
7.2.3 自顶向下,逐步求精 197
7.2.4 数据结构的合理化 199
7.2.5 程序设计风格 199
7.3 编程标准和过程 207
7.3.1 标准 207
7.3.2 某个项目的源代码编程规范 208
7.4 练习 210
第8章 面向对象的需求分析 212
8.1 为什么讨论面向对象技术 212
8.1.1 面向对象分析和设计需要解决的两个经典问题 216
8.1.2 面向对象方法的特点 216
8.1.3 当前的研究及实践领域 217
8.2 面向对象的基本概念 218
8.3 统一建模语言简介 221
8.3.1 UML的发展过程 221
8.3.2 UML的本质和目标 222
8.3.3 UML的视图、模型元素和图 222
8.3.4 RUP统一过程 225
8.3.5 UML的结构 226
8.4 用况图 226
8.4.1 用况 227
8.4.2 角色 227
8.4.3 使用、扩展和角色一般化关系 228
8.4.4 用况图实例 229
8.5 活动图 231
8.6 状态图 233
8.7 交互图 234
8.7.1 顺序图 235
8.7.2 合作图 237
8.8 类图 238
8.8.1 类的表示和获取 239
8.8.2 类的属性 239
8.8.3 类的操作 240
8.8.4 类的关系 241
8.8.5 类的版型 244
8.8.6 使用类图的几个建议 245
8.9 配置图 245
8.10 组件图 246
8.11 对象图 248
8.12 包图 248
8.12.1 包的表示 249
8.12.2 包的依赖和继承 249
8.13 需求分析阶段的主要活动 250
8.13.1 活动1:建立业务模型 250
8.13.2 活动2:构造用况模型 253
8.13.3 活动3:构造用户界面原型 257
8.13.4 活动4:分析模型 257
8.14 面向对象的需求分析规格说明书 259
8.15 练习 260
第9章 面向对象设计 262
9.1 面向对象的设计概念 262
9.1.1 封装 262
9.1.2 抽象 263
9.1.3 强内聚 263
9.1.4 弱耦合 264
9.1.5 可重用 264
9.1.6 框架 264
9.1.7 软件体系结构 265
9.1.8 软件设计模式 265
9.2 基于UML的面向对象设计过程 267
9.2.1 活动1:构架设计 267
9.2.2 活动2:进一步细化用况 271
9.2.3 活动3:详细设计一个类 273
9.3 面向对象的设计原则——类设计原则 276
9.3.1 开闭原则OCP(Open Closed Principle) 276
9.3.2 替换原则LSP(Liskov Substitution Principle) 277
9.3.3 依赖原则DIP(Dependency Inversion Principle) 278
9.3.4 单一职责原则SRP(Single Responsibility Principle) 280
9.3.5 接口分离原则ISP(Interface Segregation Principle) 281
9.4 XML在软件设计中的应用 282
9.4.1 文档应用 282
9.4.2 系统配置 284
9.4.3 信息交换的媒介 286
9.5 设计规格说明书 287
9.6 图书信息管理系统设计实例 288
9.7 练习 295
第10章 面向对象的实现 297
10.1 选择编程语言 297
10.1.1 面向对象语言的特点 297
10.1.2 选择面向对象语言 300
10.2 程序设计风格 300
10.2.1 提高可复用性 301
10.2.2 提高可扩展性 302
10.3 实现阶段的人员分工 303
10.4 实现阶段的工作流程 303
10.5 实现阶段的产品 306
10.6 练习 307
第11章 面向对象的测试 308
11.1 面向对象测试的特点 308
11.2 面向对象的测试策略 309
11.3 测试阶段的制品 310
11.4 参加测试的人员职责 312
11.5 测试步骤 312
11.5.1 活动1:制定测试计划 312
11.5.2 活动2:设计测试用例 313
11.5.3 活动3:实现测试 316
11.5.4 活动4:执行集成测试 316
11.5.5 活动5:执行系统测试 316
11.5.6 活动6:测试评估 316
11.6 练习 317
第12章 软件开发文档的写作和管理 318
12.1 软件文档的作用和要求 318
12.2 软件文档的种类和提供时机 320
12.3 软件文档的编写步骤 321
12.3.1 准备工作 321
12.3.2 确定写作内容 322
12.4 如何写好软件文档 323
12.4.1 深入理解系统和用户 323
12.4.2 确定文档的组织方式 324
12.4.3 讲究文风 325
12.5 文档管理 326
12.5.1 编写管理 326
12.5.2 使用管理 327
12.6 软件配置管理 327
12.6.1 软件配置管理 327
12.6.2 软件配置 327
12.6.3 基线 328
12.6.4 软件配置管理过程 328
12.7 几个常用软件文档的模板 329
12.7.1 可行性研究报告 329
12.7.2 项目开发计划 330
12.7.3 软件需求说明书 331
12.7.4 数据需求说明书 331
12.7.5 概要设计说明书 332
12.7.6 详细设计说明书 332
12.7.7 数据库设计说明书 333
12.7.8 用户手册 333
12.7.9 操作手册 334
12.7.10 模块开发卷宗 334
12.7.11 测试计划 335
12.7.12 测试分析报告 335
12.7.13 开发进度月报 336
12.7.14 项目开发总结报告 336
12.8 软件工程标准 337
12.8.1 软件工程标准的制定过程 337
12.8.2 软件工程标准的层次 338
12.9 软件工程标准一览表 339
12.10 练习 340
第13章 系统维护 341
13.1 软件维护概念 341
13.1.1 影响维护的因素 342
13.1.2 软件维护策略 342
13.1.3 维护的成本 343
13.2 维护过程 343
13.2.1 相关维护报告 345
13.2.2 源程序修改策略 348
13.3 提高软件的可维护性 350
13.4 练习 352
第14章 软件复用 353
14.1 软件复用技术的发展和存在的障碍 354
14.1.1 软件复用技术的发展 354
14.1.2 可复用的软件制品 355
14.1.3 软件复用存在的一些障碍 356
14.1.4 建立复用途径的一些建议 356
14.2 几种构件模型比较 357
14.2.1 CORBA 357
14.2.2 COM+/DCOM 358
14.2.3 JavaBean 358
14.2.4 软件构架技术 361
14.2.5 比较分析 361
14.3 基于可复用构件的软件开发过程 362
14.3.1 构件的获取 364
14.3.2 构件的表示和检索 364
14.3.3 构件组装 365
14.3.4 构件库及其标准化 365
14.4 构件的开发 366
14.4.1 开发可复用构件时的分析和设计 368
14.4.2 构造方法 368
14.5 实例研究 368
14.5.1 EJB开发实例 369
14.5.2 配置 370
14.5.3 开发一个会话Bean(Session Bean) 372
14.5.4 配置会话Bean 377
14.5.5 开发一个实体Bean 378
14.6 练习 382
参考文献 383
- 《市政工程基础》杨岚编著 2009
- 《零基础学会素描》王金著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《生物质甘油共气化制氢基础研究》赵丽霞 2019
- 《工程静力学》王科盛主编 2019
- 《花时间 我的第一堂花艺课 插花基础技法篇》(日)花时间编辑部编;陈洁责编;冯莹莹译 2020
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《Photoshop CC 2018基础教程》温培利,付华编著 2019
- 《名医教你练走颈肩腰腿痛》许学猛 2018
- 《看视频零基础学英语口语》宋德伟 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019