软件工程案例教程:软件项目开发实践 第2版
作者 : 韩万江 姜立新 等编著 宋茂强 审
出版日期 : 2011-10-13
ISBN : 978-7-111-35318-8
定价 : 35.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 281
开本 : 16
原书名 :
原出版社:
属性分类: 教材
包含CD :
绝版 :
图书简介

本教程以案例的形式,讲述了软件工程中软件项目开发的实践过程,全面涵盖软件项目开发中需求分析、概要设计、详细设计、编码、测试、提交以及运维等各个过程中涉及的理论、方法、技术、提交的产品和文档等。本书注重实效、系统、全面,通过贯穿始终案例的讲述可以让学习者在短时间内掌握软件项目开发的基本知识、基本过程,并有效提高实践能力。
本书共分九章,首先介绍软件工程的基本概念以及软件工程的主要技术。第三章到第九章系统的讲述了软件项目开发的各个过程。本书注重理论与实际的结合,学生通过软件开发理论和案例的学习,深刻理解软件工程的实质,并得到实践的锻炼,为以后的软件工程实践打下基础,达到理论联系实际的目的。
本书既适合作为高等院校计算机及相关各专业软件工程、软件测试课程的教材,也适合作为广大软件技术人员的培训教程,同时可以作为软件开发人员在工作及学习中的技术参考书。

图书特色

本书按照软件开发过程模型,通过一个贯穿全书的综合案例,详细介绍了软件开发的需求分析、概要设计、详细设计、编码、测试、提交以及维护等软件开发过程。在第2版修订中,作者结合多年的教学和软件工程项目实践经验,根据软件工程技术的新发展,进一步完善了很多软件开发技术和技巧,并更换了第1版的所有案例说明。第2版中的“综合信息管理平台”案例,其复杂性和综合性更加合理、科学,通过循序渐进的案例学习,读者可以快速掌握软件开发的基本知识、基本过程,并有效提高实践能力,为以后顺利投入工作实践打下坚实的基础。
本书特点:
内容全面,涵盖了软件项目开发的所有内容,包括理论、方法、提交产品和文档。
注重实效,书中涉及的理论和方法都有相应的实践案例对照讲解,便于学生理解掌握。
结构清晰,全书通过一个贯穿始终的综合项目案例详细说明软件项目的完整开发过程和提交的文档等。
习题实用,每章后配有相应的习题,便于学生复习、巩固所学理论知识。
教辅支持,为教师配有电子教案,方便教师教学。

图书前言

本书第1版出版后深受广大读者的好评,同时也收到了很多读者建议,再加上本人多年教学和项目实践的新经验,感到有必要对第1版教程进行升级改进。本书在第1版的基础上,根据软件工程新技术的发展,总结了软件开发实践过程和教学过程的经验教训,经过2年的酝酿和更新,最后完成了第2版的修订。
  本书第2版不仅进一步完善了很多软件开发技术和技巧,而且更换了第1版的所有案例说明,是一本系统的、有针对性的、实效性强的教材,对于从事软件项目开发以及希望学习软件开发的人员都会起到非常好的借鉴作用。
  参与本书编写的有韩万江、姜立新、郑伟、陈力、王晓琼、杨元民、岳鹏、郭士容、岳好等。宋茂强教授对本书进行了多次审核,在此表示感谢!
  由于作者水平有限,书中难免有疏漏之处,诚请各位读者批评指正,并希望将你们在实际工作中如何运用本书的体会告诉我,以便我在以后的版本修订中进一步完善。我的Email是:casey_han@263.net。

韩万江
2011.1 于北京

上架指导

计算机\软件工程

封底文字

本书按照软件开发过程模型,通过一个贯穿全书的综合案例,详细介绍了软件开发的需求分析、概要设计、详细设计、编码、测试、提交以及维护等软件开发过程。在第2版修订中,作者结合多年的教学和软件工程项目实践经验,根据软件工程技术的新发展,进一步完善了很多软件开发技术和技巧,并重新更换了第1版的所有案例说明。第2版中的“综合信息管理平台”案例,其复杂性、综合性更加合理、科学,通过循序渐进的案例学习,读者可以快速掌握软件开发的基本知识、基本过程,并有效提高实践能力,为学生走向工作岗位后顺利投入工作实践打下坚实的基础。
本书特点:
●内容全面,涵盖了软件项目开发的所有内容,包括理论、方法、提交产品和文档。
●注重实效,书中涉及的理论和方法都有相应的实践案例对照讲解,便于学生理解掌握。
●逻辑结构清晰,全书通过一个贯穿始终的综合项目案例详细说明软件项目的完整开发过程和提交的文档等。
●每章后配有相应的习题,便于学生复习、巩固所学理论知识。同时,为教师配有电子教案,方便教师教学。

图书目录

前言
第1章 软件工程概述 1
1.1 软件工程的背景 1
1.2 软件工程知识体系 3
1.3 软件工程的三段论 4
1.4 软件工程模型 5
1.4.1 软件项目开发路线图 7
1.4.2 软件项目管理路线图 8
1.4.3 软件过程改进路线图 9
1.5 软件开发模型 12
1.5.1 瀑布模型 12
1.5.2 V模型 12
1.5.3 原型模型 13
1.5.4 增量式模型 13
1.5.5 螺旋式模型 13
1.5.6 喷泉模型 15
1.5.7 智能模型 15
1.6 软件工程中的复用原则 15
1.7 小结 17
1.8 练习题 17
第2章 结构化方法和面向对象方法 19
2.1 软件工程方法比较 19
2.2 结构化软件工程方法 20
2.2.1 结构化需求分析 21
2.2.2 结构化概要设计与
详细设计 21
2.2.3 结构化编码 22
2.2.4 结构化测试 22
2.2.5 结构化维护 22
2.3 面向对象软件工程方法 22
2.3.1 面向对象需求分析 23
2.3.2 面向对象设计 24
2.3.3 面向对象编程 24
2.3.4 面向对象测试 24
2.3.5 面向对象维护 24
2.4 软件逆向工程 25
2.5 小结 25
2.6 练习题 25
第3章 软件项目的需求分析 26
3.1 软件项目需求概述 26
3.1.1 需求定义 26
3.1.2 需求类型 27
3.1.3 需求的重要性 28
3.2 需求工程 28
3.2.1 需求获取 28
3.2.2 需求分析 31
3.2.3 需求规格说明 31
3.2.4 需求验证 32
3.2.5 需求变更 32
3.3 需求分析模型 33
3.3.1 关联模型 34
3.3.2 行为模型 34
3.3.3 数据模型 35
3.3.4 原型模型 37
3.4 需求建模的方法 37
3.4.1 结构化分析方法 37
3.4.2 面向对象分析方法 39
3.4.3 其他方法 49
3.5 需求规格说明文档 51
3.6 项目案例 53
3.7 小结 63
3.8 练习题 63
第4章 软件项目的概要设计 65
4.1 软件设计定义 65
4.2 概要设计方法概论 66
4.3 设计模型 66
4.3.1 体系结构设计 66
4.3.2 数据设计 69
4.3.3 接口设计 78
4.3.4 构件设计 80
4.4 结构化的设计方法 85
4.4.1 功能模块划分 85
4.4.2 面向数据流的设计 86
4.4.3 输入/输出设计 87
4.5 面向对象的设计方法 87
4.5.1 识别对象 88
4.5.2 确定属性 89
4.5.3 定义操作 89
4.5.4 确定对象之间的通信 90
4.5.5 完成对象定义 90
4.6 关于软件模式和框架的概念 96
4.6.1 体系结构模式 96
4.6.2 设计模式 98
4.6.3 体系结构框架 99
4.7 软件设计指导原则 102
4.8 概要设计文档 103
4.9 项目案例 106
4.10 小结 119
4.11 练习题 119
第5章 软件项目的详细设计 121
5.1 关于详细设计的概念 121
5.2 详细设计的内容 122
5.3 结构化的详细设计方法 122
5.3.1 面向数据结构的设计 122
5.3.2 结构化详细设计的例子 125
5.4 面向对象的详细设计方法 126
5.4.1 面向对象的详细设计 126
5.4.2 面向对象详细设计的例子 127
5.5 表达详细设计的工具 129
5.5.1 图形符号的设计方式 129
5.5.2 表格的设计方式 129
5.5.3 过程设计语言PDL 130
5.6 详细设计文档 132
5.7 项目案例 133
5.8 小结 145
5.9 练习题 145
第6章 软件项目的编码 147
6.1 编码概述 147
6.2 编码方法 147
6.2.1 结构化编程 148
6.2.2 面向对象编程 152
6.3 编码策略 153
6.3.1 自顶向下的开发策略 153
6.3.2 自底向上的开发策略 153
6.3.3 自顶向下和自底向上
相结合的开发策略 153
6.3.4 线程模式的开发策略 153
6.4 编码语言与编码标准和规范 154
6.4.1 编码语言 154
6.4.2 编码标准和规范 154
6.5 关于重构理念和重用原则 161
6.5.1 重构理念 161
6.5.2 重用原则 161
6.6 编码文档 162
6.7 项目案例 162
6.8 小结 172
6.9 练习题 172
第7章 软件项目的测试 174
7.1 软件测试概述 174
7.2 软件测试方法概论 175
7.3 静态测试 176
7.3.1 文档审查 176
7.3.2 代码检查 178
7.3.3 技术评审 178
7.4 动态测试 180
7.4.1 白盒测试方法 180
7.4.2 黑盒测试方法 185
7.4.3 灰盒测试方法 196
7.5 软件测试级别 196
7.5.1 单元测试 197
7.5.2 集成测试 199
7.5.3 系统测试 201
7.5.4 验收测试 204
7.5.5 上线测试 204
7.5.6 回归测试 204
7.6 面向对象的测试 204
7.6.1 面向对象分析的测试 205
7.6.2 面向对象设计的测试 205
7.6.3 面向对象的单元测试 206
7.6.4 面向对象的集成测试 207
7.6.5 面向对象的系统
测试方法 207
7.7 测试过程管理 208
7.7.1 软件测试计划 208
7.7.2 软件测试设计 209
7.7.3 软件测试开发 210
7.7.4 软件测试执行 210
7.7.5 软件测试跟踪 211
7.7.6 软件测试评估与总结 211
7.8 自动化测试 211
7.9 软件测试过程的文档 213
7.9.1 测试计划文档 213
7.9.2 测试设计文档 214
7.9.3 软件测试报告 222
7.10 项目案例 224
7.10.1 集成测试设计案例 224
7.10.2 系统测试设计案例 230
7.10.3 系统测试报告案例 238
7.11 小结 250
7.12 练习题 250
第8章 软件项目的提交 252
8.1 软件项目验收与移交 252
8.2 验收测试 253
8.3 培训 254
8.3.1 培训对象 254
8.3.2 培训方式 254
8.3.3 培训指南 255
8.4 用户文档 255
8.4.1 用户手册 255
8.4.2 系统管理员手册 255
8.4.3 其他文档 256
8.5 软件项目提交文档 256
8.5.1 验收测试报告 256
8.5.2 用户手册 259
8.5.3 系统管理员手册 260
8.5.4 产品提交文档 261
8.6 项目案例 262
8.7 小结 265
8.8 练习题 265
第9章 软件项目的维护 267
9.1 软件项目维护概述 267
9.2 试运行 267
9.3 软件的可维护性 268
9.4 软件项目维护的类型 268
9.5 软件再工程过程 269
9.6 软件项目维护的过程 271
9.6.1 维护申请 271
9.6.2 维护实现 272
9.6.3 维护产品发布 272
9.7 软件维护过程文档 272
9.8 项目案例 272
9.9 小结 273
9.10 练习题 273
参考文献 275

教学资源推荐
作者: 黎连业 王华 李龙 黎照 李淑春 编著
作者: 江颉 董天阳 王婷 编著
作者: [英]伊恩·萨默维尔(Ian Sommerville) 著
参考读物推荐
作者: Scott W.Ambler, John Nalbone, Michael J.Vizdos
作者: Sami Zahran
作者: (美)Capers Jones
作者: (美)Tom DeMarco,Timothy Lister著