本篇阅读笔记着重说明第六章——系统体系结构与程序设计。这一章依然讲了很多硬性的知识,这里只作归纳简述。

  第一部分为分布式物理体系结构。首先确认两个概念:一,物理体系结构设计关注部署方案的选择以及系统的工作负荷在多处理器上的分布。物理体系结构解决客户机和服务器问题,以及“粘结”客户机和服务器所需要的任何中间件问题。二,在分布式处理系统中,客户机能够访问任意多台服务器。然而,在同一时间,只允许客户机访问一台服务器。这就意味着,在一个请求中不可能将来自两个或更多数据库服务器的数据组合起来。如果这是可能的,则这种体系结构就支持分布式数据库系统。此体系结构有三个子分支:对等体系结构,系统中的任何过程或结点都可能既是客户机,又是服务器。分层体系结构,相对于对等体系结构,分层体系结构定义计算层次。数据库为中心的体系结构,这部分需要深入了解数据库的相关概念。

  第二部分为多层逻辑体系结构。此部分首先讨论体系结构的复杂性。Fenton和Pfleeger给出了复杂性的4种解释:问题复杂性,算法复杂性,结构复杂性,认知复杂性。而本书对复杂性的解说是这么划分的:空间认知复杂性,结构复杂性。其次是体系结构模式。这部分通过外观,抽象工厂,责任链,观察者,中介者五个方向说明。这些概念在这里不做详细说明。

  第三部分为体系结构建模。该部分分为三部分:包:用于表示一组类。构件:是系统的物理部分,实现的一个片断或一个软件程序。结点:在UML种,分布式物理体系结构或系统的任何其他体系结构都被描述为部署图,部署图种的计算资源被称为结点。

  第四部分为程序设计与复用原则。程序设计是整个系统设计的固有部分。该部分只讲了两大块:一,类的内聚与耦合。这部分抛出了4个概念:类耦合的种类(X包含Y;X引用Y实例;X调用Y服务;X是Y的子类;X具有输入参数是类Y的方法;Y作为接口,X可实现),Detmeter法则(说明在类方法中允许什么样的消息目标),存取方法和机械类,动态分类和混合实例内聚。二,复用策略。该部分叙述了工具包复用,框架复用,模式复用三个复用策略。

  最后一部分为协作建模。协作描述相互协作的元素的结构,每个元素执行特定的功能,这些元素共同完成某项期望的功能。其主要目的是解释一个系统如何工作。在建模中,我们需要把协作转换成相应的复合结构,操作非常简单:将所有角色从协作椭圆中抽取出来放在类中,将协作连接到类上,并为所有的连接器定义角色名。复合结构的建模通常与交互图并行进行。此外还有用例-复合协作的概念:复合协作由下级协作组成,下级协作可以表示此用例的需求。协作-交互概念:协作定义连接器,角色通过连接器交换信息,而它并没有标识每条信息。协作内消息流的详细说明就是交互模型的任务。交互-复合结构概念:交互具有行为和结构两部分,结构部分表示协作的静态方面,可以在复合结构图中表示结构部分。

  本篇阅读笔记较于前三篇要简陋很多,主要原因是步入了复习备考阶段,没有更多的时间去读书,如果有时间的话会对第六章的知识点重新做一遍整理。