《軟件工程》第13章軟件開發(fā)工具與環(huán)境課件_第1頁
《軟件工程》第13章軟件開發(fā)工具與環(huán)境課件_第2頁
《軟件工程》第13章軟件開發(fā)工具與環(huán)境課件_第3頁
《軟件工程》第13章軟件開發(fā)工具與環(huán)境課件_第4頁
《軟件工程》第13章軟件開發(fā)工具與環(huán)境課件_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第十三章軟件開發(fā)工具與環(huán)境第十三章軟件開發(fā)工具與環(huán)境【本章引言】早期的開發(fā)工具主要用來輔助程序員編程,而隨著軟件的不斷改進,各種功能強大的開發(fā)工具應(yīng)運而生。除了能夠輔助編程外,還具有支持需求分析、設(shè)計、測試、維護和項目管理等功能。軟件開發(fā)工具與開發(fā)方法的結(jié)合,再加上相應(yīng)的軟硬件支持就形成了環(huán)境?!颈菊轮攸c】常用開發(fā)工具的功能;CASE工具功能【教學(xué)內(nèi)容】13.1軟件開發(fā)工具13.2軟件工程環(huán)境13.3CASE技術(shù)13.4小結(jié)13.5習(xí)題13.1軟件開發(fā)工具軟件開發(fā)工具是指為支持計算機軟件的開發(fā)、維護、模擬、移植或管理而研制的程序系統(tǒng)。開發(fā)軟件工具的目的是為了提高軟件生產(chǎn)率和改進軟件的質(zhì)量。13.1.1軟件開發(fā)工具的功能1.軟件開發(fā)工具的分類早期人們?yōu)樘岣哕浖到y(tǒng)的開發(fā)效率,研制了許多獨立的軟件開發(fā)工具,如編輯工具、編譯工具、組裝工具、調(diào)試工具和測試工具等。通常,在使用一個工具之后,為使用另一工具必須從前一工具退出,然后才能進入另一工具,工具之間幾乎沒有任何聯(lián)系。而事實上,軟件系統(tǒng)開發(fā)的整個過程使緊密相聯(lián)的,整個生命周期的各個階段都有緊密的關(guān)系?,F(xiàn)在的軟件開發(fā)工具擁有了更多的功能,各個工具之間都有相互聯(lián)系。2.軟件開發(fā)工具的功能無論使哪種軟件開發(fā)工具,都具備一定的功能,這些功能都以項目滿足軟件工程的需要為目的。軟件開發(fā)工具應(yīng)具有以下功能:描述客觀系統(tǒng)存儲和管理開發(fā)過程中的信息代碼的編寫或生成文檔的編制或生成軟件工程管理表達能力或描述能力保持信息一致性的能力使用的方便程度工具的可靠程度對硬件和軟件環(huán)境的要求應(yīng)當盡量降低13.1.2常用軟件開發(fā)工具介紹

1.建模工具

(1)IBMRationalRose IBMRationalRose在軟件工程領(lǐng)域被公認為UML建模工具的最佳產(chǎn)品。RationalRose是一個完全的、具有能滿足所有建模環(huán)境(包括Web開發(fā)、數(shù)據(jù)庫建模、各種開發(fā)工具和語言)需求能力和靈活性的一套方案。RationalRose允許系統(tǒng)開發(fā)人員、系統(tǒng)管理人員和系統(tǒng)分析人員在軟件的各個開發(fā)周期內(nèi)建立系統(tǒng)需求和系統(tǒng)體系架構(gòu)的可視化模型,并且能夠?qū)⑦@些需求和系統(tǒng)體系架構(gòu)可視化模型轉(zhuǎn)換成代碼,幫助系統(tǒng)開發(fā)。RationalRose是一個獨立的工具,通過應(yīng)用程序接口(API)層與市場主導(dǎo)的各種IDE結(jié)合來支持各種編程語言和其它的實現(xiàn)技術(shù)。它有如下功能:提供基本的繪圖功能。RationalRose提供了眾多的繪圖元素,是一個完全支持UML的工具。不僅對UML的各種圖中的元素的選擇、放置、連接以及定義提供了卓越的機制,還提供了用于支持和輔助建模人員繪制正確的圖機制。同時提供了對UML的各種圖的布局設(shè)計的支持,包括允許建模人員重新排列各種元素,并且自動重新排列那些表示消息的直線,以便后者互不交錯。功能強大的瀏覽器,用于查看模型和查找可重用的構(gòu)件。提供模型庫,這個模型庫相當于一個數(shù)據(jù)庫,該數(shù)據(jù)庫中包含模型中使用的各種元素的信息。RationalRose通用模型庫提供了一個包含來自所有的全部信息的模型庫,并且該模型庫使通用工具能夠進行文檔化和重用。可定制的目標庫或編碼指南的代碼生成機制。可以針對不同類型的目標語言生成IBMRationalRose通常與Rational產(chǎn)品家族的其它軟件配合使用。Rational軟件工具可以在Windows、UNIX、Linux和大型機平臺上使用,并且可以支持絕大多數(shù)語言、IDE和操作環(huán)境,其中包括:Java、C、C++、C#、VisualBasic.NET、COM、DCOM、CORBA以及100多個針對實時、嵌入式系統(tǒng)開發(fā)人員的開發(fā)環(huán)境和最新的Internet/Web服務(wù)標準。(2)TogetherBorland軟件公司推出的BorlandTogetherDesignerCommunityEdition(簡稱Together)是一個與平臺、語言和IDE無關(guān)的建模工具,主要功能與特性如下:支持所有的UML圖形。Together支持UML2.0和UML1.2的所有圖形,可以將模型以XML規(guī)范的方式導(dǎo)出。能自動進行模型與代碼的同步。Together的LiveSource技術(shù)能夠做到模型與代碼的自動同步,使開發(fā)人員擺脫了某些CASE工具需要手工去做這些同步的煩惱。另外,由于源代碼與模型是實時同步的,軟件重構(gòu)既可以在代碼中進行,也可以在模型圖中進行。自動生成文檔。Together具有強大的文檔生成能力,并且支持文檔模板定制,從而使開發(fā)人員可以將更多的精力集中到分析和設(shè)計上。廣泛的模式支持。Together支持業(yè)界常用的模式,如J2EE模式等,并可以讓開發(fā)人員定制自己的模式,從而使模式的復(fù)用成為現(xiàn)實,這將極大提高項目的架構(gòu)質(zhì)量。重構(gòu)、測試、審計和度量。Together支持多種重構(gòu)技巧,并具有強大的測試框架生成能力,可以在一個集成開發(fā)環(huán)境下完成重構(gòu)所需要的步驟。Together結(jié)合使用審計、度量和重構(gòu),可以使重構(gòu)工作更見成效。支持團隊合作,支持與其它CASE工具的集成。2.設(shè)計工具(1)IBMRationalSoftwareArchitect在一個開發(fā)團隊中,軟件架構(gòu)師和高級開發(fā)人員要負責確定和維護應(yīng)用程序架構(gòu)的各個方面。他們需要功能強大、易于配置的工具來管理當今應(yīng)用程序的復(fù)雜性。IBMRationalSoftwareArchitect是一種集成的設(shè)計和開發(fā)工具,通過使用基于UML的模型驅(qū)動的開發(fā),來創(chuàng)建結(jié)構(gòu)更為合理的應(yīng)用程序和服務(wù)。借助于RationalSoftwareArchitect,可以將軟件設(shè)計和開發(fā)的各個方面統(tǒng)一起來:開發(fā)應(yīng)用程序時比以前更加得心應(yīng)手、卓有成效。利用建模語言技術(shù)中的最新成果。檢查和控制各種應(yīng)用程序的結(jié)構(gòu)。利用開放的和可擴展的建模平臺。簡化設(shè)計和開發(fā)工具解決方案。與生命周期中的其它方面進行整合。PowerDesigner包含6個緊密集成的模塊,允許開發(fā)機構(gòu)根據(jù)其實際需求靈活選用。下面是這6個模塊的功能。1)PowerDesignerProcessAnalyst。用于數(shù)據(jù)分析或數(shù)據(jù)發(fā)現(xiàn)。ProcessAnalyst可以用一種非常自然的方式描述數(shù)據(jù)項,從而能夠描述復(fù)雜的處理模型以反映它們的數(shù)據(jù)庫模型。2)PowerDesignerDataArchitect。用于數(shù)據(jù)庫的概念層和物理層設(shè)計和數(shù)據(jù)庫構(gòu)建。DataArchitect提供概念數(shù)據(jù)模型設(shè)計、自動的物理數(shù)據(jù)模型生成、非規(guī)范化的物理設(shè)計、針對多種DBMS的數(shù)據(jù)庫生成,支持開發(fā)工具和高質(zhì)量的文檔特性。3)PowerDesignerAppModeler。用于物理數(shù)據(jù)庫的設(shè)計、應(yīng)用對象以及與數(shù)據(jù)密切相關(guān)的構(gòu)件的生成。通過提供完整的物理建模能力以及利用相關(guān)模型進行開發(fā)的能力,AppModeler允許開發(fā)人員針對先進的開發(fā)環(huán)境(不僅包括Sybase本公司的產(chǎn)品PowerBuilder,還包括Microsoft的VisualStudio)快速地生成應(yīng)用對象和構(gòu)件。AppModeler還可以生成用于創(chuàng)建數(shù)據(jù)驅(qū)動的Web站點的構(gòu)件,使開發(fā)人員和設(shè)計人員可以從一個DBMS發(fā)布“動態(tài)”的數(shù)據(jù)。4)PowerDesignerMetaWorks。通過模型共享以及支持高級團隊工作的能力,MetaWorks提供了所有模型對象的一個全局的層次結(jié)構(gòu)的瀏覽視圖,以確保其貫穿于整個開發(fā)周期的一致性。5)PowerDesignerWarehouseArchitect。用于數(shù)據(jù)倉庫和數(shù)據(jù)集市的建模和實現(xiàn)。WarehouseArchitect提供了針對所有主要傳統(tǒng)DBMS(如Sybase、Oracle、Informix和DB2)以及數(shù)據(jù)倉庫特定的DBMS(如RedBrickWarehouse和ASIQ)的完全的倉庫處理支持。6)PowerDesignerViewer。用于以只讀的、圖形化的方式訪問模型和源數(shù)據(jù)信息。Viewer提供了對PowerDesigner所有模型(包括概念模型、物理模型和倉庫模型)信息的只讀訪問。3.編程工具(1)VisualStudio.NETVisualStudio.NET使Microsoft為解決當今最具挑戰(zhàn)性的軟件開發(fā)需要而推出的新一代開發(fā)工具,用于設(shè)計、開發(fā)、調(diào)試和部署功能強大而安全的連接Microsoft.NET的軟件。VisualStudio.NET所提供的開發(fā)工具主要包括:可視化的窗體、網(wǎng)頁設(shè)計器:支持以拖動方式生成控件,同時提供源碼查看視圖。智能化的代碼編輯器:支持語句自動完成、語法檢查等功能。集成編譯、調(diào)試功能。項目管理功能:生成并管理應(yīng)用程序文件,并可將應(yīng)用程序安裝到遠程服務(wù)器上。VisualStudio.NET支持C++、VB、C#和J#等編程語言,開發(fā)人員可以使用VisualStudio.NET完成以下工作:構(gòu)建功能強大而且響應(yīng)能力極好的基于Windows的應(yīng)用程序。構(gòu)建功能強大而且響應(yīng)能力極好的PocketPC應(yīng)用程序。構(gòu)建完善而安全的Web應(yīng)用程序。構(gòu)建對設(shè)備有智能感知能力的完善而安全的移動Web應(yīng)用程序。在以上任何一種應(yīng)用程序中使用XMLWebServices。避免“DLL災(zāi)難”。消除代價高昂的應(yīng)用程序部署和維護問題。JBuilder開發(fā)環(huán)境可讓開發(fā)人員使用從設(shè)計、編程、調(diào)試與測試直到分發(fā)與管理的應(yīng)用程序生命周期的全部階段。Jbuilder企業(yè)版包括了BorlandOptimizeitSuite性能套件工具,用以在整個開發(fā)過程中確保開發(fā)質(zhì)量與產(chǎn)品質(zhì)量。與Borland的Java應(yīng)用程序生命周期解決方案中其它工具的無縫集成,可以使開發(fā)小組專注于開發(fā)更好的應(yīng)用程序,而不必考慮各種工具如何協(xié)同工作。JBuilder與BorlandTogether建模技術(shù)的結(jié)合,有助于Jbuilder用戶更好地理解代碼結(jié)構(gòu),管理項目的復(fù)雜程度。JBuilder與BorlandStarTeam自動化配置變更管理系統(tǒng)協(xié)同工作,可以在全部開發(fā)周期中提高對項目的掌握程度。JBuilder也與其它業(yè)界領(lǐng)先的版本控制系統(tǒng)與部署發(fā)布平臺系統(tǒng)集成在一起,提供了平臺的靈活性與選擇方面的便利。JBuilder集成開發(fā)環(huán)境降低了Java程序的開發(fā)難度,同時能夠幫助Java程序開發(fā)人員提高Java語言的編程水平,從而確保Java開發(fā)任務(wù)能夠快速高效地完成,并且保證開發(fā)項目的質(zhì)量和性能。JBuilder提供了強大的Web應(yīng)用程序開發(fā)支持能力,包括一個針對ApacheStruts開發(fā)框架的標準可視化設(shè)計器,以及對通用開放源代碼應(yīng)用服務(wù)器Jboss的全面支持。通過基于Swing的JavaOpenTools應(yīng)用編程接口,JBuilder能夠方便地進行擴展。JBuilder和上百個由第三方提供地可重復(fù)使用地組件和插件一起發(fā)布,提供給開發(fā)人員更多地附加價值。和JBuilder一起發(fā)布插件的公司包括Altova、CrystalDecisions、Oracle、Sun和Sybase等。JBuilder有如下主要特性:

(1)優(yōu)異的J2EE開發(fā)環(huán)境JBuilder提供了對J2EE核心技術(shù)EJB2.0的支持,并通過可視化的EJBEsigner設(shè)計器,可以高效地建立可重復(fù)使用的EJB。它還支持多種J2EE應(yīng)用服務(wù)器,包括BEAWebLogic、IBMWebSphere、SunONE、Oracle、SybaseEAServer、JBoss和集成的BorlandEnterpriseServer等,并可以在不用停止服務(wù)器的情況下進行本機或遠端的EJB執(zhí)行。

(2)高效的Web服務(wù)開發(fā)環(huán)境在開發(fā)分布式業(yè)務(wù)應(yīng)用程序和其它較大的應(yīng)用程序時,JBuilder的優(yōu)越性表現(xiàn)得尤為突出。通過簡單得鼠標拖放就能夠快捷地創(chuàng)建、驗證、輸入和輸出Web服務(wù)。這使得使用、創(chuàng)建和管理多個Web服務(wù)任務(wù)時更加高效快捷。JBuilder支持最新得Web服務(wù)技術(shù),包括SOAP、WSDL、UDDI和WSIL等。(3)EclipseEclipse是一個開放源代碼的、基于Java的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。Eclipse附帶了一個標準的插件集,包括Java開發(fā)工具(JavaDevelopmentTools,JDT)。Eclipse最初是由IBM公司開發(fā)的替代商業(yè)軟件VisualAgeforJava的下一代IDE開發(fā)環(huán)境,2001年11月貢獻給開源社區(qū),現(xiàn)在它由非營利軟件供應(yīng)商聯(lián)盟Eclipse基金會(EclipseFoundation)管理。2003年,Eclipse3.0選擇OSGi服務(wù)平臺規(guī)范為運行時架構(gòu)。2007年6月,穩(wěn)定版3.3發(fā)布。2008年6月發(fā)布代號為Ganymede的3.4版。Eclipse是著名的跨平臺的自由集成開發(fā)環(huán)境(IDE)。最初主要用來Java語言開發(fā),但是目前亦有人通過插件使其作為其他計算機語言比如C++和Python的開發(fā)工具。Eclipse的本身只是一個框架平臺,但是眾多插件的支持使得Eclipse擁有其他功能相對固定的IDE軟件很難具有的靈活性。許多軟件開發(fā)商以Eclipse為框架開發(fā)自己的IDE。Eclipse最初由OTI和IBM兩家公司的IDE產(chǎn)品開發(fā)組創(chuàng)建,起始于1999年4月。IBM提供了最初的Eclipse代碼基礎(chǔ),包括Platform、JDT和PDE。目前由IBM牽頭,圍繞著Eclipse項目已經(jīng)發(fā)展成為了一個龐大的Eclipse聯(lián)盟,有150多家軟件公司參與到Eclipse項目中,其中包括Borland、RationalSoftware、RedHat及Sybase等。Eclipse是一個開發(fā)源碼項目,它其實是VisualAgeforJava的替代品,其界面跟先前的VisualAgeforJava差不多,但由于其開放源碼,任何人都可以免費得到,并可以在此基礎(chǔ)上開發(fā)各自的插件,因此越來越受人們關(guān)注。近期還有包括Oracle在內(nèi)的許多大公司也紛紛加入了該項目,并宣稱Eclipse將來能成為可進行任何語言開發(fā)的IDE集大成者,使用者只需下載各種語言的插件即可。EclipseSDK(軟件開發(fā)者包)是EclipsePlatform、JDT和PDE所生產(chǎn)的組件合并,它們可以一次下載。這些部分在一起提供了一個具有豐富特性的開發(fā)環(huán)境,允許開發(fā)者有效地建造可以無縫集成到EclipsePlatform中的工具。EclipseSDK由Eclipse項目生產(chǎn)的工具和來自其它開放源代碼的第三方軟件組合而成。Eclipse項目生產(chǎn)的軟件以CPL發(fā)布,第三方組件有各自自身的許可協(xié)議。4.測試工具(1)WinRunnerMercuryInteractive公司的WinRunner是一種企業(yè)級的功能測試工具,用于檢測應(yīng)用程序是否能夠達到預(yù)期的功能及正常運行。通過自動錄制、檢測和回放用戶的應(yīng)用操作,WinRunner能夠有效地幫助測試人員對復(fù)雜的企業(yè)級應(yīng)用的不同發(fā)布版進行測試,提高測試人員的工作效率和質(zhì)量,確保跨平臺的、復(fù)雜的企業(yè)級應(yīng)用無故障發(fā)布及長期穩(wěn)定運行。WinRunner具有如下特點:1)輕松創(chuàng)建測試。用WinRuuner創(chuàng)建一個測試,只需點擊鼠標和鍵盤,完成一個標準的業(yè)務(wù)操作流程,WinRunner自動記錄你的操作并生成所需的腳本代碼。這樣,即使計算機技術(shù)知識有限的業(yè)務(wù)用戶輕松創(chuàng)建完整的測試。你還可以直接修改測試腳本以滿足各種復(fù)雜測試的需求。WinRunner提供這兩種測試創(chuàng)建方式,滿足測試團隊中業(yè)務(wù)用戶和專業(yè)技術(shù)人員的不同需求。2)插入檢查點。在記錄一個測試的過程中,可以插入檢查點,檢查在某個時刻/狀態(tài)下,應(yīng)用程序是否運行正常。在插入檢查點后,WinRunner會收集一套數(shù)據(jù)指標,在測試運行時對其一一驗證。WinRunner提供幾種不同類型的檢查點,包括文本的、GUI、位圖和數(shù)據(jù)庫。例如,用一個位圖檢查點,你可以檢查公司的圖標是否出現(xiàn)于指定位置。3)檢驗數(shù)據(jù)。除了創(chuàng)建并運行測試,WinRunner還能驗證數(shù)據(jù)庫的數(shù)值,從而確保業(yè)務(wù)交易的準確性。例如,在創(chuàng)建測試時,可以設(shè)定哪些數(shù)據(jù)庫表和記錄需要檢測;在測試運行時,測試程序就會自動核對數(shù)據(jù)庫內(nèi)的實際數(shù)值和預(yù)期的數(shù)值。WinRunner自動顯示檢測結(jié)果,在有更新/刪除/插入的記錄上突出顯示以引起注意。4)增強測試。為了徹底全面地測試一個應(yīng)用程序,需要使用不同類型的數(shù)據(jù)來測試。WinRunner的數(shù)據(jù)驅(qū)動向?qū)?DataDriverWizard)可以讓你簡單地點擊幾下鼠標,就可以把一個業(yè)務(wù)流程測試轉(zhuǎn)化為數(shù)據(jù)驅(qū)動測試,從而反映多個用戶各自獨特且真實的行為。以一個訂單輸入的流程為例,你可能希望把訂單號或客戶名稱作為可變欄,用多套數(shù)據(jù)進行測試。使用DataDriverWizard,你可以選擇訂單號或客戶名稱用數(shù)據(jù)表格文件中的哪個欄目的數(shù)據(jù)替換。你可以把訂單號或客戶名稱輸入數(shù)據(jù)表格文件,或從其它表格和數(shù)據(jù)庫中導(dǎo)入。數(shù)據(jù)驅(qū)動測試不僅節(jié)省了時間和資源,又提高了應(yīng)用的測試覆蓋率。WinRunner還可以通過FunctionGenerator增加測試的功能。使用FunctionGenerator可以從目錄列表中選擇一個功能增加到你的測試中以提高測試能力。5)運行測試。創(chuàng)建好測試腳本,并插入檢查點和必要的添加功能后,你就可以開始運行測試。運行測試時,WinRunner會自動操作應(yīng)用程序,就象一個真實的用戶根據(jù)業(yè)務(wù)流程執(zhí)行著每一步的操作。測試運行過程中,如有網(wǎng)絡(luò)消息窗口出現(xiàn)或其它意外事件出現(xiàn),WinRunner也會根據(jù)預(yù)先的設(shè)定排除這些干擾。6)分析結(jié)果。測試運行結(jié)束后,你需要分析測試結(jié)果。WinRunner通過交互式的報告工具來提供詳盡的、易讀的報告。報告中會列出測試中發(fā)現(xiàn)的錯誤內(nèi)容、位置、檢查點和其它重要事件,幫助你對測試結(jié)果進行分析。這些測試結(jié)果還可以通過MercuryInteractive的測試管理工具TestDirector來查閱。7)維護測試。隨著時間的推移,開發(fā)人員會對應(yīng)用程序做進一步的修改,并需要增加另外的測試。使用WinRunner,你不必對程序的每一次改動都重新創(chuàng)建你的測試。WinRunner可以創(chuàng)建在整個應(yīng)用程序生命周期內(nèi)都可以重復(fù)使用的測試,從而大大地節(jié)省時間和資源,充分利用你的測試投資。每次記錄測試時,WinRunner會自動創(chuàng)建一個GUIMap文件以保存應(yīng)用對象。這些對象分層次組織,既可以總覽所有的對象,也可以查詢某個對象的詳細信息。一般而言,對應(yīng)用程序的任何改動都會影響到成百上千個測試。通過修改一個GUIMap文件而非無數(shù)個測試,WinRunner可以方便地實現(xiàn)測試重用。(2)LoadRunnerMercuryInteractive公司的LoadRunner是一種預(yù)測系統(tǒng)行為和性能的負載測試工具。通過以模擬上千萬用戶實施并發(fā)負載及實時性能監(jiān)測的方式來確認和查找問題,LoadRunner能夠?qū)φ麄€企業(yè)架構(gòu)進行測試。通過使用LoadRunner,企業(yè)能最大限度地縮短測試時間,優(yōu)化性能和加速應(yīng)用系統(tǒng)的發(fā)布周期。LoadRunner是一種適用于各種體系架構(gòu)的自動負載測試工具,它能預(yù)測系統(tǒng)行為并優(yōu)化系統(tǒng)性能。LoadRunner的測試對象是整個企業(yè)的系統(tǒng),它通過模擬實際用戶的操作行為和實行實時性能監(jiān)測,來幫助您更快的查找和發(fā)現(xiàn)問題。此外,LoadRunner能支持廣泛的協(xié)議和技術(shù),為您的特殊環(huán)境提供特殊的解決方案。LoadRunner具有如下功能:1)輕松創(chuàng)建虛擬用戶使用LoadRunner的VirtualUserGenerator,能夠很簡便地創(chuàng)立起系統(tǒng)負載。該引擎能夠生成虛擬用戶,以虛擬用戶的方式模擬真實用戶的業(yè)務(wù)操作行為。它先記錄下業(yè)務(wù)流程(如下訂單或機票預(yù)定),然后將其轉(zhuǎn)化為測試腳本。利用虛擬用戶,可以在Windows,UNIX或Linux機器上同時產(chǎn)生成千上萬個用戶訪問。所以LoadRunner能極大的減少負載測試所需的硬件和人力資源。用VirtualUserGenerator建立測試腳本后,您可以對其進行參數(shù)化操作,這一操作能讓您利用幾套不同的實際發(fā)生數(shù)據(jù)來測試您的應(yīng)用程序,從而反映出本系統(tǒng)的負載能力。以一個訂單輸入過程為例,參數(shù)化操作可將記錄中的固定數(shù)據(jù),如訂單號和客戶名稱,由可變值來代替。在這些變量內(nèi)隨意輸入可能的訂單號和客戶名,來匹配多個實際用戶的操作行為。為了進一步確定您的Virtualuser能夠模擬真實用戶,您可利用LoadRunner控制某些行為特性。例如,只需要點擊一下鼠標,就能輕易控制交易的數(shù)量,交易頻率,用戶的思考時間和連接速度等。2)創(chuàng)建真實的負載Virtualusers建立起后,您需要設(shè)定您的負載方案,業(yè)務(wù)流程組合和虛擬用戶數(shù)量。用LoadRunner的Controller,您能很快組織起多用戶的測試方案。Controller的Rendezvous功能提供一個互動的環(huán)境,在其中您既能建立起持續(xù)且循環(huán)的負載,又能管理和驅(qū)動負載測試方案。而且,可以利用它的日程計劃服務(wù)來定義用戶在什么時候訪問系統(tǒng)以產(chǎn)生負載。這樣,就能將測試過程自動化。同樣還可以用Controller來限定您的負載方案,在這個方案中所有的用戶同時執(zhí)行一個動作(如登陸到一個庫存應(yīng)用程序)來模擬峰值負載的情況。另外,還能監(jiān)測系統(tǒng)架構(gòu)中各個組件的性能(包括服務(wù)器,數(shù)據(jù)庫,網(wǎng)絡(luò)設(shè)備等)來幫助客戶決定系統(tǒng)的配置。3)定位性能問題LoadRunner內(nèi)含集成的實時監(jiān)測器,在負載測試過程的任何時候,可以觀察到應(yīng)用系統(tǒng)的運行性能。這些性能監(jiān)測器實時顯示交易性能數(shù)據(jù)(如響應(yīng)時間)和其它系統(tǒng)組件包括applicationserver,webserver,網(wǎng)絡(luò)設(shè)備和數(shù)據(jù)庫等的實時性能。這樣,可以在測試過程中從客戶和服務(wù)器的雙方面評估這些系統(tǒng)組件的運行性能,從而更快地發(fā)現(xiàn)問題。利用LoadRunner的ContentCheck,可以判斷負載下的應(yīng)用程序功能正常與否。ContentCheck在Virtualusers運行時,檢測應(yīng)用程序的網(wǎng)絡(luò)數(shù)據(jù)包內(nèi)容,從中確定是否有錯誤內(nèi)容傳送出去。它的實時瀏覽器幫助您從終端用戶角度觀察程序性能狀況。4)分析結(jié)果以精確定位問題所在當測試完畢后,LoadRunner收集匯總所有的測試數(shù)據(jù),并提供高級的分析和報告工具,以便迅速查找到性能問題并追溯原由。使用LoadRunner的Web交易細節(jié)監(jiān)測器,可以了解到將所有的圖象、框架和文本下載到每一網(wǎng)頁上所需的時間。例如,這個交易細節(jié)分析機制能夠分析是否因為一個大尺寸的圖形文件或是第三方的數(shù)據(jù)組件造成應(yīng)用系統(tǒng)運行速度減慢。另外,Web交易細節(jié)監(jiān)測器分解用于客戶端、網(wǎng)絡(luò)和服務(wù)器上端到端的反應(yīng)時間,便于確認問題,定位查找真正出錯的組件。例如,可以將網(wǎng)絡(luò)延時進行分解,以判斷DNS解析時間,連接服務(wù)器或SSL認證所花費的時間。通過使用LoadRunner的分析工具,可以很快地查找到出錯的位置和原因并作出相應(yīng)的調(diào)整。5)重復(fù)測試保證系統(tǒng)發(fā)布的高性能負載測試是一個重復(fù)過程。每次處理完一個出錯情況,您都需要對您的應(yīng)用程序在相同的方案下,再進行一次負載測試。以此檢驗?zāi)龅男拚欠窀纳屏诉\行性能。LoadRunner完全支持EJB的負載測試。這些基于Java的組件運行在應(yīng)用服務(wù)器上,提供廣泛的應(yīng)用服務(wù)。通過測試這些組件,您可以在應(yīng)用程序開發(fā)的早期就確認并解決可能產(chǎn)生的問題。利用LoadRunner,可以很方便地了解系統(tǒng)的性能。它的Controller允許重復(fù)執(zhí)行與出錯修改前相同的測試方案。它的基于HTML的報告提供了一個比較性能結(jié)果所需的基準,以此衡量在一段時間內(nèi),有多大程度的改進并確保應(yīng)用成功。由于這些報告是基于HTML的文本,測試員可以將其公布于測試公司的內(nèi)部網(wǎng)上,便于隨時查閱。13.2軟件工程環(huán)境13.2.1軟件工程環(huán)境的概念從軟件工程學(xué)的范疇來看,軟件開發(fā)技術(shù)主要包含軟件開發(fā)方法學(xué)、軟件工具和軟件工程環(huán)境三方面的內(nèi)容,軟件工程環(huán)境是軟件開發(fā)技術(shù)的重要組成部分。開發(fā)方法的研究與實現(xiàn)會促進軟件開發(fā)技術(shù)的發(fā)展。為幫助實現(xiàn)和推行這種方法,經(jīng)常隨之開發(fā)相應(yīng)的支持工具,主要包括硬件和軟件支持工具。在學(xué)習(xí)新方法的同時也會逐步掌握相應(yīng)工具的操作。同樣人們通過工具的使用能夠更充分熟悉新方法,彼此互相促進。方法與工具的結(jié)合,再加上相應(yīng)的軟硬件的支持就形成了環(huán)境。1.軟件工程環(huán)境的概念軟件工程環(huán)境作為軟件工程學(xué)的重要組成部分,是實現(xiàn)軟件生產(chǎn)工程化的重要基礎(chǔ)。為軟件開發(fā)過程中的技術(shù)開發(fā)活動與管理活動提供重要支持。近幾十年來,軟件工程環(huán)境的研究取得了充分的發(fā)展,如CASE、集成項目支持環(huán)境(IPSE)等技術(shù)正在成為最有效的軟件開發(fā)輔助工具,一直是人們關(guān)注研究的對象,很多實用的環(huán)境應(yīng)運而生。軟件工程環(huán)境是是指支持軟件產(chǎn)品開發(fā)、維護和管理的軟件系統(tǒng),它在統(tǒng)一的集成機制下由一系列軟件工具組成。美國國防部給出了軟件工程環(huán)境另一定義:一個軟件工程環(huán)境是一組方法、過程及計算機程序的整體化構(gòu)件,它支持從需求定義、程序生成直到維護的整個軟件生命周期。這些工具對軟件開發(fā)相關(guān)的過程、活動和任務(wù)提供全面的支持,提高軟件產(chǎn)品的生產(chǎn)效率和軟件產(chǎn)品的質(zhì)量,降低軟件開發(fā)、維護和管理的成本。軟件工程環(huán)境通常都有一套包括數(shù)據(jù)集成、控制集成和界面集成的集成機制,使各個工具使用統(tǒng)一的規(guī)范訪問環(huán)境信息庫,采用統(tǒng)一的用戶界面,同時為各個工具或開發(fā)活動之間的通信、切換、調(diào)度和協(xié)同工作提供支持。軟件工具是指支持計算機軟件的開發(fā)、維護、仿真或管理而設(shè)計的程序系統(tǒng)。軟件工具的開發(fā)對軟件工程環(huán)境的支持至關(guān)重要。一般將軟件工具分為工具箱、工作臺和方法指南三種類型。(1)工具箱。能自動執(zhí)行某類軟件生存期任務(wù)的一組集成化工具,如系統(tǒng)設(shè)計、程序維護及系統(tǒng)分析等。(2)工作臺。實現(xiàn)整個軟件生存期各種任務(wù)自動化的一組集成化工具。(3)方法指南。為某種具體軟件提供相應(yīng)的輔助手段,這些方法包括結(jié)構(gòu)化分析方法、結(jié)構(gòu)化設(shè)計方法及信息工程方法等。2.軟件工程環(huán)境的分類軟件工程環(huán)境分類方式有多種。(1)按軟件開發(fā)模型及開發(fā)方法分類,有支持瀑布模型、演化模型、螺旋模型、噴泉模型以及結(jié)構(gòu)化方法、信息模型方法、面向?qū)ο蠓椒ǖ炔煌P图胺椒ǖ能浖_發(fā)環(huán)境。(2)按功能及結(jié)構(gòu)特點分類,有單體型、協(xié)同型、分散型和并發(fā)型等多種類型的軟件開發(fā)環(huán)境。(3)按應(yīng)用范圍分類,有通用型和專用型軟件開發(fā)環(huán)境。其中專用型軟件開發(fā)環(huán)境與應(yīng)用領(lǐng)域有關(guān),故又可稱為應(yīng)用型軟件開發(fā)環(huán)境。(4)按開發(fā)階段分類,有前端開發(fā)環(huán)境(支持系統(tǒng)規(guī)劃、分析、設(shè)計等階段的活動)、后端開發(fā)環(huán)境(支持編程、測試等階段的活動)、軟件維護環(huán)境和逆向工程環(huán)境等。此類環(huán)境往往可通過對功能較全的環(huán)境進行剪裁而得到。軟件開發(fā)環(huán)境由工具集和集成機制兩部分構(gòu)成,工具集和集成機制間的關(guān)系猶如“插件”和“插槽”間的關(guān)系。工具集:軟件開發(fā)環(huán)境中的工具可包括:支持特定過程模型和開發(fā)方法的工具,如支持瀑布模型及數(shù)據(jù)流方法的分析工具、設(shè)計工具、編碼工具、測試工具、維護工具,支持面向?qū)ο蠓椒ǖ腛OA工具、OOD工具和OOP工具等;獨立于模型和方法的工具,如界面輔助生成工具和文檔出版工具;亦可包括管理類工具和針對特定領(lǐng)域的應(yīng)用類工具。集成機制:對工具的集成及用戶軟件的開發(fā)、維護及管理提供統(tǒng)一的支持。按功能可劃分為環(huán)境信息庫、過程控制及消息服務(wù)器、環(huán)境用戶界面三個部分。環(huán)境信息庫:是軟件開發(fā)環(huán)境的核心,用以儲存與系統(tǒng)開發(fā)有關(guān)的信息并支持信息的交流與共享。庫中儲存兩類信息,一類是開發(fā)過程中產(chǎn)生的有關(guān)被開發(fā)系統(tǒng)的信息,如分析文檔、設(shè)計文檔、測試報告等;另一類是環(huán)境提供的支持信息,如文檔模板、系統(tǒng)配置、過程模型、可復(fù)用構(gòu)件等。過程控制和消息服務(wù)器:是實現(xiàn)過程集成及控制集成的基礎(chǔ)。過程集成是按照具體軟件開發(fā)過程的要求進行工具的選擇與組合,控制集成并行工具之間的通信和協(xié)同工作。環(huán)境用戶界面:包括環(huán)境總界面和由它實行統(tǒng)一控制的各環(huán)境部件及工具的界面。統(tǒng)一的、具有一致視感(Look&Feel)的用戶界面是軟件開發(fā)環(huán)境的重要特征,是充分發(fā)揮環(huán)境的優(yōu)越性、高效地使用工具并減輕用戶的學(xué)習(xí)負擔的保證。3.軟件工程環(huán)境的功能較完善的軟件開發(fā)環(huán)境通常具有如下功能:(1)軟件開發(fā)的一致性及完整性維護;(2)配置管理及版本控制;(3)數(shù)據(jù)的多種表示形式及其在不同形式之間自動轉(zhuǎn)換;(4)信息的自動檢索及更新;(5)項目控制和管理;(6)對方法學(xué)的支持。4.軟件工程環(huán)境的結(jié)構(gòu)軟件工程環(huán)境構(gòu)成元素有如下內(nèi)容:軟件信息數(shù)據(jù)庫。交互式的人機界面。語言工具。質(zhì)量保證工具。需求分析及設(shè)計工具。配置管理工具。13.2.2軟件開發(fā)環(huán)境的特點

下面從環(huán)境工具和用戶界面兩個方面說明軟件開發(fā)環(huán)境的特點。1.集成化的軟件工具 在早期的編程環(huán)境中,各種工具的功能與使用是相互孤立的。在程序調(diào)試過程中,如果在程序編譯過程中發(fā)現(xiàn)錯誤,要先退出編譯程序,重新調(diào)用編輯程序來修改程序,待程序修改后,再重新調(diào)用編譯程序。在程序調(diào)試中要不斷地重復(fù)這一過程,在編譯和編輯這兩種工具之間來回切換,不僅給操作帶來麻煩,而且浪費開發(fā)人員很多時間。20世紀70年代出現(xiàn)的工具箱,能部分實現(xiàn)從一個工具到另一個工具的切換。如在程序調(diào)試中,當編譯程序發(fā)現(xiàn)錯誤時,開發(fā)環(huán)境能自動調(diào)出編輯程序,并且在源程序出錯的位置發(fā)出某種信號(例如光標閃爍),提示程序員進行修改,既減少了來回切換的麻煩,又縮短了調(diào)試時間,提高了開發(fā)效率。集成化工具的使用,則比工具箱更勝一籌。它要求在同一開發(fā)階段或不同階段的有關(guān)工具之間,實現(xiàn)完全的自動切換。工具的集成化主要包括數(shù)據(jù)集成、界面集成、控制集成和過程集成、平臺等其它方面的集成。(1)數(shù)據(jù)集成。數(shù)據(jù)集成機制提供統(tǒng)一的數(shù)據(jù)模式和數(shù)據(jù)接口規(guī)范,需要相互協(xié)作的工具通過這種統(tǒng)一的模式與規(guī)范交換數(shù)據(jù)。數(shù)據(jù)集成可以有不同的層次,如共享文件、共享數(shù)據(jù)結(jié)構(gòu)和共享信息庫等。(2)界面集成。界面集成機制為統(tǒng)一的工具界面風(fēng)格和統(tǒng)一的操作方式提供支持,使得環(huán)境中的工具具有相同的視覺效果和操作規(guī)則,減少用戶為學(xué)習(xí)不同工具的使用所花費的開銷。界面集成主要體現(xiàn)在相同或相似的窗口、菜單、工具條、快捷鍵、操作規(guī)則與命令語法等。(3)控制集成??刂萍蓹C制支持各工具或各開發(fā)活動之間的通信、切換、調(diào)度和協(xié)同工作,并支持軟件開發(fā)過程的描述、執(zhí)行和轉(zhuǎn)接。通常使用消息通信機制實現(xiàn)控制集成,工具間發(fā)送的消息統(tǒng)一由消息服務(wù)器進行管理。(4)過程集成。這類開發(fā)環(huán)境了解軟件過程中各個活動的時序、約束等,能主動地調(diào)度這些活動,保持它們恰當?shù)捻樞颉?5)平臺集成。指工具運行在相同的硬件和操作系統(tǒng)下。2.友好和統(tǒng)一的用戶界面友好的用戶界面,既能為使用者帶來方便,又有助于提高操作者的效率。當今的開發(fā)環(huán)境經(jīng)常采用以下的技術(shù)來提高用戶界面的友好性。(1)具有彈出功能的多級菜單。這種菜單將環(huán)境的各種功能組織成命令樹的形式,無論是選擇當前菜單的功能,還是拉出下級菜單或返回上級菜單,都只需用鼠標單擊或簡單的鍵盤操作即可實現(xiàn)。(2)屏幕提示和在線幫助技術(shù)。屏幕提示用于提示用戶當前可選擇的操作或需要注意的事項,在線幫助根據(jù)用戶的要求,提供及時的在線幫助。(3)采用多窗口技術(shù)??稍谄聊簧想S時打開多個窗口,如編輯窗口、執(zhí)行命令窗口、對話窗口和其它窗口,以便用戶在同一時間內(nèi)處理或監(jiān)視多個不同的任務(wù)。(4)采用向?qū)Ъ夹g(shù)。把一些常用任務(wù)或動作的執(zhí)行步驟組合成一體,當用戶執(zhí)行這組任務(wù)或動作時,只要從一個入口進入,然后可按照提示選擇“上一步”、“下一步”、“取消”及“確定”操作即可。菜單、多窗口、向?qū)Ш蛶椭畔?,是用戶界面的重要?nèi)容,被稱為四大友好技術(shù)。不僅適應(yīng)于軟件開發(fā)環(huán)境,在開發(fā)應(yīng)用軟件時也多采用這些技術(shù)。13.3CASE技術(shù)

13.3.1CASE定義 計算機輔助軟件工程(CASE)的產(chǎn)生與軟件工程的發(fā)展有著緊密的關(guān)系,它是軟件工程發(fā)展到一定時期的必然產(chǎn)物。20世紀60年代后期產(chǎn)生的軟件工程完成了軟件生產(chǎn)的第一次變革――由“手工作坊”方式向“工程化”方式的轉(zhuǎn)變,而80年代后期產(chǎn)生的CASE技術(shù)則完成了軟件生產(chǎn)的第二次變革――由“工程化”方式向“自動化”方式的轉(zhuǎn)變。 CASE(ComputerAidedSoftwareEngineering,計算機輔助軟件工程)是計算機技術(shù)在系統(tǒng)開發(fā)活動、技術(shù)和方法中的應(yīng)用,是軟件工具與開發(fā)方法的結(jié)合體。使人們能在計算機的輔助下進行軟件開發(fā),為軟件開發(fā)的工程化、自動化進而智能化打下基礎(chǔ)。 CASE的目的是:使開發(fā)支持工具與開發(fā)方法學(xué)統(tǒng)一結(jié)合起來;通過實現(xiàn)分析、設(shè)計與程序開發(fā)、維護的自動化,提高軟件系統(tǒng)開發(fā)的效率和系統(tǒng)的質(zhì)量,最終實現(xiàn)系統(tǒng)開發(fā)的全面自動化。CASE的主體目標是:通過一系列集成化的軟件工具、技術(shù)和方法,使整個計算機系統(tǒng)的開發(fā)自動化。其具體目標是:提高系統(tǒng)開發(fā)效率。提高系統(tǒng)開發(fā)質(zhì)量。加速系統(tǒng)開發(fā)進程。降低系統(tǒng)開發(fā)費用。實現(xiàn)系統(tǒng)設(shè)計的逆向工程(ReverseEngineering)的自動化。自動產(chǎn)生程序代碼。自動進行錯誤的檢查和校驗。實現(xiàn)項目管理工作的自動化。改善系統(tǒng)開發(fā)過程的控制。集成系統(tǒng)開發(fā)的工具。提高軟件的復(fù)用性和可移植性。CASE系統(tǒng)應(yīng)該具備以下功能:支持多種軟件開發(fā)方法學(xué)(如結(jié)構(gòu)化方法、快速原型法、面向?qū)ο蠓椒ǖ?。支持軟件開發(fā)生命周期的各個階段:上游(分析和設(shè)計)、下游(編碼、測試與維護)及項目管理。具有文檔出版功能和文字、圖形編輯功能。支持軟件復(fù)用。支持開發(fā)信息資源共享。一般說來,一個CASE工具應(yīng)該具備以下功能(或其中的一部分功能):用戶通過CASE工具能夠創(chuàng)建系統(tǒng)開發(fā)各階段所需要的圖表。收集有關(guān)圖表上的對象以及對象之間的關(guān)系的信息,以便建立一個完整的信息集合。在一個中央資源庫中,應(yīng)將圖表所表示的語義而不是圖表本身存儲起來。根據(jù)準確性、一致性、完整性檢查圖表。使用戶能夠用多種圖表類型表示一個分析或設(shè)計的不同方面。使用戶以圖表來描述條件、循環(huán)、CASE結(jié)構(gòu)和其它結(jié)構(gòu)化程序結(jié)構(gòu)。實施結(jié)構(gòu)化的模型和設(shè)計,盡可能達到準確、一致。協(xié)調(diào)多個圖表上的信息,檢查信息的一致性,并集中檢查信息的準確性、一致性和完整性。13.3.2CASE環(huán)境的組成與結(jié)構(gòu)CASE環(huán)境是一個總稱,代表了集成化項目支持(IPSE)和集成CASE(I-CASE)環(huán)境。以下主要介紹CASE環(huán)境的組成和結(jié)構(gòu)兩個方面的內(nèi)容。1.CASE環(huán)境的組成Pressman把CASE環(huán)境的組成歸納為6個部分、3個層次,如圖13-1所示。由硬件平臺和操作系統(tǒng)(包括網(wǎng)絡(luò)和數(shù)據(jù)庫管理系統(tǒng))組成的體系結(jié)構(gòu),是CASE環(huán)境的基礎(chǔ)(底層)。集成化框架(IntegrationFramework)由一組專門程序組成,用于建立單個工具之間的通信,建立環(huán)境信息庫,以及向軟件開發(fā)者提供一致的界面,它們與CASE工具集成在一起,構(gòu)成環(huán)境的頂層。余下的一層服務(wù)于可移植性的機構(gòu)。它介于集成化工具與環(huán)境基礎(chǔ)軟、硬件之間,使集成后的工具無需做重大的修改即可與環(huán)境的軟、硬件平臺相適應(yīng)。圖13-1CASE環(huán)境的組成下面分別就CASE工具和環(huán)境信息庫做簡要說明。(1)CASE工具。CASE工具是指用于輔助軟件開發(fā)、運行、維護、管理和支持等過程中的活動的軟件。自軟件工程學(xué)誕生以來,許多學(xué)者提出了不同的軟件開發(fā)模型、開發(fā)方法和軟件管理的方法,每當出現(xiàn)一種新模型、新方法,輔助它們的軟件工具也會隨之出現(xiàn)。從功能上看,大多數(shù)工具僅限于支持軟件生命周期過程中的某些特定的活動。有支持軟件開發(fā)、維護和管理等過程的各種活動的軟件工具。例如,支持需求分析活動的需求分析工具、支持分析設(shè)計建模的建模工具、支持測試活動的測試工具和支持維護過程的維護工具等;也有支持軟件開發(fā)方法的軟件工具,如支持結(jié)構(gòu)化方法的結(jié)構(gòu)化工具、支持面向?qū)ο箝_發(fā)方法的面向?qū)ο蠊ぞ吆椭С衷烷_發(fā)方法的原型工具等;還有應(yīng)用類的工具,如多媒體開發(fā)工具、用戶界面工具和數(shù)據(jù)庫應(yīng)用工具等。CASE環(huán)境的工具集,應(yīng)該包括支持軟件開發(fā)自動化的各種工具,而且工具集應(yīng)是可擴充的,而且一種新工具出現(xiàn)以后,應(yīng)該可以很容易地集成到工具集中。CASE工具種類繁多,難以有一個統(tǒng)一的分類方法來劃分,一個工具往往僅對軟件生命周期中的某個(或某些)活動提供支持,所以有的學(xué)者把CASE工具按軟件過程的活動來分類,歸納為以下三類:支持軟件開發(fā)過程的工具,包括需求分析工具、軟件設(shè)計工具、編碼工具、

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論