基于架构的软件开发ABSD #
架构设计是一个迭代过程,在建立软件架构的初期,选择一个合适的架构风格是首要的,在此基础上,开发人员通过架构模型,可以获得关于软件架构属性的理解,为将来的架构实现与演化过程建立了目标。
基于架构的软件开发ABSD(Architecture-Based Software Design)。它能很好地支持重用。
1、ABSD方法是架构驱动,即强调由业务、质量和功能需求的组合驱动架构设计。
2、ABSD方法有三个基础。第一个基础是功能的分解。在功能分解中,ABSD方法使用已有的基于模块的内聚和耦合技术,第二个基础是通过选择架构风格来实现质量和业务需求,第三个基础是软件模板的使用。
3、视角与视图来描述架构、用例用来描述功能需求、特定场景(质量场景)用来描述非功能需求(质量需求)。
ANSI/IEEE1471-2000是对软件密集型系统的架构进行描达的标准。在该标准中,视图这一概念主要用于描述软件架构模型。在此基础上,通常采用 视角描述某个利益相关人(Stakeholder)所关注架构模型的某一方面。架构则是对所有利益相关人关注点的响应和回答
使用ABSD方法,设计活动可以从项目总体功能框架明确就开始;ABSD方法是一个自顶向下,递归细化的过程,直到能产生软件构件、模块或类。
在考虑体系结构时,可以从不同的视角来检查,这促使软件设计师考虑体系结构的不同属性。例如,展示功能组织的静态视角能判断质量特性,展示并发行为的动态视角能判断系统行为特性。选择的特定视角或视图也就是逻辑视图、进程视图、实现视图和配置视图。
1 开发过程 #
1.1 架构需求 #
1.2 架构设计 #
架构设计主要关注软件组件的结构、属性和交互作用,并通过多种视图全面描述特定系统的架构。
1.3 架构文档化 #
软件架构文档是对软件架构的一种描述,帮助程序员使用特定的程序设计语言实现软件架构。软件架构文档的写作应该遵循一定的原则,这些原则包括:文档要从使用者的角度进行编写;必须分发给所有与系统有关的开发人员;应该保持架构文档的即时更新,但更新不要过于频繁,架构文档中描述应该尽量避免不必要的重复,每次架构文档修改都应该记录进行修改的原则。
1.4 架构复审 #
架构复审是基于架构开发中一个重要的环节。架构设计文档化和复审是一个迭代的过程;架构复审的目的是标识潜在的风险,及早发现架构设计中的缺陷和错误;在一个主版本的软件架构分析之后,要安排一次由外部人员(用户代表和领域专家)参加的复审;架构复审过程中,通常会对一个可运行的最小化系统进行架构评估和测试。