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