軟件工程方法與工具_(dá)第1頁
軟件工程方法與工具_(dá)第2頁
軟件工程方法與工具_(dá)第3頁
軟件工程方法與工具_(dá)第4頁
軟件工程方法與工具_(dá)第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

軟件工程方法與工具第一頁,共六十一頁,2022年,8月28日2.1軟件工程方法概述概念軟件工程包含技術(shù)和管理兩方面的內(nèi)容,是技術(shù)和管理緊密結(jié)合所形成的工程學(xué)科。通常將軟件開發(fā)全過程中使用的一整套技術(shù)方法的集合稱為方法學(xué)(methedology),也稱為范型(paradigm)。目前使用最廣泛的軟件工程方法學(xué):傳統(tǒng)方法(結(jié)構(gòu)化方法),面向?qū)ο蠓椒?。第二頁,共六十一頁?022年,8月28日2.1軟件工程方法概述三要素:方法、工具和過程。軟件工程方法為軟件開發(fā)提供了“如何做”的技術(shù);軟件工具為軟件工程方法提供了自動的或半自動的軟件支撐環(huán)境;過程是為了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。第三頁,共六十一頁,2022年,8月28日2.1軟件工程方法概述結(jié)構(gòu)化方法也稱為生命周期方法學(xué)或結(jié)構(gòu)化范型。將軟件生命周期的全過程依次劃分為若干個階段,采用結(jié)構(gòu)化技術(shù)來完成每個階段的任務(wù)。特點(diǎn):

(1)強(qiáng)調(diào)自頂向下順序地完成軟件開發(fā)的各階段任務(wù);(2)結(jié)構(gòu)化方法要么面向行為,要么面向數(shù)據(jù),缺乏使兩者有機(jī)結(jié)合的機(jī)制。第四頁,共六十一頁,2022年,8月28日2.1軟件工程方法概述面向?qū)ο蠓椒ㄊ菍?shù)據(jù)和對數(shù)據(jù)的操作緊密地結(jié)合起來的方法。軟件開發(fā)過程是多次反復(fù)迭代的演化過程。面向?qū)ο蠓椒ㄔ诟拍詈捅硎痉椒ㄉ系囊恢滦裕WC了各項(xiàng)開發(fā)活動之間的平滑過渡。對于大型、復(fù)雜及交互性比較強(qiáng)的系統(tǒng),使用面向?qū)ο蠓椒ǜ袃?yōu)勢。第五頁,共六十一頁,2022年,8月28日2.1軟件工程方法概述形式化方法形式化方法是一種基于形式化數(shù)學(xué)變換的軟件開發(fā)方法,它可將系統(tǒng)的規(guī)格說明轉(zhuǎn)換為可執(zhí)行的程序。該過程的具體描述如圖所示。第六頁,共六十一頁,2022年,8月28日2.1軟件工程方法概述形式化方法的主要特點(diǎn)(1)軟件需求規(guī)格說明被細(xì)化為用數(shù)學(xué)記號表達(dá)的詳細(xì)的形式化規(guī)格說明;(2)設(shè)計、實(shí)現(xiàn)和單元測試等開發(fā)過程由一個變換開發(fā)過程代替。通過一系列變換將形式的規(guī)格說明細(xì)化成為程序。這種細(xì)化的過程如圖所示。第七頁,共六十一頁,2022年,8月28日

2.2面向?qū)ο蟮母拍钆c開發(fā)方法現(xiàn)實(shí)世界就是由各種對象組成的,如建筑物、人、汽車、動物、植物等。復(fù)雜的對象可以由簡單的對象組成。在研究對象時主要考慮對象的屬性和行為,有些不同的對象會呈現(xiàn)相同或相似的屬性和行為,如轎車、卡車、面包車。通常將屬性及行為相同或相似的對象歸為一類。類可以看成是對象的抽象,代表了此類對象所具有的共有屬性和行為。第八頁,共六十一頁,2022年,8月28日2.2面向?qū)ο蟮母拍钆c開發(fā)方法Coad和Yourdon給出了“面向?qū)ο蟆钡囊粋€定義:

面向?qū)ο螅綄ο螅悾^承+消息通信如果一個系統(tǒng)是使用這樣4個概念設(shè)計和實(shí)現(xiàn)的,則可認(rèn)為這個系統(tǒng)是面向?qū)ο蟮摹?/p>

第九頁,共六十一頁,2022年,8月28日對象對象是包含現(xiàn)實(shí)世界物體特征的抽象實(shí)體,它反映了系統(tǒng)為之保存信息和(或)與它交互的能力。例如,Student對象的數(shù)據(jù)可能有姓名、性別、出生日期、家庭住址、電話號碼等,其操作可能是對這些數(shù)據(jù)值的賦值及更改。第十頁,共六十一頁,2022年,8月28日對象對象與后面講的類具有幾乎完全相同的表示形式,主要差別是對象的名字下面要加一條下劃線。對象名有下列三種表示格式:(1)第一種格式是對象名在前,類名在后,中間用冒號連接。形如:

對象名:類名(2)第二種格式形如:

:類名這種格式用于尚未給對象命名的情況,注意,類名前的冒號不能省略。(3)第三種格式形如:

對象名第十一頁,共六十一頁,2022年,8月28日對象對象有兩個層次的概念:(1)現(xiàn)實(shí)生活中對象指的是客觀世界的實(shí)體??梢允强梢姷挠行螌ο?,如人、學(xué)生、汽車、房屋等;也可以是抽象的邏輯對象,如銀行帳號,生日。(2)程序中對象就是一組變量和相關(guān)方法的集合,其中變量表明對象的狀態(tài),方法表明對象所具有的行為。第十二頁,共六十一頁,2022年,8月28日對象可以將程序中的對象分為5類:物理對象,角色,事件,交互,規(guī)格說明。

物理對象(PhysicalObjects)──物理對象是最易識別的對象,通??梢栽趩栴}領(lǐng)域的描述中找到,它們的屬性可以標(biāo)識和測量。例如,大學(xué)課程注冊系統(tǒng)中的學(xué)生對象;一個網(wǎng)絡(luò)管理系統(tǒng)中各種網(wǎng)絡(luò)物理資源對象(如開關(guān)、CPU和打印機(jī))都是物理對象。第十三頁,共六十一頁,2022年,8月28日對象(2)角色(Roles)──一個實(shí)體的角色也可以抽象成一個單獨(dú)的對象。角色對象的操作是由角色提供的技能。例如,一個面向?qū)ο笙到y(tǒng)中通常有“管理器”對象,它履行協(xié)調(diào)系統(tǒng)資源的角色。一個窗口系統(tǒng)中通常有“窗口管理器”對象,它扮演協(xié)調(diào)鼠標(biāo)器按鈕和其他窗口操作的角色。特別地,一個實(shí)際的物理對象可能同時承擔(dān)幾個角色。例如,一個退休教師同時扮演退休者和教師的角色。第十四頁,共六十一頁,2022年,8月28日對象(3)事件(Events)──一個事件是某種活動的一次“出現(xiàn)”。例如“鼠標(biāo)”事件。一個事件對象通常是一個數(shù)據(jù)實(shí)體,它管理“出現(xiàn)”的重要信息。事件對象的操作主要用于對數(shù)據(jù)的存取。如“鼠標(biāo)”事件對象有諸如光標(biāo)坐標(biāo)、左右鍵、單擊,雙擊等信息。第十五頁,共六十一頁,2022年,8月28日對象(4)交互(Interactions)──交互表示了在兩個對象之間的關(guān)系,這種類型的對象類似于在數(shù)據(jù)庫設(shè)計時所涉及的“關(guān)系”實(shí)體。當(dāng)實(shí)體之間是多對多的關(guān)系時,利用交互對象可將其簡化為兩個一對多的關(guān)系。例如,在大學(xué)課程注冊系統(tǒng)中,學(xué)生和課程之間的關(guān)系是多對多的關(guān)系,可設(shè)置一個“選課”交互對象來簡化它們之間的關(guān)系。第十六頁,共六十一頁,2022年,8月28日類與封裝類??梢詫F(xiàn)實(shí)生活中的對象經(jīng)過抽象,映射為程序中的對象。對象在程序中是通過一種抽象數(shù)據(jù)類型來描述的,這種抽象數(shù)據(jù)類型稱為類(Class)。為了讓計算機(jī)創(chuàng)建對象,必須先提供對象的定義,也就是先定義對象所屬的類。例如,可以將學(xué)生對象所屬的類定義為Student。類的圖形表示如圖所示。第十七頁,共六十一頁,2022年,8月28日類與封裝封裝。面向?qū)ο蟮姆庋b特性與其抽象特性密切相關(guān)。封裝是一種信息隱蔽技術(shù),就是利用抽象數(shù)據(jù)類型將數(shù)據(jù)和基于數(shù)據(jù)的操作封裝在一起。用戶只能看到對象的封裝界面信息,對象的內(nèi)部細(xì)節(jié)對用戶是隱蔽的。封裝的定義是:(1)清楚的邊界,所有對象的內(nèi)部信息被限定在這個邊界內(nèi);(2)接口,即對象向外界提供的方法,外界可以通過這些方法與對象進(jìn)行交互;(3)受保護(hù)的內(nèi)部實(shí)現(xiàn),即軟件對象功能的實(shí)現(xiàn)細(xì)節(jié),實(shí)現(xiàn)細(xì)節(jié)不能從類外訪問。第十八頁,共六十一頁,2022年,8月28日繼承繼承。繼承是一種聯(lián)結(jié)類的層次模型,為類的重用提供了方便,它提供了明確表述不同類之間共性的方法。我們將公共類稱為超類(superclass)、父類(fatherclass)、祖先(ancestor)或基類(baseclass),而從其繼承的類稱為子類(subclasses)、后代(deslendane)或?qū)С鲱悾╠erivedclass)。第十九頁,共六十一頁,2022年,8月28日多態(tài)根據(jù)為請求提供服務(wù)的對象不同可以得到不同的行為,這種現(xiàn)象稱為多態(tài)。在運(yùn)行時對類進(jìn)行實(shí)例化,并調(diào)用與實(shí)例化對象相應(yīng)的方法,稱為動態(tài)綁定、后期綁定或運(yùn)行時綁定。相應(yīng)地,如果方法的調(diào)用是在編譯時確定的,則稱為是靜態(tài)綁定、前期綁定或編譯時綁定。

通過在子類中覆蓋父類的方法實(shí)現(xiàn)多態(tài)。第二十頁,共六十一頁,2022年,8月28日消息通信消息是一個對象與另一個對象的通信單元,是要求某個對象執(zhí)行類中定義的某個操作的規(guī)格說明。發(fā)送給一個對象的消息定義了一個方法名和一個參數(shù)表(可能是空的),并指定某一個對象。一個對象接收到消息,則調(diào)用消息中指定的方法,并將形式參數(shù)與參數(shù)表中相應(yīng)的值結(jié)合起來。第二十一頁,共六十一頁,2022年,8月28日面向?qū)ο蟮拈_發(fā)方法面向?qū)ο筌浖_發(fā)方法的特征方法的唯一性

即方法是對軟件開發(fā)過程所有階段進(jìn)行綜合考慮而得到的。從生存期的一個階段到下一個階段的高度連續(xù)性

即生存期后一階段的成果只是在前一階段成果的補(bǔ)充和修改。把面向?qū)ο蠓治?OOA)、面向?qū)ο笤O(shè)計(OOD)和面向?qū)ο蟪绦蛟O(shè)計(OOP)集成到生存期的相應(yīng)階段。第二十二頁,共六十一頁,2022年,8月28日Rumbaugh方法

Rumbaugh和他的同事提出的對象模型化技術(shù)(OMT)用于分析、系統(tǒng)設(shè)計和對象級設(shè)計。分析活動建立三個模型:對象模型(描述對象、類、層次和關(guān)系);動態(tài)模型(描述對象和系統(tǒng)的行為);功能模型(類似于高層的DFD,描述穿越系統(tǒng)的信息流)。面向?qū)ο蟮拈_發(fā)方法第二十三頁,共六十一頁,2022年,8月28日Coad和Yourdon方法

Coad和Yourdon方法常常被認(rèn)為是最容易學(xué)習(xí)的OOA方法。建模符號相當(dāng)簡單,其OOA過程如下:(1)使用“要找什么”準(zhǔn)則標(biāo)識對象;(2)定義對象之間的一般化/特殊化結(jié)構(gòu)(又稱為分類結(jié)構(gòu));(3)定義對象之間的整體/部分結(jié)構(gòu)(又稱為組合結(jié)構(gòu));(4)標(biāo)識主題;(5)定義對象的屬性及對象之間的實(shí)例連接;(6)定義服務(wù)及對象之間的消息連接。面向?qū)ο蟮拈_發(fā)方法第二十四頁,共六十一頁,2022年,8月28日Booch方法

包含“微開發(fā)過程”和“宏開發(fā)過程”兩個過程。OOA宏觀開發(fā)過程如下:標(biāo)識類和對象;標(biāo)識類和對象的語義;標(biāo)識類和對象間的關(guān)系;進(jìn)行一系列精化;實(shí)現(xiàn)類和對象。面向?qū)ο蟮拈_發(fā)方法第二十五頁,共六十一頁,2022年,8月28日J(rèn)acobson方法也稱為OOSE(面向?qū)ο筌浖こ?,其特點(diǎn)是特別強(qiáng)調(diào)使用用例——用以描述用戶和產(chǎn)品或系統(tǒng)間如何交互的場景。過程如下:標(biāo)識系統(tǒng)的用戶和他們的整體責(zé)任構(gòu)造需求模型構(gòu)造分析模型

面向?qū)ο蟮拈_發(fā)方法第二十六頁,共六十一頁,2022年,8月28日2.3統(tǒng)一建模語言UML簡介面向?qū)ο蟮慕UZ言很多,目前使用最廣泛的是統(tǒng)一建模語言(UML,UnifiedModelingLanguage);它將Booch、Rumbaugh和Jacobson等各自獨(dú)立的OOA和OOD方法中最優(yōu)秀的特色組合成一個統(tǒng)一的方法。第二十七頁,共六十一頁,2022年,8月28日UML的產(chǎn)生和發(fā)展

UML(UnifiedModelingLanguage)的概念于1996年由面向?qū)ο蠓椒I(lǐng)域的三位著名專家GradyBooch,JamesRumbaugh和IvarJacobson提出的。1996年6月和10月分別發(fā)布了UML0.9,UML0.91。1997年1月,UML1.0被提交給對象管理組織OMG。1997年9月,提交UML1.1,1997年11月被OMG采納作為基于面向?qū)ο蠹夹g(shù)的標(biāo)準(zhǔn)建模語言。1998、2000、2001、2003、2005年分別發(fā)布了UML1.2、UML1.3、UML1.4、UML1.5、UML2.0。2007年發(fā)布了,。2009年發(fā)布了UML2.2第二十八頁,共六十一頁,2022年,8月28日UML的產(chǎn)生和發(fā)展第二十九頁,共六十一頁,2022年,8月28日(1)統(tǒng)一標(biāo)準(zhǔn)

UML不僅統(tǒng)一了Booch、OMT和OOSE等方法中的基本概念,還吸取了面向?qū)ο蠹夹g(shù)領(lǐng)域中其他流派的長處,其中也包括非OO方法的影響。已經(jīng)成為OMG的標(biāo)準(zhǔn)。(2)面向?qū)ο?/p>

UML支持面向?qū)ο蠹夹g(shù)的主要概念,它提供了一批基本的表示模型元素的圖形和方法,能簡潔明了地表達(dá)面向?qū)ο蟮母鞣N概念和模型元素。UML的特點(diǎn)第三十頁,共六十一頁,2022年,8月28日(3)可視化,表達(dá)能力強(qiáng)大UML是一種圖形化語言,用UML的模型圖形能清晰地表示系統(tǒng)的邏輯模型或?qū)崿F(xiàn)模型。UML還提供了語言的擴(kuò)展機(jī)制,用戶可以根據(jù)需要增加定義自己的構(gòu)造型、標(biāo)記值和約束等。(4)獨(dú)立于過程

UML是系統(tǒng)建模的語言,不依賴特定的開發(fā)過程。UML的特點(diǎn)第三十一頁,共六十一頁,2022年,8月28日(5)容易掌握使用

UML概念明確,建模表示法簡潔明了,圖形結(jié)構(gòu)清晰,容易掌握使用。(6)與編程語言的關(guān)系

支持UML的一些CASE工具(如Rose)可以根據(jù)UML所建立的系統(tǒng)模型自動產(chǎn)生Java、C++等代碼框架。UML的特點(diǎn)第三十二頁,共六十一頁,2022年,8月28日2.4軟件工具概述軟件工具的概念軟件工具的發(fā)展軟件工具的分類常用軟件工具介紹第三十三頁,共六十一頁,2022年,8月28日軟件工具的概念軟件工具是指能支持軟件生存周期中某一階段(如系統(tǒng)定義、需求分析、設(shè)計、編碼、測試或維護(hù)等)的需要而使用的軟件工具。早期的軟件工具主要用來輔助程序員編程,如編輯程序、編譯程序、排錯程序等。在提出了軟件工程的概念以后,出現(xiàn)了一批軟件工具來輔助軟件工程實(shí)施,這些軟件工具涉及到軟件開發(fā)、維護(hù)、管理過程中的各項(xiàng)活動,并輔助這些活動高質(zhì)量地進(jìn)行。軟件工具通常也稱為CASE(計算機(jī)輔助軟件工程,computeraidedsoftwareengineering)工具。第三十四頁,共六十一頁,2022年,8月28日軟件工具的發(fā)展50年代末期出現(xiàn)了程序設(shè)計語言,因此,出現(xiàn)了編輯程序、匯編程序和各種程序語言的編譯程序或解釋程序、連接程序、裝配程序、排錯程序等輔助軟件編程活動的工具。60年代末提出軟件工程的概念后,支持軟件開發(fā)、維護(hù)、管理等過程的各種活動的工具也應(yīng)運(yùn)而生。例如,支持需求分析活動的需求分析工具、支持維護(hù)過程的維護(hù)工具和理解工具、支持管理過程中進(jìn)度管理活動的PERT工具、支持軟件過程的質(zhì)量保證工具等。第三十五頁,共六十一頁,2022年,8月28日軟件工具的發(fā)展80年代中期提出了軟件過程的新概念,人們開始研制過程建模的工具、過程評價工具。如今,軟件工具重視用戶界面的設(shè)計,不斷地采用新理論和新技術(shù),正由單個工具向多個工具集成的方向發(fā)展,且注重工具間的平滑過渡和互操作性。第三十六頁,共六十一頁,2022年,8月28日軟件工具的分類軟件工具的種類繁多,很難有一種統(tǒng)一的分類方法,通常從不同的觀點(diǎn)來進(jìn)行分類。由于大多數(shù)軟件工具僅支持軟件生存周期過程中的某些特定的活動,所以通??梢园窜浖^程的活動來進(jìn)行分類。如:支持軟件開發(fā)過程的工具:主要有需求分析工具、設(shè)計工具(通常還可以分為概要設(shè)計工具和詳細(xì)設(shè)計工具)、編碼工具、排錯工具、測試工具等。(2)支持軟件維護(hù)過程的工具:主要有版本控制工具、文檔分析工具、信息庫開發(fā)工具、逆向工程工具、再工程工具等。(3)支持軟件管理過程和支持過程的工具:主要有項(xiàng)目管理工具、配置管理工具、軟件評價工具等。第三十七頁,共六十一頁,2022年,8月28日常用軟件工具介紹支持軟件開發(fā)過程的工具主要有需求分析工具、設(shè)計工具、編碼工具、排錯工具、測試工具等。1.需求分析工具需求分析工具的功能與所采用的系統(tǒng)開發(fā)方法密不可分的。按所采用的系統(tǒng)開發(fā)方法,可以將需求分析工具分為兩類:結(jié)構(gòu)化圖形工具箱,面向?qū)ο竽P突ぞ呒胺治龉ぞ?。第三十八頁,共六十一頁?022年,8月28日常用軟件工具介紹1.需求分析工具(1)結(jié)構(gòu)化圖形工具箱這類工具需要通過數(shù)據(jù)流程圖DFD進(jìn)行功能分析。包括DFD圖形工具,實(shí)體-關(guān)系圖(E-R)圖形工具,Jackson圖形工具,Warnier/Orr圖形工具等等。(2)面向?qū)ο竽P突ぞ呒胺治龉ぞ哌@類工具需要通過對象建立構(gòu)造系統(tǒng)的抽象模型,一般包括圖形工具、對象瀏覽器及類庫管理系統(tǒng)。第三十九頁,共六十一頁,2022年,8月28日常用軟件工具介紹有代表性的商品化工具有:RationalRose,由RationalCorporation開發(fā)。PowerDesigner,由Sybase開發(fā)。Visio,由Microsoft開發(fā)。ArgoUML,開源工具。ControlCenter,由TogetherSoft開發(fā)。EnterpriseArchitect,由SparxSystems開發(fā)。ObjectTechnologyWorkbench(OTW),由OTWSoftware開發(fā)。SystemArchitect,由PopkinSoftware開發(fā)。UMLStudio,由PragsoftCorporation開發(fā)。VisualUML,由VisualObjectModelers開發(fā)。第四十頁,共六十一頁,2022年,8月28日常用軟件工具介紹設(shè)計工具設(shè)計階段分為概要設(shè)計和詳細(xì)設(shè)計。對應(yīng)于概要設(shè)計活動和詳細(xì)設(shè)計活動,設(shè)計工具通??煞譃楦乓O(shè)計工具和詳細(xì)設(shè)計工具。(1)概要設(shè)計工具概要設(shè)計工具用以輔助設(shè)計人員設(shè)計目標(biāo)軟件的體系結(jié)構(gòu)、控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)。軟件的體系結(jié)構(gòu)通常用模塊結(jié)構(gòu)圖來描述,它指明軟件系統(tǒng)的模塊組成及其調(diào)用關(guān)系,模塊的接口定義等。模塊的數(shù)據(jù)結(jié)構(gòu)通常用實(shí)體-關(guān)系圖來描述。第四十一頁,共六十一頁,2022年,8月28日常用軟件工具介紹有代表性的商品化工具有:RationalRose:由Rational開發(fā),是基于UML的設(shè)計工具,它支持體系結(jié)構(gòu)設(shè)計中的所有方面。Adalon:由Synthis公司開發(fā),是用于設(shè)計和構(gòu)建專門基于Web構(gòu)件體系結(jié)構(gòu)的特定設(shè)計工具。Objectif:由microTOOLGmbH開發(fā),是一個基于UML的設(shè)計工具,它可以導(dǎo)致服從基于構(gòu)件的軟件工程的各種體系結(jié)構(gòu)(如,Coldfusion、J2EE和Fusebox等)。第四十二頁,共六十一頁,2022年,8月28日常用軟件工具介紹(2)詳細(xì)設(shè)計工具詳細(xì)設(shè)計工具用以輔助設(shè)計人員設(shè)計模塊的算法和內(nèi)部實(shí)現(xiàn)細(xì)節(jié)。詳細(xì)設(shè)計規(guī)范的圖形描述方法通常有輸入-處理-輸出(input-process-output,IPO)圖、問題分析圖(problemanalysisdiagram,PAD)、盒圖(也稱NS圖)、流程圖(flowchart,F(xiàn)C)等。詳細(xì)設(shè)計規(guī)范的語言描述方法通常有程序設(shè)計語言(programdesignlanguage,PDL)、結(jié)構(gòu)化語言等。其表格描述方法通常有判定表和判定樹。第四十三頁,共六十一頁,2022年,8月28日常用軟件工具介紹3.編碼工具與調(diào)試工具輔助程序員進(jìn)行編碼活動的工具有編碼工具和排錯工具。編碼工具輔助程序員用某種程序設(shè)計語言編制源程序,并對源程序進(jìn)行翻譯,最終轉(zhuǎn)換成可執(zhí)行的代碼。因此,編碼工具通常與編碼所使用的程序語言密切相關(guān)。排錯工具用來輔助程序員尋找源程序中錯誤的性質(zhì)和原因,并確定其出錯的位置。第四十四頁,共六十一頁,2022年,8月28日常用軟件工具介紹4.測試工具可將測試工具分為程序單元測試工具、組裝測試工具和系統(tǒng)測試工具。程序單元測試工具早期的程序單元測試工具有三類:程序靜態(tài)分析工具、動態(tài)分析工具和自動測試支持工具。目前最流行的單元測試工具是xUnit系列框架,根據(jù)語言不同分為JUnit(java),CppUnit(C++),DUnit

(Delphi

),NUnit(.net),PhpUnit(Php

)等等。第四十五頁,共六十一頁,2022年,8月28日常用軟件工具介紹(2)組裝測試工具組裝測試也稱為集成測試或聯(lián)合測試,在單元測試的基礎(chǔ)上,將所有模塊按照設(shè)計要求組裝成為子系統(tǒng)或系統(tǒng),進(jìn)行組裝測試。實(shí)踐表明,一些模塊雖然能夠單獨(dú)地工作,但并不能保證連接起來也能正常地工作。程序在某些局部反映不出來的問題,在全局上很可能暴露出來,影響功能的實(shí)現(xiàn)。第四十六頁,共六十一頁,2022年,8月28日常用軟件工具介紹有代表性的組裝測試工具有:WinRunner,由Mercury

Interactive公司開發(fā),是一種企業(yè)級的功能測試工具,用于檢測應(yīng)用程序是否能夠達(dá)到預(yù)期的功能及正常運(yùn)行。IBM

Rational

Robot

是業(yè)界最頂尖的功能測試工具。Borland

SilkTest

2006屬于軟件功能測試工具,是Borland公司所提出軟件質(zhì)量管理解決方案的套件之一。TestDirector

是業(yè)界第一個基于Web的測試管理系統(tǒng),它可以在公司內(nèi)部或外部進(jìn)行全球范圍內(nèi)測試的管理。第四十七頁,共六十一頁,2022年,8月28日常用軟件工具介紹(3)系統(tǒng)測試工具系統(tǒng)測試是對整個基于計算機(jī)的系統(tǒng)進(jìn)行一系列不同考驗(yàn)的測試。除了功能測試之外,負(fù)載測試、性能測試、可靠性測試和其他一些測試一般都是在系統(tǒng)測試期間進(jìn)行的。第四十八頁,共六十一頁,2022年,8月28日常用軟件工具介紹有代表性的系統(tǒng)測試工具有:LoadRunner

是一種預(yù)測系統(tǒng)行為和性能的負(fù)載測試工具。通過以模擬上千萬用戶實(shí)施并發(fā)負(fù)載及實(shí)時性能監(jiān)測的方式來確認(rèn)和查找問題,LoadRunner

能夠?qū)φ麄€企業(yè)架構(gòu)進(jìn)行測試。OTF(ObjectTestingFramework),由MCG軟件公司開發(fā),為Smalltalk對象的測試提供管理框架。QADirector,由CompuwareCorp.,為管理測試過程的各個階段提供簡單的控制。TestWorks,由SoftwareResearch,Inc.開發(fā),包含一個完整的測試工具集,包括測試管理與測試報告。第四十九頁,共六十一頁,2022年,8月28日2.5UML建模工具RationalRoseRationalRose(簡稱Rose)是美國IBMRational軟件公司在軟件工程專家GradyBooch、IvarJacobson、JimRumbaugh等人主持下研制的圖形化、集成化OOCASE產(chǎn)品;支持面向?qū)ο筌浖到y(tǒng)的開發(fā)。利用ROSE可以建立用UML描述的軟件系統(tǒng)的模型,可以自動生成和維護(hù)C++、JAVA、VB

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論