西门子TD200文本显示器
读需求,把不懂的、有疑问的做记号,在会上提出来,大家进行讨论。
2.4.2 需求评审的组织与实施1.需求质量审查的目的
本质上是发现哪些二义性需求(不确定需求),尽可能找出遗漏的需求。另外,非功能性需求审查往往是需求审查容易忽略的地方。2.需求质量审查的类别
① 非正式审查:可以根据个人爱好的方式进行审查。把需求分发给相关人员走马观花的方式粗略地看一下和走过场的检查一下。在审查会议中出现某个问题的激烈争论或者混乱场其软、硬件操作环境相容,是否说明了软件对其系统和环境的影响,是否说明了环境对软件的影响。
(4)正确性
需求定义是否满足标准的要求,算法和规则是否有科技文献或其他文献作为基础,有哪些证据说明用户提供的规则或规定是正确的,是否定义了对在错误、危险分析中所识别出的各种故障模式和错误类型所需的反应,是否参照了有关标准,是否对每个需求都给出了理由,理由是否充分,对设计和实现的限制是否都有论证。
(5)可行性
需求定义是否使软件的设计、实现、操作和维护都可行,所规定的模式、数值方法和算法是否对待解决问题合适,是否能够在相应的限制条件下实现,是否能够达到关于质量的要求。
(6)易修改性
对需求定义的描述是否易于修改,是否采用良好的结构和交叉引用表等,是否有冗余的信息,是
从上一阶段的文档查找到需求定义中的相应内容;需求定义是否明确地表明前阶段中提出的有关需求的设计限制都已经被覆盖,如使用覆盖矩阵或交叉引用表;需求定义是否便于向后继开发阶段查找信息。
(9)易理解性
是否每一个需求都只有一种解释;功能性需求是不是以模块方式描述的,是否明确地标示出其功能;是否使用了形式化或半形式化的语言,语言是否有歧义;需求定义是否只包含
可以认为需求评审也西门子需求测试范围,但是这里提的需求测试和评审不同,它是测试部门来测试需求是否符合用户的要求。显然这是有难度的,传统的测试工作都是从单元测试开始,编码之前全部做的都是计划性工作。测试人员对需求分析进行测试?那么前提条件是测试人员必须熟悉需求分析,这对测试人员的要求提高了。将需求测试人员作为测试人员中的特殊种类来培养,能够对需求是否正确进行检查,这样就能够在需求阶段就引入测试。当然需求测试人员可以是经过培训的需求分析人员,但是他必须脱离需求组,加入测试部门,这样才能保证测试不是自己测自己的程序,以保证测试的效果。
需求测试不等同于后面阶段集成测试或者系统测试,后面的测试都是软件已经编写完成的条件下,判断软件是否会出错。而需求测试,只是验证需求是否真的是用户期望的。对于需求的功能测试,可以用RAD工具建立界面原型,用户通过原型的操作来确定是否需求跟他的期望相同。对于那些用户不合理的需求,测试人员要能够分辨出来,并跟用户进行核对,确定用户的真实需求。可以说需求测试是需求测试人员和用户共同来执行的。
之所以将需求测试和需求评审并行进行,是因为需求评审是项目的各方干系人共同进
多,因此不可能耗费太长时间。而需求测试执行的时间可以比评审时间长,有专门的关注方面,能够检查出不合理的需求分析,在项目前期进行错误纠正,往往比实现后纠正要节约几百甚至几千倍的成本。2.需求定义的评审标准
需求评审也称为需求的静态测试,对需求定义的测试着重于测试对用户需求的描述的解释是否完整、准确。下面是根据有关标准整理而成的对需求定义进行静态测试的对照条例。我们把这些条例按照所测试的软件质量因素分成以下10组。
(1)兼容性
界面需求是否使软件系统具有兼容性。
需求工程师取得用户的显性需求后,要仔细地分析用户到底要求软件实现什么功能,用户的表达和需求工程师的理解有时并不会一致,这样会导致用户所想的和说明书上描述的有偏差。并且需求工程师取得用户的需求后必须做仔细透彻地分析,有时用户的需求并不一定正确,可能是用户突然的想法,并不可行。如果需求工程师不能对用户提出的需求进行判断的话,可能辛辛苦苦地实现了用户的需求,结果被用户自己否掉了。用户绝不会将责任揽到自己身上,他们只会说“你们是专家,怎么能怪我呢?”。网络上有一幅漫画形象地描述了信息在产地过程中产生的误差有进入评审的初步条件。
需求评审的规程和其他重要产品(如系统设计文件、原始码)的评审规程非常相似,主要差别在于评审人员的组成不同。前者由研发方和客户方的代表一起组成,而后者通常来源于研发方内部。
有人问:需求评审研究评审什么?要细到什么程度?怎样进行?
严格地讲,应当检查需求文件中的每一个需求,每一行文字,每一张图表。评判需