在系统工程或软件工程实践中,进行系统化的需求分析是项目成功的基石。而在开展分析之前,透彻理解需求本身所具备的特征至关重要。国际标准 ISO/IEC/IEEE 29148 对此有系统化的描述,本文将用更易理解的语言进行阐释。需求特征可分为单个需求的特征和一组需求的整体特征。
单个需求的八大特征
一个合格、有效的独立需求,应满足以下八项核心特质:
-
必要的
该需求不可或缺,是系统必须提供的核心能力。缺少它,系统功能将不完整,且无法通过其他需求弥补。
-
适宜的
需求陈述的抽象层级应恰当。高层需求关注目标与方向,底层需求聚焦具体实现方法。需求应明确自身层级该规定的内容,而非过度干涉技术实现细节。
-
无歧义的
表述必须清晰、精准,只允许有一种解释。避免使用“可能”、“大概”、“易于使用”等模糊词汇,确保所有干系人理解一致。
-
完整的
需求描述应自包含且详尽,如同产品说明书,能让阅读者无需额外信息即可完全理解其意图。
-
原子的
一个需求应只陈述一个特定的能力、特性或约束。它可以包含多个验收条件,但其核心主张必须是单一且聚焦的。
-
可实现的
需求必须在项目既定时间、技术、预算等约束条件下,具备被实现的可能性,且相关风险在可控范围内。
-
可验证的
必须有明确、客观的验收标准和方法,用以证明该需求已被满足。这是保障软件质量与项目交付的关键。
-
正确的
需求必须真实、准确地反映并表达了干系人(用户、客户等)的实际意图和需要。
需求集合的五大原则
单个需求优秀固然重要,但一组需求作为一个整体,也必须展现出良好的“团队协作”精神,遵循以下五项原则:
-
完整的
所有需求集合在一起,应共同、全面地定义了系统的全部必要能力、特性和约束,没有重大遗漏。
-
一致的
需求之间应相互兼容,不存在矛盾或冲突。同时,它们应使用统一的概念、术语和度量单位,这是构建清晰系统架构的基础。
-
可实现的
从整体视角评估,在给定的项目约束下,这组需求作为一个整体是能够被成功实现的。
-
可理解的
需求的组织结构与表述方式,使得其整体逻辑脉络清晰。不仅说明了系统要“做什么”,也理清了需求之间、以及需求与整个系统目标之间的关系。
-
可验证的
整组需求中的每一个,都能够通过测试、审查、演示或分析等方法进行验证,从而确认整个系统是否满足了所有既定要求。
|