【系统架构】-什么是MDA架构、ADL、DSSA
MDA
MDA是Model Driven Architecture 的缩写,也叫模型驱动架构,起源于分离系统规约和平台实现的思想,MDA的主要目标是:Portability(可移植性),Interoperability(互通性),Reusability(可重用性)
先有一个平台独立模型(PIM),通过工具将平台独立模型映射为平台相关模型(PSM),再由平台相关模型生成代码。
MDA和核心模型:
- 平台独立模型(PIM):具有高抽象层,独立于任何实现技术的模型
- 平台相关模型(PSM):为某种特定实现技术量身定做,让你用这种技术中可用的实现构造来描述系统的模型。PIM会被变成一个或多个PSM
- 代码Code:用源代码对系统的描述(规约),每个PSM都将被变成代码。
就是能通过一套通用程序生成另外一套程序或应用
ADL
ADL是一种形式化语言,它在底层语义模型的支持下,为软件系统的概念体系结构建模提供了具体化语法和概念框架。
ADL三个基本元素:
构件:计算或数据存储单元
连接件:用于构件之间交互建模的体系结构构造块及其支配这些交互的规则
架构配置:描述体系结构的构件和连接件的连接图
ADL 建模用,一些伪代码
DSSA
DSSA(Domain Specific Software Architecture)特定领域软件架构,可以看做开发产品线的一个方法或理论,目标就是支持一个特定领域中多应用的生成。
必备特征:
- 一个严格定义的问题域或解决域
- 具有普遍性,使其可以用于领域中某个特定应用的开发
- 对整个领域的合适程序的抽象
- 具备该领域固定的、典型的在开发过程中的可复用元素
领域分析机制:
- 领域专家:有经验的用户、从事该领域中系统的需求分析、设计、实现以及项目管理的有经验的软件工程师等。领域专家的主要任务包括提供关于领域中系统的需求规约和实现的知识。
- 领域分析人员:领域分析人员应由具有知识工程背景的有经验的系统分析员来担任
- 领域设计人员:领域设计人员应由有经验的软件设计人员来担任
- 领域实现人员:领域实现人员应由有经验的程序设计人员来担任
三层次模型:
作者热门文章推荐:
Java面试题专栏:
《从Java面试题看源码》-LongAdder、LongAccumulator是个什么东西?
《从Java面试题来看源码》-LinkedBlockingQueue 源码分析
《从Java面试题看源码》-有哪些并发队列?及ConcurrentLinkedQueue 源码分析
《从Java面试题看源码》-看完Kafka性能优化-让你吊打面试官
《从Java面试题看源码》-默认线程池阻塞队列为什么用LinkedBlockingQueue
- 点赞
- 收藏
- 关注作者
评论(0)