传统数据库系统中,中心数据存储是被动的数据库 系统由输入流的事务指令触发相应进程执行。在黑板系 统中,中心数据存储的状态控制了进程的触发,即控制 完全由黑板的状态驱动,当有特别的数据可用时,会主 动通报外部构件(人工智能技术)。黑板系统的典型应 用是信号处理和模式识别系统。许多其他系统也组织成 仓库模式,如CASE工具集、可复用构件库、大型数据库 和搜索引擎等。 (2)管道一过滤器风格 把系统看作是对相继输入数据的一系列变换。一批 数据进入系统,流经一个个构件最后到达终点(输出或 数据仓库)。构件称为过滤器,能够对数据进行渐进式 的转换(一种流变换为另一种流)。数据流的通路称为 管道。(见下图) 西安交通大学刘海岩 11
西安交通大学 刘海岩 11 传统数据库系统中,中心数据存储是被动的数据库, 系统由输入流的事务指令触发相应进程执行。在黑板系 统中,中心数据存储的状态控制了进程的触发,即控制 完全由黑板的状态驱动,当有特别的数据可用时,会主 动通报外部构件(人工智能技术)。黑板系统的典型应 用是信号处理和模式识别系统。许多其他系统也组织成 仓库模式,如CASE工具集、可复用构件库、大型数据库 和搜索引擎等。 (2)管道-过滤器风格 把系统看作是对相继输入数据的一系列变换。一批 数据进入系统,流经一个个构件最后到达终点(输出或 数据仓库)。构件称为过滤器,能够对数据进行渐进式 的转换(一种流变换为另一种流)。数据流的通路称为 管道。(见下图)
管道 过滤器过滤器 过滤器卜过滤器过滤器 过滤器 过滤器过滤器过滤器 过滤器 管道一过滤器体系结构 西安交通大学刘海岩
西安交通大学 刘海岩 12
该风格中的过滤器是独立的,不与其他过滤器共享数据, 不知道其他过滤器的存在或功能。系统输出的正确性不取决 于所用过滤器的顺序 该风格的典型应用是UNX的shel传统的数据处理、传 统的编译器、数字通信(传递文字、语音、图片、图像等) 系统 优点: 没有复杂的构件交互。 支持软件重用:由管道连接起来的过滤器的组合又可看 成一个过滤器,可应用到其他系统中 易于维护:过滤器替换方便。 支持并行执行过滤器,但要考虑并行执行时数据流之间 的同步问题 缺陷 批处理方式,不适合构建交互式应用的系统 西安交通大学刘海岩
西安交通大学 刘海岩 13 该风格中的过滤器是独立的,不与其他过滤器共享数据, 不知道其他过滤器的存在或功能。系统输出的正确性不取决 于所用过滤器的顺序。 该风格的典型应用是UNIX的shell、传统的数据处理、传 统的编译器、数字通信(传递文字、语音、图片、图像等) 系统。 优点: •没有复杂的构件交互。 •支持软件重用:由管道连接起来的过滤器的组合又可看 成一个过滤器,可应用到其他系统中。 •易于维护:过滤器替换方便。 •支持并行执行过滤器,但要考虑并行执行时数据流之间 的同步问题。 缺陷: 批处理方式,不适合构建交互式应用的系统
(3)调用一返回风格 是一种集中式控制模型。自上而下的调用,控制始于 结构层次的顶层,往往只有一个控制线程。优点是容易分 析与理解系统的控制流,但不适合并发执行的系统。 扇出 深度 0 r7扇入 宽度 调用和返回体系结构 14
西安交通大学 刘海岩 14 (3)调用-返回风格 是一种集中式控制模型。自上而下的调用,控制始于 结构层次的顶层,往往只有一个控制线程。优点是容易分 析与理解系统的控制流,但不适合并发执行的系统
(4)面向对象风格 面向对象模式集数据抽象、抽象数据类型、类继承为 体,根本出发点是追求问题空间和软件系统空间结构的 致性。它将自己的数据结构定义和功能实现封装起来 实现了信息隐藏和数据抽象,可作为基本构件单元被不同 软件系统重用 优点: 高度模块性。对象是一个功能和数据独立的单元,相 互之间只有通过消息传递进行通讯,可以较为方便的为各 个不同的软件系统所用。 °封装功能。为信息隐藏提供具体的实现手段,外部不 必知道对象的内部状态,只需了解其功能描述就可使用 代码共享。继承性提供了一种代码共享的手段,可以 避免重复的代码设计,提高软件的可重用性 西安交通大学刘海岩
西安交通大学 刘海岩 15 (4)面向对象风格 面向对象模式集数据抽象、抽象数据类型、类继承为 一体,根本出发点是追求问题空间和软件系统空间结构的 一致性。它将自己的数据结构定义和功能实现封装起来, 实现了信息隐藏和数据抽象,可作为基本构件单元被不同 软件系统重用。 优点: • 高度模块性。对象是一个功能和数据独立的单元,相 互之间只有通过消息传递进行通讯,可以较为方便的为各 个不同的软件系统所用。 • 封装功能。为信息隐藏提供具体的实现手段,外部不 必知道对象的内部状态,只需了解其功能描述就可使用。 • 代码共享。继承性提供了一种代码共享的手段,可以 避免重复的代码设计,提高软件的可重用性