(计算机应用技术专业论文)基于CBD的中药新药临床试验管理系统的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于CBD的中药新药临床试验管理系统的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于CBD的中药新药临床试验管理系统的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于CBD的中药新药临床试验管理系统的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于CBD的中药新药临床试验管理系统的设计与实现.pdf_第5页
已阅读5页,还剩94页未读 继续免费阅读

下载本文档

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

文档简介

东北大学硕士学 位论文摘要 基于c b d 的中药新药临床试验管理系统的设计与实现 摘要 本文所介绍的中药新药临床试验管理系统基于国家8 6 3 课题开发, 该课题所研 究的主题是借助计算机信息技术,建立一套中药新药临床试验管理体系,保证新 药的使用安全,同时为我国创新药物走向国际市场奠定基础。本系统针对国内所 出 现的中药新药物类型, 提供了能够准确评价其安全性、 有效性的临床试验方法, 并建立了相应的临床试验计算机管理平台,对中药新药临床试验的整个过程加以 管理和监控。 本系统的开发方法具有以 下特点,首先,系统采用c b d 开发模式,将系统组 件化,在分布式的多层架构下调用独立的组件,这样可以提高系统的灵活性和可 复用性。其次,强调完整而规范的软件开发过程,从系统的需求收集,分析设计 和u m l 建模开始。再次,系统建立在微软n e t 架构上,该架构提供了极稳定的操 作环境和对组件技术的支持, 使系统开发相对容易, 系统本身也比 较稳定。 本文通过对组件技术的分析和研究描述了中药新药临床试验管理系统基于 c b d 开发模式的整个开发过程。 文中首先介绍了组件基础技术, 包括组件的定义, c o m. c o r b a . e j b 等几种组件模型的分析与比较,以及基于c b d 的开发模式等。 然后对中药系统进行需求分析,建立了系统的功能模型,并在此功能模型的基础 上确定了系统的体系结构。文中提出了一种软件体系结构的描述方法并对本系 统进行了描述。在此基础上,本文分析了系统所需的组件,并描述了这些组件设 计与实现的过程,最后对系统组件的组装,以 及组装完成后的系统测试等方面的 问题进行了讨论。 关键词 中药临床试验 软件工程 基于组件开发 软件体系结构 “ 4 + 1 ”视图模型 东北大学硕士学位论文abs tract t h e d e s i g n a n d i mp l e m e n t a t i o n o f c b d - b a s e d n e w c t m t e s t i n g ma n a g e me n t s y s t e m ab s t r a c t t h e n e w c t m t e s t i n g m a n a g e m e n t s y s t e m w h i c h t h i s p a p e r i n t r o d u c e s i s d e v e l o p e d b a s e d 二 n a t i o n a l 8 6 3 p r o j e c t s , a n d t h e t a r g e t o f t h i s p r o j e c t i s h o w t o u t i l i z e c o m p u t e r t e c h n o l o g y t o e s t a b l i s h a s y s t e m o f n e w c t m t e s t i n g m a n a g e m e n t , s o t o s u r e t h e n e w m e d i c i n e c a n b e u s e d s a f e l y , a n d a t t h e s a m e t i m e t o m a k e a f o u n d a t i o n f o r t h e n e w m e d i c i n e a d a p t i n g t o t h e g lo b a l m a r k e t . t h i s s y s t e m g i v e s a m e t h o d w h i c h c a n e v a l u a t e t h e s a f e t y a n d a v a i l a b i l i t y o f t h e n e w t y p e o f m e d i c i n e , a n d a l s o p r o v id e s a t e s t i n g m a n a g e m e n t p l a t f o r m o f c o m p u t e r , t o a s s u r e th a t n e w m e d i c i n e s c a n b e u s e d t o p e o p l e q u i c k l y a n d s a f e l y . wh a t m a k e s m y s y s t e m d i s t i n c t t o o t h e r s i m i l a r s y s t e m s i s t h a t t h i s s y s t e m a d o p t c b d d e v e l o p m e n t p a t t e r n w h i c h d i v i d e s t h e s y s te m in t o m a n y c o m p o n e n t s w it h in d e p e n d e n t f un c t i o n , a n d t h i s c a n i n c r e a s e fl e x i b i l i t y a n d r e u s a b i l it y o f t h e s y s t e m . s e c o n d l y , t h e d e v e lo p i n g w o r k f o r t h i s s y s t e m i s s t a r t e d i n a v e r y p r o c e d u r a l w a y . t h i r d l y , m y s y s t e m i s b u i l t o n t h e mi c r o s o ft .n e t p l a t f o r m , a m o s t a d v a n c e d t e c h n o lo g y f o r t o d a y , p r o v i d i n g a v e r y s t a b l e a n d o p e r a t i n g e n v i r o n m e n t w h i c h m a k e s t h e d e v e l o p in g w o r k e a s i e r a n d t h e s y s t e m i t s e l f m o r e s t a b l e . t h i s p a p e r d e s c r i b e s t h e w h o l e d e v e l o p i n g p r o c e s s o f t h e t e s t i n g m a n a g e m e n t s y s t e m b y a n a l y z i n g c o m p o n e n t t e c h n o l o g y . i n t h i s p a p e r , fi r s t , w e i n t r o d u c e t h e r e l a t e d c o m p o n e n t t e c h n o l o g y . t h e n , w e e s t a b l i s h f u n c t i o n a l m o d e l f o r t h i s s y s t e m b y m a k in g d e m a n d a n a l y s i s , a n d t h e s o ft w a r e a r c h i t e c t u r e w h i c h i s d e s c r i b e d b y m y o w n m e t h o d . ) n t h i s f o u n d a t i o n , w e a n a l y z e c o m p o n e n t s t h e s y s t e m d e m a n d s , a n d d e s c r ib e t h e d e s i g n i n g a n d i m p l e m e n t i n g p r o c e s s o f t h e s e c o m p o n e n t s . a t l a s t , w e d i s c u s s t h e q u e s t i o n s a b o u t c o m p o s i t i o n a n d t e s t i n g o f t h e s y s t e m i n t h i s p a p e r . k e y w o r d s c t m t e s t i n g , s o ft w a r e e n g i n e e r i n g , c o m p o n e n t - b a s e d d e v e l o p m e n t , s o f t w a r e a r c h i t e c t u r e , 4 + 1 v i e w m o d e l 一 i i i - 独创性声明 本人声明所呈交的学位论文是在导师的指导下完成的。 论文中取得 的研究成果除加以标注和致谢的地方外,不包含其他人已经发表或撰 写过的研究成果,也不包括本人为获得其他学位而使用过的材料。与 我一同工作过的同志对本研究所做的任何贡献均己在论文中作了明确 的说明并表示谢意。 学 位 论 文 作 者 签 名 : 结闷卫 日期:2 ,0 0 5.i 、, 7 学位论文使用授权书 本学位论文作者和指导教师完全了 解东北大学有关保留、使用学位 论文的规定:即学校有权保留并向国家有关部门或机构送交论文的复 印 件和磁盘,允许论文被查阅和借阅。本人同意东北大学可以 将学位 论文的全部或部分内容编入有关数据库进行检索、交流。 ( 如作者和导师同意网上交流, 请在下方签名;否则视为不同意。) 学 位 论 文 作 者 签 名 : k 问 ? - 签 字日 期:t o 心,1、口 导师签名 签字日期 : 了 岁 心 佗t l l 丁 、 、 东 北大学 硕士学 位论文第一章 前言 食 iv一 崔 梦 合 介侣 旨 , 闭侧 勺盏口ur 翔 1 . 1问 题的提出 医药产业是充满生机、 前景广阔的高新技术密集型产业,是全球公认的国际化 产业,是当今世界发展最为迅速的产业之一。中医药及其它传统医药为保障世界 人民健康做出了巨大贡献,具有独特的优势。充分挖掘和发展中医药和其它传统 医药,对于人类战胜疾病、保障健康具有重要意义。近年来,随着人类疾病谱的 变化和 “ 回归自 然”潮流的兴起,中医药及其它传统医药受到世界各国的高度重 视,国际地位不断上升。但是,中医药及其它传统医药在运用和吸纳现代科学技 术方面仍有待加强,其发展远远不能满足人类的健康需求。 为了 提高我国中药研究与开发的科学技术水平, 促进民 族医药产业的发展, 推 动中药产品进入国际医药市场的进程,成为我国国民经济新的增长点, 科技部子 一九九九年五月正式实施 “ 中药现代化研究与产业化开发”这一重中之重项目。 本项目的目的是,在继承和发扬中医药优势和特色的基础上, 充分利用现代科学 技术的方法和手段,借鉴国际通行的医药标准规范,研究开发能够正式进入国际 医药市场的中药产品:初步建立我国中药研究开发和生产的规范体系,并争取使 之成为国际传统药物研究开发的标准规范:培育一批大型跨国中药企业集团,增 强中药的国际竞争力,使其成为我国新的经济增长点,进而推动医药产业向我国 支柱性产业方向发展。 国家“ 8 6 3 重大课题 中药新药临床试 验关键技术及平台 研究所属主 题便 是 “ 中 药现代化研究与产业化开发”这一重大专项。 我国在新药临 床研究方面, 初步建立了 与国际标准接轨的 药品临床试验管理规范( g c p ) 。 但是,由 于中 药新药品 种的开发建筑在中医药理论基础之上,中医的诊断和疗效评价体系与西 医有很大区别,因而完全套用国际的g c p 标准, 必将丢掉中医药自 身的特色和优 势,不利于中药新药的开发和中医药学术的发展。本着既与国际标准接轨,同时 保持中医药特色的原则,国家科技部便专门设立重大攻关课题进行此类研究。 中药新药临床试验管理系统是十五重点课题 中药新药临床试验关键技术及平 台研究的核心组成部分之一。目的是实现中药新药临床试验监控和信息管理的 智能化, 建立中药新药临床试验的计算机管理平台, 对中药新药临床试验进行全 面的过程监控和管理;建立中药新药试验的电子档案,达到信息资源共享、互通 互用:建立信息发布网站,供有关部门和人员随时查询了解国家有关政策和本试 东 北大学 硕士学 位论文第一章 前言 食 iv一 崔 梦 合 介侣 旨 , 闭侧 勺盏口ur 翔 1 . 1问 题的提出 医药产业是充满生机、 前景广阔的高新技术密集型产业,是全球公认的国际化 产业,是当今世界发展最为迅速的产业之一。中医药及其它传统医药为保障世界 人民健康做出了巨大贡献,具有独特的优势。充分挖掘和发展中医药和其它传统 医药,对于人类战胜疾病、保障健康具有重要意义。近年来,随着人类疾病谱的 变化和 “ 回归自 然”潮流的兴起,中医药及其它传统医药受到世界各国的高度重 视,国际地位不断上升。但是,中医药及其它传统医药在运用和吸纳现代科学技 术方面仍有待加强,其发展远远不能满足人类的健康需求。 为了 提高我国中药研究与开发的科学技术水平, 促进民 族医药产业的发展, 推 动中药产品进入国际医药市场的进程,成为我国国民经济新的增长点, 科技部子 一九九九年五月正式实施 “ 中药现代化研究与产业化开发”这一重中之重项目。 本项目的目的是,在继承和发扬中医药优势和特色的基础上, 充分利用现代科学 技术的方法和手段,借鉴国际通行的医药标准规范,研究开发能够正式进入国际 医药市场的中药产品:初步建立我国中药研究开发和生产的规范体系,并争取使 之成为国际传统药物研究开发的标准规范:培育一批大型跨国中药企业集团,增 强中药的国际竞争力,使其成为我国新的经济增长点,进而推动医药产业向我国 支柱性产业方向发展。 国家“ 8 6 3 重大课题 中药新药临床试 验关键技术及平台 研究所属主 题便 是 “ 中 药现代化研究与产业化开发”这一重大专项。 我国在新药临 床研究方面, 初步建立了 与国际标准接轨的 药品临床试验管理规范( g c p ) 。 但是,由 于中 药新药品 种的开发建筑在中医药理论基础之上,中医的诊断和疗效评价体系与西 医有很大区别,因而完全套用国际的g c p 标准, 必将丢掉中医药自 身的特色和优 势,不利于中药新药的开发和中医药学术的发展。本着既与国际标准接轨,同时 保持中医药特色的原则,国家科技部便专门设立重大攻关课题进行此类研究。 中药新药临床试验管理系统是十五重点课题 中药新药临床试验关键技术及平 台研究的核心组成部分之一。目的是实现中药新药临床试验监控和信息管理的 智能化, 建立中药新药临床试验的计算机管理平台, 对中药新药临床试验进行全 面的过程监控和管理;建立中药新药试验的电子档案,达到信息资源共享、互通 互用:建立信息发布网站,供有关部门和人员随时查询了解国家有关政策和本试 东北大学硕士学位论文第一章 前言 验中心的i作情况。 1 .2本文解决的主要问题及论文结构 中药新药临床试验管理系统基于国家8 6 3 项目 开发, 该项目 所研究的主题是借 助计算机信息技术,建立一套中药新药临床试验管理体系,以保证新药的使用安 全。因此,中药系统需要针对国内所出现的中药新药物类型,提供一套能够准确 评价其安全性、有效性的临床试验方法,并建立了相应的临床试验计算机管理平 台。由此可见,系统所对应的业务逻辑本身也是研究内容的一部分,这使得系统 需求多变,业务逻辑复杂,也使得对系统的设计与开发面临着很大的挑战。 基 于组件开 发 ( c o m p o n e n t - b a s e d d e v e l o p m e n t , c b d ) 是一 种利用 可重用的 软 件组件构建应用程序的技术。其主要特点是灵活性高、易于维护和升级,并且可 复 用 度高。 基 于u m l 的 视图 描 述方 法( u m l - b a s e d v i e w d e s c ri p t i o n , u b v ) 是 本 文 提出的一种软件体系结构描述方法, 它可以从不从的侧面来描述一个软件系统, 使系统易于理解和设计。 本文解决的主要问 题是针对中药新药临床管理系统提供一套基于c b d的解决 方案, 并使用u b v方法对中药系统的体系结构进行设计与描述。 中药系统是在对 c b d和u b v技术的学习和研究的基础上实现的。 论文针对开发中的实际情况, 对 各 项技术进行了的总结,并在总结的基础上,对中药新药临床试验管理系统基于 c b d的实现过程中的各个步骤进行了详细的描述。以下是本论文的组织结构。 第一章是全文的概述。 介绍了论文的撰写背景和意义, 以 及论文解决的主要问 题和论文结构; 第二章介绍了相关技术,其中包括组件技术,基于组件的程序设计方法,以 及.n e t 框架中的组件技术等。 第三章写了基于c b d的中药新药临床试验管理系统的需求分析,具体包括系 统的开发背景、功能需求以及设计需求以及选择c b d开发模式的原因等。 第四章主要讲述了有关软件体系结构方面的知识, 并提出了一种关于软件体系 结构的描述方法。中药系统按照分层的风格进行架构,并利用本文所提出的方法 对系统的体系结构进行描述。 第五章讲述了基于c b d的中药新药临床管理系统的设计与实现,具体包括系 统组件的鉴定与划分、组件的选取以及组件的设计与实现、系统组件的组装以及 组装完成后的系统测试等内容。 第六章对论文工作进行了 总结, 简要描述了 论文的成果, 并提出了 论文存在的 不足之处以及以后的研究方向。 东北大学硕士学位论文第一章 前言 验中心的i作情况。 1 .2本文解决的主要问题及论文结构 中药新药临床试验管理系统基于国家8 6 3 项目 开发, 该项目 所研究的主题是借 助计算机信息技术,建立一套中药新药临床试验管理体系,以保证新药的使用安 全。因此,中药系统需要针对国内所出现的中药新药物类型,提供一套能够准确 评价其安全性、有效性的临床试验方法,并建立了相应的临床试验计算机管理平 台。由此可见,系统所对应的业务逻辑本身也是研究内容的一部分,这使得系统 需求多变,业务逻辑复杂,也使得对系统的设计与开发面临着很大的挑战。 基 于组件开 发 ( c o m p o n e n t - b a s e d d e v e l o p m e n t , c b d ) 是一 种利用 可重用的 软 件组件构建应用程序的技术。其主要特点是灵活性高、易于维护和升级,并且可 复 用 度高。 基 于u m l 的 视图 描 述方 法( u m l - b a s e d v i e w d e s c ri p t i o n , u b v ) 是 本 文 提出的一种软件体系结构描述方法, 它可以从不从的侧面来描述一个软件系统, 使系统易于理解和设计。 本文解决的主要问 题是针对中药新药临床管理系统提供一套基于c b d的解决 方案, 并使用u b v方法对中药系统的体系结构进行设计与描述。 中药系统是在对 c b d和u b v技术的学习和研究的基础上实现的。 论文针对开发中的实际情况, 对 各 项技术进行了的总结,并在总结的基础上,对中药新药临床试验管理系统基于 c b d的实现过程中的各个步骤进行了详细的描述。以下是本论文的组织结构。 第一章是全文的概述。 介绍了论文的撰写背景和意义, 以 及论文解决的主要问 题和论文结构; 第二章介绍了相关技术,其中包括组件技术,基于组件的程序设计方法,以 及.n e t 框架中的组件技术等。 第三章写了基于c b d的中药新药临床试验管理系统的需求分析,具体包括系 统的开发背景、功能需求以及设计需求以及选择c b d开发模式的原因等。 第四章主要讲述了有关软件体系结构方面的知识, 并提出了一种关于软件体系 结构的描述方法。中药系统按照分层的风格进行架构,并利用本文所提出的方法 对系统的体系结构进行描述。 第五章讲述了基于c b d的中药新药临床管理系统的设计与实现,具体包括系 统组件的鉴定与划分、组件的选取以及组件的设计与实现、系统组件的组装以及 组装完成后的系统测试等内容。 第六章对论文工作进行了 总结, 简要描述了 论文的成果, 并提出了 论文存在的 不足之处以及以后的研究方向。 东北大学硕士学 位论文 第二章 c b d技术概述 第二章 c b d技术概述 计算机硬件技术的飞速发展使硬件实现了 “ 即插即用”的功能,只要将硬件 的各个部分通过接插口有机地连在一起,便可更快更便宜地组装计算机。而大多 数软件开发组织仍然把每一个软件开发项目看成是必须完全从头开始的新任务, 导致大多数软件项目 或是推迟交付时间,或是超出预算。目 前,在软件开发领域 由日 趋成熟的组件技术引起的一场革命正在悄悄兴起。基于组件的开发 ( c b d ) 能 从根本上改变软件开发过程中的被动局面,使开发者所希望的能够到组件市场购 买所需组件,便可组装成应用程序的梦想成为现实,这将使软件产业发生革命性 变化口c b d可以 提高软件的可重用性,使软件开发摆脱小作坊的工作方式,按照 大规模的工业化方式进行。 c b d是软件开发方法发展的必然结果, c b d和i n t e rn e t 并称为计算机软件业的两大热点,我们很有必要来探讨一些关于c b d的问题。 2 . 1 组 件技术简介 2 . 1 . 1组 件 技术的 发 展 在计算机软件发展的早期,一个系统往往是一个单独的应用程序。应用越复 杂, 程序就越庞大,系统开发的难度也就越大。而且,一旦系统的某个版本完成 以 后,在下一个版本出现之前, 应用程序不会再有所改变。而对于庞大的程序来 讲,更新版本的周期很长,在两个版本之间,如果由于操作系统发生了变化,或 者硬件平台有了变化,则应用系统就很难适应这样的变化。所以这类单体应用程 序已经不能满足计算机软硬件的发展需要。 从软件模型角度考虑, 一个很自 然的想法就是把一个庞大的应用程序分成多个 模块, 每个模块保持一定的功能独立性,在协同工作是, 通过相互之间的接口完 成实际的 任务。我们把每个这样的 模块称为一个组件, 一个设计良 好的应用系统 往往背切分成一些组件,这些组件可以 单独开发, 单独编译,甚至可以单独调试 和测试。当所有的组件开发完成后, 把他们组合在一起就得到了完整的应用系统。 当系统的外界软硬件环境发生变化或者用户的需求有所更改是,并不需要对所有 的组件进行修改,而只需对手影响的组件进行修改,然后重新组合得到新的升级 软件。图2 . 1 体现了这样的一个升级过程。 , 3- 东北大学硕士学 位论文 第二章 c b d技术概述 第二章 c b d技术概述 计算机硬件技术的飞速发展使硬件实现了 “ 即插即用”的功能,只要将硬件 的各个部分通过接插口有机地连在一起,便可更快更便宜地组装计算机。而大多 数软件开发组织仍然把每一个软件开发项目看成是必须完全从头开始的新任务, 导致大多数软件项目 或是推迟交付时间,或是超出预算。目 前,在软件开发领域 由日 趋成熟的组件技术引起的一场革命正在悄悄兴起。基于组件的开发 ( c b d ) 能 从根本上改变软件开发过程中的被动局面,使开发者所希望的能够到组件市场购 买所需组件,便可组装成应用程序的梦想成为现实,这将使软件产业发生革命性 变化口c b d可以 提高软件的可重用性,使软件开发摆脱小作坊的工作方式,按照 大规模的工业化方式进行。 c b d是软件开发方法发展的必然结果, c b d和i n t e rn e t 并称为计算机软件业的两大热点,我们很有必要来探讨一些关于c b d的问题。 2 . 1 组 件技术简介 2 . 1 . 1组 件 技术的 发 展 在计算机软件发展的早期,一个系统往往是一个单独的应用程序。应用越复 杂, 程序就越庞大,系统开发的难度也就越大。而且,一旦系统的某个版本完成 以 后,在下一个版本出现之前, 应用程序不会再有所改变。而对于庞大的程序来 讲,更新版本的周期很长,在两个版本之间,如果由于操作系统发生了变化,或 者硬件平台有了变化,则应用系统就很难适应这样的变化。所以这类单体应用程 序已经不能满足计算机软硬件的发展需要。 从软件模型角度考虑, 一个很自 然的想法就是把一个庞大的应用程序分成多个 模块, 每个模块保持一定的功能独立性,在协同工作是, 通过相互之间的接口完 成实际的 任务。我们把每个这样的 模块称为一个组件, 一个设计良 好的应用系统 往往背切分成一些组件,这些组件可以 单独开发, 单独编译,甚至可以单独调试 和测试。当所有的组件开发完成后, 把他们组合在一起就得到了完整的应用系统。 当系统的外界软硬件环境发生变化或者用户的需求有所更改是,并不需要对所有 的组件进行修改,而只需对手影响的组件进行修改,然后重新组合得到新的升级 软件。图2 . 1 体现了这样的一个升级过程。 , 3- 东 北大 学硕士学 位论文第 二章 c b d 枝术 概述 应用系统版本工 应用系统版本2 厂之r叹11日门1 一 巨 更 巫 习1二 迪 丝 习一 一-.- 造 w2 组件化应用程序的一 种升级示例 f i g .2 . 1 a n e x a m p le o f c o m p o n e n t - b a s e d p r o g r a m s e v o l v e m e n t 在图2 . 1 中 , 在应用系统版本i 的实际使用过程中 , 由 于软件环境发生了 变化, 沮 件1 和组件4 受到了影响,于是, 在保持原来接口的基础上,对组件 1 和组件4 进 行了 修改, 分别得到了 组件1 和组件4 。 把修改后的组件和其他的组件合在一起 得 到了 新的应用系统版本2 , 它可以运行在新的软件环境下。 于是在不修改组件1 , 2 、3 , 4 的情况下,完成了 软件的一次升级。 组件化的软件结构为我们带来了极大的好处, 除了软件升级的灵活性, 还有其 它 的一些优势,例如复用技术。在早期的开发中, 把可复用的代码放在一个函数 为 , 设计者通过包含函数模块把调用它的程序和函数相连接, 编译以后函数和调 泪函数的程序就静态的链接在一起,从而形成一个可执行文件。这种方法具有明 显的缺陷一是把同一个函数放在多个可执行文件中,大大浪费了存储空aa i :二 是 如果使用中发现这个函数有错,就必须修改所有调用这个函数的每一个文件。 当 然,其他的缺点也比较多,比如代码混乱,模块间的界限不清,功能移植困难 等 。 为了 解决函数模块实现中的缺陷,可以 把函数库编译为独立的二进制文件, 使 每一个可执行文件都可以动态的与这些独立的二进制文件进行链接。这样,多 个 可执行程序就可以共享相同的二进制库文件,即动态链接库。如果需要修改函 数,只需要修改d l l文件即可,而不必重新编译和发布调用该函数的所有可执行 文 件。 但是, 这种方法也有一个大的缺点, 即d l l并不是真正完全与语言无关的。 组 件技术是实现代码复用的一大变革,它们都利用标准化接口让客户机代码和组 件 类进行会话,此客户机代码不必知道组件是用哪种语言编写的,即接口可以实 现 跨语言的通讯。 组件技术把软件划分成为一些可动态组装的软件模块, 有一点需要明确, 要实 fin 这种组件化结构模型,并不是很轻松的事情尤其对于复杂的应用,要把应用分 成一些独立的组件,而且这种切分还要尽可能符合系统的应用逻辑和业务要求, 这是一门新的组件化程序设计技术。他不同与传统的结构化程序设计技术,也不 司于现在被广泛采用的面向对象程序设计技术。可以说,组件化程序设计位于这 两者之上,他更注重于应用系统的全局,要求从应用系统全方位来进行考察:在 东北大学硕士学位论文第二章 c b d技术概述 具体到某个组件或者模型的设计时,我们仍然需要结构化程序设计和面向对象程 序设计技术作为基础口 2 . 1 . 2组件的定义 由于组件自 身固有的特性,目 前人们对组件这一概念还没有一个统一的定义, 下面是关于组件的一些具有代表性的观点: . 一个组件是一个数据单元或一个计算单元, 它由 组件接口 和组件实现模块 组成( 3 . 软件组件是具有一定的功能, 能够独立工作或者能同其它组件装配起来协 调工作的程序体。组件的 使用同 它的开发、生产无关阎 。 . 将一个庞大的应用程序分成多个模块, 每个模块保持一定的功能 独立性, 在协同工作时,通过相互间的接口 完成实际任务,每一个这样的模块称为 组件, 这些组件可以 单独开发、 单 独编译 (2 5 j . 一个软件组件是可执行软件的一个可分离的部分, 作为一个单元来说也是 有意义的, 可以 与其它组件实现互操作, 需要某种环境的 支持2 4 . 组件是具有一致接口,遵循统一协议,功能固定的软件体,它具有高度的 可重用性(4 ) 上述这些定义互相联系又相互区别, 综合各个定义的观点, 本文对组件的定义 概括如下:一个软件组件是可执行软件的一个可分离部分,作为一个单元来说也 是有意义的,可以与其它组件实现互操作,需要某种环境支持;只能通过组件的 接口 来访问它,在进行了必要的安装和配置过程后,它就能以 接口 规定的方式来 使用;为了能与其它组件一起工作,必须能够得到其接口的细节。 由这个定义,可总结得出组件的几个重要特性: . 预制性:指组件在软件系统构建以前可能己经存在。 . 封装性:指各个组件的实现对外界来说不可见。 . 独立性:指各组件的功能、运行以 及开发等都是相互分离的. . 可重用性:指一个组件可以 在不同的软件系统多次使用的 特性。 . 互操作性:指各个组件通过接口 发送消息,实现协同工作。 . 适应性: 指组件可在不同的软件环境中正常工作的 特性。 2 . 1 .3流行组件模型及其比 较 当 前流行的组件模型有三种: c o m, c o r b a , j a v a b e a n / e j b和n e t 组件。 东北大学硕士学位论文第二章 c b d技术概述 具体到某个组件或者模型的设计时,我们仍然需要结构化程序设计和面向对象程 序设计技术作为基础口 2 . 1 . 2组件的定义 由于组件自 身固有的特性,目 前人们对组件这一概念还没有一个统一的定义, 下面是关于组件的一些具有代表性的观点: . 一个组件是一个数据单元或一个计算单元, 它由 组件接口 和组件实现模块 组成( 3 . 软件组件是具有一定的功能, 能够独立工作或者能同其它组件装配起来协 调工作的程序体。组件的 使用同 它的开发、生产无关阎 。 . 将一个庞大的应用程序分成多个模块, 每个模块保持一定的功能 独立性, 在协同工作时,通过相互间的接口 完成实际任务,每一个这样的模块称为 组件, 这些组件可以 单独开发、 单 独编译 (2 5 j . 一个软件组件是可执行软件的一个可分离的部分, 作为一个单元来说也是 有意义的, 可以 与其它组件实现互操作, 需要某种环境的 支持2 4 . 组件是具有一致接口,遵循统一协议,功能固定的软件体,它具有高度的 可重用性(4 ) 上述这些定义互相联系又相互区别, 综合各个定义的观点, 本文对组件的定义 概括如下:一个软件组件是可执行软件的一个可分离部分,作为一个单元来说也 是有意义的,可以与其它组件实现互操作,需要某种环境支持;只能通过组件的 接口 来访问它,在进行了必要的安装和配置过程后,它就能以 接口 规定的方式来 使用;为了能与其它组件一起工作,必须能够得到其接口的细节。 由这个定义,可总结得出组件的几个重要特性: . 预制性:指组件在软件系统构建以前可能己经存在。 . 封装性:指各个组件的实现对外界来说不可见。 . 独立性:指各组件的功能、运行以 及开发等都是相互分离的. . 可重用性:指一个组件可以 在不同的软件系统多次使用的 特性。 . 互操作性:指各个组件通过接口 发送消息,实现协同工作。 . 适应性: 指组件可在不同的软件环境中正常工作的 特性。 2 . 1 .3流行组件模型及其比 较 当 前流行的组件模型有三种: c o m, c o r b a , j a v a b e a n / e j b和n e t 组件。 东北大学硕士学位论文第二章 c b d技术概述 具体到某个组件或者模型的设计时,我们仍然需要结构化程序设计和面向对象程 序设计技术作为基础口 2 . 1 . 2组件的定义 由于组件自 身固有的特性,目 前人们对组件这一概念还没有一个统一的定义, 下面是关于组件的一些具有代表性的观点: . 一个组件是一个数据单元或一个计算单元, 它由 组件接口 和组件实现模块 组成( 3 . 软件组件是具有一定的功能, 能够独立工作或者能同其它组件装配起来协 调工作的程序体。组件的 使用同 它的开发、生产无关阎 。 . 将一个庞大的应用程序分成多个模块, 每个模块保持一定的功能 独立性, 在协同工作时,通过相互间的接口 完成实际任务,每一个这样的模块称为 组件, 这些组件可以 单独开发、 单 独编译 (2 5 j . 一个软件组件是可执行软件的一个可分离的部分, 作为一个单元来说也是 有意义的, 可以 与其它组件实现互操作, 需要某种环境的 支持2 4 . 组件是具有一致接口,遵循统一协议,功能固定的软件体,它具有高度的 可重用性(4 ) 上述这些定义互相联系又相互区别, 综合各个定义的观点, 本文对组件的定义 概括如下:一个软件组件是可执行软件的一个可分离部分,作为一个单元来说也 是有意义的,可以与其它组件实现互操作,需要某种环境支持;只能通过组件的 接口 来访问它,在进行了必要的安装和配置过程后,它就能以 接口 规定的方式来 使用;为了能与其它组件一起工作,必须能够得到其接口的细节。 由这个定义,可总结得出组件的几个重要特性: . 预制性:指组件在软件系统构建以前可能己经存在。 . 封装性:指各个组件的实现对外界来说不可见。 . 独立性:指各组件的功能、运行以 及开发等都是相互分离的. . 可重用性:指一个组件可以 在不同的软件系统多次使用的 特性。 . 互操作性:指各个组件通过接口 发送消息,实现协同工作。 . 适应性: 指组件可在不同的软件环境中正常工作的 特性。 2 . 1 .3流行组件模型及其比 较 当 前流行的组件模型有三种: c o m, c o r b a , j a v a b e a n / e j b和n e t 组件。 东 北大学硕士学 位论文第二章 c b d技术概述 令c o m组件模型 c o m是微软的组件软件架构。 c o m为组件交互定义了一个二进制的标准, 这 种交互可以在一个进程内部进行,也可以穿过进程边界,通过一个与显示语言无 关的 接口。基于c o m的实现包括微软提供组件软件服务的a c t i v e x ,提供事务服 务的nit s 和提供数据访问服务的o l e d b e c o r b a组件模型 c o r b a i k o m g ( t h e o b j e c t m a n a g e m e n t g r o u p ) 为。 r b 制 定 的 标 准 o r b 产品使用对象能够在一种分布式的 环境中 透明的发送请求并接受回应。 c o r b a标准允许用不同的编程语言来编写对象( 或组件) , 例如用j a v a 和c , 并允许这些对象透明的互操作,不论对方是用什么语言写成。同样,对象也不必 知道领一个对象是不是在同一台主机上,或使用的是什么操作系统。 今 e j b / j a v a b e a n e j b时一个服务器端组件模型,而j a v a b e a n s 时一个完全无关的模型,其目的 时用于进程内部,而不是用于分布式组件。 j a v a b e a n s 主要时用于构建客户端软件 并特别考虑了g u i 组件的需要。 e j b的不足之处是它要求所有的组件都用 j a v a编写。他在与其它系统继承时 存在一定的问 题。 j a v a 程序必须运行在j v m上。 这似的j a v a 很难与非j a v a 代码 实现紧密集成。 .组件模型之间的比 较 c o r b a与c o m相比不同点主要在于,c o m主要运行在wi n d o w s 环境,而 c o r b a 可以 运行在对多个不同 操作系统上。 c o r b a模型是与平台和语言无关的 。 与c o m相比, c o r b a常常被提及的一个缺点是他不是一个二进制的标准。 在以 前, 这一点 影响到服务器端c o r b a组件在不同的o r b 的实现产品之间的可移植 性。但是对于符合新版本的c o r b a标准的o r b来说尽管c o r b a仍然不是一个 二 进制的 标准, 当由 于引入了p o a( 可移植对象适配器, p o r t a b l e o b j e c t a d a p t e r ) , 服务器端组件就可以 移植了。 c o r b a不是一个二进制的标准, 这一点的确使得o r b的提供了在支持各种 平台 上的各种语言时要更费力。由 于这个原因, o r b提供商所支持的平台、语言 和编译器的数目 常常受到限 制。 能用来写c o m组件的语言比 用来写c o r b a组件 的要多。 但是c o r b a组件可以 部署到更多的平台上。 c o m 1 d c o m已 经是 wi n d 环境下大多数开发工具的一部分, 它是一个全面 的 体系结构, 覆盖从前端到后端到服务器和数据库。 相比 较而一言 , c o r b a 应用程 序需要 将 c o r b a o r b o b j e c t r e q u e s t b r o k e r 一 对象 请求中 介)安 装到 使用此 应用 程序的p c 机上。当考虑在整个企业内部署的复杂度和范围时,就在部署和常常被 东 北大学硕士学位论文 第二章 c b d技术概述 忽视的升级过程中,会出 现重大的管理和维护问题。随着技术的不断发展,微软 进一步 优化了组件的使用, 在c o m / d c o m基础上进行了大量的改进。 微软的.n e t 组件不再使用注册表和g u i d ,而是把它自己的描述封装在一个内部的段中 即清 单中) ,使用组件时只需要把引用的组件复制到引用它的可执行文件所在文件夹 中,当 可执行文件需要创建组件时,它就会从组件的清单段中查找组件文件,以 获 取它需要的 信息。 只要同一组件的不同版本存储在不同的文件夹中, 他们就可 以 共存于同一台机器上。对于多个应用程序都要使用的组件,可以存储在一个共 享的文件夹中。 这种方式彻底解决了 “ d l l h e l l ”问题。由于清单的生成过程对开 发人员是透明的,这就使得开发人员可以像开发一个平常的类一样去开发组件, 而不必考虑其它的细节,因此.n e t 组件的开发就变得非常简单。 同 样, 1 2 e e 也对组件的设计规范作了 进一步的调整, 使组件模型的建立更加规 范化,但由于不同厂家对利用组件模型提供开发组件的具体方式不同,在如何提 供开发工具的简单性上还需要进一步改进。 2 .2基于c b d的程序设计方法综述 c b d 是一种利用可重用的 软件组件构建应用程序的 技术。 这些组件由 三部分 组成,即组件实现的功能的详细说明书;组件是如何工作的实现设计;在指定刃 发平台上可行的传递方法。 2 .2 . 1基于c b d的软件开发特点 与结构化软件开发技术以 及面向对象的软件开发技术相比 较,c b d 有一些显 著的特征: . c b d 提供了真正的软件重用和高度的互操作性。 组件是完成特定功能的一 些可互操作的和可重用的模块,应用开发者可以 利用它们在不同应用领 域的知识来自由组合生成合适的应用系统。 . 接口的可靠性。组件接口是不变的,发表后就不能被修改。也就是说, 一 且组件使用者通过某接口获得某项服务,则总可从这个接口获得此项服 务。因此,组件封装后, 只能通过己定义的接口来提供合理的、一致的服 务。这种接口定义的稳定性使客户应用开发者能构造出坚固的应用。 . 可扩充服务。每个组件都是自主的, 有其独自 的功能,只能通过接口与外 界通信。通过消息传送互相提供服务, 基本组件的互操作是交互服务的。 当一个组件需要提供新的服务时,可通过增加新的接口来完成,不会影响 东 北大学硕士学位论文 第二章 c b d技术概述 忽视的升级过程中,会出 现重大的管理和维护问题。随着技术的不断发展,微软 进一步 优化了组件的使用, 在c o m / d c o m基础上进行了大量的改进。 微软的.n e t 组件不再使用注册表和g u i d ,而是把它自己的描述封装在一个内部的段中 即清 单中) ,使用组件时只需要把引用的组件复制到引用它的可执行文件所在文件夹 中,当 可执行文件需要创建组件时,它就会从组件的清单段中查找组件文件,以 获 取它需要的 信息。 只要同一组件的不同版本存储在不同的文件夹中, 他们就可 以 共存于同一台机器上。对于多个应用程序都要使用的组件,可以存储在一个共 享的文件夹中。 这种方式彻底解决了 “ d l l h e l l ”问题。由于清单的生成过程对开 发人员是透明的,这就使得开发人员可以像开发一个

温馨提示

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

评论

0/150

提交评论