1 / 46

Visual Studio 2010 在 UML 上對開發人員的助益

Visual Studio 2010 在 UML 上對開發人員的助益. 彭靖灝 大中華區技術總監 , K2. 課程大綱. UML 二三事 VSTS 2010 二三事 在 VSTS 2010 上運用 UML. UML 二三事. 為什麼要塑模 (Modeling) ?. 展現學問 好玩 遵循規定 溝通. 溝通上可能的混淆. 摘自: Learning UML 2.0. 期望透過共通語言減少混淆. 摘自: Learning UML 2.0. UML 有什麼問題?. 別唱高調了 ( 不能成為成品的模型只是簡報的材料而已 ) 談 UML 等於高成本

Download Presentation

Visual Studio 2010 在 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. Visual Studio 2010在UML上對開發人員的助益 彭靖灝 大中華區技術總監, K2

  2. 課程大綱 • UML二三事 • VSTS 2010二三事 • 在VSTS 2010上運用UML

  3. UML二三事

  4. 為什麼要塑模(Modeling)? • 展現學問 • 好玩 • 遵循規定 • 溝通

  5. 溝通上可能的混淆 摘自:Learning UML 2.0

  6. 期望透過共通語言減少混淆 摘自:Learning UML 2.0

  7. UML有什麼問題? • 別唱高調了(不能成為成品的模型只是簡報的材料而已) • 談UML等於高成本 • UML很難懂,很難學(那一個學校教過?) • 當焦點專注在成品時,如何反映回模型(模型和成品間真的不能保持同步嗎?) • 如何從模型到成品

  8. 為什麼現在談UML? • UML的影響無遠弗屆(use case, class diagram…) • 技術的變化讓之前存在的一些應用障礙破除 • .NET開發人員的技能有必要從「結果導向」轉到「架構導向」

  9. UML 101

  10. Use Case Diagram(做什麼) • 焦點:需求 • 整個模型的核心,決定系統要做什麼 • Use case也可視為建立test case的起點 • 成份 • Actor • Communication Line • Use case • 構成Use Case的要素 • 必然產出一些可衡量的成果給使用者或外部系統

  11. 範例

  12. 範例

  13. Activity Diagram(如何做) • 焦點:作業流程 • 決定系統如何完成作業 • 適合描述商務流程

  14. 範例

  15. Class Diagram(有那些) • 焦點:系統的邏輯結構 • 描述系統中所需要的具體成份 • 是轉換成開發成果最直接的媒介 • 可直接對映到物件導向的各種概念 • Attribute  Property • Operation Method • Visibility   Access • …

  16. 範例(Visibility)

  17. Sequence Diagram (何時做) • 焦點:互動的順序 • 由一組參與者(participants)構成 • 指明參與者間的互動關係和發生順序

  18. 範例

  19. 範例─拆解CMS

  20. Package • 焦點:決定類別的分組 • 相當於.NET中的Namespace • 不見得有package diagram,可能直接表現在架構中 • 也可以想像成架構圖中的單元模組

  21. 範例

  22. Component Diagram • 焦點:系統的實際成份 • 用以組織系統的成份,以便於管理、重複使用或替換 • Component和Class之間的區別在於責任範圍涵蓋的規模 • 提供對外銜接的port

  23. 範例

  24. Deployment Diagram • 焦點:系統部署 • 處理在實際的環境中,各個成份和硬體的關係及通訊的關係

  25. 範例

  26. VSTS 2010 二三事

  27. Visual Studio Team System 2008

  28. Visual Studio Team System 2010

  29. 架構和開發團隊

  30. 動機複雜度仍然是個嚴重的問題 • 到處都存在複雜度 • 程式碼、需求、組織內的政治考量 • VSTS 2010 透過以下策略處理… • 增進團隊成員間的共享資訊建立共識及理解 • 提昇對於既有系統的瞭解程度 • 取得並維護控制權的能力

  31. 對象專注於架構設計師和開發人員 • 開發人員想要… • …嘗試瞭解既有程式碼 • …專注於「對的修正」 • 架構設計師想要… • …嘗試瞭解領域以及對應實做關係 • …做為團隊中的「解決方案」或「應用系統」的架構設計師

  32. 內容產品能力 • 「瞭解領域」 • UML 2.x Designers • Modeling Project 及 Explorer • 「瞭解程式碼」 • Architecture Explorer • Sequence Diagram Generation • DGML Graphs 及“Standard” Graphs • 「維持控制權」 • Layer Diagram 及自訂MSBuild工作 • Work Item 的整合 • 擴充性

  33. Layer Diagram • 從架構面進行驗證以確保程式碼吻合期望的設計 • 充份呈現期望設計的細節 • 可以在圖中對映類別和命名空間到各個層次

  34. Architecture Explorer • 瞭解系統有助於避免蝴蝶效應(今日的小變動成為明日臭蟲) • 協助發現並理解系統是如何運作的 • 對既有程式碼提供視覺化的資產分析並瞭解其中關聯

  35. 在VSTS 2010上進行塑模

  36. Model Project • 塑模的主要起點 • 各個UML diagram不一定只能出現在model project • UML Model Explorer只會顯示Model Project的內容

  37. VSTS 2010對UML的支援 • 支援以下項目 • Use Case Diagram • Activity Diagram • Sequence Diagram • Component Diagram • Class Diagram • Package

  38. UML Model Explorer • 提供模型的「邏輯」檢視方案總管是「實體」檢視 • 每一個節點對應到一個塑模專案 • 提供使用成份的簡易操作能力

  39. Use Case Diagram

  40. Component Diagram

  41. Class Diagram

  42. Sequence Diagram

  43. Layer Diagram

  44. 特色 • 充份善用.NET metadata,使架構設計和程式碼間可以交互配合 • 充份結合VSTS其他功能 • Work Item • DSL • 完善的說明文件

  45. 總結 • 架構設計師和開發人員不應該在橋的兩邊 • 架構設計師是用戶和開發團隊的橋樑 • VSTS 2010 讓軟體開發更透明 • 可以考慮多花些時間在UML上面了

  46. 相關資源 • Skinner's Blog : http://blogs.msdn.com/camerons/default.aspx • Chris Lovett's Blog : http://www.lovettsoftware.com/blogengine.net/ • Soma's Blog:http://blogs.msdn.com/somasegar/

More Related