(计算机应用技术专业论文)基于构件技术的远程视频监控系统.pdf_第1页
(计算机应用技术专业论文)基于构件技术的远程视频监控系统.pdf_第2页
(计算机应用技术专业论文)基于构件技术的远程视频监控系统.pdf_第3页
(计算机应用技术专业论文)基于构件技术的远程视频监控系统.pdf_第4页
(计算机应用技术专业论文)基于构件技术的远程视频监控系统.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

(计算机应用技术专业论文)基于构件技术的远程视频监控系统.pdf.pdf 免费下载

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

文档简介

基于构件技术的远程视频监控系统 摘要 远程视频监控系统对于保障工业生产、人民生活与社会安全具有重要意义,广泛应 用于电力、银行、交通、仓库等场所的安全防范和现场监控。当前,随着网络通信和多 媒体的迅速发展,远程视频监控系统正得到日益广泛的应用,而且要求也越来越高。 构件技术是可复用的软件单元,利用构件技术可以将复杂的应用系统分成若干个可 以实现的、易于开发的、可复用的软件单元。基于构件的软件开发方法是基于构件、复 用构件库的一个或多个构件的构造应用软件系统的过程。软件构件技术和基于构件的软 件开发方法已经成为软件产业发展的主要方向。 本论文阻辽宁省教委科技攻关项目为研究工作的选题背景,将构件技术引入到具体 的远程视频监控系统开发中。本文在系统地阐述了构件技术以及基于构件的软件开发技 术的基础上,研究了基丁专向领域的软件开发方法,提出了基于可复用构件的远程视频 监控系统的开发模型,并基于u m l 的面向对象的建模技术对远程视频监控系统进行了 系统建模,研究了c o m 组件技术,设计并实现了一个基于可重用构件的远程视频监控 系统,课题项目得到结题。该系统功能较完善,容易维护,可扩展性强,具有良好的可 重构性、可移植性,从应用角度证明了基于构件的重t l j 技术在系统开发中的优势。 关键词:视频,监控,软件工程,领域,构件 基于构件技术的远程视频监控系统 1 1 课题研究的背景及意义 第一章绪论 随着市场经济的发展,银行、电力、交通、安全、仓储、建筑以及军事设施等领 域对安全防范和现场记录报警系统的需求越来越大,而且要求越来越高,从而促进了 视频监控系统的发展。同时科技的飞速进步使得计算机在运算速度、存储容量、图像 处理等方面的性能也越来越强,计算机多媒体不断地发展,促使智能化的视频监控系 统推广应用成为可能。 视频监控系统具有监控日标实时性强、适于远距离传输、便于管理人员控制等突 出优点。利用视频监控系统能将被监控现场的实时图像和数据等信息准确、清晰、快 速地传送到监控中心服务器端,监控中心通过视频监控系统,能够实时、直接地了解 和掌握各个被监控现场的当前情况,以便直接根据被监控现场发生的情况做出相应的 反应和处理,更加实时地对各个监控现场加以管理,从而更有效地提高管理人员的工 作效率。远程视频监控不仅仅能提供生动的实时图像,还具有远程控制、报警记录等多 种功能。图像压缩和传输技术的发展使硬件可靠性得到了较好的解决,可通过现有的公 用或专用通讯网络传输图像,因此软件的可靠性显得尤为重要。 视频监控系统需要有足够的灵活性适应市场的变化,这就需要缩短系统的建设周 期,增强系统的可维护性和灵活性。构件技术具有效率高、成本低、高灵活性、互操 作性、开放性等特点,运用在涉及业务流程少、模块化强的视频监控系统中能够解决 简化开发过程、数据统一、软件版本自动升级等问题,因此我们采用了以软件复用为基 础,基于可复用构件来设计与实现一个远程视频监控系统,该系统利用现有的公用电话 网传输视频和控制数据,并运用多线程技术,实现了多站点同时监控,具有扩展能力强、 成本低、使用灵活、可靠性高等优点。 1 2 论文研究的内容 本文较系统的介绍了基于可复用构件技术的远程视频监控系统软件的开发。通过研 究构件技术和基于构件的软件开发技术,提出了面向领域的远程视频监控系统开发模型, 研究_ 基于u m l 的建模技术,对远程视频监控系统进行了建模,并抽取出构件,在此 基础上进行了开发实践。 主要工作有: l 、在分析国内外视频监控应用技术和项目总体结构构建的要求基础上,研究了软 件重用技术和构件技术,提出了一种结合软件构件技术建立可重用的远程视频监控系统 的开发模型。 2 、研究了基于u m l 的面向对象的建模方法在远程视频监控系统软件开发过程的具 体应用。重点介绍了在需求分析的基础上,运用u m l 建立了系统的用例模型、静态模 型和动态模型,基于u m l 进行了构件提取。 2 基于构件技术的远程视频监控系统 3 、研究了构件技术在远程视频监控系统软件开发中的应用,设计了基于构件的监 控系统层次体系结构,应用v i s u a lc + + 、d e l p h i 技术及其与c o m 组件技术的集成,设 计并实现了远程视频监控系统。 1 3 本文的结构 全文组织结构如下: 第一章,介绍本文的研究背景、研究内容和论文结构。 第二章,论述了基于构件的软件开发。介绍了构件技术的一些基本概念和理论,阐 述了基于构件的软件开发方法。 第三章,介绍了远程视频监控的应用现状以及本文所涉及的系统的硬件结构,并论 述了面向领域的基于构件的远程视频监控系统的开发模型。 第四章,对远程视频监控系统进行u m l 建横,并介绍了系统的软件体系结构以及 主要构件的设计实现。 第五章,对论文进行总结。 最后,是致谢和参考文献。 基于构件技术的远程视频监控系统 第二章基于构件的软件开发 目前最现实、主流的软件复用方式是构件技术。软件构件技术是支持软件复用的 核心技术,也是近几年来迅速发展并受到高度重视的一个学科分支。它是以面向对象 为基础而发展起来的更高层次的软件开发方法。采用基于软件复用的软构件,将使软 件设计生产工厂化成为可能,是未来软件开发的发展方向。软件复用和软件构件是解 决软件危机、提高软件开发效率和质量的有效途径,是一种社会化的软件开发方法, 有助于软件工程化、工厂化生产的实现”“。 2 1 软件开发方法演化 软件开发是- - 1 1 综合性学科,许多学者都一直在研究软件开发方法这个概念性的 东西,并且也提出了很多实际的开发方法。从软件开发方法的演变过程来看,软件开 发方法经历了瀑布模型、原型开发、螺旋开发、四代技术、过程开发、面向对象( 0 0 ) 生存期和基于构件的软件开发七个过程“4 “。 1 器布( w a t e r f a l l ) 模型 也称作软件生存周期模型,由w r o y c e 于1 9 7 0 年首先提出的,这是从硬件工程学 转来的一种分阶段的、系统的和顺序的软件开发方法。 根据软件生存周期各个阶段的任务。瀑布模型从可行性研究( 也称系统分析) 逐 步进行阶段性变换,直至得到通过测试并得到用户确认的软件产品为止。 瀑布模型是当时使用最广泛的软件工程模式。但是这种模式的缺点是面向阶段和 线性的是“理想化”的模型,段间具有顺序性和依赖性,它的好坏一直要等到测试 时才能知道。这种模式在硬件生产中使用效果很好,但是由于无法解决用户的不完整 和含糊不清的需求,按照这种模型来开发软件的争议却越来越大,只有当分析员能够 做出准确的需求分析时,才能取得预期的正确结果。 某些领域,如科学数值计算、嵌入式软件和实时控制系统,最合适采用瀑布模型。 但是,对更多的其他应用系统,特别是商业数据处理这一方法存在着许多严重的不容 忽视的缺陷,是不适用的。 2 原型开发模型 原型开发模型的主要思想是:首先建立一个能够反映用户主要需求的模型,使得 用户和开发者可以对目标系统的概貌进行评价、判断,然后对原型进行若干轮反复的 扩充、改进、求精,最终建立完全符合用户需求的系统。 从理论上说,原型开发能够缓解用户需求的不确定性所带来的风险,但实际上 也存在许多缺陷。 尽管存在许多的问题,但原型模型仍是一种有效的开发模式,关键在于开始原 型的确立,建立原型主要是作为定义需求的一种机制,实际软件设计的重点应是如何 提高软件的质量和可靠性。 - 4 基于构件技术的远程视频监控系统 3 螺旋开发模型( s p i r a ll o d e l ) 是b b o e h m 于1 9 8 8 年提出的,它综合了传统的生存期模型和原型开发模型的优点, 而且还增加了一个新的元素一风险分析,来弥补两者的不足。螺旋开发模型是由需求 定义、风险分析、工程实现和评审四个部分组成的迭代模型,软件开发过程每迭代一 次,螺旋线就增加一圈,根据每圈风险分析的结果,做出继续还是停止的抉择,如果 风险太大,项目只能终止。在实践中迭代结果必须尽快收敛到客户允许的或可接受的 目标范围内,但在大多数情况下,沿着螺旋的路径就可以建立起完整的系统,最终成 为运行系统。 螺旋模型是对典型生存周期的发展,它不仅保留了生存周期模型中系统地、按 阶段地逐步地进行软件开发的“边开发、边评审”的风格,而且还引入了风险分析, 并把制作原型作为风险分析的主要措施,客户始终关心、参与软件开发,并对阶段性 的软件产品提出评审意见,这对保证软件产品的质量是十分有益的。螺旋模型支持大 型软件开发,是具有广泛前景的模型。 4 基于四代技术的模型 四代语言( 4 g l ) 是r r o s s 于1 9 8 1 年提出的,它是在大型数据库管理程序基础上 发展起来的程序设计语言,4 g l 不同于三代语言,其主要特征是用户界面极其友好, 即使没有受过训练的非专业程序员,也能用它编写程序;它是一种声明式、交互式和 非过程性编程语言。以4 g l 为核心的软件开发技术称为四代技术,它拥有一组工具( 如 数据查询、报表生成、数据处理屏幕定义、代码生成、高层图形功能及电子表格等) , 软件开发者在定义软件需求、给出软件规格说明之后,4 g l i 具能使把开发人员定义 的这些软件自动地生成为源代码。应用4 g l 开发需求明确的小型应用系统,特别是信 息领域、工程和实时嵌入式系统工程,在软件开发的时间、成本、质量等方面都会取 得较好的效果。对于火型的软件项目,由于在系统分析、设计、测试、文档生成等过 程中要做大量的工作,4 g l 只能占有有限的比例。 5 过程开发模型 过程开发模型又叫混合模型,或元模型。为了克服瀑布模型的缺陷,人们已经提 出了原型等多种开发模式。这些可选的开发模式看起来十分严谨,但整个项目的开发 仍被限制在按定义所确定的阶段性的系统方向上。实际上任何一个项目的开发都取决 于许多因素,如软件的应用领域、规模大小、重用构件的大小和多少、软件实现的硬 件及软件环境、开始、周期和成本限制,以及开发人员的素质等。其中任何一个因素 的改变都会影响开发的进程。 6 、面向对象( ) 提供生存期模型 随着0 0 技术的逐渐成熟,人们又提出了0 0 软件工程生存期开发模型。0 0 开发 与传统的结构化生存期比较,具有更多的增量和迭代性质,生存期的各个阶段可以相 互重叠和多次反复,而且在项目的整个生存期中还可以嵌入子生存期所以有人称o o 生存期模型为喷泉模型,就像水喷上去又可以落下来,可以落在中间,也可以落在最底 部实际应用中大多把0 0 技术与传统的结构化技术结合或搭配起来,创造出多种混合 基于构件技术的远程视频监控系统 开发生存期,这是考虑到当前在传统的结构技术上大量投资、经验很多、人员比较熟 悉而o o 技术还不尽完善的现实。 7 、基于构件的软件开发 基于构件的构件开发( c 肋) 方法是在软件重用技术和0 0 技术基础上发展起来的。 前述六种开发模型都是面向过程的,而c b d 贝u 是第一个面向产品结构的方法。 2 2 构件技术 2 2 1 构件的概念 软件行业的工业化趋势导致了软构件的产生能够像硬件系统那样,采用“搭积 木”的方式生产软件,一直是软件开发人员长期的梦想。特别是对于特定领域的应用 开发,若能结合系统的实际情况充分利用己有的软件构件,将会减少大量的重复劳动, 大大提高生产效率。可以说,软构件技术的出现是对传统软件开发过程的一次变革。 构件( c o m p o n e n t ) 是应用系统中可以明确辨识的构成成分,可复用构件是指具有 相对独立的功能和可复用价值的构件,文献 6 给出了构件的一个比较确切的定义: 定义1 :软件构件是一种组装单元,它具有规范的接口规约和显式的语境依赖,软件 构件可以被独立地部署并由第三任意地组装。“1 2 2 2 构件的特性 ( 1 ) 独立部署单元:构件必须和它所在的环境和其他构件完全分离,封装自己的 全部内部特征,具有原子性是不可拆分的。 ( 2 ) 作为第三方的组装单元:构件必须封装它的实现,并且只通过良好定义的接 口与外部环境进行交互,耍具有良好的内聚性。 ( 3 ) 没有( 外部的) 可见状态:构件不能与自己的拷贝有所区别。 2 2 3 构件应具备的属性 ( 1 ) 有用性:必须提供有用的功能; ( 2 ) 可用性:必须易于理解和使用; ( 3 ) 质量保证性:自身及其变形必须正确; ( 4 ) 适应性:应该通过参数化等方式在不同的语境中进行配置 ( 5 ) 可移植性:应能在不同的硬件平台和软件环境中工作。l 2 2 2 4 构件的分类 在应用系统中有着良好封装特性的可重用的软件部分都可以看作一个构件。它可 以是被封装的对象类、一些功能模块、软件框架、软件构架( 或体系结构) ,也可以是 开发过程文档、分析件、设计模式等。我们可以从不同的侧面对构件进行分类: ( 1 ) 根据开发过程,可以分为分析构件、设计构件、程序构件和数据构件。 6 基于构件技术的远程视频监控系统 ( 2 ) 根据功能,可以分为系统构件、支撑构件和领域构件。 ( 3 ) 根据重用粒度大小,可以分为小型构件、中型构件和大型构件。 ( 4 ) 根据重用状态,可以分为动态构件和静态构件。 ( 5 ) 根据结构,可以分为原子构件和由多个构件聚集的组合构件。 2 2 5 构件技术的研究内容 ( 1 ) 构件获取:有目的的构件生产和从己有系统中挖掘提取构件; ( 2 ) 构件模型:研究构件的本质特征及构件间的关系; ( 3 ) 构件描述语言:以构件模型为基础,解决构件的精确描述、理解及组装问题; ( 4 ) 构件分类与检索:研究构件分类策略、组织模式及检索策略,建立构件库系 统,支持构件的有效管理; ( 5 ) 构件复合组装:在构件模型的基础上研究构件组装机制,包括源代码级的组 装和基于构件对象互操作性的运行级组装; ( 6 ) 标准化:构件模型的标准化和构件库系统的标准化。 2 3 基于构件的软件开发方法( g b d ) : 2 3 1 基于构件的软件开发 集软件复用、分布式对象技术、客户服务器结构和构件技术于一身的基于构件 的软件开发方法( c b d ,c o m p o n e n tb a s e ds o f t w a r ed e v e l o p m e n t ) 是2 0 世纪9 0 年代兴 起的一种新的软件开发方法1 7 1 ,是种利用可重用的软件构件建立应用系统的技术。 与传统软件工程方法有所不同,它不仅针对某个具体的工程项目,而更多地针对某一 行业领域的共性需求,利用领域工程方法,将多年积累的行业经验进行总结,提炼出 业务模型、特定领域的系统架构、构件库等,这样开发出来的架构和构件封装了业务 的个性和变化性,具有此领域的共同特点,在此领域有很高的可复用性。有了这样的 积累之后,整个应用软件的生产方式将发生很大的改变使系统开发不再以代码编写 为中心,而是转变为构件组装过程,系统的升级由以前的原有系统替换过程转变为构 件替换过程。 2 3 2 基于构件的软件开发的优点 c b d 是一种软件开发新技术,它吸收发扬了面向对象技术、分布计算技术和软件 复用中的许多优秀思想,在一定构件模型的支持下,复用构件库中的一个或多个软件 构件,通过组合手段高效率、高质量地构造应用软件系统的过程,c b d 的优点表现为 为刚: ( 1 ) 以构件为单位独立地进行设计和实现,使大规模的软件生产成为可能: ( 2 ) 缩短应用开发的周期,降低开发费用,提高生产率; ( 3 ) c b d 技术以构件模型和构件架构作为系统开发者之间的协议标准,极大地提 高了应用系统各部分的开发独立性和系统开发的并行性: ( 4 ) 更易配置最优的解决方案,构件市场上丰富的构件使得对功能的支持更具有 一7 - 基于构件技术的远程视频监控系统 可选性构件提供者的竞争也会使价格变得更低; ( 5 ) 减少了出错风险。因为用于组装的各构件都己各自通过了测试和验证。同时 基于构件的系统开发更有利于渐进的增量式开发测试。这些都保证了软件开发的质 量: ( 6 ) 提高了软件系统的灵活性,缩短了软件系统的分发时间,减少了软件系统的 维护费用。 2 3 3 基于构件的软件开发的特点 与传统的软件重用方法比较,c b d 有以下特点m ,1o j : ( 1 ) 即插即用:构件可以方便地集成于框架中,不用修改代码,也不用重新编译。 ( 2 ) 以接口为核心:构件的接口和实现是分离的,构件封装了它的设计和实现, 而仅向外部提供接口,构件通过接口实现与其它构件和框架的交互,构件的具体实现 被封装在内部,组装者只需关心接口,不必知道其实现细节。 ( 3 ) 标准化:构件的接口必须严格地标准化,这是构件技术成熟的标准之一。目 前主要的构件标准有:o m g 的c o r b a ,微软公司的c o m d c o m ,s u n 公司的 j a v a b e a n e n t e r p r i s ej a v a b e a n 。 2 4 构件技术的标准规范 随着构件技术的广泛使用,s u n 、m i c r o s o f t 等大公司和国际组织制定和提出了 许多构件标准和参考模型,其中比较有代表性的有c o r b a 、c o m d c o m 、以及j a v a b e a n 。 这些标准规范了开发者的行为,使之能够生成带有可以预测的标准接口的构件,为实 现“即插即用”式的构件式软件开发方法和基于分布式环境的软件复用起到了规范和 指导作用,奠定了构件技术的发展基础。 2 4 1c o r b a 技术 公共对象请求代理体系结构c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ) 是由对象管理组织o m g ( o b j e c tm a n a g e m e n tg r o u p ) 制定的一个工业规范。 c o r b a 基于面向对象技术和商业可行性技术,采用自底向上的方式,从网络层开 始,向上一直到麻用接口形成事实上的标准“1 。c o r b a 的核心思想是采用标准的接 口定义语言将软件接口与软件实现相分离。为此引进了接口定义语言i d l ( i n t e r f a c e d e f i n i t i o nl a n g u a g e ) 及其映射,i d l 语言是种中性语言,使用i d l 的客户可以根据 i d l 接口中的信息来决定如何发出请求和接收响应,使得客户对象完全独立于具体对 象实现所在的位置,使用的编程语言及其它跟对象接口无关。c o r b a 通过对象系统为客 户提供服务,对象间的交互通过o r b ( o b j e c tr e q u e s tb r o k e r ) 传递。对于一个交互来 说有客户方和服务方之分,在c o r b a 中称之为客户( c 1 l e n t ) 和对象实现( o b j e c t i m p l e m e n t a t i o n ) 。客户通过构造一个请求来要求得到服务,与请求相关的信息包括 操作、目标对象、零个或多个参数。对象实现使用接口( i n t e r f a c e ) 来描述对它执行 的操作。o r b 将请求交付给目标对象并将响应返回给发出请求的客户。 - 8 - 基于构件技术的远程视频监控系统 c o r b a 有几个基本优点“”:与开发语言的无关性,与开发者无关的独立性和与操作 系统无关的独立性。c o r b a 的o r b 在当前每一种主流操作系统上均有实现,除此之外, o r b 可以访问多种语言实现的对象( c + + 、c 0 b o l 、s m a l l t a l k 和j a v a ) c o r b a 的缺点是“:由于o m g 向各公司提供的是技术规范而非实现细节,因此每种 o r b 版本并不是完全相同,因此为了增加扩展性,不得不损失掉互操作性和移植性; 大量的命令集,缺乏开发工具。 j a v ab e a n s 和e n t e r p r i s ej a v ab e a n s 都是组件模型规范,前者是说明了开发工 具中应用程序组装的问题,后面则侧重于部署组件的服务框架的细节“”1 。 j a v a b e a n s 是基于j a v a 环境的。可视的,可操纵的构件。作为可视化构件,j a v a b e a n 具备如下特征: ( i ) 内省( i n t r o s p e c t i o n ) 机制,能够告诉软件构造工具其所能完成的功能, 从而允许软件构件造工具在设计时对其加以操纵; ( 2 ) 用户定制( c u s t o m i z a t i o n ) 机制,允许程序员在软件开发阶段利用软件构 件工具改变b e a n 的外观和行为方式。 ( 3 ) 事件机制( e v e n t ) ,能够捕捉事件、引发事件,并将其所产生和处理的事件 告知软件构造工具; ( 4 ) 特性机制( p r o p e r t i e s ) ,除在软件开发阶段支持_ j 户定制外,还使得软件系 统能够在运行时刻对b e a n 进行加工和控制: ( 5 ) 保持( p e r s i s t e n c e ) 机制,保存程序员开发时利用构造工具对b e a n f i ) l 做的修 改,并在运行时予以修复。 ( b ) 设计时刻功能和运行时刻功能分离。 e j b 是一个服务器端构件模型”1 。e j b 方法扩充j a v a 的客户端构件模型j a v a b e a n 以支持服务器端应用系统的开发。 2 4 3c o i l 技术 c o m 是由m i c r o s o f t 、d i g i t a le q u i p m e n t 等公司支持的一个“工业标准”软件构 架,描述的是一组规范及一个系统级的实现构成,可为w i n d o w s 提供统一的和可扩充 的面向对象通讯协议。本文的构件也基于c o m 开发,下面着重对该技术作一介绍“7 “。 ( 1 ) c o m 概述 c o m ,即组件对象,是一种以组件为发布单元的对象模型,这种模型使各软件组 件可以用一种统一的方式交互。c o m 既提供了组件之间进行交互的规范,又提供了实 现交互的环境。 c o m 是一个二进制标准,它详细地规定了一个c o m g l 件所应具有的内存结构,c o m 对象之间的交互完全基于对此内存结构的操作。因此可以在很大程度上忽略不同的编 程语言和应用环境的差别,c o m 为组件提供了这种语言无关性,这使得不同的软件开 发商只需遵守c o m 规范,就可以选择合适的编程语言来开发自己的组件。 ( 2 ) c o m 结构 ,9 基于构件技术的远程视频监控系统 c o m 为组件软件和应用程序之间进行通信提供了统一的标准。c o m 标准包括规范 和实现两大部分,规范定义了组件和组件之间通信的机制,这些规范不依赖于任何特 定的语言和操作系统,只要按照规范,任何语言都可使用。c o m 标准的实现部分是c o m 库,为c o m 规范的具体实现部分提供了一些核心的服务。 i d l 语言, 为了实现可重用的二进制组件,c 0 m 严格区分接口的定义和实现,因而接口定义 的语言就需要和接口实现的语言分开,让编写组件的各方统一使用一种语言来定义接 口。c o m 提供了一种语言,它用到了基本的、大家熟悉的c 语法,同时加入了某些用来 “消除c 语言中二义性特征”的能力,这种语言被称为接口定义语言i d l ( i n t e r f a c e d e f i n i t i o nl a n g u a g e ) 。 c o m 以开放软件基金组织( 0 p e ns o f t w a r ef o u n d a t i o n ,o s f ) 的d c e 规范描述的远程 调用接口i d l 为基础,进行扩展形成了c o m 接口的描述语言。它提供了一种不依赖于任 何语言的接口描述方法,使得它可以成为组件程序和客户程序之间的共同语言。 c o m 的i d l 不仅用于定义c o m 接口,同时还定义了一些常用的数据类型如s t r i n g , l o n g ,s h o r t 等。i d l 也支持结构( s t r u c t ) 、联台( u n i o n ) 、数组、枚举( e n l t m ) 以及与 c 语言中等价的t y p e d e f 类型定义形式。对于接口成员函数,我们要指定每个参数的类 型,还必须用属性 i n 和 o u t 指明参数的输入输出特性,参数中甚至支持可变长度 的数组的描述。i d l 也支持指针类型,与c c + + 很类似。 c o m 对象 在c o m 中,对象是展示一个或多个接口的功能单元,客户就是通过c o m 接口使用c o m 对象的服务。 与c + + 语言中的类的概念相似,c 叫对象也包含属性( 状态) 和方法( 操作) ,对象 的状态反映了对象韵存在。而对象的方法就是对象提供给外界的接口,客户必须通过 接口才能获得对象的服务对于c o m 对象来说,接口是它与外界交互的唯一途径,因而, 封装性是c o m 对象的基本特征。 由于c o m 组件的位置对于客户来说是透明的,客户并不直接访问c o m 组件,而是通 过一个全局标识符来进行对象的创建和初始化。为此c o m 规范基于o s f 采用u i d ( u n j v e r a l l yu n i q u ei d e n t i f i e r ) 思想,使用g u i d 来标识c o m 对象。 g u i d 是一个1 2 8 位的整数,可以保证在时间和空间两方面都是唯一的。当g u i d 被 用来标识c o m 对象时,g u i d 被称为类i d ( c l a s si d ,c l s i d ) 。为了产生一个新的g u i d ,c o m 暴露了一个a p i 函数,可以用来产生一个新的1 2 8 位的值。该函数采用了非集中式的唯 一性算法,理论上可以保证结果值不重复出现。 c o m 接口 接口描述了构件对外发布的服务,构件和构件之间通过接口进行交互。接口是一 组语义相关的方法的集合,一个对象实现一个接口是指对象实现了该接口中所有的成 员函数,井把指向这些成员函数的指针提供给c o m 。 与对象类似,每一个接口都由一个1 2 8 位的全局唯一标识符( g u i d ) 来标识,该标 识符被称作接口i d ( i n t e r f a c ei d ,l i d ) 。客户通过i i d 获得接口的指针,通过接 口指针,客户就可以调用其相应的成员函数。 客户通过i i d 获得接口的指针,通过接口指针,客户就可以调用其相应的成员函 1 0 基于构件技术的远程视频监控系统 数:其具体功能的实现,则由对象的接口内部实现。接口指针实际上指向另一个指针, 这个指针又指向一组函数,称为接口函数表,接口函数表中每一项为4 个字节长的函 数指针,每个指针与对象的具体实现连结起来。如图2 1 所示。 图2 1 接口结构 客户,服务器模型 c o m 本质上是客户朋务器模式。c o m 服务器实际上是组件对象的容器,c o m 对象 通过接口来向客户提供服务,实现客户和服务器之间的交互。然而,c o m ) 7 仅仅是一种 简单的客户服务器模型,有时客户也可以反过来提供服务,或者服务方本身也其他对象 的功能,在这种情况下,一个对象可能既是服务器又是客户。 c o m 廑 c o m 除了定义组件程序和客户程序交互的规范以外,也提供了c o m 的实现部分即 c o m 库。c o m 库充当了组件程序和客户程序之间的桥梁,尤其在组i 牛- x 十象的创建过程 中,以及在对象管理、内存管理和一些标准化操作等方面起着重要作用。 ( 3 ) c o m 构件的特点 e o m 规范定义的组件模型除具有面向对象的特点,还具有区别于面向对象的特征, 如语言无关性、进程透明性、可重用性等。 1 、编程语言和开发环境的独立性。c o m 规范为构件建立了二进制一级的标准,只 要遵守c o m 规范,可以选择任意合适的编程语言编制构件,构件之间可以很方便地集 成。 2 、构件位置的透明性。对于分布式应用系统来说,位置透明特性可以跨越机器, c o m 保证了构件的位置透明特性。 3 、可扩充性。每个构件都是自主的,有其独特的功能,只能通过接口与外界通 信。当一个构件需要提供新的服务时,可通过增加新的接口米完成,不会影响原接口 已存在的用户。 4 、可重用性。c o m 提供了两种重用类型:包容和聚合,在实现构件过程中,可以 用这两种方法对构件库的构件进行扩展得到新的构件。 - 麟蠹 基于构件技术的远程视频监控系统 第三章基于构件技术的远程视频监控系统分析 3 1 远程视频监控系统应用现状 视频监控系统的产生和发展有两个方面的原因:一方面,随着人们安全防范观念 的加强,人们迫切希望通过监视的方式来预防和减少公共场所的破坏及犯罪活动。另 一方面,视频技术和网络通信技术日益成熟,为它的实现和应用奠定了基础;而计 算机技术和多媒体技术的迅速发展,将自动控制和多媒体技术带入到视频监控系统中 来,促进了它的普及和应用。 视频监控系统的发展大致经历了三个阶段 2 1 “2 4 :1 ) 模拟视频监控系统:2 ) 数 字化本地视频监控系统:3 ) 网络数字视频监视系统。 3 ,l - 1 模拟视频监控系统 在二十世纪九十年代以前,随着视频技术和摄像机的出现,以模拟设备为主的闭 路电视监控系统壮大起来,我们称之模拟视频监控系统。它被j 、。泛应用于保安、生产 管理等场合。其本地图像监控系统主要由摄像机、视频矩阵、监视器、录像机等组成, 采用视频电缆、控制线缆等将这些设备连接起来。 系统由两个部分组成:前端设备、监控中心。前端设备包括摄像机、云台、解码 器等;监控中心设备包括监控器( 电视墙) 、视频分配器、切换矩阵、控制键盘、录 像机等等。这类系统一般采用模拟方式传输,使用视频电缆,传输距离不能太远,主 要应用于小范围内的监控,如楼宇监控等,而且监控图像一般只能在本地控制中心通 过监控器观看,监控图像由录像机录制并实现回放功能。 经过几十年的发展,模拟监控系统技术已经成熟,它具有以下优点: i 技术成熟、设各种类多、系统成本较低: i i 视频、音频信号的采集、传输、存储主要为模拟形式,因此具有高质量。 同时,模拟监控系统也存在着一些缺点: i 系统组网到难,旋工难度大,需要铺设“视频”、“音频”、“控制”等线路, 不易扩容; i i 系统功能单一,升级困难,录像资料不易保存和查找; 模拟信号传输衰减大,不适于远距离。 模拟视频监控系统曾经被应用于众多领域,如今在监控领域依然发挥着重大的作 用,但由于在应用中出现了许多不便的地方,正逐渐被用户淘汰。 3 1 2 数字化本地视额监控系统 九十年代中期,随着计算机处理能力的提高和视频技术的发展,利用计算机的高 速数据处理能力进行视频的采集处理,利用高分辨率的显示器实现图像的多画面显 示,使图像的质量得到大大的提高。我们将这种基于p c 机的多媒体控制系统称为数 字化本地视频监控系统。 - 1 2 基于构件技术的远程视频监控系统 数字化本地视频监控系统由p c 机插视频卡构成,在监控现场,有若干个摄像机、 各种检测、报警探头与数据设备,通过各自的传输线路,汇接到监控终端机上,该终 端可以是一台p c 机,也可是专用的工控机。除了处理各种信息和完成本地所要求的 各种功能外,系统利用视频压缩卡和透信接口卡,通过网络将信息传到一个或多个监 控中心。 数字化本地视频监控系统的优点为: i ,前端设备与模拟监控系统相同,所不同的是利用视频采集卡通过进行量化、 压缩、编码等手段将模拟的视频、音频信号数字化,并在p c 上实现多画面显示、切 换、控制、录像等功能,简化了监控中心的设备,系统功能较为强大、完善。 可适用于任意的地理范围,与信息系统可以交换数据; 音、视频信号的采集、传输、存储主要为数字形式,质量较高,适合于模拟 系统的数字化改造,录像资料易于存储和查找; 基于p c 的视频监控系统终端功能较强,便于现场操作,应用灵活性较好。 数字化本地视频监控系统的缺点为: i ,视频前端( 如c c d 等视频信号的采集、压缩、通迅) 较为复杂,可靠性不 高; i i p c 机也需专人管理,特别是在环境或空间不适宜的监控点,这种方式不理 想,不适用于无人值守场所; 尽管初步实现了数字化,但由于图像质量、稳定性以及远程传输监控等技术 方面的不足,使这种第二代视频监控系统仍仪作为安防产品应用于某些特定行业的日 常监控。 3 1 3 远程视频监控系统 直到九十年代末,随着计算机、网络、通信技术的日趋成熟,各种实用型视频 技术的不断完善,以及各种实现视频处理技术的出现,远程网络视频监控系统才从根 本上使视频监控从幕后走向前台。 第三代远程视频监控系统的特点为: i 布控区域广泛:基于网络视频服务器的视频监控系统,视频服务器端直接连 入计算机网络。没有线缆长度和信号衰减的限制,扩展了布控区域: i i 系统具有几乎无限的无缝扩展能力:所有设备都以网络设备的形式存在,通 过i p 地址进行标识,增加设备只是意味着i p 地址的扩充: 可组成非常复杂的监控网络:采用基于网络视频服务器为核心的视频监控系 统,在组网方式上与传统的模拟监控和基于p c 平台的监控方式均有极大的不同。 性能稳定可靠,无需专人管理:网络视频服务器可采用多任务操作系统,可 以直接连入局域网或广域网,即开即看,无需专人管理,非常适合于无人值守的环境。 目前- 在国内外市场上,主要推出了数字控制的模拟视频监控和数字视频监控两 类产品。前者技术发展已经非常成熟、性能稳定,在实际工程中得到了广泛应用,特 别是在大、中型视频监控工程中的应用尤为广泛;后者是新近崛起的以计算机技术及 图像视频压缩为核心的新型视频监控系统,该系统解决了模拟部分弊端,但仍需进一 步完善和发展,视频监控应用具有巨大的市场前景。 基于构件技术的远程视频监控系统 3 2 远程视频监控系统硬件结构 本文涉及的远程视频监控系统应用以d s p 为主的微处理器对图像进行压缩,解 压缩的编解码处理,具有体积小、使用灵活的特点。系统硬件构成如图3 1 所示。 远程视频监控系统由监控前端、公用电话网、g s m 移动通讯网络和监控中心组 成,监控前端是基于由视频编,解码器、c p l d ( 可编程逻辑器件1 、t m s 3 2 0 c 6 2 11 数 据信息处理芯片( d s p ) 构成的单片机系统。 系统的主要功能是:由视频解码器及c p l d 将采集的原始图像信号形成数字视 频信号存放于帧缓存器中,然后由c p l d 向d s p 发出接收信号。d s p 接收到图像采 集信号后通过e d m a 将数据传送到片外存储器s d r a m 中,并启动准h 2 6 3 视频压 缩编码对图像数据进行编码处理,处理完毕后通过串口,m o d e m 传输到监控中心。 监控中心由p c 机、多串口卡和中心控制器组成,中心控制器由多个m o d e m 和高 性能8 位单片机a t 8 9 c 2 0 5 1 构成,监控中心处理视频图像、控制报警若设置前端控 制器运行参数。监控中心和远端控制器通过公用电话网完成远程通讯。 i 程视频监控系统硬件结构示意图 1 4 基于构件技术的远程视频监控系统 3 3 基于构件的远程视频监控系统开发模型 3 3 1 领域工程 领域是由具有相同需求的一组或一族相关系统所组成的,是为复用的系统开发和 基于复用的系统开发所形成的系统仓库“。领域工程是为一组相似或相近系统的应 用工程建立基本能力和必备基础的过程,它覆盖了建立可复用软件构件的所有活动 2 6 o 它是针对一个应用领域,对领域中的若干系统进行分析,识别同一领域在系统 需求和功能上的共性,设计出能够满足这些需求的构件,并在此基础上开发和组织该 领域的可复用构件的过程。 领域工程有助于解决可复用信息的识别、组织和利用等问题,从而对软件复用提 供了有力的支持。领域工程产生具有高可复用性的构件,井将关于领域的知识转化为 领域中系统共有的规约、设计和构架,使得可复用信息的范围扩大到抽象级别较高的 分析和设计阶段。由于通过领域工程产生的可复用构件来源于领域中现有的系统,体 现了领域中系统的本质需求,因此这些构件具有较高的可复用性口”。同时领域工程 产生了领域分析模型和特定领域的软件构架,这对于基于复用的开发很有帮助。 3 3 2 基于领域工程的软件开发 可复用构件是根据领域分析模型和特定领域软件构件( d s s a ,d o m a i ns p e c i f i c s o f t w a r e a r c h i t e c t u r e ) 组织的,方便了构件的检索。应用系统开发以领域分析模型和 d s s a 为线索进行,可以帮助开发者识别复用机会判断可复用构件是否符合当前需要 2 ”。d s s a 为构件组装提供了上下文,使得利用可复用构件组装新的系统较为容易。 基于领域工程的软件开发过程如图3 , 2 所示: 厂_ r 领域分析k 二二 lu m l f g 撇i 图3 2 基于领域的软件开发过程 一1 5 基于构件技术的远程视频监控系统 ( 1 ) 领域分析:通过专向领域的需求分析,经过抽取得到领域模型: ( 2 ) 领域设计:u m l 模型可利用c a s e 工具自动生成i d l 文件,并对领域体系结 构进行描述生成相应的a d l 文件; ( 3 ) 领域实现:编译领域设计得到的1 d l 文件,自动生成代码; ( 4 ) 应用实现:根据领域设计得到的a c m e 文件,组装系统。 3 3 3 远程视烦监控系统构件化开发模型 在领域分析的基础上和构件库的支持下进行应用系统开发的主要特点是:应用系 统中各个系统的共性问题已经在领域分析中得到了一般认识,并通过构件的开发统一 地进行了描述和解决。因此,该领域应用系统开发主要是分析和解决具体系统中的特 殊问题。这种条件下的开发就是一个以组装为主的软件开发过程。也就是:按照领域 构架确定系统需要哪些可复用构件,根据本系统的特殊需求开发本系统的专用构件, 然后将领域构架、领域构件和系统专用构件组装成一个完整的系统。 基于领域工程的思想,建立了一种基于构件的远程视频监控系统开发模型,如图 3 3 所示。 ,。1 1 。1 1 1 。1 。 j 领域专家、系统开发者、用户i 【,一一 图3 3 视频监控系统构件化开发模型 - 1 6 罩孪一 害害亭事菁 孺一 一0 翠釜一 l 茎 系一 基于构件技术的远程视频监控系统 1 、需求分析: 需求分析就是对系统开发工作提出明确要求的过程,是软件开发的一个重要环 节,其结果将成为后续的系统开发工作的基础,是所有系统或软件工作的关键的牵引 器;但需求分析也是十分困难的,需要对用户提出功能性的、非功能性的以及领域性 的需求进行分析,对系统应提供的服务和所受到的约束进行发现、分析、描述、建立 文档以及检验等过程,最终形成分析报告“。 远程视频监控系统的软件开发也不例外,在需求分析阶段通过知识获取平台从 某一领域专家那里获取主体文档和知识库,最终形成需求分析报告。这一阶段工作主 要由领域中丰富知识的管理人员或顾问完成,就系统的总体功能、数据来源、格式、 输出形式、空间分析功能等提出可行性建议,以图表等手段为辅助,形成主体文档和 领域知识库,然后由开发者在软件知识的基础建立需求报告。 最终的需求分析报告应包含主体文档和领域知识库的全部内容,具有视频监控系 统的概况、系统功能、业务流程、系统的特点和存在的问题等方面的内容。远程视频 监控系统主要是通过建立监控前端与监控中心的通信连接,来完成实时监控的目的。 因此,主体文档包括系统概况,如系统平台、运行周期、目的范围、输出结果、效率 等、数据流程、系统数据库等内容;领域知识库主要包括数据来源、系统诸要素之间 的关系等,两者结合起来形成需求分析报告。 2 、领域分析 这个阶段的主要目标是获得领域模型( d o m a i nm o d e l ) 。领域分析是识别一组相 关系统和一个领域中的共性和差异的过程,标识一个特定领域中一类相似系统的对象 和操作的活动;它在需求分析的基础上,分析领域中系统的需求,确定哪些需求是被 领域中的系统广泛共享的,从而建立领域模型。它是一个建立一组可复用构件的生命 周期过程,它依据需求报告抽象提炼出系统可重用构件,这些可复用构件将用于构造 领域中新的系统,或者增强领域中现有系统的功能p 。 在领域分析过程中,通常从两方面着手对领域中的系统进行研究、分析:在系统 间发生变化的方面( 不同点或者差异之处) :系统间保持不变的方面( 相似点和共同 之处) 。领域分析中两个重要的任务就是可重用构件的提出和主体数据库的建立。 通过分析、抽象、提取,远程视频监控系统应用软件的构件大致可分为以下3 个层次。 1 ) 基本构件: 指在整个支撑集成环境和运行环境中都使用的构件,如各种开发工具中的窗口、 文本、命令按钮、下拉菜单等用户界面元素。这类构件存在于各种应用系统中,通用 性最强。 2 ) 通用构件: 指可以被该领域所有组织共享的构件,这些构件的颗粒比较大,重用比较好,包 括用户登录构件、用户权限管理构件、系统日志、数据库访问构件、数据处理构件、 报表生成构件、打印构件、菜单管理构件等。 3 ) 专用构件: 指针对某个领域中的某一特定系统设计开发的功能构件。是与领域相关的,在其 1 7 基于构件技术的远程视频监控系统 领域内有一定复用价值。在远程视频监控系统中有串口通信构件、报警处理构件、监 控图像显示构件、录像检索回放构件、云台控制构件、短消息收发构件等。 3 、领域实现: 这个阶段的主要目标是依据领域模型和d s s a 开发和组织可复用信息。这些可复 用信息可能是从现有系统中提取得到,也可能需要通过新的开发得到。它们依据领域 模型和d s s a 进行组织,也就是领域模型和d s s a 定义了这些可复用信息的复用时机, 从而支持了系统化的软件复用。这个阶段也可以看作复用基础设施的实现阶段。 领域工程是一个反复的、

温馨提示

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

评论

0/150

提交评论