(计算机软件与理论专业论文)面向数据表单的构件库技术的研究与实现.pdf_第1页
(计算机软件与理论专业论文)面向数据表单的构件库技术的研究与实现.pdf_第2页
(计算机软件与理论专业论文)面向数据表单的构件库技术的研究与实现.pdf_第3页
(计算机软件与理论专业论文)面向数据表单的构件库技术的研究与实现.pdf_第4页
(计算机软件与理论专业论文)面向数据表单的构件库技术的研究与实现.pdf_第5页
已阅读5页,还剩84页未读 继续免费阅读

(计算机软件与理论专业论文)面向数据表单的构件库技术的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

东北大学硕士学位论文摘要 面向数据表单的构件库技术的研究与实现 摘要 随着软件规模和复杂度不断增大, 传统的软件开发模式面临着巨 大的挑战, 出 现了新一轮的“ 软件危机” , 解决这个问题行之有效的途径就是软件复用。构件技 术在软件复用中扮演着重要的角色。 以c r f表 ( 病例报告表)为代表的数据表单的应用非常广泛,但是当前在数 据表单的开发和使用过程中,存在着大量的重复性工作。为此本文使用软件复用 技术为各类数据表单的开发和使用提供了一个公共的平台基于构件的数据表 单开发平台,作为对该问题域的一个解决方案,之后在此基础上推导出了面向领 域 ( 数据表单的应用领域)的构件库在该平台中的重要作用,因而如何管理和维 护这样一个面向数据表单领域的构件库成为了本文的研究重点。 本文主要是在对基于构件的数据表单开发平台的体系结构进行研究的基础上, 重点讨论了面向数据表单的构件库技术的研究与实现。本文首先对基于构件的数 据表单开发平台的体系结构进行了介绍;其次讨论了作为该平台物质支持的构件 库的体系结构,构件的分类机制:采用的是刻面分类法,检索机制:采用的是普 通检素与刻面检索两种方法;最后,为了保证数据表单数据的质量,本文提出将 约束条件和数据表单构件绑定及构件间约束条件绑定的方法,并给出了以o c l作 为这些约束的关键技术的实现。 关键词:软件复用构件库数据表单构件检索构件分类o c l 东 北大学 硕士学 位论文 a b s t r a ct t h e s t u d y a n d i m p l e m e n t a t i o n o f d a t a f o r m - o r i e n t e d c o m p o n e n t r e p o s i t o r y t e c h n o l o g y ab s t r a c t wi t h t h e r a p i d i n c r e a s e i n t h e s c a l e a n d c o m p l e x i t y o f s o ft w a r e , t h e t r a d i t io n a l d e v e l o p m e n t m o d e o f s o f t w a r e is c o n f r o n t e d w it h e n o r m o u s c h a l l e n g e . t h e n t h e n e x t r o u n d o f s o ft w a r e c r i s i s a p p e a r s , t h e e f f e c t i v e s o l u t i o n t o t h i s p r o b l e m i s s o ft w a r e r e u s e . t h e t e c h n o l o g y o f c o m p o n e n t p l a y s a v e ry i m p o rt a n t r o l e o f s o f t w a r e r e u s e . t h e d a t a f o r m w it h t h e f e a t u r e o f t h e c r f h a s b e e n a p p l i e d v e ry w i d e l y . d u r i n g t h e d e v e l o p m e n t o f d a t a f o r m , h o w e v e r , t h e r e i s a l o t o f r e p e t iti v e w o r k . f o r t h i s r e a s o n , t h i s p a p e r p r o v i d e s a c o m m o n p l a t f o r m u s i n g s o f t w a r e r e u s e t e c h n o l o g y , w h i c h i s b a s e d o n c o m p o n e n t , f o r t h e d e v e l o p m e n t a n d u ti l i z a t i o n o f m a n y k i n d s o f d a t a f o r m s . t h i s p l a t f o r m i s a n a p p r o p r i a t e s o l u t i o n o f i t s d o m a i n . f o u n d o n t h e p l a t f o n n t h i s p a p e r a l s o p r o p o s e s a d o m a i n - o r i e n t e d c o m p o n e n t r e p o s i t o ry w h i c h i s v e r y im p o r ta n t i n p r a c t i c e . t h e r e f o r e , b o w t o m a n a g e a n d m a i n t a i n t h e r e p o s i t o ry b e c o m e s t h e r e s e a r c h e m p h a s i s o f o u r p a p e r . t h i s p a p e r e s p e c i a l l y d i s c u s s e s r e s e a r c h a n d im p l e m e n t a t i o n o f t h e c o m p o n e n t r e p o s it o r y t e c h n o l o g y , w h i c h i s o r i e n t e d t o d a t a f o r m , b a s e d o n t h e a r c h i t e c t u r e o f t h e d e v e l o p m e n t p l a t f o r m o f d a t a f o r m f o r w e b s e r v i c e . f i r s t t h e p a p e r i n t r o d u c e s t h e a r c h i t e c t u r e o f t h e d e v e l o p m e n t p l a t f o r m o f d a t a f o r m . s e c o n d i t d i s c u s s e s s o m e r e la t e d p r o b l e m s s u c h a s t h e a r c h i t e c t u r e o f c o m p o n e n t r e p o s i t o r y w h i c h s u p p o rt s t h e p l a t f o r m a n d c o m p o n e n t c l a s s i f i c a t i o n w h i c h i s c a l le d f a c e t e d c l a s s if i c a t i o n a n d r e t r ie v a l a r it h m e t i c w h i c h c o m b i n e s t h e o r d in a r y r e t r i e v a l w it h f a c e t e d c l a s s i f i c a t i o n . a t l a s t , t o as s u r e t h e q u a l i t i e s o f d a t a f o r m s t h e p a p e r r e p r e s e n t s a s t r a t e g y o f t h e b i n d i n g b e t w e e n c o n s t r a in t s a n d d a t a f o r m c o m p o n e n t s o r t h e b i n d i n g a m o n g t h e c o n s t r a i n t s o f c o m p o n e n t s , a n d g i v e s th e im p l e m e n t a t i o n o f t h e k e y t e c h n o l o g y u s in g oc l a s t h e c o n s t r a i n t s . k e y w o r d s : s o ft w a r e r e u t i l i z a t i o n , c o m p o n e n t , c o m p o n e n t r e p o s i t o ry , c o m p o n e n t r e t r i e v e , c o mp o n e n t c l a s s i f i c a ti o n , oc l i i i 独创性声明 本人声明所呈交的学位论文是在导师的指导下完成的。 论文中取得 的研究成果除加以标注和致谢的地方外,不包含其他人己 经发表或撰 写过的研究成果,也不包括本人为获得其他学位而使用过的材料。与 我一同工作过的同志对本研究所做的任何贡献均已 在论文中作了明确 的说明并表示谢意。 学位论文作者签名:9 咖 日 期 ; 1 0 ds- , i . (/ 学位论文使用授权书 本学位论文作者和指导教师完全了 解东北大学有关保留、 使用学位 论文的规定:即学校有权保留并向国家有关部门或机构送交论文的复 印件和磁盘,允许论文被查阅和借阅。本人同意东北大学可以将学位 论文的全部或部分内容编入有关数据库进行检索、交流。 ( 如作者和导师同意网上交流, 请在下方签名; 否则视为不同意口 ) 学位论文作者签名 签 字日 期: -v a 了 : 妙和 、 、 ) ” 师 签 “ : 了 a 签 字 日 期 : y w s 3 z 东北大学硕士学位论文第一章前言 佑 - 4 rr a l i f 1 夕口.二尸.口: j 斗 1 . 1研究背景与意义 我们最初的研究动机来自 于对中药新药临床试验的病例报告表 ( c a s e r e p o r t f o r m , 简称为c r f )的管理。为了更大的发挥中医药及传统医学的作用,提高其 研究和开发的 科技水平, 推动其走向国际医药市场, 我国 科技部于1 9 9 5 年5 月正 式启动“ 中药现代化研究项目 与产业化开发” 项目 。该项目 的目 的是:充分利用 现代化的科技手段和方法,借鉴国际上医药标准规范,建立我国中药研究开发和 生产的标准规范体系,从而提高中药的国际竞争力。国家 “ 8 6 3 ”重大课题 中药 新药临床试验关键技术及平台研究所属课题便是 “ 中药现代化研究与产业化开 发”这一重大专项。 中药新药试验管理平台是 中药新药临床试验关键技术及其平台 课题的核心 组成部分之一。它的核心功能就是实现病例报告表的管理。 病例报告表 ( c r f )是临床试验中记录临床资料的表单, 每一个受试者有关试 验的资料均应记录在预先按试验方案设计的病例报告表中。由 研究人员依据原始 记录填写,以便申 办者对不同试验单位的资料进行集中分析。g c p( 药品临床试 验管理规范)规定, c r f表的设计应考虑下列因素:临床试验流程、 研究人员的 填写、 数据录入和分析、监查员的审核。 为了更有效的实现对c r f 表的管理, 在对c r f 表的特点及当前管理中所存在 的问 题的做出了充分的研究基础上,我们开发了 中药新药试验管理平台 。该平 台实现的主要功能就是运行时c r f表的定制、 存储, 运行时c r f 表录入界面的生 成、 用户录入数据的自 动存储等。 也就是说, 使用该平台可以完成不同格式的c r f 表的设计、数据录入、 录入数据的自 动存储等功能。 与其他可以自 动生成表格的 系统相比, 我们对c r f 表的管理有两个主要的特点: 首先是我们为c r f表的设计 提供了 一个工具, 使用这个工具可以 设计出 各种不同的c r f 表; 其次就是我们的 管理是对c r f 表的整个业务流程进行管理, 包括c r f表的设计、 各试验阶段数据 的录入、整个试验的疗效评价等。 随后,通过研究我们发现,类似对 c r f表的管理的问题,即在数据表单设计 之后,立即自 动生成相应表单的维护系统的这一类需求,在涉及数据表单的应用 系统中都大量存在,比如,税务系统的税务报送表单,企业管理信息系统中生产 订单的管理系统、各种社会调查表的设计等。 这类问题的共同 特点是: 东北大学硕士学位论文第一章前言 佑 - 4 rr a l i f 1 夕口.二尸.口: j 斗 1 . 1研究背景与意义 我们最初的研究动机来自 于对中药新药临床试验的病例报告表 ( c a s e r e p o r t f o r m , 简称为c r f )的管理。为了更大的发挥中医药及传统医学的作用,提高其 研究和开发的 科技水平, 推动其走向国际医药市场, 我国 科技部于1 9 9 5 年5 月正 式启动“ 中药现代化研究项目 与产业化开发” 项目 。该项目 的目 的是:充分利用 现代化的科技手段和方法,借鉴国际上医药标准规范,建立我国中药研究开发和 生产的标准规范体系,从而提高中药的国际竞争力。国家 “ 8 6 3 ”重大课题 中药 新药临床试验关键技术及平台研究所属课题便是 “ 中药现代化研究与产业化开 发”这一重大专项。 中药新药试验管理平台是 中药新药临床试验关键技术及其平台 课题的核心 组成部分之一。它的核心功能就是实现病例报告表的管理。 病例报告表 ( c r f )是临床试验中记录临床资料的表单, 每一个受试者有关试 验的资料均应记录在预先按试验方案设计的病例报告表中。由 研究人员依据原始 记录填写,以便申 办者对不同试验单位的资料进行集中分析。g c p( 药品临床试 验管理规范)规定, c r f表的设计应考虑下列因素:临床试验流程、 研究人员的 填写、 数据录入和分析、监查员的审核。 为了更有效的实现对c r f 表的管理, 在对c r f 表的特点及当前管理中所存在 的问 题的做出了充分的研究基础上,我们开发了 中药新药试验管理平台 。该平 台实现的主要功能就是运行时c r f表的定制、 存储, 运行时c r f 表录入界面的生 成、 用户录入数据的自 动存储等。 也就是说, 使用该平台可以完成不同格式的c r f 表的设计、数据录入、 录入数据的自 动存储等功能。 与其他可以自 动生成表格的 系统相比, 我们对c r f 表的管理有两个主要的特点: 首先是我们为c r f表的设计 提供了 一个工具, 使用这个工具可以 设计出 各种不同的c r f 表; 其次就是我们的 管理是对c r f 表的整个业务流程进行管理, 包括c r f表的设计、 各试验阶段数据 的录入、整个试验的疗效评价等。 随后,通过研究我们发现,类似对 c r f表的管理的问题,即在数据表单设计 之后,立即自 动生成相应表单的维护系统的这一类需求,在涉及数据表单的应用 系统中都大量存在,比如,税务系统的税务报送表单,企业管理信息系统中生产 订单的管理系统、各种社会调查表的设计等。 这类问题的共同 特点是: 东北大学硕士学位论文 第一章前言 . 数据表单设计完成后,自 动生成相应表单维护系统; . 虽然数据表单的形式存在着千差万别, 但是构成每种数据表单的基本构件 是个有限集, 如对c r f表来说, 它所使用的具体的构件不外乎标签、 文本 框、 下拉框、 单选框、 多选框, 其它的构件可以由这些基本构件复合而成; . 表单的设计使用模式是一对多的,可以是一人设计,多用户使用; 现在人们对上述问题的解决, 大都是对不同的数据表单的管理就需要建立不同 的数据表单管理系统,如对c r f 表管理就需建立中药新药试验管理平台,以实现 c r f表单的运行时设计、相应录入界面的运行时生成及录入数据的自 动存储等功 能 而对订单管理就需建立一个订单管理系统,同 样要实现订单的运行时设计、 相应录入界面的运行时生成及录入数据的自 动存储等功能。也就是说,人们忽视 了这类问题之中的共性的东西:各种数据表单管理需要实现的功能是相似的,并 且数据表单的组成构件也是可以 重复使用的, 只是用这些构件组成数据表单的方 式有些差异而己。这就必然导致在对各类数据表单的管理过程中,人们做了大量 的重复性工作,从而浪费了大量的人力、物力资源。 基于以上的原因, 我们对该问题域做了通盘的考虑, 提出了该类问题的通用解 决方案:即建立一个公共的数据表单开发平台,它可以向具有不同数据表单需求 的用户提供一个工具,这个工具实现了数据表单的设计、相应数据表单维护系统 的自 动生成以及表单数据录入、录入数据的自动存储等功能。以这个数据表单开 发平台为基础,用户可以根据自己的需求,完成运行时数据表单的设计、生成和 录入数据的自 动存储等功能。 我们解决这类问题的模式如图1 . 1 所示。由数据表单 开发工具提供者提供可以在运行时定制各种数据表单的工具,并发布在网络上, 使用这一工具设计满足自己需求的数据表单的用户 ( 这类用户,我们称之为数据 表单构建者) ,完成数据表单的设计并存储,可以供同类数据表单需求的所有用户 使用 ( 这类用户,我们称为数据表单服务请求者) 。 东北大学 硕士学位论文第一章前言 数据开发 憾 提供开发工 具 只脚挑洲 豁 l, ,t,.cy lllfl fr 数据表构建名 提供开发工共 生成数据裘单应 用 提供开发工 具 数 据 表 单 r l 用 系 统 数 据 表 单 应 用 系 统! 数 据 表 单 应 用 系 统 i n t e r n e t 况才 14 数 据表单服 务 请求者数 据表 单服务 请求老数 据表单 服务 请求者 图1 . 1基于构件的数据表单开发平台的应用模型 f i g . 1 . i t h e a p p l i c a t i o n m o d e l o f d a t a f o r m - o r i e n t e d c o m p o n e n t r e p o s i t o r y 若使上述数据表单开发平台实现其预定的功能, 来自 组成数据表单的各种构件 的支持是必不可少的,为了在构件的开发和使用过程中最大限度的减少重复性工 作,同时提高表单开发中的灵活性,我们需要一个能为我们存储和提供相应构件 的仓库,这就是构件库。软件构件库是软件构件的基础物质仓库,是分类和管理 构件资产的基础设计,在开发可复用软件构件和基于可复用软件开发之间起到了 桥梁作用。它在基于构件的软件复用中扮演了 重要角色。我们的构件库具有如下 的特点: . 它是面向领域的。它所存储的构件应该是组成各类数据表单的构件; . 它是可扩展的。随着用户需求的变化,用户可以根据自己的需要开发出一 些新的构件存储在构件库中以 备使用; . 它是基于一定的标准的。这个指的是入库的构件应该基于一定的标准,构 件入库的目 的就是为了 重用, 但是如果各种构件的开发标准不同, 不可能 东北大学硕士学位论文 第一章前言 能在一起使用,也就达不到重用的目的。 . 为了保证构件在开发和使用时的质量,我们使用 o c l作为构件内及构件 间约束的描述。 因此,以数据表单开发平台为基础,以面向领域的构件库为核心, 各种数据表 单管理的用户就可以在这个开发平台上各取所需,满足自己的需求,完成自己的 任务,同时又可以以构件库为切入点,在开发中互通有无,最大限度的实现了软 件的重用。 我们的研究目 标就是在数据表单开发平台的基础上, 如何管理维护一个面向 领 域的构件库,从而减少各种数据表单开发、使用中的重复性工作,以试图为各种 数据表单的设计及应用做出一个新的尝试,从而达到提高开发效率和开发质量的 目的。 1 .2本文的研究内容和组织结构 本文的主要研究目 标就是在以基于构件的数据表单开发平台为基础, 如何对一 个面向领域 ( 数据表单应用领域)的构件库管理和维护,从而为各种数据表单的 开发和使用提供物质基础。本文主要研究内 容包括: 基于构件的数据表单开发平 台 的 体 系 结 构 , 为 该 开 发 平 台 提 供 物 质 支 持 的 面 向 领 域( 数 据 表 单 应 用 领 域 ) 的 构件库的设计以及领域构件的开发和使用中的标准及关键技术的实现等。 本文的内容共分为六章,其组织如下: 第一章,前言,阐述了论文的研究背景,分析了其现实意义。 第二章, 介绍基于构件的数据表单开发平台及面向领域的数据库所涉及到的相 关领域的研究; 第三章, 详细讨论了数据表单开发平台的体系结构,不仅描述了其架构, 还介 绍了数据表单的开发过程。 第四章, 介绍面向领域 ( 数据表单的应用领域)的构件库的设计,不仅描述了 构件库的体系结构, 还详细介绍了构件库的入库体系和检索体系的设计; 第五章,描述面向领域的构件在开发和使用中的关键技术的实现; 第六章,结束语,对论文全文进行概括性总结。 最后,列出了相关的参考文献。 东北大学硕士学位论文 第一章前言 能在一起使用,也就达不到重用的目的。 . 为了保证构件在开发和使用时的质量,我们使用 o c l作为构件内及构件 间约束的描述。 因此,以数据表单开发平台为基础,以面向领域的构件库为核心, 各种数据表 单管理的用户就可以在这个开发平台上各取所需,满足自己的需求,完成自己的 任务,同时又可以以构件库为切入点,在开发中互通有无,最大限度的实现了软 件的重用。 我们的研究目 标就是在数据表单开发平台的基础上, 如何管理维护一个面向 领 域的构件库,从而减少各种数据表单开发、使用中的重复性工作,以试图为各种 数据表单的设计及应用做出一个新的尝试,从而达到提高开发效率和开发质量的 目的。 1 .2本文的研究内容和组织结构 本文的主要研究目 标就是在以基于构件的数据表单开发平台为基础, 如何对一 个面向领域 ( 数据表单应用领域)的构件库管理和维护,从而为各种数据表单的 开发和使用提供物质基础。本文主要研究内 容包括: 基于构件的数据表单开发平 台 的 体 系 结 构 , 为 该 开 发 平 台 提 供 物 质 支 持 的 面 向 领 域( 数 据 表 单 应 用 领 域 ) 的 构件库的设计以及领域构件的开发和使用中的标准及关键技术的实现等。 本文的内容共分为六章,其组织如下: 第一章,前言,阐述了论文的研究背景,分析了其现实意义。 第二章, 介绍基于构件的数据表单开发平台及面向领域的数据库所涉及到的相 关领域的研究; 第三章, 详细讨论了数据表单开发平台的体系结构,不仅描述了其架构, 还介 绍了数据表单的开发过程。 第四章, 介绍面向领域 ( 数据表单的应用领域)的构件库的设计,不仅描述了 构件库的体系结构, 还详细介绍了构件库的入库体系和检索体系的设计; 第五章,描述面向领域的构件在开发和使用中的关键技术的实现; 第六章,结束语,对论文全文进行概括性总结。 最后,列出了相关的参考文献。 东北大学硕士学位论文 第二章 研究基础 第二章 研究基础 2 . 1软件复用与构件技术 2 . 1 . 1软件复用 在1 9 6 8 年n a t o软件工程会议上, m c ll r o y 的论文 “ 大量生产的软件构件” 中, 第一次引入软件复用的概念。 在此以前, 子程序的概念己经体现了复用的思 想, 但其目 的是为了节省当时昂贵的机器内存资源, 并不是为了节省开发软件所 需的人力资源。 然而子程序的概念的确可以用于节省人力资源的目的, 从而出现 了通用子程序库,供程序员在编程时使用。 在其后的发展过程中, 有许多复用技术的研究成果和成功的复用实践活动。 但是, 复用技术在整体上对软件产业的影响却并不尽如人意。 这是由于技术方面 和非技术方面的种种因素造成的, 其中技术上的不成熟是一个主要原因。 近十几 年来, 面向对象技术的出现并逐步成为主流技术, 为软件复用提供了基本的技术 支持。 软件复用研究重新成为热点, 被视为解决软件危机, 提高软件生产效率和 质量的现实可行的途径。 软件复用是指在开发新的软件系统时,对己有软件的重新使用,该软件可以 是己存在的软件, 也可以是专门设计的可复用构件。 能够被复用的制品种类不限 于源代码段, 还可以包括设计结构、模块级实现结构、 规格说明、文档、 变换等 2 6 1 。 软件复 用是重复使用“ 为了 复用目 的 而设计的 软件” 的过程, 而可复用软件 则是指为了复用目的而设计的软件。 软件复用的思想由 来己 久, 从早期的过程( 函数) 复用到对象( 类) 的复 用再到现 在的构件复用, 复用技术不断发展。 软件复用可以从多个角度进行考察。 依据复 用的对象, 可以将软件复用分为产品复用和过程复用。 产品复用指复用己有的软 件构件, 通过构件集成( 组装) 得到新系统。 过程复用指复 用己 有的软件开发过程, 使用可复用的应用生成器来自动或半自 动地生成所需系统。 过程复用依赖于软件 自 动化技术的发展, 目 前只适用于一些特殊的应用领域。 产品复用是目 前现实的、 主流的途径。 软 件复 用的 方式 有以 下四 种fi l l . 黑盒复用归l a c k b o x r e u s e ) : 在黑盒复用中, 源代码不可得,复用的软件构件 不作任何修改。 东北大学硕士学位论文 第二章 研究基础 第二章 研究基础 2 . 1软件复用与构件技术 2 . 1 . 1软件复用 在1 9 6 8 年n a t o软件工程会议上, m c ll r o y 的论文 “ 大量生产的软件构件” 中, 第一次引入软件复用的概念。 在此以前, 子程序的概念己经体现了复用的思 想, 但其目 的是为了节省当时昂贵的机器内存资源, 并不是为了节省开发软件所 需的人力资源。 然而子程序的概念的确可以用于节省人力资源的目的, 从而出现 了通用子程序库,供程序员在编程时使用。 在其后的发展过程中, 有许多复用技术的研究成果和成功的复用实践活动。 但是, 复用技术在整体上对软件产业的影响却并不尽如人意。 这是由于技术方面 和非技术方面的种种因素造成的, 其中技术上的不成熟是一个主要原因。 近十几 年来, 面向对象技术的出现并逐步成为主流技术, 为软件复用提供了基本的技术 支持。 软件复用研究重新成为热点, 被视为解决软件危机, 提高软件生产效率和 质量的现实可行的途径。 软件复用是指在开发新的软件系统时,对己有软件的重新使用,该软件可以 是己存在的软件, 也可以是专门设计的可复用构件。 能够被复用的制品种类不限 于源代码段, 还可以包括设计结构、模块级实现结构、 规格说明、文档、 变换等 2 6 1 。 软件复 用是重复使用“ 为了 复用目 的 而设计的 软件” 的过程, 而可复用软件 则是指为了复用目的而设计的软件。 软件复用的思想由 来己 久, 从早期的过程( 函数) 复用到对象( 类) 的复 用再到现 在的构件复用, 复用技术不断发展。 软件复用可以从多个角度进行考察。 依据复 用的对象, 可以将软件复用分为产品复用和过程复用。 产品复用指复用己有的软 件构件, 通过构件集成( 组装) 得到新系统。 过程复用指复 用己 有的软件开发过程, 使用可复用的应用生成器来自动或半自 动地生成所需系统。 过程复用依赖于软件 自 动化技术的发展, 目 前只适用于一些特殊的应用领域。 产品复用是目 前现实的、 主流的途径。 软 件复 用的 方式 有以 下四 种fi l l . 黑盒复用归l a c k b o x r e u s e ) : 在黑盒复用中, 源代码不可得,复用的软件构件 不作任何修改。 东 北大学 硕士学 位论文第二章 研究基础 玻璃盒复用( g l a s s b o x r e u s e ) : 复用的软件构件不作任何修改, 但源代码可以 获得并能看到。 灰盒复用( g r a y b o x r e u s e ) :源代码可以 获得且允许一定的改变。 白 盒复用( w h i t e b o x r e u s e ) :经修改和改编的构件复用。 在当前的软件复用中,人们最期望的复用方式是黑盒复用方式,这种复用方 式的日益盛行的表现为c o t s 构件的大量涌现。 总的来说,软件复用有3 个基本问题:一是必须有可以复用的对象,二是所 复用的对象必须是有用的, 三是复用者需要知道如何去使用被复用的对象。 软件 复用还包括两个相关的过程, 即可复用软件的开发和基于可复用软件的应用系统 构造。 基于复用的软件开发,在制作软件的过程中使用从前的可复用制品。 “ 基于 复用”包含两方面的含义: 一是利用可复用的软件构件开发新的目 标软件系统; 二是在目 标系统分析、 设计过程中, 构造新的可复用的构件, 供现行或未来软件 开发使用。 自 从软件重用思想产生以来, 计算机科学家和软件工程师就致力与软件重用 的技术的研究和实践。在 3 0 多年的时间内,出现多种软件重用技术,如:库函 数、模板、面向对象、设计模式、构件、框架、构架。 . 库函数:库函数是很早的软件重用技术。很多编程语言为了增强自身的 功能,都提供了大量的库函数。对于库函数的使用者,只要知道函数的 名称,返回值的类型,函数参数和函数功能就可以对其进行调用。 . 面向对象:面向对象技术是近三十年来学术界和工业界研究和应用的一 个热点。面向对象技术通过方法、消息、类、继承、封装、和实例等机 制构造软件系统,并为软件重用提供强有力的支持。面向对象方法已成 为当今最有效、最先进的软件开发方法。与函数库对应,很多面向对象 语言为应用程序开发者提供了 易于使用的 类库, 如v c 十 十 中的m f c . . 模板:模板相当于工业生产中所用的 “ 模具” 。有各种各样的模板 如文 档模板, 网页模板等) , 利用这些模板可以比 较快速地建立对应的软件产 品。模板把不变的封装在内 部,对可能变化的部分提供了通用接口,由 使用者来对这些接口 进行设定或实现。 . 设计模式:设计模式作为重用设计信息的一种技术,在面向对象设计中 越来越来流行。设计模式描述了在我们周围不断重复发生的问题,该问 题的解决方案的核心和解决方案实施的上下文。设计模式命名一种技术 并且描述它的成本和收益,共享一系列模式的开发者拥有共同的语言来 描述他们的设计。 . 构件: 普通意义上的构件应从以 下几个方面来理解:1 ) 构件应是 抽象的 一6- 东北大学硕士学位论文第二章 研究苯础 系统特征单元, 具有封装性和信息隐 蔽, 其功能由 它的 接口 定义。 ( 2 ) 构 件可以是原子的, 也可以是复合的。 因此它可以是函数, 过程或对象类, 也可以 是更大规模的单元。 一个子系统是包含其它构件的构件。 ( 3 ) 构件 是可配置和共享的,这是基于构件开发的基石,且构件之间能相互提供 服务。 . 构架: 普通意义上的构架应从以下几个方面来理解: ( 1 ) 构架是与设计的同 义理解, 是系统原型或早期的实现。 ( 2 ) 构架是高层次的 系统整体组织。 ( 3 ) 构架是关于特定技术如何合作组成一个特定系统的 解释。 . 框架:如果把软件的构建过程看成是传统的建筑过程;框架的作用相当 于为我们的房屋搭建的“ 架子” 。 框架从重用意义上说, 是一个介于构件 和构架之间的一个概念。 我们将使用基于构件的软件重用技术。 2 . 1 .2构件技术 2 . 1 .2 . 1构件 构件技术以 面向对象技术为基础, 并很好的发展了 面向对象技术。 它的目 的 是将对象、 包括其用户界面、 对外接口 等属性以 及对象的功能实现封装成一个规 范的、 标准的、 可以方便地被构件容器所操纵和使用的整体, 使其成为一个通用、 高效的软件件部件。 构件技术是支持软件复用的核心技术, 成为了 近几年来迅速 发展并受到高度重视的一个学科分支。 目前, 对构件的概念还没有统一的定义, 但较为广泛接受的一个概念是: 软件 构件是能 独立的开发、 获取、 发布的功能单元, 能相互作用组成一个功能系统a 1 通常构件应具备以下三个基本性质: . 复用性( r e u s a b i l i t y ) :复用是构件存在的 意义, 也是构件技术的目 的和发展的驱动力。 . 封装性( c a p s u l i z a b i l i t y ) : 构件是一个自 包 含的 实体, 封装了 设 计的 实现的内 容,对外仅通过接口 来交互。 . 组装性( c o m p o s i t a b i li t y ) : 构件通过组装可以 形成更大的 整体, 组装 是实现复用的手段。 构件所具有的共性可以分为三个层次: 在一个系统或单个应用中的共性, 在 不同的领域中跨越不同系统的共性和整个的共性。 随着对软件构件技术研究的深入和发展, 软件开发方式产生了重大变化, 基 于“ 构件一构架” 复用的软件开发方法成为当今软件工程学科所瞩目的焦点之一。 东北大学硕士学位论文第二章 研究苯础 系统特征单元, 具有封装性和信息隐 蔽, 其功能由 它的 接口 定义。 ( 2 ) 构 件可以是原子的, 也可以是复合的。 因此它可以是函数, 过程或对象类, 也可以 是更大规模的单元。 一个子系统是包含其它构件的构件。 ( 3 ) 构件 是可配置和共享的,这是基于构件开发的基石,且构件之间能相互提供 服务。 . 构架: 普通意义上的构架应从以下几个方面来理解: ( 1 ) 构架是与设计的同 义理解, 是系统原型或早期的实现。 ( 2 ) 构架是高层次的 系统整体组织。 ( 3 ) 构架是关于特定技术如何合作组成一个特定系统的 解释。 . 框架:如果把软件的构建过程看成是传统的建筑过程;框架的作用相当 于为我们的房屋搭建的“ 架子” 。 框架从重用意义上说, 是一个介于构件 和构架之间的一个概念。 我们将使用基于构件的软件重用技术。 2 . 1 .2构件技术 2 . 1 .2 . 1构件 构件技术以 面向对象技术为基础, 并很好的发展了 面向对象技术。 它的目 的 是将对象、 包括其用户界面、 对外接口 等属性以 及对象的功能实现封装成一个规 范的、 标准的、 可以方便地被构件容器所操纵和使用的整体, 使其成为一个通用、 高效的软件件部件。 构件技术是支持软件复用的核心技术, 成为了 近几年来迅速 发展并受到高度重视的一个学科分支。 目前, 对构件的概念还没有统一的定义, 但较为广泛接受的一个概念是: 软件 构件是能 独立的开发、 获取、 发布的功能单元, 能相互作用组成一个功能系统a 1 通常构件应具备以下三个基本性质: . 复用性( r e u s a b i l i t y ) :复用是构件存在的 意义, 也是构件技术的目 的和发展的驱动力。 . 封装性( c a p s u l i z a b i l i t y ) : 构件是一个自 包 含的 实体, 封装了 设 计的 实现的内 容,对外仅通过接口 来交互。 . 组装性( c o m p o s i t a b i li t y ) : 构件通过组装可以 形成更大的 整体, 组装 是实现复用的手段。 构件所具有的共性可以分为三个层次: 在一个系统或单个应用中的共性, 在 不同的领域中跨越不同系统的共性和整个的共性。 随着对软件构件技术研究的深入和发展, 软件开发方式产生了重大变化, 基 于“ 构件一构架” 复用的软件开发方法成为当今软件工程学科所瞩目的焦点之一。 东 北大学 硕士学位论文第二章 研究 基础 这种开发方式致力于通过组装现有的软件构件来构造软件系统, 新的软件在开发 过程中的每一个阶段都可以复用相关的构件。 2 . 1 . 2 . 1 基于构件的软件开发过程 基 于 构 件的 开 发( c o m p o n e n t -b a s e d d e v e lo p m e n t , 简 称c b d ) ee l从 客 户出 发, 诱导需求,选择合适的体系结构风格来满足系统的目 标,然后: 选择已有的 可复用构件; 对这些构件进行认证( c e r ti f y ) 以 确信它们是否符合系统的体系 结构; 如果需要, 对构件进行适应性修改; 对构件进行组装, 形成子系统 和应用程序。 基于构件的开发是一种新的软件开发方法,它是在一定构件模型的支持下, 复用构件库中的一个或多个软件构件, 通过组合手段高效率、 高质量地构造应用 软件系统的过程。c b d 已经成为现今软件复用实践的研究热点,被认为是最具 潜力的软件工程发展方向之一。 基于构件的开发任务包括构件创建、 检索和评价、 适配、 组装、 测试和验证、 配置和部署、 维护和演进,以及遗产系统的再工程等 主要活动,它们与传统的开发方法不尽相同。首先,c b d 采用以构件库为中心 的开发模式,构件检索和构件评价是 c b d的一项关键任务,这里所指的构件库 不仅仅是独立的数据库, 而是广泛的、 一切可获得的构件资源, 包括通过互联网 发布的软件构件。 其次, 构件形成是一种在软件体系结构支持下的组装过程, 也 就是说, 在应用领域里需要在d s s a( 特定 领域的软件d o m a i n - s p e c i fi c s o ft w a r e a r c h i t e c t u r e ) 基础上将独立的构件组装成完整的应用系统, 因此构件的匹配和一 致验证也成为c b d的关键任务。 再次, c b d过程中需要同一些技术标准化接轨, 相同的构件可能由多个软件供应商生产, 被多个用户使用, 所以构件接口、 构件 基础设施必须标准化。最后,c b d需要配置管理,即专门处理构件的集成、配 置和发布的有关事宜, 于是构件的配置、 适配和部署都是c b d的关键关键任务。 以下是基于软件的软件开发过程: 一、需求分析 分析活动包括确定和描述系统需求。 在需求过程中, 应明确定义系统的界限。 c b d中, 分析活动需要完成三个任务。 首先, 获得系统需求和系统界限的定义; 其次, 定义系统体系结构, 允许构件间相互合作。 因为在基于构件的开发方法中, 多个构件相互合作完成系统功能; 第三, 定义构件需求, 允许选择或开发需要的 构件。 上面描述的方法是种理想化的过程。 它假设能够精确定义构件需求, 而且能 够找到满足这些需求的构件。 实际上, 在需求过程中我们会遇到好几个问题。 根 据系统需求不是那么容易得到构件需求, 而且得到的构件需求可能是不一致的、 一 8- 东 北大学 硕士学 位论文第二章 研究巷 万 出 有充分的、 定义模糊的, 而查找满足这些需求的构件就更困难。 我们几乎可以肯 定不会找到恰好满足需求的构件。 接下来遇到的问题就是构件组装过程中的不兼容问题。即使我们找到满足需 求的构件, 这些构件组装时未必按照期望的进行交互。 通常, 针对某个特定的需 求, 我们找不到满足该需求的构件, 需要开发新的构件, 这种情况下基于构件的 开发就变成了传统的软件开发,它原有的优点也就不存在了。 二 构件的选择和认证 1 、构件的选择 经过需求分析阶段,系统体系结构设计完成之后, 软件开发小组会检查需求 以确定系统中哪些部分可以直接通过组装来完成, 针对每项系统需求, 开发小组 会 考 虑 如 下 问 题 m . 是否存在内部开发的可利用构件可以满足该项需求? 可用构件的接口和系统的体系结构兼容吗? : 选择构件时, 为了找到合适的构件, 通常要确定几个候选构件, 观察研究这 些候选构件,去掉那些和系统主要需求不兼容的构件,再在剩下的这些候选 构件中分析剔除,继续选择过程,如果需要的话,对需求细化。 z 、构件的评估 为了找到合适的构件, 而且能够对构件进行认证, 必须以 标准的方式指定构 件。 但是, 事实上通常不是这样。 构件规范包括精确定义的构件功能接口, 但是 没有正式、 精确地定义其它属性, 因此要对选择的构件进行评估。 评估过程包括 技术和非技术几个方面。 评估的技术方面构件集成、 确认和认证。 非技术方面包 括构件提供者的市场地位、构件维护及其它可选方案。 当几个构件组装成一个集合体时,仅仅评估单个构件是不够的,还需要对这 个集合体进行评估。 对于满足需求的构件,要经过如下的步骤: ( 构件认证。我们通常通过接口来了解构件,接口包括提供的服务以及访 问这些服务的方式的描述。 接日并不提供构件是否符合体系结构及需求的全面描 述,软件工程师必须通过一个发现和分析的过程来确认每个构件的适合性。 对构件认证时,需要考虑如下因素: . 应用编程接口; . 构件的开发和集成环境; . 运行时的需求, 包括资源使用、时间、 速度和网 络协议; . 服务需求; . 安全特征,包括访问控制和身份验证协议: 东北大学硕士学位论文 2 . 2构件库的基本知识 第二章 研究基础 2 . 2 . 1构件库的角色 如果说构件复用是 “ 软件工程师之间交流思想和成果” ,软件工程师自然可 以借鉴其他人的研究成果, 从而避免开发已有软件。 但是,由于缺乏对软件及其 它有用信息的系统性纪录, 因此在随后的项目中很难再利用这些知识。 于是, 有 人建议

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论