四、 需求的收集和整理
需求分析是从用户的角度描述用户的数据、活动、地点(位置)、人员组织、计划、业务逻辑(业务目标)等相关信息的一个过程,它涉及到如何收集用户的需求,以及如何将这些需求规范化等方面。需求分析的第一步工作是界定需求的边界,主要描述项目的、项目的业务要求、项目所要满足的基本特性等。
在第三节中我们简要描述了如何从技术层面上使需求分析的过程规范化,本节主要阐述如何进行需求的收集和整理。
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(实时系统的系统设计工具)等,具有部分的需求分析功能,严格意义上它们不是需分析的产品。但他们均有和需求分析产品的接口。
一般说来软件项目涉及到的很多方面,如需求分析、配置/变更管理、系统设计/建模、测试等。本文只是简要描述了作者对需求分析的一些体会。