工业和信息化精品系列教材

软件工程(第4版)

多次改版更新软件工程专业教材,结合实际、注重应用
分享 推荐 5 收藏 63 阅读 8.9K
陆惠恩 (作者) 978-7-115-58979-8

关于本书的内容有任何问题,请联系 初美呈

历经市场考验,第3次改版更新,深受读者喜爱;
根据技术的发展增补软件逆向工程、软件再工程等新内容,与时俱进;
深入浅出、详略适当、理论和实际相结合、易于理解。

内容摘要

本书从实用的角度,介绍软件工程的基础知识和技术方法,力求做到结合实际、注重应用、便于教学,体现内容的新颖性和系统性。
本书内容包括软件工程概述,可行性研究与软件工程开发计划,需求分析,概要设计,详细设计,软件实现,软件维护,面向对象方法、UML及应用,WebApp软件工程,软件重用和再工程,软件工程管理,实例——网上商品竞拍系统。

目录

第 1章 软件工程概述 001
1.1 软件工程的产生  001
1.1.1 软件生产的发展 001
1.1.2 软件危机 002
1.2 软件工程  003
1.2.1 软件工程的定义 004
1.2.2 软件工程学的主要内容 004
1.2.3 软件工程的基本原理 007
1.3 软件生命周期  007
1.4 软件过程模型  008
1.4.1 瀑布模型 009
1.4.2 快速原型模型 010
1.4.3 增量模型 011
1.4.4 喷泉模型 012
1.4.5 统一过程模型 013
本章小结 014
习题1 015

第 2章 可行性研究与软件工程开发计划 016
2.1 软件定义与可行性研究  016
2.1.1 软件定义 016
2.1.2 可行性研究 018
2.2 软件工程开发计划的制订 019
2.2.1 软件工程项目概述和实施计划 019
2.2.2 Gantt图 020
2.2.3 工程网络图 021
2.2.4 软件工程开发计划的复审 024
本章小结 025
习题2 025

第3章 需求分析 027
3.1 需求分析的任务  027
3.1.1 确定目标系统的具体要求 028
3.1.2 建立目标系统的逻辑模型 030
3.2 结构化分析步骤  030
3.2.1 进行调查研究 030
3.2.2 分析和描述系统的逻辑模型 031
3.2.3 对需求分析进行复审 031
3.3 需求分析的图形工具  032
3.3.1 实体-联系图 033
3.3.2 数据流图 034
3.3.3 状态转换图 037
3.3.4 IPO图 038
3.4 数据字典  039
3.4.1 数据字典的内容 039
3.4.2 数据字典使用的符号 040
3.4.3 数据字典与图形工具 042
3.5 软件需求分析举例  042
3.5.1 系统管理 042
3.5.2 商品信息管理 043
3.5.3 商品供销存管理 043
3.5.4 商品销售管理系统的数据流图 044
3.5.5 数据字典 044
3.6 需求分析文档  045
3.6.1 软件需求规格说明书 045
3.6.2 用户手册编写提示 046
3.6.3 编写需求分析文档的步骤 046
本章小结 047
习题3 047

第4章 概要设计 049
4.1 概要设计步骤  049
4.1.1 软件结构设计 049
4.1.2 数据结构设计及数据库设计 050
4.1.3 系统接口设计 051
4.1.4 测试方案设计 051
4.2 软件结构设计的基本原理  051
4.2.1 模块与模块化 051
4.2.2 模块的耦合和内聚 054
4.2.3 软件结构设计的优化规则 057
4.3 软件结构设计的图形工具  058
4.3.1 层次图 058
4.3.2 结构图 059
4.4 概要设计方法  060
4.4.1 结构化方法 060
4.4.2 面向数据结构设计方法 063
4.5 概要设计文档与复审  066
4.5.1 概要设计说明书 066
4.5.2 概要设计复审 067
4.5.3 数据库设计说明书 067
本章小结 068

习题4 068
第5章 详细设计 070
5.1 过程设计  070
5.1.1 流程图 071
5.1.2 盒图 075
5.1.3 PAD 076
5.1.4 判定表 078
5.1.5 判定树 078
5.1.6 过程设计语言 079
5.2 用户界面设计  081
5.2.1 用户界面设计问题 081
5.2.2 用户界面设计过程 082
5.2.3 用户界面设计的基本原则 082
5.2.4 用户界面设计指南 083
5.3 数据代码设计  085
5.3.1 数据代码设计原则 085
5.3.2 代码种类 086
5.3.3 数据代码设计方法 088
5.4 数据输入/输出设计  088
5.4.1 数据输入设计 088
5.4.2 数据输出设计 089
5.5 数据安全设计  089
5.6 详细设计文档与复审  090
5.6.1 详细设计说明书 090
5.6.2 操作手册 091
5.6.3 详细设计的复审 092
本章小结 092
习题5 092

第6章 软件实现 094
6.1 结构化程序设计  094
6.2 选择程序设计语言  095
6.3 程序设计风格  097
6.4 程序设计质量评价  099
6.5 程序设计文档  099
6.6 软件测试目标和原则  100
6.6.1 软件测试目标 100
6.6.2 软件测试原则 100
6.7 软件测试方法  101
6.7.1 静态分析与动态测试 101
6.7.2 黑盒法与白盒法 102
6.8 软件测试步骤  102
6.8.1 模块测试 102
6.8.2 集成测试 103
6.8.3 程序审查会和人工运行 104
6.8.4 确认测试 104
6.8.5 平行运行 105
6.9 设计测试方案  105
6.9.1 等价类划分法 106
6.9.2 边界值分析法 106
6.9.3 错误推测法 107
6.9.4 逻辑覆盖法 107
6.9.5 实用测试策略 110
6.10 软件调试、验证与确认  111
6.10.1 软件调试 111
6.10.2 软件验证 112
6.10.3 软件确认 112
6.11  软件测试计划和分析报告  113
本章小结 114
习题6 115

第7章 软件维护 119
7.1 软件维护过程  119
7.1.1 软件维护的种类 119
7.1.2 软件维护的困难 120
7.1.3 软件维护的实施 121
7.1.4 软件维护的副作用 123
7.2 软件的可维护性  123
7.2.1 影响可维护性的因素 124
7.2.2 可维护性的度量 124
7.2.3 提高软件的可维护性 125
本章小结 126
习题7 126

第8章 面向对象方法、UML及应用 128
8.1 面向对象方法概述  128
8.1.1 面向对象方法的主要优点 129
8.1.2 面向对象方法的主要概念 130
8.2 UML概述  132
8.2.1 UML的发展 132
8.2.2 UML的设计目标 133
8.2.3 UML的内容  133
8.2.4 UML的扩展机制 134
8.3 UML图  135
8.3.1 用例图 136
8.3.2 类图 137
8.3.3 对象图 141
8.3.4 状态图 141
8.3.5 顺序图 143
8.3.6 活动图 144
8.3.7 协作图 144
8.3.8 构件图 145
8.3.9 部署图 145
8.4 面向对象分析  146
8.4.1 面向对象分析过程 146
8.4.2 面向对象分析原则 147
8.5 建立对象模型  148
8.5.1 确定对象和类 148
8.5.2 确定类的相互关系 149
8.5.3 划分主题 150
8.6 建立动态模型  152
8.6.1 编写脚本 153
8.6.2 设计用户界面 154
8.6.3 画顺序图或活动图 154
8.6.4 画状态图 154
8.7 建立功能模型  155
8.8 面向对象设计  156
8.8.1 系统设计 157
8.8.2 对象设计 160
8.8.3 面向对象设计的准则和启发式规则 161
8.9 面向对象系统的实现  162
8.9.1 选择程序设计语言 162
8.9.2 面向对象程序设计 163
8.10 面向对象的测试  163
8.10.1 面向对象测试策略 164
8.10.2 面向对象的测试步骤 165
8.11 UML的应用  169
8.11.1 UML模型 169
8.11.2 UML视图 171
8.11.3 UML使用准则 171
8.11.4 UML的应用领域 172
本章小结 173
习题8 173

第9章 WebApp软件工程 175
9.1 Web的特性 175
9.2 网络系统的层次结构 177
9.2.1 二层C/S结构 177
9.2.2 三层C/S结构 178
9.2.3 四层C/S结构 180
9.2.4  B/S结构 180
9.3 客户端使用的技术 182
9.3.1 HTML 182
9.3.2 脚本语言 182
9.3.3 Applet 183
9.3.4 AJAX 183
9.4 网络服务器端使用的技术 184
9.4.1 Servlet 184
9.4.2 JSP 186
9.5  WebApp的设计模式 186
9.5.1 观察者模式 187
9.5.2 组合模式 188
9.5.3 工厂方法模式和策略模式 189
9.5.4 模型-视图-控制器模式 190
9.5.5 装饰者模式 191
9.6 WebApp的设计 192
9.6.1 WebApp的特点及应用类型 192
9.6.2 WebApp的需求分析 193
9.6.3 WebApp需求分析过程 196
9.6.4 WebApp设计过程 198
9.6.5 WebApp体系结构设计 202
9.6.6 WebApp导航设计 203
9.7 WebApp测试 204
9.7.1 WebApp测试过程概述 205
9.7.2 WebApp内容测试 205
9.7.3 WebApp界面测试 206
9.7.4 WebApp导航测试 207
9.7.5 WebApp配置测试 207
9.7.6 WebApp安全性测试 207
9.7.7 WebApp性能测试 208
本章小结 208
习题9 209

第 10章 软件重用和再工程 210
10.1 可重用的软件成分  210
10.2 软件重用过程  211
10.2.1 软件重用过程的模型 211
10.2.2 开发可重用的软件构件 213
10.2.3 分类和检索软件构件 213
10.2.4 软件重用环境 214
10.3 软件逆向工程 215
10.4 软件再工程 216
本章小结 217
习题10 217

第 11章 软件工程管理 218
11.1 软件工程管理概述  218
11.2 软件开发成本估算  219
11.2.1 软件开发成本估算方法 219
11.2.2 代码行技术和任务估算技术 220
11.2.3 COCOMO2模型 221
11.2.4 程序环行复杂度的度量 223
11.3 软件工程人员组织  224
11.4 软件配置管理  226
11.5 软件质量保证  228
11.5.1 软件质量的特性 229
11.5.2 软件质量保证措施 230
11.6  软件开发风险管理  231
11.6.1 软件开发风险的分类 231
11.6.2 软件开发风险的识别 232
11.6.3 软件开发风险的预测 232
11.6.4 处理软件开发风险的策略 233
11.7 软件工程标准与软件工程文档  235
11.7.1 软件工程标准 235
11.7.2 软件工程文档的编写 236
本章小结 238
习题11 238

第 12章 实例——网上商品竞拍系统 239
12.1 问题定义和可行性研究 239
12.1.1 问题定义 239
12.1.2 可行性研究 239
12.2 需求分析和概要设计 240
12.2.1 系统角色的功能设计 240
12.2.2 数据库设计 242
12.2.3 系统结构设计 243
12.2.4 网络设计 244
12.3 模块设计 245
12.3.1 注册登录 245
12.3.2 用户信息管理 245
12.3.3 拍卖商品管理 246
12.3.4 拍卖业务管理 247
12.4 软件测试 248
本章小结 250
习题12 250

附录A 部分习题参考答案 251
附录B 试题类型举例 257
参考文献 258

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

陆惠恩 复旦大学数学系计算数学专业(计算机系计算机软件专业前身)1968届毕业。从事高校计算机软件专业教学三十余年、指导学生毕业设计二十多年,有丰富的教学、科研实际经验。编写《软件工程》教材多年,书中有不少实例有利于读者对内容的理解和掌握,并根据计算机软件工程发展的情况更新了教材的内容,因而所编写的教材深受广大高校师生的欢迎。

推荐用户

同系列书

相关图书

人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部