软件工程实验教程 第3版
作者 : 主编 窦万峰 蒋锁良 杨俊参编 潘媛媛 汤傲
出版日期 : 2016-11-14
ISBN : 978-7-111-55142-3
适用人群 : 本书适合作为高等院校软件工程课程的实验辅助教材,也
定价 : 39.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 265
开本 : 16
原书名 :
原出版社:
属性分类: 教材
包含CD :
绝版 :
图书简介

本书引导学生学习与使用软件生存周期的各个阶段所用到的典型CASE工具,把软件工程的概念和理论知识融入到实践工具当中,深入理解软件开发中各个阶段的技术、方法和工具使用方法。全书分为10章内容,设计了47个实验,覆盖了软件工程工具与文档、软件分析与设计建模工具Microsoft Visio、面向对象建模工具Rational Rose、软件配置管理工具Visual SourceSafe、功能测试工具WinRunner、压力测试工具LoadRunner、单元测试工具JUnit、软件代码测试工具PurifyPlus、测试管理工具TestDirector和软件项目管理工具 Project等主流的软件工程工具。每章都有有关工具的概念知识和功能的介绍,安排了多个针对不同功能或使用方面的实验,以便教师根据课时选择实验和学生练习。

图书特色

软件工程实验是辅助学生学习软件工程理论和方法的有效途径。本实验教程结合软件工程课程的教学特点,精选内容、精心设计、精细编排,注重基础性、系统性和实用性。全书共47个实验,涵盖软件生存周期的各个阶段,详解业界主流的CASE工具,帮助学生切实掌握软件工程的核心知识和实践方法。
本书特点
灵活的实验设计。不仅甄选了针对CASE工具的基础实验,而且设计了复杂的综合应用实践;既可作为软件工程课程的辅助教材,亦能够胜任独立实验课程的教学任务。
系统的知识阶梯。每个实验都包含背景知识介绍,继而分析工具的特点和功能,给出步骤详尽的操作指南,帮助学生顺利跨入实践领域,掌握工具的核心用法,加深对软件工程的理解。
实用的CASE工具。MSVisio、Rational Rose、VSS、WinRunner、LoadRunner、JUnit、PurifyPlus、TestDirector、Project,你将认识并使用这些工具,从设计、分析到测试和管理,为未来的工程实战做好准备。

图书前言

软件工程学是一门综合性应用科学,它将计算机科学理论与现代工程方法论相结合,着重研究软件过程模型、设计方法以及工程开发技术和工具,以指导软件的生产和管理。随着计算机科学和软件产业的迅猛发展,软件工程学已成为一个重要的计算机分支学科,也是一个异常活跃的研究领域,新方法、新技术不断涌现。软件工程是计算机科学与技术专业学生必修的一门专业课程,也是工科各专业学生在计算机应用方面的一门重要选修课程。
软件工程理论与技术的发展和多种多样的CASE(计算机辅助软件工程)工具的不断涌现,加快了软件开发效率并节约了成本,同时也对软件及其相关行业的从业人员提出了更高的要求。为培养高素质的专业人才,应充分重视软件工程课程的实验教学,因此迫切需要优秀的软件工程课程实验教材。
为编写本书,我们在实验内容的选择、实验步骤的设计以及实验方法和文档的组织等方面做了精心的考虑和安排,结合长期的教学经验、工程项目实践经验以及各种CASE工具的使用经验,并与实验教学人员和专业老师反复讨论,最终才有了本书的诞生。我们参考了国内外大量的实验教材,并结合软件课程教学的特点,注重基础性、系统性、实用性和新颖性,充分体现实验的可操作性。这对推动软件工程课程的教学发展、帮助学生切实掌握软件工程课程的知识、理论与实践具有重要意义。
通过对CASE工具的学习和使用,软件工程实验将概念和理论知识融入实践,帮助学生深入理解软件开发中各个阶段的技术、方法和工具的基本使用方法。实验内容几乎包含了软件生存周期的各个阶段,包括软件分析与设计、软件测试和软件项目管理。全书共设计了47个实验,涵盖软件工程标准文档、软件分析与设计建模工具Microsoft Visio、面向对象建模工具Rational Rose、软件配置管理工具Microsoft Visual SourceSafe、功能测试工具WinRunner、压力测试工具LoadRunner、单元测试工具JUnit、软件代码测试工具PurifyPlus、测试管理工具TestDirector和软件项目管理工具Microsoft Project等。部分章节安排了多个实验,目的是便于教师合理安排实验时间,也便于学生练习和操作。为了帮助学生充分理解每个实验,掌握主流软件工程工具的基本使用方法,我们给出了相关背景知识,包括实验工具的特点、功能、安装方法等。
实验内容和教学目标
第1章介绍软件工程CASE工具与标准化文档。通过学习本章,学生应熟悉软件生存周期模型及各个阶段的过程;熟悉软件工程的技术支持环境、软件工程工具以及支持环境对于软件开发和开展软件工程实践的意义;了解软件开发过程对软件工程工具和支持环境的要求;了解现有的主流软件工具及其基本功能、用途、发展与应用状况;掌握软件过程的阶段划分和各个阶段的任务;了解软件工程国家标准和其他相关技术标准的专业网站;熟悉软件工程标准化的概念、内容及意义;重点熟悉国家标准GB/T 8567—2006及其相关软件文档的目的、基本内容、编写要求、管理要求和适用阶段。本章安排了2个实验,内容涵盖软件工程CASE工具和软件工程标准化文档。
第2章介绍软件分析与设计工具Microsoft Visio。通过学习本章,学生应了解Visio工具的功能特色和工作环境;掌握Visio工具的基本使用方法和基本绘图操作;了解Visio图形应用的基本概念;重点掌握Visio提供的网络图、流程图、数据流图和UML模型图的绘制方法;熟悉Visio工具的绘图操作以及如何将其与Microsoft Office文档结合使用。本章安排了4个实验,内容涵盖数据流图、状态模型、程序流程图和实体关系模型。
第3章介绍面向对象建模工具Rational Rose。通过学习本章,学生应熟悉面向对象技术和面向对象软件工程模型与建模技术;掌握面向对象的统一过程模型和基本模型视图;熟悉UML的各种模型视图及其表示;了解面向对象建模工具Rational Rose的基本使用方法;了解Rational Rose的双向工程,包括正向工程和逆向工程,正向工程是从模型到代码,逆向工程是从代码到模型。本章安排了10个实验,内容涵盖创建用例模型、逻辑模型、动态行为模型、组件模型、部署模型、数据库模型以及正向工程和逆向工程等。
第4章介绍软件配置管理工具Microsoft Visual SourceSafe。通过学习本章,学生应了解软件配置管理的基本概念、分类、工具集成和相关技术;了解配置管理工具VSS的功能和基本使用方法。本章安排了1个实验,即使用VSS构建项目配置环境。
第5章介绍功能测试工具WinRunner。通过学习本章,学生应熟悉软件测试的测试任务、测试原理、常用测试策略、测试方法和测试技术;熟悉一些特定应用系统软件(面向对象软件、人机界面软件、分布式软件、实时系统软件)的测试要点;了解软件自动化测试的原理和方法;了解自动测试工具的类型、测试步骤和自动测试用例设计基础;了解测试自动化的优点和限制;掌握WinRunner功能测试工具的基本使用方法;使用WinRunner测试一个小软件并学习同步点测试;使用WinRunner进行多项数据驱动测试;了解WinRunner检查点测试;了解手工和自动合并脚本文件。本章安排了9个实验,内容涵盖录制脚本、学习GUI对象、同步点测试、数据驱动测试、GUI对象检查点、图像检查点、文字检查点和批处理测试等。
第6章介绍性能测试工具LoadRunner。通过学习本章,学生应了解如何定义性能测试要求,例如并发用户的数量、典型业务流程和所需响应时间;学会创建Vuser脚本,将最终用户活动捕获到自动脚本中;使用 LoadRunner Controller设置测试环境和定义场景;通过LoadRunner Controller驱动和管理测试场景;通过LoadRunner Controller 监控测试场景;使用LoadRunner Analysis创建图和报告并评估性能;使用LoadRunner联机图,指定场景执行期间Controller将监控的计算机,并查看监控器收集的数据;了解在场景执行期间如何监控资源,确定特定计算机上出现瓶颈的原因;学会使用LoadRunner的服务器资源监控器,跟踪场景执行期间使用的资源等。本章安排了8个实验,包括录制脚本、脚本回放、增强脚本、内容检查、场景设置、运行场景和结果分析等。
第7章介绍单元测试工具JUnit。通过学习本章,学生应理解JUnit的目的、概念和设计模式;学会在Eclipse环境中加载Junit;了解Junit的测试原理和测试框架;掌握Junit的测试方法和过程。本章安排了1个实验,即类的测试。
第8章介绍代码测试工具PurifyPlus。通过学习本章,学生应学会使用PureCoverage检测代码覆盖程度,自动检测测试完整性和那些无法达到的部分;学会使用Purify检测内存错误和内存泄漏,以确保整个应用程序的质量和可靠性;学会使用Quantify检测代码性能瓶颈,自动检测出影响程序段执行速度的瓶颈,获取参数分析表;学会利用PurifyPlus强有力的数据收集和分析能力,最大化地利用测试生成的数据,更好地辅助测试人员进行决策。本章安排了6个实验,内容涵盖PureCoverage单元测试、Purify单元测试、Quantify单元测试、精确粒度数据采集、可定制过滤器的生成和数据的合并与比较等。
第9章介绍测试管理工具TestDirector。通过学习本章,学生应了解测试管理的概念和目的;了解测试项目环境的构建、用户添加和授权;掌握测试需求定义、计划测试、定义测试和执行测试。本章安排了5个实验,内容涵盖创建测试项目、定制测试项目、创建项目需求大纲、创建测试集合和执行测试。
第10章介绍软件项目管理工具Microsoft Project。通过学习本章,学生应了解IT项目管理的基本概念、意义和作用;熟悉项目管理的核心思想和基本知识;掌握项目管理软件Microsoft Project的功能、用途和基本操作。本章安排了1个实验,即构建项目计划。
实验安排
本书适合作为高等院校软件工程课程的实验辅助教材,也可以作为独立开设的软件工程学实验课程的教材。本书实验内容的基本概念来自软件工程课程,应与之结合学习。本书内容结构合理,章节组织有特色,应用指导性强,在实施过程中可以结合一些应用实例,以达到更好的教学效果。
本实验教程的47个实验可以根据课时需要任意组合,建议总课时为32课时。对于初级教学目标,可选每个工具的基本实验,共计36个实验,总计18课时。对于课时紧张的情况,我们在每个实验中安排了基本实例和综合应用,教师可以灵活选用。
本书第1~5章由窦万峰编写,第6章由蒋锁良编写,第7~8章由潘媛媛和窦万峰编写,第8章由杨俊编写,第9~10章由汤傲和窦万峰编写。全书由窦万峰统稿,由潘媛媛和汤傲校对。
限于编者水平,书中难免有疏漏和不当之处,敬请广大读者不吝赐教。

编者
2016年10月

上架指导

计算机\软件工程

封底文字

软件工程实验是辅助学生学习软件工程理论和方法的有效途径。本实验教程结合软件工程课程的教学特点,精选内容、精心设计、精细编排,注重基础性、系统性和实用性。全书共47个实验,涵盖软件生存周期的各个阶段,详解业界主流的CASE工具,帮助学生切实掌握软件工程的核心知识和实践方法。

本书特点
·灵活的实验设计。不仅甄选了针对CASE工具的基础实验,而且设计了复杂的综合应用实践;既可作为软件工程课程的辅助教材,亦能够胜任独立实验课程的教学任务。
·系统的知识阶梯。每个实验都包含背景知识介绍,继而分析工具的特点和功能,给出步骤详尽的操作指南,帮助学生顺利跨入实践领域,掌握工具的核心用法,加深对软件工程的理解。
·实用的CASE工具。Visio、Rational Rose、VSS、WinRunner、LoadRunner、JUnit、PurifyPlus、TestDirctor、Project,你将认识并使用这些工具,从设计、分析到测试和管理,为未来的工程实战做好准备。

图书目录

前言
第1章 软件工程CASE工具与标准化文档1
1.1 软件工程CASE工具1
1.2 软件工程国家标准6
1.3 软件工程文档的分类7
1.4 实验内容与方法9
1.5 实验安排说明17
1.6 小结18
1.7 习题18
第2章 软件分析与设计工具19
2.1 引言19
2.2 Visio的基本使用方法20
2.2.1 初识Visio绘图20
2.2.2 Visio提供的模型21
2.3 数据流图22
2.4 状态模型24
2.5 程序流程图27
2.6 实体关系模型28
2.7 实验安排说明30
2.8 小结30
2.9 习题30
第3章 面向对象建模工具31
3.1 引言31
3.2 Rational Rose的基本使用方法31
3.2.1 Rational Rose的主界面31
3.2.2 Rational Rose基本用法简介33
3.3 创建用例模型视图37
3.3.1 创建用例视图37
3.3.2 创建用例的活动图或泳道图41
3.4 创建逻辑模型42
3.5 创建动态行为模型46
3.6 创建逻辑结构—包依赖模型50
3.7 创建组件模型视图51
3.8 创建部署模型视图53
3.9 数据库建模53
3.10 双向工程63
3.10.1 ANSI C++的Rose双向工程64
3.10.2 VC++的Rose双向工程67
3.10.3 Java的Rose双向工程79
3.11 实验安排说明81
3.12 小结82
3.13 习题82
第4章 软件配置管理工具84
4.1 引言84
4.2 VSS简介84
4.3 VSS的基本使用方法87
4.4 实验安排说明95
4.5 小结95
4.6 习题96
第5章 功能测试工具97
5.1 引言97
5.2 WinRunner的测试过程97
5.3 WinRunner的基本使用方法98
5.3.1 WinRunner的基本操作98
5.3.2 WinRunner的测试方法100
5.4 识别GUI Map对象104
5.5 功能测试方法107
5.5.1 使用向导识别对象108
5.5.2 插入同步点111
5.6 学习GUI对象115
5.6.1 GUI Map file per test模式115
5.6.2 更新GUI Map文件115
5.6.3 合并GUI Map文件118
5.6.4 配置GUI Map120
5.7 数据驱动测试122
5.8 WinRunner检查点测试126
5.8.1 GUI对象检查点126
5.8.2 图像检查点129
5.8.3 文字检查点130
5.9 脚本修改132
5.10 WinRunner批测试135
5.11 实验安排说明138
5.12 小结138
5.13 习题138
第6章 软件性能测试工具139
6.1引言139
6.2LoadRunner的基本使用方法139
6.2.1LoadRunner的基本流程141
6.2.2VuGen简介141
6.2.3协议选择142
6.3LoadRunner的测试过程与方法143
6.3.1录制脚本143
6.3.2脚本回放146
6.3.3增强脚本148
6.3.4关联153
6.3.5内容检查155
6.3.6集合点158
6.3.7设置运行时行为158
6.4场景设计159
6.4.1Controller 简介160
6.4.2场景设置160
6.4.3运行场景164
6.4.4结果分析166
6.5实验安排说明173
6.6小结173
6.7习题173
第7章 单元测试工具174
7.1JUnit简介174
7.2JUnit设计模式174
7.2.1命令模式174
7.2.2组合模式175
7.2.3模板方法模式177
7.2.4适配器模式179
7.2.5观察者模式180
7.2.6装饰模式182
7.3在Eclipse下为项目添加JUnit4库184
7.4JUnit4单元测试框架188
7.5Eclipse单元测试189
7.5.1Eclipse单元测试的基本过程189
7.5.2JUnit4测试原理193
7.6JUnit高级功能195
7.6.1高级Fixture195
7.6.2限时测试195
7.6.3测试异常196
7.6.4Runner196
7.6.5参数化测试196
7.6.6打包测试198
7.7实验安排说明199
7.8小结199
7.9习题199
第8章 代码测试工具200
8.1引言200
8.1.1PureCoverage工具的特性200
8.1.2Purify工具的特性202
8.1.3Quantify工具的特性205
8.2PurifyPlus单元测试206
8.3PurifyPlus高级测试213
8.3.1PurifyPlus的高级特性213
8.3.2精确粒度数据的采集213
8.3.3可定制过滤器的生成214
8.3.4采集数据的合并与比较214
8.4PurifyPlus的高级功能215
8.5实验安排说明216
8.6小结217
8.7习题217
第9章 测试管理工具218
9.1引言218
9.2测试管理过程218
9.3TestDirector的基本使用方法220
9.4建立测试项目223
9.4.1创建项目223
9.4.2定制项目224
9.5定义测试需求226
9.5.1定义测试范围226
9.5.2建立需求大纲227
9.6计划测试230
9.7执行测试232
9.7.1建立测试集合232
9.7.2测试执行表233
9.7.3执行测试过程234
9.7.4分析测试结果236
9.8管理软件缺陷238
9.8.1记录缺陷238
9.8.2检查新缺陷239
9.9实验安排说明240
9.10小结240
9.11习题240
第10章 软件项目管理工具241
10.1引言241
10.2Microsoft Project简介241
10.3Microsoft Project视图242
10.4Microsoft Project操作实验248
10.5实验安排说明253
10.6小结253
10.7习题254
参考文献255



实 验 目 录
【实验1-1】软件工程CASE工具9
【实验1-2】软件工程标准化文档10
【实验2-1】订货系统的数据流图22
【实验2-2】电子表状态模型25
【实验2-3】程序流程图28
【实验2-4】实体关系模型29
【实验3-1】电梯系统用例模型38
【实验3-2】POS机系统用例模型39
【实验3-3】电梯系统类模型43
【实验3-4】ATM机取款用例的逻辑模型45
【实验3-5】电梯系统动态模型48
【实验3-6】ATM机系统组件模型52
【实验3-7】ATM机系统部署模型53
【实验3-8】图书馆系统的数据库模型59
【实验3-9】图书馆系统正向工程71
【实验3-10】交互绘图系统逆向工程78
【实验4-1】构建项目配置环境88
【实验5-1】机票预订系统—录制脚本108
【实验5-2】机票预订系统—学习GUI对象108
【实验5-3】机票预订系统—同步点测试112
【实验5-4】飞机订票系统数据驱动测试123
【实验5-5】检查订单127
【实验 5-6】检查屏幕区域图像129
【实验5-7】检查卖出的票数130
【实验5-8】使用TSL检查机票总金额133
【实验5-9】批执行多个脚本135
【实验6-1】录制航班订票过程脚本143
【实验6-2】确认订票流程146
【实验6-3】插入事务148
【实验6-4】用户名的参数化151
【实验6-5】添加检查点155
【实验6-6】设置手动场景160
【实验6-7】运行场景164
【实验6-8】测试网上订票系统169
【实验7-1】计算器类的测试189
【实验8-1】PureCoverage单元测试206
【实验8-2】Purify单元测试209
【实验8-3】Quantify单元测试210
【实验8-4】采集精确粒度数据215
【实验8-5】生成Purify可定制过滤器216
【实验8-6】采集数据的合并与比较216
【实验9-1】创建测试项目223
【实验9-2】定制测试项目224
【实验9-3】建立项目需求大纲227
【实验9-4】建立测试集合232
【实验9-5】执行测试234
【实验10-1】面对面结对编程系统进度计划安排248

教学资源推荐
作者: 董兰芳 刘振安 等编著
作者: [美]罗杰·S.普莱斯曼(Roger S. Pressman),[美]布鲁斯·R. 马克西姆(Bruce R. Maxim) 著
作者: [美]凯西·施瓦尔贝(Kathy Schwalbe)著
参考读物推荐
作者: Chris Wysopal;Lucas Nelson;Dino Dai Zovi;Elfriede Dustin
作者: Grady Booch; James Rumbaugh; Ivar Jacobson