軟件工作量估算是我們?cè)趯?duì)一個(gè)軟件項(xiàng)目成本估算過程中,在完成軟件規(guī)模估算后需要進(jìn)行的第2項(xiàng)估算工作。在軟件項(xiàng)目工作量估算過程中,我們除了要進(jìn)行風(fēng)險(xiǎn)分析外,還要考慮軟件復(fù)用的程度。
軟件復(fù)用就是將已有的軟件成分用于構(gòu)造新的軟件系統(tǒng)。在現(xiàn)代的軟件開發(fā)過程中,為了提高效率和質(zhì)量,大部分軟件企業(yè)都已將某些通用功能轉(zhuǎn)化為可重用功能,或者開發(fā)組織具備某方面項(xiàng)目的開發(fā)經(jīng)驗(yàn),遺留下了可以復(fù)用的組件,這些情況都可能降低開發(fā)所需的工作量。因此,可以被復(fù)用的軟件成分一般稱作可復(fù)用構(gòu)件,無論對(duì)可復(fù)用構(gòu)件原封不動(dòng)地使用還是作適當(dāng)?shù)男薷暮笤偈褂茫灰怯脕順?gòu)造新軟件,則都可稱作復(fù)用。
軟件復(fù)用不僅僅是對(duì)程序的復(fù)用,它還包括對(duì)軟件生產(chǎn)過程中任何活動(dòng)所產(chǎn)生的制成品的復(fù)用,如項(xiàng)目計(jì)劃、可行性報(bào)告、需求定義、分析模型、設(shè)計(jì)模型、詳細(xì)說明、源程序、測(cè)試用例等等。如果是在一個(gè)系統(tǒng)中多次使用一個(gè)相同的軟件成分,則不稱作復(fù)用,而稱作共享;對(duì)一個(gè)軟件進(jìn)行修改,使它運(yùn)行于新的軟硬件平臺(tái)也不稱作復(fù)用,而稱作軟件移值。
我們?cè)谲浖ぷ髁抗浪氵^程中對(duì)復(fù)用情況的分析原則,可以考慮從系統(tǒng)功能的復(fù)用度入手,結(jié)合功能點(diǎn)方法,對(duì)于每個(gè)邏輯文件的復(fù)用程度給出明確的定義和系數(shù)??梢詰?yīng)用在規(guī)模估算之后,在未調(diào)整規(guī)模的基礎(chǔ)上首先進(jìn)行復(fù)用程度的調(diào)整。
如下表所示,首先可對(duì)復(fù)用程度進(jìn)行分級(jí),并確定不同級(jí)別的復(fù)用程度與規(guī)模估算之間的系數(shù)關(guān)系。例如,將復(fù)用程度分為三級(jí),每個(gè)級(jí)別對(duì)應(yīng)不同的系數(shù)。
開發(fā)組織可以分析系統(tǒng)中不同功能組件的復(fù)用度,利用規(guī)模估算的結(jié)果乘以對(duì)應(yīng)系數(shù)來對(duì)規(guī)模進(jìn)行調(diào)整,從而間接實(shí)現(xiàn)對(duì)工作量的調(diào)整。
如何判斷復(fù)用度,可以根據(jù)企業(yè)的實(shí)際情況出發(fā),定義適合本組織的復(fù)用度:
以下為復(fù)用度定義示例:
對(duì)于ILF:
復(fù)用程度為1(高):現(xiàn)有的產(chǎn)品已經(jīng)處理過這些數(shù)據(jù),且EI/EO/EQ完全達(dá)到或超過需求。
復(fù)用程度為2(中):現(xiàn)有的產(chǎn)品處理過這些數(shù)據(jù),但提供的EI/EO/EQ與需求有一定的差距。
復(fù)用程度為3(低):現(xiàn)有產(chǎn)品沒有處理過類似的數(shù)據(jù)。
對(duì)于EIF:
復(fù)用程度為1(高):現(xiàn)有產(chǎn)品有公開的可調(diào)用的方法與類似接口集成。
復(fù)用程度為2(中):現(xiàn)有產(chǎn)品曾與類似接口集成過,但發(fā)生在編碼級(jí)。
復(fù)用程度為3(低):現(xiàn)有產(chǎn)品從未與類似接口集成過。
從組織實(shí)際應(yīng)用的角度出發(fā),可以定義更多級(jí)別的復(fù)雜度,但需要考慮在判斷復(fù)雜度方面所付出的成本。
以上就是軟件造價(jià)評(píng)估公司中基數(shù)聯(lián)為您帶來的“軟件項(xiàng)目工作量估算之復(fù)用程度分析”所有內(nèi)容,更多軟件開發(fā)成本估算知識(shí)敬請(qǐng)關(guān)注中基數(shù)聯(lián)!