基于新信息技術的軟件工程與UML教程(第二版) 課件 項目6-8 軟件交付與維護、認識UML、Rational Rose簡介_第1頁
基于新信息技術的軟件工程與UML教程(第二版) 課件 項目6-8 軟件交付與維護、認識UML、Rational Rose簡介_第2頁
基于新信息技術的軟件工程與UML教程(第二版) 課件 項目6-8 軟件交付與維護、認識UML、Rational Rose簡介_第3頁
基于新信息技術的軟件工程與UML教程(第二版) 課件 項目6-8 軟件交付與維護、認識UML、Rational Rose簡介_第4頁
基于新信息技術的軟件工程與UML教程(第二版) 課件 項目6-8 軟件交付與維護、認識UML、Rational Rose簡介_第5頁
已閱讀5頁,還剩197頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

項目六軟件交付與維護任務一軟件交付任務二軟件維護

任務一軟件交付

一、軟件交付準則計算機軟件的交付階段是繼計算機軟件的需求、設計、編碼、測試等階段之后的一個核對用戶需求、檢驗軟件產(chǎn)品、面向客戶實施應用的階段。本階段后期的工作主旨是通過對計算機軟件產(chǎn)品客戶方的安裝、應用及維護,收集計算機軟件產(chǎn)品運行期出現(xiàn)的問題,及時反饋用戶的使用信息,并轉(zhuǎn)化為計算機軟件產(chǎn)品升級換代的重要性材料。

二、軟件交付過程

1.對計算機軟件項目進行交付前的最終評審

這部分工作主要包括:

(1)核對軟件項目開發(fā)周期各階段形成文檔的完整性。這些階段性文檔包括:

①需求階段:《需求規(guī)格說明書》《項目開發(fā)計劃》《可行性研究報告》《產(chǎn)品設計說明書》《產(chǎn)品發(fā)布計劃》《用戶手冊》《操作手冊》。

②設計階段:《概要設計說明書》《數(shù)據(jù)字典》《詳細設計說明書》《數(shù)據(jù)庫設計說明書》《測試計劃》《質(zhì)量保證計劃》《質(zhì)量配置方案》。

③編碼階段:《測試報告》。

④測試階段:《測試報告》。

(2)評審階段性文檔的真實性、有效性。各階段文檔應當反映出所處階段的工作特點、待完成的工作指標和工作任務,應當符合軟件生命周期各階段的具體工作要求。

2.對計算機軟件項目進行交付階段的最終評審

這部分工作主要包括:

(1)評審最終產(chǎn)品是否符合需求階段《需求規(guī)格說明書》對用戶需求的定義。

(2)評審最終產(chǎn)品在邏輯設計上是否完全覆蓋了用戶的需求。

(3)評審最終產(chǎn)品在軟件測試上是否完全覆蓋了用戶的操作需求。

(4)安排、評審最終產(chǎn)品后期維護的準備工作。

任務二軟件維護

一、軟件維護的概念1.軟件維護的定義軟件維護(SoftwareMaintenance)是一個軟件工程名詞,是指在軟件產(chǎn)品發(fā)布后,因修正錯誤、提升性能或其他屬性而進行的軟件修改。軟件維護主要是指根據(jù)需求變化或硬件環(huán)境的變化對應用程序進行部分或全部的修改,修改時應充分利用源程序。修改后要填寫《程序修改登記表》,并在《程序變更通知書》上寫明新舊程序的不同之處。

具體地說,軟件維護涉及以下幾個方面的任務。

(1)改正性維護:由于軟件測試技術的限制,已投入使用的軟件必然會有一些隱藏的錯誤或缺陷,這些隱藏下來的錯誤或缺陷,在某些特定的使用環(huán)境下可能會暴露出來,并有可能影響到軟件的正常使用。因此,軟件技術人員需要對暴露出來的軟件錯誤進行診斷,并設法改正這個錯誤。這個診斷與改正錯誤的過程就叫作改正性維護。

(2)適應性維護:隨著計算機技術的飛速發(fā)展,軟件的工作環(huán)境,例如硬件設備、軟件配置、數(shù)據(jù)環(huán)境、網(wǎng)絡環(huán)境等都有可能發(fā)生變化,為了使軟件適應這種變化,往往需要對軟件進行改造。這個為使軟件適應新的工作環(huán)境而對軟件進行改造的過程,就叫作適應性維護。

(3)完善性維護:在軟件使用過程中,用戶難免會對軟件提出一些新的與完善軟件有關的要求,例如,要求增加一些新的功能,要求對系統(tǒng)原有的功能關系做一些調(diào)整,要求提高數(shù)據(jù)檢索速度,要求操作界面更加人性化等,為了滿足這些要求,就必須對軟件進行改造,以使軟件在功能、性能、界面等方面有所進化,由于這些原因而對軟件進行的維護活動,就叫作完善性維護。

(4)預防性維護:預防性維護是為了改進應用軟件的可靠性和可維護性,適應未來的軟硬件環(huán)境的變化,而主動增加預防性的新功能,以使應用系統(tǒng)適應各類變化而不被淘汰。例如將專用報表功能改成通用報表生成功能,以適應將來報表格式的變化。這方面的維護工作量占整個維護工作量的4%左右。

2.影響維護工作的因素

有關研究表明,影響軟件維護工作量的因素歸納起來主要有以下幾個方面:

(1)系統(tǒng)大小。

(2)程序設計語言。

(3)系統(tǒng)文檔。

(4)系統(tǒng)年齡。

(5)其他因素。

3.非結構化與結構化維護

1)非結構化維護

非結構化維護往往與早期軟件非工程化開發(fā)有關系,是軟件開發(fā)過程中沒有按照軟件工程原則實施軟件開發(fā)的后遺癥。

2)結構化維護

軟件工程所要求的是結構化維護,它建立在嚴格按照軟件工程原則實施軟件開發(fā)的基礎上,因此各個階段的文檔完整,能夠比較全面地說明軟件的功能、性能、軟件結構、數(shù)據(jù)結構、系統(tǒng)接口和設計約束等,這些都將給后續(xù)軟件的維護帶來便利。

二、軟件維護的實施

1.維護機構

隨著軟件維護工作量的不斷增加,許多軟件開發(fā)單位開始意識到了設立軟件維護機構的重要性。這種維護機構有可能是一個臨時維護小組,也有可能是一個長期專門從事軟件維護的職能部門。

1)維護機構的人員組成

一項維護工作,無論是臨時的還是長期的,都往往會涉及以下人員或角色:

(1)維護機構負責人:全權負責所有維護活動,包括技術與管理兩個方面的工作,并負責向上級主管部門報告維護工作的開展情況。

(2)系統(tǒng)監(jiān)督員:負責對維護申請進行技術性評價,以確保維護的有效性。

(3)配置管理員:進行與軟件維護有關的軟件配置管理。

(4)維護管理員:負責同軟件開發(fā)部門或其他部門的聯(lián)系,收集、整理有關維護的信息。

(5)維護技術人員:負責分析程序錯誤、進行程序修正。

2)維護機構工作人員之間的協(xié)作關系

為使維護工作正常開展,上述維護人員需要協(xié)作工作,例如可以按照下面的協(xié)作關系與工作步驟實施對軟件的維護:

(1)有關人員將維護申請報告表提交給維護管理員登記。

(2)維護管理員把維護申請報告交系統(tǒng)監(jiān)督員進行技術性評價。

(3)系統(tǒng)監(jiān)督員從技術角度對該項維護的可行性、必要性等做出說明。

(4)在得到系統(tǒng)監(jiān)督員的技術性評價之后,維護管理員把維護申請報告表提交給維護機構負責人。

(5)維護機構負責人將根據(jù)對維護申請報告的技術評價,決定如何進行軟件維護。

(6)維護機構負責人需要將維護決定通知維護管理員,以便維護管理員能夠及時安排相關技術人員實施維護。

(7)維護機構負責人還需要將維護決定通知配置管理員,以便技術人員在對系統(tǒng)進行維護的過程中,配置管理員能夠嚴格把關,控制維護范圍,并對軟件配置進行審計。

圖6-1是維護機構工作人員之間的協(xié)作關系。

圖6-1維護機構工作人員之間的協(xié)作關系

2.維護申請報告

在維護過程中,軟件維護機構內(nèi)部還應該制定一份軟件修改報告,該報告是維護階段的技術性文檔,其一般包含以下信息:

(1)維護工作量;

(2)維護類型;

(3)維護的優(yōu)先順序;

(4)預見的維護結果。

3.軟件維護工作流程

軟件維護的工作流程如圖6-2所示,其主要工作步驟如下:

(1)確定維護類型。由于用戶的看法可能會與維護人員的評價不一致,當出現(xiàn)意見不一致時,維護人員應該與用戶進行協(xié)商。

(2)對于改正性維護申請,需要先對錯誤的嚴重程度進行評價。如果存在嚴重的錯誤,則必須立即安排維護人員進行“救火”式的緊急維護;對于不太嚴重的錯誤,則可根據(jù)任務情況和問題的嚴重程度列入維護計劃,按優(yōu)先順序統(tǒng)一安排維護時間。

圖6-2軟件維護工作流程

(3)對于適應性維護和完善性維護申請,需要先確定每項申請的優(yōu)先次序。若某項申請的優(yōu)先級非常高,就可立即開始維護工作,否則應將維護申請納入軟件開發(fā)任務計劃進行排隊(適應性維護與完善性維護可當作開發(fā)看待),統(tǒng)一安排維護時間。

4.維護記錄

為了估計軟件維護的有效程度,確定軟件產(chǎn)品的質(zhì)量,同時確定維護的實際開銷,需要在維護的過程中做好維護檔案記錄。

5.維護評價

維護評價可參考的度量值如下:

(1)每次程序運行時的平均出錯次數(shù);

(2)花費在每類維護上的總“人時”數(shù);

(3)每個程序、每種語言、每種維護類型的程序平均修改次數(shù);

(4)因為維護,增加或刪除每個源程序語句所花費的平均“人時”數(shù);

(5)用于每種語言的平均“人時”數(shù);

(6)維護申請報告的平均處理時間;

(7)各類維護申請的百分比。項目七認識UML任務一了解UML的發(fā)展任務二認識UML的結構任務三認識UML的視圖

任務一了解UML的發(fā)展一、UML的發(fā)展歷程1.什么是UMLUML即統(tǒng)一建模語言又稱標準建模語言,是始于1997年的一個OMG標準,它是一個支持模型化和軟件系統(tǒng)開發(fā)的圖形化語言,為軟件開發(fā)的所有階段提供模型化和可視化支持,包括由需求分析到規(guī)格,再到構造和配置。面向?qū)ο蟮姆治雠c設計(OOAD)方法的發(fā)展在20世紀80年代末至90年代中期出現(xiàn)了一個高潮,UML是這個高潮的產(chǎn)物。它不僅統(tǒng)一了Booch、Rumbaugh和Jacobson的表示方法,而且對其作了進一步的發(fā)展,并最終統(tǒng)一為大眾所接受的標準建模語言。

2.什么是模型

模型是一個系統(tǒng)、完整的抽象。人們對某個領域特定問題的求解及解決方案,對它們的理解和認識都蘊含在模型中。

通常,開發(fā)一個計算機系統(tǒng)是為了解決某個領域的特定問題,問題的求解過程,就是從領域問題到計算機系統(tǒng)的映射(見圖7-1)。

圖7-1解決問題域過程

3.UML的發(fā)展過程

20世紀90年代中期,面向?qū)ο蠓椒ㄒ呀?jīng)成為軟件分析和設計方法的主流。1994年10月,Booch和Rumbargh(見圖7-2)開始著手建立統(tǒng)一建模語言的工作。

圖7-2UML的創(chuàng)始人

自此UML已基本上完成了標準化的工作。1997年11月,OMG(對象管理組織)采納UML1.1作為面向?qū)ο蠹夹g的標準建模語言,UML成為可視化建模語言事實上的工業(yè)標準,已穩(wěn)占面向?qū)ο蠹夹g市場85%的份額。圖7-3所示為UML的發(fā)展史。

圖7-3UML的發(fā)展史

二、UML的特點及應用

1.UML的特點

(1)UML統(tǒng)一了各種方法對不同類型的系統(tǒng)、不同開發(fā)階段以及不同內(nèi)部概念的不同觀點,從而有效地消除了各種建模語言之間不必要的差異。

(2)UML建模能力比其他面向?qū)ο蠼7椒ǜ鼜姟?/p>

(3)?UML是一種建模語言,而不是一個開發(fā)過程。

2.UML的應用

UML的主要目標是以面向?qū)ο髨D的方式來描述任何類型的系統(tǒng)。UML最常用于建立軟件系統(tǒng)的模型,也可描述非軟件領域的系統(tǒng),如機械系統(tǒng)、企業(yè)機構、業(yè)務過程、信息系統(tǒng)、實時的工業(yè)系統(tǒng)和工業(yè)過程等。

UML的應用貫穿在系統(tǒng)開發(fā)的五個階段。

1)需求分析

2)系統(tǒng)分析

3)系統(tǒng)設計

4)實現(xiàn)

5)測試

任務二認識UML的結構

一、UML的定義UML的定義包括UML語義和UML表示法兩個部分。

1.UML語義UNL語義描述基于UML的精確元模型(Meta-model)定義。元模型為UML的所有元素在語法和語義上提供了簡單、一致、通用的定義性說明,使開發(fā)者能在語義上取得一致,消除了因人而異的表達方法所造成的影響。

2.UML表示法

UML表示法是定義UML符號的表示法,為開發(fā)者或開發(fā)工具使用這些圖形符號和文本語法進行系統(tǒng)建模提供了標準。這些圖形符號和文字所表達的是應用級的模型,在語義上它是UML元模型的實例。

二、UML的構成

作為建模語言,UML由以下幾部分構成(見圖7-4):

(1)基本語言構成:語言的構成成分,包括要素、關系、圖。

(2)語義規(guī)則:語言的語法和語義規(guī)則。

(3)公共機制:規(guī)范說明、語言擴展等。

圖7-4UML的構成

1.UML的要素

1)結構事物

結構事物是模型中的靜態(tài)部分,用以呈現(xiàn)概念或?qū)嶓w的表現(xiàn)元素,是軟件建模中最常見的元素,共有七種:

(1)類(Class):具有相同屬性、方法、關系和語義的對象的集合(見圖7-5)。圖7-5類

(2)接口(Interface):類或組件所提供的服務(操作),描述了類或組件對外可見的活動(見圖7-6)。圖7-6接口

(3)協(xié)作(Collaboration):描述合作完成某個特定任務的一組類及其關聯(lián)的集合,用于對使用情形的實現(xiàn)建模(見圖7-7)。圖7-7協(xié)作

(4)用例(UseCase):定義了參與者(在系統(tǒng)外部與系統(tǒng)交互的人或系統(tǒng))和被考慮的系統(tǒng)之間的交互來實現(xiàn)的一個業(yè)務目標(見圖7-8)。圖7-8用例

(5)活動類(ActiveClass):其對象有一個或多個進程或線程。活動類和類很相像,只是它的對象代表的元素的行為和其他的元素是同時存在的(見圖7-9)。圖7-9活動類

(6)組件(Component):它是物理的、可替換的部分,包含接口的集合(見圖7-10),例如COM+、JavaBean等。圖7-10組件

(7)結點(Node):它是系統(tǒng)在運行時存在的物理元素,代表一個可計算的資源,通常占用一些內(nèi)存并具有處理能力(見圖7-11)。圖7-11結點

2)行為事物

行為事物指的是UML模型中的動態(tài)部分,代表語句里的“動詞”,表示模型里隨著時空不斷變化的部分,包含以下兩類:

(1)消息:一組對象之間為完成某一項任務而進行的一系列消息交換的行為說明(見圖7-12)。圖7-12消息

(2)狀態(tài):一個對象或一個交互在生命期內(nèi)響應事件所經(jīng)歷的狀態(tài)序列(見圖7-13)。圖7-13狀態(tài)

3)分組事物

可以把分組事物看成是一個“盒子”,模型可以在其中被分解。目前只有一種分組事物,即包(Package)(見圖7-14)。結構事物、行為事物甚至分組事物都有可能放在一個包中。包純粹是概念上的,只存在于開發(fā)階段。圖7-14包

4)注釋事物

注釋事物是UML模型的解釋部分(見圖7-15)。圖7-15注釋

2.UML的關系

UML模型是由各種事物及這些事物之間的各種關系構成的。關系指支配、協(xié)調(diào)各種模型元素存在并相互使用的規(guī)則。UML中主要包含四種關系,分別是關聯(lián)、泛化、實現(xiàn)和依賴。

1)關聯(lián)關系

只要兩個類之間存在某種關系,就認為兩個類之間存在關聯(lián)。關聯(lián)是人們賦予事物之間的聯(lián)系,即只要認為兩個事物之間有某種聯(lián)系,就認為事物之間存在關聯(lián)。在UML中,使用一條實線來表示關聯(lián)關系,如圖7-16所示。

圖7-16關聯(lián)關系

在關聯(lián)關系中,有兩種比較特殊的關系,它們是聚合關系和組合關系。

(1)聚合關系。聚合(Aggregation)是一種特殊形式的關聯(lián),表示類之間的關系是整體與部分的關系。聚合關系是一種松散的對象間關系,如計算機與它的外圍設備就是聚合關系。一臺計算機和它的外設之間只是很松散地結合在一起,這些外設既可有可無,又可以與其他計算機共享,即部分可以離開整體而存在。

聚合關系的表示方法如圖7-17(a)所示。其中菱形端表示事物的整體,另一端表示事物的部分。如計算機就是整體,外設就是部分。

(2)組合關系。如果發(fā)現(xiàn)“部分”類的存在是完全依賴于“整體”類的,那么就應使用“組合”關系來描述。組合關系是一種非常強的對象間關系,就像樹和樹葉之間的關系一樣。樹和它的葉子緊密聯(lián)系在一起,葉子完全依賴樹,它們不能被其他的樹所分享,并且當樹死去時,葉子也會隨之死去——這就是組合。在組合關系中,部分依賴于整體而存在。組合是一種較強的聚合關系,它的表示方法如圖7-17(b)所示。

圖7-17表示聚合關系和組合關系的UML符號

2)泛化關系

泛化關系描述了從特殊事物到一般事物之間的關系,也就是子類到父類之間的關系,或者子接口到父接口的關系。表示泛化關系的符號是從子類指向父類的帶空心箭頭的實線,如圖7-18所示。從父類到子類的關系則是特化關系。圖7-18表示泛化關系的UML符號

3)實現(xiàn)關系

實現(xiàn)關系是用來規(guī)定接口與實現(xiàn)接口的類之間的關系。接口是操作的集合,這些操作聲明了類或組件所提供的服務。表示實現(xiàn)關系的符號是從類指向接口的帶空心箭頭的虛線,如圖7-19所示。圖7-19表示實現(xiàn)關系的UML符號

4)依賴關系

假設有兩個元素X、Y,如果元素X的值發(fā)生變化,就會引起元素Y的值發(fā)生變化,則稱元素Y依賴(Dependency)于元素X。表示依賴關系的UML符號如圖7-20所示。圖7-20表示依賴關系的UML符號

3.UML的圖

元素符號代表了簡單事物,簡單事物通過一定關系組合成復雜事物,圖就是用來表示復雜事物的。每個圖是由代表簡單事物的元素符號和代表事物關系的關系符號構成的。

UML中的圖可分為兩大類:從使用的角度來看,可以將UML的九種圖分為結構圖(也稱為靜態(tài)模型)和行為圖(也稱為動態(tài)模型)兩大類,如圖7-21所示。

圖7-21UML圖的組成

1)結構圖

結構圖描繪系統(tǒng)中事物的組成及結構關系,它又分為以下五種:

(1)類圖(ClassDiagram):它展現(xiàn)了一組對象、接口、協(xié)作和它們之間的關系,描述的是一種靜態(tài)關系,在系統(tǒng)的整個生命周期都是有效的,是面向?qū)ο笙到y(tǒng)的建模中最常見的圖。

類用來表示系統(tǒng)中需要處理的事物。類與類之間有很多連接方式,比如關聯(lián)、依賴、泛化或打包。類與類之間的這些關系都體現(xiàn)在類圖的內(nèi)部結構之中,可通過類的屬性和操作反映出來。在系統(tǒng)的生命周期中,類圖所描述的靜態(tài)結構在任何情況下都是有效的。一個典型的系統(tǒng)中通常有若干個類圖。一個類圖不一定包含系統(tǒng)中的所有類,一個類還可以加到幾個類圖中。訂貨系統(tǒng)的類圖如圖7-22所示。

圖7-22訂貨系統(tǒng)的類圖

(2)組件圖(ComponentDiagram):它展現(xiàn)了一組組件的物理結構和組件之間的依賴關系。組件圖有助于分析和理解組件之間的相互影響程度。組件圖如圖7-23所示。

圖7-23組件圖

(3)對象圖(ObjectDiagram):它展現(xiàn)了一組對象以及它們之間的關系。對象圖是類圖的實例,幾乎使用與類圖完全相同的標示。對象圖如圖7-24所示。圖7-24對象圖

(4)部署圖(DeploymentDiagram):它展現(xiàn)了運行處理結點以及其中的組件的配置。部署圖給出了系統(tǒng)的體系結構和靜態(tài)實施視圖。它與組件圖相關,通常一個結點包含一個或多個組件。部署圖如圖7-25所示。圖7-25部署圖

(5)包圖:它用于描繪包之間的依賴關系。包圖如圖7-26所示。圖7-26包圖

2)行為圖

行為圖描繪系統(tǒng)中事物間的交互行為,它又分為以下五種:

(1)用例圖:它用于顯示若干角色以及這些角色與系統(tǒng)提供的用例之間的連接關系。用例描述了系統(tǒng)的工作方式,以及系統(tǒng)能提供的服務。用例圖描述了系統(tǒng)外部參與者如何使用系統(tǒng)提供的服務,也就是站在系統(tǒng)外部察看系統(tǒng)功能,它并不描述系統(tǒng)內(nèi)部對該功能的具體操作方式。用例圖是定義系統(tǒng)的功能需求。用例圖如圖7-27所示。

圖7-27用例圖

(2)活動圖:它用于顯示系統(tǒng)內(nèi)部的活動控制流程。通常需要使用活動圖描述不同的業(yè)務過程?;顒訄D由各種動作狀態(tài)構成,每個動作狀態(tài)包含可執(zhí)行動作的規(guī)范說明。一旦某個動作執(zhí)行完畢,該動作的狀態(tài)就會隨著改變。這樣,動作狀態(tài)的控制就從一個狀態(tài)流向另一個與之相連的狀態(tài)?;顒訄D如圖7-28所示。

圖7-28活動圖

(3)狀態(tài)圖:它用于顯示對象從一種狀態(tài)遷移到其他狀態(tài)的轉(zhuǎn)換過程。狀態(tài)圖是一個動態(tài)視圖,對事件驅(qū)動的行為建模尤其重要,例如可以利用狀態(tài)圖描述一個電話路由系統(tǒng)中交換機的狀態(tài),不同的事件可以令交換機轉(zhuǎn)移至不同的狀態(tài),用狀態(tài)圖對交換機建模有助于理解交換機的動態(tài)行為。在UML2.0中,狀態(tài)圖被稱為狀態(tài)機圖(StateMachineDiagram)。狀態(tài)圖如圖7-29所示。

圖7-29狀態(tài)圖

(4)時序圖:它用于來反映若干個對象之間的動態(tài)協(xié)作關系,也就是隨著時間的流逝,對象之間是如何交互的。它強調(diào)一個系統(tǒng)中間相互作用時消息的時間順序。時序圖由若干個對象組成,每個對象用一個垂直的虛線表示,每個對象的正下方有一個矩形條,它與垂直的虛線相疊,矩形條表示該對象隨著時間流逝的過程,對象之間傳遞的消息用消息箭頭表示,它們位于表示對象的垂直虛線之間。時序圖如圖7-30所示。

圖7-30時序圖

(5)協(xié)作圖:它和時序圖的作用一樣,反映的也是動態(tài)協(xié)作。由于協(xié)作圖和時序圖都反映對象之間的交互,所以建模者可以任意選擇一種反映對象間的協(xié)作。如果強調(diào)時間和序列,最好選擇時序圖;如果強調(diào)上下文相關,最好選擇協(xié)作圖。協(xié)作圖與對象圖畫法一樣,圖中有若干個對象及它們之間的關系,對象之間流動的消息用箭頭表示,箭頭中間用標簽標識消息被發(fā)送的序號、條件、迭代方式、返回值等。協(xié)作圖如圖7-31所示。

圖7-31協(xié)作圖

三、UML語義規(guī)則

UML語義規(guī)則指語言的語法和語義規(guī)則。在UML中,代表事物的元素符號在使用時應遵守一系列規(guī)則,每個元素必須遵守的三種語義規(guī)則如下所述。

(1)名稱:每個元素應該有一個名字,即事物、關系和圖都應該有一個名字。和任何語言一樣,名字即一個標識符。例如:student為一個類的名字。

(2)范圍:每個元素起作用的范圍,相當于程序設計語言中變量的“作用域”。例如:屬性name:string。

(3)可見性:我們知道,UML元素可能屬于一個類或包,因此所有元素都具有可見屬性。

四、UML的公共機制

1.規(guī)格描述

如果把模型元素當成一個對象來看待,那么模型元素本身也應該具有很多的屬性,這些屬性用于維護屬于該模型元素的數(shù)據(jù)值。如圖7-32所示,在左邊的方框中有三個用圖形符號表示的用例,分別是存款、取款和轉(zhuǎn)賬;在右邊的方框中,分別對每個圖形符號表示的用例進行了詳細的文字描述,即規(guī)格描述。

圖7-32圖形符號與對應的規(guī)格描述

2.修飾

在UML中,每個元素符號對事物的主要屬性提供了可視化表示,若想將事物的細節(jié)表示出來,必須對元素符號加以修飾。例如,用斜體字表示抽象類,用?+、-?符號表示元素的訪問級別,這些都是通過修飾符號來表示事物的細節(jié)。所謂修飾就是增加元素符號的內(nèi)涵,為被修飾的元素提供更多的信息。例如:矩形框表示一個類,有類名、屬性、操作等。同時也可增加“可視性”等修飾,如圖7-33所示。

圖7-33修飾

3.通用劃分

UML通用劃分即對UML元素進行分組,包括兩組:類與對象、接口與實現(xiàn)。

(1)類與對象:類是對對象共同特征的描述,是對象的模板,而對象則是類的實例。

(2)接口與實現(xiàn):接口是一種聲明、一個合同、一組方法的集合,而實現(xiàn)則是完成一個合同、實現(xiàn)接口中的聲明。

在UML中,用例就是一種對功能的聲明和定義,是對事物功能的抽象描述,協(xié)作則是實現(xiàn)用例聲明的功能,操作名是聲明服務的,而方法體則是實現(xiàn)服務的。因此,用例與協(xié)作、操作名與方法體之間就是接口與實現(xiàn)的關系。

4.擴展機制

1)構造型

構造型就是指分析師自己定義一種新的UML元素符號,給這種新的元素符號賦予特別的含義,例如分析師可以定義一個元素符號“<<Interrupt>>”,用該元素符號代表“中斷”。

表示同一構造型元素符號的方法有三種,圖7-34所示就是用三種不同方式來表示設備“中斷”這種構造型,其中假設Equipment(設備)是類名稱。

圖7-34構造型的三種表示方法

2)標記值

標記值是用來為事物(元素符號)添加新特征的,其表示方法是用格式如“{標記信息}”的字符串表示。標記信息通常是一個字符串,它由名稱、分隔符和值3個部分組成。例如,標記信息:{name

=“李小平”}。在這個標記信息中,名稱是name;分隔符是=;標記值是“李小平”。其中,名稱表示了事物的屬性,標記值表示了事物的屬性值。

3)約束

約束是用來標識元素之間約束條件,增加新的語義或改變已存在規(guī)則的一種機制(通過文本和OCL兩種方法表示約束)。約束的表示方法和標記值的表示方法類似,都是使用花括號括起來的字符串來表示,不過不能夠把它放在元素中,而是要放在相關的元素附近。

任務三認識UML的視圖

一、UML視圖的作用UML中的視圖包括用例視圖(UseCaseView)、邏輯視圖(LogicalView)、組件視圖(ComponetView)、并發(fā)視圖(ConcurrentView)、部署視圖(DeploymentView)等,這5個視圖被稱作“4+1”視圖,如圖7-35所示。

圖7-35UML的視圖

二、UML的各種視圖

1.用例視圖

用例視圖用于描述系統(tǒng)應該具有的功能集。用例視圖是從系統(tǒng)的外部用戶角度出發(fā),對系統(tǒng)的抽象表示。用例視圖所描述的系統(tǒng)功能依靠于外部用戶或由另一個系統(tǒng)觸發(fā)激活,為用戶或另一個系統(tǒng)提供服務,實現(xiàn)用戶或另一個系統(tǒng)與系統(tǒng)的交互。系統(tǒng)實現(xiàn)的最終目標是提供用例視圖中描述的功能。用例視圖中可以包含若干個用例,用例用來表示系統(tǒng)能夠提供的功能(系統(tǒng)用法),一個用例是系統(tǒng)用法(功能請求)的一個通用描述。

2.邏輯視圖

邏輯視圖可以揭示系統(tǒng)內(nèi)部的設計和協(xié)作狀況。邏輯視圖用來顯示系統(tǒng)內(nèi)部的功能是怎樣設計的,它利用系統(tǒng)的靜態(tài)結構和動態(tài)行為來刻畫系統(tǒng)功能。靜態(tài)結構描述類、對象和它們之間的關系等。動態(tài)行為主要描述對象之間的動態(tài)協(xié)作,當對象之間彼此發(fā)送消息給給定的函數(shù)時產(chǎn)生動態(tài)協(xié)作、一致性和并發(fā)性等性質(zhì),以及接口和類的內(nèi)部結構都要在邏輯視圖中定義。在UML中,靜態(tài)結構由類圖和對象圖進行描述,動態(tài)行為用狀態(tài)圖、順序圖、協(xié)作圖和活動圖描述。

3.并發(fā)視圖

并發(fā)視圖用來顯示系統(tǒng)的并發(fā)工作狀況。并發(fā)視圖將系統(tǒng)劃分為進程和處理機方式,通過劃分引入并發(fā)機制,利用并發(fā)高效地使用資源、并行執(zhí)行和處理異步事件。除了劃分系統(tǒng)為并發(fā)執(zhí)行的控制線程外,并發(fā)視圖還必須處理通信和這些線程之間的同步問題。并發(fā)視圖所描述的方面屬于系統(tǒng)中的非功能性質(zhì)方面。

并發(fā)視圖供系統(tǒng)開發(fā)者和集成者使用。它由動態(tài)圖(狀態(tài)圖、順序圖、協(xié)作圖、活動圖)和執(zhí)行圖(組件圖、部署圖)構成。

4.組件視圖

組件視圖用來顯示代碼組件的組織方式。它描述了系統(tǒng)的實現(xiàn)模塊和它們之間的依賴關系。

組件視圖由組件圖構成。組件是代碼模塊,不同類型的代碼模塊形成不同的組件,組件按照一定的結構和依賴關系呈現(xiàn)。組件的附加信息(如為組件分配資源)或其他管理信息(如進展工作的進展報告)也可以加入到組件視圖中。組件視圖主要供開發(fā)者使用。

5.部署視圖

部署視圖用來顯示系統(tǒng)的物理架構,即系統(tǒng)的物理部署情況,如計算機和設備以及它們之間的連接方式,其中計算機和設備稱為結點。

部署視圖還包括一個映射,該映射顯示在物理架構中組件是怎樣部署的。比如,在每臺獨立的計算機上,哪一個程序或?qū)ο笤谶\行。部署視圖提供給開發(fā)者、集成者和測試者。項目八RationalRose簡介任務一初識RationalRose任務二RationalRose的設置任務三使用RationalRose建模

任務一初識RationalRose

RationalRose是Rational公司推出的支持UML、功能強大、可視化的建模工具。它為基于UML的面向?qū)ο笙到y(tǒng)的建模提供了很好的模型表示方式。RationalRose采用用例視圖、邏輯視圖、組件視圖和部署視圖支持面向?qū)ο蟮姆治龊驮O計,在不同的視圖中建立相應的UML圖形,以反映軟件系統(tǒng)靜態(tài)的、動態(tài)的、物理的或邏輯的特性。

RationalRose具有良好的操作界面,可編輯*.mnu純文本文件、修改和定義主菜單、添加運行模塊;它可以生成各種代碼和數(shù)據(jù)框架(如C++、Java、VisualBasic和Oracle等)。

RationalRose提供了正向/逆向工程的功能,實現(xiàn)在系統(tǒng)的UML設計模型到程序設計語言代碼之間的轉(zhuǎn)換。

一、RationalRose的運行環(huán)境

1.硬件環(huán)境

PC兼容機,600MHz及以上CPU主頻,512MB及以上內(nèi)存,400MB及以上磁盤空間。

2.軟件環(huán)境

(1)操作系統(tǒng)環(huán)境:WindowsNT4.0(SP6)、Windows2000Professional(SP2或SP3)、WindowsXPProfessional(SP2)、Windows2000/2003Server。

(2)數(shù)據(jù)庫環(huán)境:支持IBMDB2UniversalDatabase5.x及以上版本、IBMDB2OS3905.x及以上版本、MSSQLServer6.x及以上版本、Oracle7.x及以上版本、SysbaseSystem12等軟件環(huán)境。

二、RationalRose的安裝

(1)雙擊RationalRose2003的安裝程序(壓縮文件),打開“指定文件保存路徑”對話框,如圖8-1所示。單擊【Change】可以改變文件保存路徑;如果要取消安裝,單擊【Cancel】按鈕。

圖8-1指定文件保存路徑

(2)單擊【Next】按鈕,打開“解壓文件”對話框;如果要取消安裝,單擊【Cancel】按鈕。

(3)在(2)的基礎上單擊【Next】按鈕,打開“歡迎進入安裝向?qū)А睂υ捒?,如圖8-2所示;如果要取消安裝,單擊【取消】按鈕。

(4)單擊【下一步】按鈕,打開“選擇產(chǎn)品”對話框,如圖8-3所示。在這里選擇“RationalRoseEnterpriseEdition”。如果要取消安裝,單擊【取消】按鈕;如果要返回到上一步,單擊【上一步】按鈕。

圖8-2歡迎進入安裝向?qū)?/p>

圖8-3選擇產(chǎn)品

(5)單擊【下一步】按鈕,打開“發(fā)布方法”對話框,如圖8-4所示。在這里選擇默認的“DesktopinstallationfromCDimage”。如果要取消安裝,單擊【取消】按鈕;如果要返回到上一步,單擊【上一步】按鈕。

圖8-4發(fā)布方法

(6)單擊【下一步】按鈕,打開“Rose企業(yè)版安裝向?qū)А睂υ捒?,如圖8-5所示。如果要取消安裝,單擊【Cancel】按鈕;如果要返回到上一步,單擊【Back】按鈕。

圖8-5Rose企業(yè)版安裝向?qū)?/p>

(7)單擊【Next】按鈕,打開“產(chǎn)品警告”對話框,如圖8-6所示。如果要取消安裝,單擊【Cancel】按鈕;如果要返回到上一步,單擊【Back】按鈕。

圖8-6產(chǎn)品警告

(8)單擊【Next】按鈕,打開“版權聲明”對話框,如圖8-7所示。在這里選擇“Iacceptthetermsinthelicenseagreement”。如果要取消安裝,單擊【Cancel】按鈕;如果要返回到上一步,單擊【Back】按鈕。

圖8-7版權聲明

(9)單擊【Next】按鈕,打開“目標文件夾”對話框,如圖8-8所示。單擊【Change】可改變程序安裝路徑;如果要取消安裝,單擊【Cancel】按鈕;如果要返回到上一步,單擊【Back】按鈕。

圖8-8目標文件夾

(10)單擊【Next】按鈕,打開“自定義安裝”對話框,如圖8-9所示。在這里可以選擇要安裝的項目;如果要查看磁盤空間,單擊【Space】按鈕;如果要取消安裝,單擊【Cancel】按鈕;如果要返回到上一步,單擊【Back】按鈕。

圖8-9自定義安裝

(11)單擊【Next】按鈕,打開“準備安裝”對話框,如圖8-10所示。如果要取消安裝,單擊【Cancel】按鈕;如果要返回到上一步,單擊【Back】按鈕。

圖8-10準備安裝

(12)安裝完成后,打開“安裝完成”對話框,如圖8-11所示。單擊【Finish】按鈕完成RationalRose2003的安裝。

圖8-11安裝完成

任務二RationalRose的設置

一、常規(guī)設置

在Rose全局設置對話框中選擇【General】選項卡,可以完成默認字體、默認顏色、布局等常規(guī)設置,如圖8-12所示。

圖8-12常規(guī)設置

二、其他設置

在【Options】菜單中,除了常規(guī)設置以外,還可以進行圖形元素、瀏覽器和對應語言等其他設置。如圖8-13所示。圖8-13其他設置

任務三使用RationalRose建模

一、RationalRose的啟動界面啟動RationalRose2003后,出現(xiàn)如圖8-14所示的啟動界面。

圖8-14RationalRose2003的啟動界面

啟動界面消失后,將彈出RationalRose2003的主界面,以及在主界面前彈出的用來設置啟動選項的對話框,該對話框如圖8-15所示。在對話框中,有三個可供選擇的選項卡,分別為【New】(新建)、【Existing】(打開)、【Recent】(最近使用的模型)。

圖8-15新建模型對話框

在【New】(新建)選項卡中可以選擇創(chuàng)建模型的模板,在使用這些模板前,先要確定創(chuàng)建模型的目標與結構,從而能夠選擇一個與將要創(chuàng)建的模型的目標與結構相一致的模板,然后使用該模板定義一系列模型元素,對待創(chuàng)建的模型進行初始化構建。如果需要查看該模板的描述信息,可以在選中此模板后單擊【Detail】按鈕進行查看。如果只是想創(chuàng)建一些模型,這些模型不具體使用哪些模板,單擊【Cancel】按鈕取消即可。圖8-15中的MakeaNewFramework(創(chuàng)建新的框架)選項比較特殊,它用于創(chuàng)建一個新的模板,當選擇MakeaNewFramework后,單擊【OK】按鈕,進入圖8-16所示的創(chuàng)建模板界面。

圖8-16創(chuàng)建新的模板

在【Existing】(打開)選項卡中可以打開一個已存在的模型,如圖8-17所示。在對話框左側的列表中逐級找到該模型所在的目錄,然后從右側的列表中選中該模型并單擊【Open】(打開)按鈕。在打開一個新的模型前,應保存并關閉正在工作的模型,當然在打開已經(jīng)存在模型時也會出現(xiàn)請保存當前正在工作的模型的提示。

圖8-17打開已存在模型

在【Recent】(最近使用的模型)選項卡中可以選擇打開一個最近使用過的模型文件,如圖8-18所示。選中需要打開的模型并單擊【Open】按鈕或者雙擊該模型文件的圖標即可。如果當前已經(jīng)有正在工作的模型文件,在打開新的模型前,Rose會先關閉當前正在工作的模型文件。如果當前工作的模型中包含未保存的內(nèi)容,系統(tǒng)將彈出一個詢問是否保存當前模型的對話框。

圖8-18打開最近使用的模型文件

二、RationalRose的主界面

RationalRose2003的主界面如圖8-19所示。

由圖8-19可以看出,RationalRose2003的主界面主要由標題欄、菜單欄、工具欄、工作區(qū)和狀態(tài)欄構成。

圖8-19RationalRose2003的主界面

1.標題欄

標題欄可以顯示當前正在工作的模型文件名稱,如圖8-20所示,模型的名稱為“模型示例”。對于剛剛新建還未被保存的模型,名稱使用“untitled”表示。除此之外,標題欄還可以顯示當前正在編輯的圖的名稱和位置,如“ClassDiagram:logicalView/Main”代表的是在LogicalView(邏輯視圖)下創(chuàng)建的名為“Main”的ClassDiagram(類圖)。圖8-20標題欄示例

2.菜單欄

菜單欄中包含了所有在RationalRose2003中可以進行的操作,一級菜單共有11項,分別是【File】(文件)、【Edit】(編輯)、【View】(視圖)、【Format】(格式)、【Browse】(瀏覽)、【Report】(報告)、【Query】(查詢)、【Tools】(工具)、【Add-Ins】(插件)、【W(wǎng)indow】(窗口)和【Help】(幫助),如圖8-21所示。圖8-21菜單欄示例

1)【File】

【File】(文件)的子菜單顯示了關于文件的一些操作內(nèi)容,對子菜單的說明如表8-1所示。

其中【Units】的子菜單包含關于Uints的相關操作,如表8-2所示。

表8-2中的【CM】的子菜單的說明如表8-3所示。

2)【Edit】

【Edit】(編輯)的子菜單用于對各種圖進行編輯操作,并且它的子菜單會根據(jù)圖的不同有所不同,但是還會有一些相同的選項,如表8-4所示。不同的選項如表8-5所示。

3)【View】

【View】(視圖)的子菜單用于處理窗口顯示的操作,其內(nèi)容如表8-6所示。

4)【Format】

【Format】(格式)的子菜單用于進行字體等顯示樣式的設置,其內(nèi)容如表8-7所示。

5)【Browse】

【Browse】(瀏覽)的子菜單和【Edit】(編輯)的子菜單類似,根據(jù)不同的圖可以顯示不同的內(nèi)容,共有的菜單內(nèi)容如表8-8所示。根據(jù)不同圖顯示的不同菜單,如表8-9所示。

6)【Report】

【Report】(報告)的子菜單顯示了關于模型元素在使用過程中的一些信息,如表8-10所示。

7)【Query】

【Query】(查詢)的子菜單顯示了關于圖的操作信息,如表8-11所示,在SequenceDiagram(序列圖)、CollaborationDiagram(協(xié)作圖)和DeploymentDiagram(部署圖)中沒有Query(查詢)的菜單選項。

8)【Tools】

【Tools】(工具)的子菜單顯示了各種插件工具的使用,如表8-12所示。

在不同的圖中【Create】可以顯示不同的子菜單,其子菜單內(nèi)容如表8-13所示。

9)【Add-Ins】

【Add-Ins】(插件)的子菜單只有一個,即【Add-InManager】,用于對附加工具的插件進行管理,并標明這些插件是否有效。很多外部的產(chǎn)品都對RationalRose2003提供了“Add-In”支持,用來對Rose的功能進行進一步擴展,如Java、Oracle或者C#等,有了這些“Add-In”,RationalRose2003就可以進行更多深層次的工作了。例如,在安裝了C#的相關插件后,RationalRose2003就可以直接生成C#的框架代碼,也可以從C#代碼轉(zhuǎn)換成RationalRose2003模型,并進行兩者的同步操作。

10)【W(wǎng)indow】

【W(wǎng)indow】(窗口)的子菜單和大多數(shù)應用程序相同,是對編輯區(qū)域窗口的操作,如表8-14所示。

11)【Help】

【Help】(幫助)的子菜單內(nèi)容也和大多數(shù)應用程序相同,包含了系統(tǒng)的幫助信息,如表8-15所示。

3.工具欄

RationalRose2003中工具欄的形式有兩種,分別是標準工具欄和編輯區(qū)工具欄。標準工具欄在任何圖中都可以使用,因此在任何圖中都會顯示,默認的標準工具欄中的內(nèi)容如圖8-22所示,標準工具欄中每個選項的具體操作的詳細說明如表8-16所示。編輯區(qū)工具欄是根據(jù)不同的圖形而設置的具有繪制不同圖形元素功能的工具欄,顯示時位于圖形編輯區(qū)的左側??梢酝ㄟ^【View】|【Toolbars】命令來定制是否顯示標準工具欄和編輯區(qū)工具欄。

圖8-22標準工具欄

標準工具欄和編輯區(qū)工具欄可以通過菜單中的選項進行定制。選擇【Tools】|【Options】命令,彈出如圖8-23所示的對話框,打開【Toolbars】(工具欄)選項卡。圖8-23定制工具欄

在“Customizetoolbars”(定制工具欄)選項組中可以根據(jù)具體情況定制標準工具欄和圖形編輯工具欄的詳細信息。定制標準工具欄時,可以單擊位于“Standard”(標準)選項右側的按鈕,彈出如圖8-24所示的對話框。在該對話框中可以將左側的選項添加到右側的列表框中,這樣在標準工具欄中就會顯示,當然也可以通過這種方式刪除標準工具欄中不用的信息。對于各種圖形編輯工具欄的定制,可以單擊位于該圖右側的按鈕,彈出關于該圖形定制的對話框,圖8-25所示為定制“Deploymentdiagram”編輯區(qū)工具欄對話框,在該對話框中可以添加或刪除在編輯區(qū)工具欄中顯示的信息。

圖8-24定制標準工具欄

圖8-25定制編輯區(qū)工具欄

4.工作區(qū)

工作區(qū)由4部分構成,分別為瀏覽器和文檔區(qū)、編輯區(qū)、日志區(qū)。在工作區(qū)中可以方便地完成繪制各種UML圖形的任務。

1)瀏覽器和文檔區(qū)

瀏覽器和文檔區(qū)位于RationalRose2003工作區(qū)域的左側,如圖8-26所示。

圖8-26瀏覽器和文檔區(qū)

2)編輯區(qū)

編輯區(qū)位于RationalRose2003工作區(qū)域的右側,如圖8-27所示,用于對圖進行編輯操作。編輯區(qū)包含了圖形工具欄和圖的編輯區(qū)域,在圖的編輯區(qū)域中可以根據(jù)圖形工具欄中的圖形元素內(nèi)容繪制相關信息。在圖的編輯區(qū)域添加的相關模型元素會自動地在瀏覽器中添加,從而使瀏覽器和編輯區(qū)的信息保持同步,也可以將瀏覽器中的模型元素拖動到圖形編輯區(qū)中進行添加。

圖8-27編輯區(qū)

3)日志區(qū)

日志區(qū)位于RationalRose2003工作區(qū)域

溫馨提示

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

評論

0/150

提交評論