版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
面向?qū)ο筌浖こ痰母拍?.1傳統(tǒng)軟件開(kāi)發(fā)方法的局限性傳統(tǒng)的軟件工具、軟件技術(shù)和抽象層次越來(lái)越難以適應(yīng)大規(guī)模復(fù)雜軟件系統(tǒng)的開(kāi)發(fā)特點(diǎn)。軟件能力問(wèn)題已經(jīng)成為制約軟件發(fā)展的因素。軟件工程自70年代以來(lái),有力的推動(dòng)了軟件能力的解決。自頂向下的分析與設(shè)計(jì)的方法、軟件項(xiàng)目的工程化管理、軟件工具和開(kāi)發(fā)環(huán)境、軟件質(zhì)量保證等都對(duì)軟件的發(fā)展起了非常重要的作用。傳統(tǒng)的軟件開(kāi)發(fā)方法在當(dāng)時(shí)的軟件工程中起了主導(dǎo)作用,隨著系統(tǒng)復(fù)雜性、多變性增強(qiáng),傳統(tǒng)方法的缺陷就顯露了出來(lái):(1)面向過(guò)程為主。系統(tǒng)圍繞著由計(jì)算機(jī)來(lái)實(shí)現(xiàn)功能的復(fù)雜過(guò)程而建立,在分析和解決問(wèn)題時(shí)與人們對(duì)現(xiàn)實(shí)世界的認(rèn)識(shí)有一定差距。第2頁(yè),共59頁(yè),2024年2月25日,星期天
(2)軟件結(jié)構(gòu)穩(wěn)定性差。需求分析階段重點(diǎn)是功能模型,難以徹底明確全部需求。設(shè)計(jì)階段的軟件體系結(jié)構(gòu)是基于系統(tǒng)功能建立的。每個(gè)模塊完成一個(gè)基本功能,多個(gè)模塊的組合完成一個(gè)整體功能。一個(gè)模塊的變動(dòng)可能會(huì)影響到多個(gè)模塊。用戶(hù)的需求大多針對(duì)功能,功能的變化會(huì)引起體系結(jié)構(gòu)的變化,不利于系統(tǒng)的維護(hù)。(3)軟件開(kāi)發(fā)的抽象力度小。解決問(wèn)題的類(lèi)型一般用于“輸入-處理-輸出”為核心的數(shù)據(jù)處理系統(tǒng),不適應(yīng)于復(fù)雜的實(shí)時(shí)、交互、事件驅(qū)動(dòng)、分布式等新型應(yīng)用的系統(tǒng)開(kāi)發(fā)。(4)軟件重用未能得到很好的解決。傳統(tǒng)的方法一般從“零”開(kāi)始開(kāi)發(fā)軟件,數(shù)據(jù)與操作作為相互分離的實(shí)體來(lái)考慮,使軟件的可復(fù)用性差。重用的實(shí)施僅僅是公用模塊的調(diào)用。面向?qū)ο蟮姆庋b性、繼承性、多態(tài)性等特性支持軟件重用且重用的粒度大。軟件的重用導(dǎo)致更快地、高質(zhì)量地開(kāi)發(fā)軟件,為軟件工業(yè)化生產(chǎn)奠定基礎(chǔ)。第3頁(yè),共59頁(yè),2024年2月25日,星期天傳統(tǒng)方法數(shù)據(jù)與過(guò)程是分離的過(guò)程1輸入輸出過(guò)程2過(guò)程3數(shù)據(jù)實(shí)體屬于該對(duì)象的數(shù)據(jù)對(duì)象處理數(shù)據(jù)的方法消息消息對(duì)象把數(shù)據(jù)和處理數(shù)據(jù)的方法封狀成一個(gè)單元第4頁(yè),共59頁(yè),2024年2月25日,星期天傳統(tǒng)方法與面向?qū)ο蠓椒ǖ谋容^面向?qū)ο蠓椒ㄏ到y(tǒng)是交互對(duì)象的集合對(duì)象與人或其它對(duì)象交互對(duì)象發(fā)送與響應(yīng)消息傳統(tǒng)方法系統(tǒng)是過(guò)程的集合過(guò)程與數(shù)據(jù)實(shí)體交互過(guò)程接受輸入并產(chǎn)生輸出第5頁(yè),共59頁(yè),2024年2月25日,星期天7.2面向?qū)ο蟮倪^(guò)程模型1、演化/并行模型(p402)是Booch等人在90年代初建議的。該模型與第1章介紹的螺旋模型、增量模型相似。但強(qiáng)調(diào):(1)對(duì)OO系統(tǒng)的分析和設(shè)計(jì)建模不在相同的抽象層次上進(jìn)行。(2)分析和設(shè)計(jì)可以并發(fā)地應(yīng)用到獨(dú)立的系統(tǒng)構(gòu)件。第6頁(yè),共59頁(yè),2024年2月25日,星期天
該模型每次迭代都要計(jì)劃、工程和評(píng)估。每個(gè)計(jì)劃都要調(diào)整進(jìn)度以適應(yīng)和本次迭代相關(guān)的變化。早期階段迭代進(jìn)行的分析與設(shè)計(jì)工作為了分離出OO模型中的所有重要元素;當(dāng)工程工作不斷進(jìn)展時(shí),產(chǎn)生軟件的增量版本;在評(píng)估階段對(duì)每個(gè)增量的評(píng)估其反饋將影響下一次計(jì)劃活動(dòng)及后續(xù)增量。
2、RUP98年6月推出,該過(guò)程強(qiáng)調(diào)了開(kāi)發(fā)方法的統(tǒng)一、建模語(yǔ)言的統(tǒng)一、研究成果的統(tǒng)一。該過(guò)程是基于構(gòu)件的,即所構(gòu)造的系統(tǒng)是由軟件構(gòu)件通過(guò)明確定義的接口相互連接所建造起來(lái)的。它使用UML來(lái)制定軟件系統(tǒng)的所有藍(lán)圖。RUP的主要特點(diǎn):(1)用例驅(qū)動(dòng)用例作為系統(tǒng)分析、設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試的基本輸入。第7頁(yè),共59頁(yè),2024年2月25日,星期天即用例不只是一種確定系統(tǒng)需求的工具,它還能驅(qū)動(dòng)系統(tǒng)的設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試的進(jìn)行?;谟美P停_(kāi)發(fā)人員可以創(chuàng)建一系列實(shí)現(xiàn)這些用例的設(shè)計(jì)模型和實(shí)現(xiàn)模型。開(kāi)發(fā)人員可以審查每個(gè)后續(xù)建立的模型是否與用例模型一致。測(cè)試人員測(cè)試實(shí)現(xiàn)以確定實(shí)現(xiàn)模型的構(gòu)件是否實(shí)現(xiàn)了用例。所以用例啟動(dòng)了開(kāi)發(fā)過(guò)程,還使開(kāi)發(fā)過(guò)程結(jié)合為一體。開(kāi)發(fā)過(guò)程是沿著一系列從用例得到的工作流前進(jìn)的。第8頁(yè),共59頁(yè),2024年2月25日,星期天下圖顯示了用例模型與其他模型之間的相關(guān)性:用例模型由…建立分析模型為系統(tǒng)描述一系列類(lèi)由…設(shè)計(jì)設(shè)計(jì)模型為系統(tǒng)定義一系列子系統(tǒng)和界面由…實(shí)現(xiàn)實(shí)現(xiàn)模型將類(lèi)映射到構(gòu)件由…分配測(cè)試模型由…驗(yàn)證驗(yàn)證系統(tǒng)是否提供了用例模型中描述的功能配置模型定義軟件分布第9頁(yè),共59頁(yè),2024年2月25日,星期天
(2)以構(gòu)架(Architecture)為中心軟件系統(tǒng)的構(gòu)架從不同角度描述了即將構(gòu)造的系統(tǒng),它刻畫(huà)了系統(tǒng)的整體設(shè)計(jì),去掉了細(xì)節(jié)部分,突出了系統(tǒng)的重要特征,包含了系統(tǒng)中最重要的靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)行為。構(gòu)架是根據(jù)應(yīng)用領(lǐng)域的需要逐漸發(fā)展起來(lái)的,并在用例中得到反映。每種產(chǎn)品都具有功能和表現(xiàn)形式,功能與用例對(duì)應(yīng),表現(xiàn)形式與構(gòu)架對(duì)應(yīng)。用例與構(gòu)架是相互影響的,用例在實(shí)現(xiàn)時(shí)必須符合于構(gòu)架,構(gòu)架必須預(yù)留空間以實(shí)現(xiàn)現(xiàn)在或?qū)?lái)所有需要的用例。第10頁(yè),共59頁(yè),2024年2月25日,星期天3、迭代與增量的過(guò)程迭代指工作流中的步驟,增量指產(chǎn)品中增加的部分。迭代過(guò)程要處理一組用例,這組用例合起來(lái)能擴(kuò)展所開(kāi)發(fā)產(chǎn)品的可用性,后續(xù)的迭代過(guò)程建立在前一次迭代過(guò)程末期所開(kāi)發(fā)的產(chǎn)品上。構(gòu)架提供了一種結(jié)構(gòu)來(lái)指導(dǎo)迭代過(guò)程中的工作,用例則確定了目標(biāo)并驅(qū)動(dòng)每次迭代的工作。——三條腿的凳子!4、基于構(gòu)件統(tǒng)一過(guò)程所構(gòu)造的軟件系統(tǒng),是由軟件構(gòu)件通過(guò)明確定義的接口相互連接所建造起來(lái)的。5、使用UML
統(tǒng)一過(guò)程使用UML來(lái)制定軟件系統(tǒng)的所有藍(lán)圖,UML是整個(gè)統(tǒng)一過(guò)程的一個(gè)完整部分,他們是共同發(fā)展起來(lái)的,它強(qiáng)調(diào)創(chuàng)建和維護(hù)模型。第11頁(yè),共59頁(yè),2024年2月25日,星期天6、過(guò)程可剪裁用統(tǒng)一過(guò)程開(kāi)發(fā)軟件時(shí),各階段應(yīng)該有多長(zhǎng)?各個(gè)階段迭代多少次是合適的?候選構(gòu)架可以在哪一點(diǎn)完全建立起來(lái)?這些問(wèn)題的答案取決于系統(tǒng)的規(guī)模、項(xiàng)目的性質(zhì)、開(kāi)發(fā)組織的領(lǐng)域經(jīng)驗(yàn),甚至包括相關(guān)人員有效配合程度??傊y(tǒng)一過(guò)程是一個(gè)框架,可以根據(jù)具體情況加以裁剪,以此來(lái)適應(yīng)各種各樣的開(kāi)發(fā)過(guò)程。第12頁(yè),共59頁(yè),2024年2月25日,星期天7.3面向?qū)ο蟮母拍?/p>
面向?qū)ο螅∣bjectOriented,簡(jiǎn)稱(chēng)OO)的概念起源于20世紀(jì)60年代中期的Simula67。80年代初,Smalltalk語(yǔ)言及其程序設(shè)計(jì)環(huán)境的出現(xiàn)成為面向?qū)ο蠹夹g(shù)發(fā)展的一個(gè)重要里程碑。80年代中期硬件的發(fā)展使C到C++過(guò)渡平滑,推出了相應(yīng)工具及面向?qū)ο蠹森h(huán)境,使OOP模式進(jìn)入主流。80年代中后期,面向?qū)ο蠓治雠c設(shè)計(jì)的研究開(kāi)始發(fā)展。進(jìn)入90年代,面向?qū)ο筌浖こ坛闪嗽S多軟件產(chǎn)品的建造笵型。
(1)對(duì)象(object)
是現(xiàn)實(shí)世界中個(gè)體或事物的抽象表示。封裝了其屬性及相關(guān)的操作。屬性表示對(duì)象的性質(zhì),屬性值規(guī)定了對(duì)象所有可能的狀態(tài)。對(duì)象的操作指出了該對(duì)象具有的行為并提供了對(duì)外的服務(wù)。第13頁(yè),共59頁(yè),2024年2月25日,星期天
(2)類(lèi)(class)
是具有相同屬性和相同操作的對(duì)象的抽象。通常用類(lèi)名、類(lèi)的屬性、類(lèi)的操作三方面的內(nèi)容來(lái)定意一個(gè)類(lèi)。一個(gè)具體對(duì)象是類(lèi)的一個(gè)實(shí)例。(3)消息(message)
是一個(gè)對(duì)象發(fā)送給另一個(gè)對(duì)象的操作請(qǐng)求。消息一般由三部分組成:對(duì)象名、消息名、參數(shù)。消息傳遞是對(duì)象與外部世界相互通信的唯一途徑。
(4)方法(method)
是對(duì)象操作的實(shí)現(xiàn),描述了對(duì)象中操作的算法和響應(yīng)消息的方式。
第14頁(yè),共59頁(yè),2024年2月25日,星期天(5)繼承(inheritance)
是子類(lèi)自動(dòng)的共享其父類(lèi)中定義的屬性和操作的機(jī)制,該機(jī)制構(gòu)成了類(lèi)的層次結(jié)構(gòu)。較高層的父類(lèi)稱(chēng)為基類(lèi)、超類(lèi)、一般類(lèi)。子類(lèi)稱(chēng)為派生類(lèi)、特殊類(lèi)。子類(lèi)除了繼承父類(lèi)的特征,還可有自己的特征。繼承有傳遞性,子類(lèi)能繼承上層的全部特征。繼承性使得相似的對(duì)象可以共享程序代碼和數(shù)據(jù)結(jié)構(gòu),從而簡(jiǎn)化了創(chuàng)建類(lèi)及對(duì)象的工作量,基類(lèi)解決一般性問(wèn)題,派生類(lèi)解決特殊問(wèn)題,提高了軟件的可重用性。繼承性還使得軟件便于維護(hù),當(dāng)需要擴(kuò)充軟件原有功能時(shí),從要修改的類(lèi)中派生出一個(gè)子類(lèi),在該子類(lèi)中添加新的代碼。
第15頁(yè),共59頁(yè),2024年2月25日,星期天(6)多態(tài)(polymorphism)
指在類(lèi)的不同層次上可以使用相同的操作名。同一操作名可有不同的實(shí)現(xiàn)方式,運(yùn)行時(shí)可動(dòng)態(tài)地選擇哪一個(gè)算法。多態(tài)性增加了軟件的靈活性,可擴(kuò)充性,通用功能的操作放在高層,不同地實(shí)現(xiàn)這一功能的行為放在低層,以實(shí)現(xiàn)不同的相應(yīng)。
第16頁(yè),共59頁(yè),2024年2月25日,星期天7.4幾種面向?qū)ο蠓椒?0世紀(jì)80年代以來(lái),出現(xiàn)了幾十種面向?qū)ο筌浖_(kāi)發(fā)方法。每一種都有自己的符號(hào)體系和開(kāi)發(fā)過(guò)程,都支持以下基本活動(dòng):
?標(biāo)識(shí)類(lèi)及對(duì)象
?描述類(lèi)及對(duì)象之間的關(guān)系
?定義類(lèi)的屬性和操作
1、Booch方法
Booch是面向?qū)ο蠓椒ㄗ钤绲奶岢稣咧?,提出了面向?qū)ο筌浖こ痰母拍?。提出了“微開(kāi)發(fā)過(guò)程”和“宏開(kāi)發(fā)過(guò)程”的思想。
第17頁(yè),共59頁(yè),2024年2月25日,星期天
微開(kāi)發(fā)過(guò)程:定義一組分析任務(wù),包括標(biāo)識(shí)類(lèi)和對(duì)象以及類(lèi)和對(duì)象的語(yǔ)義、定義類(lèi)和對(duì)象間的關(guān)系、描述類(lèi)和對(duì)象的動(dòng)態(tài)行為。宏開(kāi)發(fā)過(guò)程:將微過(guò)程反復(fù)應(yīng)用,并包含了體系結(jié)構(gòu)設(shè)計(jì)的計(jì)劃活動(dòng):
?將相似的對(duì)象聚集到獨(dú)立的模塊;
?描述對(duì)象管理、內(nèi)存管理、錯(cuò)誤處理等其它功能的實(shí)施;
?可使用原型對(duì)上述任務(wù)進(jìn)行精化;
?將同時(shí)執(zhí)行的進(jìn)程分配到不同的處理機(jī)。該方法提出建立以下模型:類(lèi)圖、對(duì)象圖、狀態(tài)轉(zhuǎn)移圖、時(shí)序圖、模塊圖、進(jìn)程圖。第18頁(yè),共59頁(yè),2024年2月25日,星期天2、Coad/Yourdon方法著名的OOA/OOD方法,也是最早的面向?qū)ο蟮姆治雠c設(shè)計(jì)方法之一。簡(jiǎn)單、易學(xué)。
OOA階段的任務(wù):
?標(biāo)識(shí)類(lèi)及對(duì)象
?定義結(jié)構(gòu)(一般-特殊結(jié)構(gòu)、整體-部分結(jié)構(gòu))
?劃分主題
?定義屬性及對(duì)象間的實(shí)例連接
?定義服務(wù)及對(duì)象間的消息連接上述任務(wù)迭代進(jìn)行,產(chǎn)生5個(gè)層次的問(wèn)題域模型(主題層、類(lèi)及對(duì)象層、結(jié)構(gòu)層、屬性層、服務(wù)層)第19頁(yè),共59頁(yè),2024年2月25日,星期天OOD階段的活動(dòng):
?問(wèn)題域部分
?人機(jī)交互部分
?任務(wù)管理部分
?數(shù)據(jù)管理部分
3、OMT方法
Rumbaugh等人提出的對(duì)象建模技術(shù)(ObjectModelTechnology,OMT),該方法強(qiáng)調(diào)了三種模型,并將軟件開(kāi)發(fā)過(guò)程劃分為以下幾個(gè)階段:(1)系統(tǒng)分析
?問(wèn)題描述
?建立對(duì)象模型產(chǎn)品:對(duì)象模型=對(duì)象圖+數(shù)據(jù)字典第20頁(yè),共59頁(yè),2024年2月25日,星期天?建立動(dòng)態(tài)模型產(chǎn)品:動(dòng)態(tài)模型=狀態(tài)圖+事件跟蹤圖
?
建立功能模型產(chǎn)品:功能模型=數(shù)據(jù)流圖+約束(2)系統(tǒng)設(shè)計(jì)
?將系統(tǒng)分解為各個(gè)子系統(tǒng)
?確定問(wèn)題中固有的并發(fā)性
?將各子系統(tǒng)分配給處理器
?數(shù)據(jù)存儲(chǔ)管理
?全局資源管理
?選擇軟件控制機(jī)制
?
邊界條件處理第21頁(yè),共59頁(yè),2024年2月25日,星期天
(3)對(duì)象設(shè)計(jì)對(duì)分析模型細(xì)化:
?將三種模型結(jié)合起來(lái)以獲得對(duì)象類(lèi)上的操作。如功能模型中的加工,動(dòng)態(tài)模型中對(duì)應(yīng)一個(gè)事件的活動(dòng)。
?設(shè)計(jì)實(shí)現(xiàn)操作的算法
?優(yōu)化數(shù)據(jù)訪(fǎng)問(wèn)路徑
?實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)中的控制機(jī)制
?為提高繼承而調(diào)整類(lèi)結(jié)構(gòu)
?設(shè)計(jì)對(duì)象之間的關(guān)聯(lián)
?將類(lèi)和關(guān)聯(lián)集成到模塊中
第22頁(yè),共59頁(yè),2024年2月25日,星期天
4、Jacobson方法也稱(chēng)OOSE方法。最大特點(diǎn)是強(qiáng)調(diào)使用實(shí)例(Use-Case),每一個(gè)用例就是一個(gè)使用系統(tǒng)的方式,用例的執(zhí)行將引發(fā)執(zhí)行一系列與行為相關(guān)的事務(wù)。該方法將用例貫穿于整個(gè)開(kāi)發(fā)階段,并在用例描述中引入了角色或參與者(Actor)的概念。角色指使用系統(tǒng)的人以及與系統(tǒng)相互作用的軟硬件環(huán)境。該方法還將對(duì)象區(qū)分為實(shí)體對(duì)象(業(yè)務(wù)對(duì)象)、接口對(duì)象(界面對(duì)象)和控制對(duì)象。需求分析階段活動(dòng):定義潛在的角色、識(shí)別問(wèn)題域中的對(duì)象和關(guān)系、基于需求規(guī)格說(shuō)明和角色的需要描述用例。設(shè)計(jì)階段的活動(dòng):從用例的描述中發(fā)現(xiàn)與設(shè)計(jì)有關(guān)的對(duì)象,并描述其屬性、行為和關(guān)聯(lián)。同時(shí)把所有用例的行為分派給每個(gè)對(duì)象。第23頁(yè),共59頁(yè),2024年2月25日,星期天7.5統(tǒng)一建模語(yǔ)言UMLUML(UnifiedModelingLanguage)產(chǎn)生于90年代中期。它不僅統(tǒng)一了Booch、OMT和OOSE方法中的概念和表示法,而且對(duì)其作了進(jìn)一步擴(kuò)展,最終成為在面向?qū)ο蠹夹g(shù)領(lǐng)域占主導(dǎo)地位的、并被大眾所接受的標(biāo)準(zhǔn)建模語(yǔ)言。
1、UML概述
UML的發(fā)展歷程(下圖)
UML是一個(gè)通用的標(biāo)準(zhǔn)建模語(yǔ)言,可以對(duì)任何具有靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)行為的系統(tǒng)進(jìn)行可視化建模。UML不是一個(gè)開(kāi)發(fā)過(guò)程,也不是一個(gè)方法,但允許任何一種開(kāi)發(fā)過(guò)程和面向?qū)ο蠓椒ㄊ褂盟?/p>
第24頁(yè),共59頁(yè),2024年2月25日,星期天Booch’93OMT-2UML0.8UML0.9&0.91UML1.0UML1.1UML同行專(zhuān)家意見(jiàn)OMG認(rèn)證10/9510/96&9/96OMG審核,1/97OMG修正,9/97OMG采納為標(biāo)準(zhǔn),11/97UML1.3UML2.02001年重要修改OOSEUML開(kāi)發(fā)歷程第25頁(yè),共59頁(yè),2024年2月25日,星期天2、UML中的模型視圖
UML有以下主要模型元素,構(gòu)成了UML中的各種模型視圖:第26頁(yè),共59頁(yè),2024年2月25日,星期天
?用戶(hù)模型視圖用例圖:從用戶(hù)的角度描述系統(tǒng)能提供哪些功能以及功能的使用者。
?結(jié)構(gòu)模型視圖:類(lèi)圖:描述系統(tǒng)的靜態(tài)結(jié)構(gòu);對(duì)象圖:描述系統(tǒng)在某個(gè)時(shí)刻的靜態(tài)結(jié)構(gòu);包圖:將類(lèi)分組成更高層次的靜態(tài)結(jié)構(gòu)。
?行為模型試圖順序圖:按時(shí)間順序描述系統(tǒng)元素之間的交互;協(xié)作圖:從時(shí)間和空間的順序描述系統(tǒng)元素之間的交互;狀態(tài)圖:描述系統(tǒng)元素對(duì)事件的響應(yīng)引起的狀態(tài)轉(zhuǎn)換;活動(dòng)圖:描述系統(tǒng)元素的活動(dòng)。
?實(shí)現(xiàn)模型視圖構(gòu)件圖:描述實(shí)現(xiàn)系統(tǒng)的元素的組織結(jié)構(gòu);配置圖:描述環(huán)境元素的配置,并把實(shí)現(xiàn)系統(tǒng)的元素映射到配置上。第27頁(yè),共59頁(yè),2024年2月25日,星期天(1)用例圖
用例:根據(jù)Jacobson的定義,用例規(guī)定了一個(gè)動(dòng)作序列,系統(tǒng)執(zhí)行這些動(dòng)作并產(chǎn)生出對(duì)于特定參與者可見(jiàn)的有價(jià)值的結(jié)果。參與者可以是人、組織、硬件設(shè)備或外部系統(tǒng)。用例圖用于展示參與者與系統(tǒng)提供的用例之間的連接(通信)關(guān)系。僅僅從參與者使用系統(tǒng)的角度描述系統(tǒng),不反映內(nèi)部的處理方式。因此用例圖定義的是系統(tǒng)的功能需求。下圖是某保險(xiǎn)業(yè)務(wù)的用例圖。第28頁(yè),共59頁(yè),2024年2月25日,星期天簽定一份保險(xiǎn)單客戶(hù)保險(xiǎn)銷(xiāo)售人員銷(xiāo)售統(tǒng)計(jì)客戶(hù)統(tǒng)計(jì)某保險(xiǎn)業(yè)務(wù)的用例圖第29頁(yè),共59頁(yè),2024年2月25日,星期天某金融貿(mào)易系統(tǒng)用例圖設(shè)置邊界風(fēng)險(xiǎn)分析交易估價(jià)進(jìn)行交易超越邊界更新帳目評(píng)價(jià)交易人員交易經(jīng)理計(jì)帳系統(tǒng)銷(xiāo)售員《extend》《include》《include》第30頁(yè),共59頁(yè),2024年2月25日,星期天
其中:《include》、《extend》為用例圖中可用的構(gòu)造型元素,表示“風(fēng)險(xiǎn)分析”和“交易估價(jià)”都包含有公共的“評(píng)價(jià)”動(dòng)作,因此把“評(píng)價(jià)”作為一個(gè)獨(dú)立的用例。而“超越邊界”用例是“進(jìn)行交易”用例的擴(kuò)展,指交易時(shí)對(duì)某個(gè)特定用戶(hù)規(guī)定了最大貿(mào)易量,不能執(zhí)行一般的常規(guī)動(dòng)作。因此,當(dāng)描述一般行為時(shí)有例外、任選或異常處理時(shí),采用《extend》;當(dāng)在兩個(gè)或多個(gè)用例中出現(xiàn)重復(fù)描述(有共用行為)而又想避免重復(fù)時(shí),采用《include》。(2)類(lèi)圖
用來(lái)描述系統(tǒng)中類(lèi)和類(lèi)之間的關(guān)系,是系統(tǒng)的靜態(tài)結(jié)構(gòu)。類(lèi)圖中還描述了類(lèi)的屬性、操作、以及對(duì)模型中各種成分的約束。類(lèi)圖包含有類(lèi)、關(guān)聯(lián)和關(guān)系等模型元素。見(jiàn)下圖:第31頁(yè),共59頁(yè),2024年2月25日,星期天類(lèi)名屬性操作類(lèi)的完整表示類(lèi)名類(lèi)的簡(jiǎn)單表示類(lèi)1類(lèi)2角色角色關(guān)聯(lián)名關(guān)聯(lián)表示類(lèi)之間的語(yǔ)義聯(lián)系(是運(yùn)行時(shí)實(shí)例之間的關(guān)系)。角色表示該類(lèi)在這個(gè)關(guān)聯(lián)中的作用。關(guān)聯(lián)中可以有重?cái)?shù),重?cái)?shù)指一個(gè)角色可以有多少個(gè)對(duì)象來(lái)扮演。①類(lèi)的表示:②類(lèi)的關(guān)聯(lián)(association):第32頁(yè),共59頁(yè),2024年2月25日,星期天公司董事會(huì)辦公室分配員工0..1*人員董事會(huì)成員0,3..8*董事會(huì)同時(shí)省略關(guān)聯(lián)名和角色名,默認(rèn)關(guān)聯(lián)名是has(有),省略重?cái)?shù)默認(rèn)1..1。每一個(gè)員工可能沒(méi)有或者只有一個(gè)辦公室每一個(gè)董事會(huì)沒(méi)有或者有3~8個(gè)董事會(huì)成員(有角色名,可以省略關(guān)聯(lián)名)第33頁(yè),共59頁(yè),2024年2月25日,星期天在一些情況下關(guān)聯(lián)可能需要記錄一些信息,但這些信息不能放在任何一個(gè)類(lèi)中,可引入一個(gè)關(guān)聯(lián)類(lèi)記錄這些信息。如下圖:學(xué)生*選修*課程學(xué)生**課程選修成績(jī)學(xué)生*選修*成績(jī)課程一個(gè)多對(duì)多關(guān)聯(lián)。“成績(jī)”屬性不能放在任何一方(每個(gè)學(xué)生只有一個(gè)成績(jī)或每門(mén)課程只有一個(gè)成績(jī))創(chuàng)建一個(gè)關(guān)聯(lián)類(lèi)來(lái)保存成績(jī)與帶有關(guān)聯(lián)類(lèi)的多對(duì)多關(guān)聯(lián)等價(jià)的兩個(gè)一對(duì)多關(guān)聯(lián)的圖第34頁(yè),共59頁(yè),2024年2月25日,星期天整體類(lèi)部分類(lèi)整體類(lèi)部分類(lèi)項(xiàng)目人員1*建筑物樓房類(lèi)的聚合類(lèi)的強(qiáng)聚合(組合)*③類(lèi)的聚合(aggregation):是表示“整體-部分”的特殊關(guān)聯(lián)。組合(composition)是一種強(qiáng)類(lèi)型的聚合,整體類(lèi)和部分類(lèi)共存亡,如果整體類(lèi)被撤銷(xiāo),部分類(lèi)也不存在。部分類(lèi)的存在只是為整體類(lèi)服務(wù)。第35頁(yè),共59頁(yè),2024年2月25日,星期天一般類(lèi)特殊類(lèi)人員教師學(xué)生
由一個(gè)超類(lèi)和幾個(gè)直接子類(lèi)構(gòu)成的結(jié)構(gòu)通常稱(chēng)為泛化。類(lèi)的這種關(guān)系也稱(chēng)為一般-特殊關(guān)系或繼承關(guān)系,將現(xiàn)實(shí)世界實(shí)體的共同特性抽象為一般類(lèi),通過(guò)增加獨(dú)有的特性而成為各種特殊類(lèi)。如圖所示:
④類(lèi)的泛化(generalization):
下圖是一個(gè)網(wǎng)上售貨系統(tǒng)的部分類(lèi)圖。其中用{}括起來(lái)的內(nèi)容是約束條件。UML提供了對(duì)類(lèi)圖中的基本成分可進(jìn)行限制與約束的手段。第36頁(yè),共59頁(yè),2024年2月25日,星期天銷(xiāo)售代表0..1定貨nameaddress顧客creditRating():String產(chǎn)品雇員1DateReceivedisPrepaidnumber:Stringprice:Money協(xié)作顧客contactNamecreditRatingcreditLimitcreditCard#個(gè)人顧客{creditRating()==“poor”}定貨作業(yè)線(xiàn)dispatch()close()remind()billForMonth()Quantity:Integerprice:MoneyisSatisfied:Boolean1****1物品第37頁(yè),共59頁(yè),2024年2月25日,星期天
(3)對(duì)象圖
對(duì)象圖是類(lèi)的實(shí)例圖,給出了存在于程序執(zhí)行過(guò)程中某個(gè)特定點(diǎn)的對(duì)象與鏈接的配置示例。
對(duì)象名:類(lèi)名屬性對(duì)象名:類(lèi)名對(duì)象1對(duì)象2鏈名對(duì)象的三種描述方式鏈的表示教師講授課程類(lèi)圖李偉編號(hào)=3658職稱(chēng)=教授軟件工程編號(hào)=401學(xué)分=3數(shù)據(jù)庫(kù)編號(hào)=301學(xué)分=3對(duì)象圖第38頁(yè),共59頁(yè),2024年2月25日,星期天
其中,鏈?zhǔn)穷?lèi)圖中關(guān)聯(lián)的實(shí)例,類(lèi)圖中關(guān)聯(lián)表示兩個(gè)類(lèi)之間可能存在的所有鏈接,而對(duì)象圖中的鏈上不附加重?cái)?shù)。對(duì)象圖中也不可能包含泛化。對(duì)象圖不像類(lèi)圖那樣具有重要地位,通常用來(lái)實(shí)例化一個(gè)復(fù)雜的類(lèi)圖以分析特定的場(chǎng)景。對(duì)象圖也常用在協(xié)作圖中,反映一組對(duì)象之間的動(dòng)態(tài)協(xié)作關(guān)系。第39頁(yè),共59頁(yè),2024年2月25日,星期天(4)包圖包是將類(lèi)分組成更高層次的單位。包圖用以描述包中存在的類(lèi)以及包與包之間的依賴(lài)關(guān)系和泛化關(guān)系。包的內(nèi)容可以是類(lèi)的列表、類(lèi)圖、或另一個(gè)包圖。依賴(lài)關(guān)系用虛線(xiàn)箭頭表示。保險(xiǎn)單填寫(xiě)界面內(nèi)部系統(tǒng)保險(xiǎn)單客戶(hù)數(shù)據(jù)庫(kù)界面Oracle界面Sybase界面某保險(xiǎn)信息管理系統(tǒng)的包圖第40頁(yè),共59頁(yè),2024年2月25日,星期天(5)狀態(tài)圖
狀態(tài)圖描述類(lèi)的對(duì)象在生命周期內(nèi)所有可能的狀態(tài)以及事件發(fā)生時(shí)狀態(tài)的轉(zhuǎn)移(transition)情況。一個(gè)轉(zhuǎn)移可以有一個(gè)與之相連的動(dòng)作(action),這個(gè)動(dòng)作指明了狀態(tài)轉(zhuǎn)移時(shí)應(yīng)該作些什么。狀態(tài)圖是類(lèi)圖的補(bǔ)充。不需要為所有的類(lèi)畫(huà)狀態(tài)圖,僅為那些有多個(gè)狀態(tài)其行為受外界環(huán)境的影響并且發(fā)生改變的類(lèi)畫(huà)狀態(tài)圖。第41頁(yè),共59頁(yè),2024年2月25日,星期天在一樓上升空閑下降到達(dá)一層到達(dá)樓層
升樓層
電梯運(yùn)行的狀態(tài)圖開(kāi)始上下降樓層在大樓一層到達(dá)樓層上升樓層超時(shí)移到一層第42頁(yè),共59頁(yè),2024年2月25日,星期天初態(tài)終態(tài)狀態(tài)名do/活動(dòng)名中間態(tài)行駛向前向后向前向后低速高速行駛或關(guān)系子狀態(tài)(只取一種)與關(guān)系子狀態(tài)(某時(shí)刻可同時(shí)到達(dá)多個(gè)子狀態(tài))①UML中的狀態(tài)表示②轉(zhuǎn)移狀態(tài)1do/活動(dòng)1狀態(tài)2do/活動(dòng)2事件[條件]/動(dòng)作其中:狀態(tài)內(nèi)部的“活動(dòng)”不引起狀態(tài)轉(zhuǎn)移;箭頭上的“動(dòng)作”指狀態(tài)轉(zhuǎn)移時(shí)要執(zhí)行的動(dòng)作。第43頁(yè),共59頁(yè),2024年2月25日,星期天
(6)順序圖
用來(lái)描述對(duì)象之間的動(dòng)態(tài)協(xié)作關(guān)系以及協(xié)作過(guò)程中的先后次序。它常用來(lái)描述一個(gè)用例的行為,顯示該用例中所涉及到的對(duì)象以及對(duì)象之間交互的時(shí)間順序。每個(gè)對(duì)象圖符下面的垂直虛線(xiàn)表示對(duì)象的生命線(xiàn),每條對(duì)象生命線(xiàn)上的細(xì)長(zhǎng)矩形表示該對(duì)象正處于活動(dòng)時(shí)期,細(xì)長(zhǎng)矩形底部的“×”表示該對(duì)象被刪除。對(duì)象生命線(xiàn)之間的帶箭頭連線(xiàn)表示對(duì)象之間的交互與通信,一般指消息傳遞并具有以下類(lèi)型:
簡(jiǎn)單消息,不考慮通信細(xì)節(jié)。同步消息,必須等待消息的返回。異步消息,不等待消息返回,繼續(xù)執(zhí)行。返回消息,同步消息激活的動(dòng)作返回到發(fā)送對(duì)象的消息。消息泛指操作調(diào)用、信號(hào)傳送、事件喚醒等。第44頁(yè),共59頁(yè),2024年2月25日,星期天:呼叫者:交換機(jī):遠(yuǎn)程交換機(jī):受話(huà)者拿起話(huà)筒響撥號(hào)聲撥號(hào)碼......接通信號(hào)響鈴鈴響停止信號(hào)
拿起話(huà)筒鈴響停止<10
deabc{b-a<1s}{e-d<5s}{c-b<10s}路由選擇接電話(huà)的順序圖第45頁(yè),共59頁(yè),2024年2月25日,星期天:計(jì)算機(jī):打印服務(wù)器:打印機(jī):隊(duì)列打印()[打印機(jī)空閑]打印()[打印機(jī)忙]存儲(chǔ)()打印結(jié)束()打印結(jié)束()用例“打印程序”的順序圖第46頁(yè),共59頁(yè),2024年2月25日,星期天(7)活動(dòng)圖活動(dòng)圖可有不同的抽象級(jí)別。既可以在企業(yè)業(yè)務(wù)模型中描述業(yè)務(wù)工作流,又可以描述滿(mǎn)足一個(gè)用例要求所進(jìn)行的活動(dòng)及相應(yīng)約束關(guān)系,還可以描述每個(gè)活動(dòng)的具體操作步驟(相當(dāng)于流程圖)。主要圖形元素:
?泳道活動(dòng)圖中用垂直分隔線(xiàn)劃分成的縱向區(qū)域,說(shuō)明由誰(shuí)來(lái)完成該泳道中的任務(wù)。
?起點(diǎn)活動(dòng)圖中所有活動(dòng)的開(kāi)始,用表示。
?終點(diǎn)活動(dòng)圖中所有活動(dòng)的結(jié)束,用表示??捎袔讉€(gè)終點(diǎn)。
?活動(dòng)完成的任務(wù)或操作步驟,用圓角矩形表示。
?決策是特殊的活動(dòng),表示活動(dòng)流程中的判斷,用菱形表示。
第47頁(yè),共59頁(yè),2024年2月25日,星期天?同步表示活動(dòng)之間的同步或并發(fā),表示引入的信息流同時(shí)到達(dá),引出的信息流同時(shí)被觸發(fā)。同步用一條粗線(xiàn)表示,稱(chēng)為同步線(xiàn)。
?業(yè)務(wù)對(duì)象對(duì)象可以作為活動(dòng)的輸入或輸出,即活動(dòng)會(huì)改變對(duì)象的狀態(tài)。用虛線(xiàn)箭頭表示數(shù)據(jù)傳送的方向。
?轉(zhuǎn)移是活動(dòng)之間的關(guān)系,由隱含事件引起活動(dòng)轉(zhuǎn)移。轉(zhuǎn)移連接各個(gè)活動(dòng)及各個(gè)特殊活動(dòng)(起點(diǎn)、終點(diǎn)、決策、同步線(xiàn)等)。轉(zhuǎn)移用帶箭頭的線(xiàn)表示,其上不標(biāo)注事件和動(dòng)作,可標(biāo)注轉(zhuǎn)移的條件。下面是兩個(gè)活動(dòng)圖示例:第48頁(yè),共59頁(yè),2024年2月25日,星期天顧客售貨庫(kù)房請(qǐng)求服務(wù)支付收貨開(kāi)訂單供貨交貨顧客購(gòu)物的活動(dòng)圖第49頁(yè),共59頁(yè),2024年2月25日,星期天采購(gòu)部經(jīng)理副總經(jīng)理協(xié)商采購(gòu)協(xié)議簽定采購(gòu)協(xié)議草案采
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 海洋浮標(biāo)工安全實(shí)操知識(shí)考核試卷含答案
- 炭素制品工崗前基礎(chǔ)驗(yàn)收考核試卷含答案
- 2025吉林長(zhǎng)春新區(qū)高新開(kāi)發(fā)區(qū)面向社會(huì)公開(kāi)招聘“社工崗”普通工作人員18人備考題庫(kù)附答案
- 2025年上海立信會(huì)計(jì)金融學(xué)院輔導(dǎo)員考試參考題庫(kù)附答案
- 機(jī)械密封件制造工崗前工作實(shí)操考核試卷含答案
- 生活燃煤供應(yīng)工安全應(yīng)急考核試卷含答案
- 礦井泵工誠(chéng)信道德競(jìng)賽考核試卷含答案
- 溫差電器件制造工安全防護(hù)考核試卷含答案
- 2024年湖北醫(yī)藥學(xué)院輔導(dǎo)員招聘考試真題匯編附答案
- 急性心肌梗死后心律失常護(hù)理課件
- 產(chǎn)品供貨方案、售后服務(wù)方案
- 十八而志夢(mèng)想以行+活動(dòng)設(shè)計(jì) 高三下學(xué)期成人禮主題班會(huì)
- 2023年上海華東理工大學(xué)機(jī)械與動(dòng)力工程學(xué)院教師崗位招聘筆試試題及答案
- TOC供應(yīng)鏈物流管理精益化培訓(xùn)教材PPT課件講義
- 醫(yī)院18類(lèi)常用急救藥品規(guī)格清單
- 放棄公開(kāi)遴選公務(wù)員面試資格聲明
- 2023-2024學(xué)年江蘇省海門(mén)市小學(xué)語(yǔ)文五年級(jí)期末點(diǎn)睛提升提分卷
- GB/T 1685-2008硫化橡膠或熱塑性橡膠在常溫和高溫下壓縮應(yīng)力松弛的測(cè)定
- 北京城市旅游故宮紅色中國(guó)風(fēng)PPT模板
- DB42T1319-2021綠色建筑設(shè)計(jì)與工程驗(yàn)收標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論