版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
軟件工程南京大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系軟件工程南京大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系1第二部分面向?qū)ο筌浖こ蹋?biāo)準(zhǔn)建模語言UML)2009SoftwareEngineeringGroup第二部分2009SoftwareEngineeringG1、面向?qū)ο蟾拍?、面向?qū)ο蟪绦蛟O(shè)計(jì)范型3、面向?qū)ο蠼?、統(tǒng)一建模語言UML5、UML用例圖6、UML類圖、對(duì)象圖、包圖和復(fù)合結(jié)構(gòu)圖7、UML狀態(tài)機(jī)圖、順序圖、活動(dòng)圖、通訊圖和交互概觀圖8、UML構(gòu)件圖和部署圖9、UML定時(shí)圖10、模型驅(qū)動(dòng)的體系結(jié)構(gòu)2009SoftwareEngineeringGroup內(nèi)容組織1、面向?qū)ο蟾拍?009SoftwareEngineer面向?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)成了完整的客觀世界。2009SoftwareEngineeringGroup面向?qū)ο筌浖こ堂嫦驅(qū)ο蟾拍?2009SoftwareEn面向?qū)ο筌浖こ堂嫦驅(qū)ο蟾拍?“面向?qū)ο蟆笔菑慕Y(jié)構(gòu)組織的角度去模擬客觀世界的一種方法,這種方法的基本著眼點(diǎn)是構(gòu)成客觀世界的那些成分----對(duì)象。用“面向?qū)ο蟆钡挠^點(diǎn)去認(rèn)識(shí)客觀世界,用“面向?qū)ο蟆钡姆椒ㄈツM客觀世界,這就構(gòu)成了“面向?qū)ο蟆钡耐暾x。2009SoftwareEngineeringGroup面向?qū)ο筌浖こ堂嫦驅(qū)ο蟾拍?2009SoftwareEn面向?qū)ο筌浖こ堂嫦驅(qū)ο蟾拍?對(duì)象對(duì)象是現(xiàn)實(shí)世界中個(gè)體或事物的抽象表示,是其屬性和相關(guān)操作的封裝。屬性表示對(duì)象的性質(zhì),屬性值規(guī)定了對(duì)象所有可能的狀態(tài)。對(duì)象的操作是指該對(duì)象可以展現(xiàn)的外部服務(wù)。2009SoftwareEngineeringGroup面向?qū)ο筌浖こ堂嫦驅(qū)ο蟾拍?2009SoftwareEn面向?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ì)象。2009SoftwareEngineeringGroup面向?qū)ο筌浖こ堂嫦驅(qū)ο蟾拍?2009SoftwareEn面向?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è)類專用化。2009SoftwareEngineeringGroup面向?qū)ο筌浖こ堂嫦驅(qū)ο蟾拍?2009SoftwareEn建立對(duì)象模型Identifyingclassesandobjects
(識(shí)別對(duì)象和類)Specifyingattributes
(說明對(duì)象屬性)Definingoperations
(定義對(duì)象操作)Finalizingtheobjectdefinition
(最終確定對(duì)象定義)2009SoftwareEngineeringGroup建立對(duì)象模型Identifyingclassesand面向?qū)ο蟮倪^程模型2009SoftwareEngineeringGroupPlanningRiskAnalysisCustomerCommunicationCustomerEvaluationEngineering,Construction&ReleaseIdentifycandidateclassesConstructnthiterationofsystemLookupclassesinlibraryPutnewclassesinlibraryExtractclassesifavailableEngineerclassesifunavailableanalysisdesignprogrammingtesting面向?qū)ο蟮倪^程模型2009SoftwareEngineer面向?qū)ο筌浖こ?/p>
面向?qū)ο蠼C嫦驅(qū)ο笏枷氡容^自然地模擬了人類認(rèn)識(shí)客觀世界的方式,面向?qū)ο蟮姆治龊驮O(shè)計(jì)應(yīng)該從建模開始。構(gòu)造模型通常出于以下幾個(gè)目的:在著手解決一個(gè)復(fù)雜問題之前,對(duì)解決方案進(jìn)行檢測(cè);用于同客戶或其他相關(guān)人員進(jìn)行交流;加強(qiáng)視覺效果;對(duì)復(fù)雜問題進(jìn)行簡化。2009SoftwareEngineeringGroup面向?qū)ο筌浖こ堂嫦驅(qū)ο蠼?009S面向?qū)ο筌浖こ堂嫦驅(qū)ο蠼DP褪菍?duì)事物的一種抽象,人們常常在正式建造實(shí)物之前,首先建立一個(gè)簡化的模型,以便更透徹地了解它的本質(zhì),抓住問題的要害;在模型中,人們總是剔除那些與問題無關(guān)的、非本質(zhì)的東西,從而使模型與真實(shí)的實(shí)體相比更加簡單、易于把握;2009SoftwareEngineeringGroup面向?qū)ο筌浖こ堂嫦驅(qū)ο蠼?009SoftwareEng面向?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)鍵的因素。2009SoftwareEngineeringGroup面向?qū)ο筌浖こ堂嫦驅(qū)ο蠼?009SoftwareEng標(biāo)準(zhǔn)建模語言UMLUML的設(shè)計(jì)目標(biāo):運(yùn)用面向?qū)ο蟾拍顏順?gòu)造系統(tǒng)模型建立起從概念模型直至可執(zhí)行體之間明顯的對(duì)應(yīng)關(guān)系著眼于那些有重大影響的問題創(chuàng)建一種對(duì)人和機(jī)器都適用的建模語言2009SoftwareEngineeringGroup標(biāo)準(zhǔn)建模語言UMLUML的設(shè)計(jì)目標(biāo):2009SoftwareUML產(chǎn)生背景90年代:面向?qū)ο蠓治鲈O(shè)計(jì)方法學(xué)之戰(zhàn)Booch方法,OMT方法,OOSE方法等……三大方法提出者合力推出UMLUML建立在當(dāng)今國際上最有代表性的三種面向?qū)ο蠓椒ǎ˙ooch方法,OMT方法,OOSE方法)的基礎(chǔ)之上UML由OMG于1997年11月正式采納為標(biāo)準(zhǔn)UML是一種建模語言而不是一種方法,其本身是獨(dú)立于過程的2009SoftwareEngineeringGroupUML產(chǎn)生背景90年代:面向?qū)ο蠓治鲈O(shè)計(jì)方法學(xué)之戰(zhàn)2009SUML的創(chuàng)建人2009SoftwareEngineeringGroup并稱UML三友(ThreeAmigos)GradyBoochDr.IvarJacobsonDr.JamesRumbaughOMT方法OOSE方法Booch方法UML的創(chuàng)建人2009SoftwareEngineerinUML的發(fā)展歷史2009公眾反饋OOPSLA95UnifiedMethod0.8
Booch93OMT-21996.6和1996.10UML0.9&0.911997.9公布UML1.1
1997.1公布UML1.0合作伙伴意見1997.11.17
UML1.1被OMG采納為標(biāo)準(zhǔn)
Booch91OMT-1其他方法
OOSE1997~2003
UML1.x2005~2006
UML2.0其中包括1.3、1.4和1.5版面向?qū)ο蠓治鲈O(shè)計(jì)方法學(xué)之戰(zhàn)2007.2
UML2.1.1UML三友提出UML的發(fā)展歷史2009公眾OOPSLA95Unif如何理解UMLUML為人們提供了從不同的角度去觀察和展示系統(tǒng)的各種特征的一種標(biāo)準(zhǔn)表達(dá)方式。在UML中,從任何一個(gè)角度對(duì)系統(tǒng)所作的抽象都可能需要用幾種模型圖來描述,而這些來自不同角度的模型圖最終組成了系統(tǒng)的完整模型。2009SoftwareEngineeringGroup如何理解UMLUML為人們提供了從不同的角度去UML的視角
一般而言,我們可以從以下幾種常用的視角來描述一個(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)系。2009SoftwareEngineeringGroupUML的視角一般而言,我們可以從以下標(biāo)準(zhǔn)建模語言UMLUML語義元-元模型:元模型的基礎(chǔ)體系結(jié)構(gòu),定義一種說明元模型的語言元模型:元-元模型的一個(gè)實(shí)例,定義一種說明模型的語言模型:元模型的一個(gè)實(shí)例,定義一種語言來描述信息領(lǐng)域用戶對(duì)象:模型的一個(gè)實(shí)例,定義一個(gè)特定的領(lǐng)域2009SoftwareEngineeringGroup標(biāo)準(zhǔn)建模語言UMLUML語義2009SoftwareEngUML2.0規(guī)范的四個(gè)部分2009SoftwareEngineeringGroup定義了最基本的構(gòu)造塊,用于描述UML本身以及針對(duì)特定的域(如,實(shí)時(shí)領(lǐng)域)對(duì)UML進(jìn)行定制。定義了用戶級(jí)的構(gòu)造塊(constructs),用于對(duì)系統(tǒng)的結(jié)構(gòu)、行為進(jìn)行詳述(如,類圖、順序圖等)。定義了針對(duì)UML的圖交換標(biāo)準(zhǔn),用于對(duì)模型以及模型圖(包含圖形的布局信息)進(jìn)行交換。用于定義針對(duì)模型以及模型元素的約束信息。DiagramInterchangeSuperstructureInfrastructureOCLUML2.0的目標(biāo)是服務(wù)于模型驅(qū)動(dòng)軟件開發(fā)基于UML2.0規(guī)范的四個(gè)部分2009SoftwareEngUML2.0Infrastructure設(shè)計(jì)目標(biāo)定義一個(gè)元語言的核心–基礎(chǔ)結(jié)構(gòu)庫(InfrastructureLibrary)通過對(duì)此核心的復(fù)用,可以定義一個(gè)自展的UML元模型通過共用核心包,使UML和其它建模語言在體系結(jié)構(gòu)上保持一致2009SoftwareEngineeringGroupUML2.0Infrastructure設(shè)計(jì)目標(biāo)定義一個(gè)UML2.0Superstructure設(shè)計(jì)目標(biāo)嚴(yán)格地復(fù)用Infrastructure中的模型構(gòu)造物支持接口、部件和連接子,及其層次化組合能力,從而提高對(duì)架構(gòu)的規(guī)約能力;增強(qiáng)行為圖的可伸縮性、精確性和集成能力;審定所有UML1.x的構(gòu)造物和圖,適當(dāng)?shù)鼐⑷【喓椭鸩教蕴?,同時(shí)進(jìn)行大量擴(kuò)展2009SoftwareEngineeringGroupUML2.0Superstructure設(shè)計(jì)目標(biāo)嚴(yán)格地DiagramInterchange的設(shè)計(jì)目標(biāo)定義一個(gè)針對(duì)UML模型及圖的交換標(biāo)準(zhǔn)UML模型和圖UML建模結(jié)果既包含模型元素本身(反映語義信息),還包含圖形化的布局(反映語法信息)DI可以同時(shí)支持兩個(gè)層次的UML交換2009SoftwareEngineeringGroupDiagramInterchange的設(shè)計(jì)目標(biāo)定義一個(gè)針對(duì)OCL的設(shè)計(jì)目標(biāo)ObjectConstraintLanguage(OCL)OCL是一種基于一階謂詞邏輯和集合論的形式化語言O(shè)CL主要用于針對(duì)UML模型定義不變式條件(invariantconditions)和前后置條件(pre-/post-conditions)除了精確的語義之外,OCL還有無副作用(sideeffect)的優(yōu)點(diǎn)2009SoftwareEngineeringGroupOCL的設(shè)計(jì)目標(biāo)ObjectConstraintLangUML2.0支持13種圖2009SoftwareEngineeringGroup新增了4種圖調(diào)整了2種圖UML2.0規(guī)范提供的分類層次UML2.0支持13種圖2009SoftwareEngi常用的中譯名2009SoftwareEngineeringGroup常用的中譯名2009SoftwareEngineeringUML2.0增改的圖相對(duì)于UML1.5增加了4種圖復(fù)合結(jié)構(gòu)圖(CompositeStructureDiagram)包圖(PackageDiagram)交互概觀圖(InteractionOverviewDiagram)定時(shí)圖(TimingDiagram)
注:包圖在UML1.x中并不是一種正式的圖對(duì)2種圖重新命名原來的協(xié)作圖(CollaborationDiagrams)改名為通訊圖(CommunicationDiagrams)原來的狀態(tài)圖(StatechartDiagrams)改名為狀態(tài)機(jī)圖(StateMachineDiagrams)2009SoftwareEngineeringGroupUML2.0增改的圖相對(duì)于UML1.5增加了4種圖2009S從實(shí)用的角度再看13種圖2009SoftwareEngineeringGroup介紹順序:從實(shí)用的角度再看13種圖2009SoftwareEngin2009SoftwareEngineeringGroup
Part2-1總結(jié)2009SoftwareEngineeringGroup軟件工程南京大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系軟件工程南京大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系31第二部分面向?qū)ο筌浖こ蹋?biāo)準(zhǔn)建模語言UML)2009SoftwareEngineeringGroup第二部分2009SoftwareEngineeringG1、面向?qū)ο蟾拍?、面向?qū)ο蟪绦蛟O(shè)計(jì)范型3、面向?qū)ο蠼?、統(tǒng)一建模語言UML5、UML用例圖6、UML類圖、對(duì)象圖、包圖和復(fù)合結(jié)構(gòu)圖7、UML狀態(tài)機(jī)圖、順序圖、活動(dòng)圖、通訊圖和交互概觀圖8、UML構(gòu)件圖和部署圖9、UML定時(shí)圖10、模型驅(qū)動(dòng)的體系結(jié)構(gòu)2009SoftwareEngineeringGroup內(nèi)容組織1、面向?qū)ο蟾拍?009SoftwareEngineer面向?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)成了完整的客觀世界。2009SoftwareEngineeringGroup面向?qū)ο筌浖こ堂嫦驅(qū)ο蟾拍?2009SoftwareEn面向?qū)ο筌浖こ堂嫦驅(qū)ο蟾拍?“面向?qū)ο蟆笔菑慕Y(jié)構(gòu)組織的角度去模擬客觀世界的一種方法,這種方法的基本著眼點(diǎn)是構(gòu)成客觀世界的那些成分----對(duì)象。用“面向?qū)ο蟆钡挠^點(diǎn)去認(rèn)識(shí)客觀世界,用“面向?qū)ο蟆钡姆椒ㄈツM客觀世界,這就構(gòu)成了“面向?qū)ο蟆钡耐暾x。2009SoftwareEngineeringGroup面向?qū)ο筌浖こ堂嫦驅(qū)ο蟾拍?2009SoftwareEn面向?qū)ο筌浖こ堂嫦驅(qū)ο蟾拍?對(duì)象對(duì)象是現(xiàn)實(shí)世界中個(gè)體或事物的抽象表示,是其屬性和相關(guān)操作的封裝。屬性表示對(duì)象的性質(zhì),屬性值規(guī)定了對(duì)象所有可能的狀態(tài)。對(duì)象的操作是指該對(duì)象可以展現(xiàn)的外部服務(wù)。2009SoftwareEngineeringGroup面向?qū)ο筌浖こ堂嫦驅(qū)ο蟾拍?2009SoftwareEn面向?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ì)象。2009SoftwareEngineeringGroup面向?qū)ο筌浖こ堂嫦驅(qū)ο蟾拍?2009SoftwareEn面向?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è)類專用化。2009SoftwareEngineeringGroup面向?qū)ο筌浖こ堂嫦驅(qū)ο蟾拍?2009SoftwareEn建立對(duì)象模型Identifyingclassesandobjects
(識(shí)別對(duì)象和類)Specifyingattributes
(說明對(duì)象屬性)Definingoperations
(定義對(duì)象操作)Finalizingtheobjectdefinition
(最終確定對(duì)象定義)2009SoftwareEngineeringGroup建立對(duì)象模型Identifyingclassesand面向?qū)ο蟮倪^程模型2009SoftwareEngineeringGroupPlanningRiskAnalysisCustomerCommunicationCustomerEvaluationEngineering,Construction&ReleaseIdentifycandidateclassesConstructnthiterationofsystemLookupclassesinlibraryPutnewclassesinlibraryExtractclassesifavailableEngineerclassesifunavailableanalysisdesignprogrammingtesting面向?qū)ο蟮倪^程模型2009SoftwareEngineer面向?qū)ο筌浖こ?/p>
面向?qū)ο蠼C嫦驅(qū)ο笏枷氡容^自然地模擬了人類認(rèn)識(shí)客觀世界的方式,面向?qū)ο蟮姆治龊驮O(shè)計(jì)應(yīng)該從建模開始。構(gòu)造模型通常出于以下幾個(gè)目的:在著手解決一個(gè)復(fù)雜問題之前,對(duì)解決方案進(jìn)行檢測(cè);用于同客戶或其他相關(guān)人員進(jìn)行交流;加強(qiáng)視覺效果;對(duì)復(fù)雜問題進(jìn)行簡化。2009SoftwareEngineeringGroup面向?qū)ο筌浖こ堂嫦驅(qū)ο蠼?009S面向?qū)ο筌浖こ堂嫦驅(qū)ο蠼DP褪菍?duì)事物的一種抽象,人們常常在正式建造實(shí)物之前,首先建立一個(gè)簡化的模型,以便更透徹地了解它的本質(zhì),抓住問題的要害;在模型中,人們總是剔除那些與問題無關(guān)的、非本質(zhì)的東西,從而使模型與真實(shí)的實(shí)體相比更加簡單、易于把握;2009SoftwareEngineeringGroup面向?qū)ο筌浖こ堂嫦驅(qū)ο蠼?009SoftwareEng面向?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)鍵的因素。2009SoftwareEngineeringGroup面向?qū)ο筌浖こ堂嫦驅(qū)ο蠼?009SoftwareEng標(biāo)準(zhǔn)建模語言UMLUML的設(shè)計(jì)目標(biāo):運(yùn)用面向?qū)ο蟾拍顏順?gòu)造系統(tǒng)模型建立起從概念模型直至可執(zhí)行體之間明顯的對(duì)應(yīng)關(guān)系著眼于那些有重大影響的問題創(chuàng)建一種對(duì)人和機(jī)器都適用的建模語言2009SoftwareEngineeringGroup標(biāo)準(zhǔn)建模語言UMLUML的設(shè)計(jì)目標(biāo):2009SoftwareUML產(chǎn)生背景90年代:面向?qū)ο蠓治鲈O(shè)計(jì)方法學(xué)之戰(zhàn)Booch方法,OMT方法,OOSE方法等……三大方法提出者合力推出UMLUML建立在當(dāng)今國際上最有代表性的三種面向?qū)ο蠓椒ǎ˙ooch方法,OMT方法,OOSE方法)的基礎(chǔ)之上UML由OMG于1997年11月正式采納為標(biāo)準(zhǔn)UML是一種建模語言而不是一種方法,其本身是獨(dú)立于過程的2009SoftwareEngineeringGroupUML產(chǎn)生背景90年代:面向?qū)ο蠓治鲈O(shè)計(jì)方法學(xué)之戰(zhàn)2009SUML的創(chuàng)建人2009SoftwareEngineeringGroup并稱UML三友(ThreeAmigos)GradyBoochDr.IvarJacobsonDr.JamesRumbaughOMT方法OOSE方法Booch方法UML的創(chuàng)建人2009SoftwareEngineerinUML的發(fā)展歷史2009公眾反饋OOPSLA95UnifiedMethod0.8
Booch93OMT-21996.6和1996.10UML0.9&0.911997.9公布UML1.1
1997.1公布UML1.0合作伙伴意見1997.11.17
UML1.1被OMG采納為標(biāo)準(zhǔn)
Booch91OMT-1其他方法
OOSE1997~2003
UML1.x2005~2006
UML2.0其中包括1.3、1.4和1.5版面向?qū)ο蠓治鲈O(shè)計(jì)方法學(xué)之戰(zhàn)2007.2
UML2.1.1UML三友提出UML的發(fā)展歷史2009公眾OOPSLA95Unif如何理解UMLUML為人們提供了從不同的角度去觀察和展示系統(tǒng)的各種特征的一種標(biāo)準(zhǔn)表達(dá)方式。在UML中,從任何一個(gè)角度對(duì)系統(tǒng)所作的抽象都可能需要用幾種模型圖來描述,而這些來自不同角度的模型圖最終組成了系統(tǒng)的完整模型。2009SoftwareEngineeringGroup如何理解UMLUML為人們提供了從不同的角度去UML的視角
一般而言,我們可以從以下幾種常用的視角來描述一個(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)系。2009SoftwareEngineeringGroupUML的視角一般而言,我們可以從以下標(biāo)準(zhǔn)建模語言UMLUML語義元-元模型:元模型的基礎(chǔ)體系結(jié)構(gòu),定義一種說明元模型的語言元模型:元-元模型的一個(gè)實(shí)例,定義一種說明模型的語言模型:元模型的一個(gè)實(shí)例,定義一種語言來描述信息領(lǐng)域用戶對(duì)象:模型的一個(gè)實(shí)例,定義一個(gè)特定的領(lǐng)域2009SoftwareEngineeringGroup標(biāo)準(zhǔn)建模語言UMLUML語義2009SoftwareEngUML2.0規(guī)范的四個(gè)部分2009SoftwareEngineeringGroup定義了最基本的構(gòu)造塊,用于描述UML本身以及針對(duì)特定的域(如,實(shí)時(shí)領(lǐng)域)對(duì)UML進(jìn)行定制。定義了用戶級(jí)的構(gòu)造塊(constructs),用于對(duì)系統(tǒng)的結(jié)構(gòu)、行為進(jìn)行詳述(如,類圖、順序圖等)。定義了針對(duì)UML的圖交換標(biāo)準(zhǔn),用于對(duì)模型以及模型圖(包含圖形的布局信息)進(jìn)行交換。用于定義針對(duì)模型以及模型元素的約束信息。DiagramInterchangeSuperstructureInfrastructureOCLUML2.0的目標(biāo)是服務(wù)于模型驅(qū)動(dòng)軟件開發(fā)基于UML2.0規(guī)范的四個(gè)部分2009SoftwareEngUML2.0Infrastructure設(shè)計(jì)目標(biāo)定義一個(gè)元語言的核心–基礎(chǔ)結(jié)構(gòu)庫(InfrastructureLibrary)通過對(duì)此核心的復(fù)用,可以定義一個(gè)自展的UML元模型通過共用核心包,使UML和其它建模語言在體系結(jié)構(gòu)上保持一致2009SoftwareEngineeringGroupUML2.0Infrastructure設(shè)計(jì)目標(biāo)定義一個(gè)UML2.0Superstructure設(shè)計(jì)目標(biāo)嚴(yán)格地復(fù)用Infrastructure中的模型構(gòu)造物支持接口、部件和連接子,及其層次化組合能力,從而提高對(duì)架構(gòu)的規(guī)約能力;增強(qiáng)行為圖的可伸縮性、精確性和集成能力;審定所有UML1.x的構(gòu)造物和圖,適當(dā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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報(bào)參考:健全全過程人民民主制度體系研究
- 課題申報(bào)參考:家校社聯(lián)動(dòng)共育模式對(duì)青少年24h活動(dòng)行為與抑郁癥狀改善的促進(jìn)研究
- 2025年香港離婚協(xié)議書范本離婚后子女監(jiān)護(hù)權(quán)協(xié)議3篇
- 二零二五年影視剪輯師版權(quán)合作協(xié)議3篇
- 二零二五版白酒銷售顧問銷售數(shù)據(jù)分析與報(bào)告合同3篇
- 二零二五版木材廠土地租賃合同與林業(yè)產(chǎn)業(yè)發(fā)展規(guī)劃3篇
- 二零二五版國際IT產(chǎn)品代理銷售協(xié)議2篇
- 2025版小區(qū)公共區(qū)域保潔與綠化維護(hù)承包合同3篇
- 2025年三明貨運(yùn)從業(yè)資格證好考嗎
- 二零二五版供應(yīng)鏈融資高額抵押反擔(dān)保合同3篇
- 2024公路瀝青路面結(jié)構(gòu)內(nèi)部狀況三維探地雷達(dá)快速檢測(cè)規(guī)程
- 2024年高考真題-地理(河北卷) 含答案
- 中國高血壓防治指南(2024年修訂版)解讀課件
- 食材配送服務(wù)方案投標(biāo)方案(技術(shù)方案)
- 足療店?duì)I銷策劃方案
- 封條(標(biāo)準(zhǔn)A4打印封條)
- 2024年北京控股集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 延遲交稿申請(qǐng)英文
- 運(yùn)動(dòng)技能學(xué)習(xí)與控制課件第十章動(dòng)作技能的指導(dǎo)與示范
- 石油天然氣建設(shè)工程交工技術(shù)文件編制規(guī)范(SYT68822023年)交工技術(shù)文件表格儀表自動(dòng)化安裝工程
- 中醫(yī)治療“濕疹”醫(yī)案72例
評(píng)論
0/150
提交評(píng)論