软件架构设计(二)——领域架构、基于架构的软件开发方法

目录

一、架构描述语言 ADL

二、特定领域软件架构 DSSA

三、DSSA的三层次架构模型 .

四、基于架构的软件开发方法

(1)基于架构的软件设计(ABSD)

(2)开发过程


一、架构描述语言 ADL

        ADL是一种形式化语言,它在底层语义模型的支持下,为软件系统概念体系结构建模提供了具体的语法和概念框架。基于底层语义工具为体系结构的表示、分析、演化、细化、设计过程等提供支持。例如:Aespo,MataH,C2,Rapide,SADL,Unicon,Wright等。ADL它包含三种元素:

  • 构件:计算或数据存储单元
  • 连接件:用于构件之间交互建模的体系结构构造块及其支配这些交互的规则
  • 架构配置:描述体系结构的构件于连接件的连接图

二、特定领域软件架构 DSSA

        所谓特定领域,就是业务领域。例如互联网+农业,就是互联网应用在农业上,特定领域就是农业。比如医疗,金融,物流,化学,政务,信息安全等都需要运用到互联网。大多数人都处在某种行业,想要做好计算机软件,不仅要有技术知识,也要有相关邻域的业务知识。

        在很多情况下,同一个领域的系统,可能大多数需求,以及功能实际上都差不多。如果每次开发同一个类型的系统,都要从零开始,那么成本是巨大的。特定领域软件架构的目标就是将统一个领域的共性抽取出来,为这些共性作架构设计,成为行业的解决方案。

        在分析阶段会建立领域模型;在邻域设计阶段会得到领域架构(DSSA),在实现阶段进行开发和组织可复用的信息。

        因为邻域架构的整个阶段需要抽取行业的共性特征。因此完成邻域架构的相关人员通常要有相关的业务知识储备。比如 行业专家(咨询团队),分析人员,设计人员,和开发人员。

三、DSSA的三层次架构模型 .

        通常在不少大型企业中能见到,一个公司有若干个团队,其中包含核心团队,专门维护基础产品,当作标准产品。其他团队在标准产品的基础上根据用户需求完成些个性化的开发。

        在DSSA三层架构模型中,三层指的是邻域开发环境,领域特定的应用开发环境,应用执行环境。而邻域开发环境就是开发行业领域中的共性的东西,领域特定的应用开发环境就是在原产品上完成对客户的个性化开发

 

四、基于架构的软件开发方法

(1)基于架构的软件设计(ABSD)

  • Architecture Base Software Design,是架构驱动,强调由业务、质量、功能需求的组合驱动架构设计。通俗点说,就是要根据实际业务来进行架构设计。
  • 使用ABSD方法,设计活动可以从项目总体功能框架明确就开始,这意味着需求获取和分析还没有完成,就开始了软件这几
  • ABSD方法由三个基础。分别是功能的分解(使用模块的内聚耦合技术),选择架构风格来实现质量和业务需求,软件模板的使用(利用软件系统结构)。
  • ABSD方法是递归的。架构在迭代中的每一步都总是清晰的。
  • 视角与视图:要从不同角度去分析问题。
  • 用例用来捕获功能需求、特定场景来捕获质量需求。根据参与者访谈了解需求实现要完成哪些功能。通过设计场景进行使用软件,要求系统满足一些非功能需求,比如说响应时间,可靠性等。

(2)开发过程

         ABSD,能够很好的支持软件重用。开发过程需要经历以下几个步骤:

架构需求:首先进行需求获取,其中还可以从需求库中获取一些通用的需求;标识构件,包含生成类图,对类分组,把类打包成构件。这样的目的是为了将需求分为各个功能板块,每个功能板块视为构件;最后需求评审。

架构设计:首先要提出架构模型,要将每个构件映射到架构中,分析构件的相互作用,产生架构后进行评审。

架构文档化:生成《架构规格说明书》、《测试架构需求的质量设计说明书》,文档的完整性和质量是软件的关键因素。例如、编写文档要让使用者看懂,每个开发人员都要有最新的文档

架构复审:发现标识潜在风险,尽早发现架构设计中缺陷和错误。如果复审不通过,那么返回到架构设计重新修改。

架构实现:得到复审后的文档化架构之后,进行构件的实现,实际上也是子系统的实现。流程分析与设计,构件实现。各个子系统完成后,进行构件的组装,完成构件之间的通信。最后进行总体的系统测试。完成后进入了演化过程

架构演化:如果有需求变化,将需求归类,分析架构是否要变动,以及变更计划是什么。分析涉及到哪些构件,落实需求实现后,重新更新构件间的通信,并进行系统测试。最后进行对新架构进行技术评审。得到演化后的架构

 

 

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>