資源描述:
《軟件工程---軟件需求》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、軟件工程軟件需求1主要講解內(nèi)容1、需求分析的重要性2、需求分析的任務(wù)3、需求分析的目的4、需求分析的方法5、需求分析的藝術(shù)6、需求管理過(guò)程7、需求分析文檔8、用戶需求報(bào)告9、需求規(guī)格說(shuō)明書(shū)2軟件需求導(dǎo)讀:軟件需求,又稱軟件需求分析或軟件需求獲取,它既是軟件開(kāi)發(fā)中的老課題(講了幾十年了)和老問(wèn)題(幾十年都沒(méi)有很好地徹底解決),又包含著許多新思路和新內(nèi)容。需求獲取是否徹底與成功,直接關(guān)系到軟件開(kāi)發(fā)的成敗問(wèn)題。本章先論述需求分析的9項(xiàng)任務(wù)和目的,然后介紹需求分析和需求管理的方法,以及IT企業(yè)的用戶需求報(bào)告和需求規(guī)格說(shuō)明書(shū)編寫(xiě)的參考指南。下面列出了讀者在本章
2、學(xué)習(xí)中要了解、理解和掌握的主要內(nèi)容。3軟件需求要求具體內(nèi)容了解需求分析的輸入輸出需求分析為什么重要需求獲取為什么難需求報(bào)告和需求規(guī)格的說(shuō)明書(shū)的差異評(píng)審與審計(jì)的概念,同行評(píng)審的概念基線、里程碑、評(píng)審點(diǎn)、軟件產(chǎn)品、軟件工作產(chǎn)品的概念理解1、需求分析的目的2、需求管理方法與管理文檔掌握需求分析任務(wù):畫(huà)組織結(jié)構(gòu)圖,畫(huà)業(yè)務(wù)操作流程圖,畫(huà)數(shù)據(jù)流程圖,功能性能接口列表、確定運(yùn)行環(huán)境和界面約定需求分析方法:面向流程分析,找出元數(shù)據(jù),找出中間數(shù)據(jù),找出元數(shù)據(jù)與中間數(shù)據(jù)的關(guān)系,學(xué)會(huì)需求分析藝術(shù)《用戶需求報(bào)告》的內(nèi)容與編寫(xiě)方法《需求規(guī)格說(shuō)明書(shū)》的內(nèi)容與編寫(xiě)方法4面向?qū)ο蠓?/p>
3、析面向?qū)ο蠓治?通??s寫(xiě)為OOA)的關(guān)鍵,是識(shí)別出問(wèn)題域內(nèi)的對(duì)象,并分析它們相互間的關(guān)系,最終建立起問(wèn)題域的簡(jiǎn)潔、精確、可理解的正確模型。5分析過(guò)程1、概述面向?qū)ο蠓治觯褪浅槿『驼碛脩粜枨蟛⒔?wèn)題域精確模型的過(guò)程。62、三個(gè)子模型與五個(gè)層次即靜態(tài)結(jié)構(gòu)(對(duì)象模型),交互次序(動(dòng)態(tài)模型)和數(shù)據(jù)變換(功能模型)。解決的問(wèn)題不同,這三個(gè)子模型的重要程度也不同:當(dāng)問(wèn)題涉及交互作用和時(shí)序時(shí)(例如,用戶界面及過(guò)程控制等)動(dòng)態(tài)模型是重要的;解決運(yùn)算量很大的問(wèn)題(例如,高級(jí)語(yǔ)言編譯、科學(xué)與工程計(jì)算等),則涉及重要的功能模型。動(dòng)態(tài)模型和功能模型中都包含了對(duì)象
4、模型中的操作(即服務(wù)或方法)。607五個(gè)層次8一般說(shuō)來(lái),面向?qū)ο蠓治龃篌w上按照下列順序進(jìn)行:尋找類—&—對(duì)象,識(shí)別結(jié)構(gòu),識(shí)別主題,定義屬性,建立動(dòng)態(tài)模型,建立功能模型,定義服務(wù)。但是,分析不可能嚴(yán)格地按照預(yù)定順序進(jìn)行,大型、復(fù)雜系統(tǒng)的模型需要反復(fù)構(gòu)造多遍才能建成。通常,先構(gòu)造出模型的子集,然后再逐漸擴(kuò)充,直到完全、充分地理解了整個(gè)問(wèn)題,才能最終把模型建立起來(lái)。609分析也不是一個(gè)機(jī)械的過(guò)程。大多數(shù)需求陳述都缺乏必要的信息,所缺少的信息主要從用戶和領(lǐng)域?qū)<夷抢铽@取,同時(shí)也需要從分析員對(duì)問(wèn)題域的背景知識(shí)中提取。在分析過(guò)程中,系統(tǒng)分析員必須與領(lǐng)域?qū)<壹坝?/p>
5、戶反復(fù)交流,以便澄清二義性,改正錯(cuò)誤的概念,補(bǔ)足缺少的信息。面向?qū)ο蠼⒌南到y(tǒng)模型,盡管在最終完成之前還是不準(zhǔn)確、不完整的,但對(duì)做到準(zhǔn)確、無(wú)歧義的交流仍然是大有益處的。10需求陳述書(shū)寫(xiě)要點(diǎn)內(nèi)容包括:?jiǎn)栴}范圍,功能需求,性能需求,應(yīng)用環(huán)境及假設(shè)條件等??傊?,需求陳述應(yīng)該闡明“做什么”,而不是“怎樣做”。它應(yīng)該描述用戶的需求,而不是提出解決問(wèn)題的方法。應(yīng)該指出哪些是系統(tǒng)必要的性質(zhì),哪些是任選的性質(zhì)。應(yīng)該避免對(duì)設(shè)計(jì)策略施加過(guò)多的約束,也不要描述系統(tǒng)的內(nèi)部結(jié)構(gòu),因?yàn)檫@樣做將限制實(shí)現(xiàn)的靈活性。對(duì)系統(tǒng)性能及系統(tǒng)與外界環(huán)境交互協(xié)議的描述,是合適的需求。此外,對(duì)采
6、用的軟件工程標(biāo)準(zhǔn)、模塊構(gòu)造準(zhǔn)則、將來(lái)可能做的擴(kuò)充以及可維護(hù)性要求等方面的描述,也都是適當(dāng)?shù)男枨蟆*?011需求分析的重要性需求分析的輸入是軟件《合同》或軟件《立項(xiàng)建議書(shū)》,以及對(duì)用戶現(xiàn)場(chǎng)的調(diào)研、分析和確認(rèn),輸出是《用戶需求報(bào)告》/《需求規(guī)格說(shuō)明書(shū)》,根據(jù)“五個(gè)面向理論”,需求分析的方法主要是“面向流程分析”。60121.需求分析為什么重要(1)許多大型應(yīng)用系統(tǒng)的失敗,最后均歸結(jié)到需求分析:要么獲取需求的方法不當(dāng),使得需求分析不到位或不徹底,導(dǎo)致開(kāi)發(fā)者反復(fù)多次地進(jìn)行需求分析,致使設(shè)計(jì)、編碼、測(cè)試無(wú)法順利進(jìn)行;要么客戶配合不好,導(dǎo)致客戶對(duì)需求不確認(rèn),或客
7、戶需求不斷變化,同樣致使設(shè)計(jì)、編碼、測(cè)試無(wú)法順利進(jìn)行。13(2)需求分析的輸出文檔是《用戶需求報(bào)告》,它既是軟件生存周期中的第一個(gè)里程碑,又是客戶、軟件開(kāi)發(fā)人員和項(xiàng)目管理人員三者必須遵守的一根基線,是三者共同工作的基礎(chǔ)。(3)需求分析要占用整個(gè)軟件開(kāi)發(fā)時(shí)間或工作量的30%。(4)需求獲取中的錯(cuò)誤,屬于軟件開(kāi)發(fā)中的早期錯(cuò)誤,它會(huì)在后續(xù)的設(shè)計(jì)和實(shí)現(xiàn)中進(jìn)行發(fā)散式的傳播。根據(jù)以上4項(xiàng)原因,IT企業(yè)的高層經(jīng)理,對(duì)需求分析特別重視,常常派經(jīng)驗(yàn)最豐富的人員去做項(xiàng)目需求。正因?yàn)槿绱?,“系統(tǒng)分析員”才是軟件行業(yè)中的最高技術(shù)職稱。60142.需求獲取為什么難需求獲取看似
8、容易,做起來(lái)很難,主要原因有三條。(1)用戶需求具有動(dòng)態(tài)性,即需求的不穩(wěn)定性:在整個(gè)軟件生存周期內(nèi),應(yīng)用軟件