Visual Studio 2010敏捷之道
2010年2月9日,微軟發布Visual Studio 2010 RC版本,這就是說Visual Studio 2010的正式版本將隨后放送。本文將為大家講述的是Visual Studio 2010敏捷之道。
隨著軟件開發日趨國際化,對軟件的質量要求和管理也隨之增高。微軟看到了使用程序生命周期管理在業界逐漸被接受認可的趨勢,并宣稱VSTS2010將會是一個革命性的.Net軟件開發以及管理工具的產品,估計在2010年3月正式版揭曉。它將提供協同一致的使用程序生命周期管理工具,讓參與軟件開發的各種角色人員,例如:從架構師到開發人員,從項目經理到測試人員,都能夠更加容易地在整個ALM流程中執行 協作。
在本文中,筆者將介紹Microsoft Visual Studio 2010 Beta2版本中的敏捷特征,以及以往版本優劣勢等方面的內容。通過這些內容的闡述,讓讀者了解VSTS2010的敏捷思想體系,以便于.NET人員在自己的項目中,根據實際情況,盡快熟悉和看清VSTS2010流程為導向的軟件工程全貌和整體發展趨勢。
1.概述
一個軟件產品或系統同任何事物一樣,也要經歷孕育、誕生、成長、成熟、衰亡等階段,一般稱為軟件生存周期,也稱為SDLC(software development life cycle)軟件開發生命周期。它是軟件的產生直到報廢的生命周期,周期內有疑問定義、可行性分析、總體描述、系統設計、編碼、調試和測試、驗收與運行、維護升級到廢棄等階段,這種按時間分程的思想要領是軟件工程中的一種思想原則。我們也可以將SDLC解釋為一組步驟(Step)、階段(Phase)或者里程標(Milestone),SDLC的一般步驟包括:確定疑問、可行性分析與開發計劃、收集需求、分析與設計、編碼開發、測試、安裝、維護。。
在Visual Studio 2010 Ultimate中,使用程序生命周期(ALM)是其主要特征和SDLC實現方式之一。我們將一個軟件的生命周期(SDLC)劃分為多個階段;而運用 各種工具輔助每個關鍵環節執行 管理,就稱為使用程序生命周期管理(ALM,Application Lifecycle Management)。微軟Visual Studio 2010將會努力打造 一個功能平等、共同分擔,易用便捷的平臺,以用于組織內的使用程序生命周期管理流程。
Visual Studio 2010的ALM涵蓋了系統設計到測試階段的工具,其中,在架構方面,Visual Studio 2010包括新的架構檢視工具(Architecture Exp lorer),添加對統一建模語言(UML)的支持,例如類圖、用例圖、活動圖和時序圖等;以及架構層圖(Architecture Layer Diagram),以圖形化的方式描述系統架構,從而使得項目中的技能人員或非技能人員都能以模型透過圖形化的方式執行 協作,以及定義企業與系統功能聯系等。另外微軟提供虛擬實驗室管理(Microsoft Test and Lab Manager)技能,可供開發人員和測試人員收集更多的測試資料,增強ALM的周期管理控制。
圖1 Architecture工具模板
2.Scrum開發思想敏捷特征
Visual Studio 2010中項目流程模板變化很大,微軟把Scrum作為基本Agile開發模型(Scrum模型為基礎參考導向),TFS2010中集成了MSF for Agile Software Development v5.0,可操作性上融合了敏捷等軟件開發流程思想模型。
圖2 添加MSF for Agile模板
Scrum最初的意思是英式橄欖球爭球隊,是敏捷軟件開發模型中的一種。Scrum 將軟件開發團隊比擬成橄欖球隊,有明確的最高目標,熟悉開發流程中所需具備的最佳技能,具有高度自主權,緊密地溝通合作,以高度彈性處理各種挑戰,確保每天、每個階段都明確的朝向目標推進。
圖3 Scrum for Agile模型
Scrum開發流程通常以30天(或者更短的一段時間)為一個階段,由客戶提供新產品的需求規格開始,開發團隊與客戶于每一個階段開始時挑選該完成的規格部分,開發團隊必須盡力于30天后交付成果,團隊每天用 15 分鐘開會檢查每個成員的進度與計劃,了解所遭遇的困難并設法排除。
3.VSTS2010安裝敏捷特征
在以往的版本中,微軟TFS2005/2008安裝、配置的復雜性等原由,使得很多.Net中小型開發團隊還在運用傳統的、功能單一的VSS等開發管理工具,TFS被逐漸被邊緣化。
在VSTS2010中,TFS2010安裝更加基本便捷,完美支持SQL Server 2008,并與Web Access集成,比起之前繁瑣的安裝和配置步驟更為基本,無需單獨安裝SharePoint Service,并且可以在不用安裝域控和AD(活動目錄)的模式下
安裝,從而非常適合不同規模的開發團隊的運用須要。
點擊查看大圖
圖4 Team Foundation Administration Console
4.VSTS2010功能與角色敏捷性
點擊查看大圖
點擊查看大圖
圖5 Visual Studio 2010 Ultimate架構
Visual Studio 2010 Ultimate的用戶包含了項目管理人員(PM),架構師,開發人員和測試人員,他們覆蓋在整個軟件開發生命周期中。而VSTS 2010則為軟件開發項目流程中不同角色的人員提供相應的工具,并且最主要的是將這些工具以Team Foundation Server為核心整合在一起,增強了軟件開發團隊中的溝通與協作。我們將能夠實現完整的使用程序生命周期管理,使得開發團隊能夠在開發流程的早期以及在整個開可預見性發流程中確保更高的和更好的質量。
圖6 微軟MSF軟件流程基礎模型
5.敏捷的架構設計(Architecture)(項目經理、架構師或開發人員)
VSTS 2010支持統一建模語言UML(Unified Modeling Language)及特定領域語言DSL(Domain Specific Language),.NET項目管理人員、軟件架構師或者開發人員可以丟掉Rose建模工具,執行 軟件架構的構建。
所示微軟MSF軟件流程基礎模型設計設計活動階段,經過概念設計、邏輯設計和物理設計(參考圖6),在軟件工程圖紙設計流程中,VSTS2010可以敏捷的執行 軟件工程設計(參考圖1 Architecture工具模板),從而輔助的完成軟件工程文檔。如圖7所示,執行 軟件工程類聯系圖的設計。
點擊查看大圖
圖7 設計UML Class Diagram
鼠標右鍵,點擊“Create Lifeline”菜單項,可以自動生成Lifeline,在這基礎上可以執行 類的時序圖的設計,如圖8所示。
點擊查看大圖
圖8 設計UML Sequence Diagram
另外,在架構管理方面,VSTS 2010通過新的架構閱讀器(Architecture Exp lorer)和架構層圖(Architecture Layer Diagram),以圖形化的方式描述系統架構,從而使得項目中的技能人員或非技能人員都能以模型透過圖形化的方式執行 協作,以及定義企業與系統功能。
在實際的項目開發實踐中,大多數情況下我們都是在已有代碼的基礎上構建新的系統。在這種情況下,.NET架構師或者開發人員遇到的一個典型的疑問就是沒有好的工具可以幫助他們很好地理解現有代碼的架構,從而不能有效地在現有代碼的基礎上,添加新的功能以滿足新的需求。為了處理這個疑問,VSTS 2010提供了新的建模工具——架構閱讀器(Architecture Exp lorer)。
架構閱讀器圖,如圖9所示。
點擊查看大圖
圖9 架構閱讀器
新的架構閱讀器可以讓架構師或者開發人員為已有代碼建立完整的架構圖,理解原有系統的各個組件是如何 協作在一起的。這將為架構師或者開發人員決定如何 運用,復用或者是棄用現有代碼提供足夠的有價值的參考信息。
對于非.NET架構設計人員來說,也可以借用微軟的New Diagram模板(Uml Class Diagram、UML Sequence Diagram、UML Use Case Diagram、UML Activity Diagram、UML Component Diagram等)執行
好看的軟件工程圖表設計,并可以直接粘貼到word中執行 功能說明(參考圖1)。
【編輯推薦】