UML培訓(xùn)資料課件_第1頁
UML培訓(xùn)資料課件_第2頁
UML培訓(xùn)資料課件_第3頁
UML培訓(xùn)資料課件_第4頁
UML培訓(xùn)資料課件_第5頁
已閱讀5頁,還剩92頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

面向?qū)ο筌浖こ?/p>

(標(biāo)準(zhǔn)建模語言)第一頁,共九十七頁。面向?qū)ο筌浖こ堂嫦驅(qū)ο蟆懊嫦驅(qū)ο蟆笔且环N認(rèn)識(shí)客觀世界的世界觀,這種世界觀將客觀世界看成是有許多不同種類的對(duì)象構(gòu)成的,每個(gè)對(duì)象有自己的內(nèi)部狀態(tài)和運(yùn)動(dòng)規(guī)律,不同對(duì)象之間的相互聯(lián)系、相互作用就構(gòu)成了完整的客觀世界。第二頁,共九十七頁。面向?qū)ο筌浖こ堂嫦驅(qū)ο蟆懊嫦驅(qū)ο蟆笔菑慕Y(jié)構(gòu)組織的角度去模擬客觀世界的一種方法,這種方法的基本著眼點(diǎn)是構(gòu)成客觀世界的那些成分對(duì)象。用“面向?qū)ο蟆钡挠^點(diǎn)去認(rèn)識(shí)客觀世界,用“面向?qū)ο蟆钡姆椒ㄈツM客觀世界,這就構(gòu)成了“面向?qū)ο蟆钡耐暾x。第三頁,共九十七頁。面向?qū)ο筌浖こ堂嫦驅(qū)ο蟾拍顚?duì)象對(duì)象是現(xiàn)實(shí)世界中個(gè)體或事物的抽象表示,是其屬性和相關(guān)操作的封裝。屬性表示對(duì)象的性質(zhì),屬性值規(guī)定了對(duì)象所有可能的狀態(tài)。對(duì)象的操作是指該對(duì)象可以展現(xiàn)的外部服務(wù)。第四頁,共九十七頁。面向?qū)ο筌浖こ堂嫦驅(qū)ο蟾拍铑惡蛯?shí)例類是某些對(duì)象的共同特性的表示,它描述了這些對(duì)象內(nèi)部是如何構(gòu)造的。相同類的對(duì)象在它們的操作和它們的信息結(jié)構(gòu)兩個(gè)方面都有相同的定義。在面向?qū)ο笙到y(tǒng)中,每個(gè)對(duì)象都屬于一個(gè)類。屬于某個(gè)特定類的對(duì)象稱為該類的實(shí)例。因此,常常把對(duì)象和實(shí)例當(dāng)作同義詞。實(shí)例是從某類創(chuàng)建的一個(gè)對(duì)象。第五頁,共九十七頁。面向?qū)ο筌浖こ堂嫦驅(qū)ο蟾拍罾^承如果類B繼承類A,那么類A中描述的操作和信息結(jié)構(gòu)將成為類B的一部分。借助繼承,可以表示類之間的類似性,并且在其他類能繼承的一個(gè)類中描述這些相似性。因此,就能夠復(fù)用公共的描述。繼承常常被提倡為軟件工業(yè)界中關(guān)于復(fù)用的一個(gè)核心思想。繼承還有利于軟件維護(hù)。通過抽取和共享公共特性就能夠通用化一些類,并且把它們放在繼承層次的更高位置。同樣,如果希望增加新類,可以尋找這樣一個(gè)類,它已經(jīng)提供了適用于該新類的某些操作和信息結(jié)構(gòu)。然后,讓新類繼承這個(gè)類,只需增加該新類所獨(dú)有的那些內(nèi)容。然后,使這個(gè)類專用化。第六頁,共九十七頁。面向?qū)ο筌浖こ堂嫦驅(qū)ο蠼C嫦驅(qū)ο笏枷氡容^自然地模擬了人類認(rèn)識(shí)客觀世界的方式,面向?qū)ο蟮姆治龊驮O(shè)計(jì)應(yīng)該從建模開始。構(gòu)造模型通常出于以下幾個(gè)目地:在著手解決一個(gè)復(fù)雜問題之前,對(duì)解決方案進(jìn)行檢測;用于同客戶或其他相關(guān)人員進(jìn)行交流;加強(qiáng)視覺效果;對(duì)復(fù)雜問題進(jìn)行簡化。第七頁,共九十七頁。面向?qū)ο筌浖こ堂嫦驅(qū)ο蠼DP褪菍?duì)事物的一種抽象,人們常常在正式建造實(shí)物之前,首先建立一個(gè)簡化的模型,以便更透徹地了解它的本質(zhì),抓住問題的要害;在模型中,人們總是剔除那些與問題無關(guān)的、非本質(zhì)的東西,從而使模型與真實(shí)的實(shí)體相比更加簡單、易于把握;第八頁,共九十七頁。面向?qū)ο筌浖こ堂嫦驅(qū)ο蠼T诮ㄔ煲粋€(gè)復(fù)雜系統(tǒng)時(shí),開發(fā)者必須從多種不同的角度來抽象系統(tǒng),使用準(zhǔn)確的符號(hào)來構(gòu)造模型,然后檢查這些模型是否符合系統(tǒng)的需求,并逐步添加細(xì)節(jié),從而將這些模型轉(zhuǎn)化成實(shí)現(xiàn)方案。建模語言是面向?qū)ο蠼V械囊粋€(gè)非常關(guān)鍵的因素。第九頁,共九十七頁。標(biāo)準(zhǔn)建模語言的設(shè)計(jì)目標(biāo):運(yùn)用面向?qū)ο蟾拍顏順?gòu)造系統(tǒng)模型建立起從概念模型直至可執(zhí)行體之間明顯的對(duì)應(yīng)關(guān)系著眼于那些有重大影響的問題創(chuàng)建一種對(duì)人和機(jī)器都適用的建模語言第十頁,共九十七頁。標(biāo)準(zhǔn)建模語言概要由與1997年11月批準(zhǔn)為標(biāo)準(zhǔn)建模語言()。建立在當(dāng)今國際上最有代表性的三種面向?qū)ο蠓椒ǎ?:)方法,()方法,方法)的基礎(chǔ)之上。是一種建模語言而不是一種方法,本身是獨(dú)立于過程的。第十一頁,共九十七頁。標(biāo)準(zhǔn)建模語言為人們提供了從不同的角度去觀察和展示系統(tǒng)的各種特征的一種標(biāo)準(zhǔn)表達(dá)方式。在中,從任何一個(gè)角度對(duì)系統(tǒng)所作的抽象都可能需要用幾種模型圖來描述,而這些來自不同角度的模型圖最終組成了系統(tǒng)的完整模型。第十二頁,共九十七頁。標(biāo)準(zhǔn)建模語言一般而言,我們可以從以下幾種常用的視角來描述一個(gè)系統(tǒng):系統(tǒng)的使用實(shí)例:從系統(tǒng)外部的操作者的角度描述系統(tǒng)的功能。系統(tǒng)的邏輯結(jié)構(gòu):描述系統(tǒng)內(nèi)部的靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)行為,即從內(nèi)部描述如何設(shè)計(jì)實(shí)現(xiàn)系統(tǒng)功能。系統(tǒng)的構(gòu)成:描述系統(tǒng)由哪些程序構(gòu)件所組成。系統(tǒng)的并發(fā)性:描述系統(tǒng)的并發(fā)性,強(qiáng)調(diào)并發(fā)系統(tǒng)中存在的各種通信和同步問題。系統(tǒng)的配置:描述系統(tǒng)的軟件和各種硬件設(shè)備之間的配置關(guān)系。第十三頁,共九十七頁。標(biāo)準(zhǔn)建模語言模型圖(5類,10種):用例圖靜態(tài)圖(類圖,對(duì)象圖,包圖)行為圖(狀態(tài)圖,活動(dòng)圖)交互圖(順序圖,合作圖)實(shí)現(xiàn)圖(構(gòu)件圖,配置圖)第十四頁,共九十七頁。標(biāo)準(zhǔn)建模語言語義元-元模型:元模型的基礎(chǔ)體系結(jié)構(gòu),定義一種說明元模型的語言元模型:元-元模型的一個(gè)實(shí)例,定義一種說明模型的語言模型:元模型的一個(gè)實(shí)例,定義一種語言來描述信息領(lǐng)域用戶對(duì)象:模型的一個(gè)實(shí)例,定義一個(gè)特定的領(lǐng)域第十五頁,共九十七頁。標(biāo)準(zhǔn)建模語言主要文件:概要()語義()表示法指南()對(duì)象約束語言規(guī)約():該文件定義并介紹了一種對(duì)象約束語言(),其用途是用來說明在圖形化的系統(tǒng)模型中不能充分表達(dá)的建模信息。它是一種形式化語言。第十六頁,共九十七頁。標(biāo)準(zhǔn)建模語言(用例圖)從本質(zhì)上將,一個(gè)用例是用戶與計(jì)算機(jī)之間為達(dá)到某個(gè)目的的一次典型交互作用:用例描述了用戶提出的一些可見的需求;用例可大可?。挥美龑?duì)應(yīng)一個(gè)具體的用戶目標(biāo)第十七頁,共九十七頁。標(biāo)準(zhǔn)建模語言(用例圖)用例圖描述系統(tǒng)外部的執(zhí)行者與系統(tǒng)的用例之間的某種聯(lián)系。所謂用例是指對(duì)系統(tǒng)提供的功能(或稱系統(tǒng)的用途)的一種描述;執(zhí)行者是那些可能使用這些用例的人或外部系統(tǒng);用例和執(zhí)行者之間的聯(lián)系描述了“誰使用哪個(gè)用例”。第十八頁,共九十七頁。標(biāo)準(zhǔn)建模語言(用例圖)用例圖著重于從系統(tǒng)外部執(zhí)行者的角度來描述系統(tǒng)需要提供哪些功能,并且指明了這些功能的執(zhí)行者是誰;用例圖在方法中占有十分重要的地位,人們甚至稱是一種用例圖驅(qū)動(dòng)的開發(fā)方法。第十九頁,共九十七頁。標(biāo)準(zhǔn)建模語言(用例圖)用例圖中的圖符:用例執(zhí)行者系統(tǒng):用于界定系統(tǒng)功能范圍,描述該系統(tǒng)功能的用例都置于其中,而描述外部實(shí)體的執(zhí)行者都置于其外。關(guān)聯(lián):連接執(zhí)行者和用例,表示執(zhí)行者所代表的系統(tǒng)外部實(shí)體與該用例所描述的系統(tǒng)需求有關(guān)。第二十頁,共九十七頁。標(biāo)準(zhǔn)建模語言(用例圖)用例圖中的圖符:使用:由用例A連向用例B,表示用例A中使用了用例B中的行為或功能。擴(kuò)展:由用例A連向用例B,表示用例B描述了一項(xiàng)基本需求,而用例A則描述了該基本需求的特殊情況。注釋體:對(duì)實(shí)體進(jìn)行文字描述注釋連接:將注釋體與要描述的實(shí)體連接,說明該注釋體是針對(duì)該實(shí)體所進(jìn)行的描述。?使用??擴(kuò)展?第二十一頁,共九十七頁。標(biāo)準(zhǔn)建模語言(用例圖)設(shè)置邊界風(fēng)險(xiǎn)分析交易估計(jì)進(jìn)行交易超越邊界更新帳目評(píng)價(jià)貿(mào)易經(jīng)理營銷人員記帳系統(tǒng)銷售人員?使用??使用??擴(kuò)展?第二十二頁,共九十七頁。標(biāo)準(zhǔn)建模語言(用例圖)第二十三頁,共九十七頁。標(biāo)準(zhǔn)建模語言(用例圖)用例模型的獲?。韩@取執(zhí)行者獲取用例第二十四頁,共九十七頁。標(biāo)準(zhǔn)建模語言(用例圖)獲取執(zhí)行者:誰使用系統(tǒng)的主要功能(主要使用者)?誰需要系統(tǒng)支持他們的日常工作?誰來維護(hù)、管理系統(tǒng)使其能正常工作(輔助使用者)?系統(tǒng)需要控制哪些硬件?系統(tǒng)需要與其他哪些系統(tǒng)交互?對(duì)系統(tǒng)產(chǎn)生的結(jié)果感興趣的是哪些人?第二十五頁,共九十七頁。標(biāo)準(zhǔn)建模語言(用例圖)獲取用例:執(zhí)行者要求系統(tǒng)提供哪些功能?執(zhí)行者需要讀、產(chǎn)生、刪除、修改或存儲(chǔ)系統(tǒng)中的信息有哪些類型?必須提醒執(zhí)行者的系統(tǒng)事件有哪些?執(zhí)行者必須提醒系統(tǒng)事件有哪些?怎樣把這些事件表示成用例中的功能?第二十六頁,共九十七頁。標(biāo)準(zhǔn)建模語言(類圖)在面向?qū)ο蟮慕<夹g(shù)中,類、對(duì)象和它們之間的關(guān)系是最基本的建模元素。對(duì)于一個(gè)想要描述的系統(tǒng),其類模型、對(duì)象模型以及它們之間的關(guān)系揭示了系統(tǒng)的結(jié)構(gòu)。類圖描述了系統(tǒng)中的類及其相互之間的各種關(guān)系,其本質(zhì)反映了系統(tǒng)中包含的各種對(duì)象的類型以及對(duì)象間的各種靜態(tài)關(guān)系(關(guān)聯(lián),子類型)。第二十七頁,共九十七頁。標(biāo)準(zhǔn)建模語言(類圖)類圖中的圖符:類:表示一個(gè)類,其中第一欄是類的名,第二欄是類的屬性,第三欄是類的操作。包:包是一種分組機(jī)制,表示一個(gè)類圖集合。關(guān)聯(lián):用于表示類的對(duì)象之間的關(guān)系。其特殊形式有組成關(guān)聯(lián)和聚集關(guān)聯(lián)。OperationsAttributesClassPackage第二十八頁,共九十七頁。標(biāo)準(zhǔn)建模語言(類圖)類圖中的圖符:聚集關(guān)聯(lián):用于表示類的對(duì)象之間的關(guān)系是整體與部分的關(guān)系。組成關(guān)聯(lián):用于表示類的對(duì)象之間的關(guān)系:整體擁有各部分,部分與整體共存,如整體不存在了,部分也會(huì)隨之消失。泛化關(guān)聯(lián):泛化關(guān)系(繼承關(guān)系)定義了類和包間的一般元素和特殊元素之間的分類關(guān)系。第二十九頁,共九十七頁。標(biāo)準(zhǔn)建模語言(類圖)類圖中的圖符:依賴關(guān)系:有兩個(gè)類或包元素X、Y,修改元素X的定義可能會(huì)引起對(duì)另一個(gè)元素Y的定義的修改,則稱元素Y依賴于元素X。對(duì)象:類的一個(gè)實(shí)例。鏈接:用于表示對(duì)象間的關(guān)聯(lián)關(guān)系的一個(gè)實(shí)例。ValuesObject第三十頁,共九十七頁。標(biāo)準(zhǔn)建模語言(類圖)單一繼承CarPoweredVehicleTruckTruckCarPoweredVehicle第三十一頁,共九十七頁。標(biāo)準(zhǔn)建模語言(類圖)多重繼承AircraftPoweredVehicleCarAirplaneTruck第三十二頁,共九十七頁。標(biāo)準(zhǔn)建模語言(類圖)關(guān)聯(lián)的基本表示法PersonCompanyCountry0..*0..*0..*1..*1..10..1居民雇員雇主EmploymentSiteResidence第三十三頁,共九十七頁。標(biāo)準(zhǔn)建模語言(類圖)關(guān)聯(lián)表示的一些說明:并不要求關(guān)聯(lián)一定要有名字。但給所有關(guān)聯(lián)命名(組成和聚集關(guān)聯(lián)除外),是一個(gè)好習(xí)慣。也不需要角色名。但最好給出有意義的角色名。通常簡寫多重性。.0..*簡寫為*,1..1寫為1。第三十四頁,共九十七頁。標(biāo)準(zhǔn)建模語言(類圖)多向關(guān)聯(lián)CompanyPurchasedQuantityItemType減價(jià)程度0..*0..*0..*廠商產(chǎn)品ItemPurchaseCatalogunitPrice:Money第三十五頁,共九十七頁。標(biāo)準(zhǔn)建模語言(類圖)整體/部分關(guān)聯(lián)組成聚集第三十六頁,共九十七頁。標(biāo)準(zhǔn)建模語言(類圖)組成整體:組成對(duì)象([])部分:成分對(duì)象([])如果沒有成分對(duì)象,組成對(duì)象也不存在。在任何時(shí)候,每個(gè)給定的成分對(duì)象只能是組成對(duì)象的組成部分。組成是典型的異構(gòu)。成分對(duì)象可能由多個(gè)類型混合組成。.輪子、車軸、木頭構(gòu)成四輪馬車。第三十七頁,共九十七頁。標(biāo)準(zhǔn)建模語言(類圖)組成滑翔機(jī)機(jī)翼機(jī)尾機(jī)身fuselagetailleftWingrightWing1111第三十八頁,共九十七頁。標(biāo)準(zhǔn)建模語言(類圖)聚集整體:聚集對(duì)象([])部分:構(gòu)成對(duì)象([])構(gòu)成對(duì)象不存在,聚集對(duì)象還可存在。在任何時(shí)候,每個(gè)對(duì)象都可是多個(gè)聚集的構(gòu)成。聚集往往是同構(gòu)的。.森林是樹木構(gòu)成的。第三十九頁,共九十七頁。標(biāo)準(zhǔn)建模語言(類圖)聚集MgmtReportCorporateDivisionCorporationParagraphtextPartdivision0..*0..*11..*第四十頁,共九十七頁。標(biāo)準(zhǔn)建模語言(類圖)訂單DateReceivedisPrepaidnumber:Stringprce:MoneyDispatch()close()訂單項(xiàng)Quantity:Integerprice:MoneyisSatisfied:Boolean1*項(xiàng)客戶NameaddressCreditRating():String團(tuán)體客戶ContactNamecreditRatingcreditLimitRemind()billforMonth(Intrger)雇員產(chǎn)品個(gè)人客戶CreditCard#{creditRating()=“poor”}銷售代表1*0..11**第四十一頁,共九十七頁。標(biāo)準(zhǔn)建模語言(對(duì)象圖)對(duì)象圖對(duì)象圖是類圖的一種變形。除了在對(duì)象名下面要加下劃線以外,對(duì)象圖中所使用的符號(hào)與類圖基本相同。對(duì)象圖是類圖的一種實(shí)例化。一張對(duì)象圖表示的是與其對(duì)應(yīng)的類圖的一個(gè)具體實(shí)例,即系統(tǒng)在某一時(shí)期或者某一特定時(shí)刻可能存在的具體對(duì)象實(shí)例以及它們相互之間的具體關(guān)系。第四十二頁,共九十七頁。標(biāo)準(zhǔn)建模語言(對(duì)象圖)作者計(jì)算機(jī)名字:String內(nèi)存:Ineger名字:String年齡:Integer0..1Uses1..*小王:作者小王的工作PC:計(jì)算機(jī)名字=“王小影”年齡=32小王的工作PC:計(jì)算機(jī)名字=“CompaqX”內(nèi)存=32名字=“Dell486”內(nèi)存=64類圖對(duì)象圖第四十三頁,共九十七頁。標(biāo)準(zhǔn)建模語言(對(duì)象圖)對(duì)象圖并不象類圖那樣具有重要的地位,但是利用它可以幫助我們通過具體的實(shí)例分析,更具體直觀地了解復(fù)雜系統(tǒng)類圖的豐富內(nèi)涵。對(duì)象圖還常常被用作合作圖的一部分,用以展示一組對(duì)象實(shí)例之間的動(dòng)態(tài)協(xié)作關(guān)系。第四十四頁,共九十七頁。標(biāo)準(zhǔn)建模語言(包圖)包是類的集合。包圖所顯示的是類的包以及這些包之間的依賴關(guān)系。如果兩個(gè)包中的任意兩個(gè)類之間存在依賴關(guān)系,則這兩個(gè)包之間存在依賴關(guān)系。包的依賴是不傳遞的。第四十五頁,共九十七頁。標(biāo)準(zhǔn)建模語言(包圖)訂單獲取界面訂單獲取應(yīng)用AWT郵件發(fā)送清單界面郵件發(fā)送清單應(yīng)用訂單顧客第四十六頁,共九十七頁。標(biāo)準(zhǔn)建模語言(包圖)何時(shí)使用包圖:在大項(xiàng)目中,包圖是一種重要工具(有專家建議,只要你不能將整個(gè)系統(tǒng)的類圖壓縮到一張A4紙上,你就應(yīng)該使用包圖);依賴產(chǎn)生耦合,應(yīng)該盡量將依賴性減少到最低程度;包的概念對(duì)測試也是特別有用的。第四十七頁,共九十七頁。標(biāo)準(zhǔn)建模語言(狀態(tài)圖)狀態(tài)圖狀態(tài)圖是對(duì)類的一種補(bǔ)充描述,它展示了此類對(duì)象所具有的可能的狀態(tài)以及某些事件發(fā)生時(shí)其狀態(tài)的轉(zhuǎn)移情況。表示狀態(tài)。狀態(tài)的改變稱作轉(zhuǎn)移,狀態(tài)轉(zhuǎn)移由箭頭表示,箭頭旁可以標(biāo)出轉(zhuǎn)移發(fā)生的條件。狀態(tài)轉(zhuǎn)移可以伴隨有某個(gè)動(dòng)作,它表明當(dāng)轉(zhuǎn)移發(fā)生時(shí)系統(tǒng)要做什么。表示初始狀態(tài)。表示終止?fàn)顟B(tài)。第四十八頁,共九十七頁。標(biāo)準(zhǔn)建模語言(狀態(tài)圖)下降狀態(tài)在第一層上升狀態(tài)向第一層下降空閑狀態(tài)上升到達(dá)到達(dá)上升超時(shí)下降到達(dá)第一層第四十九頁,共九十七頁。標(biāo)準(zhǔn)建模語言(狀態(tài)圖)

tentativecanceledconfirmedentry/self.cancelcustSubmitsOrdercustConfirmsOrdercustCancelsOrdercustCancelsOrderAfter(30days)Cust.notifyCanceled(self)[self.fulfillmentStatusnot=shipped]第五十頁,共九十七頁。標(biāo)準(zhǔn)建模語言(順序圖)順序圖順序圖描述了對(duì)象之間動(dòng)態(tài)的交互關(guān)系,著重體現(xiàn)對(duì)象間消息傳遞的時(shí)間順序。順序圖由一組對(duì)象構(gòu)成,每個(gè)對(duì)象分別帶有一條豎線,稱作對(duì)象的生命線,它代表時(shí)間軸,時(shí)間沿豎線向下延伸。順序圖描述了這些對(duì)象隨著時(shí)間的推移相互之間交換消息的過程。消息用從一條垂直的對(duì)象生命線指向另一個(gè)對(duì)象的生命線的水平箭頭表示。圖中還可以根據(jù)需要增加有關(guān)時(shí)間的說明和其他注釋。第五十一頁,共九十七頁。標(biāo)準(zhǔn)建模語言(順序圖):計(jì)算機(jī):打印服務(wù)程序:打印隊(duì)列:打印機(jī)打印文件打印文件[打印機(jī)空閑]保存文件[打印機(jī)忙]第五十二頁,共九十七頁。標(biāo)準(zhǔn)建模語言(合作圖)合作圖與順序圖作用相同,合作圖也是用來描述系統(tǒng)中對(duì)象之間的動(dòng)態(tài)協(xié)作關(guān)系。合作圖側(cè)重于描述各個(gè)對(duì)象之間存在的消息收發(fā)關(guān)系(交互關(guān)系),而不專門突出這些消息發(fā)送的時(shí)間順序。在合作圖中,對(duì)象同樣是用一個(gè)對(duì)象圖符來表示,箭頭表示消息發(fā)送的方向,而消息執(zhí)行的順序則由消息的編號(hào)來表明。第五十三頁,共九十七頁。標(biāo)準(zhǔn)建模語言(合作圖).從一個(gè)帳戶()傳送一筆資金到另外一個(gè)帳戶()fromAccount:BankAccounttoAccount:BankAccount1.transferFunds(..)2.depositFunds(..)第五十四頁,共九十七頁。標(biāo)準(zhǔn)建模語言(合作圖)合作圖中的多態(tài)性:指向目標(biāo)對(duì)象有可能隸屬的所有類的超類icon:(Polygon)Scal(factor:PositiveReal)第五十五頁,共九十七頁。標(biāo)準(zhǔn)建模語言(合作圖)重復(fù)的消息:向一個(gè)聚集對(duì)象的每個(gè)組成部分發(fā)出同樣的消息。重復(fù)消息的三個(gè)特性:1。這種消息有一個(gè)星號(hào)作為前綴,表示發(fā)往多個(gè)目標(biāo)。2。集合的名字是放在通常的位置,但是每個(gè)單獨(dú)的目標(biāo)對(duì)象沒有名字。3。目標(biāo)對(duì)象的符號(hào)是雙重的,表示多樣性。第五十六頁,共九十七頁。標(biāo)準(zhǔn)建模語言(合作圖)currDesktop:desktop:(Polygon)*:scale(factor:PositiveReal)10..*icons第五十七頁,共九十七頁。標(biāo)準(zhǔn)建模語言(合作圖)在消息中使用(可用)把作為一個(gè)參數(shù)來傳遞,用來告訴目標(biāo)對(duì)象是哪個(gè)對(duì)象發(fā)送的消息。發(fā)送一個(gè)消息給它自身。第五十八頁,共九十七頁。標(biāo)準(zhǔn)建模語言(合作圖)senderObject:Class1senderObject:Class1message1(self:Class1,…)senderObject:Class1self:Class1message2(..)Self作為一個(gè)參數(shù)來傳遞發(fā)送對(duì)象發(fā)送一個(gè)消息給它自身(self是目標(biāo)對(duì)象)第五十九頁,共九十七頁。標(biāo)準(zhǔn)建模語言(合作圖):計(jì)算機(jī):打印隊(duì)列:打印服務(wù)程序:打印機(jī)1.打印文件3.保存文件[打印機(jī)忙]2.打印文件[打印機(jī)空閑]第六十頁,共九十七頁。標(biāo)準(zhǔn)建模語言(合作圖)合作圖的布局方法能更清楚地表示出對(duì)象之間靜態(tài)的連接關(guān)系。順序圖突出執(zhí)行的時(shí)序,能更方便地看出事情發(fā)生的次序。如果要描述在一個(gè)用例中的幾個(gè)對(duì)象協(xié)同工作的行為,交互圖是一種有力的工具。交互圖擅長顯示對(duì)象之間的合作關(guān)系,盡管它并不對(duì)這些對(duì)象的行為進(jìn)行精確的定義。如果想要描述跨越多個(gè)用例的單個(gè)對(duì)象的行為,應(yīng)當(dāng)使用狀態(tài)圖;如果想要描述跨越多個(gè)用例或多個(gè)線程的多個(gè)對(duì)象的復(fù)雜行為,則需考慮使用活動(dòng)圖。第六十一頁,共九十七頁。標(biāo)準(zhǔn)建模語言(活動(dòng)圖)活動(dòng)圖活動(dòng)圖描述系統(tǒng)中各種活動(dòng)的執(zhí)行順序,通常用于描述一個(gè)操作中所要進(jìn)行的各項(xiàng)活動(dòng)的執(zhí)行流程。同時(shí),它也常被用來描述一個(gè)用例的處理流程,或者某種交互流程。活動(dòng)圖由一些活動(dòng)組成,圖中同時(shí)包括了對(duì)這些活動(dòng)的說明。當(dāng)一個(gè)活動(dòng)執(zhí)行完畢之后,控制將沿著控制轉(zhuǎn)移箭頭轉(zhuǎn)向下一個(gè)活動(dòng)。活動(dòng)圖中還可以方便地描述控制轉(zhuǎn)移的條件以及并行執(zhí)行等要求。在很多方面,活動(dòng)圖是結(jié)構(gòu)化開發(fā)中流程圖和數(shù)據(jù)流程圖()的面向?qū)ο蟮韧w。第六十二頁,共九十七頁。標(biāo)準(zhǔn)建模語言(活動(dòng)圖)活動(dòng)圖的圖符實(shí)心圓表示活動(dòng)圖的起點(diǎn),實(shí)際上是一個(gè)占位符,帶邊框的實(shí)心圓表示終點(diǎn)。圓角矩形表示執(zhí)行的過程或活動(dòng)。菱形表示判定點(diǎn)。箭頭表示活動(dòng)之間的轉(zhuǎn)換,各種活動(dòng)之間的流動(dòng)次序。[條件]箭頭上的文字表示繼續(xù)轉(zhuǎn)換所必須滿足的條件,總是使用格式“[條件]”來描述。粗線條表示可能會(huì)并行進(jìn)行的過程的開始和結(jié)束。第六十三頁,共九十七頁。標(biāo)準(zhǔn)建模語言(活動(dòng)圖)第六十四頁,共九十七頁。標(biāo)準(zhǔn)建模語言(活動(dòng)圖)加水到容器中將咖啡放到過濾器中點(diǎn)燃咖啡爐取出咖啡杯把過濾器放到咖啡爐上沖調(diào)咖啡倒咖啡找飲料取一聽可口可樂喝飲料人[找到可口可樂][沒有可口可樂][沒有咖啡][找到咖啡]熄滅咖啡爐第六十五頁,共九十七頁。標(biāo)準(zhǔn)建模語言(活動(dòng)圖)活動(dòng)圖最適合支持描述并行行為,這使之成為支持工作流建模的最好工具?;顒?dòng)圖最大的缺點(diǎn)是很難清楚地描述動(dòng)作與對(duì)象之間的關(guān)系。第六十六頁,共九十七頁。標(biāo)準(zhǔn)建模語言(活動(dòng)圖)對(duì)于以下情況可以使用活動(dòng)圖:(1)分析用例;(2)理解牽涉多個(gè)用例的工作流;(3)處理多線程應(yīng)用。在下列情況下,一般不要使用活動(dòng)圖:(1)顯示對(duì)象間合作;(2)顯示對(duì)象在其生命周期內(nèi)的運(yùn)轉(zhuǎn)情況。第六十七頁,共九十七頁。標(biāo)準(zhǔn)建模語言(構(gòu)件圖)構(gòu)件圖構(gòu)件圖描述軟件構(gòu)件以及它們之間的依賴關(guān)系,從而便于人們分析和發(fā)現(xiàn)當(dāng)修改某個(gè)構(gòu)件時(shí)可能對(duì)那些構(gòu)件產(chǎn)生影響,以便對(duì)它們做相應(yīng)的修改或更新。構(gòu)件可以是源代碼構(gòu)件、二進(jìn)制目標(biāo)碼構(gòu)件、可執(zhí)行構(gòu)件或文檔構(gòu)件。表示構(gòu)件。第六十八頁,共九十七頁。標(biāo)準(zhǔn)建模語言(構(gòu)件圖)Graphic.dll:圖形庫Comhnd.cpp:命令處理器Main.cpp:主類Whnd.obj:窗口處理器Comhnd.obj:命令處理器Main.obj:主類client.exe:客戶程序Whnd.cpp:窗口處理器第六十九頁,共九十七頁。標(biāo)準(zhǔn)建模語言(配置圖)配置圖配置圖描述系統(tǒng)中硬件和軟件的物理配置情況和系統(tǒng)體系結(jié)構(gòu)。在配置圖中,用結(jié)點(diǎn)(立方體)表示實(shí)際的物理設(shè)備,如計(jì)算機(jī)和各種外部設(shè)備等,并根據(jù)它們之間的連接關(guān)系,將相應(yīng)的結(jié)點(diǎn)連接起來,并說明其連接方式。在結(jié)點(diǎn)里面,說明分配給該結(jié)點(diǎn)上運(yùn)行的可執(zhí)行構(gòu)件或?qū)ο螅瑥亩f明哪些軟件單元被分配在哪些結(jié)點(diǎn)上運(yùn)行。第七十頁,共九十七頁。標(biāo)準(zhǔn)建模語言(配置圖)客戶A:個(gè)人電腦PC客戶B:個(gè)人電腦PC數(shù)據(jù)庫服務(wù)器:VAX服務(wù)器:02?TCP/IP協(xié)議??TCP/IP?協(xié)議?DecNet協(xié)議?第七十一頁,共九十七頁。標(biāo)準(zhǔn)建模語言(配置圖)第七十二頁,共九十七頁。標(biāo)準(zhǔn)建模語言(案例:系統(tǒng)軟件)項(xiàng)目概述目的:建立系統(tǒng)軟件()。整個(gè)系統(tǒng)包括:、中央服務(wù)器()、系統(tǒng)軟件、有關(guān)的界面軟件。系統(tǒng)軟件的工作:處理系統(tǒng)中和銀行電腦之間的交易(),如:查帳、存款、提款等。與系統(tǒng)合作的銀行有多家,它們各自有自己的電腦,處理自己的帳號(hào)和交易。所有通過中央服務(wù)器與每個(gè)銀行的電腦通信。每家銀行電腦處理的交易及其中運(yùn)行的軟件,乃至銀行的內(nèi)部事情與本項(xiàng)目無關(guān)。但銀行電腦和系統(tǒng)軟件之間的界面軟件則屬于本項(xiàng)目。第七十三頁,共九十七頁。標(biāo)準(zhǔn)建模語言(案例:系統(tǒng)軟件)工作過程:銀行的顧客持有提款卡(),可在任何一個(gè)查帳、存款、提款、取收據(jù)等。提款卡插入后,卡上資料被讀取,并提示顧客輸入其個(gè)人密碼。然后,系統(tǒng)檢驗(yàn)密碼的正確性,若沒問題,便把顧客要做的交易傳送到中央服務(wù)器進(jìn)一步處理。第七十四頁,共九十七頁。標(biāo)準(zhǔn)建模語言(案例:系統(tǒng)軟件)系統(tǒng)軟件的要求:(1)對(duì)所有使用系統(tǒng)的交易,都要有記錄,且能每天做報(bào)告。(2)系統(tǒng)要有適當(dāng)?shù)陌踩胧?。?)一個(gè)帳號(hào)必須能夠同時(shí)從多處接入做查詢或其他帳務(wù)。(4)必須能兼顧未來的擴(kuò)展,如增加出納點(diǎn)、因特網(wǎng)客戶機(jī)等。第七十五頁,共九十七頁。標(biāo)準(zhǔn)建模語言(案例:系統(tǒng)軟件)系統(tǒng)軟件的限制:(1)系統(tǒng)由銀行協(xié)會(huì)擁有。(2)系統(tǒng)軟件在中央服務(wù)器里運(yùn)行。(3)各銀行自己發(fā)行提款卡,并保管有關(guān)資料。一家銀行發(fā)行的卡,頭6個(gè)數(shù)字相同。(4)所有有同樣的界面。(5)每家銀行的電腦有其程序界面,不一定與其它銀行的相同。第七十六頁,共九十七頁。標(biāo)準(zhǔn)建模語言(案例:系統(tǒng)軟件)靜態(tài)分析和設(shè)計(jì)靜態(tài)分析:找出對(duì)象類及其靜態(tài)關(guān)系。動(dòng)態(tài)分析:對(duì)象間的相互作用及其對(duì)外界面。核心設(shè)計(jì):交易。交易是一個(gè)二元關(guān)聯(lián)類,它將提款卡()和聯(lián)系起來。第七十七頁,共九十七頁。標(biāo)準(zhǔn)建模語言(案例:系統(tǒng)軟件)交易是系統(tǒng)軟件的核心設(shè)計(jì)Cardnumber:Integername:Stringtrx:Transaction[*]ATMserialNumber:Integerlocation:Stringtrx:Transaction[*]Transactiontime:Datecontent:Stringcard:Cardatm:ATM**第七十八頁,共九十七頁。標(biāo)準(zhǔn)建模語言(案例:系統(tǒng)軟件)系統(tǒng)軟件的局部設(shè)計(jì)BankInfoCardATMTransactionATMManagermanages*****111manages第七十九頁,共九十七頁。標(biāo)準(zhǔn)建模語言(案例:系統(tǒng)軟件)系統(tǒng)軟件設(shè)計(jì)總圖BankInfoCardAgentTransactionATMManagermanages*****111managesmanagesInternetCashierATM*1第八十頁,共九十七頁。標(biāo)準(zhǔn)建模語言(案例:系統(tǒng)軟件)持久對(duì)象設(shè)計(jì)《persistent》BankInfo《persistent》Card《persistent》Agent《persistent》Transaction《persistent》ATMManager*****111《persistent》Internet《persistent》Cashier《persistent》ATM*1《persistent》Dailylog11**第八十一頁,共九十七頁。標(biāo)準(zhǔn)建模語言(案例:系統(tǒng)軟件)動(dòng)態(tài)分析ReceiptInquiryDepositWithdrawATMSystem第八十二頁,共九十七頁。標(biāo)準(zhǔn)建模語言(案例:系統(tǒng)軟件)系統(tǒng)時(shí)序圖《IFImpl》Bank《Client》ATMCentralServer《IFImpl》ATMManager插卡問口令鍵入口令選擇交易問金額鍵入金額發(fā)出現(xiàn)金口令正確查證口令請(qǐng)求處理交易確實(shí)完成交易檢查帳號(hào)資料口令正確銀行交易數(shù)據(jù)庫記錄完成第八十三頁,共九十七頁。標(biāo)準(zhǔn)建模語言(案例:系統(tǒng)軟件)

《》()()《》()()《》()()《》()()第八十四頁,共九十七頁。標(biāo)準(zhǔn)建模語言(案例:系統(tǒng)軟件)界面設(shè)計(jì)bank《interface》AccountMgrIF《IFImpl》AccountImpl《IFImpl》AccountMgrImpl《interface》AccountIFimplementsimplementsmanages1*第八十五頁,共九十七頁。標(biāo)準(zhǔn)建模語言(案例:系統(tǒng)軟件)界面的詳細(xì)定義《interface》AccountIF《getoperations》getBalance():FloatgetAccountInfo():AccountInfogetHistory():String《transactionoperations》Deposit(amount:float):FloatWithdraw(amount:Float):FloattransferTo(accountName:string,amount:Float):FloatPaybill(receiver:String,amount:Float):Float《interface》AccountMgrIF《accessoperations》Login(accountInfo:AccountInfo):AccountIFLogout(account:AccountIF)《accountmanagement》Open(accountInfo:AccountInfo,initialAmount:Float):AccountIFRemove(accountInfo:AccountInfo)Showaccounts():String第八十六頁,共九十七頁。標(biāo)準(zhǔn)建模語言(案例:系統(tǒng)軟件)《interface》SessionIF《getoperations》getBalance():FloatgetAccountInfo():AccountInfogetHistory():String《transactionoperations》Deposit(amount:float):FloatWithdraw(amount:Float):FloattransferTo(accountName:string,amount:Float):FloatPaybill(receiver:String,amount:Float):FloatAccountImpl《getoperations》getBalance():FloatgetAccountInfo():AccountInfogetHistory():String《transactionoperations》Deposit(amount:float):FloatWithdraw(amount:Float):FloattransferTo(accountName:string,amount:Float):FloatPaybill(receiver:String,amount:Float):FloatBalance:FloataccountInfo:AccountInfoHistory:String界面第八十七頁,共九十七頁。標(biāo)準(zhǔn)建模語言(案例:系統(tǒng)軟件)

溫馨提示

  • 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. 人人文庫網(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)論