460 likes | 595 Views
Visual Studio 2010 在 UML 上對開發人員的助益. 彭靖灝 大中華區技術總監 , K2. 課程大綱. UML 二三事 VSTS 2010 二三事 在 VSTS 2010 上運用 UML. UML 二三事. 為什麼要塑模 (Modeling) ?. 展現學問 好玩 遵循規定 溝通. 溝通上可能的混淆. 摘自: Learning UML 2.0. 期望透過共通語言減少混淆. 摘自: Learning UML 2.0. UML 有什麼問題?. 別唱高調了 ( 不能成為成品的模型只是簡報的材料而已 ) 談 UML 等於高成本
E N D
Visual Studio 2010在UML上對開發人員的助益 彭靖灝 大中華區技術總監, K2
課程大綱 • UML二三事 • VSTS 2010二三事 • 在VSTS 2010上運用UML
為什麼要塑模(Modeling)? • 展現學問 • 好玩 • 遵循規定 • 溝通
溝通上可能的混淆 摘自:Learning UML 2.0
期望透過共通語言減少混淆 摘自:Learning UML 2.0
UML有什麼問題? • 別唱高調了(不能成為成品的模型只是簡報的材料而已) • 談UML等於高成本 • UML很難懂,很難學(那一個學校教過?) • 當焦點專注在成品時,如何反映回模型(模型和成品間真的不能保持同步嗎?) • 如何從模型到成品
為什麼現在談UML? • UML的影響無遠弗屆(use case, class diagram…) • 技術的變化讓之前存在的一些應用障礙破除 • .NET開發人員的技能有必要從「結果導向」轉到「架構導向」
Use Case Diagram(做什麼) • 焦點:需求 • 整個模型的核心,決定系統要做什麼 • Use case也可視為建立test case的起點 • 成份 • Actor • Communication Line • Use case • 構成Use Case的要素 • 必然產出一些可衡量的成果給使用者或外部系統
Activity Diagram(如何做) • 焦點:作業流程 • 決定系統如何完成作業 • 適合描述商務流程
Class Diagram(有那些) • 焦點:系統的邏輯結構 • 描述系統中所需要的具體成份 • 是轉換成開發成果最直接的媒介 • 可直接對映到物件導向的各種概念 • Attribute Property • Operation Method • Visibility Access • …
Sequence Diagram (何時做) • 焦點:互動的順序 • 由一組參與者(participants)構成 • 指明參與者間的互動關係和發生順序
Package • 焦點:決定類別的分組 • 相當於.NET中的Namespace • 不見得有package diagram,可能直接表現在架構中 • 也可以想像成架構圖中的單元模組
Component Diagram • 焦點:系統的實際成份 • 用以組織系統的成份,以便於管理、重複使用或替換 • Component和Class之間的區別在於責任範圍涵蓋的規模 • 提供對外銜接的port
Deployment Diagram • 焦點:系統部署 • 處理在實際的環境中,各個成份和硬體的關係及通訊的關係
動機複雜度仍然是個嚴重的問題 • 到處都存在複雜度 • 程式碼、需求、組織內的政治考量 • VSTS 2010 透過以下策略處理… • 增進團隊成員間的共享資訊建立共識及理解 • 提昇對於既有系統的瞭解程度 • 取得並維護控制權的能力
對象專注於架構設計師和開發人員 • 開發人員想要… • …嘗試瞭解既有程式碼 • …專注於「對的修正」 • 架構設計師想要… • …嘗試瞭解領域以及對應實做關係 • …做為團隊中的「解決方案」或「應用系統」的架構設計師
內容產品能力 • 「瞭解領域」 • UML 2.x Designers • Modeling Project 及 Explorer • 「瞭解程式碼」 • Architecture Explorer • Sequence Diagram Generation • DGML Graphs 及“Standard” Graphs • 「維持控制權」 • Layer Diagram 及自訂MSBuild工作 • Work Item 的整合 • 擴充性
Layer Diagram • 從架構面進行驗證以確保程式碼吻合期望的設計 • 充份呈現期望設計的細節 • 可以在圖中對映類別和命名空間到各個層次
Architecture Explorer • 瞭解系統有助於避免蝴蝶效應(今日的小變動成為明日臭蟲) • 協助發現並理解系統是如何運作的 • 對既有程式碼提供視覺化的資產分析並瞭解其中關聯
Model Project • 塑模的主要起點 • 各個UML diagram不一定只能出現在model project • UML Model Explorer只會顯示Model Project的內容
VSTS 2010對UML的支援 • 支援以下項目 • Use Case Diagram • Activity Diagram • Sequence Diagram • Component Diagram • Class Diagram • Package
UML Model Explorer • 提供模型的「邏輯」檢視方案總管是「實體」檢視 • 每一個節點對應到一個塑模專案 • 提供使用成份的簡易操作能力
特色 • 充份善用.NET metadata,使架構設計和程式碼間可以交互配合 • 充份結合VSTS其他功能 • Work Item • DSL • 完善的說明文件
總結 • 架構設計師和開發人員不應該在橋的兩邊 • 架構設計師是用戶和開發團隊的橋樑 • VSTS 2010 讓軟體開發更透明 • 可以考慮多花些時間在UML上面了
相關資源 • 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/