软件工程案例教程
书 号:9787113174637
丛 书 名:“十二五”高等职业教育计算机类专业规划教材
作 者:汪作文
译 者:
开 本:16开
装 帧:平装
正文语种:
出 版 社:中国铁道出版社有限公司
定 价:26元
-
内容简介
本书比较系统地介绍了软件工程的概念、技术和方法,内容包括可行性分析,软件开发模型,需求分析,结构化的分析和设计,面向对象的分析和设计,软件编码及实现,软件界面设计,软件测试等。在面向对象的分析和设计方法中,还讲述了统一建模语言UML。全书采用实际的软件项目---“尚品购书网站系统”作为案例,通过该项目在软件开发的各个阶段的文档的设计,系统的介绍了软件项目的开发过程,为学习软件开发技术的学生和技术人员提供了帮助和借鉴。书中还附带有一定的例题和习题,便于教学与自学。本书可作为高等职业院校计算机专业的教材或教学参考书,也可做为软件开发人员的参考书。 -
前言
软件开发技术是一门新兴的技术,而软件工程则是指导软件开发与维护的工程学科。自20世纪60年代末期以来,人们为克服“软件危机”在这一领域进行了深入的研究,逐渐形成了系统的软件开发与维护理论、技术和方法,这些理论、技术和方法在指导软件的开发实践中发挥了重要作用。
软件工程学的研究范围非常广泛,学科内的新技术、新方法不断涌现。本书着重借助一个实际的软件开发案例,从实用角度讲解软件开发技术的相关概念、基本原理和技术方法,同时也注意了全书的系统性和先进性。
本书共9章。第1章介绍了软件工程的概念、软件工程的发展和软件危机,着重介绍了软件生存周期、软件开发模型及软件工程的基本概念和基本内容。第2章介绍了可行性分析的具体内容,从第3章到第9章是本书的重点,分别论述了需求分析、结构化的分析和设计、面向对象的分析和设计、软件编码与实现、用户界面设计、软件测试等各个阶段的各种方法和技术,对SAD方法、数据流图、数据字典、结构图、N-S结构图、PDL语言、判定树、判定表等作了比较详细的介绍。同时也介绍了OOA、OOD、OOP等面向对象的分析和设计技术以及标准建模语言UML、UML的静态建模机制、UML的动态建模机制、UML软件开发过程等内容。全书使用实际的软件项目——“尚品购书网站”系统作为案例,通过该项目在软件开发的各个阶段的文档设计,系统地介绍了软件项目的开发过程。
本书内容新颖,借助实际的软件开发案例贯穿整个教学过程,语言文字通俗易懂;各章重点、难点突出,原理、技术和方法的阐述融于丰富的实例之中;每一章首都有要点,从第2章开始,每一章都指出了相应的软件文档。各章有习题,便于教学与自学。本书可作为高等院校“软件工程”课程教材或教学参考书,也可供从事软件开发与应用的工程技术人员和软件项目管理人员阅读参考。
本书由汪作文老师编著并负责统稿全书。
由于编者水平有限,编写时间仓促,书中难免有疏漏之处,恳请专家和读者批评斧正。
编 者
2013年6月 -
目录
第1章 软件工程概述 1
1.1 软件工程背景 1
1.1.1 软件的定义 1
1.1.2 软件的特点和分类 2
1.1.3 软件的发展 3
1.1.4 软件危机 4
1.2 软件工程的基本原理 5
1.2.1 软件工程的定义 5
1.2.2 软件工程的目标和原则 6
1.2.3 软件工程的基本原理 7
1.3 软件生存周期 8
1.4 软件体系结构 9
1.5 软件开发模型 10
1.5.1 瀑布模型 10
1.5.2 原型模型 11
1.5.3 螺旋模型 12
1.5.4 基于四代技术的模型 13
1.6 软件工程标准 14
1.6.1 软件工程国际标准 14
1.6.2 ISO9000系列标准基本
思想 14
1.6.3 ISO9000-3标准 15
1.6.4 ISO9000标准与CMM 17
习题.. 17
第2章 可行性分析 19
2.1 问题定义 18
2.1.1 问题定义的内容 18
2.1.2 问题定义的步骤 18
2.2 可行性分析 19
2.2.1 可行性分析的任务 19
2.2.2 经济可行性 20
2.2.3 技术可行性 22
2.2.4 方案选择 23
2.2.5 可行性分析的步骤 24
2.3 系统流程图 24
2.3.1 系统流程图的符号 24
2.3.2 系统流程图举例 25
2.4 制订软件计划 26
2.4.1 制订软件计划 26
2.4.2 复审软件计划 28
习题.. 29
第3章 需求分析基础 30
3.1 需求分析的概念和内容 30
3.1.1 需求的问题 30
3.1.2 需求的定义与分类 30
3.2 需求工程 31
3.2.1 需求获取 31
3.2.2 需求分析 34
3.3 软件需求分析方法 36
3.4 需求规格说明与评审 37
3.4.1 需求规格说明书的内容 37
3.4.2 需求评审 39
3.4.3 需求变更管理 40
3.5 原型化方法 41
3.5.1 软件原型化方法概述 41
3.5.2 快速原型开发模型
(原型生存期) 43
3.5.3 软件开发过程 45
3.6 案例分析——“尚品购书网站”
系统需求分析与需求规格说明 46
3.6.1 “尚品购书网站”系统需求
分析 46
3.6.2 “尚品购书网站”系统需求
规格说明 48
习题.. 51
第4章 结构化分析方法 52
4.1 结构化分析方法概述 52
4.2 数据流图 52
4.2.1 数据流图中的主要图形
元素 53
4.2.2 数据流与加工之间的关系 54
4.2.3 数据流图的分层 54
4.2.4 数据流图的画法 55
4.3 数据字典 56
4.3.1 数据流的描述 56
4.3.2 加工的描述 59
4.4 实体-关系图 61
4.4.1 数据对象、属性与关系 61
4.4.2 实体-关系图 62
4.5 结构化分析方法 63
4.5.1 创建数据流模型 63
4.5.2 过程规格说明 65
4.6 案例——“尚品购书网站”系统
结构化分析 65
4.6.1 数据流图 66
4.6.2 数据存储
(D,见表4-16) 69
4.6.3 “尚品购书网站”系统数据
流程图
(第二层,见图4-16) 71
4.6.4 “尚品购书网站”系统数据
流程图(第三层) 73
4.6.5 实体-关系模型
(E-R图,见图4-20) 74
习题.. 75
第5章 结构化的设计方法 76
5.1 结构化设计的基本概念 76
5.1.1 模块化设计 76
5.1.2 自顶向下逐层分解 80
5.1.3 启发式规则 80
5.1.4 软件总体结构设计 82
5.1.5 数据结构设计 83
5.1.6 软件过程设计 83
5.2 过程设计技术和工具 84
5.2.1 结构化程序设计 84
5.2.2 图形表示法 85
5.2.3 判定表 86
5.2.4 过程设计语言(PDL) 87
5.3 结构化设计方法 89
5.4 变换分析 90
5.5 事务分析 95
5.6 模块优化设计准则 97
5.7 案例——“尚品购书网站”系统
结构化设计 99
5.7.1 软件总体结构设计:用系统
结构图描述(见图5-33) 99
5.7.2 模块接口设计:可用系统结构
图(或构件图)描述 99
5.7.3 软件数据结构设计:用数据
字典描述 100
习题.. 101
第6章 面向对象的分析与设计 102
6.1 面向对象的方法概述 102
6.1.1 对象 102
6.1.2 类和实例 103
6.1.3 消息 104
6.1.4 方法 104
6.1.5 属性 104
6.1.6 关系 104
6.1.7 封装 105
6.1.8 多态性 106
6.2 UML建模语言概述 106
6.3 UML的静态建模机制 106
6.3.1 用例图 107
6.3.2 类图、对象图和包 109
6.3.3 组件图和部署图 114
6.4 UML的动态建模机制 115
6.4.1 消息 115
6.4.2 状态图 115
6.4.3 顺序图 116
6.4.4 合作图 117
6.4.5 活动图 117
6.4.6 四种图的运用 119
6.5 面向对象的分析方法 120
6.5.1 面向对象分析的任务 120
6.5.2 面向对象分析的步骤 120
6.6 面向对象设计 122
6.6.1 面向对象设计概述 122
6.6.2 面向对象设计准则 123
6.7 案例——“尚品购书网站”系统面
向对象的设计 125
6.7.1 用例图、类图、状态图、
顺序图 125
6.7.2 活动图 126
习题.. 128
第7章 软件编码与实现 129
7.1 程序设计语言的分类和特点 129
7.1.1 程序设计语言的发展和
分类 129
7.1.2 程序设计语言的特点 130
7.1.3 选择程序设计语言的
方法 132
7.2 程序设计风格 133
7.2.1 结构化程序编码 133
7.2.2 写程序的风格 134
7.3 Java程序设计风格 137
7.4 软件复用与构件技术 138
7.4.1 软件复用分类 138
7.4.2 实现复用的关键因素 139
7.4.3 领域工程 140
7.4.4 软件构件技术 142
7.4.5 复用成熟度模型和
复用效益 145
7.5 案例——“尚品购书网站”系统
编码设计 146
7.5.1 导言 146
7.5.2 编码书写格式规范 147
7.5.3 命名规范 149
7.5.4 声明规范 149
7.5.5 语句规范 150
7.5.6 注释规范 151
7.5.7 代码范例 152
7.5.8 目录规范 154
习题.. 154
第8章 用户界面设计 155
8.1 用户分类 155
8.2 用户界面的设计目标 155
8.3 用户界面设计方法 156
8.3.1 界面的一致性 156
8.3.2 菜单的一致性 156
8.3.3 鼠标与键盘的对应原则 158
8.3.4 向导使用原则 158
8.3.5 系统响应时间 158
8.3.6 用户帮助设施 158
8.3.7 出错信息和警告 159
8.3.8 输入界面设计 159
8.3.9 输出界面设计 160
8.3.10 基于Web界面设计 160
习题.. 164
第9章 软件测试 165
9.1 软件测试基本概念 165
9.1.1 软件测试的目标 165
9.1.2 测试阶段的信息流程 166
9.1.3 测试用例的设计 166
9.1.4 软件测试的步骤 167
9.2 静态测试 167
9.2.1 文档审查 167
9.2.2 代码审查 168
9.3 动态测试 168
9.3.1 白盒测试 168
9.3.2 黑盒测试 172
9.3.3 选择测试技术的综合
策略 175
9.4 软件测试过程 175
9.4.1 单元测试 175
9.4.2 集成测试 176
9.4.3 确认测试 178
9.4.4 系统测试 179
9.4.5 排错 179
9.5 面向对象的软件测试 180
9.5.1 面向对象测试的特点 180
9.5.2 面向对象测试的步骤 181
9.5.3 面向对象软件测试的设计 182
9.6 案例——“尚品购书网站”系统测试方案及文档 183
9.6.1 软件确认测试计划 183
9.6.2 功能测试种类 183
9.6.3 功能测试的测试用例
设计 184
9.6.4 程序模块测试计划 188
习题.. 191
-
作者介绍
主要著译者顺序姓名学历职称学科专长通讯地址1汪作文 研究生 副教授 工作单位武汉职业技术学院 邮政编码 电话 2 工作单位 邮政编码 电话 3 工作单位 邮政编码 电话 审校者(主审者) 学历 工作单位 邮政编码 电话 职称 工作单位 邮政编码 电话 作者汪作文,副教授,是武汉职业技术学院信息工程系书记,从2002年一直从事“软件工程”这门课程的教学工作。参加了校外横向科研课题---“数字媒体管理系统平台V2.0”的开发工作,主持完成了校外横向科研课题---“随州供电公司电话录音系统集成”的开发工作;曾经发表EI论文、国内核心期刊论文3篇等。 -
编辑推荐
本书内容新颖,借助实际的软件开发案例贯穿整个教学过程,语言文字通俗易懂;各章重点、难点突出,原理、技术和方法的阐述融于丰富的实例之中 -
书评书荐
-
附件下载
图书推荐