软件体系结构Chap基本概念分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
构件是对客观世界的实体或实体联合提供的功能和服务的 建模。关注实体的功能和服务
–可复用程度和复用机制
复用是构件的生命线 构件做为“零部件”,构件通过组合 实现复用;继承是组件生命线,组件通过继承来实现复用 ;
–粒度不同
构件要包含完整的功能,组件是协作来完成这个构件的功 能;构件的粒度大于组建的粒度
框架 模式 中间件 构件 组件 模块
计算功能:构件所实现的整体功能;
额外功能特性:构件的执行效率、处理能力、 环境假设和整体特性;
结构特性:描述特定构件如何与其他构件组织 在一起,构成整个系统的信息;
家族特性:描述相同或相关门类的构件之间的 关系;
2020/1/3
11
ADL构件描述示例
用Rapide体系结构语言描述的客户服务器结构: Type App Is Interface Public action Results (Msg:String) /*提供的功能 */ Extern action Receive (Msg:String) /*需要的功能 */ Behavior
2020/1/3
9
1.2.2 构件管理
构件管理是构件重用的基础,包括构件描 述、构件分类、构件库组织(存储、检索 、提取)、人员及权限管理;
管理需要描述构件的信息:实现方式、实 现体、注释、生产者、生产日期、大小、 价格、版本、关联构件,等等。
2020/1/3
10
1、使用构件需要的描述信息可分为:
IDC提供
2020/1/3
4
1.2.2 模式(pattern)
• 模式就是解决某一类问题的方法论。你把解决某类问题的 方法总结归纳到理论高度,那就是模式。
• Alexander给出的经典定义是:每个模式都描述了一个在我 们的环境中不断出现的问题,然后描述了该问题的解决方 案的核心。通过这种方式,你可以无数次地使用那些已有 的解决方案,无需在重复相同的工作。
特点:
语义完整、语法正确、有可重用价值; 隐藏具体实现,只通过接口提供服务,构件的使用与它的开发、生产
无关。
PS: 开发构件在结构上要考虑语义描述、通信接口和实现代码等三方面 的复合体
2020/1/3
8
• 构件与组件的区别:
–抽象视觉不同
组件是对客观世界基本实体的抽象,强调和实体的对应及 对实体的建模。关注实体的静态属性特征
2020/1/3
6
1.2.4 组件
• 简而言之,组件就是对象。C++ Builder中叫组件,Delphi中叫 部件,而在Visual BASIC中叫控件。
• 组件是对数据和方法的简单封装。C++ Builder中,一个组件就 是一个从TComponent派生出来的特定对象。组件可以有自己的属 性和方法。属性是组件数据的简单访问者。方法则是组件的一些 简单而可见的功能。
• 组件是C++ Builder环境中最令人激动的部分。使用组件可以实 现拖放式编程、快速的属性处理以及真正的面向对象的设计。 VCL和CLX组件是C++ Builder系统的核心。
PS 组件开发者应该掌握的三项主要内容是:属性、事件和方法。
2020/1/3
7
1.2.5 构件概念
构件是构件(component)是可复用的软件组成成份,可被用来构造 其他软件。它可以是被封装的对象类、类树、一些功能模块、软件 框架(framwork)、软件构架(或体系结构Architectural)、文档 、分析件、设计模式(Pattern)等。构件分为构件类和构件实例, 通过给出构件类的参数,生成实例,通过实例的组装和控制来构造 相应的应用软件,这不仅大大提高了软件开发者的开发效率,也大 大提高了软件的质量。
(MMsgs(App)) Receive(M)Results(M) End App
2020/1/3
12
2、商业化构件的分类:
用户界面类、数据库类; 商务应用类; 工具类、网络通信类:如TCP/IP协议、图
像压缩、加密算法; 核心技术类:语音识别、字符识别。
2020/1/3
13
• 模式有不同的领域,建筑领域有建筑模式,软件设计领域 也有设计模式。当一个领域逐渐成熟的时候,自然会出现 很多模式。
2020/1/3
5
1.2.3 框架(framework)
• 框架是某种应用的半成品,就是一组组 件,供你选用完成你自己的系统。简单 说就是使用别人搭好的舞台,你来做表 演。而且,框架一般是成熟的,不断升 级的软件。
3、构件外部形态上的分类:
独立成熟的构件:经过多次实践检验,隐藏所有 接口,只需按命令调用,如数据库管理系统和操 作系统等;
有限制的构件:提供接口,但用一定的前提条件 ,装配过程中可能产生资源冲突、覆盖等影响, 使用时需要测试,如面向对象的基础类库等;
软件体系结构
1~*
构件
1~*
端口
连接件
1~*
角色
约束
Hale Waihona Puke Baidu
通用风格
管道/过滤器
分层 ...... 解释器
图1.1 软件体系结构的基本概念
2020/1/3
2
软件体系结构 ::= 软件体系模型 | 软件体系风格 体系结构模型 ::= (构件,连接件,约束) 构件 ::= {端口1,端口2,……,端口n} 连接件 ::= {角色1,角色2,……,角色n} 约束 ::= {(端口i,角色j),……} 体系结构风格 ::= {管道过滤器,客户服务器,……
第二章 软件体系结构基本概念
§ 1.1 概述 § 1.2 词汇定义 § 1.3 连接件 § 1.4 约束(配置) § 1.5 风格、模式、框架 § 1.6 非功能属性
2020/1/3
1
§1.1 概述
体系结构(Architecture) = 构件(Components) + 连 接件(Connectors) + 约束(Constraints)
,解释器}
2020/1/3
3
§1.2 词汇定义
1.2.1 中间件: 中间件是一种独立的系统软件或服务程序,分
布式应用软件借助这种软件在不同的技术之间共享 资源,中间件位于客户机服务器的操作系统之上, 管理计算资源和网络通信。
中间件是一类软件,而非一种软件; 中间件不仅仅实现互连,还要实现应用之间的互操作; 中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。
相关文档
最新文档