(1)范圍沒有圈定就開始細化
細化工作是由需求分析人員完成的,一般是根據(jù)用戶提出的描述性的、總結(jié)性的短短幾句話去細化的,提取其中的一個個功能,并給出描述(正常執(zhí)行時的描述和意外發(fā)生時的描述)。當細化到一定程度后并開始系統(tǒng)設計時,范圍會發(fā)生變化,那細節(jié)用例的描述可能就有很多要改動。如原來是手工添人的數(shù)據(jù),要改成根據(jù)信息系統(tǒng)計算出來,而原來的一個屬性的描述要變成描述一個實體等。
(2)沒有指定需求的基線
需求的基線是指是否容許需求變更的分界線。隨著項目的進展,需求的基線也在變化。是否容許變更的依據(jù)是合同以及對成本的影響,比如軟件整體結(jié)構(gòu)已經(jīng)設計出來是不容許改變需求范圍的,因為整體結(jié)構(gòu)會對整個項目的進度和成本有初步預算。隨著項目的進展,基線將越定越高(容許的變更將越少),其過程如下:變更請求à比較基線à變更實現(xiàn)。
(3)沒有良好的軟件結(jié)構(gòu)適應變化
組件式的軟件結(jié)構(gòu)就是提供了快速適應需求變化的體系結(jié)構(gòu),數(shù)據(jù)層封裝了數(shù)據(jù)訪間邏輯,業(yè)務層封裝了業(yè)務邏輯,表示層展現(xiàn)用戶表示邏輯。但適應變化必須遵循一些松禍合原則,各層之間還是存在一些聯(lián)系的,設計要力求減少會對接口入口參數(shù)產(chǎn)生變化。如果業(yè)務邏輯封裝好了,則表示層界面上的一些排列或減少信息的要求是很容易適應的。如果接口定義得合理,那么即使業(yè)務流程有變化,也能夠快速適應變化。因此,在成本影響的容許范圍內(nèi)可以降低需求的基線,提高客戶的滿意度。