版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第2章 軟件工程方法與工具,軟件工程方法概述面向?qū)ο蟮母拍钆c開發(fā)方法統(tǒng)一建模語言UML簡(jiǎn)介軟件工具概述UML建模工具Rational Rose,2.1 軟件工程方法概述,概念軟件工程包含技術(shù)和管理兩方面的內(nèi)容,是技術(shù)和管理緊密結(jié)合所形成的工程學(xué)科。通常將軟件開發(fā)全過程中使用的一整套技術(shù)方法的集合稱為方法學(xué)(methedology),也稱為范型(paradigm)。目前使用最廣泛的軟件工程方法學(xué):傳統(tǒng)方法(結(jié)構(gòu)化方法),面
2、向?qū)ο蠓椒ā?2.1 軟件工程方法概述,三要素:方法、工具和過程。軟件工程方法為軟件開發(fā)提供了 “如何做” 的技術(shù);軟件工具為軟件工程方法提供了自動(dòng)的或半自動(dòng)的軟件支撐環(huán)境;過程是為了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。,2.1 軟件工程方法概述,結(jié)構(gòu)化方法 也稱為生命周期方法學(xué)或結(jié)構(gòu)化范型。將軟件生命周期的全過程依次劃分為若干個(gè)階段,采用結(jié)構(gòu)化技術(shù)來完成每個(gè)階段的任務(wù)?!√攸c(diǎn):
3、 (1) 強(qiáng)調(diào)自頂向下順序地完成軟件開發(fā)的各階段任務(wù); (2) 結(jié)構(gòu)化方法要么面向行為,要么面向數(shù)據(jù),缺乏使兩者有機(jī)結(jié)合的機(jī)制。,2.1 軟件工程方法概述,面向?qū)ο蠓椒ㄊ菍?shù)據(jù)和對(duì)數(shù)據(jù)的操作緊密地結(jié)合起來的方法。軟件開發(fā)過程是多次反復(fù)迭代的演化過程。面向?qū)ο蠓椒ㄔ诟拍詈捅硎痉椒ㄉ系囊恢滦?,保證了各項(xiàng)開發(fā)活動(dòng)之間的平滑過渡。對(duì)于大型、復(fù)雜及交互性比較強(qiáng)的系統(tǒng),使用面向?qū)ο蠓椒ǜ袃?yōu)勢(shì)。,2.1 軟件工程方法概述,形式化方法
4、形式化方法是一種基于形式化數(shù)學(xué)變換的軟件開發(fā)方法,它可將系統(tǒng)的規(guī)格說明轉(zhuǎn)換為可執(zhí)行的程序。該過程的具體描述如圖所示。,2.1 軟件工程方法概述,形式化方法的主要特點(diǎn)(1) 軟件需求規(guī)格說明被細(xì)化為用數(shù)學(xué)記號(hào)表達(dá)的詳細(xì)的形式化規(guī)格說明;(2) 設(shè)計(jì)、實(shí)現(xiàn)和單元測(cè)試等開發(fā)過程由一個(gè)變換開發(fā)過程代替。通過一系列變換將形式的規(guī)格說明細(xì)化成為程序。這種細(xì)化的過程如圖所示。,2.2 面向?qū)ο蟮母拍钆c開發(fā)方法,現(xiàn)實(shí)世界就是由各種對(duì)象組成的,
5、如建筑物、人、汽車、動(dòng)物、植物等。復(fù)雜的對(duì)象可以由簡(jiǎn)單的對(duì)象組成。 在研究對(duì)象時(shí)主要考慮對(duì)象的屬性和行為,有些不同的對(duì)象會(huì)呈現(xiàn)相同或相似的屬性和行為,如轎車、卡車、面包車。通常將屬性及行為相同或相似的對(duì)象歸為一類。類可以看成是對(duì)象的抽象,代表了此類對(duì)象所具有的共有屬性和行為。,2.2 面向?qū)ο蟮母拍钆c開發(fā)方法,Coad和Yourdon給出了“面向?qū)ο蟆钡囊粋€(gè)定義: 面向?qū)ο螅綄?duì)象+類+繼承+消息通信如果一個(gè)系統(tǒng)是使用
6、這樣4個(gè)概念設(shè)計(jì)和實(shí)現(xiàn)的,則可認(rèn)為這個(gè)系統(tǒng)是面向?qū)ο蟮摹?對(duì)象,對(duì)象是包含現(xiàn)實(shí)世界物體特征的抽象實(shí)體,它反映了系統(tǒng)為之保存信息和(或)與它交互的能力。 例如,Student對(duì)象的數(shù)據(jù)可能有姓名、性別、出生日期、家庭住址、電話號(hào)碼等,其操作可能是對(duì)這些數(shù)據(jù)值的賦值及更改。,對(duì)象,對(duì)象與后面講的類具有幾乎完全相同的表示形式,主要差別是對(duì)象的名字下面要加一條下劃線。對(duì)象名有下列三種表示格式:(1) 第一種格式是對(duì)象名在前,類名在后,中間
7、用冒號(hào)連接。形如: 對(duì)象名:類名(2) 第二種格式形如: :類名 這種格式用于尚未給對(duì)象命名的情況,注意,類名前的冒號(hào)不能省略。(3) 第三種格式形如: 對(duì)象名,對(duì)象,對(duì)象有兩個(gè)層次的概念:(1) 現(xiàn)實(shí)生活中對(duì)象指的是客觀世界的實(shí)體。可以是可見的有形對(duì)象,如人、學(xué)生、汽車、房屋等;也可以是抽象的邏輯對(duì)象,如銀行帳號(hào),生日。(2) 程序中對(duì)象就是一
8、組變量和相關(guān)方法的集合,其中變量表明對(duì)象的狀態(tài),方法表明對(duì)象所具有的行為。,對(duì)象,可以將程序中的對(duì)象分為5類:物理對(duì)象,角色,事件,交互,規(guī)格說明。 物理對(duì)象(Physical Objects)── 物理對(duì)象是最易識(shí)別的對(duì)象,通??梢栽趩栴}領(lǐng)域的描述中找到,它們的屬性可以標(biāo)識(shí)和測(cè)量。 例如,大學(xué)課程注冊(cè)系統(tǒng)中的學(xué)生對(duì)象;一個(gè)網(wǎng)絡(luò)管理系統(tǒng)中各種網(wǎng)絡(luò)物理資源對(duì)象(如開關(guān)、CPU和打印機(jī))都是物理對(duì)象。,對(duì)象,(2) 角色(Role
9、s)── 一個(gè)實(shí)體的角色也可以抽象成一個(gè)單獨(dú)的對(duì)象。角色對(duì)象的操作是由角色提供的技能。例如,一個(gè)面向?qū)ο笙到y(tǒng)中通常有“管理器”對(duì)象,它履行協(xié)調(diào)系統(tǒng)資源的角色。一個(gè)窗口系統(tǒng)中通常有“窗口管理器”對(duì)象,它扮演協(xié)調(diào)鼠標(biāo)器按鈕和其他窗口操作的角色。特別地,一個(gè)實(shí)際的物理對(duì)象可能同時(shí)承擔(dān)幾個(gè)角色。例如,一個(gè)退休教師同時(shí)扮演退休者和教師的角色。,對(duì)象,(3) 事件(Events)── 一個(gè)事件是某種活動(dòng)的一次“出現(xiàn)”。例如“鼠標(biāo)”事件。一個(gè)事
10、件對(duì)象通常是一個(gè)數(shù)據(jù)實(shí)體,它管理“出現(xiàn)”的重要信息。事件對(duì)象的操作主要用于對(duì)數(shù)據(jù)的存取。如“鼠標(biāo)”事件對(duì)象有諸如光標(biāo)坐標(biāo)、左右鍵、單擊,雙擊等信息。,對(duì)象,(4) 交互(Interactions)── 交互表示了在兩個(gè)對(duì)象之間的關(guān)系,這種類型的對(duì)象類似于在數(shù)據(jù)庫設(shè)計(jì)時(shí)所涉及的“關(guān)系”實(shí)體。當(dāng)實(shí)體之間是多對(duì)多的關(guān)系時(shí),利用交互對(duì)象可將其簡(jiǎn)化為兩個(gè)一對(duì)多的關(guān)系。例如,在大學(xué)課程注冊(cè)系統(tǒng)中,學(xué)生和課程之間的關(guān)系是多對(duì)多的關(guān)系,可設(shè)置一個(gè)
11、“選課”交互對(duì)象來簡(jiǎn)化它們之間的關(guān)系。,類與封裝,類??梢詫F(xiàn)實(shí)生活中的對(duì)象經(jīng)過抽象,映射為程序中的對(duì)象。對(duì)象在程序中是通過一種抽象數(shù)據(jù)類型來描述的,這種抽象數(shù)據(jù)類型稱為類(Class)。 為了讓計(jì)算機(jī)創(chuàng)建對(duì)象,必須先提供對(duì)象的定義,也就是先定義對(duì)象所屬的類。例如,可以將學(xué)生對(duì)象所屬的類定義為Student。類的圖形表示如圖所示。,類與封裝,封裝。面向?qū)ο蟮姆庋b特性與其抽象特性密切相關(guān)。封裝是一種信息隱蔽技術(shù),就是利用抽象數(shù)據(jù)類型將數(shù)
12、據(jù)和基于數(shù)據(jù)的操作封裝在一起。用戶只能看到對(duì)象的封裝界面信息,對(duì)象的內(nèi)部細(xì)節(jié)對(duì)用戶是隱蔽的。 封裝的定義是:(1) 清楚的邊界,所有對(duì)象的內(nèi)部信息被限定在這個(gè)邊界內(nèi);(2) 接口,即對(duì)象向外界提供的方法,外界可以通過這些方法與對(duì)象進(jìn)行交互;(3) 受保護(hù)的內(nèi)部實(shí)現(xiàn),即軟件對(duì)象功能的實(shí)現(xiàn)細(xì)節(jié),實(shí)現(xiàn)細(xì)節(jié)不能從類外訪問。,繼承,繼承。繼承是一種聯(lián)結(jié)類的層次模型,為類的重用提供了方便,它提供了明確表述不同類之間共性的方法。 我們將公共
13、類稱為超類(superclass)、父類(father class)、祖先(ancestor)或基類(base class),而從其繼承的類稱為子類(subclasses)、后代(deslendane)或?qū)С鲱悾╠erived class)。,多態(tài),根據(jù)為請(qǐng)求提供服務(wù)的對(duì)象不同可以得到不同的行為,這種現(xiàn)象稱為多態(tài)。在運(yùn)行時(shí)對(duì)類進(jìn)行實(shí)例化,并調(diào)用與實(shí)例化對(duì)象相應(yīng)的方法,稱為動(dòng)態(tài)綁定、后期綁定或運(yùn)行時(shí)綁定。相應(yīng)地,如果方法的調(diào)用是在編譯時(shí)
14、確定的,則稱為是靜態(tài)綁定、前期綁定或編譯時(shí)綁定。 通過在子類中覆蓋父類的方法實(shí)現(xiàn)多態(tài)。,消息通信,消息是一個(gè)對(duì)象與另一個(gè)對(duì)象的通信單元,是要求某個(gè)對(duì)象執(zhí)行類中定義的某個(gè)操作的規(guī)格說明。發(fā)送給一個(gè)對(duì)象的消息定義了一個(gè)方法名和一個(gè)參數(shù)表(可能是空的),并指定某一個(gè)對(duì)象。一個(gè)對(duì)象接收到消息,則調(diào)用消息中指定的方法,并將形式參數(shù)與參數(shù)表中相應(yīng)的值結(jié)合起來。,面向?qū)ο蟮拈_發(fā)方法,面向?qū)ο筌浖_發(fā)方法的特征方法的唯一性即方法是對(duì)軟件開發(fā)過
15、程所有階段進(jìn)行綜合考慮而得到的。從生存期的一個(gè)階段到下一個(gè)階段的高度連續(xù)性即生存期后一階段的成果只是在前一階段成果的補(bǔ)充和修改。 把面向?qū)ο蠓治?OOA)、面向?qū)ο笤O(shè)計(jì)(OOD)和面向?qū)ο蟪绦蛟O(shè)計(jì)(OOP)集成到生存期的相應(yīng)階段。,Rumbaugh方法 Rumbaugh和他的同事提出的對(duì)象模型化技術(shù)(OMT)用于分析、系統(tǒng)設(shè)計(jì)和對(duì)象級(jí)設(shè)計(jì)。分析活動(dòng)建立三個(gè)模型:對(duì)象模型(描述對(duì)象、類、層次和關(guān)系);動(dòng)態(tài)模型(描述對(duì)象和系統(tǒng)的
16、行為);功能模型(類似于高層的DFD,描述穿越系統(tǒng)的信息流)。,面向?qū)ο蟮拈_發(fā)方法,Coad和Yourdon方法 Coad和Yourdon方法常常被認(rèn)為是最容易學(xué)習(xí)的OOA方法。建模符號(hào)相當(dāng)簡(jiǎn)單,其OOA過程如下:(1) 使用“要找什么”準(zhǔn)則標(biāo)識(shí)對(duì)象;(2) 定義對(duì)象之間的一般化/特殊化結(jié)構(gòu)(又稱為分類結(jié)構(gòu));(3) 定義對(duì)象之間的整體/部分結(jié)構(gòu)(又稱為組合結(jié)構(gòu)); (4) 標(biāo)識(shí)主題;(5) 定義對(duì)象的屬性及對(duì)象之間的實(shí)例
17、連接;(6) 定義服務(wù)及對(duì)象之間的消息連接。,面向?qū)ο蟮拈_發(fā)方法,Booch方法 包含“微開發(fā)過程”和“宏開發(fā)過程”兩個(gè)過程。OOA 宏觀開發(fā)過程如下:標(biāo)識(shí)類和對(duì)象;標(biāo)識(shí)類和對(duì)象的語義;標(biāo)識(shí)類和對(duì)象間的關(guān)系;進(jìn)行一系列精化;實(shí)現(xiàn)類和對(duì)象。,面向?qū)ο蟮拈_發(fā)方法,Jacobson方法 也稱為OOSE(面向?qū)ο筌浖こ?,其特點(diǎn)是特別強(qiáng)調(diào)使用用例——用以描述用戶和產(chǎn)品或系統(tǒng)間如何交互的場(chǎng)景。過程如下:標(biāo)識(shí)系統(tǒng)的用戶和
18、他們的整體責(zé)任構(gòu)造需求模型構(gòu)造分析模型,面向?qū)ο蟮拈_發(fā)方法,2.3 統(tǒng)一建模語言UML簡(jiǎn)介,面向?qū)ο蟮慕UZ言很多,目前使用最廣泛的是統(tǒng)一建模語言(UML,Unified Modeling Language);它將Booch、Rumbaugh和Jacobson等各自獨(dú)立的OOA和OOD方法中最優(yōu)秀的特色組合成一個(gè)統(tǒng)一的方法。,UML的產(chǎn)生和發(fā)展,UML(Unified Modeling Language)的概念于1996年由面向?qū)?/p>
19、象方法領(lǐng)域的三位著名專家Grady Booch,James Rumbaugh和Ivar Jacobson提出的。1996年6月和10月分別發(fā)布了UML0.9, UML0.91。1997年1月,UML1.0被提交給對(duì)象管理組織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、
20、 UML1.5、 UML2.0。2007年發(fā)布了UML2.1.1,UML2.1.2。2009年發(fā)布了UML2.2,UML的產(chǎn)生和發(fā)展,(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ū)ο?UML支持面向?qū)ο蠹夹g(shù)的主要概念,它提供了一批基本的表示模型元素的圖形和方法,能簡(jiǎn)潔明了
21、地表達(dá)面向?qū)ο蟮母鞣N概念和模型元素。,UML的特點(diǎn),(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),(5) 容易掌握使用 UML概念明確,建模表示法簡(jiǎn)潔明了,圖形結(jié)構(gòu)清晰,容易掌握使用。 (6)
22、與編程語言的關(guān)系 支持UML的一些CASE工具(如Rose)可以根據(jù) UML所建立的系統(tǒng)模型自動(dòng)產(chǎn)生Java、C++ 等代碼框架。,UML的特點(diǎn),2.4 軟件工具概述,軟件工具的概念軟件工具的發(fā)展軟件工具的分類常用軟件工具介紹,軟件工具的概念,軟件工具是指能支持軟件生存周期中某一階段(如系統(tǒng)定義、需求分析、設(shè)計(jì)、編碼、測(cè)試或維護(hù)等)的需要而使用的軟件工具。早期的軟件工具主要用來輔助程序員編程,如編輯程序、編譯程序、排錯(cuò)
23、程序等。在提出了軟件工程的概念以后,出現(xiàn)了一批軟件工具來輔助軟件工程實(shí)施,這些軟件工具涉及到軟件開發(fā)、維護(hù)、管理過程中的各項(xiàng)活動(dòng),并輔助這些活動(dòng)高質(zhì)量地進(jìn)行。軟件工具通常也稱為CASE(計(jì)算機(jī)輔助軟件工程,computer aided software engineering)工具。,軟件工具的發(fā)展,50年代末期出現(xiàn)了程序設(shè)計(jì)語言,因此,出現(xiàn)了編輯程序、匯編程序和各種程序語言的編譯程序或解釋程序、連接程序、裝配程序、排錯(cuò)程序等輔助軟件
24、編程活動(dòng)的工具。60年代末提出軟件工程的概念后,支持軟件開發(fā)、維護(hù)、管理等過程的各種活動(dòng)的工具也應(yīng)運(yùn)而生。例如,支持需求分析活動(dòng)的需求分析工具、支持維護(hù)過程的維護(hù)工具和理解工具、支持管理過程中進(jìn)度管理活動(dòng)的PERT工具、支持軟件過程的質(zhì)量保證工具等。,軟件工具的發(fā)展,80年代中期提出了軟件過程的新概念,人們開始研制過程建模的工具、過程評(píng)價(jià)工具。如今,軟件工具重視用戶界面的設(shè)計(jì),不斷地采用新理論和新技術(shù),正由單個(gè)工具向多個(gè)工具集成的方
25、向發(fā)展,且注重工具間的平滑過渡和互操作性。,軟件工具的分類,軟件工具的種類繁多,很難有一種統(tǒng)一的分類方法,通常從不同的觀點(diǎn)來進(jìn)行分類。由于大多數(shù)軟件工具僅支持軟件生存周期過程中的某些特定的活動(dòng),所以通??梢园窜浖^程的活動(dòng)來進(jìn)行分類。如:支持軟件開發(fā)過程的工具:主要有需求分析工具、設(shè)計(jì)工具(通常還可以分為概要設(shè)計(jì)工具和詳細(xì)設(shè)計(jì)工具)、編碼工具、排錯(cuò)工具、測(cè)試工具等。(2) 支持軟件維護(hù)過程的工具:主要有版本控制工具、文檔分析工具、
26、信息庫開發(fā)工具、逆向工程工具、再工程工具等。(3) 支持軟件管理過程和支持過程的工具:主要有項(xiàng)目管理工具、配置管理工具、軟件評(píng)價(jià)工具等。,常用軟件工具介紹,支持軟件開發(fā)過程的工具主要有需求分析工具、設(shè)計(jì)工具、編碼工具、排錯(cuò)工具、測(cè)試工具等。1. 需求分析工具 需求分析工具的功能與所采用的系統(tǒng)開發(fā)方法密不可分的。 按所采用的系統(tǒng)開發(fā)方法,可以將需求分析工具分為兩類:結(jié)構(gòu)化圖形工具箱,面向?qū)ο竽P突ぞ呒胺治龉ぞ摺?常用軟件工具
27、介紹,1. 需求分析工具(1) 結(jié)構(gòu)化圖形工具箱 這類工具需要通過數(shù)據(jù)流程圖DFD進(jìn)行功能分析。包括DFD圖形工具,實(shí)體-關(guān)系圖(E-R)圖形工具,Jackson圖形工具,Warnier/Orr圖形工具等等。(2) 面向?qū)ο竽P突ぞ呒胺治龉ぞ?這類工具需要通過對(duì)象建立構(gòu)造系統(tǒng)的抽象模型,一般包括圖形工具、對(duì)象瀏覽器及類庫管理系統(tǒng)。,常用軟件工具介紹,有代表性的商品化工具有:Rational Rose,由Rationa
28、l Corporation開發(fā)。PowerDesigner,由Sybase開發(fā)。Visio,由Microsoft開發(fā)。ArgoUML,開源工具。Control Center,由TogetherSoft開發(fā)。Enterprise Architect,由Sparx Systems開發(fā)。Object Technology Workbench(OTW),由OTW Software開發(fā)。System Architect,由Popki
29、n Software開發(fā)。UML Studio,由Pragsoft Corporation開發(fā)。Visual UML,由Visual Object Modelers開發(fā)。,常用軟件工具介紹,設(shè)計(jì)工具 設(shè)計(jì)階段分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。對(duì)應(yīng)于概要設(shè)計(jì)活動(dòng)和詳細(xì)設(shè)計(jì)活動(dòng),設(shè)計(jì)工具通常可分為概要設(shè)計(jì)工具和詳細(xì)設(shè)計(jì)工具。(1)概要設(shè)計(jì)工具 概要設(shè)計(jì)工具用以輔助設(shè)計(jì)人員設(shè)計(jì)目標(biāo)軟件的體系結(jié)構(gòu)、控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)。
30、 軟件的體系結(jié)構(gòu)通常用模塊結(jié)構(gòu)圖來描述,它指明軟件系統(tǒng)的模塊組成及其調(diào)用關(guān)系,模塊的接口定義等。模塊的數(shù)據(jù)結(jié)構(gòu)通常用實(shí)體-關(guān)系圖來描述。,常用軟件工具介紹,有代表性的商品化工具有:Rational Rose:由Rational開發(fā),是基于UML的設(shè)計(jì)工具,它支持體系結(jié)構(gòu)設(shè)計(jì)中的所有方面。Adalon:由Synthis公司開發(fā),是用于設(shè)計(jì)和構(gòu)建專門基于Web構(gòu)件體系結(jié)構(gòu)的特定設(shè)計(jì)工具。Objectif:由microTOOL
31、GmbH開發(fā),是一個(gè)基于UML的設(shè)計(jì)工具,它可以導(dǎo)致服從基于構(gòu)件的軟件工程的各種體系結(jié)構(gòu)(如,Coldfusion、J2EE和Fusebox等)。,常用軟件工具介紹,(2) 詳細(xì)設(shè)計(jì)工具詳細(xì)設(shè)計(jì)工具用以輔助設(shè)計(jì)人員設(shè)計(jì)模塊的算法和內(nèi)部實(shí)現(xiàn)細(xì)節(jié)。詳細(xì)設(shè)計(jì)規(guī)范的圖形描述方法通常有輸入-處理-輸出(input-process-output,IPO)圖、問題分析圖(problem analysis diagram,PAD)、盒圖(也稱NS圖
32、)、流程圖(flow chart,F(xiàn)C)等。詳細(xì)設(shè)計(jì)規(guī)范的語言描述方法通常有程序設(shè)計(jì)語言(program design language,PDL)、結(jié)構(gòu)化語言等。其表格描述方法通常有判定表和判定樹。,常用軟件工具介紹,3. 編碼工具與調(diào)試工具輔助程序員進(jìn)行編碼活動(dòng)的工具有編碼工具和排錯(cuò)工具。編碼工具輔助程序員用某種程序設(shè)計(jì)語言編制源程序,并對(duì)源程序進(jìn)行翻譯,最終轉(zhuǎn)換成可執(zhí)行的代碼。因此,編碼工具通常與編碼所使用的程序語言密切相關(guān)
33、。排錯(cuò)工具用來輔助程序員尋找源程序中錯(cuò)誤的性質(zhì)和原因,并確定其出錯(cuò)的位置。,常用軟件工具介紹,4. 測(cè)試工具 可將測(cè)試工具分為程序單元測(cè)試工具、組裝測(cè)試工具和系統(tǒng)測(cè)試工具。程序單元測(cè)試工具早期的程序單元測(cè)試工具有三類:程序靜態(tài)分析工具、動(dòng)態(tài)分析工具和自動(dòng)測(cè)試支持工具。目前最流行的單元測(cè)試工具是xUnit系列框架,根據(jù)語言不同分為JUnit(java),CppUnit(C++),DUnit (Delphi
34、160;),NUnit(.net),PhpUnit(Php )等等。,常用軟件工具介紹,(2) 組裝測(cè)試工具組裝測(cè)試也稱為集成測(cè)試或聯(lián)合測(cè)試,在單元測(cè)試的基礎(chǔ)上,將所有模塊按照設(shè)計(jì)要求組裝成為子系統(tǒng)或系統(tǒng),進(jìn)行組裝測(cè)試。 實(shí)踐表明,一些模塊雖然能夠單獨(dú)地工作,但并不能保證連接起來也能正常地工作。程序在某些局部反映不出來的問題,在全局上很可能暴露出來,影響功能的實(shí)現(xiàn)。,常用軟件工具介紹,有代表性的組裝測(cè)試工具有:WinRu
35、nner,由Mercury Interactive公司開發(fā),是一種企業(yè)級(jí)的功能測(cè)試工具,用于檢測(cè)應(yīng)用程序是否能夠達(dá)到預(yù)期的功能及正常運(yùn)行。IBM Rational Robot 是業(yè)界最頂尖的功能測(cè)試工具。Borland SilkTest 2006屬于軟件功能測(cè)試工具,是Borland公司所提出軟件質(zhì)量管理解決方案的套件之一。TestDirector 是業(yè)界第一個(gè)
36、基于Web的測(cè)試管理系統(tǒng),它可以在公司內(nèi)部或外部進(jìn)行全球范圍內(nèi)測(cè)試的管理。,常用軟件工具介紹,(3) 系統(tǒng)測(cè)試工具系統(tǒng)測(cè)試是對(duì)整個(gè)基于計(jì)算機(jī)的系統(tǒng)進(jìn)行一系列不同考驗(yàn)的測(cè)試。除了功能測(cè)試之外,負(fù)載測(cè)試、性能測(cè)試、可靠性測(cè)試和其他一些測(cè)試一般都是在系統(tǒng)測(cè)試期間進(jìn)行的。,常用軟件工具介紹,有代表性的系統(tǒng)測(cè)試工具有:LoadRunner 是一種預(yù)測(cè)系統(tǒng)行為和性能的負(fù)載測(cè)試工具。通過以模擬上千萬用戶實(shí)施并發(fā)負(fù)載及實(shí)時(shí)性能監(jiān)測(cè)的方式
37、來確認(rèn)和查找問題,LoadRunner 能夠?qū)φ麄€(gè)企業(yè)架構(gòu)進(jìn)行測(cè)試。OTF(Object Testing Framework),由MCG軟件公司開發(fā),為Smalltalk對(duì)象的測(cè)試提供管理框架。QADirector,由Compuware Corp.,為管理測(cè)試過程的各個(gè)階段提供簡(jiǎn)單的控制。TestWorks,由Software Research, Inc.開發(fā),包含一個(gè)完整的測(cè)試工具集,包括測(cè)試管理與測(cè)試報(bào)告。,2.5
38、UML建模工具Rational Rose,Rational Rose(簡(jiǎn)稱Rose)是美國IBM Rational軟件公司在軟件工程專家Grady Booch、Ivar Jacobson、Jim Rumbaugh等人主持下研制的圖形化、集成化OOCASE產(chǎn)品;支持面向?qū)ο筌浖到y(tǒng)的開發(fā)。利用ROSE可以建立用UML描述的軟件系統(tǒng)的模型,可以自動(dòng)生成和維護(hù)C++、JAVA、VB、PB、ORACLE等語言和系統(tǒng)的代碼。是目前使用最廣泛
39、、最先進(jìn)的可視化軟件開發(fā)工具之一,Rose的特點(diǎn),支持三層結(jié)構(gòu)方案;為大型軟件工程提供了可塑性和柔韌性極強(qiáng)的解決方案;支持UML、OOSE及OMT ;支持大型復(fù)雜項(xiàng)目;與多種開發(fā)環(huán)境無縫集成。,Rose的啟動(dòng),Rose2003的啟動(dòng)窗口如圖所示。用戶可以選擇建立新模型、打開某個(gè)已存在的模型或打開最近使用的模型。,Rose的主界面,Rose的基本操作,自定義工具欄,Rose的基本操作,系統(tǒng)彈出自定義工具欄窗口,在左面窗口中選中當(dāng)前
40、工具欄中沒有的按鈕,點(diǎn)擊“添加(A)”按鈕即可。,Rose的基本操作,保存模型 右鍵點(diǎn)擊瀏覽器窗口中的“untitled”,在彈出的快捷菜單中選擇“save”,或者選擇主菜單“File”下的“save”子菜單,系統(tǒng)彈出文件保存對(duì)話框,如圖所示。,Rose的基本操作,瀏覽模型結(jié)構(gòu) 瀏覽器窗口中前面帶有文件夾圖標(biāo)的項(xiàng)稱為包,其他一般為模型元素,如圖所示。,Rose的基本操作,打開說明窗口 可以在模型元素或包上雙擊,或者點(diǎn)擊右鍵,
41、從菜單中選擇第一項(xiàng)“open specification …” 。,Rose的基本操作,刪除及增加包,Rose的基本操作,刪除及增加圖元素瀏覽器窗口中的一個(gè)圖元素可以在多個(gè)應(yīng)用窗口中出現(xiàn),也就是說可以出現(xiàn)在多個(gè)圖中,因此在刪除圖元素時(shí)要區(qū)分是從瀏覽器窗口中刪除圖元素,還是從應(yīng)用窗口中刪除圖元素。當(dāng)從瀏覽器窗口中刪除圖元素時(shí),Rose首先從模型中移去所選擇的元素,之后修改所有出現(xiàn)被移去元素的圖,從中刪除被移去的元素及元素的詳細(xì)說明。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件工程方法
- [計(jì)算機(jī)軟件及應(yīng)用]軟件工程工具--軟件項(xiàng)目管理與工具
- 面向?qū)ο筌浖こ坦ぞ叩难芯颗c應(yīng)用.pdf
- 軟件工程工具信息共享技術(shù)研究.pdf
- 軟件工程工具的集成技術(shù)研究.pdf
- 軟件修改報(bào)告模板文檔 (軟件工程方法)
- 軟件工程與軟件文檔寫作
- 軟件工程
- 《軟件工程》課程教學(xué)方法研究
- 仿植物軟件工程方法研究.pdf
- 軟件工程與管理專業(yè)
- 軟件工程試題與答案
- 面向Agent軟件工程方法研究.pdf
- 軟件工程分析與設(shè)計(jì)
- 軟件工程與項(xiàng)目管理
- 軟件工程畢業(yè)論文-ip地址防盜工具的開發(fā)
- 軟件工程基礎(chǔ)
- 軟件工程答案
- 軟件工程習(xí)題
評(píng)論
0/150
提交評(píng)論