THCAPP中项目型插件系统的设计与实现

上传人:人*** 文档编号:544021744 上传时间:2022-12-12 格式:DOCX 页数:13 大小:380.68KB
返回 下载 相关 举报
THCAPP中项目型插件系统的设计与实现_第1页
第1页 / 共13页
THCAPP中项目型插件系统的设计与实现_第2页
第2页 / 共13页
THCAPP中项目型插件系统的设计与实现_第3页
第3页 / 共13页
THCAPP中项目型插件系统的设计与实现_第4页
第4页 / 共13页
THCAPP中项目型插件系统的设计与实现_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《THCAPP中项目型插件系统的设计与实现》由会员分享,可在线阅读,更多相关《THCAPP中项目型插件系统的设计与实现(13页珍藏版)》请在金锄头文库上搜索。

1、1、项目型插件系统的研究背景 计算机辅助工艺设计软件(CAPP)在国内发展已有二十多年的历史,但由于工艺过程复杂而且充满个性化,它一直没有得到很好的 发展。京渝天河计算机软件技术有限责任公司推出的智能化、集成化工艺设计平台系统一一THCAPP,以其完善的系统需求定义和先 进的系统设计,受到了用户的广泛好评。现在使用THCAPP软件的用户已经遍布全国。随着软件工程在产品的研发中广泛应用, THCAPP 软件也步入了快速发展阶段:用户数量不断增加,功能不断丰富、完善。但是,快 速发展的 THCAPP 软件不可避免的出现了以下这个问题:创立于十年前的 THCAPP 软件的原型已经被市场广泛认可,后续

2、版本的开 发工作只是在这个原型的基础上进行功能的扩展。为了在保证与THCAPP以前版本软件兼容的前提下,弥补软件原型在灵活性和扩展 性方面的不足,我们有必要在 THCAPP 软件中引入“框架插件”这样一种结构的构建模式。在采用 THCAPP 软件的企业用户中,由于各个企业的规模不同,开发产品的差异,造成了用户需求的千差万别,不同企业之间的需求 甚至会出现矛盾的情况。为了满足用户的各种需求,使产品具有顽强的生命力,只有引入“框架插件” 结构,使软件产品在整体上是 融合的,在各个功能上具有相对独立性,而这些独立的功能能够进行单独的开发,形成具有完善功能的独立模块,并且能够很好的融 入到整个软件产品

3、中的方法是解决软件原型风险最好的办法。2、插件系统分析现在,我们经常使用的一些国外公司或个人开发的优秀软件产品都是采用的“框架+插件”这种体系结构,其中最著名的软件包括:AutoCAD、PhotoShop和ACDSee。分析一下这些软件的开发模型:整个软 件产品为一个良好的框架,具有完成软件产品应用的基本功能以及插件管理功能,负责为插件的运行提供一个整体的可靠的运行环境; 而高级的功能则通过各个独立的插件来完成。插件是在自己要求的运行环境中,具有独立,完整功能的模块。产品的框架部分可以认 为是一个插件的运行平台,插件部分除了实现具体功能外还要按照平台的要求实现标准接口,保证插件在平台内正确运行

4、;平台则通 过通用的方法调用不同插件来实现功能的扩展。这样,只要框架的结构是良好和合理的,能够适应未来的变化,那么市场的变化带来 的各种新的需求就可以采用开发实现相应功能的新插件来实现。软件的生命力就有了保证。国外软件采用的“框架插件”结构代表着软件行业的主流技术,不同公司的不同产品,甚至同一个公司的不同产品之间,都会用不同 的插件实现不同的功能。THCAPP插件系统的设计思路就是借鉴这种“框架+插件”结构,在THCAPP程序的不同对象中调用不同的 插件,实现特定范围的功能。过多的插件会增加用户使用 THCAPP 软件的难度;而且,一种功能插件会同时对多个对象产生不同的影响。所以得出以下结论:

5、在 THCAPP 软件中,应该将所有的插件由单独的系统进行统一的管理,实现插件的功能查看,产品隶属,插件注册和插件注销等功能, 简化用户的操作。鉴于以上的情况,需要这样一种解决方案:通过提供插件模板对插件接口进行规范;通过简单的开发基础培训使用户具有进行简单的 编写代码的能力;通过针对THCAPP软件中的某种单一的功能,封装出THCAPP功能组件,同样通过培训让用户掌握相关功能组件 的使用方法,让那个用户自己编写符合自己要求的插件,由插件系统统一管理。这样,即在THCAPP软件中实现了“框架+插件”的结 构,保证了软件的可扩展性,又通过培训用户自主开发插件的模式,规避了维护插件的风险,节省了双

6、方的资金,提高了软件的竞争 力,使公司和用户实现“双赢”成为了可能。3、项目型插件系统的目标THCAPP 中进行“框架+插件”的结构改造,引入项目型插件系统的目的包含以下几个方面:完成THCAPP插件系统的开发工作,实现插件的浏览、注册/注销、二次注册、调用、以及与系统交互等功能。实现框架+插件”的系 统结构。完成项目型插件系统的插件模板源代码以及示例插件程序的源代码的编写工作。插件模板必须具有简单、方便、易于维护的特征,争 取做到:让没有编程经验的用户通过简单的培训就能编写满足自己需求的插件。完成集成型插件系统组件DLL的开发工作,提交动态链接库文件:接口文件、以及运行库文件。开发与特定PD

7、M软件集成的示例插 件,证实集成型插件系统的可行性。完成功能组件的开发工作,涵盖THCAPP软件中一些常用的功能(如:工艺文件的创建、筛选、删除等)。从底层支持插件系统功能 的全面性。通过对THCAPP软件的使用用户一一国内大、中、小型制造企业的工艺工作进行的缜密调研,结果,几乎所有的用户都对这种简单的 软件升级方式表示了期待。但是,不同的用户,由于他们编程技术水平与需求功能的复杂程度有很大的差异,必须制定一套相对简单、 实用的插件开发规则,以方便用户进行自定义插件的开发工作,便于插件系统的推广。在实施了 THCAPP的企业用户群中,每个企业每年都会提出一些有关功能实用性、以及操作简便性方面的

8、要求。这些要求一般都是用 户根据自己的特殊状况提出的,不同用户提出的要求甚至是对立的,我们很难从中总结出通用性的需求,供新版本的CAPP软件进行 开发工作。项目型插件系统的主要功能就是扩展THCAPP的功能,通过用户自己开发出的符合自己企业特色、实现自己功能要求的插件,弥补 THCAPP 软件在可操作性方面的不足。4、插件系统关键技术4.1 系统总体设计方案为保证与以前版本的THCAPP软件的兼容性,插件系统应该是独立于THCAPP主程序,但通过被THCAPP主程序调用,才能实现 其功能的动态链接库组件。如图 1 所示:m插il插件2插件系统凋讨捕件插件沖理模块I CAPP k程序书:泊Eh

9、I系统注册屋插件I图 1 插件系统总体设计方案插件系统包含插件管理模块和多个功能插件。插件管理模块的功能是实现各功能插件的列表显示、功能查看和二次注册的调用,不负责实现任何插件的实际功能;功能插件由THCAPP主程序的用户为实现特定的功能,在我们提供的插件模板的基础上自主开发的COM组件,除了实现各自的需求 功能外,所有通过插件模板生成的插件还需要具有以下的功能:向插件管理模块反馈插件信息、进行系统注册与反注册、通过消息机 制与CAPP主程序进行通信。项目型插件系统的结构,如图2 所示:图2项目型插件系统结构u 接口层: 接口层是整个插件系统的入口,通过插件模板的设计,系统只需要获取少量的传入

10、数据信息,通过执行插件,就会通过一定的规则, 向主程序传递规范的传出数据,实现插件的功能。接口层实现插件管理功能,包括插件的引入、删除、插件的列表选择、以及运行选定的插件。u插件层插件层就是用户通过插件模板开发出的所有插件,插件模板实现了系统注册模块中插件的注册与反注册的工作;规范了用户参数的类 型;并且通过调用API函数,定义了一些常用的THCAPP的消息常数(比如刷新消息等),供用户插件使用。用户在开发自己的插件时,需要将插件相关信息设置到插件模板中的插件信息反馈模块的特定常量中,以便接口调用。u 数据层数据层的作用是由插件刷新THCAPP主程序运行的Oracle数据库中的数据,真正实现插

11、件的功能。包括参数规范模块、CAPP功能 组件和数据操作模块。通过CAPP功能组件调用数据操作模块,操作底层Oracle数据库中的数据,避免了用户直接操作数据带来的风险,节约了培训成本 与用户的工作。4.2 关键技术及解决途径插件的识别问题 插件采用动态链接库(DLL)文件的形式,在一台机器的成百上千的DLL文件,如何识别指定的DLL文件是否为插件系统的插件,能 够被插件系统调用,就成为插件系统设计能否成功的前提条件。插件系统中设计的解决思路是:在插件系统中,除了对插件进行系统注册外,还得通过管理模块对插件进行特定的二次注册,这样就 可以解决插件的识别问题。对于项目型插件系统,在注册表的指定位

12、置设置子键,将插件信息(主要是 VB 程序创建组件对象时需要的组件名称和库名称)记录 到这个子键下,插件管理组件显示插件列表时,从这个位置读取所有插件的信息显示。运行插件时,也是从读取插件信息创建插件对 象。对于集成型插件系统,在 THCAPP 主程序的配置文件中,记录所有插件的 GUID 值,由于插件都是从系统的基接口中派生的,所以, 通过 GUID 值和基接口类型,就可以运行插件了。插件的运行问题读取插件信息后,如何正确的运行插件也是一个需要解决的关键技术。 对于项目型插件系统,通过插件模板,规范插件的接口。创建插件对象后,调用特定的接口,就可以运行插件了。 对于集成型插件系统,由于是与

13、THCAPP 主程序进行无缝集成,在对象层接口对应的 MFC 类文件中,定义相关的接口对象,通过激 发事件或传递消息运行插件。插件的通信问题 插件与插件系统、插件与 THCAPP 主程序、甚至插件与插件之间都需要进行数据交互或消息传递。在插件系统中,定义一些通用的消息。在接收消息时,遍历这些消息,分别实现这些消息的响应函数就可以了。插件的通信能力是插件系统必不可少的功能。通过消息传递模块或消息接口定义通用消息,为以后版本中,通用消息的扩展提供了可 5、示例程序THCAPP 项目型插件系统包括插件维护模块和插件两大部分。插件维护模块的功能是:添加、维护、删除、运行插件,标准 DLL 组件 可以被

14、 CAPP 或其他应用程序调用;而插件就是实现某些特定的功能。调用 THCAPP 二次开发插件系统,首先会运行“插件维护模块”,显示“插件管理”管理对话框,默认的,“插件管理”窗口会列出天河公司 提供的公用插件,用户根据插件模板自己开发的插件,通过第一次的注册后也会出现在这个列表中,供用户选择使用。选择某个插件,单击“下一步”按钮就运行插件对应的 DLL 文件。实现这一步的前提就是用户使用天河公司提供的项目型插件模板进行 自己插件的开发工作,并不修改模板的接口,破坏兼容性。下面将以“批量修改工艺文件状态”这个插件作为实例,简单的讲讲项目型插件的创建方法。详细的系统设计虽然,一般看来系统设计工作

15、与具体的软件开发没有多大的关联,但是详细、完善的系统设计可以让你的开发工作少走很多弯路。“批量修改工艺文件状态”插件的实现目标,就是将指定节点下的所有工艺文件全部修改到一种状态。在这期间,需要运行插件的用户 设置修改后工艺文件状态参数,并且设定是否需要包含子节点中的工艺文件。插件要求提供指定节点下工艺文件的现有状态,供用户 浏览;还要包含不能进行“状态修改”操作的工艺文件的列表。通过上述的系统分析,得出至少需要三步向导操作才能实现需求。下面就是进行代码的编写工作了。在插件模板上开发新的插件 插件模板是由天河公司提供给用户使用的在项目型插件系统中开发自定义插件的工具。在 THCAPP 的安装路径下,有模板的压缩包文 件。复制插件模板,用VB打开模板工程,修改工程名和接口名,在图4所示的“插件管理”窗口中,进行插件注册操作,需要用到修改后的 工程名和接口名,他们是插件组件的唯一标识,非常重要,不能随便修改。如下图所示, “批量修改工艺文件状态”插件的工程名变为 “THEditFilesStateLib”、接口名变为“ITHEditFilesState”。插件工程在窗体文件中,复制“picDIgBck ”控件数组,在这个插件中复制三页,在每一页放置不同的控件。并编写与这些控件有关的代码。第一页如图所示,用以设置修改后工艺文件的状态,以及“是否包含子节点

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号