📜  建筑技术

📅  最后修改于: 2020-12-14 04:04:37             🧑  作者: Mango


迭代和增量方法

这是一种迭代的增量方法,由五个主要步骤组成,可帮助生成候选解决方案。通过重复这些步骤,可以进一步完善该候选解决方案,并最终创建最适合我们应用程序的体系结构设计。在该过程的最后,我们可以审查我们的体系结构并将其传达给所有相关方。

这只是一种可能的方法。还有许多其他更正式的方法可以定义,审查和交流您的体系结构。

确定架构目标

确定构成体系结构和设计过程的体系结构目标。完美无缺的目标强调架构,解决设计中的正确问题,并帮助确定当前阶段何时完成,并准备好进行下一阶段。

此步骤包括以下活动-

  • 从一开始就确定您的架构目标。
  • 确定我们架构的使用者。
  • 确定约束。

架构活动的示例包括:构建原型以获取Web应用程序的订单处理UI上的反馈;构建客户订单跟踪应用程序;设计应用程序的身份验证和授权体系结构,以执行安全性检查。

关键方案

此步骤将重点放在最重要的设计上。场景是用户与系统交互的广泛且涵盖性的描述。

关键方案是那些被认为是应用程序成功的最重要方案。它有助于做出有关体系结构的决策。目的是实现用户,业务和系统目标之间的平衡。例如,用户身份验证是关键方案,因为它们是质量属性(安全性)与重要功能(用户如何登录系统)的交集。

应用概述

建立应用程序概述,使应用程序架构更易于触摸,并将其与实际约束和决策联系起来。它包括以下活动-

识别应用程序类型

确定应用程序类型是移动应用程序,富客户端,富互联网应用程序,服务,Web应用程序,还是这些类型的某种组合。

识别部署约束

选择适当的部署拓扑并解决应用程序与目标基础结构之间的冲突。

确定重要的建筑设计风格

识别重要的架构设计样式,例如客户端/服务器,分层,消息总线,域驱动设计等,以通过提供针对频繁出现的问题的解决方案来改善分区并促进设计重用。应用程序通常会使用多种样式。

识别相关技术

通过考虑我们正在开发的应用程序类型,应用程序部署拓扑和体系结构样式的首选选项来确定相关技术。技术的选择还将取决于组织策略,基础架构限制,资源技能等。

关键问题或关键热点

在设计应用程序时,热点是最容易出错的区域。根据质量属性和横切关注点确定关键问题。潜在的问题包括新技术的出现和关键的业务需求。

质量属性是架构的整体功能,会影响运行时行为,系统设计和用户体验。横切关注点是我们设计的功能,可应用于所有层,组件和层。

这些也是最容易发生高影响力设计错误的领域。横切关注点的示例包括身份验证和授权,通信,配置管理,异常管理和验证等。

候选解决方案

定义关键热点后,构建初始基准架构或第一个高层设计,然后开始填写详细信息以生成候选架构。

候选架构包括应用程序类型,部署架构,架构风格,技术选择,质量属性和横切关注点。如果候选体系结构有所改进,它可以成为创建和测试新候选体系结构的基准。

在反复遵循该周期并改进设计之前,请根据已定义的关键方案和要求验证候选解决方案设计。

我们可能会使用体系结构峰值来发现设计的特定区域或验证新概念。架构峰值是一个设计原型,它确定特定设计路径的可行性,降低风险并快速确定不同方法的可行性。针对关键场景和热点测试架构峰值。

建筑评论

架构审查是最重要的任务,以减少错误的成本并尽早发现并修复架构问题。这是一种行之有效的,具有成本效益的方式,可以降低项目成本和项目失败的机会。

  • 经常在重大项目里程碑以及其他重大体系结构更改方面对体系结构进行审查。

  • 架构审查的主要目的是确定基准架构和候选架构的可行性,以正确验证架构。

  • 将功能要求和质量属性与建议的技术解决方案联系起来。它还有助于发现问题并识别需要改进的地方

基于场景的评估是审查体系结构设计的一种主要方法,该体系结构侧重于从业务角度来看最重要的方案,这些方案对体系结构的影响最大。以下是常见的审查方法-

软件体系结构分析方法(SAAM)

它最初是为评估可修改性而设计的,但后来扩展到了针对质量属性的体系结构审查。

体系结构权衡分析方法(ATAM)

它是SAAM的改进版本,它审查了有关质量属性要求的架构决策,以及它们如何满足特定的质量目标。

主动设计审查(ADR)

它最适合于不完整或进行中的体系结构,这些体系结构一次只关注一组问题或体系结构的各个部分,而不是进行常规审查。

主动审查中间设计(ARID)

它结合了对进行中的体系结构进行审阅的ADR方面以及对一系列问题的关注,并针对基于场景的审阅的ATAM和SAAM方法着重于质量属性。

成本效益分析方法(CBAM)

它着重于分析架构决策的成本,收益和进度影响。

架构级别可修改性分析(ALMA)

它估计了业务信息系统(BIS)体系结构的可修改性。

家庭建筑评估方法(FAAM)

它估计了信息系统系列体系结构的互操作性和可扩展性。

沟通架构设计

完成架构设计后,我们必须将设计传达给其他利益相关者,包括开发团队,系统管理员,运算符,业务所有者和其他有关方面。

以下是几种向他人描述体系结构的众所周知的方法:-

4 + 1模型

这种方法使用了完整架构的五个视图。其中,四个视图(逻辑视图,过程视图,物理视图开发视图)从不同的方法描述了体系结构。第五个视图显示了该软件的方案和用例。它使涉众可以看到他们特别感兴趣的体系结构的功能。

架构描述语言(ADL)

此方法用于描述系统实施之前的软件体系结构。它解决了以下问题-行为,协议和连接器。

ADL的主要优点是,我们可以在正式开始使用设计之前就分析体系结构的完整性,一致性,歧义性和性能。

敏捷建模

这种方法遵循“内容比表示重要”的概念。它可以确保创建的模型简单易懂,足够准确,详细且一致。

敏捷模型文档针对特定客户,并完成该客户的工作。该文档的简单性确保了利益相关者积极参与工件的建模。

IEEE 1471

IEEE 1471是标准的缩写,正式称为ANSI / IEEE 1471-2000,“软件密集型系统的体系结构描述的推荐实践”。 IEEE 1471增强了体系结构描述的内容,尤其是给上下文,视图和观点赋予了特定的含义。

统一建模语言(UML)

此方法表示系统模型的三个视图。功能需求视图(从用户的角度来看,系统的功能需求,包括用例);静态结构视图(对象,属性,关系和操作,包括类图);动态行为视图(对象之间的协作以及对象内部状态的更改,包括序列,活动和状态图)。