【软考系统架构设计师】系统架构师必知必会中篇(系统架构设计)

本文深入探讨了系统架构设计的关键概念,包括中间件技术及其优势,如远程过程调用、对象请求代理等。文章还介绍了软件架构建模(4+1视图)、软件架构评估方法如ATAM、SAAM和CBAM,以及微服务和SOA的对比。同时,讲解了Java企业应用框架,如Struts、Spring和Hibernate,以及经典应用架构模式MVC、MVP和MVVM。
摘要由CSDN通过智能技术生成

【软考系统架构设计师】系统架构师必知必会中篇(系统架构设计)

系统架构师必知必会中篇

六. 中间件技术

1. 中间件概念
  1. 中间件是一种独立的系统软件或服务程序,可以帮助分布式应用软件在不同的技术之间共享资源。
  2. 中间件是构件的一种。构件在原则上是可以独立部署的,但是并不是所有构件都需要独立部署。
2. 中间件作用
  1. 负责客户机与服务器之间的连接和通信,以及客户机与应用层之间的高效率通信机制。
  2. 提供应用层不同服务之间的互操作机制,以及应用层与数据库之间的连接和控制机制。
  3. 提供多层构架的应用开发和运行的平台,以及应用开发框架,支持模块化的应用开发;
  4. 屏蔽硬件,操作系统,网络和数据库的差异
  5. 提供应用的负载均衡和高可用性,安全机制与管理功能,以及交易管理机制,保证交易的一致性。
  6. 提供一组通用的服务去执行不同的功能,避免重复的工作和使应用之间可以协作。
3. 主要的中间件
  1. 远程过程调用
  2. 对象请求代理
  3. 远程方法调用
  4. 面向消息的中间件
  5. 事务处理监控器
4. 采用中间件技术的优点
  1. 面向需求
    设计师集中精力于业务逻辑本身
  2. 业务的分割和包容性
    业务开发人员可以按照不同的业务进行功能的划分,体现为不同的接口或交互模式。
  3. 设计与实现隔离
    构件对外发生作用或者与其他构件的交互都是通过接口进行的,构件使用者只需要知道构件的接口,而不必关心其内部实现,这是设计与实现分离的关键。
  4. 隔离复杂的系统资源
    很重要的一个功能就是将系统资源与应用构件隔离,这是保证构件可复用,甚至即插即用的基础。与中间件的意图也是一致的。
  5. 符合标准的交互模型
    实现了架构的模型,实现了标准的协议。
  6. 软件复用
    中间件提供了构件封装,交互规则,与环境的隔离,这些都为软件复用提供了方便的解决方案。
  7. 提供对应用构件的管理
    基于中间件的软件可以方便的进行管理,因为构件总可以通过标识机制进行划分。
5. Cobra中间件技术
  1. Cobra是公共对象请求代理体系结构的简称。
  2. Cobra体系的主要内容包括了以下的几个部分
    1)对象请求代理
    负责对象在分布的环境中透明的收发请求和响应,它是构件分布对象应用,在异构或者同构环境下实现应用间互操作的基础。
    ORB的作用就是衔接各方,相当于信息交换的一个总线的结构。
    2)对象服务
    为使用和实现对象而提供的基本对象集合,这些服务应独立于应用领域。
    3)公共设施
    向终端用户提供一组共享服务接口,例如系统管理,组合文档,电子邮件等。
    4)应用接口
    由销售商提供的可控制其接口的产品,相应与传统的应用层表示,处于参考模型的最高层。
    5)领域接口
    为应用领域服务而提供的接口,如OMG组织为PDM系统制定的规范。
组成部分 说明
伺服对象Servant Cobra对象的真正实现,负责完成客户端请求
对象适配器OA 用于屏蔽ORB内核的实现细节,为服务器对象的实现者提供抽象接口,以便他们能够使用ORB内部的某些功能
对象请求代理ORB 解析调用并负责查找实现该请求的对象,将参数传给找到的对象,并调用方法返回结果。客户方不需要了解服务对象的位置,通信方式,实现,激活或新存储机制

七. 软件架构建模(4+1视图)

4+1视图 说明
场景视图 UML用例视图
逻辑视图 最终用户的功能需求
开发视图 开发人员的软件管理
进程视图 系统集成人员,性能可扩充性,吞吐量
物理视图 系统工程人员,系统拓扑,安装,通信等
1. 架构模型
4+1视图 说明
结构模型 以架构的构件,连接件及其他概念来刻画结构
框架模型 不太侧重描述结构的细节,而更加侧重于整体的结构
动态模型 系统的大颗粒的行为性质
过程模型 构建系统的步骤和过程
功能模型 由一组功能构件按层次组成,下层向上层提供服务
2. 需求的获取
  1. 使用用例可以去获取功能需求;使用场景可以去获取非功能需求
  2. 需求可能很多,但是需求的优先级是不一样的,所以要考虑需求的优先级,针对非功能需求来说,就是场景的优先级。

八. 软件架构评估的方法

1. 架构评估内容
  1. 分析软件架构对场景的支持程度
  2. 设计用于实现待评估质量属性的场景
  3. 确定应用领域的功能和软件架构之间的映射关系。
2. 架构评估方式
  1. 基于问卷调查(检查表)的方式
  2. 基于度量的方式
  3. 基于场景的方式
评估方式 问卷调查 检查表 场景 度量
通用性 通用 特定领域 特定系统 通用或特定领域
评估者对架构的了解程度 粗略了解 无限制 中等了解 精确了解
实施阶段
客观性 主观 主观 较主观 客观
3. 架构权衡分析方法(ATAM)
1)概念定义
  • 在SAAM的基础上发展起来的,主要针对性能,实用性(可用性),安全性和可修改性,在系统开发之前,对这些质量属性进行评价和折衷。
  • 场景之间有平衡关系,可以通过投票来决定。
2)实施步骤
  1. 描述和介绍阶段
    1. 描述ATAM方法(评估小组负责人)
    2. 描述业务动机(项目决策者:业务角度)
    3. 描述架构(首席架构师)
  2. 调查和分析阶段
    1. 确定架构方法
    2. 确定质量属性效用树
    3. 分析架构方法(评估小组)
  3. 测试阶段
    1. 讨论场景和对场景进行分级
    2. 分析架构方法(项目干系人投票)
  4. 报告阶段(架构设计师)
    1. 描述评估结果(评估小组负责人:评估方法)
3)四个阶段
  1. 第一阶段:场景和需求收集
    收集场景
    收集需求/环境/约束
  2. 第二阶段:架构视图和场景实现
    描述架构视图
    实现场景
  3. 第三阶段:属性模型构造和分析
    特定属性分析(优秀的单一理论)
  4. 第四阶段:折中
    标志折中
    标志敏感度
4)质量效用树

在这里插入图片描述

4. 软件架构分析法(SAAM)
1)概念背景
  1. 最初用来分析架构的可修改性,后扩展到其他的质量属性。
  2. 它包括了问题描述,需求说明和架构描述三个阶段。
  3. 在场景开发和架构描述之后,我们就可以对单个场景进行评估,然后可以多个场景交互评估,最后比较多个框架后进行总体评估。
2)六个步骤
  1. 形成场景
  2. 描述架构<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的横打

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值