首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

系统架构设计师:系统质量属性与架构评估--ATAM方法架构评估实践阶段1-演示(Presentation)

用ATAM方法评估软件体系结构,其工作分为4个基本阶段,即演示、调查和分析、测试和报告ATAM(如图8-5所示)。下面就每个阶段的实践进行详细介绍。

这是使用ATAM评估软件体系结构的初始阶段。此阶段有3个主要步骤。在本文中,我们将重点介绍下面的3个演示步骤聚。

第1步:介绍ATAM这一步涉及ATAM评估过程的描述。在此步骤中,评估负责人向所有相关参与者提供有关ATAM过程的一般信息。领导者说明评估中使用的分析技术以及评估的预期结果。领导者解决小组成员的任何疑虑、期望或问题。

第2步:介绍业务驱动因素

在这一步中,提到了系统体系结构驱动程序的业务目标。这一步着重于系统的业务视角。它提供了有关系统功能、主要利益相关方、业务目标和系统其他限制的更多信息。

本步骤将定义被评估系统的主要功能以及涉及的利益相关方。在对体系结构的评估工作中,应用程序使用 Event框架。Event框架的主要功能是处理和处理事件。该任务通过框架中现有的不同组件之间的交五来完成。应用程序组件是利用框架的系统的另一部分。评估这两种架构时考虑的主要利益相关者包括:最终用户、架构师和应用程序开发人员。这三个利益相关者在两个系统中执行不同的重要任务。最终用户通过在命令行界面向系统提供输入来使用“成品”;架构师是事件框架的创建者;应用程序开发人员负责构建使用事件框架的事件驱动的应用程序。所有利益相关者在系统中都有不同的期望和关切。

第3步:介绍要评估的体系结构

在这一步中,架构团队描述了要评估的架构。它侧重于体系结构、时间可用性以及体系结构的质量要求。此步骤中的体系结构演示非常重要,因为它会影响分析的质量。这里涉及的关键问题包括技术约束,与正在评估的系统交五的其他系统,以及为满足质量属性而实施的架构方法。系统的质量属性是代表系统所需质量的问题。这些属性的例子包括性能、可靠性等。

下面将详细介绍胡佛事件架构和“银行”事件架构。

1)胡佛(Hoover)事件架构

胡佛事件架构的简单类图如图8-6所示,随后描述了系统及其组件。

胡佛的事件架构由组成事件框架的组件和利用框架服务的应用程序组成。如前所述,该框架基于事件框架,根据事件不同的类型进行相应处理。一个事件由两个主要部分组成:事件类型(Event Type)和事件需要处理的参数(Args)。为了处理多个事件,系统中存在一个事件队列(Qucue)组件。

事件队列(Event Queue)保存系统中的事件,并以先来先服务(FIF0)模式进行分派。事件队列能够存储任意时间内产生的事件,并支持检索以供将来处理。该框架的核心组件是事件管理器(Event Manager)。该组件绑定事件队列和事件类型(Type Bindings)。事件管理器还维护事件类型注册表(Event Type Registry)数据结构,并将事件类型注册到相关关联的处理程序中。一个事件可能关联多个处理程序。当事件正在执行时,由于事件管理器维护着事件类型注册表。它能将事件动态绑定到相应的处理程序中,这大大增加了框架的灵活性。

该框架还有一个Handler组件,它是所有处理程序的基类。基本处理程序组件包含两个主要处理程序:

STOP handler:此处理程序负责系统终止。

IDLE handler:此处理程序执行“空闲等待”,直到用户输入一个输入事件。它将系统维持在空闲状态,直到有任意输入被提交给系统处理。

应用程序在某些定义的“挂钩”处挂钩到上述框架。如图8-6所示,灰色背景阴影区域代表了胡佛架构的框架。主进程控制事件类型和应用程序的状态,它也控制着事件管理器。所有应用程序处理程序都会修改系统的状态(在图8-6中由应用程序处理程序组件旁边的*表示)。

但是,只有一个事件管理器控制系统。

2)“银行”(Banking)事件架构图8-7显示了一个简单的“银行”体系结构类图,其后是对系统及其组件的描述。

“银行”体系结构由组成事件框架的组件和利用框架服务的应用程序组成。这个框架与上面描述的架构类似,但有一些区别。在这种架构中,即使没有特有的事件组件,底层主题也可看作是一种事件(框架默认)。在这种架构中,事件有两个主要部分:类型(Type)及其参数(Args)。

事件队列(Queue)组件对事件进行排队,并以先进先出FIF0模式进行处理。如果没有要返回的事件,则会生成“空闲”事件。

框架中有一个基本的处理程序(Handler)组件,该组件由三个标准的指定处理程序和相应的扩展接口。

START handler:在启动时初始化系统。

STOP handler:终止系统。

IDLE handler:此处理程序执行“空闲等待”,直到用户输入一个事件。当用户输入事件后,该处理程序验证输入事件是否有效。如果有效,则事件排队;否则会产生另一个空闲事件。该处理程序将系统保持在空闲状态,直到系统处理任何输入事件。在这个架构中,主模块(Main)是框架的一部分。该组件将事件管理器和事件队列绑定到起。该模块的基本功能是从事件队列中取出一个事件并将其分派给事件管理器进行处理。该组件中没有应用程序的特定信息。

在此框架中,应用程序挂接在事件管理器,应用程序处理器(Application Handler)也链接到此事件处理器中。框架支持定义多个系统事件和多个应用程序处理程序,但只有一个事件队列和个事件管理器。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/ODwymN_XkM7DPpTSuAiMxY_Q0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券