项目管理资源网

您的位置:项目管理资源网 >> 研发制造项目管理

如何做软件需求分析

2010/5/21 10:54:37 |  5710次阅读 |  来源:网友转载   【已有0条评论】发表评论

 前言:

  需求对于我们IT人来讲是一个再熟悉不过的名词了,如何在项目开发周期做需求,那就是各有各的道了,下面是我对软件开发过程中对做需求的理解和总结。希望能给大家带来一点不同的感官。

  1、什么是需求,需求分析在整个开发周期的作用。

  对于需求概念来讲就是功能+质量+约束。在整个开发周期中,需求是整个开发的基础。需求分析成功,则软件风险就减少了一半。

  这么一讲,还是蛮空洞的,对于我们来讲如何进行需求分析,它的流程是什么,每步流程的标准又是什么呢?

  本人在需求操作中,主要分为三个阶段。

  第一阶段:确定项目的大背景。第二阶段:项目本阶段的核心需求定义和确定,第三阶段:项目详细需求分析。

  2、在需求过程中的三个里程碑

  2.1 第一阶段 确定项目的大背景

  确定项目的大背景,就是充分的了解项目的领域,客户对项目的期望值。其次,对于企业项目来讲,在确定项目目标后,还要进一步的了解客户的企业框架。当前项目在企业框架中位置,第三方接口定义等等。

  在考虑到完成业务上的预景后,接下来就是项目实现技术实现方案,选择实现项目的技术框架(通常包含 开发平台,第三方组件,硬件环境,测试环境,部署环境等)

  第一阶段的配置项为《企业建设方案》。

  2.2 第二阶段 项目本阶段的核心需求定义和确定

  在确定了需求的大背景下,下一步,我们需要做的内容就是确定项目的核心功能,关键的质量,和相关的约束。在这边我要着重向大家说明一下温昱老师的二维需求表。

  表的格式为:

  功能 质量 约束
业务及需求      
用户级需求      
开发级需求      

  功能:

  软件功能又分关键功能,次要功能等。在第二阶段,我们要做的就是分辨并整理关键功能,和次要功能。根据项目的规划,找出当前需要实现的关键功能,与此同时,对于高风险,技术风险大的功能,或者关键功能中相互冲突的功能进行前期取舍。(当然啦,在取舍和确定具体的功能范围,还是要和客户之间相互沟通的)

  最后要补充一点的,就是确定关键功能这个过程是不停递归的一个过程。

  质量:

  一般质量分类包含 性能,安全性,可靠性,易用性,可扩展,可维护,可移植等。

  在需求分析中,和关键功能一样,要根据项目的愿景,进行关键质量的筛选。

  在某种情况下软件的质量之间还是有冲突,鱼和熊掌不可兼得的情况,如 可维护性和性能是一对对立的两兄弟。我们还需要对这样的关键质量进行必要的取舍。在作出这样的取舍,依据的标准就来源于我们需求的第一阶段的工作。

  约束:

  软件的约束分好多的角度,

  业务级约束:举例:项目的组织结构和人员信息来源于企业人事系统

  用户级约束:举例:使用客户用一部分是残障人事等,其包含了藏语用户等

  开发级约束:举例:开发人员的技术水平等。

  在调研并完成这样的二维需求表后,及时的和客户沟通,确定关键功能,关键质量和约束等。对二维需求表中的内容进行取舍和确定。

  在第二阶段出的配置项二维需求表

  2.3 第三阶段 项目详细需求分析

  在第二阶段的基础上,我们就可以对项目核心功能进行数据流需求调研分析,业务逻辑分析。并在这基础上编写用户用例 ,数据流转图,业务逻辑图等

  在完成了以上业务核心功能的详细调研分析后,将全部用例和其他内容组合在一起,制定《项目需求规格说明书》。

  在第三阶段出的配置项《项目需求规格说明书》。

    项目经理胜任力免费测评PMQ上线啦!快来测测你排多少名吧~

    http://www.leadge.com/pmqhd/index.html

“项目管理生根计划”
企业项目经理能力培养和落地发展方案下载>>

分享道


网站文章版权归原作者所有,如有认为侵权请联系我们,将于1个工作日内作出处理!
网友评论【 发表评论 0条 】
网友评论(共0 条评论)..
验证码: 点击刷新

请您注意护互联网安全的决定》及中华人民共和国其他各项有关法律法规或间接导致的民事或刑事法律责任
·您在项目管理资源网新闻评论发表的作品,项目管理资源网有权在网站内保留、转载、引用或者删除
·参与本评论即表明您已经阅读并接受上述条款