软件架构设计
2025-08-23 17:04:22 1 举报
AI智能生成
核心内容:本软件架构设计采用微服务架构模式,以模块化的方式将复杂的应用分解为一组小型、独立的服务,每个服务负责一个特定功能。这种设计强调服务之间的松耦合,每个服务可以使用不同的编程语言和数据库技术独立开发和部署。 文件类型:软件架构设计文档(SAD)通常采用文本格式,如Microsoft Word (.docx) 或 Adobe PDF (.pdf) 文件类型,确保内容的可读性和通用性。 修饰语:详尽的、模块化的、高度集成的、可扩展的、企业级的。这些词汇准确地传达了本架构设计的特性,强调了其专业性和适用范围,同时为未来功能的增加和维护提供了灵活性。
作者其他创作
大纲/内容
ABSD
Architecture-Based Software Design
基于体系结构(架构)的软件分析方法
Architecture-Based Software Design
基于体系结构(架构)的软件分析方法
介绍
ABSD 是一个 自顶向下,递归细化的软件开发方法,软件系统的体系结构通过该方法得到细化,
直到能产生软件 构件和类
直到能产生软件 构件和类
使用 视角和视图 描述软件架构
用例和质量场景 描述 需求
强调:商业、质量和功能需求
体系结构需求获取
系统的质量目标
系统的商业目标
开发人员的商业目标
3个基础
功能的分解
质量和商业需求
通过选择体系结构风格来实现质量和商业需求
关键字:架构风格
软件模板的使用
6 个主要活动
ABSDM
6个过程
ABSDM
6个过程
体系结构需求
架构设计
文档化
输出
体系结构规格说明书
质量设计说明书
从使用者的角度进行编写
架构复审
目的:早期发现设计中的缺陷和错误
复审人员:外部人员(用户代表和领域专家)
架构实现
以文档化的体系结构规格说明书为基础
演化
DSSA
Domain Specific Software Architecture
特定领域软件架构
Domain Specific Software Architecture
特定领域软件架构
介绍
以一个特定问题领域为对象,形成由领域参考模型、参考需求、参考架构 等组成的开发基础架构
3个基本活动
领域分析
目的: 获得领域模型、领域需求
领域设计
目的:获取 DSSA
领域实现
目的:实现软件架构
3个层次
领域开发环境
领域架构师
领域特定应用开发环境
应用工程师
应用执行环境
操作员
4个角色
领域专家
提供有关领域中系统需求规格和实现知识,维护领域字典和复审领域模型和 DSSA 等
领域分析师
负责整个领域分析过程控制以及将从领域专家处获得的知识组织到领域模型中
领域设计人员
根据领域模型和现有系统开发出 DSSA 以及建立领域模型和 DSSA 之间的联系
输出:DSSA
输出:DSSA
领域实现人员
根据领域模型和DSSA进行软件实现以及对可重用构件进行验证
ATAM
Architecture Tradeoff Analysis Method
架构权衡分析方法
架构评估
Architecture Tradeoff Analysis Method
架构权衡分析方法
架构评估
介绍
架构权衡分析方法主要针对系统开发之前对质量属性进行评价和折中
属性 作为架构评估的核心概念
4个质量属性
可用性
可修改性
性能
安全性
4个阶段(步骤)
场景、需求收集
架构视图描述和场景实现
属性模型构造和分析
架构决策、折中
质量属性
采用效用树对质量属性进行刻画与排序
效用树结构:树根、质量属性、属性分类,质量属性场景
架构评估
4个关键点
4个关键点
风险点
有隐患,有可能导致一些问题,则为风险点
非风险点
某件事是可行的、可接受的,则为非风险点
敏感点
敏感点是一个或多个构件的特性
权衡点
权衡点是影响多个质量属性的特性,是多个质量属性的敏感点
架构评估
质量属性
可修改性
可维护性、可扩展性、结构重构和可移植性
易用性
开发期
易理解
可扩展
可重用
可测试性
可维护
可移植
运行期
性能
策略
资源调度
安全性
策略
追踪审计
检测攻击
互操作性
可用性
策略
主动冗余
心跳
Ping/Echo
可靠性
从系统开始运行到某个时刻,这个时间段内正常运行的概率
鲁棒性
容错性、健壮性
指系统在不确定性和干扰下保持性能的能力
信息隐蔽
通过信息隐蔽可以提高软件的可修改性、可测试性和可移植性,它也是现代软件设计的一个关键性原则
质量属性场景
场景是从 风险承担者 的角度对与系统交互的描述,一般采用 刺激、环境、响应 三方面来对场景进行描述
使用质量属性场景 描述质量属性
分类
刺激源
某个生成该刺激的实体(人、计算机系统或者任何其他刺激器)
刺激
该刺激是当刺激到达系统时需要考虑的条件
环境
该刺激在某些条件内发生。当激励发生时,系统可能处于过载、运行或者其他情况
制品
刺激的对象。这可能是整个系统,也可能是系统的一部分。
响应
该响应是在激励到达后所采取的行动
响应度量
当响应发生时,应当能够以某种方式对其进行度量,以对需求进行测试
可靠性
MTTR
平均故障修理时间
MTTF
平均无故障时间
MTBF
故障间隔时间
SAAM
基于场景的架构分析方法
架构评估
基于场景的架构分析方法
架构评估
介绍
SAAM 的主要输入问题是问题描述、需求声明和体系结构描述
5个步骤
场景开发
体系结构描述
单个场景评估
场景交互
总体评估
4+1 视图
架构建模
架构建模
多视图指从不同角度和视角描述系统体系结构,以获得多个视图,并将其组合在一起以描述整体模型。
多视图反映了关注点分离的思想,每个视图只关注系统的一个侧面
多视图反映了关注点分离的思想,每个视图只关注系统的一个侧面
版本1
逻辑视图
记录设计元素的功能和概念接口,设计元素的功能定义了它本身在系统中的角色,这些角色包括功能、性能等
进程(过程)视图
开发视图
物理视图
统一场景(场景视图)
ps
部署视图-对应 物理视图。还有一个 配置视图,假如出现视角之类的,选择配置视图
版本2
逻辑视图
进程(过程)视图
实现视图
部署视图
用例视图
软件架构风格
介绍
描述某一特定领域中的系统组织方式和惯用模式,反映了领域中众多系统所共有的 结构和语义 特征
定义了一个词汇表和一组约束,包含构件和连接件类型
研究和实践软件体系结构风格可以促进设计的重用
分类
数据流
关键字:一步一步执行,上个流程的输出是下个流程的输入
子风格
批处理
关键字:整体
管道-过滤
开发环境
调用/返回风格
子风格
主程序、子程序
面向对象
层次结构
物联网
3层
感知层
负责识别物体、采集信息
网络层
负责传递和处理信息
应用层
解决信息处理与人机交互问题
二层及三层 C/S 架构
3层
表示层
关键字:用户、交互
应用程序层(功能层)
关键字:业务处理
数据层
关键字:对数据库数据的读写
独立构件
子风格
进程通讯
事件驱动(隐式调用)
新闻、关注、推送
虚拟机
关键字:用户自定义
子风格
规则系统
包括规则集、规则解释器、规则/数据选择器、工作内存
解释器
关键字:灵活组合
仓库、数据中心
子风格
数据库系统
关键字:数据库、大量数据
黑板系统
关键字:语音识别、知识推理、求解过程不确定
超文本系统
两种构件
中央数据结构
说明当前数据的状态
独立构件
在中央数据存储上执行
C2
关键字:并行构件
C2 是一种并行构件网络,通过连接件按照一组规则绑定在一起。系统中的构件和连接件都有一个顶部和一个底部,构件的顶部应连接到某连接件的底部,构件的底部则应连接到某连接件的顶部
0 条评论
下一页