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