截至2009年,假如從應(yīng)用是否是首次開發(fā)的層面來講。80%以上的軟件應(yīng)用都不是新的。當(dāng)前,大多數(shù)應(yīng)用都是舊的或過時(shí)的應(yīng)用的替代品。由于這些應(yīng)用程序都是過時(shí)的,因此它們的書面功能規(guī)格說明文檔通常會(huì)被忽視,并且這些規(guī)格說明也是過時(shí)的。然而,雖然缺乏當(dāng)前的文檔,但是舊應(yīng)用卻包含數(shù)百或數(shù)千的業(yè)務(wù)規(guī)則和算法,因此需要將這些業(yè)務(wù)規(guī)則和算法轉(zhuǎn)換到新應(yīng)用中。
因此,截至2009年,需求分析不應(yīng)該只涉及新的需求,而且還應(yīng)包括對(duì)遺留代碼進(jìn)行數(shù)據(jù)挖掘,以提取隱藏的業(yè)務(wù)規(guī)則和算法。有些工具可以做到這一點(diǎn),也有很多的維護(hù)工作臺(tái)可以顯示代碼,并且?guī)椭崛摬氐臉I(yè)務(wù)規(guī)則。雖然,清晰的需求是一個(gè)值得稱贊的目標(biāo),但是對(duì)于擁有10000個(gè)功能點(diǎn)的軟件應(yīng)用來說,這個(gè)目標(biāo)只能是個(gè)奢望。到目的為止,筆者只觀察到了一個(gè)小型項(xiàng)目,它的功能點(diǎn)少于500個(gè)。并且該應(yīng)用的初始需求是清晰的和不變的。
對(duì)于大型應(yīng)用來說,業(yè)務(wù)需求是動(dòng)態(tài)的,并且不可能是一成不變的。網(wǎng)站制作的許多外部事件都會(huì)使軟件應(yīng)用的需求發(fā)生變化,如稅法的變化、企業(yè)結(jié)構(gòu)的變化、業(yè)務(wù)流程的再造以及兼并和收的等。另外,大型應(yīng)用的開發(fā)一般需要幾年的時(shí)間,這使得情況變得更加復(fù)雜了。一個(gè)公司僅僅為了滿足一個(gè)軟件項(xiàng)目的需求而凍結(jié)其所有的業(yè)務(wù)規(guī)則,顯然是不現(xiàn)實(shí)的。最典型的情況是處理擁有10000個(gè)功能點(diǎn)應(yīng)用的需求,收集和分析初始的需求將花費(fèi)數(shù)個(gè)月。在隨后的設(shè)計(jì)過程中,每個(gè)月的新需求和變更需求將達(dá)到2%左右。最終的需求總量將會(huì)達(dá)到初始需求的50%。在發(fā)布了軟件應(yīng)用的第一個(gè)版本之后。應(yīng)該終止這些新的和變更的需求,并且在9-12個(gè)月之后,在后續(xù)的版本中添加新的需求和變更的需求。對(duì)于擁有10000個(gè)功能點(diǎn)的項(xiàng)目來說,每個(gè)月的需求變更比例稍低于0.5%,累計(jì)增量不超過原始需求10%,然而,最大的增量可以達(dá)到200%。在設(shè)計(jì)和編碼階段,每個(gè)月需求變更的平均比例在1%-3%之間,而之后的變更劇被添加到了以后的版本中了。
同時(shí)使用JAD會(huì)議、仔細(xì)的需求分析、需求審查以及原型可以使需求過程在技術(shù)和管理的控制之下。雖然有時(shí)需要數(shù)月甚至數(shù)年才能看到項(xiàng)目的結(jié)果,但是大型軟件項(xiàng)目的成敗在需求階段就已經(jīng)一口了然了。成功的項(xiàng)目在收集和分析需求上,比失敗項(xiàng)目更完整、更徹底。因此,成功的項(xiàng)目變更很少,以及需求蔓延也很少。 然而,由于大多數(shù)新應(yīng)用都是遺留應(yīng)用的翻新,因此需求應(yīng)該包括數(shù)據(jù)挖掘,以提取遺留應(yīng)用的潛在業(yè)務(wù)規(guī)則和算法。
文章內(nèi)容來源于網(wǎng)絡(luò),侵刪