ieee對需求定義為:①使用者為了解決問題或達到某些目標所需要的條件或能力。②系統或系統部件為了滿足合同、標準、規範或其他正式文件所規定的要求而需要具備的條件或能力。③對①或②中的乙個條件或一種能力的一種文件化表述。通過這個定義了解了需求並不是使用者想要的,想實現的,了解了需求本質的內涵。
功能需求是軟體系統需求中最常見、最主要和最重要的需求,同時也是最為複雜的需求。功能需求通常體現為三個層次:業務需求、使用者需求、系統需求。
業務需求描述了組織為什麼要開發系統,滿足使用者的業務需求。業務需求是使用者需要在業務上使自己更加方便的開展工作的需求。
使用者需求表達了使用者對系統的期望,但是要透徹和全面地了解使用者的真正意圖,僅僅擁有期望是不夠的,還需要期望的背景知識。因此,對所有的使用者需求,都應該有充分的問題域知識作為背景支援。而在實際工作中,使用者表達自己的期望時,通常不會提及需求所涉及問題域知識,所以需求工程需要根據使用者的需求整理完整的問題域知識。
系統需求是使用者對系統行為的期望,一系列的需求聯絡在一起可以幫助使用者完成任務,達到使用者需求,進而滿足業務需求。需求工程可以直接對映為系統行為,定義了系統中需要實現的功能,描述了開發人員需要實現什麼。
將使用者需求轉化為系統需求的過程,在該過程中,首先需要分析問題領域的特性,從中發現問題域和計算機系統的共享知識,建立系統的知識模型。然後將使用者需求部署到系統模型中,即定義系列的系統行為,讓它們聯合起來實現使用者需求,每乙個系統行為即為乙個系統需求。
需求工程的應執行的路線:1.問題分析:明確問題;定義業務需求;制定解決方案及系統特性。2.需求獲取 3.需求分析 4.文件化和驗證。需求工程的執行路線簡明地展示了乙個需求工程如何執行的流程,也了解了需求工程的整個過程。
書中也列舉了常見的需求定義錯誤,更好地解釋了之前需求的定義,也更加讓我們了解了需求的定義,以及產生需求定義錯誤的原因,通過分析原因可以讓我們在實際過程中注意到並且避免。也可以有更好的方法來避免這些錯誤。
需求工程活動:1.需求獲取;2.需求分析;3.需求規格說明;4.需求驗證;5.需求管理
需求獲取是從人、文件或者環境中獲取需求的過程。在需求獲取中,需求工程師需要執行的任務包括:1.收集背景資料;2.定義專案前景和範圍;3.選擇資訊的**;4.選擇獲取方法,執行獲取;5.記錄獲取結果。
需求分析的主要工作室通過建模來整合各種資訊,從而使人們更好地理解問題。在需求分析階段,需求工程師主要的任務包括:1.背景分析;2.確定系統邊界;3.需求建模;4.需求細化;5.確定優先順序;6.需求協商
需求規格說明:獲取的需求需要被編寫成文件,其中專案前景和範圍文件記錄記錄業務需求、使用者需求分析記錄使用者需求、系統需求被寫入需求規格說明記錄系統需求。需求工程師在這個階段的主要工作包括:1.定製文件模板;2.編寫文件
需求管理:需求管理會進行變更控制,納入和實現合理的變更請求,拒絕不合理的變更請求,控制變更的成本和影響範圍。需求管理階段的主要任務包括:1.建立和維護需求基線集;2.建立需求跟蹤資訊;3.進行變更控制
這一部分詳細介紹了需求的定義及分類,需求過程的活動,使我們了解了需求工程的作用和意義,明確了軟體需求的**和去向。還針對需求工程中理論與實踐並重的現狀,對理論、技術和實踐方法進行了融合。
《需求工程 軟體建模與分析》閱讀筆記03
一 需求工程過程概念介紹 一 概述 1.規格說明 需求工程過程是系統開發中需求開發活動的整合,它以使用者所面臨的業務問題為出發點進行分析和各種轉換,最終產生乙個能在使用者環境下解決使用者業務問題的系統方案,並將其文件化為明確的規格說明。2.生命週期 需求工程也有屬於它自己的生命週期模型,即存在針對需...
《需求工程 軟體建模與分析》閱讀筆記三
需求管理是來完成需求開發結束後,保障系統質量的乙個管理活動。需求管理在實踐中的作用有 增強專案涉眾對複雜產品特徵在細節和相互依賴關係上的理解 增進了專案涉眾之間的交流 減少了工作量的浪費,提高了生產力 準確反映社會的狀態,有助於專案決策 改變專案文化,使得需求的作用得到重視和有效發揮。維護需求基線 ...
《需求工程 軟體建模與分析》閱讀筆記一
軟體經歷了以 機器 為中心,以 應用 為中心,以 企業 為中心的發展過程,隨著 應用 為中心的軟體發展,原來的個體化 軟體作坊式 的軟體開發模式顯示出了很多的問題,針對這些問題,人們在不斷地討論與制定對策,在軟體開發技術和軟體開發過程與管理方面都取得了很多進步。根據很多方面的調查顯示,在所有的軟體開...