軟件工程-軟件工具與集成化環(huán)境_第1頁(yè)
軟件工程-軟件工具與集成化環(huán)境_第2頁(yè)
軟件工程-軟件工具與集成化環(huán)境_第3頁(yè)
軟件工程-軟件工具與集成化環(huán)境_第4頁(yè)
軟件工程-軟件工具與集成化環(huán)境_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第十章軟件工具與

集成化環(huán)境10軟件工具是用于輔助軟件的開(kāi)發(fā)、運(yùn)行、維護(hù)、管理和支持等活動(dòng)的軟件系統(tǒng)。其目的是為了降低軟件開(kāi)發(fā)和維護(hù)的成本,提高軟件生產(chǎn)效率,改進(jìn)軟件產(chǎn)品的質(zhì)量。借助于計(jì)算機(jī)及其軟件工具的幫助,開(kāi)發(fā)、維護(hù)、管理軟件產(chǎn)品的過(guò)程,稱為計(jì)算機(jī)輔助軟件工程(Computer-AidedSoftwareEngineering,簡(jiǎn)稱CASE)。10.1軟件工具

另一種是集成化的CASE環(huán)境,它將在軟件開(kāi)發(fā)過(guò)程的不同階段使用的工具進(jìn)行集成,使其有著一致的用戶界面和可以共享的信息數(shù)據(jù)庫(kù)。目前有兩種層次的軟件開(kāi)發(fā)工具,一種是孤立的單個(gè)軟件開(kāi)發(fā)工具,用于支持軟件開(kāi)發(fā)過(guò)程中的某一項(xiàng)特定活動(dòng)。

按軟件活動(dòng)的各階段,可把軟件工具分為:軟件開(kāi)發(fā)工具軟件維護(hù)工具管理與支持工具軟件開(kāi)發(fā)工具軟件開(kāi)發(fā)工具可分為:分析工具、設(shè)計(jì)工具、編碼工具和調(diào)試工具。

1.分析工具

輔助軟件開(kāi)發(fā)人員完成軟件系統(tǒng)需求分析活動(dòng)的軟件工具。典型的有Rational公司的AnalystStudio,用于應(yīng)用問(wèn)題分析和系統(tǒng)定義的一組相對(duì)完備的工具集,適合于團(tuán)隊(duì)聯(lián)合開(kāi)發(fā)使用。包括以下內(nèi)容:⑴RationalRequisitePro;

⑵RationalRoseDataModelerEdition;⑶RationalClearQuest;⑷RationalSoDAforWord⑸RationalUnifiedProcess;

軟件設(shè)計(jì)工具主要包括三種類型:基于圖形描述、語(yǔ)言描述的設(shè)計(jì)工具;基于形式化描述的設(shè)計(jì)工具;面向?qū)ο蟮脑O(shè)計(jì)工具。典型的有EnterpriseArchitect,是一個(gè)基于UML的VisualCASE工具,主要用于設(shè)計(jì)、編寫(xiě)、構(gòu)建和管理以目標(biāo)為為導(dǎo)向的軟件系統(tǒng)。2.設(shè)計(jì)工具3.編碼工具編碼工具主要包括:編輯程序、匯編程序、編譯程序和調(diào)試程序等。典型的集成程序開(kāi)發(fā)環(huán)境有:MicroSoft公司的VisualC++、VisualBasic和Borland公司的Delphi、C++Builder

4.調(diào)試工具也稱為排錯(cuò)工具,在程序編碼過(guò)程中,及時(shí)發(fā)現(xiàn)和排除程序代碼中的錯(cuò)誤和缺陷。分為:源代碼調(diào)試程序和調(diào)試程序生成程序兩類。

⑴源代碼調(diào)試程序

幫助程序開(kāi)發(fā)人員了解程序的執(zhí)行狀態(tài),查詢相關(guān)數(shù)據(jù)信息,發(fā)現(xiàn)和排除程序代碼中存在的錯(cuò)誤和缺陷。⑵調(diào)試程序生成程序

是一種通用的調(diào)試工具,能夠針對(duì)給定的程序設(shè)計(jì)語(yǔ)言,生成一個(gè)相應(yīng)的源代碼調(diào)試程序。5.軟件開(kāi)發(fā)工具的評(píng)價(jià)與選擇根據(jù)以下幾個(gè)標(biāo)準(zhǔn)來(lái)評(píng)價(jià)一個(gè)軟件開(kāi)發(fā)工具的優(yōu)劣程度:⑴功能開(kāi)發(fā)工具應(yīng)具有完備的開(kāi)發(fā)功能。⑵硬件要求

硬件要求較低的工具可以節(jié)省相應(yīng)的硬件開(kāi)銷和開(kāi)發(fā)成本。⑶性能軟件開(kāi)發(fā)工具的運(yùn)行速度等性能指標(biāo)將直接影響工具的使用效果。⑷方便性軟件開(kāi)發(fā)工具應(yīng)該具有十分友好的用戶界面。⑸服務(wù)和支持軟件開(kāi)發(fā)工具需要不斷的進(jìn)行升級(jí)和改進(jìn)。提供有效及時(shí)的技術(shù)服務(wù)和支持。重要的軟件維護(hù)工具包括:版本控制工具、文檔管理工具、開(kāi)發(fā)信息庫(kù)工具、逆向工程工具、再工程工具。

⑴版本控制工具版本控制工具用于幫助軟件維護(hù)人員實(shí)現(xiàn)對(duì)軟件版本的存儲(chǔ)、更新、恢復(fù)和管理。典型代表是UNIX操作系統(tǒng)的SCCS(源代碼控制系統(tǒng))。

⑵文檔管理工具對(duì)軟件開(kāi)發(fā)過(guò)程中產(chǎn)生的文檔進(jìn)行分析、組織、維護(hù)和管理。

⑶開(kāi)發(fā)信息庫(kù)工具記錄每個(gè)對(duì)象的開(kāi)發(fā)與修改信息;維護(hù)對(duì)象和與之相關(guān)信息間的關(guān)系。10.1.2軟件維護(hù)工具現(xiàn)在的逆向工程工具能夠分析高級(jí)程序設(shè)計(jì)語(yǔ)言的源程序,恢復(fù)出程序的控制結(jié)構(gòu)、流程圖、PAD圖等更高級(jí)的抽象信息。

⑸再工程工具再工程是在獲得軟件設(shè)計(jì)信息的同時(shí),利用這些信息修改或重構(gòu)軟件系統(tǒng)的工作。根據(jù)用戶的需求,軟件開(kāi)發(fā)人員可利用再工程重新實(shí)現(xiàn)已有的軟件系統(tǒng),同時(shí)增加新的功能和改進(jìn)性能。

⑷逆向工程工具軟件的逆向工程是指對(duì)已有的程序進(jìn)行分析,以獲得比源代碼更高級(jí)的表現(xiàn)形式,是一個(gè)設(shè)計(jì)恢復(fù)的過(guò)程。軟件管理與支持工具中,比較重要的包括:項(xiàng)目管理工具、配置管理工具、軟件評(píng)價(jià)工具、風(fēng)險(xiǎn)分析工具。⑴軟件評(píng)價(jià)工具幫助軟件產(chǎn)品的管理與支持人員對(duì)軟件產(chǎn)品的質(zhì)量加以保證。如ISO軟件質(zhì)量度量模型、McCall軟件度量模型等。⑵軟件配置管理工具

對(duì)軟件修改進(jìn)行標(biāo)示、組織和控制的技術(shù),用來(lái)協(xié)調(diào)和控制軟件開(kāi)發(fā)的整個(gè)過(guò)程。是軟件質(zhì)量保證的重要環(huán)節(jié)。

10.1.3軟件管理與支持工具⑶軟件項(xiàng)目管理工具

主要任務(wù)是制定軟件開(kāi)發(fā)計(jì)劃,跟蹤、監(jiān)督和協(xié)調(diào)軟件開(kāi)發(fā)的進(jìn)度,以保證軟件產(chǎn)品能夠按時(shí)保質(zhì)完成。

⑷風(fēng)險(xiǎn)分析工具標(biāo)示潛在的風(fēng)險(xiǎn)并設(shè)計(jì)相應(yīng)的計(jì)劃去緩解、監(jiān)控和管理風(fēng)險(xiǎn),這對(duì)于一個(gè)大型項(xiàng)目是極為重要的。風(fēng)險(xiǎn)分析工具可以通過(guò)提供對(duì)風(fēng)險(xiǎn)標(biāo)示和分析的詳細(xì)指南,使得項(xiàng)目管理者能夠有效地對(duì)在軟件項(xiàng)目開(kāi)發(fā)過(guò)程出現(xiàn)的風(fēng)險(xiǎn)進(jìn)行控制和規(guī)避。10.2集成化CASE環(huán)境分散的軟件開(kāi)發(fā)工具都只在軟件產(chǎn)品的某個(gè)開(kāi)發(fā)階段起作用,它們有著不同的用戶界面、不同的數(shù)據(jù)存儲(chǔ)格式,不能夠有效的進(jìn)行相互通信和數(shù)據(jù)共享,這些缺陷極大地限制了其最大效能的發(fā)揮。為克服以上缺陷,將多個(gè)CASE工具結(jié)合起來(lái)構(gòu)成集成化的CASE環(huán)境,使得各種軟件開(kāi)發(fā)信息能夠在不同CASE工具之間、不同開(kāi)發(fā)階段以及不同開(kāi)發(fā)人員之間順暢的傳遞。集成化的CASE環(huán)境大致劃分為以下幾種層次:

具有信息傳遞的軟件工具集環(huán)境中工具之間完全獨(dú)立,它們之間有著不同的用戶界面和信息的存儲(chǔ)格式。借助操作系統(tǒng)的文件服務(wù)和數(shù)據(jù)交換服務(wù),實(shí)現(xiàn)不同工具之間的數(shù)據(jù)交換和共享。集成度非常低。工具B信息轉(zhuǎn)換器工具A專有開(kāi)發(fā)信息專有開(kāi)發(fā)信息具有信息傳遞的軟件工具集

(2)具有公共界面的軟件工具集提供了一致的公共用戶界面和操作方式,但軟件工具之間的數(shù)據(jù)交換仍然沿用了在不同格式的文件導(dǎo)入/導(dǎo)出的方式,這嚴(yán)重的影響了彼此之間數(shù)據(jù)交換的效率和數(shù)據(jù)的完全性與完整性。工具B信息轉(zhuǎn)換器工具A專有開(kāi)發(fā)信息專有開(kāi)發(fā)信息公共用戶界面具有公共界面的軟件工具集⑶信息共享的軟件工具集

工具之間不僅具有一致的用戶界面和操作方式而且對(duì)不同工具的開(kāi)發(fā)信息進(jìn)行統(tǒng)一的存儲(chǔ)和管理。從根本上解決了在不同的軟件工具之間進(jìn)行信息交換的問(wèn)題,提高了工具之間的繼承度。工具B信息轉(zhuǎn)換器工具A專有開(kāi)發(fā)信息專有開(kāi)發(fā)信息公共用戶界面共享的軟件工程信息庫(kù)信息共享的軟件工具集10.2.2集成化CASE開(kāi)發(fā)環(huán)境的體系結(jié)構(gòu)

一個(gè)集成化的CASE開(kāi)發(fā)環(huán)境通常需要完成以下三個(gè)層次集成:

1.平臺(tái)的集成為實(shí)現(xiàn)運(yùn)行在不同計(jì)算機(jī)硬件和操作系統(tǒng)平臺(tái)上的CASE工具間的互操作和數(shù)據(jù)共享,基于平臺(tái)的集成就成為急需解決的問(wèn)題。

2.界面的集成指集成化的CASE環(huán)境中的各種軟件開(kāi)發(fā)工具都采用統(tǒng)一的用戶交互界面和方式。

3.數(shù)據(jù)的集成為實(shí)現(xiàn)不同的CASE工具之間的數(shù)據(jù)交換與共享,數(shù)據(jù)的集成是需要解決的一個(gè)核心問(wèn)題。

CASE開(kāi)發(fā)環(huán)境體系結(jié)構(gòu)

用戶界面層對(duì)象管理層軟件工程信息庫(kù)工具集成層工具A工具N工具B…集成化的CASE開(kāi)發(fā)環(huán)境的體系結(jié)構(gòu)

1.用戶界面層由一個(gè)標(biāo)準(zhǔn)化的統(tǒng)一的界面工具箱和各個(gè)CASE工具所共同遵守的界面協(xié)議所組成。

2.工具集成層工具集成層主要完成對(duì)構(gòu)成集成CASE開(kāi)發(fā)環(huán)境的所有工具的管理和協(xié)調(diào)任務(wù)。

3.對(duì)象管理層主要完成在集成CASE開(kāi)發(fā)環(huán)境中對(duì)軟件開(kāi)發(fā)信息的管理和集成,實(shí)現(xiàn)CASE工具與信息的集成以及信息與信息的集成。

4.軟件工程信息庫(kù)在整個(gè)集成CASE開(kāi)發(fā)環(huán)境中,軟件工程信息庫(kù)處于一個(gè)核心地位,是其他層次模塊的基礎(chǔ)。10.3軟件開(kāi)發(fā)工具RationalRoseRationalRose是Rational公司出品的基于UML的功能強(qiáng)大的可視化建模工具,與多種開(kāi)發(fā)環(huán)境無(wú)縫集成并支持多種開(kāi)發(fā)語(yǔ)言,包括:VisualBasic、Java、PowerBuilder、C++、Ada、Smalltalk、XMLDTD等??梢赃\(yùn)行RationalRose的系統(tǒng)平臺(tái)包括了目前大多數(shù)的主流操作系統(tǒng),如:Windows9X、Windows2000、Solaris、AIX和HP-UX等。Rose支持面向?qū)ο箝_(kāi)發(fā)方法所有階段的建模,已成為建立軟件系統(tǒng)模型最有力的工具。Rose的用戶界面Rose的用戶界面框圖工具欄框圖窗口文檔窗口瀏覽窗口菜單條標(biāo)準(zhǔn)工具欄Rose的用戶界面包括以下幾個(gè)部分:

⑴菜單條:包含了所有的Rose命令和操作;

⑵標(biāo)準(zhǔn)工具欄:快速訪問(wèn)Rose中常用命令和操作;

⑶瀏覽窗口:采用樹(shù)型的層次結(jié)構(gòu),用于在Rose模型中進(jìn)行瀏覽,訪問(wèn)Rose模型中的各個(gè)模型元素;

⑷文檔窗口:為模型元素建立說(shuō)明文檔;

⑸框圖工具欄:根據(jù)打開(kāi)的UML模型圖的類型,在模型圖中添加各種模型元素。

⑹框圖窗口:用于顯示和編輯Rose模型中的各種UML模型圖。當(dāng)增刪、修改框圖窗口中的模型元素時(shí),Rose會(huì)自動(dòng)更新瀏覽窗口中的內(nèi)容;

業(yè)務(wù)用例圖(BusinessUseCaseDiagram)用于建立機(jī)構(gòu)的業(yè)務(wù)模型,描述機(jī)構(gòu)業(yè)務(wù)執(zhí)行的流程和所提供的功能等內(nèi)容。10.3.1業(yè)務(wù)用例圖創(chuàng)建業(yè)務(wù)用例圖在業(yè)務(wù)用例圖中包括以下幾類模型元素:

⑴業(yè)務(wù)用例表示機(jī)構(gòu)中的一組業(yè)務(wù)的執(zhí)行和工作流程。

⑵業(yè)務(wù)執(zhí)行者表示處于機(jī)構(gòu)之外與機(jī)構(gòu)進(jìn)行交互的實(shí)體。

⑶業(yè)務(wù)工人表示處于機(jī)構(gòu)之內(nèi)參與了業(yè)務(wù)執(zhí)行流程的角色。

⑷業(yè)務(wù)實(shí)體機(jī)構(gòu)業(yè)務(wù)流程中可能使用的物理實(shí)體,如資金帳目、客戶定單、客戶資料等等。

⑸機(jī)構(gòu)單元業(yè)務(wù)工人、業(yè)務(wù)實(shí)體和其他相關(guān)模型元素的集合,是組織業(yè)務(wù)模型的機(jī)制。

業(yè)務(wù)用例圖中模型元素之間存在以下兩種關(guān)系:⑴關(guān)聯(lián)關(guān)系:描述執(zhí)行者或業(yè)務(wù)工人與用例之間的通信和聯(lián)系。⑵泛化關(guān)系:描述模型元素之間抽象與具體、一般與特殊的關(guān)系。業(yè)務(wù)用例圖中的關(guān)聯(lián)關(guān)系10.3.2用例圖用例圖(UseCaseDiagram)用于描述一個(gè)軟件系統(tǒng)需要完成什么樣的功能。模型元素之間的幾種關(guān)系:1.包含關(guān)系用例圖中的包含關(guān)系2.擴(kuò)展關(guān)系

用例圖中的擴(kuò)展關(guān)系3.泛化關(guān)系用例圖中的泛化關(guān)系10.3.3類圖類圖創(chuàng)建菜單在瀏覽窗口的邏輯視圖(LogicView)下面,邏輯視圖中一般已有一個(gè)自動(dòng)創(chuàng)建的名為“Main”的類圖。也可通過(guò)右鍵菜單選擇“New?ClassDiagram”創(chuàng)建新的類圖。選擇類圖右側(cè)的工具欄中的“類”(Class)按鈕,可以在類圖中創(chuàng)建一個(gè)新的類。并為其指定類名,增加相應(yīng)的屬性和行為。“Book”類的屬性設(shè)置定義類之間的關(guān)系類圖中的多個(gè)類之間存在著彼此的相互關(guān)系,Rose中可在類之間定義關(guān)聯(lián)、聚集、泛化、依賴關(guān)系。1.聚集關(guān)系類之間的聚集關(guān)系2.泛化關(guān)系表示類之間“一般與特殊”、“抽象與具體”的關(guān)系即不同類之間的繼承關(guān)系。

類之間的泛化關(guān)系10.3.4協(xié)作圖與時(shí)序圖1.創(chuàng)建協(xié)作圖通過(guò)菜單“New?CollaborationDiagram”在邏輯視圖(LogicView)中創(chuàng)建了一個(gè)協(xié)作圖,并在其中增加對(duì)象,為新增的對(duì)象設(shè)置規(guī)范:包括對(duì)象的名稱、對(duì)應(yīng)的類名、說(shuō)明文檔等。在對(duì)象之間建立鏈接,對(duì)象之間的鏈接使用實(shí)線表示。同一個(gè)對(duì)象之上也可以建立特殊的“反身鏈接”(LinktoSelf)。鏈接上添加消息,表示對(duì)象之間傳送的信息的內(nèi)容。圖中,描述兩個(gè)對(duì)象之間的鏈接,及在它們之間傳送的3個(gè)消息,并把消息映射為對(duì)象的操作。協(xié)作圖2.創(chuàng)建協(xié)作圖通過(guò)菜單“New?SequenceDiagram”,可以在Rose的邏輯視圖(LogicView)中創(chuàng)建時(shí)序圖。在時(shí)序圖中增加對(duì)象,為該對(duì)象設(shè)置所在的類、對(duì)象的持續(xù)性等屬性。按照時(shí)間順序,在時(shí)序圖中從上到下,在對(duì)象之間添加消息。也可以為對(duì)象之間的消息指定其映射的對(duì)象操作。方法是在消息上點(diǎn)擊鼠標(biāo)右健,從彈出菜單中選擇該消息所映射的操作或者輸入一個(gè)新操作。時(shí)序圖

在瀏覽窗口中使用菜單項(xiàng)“New?ActivityDiagram”可以創(chuàng)建新的活動(dòng)圖??梢栽黾印坝镜馈?SwimLane),并在相應(yīng)的“泳道”中添加相應(yīng)的活動(dòng),在活動(dòng)之間設(shè)置轉(zhuǎn)換和轉(zhuǎn)換發(fā)生需要具備的條件,增加開(kāi)始和結(jié)束狀態(tài)。

10.3.5活動(dòng)圖活動(dòng)圖10.3.7狀態(tài)圖在瀏覽窗口中使用菜單項(xiàng)“New?StatechartDiagram”可以創(chuàng)建新的狀態(tài)圖。狀態(tài)圖中可以加入對(duì)象的各種不同狀態(tài),包括“初始狀態(tài)”和“結(jié)束狀態(tài)”。

增加狀態(tài)狀態(tài)設(shè)置完成以后,需要在狀態(tài)之間增加狀態(tài)遷移。圖書(shū)銷售管理系統(tǒng)中“Book”類對(duì)象狀態(tài)圖重要的軟件維護(hù)工具包括:版本控制工具、文檔管理工具、開(kāi)發(fā)信息庫(kù)工具、逆向工程工

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論