UML介紹: UML起源和組成
本節(jié)和大家一起看一下UML介紹,本節(jié)主要包括UML概念,UML起源,UML組成以及用例圖和用例等內(nèi)容,歡迎大家一起來學(xué)習(xí),相信本節(jié)的介紹一定會(huì)讓你收獲不小。下面看一下集體的UML介紹吧。
軟件開發(fā)人員總是在困惑為什么軟件分明是按照需求做出來的,可是客戶為什么仍然不滿意。客戶總是在困惑為什么軟件和自己想要的差距會(huì)那么大。這究竟是怎么回事?如何才能把開發(fā)人員和客戶之間的溝壑填平?本文作為這個(gè)關(guān)于需求的軟件工程專欄的第三篇,將向您介紹這個(gè)把客戶和開發(fā)人員聯(lián)系在一起的工具――UML(統(tǒng)一建模語言,UnifiedModelingLanguage)。
1.UML概念
UML(統(tǒng)一建模語言,UnifiedModelingLanguage)是一種面向?qū)ο蟮慕UZ言。在軟件工業(yè)化方面做出了杰出的貢獻(xiàn)。被OMG(objectManagementGroup)采納為業(yè)界標(biāo)準(zhǔn)。
UML就是解決上面這個(gè)問題的一個(gè)相當(dāng)有代表性的例子。UML的實(shí)質(zhì),就是一種溝通方法,就象是英語能夠解決把世界各地的人交流的問題一樣。
2.UML起源
公認(rèn)的面向?qū)ο蠼UZ言出現(xiàn)于70年代中期。1989年到1994年是建模語言的戰(zhàn)國時(shí)期,其數(shù)量從不到十種增加到了五十多種。雖然有利于學(xué)術(shù)的發(fā)展,但是對(duì)于最終用戶來說,了解眾多的建模語言是一件非常沒有必要的事。在建模語言的戰(zhàn)國時(shí)期出現(xiàn)了三個(gè)強(qiáng)者:GradyBooch,JamesRumbaugh和IvarJacobson(人稱"TheThreeAmigos"),以及他們的方法:Booch1993、OOSE和OMT-2。
3.UML組成
UML介紹了UML的概念,主要包括UML語義(Semantics)和UML表示符(Notation)兩個(gè)部分,UML語義定義了結(jié)構(gòu)(Structural)模型和行為(Behavioral)模型。結(jié)構(gòu)模型(又稱為靜態(tài)模型)強(qiáng)調(diào)系統(tǒng)的對(duì)象結(jié)構(gòu),如對(duì)象的類(Classes)、接口(Interfaces)、屬性(Attributes)和關(guān)系(Relations);行為模型(動(dòng)態(tài)模型)關(guān)注的是系統(tǒng)對(duì)象的行為動(dòng)作,如對(duì)象的方法(Methods)、交互(Interactions)、協(xié)作(Collaborations)和狀態(tài)(StateHistories)。以此為基礎(chǔ),UML為UML表示符提供了完整的語義定義。UML的表示符包括了下面的幾種主要的圖:類圖(ClassDiagram),用例圖(UseCaseDiagram),順序圖(SequenceDiagram),協(xié)作圖(CollaborationDiagram),狀態(tài)圖(StateDiagram),活動(dòng)圖(ActivityDiagram),部署圖(DeploymentDiagram)語義由于我們的討論重點(diǎn)并不是UML語言,我們只是簡單的介紹UML的實(shí)際應(yīng)用,如果大家對(duì)UML有興趣,可以參看《UML1.3白皮書》。
4.用例圖和用例
我們來看一下UMl介紹中的用例圖。用例圖(UseCaseDiagram)是UML中最簡單也是最復(fù)雜的一種圖。說它簡單,是因?yàn)椴捎昧嗣嫦驅(qū)ο蟮乃枷?又是基于用戶視角的,繪制非常容易,簡單的圖形表示讓人一看就懂。說它復(fù)雜是因?yàn)橛美龍D往往不容易控制,要么過于復(fù)雜,要么過于簡單。一個(gè)系統(tǒng)的用例圖太泛不行,太精不行,太多不行,太少也不行。用例的控制可以算是一門藝術(shù)。突然想起當(dāng)年我剛剛接觸UML的時(shí)候,對(duì)用例不屑一顧,認(rèn)為是UML中最無用的一種圖,現(xiàn)在每每想到不禁感慨自己的愚蠢。
Usecasediagramsshowactorsandusecasestogetherwiththeirrelationships.『OMG-UMLV1.3』
用例圖表示了角色和用例以及它們之間的關(guān)系。
Ausecaseisakindofclassifierrepresentingacoherentunitoffunctionalityprovidedbyasystem,
asubsystem,oraclassasmanifestedbysequencesofmessagesexchangedamongthesystemandoneormoreoutsideinteractors
(calledactors)togetherwithactionsperformedbythesystem.『OMG-UMLV1.3』
用例描述了系統(tǒng),子系統(tǒng)和類的一致的功能集合,表現(xiàn)為系統(tǒng)和一個(gè)或多個(gè)外部交互者(角色)的消息交互動(dòng)作序列。
有點(diǎn)復(fù)雜是嗎,就是角色(用戶或外部系統(tǒng))和系統(tǒng)(要設(shè)計(jì)的系統(tǒng))的一個(gè)交互,為了實(shí)現(xiàn)一個(gè)目的(Goal),這個(gè)目的的描述通常是一個(gè)謂詞短語,例如,開立信用證,給客戶回單等。用例圖則圖形化的表示了這種關(guān)系。本節(jié)關(guān)于UML介紹就講解到這里,謝謝關(guān)注。
【編輯推薦】