如何编写高质量“软件需求说明书”.docx
《如何编写高质量“软件需求说明书”.docx》由会员分享,可在线阅读,更多相关《如何编写高质量“软件需求说明书”.docx(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、如何编写高质量“软件需求说明 书”现在你正在设计其中的一个特性,已经发现了需求的一 些问题。你可以用多种不同的方式解释需求15;需求9的说 明正好与需求21相反,你因该相信哪一个?需求24非常含 糊,你根本不明白它的意思;你不得不花上一个小时与2位 开发人员讨论需求30,只因为你们对其各有各的理解;并 且,唯一能够澄清这些问题的客户没有给你们答复。你被迫 破解众多需求的含义,并且你能预料到,如果你错了,你要 做大量的重复工作。许多软件需求说明书(SRS)写得非常糟糕。任何产品的 质量需要其原始材料的质量保证,糟糕的软件需求说明书不 可能产出优秀的软件。不幸的是,几乎没有开发人员受过与 需求的抽
2、象、分析、文档、质检有关的教育。而且,没有非 常多的好需求可以借鉴学习,局部原因是很少有工程可以找 到一个好的借鉴,其他原因是公司不愿意将其产品说明书放 在公共区域。本文描述了高质量需求表达和解释的几个特征。我们会用 这些观点去检查一些有缺陷的需求,痛改前非。我将谈谈如 何写好需求的一些技巧。您可能希望通过这些质量标准来评 估您的工程需求。对于修改,可能会晚一些,但你会学到有 用的东西,帮助你的小组下次写出更好的要求。不要期望能够编写出一份能表达需求应具备的所有特性 的SRS。无论你怎么细化、分析、评论和优化需求,都不可能到达完美。但是,如果你牢记这些特性,你就会编写出更好 的需求,生产出更好
3、的产品。高质量需求表达的特性 我们如何从一些有问题的需求中分辨出好的软件需求?这一节将分别介绍需求表达应表达的6个特性,下一节将从 整体上介绍SRS文档应具备的特性。判断每个需求是否具备 应有的特性的一种方式是由持有不同观点的工程资金管理人 所作的正规检查。另一种有力的方法是在编写代码前依据需 求编写测试例子。测试例子能够明确显现在需求中描述的产 品行为(特性),能够显现缺陷、冗余和含糊之处。正确:每个需求必须准确描述要交付的功能。正确性依赖 于需求的来源,比方真实的客户或者高层次的系统需求规 范。一个软件需求与其对应的系统需求规格说明书冲突是不 正确的(当然系统需求规格说明书本身也不一定正确
4、)。只有用户的代表能够决定用户需求的正确性,这就是为 什么在检查需求时,要包括他们或他们的代理的关键所在。 不包括用户的需求检查就会导致开发人员的:“这是没意义 的“,“这可能是他们的意思”等众所周知的猜想。可行性:在的能力、有限的系统及其环境中每个需 求必须是可实现的。为了防止需求的不可行性,在需求分析 阶段应该有一个开发人员参与,在抽象阶段应该有市场人员 参与。这个开发人员应能检查在技术上什么能做什么不能 做,哪些需要需要额外的付出或者和其他的权衡。必要性:每个需求应载明什么是客户确实需要的,什么 要顺应于外部的需求,接口或标准。每个需求源于你认可、 具有权说明需求的原始资料,这是考虑必需
5、的另外情形(译 注,此句翻译不顺,请参照原文:Another way to think of“necessary“ is that each requirement originated from a source you recognize as having the authority to specify requirements) o跟踪每个需求回溯到出处,如 用例,系统需求,规章,或来自其他用户的意见。如果你不 能标识出处,可能需求只是个镀金的例子,没有真正的必 须。优先权:为了说明在一个详细的产品版本中应包含哪些 要点,需要为每个需求,特征,或用例分配实现的优先权。 客户或其代理都
6、应有强烈的责任建立优先权。如果所有的需 求都被视为同等重要,那么由于在开发中,预算削减,计划 超时或组员的离开导致新的需求时,工程经理将不能起到作 用。优先权的作用是提供给客户的价值,实现的相关费用, 实现相关联的有关技术风险。我是用3种级别的优先权:高优先权说明需求必须表达 在下一个产品版本中,中优先权说明需求是必须的,但是如 果需要可以推迟到晚一些的产品版本中,低优先权说明有它 很好,但我们必须认识到如果没有充足的时间或资源,它可 以被放弃掉。明确:需求表达的读者应只能从其得到唯一的解释说明,同样,一个需求的多个读者也应达成共识。自然语言极 易导致含糊。要防止使用一些对于SRS作者很清楚但
7、对于读 者不清楚的主观词汇,如:用户友好性,容易,简单,快 速,有效,几个,艺术级,改善的,最大,最小等等。每写 一个需要都应简洁,简单,直观的采用用户熟知的语言,不 要采用计算机术语。检查需求模糊的有效方式包括需求说明 书的正规检查,根据需求写测试,建立用户的假想来说明产 品某个特定局部预期的特性。验证:看能不能制定一个测试计划或者其他的验证方法, 比方检查和演示,来确定产品中的每一个需求是否正确实 现。如果需求是不可验证的,那么决定需求是否被正确实现 就是一个判断的问题。不一致、不可行和不清晰的需求也会 导致不可验证。任何需求,如果产品将支持任何东西,也是 无法验证的。高质量需求说明的特征
8、一个完整的SRS不仅是包括长长的功能性需求列表,还 包括外部接口描述和一些诸如质量属性,期望性能的非功能 性需求。下面描述了高质量的SRS的一些特性。完整:不应该遗漏要求和必需的信息。完整性也是一个 需求应具备的。发现缺少的信息很难,因为根本不存在。在 SRS中将需求以分层目录方式组织,将帮助评审人员理解功能 性描述的结构,使他们很容易指出遗失的东西。在需求抽象时,相对于系统功能,你过多的注意用户的 业务,将导致在需求的全局观和引进不是真正必需的需求上 显得缺乏。在需求抽象上,应用用例方法会发挥很好的作 用。能够从不同角度观察需求的图形分析模型也可以检查出 不完整性。如果你知道已缺少一些信息,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 如何 编写 质量 软件 需求 说明书
限制150内