- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
需求编写十佳的经验
需求编写十佳的经验
需求表述不善可带来毁灭性影响,其所引发的多米诺效应可导致耗时返工、延期交付及预算超支,严重的还可造成业务违规甚至人员伤亡。
近年来,随着ISO9000、CMM/CMMI、六西格码等国际标准逐步引入中国,“需求管理”正成为中国当前工程应用和商业热域的热点。目前,有关需求管理的实践大量应用于软件开发工程等领域,软件开发团队在开始一个新的项目之前,会通过详细的用户需求调研准确捕获了用户需求并汇总分析后,再进行下一步的设计与实施工作,以避免因未能正确识别用户的真正需求而导致不断返工和工作成本增加。
对于从事软件工程的程序员们来说,在进行项目开发之前创建和管理良好的需求是非常重要的第一步,同时也是一项挑战。需求表述不善可带来毁灭性影响,其引发的多米诺效应可导致耗时返工、延期交付及预算超支,严重的还可造成业务违规甚至人员伤亡。因此,开发团队需要首先有效定义和管理需求,才能确保在保证进度和控制预算的同时,产品能够满足用户所需。
良好需求的特征 含义
正确(Correct) 技术可行,内容合法
完整(Complete) 能够表达一个完整的想法
清晰(Clear) 不模棱两可,不易被误导
一致性(Consistent) 不与其它需求相冲突
可验证性(Verifiable) 可验证系统能够满足用户需要
可追踪性(Traceable) 可唯一识别并进行跟踪
可行性(Feasible) 可在预期成本和计划进度内完成
模块化(Modular) 可单独变更而不会造成较大影响
独立于设计(Design-independent) 不包括项目设计和实现的细节、计划信息等
本文旨在阐述良好需求描述的特征,并介绍有助于更好地编写软件工程需求说明文档的十佳经验,以帮助软件开发团队能够更快更好地取得投资收益。
高质量需求的特征
首先的问题是,何为良好的需求?一般而言,一项编写良好的需求描述,应该包含以下特征(见表1):
同时,一项需求描述应该用一个包含主语和谓语的完整句子来表述,使用“应该”“必须”等词来表明其强制性,使用“可以”等词来指明可选性。一个完整的需求还应写明预期达成的目标,并包含质量的达标标准或其它可测量的指标。
提高需求编写质量的十佳经验
在明确了何为良好的需求之后,以下介绍十个可以帮助开发团队编写出更好的需求描述的方法,加速软件工程投资回报率。
经验1:将需求结构化(Structuring)
每一项需求既不能被重复描述也不能被遗漏,诀窍之一是将需求结构化。需求组织应具有良好的结构,以增进理解,同时避免出现重复和忽略的情况。同时,须具备对需求的向上和向下的追溯能力之后,团队才能够评估需求的覆盖范围。结构化组织需求是控制和改善需求质量的第一步。
经验2:把握好用户需要(customer needs)、项目需求(requirments)和合同文本(contractual documents)之间的互动关系
用户需要是指软件的使用者对于软件所能实现的功能的期望及操作便利性上的要求;软件工程项目中的需求,则是将这些用户需要通过特定的描述方法重新表述为程序开发者可以识别并据此工作的说明性语句。
一个项目需求通常会比用户的某项需要在描述上更加共性化,以便满足多个用户的需要。此外还经常会有一份工作合同来约束开发团队和软件使用方之间的工作关系。开发团队要把握好这三个因素之间的互动关系,把它们互相关联起来进行有机的管理,这能大大提高项目成功的几率。
经验3:重视非功能性需求(Constraints)
对于编写需求说明书而言,涉及法规遵从和提高软件系统质量的非功能性需求(又称约束条件,Constraints)同样重要,它们通常包括软件的性能、界面和可维护性等方面。
编写良好需求应包含对约束条件的覆盖,原因是一旦如下领域(例如,性能、可靠性和易用性等)在开发完成后出现缺陷,通常都无法在系统中对其进行重新设计。因此,在项目初期将所有类型的非功能性需求考虑在内,可帮助开发团队大幅提高项目成功的几率。
经验4:将需求可视化(Visualization)
大多数需求分析人员发现建模有助于直观化文字形式的需求。无论是在白板上绘图、使用Microsoft PowerPoint演示工具,还是仅仅在脑海中构建一个模型,都可视为一种建模方法。以上这种图型化的文档应与文字形
原创力文档


文档评论(0)