「需求工程」需求工程——需求验证(第4部分)

简介: 「需求工程」需求工程——需求验证(第4部分)

确保规定要求满足客户需求的过程。



需求验证

它是一个确保特定需求满足客户需求的过程。它关心的是找到需求中的问题。

当这些问题在后期发现时,或者在系统投入使用后,这些问题会导致大量的返工成本。

通过系统变更来修复需求问题的成本通常比修复设计或代码错误的成本要大得多。因为对需求的更改通常意味着设计和实现也必须更改,并重新测试。

在需求验证过程中,应对需求进行不同类型的检查。这些检查包括:

  • 有效性检查:涉众提出的功能应该与系统需要执行的功能保持一致。稍后您可能会发现需要其他或不同的功能。
  • 一致性检查:文档中的需求不应该冲突或同一功能的不同描述
  • 完整性检查:文档应该包括所有的需求和约束。
  • 真实性检查:确保需求能够利用现有技术、预算、进度等方面的知识实际实现。
  • 可验证性:编写需求时应该让它们能够被测试。这意味着您应该能够编写一组测试来证明系统满足指定的需求。

您可以使用一些技术来验证需求,根据您的需要,您可以同时使用其中的一个或多个。

需求评审

系统客户团队;那些与客户交互以收集需求的人,以及系统开发人员开始阅读文档中的需求,并进行详细调查,以检查错误、不一致、冲突和任何不明确之处。

然后他们可能会与客户协商如何解决发现的问题和错误。

原型设计

我们已经讨论了作为(非独立的)软件过程方法之一的原型设计,它被用作完整方法的一部分,并且我们还在需求工程中提到了它。

在这种验证方法中,系统的可执行模型被向客户和最终用户进行验证,并确保它是否满足他们的需要。

原型设计通常在需求不明确时使用。为此,我们对系统进行了快速设计,以验证需求。如果失败了,我们就改进它,并再次检查,直到它满足客户的需求。

这肯定会降低成本,因为有一个清晰的、可以理解的、一致的需求。

测试用例的生成

正如我们刚才提到的,需求需要是可测试的。如果需求测试是作为验证过程的一部分添加的,这通常会揭示需求问题。

如果a测试很难或不可能设计,这通常意味着需求将很难实现,应该重新考虑。

这里的术语“测试”并不意味着为每个函数编写和运行一些代码。它意味着编写执行每个功能的“输入”、“期望值”和“采取的步骤”的文本描述。

这是一个测试用例的模板。


测试用例模板

要证明一组需求确实满足了用户的需求是很困难的。因为用户需要在操作中使用系统,并想象该系统将如何适应他们的工作。因此,进一步的需求变化是不可避免的。

相关文章
|
数据安全/隐私保护
经典权限系统设计(五张表)
经典权限系统设计(五张表)
|
JSON 安全 算法
API接口安全设计
API接口安全设计
9180 0
API接口安全设计
软件工程——软件开发阶段(概要设计、详细设计)
需求分析确定了系统的开发目标,下一步工作就是软件设计。软件设计可以进一步地 分为两个阶段:总体设计和详细设计。确定系统的具体 实现方案、给出软件的模块结构、编写各个文档
|
7月前
|
存储 人工智能 搜索推荐
Memobase:开源AI长期记忆系统,让AI真正记住每个用户的秘密武器
Memobase 是一个开源的长期记忆系统,专为生成式 AI 应用设计,通过用户画像和时间感知记忆功能,帮助 AI 记住、理解并适应用户需求。
1051 0
|
Linux Shell 开发工具
|
Kubernetes 监控 API
在K8S中,什么是 Minikube、Kubectl、Kubelet?
在K8S中,什么是 Minikube、Kubectl、Kubelet?
|
11月前
|
小程序 前端开发 数据库
上门服务的开发基本逻辑流程。
在数字化时代,上门服务小程序成为连接消费者与服务提供者的桥梁。本文深入探讨其前后端设计、开发与维护:前端注重响应式布局、清晰导航及丰富交互,提升用户体验;后端则通过微服务架构、数据库设计及业务逻辑实现,确保系统高效稳定。团队协作与持续优化贯穿整个流程,旨在打造优质服务体验。
|
域名解析 网络协议 大数据
CentOS7.9集群部署(配置hosts、集群免密、时间同步)
CentOS7.9集群部署(配置hosts、集群免密、时间同步)
1091 1
|
缓存 安全 Java
|
云安全 监控 安全
API面临哪些安全风险,如何做好API安全,有哪些对应的防护策略
在当今信息化高速发展的时代,API(应用程序编程接口)技术已成为企业数字化转型的基石,它连接着各种服务、传输数据并控制系统,成为现代数字业务环境不可或缺的一部分。然而,随着API的广泛应用,其安全性问题也日益凸显,成为了企业不得不面对的挑战。