四、需求的收集和整理

  需求分析是從用戶的角度描述用戶的數據、活動、地點(位置)、人員組織、計劃、業務邏輯(業務目標)等相關信息的一個過程,它涉及到如何收集用戶的需求,以及如何將這些需求規范化等方面。需求分析的第一步工作是界定需求的邊界,主要描述項目的、項目的業務要求、項目所要滿足的基本特性等。

  在第三節中我們簡要描述了如何從技術層面上使需求分析的過程規范化,本節主要闡述如何進行需求的收集和整理。

  4.1、數據

  數據是指需求涉及的相關靜態信息。在需求分析過程中,數據是從用戶的角度來描述的;在系統設計過程中,數據用面向對象的方法進行整理和規范,終形成Class Diagram。

  4.2、活動

  活動是項目要滿足的業務邏輯和規則。它至少有二個層次:

  ◆基本目標

  簡要描述業務邏輯和規則。

  ◆功能描述

  描述活動執行的過程,以及在執行過程中涉及到的相關資源、活動之間的關聯、依賴性、約束性等。

  考慮到需求分析和系統設計的一致性。活動在系統設計階段,可采用用例來表示,通過序列圖、活動圖、以及狀態圖來進行細化。

  4.3、人員組織

  描述用戶人員組織結構。如企業領導、部門、部門人員、相關客戶信息等。

  4.4、地點(位置)

  描述需求和地點、位置相關的系統設計中網絡、分布式計算的前置條件。

  五、需求分析軟件

  目前流行的需求分析軟件有IBM公司的RequisitePro、Telelogic公司的DOORS、Borland公司的CaliberRM。這些軟件均能滿足本文中描述的對需求分析功能上的要求,但各有特點,RequisitePro和大多數系統設計軟件有較好的結合,目前的版本對Office 2003的支持不夠。DOORS在實時系統的需求分析中有良好的表現。CaliberRM對Office有很好的支持,中文的問題也解決得很好,支持Office 2003的版本。

  六、結論

  需求具有漸進的,不斷變化的特點。需求分析是一個需求分析團隊的工作,在需求分析理論的指導下需要采用需求分析的商業化產品,這樣才能保持需求和設計的同步,沒有這種同步,需求分析不會有太大的實際意義。

  大多數系統設計產品如Rose、Together、Tau、Rhapsody(實時系統的系統設計工具)等,具有部分的需求分析功能,嚴格意義上它們不是需求分析的產品。但他們均有和需求分析產品的接口。

  一般說來軟件項目涉及到的很多方面,如需求分析、配置/變更管理、系統設計/建模、測試等。本文只是簡要描述了作者對需求分析的一些體會。