系统架构设计(二):基于架构的软件设计方法ABSD

打印 上一主题 下一主题

主题 1646|帖子 1646|积分 4938

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
“基于架构的软件设计方法”(Architecture-Based Software Design, ABSD)是一种通过从软件架构层面出发指导具体设计的系统化方法。它旨在桥接架构设计与具体设计之间的鸿沟,确保系统的高层结构能够有效指导后续开辟。
ABSD 的焦点思想

ABSD 的焦点思想是:
   以架构为中心,驱动软件具体设计,确保系统的整体性、同等性和可演化性。
  在传统开辟流程中,架构设计和具体设计之间每每缺乏清晰过渡,ABSD 试图通过方法论来系统地将架构分解为可实现的具体设计模块
ABSD 方法的重要步骤

ABSD 通常包罗以下关键步骤:
架构分析与确认



  • 确定系统的非功能需求(如性能、安全、可维护性)
  • 明确架构风格(如微服务、变乱驱动、层次结构等)
  • 确认架构组件与交互机制
架构到设计元素的映射



  • 将架构组件映射为设计模块(模块、类、对象等)
  • 识别出模块间的接口和依靠
  • 订定模块职责界限(High Cohesion, Low Coupling)
接口与协议界说



  • 界说各模块的外部接口(API、消息格式、协议约定)
  • 关注跨模块通讯的同步/异步机制、序列化方案、安全策略等
具体设计添补



  • 对每个模块进行内部结构设计(如类图、状态机、数据结构等)
  • 实现对架构层中抽象概念的具体化
设计验证



  • 利用形式化、建模、仿真、原型等方式验证设计是否满足架构目的
  • 例如用 UML、SysML、ADL(Architecture Description Languages)等工具
ABSD 的典范应用场景



  • 大型复杂系统(如银行系统、嵌入式系统、云平台)
  • 高可靠性需求(如航空航天、工业控制)
  • 多个团队协作开辟项目
  • 需要恒久维护和演进的系统
ABSD 的上风

上风说明架构驱动保证具体设计与系统整体架构同等系统性强提供清晰步骤,易于工程化管理降低风险更早暴露设计缺陷,降低返工易于演化架构明确,支持系统恒久演进 ABSD 与其他设计方法的对比

方法设计出发点是否架构驱动粒度适用范围面向对象设计(OOD)类/对象否细粒度通用软件面向服务设计(SOAD)服务部分中粒度分布式系统ABSD架构是中-粗粒度大型系统 工具与语言支持



  • UML:用于建模类图、时序图、组件图
  • SysML / ArchiMate:架构建模语言
  • ADL(如 AADL、xADL):形式化架构形貌语言
  • 模型驱动开辟(MDD/MDA):可将架构模型转化为代码框架

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

滴水恩情

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表