什么是軟件的需求呢?
軟件需求就是系統(tǒng)必須完成的事及必須具備的品質(zhì)。具體來說,軟件需求包括功能需求,非公需求和設(shè)計(jì)約束三方面的內(nèi)容。
功能需求:是指系統(tǒng)必須完成的那些事,即為了向他的用戶提供有用的功能產(chǎn)品必須執(zhí)行的動(dòng)作。
非功能需求:是指產(chǎn)品必須具備的屬性或品質(zhì),如性能、響應(yīng)時(shí)間、可靠性、容錯(cuò)性、擴(kuò)展向等。
設(shè)計(jì)約束:也稱為限制條件、補(bǔ)充規(guī)約,這通常是對(duì)解決方案的一些約束說明。例如必須采用國有自主知識(shí)版權(quán)的數(shù)據(jù)庫系統(tǒng),必須在UNIX操作系統(tǒng)之下運(yùn)行等。
業(yè)務(wù)需求:是指反映組織機(jī)構(gòu)或客戶對(duì)系統(tǒng)、產(chǎn)品高層次的目的要求,通常問題定義本身就是業(yè)務(wù)需求。
用戶需求:是指描述用戶使用產(chǎn)品必須要完成什么任務(wù),怎么完成的需求,通常是的問題定義的基礎(chǔ)上進(jìn)行用戶訪談、調(diào)查,對(duì)用戶使用的場(chǎng)景進(jìn)行整理,從而建立從用戶角度出發(fā)的需求
系統(tǒng)需求:是從系統(tǒng)的角度來說名軟件的需求,它包括用特性說明的功能需求、質(zhì)量屬性、非功能需求及設(shè)計(jì)約束。
需求工程包括需求開發(fā)和需求管理
需求開發(fā):包括需求捕獲、需求分析、編寫規(guī)格說明書和需求驗(yàn)證四個(gè)階段。
需求管理:通常包括定義需求基線、處女需求變更、需求跟蹤等方面的工作。
需求分析方法最具有代表性的是結(jié)構(gòu)化分析方法和面向?qū)ο蟮姆治龇椒ā?/p>
軟件設(shè)計(jì)是一個(gè)把軟件需求變換成軟件表示的過程。最初這種表示只是描繪出軟件的總體框架,然后再進(jìn)一步細(xì)化,并在此框架中填入細(xì)節(jié)。
軟件設(shè)計(jì)的兩個(gè)階段
從工程管理的角度,軟件設(shè)計(jì)可以分為兩個(gè)步驟:一、概要設(shè)計(jì)階段;二、詳細(xì)設(shè)計(jì)階段
概要設(shè)計(jì):也稱為高層設(shè)計(jì),將軟件需求轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)和軟件的系統(tǒng)結(jié)構(gòu)。
詳細(xì)設(shè)計(jì):也稱為低層設(shè)計(jì),將對(duì)結(jié)構(gòu)表示進(jìn)行細(xì)化,得到詳細(xì)的數(shù)據(jù)結(jié)構(gòu)與算法。