DSDM過(guò)程
DSDM開(kāi)發(fā)過(guò)程被形象的稱(chēng)做“三張比薩和一塊奶酪”
DSDM周期有7個(gè)階段:
1、項(xiàng)目準(zhǔn)備階段;
2、可行性研究階段;
3、業(yè)務(wù)研究階段;
4、功能建模階段(迭代式);
5、系統(tǒng)設(shè)計(jì)編程階段(迭代式);
6、實(shí)施階段;
7、項(xiàng)目后期;
項(xiàng)目準(zhǔn)備階段確保啟動(dòng)、建立正確的項(xiàng)目??尚行匝芯侩A段和業(yè)務(wù)研究階段是順序進(jìn)行的,它們?yōu)楹竺娴牡?、增量式的開(kāi)發(fā)制定了基本規(guī)則。也就是說(shuō),在這兩個(gè)階段的工作充分完成后,才能進(jìn)入后面的迭代階段,而后續(xù)迭代階段具體的迭代方式、迭代周期如何確定、整合,則需要視項(xiàng)目具體情況來(lái)定。比如:有些項(xiàng)目需要首先完成功能建模的全部迭代,然后再進(jìn)入設(shè)計(jì)和編碼階段進(jìn)行迭代,最后進(jìn)入實(shí)施階段,這種方式是順序的,是各階段內(nèi)部獨(dú)立完成迭代;有些項(xiàng)目將功能建模、設(shè)計(jì)和編碼這兩個(gè)階段的每一次相關(guān)的活動(dòng)做為一次迭代,通過(guò)不斷的迭代,完成項(xiàng)目開(kāi)發(fā),最后進(jìn)入項(xiàng)目實(shí)施;有些項(xiàng)目將功能建模、設(shè)計(jì)和編碼、實(shí)施這一個(gè)過(guò)程做為一次迭代,通過(guò)不斷的迭代,不斷的呈現(xiàn)給用戶(hù)滿(mǎn)足他們需求的軟件。因此,DSDM框架是極其靈活性的,在應(yīng)用DSDM之前,必須要定義和評(píng)估使用DSDM的方式,在項(xiàng)目過(guò)程中,也可以隨需而變,進(jìn)行動(dòng)態(tài)調(diào)整,以便能夠更好的支持商業(yè)需求。DSDM“動(dòng)態(tài)系統(tǒng)開(kāi)發(fā)方法”的名稱(chēng)也是由此得來(lái)的吧!哈!^_^
DSDM的可行性研究階段主要側(cè)重評(píng)估DSDM方法是否適用于本項(xiàng)目,我覺(jué)得這一點(diǎn)比較與眾不同,因?yàn)樵诤芏嗟目尚行匝芯拷Y(jié)果中,已經(jīng)把瀑布模型默認(rèn)為軟件開(kāi)發(fā)方法了。在可行性研究階段需要得到一些結(jié)論“該系統(tǒng)技術(shù)上可行嗎?”、“對(duì)當(dāng)前業(yè)務(wù)流程帶來(lái)的影響可接受嗎?”、“DSDM是開(kāi)發(fā)這個(gè)系統(tǒng)的方法嗎?”......必須把這些問(wèn)題弄清楚,以便確定“這樣去做值得嗎?”。然后需要出一份全面的可行性報(bào)告,對(duì)于風(fēng)險(xiǎn)很高的方面,還需要提供如何應(yīng)對(duì)、控制風(fēng)險(xiǎn)的策略。除了可行性報(bào)告之外,還需要提供開(kāi)發(fā)的框架計(jì)劃(outline plan),證明預(yù)期的結(jié)果是可實(shí)現(xiàn)的;另外,也可以提供一個(gè)快速原型,目的是證明項(xiàng)目從技術(shù)上是可行的。當(dāng)然,如果對(duì)業(yè)務(wù)已經(jīng)有了一定程度理解,相應(yīng)的技術(shù)也已經(jīng)用過(guò),那么生成原型的價(jià)值也不大,可以不需要。DSDM的哲學(xué)就是:“足夠就好,無(wú)需過(guò)多!”。
業(yè)務(wù)研究階段主要是對(duì)業(yè)務(wù)流程進(jìn)行分析和定義。首先需要開(kāi)展一系列的討論會(huì),對(duì)業(yè)務(wù)流程及其相關(guān)信息、用戶(hù)群進(jìn)行定義,這些定義的結(jié)果被稱(chēng)做業(yè)務(wù)區(qū)定義,經(jīng)過(guò)管理層同意后,需要從使用業(yè)務(wù)的用戶(hù)群中選出代表參與到開(kāi)發(fā)過(guò)程中。進(jìn)行業(yè)務(wù)區(qū)定義時(shí),可以采用結(jié)構(gòu)化分析方法,定義主要的數(shù)據(jù)流程圖;也可以采用面向?qū)ο蟮姆椒?,定義重要的用戶(hù)用例。對(duì)于業(yè)務(wù)區(qū)定義的功能,必須區(qū)分出是功能性需求還是非功能性需求并且劃分優(yōu)先級(jí),因?yàn)镈SDM是以業(yè)務(wù)為導(dǎo)向的,所有制定優(yōu)先級(jí)的原則也必須要以業(yè)務(wù)為導(dǎo)向,但是也需要從技術(shù)實(shí)現(xiàn)需要的角度來(lái)考慮,把技術(shù)上要求先實(shí)現(xiàn)的功能做為高優(yōu)先級(jí)。這樣就可以清晰的理解需要開(kāi)發(fā)的功能和它們實(shí)現(xiàn)的優(yōu)先級(jí),從而引導(dǎo)我們對(duì)系統(tǒng)架構(gòu)的定義,系統(tǒng)架構(gòu)定義實(shí)際上定義了軟件開(kāi)發(fā)、運(yùn)行的平臺(tái),軟件模塊和接口的結(jié)構(gòu)。最后,根據(jù)可行性研究階段的開(kāi)發(fā)框架計(jì)劃和業(yè)務(wù)區(qū)定義可以制定出開(kāi)發(fā)計(jì)劃,這個(gè)開(kāi)發(fā)計(jì)劃應(yīng)該包含功能建模階段和設(shè)計(jì)編程階段的開(kāi)發(fā)策略、測(cè)試策略和配置管理計(jì)劃。
功能建模階段主要是深入分析業(yè)務(wù)區(qū)定義的功能并進(jìn)行細(xì)化,在分析模型的基礎(chǔ)上構(gòu)建軟件模塊,將創(chuàng)建的原型交付用戶(hù)評(píng)審,經(jīng)過(guò)用戶(hù)評(píng)審后進(jìn)一步充實(shí)和改進(jìn),這樣經(jīng)過(guò)不斷迭代,原型逐漸演化成可工作的軟件。在功能建模階段,還會(huì)產(chǎn)生以下產(chǎn)物:
1、帶有優(yōu)先級(jí)的功能:隨著業(yè)務(wù)的細(xì)化,業(yè)務(wù)研究階段定義的優(yōu)先級(jí)需要調(diào)整,從而保證本次迭代中包含用戶(hù)最需要的核心功能。
2、功能性原型的評(píng)審文檔:用戶(hù)每次對(duì)原型評(píng)審時(shí)提出的改進(jìn)建議都需要被記錄下來(lái),并需要根據(jù)這些評(píng)審結(jié)果對(duì)業(yè)務(wù)定義、建模進(jìn)行修正。
3、非功能性需求:在功能建模階段將非功能需要也需要記錄下來(lái)。(但是,這里我就有一個(gè)問(wèn)題一直比較困惑,因?yàn)樵谇捌诮kA段,主要注重了對(duì)業(yè)務(wù)流程的分析建模,和對(duì)高優(yōu)先級(jí)需求的原型實(shí)現(xiàn),倡導(dǎo)快速實(shí)現(xiàn)、交付用戶(hù)評(píng)審,因此,這個(gè)過(guò)程一直注重功能性需求,對(duì)于性能方面關(guān)注不多,因?yàn)闊o(wú)法從全局考慮、并更深入的考慮 到整個(gè)系統(tǒng)的性能瓶頸,特別是前期架構(gòu)設(shè)計(jì)若存在缺陷將導(dǎo)致后期出現(xiàn)性能隱患,這是很難解決的;另外,若前期迭代功能與后期迭代關(guān)聯(lián)功能存在性能制約,也存在一定風(fēng)險(xiǎn)。因此,我覺(jué)得在這一階段,進(jìn)行建模時(shí)也必須要考慮到各種可能的性能需求的技術(shù)實(shí)現(xiàn),并且也需要制定優(yōu)先級(jí),在不同的迭代中處理必要的性能需求。)
DSDM開(kāi)發(fā)過(guò)程被形象的稱(chēng)做“三張比薩和一塊奶酪”
DSDM周期有7個(gè)階段:
1、項(xiàng)目準(zhǔn)備階段;
2、可行性研究階段;
3、業(yè)務(wù)研究階段;
4、功能建模階段(迭代式);
5、系統(tǒng)設(shè)計(jì)編程階段(迭代式);
6、實(shí)施階段;
7、項(xiàng)目后期;
項(xiàng)目準(zhǔn)備階段確保啟動(dòng)、建立正確的項(xiàng)目??尚行匝芯侩A段和業(yè)務(wù)研究階段是順序進(jìn)行的,它們?yōu)楹竺娴牡?、增量式的開(kāi)發(fā)制定了基本規(guī)則。也就是說(shuō),在這兩個(gè)階段的工作充分完成后,才能進(jìn)入后面的迭代階段,而后續(xù)迭代階段具體的迭代方式、迭代周期如何確定、整合,則需要視項(xiàng)目具體情況來(lái)定。比如:有些項(xiàng)目需要首先完成功能建模的全部迭代,然后再進(jìn)入設(shè)計(jì)和編碼階段進(jìn)行迭代,最后進(jìn)入實(shí)施階段,這種方式是順序的,是各階段內(nèi)部獨(dú)立完成迭代;有些項(xiàng)目將功能建模、設(shè)計(jì)和編碼這兩個(gè)階段的每一次相關(guān)的活動(dòng)做為一次迭代,通過(guò)不斷的迭代,完成項(xiàng)目開(kāi)發(fā),最后進(jìn)入項(xiàng)目實(shí)施;有些項(xiàng)目將功能建模、設(shè)計(jì)和編碼、實(shí)施這一個(gè)過(guò)程做為一次迭代,通過(guò)不斷的迭代,不斷的呈現(xiàn)給用戶(hù)滿(mǎn)足他們需求的軟件。因此,DSDM框架是極其靈活性的,在應(yīng)用DSDM之前,必須要定義和評(píng)估使用DSDM的方式,在項(xiàng)目過(guò)程中,也可以隨需而變,進(jìn)行動(dòng)態(tài)調(diào)整,以便能夠更好的支持商業(yè)需求。DSDM“動(dòng)態(tài)系統(tǒng)開(kāi)發(fā)方法”的名稱(chēng)也是由此得來(lái)的吧!哈!^_^
DSDM的可行性研究階段主要側(cè)重評(píng)估DSDM方法是否適用于本項(xiàng)目,我覺(jué)得這一點(diǎn)比較與眾不同,因?yàn)樵诤芏嗟目尚行匝芯拷Y(jié)果中,已經(jīng)把瀑布模型默認(rèn)為軟件開(kāi)發(fā)方法了。在可行性研究階段需要得到一些結(jié)論“該系統(tǒng)技術(shù)上可行嗎?”、“對(duì)當(dāng)前業(yè)務(wù)流程帶來(lái)的影響可接受嗎?”、“DSDM是開(kāi)發(fā)這個(gè)系統(tǒng)的方法嗎?”......必須把這些問(wèn)題弄清楚,以便確定“這樣去做值得嗎?”。然后需要出一份全面的可行性報(bào)告,對(duì)于風(fēng)險(xiǎn)很高的方面,還需要提供如何應(yīng)對(duì)、控制風(fēng)險(xiǎn)的策略。除了可行性報(bào)告之外,還需要提供開(kāi)發(fā)的框架計(jì)劃(outline plan),證明預(yù)期的結(jié)果是可實(shí)現(xiàn)的;另外,也可以提供一個(gè)快速原型,目的是證明項(xiàng)目從技術(shù)上是可行的。當(dāng)然,如果對(duì)業(yè)務(wù)已經(jīng)有了一定程度理解,相應(yīng)的技術(shù)也已經(jīng)用過(guò),那么生成原型的價(jià)值也不大,可以不需要。DSDM的哲學(xué)就是:“足夠就好,無(wú)需過(guò)多!”。
業(yè)務(wù)研究階段主要是對(duì)業(yè)務(wù)流程進(jìn)行分析和定義。首先需要開(kāi)展一系列的討論會(huì),對(duì)業(yè)務(wù)流程及其相關(guān)信息、用戶(hù)群進(jìn)行定義,這些定義的結(jié)果被稱(chēng)做業(yè)務(wù)區(qū)定義,經(jīng)過(guò)管理層同意后,需要從使用業(yè)務(wù)的用戶(hù)群中選出代表參與到開(kāi)發(fā)過(guò)程中。進(jìn)行業(yè)務(wù)區(qū)定義時(shí),可以采用結(jié)構(gòu)化分析方法,定義主要的數(shù)據(jù)流程圖;也可以采用面向?qū)ο蟮姆椒?,定義重要的用戶(hù)用例。對(duì)于業(yè)務(wù)區(qū)定義的功能,必須區(qū)分出是功能性需求還是非功能性需求并且劃分優(yōu)先級(jí),因?yàn)镈SDM是以業(yè)務(wù)為導(dǎo)向的,所有制定優(yōu)先級(jí)的原則也必須要以業(yè)務(wù)為導(dǎo)向,但是也需要從技術(shù)實(shí)現(xiàn)需要的角度來(lái)考慮,把技術(shù)上要求先實(shí)現(xiàn)的功能做為高優(yōu)先級(jí)。這樣就可以清晰的理解需要開(kāi)發(fā)的功能和它們實(shí)現(xiàn)的優(yōu)先級(jí),從而引導(dǎo)我們對(duì)系統(tǒng)架構(gòu)的定義,系統(tǒng)架構(gòu)定義實(shí)際上定義了軟件開(kāi)發(fā)、運(yùn)行的平臺(tái),軟件模塊和接口的結(jié)構(gòu)。最后,根據(jù)可行性研究階段的開(kāi)發(fā)框架計(jì)劃和業(yè)務(wù)區(qū)定義可以制定出開(kāi)發(fā)計(jì)劃,這個(gè)開(kāi)發(fā)計(jì)劃應(yīng)該包含功能建模階段和設(shè)計(jì)編程階段的開(kāi)發(fā)策略、測(cè)試策略和配置管理計(jì)劃。
功能建模階段主要是深入分析業(yè)務(wù)區(qū)定義的功能并進(jìn)行細(xì)化,在分析模型的基礎(chǔ)上構(gòu)建軟件模塊,將創(chuàng)建的原型交付用戶(hù)評(píng)審,經(jīng)過(guò)用戶(hù)評(píng)審后進(jìn)一步充實(shí)和改進(jìn),這樣經(jīng)過(guò)不斷迭代,原型逐漸演化成可工作的軟件。在功能建模階段,還會(huì)產(chǎn)生以下產(chǎn)物:
1、帶有優(yōu)先級(jí)的功能:隨著業(yè)務(wù)的細(xì)化,業(yè)務(wù)研究階段定義的優(yōu)先級(jí)需要調(diào)整,從而保證本次迭代中包含用戶(hù)最需要的核心功能。
2、功能性原型的評(píng)審文檔:用戶(hù)每次對(duì)原型評(píng)審時(shí)提出的改進(jìn)建議都需要被記錄下來(lái),并需要根據(jù)這些評(píng)審結(jié)果對(duì)業(yè)務(wù)定義、建模進(jìn)行修正。
3、非功能性需求:在功能建模階段將非功能需要也需要記錄下來(lái)。(但是,這里我就有一個(gè)問(wèn)題一直比較困惑,因?yàn)樵谇捌诮kA段,主要注重了對(duì)業(yè)務(wù)流程的分析建模,和對(duì)高優(yōu)先級(jí)需求的原型實(shí)現(xiàn),倡導(dǎo)快速實(shí)現(xiàn)、交付用戶(hù)評(píng)審,因此,這個(gè)過(guò)程一直注重功能性需求,對(duì)于性能方面關(guān)注不多,因?yàn)闊o(wú)法從全局考慮、并更深入的考慮 到整個(gè)系統(tǒng)的性能瓶頸,特別是前期架構(gòu)設(shè)計(jì)若存在缺陷將導(dǎo)致后期出現(xiàn)性能隱患,這是很難解決的;另外,若前期迭代功能與后期迭代關(guān)聯(lián)功能存在性能制約,也存在一定風(fēng)險(xiǎn)。因此,我覺(jué)得在這一階段,進(jìn)行建模時(shí)也必須要考慮到各種可能的性能需求的技術(shù)實(shí)現(xiàn),并且也需要制定優(yōu)先級(jí),在不同的迭代中處理必要的性能需求。)