系统架构设计(最重要的章节)

在这里插入图片描述
上午题15到20
案例分析一题
论文一题

软件架构的概述

在这里插入图片描述

架构设计是在需求分析和软件设计之间的过渡阶段
构件可以看成一个具体的功能。
连接件连接不同的构件
在面向对象中,构件由多个对象,多个类组成

软件架构的组成:构件,连接件,模式,模式约束

软件架构显示了需求和构件之间的对应关系

研究软件架构的根本目的:软件复用(软件级别的复用),质量,维护

在这里插入图片描述

技术人员:软件设计人员
非技术人员:需求分析人员

软件架构设计与生命周期

在这里插入图片描述

SA:软件架构

需求分析:问题空间
架构设计SA:解空间

需求->软件架构设计->系统设计

由此存在如何根据需求模型构件SA模型,如果保证模型转换的可追踪性

设计阶段:

  1. SA模型的描述:SA基本概念,体系结构描述语言,SA模型的多视图表示
  2. SA模型的设计与分析方法
  3. 对SA设计经验的总结与复用

在这里插入图片描述

构件

架构就是描述构件和连接件之间的关系

在这里插入图片描述

对象
模块
原子构件
构件
服务

粒度是越来越大的

在这里插入图片描述

一个构建可包含多个类元素,但是一个类元素只能属于一个构件

在这里插入图片描述

构件标准

在这里插入图片描述

构件流派:

EJB常考
会话Bean
实体Bean
消息驱动Bean

COM微软

CORBA
对象请求代理 ORB
公共对象服务
公共设施

软件架构风格(重点)

在这里插入图片描述

选择题考挖空

架构风格:一个架构定义,词汇表,约束(术语表,规则)

架构风格:众多系统的共有结构和语义特性,将模块和子系统组织成一个完整的系统

架构级软件复用

在这里插入图片描述

五种架构风格

数据流风格
调用/返回风格
独立构件风格
虚拟机风格
仓库风格

数据流风格

在这里插入图片描述

区分批处理序列和管道-过滤器

在这里插入图片描述

在这里插入图片描述

区别:
批处理:前一个执行完成才能执行下一个
管道过滤器:前面的执行到部分可以执行下一个

调用返回风格

在这里插入图片描述

主程序/子程序(显示调用):程序就是构件,过程调用是连接件
面向对象:构件是对象,连接件是对象之间的交互方式
层次结构:构件是层次结构,连接件是层之间的交互协议

在这里插入图片描述

在这里插入图片描述

独立构件风格

在这里插入图片描述
进程通信:

构件是进程,连接件是消息传递

消息传递方式:点对点,异步同步,远程过程调用

事件驱动系统:

在这里插入图片描述

虚拟机凤格

在这里插入图片描述

在这里插入图片描述

解释器
在这里插入图片描述

基于规则的系统
在这里插入图片描述

用于人工智能领域和DSS(决策支持)

仓库(数据共享)风格

在这里插入图片描述
数据库系统
在这里插入图片描述

黑板系统

在这里插入图片描述

语言识别,知识推理

超文本系统:

  1. 属于仓库风格
  2. 应用于互联网领域

IDE一般采用数据仓库架构风格

其他架构风格

闭环控制

在这里插入图片描述
C2体系风格
在这里插入图片描述

构件和构件之间不能直接连接,需要通过连接件来连接

构件的顶部连接到连接件的底部
构件的底部连接到连接件的顶部
在这里插入图片描述

架构风格汇总(选择题考)

在这里插入图片描述

记忆关键词

在这里插入图片描述

a,,b在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

c在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
引入对象管理层,降低了性能
在这里插入图片描述

在这里插入图片描述

a
自定义规则在这里插入图片描述

在这里插入图片描述

a在这里插入图片描述
连接件绑定
构件之间不能有直接的交互

在这里插入图片描述

a
前一个阶段,下一个阶段

在这里插入图片描述

d
在这里插入图片描述
业务灵活组合

层次架构风格 (案例分析)

选择提主要就是考察上面的那个表,这个层次架构风格不怎么考察
这个层次架构风格主要是在案例分析里面考察

两层C/S架构

在这里插入图片描述

表示层 (客户端使用)
数据层 (服务器)

客户端和服务器都存在业务处理

在这里插入图片描述

表示层(客户端) ,客户机
数据层(只包含数据存储) ,数据库服务器
功能层(包含数据层和表示层的业务处理功能)专门处理业务逻辑的 ,应用服务器

三层B/S架构

在这里插入图片描述

浏览器-服务器模式

浏览器
WEB服务器
数据库服务器

C/S:内部人员,修改
B/S:外部人员,查询

富有互联网应用RIA

在这里插入图片描述

本质是基于B/S三层架构
没有客户端

使用互联网传输,现场搭建客户端
结合了B/S架构和C/S架构的优点
在这里插入图片描述

类似于微信小程序

MVC架构

案例分析里面常考的

在这里插入图片描述

视图和用户交互
控制器是处理用户交互的
模型是数据层(数据读取和业务逻辑处理)

最后的模型直接给视图(用户)返回数据了

MVP架构

在这里插入图片描述
在这里插入图片描述

prensenter

MVVM架构

在这里插入图片描述

在这里插入图片描述

ViewModel

面向服务的架构风格

在这里插入图片描述

对象
构件
服务
粒度越来越粗

ESB企业服务总线

服务是为了满足业务需求的操作,规则的逻辑组合

在这里插入图片描述

实现企业IT资产重用最大化

基于服务的构件和传统构件的区别

  1. 粗粒度
  2. 接口是标准的
  3. 实现与语言无关
  4. 通过构件容器提供QoS的服务

SOA中的关键技术

在这里插入图片描述

功能和协议需要记忆一下

SOA的实现方式

  1. WEB Service
  2. 服务注册表
  3. ESB
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

c
传递消息:远程调用在这里插入图片描述d在这里插入图片描述

架构复用

在这里插入图片描述

软件产品线是面向业务流的
对核心资产进行集成复用

机会复用:没有规划
系统复用:有规划

复用的基本过程:

  1. 构造/获取可复用的软件资产
  2. 管理这些资产
  3. 针对特定的需求,从这些资产中选择可复用的部分

DSSA

特定领域的软件架构:DSSA

重要

在这里插入图片描述

  1. 适用于特定的领域
  2. 软件构件的集合

垂直域:一个特定领域
水平域:多个特定领域

在这里插入图片描述

领域分析
领域设计
领域实现

考察较多

在这里插入图片描述

领域专家:懂技术,懂业务
领域分析人员
领域设计人员
领域实现人员

领域专家,领域分析人员:领域模型
领域设计人员:特定领域的软件开发(DSSA)
领域实现人员:开发具体的架构

考察较多

在这里插入图片描述

考察较少

前两个是领域分析,
3,4 是领域设计
5 是领域实现

在这里插入图片描述

在这里插入图片描述

c
c在这里插入图片描述

在这里插入图片描述

c

d
b在这里插入图片描述
领域分析:领域模型
领域设计:特定领域软件重用模型
领域实现:开发组织软件重用,实现基础架构

ABSD

重要

基于架构的软件开发

在这里插入图片描述

架构驱动
业务,质量,功能需求 驱动架构设计

视角和视图 描述软件架构

用例和质量属性场景 描述需求

  1. 用例:功能需求
  2. 质量属性场景:质量需求

考察定义

在这里插入图片描述

需求,设计,文档化,复审,实现,演化

在这里插入图片描述

架构就是由一个一个的构件和连接件组成
类,构件,架构

架构文档化生成:
架构规格说明
测试架构需求的质量设计说明书

在这里插入图片描述

在这里插入图片描述

b
c
c
在这里插入图片描述

在这里插入图片描述

a
在这里插入图片描述

软件系统的质量属性

在这里插入图片描述

很少考察

开发阶段(开发人员)
运行阶段(用户)

软件架构评估 (重点)

系统架构评估的质量属性:

在上午题考察5分,在案例分析考察5到10分

在这里插入图片描述

质量属性的定义
质量属性所包含的子特性
使用什么设计策略达到相关的质量属性

可靠性和可用性优先可用性

在这里插入图片描述

后面三个考察较少

质量属性场景

在这里插入图片描述

刺激源:主体
刺激:操作
环境:条件
制品:客体
响应:客体对主体刺激的响应
响应度量:

软件架构评估

在这里插入图片描述

敏感点:一种特定的质量属性
权衡点:多个质量属性

风险点:可能引起风险的因素
非风险点:可行可接受的

软件架构评估的概念:架构设计之后,系统设计之前(评估所采用的架构是否解决软件系统需求,质量,成本)

系统架构评估方式

在这里插入图片描述

调查问卷方式
度量方式
场景方式

场景方式:

  1. 确定应用领域的功能和软件架构的结构之间的映射
  2. 体现待评估质量属性的场景
  3. 分析软件架构对场景的支持程度

刺激:输入
响应:输出
环境:真实的场景

基于场景的评估方法

SAAM

了解就行

ATAM(重要)

ATAM在选择题和案例分析题中经常考察到

在这里插入图片描述

右边的文字选择题考察
左边的图像是论文中思路

评估小组
项目决策者
其他项目相关人

场景和需求收集
体系结构视图和场景实现
属性模型构造和分析
折中

属性作为架构评估的核心概念(质量属性):性能,可用性,安全性,可修改性

关于左边的图:
描述和介绍阶段
调查和分析阶段
测试阶段

CBAM

在这里插入图片描述

几乎不考

在这里插入图片描述

b
d
在这里插入图片描述
可靠性,可用性之间优先可用性在这里插入图片描述
c
c
在这里插入图片描述
b
a

在这里插入图片描述

c
a
c
在这里插入图片描述
相关质量属性
d (不属于之前所学习的8个质量属性中的)
a (控制和调试)
d
在这里插入图片描述
c

下面的不重要

在这里插入图片描述
在这里插入图片描述

中间件

在这里插入图片描述

中间件

  1. 分布式系统环境
  2. 操作系统和应用程序之间的软件

在这里插入图片描述

中间件分类:

  1. 数据库访问中间件
  2. 远程过程调用RPC
  3. 面向消息中间件
  4. 分布式对象中间件
  5. 事务中间件

J2EE

在这里插入图片描述

在这里插入图片描述

JAVA

.NET

在这里插入图片描述

微软

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值