軟件需求包括三個(gè)不同的層次業(yè)務(wù)需求、用戶需求和功能需求也包括非功能需求搔啊。
業(yè)務(wù)需求反映了組織機(jī)構(gòu)或客戶對(duì)系統(tǒng)柬祠、產(chǎn)品高層次的目標(biāo)要求,它們?cè)陧?xiàng)目[視圖]與范圍[文檔]中予以說(shuō)明负芋。
用戶需求(user requirement) 文檔描述了用戶使用產(chǎn)品必須要完成的任務(wù)瓶盛,這在使用實(shí)例文檔或方案腳本說(shuō)明中予以說(shuō)明。
功能需求(functional requirement)定義了開(kāi)發(fā)人員必須實(shí)現(xiàn)的軟件功能示罗,使得用戶能完成他們的任務(wù)惩猫,從而滿足了業(yè)務(wù)需求。所謂特性(feature)是指邏輯上相關(guān)的功能需求的集合蚜点,給用戶提供處理能力并滿足業(yè)務(wù)需求轧房。軟件需求各組成部分之間的關(guān)系如圖所示。
作為補(bǔ)充绍绘,軟件需求規(guī)格說(shuō)明還應(yīng)包括非功能需求奶镶,它描述了系統(tǒng)展現(xiàn)給用戶的行為和執(zhí)行的操作等迟赃。它包括產(chǎn)品必須遵從的標(biāo)準(zhǔn)、規(guī)范和合約厂镇;外部界面的具體細(xì)節(jié)纤壁;性能要求;設(shè)計(jì)或?qū)崿F(xiàn)的約束條件及質(zhì)量屬性捺信。所謂約束是指對(duì)開(kāi)發(fā)人員在[軟件]產(chǎn)品設(shè)計(jì)和構(gòu)造上的限制酌媒。質(zhì)量屬性是通過(guò)多種角度對(duì)產(chǎn)品的特點(diǎn)進(jìn)行描述,從而反映產(chǎn)品功能迄靠。多角度描述產(chǎn)品對(duì)用戶和開(kāi)發(fā)人員都極為重要秒咨。 值得注意的一點(diǎn)是,需求并未包括設(shè)計(jì)細(xì)節(jié)掌挚、實(shí)現(xiàn)細(xì)節(jié)雨席、項(xiàng)目計(jì)劃信息或測(cè)試信息。需求與這些沒(méi)有關(guān)系吠式,它關(guān)注的是充分說(shuō)明你究竟想開(kāi)發(fā)什么陡厘。
開(kāi)發(fā)軟件系統(tǒng)最為困難的部分就是準(zhǔn)確說(shuō)明開(kāi)發(fā)什么。最為困難的概念性工作便是編寫(xiě)出詳細(xì)技術(shù)需求特占,這包括所有面向用戶雏亚、面向機(jī)器和其它軟件系統(tǒng)的接口。如果前期[需求分析]不透徹摩钙,一旦做錯(cuò)罢低,將最終會(huì)給系統(tǒng)帶來(lái)極大損害的部分,并且以后再對(duì)它進(jìn)行修改也極為困難胖笛,容易導(dǎo)致項(xiàng)目失敗网持。