当前位置: 首页 > article >正文

系统架构设计师—系统架构设计篇—架构设计与生命周期

文章目录

  • 需求分析阶段
  • 设计阶段
    • 软件架构模型描述(Software Architecture,SA)
      • SA的基本概念
      • 体系结构描述语言(Architecture Description Language,ADL)
      • 软件架构模型的多视图表示
  • 实现阶段
  • 构件组装阶段
    • 体系结构失配问题类型
  • 部署阶段
  • 后开发阶段

需求分析阶段

从软件需求模型向软件架构模型的转换主要关注两个问题:

  1. 如何根据需求模型构建软件架构模型
  2. 如何保证模型转换的可追踪性

设计阶段

  1. 软件架构模型的描述
  2. 软件架构模型的设计与分析方法
  3. 对软件架构设计经验的总结与复用

软件架构模型描述(Software Architecture,SA)

SA的基本概念

传统的设计概念只包括构件(组件、模块),以及一些基本的模块互联机制。
对着研究的深入,构件间的互联机制逐渐独立出来,成为与构件同等级别的实体,称为连接子(连接件)

体系结构描述语言(Architecture Description Language,ADL)

支持构件、连接子及其配置的描述语言,就是如今所说的体系结构描述语言。

软件架构模型的多视图表示

从不同的视角描述特定系统的体系结构,从而得到多个视图,并将这些视图组织起来以描述整体的软件架构模型。

典型的包括4+1视图。

名称基本内容图类型
逻辑视图(Logical View)设计的对象模型(使用面向对象的设计方法时)。系统架构图
过程视图(Process View)捕捉设计的并发和同步特征。时序图
物理视图(Physical View)描述了软件到硬件的映射,反映了分布式特性。部署图
开发视图(Development View)描述了再开发环境中软件的静态组织结构。类图
场景视图(Scenarios View)围绕上述4个视图来组织,然后由一些用例(Use Case)或者场景(Scenarios)来说明,从而形成了第五个视图。用例图

实现阶段

  1. 研究基于软件架构的开发过程支持,如项目组织结构、配置管理等。
  2. 寻求从软件架构向实现过渡的途径,如将程序设计语言元素引入软件架构阶段、模型映射、构件组装、复用中间件平台等。
  3. 研究基于软件架构的测试技术。

构件组装阶段

  1. 如何支持可复用构件的互联,即对SA设计模型中规约的连接子的实现提供支持。
  2. 组装过程中,如何检测并消除体系结构失配问题。

体系结构失配问题类型

  1. 构件引起的失配,包括由于系统对构件基础设施、构件控制模型和构件数据模型的假设存在冲突引起的失配。
  2. 连接子引起的失配,包括由于系统对构件交互协议、连接子数据模型的假设存在冲突引起的失配。
  3. 由于系统成分对全局体系结构的假设存在冲突引起的失配等。
    1. 架构设计中对业务的理解,同实际情况存在偏差。

要解决失配问题,首先要检测出失配问题,并在此基础上通过适当的手段消除检测出的失配问题。

部署阶段

部署阶段的软件架构对软件部署作用如下:

  1. 提供高层的体系结构视图描述部署阶段的软硬件模型(部署图)。
  2. 基于软件架构模型可以分析部署方案的质量属性,从而选择合理的部署方案。

后开发阶段

后开发阶段是指软甲部署安装之后的阶段。
这一阶段的软件架构研究主要围绕维护、演化、复用等方面来进行。
典型的研究方向包括动态软件体系结构、体系结构恢复与重建等。


http://www.kler.cn/a/577538.html

相关文章:

  • 配置 Thunderbird 以使用 QQ 邮箱
  • 打造智能聊天体验:前端集成 DeepSeek AI 助你快速上手
  • android13打基础: 保存用户免得下次重新登录逻辑
  • 【GPT入门】第7课 LTM介绍
  • 旋转编码器原理与应用详解:从结构到实战 | 零基础入门STM32第四十七步
  • 单链表基本操作的实现与解析(补充)
  • 笔记:在Git中.gitmodules文件的功能和作用和如何使用
  • 模型微调-基于LLaMA-Factory进行微调的一个简单案例
  • 纷享销客vs销售易:制造行业CRM选型深度解析
  • 《基于锂离子电池放电时间常数的自动化电量评估系统设计》k开题报告
  • 算法系列之广度优先搜索解决妖怪和尚过河问题
  • java调用c++
  • 深入剖析淘宝商品详情 API 接口 item_get
  • 【机器学习案列】基于随机森林的运动能量消耗预测分析实战
  • 【网络协议详解】——isis技术(学习笔记)
  • 2023年全国职业院校技能大赛网络系统管理赛项模块A:网络构建(样题2)-网络部分解析-附详细代码
  • Qt的QDateTimeEdit控件的使用
  • 【SpringMVC】SpringMVC的启动过程与原理分析:从源码到实战
  • 模型微调——模型性能提升方法及注意事项(自用)
  • TK协议强私——TK采集器