|
知识路径: > 软件架构基础知识 > 软件架构的风格 > 软件架构风格 >
|
相关知识点:17个
|
|
|
|
正交(orthogonal)软件架构由组织层和线索的构件构成。层是由一组具有相同抽象级别的构件构成;线索是子系统的特例,它是由完成不同层次功能的构件组成(通过相互调用来关联),每一条线索完成整个系统中相对独立的一部分功能。每一条线索的实现与其他线索的实现无关或关联很少,在同一层中的构件之间是不存在相互调用的。
|
|
|
如果线索是相互独立的,即不同线索中的构件之间没有相互调用,那么这个结构就是完全正交的。从以上定义,我们可以看出,正交软件架构是一种以垂直线索构件族为基础的层次化结构,其基本思想是把应用系统的结构按功能的正交相关性,垂直分割为若干个线索(子系统),线索又分为几个层次,每个线索由多个具有不同层次功能和不同抽象级别的构件构成。各线索的相同层次的构件具有相同的抽象级别。因此,我们可以归纳正交软件架构的主要特征如下:
|
|
|
(1)正交软件架构由完成不同功能的n(n>1)个线索(子系统)组成。
|
|
|
|
|
(4)系统有一个公共驱动层(一般为最高层)和公共数据结构(一般为最低层)。
|
|
|
对于大型的和复杂的软件系统,其子线索(一级子线索)还可以划分为更低一级的子线索(二级子线索),形成多级正交结构。正交软件架构的框架如下图所示。
|
|
|
|
|
上图是一个三级线索、五层结构的正交软件架构框架图。在该图中,ABDFK组成了一条线索,ACEJK也是一条线索。因为B、C处于同一层次中,所以不允许进行互相调用;H、J处于同一层次中,也不允许进行互相调用。一般来讲,第五层是一个物理数据库连接构件或设备构件,供整个系统公用。
|
|
|
|
(1)结构清晰,易于理解。正交软件架构的形式有利于理解。由于线索功能相互独立,不进行互相调用,结构简单、清晰,构件在结构图中的位置已经说明它所实现的是哪一级抽象,担负的是什么功能。
|
|
|
(2)易修改,可维护性强。由于线索之间是相互独立的,所以对一个线索的修改不会影响到其他线索。因此,当软件需求发生变化时,可以将新需求分解为独立的子需求,然后以线索和其中的构件为主要对象分别对各个子需求进行处理,这样软件修改就很容易实现。系统功能的增加或减少,只需相应的增删线索构件族,而不影响整个正交架构,因此能方便地实现结构调整。
|
|
|
(3)可移植性强,重用粒度大。因为正交结构可以为一个领域内的所有应用程序所共享,这些软件有着相同或类似的层次和线索,可以实现架构级的重用。
|
|
|