UML統一塑模語言課件_第1頁
UML統一塑模語言課件_第2頁
UML統一塑模語言課件_第3頁
UML統一塑模語言課件_第4頁
UML統一塑模語言課件_第5頁
已閱讀5頁,還剩30頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、第3章 UML統一塑模語言3-1 塑模與塑模語言3-2 UML的基礎3-3 UML的4+1觀點3-4 UML塑模工具3-5 Software Ideas Modeler塑模工具第1頁,共35頁。3-1 塑模與塑模語言3-1-1 塑模的基礎3-1-2 塑模語言第2頁,共35頁。3-1-1 塑模的基礎-說明模型(Models)就是一種抽象化的真實事物(Real Thing),以軟體系統來說,它是使用文字或圖形來描述系統規格和其環境,一種簡化的真實系統。當我們將現實生活中的真實事物抽象化成模型,這個過程稱為塑模(Modeling),如下圖所示:第3頁,共35頁。3-1-1 塑模的基礎-基本原則在進行

2、軟體系統開發時,我們常常需要建立模型(Models)來進一步了解未來建立的系統,不過,我們建立的模型永遠不會等於真實系統,因為塑模有兩個基本原則,如下所示:強調(Emphasizing):強調哪些必要的部分。省略(Omitting):忽略哪些不相關的部分。第4頁,共35頁。3-1-1 塑模的基礎-為什麼需要建立模型我們替系統建立模型是為了執行三種工作,如下所示:溝通(Communication):在所有涉及系統開發專案的使用者建立一個溝通橋樑,因為不是所有使用者都了解資訊科技的專用術語,我們需要讓客戶了解需求;開發者了解需求,而且他們所認知的需求是一致的,有了模型,就算過了一段很長的時間,他們

3、共通決定的需求一樣可以了解,而不會各說各話。視覺化(Visualization):為了讓所有參與者都了解系統,詳細的文字描述比不上一張圖形來的有效,換句話說,視覺化呈現的模型(即使用圖形來表示),更容易讓使用者了解系統。驗證(Verification):模型可以幫助我們驗證最後完成系統是否完整(Completeness)、一致(Consistency)和正確(Currectness)。第5頁,共35頁。3-1-1 塑模的基礎-塑模方法軟體塑模(Software Modeling)基本上可以使用兩種方式來替軟體系統建立模型,如下所示:演算法塑模(Algorithmically Modeling)

4、:傳統結構化程式設計的軟體分析就是建立演算法,這種方法建立的系統彈性很差,當需求變更或升級時,我們很難更新或維護系統。物件導向塑模(Object-Oriented Modeling):目前主流的軟體開發方式是物件導向方式,物件導向塑模是使用更接近真實世界的方式來建立模型,軟體系統就是物件集合,因為我們本來就是生活在物件的世界,思考模式也遵循著物件導向方式。第6頁,共35頁。3-1-2 塑模語言-說明塑模語言(Modeling Language)是一種使用字彙和規則來呈現概念和實際系統的語言,它可以使用虛擬碼(Pseudo-Code)、程式碼、圖形、一大段文字或任何可以幫助我們了解系統的方式來描

5、述資訊或知識。事實上,塑模語言就是使用一致的規則集合來定義系統結構,其元素稱為符號(Notation),而這些規則可以解釋結構中各元件的意義。第7頁,共35頁。3-1-2 塑模語言-種類一般來說,塑模語言分為圖形和文字兩種,其說明如下所示:圖形塑模語言(Graphical Modeling Languages):使用圖形加上命名的符號來呈現觀念,以連接線連接符號來表示之間的關係,和各種其他符號來表示限制條件,UML是一種圖形塑模語言。文字塑模語言(Textual Modeling Languages):主要是使用標準的關鍵字(Keywords)加上參數(Parameters)來建立電腦可理解的

6、運算式。第8頁,共35頁。3-2 UML的基礎3-2-1 UML簡介3-2-2 UML圖形3-2-3 UML與方法論第9頁,共35頁。3-2-1 UML簡介-說明UML(Unified Modelling Language)並不是一種程式語言,它是一種塑模語言,可以讓我們使用圖形描述系統來建立模型。如同工程師閱讀藍圖來蓋房子,程式設計師只需看到UML圖形繪出的模型,就可以寫出所需的程式碼。UML的中文名稱是統一塑模語言,UML的出現是三位OO理論大師:Grady Booch、James Rumbaugh和Ivar Jacobson(通稱3 Amigo)所提倡。三人本來各自提出物件導向的方法論(

7、即OOA和OOD設計方法)和專屬表示的圖形和符號。換句話說,同樣問題,使用三人方法論建立的模型會有三種不同的表示方法。第10頁,共35頁。3-2-1 UML簡介-歷史UML的發展始於1994年10月Grady Booch和Jim Rumbaugh同在Rational軟體公司時,他們開始統一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正式產生。UML規格在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轉換重點成為簡短草稿,也就是使用UML建立草圖。UML如同藍圖:使用UML圖形描述詳細的系統規格,如同藍圖,我們可以使用UML塑模工具將它轉換成程式碼,或使用反向工程(Reverse Engineering)將程式碼轉換成UML圖形,維持模型與程式碼之間的一致性。UML如同程式語言:使用UML圖形建立的模型是一個可執行的程式碼,UML如同程式語言般可以將UML建立的模型變形轉換成不同平臺環境的程式碼。第12頁,共35頁。3-2-2 UML圖形-說明UML圖形(UML Diagrams)是使用視覺化方式來描述不同的模型元素,可以建立物件導向分析和設計結果的模型。每一種UML圖形都有特殊的

10、用途,它是使用符號來視覺化呈現系統的某些觀點。UML 2.x版比1.x版支援更多種類的圖形,在本節如果沒有特別說明,表示這是從UML 1.x版就支援的圖形。UML 2.2版共有14種圖形,可以分成兩種:7種結構圖(Stucture Diagrams)和7種行為圖(Behavior Diagrams)。第13頁,共35頁。3-2-2 UML圖形-結構圖圖形說明類別圖(Class Diagrams)UML最常使用的圖形,可以描述類別的靜態結構,包含型態、介面和類別之間的關係物件圖(Object Diagrams)描述物件實例的靜態結構,可以顯示某一個時間點,系統一組物件之間的關係元件圖(Compo

11、nent Diagrams)描述系統重要元件之間的組織架構,元件可以包含其他元件或多個類別部署圖(Deployment Diagrams)描述系統實際執行時的軟硬體環境配置套件圖(Package Diagrams)使用階層架構來組織一組類別和元件,UML 2.0版支援的圖形組合結構圖(Composite Structure Diagrams)描述模型元素類別或元件的內部結構,UML 2.0版支援的圖形輪廓圖(Profile Diagrams)處理meta-模型層次的模版(Stereotype)資訊,可以使用UML圖形來自訂模版、標籤和限制條件第14頁,共35頁。3-2-2 UML圖形-行為圖圖

12、形說明活動圖(Activity Diagrams)類似流程圖,可以描述系統商業流程、作業流程和系統各活動的流程,例如:使用案例的主流程和操作使用案例圖(Use Case Diagrams)描述系統功能和其提供的服務,和哪些使用者或外部系統會與之互動,可以幫助我們找出系統需求循序圖(Sequence Diagrams)使用時間軸方式描述物件之間的互動,強調物件之間訊息傳遞的時間順序通訊圖(Communication Diagrams)描述物件的互動,強調物件之間的關係、訊息流向和控制流程,在1.x版稱為合作圖(Collaboration Diagrams)狀態機圖(State Machine D

13、iagrams)描述物件生命周期的事件與狀態轉換,1.x版稱為狀態圖(Statechart Diagrams)時序圖(Timing Diagrams)描述詳細的時間資訊,互動元素之間的條件資訊和狀態改變,UML 2.0版支援的圖形互動概觀圖(Interaction Overview Diagrams)使用循序、通訊和時序圖以高階方式來描述系統發生的重要互動,UML 2.0版支援的圖形第15頁,共35頁。3-2-2 UML圖形-圖形與模型之間的差異模型和圖形的差異說明,如下所示:模型(Models):模型是使用抽象化方式來描述欲塑模事實的所有元素,包含所有關於商業、系統和關係等觀點。圖形(Dia

14、grams):每一張圖形是使用一種特殊觀點來檢視我們欲了解系統的特定部分,換句話說,一張圖形只能使用一種觀點來檢視所有或部分模型。第16頁,共35頁。3-2-3 UML與方法論-說明UML統一塑模語言並不是方法論,其主要目的是使用統一的文字和圖形來建立模型。事實上,UML只統一Grady Booch、James Rumbaugh和Ivar Jacobson三人的表示方法,並沒有統一方法論,UML需要搭配適當的方法論,才能幫助我們進行軟體系統開發。軟體系統開發方法(Methods)是一種可靠且可複製的方式來描述如何塑模和建立軟體系統的過程。第17頁,共35頁。3-2-3 UML與方法論-說明物件

15、導向分析與設計的主要方法論,如下表所示:方法論名稱開發者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觀點-說明對於複雜的軟體系統來說,我們需要透過一組UML圖形才能完整描述系統的所有資訊,目前有相當多方

16、法將UML模型建立的圖形分類成多種觀點或透視方式來取得系統的真實面貌,簡單的說,我們可以從不同觀點來檢視一個系統,每一個觀點使用特定種類的UML圖形來呈現。Kruchtens的4+1觀點(Philippe Kruchten,1995)能夠幫助我們呈現不同種類UML圖形在描述整個系統模型時扮演的角色,稱為觀點模型(View Model),它可以同時使用多個不同觀點來描述系統架構。第19頁,共35頁。3-3 UML的4+1觀點-圖例圖例的4+1觀點是從使用者、開發者和專案管理者的角度來看這個系統,如下圖所示:第20頁,共35頁。3-3 UML的4+1觀點-觀點說明1使用案例觀點(Use Case

17、View):使用一組使用案例(Use Cases)來描述系統,這是外面世界看到的系統功能,在此觀點需要描述系統準備要做什麼,與其他4個觀點都相關,所以稱為+1觀點。我們主要是使用UML使用案例圖和情節(Scenarios)來呈現此觀點。邏輯觀點(Logical View):這是使用結構元素描述系統功能的靜態結構和動態行為,說明系統組成的結構和之間的互動,此觀點關注系統提供使用者的服務和功能需求。我們主要是使用UML類別圖、物件圖、狀態機圖和互動圖來呈現此觀點。第21頁,共35頁。3-3 UML的4+1觀點-觀點說明2開發觀點(Development View):這是程式設計者角度的觀點,著重於

18、程式碼管理的模組與元件,也就是描述系統內部模組和元件的結構。我們主要是使用UML套件圖和元件圖來呈現此觀點。流程觀點(Process View):此觀點是系統非功能需求的效能和可擴充性等,包含系統處理流程的並行和通訊,可以幫助我們了解系統發生了什麼事。我們主要是使用UML活動圖來呈現此觀點。實際觀點(Physical View):這是從系統工程師觀點呈現的系統,即真實世界的系統拓樸架構,可以描述最後部署的實際系統架構和軟體元件。我們主要是使用UML部署圖來呈現此觀點。第22頁,共35頁。3-4 UML塑模工具-說明UML塑模工具(UML Modelling Tool)是CASE工具(Compu

19、ter-Aided Software Engineering Tools,CASE Tools)之一,可以幫助系統開發者使用UML圖形進行物件導向分析與設計,快速建立軟體系統所需的模型。目前巿面上的UML塑模工具相當多,依使用者的授權方式,可以分為商業和免費版本UML塑模工具。第23頁,共35頁。3-4 UML塑模工具-商業版本的UML塑模工具一般來說,商業版本的UML塑模工具都提供強大功能,而且很多都提供Community社群版,可以讓非商業用途的使用者免費使用,不過,其功能會打一些折扣,而且通常都需要線上註冊啟動後才能使用。常見商業版本的UML塑模工具,如下所示:IBM Rational

20、Software Architect(RSA)PowerDesignerMagicDraw UMLAstah UMLVisual Paradigm for UML(VP-UML)Poseidon for UMLEnterprise Architect第24頁,共35頁。3-4 UML塑模工具-免費版本的UML塑模工具除了商業版本的UML塑模工具外,巿面上還有一些Open Source開放原始碼與類似授權的免費UML塑模工具,和一些非商業用途使用者可全功能免費使用的UML塑模工具,其說明如下所示:StarUMLArgoUMLUmbrelloBOUMLSoftware Ideas Modeler第

21、25頁,共35頁。3-5 Software Ideas Modeler塑模工具3-5-1 安裝與啟動Software Ideas Modeler3-5-2 建立與儲存專案3-5-3 新增模型與UML圖形3-5-4 SIM的使用介面說明3-5-5 SIM塑模工具的基本操作第26頁,共35頁。3-5 Software Ideas Modeler塑模工具Software Ideas Modeler(SIM)塑模工具一套速度快、輕量、操作簡單和功能強大的CASE工具,其強大的UML繪圖功能,可以輸出漂亮的UML圖形和產生精美的模型文件。SIM塑模工具是一套免費軟體(Freeware)的UML塑模工具,它是由Duan Rodina開發,支援中文使用介面(筆者所翻譯),對於非商業用途的使用者可以全功能免費使用(如果覺得好用,記得捐助些款項支持此開發計劃)。第27頁,共35頁。3-5-1 安裝與啟動Software Ideas Modeler-安裝在書附光碟的SIM工具是免安裝版本,並不需要進行安裝程序,不過,因為SIM是一套.NET應用程式,在執行前,請先確認Windows作業系統已經安裝.NET Framework 3.5以上版本

溫馨提示

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

評論

0/150

提交評論