软件复用与构件接口技术课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件复用与构件接口技术课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 构件 接口 技术 课件
- 资源描述:
-
1、2022-8-6UML系统建模与设计1UML系统建模与分析设计第九章第九章 软件复用与构件接口技术软件复用与构件接口技术本章目的:本章目的:了解软件复用技术的组织和实施了解软件复用技术的组织和实施了解了解CORBACORBA、COM+COM+、EJBEJB模型的特点和使用方法模型的特点和使用方法了解集成化了解集成化CASECASE工具开发环境的特点和用途工具开发环境的特点和用途了解和掌握持久对象的存储、管理特点和使用方法了解和掌握持久对象的存储、管理特点和使用方法了解和掌握客户了解和掌握客户/服务器(服务器(C/SC/S)、浏览器)、浏览器/服务器服务器(B/SB/S)、分布式体系结构设计的特
2、点)、分布式体系结构设计的特点2022-8-6UML系统建模与设计2UML系统建模与分析设计9.1 9.1 面向对象技术的发展与技术支持面向对象技术的发展与技术支持2022-8-6UML系统建模与设计3UMLUML系统建模与分析设计系统建模与分析设计9.2 9.2 软件复用技术的发展与应用软件复用技术的发展与应用9.2.1 9.2.1 软件复用的形式与过程软件复用的形式与过程1 1可复用的软件制品种类可复用的软件制品种类凯波凯波.琼斯(琼斯(Caper JonesCaper Jones)提出可以复用的软件制品有:)提出可以复用的软件制品有:l项目计划:书写格式结构及进度表、风险分析等内容;项目
3、计划:书写格式结构及进度表、风险分析等内容;l成本估算:各种项目相似的功能模块成本大体相当;成本估算:各种项目相似的功能模块成本大体相当;l体系结构:应用系统的体系结构非常相似,可建立模版体系结构:应用系统的体系结构非常相似,可建立模版 进行复用;进行复用;l需求模型:需求分析中的对象类模型及规约等分析模需求模型:需求分析中的对象类模型及规约等分析模 型;型;l设计模型:系统设计、对象设计及体系结构、数据、接设计模型:系统设计、对象设计及体系结构、数据、接 口等设计;口等设计;2022-8-6UML系统建模与设计4UMLUML系统建模与分析设计系统建模与分析设计l设计模式:各种经过验证、已经在
4、使用的设计设计模式:各种经过验证、已经在使用的设计 模式。模式。l程序代码:经过实际运行检验过的程序代码;程序代码:经过实际运行检验过的程序代码;l文档资料:用户文档资料和技术文档资料;文档资料:用户文档资料和技术文档资料;l用户界面:图形用户界面复用率达用户界面:图形用户界面复用率达60%60%;l数据构成:数据存储结构、文件、完整的数据数据构成:数据存储结构、文件、完整的数据 库及内部表等;库及内部表等;l测试案例:与被复用的设计和代码相应的测试测试案例:与被复用的设计和代码相应的测试 案例。案例。2022-8-6UML系统建模与设计5UML系统建模与分析设计2022-8-6UML系统建模
5、与设计6UML系统建模与分析设计2 2软件复用的过程软件复用的过程l抽象:描述该软件制品的功能、使用范围和特点;抽象:描述该软件制品的功能、使用范围和特点;l存储:以关键字作为索引,放置在存储:以关键字作为索引,放置在“可复用软件制可复用软件制 品库品库”中备用;中备用;l检索:利用关键字,从可复用软件制品库检索挑选检索:利用关键字,从可复用软件制品库检索挑选 适合新系统功能要求的软件制品;适合新系统功能要求的软件制品;l实例化:对选取的软件制品进行简单修改调试,变实例化:对选取的软件制品进行简单修改调试,变 成能适合新系统要求的软件制品;成能适合新系统要求的软件制品;l系统集成:最后进行系统
6、集成,完成新系统的组系统集成:最后进行系统集成,完成新系统的组 建。建。2022-8-6UML系统建模与设计7UML系统建模与分析设计2022-8-6UML系统建模与设计8UML系统建模与分析设计3 3软件复用的形式软件复用的形式(1 1)根据复用跨越的问题领域划分)根据复用跨越的问题领域划分1 1)垂直式复用:在同一应用领域中的复用。)垂直式复用:在同一应用领域中的复用。2 2)水平式复用:在不同应用领域中复用通用的)水平式复用:在不同应用领域中复用通用的 软件元素。软件元素。(2 2)根据实现复用的途径划分)根据实现复用的途径划分1 1)组装(集成)式复用:)组装(集成)式复用:2 2)生
7、成式复用:)生成式复用:(3 3)根据复用方式划分)根据复用方式划分1 1)黑盒复用:对可复用构件不加任何修改,原)黑盒复用:对可复用构件不加任何修改,原 封不动地复用。封不动地复用。2 2)白盒复用:对可复用构件进行部分修改,以)白盒复用:对可复用构件进行部分修改,以 便适应新系统的要求。便适应新系统的要求。2022-8-6UML系统建模与设计9UML系统建模与分析设计9.2.2 9.2.2 软件复用的类型与特点软件复用的类型与特点(1 1)代码和设计复制特点:)代码和设计复制特点:简单复制、稍加修改、简单集成和版权所有。简单复制、稍加修改、简单集成和版权所有。优点:省时省力、适用于简单系统
8、的制作。优点:省时省力、适用于简单系统的制作。缺点:受源系统设计风格影响较大、不适用复缺点:受源系统设计风格影响较大、不适用复 杂系统的制作。杂系统的制作。(2 2)软件构件复用)软件构件复用特点:专为复用开发、功能特征描述、通过过特点:专为复用开发、功能特征描述、通过过 程调用、商业化购买。程调用、商业化购买。优点:调用方便、可靠性高。优点:调用方便、可靠性高。缺点:构件库庞大臃肿、开发费用高。缺点:构件库庞大臃肿、开发费用高。2022-8-6UML系统建模与设计10UML系统建模与分析设计(3 3)已有软件系统体系结构复用)已有软件系统体系结构复用特点:支持高、低层次层次复用、体系结构和设
9、特点:支持高、低层次层次复用、体系结构和设 计有简洁、通过接口进行集成。计有简洁、通过接口进行集成。优点:可以复用规模较大的软件制品、只需要进优点:可以复用规模较大的软件制品、只需要进 行局部修改。行局部修改。缺点:抽象出简明的描述困难、存放体系结构的缺点:抽象出简明的描述困难、存放体系结构的 数据库难以管理。数据库难以管理。(4)应用程序自动生成器)应用程序自动生成器特点:自动生成可执行系统、可以填充原先没有特点:自动生成可执行系统、可以填充原先没有 的细节、适用成熟的领域。的细节、适用成熟的领域。优点:自动化程度高、可以获得某些特定领域的优点:自动化程度高、可以获得某些特定领域的 标准、用
10、黑盒形式生成程序。标准、用黑盒形式生成程序。缺点:设计和构造通用的应用程序生成器非常困缺点:设计和构造通用的应用程序生成器非常困 难。难。2022-8-6UML系统建模与设计11UML系统建模与分析设计(5)特定领域软件体系结构复用)特定领域软件体系结构复用特点:对该领域必须有深刻透彻的了解、有一特点:对该领域必须有深刻透彻的了解、有一 个专用支持库、随时修正模型、基准体个专用支持库、随时修正模型、基准体 系结构和支持库;通过标准接口进行集系结构和支持库;通过标准接口进行集 成。成。优点:对可复用构件的组合提供了一个通用框优点:对可复用构件的组合提供了一个通用框 架。复用程度高。架。复用程度高
11、。缺点:前期开发投入费用庞大。缺点:前期开发投入费用庞大。2022-8-6UML系统建模与设计12UML系统建模与分析设计9.2.3 9.2.3 可复用软件构件的生产与使用过程可复用软件构件的生产与使用过程(1 1)软件构件的生产)软件构件的生产 领域分析、基准模型、寻找构件、性能分析、领域分析、基准模型、寻找构件、性能分析、创建构件、构件测试、商业包装。创建构件、构件测试、商业包装。(2 2)软件构件的使用)软件构件的使用 体系结构、寻找构件、筛选构件、修改构件、体系结构、寻找构件、筛选构件、修改构件、软件开发、组装构件、集成测试和评价。软件开发、组装构件、集成测试和评价。2022-8-6U
12、ML系统建模与设计13UML系统建模与分析设计9.2.4 9.2.4 软件复用的基础软件复用的基础可复用构件系统可复用构件系统(1 1)可复用构件的标准)可复用构件的标准 通用性、可变性、易组装、检索性、可靠性。通用性、可变性、易组装、检索性、可靠性。(2 2)构件模型)构件模型 COM+COM+、EJB/J2EEEJB/J2EE、CORBACORBA等。等。(3 3)构件系统)构件系统 系统化、关联化、集成化。系统化、关联化、集成化。(4 4)构件系统与应用系统的差别)构件系统与应用系统的差别(5 5)构件系统的体系结构)构件系统的体系结构(6 6)构件库的管理)构件库的管理 构件的检索、删
13、除和评估。构件的检索、删除和评估。一般常用的构件检索方法有:规约匹配、特征匹一般常用的构件检索方法有:规约匹配、特征匹 配、轮廓匹配和采样匹配。配、轮廓匹配和采样匹配。2022-8-6UML系统建模与设计14UML系统建模与分析设计2022-8-6UML系统建模与设计15UML系统建模与分析设计2022-8-6UML系统建模与设计16UML系统建模与分析设计2022-8-6UML系统建模与设计17UML系统建模与分析设计9.2.5 9.2.5 可复用软件的系统化生产与复用可复用软件的系统化生产与复用(1 1)创建过程:标识和提供可复用资产。)创建过程:标识和提供可复用资产。(2 2)支持过程:
14、对可复用资产的获取、管理和维护提供)支持过程:对可复用资产的获取、管理和维护提供 全面支持。全面支持。(3 3)复用过程:利用可复用资产生产应用软件产品。)复用过程:利用可复用资产生产应用软件产品。(4 4)管理过程:对系统地软件复用全过程进行统筹、计)管理过程:对系统地软件复用全过程进行统筹、计 划和协调。划和协调。2022-8-6UML系统建模与设计18UML系统建模与分析设计各部门职责:(1)系统开发部门:可复用构件创建者。(2)应用开发部门:可复用构件使用者。(3)支持部门:完成前两个部门不能涉及而又必须做的 工作。(4)高层经理:在3个职能部门之上。2022-8-6UML系统建模与设
15、计19UML系统建模与分析设计9.3 构件接口技术构件接口技术9.3.1 COM+构件模型的系统体系结构构件模型的系统体系结构COM+是是Microsoft 公司推出的适用于公司推出的适用于Windows系统操作平系统操作平台的一种构件接口技术。台的一种构件接口技术。1COM+的基本结构与特点的基本结构与特点(1)COM+的基本结构的基本结构(2)COM+的基本特点:异步通讯、事件服务、灵活、可管的基本特点:异步通讯、事件服务、灵活、可管 理和部署、易开发。理和部署、易开发。2022-8-6UML系统建模与设计20UML系统建模与分析设计2COM+构件的特征(1)COM+编程模型:由编程模型:
16、由COM+构件建成;要符合基构件建成;要符合基本规则并与本规则并与COM+交互。交互。(2)代理进程和对象描述表)代理进程和对象描述表(3)即时激活机制)即时激活机制(4)COM+构件的构件的I/O对象控制接口对象控制接口(5)COM+目录目录(6)事务管理)事务管理(7)安全模型)安全模型2022-8-6UML系统建模与设计21UML系统建模与分析设计3COM+系统组成系统组成2022-8-6UML系统建模与设计22UML系统建模与分析设计(1)运行环境。)运行环境。COM+运行环境是构件容器运行环境是构件容器(2)构件服务管理系统。构件服务管理系统)构件服务管理系统。构件服务管理系统 是是
17、Windows2000管理工具的一部分;管理工具的一部分;(3)COM+应用。每个应用。每个COM+对应于对应于MTS中中 的一个包;的一个包;(4)资源分配系统。分配数据库连接、网络)资源分配系统。分配数据库连接、网络 连接、对象和内存块等资源;连接、对象和内存块等资源;(5)分布式事务协调系统。)分布式事务协调系统。2022-8-6UML系统建模与设计23UML系统建模与分析设计4COM+系统服务(1)负载平衡应用模型2022-8-6UML系统建模与设计24UML系统建模与分析设计(2)COM+事件模型2022-8-6UML系统建模与设计25UML系统建模与分析设计(3)COM+队列化构件
18、队列化构件COM+的关键特性,提供了一种基于消息的异步运行方式。的关键特性,提供了一种基于消息的异步运行方式。图图9-13 队列化构件的基本模型队列化构件的基本模型响应队列:采用响应队列方法回送返回信息;响应队列:采用响应队列方法回送返回信息;队列方式:构件对象以异步方式通知客户的应用系统。队列方式:构件对象以异步方式通知客户的应用系统。2022-8-6UML系统建模与设计26UML系统建模与分析设计(4 4)COM+COM+对象池对象池(5 5)驻留内存数据库)驻留内存数据库2022-8-6UML系统建模与设计27UML系统建模与分析设计9.3.2 EJB构件模型的系统体系结构构件模型的系统
19、体系结构 Sun公司提出的基于公司提出的基于Java的、适合服务器端构件体系结构的、适合服务器端构件体系结构的、完整的企业级应用开发平台和技术规约。的、完整的企业级应用开发平台和技术规约。1EJB 系统和体系结构系统和体系结构(1)EJB的体系结构的体系结构1)EJB客户机客户机2)EJB服务器服务器3)EJB容器:容器:EJB容器管理容器管理EJB构件。构件。2022-8-6UML系统建模与设计28UML系统建模与分析设计(2)EJB的特点:层次清晰、编程简单、通用的特点:层次清晰、编程简单、通用编程模型、完全编程模型、完全OO。(3)EJB构件的基本类型:有构件的基本类型:有/无状态会话型
20、、无状态会话型、实体型和信息驱动型。实体型和信息驱动型。2022-8-6UML系统建模与设计29UML系统建模与分析设计(4)EJB构件的应用过程构件的应用过程1)为每个)为每个EJB构件设置本机接口和远程接口及构件设置本机接口和远程接口及 其实现类的方法;其实现类的方法;2)定义远程接口的实现类;)定义远程接口的实现类;3)设置)设置EJB构件的控制信息;构件的控制信息;4)EJB构件的归档文件;构件的归档文件;5)部署)部署EJB构件:构件:6)EJB构件的应用构件的应用客户端编程。客户端编程。2022-8-6UML系统建模与设计30UML系统建模与分析设计2J2EE系统体系结构系统体系结
21、构(1)EJB:J2EE规约中最重要的技术。规约中最重要的技术。(2)RMI(Remote Method Invocation):是):是 EJB构件和客户端的通信应用编程接口。构件和客户端的通信应用编程接口。(3)JNID(Java Naming and Directory Interface,命名和目录接口)。,命名和目录接口)。(4)JDBC(Java DataBase Connectivity):跨平台访问各种数据库。):跨平台访问各种数据库。(5)JMS(Java Messaging Service):实现):实现 消息驱动消息驱动EJB构件的基础。构件的基础。2022-8-6UML
22、系统建模与设计31UML系统建模与分析设计(6)JTA(Java Transaction API):高层次):高层次 事务处理应用编程接口。事务处理应用编程接口。(7)JSP(Java Server Pages):用):用HTML书书 写,可夹杂写,可夹杂Java 语言。语言。(8)JIDL(Java接口定义语言):接口定义语言):Java IDL是是 CORBA规约的规约的Java实现。实现。(9)Java Mail:允许在:允许在Java程序中发送电子邮程序中发送电子邮 件,与工作平台和协议无关。件,与工作平台和协议无关。(10)XML(可扩展标记语言):(可扩展标记语言):J2EE技术靠
23、技术靠 XML作为元标记语言描述。作为元标记语言描述。2022-8-6UML系统建模与设计32UML系统建模与分析设计2022-8-6UML系统建模与设计33UML系统建模与分析设计9.3.3 CORBA9.3.3 CORBA模型的系统体系结构模型的系统体系结构 CORBA CORBA(Common Object Request Broker Common Object Request Broker ArchitectureArchitecture,通用对象请求代理体系结构)由对象管,通用对象请求代理体系结构)由对象管理组织理组织OMGOMG制定的,是体系结构最完整、最清晰、跨越平制定的,是体
展开阅读全文