需求编写的几点经验之谈.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
需求编写的几点经验之谈

需求编写的几点经验之谈 关键字:CMMI 需求管理软件?????? ??作者:亚远景科技有限公司 转载请注明出处? ? 近年来,“需求管理”正成为中国当前工程应用和商业热域的热点。目前,有关需求管理的实践大量应用于软件开发工程等领域,软件开发团队在开始一个新的项目之前,会通过详细的用户需求调研准确捕获了用户需求并汇总分析后,再进行下一步的设计与实施工作,以避免因未能正确识别用户的真正需求而导致不断返工和工作成本增加。对于从事软件工程的程序员们来说,在进行项目开发之前创建和管理良好的需求是非常重要的第一步,同时也是一项挑战。需求表述不当可带来重大影响,如耗时返工、延期交付及预算超支,严重的还可造成业务违规。因此,开发团队需要首先有效定义和管理需求,才能确保在保证进度和控制预算的同时,产品能够满足用户所需。本文旨在阐述良好需求描述的特征,并介绍有助于更好地编写软件工程需求说明文档的几点经验,以帮助软件开发团队能够更快更好地取得投资收益。 ? 1.高质量需求的特征 首先的问题是,何为良好的需求?一般而言,一项编写良好的需求描述,应该包含以下特征: 良好需求的特征 含义 正确(Correct) 技术可行,内容合法 完整(Complete) 能够表达一个完整的想法 清晰(Clear) 不模棱两可,不易被误导 一致性(Consistent) 不与其它需求相冲突 可验证性(Verifiable) 可验证系统能够满足用户需要 可追踪性(Traceable) 可唯一识别并进行跟踪 可行性(Feasible) 可在预期成本和计划进度内完成 模块化(Modular) 可单独变更而不会造成较大影响 独立于设计(Design-independent) 不包括项目设计和实现的细节、计划信息等 ? 2. 提高需求编写质量的十佳经验 在明确了何为良好的需求之后,以下介绍几点可以帮助开发团队编写出更好的需求描述的方法,加速软件工程投资回报率。 经验1:将需求结构化(Structuring) 每一项需求既不能被重复描述也不能被遗漏,诀窍之一是将需求结构化。需求组织应具有良好的结构,以增进理解,同时避免出现重复和忽略的情况。同时,须具备对需求的向上和向下的追溯能力之后,团队才能够评估需求的覆盖范围。结构化组织需求是控制和改善需求质量的第一步。 ? 经验2:重视非功能性需求(Constraints) 对于编写需求说明书而言,涉及法规遵从和提高软件系统质量的非功能性需求(又称约束条件,Constraints)同样重要,它们通常包括软件的性能、界面和可维护性等方面。编写良好需求应包含对约束条件的覆盖,原因是一旦如下领域(例如,性能、可靠性和易用性等)在开发完成后出现缺陷,通常都无法在系统中对其进行重新设计。因此,在项目初期将所有类型的非功能性需求考虑在内,可帮助开发团队大幅提高项目成功的几率。 ? 经验3:将需求可视化(Visualization) 大多数需求分析人员发现建模有助于直观化文字形式的需求。无论是在白板上绘图、使用Microsoft PowerPoint演示工具,还是仅仅在脑海中构建一个模型,都可视为一种建模方法。以上这种图型化的文档应与文字形式的需求描述一起统一管理,以确保一致性、可跟踪性和变更控制能力。可视化需求建模提供了一种与客户及最终用户沟通的简单而有效的方法,通过该方法可较容易地掌握客户和最终用户的需求。此外,图型化还有助于阐明需求,增进软件项目所有相关人员之间的沟通与协作。 ? 经验4:使需求具备可测试性(Testable) 产生良好需求的另一种行之有效的方法,就是从初期就确保每个需求具备明确的可验证性,这种做法不仅有助于为项目后续阶段做好准备,还可以帮助编写者保持正确的思路。对于非功能性需求此规则也同样适用,例如,对于“软件必须具有高可用性”这种表述的需求我们无法进行测试,而改写为明确的“普通用户应能够在3分钟内生成一个报告”就使该需求具备了可测试性。 ? 经验5:管理好需求变更 大多数软件工程项目中,来自用户的需求经常会发生变化。随着项目的进展,开发团队要保持清醒的头脑、按照工程要求做出相应调整,并响应不断变化的市场形势和客户需要。仅仅编写出完美的首版需求描述是不够的,如果未能对需求的变更过程进行恰当管理,那么控制不善的变更便可能导致系统和软件功能缺失、返工以及利润损失。开发团队应该实施可靠的、可重复的变更控制流程。 ? 经验6:在客户需求和开发能力之间找到平衡 许多情况下,较少的需求数量有助于产生更加优秀的需求描述。软件工程项目不可能实现既采纳和满足企业所有用户的需求、营销理念和商业计划,同时还符合预算并能按期交付。项目经理必须找到客户需求和开发能力之间的平衡点,确定可为客户带来最大价值,并帮助企业提升创新能力的那些需

文档评论(0)

cgtk187 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档