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