第01章需求工程導論_第1頁
第01章需求工程導論_第2頁
第01章需求工程導論_第3頁
第01章需求工程導論_第4頁
第01章需求工程導論_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第1章. 需求工程導論主要內(nèi)容1.軟件的需求問題1.軟件的發(fā)展2.軟件生產(chǎn)狀況調(diào)查2.需求問題的原因分析3.需求工程4.需求工程師1.1軟件的發(fā)展60年代的發(fā)展1.1軟件的發(fā)展 軟件危機n1968年北大西洋公約組織的計算機科學家在聯(lián)邦德國召開的國際學術會議上第一次提出了“軟件危機”(software crisis)這個名詞。n軟件危機指的是在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題q開發(fā)成本超出預算,實際進度比預定計劃一再拖延。q用戶對“已完成”系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生。q件產(chǎn)品的質(zhì)量往往靠不住。Bug一大堆,Patch一個接一個。q件的可維護程度非常之低。q軟件通常沒有適當?shù)奈臋n資

2、料。q軟件的成本不斷提高。q軟件開發(fā)生產(chǎn)率的提高趕不上硬件的發(fā)展和人們需求的增長1.1軟件的發(fā)展 軟件工程n概括來說,軟件危機包含兩方面問題:一、如何開發(fā)軟件,以滿足不斷增長,日趨復雜的需求;二、如何維護數(shù)量不斷膨脹的軟件產(chǎn)品。n解決方案:軟件工程qIEEE :(1)應用系統(tǒng)化的、學科化的、定量的方法,來開發(fā)、運行和維護軟件,即,將工程應用到軟件。q(2)對(1)中各種方法的研究”1.1軟件的發(fā)展90年代的發(fā)展1.2 90年代的軟件生產(chǎn)狀況調(diào)查Standish Group 1995n365家公司的8380個項目q成功項目Success:在預計的時間之內(nèi),在預算的成本之下,完成預期的所有功能q問

3、題項目Challenged:已經(jīng)完成,軟件產(chǎn)品能夠正常工作,但在生產(chǎn)中或者超支,或者超期,或者實現(xiàn)的功能不全q失敗項目Impaired:因無法進行而被中途撤銷,或者最終產(chǎn)品無法提交使用1.2 90年代的軟件生產(chǎn)狀況調(diào)查 Standish Group 1995n大公司開發(fā)項目的平均成本是232.2萬美元,中等公司是133.1萬美元,小型公司是43.4萬美元n大約31的項目在完成之前被取消,52.7的項目成本是原來預算的189%n大公司9%按預算交付,小公司16%按預算交付1.2 90年代的軟件生產(chǎn)狀況調(diào)查 影響因素Standish Group 1995成功項目的影響要素影響指數(shù)用戶參與15.9高

4、層管理支持13.9清晰的需求說明13.0正確的項目計劃9.6切合實際的期望8.2細化的項目里程碑7.7員工能力7.2主人翁精神5.3清晰的目標和前景2.9努力工作2.4其他13.91.2 90年代的軟件生產(chǎn)狀況調(diào)查 影響因素Standish Group 1995問題項目的影響要素影響指數(shù)缺少用戶輸入12.8不完整的需求說明12.3需求變化11.8缺乏高層管理支持7.5技術能力不足7.0缺乏資源6.4不切實際的期望5.9目標不清晰5.3不現(xiàn)實的時間要求4.3新技術的影響3.7其他23.01.2 90年代的軟件生產(chǎn)狀況調(diào)查 影響因素Standish Group 1995失敗項目的影響要素影響指數(shù)不

5、完整的需求說明13.1缺少用戶輸入12.4缺乏資源10.6不切實際的期望9.9缺乏高層管理支持9.3需求變化8.7缺乏計劃8.1額外的無用功能7.5缺乏IT管理6.2技術能力不足4.3其他9.91.2 90年代的軟件生產(chǎn)狀況調(diào)查 影響因素Standish Group 1995n需求因素q用戶參與(用戶輸入)q高層管理支持q清晰的需求說明q切合實際的期望q清晰的目標和前景q需求變化q額外的無用功能n綜合來看,需求因素q對成功項目的影響指數(shù)為53.9q對問題項目的影響指數(shù)為55.6q對失敗項目的影響指數(shù)為60.9 1.2 90年代的軟件生產(chǎn)狀況調(diào)查ESPITI,1996n歐洲軟件協(xié)會ESI n歐洲

6、軟件過程改進培訓計劃項目ESPITI n17個國家的超過3800個組織 1.2 90年代的軟件生產(chǎn)狀況調(diào)查需求問題的典型案例Bray2002nPROMS(演出權(quán)益協(xié)會),11M,1992,未能以常人能理解和檢查的形式表述軟件需求,軟件規(guī)格說明也考慮不周nRISP(西薩克斯地區(qū)信息系統(tǒng)計劃), 43M ,1990,缺少清晰的項目范圍定義nTAURUS(倫敦股票交易), 75M(1.4B), 1993,未能協(xié)調(diào)不一致的需求nLASDS(倫敦救護車服務派遣系統(tǒng)), 1992,社會服務領域糟糕的需求分析nATC(空中交通控制系統(tǒng)), 1.8B,1998-2001,缺乏健壯的需求規(guī)格說明主要內(nèi)容1.軟件

7、的需求問題2.需求問題的原因分析1.應用軟件的模擬特性2.需求問題的技術原因分析3.需求工程4.需求工程師2.1 應用軟件的模擬特性軟件的三種類型軟件類別純工具型軟件應用型軟件專業(yè)用戶普通用戶評判標準功能的復雜性使用的高效性技術的先進性功能的有用性使用的方便性技術的可行性功能的“模擬”性使用的方便性技術的可行性關注點創(chuàng)新性有效性模擬性示例系統(tǒng)編程環(huán)境DBMSOffice語言翻譯MISEAI2.1 應用軟件的模擬特性軟件的分析活動2.1 應用軟件的模擬特性軟件模擬性的實踐調(diào)查n對應用型軟件的“模擬”特性理解及應用問題qCapers JonesCapers1996在調(diào)查了幾百個公司之后發(fā)現(xiàn)超過75

8、的企業(yè)在需求處理環(huán)節(jié)存在不足。q2000年Nikula等人在對芬蘭的中小型公司進行需求處理實踐情況評價時發(fā)現(xiàn)Nikula2000:在以30分為標準線的情況下,75%的公司竟然在10分以下。qHofmann等人在歐洲的需求工程實踐調(diào)查中發(fā)現(xiàn)僅有約1/3的項目有明確的需求處理過程Hofmann2001。qJuristo 等人在對歐洲的150多名RE實踐者進行調(diào)查后發(fā)現(xiàn),在需求處理的諸多技術當中,需求獲取和沖突協(xié)商的技術沒有得到充分的應用Juristo 2002。q研究也發(fā)現(xiàn)當軟件生產(chǎn)面臨時間、市場等其他壓力時,漠視“模擬”特性的情況就更為嚴重Lubars1993,F(xiàn)rancisco2003 2.2

9、 需求問題的技術原因分析n非技術性和社會性因素q組織機構(gòu)文化、社會背景、商業(yè)目標、利益協(xié)商n關注軟件系統(tǒng)和現(xiàn)實之間的互動效應 q軟件系統(tǒng)環(huán)境的組織機構(gòu)文化、社會背景和系統(tǒng)涉眾的目標與利益比軟件內(nèi)部的數(shù)據(jù)流與狀態(tài)更應該得到重視n解決方案和具體應用環(huán)境相關的 q不能忽視具體應用環(huán)境中的相關因素,例如組織機構(gòu)的文化、組織結(jié)構(gòu)的規(guī)范、組織的行業(yè)規(guī)范、組織的社會背景等等n單純通過技術的運用來建立一個一致、完整的需求模型是不太可能的 q面對沖突要能夠分析社會原因和組織機構(gòu)方面的原因,引導涉眾進行利益協(xié)商 2.2 需求問題的技術原因分析n結(jié)構(gòu)化分析和面向?qū)ο蠓治鼍哂幸欢ǖ南忍烊毕?q編程 設計分析q設計和編

10、程都有構(gòu)建高質(zhì)量(健壯性、可維護性、適應性等等)軟件的共同目標,而且使用相同的概念和組織機制保證了從設計到編程的平滑過渡,所以,它們在設計領域的應用也取得了成功 q但是需求分析除了擁有構(gòu)建高質(zhì)量軟件的目標之外,還有一個更加重要的目標是理解現(xiàn)實 2.2 需求問題的技術原因分析n以“企業(yè)”為中心的軟件反映了軟件規(guī)模日益擴大 q一方面提高了需求處理中非技術性和社會性因素的影響比重q另一方面也進一步放大了傳統(tǒng)技術在需求處理階段的不適應性 2.2 需求問題的技術原因分析n需求錯誤的高代價性 020406080100120140160180200需求需求設計設計編碼編碼編碼測試編碼測試驗收測試驗收測試運行

11、運行代價代價主要內(nèi)容1.軟件的需求問題2.需求問題的原因分析3.需求工程1.簡介2.基本活動3.需求工程與系統(tǒng)工程4.需求工程特性4.需求工程師3.1 需求工程n是軟件工程的一個分支q它關注于軟件系統(tǒng)所應予實現(xiàn)的現(xiàn)實世界目標、軟件系統(tǒng)的功能和軟件系統(tǒng)應當遵守的約束q同時它也關注以上因素和準確的軟件行為規(guī)格說明之間的聯(lián)系q關注以上因素與其隨時間或跨產(chǎn)品族而演化之后的相關因素之間的聯(lián)系3.2 需求工程的基本活動需求工程需求開發(fā)需求管理需求獲取需求分析需求規(guī)格說明需求驗證3.3 需求工程與系統(tǒng)工程3.4 需求工程的特性必要性n軟件開發(fā)是這樣一個工程問題q利用通用的計算機結(jié)構(gòu),構(gòu)建一個有用的軟件系統(tǒng),

12、來滿足人們的某些目的 n計算機應用于現(xiàn)實世界的廣泛性 q新的問題和新的解決方案 q定義問題就是需求工程的任務 3.4 需求工程的特性重要性nFrederick BrooksBrooks1987 q“開發(fā)軟件系統(tǒng)最為困難的部分就是準確說明開發(fā)什么。最為困難的概念性工作便是編寫出詳細技術需求,這包括所有面向用戶、面向機器和其它軟件系統(tǒng)的接口。同時這也是一旦做錯,將最終會給系統(tǒng)帶來極大損害的部分,并且以后再對它進行修改也極為困難?!眓容易忽略需求工程重要性的地方q問題廣為人知 n電梯調(diào)度、圖書管理 q問題小而簡單 n出錯也無所謂 3.4 需求工程的特性復雜性n處理范圍廣泛 q現(xiàn)實世界和計算機世界 n

13、涉及諸多參與方 q客戶、用戶、領域?qū)<?、需求工程師、軟件開發(fā)者、系統(tǒng)維護者等 n處理內(nèi)容多樣 q功能需求、非功能需求 、環(huán)境及其約束 n處理活動互相交織 q需求開發(fā)的各項活動雖然在理論上具有順序處理的特性,但在實際執(zhí)行過程中往往是迭代和互相交織的 n處理結(jié)果要求苛刻 q正確性、完整性和一致性 主要內(nèi)容1.軟件的需求問題2.需求問題的原因分析3.需求工程4.需求工程師1.知識要求2.技能要求4.1 需求工程師需要具備的知識n軟件技術q尤其是軟件建模與分析技術n認知學和社會學等方面的知識 q認知心理學 q人類學 q社會學 q語言學 n哲學知識 q掌握涉眾的信仰與理念(認識論) q分析在現(xiàn)實中觀察到的各種現(xiàn)象(現(xiàn)象學) 4.2 需求工程師需要具備的技能n專業(yè)技能 q需求工程的相關知識 n分析技能 q抽象能力 q整合能力q系統(tǒng)化思想n交流技能 q交談和提問的技巧 q傾聽的技巧 4.2 需求工程師需要具備的技能n觀察技能 n建模技能 n寫作技能 q文檔組織能力 q語言駕馭能力 n創(chuàng)新技能

溫馨提示

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

最新文檔

評論

0/150

提交評論