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