kapok

          垃圾桶,嘿嘿,我藏的這么深你們還能找到啊,真牛!

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            455 隨筆 :: 0 文章 :: 76 評(píng)論 :: 0 Trackbacks

          http://www.huihoo.com/development/fdd.html

          功能驅(qū)動(dòng)開(kāi)發(fā)模式FDD

          FDDFeature-Driven Development)是由Peter CoadJeff de Luca Eric Lefebvre共同開(kāi)發(fā)的一套針對(duì)中小型軟件開(kāi)發(fā)項(xiàng)目的開(kāi)發(fā)模式。

          FDD是一個(gè)模型驅(qū)動(dòng)的快速迭代開(kāi)發(fā)過(guò)程,它強(qiáng)調(diào)的是簡(jiǎn)化、實(shí)用、 易于被開(kāi)發(fā)團(tuán)隊(duì)接受,適用于需求經(jīng)常變動(dòng)的項(xiàng)目。簡(jiǎn)單地說(shuō),FDD“是一個(gè)以Architecture為中心的,采用短迭代期,目期驅(qū)動(dòng)的開(kāi)發(fā)過(guò)程。它首先對(duì)整個(gè)項(xiàng)目建立起一個(gè)整體的模型,然后通過(guò)兩周一次‘設(shè)計(jì)功能-實(shí)現(xiàn)功能’的迭代完成項(xiàng)目開(kāi)發(fā)”。此處的“功能”是指“用戶眼中最小的有用的功能”,它是可理解的、可度量的,并且可以在有限的時(shí)間內(nèi)(兩周)實(shí)現(xiàn)。在開(kāi)發(fā)過(guò)程中,開(kāi)發(fā)計(jì)劃的制定、報(bào)告的生成、開(kāi)發(fā)進(jìn)度的跟蹤均是以上述“功能”為單位進(jìn)行的。在FDD中,它認(rèn)為:只有良好定義的并且簡(jiǎn)單的過(guò)程才能被很好地執(zhí)行。另外,由于在FDD中采用了短周期的迭代,最小化的功能劃分法,所以可以對(duì)項(xiàng)目的開(kāi)發(fā)進(jìn)程進(jìn)行精確及時(shí)地監(jiān)控。

          FDD的使用需要有相應(yīng)工具的支持,Peter Coad等人開(kāi)發(fā)出了一套擴(kuò)展的UMLFDD UML Extensions),并在Together中實(shí)現(xiàn)有關(guān)的功能,詳細(xì)內(nèi)容可參見(jiàn)后文。

          FDD中,存在“主要功能集”、“功能集”、“功能”等概念,它們之間的關(guān)系及示例如下所示:

          主要功能集 = 功能集1 + 功能集2 + …

          功能集 = 功能1 + 功能2 + …

          其中,主要功能集是在初始階段根據(jù)用戶的需求所制定出來(lái)的比較粗的,有待于細(xì)化的對(duì)開(kāi)發(fā)項(xiàng)目所需要功能的描述;功能是在開(kāi)發(fā)過(guò)程細(xì)化的結(jié)果,在每個(gè)迭代期中需要實(shí)現(xiàn)若一干個(gè)功能,這些功能的集合被稱(chēng)之為功能集。

          FDD中,它將開(kāi)發(fā)過(guò)程劃分為如下五個(gè)階段:

          l         制定整體的模型

          l         根據(jù)優(yōu)先級(jí)列出功能的詳細(xì)列表

          l         依據(jù)功能制定計(jì)劃

          l         依據(jù)功能進(jìn)行設(shè)計(jì)

          l         實(shí)現(xiàn)功能

          每個(gè)階段的定義又是通過(guò)被稱(chēng)之為:ETVX的方法從下面四個(gè)方面加以描述的:

          l         EntrySpecify clear and well defined entry criteria for the process

          l         Task:列出所有要實(shí)現(xiàn)的任務(wù)列表,名稱(chēng),是否需要實(shí)現(xiàn),任務(wù)描述;

          l         Verification:;制定對(duì)過(guò)程結(jié)果的評(píng)批標(biāo)準(zhǔn);

          l         eXit:過(guò)程結(jié)束時(shí)所需的結(jié)果;

          FDD過(guò)程示意圖

          FDD中主要存在三類(lèi)人員:主要開(kāi)發(fā)人員、類(lèi)的所有者、功能團(tuán)隊(duì),它們各自的含義如下:

          l         主要開(kāi)發(fā)人員:用于領(lǐng)導(dǎo)其它開(kāi)發(fā)人員進(jìn)行DBF/BBF的開(kāi)發(fā),對(duì)開(kāi)發(fā)工作進(jìn)行監(jiān)督(例如對(duì)設(shè)計(jì)及代碼進(jìn)行審查)。主要開(kāi)發(fā)人員的數(shù)量由項(xiàng)目整體的大小所決定,如果需要加快開(kāi)發(fā)進(jìn)度則可以再培養(yǎng)新的主要開(kāi)發(fā)人員。與其它開(kāi)發(fā)人員相比,主要開(kāi)發(fā)人員具有更高的開(kāi)發(fā)效率。Fred Brooks在幾十年前就提出了:增加開(kāi)發(fā)人員數(shù)量只會(huì)降低開(kāi)發(fā)效率。但對(duì)于小型的,以用戶功能驅(qū)動(dòng)的輕量及的開(kāi)發(fā)過(guò)程此原則并不適用。在此過(guò)程中采用增加人員的方法可以提高開(kāi)發(fā)的并行效率。

          l         類(lèi)的所有者:一個(gè)類(lèi)有且只有一個(gè)所有者,即一個(gè)類(lèi)只能由一名開(kāi)發(fā)人員進(jìn)行設(shè)計(jì)及編碼。采用這種方式是十分有效的,因?yàn)殚_(kāi)發(fā)人員會(huì)感覺(jué)他擁有了部分屬于自已的代碼,他會(huì)以此為榮;此外,它還可以保證相關(guān)代碼的一致性。如果此類(lèi)中包含有復(fù)雜的算法,那么可以再增加一名專(zhuān)門(mén)負(fù)責(zé)算法的開(kāi)發(fā)人員。雖然FDD是面向用戶功能的,而不是面向類(lèi)的,但用戶最終關(guān)心的是那些他們需的功能,而并不關(guān)心在開(kāi)發(fā)時(shí)采用何種框架模式,所以在此以類(lèi)為單位進(jìn)行人員分配與開(kāi)發(fā)的宗旨并不矛盾。

          l         功能團(tuán)隊(duì):開(kāi)發(fā)時(shí)功能會(huì)被分配給主要開(kāi)發(fā)人員,再由主要開(kāi)發(fā)人員根據(jù)實(shí)現(xiàn)此功能所需類(lèi)的所有關(guān)系找到有關(guān)的開(kāi)發(fā)人員從而構(gòu)成一個(gè)臨時(shí)的(最多兩周)的團(tuán)隊(duì)。一名開(kāi)發(fā)人員可以同時(shí)負(fù)責(zé)多個(gè)類(lèi)的開(kāi)發(fā)工作,即他可以在同一時(shí)刻處于多個(gè)功能團(tuán)隊(duì)中。因此在每個(gè)DBF/BBF中功能團(tuán)隊(duì)的人員均可能發(fā)生變化。在此團(tuán)隊(duì)中主要開(kāi)發(fā)人員處于核心地位,團(tuán)隊(duì)內(nèi)部的交流也是經(jīng)及為中心的。采用這種方法可以加速開(kāi)發(fā)進(jìn)度,并且主要開(kāi)發(fā)人員還可以對(duì)過(guò)程進(jìn)行必要的監(jiān)控,保證設(shè)計(jì)與實(shí)現(xiàn)的一致性。從更高的角度來(lái)看,主要的系統(tǒng)設(shè)計(jì)師又負(fù)責(zé)監(jiān)控各功能團(tuán)隊(duì)中的主要開(kāi)發(fā)人員。

          采用FDD方式進(jìn)行開(kāi)發(fā)時(shí),各階段時(shí)間的分配關(guān)系大致如下所示:

          l         Develop an overall model                     10% initial, 4% on-going

          l         Build a features list                             4% initial, 1% on-going

          l         Plan by feature                                          2% initial, 2% on-going

          l         Design by feature, build by feature              77%(兩周一個(gè)迭代期)

          DBF/BBF中各階段時(shí)間分配關(guān)系:

          l         DBF

          2        Walk through the domain              1%

          2        Design                                40%

          2        Inspect the design                3%

          l         BBF

          2        Code/test                             45%

          2        Inspect the code                   10%

          2        Promote to build                   1%

          需要注意的是:上述Coding的過(guò)程中還包含有單元測(cè)試的內(nèi)容。此外單從DBF/BBF的過(guò)程來(lái)看,設(shè)計(jì)所有的時(shí)間要比編碼的時(shí)間長(zhǎng)(40% : 45%),但考慮到FDD的整個(gè)實(shí)施過(guò)程(包括前期的建模過(guò)程),設(shè)計(jì)的時(shí)間還是比編碼的時(shí)間要長(zhǎng)的(45% : 35%)。

          FDD中另一個(gè)重要的,并且也是十分有特色的部分就是它的報(bào)告功能。每周Release經(jīng)理要召開(kāi)一次會(huì)議,會(huì)議一般限定于30分鐘以內(nèi),在會(huì)上每個(gè)主要的開(kāi)發(fā)人員全面地介紹其所做的工作,并標(biāo)識(shí)出相應(yīng)的項(xiàng)目狀態(tài)圖。通過(guò)這種口頭上的交流,可以確保各主要開(kāi)發(fā)人員能對(duì)項(xiàng)目的其它部分有一個(gè)充分的了解。會(huì)后,Release經(jīng)理還要根據(jù)有關(guān)內(nèi)容更新數(shù)據(jù)庫(kù)中的信息并生成相應(yīng)的報(bào)告,這個(gè)報(bào)告將發(fā)送給項(xiàng)目團(tuán)隊(duì)、用戶以及主要的管理人員。

          為跟蹤項(xiàng)目開(kāi)發(fā)狀態(tài)需要使用數(shù)據(jù)庫(kù)對(duì)有關(guān)內(nèi)容加以保存,在數(shù)據(jù)庫(kù)中應(yīng)保存如下信息:

          l         類(lèi)型(問(wèn)題域、人的交互活動(dòng)、系統(tǒng)交互活動(dòng))

          l         標(biāo)識(shí)(功能集前綴+序列號(hào))

          l         狀態(tài)(正在處理、不再需要、正常)

          l         主要功能集

          l         功能集

          l         文檔引用信息

          l         活動(dòng)事件

          l         主要開(kāi)發(fā)人員

          l         問(wèn)題域分析時(shí)的計(jì)劃日期,實(shí)際日期

          l         設(shè)計(jì)時(shí)的計(jì)劃日期,實(shí)際日期

          l         設(shè)計(jì)復(fù)查時(shí)的計(jì)劃日期,實(shí)際日期

          l         編碼時(shí)的計(jì)劃日期,實(shí)際日期

          l         編碼復(fù)查時(shí)的計(jì)劃日期,實(shí)際日期

          l         提交構(gòu)造時(shí)的計(jì)劃日期,實(shí)際日期

          l         備注

          項(xiàng)目計(jì)劃表

          功能詳細(xì)列表

          另外,有關(guān)類(lèi)及類(lèi)的所有者的信息保存在其它的表中。根據(jù)數(shù)據(jù)庫(kù)可自動(dòng)生成有關(guān)報(bào)告。

          項(xiàng)目已完成功能統(tǒng)計(jì)表

          FDD中擴(kuò)展的UML

          FDD 過(guò)程 #1: 開(kāi)發(fā)總體模型

          Entry Criteria:

          客戶已準(zhǔn)備好建立一個(gè)系統(tǒng)。他已經(jīng)有采用某種形式保存的需求列表。此時(shí)用戶可能還不能完全分清楚什么是他“必面要的”,什么是他“想要的,最好有的”,但這沒(méi)有關(guān)系。

          Tasks:

          組建建模團(tuán)隊(duì)

          項(xiàng)目管理

          必須

          建模團(tuán)隊(duì)是由來(lái)自于領(lǐng)域以及開(kāi)發(fā)方面的永久性人員組成。在建模的過(guò)程中也可以從其它項(xiàng)目中人員以便有更多的人可以參與并對(duì)模型進(jìn)行評(píng)估。

          領(lǐng)域分析

          建模團(tuán)隊(duì)

          必須

          領(lǐng)域?qū)<覍?duì)問(wèn)題域進(jìn)行介紹,此過(guò)程可能是20分鐘也可能是幾個(gè)小時(shí),需根據(jù)具體的問(wèn)題域情況決定。在介紹時(shí)所涉及的內(nèi)容應(yīng)比問(wèn)題域稍大一些。

          學(xué)習(xí)資料

          建模團(tuán)隊(duì)

          可選

          學(xué)習(xí)各種資料,包括:組件模型、傳統(tǒng)的或者是采用use-case方式描述的功能需求書(shū)、數(shù)據(jù)模型以及用記手冊(cè)。

          生成非正式的功能列表

          系統(tǒng)設(shè)計(jì)師 主要程序員

          必須

          建模團(tuán)隊(duì)生成非正式的功能列表,至于具體的細(xì)化和完善留到下一階段進(jìn)行。如果需要的話,應(yīng)將有關(guān)的參考資料一并注明。

          開(kāi)發(fā)子模型

          劃分為小組形式的建模團(tuán)隊(duì)

          必須

          系統(tǒng)設(shè)計(jì)師提出最初的組件或者是入手點(diǎn)。根據(jù)對(duì)問(wèn)題域的理解,小組使用原型及組件創(chuàng)建出類(lèi)圖。創(chuàng)建過(guò)程如下:首要關(guān)心的是類(lèi)以及它們之間的關(guān)系,然后是類(lèi)所包含的函數(shù),最后才是類(lèi)所具有的屬性。在尋找類(lèi)的函數(shù)的過(guò)程中可以參考對(duì)問(wèn)題域的理解,最初的功能列表,以及原型中所建議的函數(shù)等方法。同時(shí)還需要生成一個(gè)或多個(gè)非正式的序列圖。

          開(kāi)發(fā)模型

          系統(tǒng)設(shè)計(jì)師 建模團(tuán)隊(duì)

          必須

           

          記錄候選模型

          系統(tǒng)設(shè)計(jì)師 主要程序員

          必須

          記錄員(可以由團(tuán)隊(duì)人員分別擔(dān)任)記錄下來(lái)工作中所評(píng)估過(guò)的比較重要的但未被采用的模型,以便于將來(lái)在項(xiàng)目中參考。

          Verification:

          內(nèi)部及外部的評(píng)審

          建模團(tuán)隊(duì)

          必須

          參與此項(xiàng)目的領(lǐng)域?qū)<疫M(jìn)行內(nèi)部自評(píng),外部評(píng)審是必須的,以便判斷對(duì)問(wèn)題域的理解是否正確,功能是否是必須的,范圍是否合理。

          Exit:

          結(jié)束過(guò)程時(shí),團(tuán)隊(duì)必須提交如下內(nèi)容,并且這些內(nèi)容已經(jīng)過(guò)開(kāi)發(fā)經(jīng)理以及系統(tǒng)設(shè)計(jì)師的審閱及批準(zhǔn):

          -          類(lèi)圖,包括:類(lèi)、類(lèi)間關(guān)系、類(lèi)的函數(shù)以及屬性。類(lèi)及類(lèi)間關(guān)系建立起了模型的大致輪廓。根據(jù)最初的功能有列表以及非正式的序列圖而來(lái)的函數(shù)展現(xiàn)出系統(tǒng)的功能,并且是后續(xù)開(kāi)發(fā)過(guò)程中建立詳細(xì)功能列表的前提。此外還應(yīng)有非正式的序列圖。

          -          非正式的功能列表。

          -          其它可供選擇的模型信息。


          FDD 過(guò)程 #2: 創(chuàng)建功能列表

          在此階段,團(tuán)隊(duì)標(biāo)識(shí)出所有的功能,對(duì)其加以分組,為其設(shè)定優(yōu)先級(jí),并設(shè)置相應(yīng)的權(quán)重。

          在下面的活動(dòng)中,小組工作的重點(diǎn)在于功能,因此領(lǐng)域?qū)<铱梢圆辉傩枰?/SPAN>

          Entry Criteria:

          建模團(tuán)隊(duì)已成功地完成了FDD第一階段的工作,開(kāi)發(fā)出了系統(tǒng)的整體模型。

          Tasks:

          組建功能列表團(tuán)隊(duì)

          項(xiàng)目經(jīng)理 開(kāi)發(fā)經(jīng)理

          必須

          功能列表團(tuán)隊(duì)是由來(lái)自于領(lǐng)域?qū)<乙约伴_(kāi)發(fā)方面的固定人員構(gòu)成的。

          標(biāo)識(shí)功能 創(chuàng)建功能集

          功能列表團(tuán)隊(duì)

          必須

          團(tuán)隊(duì)首先從上一階段得到的非正式的功能列表入手,接著:

          -          將模型中的函數(shù)轉(zhuǎn)換為功能

          -          將模型中的moment-intervals轉(zhuǎn)換為功能集(并將功能集再組織成主功能集),頭腦風(fēng)暴,選擇,添加功能以便實(shí)現(xiàn)用戶所要的以及所想的。

          在此采用下述格式進(jìn)行描述:

          -          針對(duì)功能: <action>the<result><by | for | of | to>a(n)<object>

          -          針對(duì)功能集:<action><-ing>a(n)<object>

          -          針對(duì)主功能集:<object>management

          此處的object可以指一個(gè)人、一個(gè)地點(diǎn)或者一件事(包括:角色、某一時(shí)刻、某一時(shí)間段或者是描述)

          為功能集以及功能設(shè)置優(yōu)先級(jí)

          功能列表團(tuán)隊(duì)

          必須

          通過(guò)“Feature Board”為功能集以及功能設(shè)置優(yōu)先級(jí)。優(yōu)先級(jí)的劃分:A(必須實(shí)現(xiàn)),B(最好能實(shí)現(xiàn)),C(如果可能則實(shí)現(xiàn)),D(以后再實(shí)現(xiàn))。設(shè)置時(shí)是依據(jù)用戶的滿意程序所定的。

          分解復(fù)雜功能

          功能列表團(tuán)隊(duì)

          必須

          在系統(tǒng)設(shè)計(jì)師的帶領(lǐng)下開(kāi)發(fā)人員對(duì)功能進(jìn)行查開(kāi),以便找到那些無(wú)法在兩周之內(nèi)完成的功能,對(duì)此類(lèi)功能應(yīng)將其細(xì)分為更小的功能或步驟。

          Verification:

          內(nèi)部及外部的評(píng)審

          功能列表團(tuán)隊(duì)

          必須

          參與此項(xiàng)目的領(lǐng)域?qū)<疫M(jìn)行內(nèi)部自評(píng),外部評(píng)審是必須的,以便判斷對(duì)問(wèn)題域的理解是否正確,功能是否是必須的,范圍是否合理。

          Exit Criteria:

              本階段結(jié)束時(shí),詳細(xì)的功能列表必需已經(jīng)產(chǎn)生了,并且將功能進(jìn)行分組形成主功能集以及功能集,此外這些內(nèi)容已經(jīng)過(guò)開(kāi)發(fā)經(jīng)理以及系統(tǒng)設(shè)計(jì)師的審閱及批準(zhǔn)。


          FDD 過(guò)程 #3: 根據(jù)功能制定計(jì)劃

          根據(jù)已制定的層次化的、具有優(yōu)先級(jí)以及權(quán)重的功能列表,項(xiàng)目經(jīng)理、開(kāi)發(fā)經(jīng)理以及主要開(kāi)發(fā)人員一起制定出DBF/BBF階段的里程碑。

          Entry Criteria:

          功能列表團(tuán)隊(duì)已成功地完成了FDD第二階段的工作,并已形成詳細(xì)的功能列表。

          Tasks:

          計(jì)劃制定團(tuán)隊(duì)

          項(xiàng)目經(jīng)理

          必須

          計(jì)劃制定團(tuán)隊(duì)由項(xiàng)目經(jīng)理、開(kāi)發(fā)經(jīng)理以及主要開(kāi)發(fā)人員給成。

          制定功能以及功能集的開(kāi)發(fā)順序

          計(jì)劃制定團(tuán)隊(duì)

          必須

          計(jì)劃制定團(tuán)隊(duì)設(shè)置開(kāi)發(fā)的先后順序,并制定出最初的針對(duì)功能集或者主要功能集的完成日期。

          為類(lèi)指定實(shí)現(xiàn)人

          計(jì)劃制定團(tuán)隊(duì)

          必須

          根據(jù)開(kāi)發(fā)順序以及功能的重要性為每個(gè)類(lèi)指定特定的實(shí)現(xiàn)人。

          為主要功能集以及功能集指定相應(yīng)負(fù)責(zé)的主要設(shè)計(jì)人員

          計(jì)劃制定團(tuán)隊(duì)

          必須

          根據(jù)開(kāi)發(fā)順序以及功能的重要性為每個(gè)主要功能集或者是功能集指定相應(yīng)負(fù)責(zé)的主要開(kāi)發(fā)人員。

          Verification:

          內(nèi)部及外部的評(píng)審

          計(jì)劃制定團(tuán)隊(duì)

          必須

          參與此項(xiàng)目的計(jì)劃制定人員進(jìn)行內(nèi)部自評(píng),外部評(píng)審是必須的,并且是由更高一級(jí)的管理人員進(jìn)行。采用“由頂向下”的方式讓所有的開(kāi)發(fā)人員均對(duì)此計(jì)劃進(jìn)行評(píng)估。通常一些開(kāi)發(fā)人員由于過(guò)分保守會(huì)希望延長(zhǎng)開(kāi)發(fā)時(shí)間。但另一方面,項(xiàng)目經(jīng)理或者是開(kāi)發(fā)組長(zhǎng)又會(huì)覺(jué)得“每個(gè)人都具有與我相同的能力”從而認(rèn)為可以提前完成開(kāi)發(fā)。在此應(yīng)進(jìn)行相應(yīng)的平衡。

          Exit Criteria:

          本階段結(jié)束時(shí),開(kāi)發(fā)計(jì)劃已經(jīng)產(chǎn)生了,并且這些內(nèi)容已經(jīng)過(guò)開(kāi)發(fā)經(jīng)理以及主要設(shè)計(jì)師的審閱及批準(zhǔn)。計(jì)劃中應(yīng)包括以下內(nèi)容:

          -          一個(gè)整體的開(kāi)發(fā)日期

          -          針對(duì)每個(gè)主要功能集、功能集、功能指定有關(guān)負(fù)責(zé)人(CP)以及完成時(shí)間

          -          針對(duì)每個(gè)類(lèi),指定負(fù)責(zé)其完成的開(kāi)發(fā)人

          注意:

              為便于為功能設(shè)置優(yōu)先級(jí),可以創(chuàng)建一個(gè)稱(chēng)之為FFB(待實(shí)現(xiàn)功能板)。


          FDD 過(guò)程 #4: 根據(jù)功能進(jìn)行設(shè)計(jì)(DBF)

          根據(jù)已制定的層次化的、具有優(yōu)先級(jí)以及權(quán)重的功能列表,項(xiàng)目經(jīng)理、開(kāi)發(fā)經(jīng)理以及主要開(kāi)發(fā)人員一起制定出DBF/BBF階段的里程碑。

          Entry Criteria:

          計(jì)劃制定團(tuán)隊(duì)已成功地完成了FDD第三階段的工作。

          Tasks:

          組建DBF團(tuán)隊(duì)

          主要程序員

          必須

          主要開(kāi)發(fā)人員從已有的類(lèi)中找與可能與特點(diǎn)功能有關(guān)的類(lèi),然后找到負(fù)責(zé)實(shí)現(xiàn)這些類(lèi)的開(kāi)發(fā)人員并將他們組建成功能實(shí)現(xiàn)團(tuán)隊(duì)。開(kāi)始進(jìn)行功能的設(shè)計(jì),如果需要的話,還可以請(qǐng)領(lǐng)域?qū)<壹尤搿?/SPAN>

          問(wèn)題域?qū)W習(xí)

          功能實(shí)現(xiàn)團(tuán)隊(duì) 領(lǐng)域?qū)<?/SPAN>

          可選

          (本步驟是可選的,主要依賴(lài)于功能的復(fù)雜性而定)領(lǐng)域?qū)<覍?duì)問(wèn)題域進(jìn)行一個(gè)一般性的介紹,他只介紹與功能有關(guān)的內(nèi)容,但這并不是為理解與功能有關(guān)的上下文所必須的工作。

          學(xué)習(xí)有關(guān)參考資料

          功能實(shí)現(xiàn)團(tuán)隊(duì)

          可選

          (本步驟是可選的,主要依賴(lài)于功能的復(fù)雜性而定)根據(jù)功能列表中所列的參考書(shū)目以及其它的可拿到的資料,功能實(shí)現(xiàn)團(tuán)隊(duì)的成員進(jìn)行學(xué)習(xí),以便獲得與功能相關(guān)的詳細(xì)的信息。

          創(chuàng)建序列圖

          功能實(shí)現(xiàn)團(tuán)隊(duì)

          必須

          根據(jù)對(duì)功能的理解以及原有的非正式的序列圖和組件,功能實(shí)現(xiàn)團(tuán)隊(duì)創(chuàng)建一正式的,詳細(xì)的序列圖。同時(shí)應(yīng)記錄下可選擇的其它方案、決定以及注釋。主要的開(kāi)發(fā)人員將序列圖添加至項(xiàng)目模型中(同時(shí)也要更新相應(yīng)的類(lèi)圖)。

          實(shí)現(xiàn)類(lèi)及其方法的原型

          功能實(shí)現(xiàn)團(tuán)隊(duì)

          必須

          每位類(lèi)的實(shí)現(xiàn)人員根據(jù)序列圖更新有關(guān)類(lèi)及類(lèi)中的方法,這包括:方法的參數(shù)、返回值、錯(cuò)誤處理以及消息的發(fā)送。

          設(shè)計(jì)復(fù)查

          功能實(shí)現(xiàn)團(tuán)隊(duì)

          必須

          功能實(shí)現(xiàn)團(tuán)隊(duì)完成對(duì)設(shè)計(jì)的復(fù)查。如果主要開(kāi)發(fā)人員認(rèn)為有關(guān)功能的設(shè)計(jì)比較復(fù)雜并對(duì)其有所擔(dān)心的話,他可以從別的地方請(qǐng)若干人員一起進(jìn)行復(fù)查。

          記錄設(shè)計(jì)復(fù)查活動(dòng)

          文檔人員

          必須

          團(tuán)隊(duì)中的文檔人員針對(duì)類(lèi)的實(shí)現(xiàn)人按順序?qū)⒂嘘P(guān)設(shè)計(jì)復(fù)查的活動(dòng)記錄下來(lái)。

          Verification:

          設(shè)計(jì)復(fù)查

          功能實(shí)現(xiàn)團(tuán)隊(duì)

          必須

          功能設(shè)計(jì)團(tuán)隊(duì)通過(guò)對(duì)序列圖的“走查“實(shí)現(xiàn)內(nèi)部的復(fù)查。外部評(píng)審是必須的,以確保存有關(guān)功能均以實(shí)現(xiàn)。

          Exit Criteria:

          本階段結(jié)束時(shí),應(yīng)已完成如下工作,并且這些工作已經(jīng)過(guò)主要設(shè)計(jì)師的審閱及批準(zhǔn)。計(jì)劃中應(yīng)包括以下內(nèi)容:

          -          功能及其相關(guān)參考資料(如果有的話)

          -          詳細(xì)的序列圖

          -          更新后的類(lèi)圖

          -          更新后的類(lèi)及其方法原型

          -          開(kāi)發(fā)團(tuán)隊(duì)認(rèn)為有價(jià)值的其它實(shí)現(xiàn)方案


          FDD 過(guò)程 #5: 根據(jù)功能進(jìn)行設(shè)計(jì)(BBF)

          DBF工作的基礎(chǔ)上,每個(gè)類(lèi)的實(shí)現(xiàn)者完成類(lèi)的各個(gè)方法。此外他還需完善基于類(lèi)的測(cè)試方案并實(shí)現(xiàn)類(lèi)一級(jí)的單元測(cè)試。根據(jù)主要開(kāi)發(fā)人員的意見(jiàn),功能實(shí)現(xiàn)團(tuán)隊(duì)可能還需在進(jìn)行單元測(cè)試之前先進(jìn)行源代碼檢查。當(dāng)代碼編寫(xiě)并檢查后開(kāi)發(fā)人員就將其放入配置管理系統(tǒng)中。在所有的類(lèi)均已完成并Check-In之后,主要開(kāi)發(fā)人員將代碼提升以便進(jìn)行構(gòu)造。

          Entry Criteria:

          功能實(shí)現(xiàn)團(tuán)隊(duì)已成功地完成了FDD第四階段的工作。

          Tasks:

          實(shí)現(xiàn)類(lèi)及其方法

          功能實(shí)現(xiàn)團(tuán)隊(duì)

          必須

          根據(jù)DBF中的詳細(xì)的序列圖類(lèi)的實(shí)現(xiàn)人員完成類(lèi)的方法的實(shí)現(xiàn)。此外他也要為測(cè)試實(shí)現(xiàn)有關(guān)的測(cè)試方法。主要開(kāi)發(fā)人員則需添加針對(duì)功能的測(cè)試方法。

          代碼檢查

          功能實(shí)現(xiàn)團(tuán)隊(duì)

          必須

          主要開(kāi)發(fā)人員負(fù)責(zé)安排一次針對(duì)BBF的代碼檢查,檢查可以在單元測(cè)試之前也可以在其后。一般檢查是由功能實(shí)現(xiàn)團(tuán)隊(duì)成員加以完成的,如果主要開(kāi)發(fā)人員認(rèn)為需要的話,也可以請(qǐng)團(tuán)隊(duì)以外的人進(jìn)行檢查。

          代碼檢查記錄

          文檔人員

          必須

          團(tuán)隊(duì)中的文檔人員針對(duì)每個(gè)類(lèi)的實(shí)現(xiàn)人將有關(guān)的代碼檢查活動(dòng)記錄下來(lái)。

          單元測(cè)試

          功能實(shí)現(xiàn)團(tuán)隊(duì)

          必須

          每個(gè)類(lèi)的實(shí)現(xiàn)人員均需測(cè)試相應(yīng)的類(lèi)的代碼以及此類(lèi)所支持的功能。作為所有功能的集成者,主要開(kāi)發(fā)人員對(duì)整個(gè)功能進(jìn)行測(cè)試。

          Check-In代碼并對(duì)其進(jìn)行構(gòu)造

          功能實(shí)現(xiàn)團(tuán)隊(duì)

          必須

          代碼一旦編寫(xiě)完成并經(jīng)過(guò)檢查和測(cè)試,類(lèi)的實(shí)現(xiàn)人就可以將其放入配置管理系統(tǒng)中。當(dāng)所有的類(lèi)均已完成Check-In并且可以正常工作時(shí),主要開(kāi)發(fā)人員將提升代碼以便進(jìn)行構(gòu)造,同時(shí)更新在功能列表中的有關(guān)功能的狀態(tài)信息。

          Verification:

          代碼檢查及單元測(cè)試

          功能實(shí)現(xiàn)團(tuán)隊(duì)

          必須

          功能實(shí)現(xiàn)團(tuán)隊(duì)必須進(jìn)行代碼檢查。文檔人員應(yīng)記錄有關(guān)活動(dòng)。

          Exit Criteria:

          本階段結(jié)束時(shí),應(yīng)已完成如下工作,并且這些工作已經(jīng)過(guò)主要設(shè)計(jì)師的審閱及批準(zhǔn)。計(jì)劃中應(yīng)包括以下內(nèi)容:

          -          實(shí)現(xiàn)了類(lèi)的方法并對(duì)代碼進(jìn)行了檢查和單元測(cè)試

          -          按順序針對(duì)每個(gè)類(lèi)的方法的單元測(cè)試記錄

          -          類(lèi)已被開(kāi)發(fā)人員Check-In,主要開(kāi)發(fā)人員已提升代碼進(jìn)行構(gòu)造并同步更新功能狀態(tài)。

          posted on 2005-06-10 18:07 笨笨 閱讀(826) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): ALL軟件工程和項(xiàng)目管理UML與RUP
          主站蜘蛛池模板: 高碑店市| 元朗区| 专栏| 句容市| 吉林省| 华宁县| 湄潭县| 吴堡县| 曲松县| 台湾省| 德江县| 赤峰市| 马关县| 秀山| 科尔| 舞钢市| 东宁县| 逊克县| 阿鲁科尔沁旗| 周至县| 莒南县| 襄汾县| 深圳市| 准格尔旗| 剑阁县| 罗平县| 西贡区| 丹阳市| 永城市| 丹巴县| 尼玛县| 榕江县| 黄陵县| 遵义县| 江孜县| 名山县| 三穗县| 廉江市| 长宁区| 赤城县| 甘孜县|