ABSD 和 DSSA对比

ABSD(Application-Based Software Development,基于应用的软件开发)和 DSSA(Domain-Specific Software Architecture,领域专用软件架构)是两种不同的软件开发方法,主要区别在于开发的目的和应用范围。

1. ABSD 和 DSSA 的核心区别

特点ABSD (基于应用的软件开发)DSSA (领域专用软件架构)
目标为特定应用(单个项目)构建系统架构,解决独特的需求问题为特定领域构建通用架构,提高多次开发时的复用性
关注点满足当前应用的功能和业务需求解决某一特定领域内的共性需求,形成可重复使用的架构
产出物针对单一应用的架构和实现,满足特定功能和性能需求领域模型、可复用的架构和组件,用于该领域内多个项目的开发
适用场景适用于需要满足特定客户或项目需求的单一应用适用于在同一领域内开发多个类似应用系统,如电商平台或银行系统
开发方式通常按项目进度开发,面向独立应用的需求分析、设计和实现包括领域分析、领域设计和领域实现,逐步形成领域架构

2. ABSD 和 DSSA 的具体解释

ABSD (基于应用的软件开发)

ABSD 主要用于为单个应用项目设计和开发架构,通常是为了满足特定客户的业务需求。例如,开发一个物流管理系统时,ABSD 的开发流程会从系统需求入手,构建物流管理的架构设计、数据库设计和应用实现,聚焦于满足这个项目的个性化需求。开发完成后,该架构主要适用于当前应用项目,而不一定适合复用于其他项目。

  • 应用场景:ABSD 常用于解决独立项目的具体需求,适合不需要跨项目复用的系统。
  • 示例:一家快递公司定制一个物流跟踪系统,开发团队会根据该快递公司的业务流程设计专属的系统架构、数据库和接口,提供个性化服务。
DSSA (领域专用软件架构)

DSSA 的目标是为特定业务领域(例如金融、电商、物流等)开发通用的可复用架构。通过领域分析,DSSA 确定该领域的通用需求,然后进行领域设计,创建可以多次复用的标准化模块和接口,提升在同一领域内开发多个系统的效率。

  • 应用场景:DSSA 适合在一个领域内频繁开发类似系统的情境。
  • 示例:一个银行系统中的 DSSA 可能包含账户管理、支付、风控等通用模块和接口,通过领域设计,银行在新业务拓展中可以直接复用这些模块,减少重复开发的工作量。

3. 如何选择 ABSD 和 DSSA

选择 ABSD 的情形
  • 特定需求的应用:当需要满足独特项目需求时,ABSD 可以提供定制的系统架构。
  • 独立项目:适用于一次性或不复用的项目,架构无需考虑多次应用的通用性。

使用指南:

  1. 需求分析:从项目的独特需求出发,确定应用功能和技术要求。
  2. 架构设计:针对单一项目的架构设计,确保满足特定的性能、安全等需求。
  3. 系统实现与交付:基于设计完成项目实现,最终交付满足业务需求的系统。
选择 DSSA 的情形
  • 重复开发的领域:在同一领域内,多个项目存在相似功能需求时。
  • 领域复用:适用于金融、电商等重复性较高的领域项目,提高开发效率。

使用指南:

  1. 领域分析:分析领域内的共性需求,定义标准模块和接口。
  2. 领域设计:创建领域专用的架构和组件,确保可复用。
  3. 领域实现与优化:针对不同项目复用并不断优化架构。

总结

ABSD 和 DSSA 都是架构设计方法,适用的开发场景和目标不同。ABSD 更适合特定项目的应用开发,而 DSSA 则适合在同一领域内建立标准化架构,实现复用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/57709.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

libevent源码剖析-event

1 简介 本文来重点介绍下libevent中的event事件,在类unix系统中编写网络程序时,我们经常需要处理3类事件-IO事件&signal事件&timer事件,libevent通过reactor来注册&调度&处理IO事件,并且也将signal和timer事件借助…

2024年10月21日计算机网络,乌蒙第一部分

【互联网数据传输原理 |OSI七层网络参考模型】 https://www.bilibili.com/video/BV1EU4y1v7ju/?share_sourcecopy_web&vd_source476fcb3b552dae37b7e82015a682a972 mac地址相当于是名字,ip地址相当于是住址,端口相当于是发送的东西拿什…

SPI通信(W25Q64)

目录 一.前言 1.SPI的简介 2.SPI的应用 3. SPI的硬件电路 4. SPI硬件电路设计的核心 5. SPI时序基本单元 二. W25Q64简介 1. 芯片简介 2. (非)易失性存储器 3. 引脚定义 4. W25Q64框图 5. Flash操作的注意事项 三. SPI读写W25Q64(使用软件…

一文教会你如何使用 iLogtail SPL 处理日志

作者:阿柄 随着流式处理的发展,出现了越来越多的工具和语言,使得数据处理变得更加高效、灵活和易用。在此背景下,SLS 推出了 SPL(SLS Processing Language) 语法,以此统一查询、端上处理、数据加工等的语法&#xff0…

rpc的客户端为什么称为stub

1.client为什么是stub Stub 在分布式系统中是一种 代理对象(Proxy Object),它本质上是一个在本地系统中扮演远程服务角色的代理。 在早期的 RPC 术语中,客户端端叫做 Stub,而服务器端的处理部分叫做 Skeleton。这种对…

vue3使用i18n做国际化多语言,实现常量跟随语言切换翻译

因为我有一个常量的配置文件在项目中,而且有中文内容,我想在切换语言的时候,跟着这个翻译也实时切换,就可以使用computed计算属性实现。 把name改成下面的样子: name: computed(() > t(pad.regularMode)), 就可以…

深度学习:元学习(Meta-Learning)详解

元学习(Meta-Learning)详解 元学习,也称为“学会学习”,是机器学习中的一个重要子领域,旨在开发能够快速适应新任务或环境的模型,即使这些任务的可用数据非常有限。元学习的核心思想是通过经验学习如何学习…

Springboot配置方式和优先级

Springboot配置方式和优先级 调试思路key的获取过程application.properties优先级总结 在阅读开源项目时看到一种不太常见的属性配置方式,在项目根路径定义配置文件。并且提到下面的顺序,验证并看一下源码实现。 # spring boot支持外部application.yml …

N-gram详解

文章目录 一、什么是 N-gram?二、马尔可夫假设三、如何估计概率四、优缺点PS:补充参考 一、什么是 N-gram? 在自然语言处理中,n-gram 是一种重要的文本表示方法。n-gram 是指给定文本中连续的 n n n 个项目,这些项目可以是声音、单词、字…

Element Plus的el-tree-v2 组件实现仅叶子节点显示勾选框,并且只能单选

实现代码 <template><el-tree-v2:data"treeData":props"defaultProps"node-key"id"ref"treeRef"show-checkbox:check-strictly"true":expand-on-click-node"false"node-click"handleNodeClick&quo…

中小企业设备管理信息化:Spring Boot系统构建

摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了中小企业设备管理系统的开发全过程。通过分析中小企业设备管理系统管理的不足&#xff0c;创建了一个计算机管理中小企业设备管理系统的方案。文章介绍了中小企业…

java springboot项目如何计算经纬度在围栏内以及坐标点距离

在Maven项目中&#xff0c;你可以通过向pom.xml文件中的<dependencies>部分添加以下内容&#xff0c;来添加GeoTools和JTS的依赖&#xff1a; xml <dependencies> <!-- JTS Topology Suite --> <dependency> <groupId>org.locationtech.jts…

AI服务器HBA卡的国产PCIe4.0/5.0 switch信号完整性设计与实现,支持定制(二)

表 &#xff12; 展示了 &#xff30;&#xff23;&#xff22; 板所选介质材料 &#xff30;&#xff33;&#xff32;&#xff14;&#xff10;&#xff10;&#xff10;&#xff21;&#xff35;&#xff33;&#xff17;&#xff10;&#xff13; &#xff0c; &#xff3…

FreeRTOS实时操作系统(2)

前言&#xff1a;FreeRTOS内容较多&#xff0c;分篇发布&#xff0c;较为基础&#xff0c;旨在梳理知识&#xff0c;适合入门的同学 &#xff08;基于正点原子STM32F103开发板V2&#xff09; &#xff08;对于本篇&#xff0c;若有疑问&#xff0c;欢迎在评论区留言&#xf…

萤石设备视频接入平台EasyCVR私有化视频平台变电站如何实现远程集中监控?

一、方案背景 随着城市经济的发展和电力系统的改造&#xff0c;变电站的数量和规模逐渐增加&#xff0c;对变电站的安全管理和监控需求也越来越高。视频监控系统作为重要的安全管理手段&#xff0c;在变电站中起到了关键的作用。 目前青犀视频研发的萤石设备视频接入平台EasyC…

[网络协议篇] UDP协议

文章目录 1. 简介2. 特点3. UDP数据报结构4. 基于UDP的应用层协议5. UDP安全性问题6. 使用udp传输数据的系统就一定不可靠吗&#xff1f;7. 基于UDP的主机探活 python实现 1. 简介 User Datagram Protocol&#xff0c;用户数据报协议&#xff0c;基于IP协议提供面向无连接的网…

CAN诊断答疑

1.”DUT不应该在开始CAN通信前发送显性脉冲或者无效的报文“这句话中的显性脉冲是什么意思 在CAN (Controller Area Network) 通信中&#xff0c;显性脉冲指的是 CAN 总线上的电压状态处于“显性”水平。当 CAN 总线上有两种电压状态&#xff1a; 显性状态 (Dominant state)&a…

Spring AOP原理

&#xff08;一&#xff09;Spring AOP原理 Spring AOP是基于动态代理来实现AOP的&#xff0c;但是在讲之前我们要来先认识一下代理模式 1.代理模式 其实代理模式很好理解&#xff0c;简单来说就是&#xff0c;原本有一个对象&#xff0c;然后来了另一个对象&#xff08;我们称…

26.Redis主从架构

Redis主从架构 redis主从架构搭建&#xff0c;配置从节点步骤&#xff1a; 1、复制一份redis.conf文件 2、将相关配置修改为如下值&#xff1a; port 6380 pidfile /var/run/redis_6380.pid # 把pid进程号写入pidfile配置的文件 logfile "6380.log" dir /usr/local/…

3D-IC——超越平面 SoC 芯片的前沿技术

“3D-IC”&#xff0c;顾名思义是“立体搭建的集成电路”&#xff0c;相比于传统平面SoC&#xff0c;3D-IC引入垂直堆叠芯片裸片&#xff08;die&#xff09;和使用硅通孔&#xff08;TSV&#xff09;等先进封装技术&#xff0c;再提高性能、降低功耗和增加集成度方面展现了巨大…