近年来,“需求管理”正成为中国当前工程应用和商业热域的热点。目前,有关需求管理的实践大量应用于软件开发工程等领域,软件开发团队在开始一个新的项目之前,会通过详细的用户需求调研准确捕获了用户需求并汇总分析后,再进行下一步的设计与实施工作,以避免因未能正确识别用户的真正需求而导致不断返工和工作成本增加。对于从事软件工程的程序员们来说,在进行项目开发之前创建和管理良好的需求是非常重要的第一步,同时也是一项挑战。需求表述不当可带来重大影响,如耗时返工、延期交付及预算超支,严重的还可造成业务违规。因此,开发团队需要首先有效定义和管理需求,才能确保在保证进度和控制预算的同时,产品能够满足用户所需。本文旨在阐述良好需求描述的特征,并介绍有助于更好地编写软件工程需求说明文档的几点经验,以帮助软件开发团队能够更快更好地取得投资收益。
1.高质量需求的特征
首先的问题是,何为良好的需求?一般而言,一项编写良好的需求描述,应该包含以下特征:
良好需求的特征 含义
正确(Correct) 技术可行,内容合法
完整(Complete) 能够表达一个完整的想法
清晰(Clear) 不模棱两可,不易被误导
一致性(Consistent) 不与其它需求相冲突
可验证性(Verifiable) 可验证系统能够满足用户需要
可追踪性(Traceable) 可唯一识别并进行跟踪
可行性(Feasible) 可在预期成本和计划进度内完成
模块化(Modular) 可单独变更而不会造成较大影响
独立于设计(Design-independent) 不包括项目设计和实现的细节、计划信息等
2. 提高需求编写质量的十佳经验
在明确了何为良好的需求之后,以下介绍几点可以帮助开发团队编写出更好的需求描述的方法,加速软件工程投资回报率。
经验1:将需求结构化(Structuring)
每一项需求既不能被重复描述也不能被遗漏,诀窍之一是将需求结构化。需求组织应具有良好的结构,以增进理解,同时避免出现重复和忽略的情况。同时,须具备对需求的向上和向下的追溯能力之后,团队才能够评估需求的覆盖范围。结构化组织需求是控制和改善需求质量的第一步。
经验2:重视非功能性需求(Constraints)
对于编写需求说明书而言,涉及法规遵从和提高软件系统质量的非功能性需求(又称约束条件,Constraints)同样重要,它们通常包括软件的性能、界面和可维护性等方面。编写良好需求应包含对约束条件的覆盖,原因是一旦如下领域(例如,性能、可靠性和易用性等)在开发完成后出现缺陷,通常都无法在系统中对其进行重新设计。因此,在项目初期将所有类型的非功能性需求考虑在内,可帮助开发团队大幅提高项目成功的几率。
① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;
② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。