新闻动态
体系结构设计原理
https://www.sytm.net 发布日期:2013/12/17 16:27:41

软件体系结构是建立在几条基本原理之上的。这些基本原理包括:抽象、封装、数据隐藏、模块化、注意点分离、耦合和内聚、接口与实现的分离、引用的单一性、分而治之、层次化。

1.抽象

抽象是人们用来处理复杂问题的基本原理之一。抽象有几种形式:数据抽象、对象抽象体抽象、行为抽象、过程抽象、虚拟机抽象等。数据、实体的抽象活动要求软件操作的对象和参数是针对逻辑结构.而非存储结构的。行为、过程的抽象话动要求操作的指派是基于标识而非地址,由此产生了操作的接口和动态约束描述。在处理系统的复杂性方面,抽象起到了重要的作用。例如减少构件职合、接口与现实的分离都得益于抽象的运用。

2.封装

封装是将构成抽象的属性和服务结合在—起,并区分不同抽象的方法。封装为不同抽象之间提供了明确的界限。封装有利于非功能特性实现,例如可重用性。可通过对象、模块设计和访问接口设计分别实现封装。

3.信息隐藏

信息隐藏是软件工程的最基本也是最重要的原则之一。信息隐藏对用户隐藏了功能的实现细节,更好地处理系统的复杂性和减少各构件之间的锅台度。为了更好地应用,用户不需要知道的细节都应该由构件隐藏起来。封装原理经常被用来作为实现信息隐藏的方法。信息隐藏也可以通过接口与实现分离的原理来实现。然而,构件应该隐藏什么取决于具体的应用。在一个应用中不需要知道的方面或许在另一个应用就需要看到。

4.模块化

模块化主要关系如何将系统划分为子系统或者构件,其主要任务就是决定怎样将构成应用的逻辑结构物理地分割成代码实体。模块化的主要做法是在一个系统内引人良好定义的分界.依此来处理系统的复杂性。模块的作用是作为一个应用的功能和责任的物理容器。由此带来了复杂系统资源管理、维护和应用的逻辑和条理性,增加了应用设计的灵活性。另外它对于系统的运行设计和管理调度也提供了方便,例如,肘于动态链接库的选择应用、程序运行体的覆盖和交换都是有益的。

5.注意点分离

不同和无关联的责任虚该在软件系统中分离开来,让他们出现在不同的构件巾。相互协作完成一个特定任务的构件府该和其他任务个执行计算的构件分离开来。如果一‘个构件在不同的环境下扮演不同的角色,在构件中这些角色应该独立旦相互分离。例如在多层次体系结构的组件设计中,在多种应用场景中担任不同角色的同一个组件,需要和可以使用不同的接口定义。这样,对于某一个角色开放的只是与角色相关的信息和服务,避免了过多暴露所造成对应用设计的负担和混乱,又保证了组件运行的可靠和安全。

6.耦合和内聚

耦合和内聚最初是作为结构化设计方法的部分原理而提出。耦合强调模块之间的特征,而内聚强调模块内部的特征。耦合是用来衡量一个模块同另一个模块的联系的紧密程度。紧密的耦合会使系统变得复杂,因为如果一个模块和另一个模块有非常密切的联系.该模块就会变得非常难以理解、调试和维护。通过弱捅合构件的设计可以降低系统的复杂性。内聚度是用来衡量一个模块内部功能和元素之间联系性的程度。存体系结构设计中倡导模块内部的寓内聚度。内聚合几种形式,最期望得到的是功能内聚.它说明一个模块或是构件内的所有元素都协同来提供具有良好边界的行为。最差的形式是偶然内聚,这种形式将毫无联系的抽象放置到同—个模块之中。其他形式的内聚还有:逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚和不规则内聚。

7.接口和实现的分离

任何一个构件应该包含两个部分,接口和实现。接口部分定义了构件能够提供的功能,并规范了功能的使用方法,接口对构件的客户是可访问的。输出接口的类型是出函数原型构成的。

实现部分包括了实现构件所提供功能的实现代码。实现部分对客户来说是不可用的。

该原理的主要目的是防止构件的客户接触到实现的细节,而只为客户提供构件的接口规范和使用方法。另外,该原理还允许独立于其他构件的应用实现一个构件的功能。就像封装一样,接口和实现的分离也是一种用来获得信息隐藏的技术。该原理强调—个客户只应该知道他需要知道的东西。

接口和实现的分离也支持可变性。如果构件的接口和实现分离,那么它就更容易在系统中进行改变。这种分离避免了客户直接受到构件变化的影响。该原理使构件行为和表尔的改变巾变容易,尤其是那些不影响接口的改变,例如对运行性能的提高。

8.分而治之

这条原理是众所周知的,在软件体系结构巾该原理得到大量应用一个任务或构件分成可以独立设计的更小的部分。

处理复杂问题官两种方法:分顶治之的横向分割和分层次处理的纵向分割。后者是一种把问题分解成建立在基础概念和思想上多层次的、从底向上逐步抽象的分析和表达的结构。

9.层次化

层次化在软件构造中是一个基本恩想。类和对象是层次化的,操作系统构造、编译器构造、应用系统构造,无一不是层次化的。同样,软件体系结构也是层次化的。


更多阅读
返回列表
© 2010 TianMei Technology All rights reserved. ICP:辽B2-20150138辽公网安备 21010202000010号  目录概览