當(dāng)軟件構(gòu)件庫(kù)足夠豐富,軟件開發(fā)將會(huì)邁入基于構(gòu)件的開發(fā)過程。 基于構(gòu)件的軟件開發(fā)過程,不等同于基于構(gòu)件的軟件開發(fā)(即將現(xiàn)有的構(gòu)件組裝成軟件系統(tǒng)),基于構(gòu)件的軟件開發(fā)只是基于構(gòu)件的軟件開發(fā)過程的一個(gè)重要方面(即實(shí)現(xiàn)過程),而基于構(gòu)件的軟件開發(fā)過程,是以構(gòu)件為中心的思想來指導(dǎo)軟件生命周期的各個(gè)階段,不僅包括需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試和維護(hù)等工程活動(dòng),也包括項(xiàng)目管理活動(dòng)。
基于構(gòu)件的軟件開發(fā)過程的需求分析要完成以下任務(wù):確定領(lǐng)域需求,劃分業(yè)務(wù)構(gòu)件。 在需求分析階段,我們通過對(duì)領(lǐng)域需求的挖掘、分析和確認(rèn)等活動(dòng),明確軟件應(yīng)實(shí)現(xiàn)的功能,并按照一定的規(guī)則(如模塊化)將其分配到不同的業(yè)務(wù)構(gòu)件,形成基于構(gòu)件的業(yè)務(wù)模型。
基于構(gòu)件的軟件開發(fā)過程的設(shè)計(jì)要完成以下任務(wù):確定系統(tǒng)架構(gòu),劃分服務(wù)構(gòu)件。 在設(shè)計(jì)階段,我們需要進(jìn)行系統(tǒng)設(shè)計(jì),將上一階段獲得的業(yè)務(wù)構(gòu)件按照設(shè)計(jì)原則有機(jī)地組織起來,再結(jié)合表示層和邏輯層等的服務(wù)構(gòu)件,形成具有健壯性、可靠性和可擴(kuò)展的軟件架構(gòu)。
基于構(gòu)件的軟件開發(fā)過程的實(shí)現(xiàn)要完成以下任務(wù):創(chuàng)建新的構(gòu)件或獲取已有構(gòu)件,按照系統(tǒng)架構(gòu)組裝軟件系統(tǒng)。 在實(shí)現(xiàn)階段,我們需要獲得設(shè)計(jì)過程中組成軟件的業(yè)務(wù)構(gòu)件和服務(wù)構(gòu)件,并且實(shí)現(xiàn)構(gòu)件間的相互調(diào)用。獲得構(gòu)件的方式是通過檢索組織的構(gòu)件庫(kù)下載使用所需要的構(gòu)件。如果構(gòu)件庫(kù)中沒有所需的構(gòu)件,就需要把它開發(fā)出來。如果構(gòu)件只能部分復(fù)用,就需要對(duì)構(gòu)件進(jìn)行適應(yīng)性修改。
基于構(gòu)件的軟件開發(fā)過程的測(cè)試要完成以下任務(wù):測(cè)試新開發(fā)的服務(wù)構(gòu)件和業(yè)務(wù)構(gòu)件,以及它們之間的接口,測(cè)試整個(gè)軟件的功能、性能和外部接口。 在測(cè)試階段也是基于構(gòu)件進(jìn)行的。新的構(gòu)件需要進(jìn)行功能和接口測(cè)試,而構(gòu)件庫(kù)中獲取的構(gòu)件不需要對(duì)其自身進(jìn)行測(cè)試,而只需要對(duì)它的外部接口進(jìn)行測(cè)試。除此之外,測(cè)試階段要完成整個(gè)軟件的系統(tǒng)測(cè)試。
基于構(gòu)件的軟件開發(fā)過程的維護(hù)要完成以下任務(wù):更新、替換已有構(gòu)件。 在維護(hù)階段,我們也只需要針對(duì)要維護(hù)的構(gòu)件進(jìn)行維護(hù)活動(dòng),即通過更新、替換相關(guān)構(gòu)件來完成維護(hù)。
構(gòu)件既是軟件開發(fā)工程活動(dòng)的產(chǎn)物,同時(shí)它也為項(xiàng)目計(jì)劃與分工提供了良好的支持。
計(jì)劃是通過對(duì)軟件規(guī)模、工作量以及資源的估計(jì)結(jié)果制定的,原來的規(guī)模估計(jì)是基于模塊進(jìn)行的,基于構(gòu)件的開發(fā)過程則是基于構(gòu)件進(jìn)行的——如果構(gòu)件是可重用的,那么不需要開發(fā)構(gòu)件,只需要實(shí)現(xiàn)構(gòu)件的調(diào)用,而且不需要對(duì)構(gòu)件進(jìn)行測(cè)試,只需要進(jìn)行集成測(cè)試;如果構(gòu)件是新開發(fā)的,則要估計(jì)構(gòu)件的大小、開發(fā)的工作量、構(gòu)件測(cè)試的工作量。
在基于構(gòu)件的開發(fā)中,開發(fā)人員可以分為構(gòu)件開發(fā)者和組裝者。構(gòu)件開發(fā)者負(fù)責(zé)新構(gòu)件的開發(fā),組裝者負(fù)責(zé)構(gòu)件的組裝和調(diào)用。
在項(xiàng)目的度量上,也同樣按照構(gòu)件劃分。比如,通過測(cè)量構(gòu)件的生產(chǎn)率來測(cè)算項(xiàng)目的生產(chǎn)率。 總之,基于構(gòu)件的軟件開發(fā)過程是以構(gòu)件為中心來進(jìn)行軟件開發(fā)的工程活動(dòng)和管理活動(dòng)。 這正是: 構(gòu)件開發(fā)什么樣,構(gòu)件核心不要忘 無論何種活動(dòng)中,適用軟件全生命 參考書目:軟件構(gòu)件技術(shù),作者:夏榆濱,出版社:清華大學(xué)出版社 |
|