解决方案架构师修炼之道
上QQ阅读APP看书,第一时间看更新

1.4.6 解决非功能性需求

在通常情况下,你必须处理应用程序中的非功能性需求(Non-Functional Requirement,NFR)。为了项目的成功,解决它们是非常必要的,因为它们对整个项目和解决方案具有更广泛的影响。这些NFR可以决定用户群组建的成败,并处理方案中关键方面的问题,例如安全性、可用性、延迟问题、维护、日志、隐藏机密信息、性能问题、可靠性、可维护性、可伸缩性、易用性等。如果不及时考虑这些问题,就会影响项目的交付。

图1-3显示了一些最常见的NFR。

从图1-3可以看出,NFR包括解决方案架构的以下属性(根据项目的不同,可以有更多的NFR):

图1-3 解决方案架构的非功能性属性

灾难恢复:确保在意外事件发生时,解决方案能够正常启动、运行。

安全性与合规性:为解决方案设置安全网,使其免受外部攻击,如病毒、恶意软件等。同时,通过满足合规性要求确保解决方案符合当地和行业法规。

高可用性:确保解决方案始终处于运行状态。

可伸缩性:确保解决方案能够在需求增加的情况下处理额外的负载。

应用程序性能:确保应用程序按照用户的期望加载,并且没有太多的延迟。

网络和请求响应延迟:应用程序上执行的任何活动都应在适当的时间内完成,不应超时。

第3章将更深入地介绍以上属性。解决方案架构定义了产品开发的初始框架和解决方案的基础构件。在建立解决方案时,架构、质量和客户满意度始终是重点。解决方案架构需要通过概念验证来持续构建,并不断进行探索和测试,直到达到预期的质量。