软件需求设计评审的八项要点
项目需求阶段是一个项目开头阶段,所谓的万事开头难,做好了项目需求阶段,后面的阶段性工作***能更得心应手了,作为一个项目监理工程师,一下来谈谈项目需求文档审核要点,如有不适之处,请各同仁指出批评。
需求确认是需求开发过程的第四个阶段,前三个阶段按顺序分别为需求获取、需求分析、编写需求规格说明。需求确认活动要力图确保如下几点:
1.需求规格说明正确描述了预期的、满足各方涉众需求的系统能力和特征。
2.所述之软件需求是由系统需求、业务规格和其他来源中正确推导而来的。
3.需求是完整和高质量的。
4.需求的表示在所有地方都是一致的。
5.需求为产品设计和构造提供了基础。
需求确认活动可以确保需求符合需求陈述的特征,包括完整、正确、可行、必要、具有优先级、无二义性和可验证, 同时亦符合好的需求规格说明的特征,即完整性、一致性、易修改和可跟踪性。
一般而言,我们通过需求调研去实现需求确认的目标, 参与调研应事先对业务有一定的了解,能在用户提到业务需求时,能理解用户所表达的意思,******交流能在一个平面, 经过对需求分析输出需求规格说明书,对需求规格说明的确认主要有以下几个问题需求注意。
一、 注意对需求规格说明的正确性进行确定
需求规格说明书的正确性通常可以从如下方面得以体现:
1、是否有需求与其他需求相互冲突或者重复
通常一份长达几百页的需求规格说明书都不会是一蹴而***的,它可能是系统分析师几个夜晚的心血之作。正是因为撰写过程的连续性,可能导致同一份文档中前后名词定义不一致,前后观点上有重叠或差异的情况出现,这需要我们在撰写报告前首先要在思想上形成统一概念, 可使术语列表贯穿整份文档以达提纲挈领之效。在实际工作中审核需求说明书,经常会遇到文档中部分需求前后描述不一致的情况,这需求承建方对文档质量做好把关,监理工程师对这部的审核也需要更用心。
2、是否清晰、简洁、无二义地表达了每个需求
“清晰”是让人能够读懂:“简洁”是让人愿意去读:“无二义”决定“读”的效果,是让大家对需求描述的理解能够达成一致 。
需求文档中似是而非的概念定义是需求书应该避免的。换句话说,如果一份需求说明书没能给人以清晰、简洁和无二义的阐述,则需求文档的审核是没有进行下去的必要,同时也无法进行下去。需求文档的审核***是要让用户能读懂需求说明书,并且用户的理解内容***是分析师们所描述的内容。
3、需求的确认是否经过了用户的确认
用户需求确认是需求分析工作中***重要的工作,用户对需求的确认了则能很好的******开发阶段对需求反复的变更,如果连需求都不能很好地被确认,则开发实现阶段更是没有把握控制了。
4、需求范围的控制
划分项目范围和区分系统边界同样是需求说明书的一个任务,不要对需求书作出超范围的论述和延伸,需求说明书它是软件工程的一个重要环节。
5、核实检查每个需求都没有内容和语法上的错误
按照传统的需求列表方式,需求像菜单一样被一条条列出来,构成需求项的主要栏位包括:需求ID、 需求描述、优先级、来源和状态等。 通常需求首先要经过“拼写检查”,******没有拼写上的问题,然后通过逐行浏览修改那些在内容或行文上出现问题的需求。
6、在现有的资源内,是否能实现所有的需求
需求规格说明要考虑可行性的问题。事实上,分析师的关注层面是价值驱动和成本驱动方面。分析师应该明白不是所有的需求都要去实现,一些看上去很明显与涉及用户有冲突的、费力不讨好的需求应该果断地舍弃。
举例而言,企业中的用户可分为三种类型:决策层用户、管理层用户、操作层用户。每种用户所代表的价值取向是不同的,决策和管理层希望系统处理业务是业务安全优先的,而操作系统用户则是更多地考虑方便性的。国内某电子贸易公司,从自身业务安全考虑,规定了系统不允许“借货”,意即代理商的产品直接发到客户根本不经过本贸易公司的物流部门。如果操作层用户提出了这样的“借货”需求,倒是可以方便他的日常处理,但却违背了公司的根本利益。很显然,这样的需求肯定是有所不为的。
7、每一条特定的错误信息,是否都是单一的和具有含义的
不要忽视错误信息的定义, 它必须具有单一性。如果过于笼统地定义错误信息则和没有定义的效果是一样的。