系统架构设计师(第二版)学习笔记----系统架构概述

这篇具有很好参考价值的文章主要介绍了系统架构设计师(第二版)学习笔记----系统架构概述。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【原文链接】系统架构设计师(第二版)学习笔记----系统架构概述

一、系统架构的定义与发展历程

1.1 架构的定义

系统架构是系统的一种整体的高层次的结构表示,是系统的骨架、根基,支撑和链接各个部分

1.2 架构设计的作用

  • 解决相对复杂的需求问题
  • 解决非功能属性在系统占据重要位置的设计问题
  • 解决生命周期长、扩展性需求高的系统整体结构问题
  • 解决系统基于组件需要的集成问题
  • 解决业务流程再造难的问题

1.3 架构设计产生的背景

  • 软件复杂、易变,其行为特征难以预见,软件开发过程中需求和设计之间缺乏有效的转换,导致软件开发过程困难和不可控
  • 随着软件系统的规模越来越大、越来越复杂,整个系统的结构和规格说明就显得越来越重要
  • 对于大规模的复杂软件系统,相较于对计算算法和数据结构的选择,系统的整体结构设计和规格说明已经变得明显重要的多
  • 对软件系统结构的深入研究将会成为提高软件生产率和解决软件维护问题的最有希望的新途径

1.4 软件架构的发展历程

  • 基础研究阶段(1968-1994)
  • 概念体系和核心技术形成阶段(1999-2000)
  • 理论体系完善和发展阶段(1996-至今)
  • 普及应用阶段(2000-至今)

1.5 模块化开发方法

模块化开发方法是指把一个待开发的软件分解为若干个小的而且简单的部分,采用对复杂事物分而治之的经典原则。

1.6 模块法方法分解模块遵循的原则

  • 最高模块内聚
  • 最低耦合
  • 模块大小适合
  • 模块调用链的深度不可过多
  • 接口简单、精炼(扇入扇出不宜太大),具有信息隐蔽能力
  • 尽可能地复用已有模块

1.7 软件工程领域研究重点

  • 软件架构描述和表示
  • 软件架构分析、设计与测试
  • 软件架构发现、演化与重用
  • 基于软件架构的开发方法
  • 软件架构风格
  • 动态软件架构

1.8 架构分析常用的方法

  • 软件架构分析方法SAAM
  • 架构权衡分析法ATAM
  • 成本效益分析法CBAM
  • 基于场景的架构再工程SBAR
  • 架构层析的软件可维护性预测ALSPM
  • 软件架构评估模型SAEM

1.9 架构设计常用的方法

  • 从工件描述中提取架构描述的工件驱动方法
  • 从用例导出架构抽象的用例驱动
  • 从模式导出架构的模式驱动方法
  • 从领域模型导出架构抽象的域驱动方法
  • 从设计过程中获得架构质量属性需求的属性驱动设计方法

1.10 架构测试策略

  • 单元
  • 子系统
  • 集成
  • 验收

1.11 架构测试方法

  • 架构测试覆盖方法
  • 组件设计正确性验证方法
  • 基于CHAM的架构动态语义验证方法

1.12 架构风格

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

1.13 软件架构影响开发的各个阶段

  • 需求阶段
  • 设计阶段
  • 实现阶段
  • 维护阶段

二、软件架构的常用分类及建模方法

2.1 软件架构的常用分类

  • 分层架构
  • 事件驱动架构
  • 微核架构
  • 微服务架构
  • 云架构

2.2 分层架构最常见的四层架构

  • 表现层
  • 业务层
  • 持久层
  • 数据库

系统架构设计师(第二版)学习笔记----系统架构概述,软考高级----系统架构设计师,系统架构,学习,笔记

2.3 事件驱动架构的四个主要部分

  • 事件队列
  • 分发器
  • 事件通道
  • 事件处理器
    系统架构设计师(第二版)学习笔记----系统架构概述,软考高级----系统架构设计师,系统架构,学习,笔记

2.4 微核架构

微核架构又称为插件架构,是指软件的内核相对较小,主要功能和业务逻辑都通过插件实现
系统架构设计师(第二版)学习笔记----系统架构概述,软考高级----系统架构设计师,系统架构,学习,笔记

2.5 微服务架构三种实现模式

  • Restful API模式
  • Restful 应用模式
  • 集中消息模式
    系统架构设计师(第二版)学习笔记----系统架构概述,软考高级----系统架构设计师,系统架构,学习,笔记

2.6 云架构

系统架构设计师(第二版)学习笔记----系统架构概述,软考高级----系统架构设计师,系统架构,学习,笔记
云架构主要分成两部分

  • 处理单元
  • 虚拟中间件

虚拟中间件包含4个组件文章来源地址https://www.toymoban.com/news/detail-696227.html

  • 消息中间件(Messageing Grid)
  • 数据中间件(Data Grid)
  • 处理中间件(Processing Grid)
  • 部署中间件(Deployment Manager)

2.7 系统架构常用建模方法

  • 结构模型
  • 框架模型
  • 动态模型
  • 过程模型

2.8 常见软件架构风格的使用场景

  • 管道-过滤器风格适用于将系统分成若干独立的步骤
  • 主程序/子系统和面向对象的架构风格适用于对组件内部进行设计
  • 虚拟机风格适用于构造解释器或专家系统
  • C/S和B/S风格适合于数据和处理分布在一定范围,通过网络连接构成系统
  • 平台/插件风格适用于具有插件扩展功能的应用程序
  • MVC风格被广泛应用于用户交互程序的设计
  • SOA风格适用于在企业集成等方面
  • C2风格适用于GUI软件开发,用以构建灵活和可扩展的应用系统

到了这里,关于系统架构设计师(第二版)学习笔记----系统架构概述的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 系统架构设计师笔记第20期:软件架构复用

    软件架构复用是指在不改变软件功能的情况下,将已有的软件架构直接或进行微调后复用到新的软件或系统中,从而加快软件开发进程,提高软件生产效率。软件架构复用包括软件产品复用和软件过程复用两部分的内容。其中,软件产品复用是指将已有的软件组件(如函数、

    2024年02月10日
    浏览(79)
  • 系统架构设计师笔记第35期:表现层框架设计

    表现层框架设计是指在软件系统中,将用户界面(UI)和用户交互逻辑与后端业务逻辑分离,使用特定的框架来组织和管理表现层的功能和结构。下面是表现层框架设计的一般步骤和常用技术: 确定需求和功能:首先,明确系统的需求和功能,确定用户界面需要展示的内容和

    2024年02月13日
    浏览(46)
  • 系统架构设计师笔记第31期:边缘计算

    边缘计算是一种计算模型,它将计算和数据处理能力从传统的集中式云计算中心向接近数据源和终端设备的边缘位置移动。边缘计算旨在提供更低延迟、更高带宽、更好的数据隐私和更强的实时决策能力。 边缘计算的特点如下: 低延迟:边缘计算将计算资源部署在离终端设

    2024年02月15日
    浏览(42)
  • 系统架构设计师笔记第32期:数字孪生

    数字孪生是一种虚拟的数字模型或镜像,它与现实世界的实体、系统或过程相对应。它通过收集、整合和分析现实世界的数据,并使用模拟、建模和分析技术来创建一个实体的数字表示。 数字孪生的概念源于物理世界与数字世界的融合。它通过建立实体的数字副本来模拟和预

    2024年02月16日
    浏览(47)
  • 系统架构设计师笔记第13期:需求工程

    需求工程(Requirements Engineering)是软件工程中的一个关键过程,旨在识别、分析、规范和验证软件系统的需求。它涉及与相关利益相关者合作,以确保对软件系统的需求达成一致,从而为后续的设计、开发和测试活动提供基础。需求工程通常包括以下活动: 需求收集:在此阶

    2024年02月09日
    浏览(44)
  • 四、软考-系统架构设计师笔记-信息系统基础知识

    信息系统的定义 信息系统是由计算机硬件、网络和通信设备、计算机软件、信息资源、信息用户和规章制度组成的以处理信息流为目的的人机一体化系统。 信息系统任务是对原始数据进行收集、加工、存储,并处理产生各种所需信息,以不同的方式提供给各类用户使用。 信

    2024年03月09日
    浏览(69)
  • 系统架构设计师笔记第9期:密钥管理技术

    密钥管理技术是确保密钥在生成、分发、存储和更新过程中的安全性和有效性的一系列方法和措施。密钥的正确管理对于保护加密系统的安全至关重要。以下是一些常见的密钥管理技术: 密钥生成:密钥生成是指根据特定算法生成密钥的过程。在密钥生成过程中,应使用安全

    2024年02月09日
    浏览(60)
  • 系统架构设计师笔记第25期:面向对象软件架构演化过程

    面向对象软件架构的演化过程可以分为以下几个阶段: 单一模块:初始阶段,整个软件系统被实现为一个单一的模块,所有功能和数据都集中在一个代码块中。这种设计简单直接,但缺乏模块化和可维护性。 分层架构:为了提高可维护性和模块化,系统被分解为多个层次,

    2024年02月12日
    浏览(48)
  • 系统架构设计师笔记第28期:信息物理系统技术概述

    信息物理系统(Cyber-Physical Systems)是指将信息处理与物理过程相结合的系统。它是计算机科学、控制论、通信技术和物理学等多个领域的交叉学科,旨在通过将信息处理和计算能力与物理系统的感知、控制和执行能力相结合,实现更智能、自适应和高效的系统。 信息物理系

    2024年02月12日
    浏览(43)
  • 系统架构设计师笔记第6期:计算机软件

    计算机软件(Computer Software)是指由计算机程序和相关数据组成的指令集合,用于控制和协调计算机硬件执行特定任务和提供特定功能的系统。简而言之,计算机软件是指计算机系统中运行的程序和相关数据的集合。 计算机软件可以分为两大类: 1. 系统软件(System Software):

    2024年02月08日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包