第04講軟件需求分析_第1頁
第04講軟件需求分析_第2頁
第04講軟件需求分析_第3頁
第04講軟件需求分析_第4頁
第04講軟件需求分析_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、軟件工程概論林平榮 需求工程與分析需求工程與分析軟件工程概論林平榮2回顧&系統(tǒng)工程基于計(jì)算機(jī)的系統(tǒng)&可行性研究的任務(wù)社會(huì)/法律可行性技術(shù)可行性經(jīng)濟(jì)可行性&可行性研究的步驟推薦可行的方案編寫可行性研究報(bào)告軟件工程概論林平榮3需求工程& 概述& 需求工程 需求獲取 需求分析與協(xié)商 系統(tǒng)建模 需求規(guī)約 需求確認(rèn) 需求管理& 軟件規(guī)格需求說明書(SRS)1. 小結(jié)、作業(yè)與試驗(yàn)軟件工程概論林平榮4概述&需求定義&準(zhǔn)確需求的重要性&準(zhǔn)確需求的利益&需求工程的步驟與方面軟件工程概論林平榮5需求定義1&IEEE軟件工程標(biāo)準(zhǔn)

2、詞匯表(1997年)中定義需求為:用戶解決問題或達(dá)到目標(biāo)所需的條件或能力( Capability)。系統(tǒng)必須滿足或具有的條件或能力,以滿足合同、標(biāo)準(zhǔn)、規(guī)格說明或其它形式上強(qiáng)制的文檔軟件工程概論林平榮6需求定義2&準(zhǔn)確地定義準(zhǔn)確地定義未來系統(tǒng)的目標(biāo)未來系統(tǒng)的目標(biāo),確定為了滿足用戶,確定為了滿足用戶的需求的需求系統(tǒng)必須做什么系統(tǒng)必須做什么。&用用 規(guī)范的形式準(zhǔn)確地表達(dá)用規(guī)范的形式準(zhǔn)確地表達(dá)用戶的需求。戶的需求。&它把可行性分析及初步計(jì)劃期間建立的軟件需求它把可行性分析及初步計(jì)劃期間建立的軟件需求描述描述求精求精和和細(xì)化細(xì)化。&需求分析從多角度、多層次把軟件需求分析從

3、多角度、多層次把軟件功能功能和和性能性能等等的總體概念描述為具體的的總體概念描述為具體的規(guī)格說明規(guī)格說明,以做為,以做為開發(fā)開發(fā)軟件的基礎(chǔ)軟件的基礎(chǔ),它是質(zhì)量和成敗的關(guān)鍵,它是質(zhì)量和成敗的關(guān)鍵軟件工程概論林平榮7準(zhǔn)確需求的重要性&研究分析:項(xiàng)目失敗最重要的8個(gè)原因中的5個(gè)與需求有關(guān)&需求階段產(chǎn)生的錯(cuò)誤將擴(kuò)散到其他階段&以需求為基礎(chǔ)的設(shè)計(jì)與編碼階段對錯(cuò)誤的檢測與發(fā)現(xiàn)很困難&后期發(fā)現(xiàn)的需求錯(cuò)誤的修正費(fèi)用很高(圖示)&軟件項(xiàng)目的成本與時(shí)間超支,大多是需求分析不準(zhǔn)確造成軟件工程概論林平榮85個(gè)有關(guān)需求&不完整的的需求&沒有用戶的介入&不實(shí)

4、際的客戶期望&需求和規(guī)范的變更&提供不再需要的能力軟件工程概論林平榮99修改一個(gè)錯(cuò)誤的相對開銷發(fā)現(xiàn)錯(cuò)誤時(shí)的開發(fā)階段開銷比率需求1設(shè)計(jì)3-6編碼10測試15-40驗(yàn)收30-70運(yùn)行40-100軟件工程概論林平榮10準(zhǔn)確需求的利益&對客戶實(shí)際需求的理解&澄清客戶所陳述的需求&客戶和提供者之間的良好溝通和良性關(guān)系&所有各方對項(xiàng)目目標(biāo)的強(qiáng)烈責(zé)任感&設(shè)計(jì)、部署和使用不斷改進(jìn)的可重復(fù)使用的需求過程&適應(yīng)客戶當(dāng)前和未來計(jì)劃需求的一種系統(tǒng)體系結(jié)構(gòu)&適應(yīng)需求變更的能力&系統(tǒng)及其產(chǎn)品的高質(zhì)量&節(jié)省資金&進(jìn)度規(guī)劃明確&a

5、mp;客戶滿意軟件工程概論林平榮11需求工程中包含的步驟軟件工程概論林平榮12啟動(dòng)需求工程的各個(gè)方面軟件工程概論林平榮13需求獲取&需求類型&需求獲取的難點(diǎn)&需求獲取的方法與策略&需求獲取的原則&有效需求實(shí)踐&階段結(jié)果軟件工程概論林平榮14需求的類型&領(lǐng)域需求反映了應(yīng)用領(lǐng)域的基本問題&功能性需求定義了系統(tǒng)做什么&非功能性需求定義了系統(tǒng)工作時(shí)的特性&詳細(xì)需求類別&軟件需求各組成部分之間的關(guān)系 軟件工程概論林平榮15詳細(xì)需求類別&功能功能&性能性能&環(huán)境環(huán)境&界面界面&易

6、用易用&文檔文檔 &數(shù)據(jù)數(shù)據(jù)&資源資源&安全安全&成本成本&交付交付&質(zhì)量質(zhì)量軟件工程概論林平榮16功能需求 &系統(tǒng)所應(yīng)提供的功能和服務(wù)系統(tǒng)所應(yīng)提供的功能和服務(wù)&系統(tǒng)做什么?系統(tǒng)做什么?需要詳細(xì)的描述系統(tǒng)功能、輸入和輸出、需要詳細(xì)的描述系統(tǒng)功能、輸入和輸出、異常等異常等有時(shí)需要描述系統(tǒng)不應(yīng)做什么有時(shí)需要描述系統(tǒng)不應(yīng)做什么&注意:注意:要求全面性和一致性要求全面性和一致性發(fā)現(xiàn)錯(cuò)誤隨時(shí)修改需求文檔發(fā)現(xiàn)錯(cuò)誤隨時(shí)修改需求文檔軟件工程概論林平榮17性能需求 &軟件開發(fā)的技術(shù)性指標(biāo):軟件開發(fā)的技術(shù)性指標(biāo):執(zhí)行速度、響應(yīng)

7、時(shí)間執(zhí)行速度、響應(yīng)時(shí)間吞吐量吞吐量存儲容量限制存儲容量限制軟件工程概論林平榮18環(huán)境需求 &硬件設(shè)備:硬件設(shè)備:機(jī)型、外設(shè)、接口、機(jī)型、外設(shè)、接口、地點(diǎn)、分布、溫度、地點(diǎn)、分布、溫度、 濕度、磁場干擾等濕度、磁場干擾等&軟件:軟件:操作系統(tǒng)操作系統(tǒng)網(wǎng)絡(luò)網(wǎng)絡(luò)數(shù)據(jù)庫數(shù)據(jù)庫軟件工程概論林平榮19界面需求&對系統(tǒng)的最終用戶來講,用戶界面就對系統(tǒng)的最終用戶來講,用戶界面就代表了系統(tǒng)代表了系統(tǒng)&以用戶為中心的設(shè)計(jì)以用戶為中心的設(shè)計(jì)&相關(guān)領(lǐng)域知識相關(guān)領(lǐng)域知識&界面設(shè)計(jì)指導(dǎo)原則(界面設(shè)計(jì)指導(dǎo)原則(黃金規(guī)則黃金規(guī)則)軟件工程概論林平榮20相關(guān)領(lǐng)域知識相關(guān)領(lǐng)域知識社

8、會(huì)學(xué)社會(huì)學(xué)生理學(xué)生理學(xué)計(jì)算機(jī)科學(xué)計(jì)算機(jī)科學(xué)工程學(xué)工程學(xué)人類學(xué)人類學(xué)媒體媒體認(rèn)知心理學(xué)認(rèn)知心理學(xué)社會(huì)心理學(xué)社會(huì)心理學(xué)圖形藝術(shù)圖形藝術(shù)語言學(xué)語言學(xué)人機(jī)交互人機(jī)交互軟件工程概論林平榮21八項(xiàng)黃金原則八項(xiàng)黃金原則&盡量保持一致&為熟練用戶提供快捷鍵&提供有效反饋&設(shè)計(jì)完整的對話過程&提供簡單的錯(cuò)誤處理機(jī)制&允許撤銷動(dòng)作&提供控制的內(nèi)部軌跡&較少短期記憶負(fù)擔(dān)軟件工程概論林平榮22易用性需要考慮的因素 &用戶類型?用戶類型?&各種用戶熟練程度?各種用戶熟練程度?&需受何種訓(xùn)練?需受何種訓(xùn)練?&用戶理解、使用系統(tǒng)

9、的難度?用戶理解、使用系統(tǒng)的難度?&用戶錯(cuò)誤操作系統(tǒng)的可能性?用戶錯(cuò)誤操作系統(tǒng)的可能性?軟件工程概論林平榮23文檔需求 &需哪些文檔?需哪些文檔?&文檔針對哪些讀者文檔針對哪些讀者?軟件工程概論林平榮24數(shù)據(jù)需求 &輸入、輸出數(shù)據(jù)的格式?輸入、輸出數(shù)據(jù)的格式?&接收、發(fā)送數(shù)據(jù)的頻率?接收、發(fā)送數(shù)據(jù)的頻率?&數(shù)據(jù)的準(zhǔn)確性和精度?數(shù)據(jù)的準(zhǔn)確性和精度?&數(shù)據(jù)流量?數(shù)據(jù)流量?&數(shù)據(jù)需保持的時(shí)間?數(shù)據(jù)需保持的時(shí)間?軟件工程概論林平榮25資源需求 &軟件運(yùn)行時(shí)所需的數(shù)據(jù)、軟件。軟件運(yùn)行時(shí)所需的數(shù)據(jù)、軟件。內(nèi)存空間等資源。內(nèi)存空間等資源

10、。& 軟件開發(fā)、維護(hù)所需的人力、支軟件開發(fā)、維護(hù)所需的人力、支撐軟件、開發(fā)設(shè)備等。撐軟件、開發(fā)設(shè)備等。軟件工程概論林平榮26安全保密要求安全保密要求 &需對訪問系統(tǒng)或系統(tǒng)信息加以控需對訪問系統(tǒng)或系統(tǒng)信息加以控制嗎?制嗎?&如何隔離用戶之間的數(shù)據(jù)?如何隔離用戶之間的數(shù)據(jù)?&用戶程序如何與其它程序和操作用戶程序如何與其它程序和操作系統(tǒng)隔離?系統(tǒng)隔離?&系統(tǒng)備份要求?系統(tǒng)備份要求?軟件工程概論林平榮27質(zhì)量保證質(zhì)量保證&系統(tǒng)的可靠性要求?系統(tǒng)的可靠性要求?&系統(tǒng)必須監(jiān)測和隔離錯(cuò)誤嗎?系統(tǒng)必須監(jiān)測和隔離錯(cuò)誤嗎?&規(guī)定系統(tǒng)平均出錯(cuò)時(shí)間?規(guī)定

11、系統(tǒng)平均出錯(cuò)時(shí)間?&出錯(cuò)后,重啟系統(tǒng)允許的時(shí)間?出錯(cuò)后,重啟系統(tǒng)允許的時(shí)間?&系統(tǒng)變化如何反映到設(shè)計(jì)中?系統(tǒng)變化如何反映到設(shè)計(jì)中?&維護(hù)是否包括對系統(tǒng)的改進(jìn)?維護(hù)是否包括對系統(tǒng)的改進(jìn)?&系統(tǒng)的可移植性?系統(tǒng)的可移植性?軟件工程概論林平榮28軟件需求各組成部分之間的關(guān)系 軟件工程概論林平榮29需求獲取的難點(diǎn)&問題的多面性&獲取中的問題&領(lǐng)域知識缺乏&利害關(guān)系人與開發(fā)人員的交流問題&不完備性和不一致性&需求易變性&需求錯(cuò)誤的類型軟件工程概論林平榮3030問題的多面性問題的多面性軟件工程概論林平榮31需求獲取中的

12、問題軟件工程概論林平榮32你心里想的你心里想的 100%你嘴上說的你嘴上說的80%別人聽到的別人聽到的60%別人聽的懂的別人聽的懂的40%軟件工程概論林平榮3333需求錯(cuò)誤的類型軟件工程概論林平榮34需求獲取的方法與策略&建立順暢的通信途徑&訪談與調(diào)查&觀察用戶操作流程&組成聯(lián)合小組&用例軟件工程概論林平榮35需求獲取的原則&將復(fù)雜問題分解、逐層細(xì)化&能夠表達(dá)和理解問題的數(shù)據(jù)域和功能域&建立模型軟件工程概論林平榮36有效需求實(shí)踐&對方法的承諾&盡力并利用負(fù)責(zé)需求的聯(lián)合團(tuán)隊(duì)&定義真實(shí)的客戶需求&使用不

13、斷改進(jìn)需求過程&迭代使用系統(tǒng)需求和體系結(jié)構(gòu)過程&運(yùn)用機(jī)制維護(hù)項(xiàng)目組之間的溝通&選擇熟悉的方法并維護(hù)一組工作產(chǎn)品&執(zhí)行需求檢驗(yàn)與確認(rèn)&提供適應(yīng)需求變更的有效機(jī)制&使用業(yè)界、機(jī)構(gòu)和項(xiàng)目證明的、已知的、熟悉的最佳實(shí)踐,推動(dòng)開發(fā)工作軟件工程概論林平榮37定義真實(shí)的客戶需求&將總項(xiàng)目費(fèi)用8%-14%用于需求過程&培訓(xùn)項(xiàng)目組和項(xiàng)目管理人員更多地關(guān)心需求工程&找到項(xiàng)目倡導(dǎo)者&開發(fā)項(xiàng)目前景和范圍定義&找一位需求工程師,并且通過領(lǐng)域?qū)<彝瓿尚枨蠊こ倘蝿?wù)&培訓(xùn)開發(fā)人員不要做出需求決定,不要自行發(fā)揮&使用不同手段

14、獲取用戶需求和期望&培訓(xùn)需求工程師編寫好的需求&記錄每條需求的基本原理&使用方法和自動(dòng)化工具分析和跟蹤需求,并為需求劃分優(yōu)先級&開展同行評審和審查&盡量考慮使用適當(dāng)?shù)姆椒?amp;需求應(yīng)該采用文字或圖表的方法記錄下來&大型系統(tǒng)的高層次系統(tǒng)需求數(shù)量大約在50-200條之間軟件工程概論林平榮38階段結(jié)果&要開發(fā)的系統(tǒng)或產(chǎn)品的范圍&參加需求獲取過程的利害人名單&描述考慮要用于系統(tǒng)的技術(shù)環(huán)境的文檔&通過功能組織起來的需求列表&在適當(dāng)時(shí)為每個(gè)需求指定領(lǐng)域約束的一系列語句&用例的規(guī)格說明軟件工程概論林平榮39需

15、求分析與協(xié)商& 任務(wù) 是發(fā)現(xiàn)、求精、建模和規(guī)約的過程& 分析的原則(P54)& 過程(圖示) 問題識別 評估和綜合 建模 規(guī)約 編制需求分析文檔 評審1. 協(xié)商:不實(shí)際的目標(biāo)、沖突的目標(biāo)軟件工程概論林平榮40需求分析的作用軟件設(shè)軟件設(shè)計(jì)計(jì)軟件需軟件需求分析求分析系統(tǒng)工系統(tǒng)工程程軟件工程概論林平榮41需求分析任務(wù)需求分析任務(wù)軟件工程概論林平榮42分析的原則& 問題的信息域必須被表示和理解& 軟件將完成的功能必須被定義& 軟件的行為必須被表示& 描述信息、功能和行為的模型必須被劃分,可以分層次地揭示細(xì)節(jié)& 分析過程應(yīng)該從要素信息移向?qū)?/p>

16、現(xiàn)細(xì)節(jié)軟件工程概論林平榮43需求分析過程圖示軟件工程概論林平榮44系統(tǒng)建模&常用的建模方法常用的建模方法面向數(shù)據(jù)流的面向數(shù)據(jù)流的結(jié)構(gòu)化結(jié)構(gòu)化分析方法(分析方法(SASA)面向數(shù)據(jù)結(jié)構(gòu)的分析方法面向數(shù)據(jù)結(jié)構(gòu)的分析方法面向?qū)ο竺嫦驅(qū)ο蟮姆治龇椒ǎǖ姆治龇椒ǎ∣OAOOA)等)等原型方法原型方法其它各種方法其它各種方法軟件工程概論林平榮45面向數(shù)據(jù)流面向數(shù)據(jù)流的需求分析的方法的需求分析的方法&適合于適合于數(shù)據(jù)處理類型軟件數(shù)據(jù)處理類型軟件的需求分析的需求分析&用抽象模型的概念,按照軟件內(nèi)部數(shù)據(jù)傳遞、用抽象模型的概念,按照軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,變換的關(guān)系,自頂向下自頂向下

17、逐層分解,直到找到滿足逐層分解,直到找到滿足功能要求的所有可實(shí)現(xiàn)的軟件為止功能要求的所有可實(shí)現(xiàn)的軟件為止&使用工具使用工具(圖示圖示)數(shù)據(jù)流圖,數(shù)據(jù)詞典,結(jié)構(gòu)化英語,判定表與判定樹數(shù)據(jù)流圖,數(shù)據(jù)詞典,結(jié)構(gòu)化英語,判定表與判定樹&特點(diǎn)特點(diǎn)具有嚴(yán)格的原則簡單實(shí)用,適合于數(shù)據(jù)處理領(lǐng)域問題對不是以數(shù)據(jù)流為主干的系統(tǒng)無奈難以確定數(shù)據(jù)流之間的變換“數(shù)據(jù)字典爆炸”軟件工程概論林平榮46分析模型的結(jié)構(gòu)分析模型的結(jié)構(gòu)軟件工程概論林平榮47需求規(guī)約&規(guī)約可以是一份寫就的文檔,一個(gè)圖形化的模型,一個(gè)形式化的數(shù)學(xué)模型,一組使用場景,一個(gè)原形或上述各項(xiàng)的任意組合&原則(P57)&

18、軟件需求規(guī)格說明書(IEEE/ANSI830-1993)&其它文檔數(shù)據(jù)要求說明書初步的用戶手冊修改、完善與確定軟件開發(fā)實(shí)施計(jì)劃軟件工程概論林平榮48需求驗(yàn)證與確認(rèn)&需求確認(rèn)將檢查需求規(guī)約以保證所有系統(tǒng)需求已被無歧義地陳述,不一致、疏忽和錯(cuò)誤已被檢測出并糾正,并且工作產(chǎn)品符合為過程、項(xiàng)目和產(chǎn)品建立的標(biāo)準(zhǔn)&驗(yàn)證&文檔注意事項(xiàng)&確認(rèn)機(jī)制是正式的技術(shù)評審&評審內(nèi)容(P60)&結(jié)果:軟件開發(fā)的“合約”軟件工程概論林平榮49需求驗(yàn)證軟件工程概論林平榮50需求檢驗(yàn)與確認(rèn)不能檢驗(yàn)的詞匯不能檢驗(yàn)的詞匯可能替代的詞匯可能替代的詞匯靈活增加壓縮閾值或擴(kuò)展常量容

19、易或用戶友好執(zhí)行某個(gè)操作的最大步驟教育程度要求標(biāo)準(zhǔn)參考引導(dǎo)用戶的菜單或提示安全可以防止操作概念預(yù)期的操作員錯(cuò)誤所產(chǎn)生的損害的功能列表快速或很快可接受的最低速度便攜大小尺寸和重量描述所需的攜帶手段重量輕可接受的最大重量大可接受的最小幾何尺寸小可接受的最大幾何尺寸軟件工程概論林平榮51需求管理&跟蹤變化&標(biāo)識需求&特征跟蹤表、來源跟蹤表、依賴跟蹤表&正向跟蹤、逆向跟蹤軟件工程概論林平榮52軟件規(guī)格需求說明書(SRS)&參考qGB856T88 軟件需求說明書&需求規(guī)格說明1979 Balzer and Goldman提出了作出良好規(guī)格說明的8條原則軟件工程概論林平榮53需求規(guī)格說明1& 功能與實(shí)現(xiàn)分離,既描述“做什么”而不是:“怎樣實(shí)現(xiàn)”& 要求使用面向處理的規(guī)格說明語言,討論來自環(huán)境的各種刺激可能導(dǎo)致系統(tǒng)出現(xiàn)什么樣的功能性反應(yīng),以此來定義一個(gè)行為模型,從而得到“做什么”的規(guī)格說明& 如果目標(biāo)軟件是一個(gè)大系統(tǒng)中的一個(gè)元素,那么整個(gè)大系統(tǒng)也包括在規(guī)格說明的描述之內(nèi),描述該目標(biāo)軟件 與系統(tǒng)的其他元素的交互的方式。軟件工程概論林平榮54需求規(guī)格說明2&規(guī)格說明必須包括系統(tǒng)運(yùn)行的環(huán)境。&規(guī)格說明必須是可操作的,充分完全和形式的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論