前言:
需求对于我们IT人来讲是一个再熟悉不过的名词了,如何在项目开发周期做需求,那就是各有各的道了,下面是我对软件开发过程中对做需求的理解和总结。希望能给大家带来一点不同的感官。
1、什么是需求,需求分析在整个开发周期的作用。
对于需求概念来讲就是功能+质量+约束。在整个开发周期中,需求是整个开发的基础。需求分析成功,则软件风险就减少了一半。
这么一讲,还是蛮空洞的,对于我们来讲如何进行需求分析,它的流程是什么,每步流程的标准又是什么呢?
本人在需求操作中,主要分为三个阶段。
第一阶段:确定项目的大背景。第二阶段:项目本阶段的核心需求定义和确定,第三阶段:项目详细需求分析。
2、在需求过程中的三个里程碑
2.1 第一阶段 确定项目的大背景
确定项目的大背景,就是充分的了解项目的领域,客户对项目的期望值。其次,对于企业项目来讲,在确定项目目标后,还要进一步的了解客户的企业框架。当前项目在企业框架中位置,第三方接口定义等等。
在考虑到完成业务上的预景后,接下来就是项目实现技术实现方案,选择实现项目的技术框架(通常包含 开发平台,第三方组件,硬件环境,测试环境,部署环境等)
第一阶段的配置项为《企业建设方案》。
2.2 第二阶段 项目本阶段的核心需求定义和确定
在确定了需求的大背景下,下一步,我们需要做的内容就是确定项目的核心功能,关键的质量,和相关的约束。在这边我要着重向大家说明一下温昱老师的二维需求表。
表的格式为:
功能 | 质量 | 约束 | |
业务及需求 | |||
用户级需求 | |||
开发级需求 |
功能:
软件功能又分关键功能,次要功能等。在第二阶段,我们要做的就是分辨并整理关键功能,和次要功能。根据项目的规划,找出当前需要实现的关键功能,与此同时,对于高风险,技术风险大的功能,或者关键功能中相互冲突的功能进行前期取舍。(当然啦,在取舍和确定具体的功能范围,还是要和客户之间相互沟通的)
最后要补充一点的,就是确定关键功能这个过程是不停递归的一个过程。