1 / 21

Chap2 統一塑模語言 (UML)

Chap2 統一塑模語言 (UML). 黃士銘 2008/10/08. 大綱. 需求蒐集 和客戶面談 使用案例示意圖 類別示意圖 模塑領域 關聯性 實作 活動示意圖 順序示意圖 狀態示意圖. 需求蒐集. 與客戶面談,以正確決定出系統需求以便滿足他的使用者。 以下為 BandSpy 樂團查詢系統範例 使用者可以造訪 BandSpy 網頁並瀏覽有關樂團的資訊,樂團的資料包括了樂團的型態、樂團的成員以及他們所演奏的樂器。 使用者可以觀看一個以上樂團其將要上演的演奏會資訊。 網站管理員可以加入新的樂團資訊 網站管理員可以編輯既有的樂團資訊

aliya
Download Presentation

Chap2 統一塑模語言 (UML)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chap2 統一塑模語言(UML) 黃士銘 2008/10/08

  2. 大綱 • 需求蒐集 • 和客戶面談 • 使用案例示意圖 • 類別示意圖 • 模塑領域 • 關聯性 • 實作 • 活動示意圖 • 順序示意圖 • 狀態示意圖

  3. 需求蒐集 • 與客戶面談,以正確決定出系統需求以便滿足他的使用者。 • 以下為BandSpy樂團查詢系統範例 • 使用者可以造訪BandSpy網頁並瀏覽有關樂團的資訊,樂團的資料包括了樂團的型態、樂團的成員以及他們所演奏的樂器。 • 使用者可以觀看一個以上樂團其將要上演的演奏會資訊。 • 網站管理員可以加入新的樂團資訊 • 網站管理員可以編輯既有的樂團資訊 • 網站管理員可以加入新的演奏會,加入新的演奏會包括租借場地及印製入場卷。協力廠商會處理場地租借及印製入場卷的事,需要透過BandSpy軟體來通知這些廠商之預定系統。

  4. Browse band info User 使用案例示意圖 1 • 以使用者工作導向的觀點看待系統。 • ㄧ個使用案例代表著使用者利用系統要完成的工作。 • 人形圖─動作者(actor),可能為“人”,或依賴我們的“某個外部系統”。 • 橢圓形─使用案例 • 不同之動作者可以共用一個使用案例 • 範例:使用者造訪BandSpy網站並瀏覽樂團資訊的簡單使用案例示意圖。

  5. 使用案例示意圖 2 • 劇本(scenarios) • 使用案例可以再深入成為其各自的劇本(scenarios) • 劇本是一連串組成此使用案例的步驟 • 範例:使用者造訪BandSpy網站並瀏覽樂團資訊使用案例劇本 • 使用者來到BandSpy網站 • 使用者利用選單瀏覽網站 • 使用者查閱樂團/表演者/演奏會資訊

  6. add band info <<include>> browse band info log into system <<include>> <<include>> User book a performance 使用案例示意圖 3 • 管理者工作使用案例 • 以include來表示這個使用案例視其他三個使用案例的一部份

  7. Update performance information Venue Booking System add band info <<include>> <<include>> modify band info log into system <<include>> Administrator book a performance lookup band info User 使用案例示意圖 4 • 範例BandSpy系統完整使用案例示意圖

  8. 類別示意圖 • 模塑領域 • 於使用案例後,進行設計模塑此領域的軟體 • 類別能貼近所要代表之真實物件 • 類別示意圖能提供模塑領域之描述,且類別之實際方法及屬性的細節程度可以非常抽象也可以非常詳細。 名稱 屬性的型別 屬性 表示“公用的” 操作 操作回傳數值的型別

  9. 範例 - Musician類別程式碼

  10. 關聯性 • 系統有一個以上之類別,則必須描述物件間相互進行之交互作用。 • 關聯性有下列幾種 • 結合關係(Associations) • 實作關係(Realizations) • 繼承關係(Generalizations) • 組合關係(Composites)

  11. 結合關係(Associations) 1 • 連接兩個類別間的線表示所謂結合關係(association)的關聯性。 • 一對多 (例如:1個Band可以有多位Musicians) • 多對一 (例如:許多個Musicians可以組1個Band) Musician類別之bandName屬性變成Band類別之ㄧ個屬性了 * 1

  12. 結合關係(Associations) 2 • 由結合關係線表示瀏覽性(navigability) • 雙向瀏覽性(bi-directional navigability):沒有箭頭的線,往兩個方向移動,指每個類別具有另一個的內部參照 • 單向瀏覽性(unidirectional navigability):只能往單一個方向瀏覽 Musician類別可以由它的內部集合來存取任何的Instruments,但Instrument沒有辦法知道哪個Musician擁有它。 * 1

  13. 實作關係(Realizations) &繼承關係(Generalizations) • 實作關係:指出某介面及實作它的類別 • 繼承關係:指出由抽象類別或由另一個實作類別繼承而來。 虛線及介面端之空心箭頭表示“實作關係” 實線及空心箭頭表示“繼承關係”,例如Guitarist產生ClassicalGuitarist與RockGuitarist子類別。

  14. 組合關係(Composites) • 通常有用的類別關聯性不是來自於結合關係或繼承,而是來自於類別群組的方式。限制如下: • 組合關係中的物件不能以任何方式共享 • 實體被刪除時,其組合物件也要被刪除 • Durm Set是Durm及Cymbal 類別之“組合關係” • Durm Set實體的Durm實體不能為另一個Durm Set實體所有 • Durm Set實體被刪除時,其組合物件也要被刪除

  15. 聚合關係(aggregate) • 聚合關係較組合關係通用,其表示方式為“鑽石型部分為空心” • 允許分享其所含有之組件 • 實體被刪除時,其中的組件部依定要跟著被刪除

  16. 範例 – 類別示意圖程式1

  17. 範例 – 類別示意圖程式2

  18. 活動示意圖 活動區 起點 活動示意圖(activity diagram)用於瞭解使用案例中活動進行之順序。 轉移 活動 決策點 岔流 匯流 結束

  19. 順序示意圖 • 順序示意圖,有助於以圖示之方式看出訊息如何在不同物件間傳送。 • 順序示意圖通常附屬於個別之使用案例中。 物件實體 訊息 活動時間 回傳 生命線

  20. 狀態示意圖 • 狀態示意圖,用以表示單一物件在生命週期間狀態變化。 物件生命週期開始 註解 由某狀態轉移至另一狀態 物件生命週期結束

  21. 元件及配置示意圖 • 元件及配置示意圖,用於顯示應用程式架構中之某些實體元素。 節點 元件 節點間之連接 相依關係 介面

More Related