"这篇文档是关于华为公司的需求设计文档撰写培训资料,主要讲解了什么是好的需求以及需求设计文档的重要性和写作规范。文档强调了需求的完整性、清晰性、一致性、可行性和可验证性五个关键点,并指出文档化在软件开发过程中的必要性。"
在华为的视角中,好的需求具有以下几个特质:
1. 完整性:需求应包含所有必要的功能点,且对每个功能点的描述都需详尽无遗。这包括解释专业术语、缩略语,明确输入、处理和输出的细节。例如,SLOC(源代码行)项目中,需确保功能点的描述全面,不遗漏任何部分。
2. 清晰性:需求表述应具有唯一解释,避免模糊不清,使得所有阅读者都能理解同一意思。反例如“代码行统计性能很高”,这种表述过于模糊,不易理解。
3. 一致性:需求应与分配需求(AR)保持一致,避免前后矛盾。例如,统计代码行的需求,物理代码行与逻辑代码行的定义必须统一,防止出现混淆。
4. 可行性:每个需求都应在当前的技术和环境限制内能够实现。通过实际的例子,如为何选择圆形下水道井盖而不是其他形状,来阐述考虑可行性的必要性。
5. 可验证性:需求应当可以通过设计测试用例或其他方法来验证是否已经正确实现。如果一个需求表述得不清晰,通常也是无法验证的。
文档化的需求设计是软件开发中不可或缺的环节。文档可以帮助开发人员查错补遗,方便评审,提前发现技术问题,便于不同人员接手后续工作,同时也是维护工作的依据。华为强调,良好的文档应具备以下特点:
- 使用标准模板,保持统一的格式和结构。
- 完善的封页、页眉页脚、修订记录、附录和参考文献。
- 关键词、摘要和缩略语要完整,方便查阅。
- 及时更新目录,保持文档结构清晰。
- 格式协调美观,标题、文字和间距统一。
- 不删除模板中的章节,只可添加。
- 编写建议用完后删除,保持文档整洁。
- 图片和表格的编号位置要正确,提高可读性。
- 追求图文并茂,以简洁的句子和段落表达复杂概念。
通过这些规范,华为旨在提升需求设计文档的质量,从而促进高效、准确的软件开发流程。