軟件需求的三個層次


一、理解

今天在課堂上被老師提問到軟件需求的三個層次分別是什么,但是自己並不是很了解,於是就查閱了相關資料並進行了以下總結。

需求分析是軟件工程中的一個關鍵過程。在這個過程中,系統分析員和軟件工程師確定顧客的需要。只有在確定了這些需要后他們才能夠分析和尋求新系統的解決方法。

軟件需求包括三個不同的層次——業務需求、用戶需求和功能需求,當然也包括也包括非功能需求。

(一)概念

1、 業務需求( Business requirement )

  • 描述組織或客戶高層次的目標。業務需求就是系統目標,它必須是業務導向、可度量、合理、可行的。

  • 業務需求通常來自項目投資人、購買產品的客戶、實際用戶的管理者、市場營銷部門或產品策划部門。

  • 業務需求描述了組織為什么要開發一個系統(why),即組織希望達到的目標。一般使用前景和范圍( vision and scope )文檔來記錄業務需求,這份文檔有時也被稱作項目輪廓圖或市場需求( project charter 或 market requirement )文檔。

  • 組織願景是一個組織對將使用的軟件系統所要達成的目標的預期期望。這些最高級別的需求數量很少(2-5條)。

2、戶需求( user requirement ) 

  • 描述的是用戶的目標,或用戶要求系統必須能完成的任務。

  • 通常是在問題定義的基礎上進行用戶訪談、調查,對用戶使用的場景進行整理,從而建立從用戶角度的需求。用例、用戶故事、場景描述和事件等都是表達用戶需求的有效途徑。

  • 用戶需求必須能夠體現軟件系統將給用戶帶來的業務價值,並能夠描述了用戶能使用系統來做些什么(what)。

3、功能需求( functional requirement )

  • 規定開發人員必須在產品中實現的軟件功能,用戶利用這些功能來完成任務,滿足業務需求。

  • 功能需求有時也被稱作行為需求( behavioral requirement ),因為習慣上總是用“應該”對其進行描述:“系統應該發送電子郵件來通知用戶已接受其預定”。

  • 功能需求是需求的主體,它描述的是開發人員如何設計具體的解決方案來實現這些需求(how),其數量往往比用戶需求高一個數量級。

  •  這些需求記錄在軟件需求規格說明(Software Requirments Specification)中。 功能需求描述是開發人員需要實現什么。

4、補充

  • 軟件需求規格說明還應包括非功能需求,它描述了系統展現給用戶的行為和執行的操作等。它包括產品必須遵從的標准、規范和合約;外部界面的具體細節;性能要求;設計或實現的約束條件及質量屬性。

  • 所謂約束是指對開發人員在軟件產品設計和構造上的限制。質量屬性是通過多種角度對產品的特點進行描述,從而反映產品功能。多角度描述產品對用戶和開發人員都極為重要。

  • 需求並未包括設計細節、實現細節、項目計划信息或測試信息。需求與這些沒有關系,它關注的是充分說明你究竟想開發什么。

(二)層次之間關系

 

業務需求是需求定義的產物;

用戶需求是需求捕獲的結果;

軟件需求是需求分析和建模的綜合。

 

 

業務需求和用戶需求只有經過需求分析的轉化,變為產品的功能需求后,才能得以實現。

(三)區別

1、業務需求:公司想如何解決用戶的問題,如何滿足用戶的欲望,並將利益最大化。

2、用戶需求。用戶需要在應用系統中實現什么東西,為實現這個目標,需要用戶提供的全部的詳細的業務說明,業務流程,表格樣式等。

3、功能需求。將用戶需求歸類分解為計算機可以實現的子系統和功能模塊,用設計語言描述和解釋用戶的需求,以達到可以指導程序設計的目的。


 

 二、實例

1、這里以一個拼寫檢查器的軟件為例。

業務需求可能是:“用戶能有效地糾正文檔中的拼寫錯誤。”(即組織希望達到的目標)

用戶需求可能是:“找出文檔中的拼寫錯誤並通過一個提供的替換項列表來供選擇替換拼錯的詞。”(即用戶能用系統來做些什么)

功能需求可能是:“找到並高亮度提示錯詞的操作;顯示提供替換詞的對話框以及實現整個文檔范圍的替換。”(即開發人員需要實現什么)

2、課堂上老師還舉過一個用戶自主郵寄快遞的例子。

需求描述:某快遞公司,就希望利用快遞櫃,來實現用戶自助寄件的需求。

業務需求

案例的業務方是:快遞公司,其業務需求就是:用戶自助寄件。

業務方之所以要建設這個需求,其目的是:希望利用快遞櫃,實現更高效的收件服務,減少人工上門收件的等待、低效、人力投入成本高等問題。

用戶需求

案例的用戶是:每一個要寄快遞的人,那么他們的需求就是:在進行“自助寄件”的過程中,你盡量讓我簡單、易用,高效、快捷。

功能需求

用戶郵寄快遞包含三個流程:填寫快遞單——找到快遞櫃子放快遞——支付郵費

所以我們可以分別從這三個階段具體的分析出功能需求:

  • 填寫快遞單:一鍵登錄、默認發貨地址等。

  • 找櫃子放快遞:驗證碼開啟櫃子、櫃子使用概覽等具體功能。

  • 支付郵費:根據櫃子體積制定相應價格等。

 

所以,在需求分析的過程中,我們首先要充分理解組織方的業務需求,在深入了解系統用戶具體任務的需求,在經過詳細的需求分析后,將業務需求和用戶需求推理轉化為系統的具體功能,即功能需求。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM