2015年软考系统架构设计师学习笔记第五章(2)
发布时间:2010/12/4 22:15:44 来源:城市学习网 编辑:ziteng
5.3.1 软件架构风格概述
一个体系结构 定义 一个词汇表 和 一组约束。词汇表中包含 构件和连接件类型约束指出 如何 组合起来。
体系结构风格 反映了 共有的结构和语义特性,并指导如何 组织成一个完整的系统。
5.3.2 经典软件体系结构风格
每个构件都有一组输入和输出,数据输入构件,经过内部处理,然后产生数据输出。这里的构件称为 过滤器。
构件是对象。
分层系统,每一层为上层提供服务,并作为下层的客户。除一些精心挑选的 输出函数外,内部的层接口只对 相邻层可见。由于一层最多只影响两层,为软件重用提供了强大的支持。
仓库风格中,两种不同的构件:中央数据结构、独立构件。
若构件控制共享数据,则仓库是一传统型数据库;若中央数据结构 的当前状态触发进程执行的选择,则仓库是一黑板系统。
C2 体系结构 通过连接件绑定在一起 按照一组规则运作的并行构件网络。构件与构件之间的连接是不允许的。
5.3.3 客户/服务器 风格
宿主机应用程序 既负责与用户的交互(前端),又负责对数据的管理(后端)。
C/S 体系结构 定义了工作站如何与服务器相连,实现部分数据和应用 分布到多个处理机上。
C/S三个主要组成部分:服务器、客户机、网络。
易于对系统进行扩充和缩小。
功能构件充分隔离,客户应用程序的开发集中于数据的显示和分析,数据库服务器的开发集中于数据的管理,将大应用处理任务分布到许多通过网络连接的低成本计算机上,模型思想简单。
开发成本高,尤其是软件不断升级,客户端变得越来越臃肿。
信息内容和形式单一,用户获得的只是单纯的字符和数字。
软件移植困难,维护升级困难。
5.3.4 三层 C/S 结构风格。
三层 C/S 体系结构中,可以将 整个应用逻辑 驻留在应用服务器上,只有表示层存在于客户机上,称为“瘦客户机”。表示层、功能层、数据层。
表示层一般要使用图形用户界面 GUI。
功能层之间的数据交互 要 尽可能简洁,一次性传输。
数据层不同层构件 相互独立,层间接口简洁,适合复杂事务处理。[NextPage] 5.3.5 浏览器/服务器风格
浏览器/服务器 风格 就是 三层应用结构的一种实现方式。浏览器/web服务器/数据库服务器。
系统安装、修改、维护 全在服务器端解决。仅仅需要一个浏览器就可运行全部模块。
B/S 体系结构还提供了 异种机、异种网、异种应用服务 的 连机、联网 等。
扩展能力差。响应速度慢。交互性不强,不利于在线事务处理 OLTP。
5.4.1 特定领域软件体系结构
主要目的 在一组相关的应用中 共享 体系结构。
DSSA的必备特征:
1、一个严格定义的 问题域 和 解域。
2、具有普遍性。
3、对整个领域的 构件 组织模型 其当抽象。
4、具备该领域 固定的、典型的 可重用元素。
5.4.2 DSSA 的基本活动
1、领域分析
主要目标是 获得 领域模型,描述领域中 系统之间的共同需求,定义领域的边界。从而明确分析的对象,识别信息源,确定哪些需求是领域中的系统广泛共享的,从而建立领域模型。
2、领域设计
目标是获得 DSSA,DSSA描述在领域模型中表示的需求 的解决方案。不是单个系统的表示,而是能够适应领域中 多个系统的需求的 一个高层次设计。
3、领域实现
主要目标是 依据 领域模型 和 DSSA 开发和组织 可重用信息。领域模型 和 DSSA 定义了这些可重用信息的 重用时机。
以上过程是 反复的、逐渐求精 的过程。
5.4.3 参与 DSSA 的人员
4种角色:领域专家、领域分析师、领域设计人员、领域实现人员。
1、领域专家 可能包括 有经验的用户、从事该领域中系统的需求分析、设计、实现 以及项目管理的有经验的软件工程师等。
主要任务 提供 需求规约和实现的知识,组织规范的、一致的领域字典,选择样本系统,复审领域模型、DSSA。
应该 熟悉该领域 软件设计和实现、硬件限制、未来的用户需求、技术走向 等。
2、领域分析人员 应由 系统分析员来担任。
知识获取 组织到领域模型中,根据 现有系统、标准规范 等 验证模型的 准确性 和 一致性。
应熟悉软件重用和领域分析方法,具有一定的该领域经验,较高的 抽象、关联、类比 能力,较高的 交互合作能力。
3、领域设计人员 控制整个软件设计过程,根据领域模型和现有系统 开发出DSSA,对DSSA的准确性和一致性进行验证,建立领域模型和DSSA之间的联系。
应熟悉软件重用和领域设计方法,熟悉软件设计方法,有一定的该领域经验。
4、领域实现人员 根据领域模型和DSSA,从头开发可重用构件,或 利用再工程技术 从现有系统中提取可重用构件。