需求分类

作者简介

Gavin,程序员、软件架构师、企业架构师,关注智能制造。

本文是专栏《智能制造系统架构》中的文章,其它文章请参阅入坑智能制造系统架构。

在系统的三个构成要件中,“功能或目标”是决定系统行为和结构的最关键决定因素,而功能的来源就是需求。

业务需求是驱动各级“功能”发生变化的根本原因,在公司级和业务单元级,业务需求会驱动业务架构和业务流程的变化,在软件系统级也会驱动系统系统功能以及系统架构的变化。其中,业务需求定义了为什么要发生变化,并通过业务需求可以识别出利益相关者。利益相关者会结合自身的需要细化业务需求,进而提出对具体软件系统的需求。软件系统从实现角度平衡所有利益相关者的需求,进而设计功能以满足业务需求。下图描述了整个业务需求实现的过程(来自BABOK)。

需求分类_第1张图片

业务需求

业务需求描述了发起变化的目标,良好的业务需求必须是:

  • 清晰的,通常在一个非常高的层次上定义。
  • 提供足够的信息和指导,以帮助确保项目满足确定的需求。
  • 理解组织的任务、目标或目标、特定的业务需求或正在处理的问题
  • 在开发业务需求之前,应该清楚地定义和理解。
  • 需求或问题可以与组织或业务有关,也可以集中于利益相关者群体,如客户、客户、供应商、员工或其他群体。

利益相关者需求

利益相关者需求定义了特定利益相关者群组的需求以及他们对特定解决方案的需求。它们是从利益相关者的角度来看的,显示了对业务需求的清晰跟踪。这有时需要在不同利益相关者群体的冲突需求之间进行折衷,以实现企业的更大利益。通过这种方式,利益相关者需求是业务需求和解决方案需求之间的桥梁。几个关键点是:

  • 利益相关者需求定义了每个特定利益相关者群组希望从解决方案中得到什么
  • 利益相关者需求确定解决方案的用例
  • 利益相关者需求是业务需求和解决方案需求之间的桥梁

软件需求

软件需求描述了一个软件系统将具有哪些特性来满足利益相关者和业务的需求。换句话说,软件需求是系统或系统组件必须满足或拥有的能力,以满足合同、标准、规格说明或其他正式强加的文档。最终,我们想要实现的是在预算范围内及时开发出满足客户实际需求的高质量软件。

也许软件开发人员面临的最大挑战是与客户共享最终产品的远景。项目中的所有利益相关者——开发人员、终端用户、软件经理、客户经理——必须对产品将会是什么样子以及要做什么有一个共同的理解,否则当产品交付时,会有人感到惊讶。软件领域的意外几乎从来不是好消息。

与利益相关者需求的多个场景如何满足业务需求类似,软件需求的多个场景也可以满足利益相关者需求,因此需要将利益相关者需求转换并跟踪到软件需求。几个要点:

  • 软件需求描述了软件将支持哪些特征。
  • 从利益相关者的角度来看,软件需求可能被视为描述了软件需求将如何满足利益相关者需求,但即使从这个角度来看,它也将在逻辑上和高阶上定义解决方案,而不是给出软件实现的细节

软件需求可进一步分为:

  • 功能需求:描述软件的功能和特性。
  • 非功能性需求:定义软件的质量或软件保持有效的环境条件。 就技术系统解决方案而言,这通常指容量、速度、安全性、可用性等特征。

参考资料

  • 《BABOK Guide v3》

  • http://www.sqa.net/iso9126.html
  • http://ea.zhoujingen.cn/5297.html
  • https://cloud.tencent.com/developer/article/1705492

 

你可能感兴趣的:(智能制造系统架构,需求管理)