2010年-2021年(不包括2019年和2020年)涉及到架构设计考点的有:
2010年题1,4;
2011年题1,4;
2012年题1;
2013年题1,4;
2014年题1,4;
2015年题1;
2016年题1;
2017年-题1;
2018年题1,5;
2021年题1
软件架构风格是描述特定软件系统组织方式和惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式;惯用模式则反映众多系统共有的结构和语义特性。
主程序-子程序架构风格中,所有的计算构件作为子程序协作工作,并由一个主程序顺序地调用这些子程序,构件通过共享存储区交换数据。
管道-过滤器架构风格中,每个构件都有一组输入和输出,构件接受数据输入,经过内部处理,然后产生数据输出。这里的构件称为过滤器,构件之间的连接件称为数据流传输的管道。
主程序-子程序架构风格和管道-过滤器风格的比较(+优;-差)如下图所示:
机构风险:
架构设计中潜在的,存在问题的架构决策所带来的隐患。
敏感点:
为了实现某种特定的质量属性,一个或多个构件所具有的特征。
权衡点:
影响多个质量属性的特征,是多个质量属性的敏感点。
企业服务总线(Enterprise Service Bus,ESB)是传统中间件技术与XML、Web服务等技术结合的产物,主要支持异构系统集成。ESB基于内容的路由和过滤,具备复杂数据的传输能力,并可以提供一系列的标准接口。
(1)服务位置透明性;
(2)传输协议转换;
(3)消息格式转换;
(4)消息路由;
(5)消息增强;
(6)安全性;
(7)监控与管理
REST从资源的角度来定义整个网络系统结构,分布在各处的资源由统一资源标识符(URI)确定,客户端应用程序通过URI获取资源的表现,并通过获得资源表现使得其状态发生改变。
REST中将
资源
、资源的表现
和获取资源的动作
三者进行分离。
MVC架构风格最初是Smalltalk-80中用来构建用户界面时采用的架构设计风格。其中M代表模型(Model),V代表视图(View),C代表控制器(Controller)。在该风格中,模型表示待展示的对象,视图表示模型的展示,控制器负责把用户的动作转成针对模型的操作。模型通过更新视图的数据来反映自身的变化,交互图如下所示:
(1)允许多种界面的扩展,视图的变更与增加,与模型无关;
(2)易于维护,控制器和视图随着模型的扩展而扩展,只要保持公共接口,控制器和视图的旧版本可以继续使用;
(3)可支持功能强大的用户界面。
(1)操作性需求:指系统完成任务所需的操作环境要求及如何满足系统将来可能的需求变更的要求。
(2)性能需求:针对系统性能要求的指标,如吞吐率、响应时间和容量等。
(3)安全性需求:指为防止系统崩溃和保证数据安全所需要采取的保护措施的要求,为系统提供合理的预防措施。
(4)文化需求:指使用本系统的不同用户群体对系统提出的特有要求。
二层客户机将客户机端和服务器端进行拆分,但是在客户端和服务器端都存在业务逻辑的处理。而瘦客户机是将二层C/S中的客户端和服务端的业务逻辑独立出去形成功能层,包括三层表示层,功能层和数据层。
面向服务的体系架构(SOA)是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通信。它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。SOA能帮助企业系统架构设计者以更迅速、更可靠、更高重用性设计整个业务系统架构,基于SOA 的系统能够更加从容地面对业务的急剧变化。
企业服务总线(ESB)是由中间件技术实现的全面支持面向服务架构的基础软件平台,支持异构环境中的服务以及基于消息和事件驱动模式的交互,并且具有适当的服务质量和可管理性。
从灵活性上解释器可以通过灵活的自定义规则实现规则的重组。从可扩展性上解释器可以包括一个完成解释工作的解释引擎、一个包含将被解释的代码的存储区、一个记录解释引擎当前工作状态的数据结构,以及一个记录源代码被解释执行的进度的数据结构。可以通过新建规则实现可扩展性。