世間萬物的產生追其源皆為乙個起因——那就是其他事物對其的需求,軟體也不例外,乙個軟體的誕生,往往是某些人或個體在生活或工作上遇到了一些問題,然後產生了一些需求,進而向工程師提出製作軟體的要求。由此可見,需求對於軟體工程的重要性,它是軟體的產生的根本原因。
那麼需求究竟是什麼?需求就是產品支援其擁有者的業務所必須完成的事,或讓擁有者接受並感興趣所必須具備的品質。什麼是軟體需求?軟體需求是指使用者解決問題或達到目標所需條件或權能(capability)。以及
系統或系統部件要滿足
合同、標準、規範或其它正式規定文件所需具有的條件或權能。也是一種反映前面兩項所述條件或權能的文件說明。它包括功能性需求及非功能性需求,非功能性需求對設計和實現提出了限制,比如效能要求,質量標準,或者設計限制。
對於軟體需求工程的解析,軟體工程主要活動包括以下幾點:需求、系統分析和設計、編碼、測試以及執行與維護。以上幾點可以用乙個金字塔形象地概括出來,金字塔從上到下依次為:需求:1、設計:
5、編碼:
10、測試:
20-50
和執行和維護:
200。最一開始我的理解是:以上幾點在該金字塔中體現的是重要性所佔的比重。然而一般僅將需求稱為工程,主要原因在於:如果在需求階段只需要花費
1個時間單位就能夠改正的錯誤;如果推遲到設計階段改正就需要
5個時間單位;如果推遲到測試階段就可能達到
20-50
個時間單位;如果推遲到執行與維護階段就可能需要花費
200個時間單位。由此可見,我的理解較為偏執,是佔的比重固然不錯,但是這裡指的僅僅是時間上所佔的比重,例如:提出乙個需求僅僅需要
1分鐘,而工程師需要花費
5分鐘去設計,花費
10分鐘去編碼,最後還需要
20-50
分鐘去測試,花費
200分鐘去執行和維護。
對於需求工程的定義個範疇:需求階段=紙上談兵。隨著開發階段的不斷深入,產生的人工製品也就不斷增多。要進行修改,則需要考慮的東西就越多,代價越大。需求工作是使用者需求到技術解決方案的轉換,所以被稱為「需求工程」。需求工程主要包括需求開發和需求管理兩個主要範疇。需求開發:收集、分析、整理、編寫、驗證需求的全過程,重點在於開發出高質量的需求規格說明書。需求管理:對需求的變化全過程進行跟蹤。重點在於確保開發的軟體滿足需求的定義。
從金字塔中我們可以看出對於乙個軟體來說,需求的重要性,它是乙個軟體產生的根本原因,雖然它所佔的時間比重較少,但是其重要性所佔的比重是巨大的,沒有需求就沒有其他的實現,固然也就構不成金字塔。
軟體需求工程過程
中國uml論壇 軟體需求工程過程 srep 一 開始 1.專案經理根據專案特點,指定對過程 的具體要求 2.專案經理制訂專案的標準,包括 dts 缺陷型別 tra 風險型別 trs 需求型別 等,在過程 中按標準引用.二 計畫 1.計畫經理估算需求開發時間 2.計畫經理完成 spt 進度計畫 tpt...
《軟體需求工程》筆記
什麼叫客戶?直接或間接從產品中獲得利益的個人或組織。什麼是軟體客戶?提出要求 支付款項 選擇 具體說明或使用軟體產品的專案風險承擔者或是獲得產品所產生的結果的人。ps 那麼文縐縐,誰給錢不就是客戶?完成的軟體存在的問題可能有 對軟體的開發成本和進度的估計不準確 使用者對已完成的系統不滿意 軟體的質量...
軟體工程 軟體需求分析
1.深 入 描 述 軟 件 的 功 能 和 性 能 2.到確 定 軟 件 設 計 的 約 束 和 軟 件3.同 其 它 系 統 元 素 的 接 口 細 節 4.定義 軟 件 的 其 它 有 效 性 需 求 需 求 分 析 的 任 務 就 是 借 助 於 當 前 系 統 的 邏 輯 模 型 導 出 目...