PIXNET Logo登入

學海無邊,書囊無底

跳到主文

一些日常IT的技術分享 .. ~給自己用、怕忘記的隨手筆記~

部落格全站分類:不設分類

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 8月 03 週二 201017:41
  • 學會UML類別圖的最佳方法

文/邱郁惠 2010-06-24












用VS2010動手學UML第12回在UML2十四款圖中,類別圖是最難上手的兩種圖款之一,但它卻是最重要的圖款,可以用來繪製系統共用的整體靜態架構
 
在VS2010/UML所支援的所有UML圖款中,我個人覺得類別圖(Class Diagram)以及循序圖(Sequence Diagram)是最難的兩款圖。
不過,別擔心類別圖的困難度,我記得曾經聽一位講師說到:「愈困難的事情,愈好做。」仔細想想,有些事情真的就是這樣。因為,既困難又重要的事物,容易引發聰明人想挑戰、想投入、想以此獲利的熱情,所以可以找到許多資源。
雖然,這是樂觀的想法,但聽起來也不無道理,不過,我們可以找到什麼資源,來協助建構困難且重要的類別圖呢?分享一些我經常使用的資源如下:
1.交易樣式:「交易樣式」(Transaction Patterns)是我覺得最實用、也最容易使用的資源了,我在之前出版的三本UML專書中,都提到過交易樣式,有興趣請你參考我之間出版的UML專書,如下:
● 《寫給SA的UML/MDA實務手冊》:我在出版的第一本UML書中,簡單提到了交易樣式的來源和概念。
● 《寫給SA的UML/UseCase實務手冊》:這本UML書中,我就詳細的解析了交易樣式的概念和舉例。
● 《學會UML/OOAD這樣開始就對了》:在這本UML書中的第一章,我就開宗明義直接使用交易樣式了。
2.分析樣式:除了Peter Coad提出的交易樣式外,Martin Fowler也有提出「分析樣式」(Analysis Patterns)也有許多靜態結構值得好好學一學。
3.領域標準:再者,許多領域有提出自己的標準,從中也可以吸收到非常專業的領域知識,有助於設計出品質較佳的類別圖。
VS2010中的類別圖
先說明,類別圖的概念是UML2十四款圖中,涵蓋的概念最多的一款圖,其主要原因在於,它同時包含了類別圖、套件圖(Package Diagram)和物件圖(Object Diagram)這三款圖的概念。所以,我個人認為學習類別圖概念的最佳方法之一是,拆成三個主題來學。
不過,VS2010/UML並沒有支持物件圖,所以我們可以拆成類別圖和套件圖兩個主題來學習。我會先用一系列文章談論類別圖的概念,而套件圖的概念留待後面的再談。所以,在類別圖工具箱中的「套件」(Package)和「套件匯入」(Package Import),我們就先不談了,如圖1所示。
圖1 套件與套件匯入
請繼續看圖1的類別圖工具箱,我們先來整理一下前面學到了幾個概念,才來繼續往下學習。很棒的是,有好幾個概念,我們在先前的用例圖系列文章中,已經接觸過了,現在只要多學一些特性。好消息,是吧!溫故知新一下,之前接觸過的概念,條列如下:
●類別(Class):雖然,我們前頭從沒正式談過類別的概念,但是已經看過好幾次它的蹤影了。在關於UML母模的圖中,看到的矩形圖示,就是類別,本章我們會正式來認識它了!
●註解(Comment):還記得我們在活動圖章節中,曾經提到「註解」用來放置備忘文字。不過,當時我們沒有打開註解的性質表細看,在本章我們會把註解看得更仔細些!
●結合關係(Association):在用例圖章節中,結合關係有用在參與者和用例之間,當時我們有提到類別之間的結合關係才是重點,所以本章我們還會繼續來看結合關係的概念。
●依賴關係(Despnedency):同樣在用例圖章節中,我們談到VS2010/UML把原先屬於部署圖的「產出物」(Artifact)概念,挪用來代表「用例敘述」(Use Case Narrative)時,用來連結產出物和用例的關係線,就是依賴關係。依賴關係同樣可以用在類別之間,以及類別與介面(Interface)之間,所以在本章中,我們會再度介紹依賴關係。
●連接線(Connector):在活動圖的章節中,曾經出現過的VS2010/UML特有的「連接線」概念,在用例圖中沒出現,不過此處又出現了。我猜想,可能是因為類別之間的關係種類眾多,所以VS2010才會又出現這個智慧小幫手。
●繼承關係(Inheritance):請先看到圖2的工具箱,用例圖的工具箱中有個「一般化關係」(Generalization),類別圖的工具箱中沒有一般化關係,但是有「繼承關係」(Inheritance)。看起來,這兩個概念在VS2010/UML中是混用了;在UML中,則稱之為「一般化關係」,不稱為「繼承關係」。請你再看到圖3,我在用例圖的兩用例之間放置一般化關係,也在類別圖的兩類別之間放置繼承關係,打開兩個關係的性質表一看,可以發現它們其實都稱為「一般化關係」(Generalization)。
圖2 一般化關係與繼承關係

圖3 一般化關係的性質表

複習過了你熟悉的概念,下一回合我們開始介紹類別圖,將分成四個部分來談,包括類別、關係、介面,前三個部分中談到的概念都是UML官方認定初級概念,另外還有屬於高級概念的「樣板」。
先簡單說明這四種概念,一個類別(Class)代表一群相同的物件(Object)。這群物件在語意、屬性、操作和關係這四項特性上,呈現出相同並且可以讓人辨識出相同。通常,真實事物的靜態資料會抽象成類別中的屬性,而它們的行為則會抽象成類別中的操作。屬性和操作是類別最重要的兩個組成元素。
不過,單獨的類別無法提供太大的功用,必須透過關係連結其他的類別,造成一加一大於二的團結力量,在類別圖中的關係概念包括了結合關係、聚合關係、組合關係、繼承關係(一般化)。
第三類初級概念是介面(Interface),在物件導向技術中,介面概念是很重要的一項技術。一個介面就像一份合約,它記錄了一組關係緊密的公開特徵和契約,使用該介面的物件可以得到介面上所約定的服務,而實作該介面的物件則必須提供介面上所約定的服務。
最後一項我們會介紹的高級概念是「樣版」(Template),簡單來說,樣版透過設定「參數」(Parameter)的方式,讓開發人員可以藉由繫結(Bind)不同的參數值,產生不同的繫結元素。
接下來的系列文章中,會更詳細地介紹這四類概念,最後還會分享10條類別圖最佳實務,以及案例練習,敬請期待。

(繼續閱讀...)
文章標籤

小草 發表在 痞客邦 留言(0) 人氣(4,579)

  • 個人分類:IT基礎建設
▲top
  • 8月 03 週二 201013:26
  • 企業機房網路設計實務

企業機房網路設計實務
2009/09/28-闞大成
要如何正確規劃機房?魔力門部落格版主ZMAN的第1個答案通常是:先學會資訊基礎知識與相關標準。
「很多企業都想要重整自己的機房,但是卻很難找到1個好的解決方案,」寬普數位科技副總經理暨魔力門部落格版主ZMAN指出,機房重建會面臨許多問題,包括服務不能斷線、大樓樓高限制、既有空調結構不佳......等,很多狀況導致不少企業機房根本沒有重新整併的可能性,所以,企業一定要了解,機房建置從一開始就要有妥善的規劃,否則,一旦做得不適當,要修正就會面臨很大的痛苦。
(繼續閱讀...)
文章標籤

小草 發表在 痞客邦 留言(0) 人氣(2,225)

  • 個人分類:IT基礎建設
▲top
1

個人資訊

小草
暱稱:
小草
分類:
不設分類
好友:
累積中
地區:

文章分類

toggle 我的剪貼簿 (3)
  • 散文 (3)
  • e-Learning (4)
  • IT基礎建設 (2)
toggle 伺服器管理 (4)
  • 網路設定 (2)
  • SharePoint (2)
  • SCOM (0)
  • Windows (5)
toggle 程式設計 (5)
  • .NET (1)
  • AD 程式開發 (0)
  • AP 效能調教 (1)
  • Powershell (4)
  • jQuery (0)
toggle SQL Server (9)
  • 資料庫安全 (2)
  • 資料庫管理 (28)
  • T-SQL (18)
  • 效能監控/調教 (6)
  • SQL 升級 (0)
  • SSIS (11)
  • SSRS (2)
  • 資料倉儲 (0)
  • Replication (2)
toggle 生活隨筆 (2)
  • myHome (0)
  • myBaby (1)
  • 系統安裝建置 (6)
  • 工作 (0)
  • 其他 (3)
  • 未分類文章 (1)

BloggerAds

文章搜尋

最新文章

  • SQL 2012新功能-日期/時間函數
  • SQLServer Analysis使用的Port number
  • SQL2014新功能 Buffer Pool Extension
  • 安裝 Power BI 報表伺服器
  • 預存程序錯誤處理
  • 建立LinkServer 連結 SQL 2000發生錯誤訊息:Cannot obtain the schema rowset "DBSCHEMA_TABLES_INFO" for OLE DB provider "SQLNCLI10"
  • 訊息 7415 ,特定存取至 OLE DB 提供者 'Microsoft.ACE.OLEDB.12.0' 已經遭到拒絕
  • 從 IClassFactory 建立 COM 元件 (CLSID 為 {AA40D1D6-CAEF-4A56-B9BB-D0D3DC976BA2}) 的執行個體失敗
  • SQL Server Data Tools for SQL Server 2014
  • Windows Powershell版本

熱門文章

  • (22,681)忘記SA密碼
  • (2,862)修改 msconfig 提升作業系統開機速度
  • (2,747)SQL 管理工具-Red Gate
  • (3,309)修改本機執行個體名稱
  • (820)Transactional Replication 異常排除 -- 執行某句命令時發生觸發錯誤
  • (18,522)SQL Server 啟動失敗(第一篇)
  • (1,569)Integration Server 如何在64位元伺服器上使用EXCEL資料來源?
  • (5,129)T-SQL 動態 Pivot
  • (10,884)Catalyst Control Center:Host application 已停止運作
  • (330)DQS 安裝

動態訂閱

文章精選

誰來我家

參觀人氣

  • 本日人氣:
  • 累積人氣: