資源描述:
《軟件工程需求分析》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、第三章需求分析3.1需求分析的任務(wù)需求分析是定義軟件的最后一個(gè)階段,其基本任務(wù)是對(duì)目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。需求分析的結(jié)果是系統(tǒng)開發(fā)的基礎(chǔ),關(guān)系到工程的成敗和軟件產(chǎn)品的質(zhì)量。因此,必須采取行之有效的辦法對(duì)需求分析進(jìn)行嚴(yán)格的審查驗(yàn)證。3.1.1確定對(duì)系統(tǒng)的綜合要求1.系統(tǒng)功能要求應(yīng)該劃分出系統(tǒng)必須完成的所有功能。2.系統(tǒng)性能要求系統(tǒng)的性能如,系統(tǒng)聯(lián)機(jī)響應(yīng)時(shí)間、吞吐率、連續(xù)運(yùn)行時(shí)間、可靠性、安全性,以及操作簡便、界面美觀等等。3.運(yùn)行要求主要指系統(tǒng)運(yùn)行時(shí)所處環(huán)境的要求。如,硬件平臺(tái)、軟件平臺(tái)、網(wǎng)絡(luò)環(huán)境、通信接口等等。4.可擴(kuò)展性要求應(yīng)明確列出
2、將來可能會(huì)提出來的要求。在設(shè)計(jì)開發(fā)目標(biāo)系統(tǒng)的同時(shí),盡可能考慮到系統(tǒng)的擴(kuò)展和修改,以免造成被動(dòng)。3.1.2分析系統(tǒng)的數(shù)據(jù)要求任何一個(gè)軟件系統(tǒng),其本質(zhì)都是信息處理系統(tǒng),信息處理的要求決定了系統(tǒng)的性質(zhì)。因此,分析系統(tǒng)的數(shù)據(jù)要求是需求分析的一項(xiàng)重要任務(wù)。分析系統(tǒng)的數(shù)據(jù)要求通常采用建立概念模型的方法。數(shù)據(jù)字典可以全面準(zhǔn)確地定義數(shù)據(jù),但不夠直觀。為提高直觀性,通常采用圖形工具描繪數(shù)據(jù)結(jié)構(gòu)。常用的有層次方框圖和Warnier圖。軟件系統(tǒng)經(jīng)常要使用長期保存的信息,它們通常以一定的形式組織起來,保存到數(shù)據(jù)庫和文件中。為減少冗余、避免操作錯(cuò)誤、簡化操作過程,通常要把數(shù)據(jù)結(jié)構(gòu)
3、規(guī)范化。3.1.3導(dǎo)出系統(tǒng)的邏輯模型從分析系統(tǒng)的綜合要求和數(shù)據(jù)要求,可以導(dǎo)出系統(tǒng)詳細(xì)的邏輯模型,通常用數(shù)據(jù)流圖、數(shù)據(jù)字典、主要的處理算法來描述。3.1.4修正系統(tǒng)開發(fā)計(jì)劃通過需求分析對(duì)系統(tǒng)更深入具體的理解,可以比較準(zhǔn)確地估計(jì)系統(tǒng)的成本和進(jìn)度,修正以前制定的開發(fā)計(jì)劃。3.1.5開發(fā)原型系統(tǒng)開發(fā)原型系統(tǒng)類似于產(chǎn)品開發(fā)的“樣機(jī)”。主要的理由是:①由于人類認(rèn)識(shí)的局限性,很難預(yù)先指定所有的要求;②用戶與系統(tǒng)分析員之間存在固有的通信鴻溝;③用戶需要一個(gè)“實(shí)際”的系統(tǒng),以便獲得實(shí)踐經(jīng)驗(yàn);④在開發(fā)過程中的重復(fù)和反復(fù)是不可避免的;⑤目前已有快速建立原型模型的開發(fā)工具。開發(fā)
4、原型系統(tǒng)將使系統(tǒng)的需求更完整、準(zhǔn)確、合理,對(duì)提高開發(fā)成功率,對(duì)提高軟件質(zhì)量都有很大好處。但是要增加開發(fā)的成本。對(duì)于用戶和系統(tǒng)分析員都不熟悉的系統(tǒng),以及批量生產(chǎn)的軟件,應(yīng)開發(fā)原型系統(tǒng)。3.2分析過程對(duì)數(shù)據(jù)的來源/處理/去向,是分析的出發(fā)點(diǎn)。通過可行性分析研究,已經(jīng)得到了目標(biāo)系統(tǒng)的高層數(shù)據(jù)流圖,需求分析的目的之一就是把數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)定義到元素級(jí)。采用結(jié)構(gòu)化分析方法(SA),面向數(shù)據(jù)流自頂向下,逐步求精進(jìn)行分析。3.2.1沿?cái)?shù)據(jù)流圖回溯從輸出端沿著數(shù)據(jù)流圖向輸入端溯,由此確定出每個(gè)數(shù)據(jù)的來源。對(duì)每個(gè)數(shù)據(jù),或者是由外部輸入到系統(tǒng)中的,或者是由系統(tǒng)加工處理產(chǎn)生的
5、,在確定每個(gè)數(shù)據(jù)來源的同時(shí),也就初步確定了加工處理的算法。由于可行性階段產(chǎn)生的數(shù)據(jù)流圖不太具體,常常會(huì)產(chǎn)生這樣的情況,為了確定某個(gè)數(shù)據(jù)元素需要用到目前還沒有的數(shù)據(jù)元素,或者得出該元素的算法尚不確切。通過更進(jìn)一步的交流和研究,使得目標(biāo)系統(tǒng)更加清楚、具體。通過分析研究,在數(shù)據(jù)字典、數(shù)據(jù)流圖、IPO圖中補(bǔ)充添加的有關(guān)內(nèi)容。3.2.2用戶復(fù)查對(duì)于數(shù)據(jù)字典、數(shù)據(jù)流圖、IPO圖中的有關(guān)內(nèi)容是否完整正確地描述了目標(biāo)系統(tǒng),只有用戶是最清楚的。與用戶共同對(duì)描述的目標(biāo)系統(tǒng)進(jìn)行復(fù)查是極為重要的一個(gè)環(huán)節(jié)?!皬?fù)查、補(bǔ)充、修改、再復(fù)查…”,是一個(gè)不斷循環(huán)的過程,系統(tǒng)在這個(gè)過程中不斷
6、完善,人們的認(rèn)識(shí)在這個(gè)過程中不斷加深。3.2.3細(xì)化數(shù)據(jù)流圖為了追蹤更詳細(xì)的數(shù)據(jù)流圖,分析員應(yīng)該把數(shù)據(jù)流圖擴(kuò)展到更低的層次。通過對(duì)功能的分解來完成對(duì)數(shù)據(jù)流圖的細(xì)化。在數(shù)據(jù)流圖中選取功能比較復(fù)雜的處理,將其功能分解為若干子功能,它們成為一張新數(shù)據(jù)流圖的處理,圖上還應(yīng)包括自己的數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)流。對(duì)數(shù)據(jù)流圖細(xì)化之后得到一組新的數(shù)據(jù)流圖,數(shù)據(jù)元素之間的關(guān)系更加清楚,處理加工算法更加具體。分析員將越來越深入具體地定義目標(biāo)系統(tǒng)。有補(bǔ)充修改無補(bǔ)充細(xì)化數(shù)據(jù)流圖用戶復(fù)查分析追蹤數(shù)據(jù)流圖修正不需分解3.3.4修正開發(fā)計(jì)劃經(jīng)過需求分析階段的工作,對(duì)目標(biāo)系統(tǒng)有更深入的認(rèn)識(shí),因此
7、可以對(duì)原來的開發(fā)計(jì)劃作進(jìn)一步的修正。3.2.5書寫文檔文檔主要有四部分。系統(tǒng)規(guī)格說明:主要描述目標(biāo)系統(tǒng)的概貌、功能要求、性能要求、運(yùn)行要求和將來可能提出的要求。數(shù)據(jù)流圖、用IPO等描述的算法是其中主要的組成部分,還應(yīng)包括用戶需求與系統(tǒng)功能之間的參照關(guān)系,設(shè)計(jì)約束等。數(shù)據(jù)要求:主要包括數(shù)據(jù)字典、層次方框圖(描述數(shù)據(jù)結(jié)構(gòu))、數(shù)據(jù)的存儲(chǔ)等。用戶系統(tǒng)描述:從用戶使用系統(tǒng)的角度描述系統(tǒng),相當(dāng)于初步的用戶手冊(cè)。包括,對(duì)系統(tǒng)功能和性能的簡要描述、使用系統(tǒng)的主要步驟和方法、以及系統(tǒng)用戶的責(zé)任等。對(duì)保證系統(tǒng)符合用戶的需求和軟件質(zhì)量具有重要作用。修正的開發(fā)計(jì)劃:包括成本估計(jì)
8、、資源使用計(jì)劃、進(jìn)度計(jì)劃等。3.3概念模型和規(guī)范化為了更清晰明確地表達(dá)用戶的數(shù)據(jù)