分层是表示将功能进行有序的分组:应用程序专用功能位于上层,跨越应用程序领域的功能位于中层,而配置环境专用功能位于低层。分层从逻辑上将子系统划分成许多集合,而层间关系的形成要遵循一定的规则。通过分层,可以限制子系统间的依赖关系,使系统以更松散的方式耦合,从而更易于维护。子系统的分组标准包含以下几条规则可见度。各子系统只能与同一层及其下一层的子系统存在依赖关系。
分层表示将功能进行有序的分组:应用程序专用功能位于上层,跨越应用程序领域的功能位于中层,而配置环境专用功能位于低层。层的数量与组成取决于问题领域和解决空间的复杂程度:通常只有一个应用程序专用层。如果领域中已有先前构建的系统,或有由较小的互操作系统构成的大型系统,各设计团队之间尤其需要共享信息。因此,业务专用层很可能部分地存在,并且为明确起见,可能将其分成几个层。如果解决空间得到中间件产品的充分支持,并且复杂的系统软件在其中起着更加重要的作用,解决空间就将具有经过充分开发的低层,并且还可能具有一些由中间件和系统软件构成的层。应当把子系统组织成分层结构,构架的上层是应用程序专用子系统,构架的低层是硬件和操作专用子系统,中间件层是通用服务。下面是一个四层构架的示例.顶层是应用程序层,它包括应用程序专用的服务。下面一层是业务专用层,它包括在一些应用程序中使用的业务专用构件。中间件层包括各个构件,例如 GUI 构建器、与数据库管理系统的接口、独立于平台的操作系统服务以及电子表格程序、图表编辑器等 OLE 构件。底层是系统软件层,它包括操作系统、数据库、与特定硬件的接口等构件。分层结构始于最初略的功能层次,然后逐步发展成多个更为具体的功能层次。
分层分层从逻辑上将子系统划分成许多集合,而层间关系的形成要遵循一定的规则。通过分层,可以限制子系统间的依赖关系,使系统以更松散的方式耦合,从而更易于维护。子系统的分组标准包含以下几条规则:可见度。各子系统只能与同一层及其下一层的子系统存在依赖关系。易变性。最上层放置随用户需求的改变而改变的元素。最底层放置随实施平台(硬件、语言、操作系统、数据库等)的改变而改变的元素。中间的夹层放置广泛适用于各种系统和实施环境的元素。如果在这些大类中进一步划分有助于对模型进行组织,则添加更多的层。通用性。一般将抽象的模型元素放置在模型的低层。如果它们不针对于具体的实施,则倾向于将其放置在中间层。层数。对于小型系统,三层就足够了。对于复杂系统,通常需要 5-7 层。无论复杂程度如何,如果超过 10 层,就需要慎重考虑了。层数越多,越需慎重。以下列出了一些经验法则:特定层中的子系统和包只应同一层及其下一层的子系统存在依赖关系。如果不这样限制依赖关系,将会导致构架退化,使系统脆弱并难于维护。如果子系统需要直接访问低层服务,则属于例外:应理智地决定如何处理整个系统所需的基本服务(如打印、发送消息等)。如果解决方案是在中间各层之间有效地实施调用传递,将消息限制在低层就毫无意义了。
分层在系统的顶层作进一步的分区会有助于对模型进行组织。以下分区指南提出了需要考虑的各种问题:用户组织。可以根据业务组织中各种功能的组织形式来组织子系统,如按部门进行分区。由于现有的企业模型具有严格的组织划分结构,所以这种分区通常要在设计的初期进行。这种组织模式通常只影响到顶部少数层,即应用程序专用服务,随着设计工作的深入,它通常会变得无关紧要。根据用户的组织结构来进行分区,可以为模型提供一个良好开端。由于用户组织的结构在很长时间以后可能会因业务重组而变得不稳定,因此不宜用作系统分区的长期基础。系统的内部组织应该使系统便于开发和维护,而不受它所支持的业务组织的影响。技能领域。在开发组织中,可以对子系统进行适当组织,以便将模型中的各个部分分派给不同的开发组。这通常发生在系统的中低层,它反映了在开发和支持复杂的基础结构技术时,需要有专门化的技能。这类技术包括网络与分布管理、数据库管理、通信管理,进程控制等等。根据能力来进行分区也可以在上层进行。在这些层需要具备问题领域内的特殊能力,以便了解和支持关键的业务功能;这样的例子有:电信呼叫管理、证券交易、保险申报处理和航空交通控制。系统分布。在系统的任何层中,都可以将层作进一步的“水平方向”细分,以反映功能的物理分布情况。反映分布情况的分区有助于预见到在系统执行过程中将发生的网络通讯。但是,如果配置模型发生显著改变,反映分布情况的分区则会使系统难以作出相应的改变。保密领域。有些应用程序,特别是那些要求有关人员通过安全审查才能进行开发和/或支持的应用程序,需要根据安全访问权限来进行分区。控制保密区域访问权的软件必须由通过相应审查的个人来开发和维护。如果项目中具有这种背景的人员有限,要求特殊审查的功能必须分区为子系统,并将独立于其他子系统单独开发。对其他子系统言,唯一可见的将是与该保密领域的接口。可变性领域。某些功能可能会用作可选功能,从而只在系统的某些变体中交付,这些功能应组织成独立的子系统,独立于系统的必需功能进行开发和交付。
分层ISO提出的OSI(Open System Interconnection)模型将网络分为七层,即物理层( Phisical )、数据链路层(Data Link)、网络层(Network)、传输层(Transport)、会话层(Session)、表示层(Presentation)和应用层(Application)。
1. 物理层(Physical layer)是参考模型的最低层。该层是网络通信的数据传输介质,由连接不同结点的电缆与设备共同构成。主要功能是:利用传输介质为数据链路层提供物理连接,负责处理数据传输并监控数据出错率,以便数据流的透明传输。
2. 数据链路层(Data link layer)是参考模型的第2层。主要功能是:在物理层提供的服务基础上,在通信的实体间建立数据链路连接,传输以“帧”为单位的数据包,并采用差错控制与流量控制方法,使有差错的物理线路变成无差错的数据链路。
3. 网络层(Network layer)是参考模型的第3层。主要功能是:为数据在结点之间传输创建逻辑链路,通过路由选择算法为分组通过通信子网选择最适当的路径,以及实现拥塞控制、网络互联等功能。
4. 传输层(Transport layer)是参考模型的第4层。主要功能是向用户提供可靠的端到端(End-to-End)服务,处理数据包错误、数据包次序,以及其他一些关键传输问题。传输层向高层屏蔽了下层数据通信的细节,因此,它是计算机通信体系结构中关键的一层。
5. 会话层(Session layer)是参考模型的第5层。主要功能是:负责维扩两个结点之间的传输链接,以便确保点到点传输不中断,以及管理数据交换等功能。
6. 表示层(Presentation layer)是参考模型的第6层。主要功能是:用于处理在两个通信系统中交换信息的表示方式,主要包括数据格式变换、数据加密与解密、数据压缩与恢复等功能。
7. 应用层(Application layer)是参考模型的最高层。主要功能是:为应用软件提供了很多服务,例如文件服务器、数据库服务、电子邮件与其他网络软件服务。