【新版系统架构】第十章-软件架构的演化和维护

软考-系统架构设计师知识点提炼-系统架构设计师教程(第2版)

  1. 第一章-绪论
  2. 第二章-计算机系统基础知识(一)
  3. 第二章-计算机系统基础知识(二)
  4. 第三章-信息系统基础知识
  5. 第四章-信息安全技术基础知识
  6. 第五章-软件工程基础知识(一)
  7. 第五章-软件工程基础知识(需求工程和系统分析与设计)
  8. 第五章-软件工程基础知识(软件测试、净室软件工程、基于构件的软件工程、 软件项目管理)
  9. 第六章-数据库设计基础知识(数据库基本概念、关系数据库)
  10. 第六章-数据库设计基础知识(数据库设计)
  11. 第七章-系统架构设计基础知识(基于架构的软件开发方法)
  12. 第七章-系统架构设计基础知识(架构风格、复用)
  13. 第八章-系统质量属性与架构评估
  14. 第九章-软件可靠性基础知识

软件架构演化和定义的关系

架构演化的重要性:

  1. 软件架构作为软件系统的骨架支撑着整个系统,是软件系统具备诸多好的特性的重要保障
  2. 软件架构作为软件蓝图为人们宏观管控软件系统的整体复杂性和变化性提供了一条有效途径,而且基于软件架构进行的软件检测和修改成本相对较低

软件架构的演化可以更好地保证软件演化的一致性和正确性,明显降低软件演化成本,使得软件系统演化更加便捷,有3方面原因:

  1. 对系统的软件架构进行的形式化、可视化表示提高了软件的可构造性,便于软件演化
  2. 软件架构设计方案涵盖的整体结构信息、配置信息、约束信息等有助于开发人员充分考虑未来可能出现的演化问题、演化情况和演化环境
  3. 架构设计时对系统组件之间的耦合描述有助于软件系统的动态调整

面向对象软件架构演化过程

对象演化、消息演化、复合片段演化、约束演化

软件架构演化方式的分类

3种典型的分类方法:

  1. 按照软件架构的实现方式和实施粒度分类:基于过程和函数的演化、面向对象的演化、基于组件的演化和基于架构的演化
  2. 按照研究方法分类:第一类对演化的支持,第二类版本和工程的管理工具,第三类架构变换的形式方法,第四类架构演化的成本收益分析
  3. 按照软件架构的演化过程是否处于系统运行时期分:静态演化和动态演化

软件架构演化时期:设计时演化、运行前演化、有限制运行时演化、运行时演化

软件架构演化原则

演化成本控制原则、进度可控原则、风险可控原则、主体维持原则、系统总体结构优化原则、平滑演化原则、目标一致原则、模块独立演化原则、影响可控原则、复杂性可控原则、有利于重构原则、有利于重用原则、设计原则遵从性原则、适应新技术原则、环境适应性原则、标准依从性原则、质量向好原则、适应新需求原则

软件架构演化评估方法

根据演化过程是否已知可将评估过程分为:演化过程已知的评估、演化过程未知的评估

大型网站架构演化实例

第一阶段:单体架构
第二阶段:垂直架构(应用、数据分离)
第三阶段:缓存改善网站性能
第四阶段:使用服务集群改善网站并发处理能力
第五阶段:数据库读写分离
第六阶段:使用反向代理和CDN加速网站响应
第七阶段:使用分布式文件系统和分布式数据库系统
第八阶段:使用NoSQL和搜索引擎
第九阶段:业务拆分
第十阶段:分布式服务

软件架构维护

软件架构维护与演化密不可分,维护需要对软件架构的演化过程进行追踪和控制,以保障软件架构的演化过程能够满足需求,软件架构维护过程设计架构知识管理、架构修改管理、架构版本管理等


上面的过于理论,我们还需要脚踏实地 ,作者其他要推荐的文章,欢迎来学习:
基于Spring Boot 3.1.0 系列文章

  1. Spring Boot 源码阅读初始化环境搭建
  2. Spring Boot 框架整体启动流程详解
  3. Spring Boot 系统初始化器详解
  4. Spring Boot 监听器详解
  5. Spring Boot banner详解
  6. Spring Boot 属性配置解析
  7. Spring Boot 属性加载原理解析
  8. Spring Boot 异常报告器解析
  9. 使用GraalVM 构建 Spring Boot 3.0 原生可执行文件
  10. Spring Boot 3.x微服务升级经历

Prometheus 系列文章

  1. Prometheus 的介绍和安装
  2. 直观感受PromQL及其数据类型
  3. PromQL之选择器和运算符
  4. PromQL之函数
  5. Prometheus 告警机制介绍及命令解读
  6. Prometheus 告警模块配置深度解析
  7. Prometheus 配置身份认证
  8. Prometheus 动态拉取监控服务
  9. Prometheus 监控云Mysql和自建Mysql

Grafana 系列文章,版本:OOS v9.3.1

  1. Grafana 的介绍和安装
  2. Grafana监控大屏配置参数介绍(一)
  3. Grafana监控大屏配置参数介绍(二)
  4. Grafana监控大屏可视化图表
  5. Grafana 查询数据和转换数据
  6. Grafana 告警模块介绍
  7. Grafana 告警接入飞书通知

猜你喜欢

转载自blog.csdn.net/weixin_40972073/article/details/131533198