软件产品或软件服务的开发始于业主单位的需要、期望和限制条件,需求开发过程识别这些需要、期望和条件,在特定的限制条件下把这些需要和期望转换成产品需求的集合,对这个产品需求集合进行分析,产生一个高层次概念的解决方案,进一步分解直到确定特定产品的构件为止。
需求开发的产品将成为软件设计的基础,需求开发的过程不仅涉及所有的业主单位的需要和期望,除了业主单位的需要和期望外,还可能从所选择的解决方案中派生产品和产品构件的需求。
需求开发的功能分析不同于软件开发中的结构化分析,不是假定面向功能的软件设计。功能分析的功能定义和逻辑分组,合并在一起成为功能体系结构。需求开发涉及对产品基本功能体系结构的进一步演变,这种基本功能体系结构把业主单位的需要和期望赋予到各个功能实体上。
对功能体系结构的细节层次可能需要不断地进行递归分析,直到细化程度足以推进产品的详细设计、采办和测试为止。
从软件产品支持、维护和使用的分析,还能派生出更多的功能需求和界面需求,在分析这些需求时需要予以注意的内容包括:限制条件、技术制约、成本制约、时间限制、软件风险、业主单位未明确(隐含)的问题,以及由开发者业务经验和能力引出的需求。这些分析对需求加以精练,进行派生,形成一个完备的逻辑实体。持续进行这些活动,可以确保需求始终得到恰当的定义。
各省软考办 | ||||||||||