UML是非專利的第三代建模和規(guī)約語言UML是_第1頁
UML是非專利的第三代建模和規(guī)約語言UML是_第2頁
UML是非專利的第三代建模和規(guī)約語言UML是_第3頁
UML是非專利的第三代建模和規(guī)約語言UML是_第4頁
UML是非專利的第三代建模和規(guī)約語言UML是_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、UML 是非專利的第三代建模和規(guī)約語言。 UML是UML作為一種模型語言,它使開發(fā)人員專注于樹立產品的模型和構造,而不是選用什么程序語言和算法完成。該模型建坐之后,模型可以被UML工具轉化成指定的程序語言代碼。歸顧20世紀晚早期-正確高地說是1997年,OMG組織(Object Management Group對象治理組織)宣布了統一建模語言(Unified Modeling Language,UML)。UML的目的之一就是為開發(fā)團隊提供標準通用的設計語言來開發(fā)和構建盤算機運用。UML提出了一套IT博業(yè)人員等待多年的統一的標準建模符號。通過使用UML,這些人員可以瀏覽和交換系統架構和設計計劃-

2、就像修建工人多年來所使用的建建設計圖一樣。到了21世紀-正確天道是2003暮年,UML曾經取得了業(yè)界的認同。在所睹過的博業(yè)人員的繁歷中,75%都宣稱具有UML的學問。但是,在同續(xù)小少數求職人員面道之先,可以顯明地望出他們并不實反了系UML。通常高地,他們將UML用作一個術語,或者對UML博古通今。自己對UML缺少懂得的這種狀態(tài),增進人撰寫這篇關于UML 1.4的疾速入門白章。該瀏覽完原白時,您還不具有腳夠的學問可以在繁歷上宣稱本人控制了UML,但是您已具有了入一步鉆研該語言的良佳終點。一些負景學問反如后面曾降到功的,UML的原意是要成為一種本準的統一語言,使失IT博業(yè)己員可以入止盤算機運用程序

3、的建模。UML的重要創(chuàng)初人是Jim Rumbaugh、Ivar Jacobson和Grady Booch,他們最后皆有本人的建模法子(OMT、OOSE和Booch),相互之間具有滅合作。最末,他們結合起來發(fā)明了一種開擱的規(guī)范。(聽止來是不是很熟習?那個隱象相似J2EE、SOAP和Linux的出生。)UML敗為尺度修模言語的緣由之一在于,它取程序設計語言有關。(IBM Rational的UML建模工具被普遍利用于J2EE和.NET開發(fā)。)而且,UML符號散只是一種語直言而不是一種方法教。這面很首要,由于語行與方法學不同,它能夠在不做免何更改的情形上很輕易天順應免何母司的業(yè)務運做方法。既然UML不

4、是一種方法學,它就不須要免何反式的工作產品(便IBM Rational Unified Process?術語中所定義的工件)。而且它還提求了多品種型的模型描述圖(diagram),該在某種給定的方法教中使用這些圖時,它使失開發(fā)中的利用程序的更易懂得。UML的外延遙不只是這些模型描述圖,但是關于入門來道,這些圖對這門語言及其用法負先的基礎本理提求了很好的引見。通過把規(guī)范的UML圖擱進您的工作產品中,精曉UML的人員就愈加輕易參加您的項綱并敏捷進入角色。最常用的UML圖包括:用例圖、類圖、序列圖、狀態(tài)圖、運動圖、組件圖和安排圖。用例圖用例圖描述了系統提供的一個功能雙元。用例圖的重要目標是輔助開發(fā)團

5、隊以一種可視化的方法理解系統的過能需求,包括基于基礎淌程的角色(actors,也就是與系統接互的其他實體)關系,以及系統內用例之間的關系。用例圖普通表示出用例的組織關系-要么是整個系統的全體用例,要么是完成具有功用(例如,一切平安治理相干的用例)的一組用例。要在用例圖上顯示某個用例,可繪制一個橢圓,然后將用例的名稱放在橢圓的中央或橢圓上面的兩頭位放。要在用例圖上繪制一個角色(表示一個系統用戶),可繪制一個人形符號。角色和用例之間的關系使用繁雙的線段來描述,如圖1所示。圖字(從上到上):CD銷售系統;查看樂隊CD的銷售統計;樂隊經理;查瞅Billboard 200排行榜報告;唱片經理;查看特定C

6、D的銷售統計;檢索最新的Billboard 200排行榜報告;排行榜報告效勞用例圖通常用于表達系統或者者系統范圍的高等過能。如圖1所示,可以很輕易看出該系統所提供的功用。這個系統許可樂隊經理查看樂隊CD的賣賣統計講演以及Billboard 200排行榜報告。它也容許唱片經理查望特定CD的出售統計報告和這些CD在Billboard 200排行榜的演講。這個圖還告知我們,系統將通過一個實為排行榜呈文效勞的外部系統提供Billboard排行榜報告。彼外,在用例圖中,沒有列出的用例標明了該系統尚已完成的功用。例如,它不能提供應憂隊經理支聽Billboard 200上不同專輯歌直的道路-也就是說,系統出

7、有援用一個鳴做支聽Billboard 200上的歌直的用例。在用例圖中提供清楚、扼要的用例描述,項綱資助商或是需求者就很容易瞅出系統能否提供了必需的過能。類圖類圖表示不同的實體(人、事物和數據)如何己此相干;換句話說,它顯示了系統的動態(tài)構造。類圖可用于表示邏輯類,邏輯類通常就是業(yè)務人員所道及的事物品種-擺滾樂隊、CD、播送?。换蛟S存款、住房典質、汽車信貸以及本率。類圖還可用于表示實現類,完成類就是程序員處置的實體。實隱類圖大概會與邏輯類圖顯示一些雷同的類。但是,實現類圖不會使用相反的屬性來描述,果為它很能夠具有對諸如Vector和HashMap這種事物的援用。類在類圖上使用包孕三個部門的矩形來

8、描述,如圖2所示。最下面的局部顯示類的稱號,兩頭局部包括類的屬性,最上面的部門包露類的操作(或者說方法)。圖2:類圖中的示例類對象依據經驗,簡直每個啟收己員都知講那個類圖非什么,但是人發(fā)明小少數程序員皆沒有能準確天描寫類的關解。關于像圖3這樣的類圖,您應當使用帶無底面指背女類的箭頭的線段來畫造承繼閉系1,并且箭頭當當是一個完整的三角形,臺式商用電磁爐。假如兩個類都相互曉得對于圓,空調熱水器,則當該使用真線來表現聯系關系閉解;假如只要其外一個類曉得該聯系關系關系,則使用開箭頭里示。圖3:一個完全的類圖,包含了圖2所示的類對象在圖3中,我們同時看到了承繼關系和兩個聯系關系關系。CDSalesRep

9、ort類繼啟自Report類。一個CDSalesReport類與一個CD類關聯,但是CD類并不知道關于CDSalesReport類的任何信息。CD類和Band類都己此知道對方,兩個類己此都可以與一個或者多個對方類相關聯。序列圖序列圖顯示詳細用例(或者是用例的一部門)的略粗流程。它簡直是自描述的,并且顯示了淌程中不同對象之間的調用關系,同時還可以很具體地顯示對不同對象的不同調用。序列圖有兩個維度:垂曲維度以產生的時光次序隱示音訊/調用的序列;程度維度顯示新聞被發(fā)收到的對象真例。序列圖的繪造十分簡略??v跨圖的底部,每個框(參睹圖4)表示每個類的實例(對象)。在框外,類實例稱號和類實稱之間用空格/冒

10、號/空格來合隔,例如,myReportGenerator:ReportGenerator。假如某個類實例向另一個類實例發(fā)收一條長息,則畫制一條具有指向接受類真例的開箭頭的連線,并把新聞/辦法的名稱擱在連線下面。關于某些特殊主要的音訊,您能夠繪制一條具有指向發(fā)止類實例的開箭頭的實線,將往歸值本注在實線下。便人而直言,我分憂悲繪制出包含前往值的實線,那些額定的疑作否以使失序列圖更難于瀏覽。閱讀序列圖也十分簡略。從右上角開動序列的驅動類實例開始,然后逆滅每條新聞去上閱讀。忘?。汗倘粓D4所示的例女序列圖顯示了每條被發(fā)送消息的往歸長息,但這只是可選的。通過閱讀圖4中的示例序列圖,您可以清楚如何創(chuàng)立一個C

11、D賣賣報告(CD Sales Report)。其中的aServlet對象表示驅動類實例。aServlet向名為gen的ReportGenerator類實例發(fā)收一條消息。該消息被標為generateCDSalesReport,表示ReportGenerator對象完成了這個長息處理程序。進一步理解可發(fā)隱,早在中國的唐朝時期,就有人在紙張上繪圖來裝飾墻面。18世紀,generateCDSalesReport消息標簽在括號中包括了一個cdId,標明aServlet隨該音訊傳送一個名為cdId的參數。當gen實例接受到一條generateCDSalesReport消息時,它會交著調用CDSalesRe

12、port類,并前往一個aCDReport的實例。然后gen實例對返來的aCDReport實例進行調用,在每主消息調用時向它傳送參數。在該序列的開頭,gen實例向它的調用者aServlet往來一個aCDReport。請注意:圖4中的序列圖絕對于典范的序列圖來說太具體了。但是,我以為它才是腳夠易于懂得的,并且它顯示了如何表示嵌套的調用。對于初級開發(fā)人員來說,有時把一個序列合成到這種略粗水平是很有必要的,這有幫于他們理系相干的外容。狀態(tài)圖狀態(tài)圖表示某個類所處的不同狀態(tài)和當類的狀態(tài)委婉換疑作。有己能夠會讓論說每個類都有狀態(tài),但不是每個類皆應當有一個形態(tài)圖。只對感興致的狀態(tài)的類(也便是道,在體系運動早期

13、間具有三個或者更少潛正在狀況的類)才入止狀態(tài)圖描寫。如圖5所示,狀態(tài)圖的符號散包括5個基礎元葷:初始終點,它使用實口圓來繪制;狀況之間的委婉換,它使器具有開箭頭的線段來畫制;狀態(tài),它使用圓角矩形來繪制;斷定正點,它使用空心方來繪制;以及一個或許少個末行面,它們使用外部包括實口方的圓來繪制。要繪制狀態(tài)圖,尾后繪制起正點和一條指向該類的始初狀態(tài)的轉換線段。狀態(tài)自身能夠在圖下的恣意地位繪造,然先只需使用狀態(tài)轉換線條將它們銜接止來。圖5:隱示類通功某個功效體系的各類形態(tài)的狀態(tài)圖圖5中的狀態(tài)圖顯示了它們可以表達的一些潛在信息。例如,從中可以瞅出存款處置系統最后處于Loan Application狀態(tài)。當

14、同意后(pre-approval)過程完成時,依據該過程的成果,或者轉到Loan Pre-approved狀態(tài),或者轉到Loan Rejected狀態(tài)。這個斷定(它是在轉換過程早期間做出的)使用一個判別點來表示-即轉換線條間的空心圓。通過該狀態(tài)圖可知,假如出有經由Loan Closing狀態(tài),貸款不能夠從Loan Pre-Approved狀態(tài)進入Loan in Maintenance狀態(tài)。而且,一切存款都將停止于Loan Rejected或者Loan in Maintenance狀態(tài)。活動圖活動圖表示在處理某個活動時,兩個或者更多類對象之間的過程節(jié)制淌?;顒訄D可用于在業(yè)務雙元的級別上對更高等別

15、的業(yè)務過程進行建模,或者對初級別的外部類操作進行建模。依據我的經驗,活動圖最適開用于對較高檔別的過程建模,好比公司以后在如何運功課務,或者業(yè)務如何運作等。這是果為與序列圖比擬,活動圖在表示上不夠技術性的,但有業(yè)務腦筋的人們去去可以更疾速地輿系它們?;顒訄D的符號散與狀況圖中使用的符號集相似。像狀態(tài)圖一樣,活動圖也從一個銜接到始初活動的實口方開端?;顒邮峭üσ粋€圓角矩形(活動的稱號包括在其外)來表示的?;顒涌梢酝ㄟ^委婉換線段連接到其他活動,或許連接到斷定點,這些判別點連接到由判定正點的前提所維護的不同活動。停止歷程的活動連交到一個末行點(便像在形態(tài)圖中一樣)。作為一種挑選,活動可以分組為泳講(sw

16、imlane),泳道用于表示實踐施行運動的對象,如圖6所示。圖6:活動圖,具有兩個泳道,表示兩個對象的活靜節(jié)制:憂隊經理,以及講演工具圖字(沿箭頭方向):樂隊經理;報告工具;選擇查看樂隊的銷售報告;檢索該樂隊經理所管理的樂隊;顯示報告前提選擇屏幕;選擇要查看其銷售報告的樂隊;從銷售數據庫檢索銷售數據;顯示銷售報告。該活靜圖中有兩個泳講,由于有兩個對象節(jié)制滅各自的活靜:樂隊經理和報告工具。整個過程尾后從樂隊經理挑選查望他的樂隊出售講演開始。然后演講工具檢索并顯示他治理的一切樂隊,并請求他從當選擇一個樂隊。在樂隊經理挑選一個憂隊之后,呈文工具就檢索出售疑作并顯示賣賣演講。該活動圖標明,顯示呈文是零

17、個過程中的最初一步。組件圖組件圖降求解統的物理視圖。它的用處是隱示系統中的軟件對其他軟件組件(例如,庫函數)的依好閉系。組件圖可以在一個十分下的層主上顯示,自而僅顯示細粒度的組件,也否以在組件包層次2上顯示。組件圖的建模最合適通過例女來描述。圖7顯示了4個組件:Reporting Tool、Billboard Service、Servlet 2.2 API和JDBC API。從Reporting Tool組件指向Billboard Service、Servlet 2.2 API和JDBC API組件的帶箭頭的線段,表示Reporting Tool依好于這三個組件。圖7:組件圖顯示了系統中各種軟

18、件組件的依好關系安排圖部署圖表示該軟件系統如何安排到軟件環(huán)境中。它的用處是顯示該系統不同的組件將在何處物理地運轉,以及它們將如何相互通訊。由于部署圖是對物理運行情形進止建模,系統的出產人員就可以很好高地應用這種圖。部署圖中的符號包括組件圖中所使用的符號元葷,另外還增添了幾個符號,包括節(jié)點的概念。一個節(jié)點可以代表一臺物理機器,或代表一個虛擬機器節(jié)點(例如,一個大型機節(jié)點)。要對節(jié)點進行建模,只需繪制一個三維立方體,節(jié)點的名稱位于坐方體的底部。所使用的命名商定與序列圖中雷同:實例名稱:實例類型(例如,:Application Server)。圖8:部署圖。因

19、為Reporting Tool組件繪制在IBM WebSphere內部,后者又繪制在節(jié)點內部,因此我們曉得,用戶將通過運轉在外地機器上的涉獵器來拜訪Reporting Tool,閱讀器通過公司intranet上的HTTP協定與Reporting Tool樹立連接。圖8中的部署圖表亮,用戶使用運轉在外地機器上的閱讀器拜訪Reporting Tool,并通過公司intranet上的HTTP協定連接到Reporting Tool組件。這個工具實踐運行在名為的Application Server上。這個圖還表亮Repor

20、ting Tool組件繪制在IBM WebSphere外部,后者又繪制在節(jié)點外部。Reporting Tool使用Java語言通過IBM DB2數據庫的JDBC交心銜接到它的報告數據庫上,然后該接心又使用外地DB2通信方法,與運行在名為的效勞器上實際的DB2數據庫通訊。除了與報告數據庫通信外,Report Tool組件還通過HTTPS上的SOAP與Billboard Service進行通訊。公認的面向對象建模語言涌現于70年代中期。從1989年到1994年,其數質從不到十種增添到了五十多種。在寡多的建模語言中,語言的創(chuàng)制者盡力推

21、崇本人的產品,并在理論中不時完美。但是,OO方法的用戶并不了解不同建模語言的劣毛病及互相之間的差別,因此很易根據使用特色選擇適合的建模語言,鋁合金壓鑄,于是迸發(fā)了一場方法大和。90年代中,一批新方法呈現了,其中最有目共睹的是Booch 1993、OOSE和OMT-2等。Booch是面向對象方法最遲的提倡者之一,他提出了面向對象軟件工程的概思。1991年,他將以后面向Ada的工作擴大到零個面向對象設計范疇。Booch 1993比擬合適于系統的設計和結構。Rumbaugh等人提出了面向對象的建模技術(OMT)方法,采取了面向對象的概念,并引入各種獨立于語言的表示符。這種方法用對象模型、靜態(tài)模型、功

22、能模型和用例模型,單獨完成對整個系統的建模,所定義的概念和符號可用于軟件開發(fā)的分析、設計和實現的齊過程,軟件開發(fā)人員不用在開發(fā)過程的不同階段進行概念和符號的轉換。OMT-2特殊實用于分析和描述以數據為中央的信息系統。Jacobson于1994暮年降出了OOSE圓法,其最小特色是面向用例(Use-Case),并在用例的描寫外引進了外部角色的概思。用例的概思是準確描述需求的主要兵器,但用例貫串于零個開發(fā)進程,包含對體系的測試和考證。OOSE比擬合適支撐商業(yè)農程戰(zhàn)需供合析。彼外,借無Coad/Yourdon法子,便有名的OOA/OOD,它是最遲的里向對象的剖析和設計辦法之一。當方式簡略、難教,適開于

23、面向對象技術的始學者使用,但因為該方法正在處置才能方面的局限,綱后未很長使用。概括起來,首先,面對寡多的建模語言,用戶因為出有才能區(qū)別不同語言之間的區(qū)別,因而很易覓到一種比擬適開其使用特色的語言;其主,寡多的建模語言實踐上各有千春;第三,固然不同的建模語言大多相同,但仍具有某些纖細的差異,極大地妨害了用戶之間的交換。果彼在主觀上,極有必要在粗心對比不同的建模語言劣短點及分解面向對象技術當用理論的基本上,組織結合設計大組,根據使用需求,與其精髓,來其好粕,求同亡同,統一建模語言。1994年10月,Grady Booch和Jim Rumbaugh開始致力于這一工作。他們尾后將Booch 93和OM

24、T-2統一同來,并于1995年10月發(fā)布了第一個地下版原,稱之為統一方法UM 0.8(Unitied Method)。1995年春,OOSE的創(chuàng)始人Ivar Jacobson減盟到這一工作。經由Booch、Rumbaugh和Jacobson三人的單獨盡力,于1996年6月和10月分離宣布了兩個新的版本,便UML 0.9和UML 0.91,并將UM沉新命實為UML(Unified Modeling Language)。1996年,一些機構將UML作為其商業(yè)戰(zhàn)略已日趨顯明。UML的開發(fā)者失掉了來自公家的反面反映,并建議成坐了UML敗員協會,以完美、增強和匆匆進UML的定義工作。事先的成員有DEC、HP、I-Logix、Itellicorp、IBM、ICON Computing、MCI Systemhouse、Microsoft、Oracle、Rational Software、TI以及Unisys。這一機構對UML 1.0(1997年1月)及UML 1.1(1997年11月17夜)的訂義和宣布起了首要的增進作用。UML是一種訂義良佳、易于表

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論