本書(shū)講解軟件工程中的典型CASE工具,將概念和理論融入實(shí)踐,引導(dǎo)讀者深入理解軟件開(kāi)發(fā)各個(gè)階段的技術(shù),掌握工具的使用方法。本書(shū)共10章,設(shè)計(jì)了47個(gè)實(shí)驗(yàn),覆蓋了軟件工程文檔、軟件分析與設(shè)計(jì)建模工具M(jìn)icrosoftVisio、面向?qū)ο蠼9ぞ逺ationalRose、軟件配置管理工具M(jìn)icrosoftVisualSourceSafe、功能測(cè)試工具WinRunner、壓力測(cè)試工具LoadRunner、單元測(cè)試工具JUnit、軟件代碼測(cè)試工具PurifyPlus、測(cè)試管理工具TestDirector和軟件項(xiàng)目管理工具M(jìn)icrosoftProject等。每章既包含對(duì)工具功能的介紹,也安排了針對(duì)不同側(cè)重點(diǎn)的實(shí)驗(yàn),以便教師根據(jù)課時(shí)靈活選取。本書(shū)適合作為高等院校軟件工程課程的實(shí)驗(yàn)教材,也可供工程技術(shù)人員閱讀參考。
前 言
軟件工程學(xué)是一門(mén)綜合性應(yīng)用科學(xué),它將計(jì)算機(jī)科學(xué)理論與現(xiàn)代工程方法論相結(jié)合,著重研究軟件過(guò)程模型、設(shè)計(jì)方法以及工程開(kāi)發(fā)技術(shù)和工具,以指導(dǎo)軟件的生產(chǎn)和管理。隨著計(jì)算機(jī)科學(xué)和軟件產(chǎn)業(yè)的迅猛發(fā)展,軟件工程學(xué)已成為一個(gè)重要的計(jì)算機(jī)分支學(xué)科,也是一個(gè)異;钴S的研究領(lǐng)域,新方法、新技術(shù)不斷涌現(xiàn)。軟件工程是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)學(xué)生必修的一門(mén)專業(yè)課程,也是工科各專業(yè)學(xué)生在計(jì)算機(jī)應(yīng)用方面的一門(mén)重要選修課程。
軟件工程理論與技術(shù)的發(fā)展和多種多樣的CASE(計(jì)算機(jī)輔助軟件工程)工具的不斷涌現(xiàn),加快了軟件開(kāi)發(fā)效率并節(jié)約了成本,同時(shí)也對(duì)軟件及其相關(guān)行業(yè)的從業(yè)人員提出了更高的要求。為培養(yǎng)高素質(zhì)的專業(yè)人才,應(yīng)充分重視軟件工程課程的實(shí)驗(yàn)教學(xué),因此迫切需要優(yōu)秀的軟件工程課程實(shí)驗(yàn)教材。
為編寫(xiě)本書(shū),我們?cè)趯?shí)驗(yàn)內(nèi)容的選擇、實(shí)驗(yàn)步驟的設(shè)計(jì)以及實(shí)驗(yàn)方法和文檔的組織等方面做了精心的考慮和安排,結(jié)合長(zhǎng)期的教學(xué)經(jīng)驗(yàn)、工程項(xiàng)目實(shí)踐經(jīng)驗(yàn)以及各種CASE工具的使用經(jīng)驗(yàn),并與實(shí)驗(yàn)教學(xué)人員和專業(yè)老師反復(fù)討論,最終才有了本書(shū)的誕生。我們參考了國(guó)內(nèi)外大量的實(shí)驗(yàn)教材,并結(jié)合軟件課程教學(xué)的特點(diǎn),注重基礎(chǔ)性、系統(tǒng)性、實(shí)用性和新穎性,充分體現(xiàn)實(shí)驗(yàn)的可操作性。這對(duì)推動(dòng)軟件工程課程的教學(xué)發(fā)展、幫助學(xué)生切實(shí)掌握軟件工程課程的知識(shí)、理論與實(shí)踐具有重要意義。
通過(guò)對(duì)CASE工具的學(xué)習(xí)和使用,軟件工程實(shí)驗(yàn)將概念和理論知識(shí)融入實(shí)踐,幫助學(xué)生深入理解軟件開(kāi)發(fā)中各個(gè)階段的技術(shù)、方法和工具的基本使用方法。實(shí)驗(yàn)內(nèi)容幾乎包含了軟件生存周期的各個(gè)階段,包括軟件分析與設(shè)計(jì)、軟件測(cè)試和軟件項(xiàng)目管理。全書(shū)共設(shè)計(jì)了47個(gè)實(shí)驗(yàn),涵蓋軟件工程標(biāo)準(zhǔn)文檔、軟件分析與設(shè)計(jì)建模工具M(jìn)icrosoft Visio、面向?qū)ο蠼9ぞ逺ational Rose、軟件配置管理工具M(jìn)icrosoft Visual SourceSafe、功能測(cè)試工具WinRunner、壓力測(cè)試工具LoadRunner、單元測(cè)試工具JUnit、軟件代碼測(cè)試工具PurifyPlus、測(cè)試管理工具TestDirector和軟件項(xiàng)目管理工具M(jìn)icrosoft Project等。部分章節(jié)安排了多個(gè)實(shí)驗(yàn),目的是便于教師合理安排實(shí)驗(yàn)時(shí)間,也便于學(xué)生練習(xí)和操作。為了幫助學(xué)生充分理解每個(gè)實(shí)驗(yàn),掌握主流軟件工程工具的基本使用方法,我們給出了相關(guān)背景知識(shí),包括實(shí)驗(yàn)工具的特點(diǎn)、功能、安裝方法等。
實(shí)驗(yàn)內(nèi)容和教學(xué)目標(biāo)第1章介紹軟件工程CASE工具與標(biāo)準(zhǔn)化文檔。通過(guò)學(xué)習(xí)本章,學(xué)生應(yīng)熟悉軟件生存周期模型及各個(gè)階段的過(guò)程;熟悉軟件工程的技術(shù)支持環(huán)境、軟件工程工具以及支持環(huán)境對(duì)于軟件開(kāi)發(fā)和開(kāi)展軟件工程實(shí)踐的意義;了解軟件開(kāi)發(fā)過(guò)程對(duì)軟件工程工具和支持環(huán)境的要求;了解現(xiàn)有的主流軟件工具及其基本功能、用途、發(fā)展與應(yīng)用狀況;掌握軟件過(guò)程的階段劃分和各個(gè)階段的任務(wù);了解軟件工程國(guó)家標(biāo)準(zhǔn)和其他相關(guān)技術(shù)標(biāo)準(zhǔn)的專業(yè)網(wǎng)站;熟悉軟件工程標(biāo)準(zhǔn)化的概念、內(nèi)容及意義;重點(diǎn)熟悉國(guó)家標(biāo)準(zhǔn)GB/T 8567—2006及其相關(guān)軟件文檔的目的、基本內(nèi)容、編寫(xiě)要求、管理要求和適用階段。本章安排了2個(gè)實(shí)驗(yàn),內(nèi)容涵蓋軟件工程CASE工具和軟件工程標(biāo)準(zhǔn)化文檔。
第2章介紹軟件分析與設(shè)計(jì)工具M(jìn)icrosoft Visio。通過(guò)學(xué)習(xí)本章,學(xué)生應(yīng)了解Visio工具的功能特色和工作環(huán)境;掌握Visio工具的基本使用方法和基本繪圖操作;了解Visio圖形應(yīng)用的基本概念;重點(diǎn)掌握Visio提供的網(wǎng)絡(luò)圖、流程圖、數(shù)據(jù)流圖和UML模型圖的繪制方法;熟悉Visio工具的繪圖操作以及如何將其與Microsoft Office文檔結(jié)合使用。本章安排了4個(gè)實(shí)驗(yàn),內(nèi)容涵蓋數(shù)據(jù)流圖、狀態(tài)模型、程序流程圖和實(shí)體關(guān)系模型。
第3章介紹面向?qū)ο蠼9ぞ逺ational Rose。通過(guò)學(xué)習(xí)本章,學(xué)生應(yīng)熟悉面向?qū)ο蠹夹g(shù)和面向?qū)ο筌浖こ棠P团c建模技術(shù);掌握面向?qū)ο蟮慕y(tǒng)一過(guò)程模型和基本模型視圖;熟悉UML的各種模型視圖及其表示;了解面向?qū)ο蠼9ぞ逺ational Rose的基本使用方法;了解Rational Rose的雙向工程,包括正向工程和逆向工程,正向工程是從模型到代碼,逆向工程是從代碼到模型。本章安排了10個(gè)實(shí)驗(yàn),內(nèi)容涵蓋創(chuàng)建用例模型、邏輯模型、動(dòng)態(tài)行為模型、組件模型、部署模型、數(shù)據(jù)庫(kù)模型以及正向工程和逆向工程等。
第4章介紹軟件配置管理工具M(jìn)icrosoft Visual SourceSafe。通過(guò)學(xué)習(xí)本章,學(xué)生應(yīng)了解軟件配置管理的基本概念、分類(lèi)、工具集成和相關(guān)技術(shù);了解配置管理工具VSS的功能和基本使用方法。本章安排了1個(gè)實(shí)驗(yàn),即使用VSS構(gòu)建項(xiàng)目配置環(huán)境。
第5章介紹功能測(cè)試工具WinRunner。通過(guò)學(xué)習(xí)本章,學(xué)生應(yīng)熟悉軟件測(cè)試的測(cè)試任務(wù)、測(cè)試原理、常用測(cè)試策略、測(cè)試方法和測(cè)試技術(shù);熟悉一些特定應(yīng)用系統(tǒng)軟件(面向?qū)ο筌浖、人機(jī)界面軟件、分布式軟件、實(shí)時(shí)系統(tǒng)軟件)的測(cè)試要點(diǎn);了解軟件自動(dòng)化測(cè)試的原理和方法;了解自動(dòng)測(cè)試工具的類(lèi)型、測(cè)試步驟和自動(dòng)測(cè)試用例設(shè)計(jì)基礎(chǔ);了解測(cè)試自動(dòng)化的優(yōu)點(diǎn)和限制;掌握WinRunner功能測(cè)試工具的基本使用方法;使用WinRunner測(cè)試一個(gè)小軟件并學(xué)習(xí)同步點(diǎn)測(cè)試;使用WinRunner進(jìn)行多項(xiàng)數(shù)據(jù)驅(qū)動(dòng)測(cè)試;了解WinRunner檢查點(diǎn)測(cè)試;了解手工和自動(dòng)合并腳本文件。本章安排了9個(gè)實(shí)驗(yàn),內(nèi)容涵蓋錄制腳本、學(xué)習(xí)GUI對(duì)象、同步點(diǎn)測(cè)試、數(shù)據(jù)驅(qū)動(dòng)測(cè)試、GUI對(duì)象檢查點(diǎn)、圖像檢查點(diǎn)、文字檢查點(diǎn)和批處理測(cè)試等。
第6章介紹性能測(cè)試工具LoadRunner。通過(guò)學(xué)習(xí)本章,學(xué)生應(yīng)了解如何定義性能測(cè)試要求,例如并發(fā)用戶的數(shù)量、典型業(yè)務(wù)流程和所需響應(yīng)時(shí)間;學(xué)會(huì)創(chuàng)建Vuser腳本,將最終用戶活動(dòng)捕獲到自動(dòng)腳本中;使用 LoadRunner Controller設(shè)置測(cè)試環(huán)境和定義場(chǎng)景;通過(guò)LoadRunner Controller驅(qū)動(dòng)和管理測(cè)試場(chǎng)景;通過(guò)LoadRunner Controller 監(jiān)控測(cè)試場(chǎng)景;使用LoadRunner Analysis創(chuàng)建圖和報(bào)告并評(píng)估性能;使用LoadRunner聯(lián)機(jī)圖,指定場(chǎng)景執(zhí)行期間Controller將監(jiān)控的計(jì)算機(jī),并查看監(jiān)控器收集的數(shù)據(jù);了解在場(chǎng)景執(zhí)行期間如何監(jiān)控資源,確定特定計(jì)算機(jī)上出現(xiàn)瓶頸的原因;學(xué)會(huì)使用LoadRunner的服務(wù)器資源監(jiān)控器,跟蹤場(chǎng)景執(zhí)行期間使用的資源等。本章安排了8個(gè)實(shí)驗(yàn),包括錄制腳本、腳本回放、增強(qiáng)腳本、內(nèi)容檢查、場(chǎng)景設(shè)置、運(yùn)行場(chǎng)景和結(jié)果分析等。
第7章介紹單元測(cè)試工具JUnit。通過(guò)學(xué)習(xí)本章,學(xué)生應(yīng)理解JUnit的目的、概念和設(shè)計(jì)模式;學(xué)會(huì)在Eclipse環(huán)境中加載Junit;了解Junit的測(cè)試原理和測(cè)試框架;掌握J(rèn)unit的測(cè)試方法和過(guò)程。本章安排了1個(gè)實(shí)驗(yàn),即類(lèi)的測(cè)試。
第8章介紹代碼測(cè)試工具PurifyPlus。通過(guò)學(xué)習(xí)本章,學(xué)生應(yīng)學(xué)會(huì)使用PureCoverage檢測(cè)代碼覆蓋程度,自動(dòng)檢測(cè)測(cè)試完整性和那些無(wú)法達(dá)到的部分;學(xué)會(huì)使用Purify檢測(cè)內(nèi)存錯(cuò)誤和內(nèi)存泄漏,以確保整個(gè)應(yīng)用程序的質(zhì)量和可靠性;學(xué)會(huì)使用Quantify檢測(cè)代碼性能瓶頸,自動(dòng)檢測(cè)出影響程序段執(zhí)行速度的瓶頸,獲取參數(shù)分析表;學(xué)會(huì)利用PurifyPlus強(qiáng)有力的數(shù)據(jù)收集和分析能力,最大化地利用測(cè)試生成的數(shù)據(jù),更好地輔助測(cè)試人員進(jìn)行決策。本章安排了6個(gè)實(shí)驗(yàn),內(nèi)容涵蓋PureCoverage單元測(cè)試、Purify單元測(cè)試、Quantify單元測(cè)試、精確粒度數(shù)據(jù)采集、可定制過(guò)濾器的生成和數(shù)據(jù)的合并與比較等。
第9章介紹測(cè)試管理工具TestDirector。通過(guò)學(xué)習(xí)本章,學(xué)生應(yīng)了解測(cè)試管理的概念和目的;了解測(cè)試項(xiàng)目環(huán)境的構(gòu)建、用戶添加和授權(quán);掌握測(cè)試需求定義、計(jì)劃測(cè)試、定義測(cè)試和執(zhí)行測(cè)試。本章安排了5個(gè)實(shí)驗(yàn),內(nèi)容涵蓋創(chuàng)建測(cè)試項(xiàng)目、定制測(cè)試項(xiàng)目、創(chuàng)建項(xiàng)目需求大綱、創(chuàng)建測(cè)試集合和執(zhí)行測(cè)試。
第10章介紹軟件項(xiàng)目管理工具M(jìn)icrosoft Project。通過(guò)學(xué)習(xí)本章,學(xué)生應(yīng)了解IT項(xiàng)目管理的基本概念、意義和作用;熟悉項(xiàng)目管理的核心思想和基本知識(shí);掌握項(xiàng)目管理軟件Microsoft Project的功能、用途和基本操作。本章安排了1個(gè)實(shí)驗(yàn),即構(gòu)建項(xiàng)目計(jì)劃。
實(shí)驗(yàn)安排本書(shū)適合作為高等院校軟件工程課程的實(shí)驗(yàn)輔助教材,也可以作為獨(dú)立開(kāi)設(shè)的軟件工程學(xué)實(shí)驗(yàn)課程的教材。本書(shū)實(shí)驗(yàn)內(nèi)容的基本概念來(lái)自軟件工程課程,應(yīng)與之結(jié)合學(xué)習(xí)。本書(shū)內(nèi)容結(jié)構(gòu)合理,章節(jié)組織有特色,應(yīng)用指導(dǎo)性強(qiáng),在實(shí)施過(guò)程中可以結(jié)合一些應(yīng)用實(shí)例,以達(dá)到更好的教學(xué)效果。
本實(shí)驗(yàn)教程的47個(gè)實(shí)驗(yàn)可以根據(jù)課時(shí)需要任意組合,建議總課時(shí)為32課時(shí)。對(duì)于初級(jí)教學(xué)目標(biāo),可選每個(gè)工具的基本實(shí)驗(yàn),共計(jì)36個(gè)實(shí)驗(yàn),總計(jì)18課時(shí)。對(duì)于課時(shí)緊張的情況,我們?cè)诿總(gè)實(shí)驗(yàn)中安排了基本實(shí)例和綜合應(yīng)用,教師可以靈活選用。
本書(shū)第1~5章由竇萬(wàn)峰編寫(xiě),第6章由蔣鎖良編寫(xiě),第7~8章由潘媛媛和竇萬(wàn)峰編寫(xiě),第8章由楊俊編寫(xiě),第9~10章由湯傲和竇萬(wàn)峰編寫(xiě)。全書(shū)由竇萬(wàn)峰統(tǒng)稿,由潘媛媛和湯傲校對(duì)。
限于編者水平,書(shū)中難免有疏漏和不當(dāng)之處,敬請(qǐng)廣大讀者不吝賜教。
編者2016年10月