第3章 UML統一塑模語言 3-1 塑模與塑模語言 3-2 UML的基礎 3-3 UML的4+1觀點 3-4 UML塑模工具

Slides:



Advertisements
Similar presentations
系統分析與設計 楊子青 H-1 H 、物件導向技術 n 物件導向的基本概念 – 物件、類別 – 封裝、繼承 – 同名異式 ( 多型 ) 、超荷 ( 過載 ) n 物件導向分析與設計及塑模工具 n UML 塑模工具.
Advertisements

軟體工程 -物件導向程式設計與UML系統分析實作
08 CSS 基本語法 8-1 CSS 的演進 8-2 CSS 樣式規則與選擇器 8-3 連結HTML 文件與CSS 樣式表
第二章 UML簡介 課前指引 本章介紹什麼是UML以及利用圖形來塑模資訊系統的好處在哪裡。文中也介紹了何謂「4+1的觀點」、以及簡述各項UML圖形的使用目的。並且,我們從靜態以及動態這兩個觀點來分類、介紹各圖形的使用時機。
第二章 UML簡介 課前指引 本章介紹什麼是UML以及利用圖形來塑模資訊系統的好處在哪裡。文中也介紹了何謂「4+1的觀點」、以及簡述各項UML圖形的使用目的。並且,我們從靜態以及動態這兩個觀點來分類、介紹各圖形的使用時機。
欢迎各位 Nice to Meet U.
第10章 考试系统的分析与设计 1.
陳維魁 博士 儒林圖書公司 第九章 資料抽象化 陳維魁 博士 儒林圖書公司.
TQC+ JAVA全國教師研習會 PLWeb 程式設計練習平台 簡介.
第 1 章 使用 APP INVENTOR 2 開發 ANDROID APP
程式設計概論 1.1 程式設計概論 程式語言的演進 物件導向程式 程式開發流程 1.2 C++開發工具
Java簡介.
物件導向程式設計 CH1, CH2.
H、物件導向技術 物件導向的基本概念 物件、類別 封裝、繼承 同名異式(多型) 、超荷(過載) 物件導向分析與設計及塑模工具 UML塑模工具.
首席數位 物件導向系統分析與設計(OOA,OOD) 首席講座: 曾龍博士.
Google協作平台.
第一篇 Unix/Linux 操作介面 第 1 章 Unix/Linux 系統概論 第 2 章 開始使用 Unix/Linux
JDK 安裝教學 (for Win7) Soochow University
第1章 認識Arduino.
單元3:軟體設計 3-2 順序圖(Sequence Diagrams)
UML工具 --8种优秀的UML工具.
软件建模精要 面向对象软件建模技术.
類別(class) 類別class與物件object.
SQL Stored Procedure SQL 預存程序.
R教學 安裝RStudio 羅琪老師.
ASP.NET基本設計與操作 建國科技大學 資管系 饒瑞佶 2007年.
安裝JDK 安裝Eclipse Eclipse 中文化
OpenID與WordPress使用說明
2017 Operating Systems 作業系統實習 助教:陳主恩、林欣穎 實驗室:720A.
UML类设计工具 任课老师:黄武 上午2时50分 10.
UML介绍.
雲端運算的基石(2) 虛擬化技術實作(XP篇─上)
檔案與磁碟的基本介紹.
第二章 SPSS的使用 2.1 啟動SPSS系統 2.2 結束SPSS系統 2.3 資料分析之相關檔案 2.4 如何使用SPSS軟體.
OSGi (Open Service Gateway Initiative)
UML Unified Modeling Language
面向对象的分析与设计 教学计划 研究生课程 主讲教师:邵维忠 助教: 朱彬,柳毅,尤朝,张磊,黄艺燕 2009年2月—7月
SuperGIS 2.0 基本架構介紹.
網路安全技術 OSI七層 學生:A 郭瀝婷 指導教授:梁明章.
两种不同类别的软件: 功能预定义软件;用户驱动的软件。他们对软件工程方法有不同的需求
Topic Introduction—RMI
UML语言.
学习导航 学习导航.
第 19 章 XML記憶體執行模式.
TA教育訓練 微處理機系統實習.
網頁程式概論 建國科技大學資管系 饒瑞佶 2015/9 V1 2016/4 V2 2016/9 V3.
讓Emulator可以 使用Android Market
其他 ER 相關觀念 以及OO模型 國立中央大學 資訊管理系 范錚強 2002 中央大學。范錚強.
Google協作平台+檔案分享(FileZilla+網路芳鄰)
智慧型手機程式設計 建國科技大學資管系 饒瑞佶 2011年(992).
FTP使用教學 簡介: 軟體名稱:FileZilla 軟體性質:Freeware 版本: 繁體中文版
第6章 面向对象开发的 分析与设计.
MicroSim pspice.
利用 EditorConfig 自訂文字編輯器設定
電腦概論考題分析 佛學資訊組 碩一 張榮顯.
取得與安裝TIDE 從TIBBO網站取得TIDE
MiRanda Java Interface v1.0的使用方法
黃影雯副教授講授 E_Mail Address:
Dreamweaver 進階網頁製作 B 許天彰.
1-1 二元一次式運算.
2018 Operating Systems 作業系統實習 助教:林欣穎 實驗室:720A.
國立台灣大學 關懷弱勢族群電腦課程 By 資訊工程 黃振修
資料擷取與監控應用實務.
UML ISKM Lab.
安裝JDK 配置windows win7 環境變數
NFC (近場通訊, Near Field Communication) 靜宜大學資管系 楊子青
Chapter 4 Multi-Threads (多執行緒).
營運模式.
Develop and Build Drives by Visual C++ IDE
Introduction to Mobile Computing
Presentation transcript:

第3章 UML統一塑模語言 3-1 塑模與塑模語言 3-2 UML的基礎 3-3 UML的4+1觀點 3-4 UML塑模工具 3-5 Software Ideas Modeler塑模工具

3-1 塑模與塑模語言 3-1-1 塑模的基礎 3-1-2 塑模語言

3-1-1 塑模的基礎-說明 模型(Models)就是一種抽象化的真實事物(Real Thing),以軟體系統來說,它是使用文字或圖形來描述系統規格和其環境,一種簡化的真實系統。當我們將現實生活中的真實事物抽象化成模型,這個過程稱為「塑模」(Modeling),如下圖所示:

3-1-1 塑模的基礎-基本原則 在進行軟體系統開發時,我們常常需要建立模型(Models)來進一步了解未來建立的系統,不過,我們建立的模型永遠不會等於真實系統,因為塑模有兩個基本原則,如下所示: 強調(Emphasizing):強調哪些必要的部分。 省略(Omitting):忽略哪些不相關的部分。

3-1-1 塑模的基礎-為什麼需要建立模型 我們替系統建立模型是為了執行三種工作,如下所示: 溝通(Communication):在所有涉及系統開發專案的使用者建立一個溝通橋樑,因為不是所有使用者都了解資訊科技的專用術語,我們需要讓客戶了解需求;開發者了解需求,而且他們所認知的需求是一致的,有了模型,就算過了一段很長的時間,他們共通決定的需求一樣可以了解,而不會各說各話。 視覺化(Visualization):為了讓所有參與者都了解系統,詳細的文字描述比不上一張圖形來的有效,換句話說,視覺化呈現的模型(即使用圖形來表示),更容易讓使用者了解系統。 驗證(Verification):模型可以幫助我們驗證最後完成系統是否完整(Completeness)、一致(Consistency)和正確(Currectness)。

3-1-1 塑模的基礎-塑模方法 軟體塑模(Software Modeling)基本上可以使用兩種方式來替軟體系統建立模型,如下所示: 演算法塑模(Algorithmically Modeling):傳統結構化程式設計的軟體分析就是建立演算法,這種方法建立的系統彈性很差,當需求變更或升級時,我們很難更新或維護系統。 物件導向塑模(Object-Oriented Modeling):目前主流的軟體開發方式是物件導向方式,物件導向塑模是使用更接近真實世界的方式來建立模型,軟體系統就是物件集合,因為我們本來就是生活在物件的世界,思考模式也遵循著物件導向方式。

3-1-2 塑模語言-說明 「塑模語言」(Modeling Language)是一種使用字彙和規則來呈現概念和實際系統的語言,它可以使用虛擬碼(Pseudo-Code)、程式碼、圖形、一大段文字或任何可以幫助我們了解系統的方式來描述資訊或知識。 事實上,塑模語言就是使用一致的規則集合來定義系統結構,其元素稱為符號(Notation),而這些規則可以解釋結構中各元件的意義。

3-1-2 塑模語言-種類 一般來說,塑模語言分為圖形和文字兩種,其說明如下所示: 圖形塑模語言(Graphical Modeling Languages):使用圖形加上命名的符號來呈現觀念,以連接線連接符號來表示之間的關係,和各種其他符號來表示限制條件,UML是一種圖形塑模語言。 文字塑模語言(Textual Modeling Languages):主要是使用標準的關鍵字(Keywords)加上參數(Parameters)來建立電腦可理解的運算式。

3-2 UML的基礎 3-2-1 UML簡介 3-2-2 UML圖形 3-2-3 UML與方法論

3-2-1 UML簡介-說明 「UML」(Unified Modelling Language)並不是一種程式語言,它是一種塑模語言,可以讓我們使用圖形描述系統來建立模型。如同工程師閱讀藍圖來蓋房子,程式設計師只需看到UML圖形繪出的模型,就可以寫出所需的程式碼。 UML的中文名稱是統一塑模語言,UML的出現是三位OO理論大師:Grady Booch、James Rumbaugh和Ivar Jacobson(通稱3 Amigo)所提倡。三人本來各自提出物件導向的方法論(即OOA和OOD設計方法)和專屬表示的圖形和符號。換句話說,同樣問題,使用三人方法論建立的模型會有三種不同的表示方法。

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-Oriented 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版。

3-2-1 UML簡介-如何使用UML UML的使用方法有很多,Martin Fowler描述三種我們最常使用UML的方式,如下所示: UML如同藍圖:使用UML圖形描述詳細的系統規格,如同藍圖,我們可以使用UML塑模工具將它轉換成程式碼,或使用反向工程(Reverse Engineering)將程式碼轉換成UML圖形,維持模型與程式碼之間的一致性。 UML如同程式語言:使用UML圖形建立的模型是一個可執行的程式碼,UML如同程式語言般可以將UML建立的模型變形轉換成不同平台環境的程式碼。

3-2-2 UML圖形-說明 UML圖形(UML Diagrams)是使用視覺化方式來描述不同的模型元素,可以建立物件導向分析和設計結果的模型。每一種UML圖形都有特殊的用途,它是使用符號來視覺化呈現系統的某些觀點。 UML 2.x版比1.x版支援更多種類的圖形,在本節如果沒有特別說明,表示這是從UML 1.x版就支援的圖形。UML 2.2版共有14種圖形,可以分成兩種:7種結構圖(Stucture Diagrams)和7種行為圖(Behavior Diagrams)。

※ 3-2-2 UML圖形- 結構圖 圖形 說明 類別圖(Class Diagrams) 物件圖(Object Diagrams) 描述物件實例的靜態結構,可以顯示某一個時間點,系統一組物件之間的關係 元件圖(Component Diagrams) 描述系統重要元件之間的組織架構,元件可以包含其他元件或多個類別 部署圖(Deployment Diagrams) 描述系統實際執行時的軟硬體環境配置 套件圖(Package Diagrams) 使用階層架構來組織一組類別和元件,UML 2.0版支援的圖形 組合結構圖(Composite Structure Diagrams) 描述模型元素類別或元件的內部結構,UML 2.0版支援的圖形 輪廓圖(Profile Diagrams) 處理meta-模型層次的模版(Stereotype)資訊,可以使用UML圖形來自訂模版、標籤和限制條件

※ 3-2-2 UML圖形- 行為圖 圖形 說明 活動圖(Activity Diagrams) 類似流程圖,可以描述系統商業流程、作業流程和系統各活動的流程,例如:使用案例的主流程和操作 使用案例圖(Use Case Diagrams) 描述系統功能和其提供的服務,和哪些使用者或外部系統會與之互動,可以幫助我們找出系統需求 循序圖(Sequence Diagrams) 使用時間軸方式描述物件之間的互動,強調物件之間訊息傳遞的時間順序 通訊圖(Communication Diagrams) 描述物件的互動,強調物件之間的關係、訊息流向和控制流程,在1.x版稱為合作圖(Collaboration Diagrams) 狀態機圖(State Machine Diagrams) 描述物件生命周期的事件與狀態轉換,1.x版稱為狀態圖(Statechart Diagrams) 時序圖(Timing Diagrams) 描述詳細的時間資訊,互動元素之間的條件資訊和狀態改變,UML 2.0版支援的圖形 互動概觀圖(Interaction Overview Diagrams) 使用循序、通訊和時序圖以高階方式來描述系統發生的重要互動,UML 2.0版支援的圖形

3-2-2 UML圖形- 圖形與模型之間的差異 模型和圖形的差異說明,如下所示: 模型(Models):模型是使用抽象化方式來描述欲塑模事實的所有元素,包含所有關於商業、系統和關係等觀點。 圖形(Diagrams):每一張圖形是使用一種特殊觀點來檢視我們欲了解系統的特定部分,換句話說,一張圖形只能使用一種觀點來檢視所有或部分模型。

3-2-3 UML與方法論-說明 UML統一塑模語言並不是方法論,其主要目的是使用統一的文字和圖形來建立模型。事實上,UML只統一Grady Booch、James Rumbaugh和Ivar Jacobson三人的表示方法,並沒有統一方法論,UML需要搭配適當的方法論,才能幫助我們進行軟體系統開發。 軟體系統開發方法(Methods)是一種可靠且可複製的方式來描述如何塑模和建立軟體系統的過程。

3-2-3 UML與方法論-說明 物件導向分析與設計的主要方法論,如下表所示: 方法論名稱 開發者 OMT(Object Modeling Technique) James E. Rumbaugh Booch方法(Booch Method) Grady Booch OOSE(Object Oriented Software Engineering) Ivar Jacobson Shlaer-Mellor方法(Shlaer-Mellor Method) Slly Shlaer與Stephen J. Mellor

3-3 UML的4+1觀點-說明 對於複雜的軟體系統來說,我們需要透過一組UML圖形才能完整描述系統的所有資訊,目前有相當多方法將UML模型建立的圖形分類成多種觀點或透視方式來取得系統的真實面貌,簡單的說,我們可以從不同觀點來檢視一個系統,每一個觀點使用特定種類的UML圖形來呈現。 Kruchten’s的4+1觀點(Philippe Kruchten,1995)能夠幫助我們呈現不同種類UML圖形在描述整個系統模型時扮演的角色,稱為「觀點模型」(View Model),它可以同時使用多個不同觀點來描述系統架構。

※ 3-3 UML的4+1觀點-圖例 圖例的4+1觀點是從使用者、開發者和專案管理者的角度來看這個系統,如下圖所示:

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

※ 3-3 UML的4+1觀點-觀點說明2 開發觀點(Development View):這是程式設計者角度的觀點,著重於程式碼管理的模組與元件,也就是描述系統內部模組和元件的結構。我們主要是使用UML套件圖和元件圖來呈現此觀點。 流程觀點(Process View):此觀點是系統非功能需求的效能和可擴充性等,包含系統處理流程的並行和通訊,可以幫助我們了解系統發生了什麼事。我們主要是使用UML活動圖來呈現此觀點。 實際觀點(Physical View):這是從系統工程師觀點呈現的系統,即真實世界的系統拓樸架構,可以描述最後部署的實際系統架構和軟體元件。我們主要是使用UML部署圖來呈現此觀點。

3-4 UML塑模工具-說明 UML塑模工具(UML Modelling Tool)是CASE工具(Computer-Aided Software Engineering Tools,CASE Tools)之一,可以幫助系統開發者使用UML圖形進行物件導向分析與設計,快速建立軟體系統所需的模型。 目前巿面上的UML塑模工具相當多,依使用者的授權方式,可以分為商業和免費版本UML塑模工具。

3-4 UML塑模工具-商業版本的UML塑模工具 一般來說,商業版本的UML塑模工具都提供強大功能,而且很多都提供Community社群版,可以讓非商業用途的使用者免費使用,不過,其功能會打一些折扣,而且通常都需要線上註冊啟動後才能使用。常見商業版本的UML塑模工具,如下所示: IBM Rational Software Architect(RSA) PowerDesigner MagicDraw UML Astah UML Visual Paradigm for UML(VP-UML) Poseidon for UML Enterprise Architect

3-4 UML塑模工具-免費版本的UML塑模工具 除了商業版本的UML塑模工具外,巿面上還有一些Open Source開放原始碼與類似授權的免費UML塑模工具,和一些非商業用途使用者可全功能免費使用的UML塑模工具,其說明如下所示: StarUML ArgoUML Umbrello BOUML Software Ideas Modeler

※ 3-5 Software Ideas Modeler塑模工具 3-5-2 建立與儲存專案 3-5-3 新增模型與UML圖形 3-5-4 SIM的使用介面說明 3-5-5 SIM塑模工具的基本操作

3-5 Software Ideas Modeler塑模工具 Software Ideas Modeler(SIM)塑模工具一套速度快、輕量、操作簡單和功能強大的CASE工具,其強大的UML繪圖功能,可以輸出漂亮的UML圖形和產生精美的模型文件。 SIM塑模工具是一套免費軟體(Freeware)的UML塑模工具,它是由Dušan Rodina開發,支援中文使用介面(筆者所翻譯),對於非商業用途的使用者可以全功能免費使用(如果覺得好用,記得捐助些款項支持此開發計劃)。

3-5-1 安裝與啟動Software Ideas Modeler-安裝 在書附光碟的SIM工具是免安裝版本,並不需要進行安裝程序,不過,因為SIM是一套.NET應用程式,在執行前,請先確認Windows作業系統已經安裝.NET Framework 3.5以上版本。

3-5-1 安裝與啟動Software Ideas Modeler-啟動 在書附光碟的SIM是免安裝版本,我們只需將ZIP檔解壓縮至硬碟的資料夾,就可以切換至SIM解壓縮至硬碟的資料夾,按二下【SoftwareIdeasModeler.exe】執行檔,稍等一下,因為是第一次啟動,需要選擇使用介面的語言,可以看到「Language」對話方塊。

3-5-2 建立與儲存專案 SIM是使用專案(其副檔名為.simp)來管理我們塑模的模型,在模型之中是繪製的各種UML圖形,如下圖所示:

3-5-3 新增模型與UML圖形-新增模型 在SIM建立專案後,我們就可以執行「檔案/開啟專案」指令開啟存在的SIM專案,新增模型與UML圖形。 在同一個SIM專案可以建立多個模型,例如:在Ch3_5.simp專案新增名為【邏輯觀點】的模型,如右圖所示:

3-5-3 新增模型與UML圖形-加入UML圖形

3-5-4 SIM的使用介面說明 SIM使用介面是由功能表、工具列、標籤頁的編輯視窗和各種功能視窗所組成,如下圖所示:

3-5-5 SIM塑模工具的基本操作 在這一節筆者準備簡單說明SIM塑模工具的基本操作,包含基本設定、樣式編輯、輸出圖檔、產生文件和UML註解與模版的編輯。 切換使用介面的語言 顯示格線與貼齊格線 樣式編輯 在UML符號加入註解 替UML符號元素新增模版 將UML圖形匯出成圖檔 產生報告或規格文件

End