午夜无码中文字幕影院,国产自产第一区c国产,久久久久久夜精品精品免费,国产99久久,夜夜夜夜曰天天天天拍国产,欧美日韩亚洲另类专区,国产精品区一区二区免费

專業(yè)信息系統(tǒng)項目管理師網站|培訓機構|服務商(2021信息系統(tǒng)項目管理師學習QQ群:89253946,客服QQ:800184589)

軟題庫 培訓課程
當前位置:信管網 >> 信息系統(tǒng)項目管理師 >> 其它資料 >> 文章內容
軟件質量之路:日構建[2]
來源:信管網 2011年11月22日 【所有評論 分享到微信

  ● 統(tǒng)一代碼源

  其次,保證一個開發(fā)團隊共享統(tǒng)一的代碼源。這時候我們需要使用版本控制工具。共享的代碼庫同樣也是XP的一個基本實踐。雖然XP還要求開發(fā)人員可以修改他人的代碼,但我們并不提倡這種做法,這要求團隊成員之間有非常高的默契程度。統(tǒng)一的代碼源能夠保證所有人的代碼都歸總到一起,這是日構建的基礎。如果沒有這一點的保證,每一次的構建我們都不得不把所有人的代碼集中起來,這無疑會使構建過程變成災難。

  統(tǒng)一代碼源能夠保證任何一位團隊成員獲得所有的代碼,并以此為基礎進行開發(fā)。

  ● 集成測試

  只是把代碼編譯通過并不能夠證明軟件可以正常工作,評價軟件的標準應該是測試。在日構建中必須要執(zhí)行集成測試,來保證軟件確實是能夠工作的。

  集成測試也是一個同義詞相當多的名?,有榷愰廃称为褭─拆}裕˙VT-Build Verification Tests),因為他們認為這種測試主要的目的是為了驗證構建的正確性。有些人把它稱為冒煙測試(Smoke Test),因為他們覺得這個測試的目的是運行軟件,看它是否會"冒煙"。

  測試應該全部執(zhí)行完畢,而不是遇到未被滿足的錯誤就放棄測試過程。測試將形成結果,成功的測試,失敗的測試,失敗測試的細節(jié)。最后的結果將通過某種方式通知給相應的人員,要求他們修改設計或測試(如果是測試本身的問題的話)。

  集成測試是證明構建成功的關鍵因素。和構建一樣,集成測試也應該是自動化的。

  日構建的基本工具

  日構建的工具有很多,但是最基礎、最廣泛的工具是Ant(http://ant.apache.org)。Ant類似于Make,但是加入了跨平臺的特性。在這個目標的驅動下,Ant摒棄了Make工具的給予Shell的缺點,提供了一種使用XML配置文件的構建方式,并定義了一個統(tǒng)一的微核心和強大的擴展機制。這些特點使得Ant很快被人所接受、推廣。目前,Ant的最新版本是1.6.0。

<project name="MyProject" default="dist" basedir=".">
    <description>
        simple example build file
    </description>
  <!-- set global properties for this build -->
  <property name="src" location="src"/>
  <property name="build" location="build"/>
  <property name="dist"  location="dist"/>
  <target name="init">
    <!-- Create the time stamp -->
    <tstamp/>
    <!-- Create the build directory structure used by compile -->
    <mkdir dir="${build}"/>
  </target>
  <target name="compile" depends="init"
        description="compile the source " >
    <!-- Compile the java code from ${src} into ${build} -->
    <javac srcdir="${src}" destdir="${build}"/>
  </target>
  <target name="dist" depends="compile"
        description="generate the distribution" >
    <!-- Create the distribution directory -->
    <mkdir dir="${dist}/lib"/>
    <!-- Put everything in ${build} into the MyProject-${DSTAMP}.jar file -->
    <jar jarfile="${dist}/lib/MyProject-${DSTAMP}.jar" basedir="${build}"/>
  </target>
  <target name="clean" description="clean up" >
    <!-- Delete the ${build} and ${dist} directory trees -->
    <delete dir="${build}"/>
    <delete dir="${dist}"/>
  </target>
</project>

  以上是一個簡單,但已經可以完全說明Ant工作流程的例子,來源于Ant的手冊。在這個例子中,先定義了項目的基本信息和構建過程中所需要使用到的屬性(1),然后初始化環(huán)境(2)(創(chuàng)建時戳和目標目錄),在3和4中,對項目進行編譯和打包,在5處,提供了清除項目輸出的途徑。

  在Ant中,最關鍵的四個概念就是項目(Project)、目標(Target)、任務(Task)和屬性(Property)。這四個概念的定義和調度、配置文件的處理構成了Ant的核心。而具體的任務則作為擴展機制。這種微核心的處理思路在很多成功的軟件項目中采用過。

  本文并沒有打算對Ant進行全面的介紹,因此,如果你打算在組織中引入日構建,那么,學會使用Ant是必須的。目前很多的IDE環(huán)境都提供了對Ant的支持(例如Eclipse),所以使用Ant是很方便的。

  原則上,光有Ant就已經可以完成一個日構建過程了,但是還有一些軟件提供了更好的封裝,使得持續(xù)集成變得更加的簡單。典型的兩個工具是AntHill( http://www.urbancode.com/projects/anthill/default.jsp)和CruiseControl( http://cruisecontrol.sourceforge.net/)。前者是一個商業(yè)軟件,提供了很多優(yōu)秀的日構建實踐。使用起來也很簡單。后者是鼎鼎大名的Martin Folwer所在的ThoughtWorks公司開發(fā)的,可以免費使用。

  另一個值得關注的軟件是Apcache組織下的Maven項目( http://maven.apache.org/)。這個項目還很年輕,目前才到1.0的發(fā)布版。Maven給自己的定位是項目管理軟件,使用項目對象模型(POM)來描述一個項目,進一步的簡化構建過程,并統(tǒng)一構建過程所出產的工件。Maven的另一個目標是通過一種實際的工具,來推廣優(yōu)秀的實踐。例如開發(fā)目錄樹的組織。

  日構建的代價

  雖然日構建有諸多的好處,但是要使用日構建并不是一帆風順的。最大的問題是如何引入日構建的三項基本實踐。前兩項相對簡單,最難的是建立自動化測試。關于這部分的說明請參考測試驅動開發(fā)的相關部分。

  日構建擴展任務

  日構建的核心任務是編譯、構建、執(zhí)行測試和發(fā)布。除了這些任務之外,還可以微日構建添加擴展任務。

  生成文檔。生成文檔有很多的方法,其中最關鍵的是生成API文檔。JavaDoc的概念減弱了傳統(tǒng)軟件開發(fā)中文檔的重要性,而把大量的文檔嵌入到了代碼層面中。除了標準的JavaDoc文檔之外,還可以利用第三方的工具生成自定義的文檔,例如to-do列表文檔。XDoclet就是其中的一個工具。

  預編譯。不少的應用引入了預編譯。典型的如AspectJ,作為一個AOP工具,AspectJ的作用是使用特定的代碼生成器生成AOP的Java代碼,然后再進行編譯。將預編譯的工作納入到構建過程,可以簡化開發(fā)的工作量。典型的還包括一些ORM工具。

  代碼分析。代碼分析是軟件度量的重要工作。代碼分析可以為管理人員提供一個判斷代碼質量依據(不要把它作為唯一的標準)。代碼分析是形式化的,因此可以制作成軟件,集成到構建過程中來。例如,判斷代碼是否符合編碼規(guī)范,文檔和代碼的比率,包和類涉及的合理性。

  測試覆蓋分析。測試覆蓋分析作為輔助測試的手段是非常重要的。測試代碼的復審,最關鍵的評價測試是否足夠(相對),單靠人工完成這項工作太勉強了。所以應該令其自動化,并成為構建過程的一部分。

  問題跟蹤。測試過程中出現的問題應該被納入到一個問題跟蹤系統(tǒng)中,可以通過和問題跟蹤系統(tǒng)接口來設計自動化的任務。

  歸檔和備份。這是很基本,但也是很重要的功能。每天產生的工件應當進行妥當的歸檔、備份。

[1]   [2]   
掃碼關注公眾號

溫馨提示:因考試政策、內容不斷變化與調整,信管網網站提供的以上信息僅供參考,如有異議,請以權威部門公布的內容為準!

信管網致力于為廣大信管從業(yè)人員、愛好者、大學生提供專業(yè)、高質量的課程和服務,解決其考試證書、技能提升和就業(yè)的需求。

信管網軟考課程由信管網依托10年專業(yè)軟考教研傾力打造,官方教材參編作者和資深講師坐鎮(zhèn),通過深研歷年考試出題規(guī)律與考試大綱,深挖核心知識與高頻考點,為學員考試保駕護航。面授、直播&錄播,多種班型靈活學習,滿足不同學員考證需求,降低課程學習難度,使學習效果事半功倍。

相關內容

發(fā)表評論  查看完整評論  

推薦文章