




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第3章 UML統(tǒng)一塑模語言3-1 塑模與塑模語言3-2 UML的基礎(chǔ)3-3 UML的4+1觀點(diǎn)3-4 UML塑模工具3-5 Software Ideas Modeler塑模工具第1頁,共35頁。3-1 塑模與塑模語言3-1-1 塑模的基礎(chǔ)3-1-2 塑模語言第2頁,共35頁。3-1-1 塑模的基礎(chǔ)-說明模型(Models)就是一種抽象化的真實(shí)事物(Real Thing),以軟體系統(tǒng)來說,它是使用文字或圖形來描述系統(tǒng)規(guī)格和其環(huán)境,一種簡化的真實(shí)系統(tǒng)。當(dāng)我們將現(xiàn)實(shí)生活中的真實(shí)事物抽象化成模型,這個(gè)過程稱為塑模(Modeling),如下圖所示:第3頁,共35頁。3-1-1 塑模的基礎(chǔ)-基本原則在進(jìn)行
2、軟體系統(tǒng)開發(fā)時(shí),我們常常需要建立模型(Models)來進(jìn)一步了解未來建立的系統(tǒng),不過,我們建立的模型永遠(yuǎn)不會(huì)等於真實(shí)系統(tǒng),因?yàn)樗苣S袃蓚€(gè)基本原則,如下所示:強(qiáng)調(diào)(Emphasizing):強(qiáng)調(diào)哪些必要的部分。省略(Omitting):忽略哪些不相關(guān)的部分。第4頁,共35頁。3-1-1 塑模的基礎(chǔ)-為什麼需要建立模型我們替系統(tǒng)建立模型是為了執(zhí)行三種工作,如下所示:溝通(Communication):在所有涉及系統(tǒng)開發(fā)專案的使用者建立一個(gè)溝通橋樑,因?yàn)椴皇撬惺褂谜叨剂私赓Y訊科技的專用術(shù)語,我們需要讓客戶了解需求;開發(fā)者了解需求,而且他們所認(rèn)知的需求是一致的,有了模型,就算過了一段很長的時(shí)間,他們
3、共通決定的需求一樣可以了解,而不會(huì)各說各話。視覺化(Visualization):為了讓所有參與者都了解系統(tǒng),詳細(xì)的文字描述比不上一張圖形來的有效,換句話說,視覺化呈現(xiàn)的模型(即使用圖形來表示),更容易讓使用者了解系統(tǒng)。驗(yàn)證(Verification):模型可以幫助我們驗(yàn)證最後完成系統(tǒng)是否完整(Completeness)、一致(Consistency)和正確(Currectness)。第5頁,共35頁。3-1-1 塑模的基礎(chǔ)-塑模方法軟體塑模(Software Modeling)基本上可以使用兩種方式來替軟體系統(tǒng)建立模型,如下所示:演算法塑模(Algorithmically Modeling)
4、:傳統(tǒng)結(jié)構(gòu)化程式設(shè)計(jì)的軟體分析就是建立演算法,這種方法建立的系統(tǒng)彈性很差,當(dāng)需求變更或升級(jí)時(shí),我們很難更新或維護(hù)系統(tǒng)。物件導(dǎo)向塑模(Object-Oriented Modeling):目前主流的軟體開發(fā)方式是物件導(dǎo)向方式,物件導(dǎo)向塑模是使用更接近真實(shí)世界的方式來建立模型,軟體系統(tǒng)就是物件集合,因?yàn)槲覀儽緛砭褪巧钤谖锛氖澜?,思考模式也遵循著物件?dǎo)向方式。第6頁,共35頁。3-1-2 塑模語言-說明塑模語言(Modeling Language)是一種使用字彙和規(guī)則來呈現(xiàn)概念和實(shí)際系統(tǒng)的語言,它可以使用虛擬碼(Pseudo-Code)、程式碼、圖形、一大段文字或任何可以幫助我們了解系統(tǒng)的方式來描
5、述資訊或知識(shí)。事實(shí)上,塑模語言就是使用一致的規(guī)則集合來定義系統(tǒng)結(jié)構(gòu),其元素稱為符號(hào)(Notation),而這些規(guī)則可以解釋結(jié)構(gòu)中各元件的意義。第7頁,共35頁。3-1-2 塑模語言-種類一般來說,塑模語言分為圖形和文字兩種,其說明如下所示:圖形塑模語言(Graphical Modeling Languages):使用圖形加上命名的符號(hào)來呈現(xiàn)觀念,以連接線連接符號(hào)來表示之間的關(guān)係,和各種其他符號(hào)來表示限制條件,UML是一種圖形塑模語言。文字塑模語言(Textual Modeling Languages):主要是使用標(biāo)準(zhǔn)的關(guān)鍵字(Keywords)加上參數(shù)(Parameters)來建立電腦可理解的
6、運(yùn)算式。第8頁,共35頁。3-2 UML的基礎(chǔ)3-2-1 UML簡介3-2-2 UML圖形3-2-3 UML與方法論第9頁,共35頁。3-2-1 UML簡介-說明UML(Unified Modelling Language)並不是一種程式語言,它是一種塑模語言,可以讓我們使用圖形描述系統(tǒng)來建立模型。如同工程師閱讀藍(lán)圖來蓋房子,程式設(shè)計(jì)師只需看到UML圖形繪出的模型,就可以寫出所需的程式碼。UML的中文名稱是統(tǒng)一塑模語言,UML的出現(xiàn)是三位OO理論大師:Grady Booch、James Rumbaugh和Ivar Jacobson(通稱3 Amigo)所提倡。三人本來各自提出物件導(dǎo)向的方法論(
7、即OOA和OOD設(shè)計(jì)方法)和專屬表示的圖形和符號(hào)。換句話說,同樣問題,使用三人方法論建立的模型會(huì)有三種不同的表示方法。第10頁,共35頁。3-2-1 UML簡介-歷史UML的發(fā)展始於1994年10月Grady Booch和Jim Rumbaugh同在Rational軟體公司時(shí),他們開始統(tǒng)一Booch(Grady Booch提出的方法論)和OMT(Object Modeling Technique,Jim Rumbaugh提出的方法論)。UML草案版本0.8版在1995年10月提出,1995年底Ivar Jacobson加入Rational公司後,再整合他的OOSE(Object-Oriente
8、d Software Engineering)方法論,1997年1月UML正式產(chǎn)生。UML規(guī)格在1998年1月推出1.2版,2000年3月推出1.3版,2001年9月是1.4版,2003年3月是1.5版,ISO是在2004年7月推出1.4.2版ISO/IEC 19501。2005年7月正式推出UML 2.0版,2007年8月和11月是UML 2.1.1和2.1.2版,2009年2月是UML 2.2版,2010年5月是2.3版。第11頁,共35頁。3-2-1 UML簡介-如何使用UMLUML的使用方法有很多,Martin Fowler描述三種我們最常使用UML的方式,如下所示:UML如同草稿:使
9、用UML轉(zhuǎn)換重點(diǎn)成為簡短草稿,也就是使用UML建立草圖。UML如同藍(lán)圖:使用UML圖形描述詳細(xì)的系統(tǒng)規(guī)格,如同藍(lán)圖,我們可以使用UML塑模工具將它轉(zhuǎn)換成程式碼,或使用反向工程(Reverse Engineering)將程式碼轉(zhuǎn)換成UML圖形,維持模型與程式碼之間的一致性。UML如同程式語言:使用UML圖形建立的模型是一個(gè)可執(zhí)行的程式碼,UML如同程式語言般可以將UML建立的模型變形轉(zhuǎn)換成不同平臺(tái)環(huán)境的程式碼。第12頁,共35頁。3-2-2 UML圖形-說明UML圖形(UML Diagrams)是使用視覺化方式來描述不同的模型元素,可以建立物件導(dǎo)向分析和設(shè)計(jì)結(jié)果的模型。每一種UML圖形都有特殊的
10、用途,它是使用符號(hào)來視覺化呈現(xiàn)系統(tǒng)的某些觀點(diǎn)。UML 2.x版比1.x版支援更多種類的圖形,在本節(jié)如果沒有特別說明,表示這是從UML 1.x版就支援的圖形。UML 2.2版共有14種圖形,可以分成兩種:7種結(jié)構(gòu)圖(Stucture Diagrams)和7種行為圖(Behavior Diagrams)。第13頁,共35頁。3-2-2 UML圖形-結(jié)構(gòu)圖圖形說明類別圖(Class Diagrams)UML最常使用的圖形,可以描述類別的靜態(tài)結(jié)構(gòu),包含型態(tài)、介面和類別之間的關(guān)係物件圖(Object Diagrams)描述物件實(shí)例的靜態(tài)結(jié)構(gòu),可以顯示某一個(gè)時(shí)間點(diǎn),系統(tǒng)一組物件之間的關(guān)係元件圖(Compo
11、nent Diagrams)描述系統(tǒng)重要元件之間的組織架構(gòu),元件可以包含其他元件或多個(gè)類別部署圖(Deployment Diagrams)描述系統(tǒng)實(shí)際執(zhí)行時(shí)的軟硬體環(huán)境配置套件圖(Package Diagrams)使用階層架構(gòu)來組織一組類別和元件,UML 2.0版支援的圖形組合結(jié)構(gòu)圖(Composite Structure Diagrams)描述模型元素類別或元件的內(nèi)部結(jié)構(gòu),UML 2.0版支援的圖形輪廓圖(Profile Diagrams)處理meta-模型層次的模版(Stereotype)資訊,可以使用UML圖形來自訂模版、標(biāo)籤和限制條件第14頁,共35頁。3-2-2 UML圖形-行為圖圖
12、形說明活動(dòng)圖(Activity Diagrams)類似流程圖,可以描述系統(tǒng)商業(yè)流程、作業(yè)流程和系統(tǒng)各活動(dòng)的流程,例如:使用案例的主流程和操作使用案例圖(Use Case Diagrams)描述系統(tǒng)功能和其提供的服務(wù),和哪些使用者或外部系統(tǒng)會(huì)與之互動(dòng),可以幫助我們找出系統(tǒng)需求循序圖(Sequence Diagrams)使用時(shí)間軸方式描述物件之間的互動(dòng),強(qiáng)調(diào)物件之間訊息傳遞的時(shí)間順序通訊圖(Communication Diagrams)描述物件的互動(dòng),強(qiáng)調(diào)物件之間的關(guān)係、訊息流向和控制流程,在1.x版稱為合作圖(Collaboration Diagrams)狀態(tài)機(jī)圖(State Machine D
13、iagrams)描述物件生命周期的事件與狀態(tài)轉(zhuǎn)換,1.x版稱為狀態(tài)圖(Statechart Diagrams)時(shí)序圖(Timing Diagrams)描述詳細(xì)的時(shí)間資訊,互動(dòng)元素之間的條件資訊和狀態(tài)改變,UML 2.0版支援的圖形互動(dòng)概觀圖(Interaction Overview Diagrams)使用循序、通訊和時(shí)序圖以高階方式來描述系統(tǒng)發(fā)生的重要互動(dòng),UML 2.0版支援的圖形第15頁,共35頁。3-2-2 UML圖形-圖形與模型之間的差異模型和圖形的差異說明,如下所示:模型(Models):模型是使用抽象化方式來描述欲塑模事實(shí)的所有元素,包含所有關(guān)於商業(yè)、系統(tǒng)和關(guān)係等觀點(diǎn)。圖形(Dia
14、grams):每一張圖形是使用一種特殊觀點(diǎn)來檢視我們欲了解系統(tǒng)的特定部分,換句話說,一張圖形只能使用一種觀點(diǎn)來檢視所有或部分模型。第16頁,共35頁。3-2-3 UML與方法論-說明UML統(tǒng)一塑模語言並不是方法論,其主要目的是使用統(tǒng)一的文字和圖形來建立模型。事實(shí)上,UML只統(tǒng)一Grady Booch、James Rumbaugh和Ivar Jacobson三人的表示方法,並沒有統(tǒng)一方法論,UML需要搭配適當(dāng)?shù)姆椒ㄕ摚拍軒椭覀冞M(jìn)行軟體系統(tǒng)開發(fā)。軟體系統(tǒng)開發(fā)方法(Methods)是一種可靠且可複製的方式來描述如何塑模和建立軟體系統(tǒng)的過程。第17頁,共35頁。3-2-3 UML與方法論-說明物件
15、導(dǎo)向分析與設(shè)計(jì)的主要方法論,如下表所示:方法論名稱開發(fā)者OMT(Object Modeling Technique)James E. RumbaughBooch方法(Booch Method)Grady BoochOOSE(Object Oriented Software Engineering)Ivar JacobsonShlaer-Mellor方法(Shlaer-Mellor Method)Slly Shlaer與Stephen J. Mellor第18頁,共35頁。3-3 UML的4+1觀點(diǎn)-說明對(duì)於複雜的軟體系統(tǒng)來說,我們需要透過一組UML圖形才能完整描述系統(tǒng)的所有資訊,目前有相當(dāng)多方
16、法將UML模型建立的圖形分類成多種觀點(diǎn)或透視方式來取得系統(tǒng)的真實(shí)面貌,簡單的說,我們可以從不同觀點(diǎn)來檢視一個(gè)系統(tǒng),每一個(gè)觀點(diǎn)使用特定種類的UML圖形來呈現(xiàn)。Kruchtens的4+1觀點(diǎn)(Philippe Kruchten,1995)能夠幫助我們呈現(xiàn)不同種類UML圖形在描述整個(gè)系統(tǒng)模型時(shí)扮演的角色,稱為觀點(diǎn)模型(View Model),它可以同時(shí)使用多個(gè)不同觀點(diǎn)來描述系統(tǒng)架構(gòu)。第19頁,共35頁。3-3 UML的4+1觀點(diǎn)-圖例圖例的4+1觀點(diǎn)是從使用者、開發(fā)者和專案管理者的角度來看這個(gè)系統(tǒng),如下圖所示:第20頁,共35頁。3-3 UML的4+1觀點(diǎn)-觀點(diǎn)說明1使用案例觀點(diǎn)(Use Case
17、View):使用一組使用案例(Use Cases)來描述系統(tǒng),這是外面世界看到的系統(tǒng)功能,在此觀點(diǎn)需要描述系統(tǒng)準(zhǔn)備要做什麼,與其他4個(gè)觀點(diǎn)都相關(guān),所以稱為+1觀點(diǎn)。我們主要是使用UML使用案例圖和情節(jié)(Scenarios)來呈現(xiàn)此觀點(diǎn)。邏輯觀點(diǎn)(Logical View):這是使用結(jié)構(gòu)元素描述系統(tǒng)功能的靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)行為,說明系統(tǒng)組成的結(jié)構(gòu)和之間的互動(dòng),此觀點(diǎn)關(guān)注系統(tǒng)提供使用者的服務(wù)和功能需求。我們主要是使用UML類別圖、物件圖、狀態(tài)機(jī)圖和互動(dòng)圖來呈現(xiàn)此觀點(diǎn)。第21頁,共35頁。3-3 UML的4+1觀點(diǎn)-觀點(diǎn)說明2開發(fā)觀點(diǎn)(Development View):這是程式設(shè)計(jì)者角度的觀點(diǎn),著重於
18、程式碼管理的模組與元件,也就是描述系統(tǒng)內(nèi)部模組和元件的結(jié)構(gòu)。我們主要是使用UML套件圖和元件圖來呈現(xiàn)此觀點(diǎn)。流程觀點(diǎn)(Process View):此觀點(diǎn)是系統(tǒng)非功能需求的效能和可擴(kuò)充性等,包含系統(tǒng)處理流程的並行和通訊,可以幫助我們了解系統(tǒng)發(fā)生了什麼事。我們主要是使用UML活動(dòng)圖來呈現(xiàn)此觀點(diǎn)。實(shí)際觀點(diǎn)(Physical View):這是從系統(tǒng)工程師觀點(diǎn)呈現(xiàn)的系統(tǒng),即真實(shí)世界的系統(tǒng)拓樸架構(gòu),可以描述最後部署的實(shí)際系統(tǒng)架構(gòu)和軟體元件。我們主要是使用UML部署圖來呈現(xiàn)此觀點(diǎn)。第22頁,共35頁。3-4 UML塑模工具-說明UML塑模工具(UML Modelling Tool)是CASE工具(Compu
19、ter-Aided Software Engineering Tools,CASE Tools)之一,可以幫助系統(tǒng)開發(fā)者使用UML圖形進(jìn)行物件導(dǎo)向分析與設(shè)計(jì),快速建立軟體系統(tǒng)所需的模型。目前巿面上的UML塑模工具相當(dāng)多,依使用者的授權(quán)方式,可以分為商業(yè)和免費(fèi)版本UML塑模工具。第23頁,共35頁。3-4 UML塑模工具-商業(yè)版本的UML塑模工具一般來說,商業(yè)版本的UML塑模工具都提供強(qiáng)大功能,而且很多都提供Community社群版,可以讓非商業(yè)用途的使用者免費(fèi)使用,不過,其功能會(huì)打一些折扣,而且通常都需要線上註冊(cè)啟動(dòng)後才能使用。常見商業(yè)版本的UML塑模工具,如下所示:IBM Rational
20、Software Architect(RSA)PowerDesignerMagicDraw UMLAstah UMLVisual Paradigm for UML(VP-UML)Poseidon for UMLEnterprise Architect第24頁,共35頁。3-4 UML塑模工具-免費(fèi)版本的UML塑模工具除了商業(yè)版本的UML塑模工具外,巿面上還有一些Open Source開放原始碼與類似授權(quán)的免費(fèi)UML塑模工具,和一些非商業(yè)用途使用者可全功能免費(fèi)使用的UML塑模工具,其說明如下所示:StarUMLArgoUMLUmbrelloBOUMLSoftware Ideas Modeler第
21、25頁,共35頁。3-5 Software Ideas Modeler塑模工具3-5-1 安裝與啟動(dòng)Software Ideas Modeler3-5-2 建立與儲(chǔ)存專案3-5-3 新增模型與UML圖形3-5-4 SIM的使用介面說明3-5-5 SIM塑模工具的基本操作第26頁,共35頁。3-5 Software Ideas Modeler塑模工具Software Ideas Modeler(SIM)塑模工具一套速度快、輕量、操作簡單和功能強(qiáng)大的CASE工具,其強(qiáng)大的UML繪圖功能,可以輸出漂亮的UML圖形和產(chǎn)生精美的模型文件。SIM塑模工具是一套免費(fèi)軟體(Freeware)的UML塑模工具,它是由Duan Rodina開發(fā),支援中文使用介面(筆者所翻譯),對(duì)於非商業(yè)用途的使用者可以全功能免費(fèi)使用(如果覺得好用,記得捐助些款項(xiàng)支持此開發(fā)計(jì)劃)。第27頁,共35頁。3-5-1 安裝與啟動(dòng)Software Ideas Modeler-安裝在書附光碟的SIM工具是免安裝版本,並不需要進(jìn)行安裝程序,不過,因?yàn)镾IM是一套.NET應(yīng)用程式,在執(zhí)行前,請(qǐng)先確認(rèn)Windows作業(yè)系統(tǒng)已經(jīng)安裝.NET Framework 3.5以上版本
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 隧道施工-項(xiàng)目九 風(fēng)水電作業(yè)和施工通風(fēng) Project 9 Wind water and power operation and construction ventilation-1742204859436
- 2025年CTD剖面儀項(xiàng)目建議書
- 環(huán)境治理工程行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 武術(shù)套路與散打錦標(biāo)賽企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 消費(fèi)電子產(chǎn)品設(shè)計(jì)行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 建筑聲學(xué)模擬軟件行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 枸杞多糖能量補(bǔ)充飲企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 電子競(jìng)技俱樂部行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 高性能導(dǎo)熱油定制行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 生物質(zhì)熱解殘?jiān)幚砥髽I(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 2025年春新外研版(三起)英語三年級(jí)下冊(cè)課件 Unit3第3課時(shí)Fuelup
- 游泳館安全知識(shí)培訓(xùn)課件
- 2024-2025學(xué)年成都市石室聯(lián)中七年級(jí)上英語期末考試題(含答案)
- 高三地理一輪復(fù)習(xí)課件第三部分 【知識(shí)精研】資源枯竭型城市的轉(zhuǎn)型發(fā)展
- 古代數(shù)學(xué)家故事--祖沖之(二年紀(jì))
- 瘢痕早期治療指南解讀
- 智能建筑抹灰工程施工方案
- 2024年四川省成都市武侯區(qū)中考語文二診試卷
- 個(gè)人誠信承諾書模板(共4篇)
- 2023-2024學(xué)年廣東省深圳市福田區(qū)八年級(jí)(下)期末英語試卷
- 掘進(jìn)類公共知識(shí)考試試卷含答案
評(píng)論
0/150
提交評(píng)論