软件需求管理

软件需求管理

 这篇文章的目录结构是我拟定的,内容大部分是参考 上和书上资料,也有一部分是我自己总结的

前言 需求和需求管理问题

1 需求和需求问题

       需求是项目的基础,只有准确了解客户的需求,以之为基础,我们才能顺利地完成项目,在预算内按时提交高质量的对客户有用的产品。然而,有头无尾的半截子工 程,用户不满意的工程,难以投入实际环境使用的工程,经费严重超支和进度被拖延的工程,并不是个别现象,而造成这种项目失败的原因非常多,其中最糟糕的莫 过于在需求阶段产生的重大缺陷,缺少来自用户的信息,需求不够完整及需求发生了变化。统计资料显示,返工的成本占总开发成本的30% – 50%,而70%-80%的返工是需求错误引起的。

2 需求管理和需求管理问题

需求管理是对需求开发的管理,伴随需求开发全过程、软件生命周期全过程。如果不能采取有效手段来实施需求管理活动,由此导致的结果是用户和开发团队对产品需求的理解相去甚远。项目需求获取也许是最困难,最关键,最容易出错和最需要沟通的一个环节,它的模糊性、不 确定性、变化性和主观性的特点,使项目需求管理更具复杂性。如果不能有效处理需求变更这个特殊和困难的挑战,项目计划将会一再调整,交付日期一再拖延,项 目团队人员的士气必将越来越低落,这将直接导致项目成本增加、质量下降及项目交付日期延迟。因此项目组必须拥有需求管理策略和需求过程。

1 需求管理目标

需求管理的目的就是要控制和维持需求事先约定,保证项目开发过程的一致性,使用户

得到他们最终想要得产品

span style=”Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;”>         确保需求调研的成功,即需求调研中要从人员、方法、工具方面组织好调研活动

span style=”Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;”>         确保需求文档中描述的需求是用户需要的需求,即要和用户反复确认和商讨需求

span style=”Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;”>         确保需求文档中描述的需求是最新的需求,即不断跟新需求文档版本

span style=”Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;”>         确保需求文档中的需求是可以度量的,即对需求进行详细标识

span style=”Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;”>         确保需求文档中的需求是可跟踪的,即可控制和可管理

2 需求管理任务

       从需求管理目标看,确保得到一份正确的需求,然后对需求进行详细分解,达到度量需求的目的,对需求的每个小项进行跟踪,可以从用户需求追踪到设计、编码、测试、验收;反过来也可以由后面的过程追踪到前面的过程,所以需求管理要包括下面的任务

span style=”Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;”>         需求调研计划:包括客户人员、自己人员、需要的资料、设备、规范、进度

span style=”Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;”>         组织双方对需求进行评审:确保需求的正确、一致

span style=”Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;”>         度量需求文档中的需求,标识需求项(作为需求跟踪的唯一标识)、重要等级。

span style=”Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;”>         对需求变更进行评审,然后对需求变更进行版本维护

span style=”Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;”>         对需求状态跟踪

 

 

3 需求管理组织

       从需求管理任务看,需求管理的职责可以分成:

span style=”Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;”>         需求调研计划制定

span style=”Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;”>         需求分解,标识

span style=”Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;”>         需求跟踪

span style=”Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;”>         评估需求变更影响

span style=”Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;”>         维护需求文档

span style=”Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;”>          

  根据上述职责、根据项目情况设置适当岗位

4 需求管理周期以及和其他活动关系

span style=”Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;”>         必须与需求工程的其它活动紧密整合

谈需求管理一定不能脱离需求工程。从完整意义上讲,需求工程包括了需求获取、需求分析、需求描述、需求验证、需求管理。狭义上,需求管理关心的是需求管理过程的建立,在企业或项目组中需要有一套规范的需求管理过程。而实际上从项目经理的角度上看,可能还有50%甚至更多的精力是用于关注结果的,所以对需求内容的管理与对需求形式的管理是密不可分的。

span style=”Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;”>         与需求开发的关系

组织需求调研活动;组织需求评审活动;分解需求项,标识重要级;对需求变更结果进行维护

 

span style=”Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;”>         与设计的关系

建立设计和需求关系,使之能追踪

 

span style=”Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;”>         与编码的关系

建立编码和设计、需求关系,使之能追踪

 

span style=”Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;”>         与测试的关系

建立测试和编码、设计、需求关系,使之能追踪

 

 

 

5 需求管理内容

第1节           需求质量管理

5.1.1 需求质量属性

       功能属性

       功能正确性:需求定义的功能是否可以正确执行,并且产生理想的数据

       非功能属性:对用户重要属性

       有效性:系统故障概率

       效率:处理器、磁盘、通信带宽资源占用

       灵活性:可扩展性

       安全性:防止非法访问和数据丢失

       互操作性:和其他系统交互数据的难易程度

       可靠性:软件不发生故障的概率

       健壮性 :系统遭到非法输入、相关软件和硬件缺陷或异常操作时,能继续正

确运行功能的程度

       可用性:系统使用的方便性

       对开发者重要的属性

       可维护性:做一次纠错或者更改的难易程度

       可移植性:把软件从一个运行环境移到另一运行环境的难易程度

       可重用性:复用

       可测试性:查找错误的难易程度

       软件度量属性需要根据客户要求进行取舍

5.1.2 需求质量验证

       需求验证过程见,W验证模型,模型中验收测试和系统测试属于需求质量验证,集成测试和单元测试属于设计质量验证和编码质量验证

软件需求管理

2 需求风险管理

5.2.1 风险管理

       风险管理中先要识别风险,然后分析风险发生条件、可能性、危害、避免方法,最后对系统中所有分析进行计划管理,有效控制风险,降低风险的危害

      

风险条目跟踪

 

确定日期:

 

撤销日期:

 

描述:描述风险

 

可能性:发生概率

 

影响:造成损失

 

危害值:可能性*影响

 

降低风险计划:

 

负责人:解决风险的责任人

 

截至日期(完成降低风险措施的截止日期)

 

 

 

5.2.2 与需求相关风险

span style=”Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;”>         需求获取:

ü         产品试图与范围:如果开发方和客户没有就项目范围达成一致,适当的意见,会导致

                                   开发范围逐渐扩大

ü         需求开发时间:时间安排不合理,隐藏的工作没有规划出来,开发支持工作配合不及时

ü         需求规格说明书的完整性和正确性:需求说明描述出现问题

ü         明确非功能要求:需要确定肺功能性需求

ü         需求决定权:确保在需求决定权上有正确的人选

ü         未加说明的需求 :识别用户隐含的期望要求

ü         从解决方案中找到问题本质:用户推荐的解决方案掩盖了用户实际需求,分析人员要从客户叙说的解决方案中提炼其本质

ü         用户不能正确表达自身的需求:在实际开发过程中,常常碰到用户对自己真正的需求并不是十分明确的情况,他们认为计算机是万能的,只要简单的 说说自己想干什么就是把需求说明白了,而对业务的规则、工作流程却不愿多谈,也讲不清楚。这种情况往往会增加需求分析工作难度,分析人员需要花费更多的时 间和精力与用户交流,帮助他们梳理思路,搞清用户的真实需求

ü         业务人员配合力度不够:有的用户日常工作繁忙,他们不愿意付出更多的时间和精力向分析人员讲解业务,这样会加大分析人员的工作难度和工作量,也可能导致因业务需求不足而使系统无法使用

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2008年5月4日
下一篇 2008年5月4日

相关推荐