ABSD模型把整个基于体系结构的软件过程划分为体系结构需求、设计、文档化、复审、实现和演化6个子过程。如图1所示。

基于架构的软件开发方法_2.基于体系结构的开发模型-LMLPHP

   图1 体系结构开发模型

1.体系结构需求

         需求指用户对目标软件系统的功能、行为、性能、设计约束等方面的期望。体系结构需求受技术环境和体系结构设计师的经验影响。需求过程主要是获取用户需求,标识系统中所要用到的构件。体系结构需求过程如图2所示。如果以前有类似的系统体系结构的需求,我们可以从需求库中取出,加以利用和修改,以节省需求获取的时间,减少重复劳动,提高开发效率。

基于架构的软件开发方法_2.基于体系结构的开发模型-LMLPHP

        图2 体系结构需求过程

2.体系结构设计

         体系结构需求用来激发和调整设计决策,不同的视图被用来表达与质量目标有关的信息。体系结构设计是一个迭代的过程,如果要开发的系统能够从已有的系统中导出大部分,则可以使用已有系统的设计过程。软件体系设计过程如图3所示。

基于架构的软件开发方法_2.基于体系结构的开发模型-LMLPHP

图3 体系结构设计过程 

3.体系结构文档化

         绝大多数的体系结构都是抽象的,由一些概念上的构件组成。例如,层的概念在任何程序语言设计中都不存在。因此,要让系统分析员和程序员去实现体系结构,还必须将体系结构进行文档化。文档是在系统演化的每一个阶段,系统设计与开发人员的通信媒介,是为验证体系结构设计和提炼或修改这些设计(必要时)所执行预先分析的基础。

        体系结构文档化过程的主要输出结果是两个文档:体系结构规格说明和测试体系结构需求的质量设计说明书

4.体系结构复审

         从图1可以看出,体系结构设计、文档化和复审是一个迭代过程。从这个方面来说,在一个主版本的软件体系结构分析之后,要安排一次由外部人员(用户代表和领域专家)参加的复审

        鉴于体系结构文档标准化以及风险识别的现实情况,通常人们根据架构设计,搭建一个可运行的最小化系统用于评估和测试体系架构是否满足需要。是否存在可识别的技术和协作风险。

        复审的目的标识潜在的风险,及早发现体系结构设计中的缺陷和错误,包括体系结构能否满足需求、质量需求是否在设计中得到体现、层次是否清晰、构件的划分是否合理、文档表达是否明确、构件的设计是否满足功能和性能的要求等

5.体系结构实现

         所谓“实现”就是要用实体来显示出一个软件体系结构,即要符合体系结构所描述的结构性设计决策,分割成规定的构件,按规定方式互相交互。体系结构的实现过程如图4所示。

基于架构的软件开发方法_2.基于体系结构的开发模型-LMLPHP 

图4 体系结构实现过程 

6.体系结构的演化

         在构件开发过程中,用户的需求可能还有变动。在软件开发完毕正常运行后,由一个单位移植到另一个单位,需求也会发生变化。在这两种情况下,就必须相应地修改软件体系结构,以适应已发生变化的软件需求。体系结构演化过程如图5所示。

基于架构的软件开发方法_2.基于体系结构的开发模型-LMLPHP

图5 体系结构演化过程 

04-02 11:50