7章面向?qū)ο筌浖こ痰母拍頮第1頁
7章面向?qū)ο筌浖こ痰母拍頮第2頁
7章面向?qū)ο筌浖こ痰母拍頮第3頁
7章面向?qū)ο筌浖こ痰母拍頮第4頁
7章面向?qū)ο筌浖こ痰母拍頮第5頁
已閱讀5頁,還剩54頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

六盤水師范學(xué)院孫新杰1第7章面向?qū)ο筌浖こ痰母拍顐鹘y(tǒng)軟件開發(fā)方法的局限性面向?qū)ο蟮倪^程模型面向?qū)ο蟮母拍顜追N面向?qū)ο蠓椒ńy(tǒng)一建模語言-UML六盤水師師范學(xué)院院孫新新杰27.1傳傳統(tǒng)軟件件開發(fā)方方法的局局限性傳統(tǒng)的軟軟件工具具、軟件件技術(shù)和和抽象層層次越來來越難以以適應(yīng)大大規(guī)模復(fù)復(fù)雜軟件件系統(tǒng)的的開發(fā)特特點(diǎn)。軟軟件能力力問題已已經(jīng)成為為制約軟軟件發(fā)展展的因素素。軟件工程程自70年代以以來,有有力的推推動了軟軟件能力力的解決決。自頂頂向下的的分析與與設(shè)計(jì)的的方法、、軟件項(xiàng)項(xiàng)目的工工程化管管理、軟軟件工具具和開發(fā)發(fā)環(huán)境、、軟件質(zhì)質(zhì)量保證證等都對對軟件的的發(fā)展起起了非常常重要的的作用。。傳統(tǒng)的的軟件開開發(fā)方法法在當(dāng)時時的軟件件工程中中起了主主導(dǎo)作用用,隨著著系統(tǒng)復(fù)復(fù)雜性、、多變性性增強(qiáng),,傳統(tǒng)方方法的缺缺陷就顯顯露了出出來:(1)面面向過程程為主。。系統(tǒng)圍圍繞著由由計(jì)算機(jī)機(jī)來實(shí)現(xiàn)現(xiàn)功能的的復(fù)雜過過程而建建立,在在分析和和解決問問題時與與人們對對現(xiàn)實(shí)世世界的認(rèn)認(rèn)識有一一定差距距。六盤水師師范學(xué)院院孫新新杰3(2)軟軟件結(jié)構(gòu)構(gòu)穩(wěn)定性性差。需需求分析析階段重重點(diǎn)是功功能模型型,難以以徹底明明確全部部需求。。設(shè)計(jì)階階段的軟軟件體系系結(jié)構(gòu)是是基于系系統(tǒng)功能能建立的的。每個個模塊完完成一個個基本功功能,多多個模塊塊的組合合完成一一個整體體功能。。一個模模塊的變變動可能能會影響響到多個個模塊。。用戶的的需求大大多針對對功能,,功能的的變化會會引起體體系結(jié)構(gòu)構(gòu)的變化化,不利利于系統(tǒng)統(tǒng)的維護(hù)護(hù)。(3)軟件開開發(fā)的抽抽象力度度小。解解決問題題的類型型一般用用于“輸輸入-處理-輸出”為為核心的的數(shù)據(jù)處處理系統(tǒng)統(tǒng),不適適應(yīng)于復(fù)復(fù)雜的實(shí)實(shí)時、交交互、事事件驅(qū)動動、分布布式等新新型應(yīng)用用的系統(tǒng)統(tǒng)開發(fā)。。(4)軟件重重用未能能得到很很好的解解決。傳傳統(tǒng)的方方法一般般從“零零”開始始開發(fā)軟軟件,數(shù)數(shù)據(jù)與操操作作為為相互分分離的實(shí)實(shí)體來考考慮,使使軟件的的可復(fù)用用性差。。重用的的實(shí)施僅僅僅是公公用模塊塊的調(diào)用用。面向向?qū)ο蟮牡姆庋b性性、繼承承性、多多態(tài)性等等特性支支持軟件件重用且且重用的的粒度大大。軟件件的重用用導(dǎo)致更更快地、、高質(zhì)量量地開發(fā)發(fā)軟件,,為軟件件工業(yè)化化生產(chǎn)奠奠定基礎(chǔ)礎(chǔ)。六盤水師師范學(xué)院院孫新新杰4傳統(tǒng)方法法數(shù)據(jù)與與過程是是分離的的過程1輸入輸出過程2過程3數(shù)據(jù)實(shí)體體屬于該對對象的數(shù)據(jù)對象處理數(shù)據(jù)據(jù)的方法法消息消息對象把數(shù)數(shù)據(jù)和處處理數(shù)據(jù)據(jù)的方法法封狀成成一個單單元六盤水師師范學(xué)院院孫新新杰5傳統(tǒng)方法法與面向向?qū)ο蠓椒椒ǖ谋缺容^面向?qū)ο笙蠓椒ㄏ到y(tǒng)是交交互對象象的集合合對象與人人或其它它對象交交互對象發(fā)送送與響應(yīng)應(yīng)消息傳統(tǒng)方法法系統(tǒng)是過過程的集集合過程與數(shù)數(shù)據(jù)實(shí)體體交互過程接受受輸入并并產(chǎn)生輸輸出六盤水師師范學(xué)院院孫新新杰67.2面向?qū)ο笙蟮倪^程程模型1、演化/并行模型型是Booch等人在90年代初建建議的。。該模型型與第1章介紹的的螺旋模模型、增增量模型型相似。。但強(qiáng)調(diào)調(diào):(1)對OO系統(tǒng)的分分析和設(shè)設(shè)計(jì)建模模不在相相同的抽抽象層次次上進(jìn)行行。(2)分析和和設(shè)計(jì)可可以并發(fā)發(fā)地應(yīng)用用到獨(dú)立立的系統(tǒng)統(tǒng)構(gòu)件。。六盤水師師范學(xué)院院孫新新杰7該模型每每次迭代代都要計(jì)計(jì)劃、工工程和評評估。每每個計(jì)劃劃都要調(diào)調(diào)整進(jìn)度度以適應(yīng)應(yīng)和本次次迭代相相關(guān)的變變化。早早期階段段迭代進(jìn)進(jìn)行的分分析與設(shè)設(shè)計(jì)工作作為了分分離出OO模型中的的所有重重要元素素;當(dāng)工工程工作作不斷進(jìn)進(jìn)展時,,產(chǎn)生軟軟件的增增量版本本;在評評估階段段對每個個增量的的評估其其反饋將將影響下下一次計(jì)計(jì)劃活動動及后續(xù)續(xù)增量。。2、RUP98年6月推出,,該過程程強(qiáng)調(diào)了了開發(fā)方方法的統(tǒng)統(tǒng)一、建建模語言言的統(tǒng)一一、研究究成果的的統(tǒng)一。。該過程程是基于于構(gòu)件的的,即所所構(gòu)造的的系統(tǒng)是是由軟件件構(gòu)件通通過明確確定義的的接口相相互連接接所建造造起來的的。它使使用UML來制定軟軟件系統(tǒng)統(tǒng)的所有有藍(lán)圖。。RUP的主要特特點(diǎn):(1)用例驅(qū)驅(qū)動用例作為為系統(tǒng)分分析、設(shè)設(shè)計(jì)、實(shí)實(shí)現(xiàn)和測測試的基基本輸入入。六盤水師師范學(xué)院院孫新新杰8即用例不不只是一一種確定定系統(tǒng)需需求的工工具,它它還能驅(qū)驅(qū)動系統(tǒng)統(tǒng)的設(shè)計(jì)計(jì)、實(shí)現(xiàn)現(xiàn)和測試試的進(jìn)行行?;谟美P?,,開發(fā)人人員可以以創(chuàng)建一一系列實(shí)實(shí)現(xiàn)這些些用例的的設(shè)計(jì)模模型和實(shí)實(shí)現(xiàn)模型型。開發(fā)發(fā)人員可可以審查查每個后后續(xù)建立立的模型型是否與與用例模模型一致致。測試試人員測測試實(shí)現(xiàn)現(xiàn)以確定定實(shí)現(xiàn)模模型的構(gòu)構(gòu)件是否否實(shí)現(xiàn)了了用例。。所以用用例啟動動了開發(fā)發(fā)過程,,還使開開發(fā)過程程結(jié)合為為一體。。開發(fā)過過程是沿沿著一系系列從用用例得到到的工作作流前進(jìn)進(jìn)的。六盤水師師范學(xué)院院孫新新杰9下圖顯示示了用例例模型與與其他模模型之間間的相關(guān)關(guān)性:用例模型型由…建立分析模型型為系統(tǒng)描描述一系系列類由…設(shè)計(jì)設(shè)計(jì)模型型為系統(tǒng)定定義一系系列子系系統(tǒng)和界界面由…實(shí)現(xiàn)實(shí)現(xiàn)模型型將類映射射到構(gòu)件件由…分配測試模型型由…驗(yàn)證驗(yàn)證系統(tǒng)統(tǒng)是否提提供了用用例模型型中描述述的功能能配置模型型定義軟件件分布六盤水師師范學(xué)院院孫新新杰10(2)以構(gòu)架架(Architecture)為中心軟件系統(tǒng)統(tǒng)的構(gòu)架架從不同同角度描描述了即即將構(gòu)造造的系統(tǒng)統(tǒng),它刻刻畫了系系統(tǒng)的整整體設(shè)計(jì)計(jì),去掉掉了細(xì)節(jié)節(jié)部分,,突出了了系統(tǒng)的的重要特特征,包包含了系系統(tǒng)中最最重要的的靜態(tài)結(jié)結(jié)構(gòu)和動動態(tài)行為為。構(gòu)架是根根據(jù)應(yīng)用用領(lǐng)域的的需要逐逐漸發(fā)展展起來的的,并在在用例中中得到反反映。每每種產(chǎn)品品都具有有功能和和表現(xiàn)形形式,功功能與用用例對應(yīng)應(yīng),表現(xiàn)現(xiàn)形式與與構(gòu)架對對應(yīng)。用用例與構(gòu)構(gòu)架是相相互影響響的,用用例在實(shí)實(shí)現(xiàn)時必必須符合合于構(gòu)架架,構(gòu)架架必須預(yù)預(yù)留空間間以實(shí)現(xiàn)現(xiàn)現(xiàn)在或或?qū)硭行枰挠美?。六盤水師師范學(xué)院院孫新新杰113、迭代與與增量的的過程迭代指工工作流中中的步驟驟,增量量指產(chǎn)品品中增加加的部分分。迭代過程程要處理理一組用用例,這這組用例例合起來來能擴(kuò)展展所開發(fā)發(fā)產(chǎn)品的的可用性性,后續(xù)續(xù)的迭代代過程建建立在前前一次迭迭代過程程末期所所開發(fā)的的產(chǎn)品上上。構(gòu)架提供了一一種結(jié)構(gòu)構(gòu)來指導(dǎo)導(dǎo)迭代過程中的的工作,,用例則確定了了目標(biāo)并并驅(qū)動每每次迭代代的工作作?!龡l腿的的凳子?。?、基于構(gòu)構(gòu)件統(tǒng)一過程程所構(gòu)造造的軟件件系統(tǒng),,是由軟軟件構(gòu)件件通過明明確定義義的接口口相互連連接所建建造起來來的。5、使用UML統(tǒng)一過程程使用UML來制定軟軟件系統(tǒng)統(tǒng)的所有有藍(lán)圖,,UML是整個統(tǒng)統(tǒng)一過程程的一個個完整部部分,他他們是共共同發(fā)展展起來的的,它強(qiáng)強(qiáng)調(diào)創(chuàng)建建和維護(hù)護(hù)模型。。六盤水師師范學(xué)院院孫新新杰126、過程可可剪裁用統(tǒng)一過過程開發(fā)發(fā)軟件時時,各階階段應(yīng)該該有多長長?各個個階段迭迭代多少少次是合合適的??候選構(gòu)構(gòu)架可以以在哪一一點(diǎn)完全全建立起起來?這這些問題題的答案案取決于于系統(tǒng)的的規(guī)模、、項(xiàng)目的的性質(zhì)、、開發(fā)組組織的領(lǐng)領(lǐng)域經(jīng)驗(yàn)驗(yàn),甚至至包括相相關(guān)人員員有效配配合程度度??傊y(tǒng)一一過程是是一個框框架,可可以根據(jù)據(jù)具體情情況加以以裁剪,,以此來來適應(yīng)各各種各樣樣的開發(fā)發(fā)過程。。六盤水師師范學(xué)院院孫新新杰137.3面向?qū)ο笙蟮母拍钅蠲嫦驅(qū)ο笙螅∣bjectOriented,簡稱OO)的概念起起源于20世紀(jì)60年代中期期的Simula67。80年代初,,Smalltalk語言及其其程序設(shè)設(shè)計(jì)環(huán)境境的出現(xiàn)現(xiàn)成為面面向?qū)ο笙蠹夹g(shù)發(fā)發(fā)展的一一個重要要里程碑碑。80年代中期期硬件的的發(fā)展使使C到C++過渡平滑滑,推出出了相應(yīng)應(yīng)工具及及面向?qū)ο蠹沙森h(huán)境,,使OOP模式進(jìn)入入主流。。80年代中后后期,面面向?qū)ο笙蠓治雠c與設(shè)計(jì)的的研究開開始發(fā)展展。進(jìn)入入90年代,面面向?qū)ο笙筌浖すこ坛闪肆嗽S多軟軟件產(chǎn)品品的建造造笵型。。(1)對象(object)是現(xiàn)實(shí)世世界中個個體或事事物的抽抽象表示示。封裝裝了其屬屬性及相相關(guān)的操操作。屬屬性表示示對象的的性質(zhì),,屬性值值規(guī)定了了對象所所有可能能的狀態(tài)態(tài)。對象象的操作作指出了了該對象象具有的的行為并并提供了了對外的的服務(wù)。。六盤水師師范學(xué)院院孫新新杰14(2)類(class))是具有相相同屬性性和相同同操作的的對象的的抽象。。通常用用類名、、類的屬屬性、類類的操作作三方面面的內(nèi)容容來定意意一個類類。一個個具體對對象是類類的一個個實(shí)例。。(3)消息(message)是一個對對象發(fā)送送給另一一個對象象的操作作請求。。消息一一般由三三部分組組成:對對象名、、消息名名、參數(shù)數(shù)。消息息傳遞是是對象與與外部世世界相互互通信的的唯一途途徑。(4)方法(method)是對象操操作的實(shí)實(shí)現(xiàn),描描述了對對象中操操作的算算法和響響應(yīng)消息息的方式式。六盤水師師范學(xué)院院孫新新杰15(5)繼承(inheritance))是子類自自動的共共享其父父類中定定義的屬屬性和操操作的機(jī)機(jī)制,該該機(jī)制構(gòu)構(gòu)成了類類的層次次結(jié)構(gòu)。。較高層層的父類類稱為基基類、超超類、一一般類。。子類稱稱為派生生類、特特殊類。。子類除除了繼承承父類的的特征,,還可有有自己的的特征。。繼承有有傳遞性性,子類類能繼承承上層的的全部特特征。繼承性使使得相似似的對象象可以共共享程序序代碼和和數(shù)據(jù)結(jié)結(jié)構(gòu),從從而簡化化了創(chuàng)建建類及對對象的工工作量,,基類解解決一般般性問題題,派生生類解決決特殊問問題,提提高了軟軟件的可可重用性性。繼承承性還使使得軟件件便于維維護(hù),當(dāng)當(dāng)需要擴(kuò)擴(kuò)充軟件件原有功功能時,,從要修修改的類類中派生生出一個個子類,,在該子子類中添添加新的的代碼。。六盤水師師范學(xué)院院孫新新杰16(6)多態(tài)(polymorphism)指在類的的不同層層次上可可以使用用相同的的操作名名。同一一操作名名可有不不同的實(shí)實(shí)現(xiàn)方式式,運(yùn)行行時可動動態(tài)地選選擇哪一一個算法法。多態(tài)性增增加了軟軟件的靈靈活性,,可擴(kuò)充充性,通通用功能能的操作作放在高高層,不不同地實(shí)實(shí)現(xiàn)這一一功能的的行為放放在低層層,以實(shí)實(shí)現(xiàn)不同同的相應(yīng)應(yīng)。六盤水師師范學(xué)院院孫新新杰177.4幾種面向向?qū)ο蠓椒椒?0世紀(jì)80年代以來來,出現(xiàn)現(xiàn)了幾十十種面向向?qū)ο筌涇浖_發(fā)發(fā)方法。。每一種種都有自自己的符符號體系系和開發(fā)發(fā)過程,,都支持持以下基基本活動動:?標(biāo)識類及及對象?描述類及及對象之之間的關(guān)關(guān)系?定義類的的屬性和和操作1、Booch方法Booch是面向?qū)ο蠓椒ǚㄗ钤绲牡奶岢稣哒咧?,,提出了了面向?qū)ο筌浖こ痰牡母拍?。。提出了了“微開開發(fā)過程程”和““宏開發(fā)發(fā)過程””的思想想。六盤水師師范學(xué)院院孫新新杰18微開發(fā)過過程:定定義一組組分析任任務(wù),包包括標(biāo)識識類和對對象以及及類和對對象的語語義、定定義類和和對象間間的關(guān)系系、描述述類和對對象的動動態(tài)行為為。宏開發(fā)過過程:將將微過程程反復(fù)應(yīng)應(yīng)用,并并包含了了體系結(jié)結(jié)構(gòu)設(shè)計(jì)計(jì)的計(jì)劃劃活動::?將相似的的對象聚聚集到獨(dú)獨(dú)立的模模塊;?描述對象象管理、、內(nèi)存管管理、錯錯誤處理理等其它它功能的的實(shí)施;;?可使用原原型對上上述任務(wù)務(wù)進(jìn)行精精化;?將同時執(zhí)執(zhí)行的進(jìn)進(jìn)程分配配到不同同的處理理機(jī)。該方法提提出建立立以下模模型:類圖、對對象圖、、狀態(tài)轉(zhuǎn)轉(zhuǎn)移圖、、時序圖圖、模塊塊圖、進(jìn)進(jìn)程圖。。六盤水師師范學(xué)院院孫新新杰192、Coad/Yourdon方法著名的OOA//OOD方法,也也是最早早的面向向?qū)ο蟮牡姆治雠c與設(shè)計(jì)方方法之一一。簡單單、易學(xué)學(xué)。OOA階段的任任務(wù):?標(biāo)識類及及對象?定義結(jié)構(gòu)構(gòu)(一般般-特殊殊結(jié)構(gòu)、、整體--部分結(jié)結(jié)構(gòu))?劃分主題題?定義屬性性及對象象間的實(shí)實(shí)例連接接?定義服務(wù)務(wù)及對象象間的消消息連接接上述任務(wù)務(wù)迭代進(jìn)進(jìn)行,產(chǎn)產(chǎn)生5個層次的的問題域域模型((主題層層、類及及對象層層、結(jié)構(gòu)構(gòu)層、屬屬性層、、服務(wù)層層)六盤水師師范學(xué)院院孫新新杰20OOD階段的活活動:?問題域部部分?人機(jī)交互互部分?任務(wù)管理理部分?數(shù)據(jù)管理理部分3、OMT方法Rumbaugh等人提出出的對象象建模技技術(shù)(ObjectModelTechnology,OMT)),該方法法強(qiáng)調(diào)了了三種模模型,并并將軟件件開發(fā)過過程劃分分為以下下幾個階階段:(1)系統(tǒng)分分析?問題描述述?建立對象象模型產(chǎn)品:對對象模型型=對象象圖+數(shù)數(shù)據(jù)字典典六盤水師師范學(xué)院院孫新新杰21?建立動態(tài)態(tài)模型產(chǎn)品:動動態(tài)模型型=狀態(tài)態(tài)圖+事事件跟蹤蹤圖?建立功能能模型產(chǎn)品:功功能模型型=數(shù)據(jù)據(jù)流圖++約束(2)系統(tǒng)設(shè)設(shè)計(jì)?將系統(tǒng)分分解為各各個子系系統(tǒng)?確定問題題中固有有的并發(fā)發(fā)性?將各子系系統(tǒng)分配配給處理理器?數(shù)據(jù)存儲儲管理?全局資源源管理?選擇軟件件控制機(jī)機(jī)制?邊界條件件處理六盤水師師范學(xué)院院孫新新杰22(3)對象設(shè)設(shè)計(jì)對分析模模型細(xì)化化:?將三種模模型結(jié)合合起來以以獲得對對象類上上的操作作。如功功能模型型中的加加工,動動態(tài)模型型中對應(yīng)應(yīng)一個事事件的活活動。?設(shè)計(jì)實(shí)現(xiàn)現(xiàn)操作的的算法?優(yōu)化數(shù)據(jù)據(jù)訪問路路徑?實(shí)現(xiàn)系統(tǒng)統(tǒng)設(shè)計(jì)中中的控制制機(jī)制?為提高繼繼承而調(diào)調(diào)整類結(jié)結(jié)構(gòu)?設(shè)計(jì)對象象之間的的關(guān)聯(lián)?將類和關(guān)關(guān)聯(lián)集成成到模塊塊中六盤水師師范學(xué)院院孫新新杰234、Jacobson方法也稱OOSE方法。最最大特點(diǎn)點(diǎn)是強(qiáng)調(diào)調(diào)使用實(shí)例例(Use--Case),每一個個用例就就是一個個使用系系統(tǒng)的方方式,用用例的執(zhí)執(zhí)行將引引發(fā)執(zhí)行行一系列列與行為為相關(guān)的的事務(wù)。。該方法將將用例貫貫穿于整整個開發(fā)發(fā)階段,,并在用用例描述述中引入入了角色或參參與者(Actor)的概念。。角色指指使用系系統(tǒng)的人人以及與與系統(tǒng)相相互作用用的軟硬硬件環(huán)境境。該方法還還將對象象區(qū)分為為實(shí)體對象象(業(yè)務(wù)對對象)、、接口對象象(界面對對象)和和控制對象象。需求分析析階段活活動:定定義潛在在的角色色、識別別問題域域中的對對象和關(guān)關(guān)系、基基于需求求規(guī)格說說明和角角色的需需要描述述用例。。設(shè)計(jì)階段段的活動動:從用用例的描描述中發(fā)發(fā)現(xiàn)與設(shè)設(shè)計(jì)有關(guān)關(guān)的對象象,并描描述其屬屬性、行行為和關(guān)關(guān)聯(lián)。同同時把所所有用例例的行為為分派給給每個對對象。六盤水師師范學(xué)院院孫新新杰247.5統(tǒng)一建模模語言UMLUML((UnifiedModelingLanguage)產(chǎn)生于90年代中期期。它不不僅統(tǒng)一一了Booch、OMT和OOSE方法中的的概念和和表示法法,而且且對其作作了進(jìn)一一步擴(kuò)展展,最終終成為在在面向?qū)ο蠹夹g(shù)術(shù)領(lǐng)域占占主導(dǎo)地地位的、、并被大大眾所接接受的標(biāo)標(biāo)準(zhǔn)建模模語言。。1、UML概述UML的發(fā)展歷歷程(下圖))UML是一個通通用的標(biāo)標(biāo)準(zhǔn)建模模語言,,可以對對任何具具有靜態(tài)態(tài)結(jié)構(gòu)和和動態(tài)行行為的系系統(tǒng)進(jìn)行行可視化化建模。。UML不是一個個開發(fā)過過程,也也不是一一個方法法,但允允許任何何一種開開發(fā)過程程和面向向?qū)ο蠓椒椒ㄊ褂糜盟AP水師師范學(xué)院院孫新新杰25Booch’93OMT--2UML0.8UML0.9&0..91UML1.0UML1.1UML同行專家意見見OMG認(rèn)證10/9510/96&&9//96OMG審核,1/97OMG修正,9/97OMG采納為標(biāo)標(biāo)準(zhǔn),11//97UML1.3UML2.02001年重要修修改OOSEUML開發(fā)歷程程六盤水師師范學(xué)院院孫新新杰262、UML中的模型型視圖UML有以下主主要模型型元素,,構(gòu)成了UML中的各種種模型視視圖:六盤水師師范學(xué)院院孫新新杰27

?用戶模型型視圖用例圖::從用用戶的角角度描述述系統(tǒng)能能提供哪哪些功能能以及功功能的使用者者。?結(jié)構(gòu)模型型視圖::類圖:描描述系統(tǒng)統(tǒng)的靜態(tài)態(tài)結(jié)構(gòu);;對象圖圖:描述述系統(tǒng)在在某個時時刻的靜靜態(tài)結(jié)構(gòu)構(gòu);包圖:將將類分組組成更高高層次的的靜態(tài)結(jié)結(jié)構(gòu)。?行為模型型試圖順序圖::按時間間順序描描述系統(tǒng)統(tǒng)元素之之間的交交互;協(xié)作圖::從時間間和空間間的順序序描述系系統(tǒng)元素素之間的的交互;;狀態(tài)圖::描述系系統(tǒng)元素素對事件件的響應(yīng)應(yīng)引起的的狀態(tài)轉(zhuǎn)轉(zhuǎn)換;活動圖::描述系系統(tǒng)元素素的活動動。?實(shí)現(xiàn)模型型視圖構(gòu)件圖::描述實(shí)實(shí)現(xiàn)系統(tǒng)統(tǒng)的元素素的組織織結(jié)構(gòu);;配置圖::描述環(huán)環(huán)境元素素的配置置,并把把實(shí)現(xiàn)系系統(tǒng)的元元素映射射到配置上上。六盤水師師范學(xué)院院孫新新杰28(1)用例圖用例:根根據(jù)Jacobson的定義,,用例規(guī)規(guī)定了一一個動作作序列,,系統(tǒng)執(zhí)執(zhí)行這些些動作并并產(chǎn)生出出對于特特定參與與者可見見的有價價值的結(jié)結(jié)果。參與者可以是人人、組織織、硬件件設(shè)備或或外部系系統(tǒng)。用例圖用用于展示示參與者者與系統(tǒng)提提供的用用例之間間的連接接(通信信)關(guān)系系。僅僅僅從參與與者使用用系統(tǒng)的的角度描描述系統(tǒng)統(tǒng),不反反映內(nèi)部部的處理理方式。。因此用用例圖定定義的是是系統(tǒng)的的功能需求求。下圖是某某保險業(yè)業(yè)務(wù)的用用例圖。。六盤水師師范學(xué)院院孫新新杰29簽定一份份保險單客戶保險銷售人員銷售統(tǒng)計(jì)計(jì)客戶統(tǒng)計(jì)計(jì)某保險業(yè)業(yè)務(wù)的用用例圖六盤水師師范學(xué)院院孫新新杰30某金融貿(mào)貿(mào)易系統(tǒng)統(tǒng)用例圖圖設(shè)置邊界界風(fēng)險分析析交易估價價進(jìn)行交易易超越邊界界更新帳目目評價交易人員交易經(jīng)理計(jì)帳系統(tǒng)銷售員《extend》《include》《include》六盤水師師范學(xué)院院孫新新杰31其中:《include》、《extend》為用例圖圖中可用用的構(gòu)造造型元素素,表表示“風(fēng)風(fēng)險分析析”和““交易估估價”都都包含有有公共的的“評價價”動作作,因此此把“評評價”作作為一個個獨(dú)立的的用例。。而“超超越邊界界”用例例是“進(jìn)進(jìn)行交易易”用例例的擴(kuò)展展,指交交易時對對某個特特定用戶戶規(guī)定了了最大貿(mào)貿(mào)易量,,不能執(zhí)執(zhí)行一般般的常規(guī)規(guī)動作。。因此,,當(dāng)描述述一般行行為時有有例外、、任選或或異常處處理時,,采用《extend》;當(dāng)在兩兩個或多多個用例例中出現(xiàn)現(xiàn)重復(fù)描描述(有有共用行行為)而而又想避避免重復(fù)復(fù)時,采采用《include》。(2)類圖用來描述述系統(tǒng)中中類和類類之間的的關(guān)系,,是系統(tǒng)統(tǒng)的靜態(tài)態(tài)結(jié)構(gòu)。。類圖中中還描述述了類的的屬性、、操作、、以及對對模型中中各種成成分的約約束。類類圖包含含有類、、關(guān)聯(lián)和和關(guān)系等等模型元元素。見見下圖:六盤水師師范學(xué)院院孫新新杰32類名屬性操作類的完整整表示類名類的簡單單表示類1類2角色角色關(guān)聯(lián)名關(guān)聯(lián)表示示類之間間的語義義聯(lián)系((是運(yùn)行行時實(shí)例例之間的的關(guān)系))。角色色表示該該類在這這個關(guān)聯(lián)聯(lián)中的作作用。關(guān)聯(lián)中可可以有重重?cái)?shù),重重?cái)?shù)指一一個角色色可以有有多少個個對象來來扮演。。①類的表示示:②類的關(guān)聯(lián)聯(lián)(association)):六盤水師師范學(xué)院院孫新新杰33公司董事會辦公室分配員工0..1*人員董事會成成員0,3...8*董事會同時省略略關(guān)聯(lián)名名和角色色名,默默認(rèn)關(guān)聯(lián)聯(lián)名是has(有),,省略重重?cái)?shù)默認(rèn)認(rèn)1..1。每一個員員工可能能沒有或或者只有有一個辦辦公室每一個董董事會沒沒有或者者有3~8個董事會會成員((有角色色名,可可以省略略關(guān)聯(lián)名名)六盤水師師范學(xué)院院孫新新杰34在一些情情況下關(guān)關(guān)聯(lián)可能能需要記記錄一些些信息,,但這些些信息不不能放在在任何一一個類中中,可引引入一個個關(guān)聯(lián)類類記錄這這些信息息。如下下圖:學(xué)生*選修**課程學(xué)生***課程選修成績學(xué)生*選修*成績課程一個多對對多關(guān)聯(lián)聯(lián)。“成成績”屬屬性不能能放在任任何一方方(每個個學(xué)生只只有一個個成績或或每門課課程只有有一個成成績)創(chuàng)建一個個關(guān)聯(lián)類類來保存存成績與帶有關(guān)關(guān)聯(lián)類的的多對多多關(guān)聯(lián)等等價的兩兩個一對對多關(guān)聯(lián)聯(lián)的圖六盤水師師范學(xué)院院孫新新杰35整體類部分類整體類部分類項(xiàng)目人員1**建筑物樓房類的聚合合類的強(qiáng)聚聚合(組組合)*③類的聚合合(aggregation)):是表示““整體-部分”的的特殊關(guān)關(guān)聯(lián)。組合(composition))是一種強(qiáng)強(qiáng)類型的的聚合,,整體類類和部分分類共存存亡,如如果整體體類被撤撤銷,部部分類也也不存在在。部分分類的存存在只是是為整體體類服務(wù)務(wù)。六盤水師師范學(xué)院院孫新新杰36一般類特殊類人員教師學(xué)生由一個超超類和幾幾個直接接子類構(gòu)構(gòu)成的結(jié)結(jié)構(gòu)通常常稱為泛泛化。。類的這這種關(guān)系系也稱為為一般-特殊關(guān)系系或繼承承關(guān)系,,將現(xiàn)實(shí)實(shí)世界實(shí)實(shí)體的共共同特性性抽象為為一般類類,通過過增加獨(dú)獨(dú)有的特特性而成成為各種種特殊類類。如圖圖所示::④類的泛化化(generalization)):下圖是一一個網(wǎng)上上售貨系系統(tǒng)的部部分類圖圖。其中用{}括起來的的內(nèi)容是是約束條條件。UML提供了對對類圖中中的基本本成分可可進(jìn)行限限制與約約束的手手段。六盤水師師范學(xué)院院孫新新杰37銷售代表表0...1定貨nameaddress顧客creditRating(()::String產(chǎn)品雇員1DateReceivedisPrepaidnumber::Stringprice:Money協(xié)作顧客客contactNamecreditRatingcreditLimitcreditCard#個人顧客客{creditRating())==“poor”}定貨作業(yè)業(yè)線dispatch())close())remind(()billForMonth(()Quantity:Integerprice:MoneyisSatisfied:Boolean1****1物品六盤水師師范學(xué)院院孫新新杰38(3)對象圖圖對象圖是是類的實(shí)實(shí)例圖,,給出了了存在于于程序執(zhí)執(zhí)行過程程中某個個特定點(diǎn)點(diǎn)的對象象與鏈接接的配置置示例。。對象名::類名屬性對象名:類名對象1對象2鏈名對象的三三種描述述方式鏈的表示示教師講授課程類圖李偉編號=3658職稱=教教授軟件工程程編號=401學(xué)分=3數(shù)據(jù)庫編號=301學(xué)分=3對象圖六盤水師師范學(xué)院院孫新新杰39其中,鏈鏈?zhǔn)穷悎D圖中關(guān)聯(lián)聯(lián)的實(shí)例例,類圖圖中關(guān)聯(lián)聯(lián)表示兩兩個類之之間可能能存在的的所有鏈鏈接,而而對象圖圖中的鏈鏈上不附附加重?cái)?shù)數(shù)。對象象圖中也也不可能能包含泛泛化。對象圖不不像類圖圖那樣具具有重要要地位,,通常用用來實(shí)例例化一個個復(fù)雜的的類圖以以分析特特定的場場景。對對象圖也也常用在在協(xié)作圖圖中,反反映一組組對象之之間的動動態(tài)協(xié)作作關(guān)系。。六盤水師師范學(xué)院院孫新新杰40(4)包圖包是將類類分組成成更高層層次的單單位。包包圖用以以描述包包中存在在的類以以及包與與包之間間的依賴賴關(guān)系和和泛化關(guān)關(guān)系。包包的內(nèi)容容可以是是類的列列表、類類圖、或或另一個個包圖。。依賴關(guān)關(guān)系用虛虛線箭頭頭表示。。保險單填填寫界面面內(nèi)部系統(tǒng)統(tǒng)保險單客戶數(shù)據(jù)庫界界面Oracle界面Sybase界面某保險信信息管理理系統(tǒng)的的包圖六盤水師師范學(xué)院院孫新新杰41(5)狀態(tài)圖圖狀態(tài)圖描描述類的的對象在在生命周周期內(nèi)所所有可能能的狀態(tài)態(tài)以及事事件發(fā)生生時狀態(tài)態(tài)的轉(zhuǎn)移移(transition)情況。一一個轉(zhuǎn)移移可以有有一個與與之相連連的動作作(action),這個動動作指明明了狀態(tài)態(tài)轉(zhuǎn)移時時應(yīng)該作作些什么么。狀態(tài)圖是是類圖的的補(bǔ)充。。不需要要為所有有的類畫畫狀態(tài)圖圖,僅為為那些有有多個狀狀態(tài)其行行為受外外界環(huán)境境的影響響并且發(fā)發(fā)生改變變的類畫畫狀態(tài)圖圖。六盤水師師范學(xué)院院孫新新杰42在一樓上升空閑下降到達(dá)一層層到達(dá)樓層層升樓層電梯運(yùn)行行的狀態(tài)態(tài)圖開始上下降樓層層在大樓一一層到達(dá)樓層層上升樓層層超時移到一層層六盤水師師范學(xué)院院孫新新杰43初態(tài)終態(tài)狀態(tài)名do/活動名中間態(tài)行駛向前向后向前向后低速高速行駛或關(guān)系子子狀態(tài)((只取一一種)與關(guān)系子子狀態(tài)((某時刻刻可同時時到達(dá)多多個子狀狀態(tài))①UML中的狀態(tài)態(tài)表示②轉(zhuǎn)移狀態(tài)1do/活動1狀態(tài)2do/活動2事件[條件]/動作其中:狀狀態(tài)內(nèi)部部的“活活動”不不引起狀狀態(tài)轉(zhuǎn)移移;箭頭頭上的““動作””指狀態(tài)態(tài)轉(zhuǎn)移時時要執(zhí)行行的動作作。六盤水師師范學(xué)院院孫新新杰44(6)順序圖圖用來描述述對象之之間的動動態(tài)協(xié)作作關(guān)系以以及協(xié)作作過程中中的先后后次序。。它常用用來描述述一個用用例的行行為,顯顯示該用用例中所所涉及到到的對象象以及對對象之間間交互的的時間順順序。每個對象象圖符下下面的垂垂直虛線線表示對對象的生生命線,,每條對對象生命命線上的的細(xì)長矩矩形表示示該對象象正處于于活動時時期,細(xì)細(xì)長矩形形底部的的“×”表示該對對象被刪刪除。對象生命命線之間間的帶箭箭頭連線線表示對對象之間間的交互互與通信信,一般般指消息息傳遞并并具有以以下類型型:簡單消息息,不考考慮通信信細(xì)節(jié)。。同步消息息,必須須等待消消息的返返回。異步消息息,不等等待消息息返回,,繼續(xù)執(zhí)執(zhí)行。返回消息息,同步步消息激激活的動動作返回回到發(fā)送對象的的消息。。消息泛指指操作調(diào)調(diào)用、信信號傳送送、事件件喚醒等等。六盤水師師范學(xué)院院孫新新杰45:呼叫者者:交換機(jī)機(jī):遠(yuǎn)程交交換機(jī):受話者者拿起話筒筒響撥號聲聲撥號碼.......接通信號號響鈴鈴響停止止信號拿起話筒筒鈴響停止止<10deabc{b-a<1s}{e-d<5s}}{c-b<10s}路由選擇擇接電話的的順序圖圖六盤水師師范學(xué)院院孫新新杰46:計(jì)算機(jī)機(jī):打印服服務(wù)器:打印機(jī)機(jī):隊(duì)列打印()[打印機(jī)空空閑]打印()[打印機(jī)忙忙]存儲()打印結(jié)束束()打印結(jié)束束()用例“打打印程序序”的順順序圖六盤水師師范學(xué)院院孫新新杰47(7)活動圖圖活動圖可可有不同同的抽象象級別。。既可以以在企業(yè)業(yè)業(yè)務(wù)模模型中描描述業(yè)務(wù)務(wù)工作流流,又可可以描述述滿足一一個用例例要求所所進(jìn)行的的活動及及相應(yīng)約約束關(guān)系系,還可可以描述述每個活活動的具具體操作作步驟((相當(dāng)于于流程圖圖)。主主要圖形形元素::?泳道活活動動圖中用用垂直分分隔線劃劃分成的的縱向區(qū)區(qū)域,說說明由誰來來完成該該泳道中中的任務(wù)務(wù)。?起點(diǎn)活活動動圖中所所有活動動的開始始,用表表示。?終點(diǎn)活活動動圖中所所有活動動的結(jié)束束,用表表示示。可有幾個個終點(diǎn)。。?活動完完成的任任務(wù)或操操作步驟驟,用圓圓角矩形形表示。。?決策是是特特殊的活活動,表表示活動動流程中中的判斷斷,用菱形表表示。六盤水師師范學(xué)院院孫新新杰48?同步表表示示活動之之間的同同步或并并發(fā),表表示引入入的信息息流同時到到達(dá),引引出的信信息流同同時被觸觸發(fā)。同同步用一條粗粗線表示示,稱為為同步線線。?業(yè)務(wù)對象象對對象可以以作為活活動的輸輸入或輸輸出,即即活動會改變對對象的狀狀態(tài)。用用虛線箭箭頭表示示數(shù)據(jù)傳送的方方向。?轉(zhuǎn)移是是活活動之間間的關(guān)系系,由隱隱含事件件引起活活動轉(zhuǎn)移。轉(zhuǎn)移移連接各各個活動動及各個個特殊活活動(起起點(diǎn)、終點(diǎn)點(diǎn)、決策策、同步步線等))。轉(zhuǎn)移移用帶箭箭頭的線表示示,其上上不標(biāo)注注事件和和動作,,可標(biāo)注注轉(zhuǎn)移的條條件。下面是兩兩個活動動圖示例例:六盤水師師范學(xué)院院孫新新杰49顧客售貨庫房請求服務(wù)務(wù)支付收貨開訂單供貨交貨顧客購物物的活動動圖六盤水師師范學(xué)院院孫新新杰

溫馨提示

  • 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

提交評論