「业务架构」需求工程——需求验证(第4部分)

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

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


需求验证

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

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

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

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

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

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

需求评审

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

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

原型设计

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

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

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

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

测试用例的生成

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

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

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

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


测试用例模板

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

相关文章
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(二)Rest微服务工程搭建
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(二)Rest微服务工程搭建
414 0
|
存储 人工智能 架构师
ChatGPT 与软件架构 (4) - 架构师提示工程指南
ChatGPT 与软件架构 (4) - 架构师提示工程指南
396 0
|
6月前
|
监控 NoSQL 算法
百万级URL重定向工程:大规模网站架构设计与性能优化实战
本文深入探讨了大规模重定向系统的核心挑战与解决方案,涵盖技术瓶颈分析、分布式架构设计、十亿级URL处理策略、全球化部署方案及全链路监控体系。通过数学建模与性能优化,提出三层架构模型,并结合一致性哈希分片算法实现高效路由。同时,对比不同架构的吞吐量与容灾能力,分享某电商平台实践案例,展示性能显著提升。最后展望重定向即服务(RaaS)未来趋势,包括AI动态路由、量子安全跳转和边缘智能等关键技术,为企业提供扩展性强、稳定性高的系统设计参考。
181 25
|
7月前
|
运维 安全 弹性计算
基于阿里云的开源应用智能管理架构设计与工程实践
本文以Websoft9技术方案为例,探讨企业级应用管理的范式。通过解析开源应用管理面临的部署复杂性、运维低效性和知识碎片化三大挑战,提出基于阿里云的三层架构:智能应用管理门户、核心功能层和基础设施层。文章详细阐述了应用编排标准化(IaC实践)、智能运维体系构建及知识资产数字化的技术实现路径,并结合金融与制造行业的案例,展示解决方案的实际效果。最后提供开发者资源与工具链支持,助力企业高效管理应用。
241 1
|
存储 运维 关系型数据库
2024年最全ceph的功能组件和架构概述(2),Linux运维工程面试问题
2024年最全ceph的功能组件和架构概述(2),Linux运维工程面试问题
2024年最全ceph的功能组件和架构概述(2),Linux运维工程面试问题
|
12月前
|
缓存 前端开发 JavaScript
前端的全栈之路Meteor篇(二):容器化开发环境下的meteor工程架构解析
本文详细介绍了使用Docker创建Meteor项目的准备工作与步骤,解析了容器化Meteor项目的目录结构,包括工程准备、环境配置、容器启动及项目架构分析。提供了最佳实践建议,适合初学者参考学习。项目代码已托管至GitCode,方便读者实践与交流。
201 6
|
负载均衡 数据库 开发工具
|
安全 IDE Java
从0到1探索淘宝短视频流的架构再设计和工程重构
随着视频流业务的发展,业务的复杂性越来越高,视频流老工程在架构设计、代码质量、工程能力等方面的问题也逐渐凸显。本次重构是一次对大型业务工程进行架构再设计和重构的探索,本文是对这次探索的一次梳理与总结。
|
中间件 BI 测试技术
【实践篇】领域驱动设计:DDD工程参考架构
领域驱动设计(DDD)参考架构旨在为团队提供DDD实践的起点,强调业务与技术的分离,考虑多种架构风格如分层、六边形等。它包括多限界上下文结构,每个上下文内有应用层(不含领域逻辑)、领域层(含领域模型和事件)和网关层。接入层负责外部请求的处理,业务层协调不同上下文。组件包括Start(启动)、Common(通用)、API、Facade、Application Service、External API、Query、Domain和Gateway,各组件有明确的职责和依赖关系,如Gateway处理技术细节并作为系统与外部的接口。架构设计是多因素权衡,适应实际工程需求。
595 0
|
人工智能 监控 架构师
ChatGPT 与软件架构 (3) - 软件架构提示工程
ChatGPT 与软件架构 (3) - 软件架构提示工程
267 0

热门文章

最新文章