一种软件平台开发方法及装置的制造方法_2

文档序号:9432280阅读:来源:国知局
见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0048]图1为【背景技术】提供的传统的软件平台开发流程示意图;
[0049]图2为本申请实施例提供的第一种软件平台开发方法流程图;
[0050]图3为本申请实施例提供的第二种软件平台开发方法流程图;
[0051]图4为本申请实施例提供的第三种软件平台开发方法流程图;
[0052]图5为本申请实施例提供的消息通知机制的消息传输方式示意图;
[0053]图6为本申请实施例提供的功能模块的生命周期示意图;
[0054]图7为本申请实施例提供的功能模块插件化处理示意图;
[0055]图8为本申请实施例提供的系统平台生命周期和功能模块生命周期的关系示意图;
[0056]图9为本申请实施例提供的系统平台、系统控制中心、消息控制中心、平台插件库、功能t旲块广品插件库以及功能t旲块的关系不意图;
[0057]图10为本申请实施例提供的开发获得的软件平台的核心类图结构示意图;
[0058]图11为本申请实施例提供的一种改良后的软件平台开发流程图;
[0059]图12为本申请实施例提供的一种软件平台开发装置结构框图。
【具体实施方式】
[0060]本申请实施例通过提供一种软件平台开发方法,解决了现有技术中存在的软件平台开发不灵活,无法满足软件平台多样化、个性化的业务需求的技术问题,实现了对软件平台的开发过程进行解耦,功能模块独立研发互不影响,在开发完成后转变为插件,使得用户能够根据业务需求选择适当的插件集成到系统平台中,进而构成插件化的软件平台,即软件平台开发灵活且能够满足多样化、个性化、用户定制化的需求。
[0061]本申请实施例的技术方案为解决上述技术问题,总体思路如下:
[0062]本申请实施例提供了一种软件平台开发方法,包括以下步骤:S1、制定并基于所述软件平台的系统平台框架,开发并发布所述系统平台;S2、根据所述软件平台的功能需求,划分并开发功能模块,在所述功能模块开发完成后,将所述功能模块发布为插件进入功能模块产品插件库;S3、通过所述系统平台基于用户业务需求从所述功能模块产品插件库中选取插件进行安装集成,以向所述系统平台加载满足用户业务需求的功能模块,进而完成所述软件平台开发;其中,所述系统平台还用于基于用户业务需求卸载已安装集成的插件。
[0063]可见,在本申请实施例中,通过对软件平台的开发过程进行解耦,将平台功能划分为独立的功能模块,每个功能模块可独立研发而不影响系统级别的集成和发布,也不影响其它功能模块的研发和功能;功能模块和功能模块间通过消息进行交互,从而保证平台的进度和质量不受某个功能模块的影响;进一步,在功能模块开发完成后转变为插件,用户能够根据业务需求选择适当的插件集成到系统平台中,进而构成插件化的软件平台,使得整个软件平台进化为用户定制化的平台。在软件平台开发过程中,通过热插拔方式可快速满足需求的变迀;通过插件化的方式既能够快速地满足个性化、多样化的需求,又能够保证平台的开发进度和质量。有效地解决了现有技术中软件平台开发不灵活,无法满足软件平台多样化、个性化的业务需求的技术问题。
[0064]为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
[0065]实施例一
[0066]在具体实施过程中,请参考图2,本申请实施例提供了一种软件平台开发方法,包括以下步骤:
[0067]S1、制定并基于所述软件平台的系统平台框架,开发并发布所述系统平台;
[0068]S2、根据所述软件平台的功能需求,划分并开发功能模块,在所述功能模块开发完成后,将所述功能模块发布为插件进入功能模块产品插件库;
[0069]S3、通过所述系统平台基于用户业务需求从所述功能模块产品插件库中选取插件进行安装集成,以向所述系统平台加载满足用户业务需求的功能模块,进而完成所述软件平台开发;其中,所述系统平台还用于基于用户业务需求卸载已安装集成的插件。
[0070]其中,上述步骤SI可在步骤S2之前或之后执行。为了节省开发时间,可同时执行上述步骤SI和步骤S2。软件平台在设计之初规划的功能需求往往涵盖范围较广,以满足不同用户的多种业务需求。在软件平台的系统平台和功能模块开发完成后,所述系统平台基于用户业务需求从所述功能模块产品插件库中选取插件进行安装集成,以向所述系统平台加载满足用户业务需求的功能模块,并且在用户使用完某些功能之后,如果后续不再需要这些功能,也可通过系统平台卸载这些功能所对应的插件。在具体实施过程中,请参考图3,所述步骤S2具体包括子步骤:
[0071]S21、根据所述软件平台的功能需求,划分功能模块;
[0072]S22、通过面向接口的编程方式开发所述功能模块;其中,在开发所述功能模块的过程中定义所述功能模块的生命周期;
[0073]S23、在所述功能模块开发完成后,对所述功能模块进行插件化处理,以使所述功能模块实现能被所述系统平台识别的插件接口 ;其中,所述插件接口中定义了所述功能模块显示到所述系统平台的用户界面的位置、大小和标题信息;
[0074]S24、将插件化处理后的功能模块发布为插件进入功能模块产品插件库。
[0075]进一步,请参考图4,所述步骤S24包括以下次子步骤:
[0076]S241、将插件化处理后的功能模块编译为动态链接库;
[0077]S242、将所述动态链接库和插件化处理后的功能模块所需的资源进行打包处理,以生成功能模块包;
[0078]S243、将所述功能模块包放置在所述系统平台能够访问到的位置,同时使用功能模块配置文件标注插件化处理后的功能模块的信息,以使所述系统平台的系统控制中心通过访问所述功能模块配置文件把插件化处理后的功能模块的信息列出,并供使用者下载;其中,所述信息包括插件化处理后的功能模块的功能名称、功能描述、版本号、上线时间和位置信息。
[0079]下面对上述步骤S2中“功能模块的实现”和“功能模块发布为插件进入功能模块产品插件库”进行详细介绍:
[0080]一、功能模块的实现
[0081 ] 在本发明方案中,主要利用消息通知机制和控制反转(1C,Invers1n ofControl)技术作为功能模块的实现基础。
[0082]I)定义消息通知机制
[0083]消息通知机制主要包括:消息接听者、消息广播者和消息控制中心;其中,消息接听者用来接收消息控制中心发出的消息,消息广播者用来发送消息,消息控制中心用来接收消息广播者的消息并对消息加工处理后转发给相关的消息收听者。在本实施方式中,消息控制中心包含于系统平台中;每个功能模块都是一个消息接听者,功能模块接收到消息后,根据消息的内容指令实现特定的功能操作;每个功能模块也都可以是一个消息广播者,可以发送消息给系统平台或者其它功能模块;消息控制中心管理着所有消息广播者和消息接听者。消息通知机制的消息传输方式如图5所示。作为消息广播者和消息接听者的功能模块都是通过1C动态注入的。
[0084]2)功能模块的1C实现方式
[0085]1C技术是一个极其重要的面向对象的编程法则,可以很好的解除耦合依赖关系。1C强调面向接口编程,并通过容器来管理接口以及其具体实现。面向接口编程的编程思想表现为:在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的,各个对象内部如何实现自己不重要,各个对象之间的协作关系是系统设计的关键。本发明采用1C来做功能模块“热插拔”的基础实现,主要体现在以下几点:
[0086]A、定义功能模块的生命周期:每个功能模块都有独立的生命周期,以此来达到功能模块的独立性。生命周期中的每个阶段都注入扩展接口,如图6所示,每个功能模块都包括注册、加载、激活、反激活、卸载和注销六个生命阶段,分别在这六个生命阶段注入注册完成后扩展接口、加载完成后扩展接口、激活完成后扩展接口、反激活完成后扩展接口、卸载完成后扩展接口、注销完成后扩展接口。在软件平台开发的过程中就是通过这些扩展接口来扩展模块的生命周期。由此达到功能模块生命周期的系统控制和自定义扩展。
[0087]功能模块的生命周期各阶段具体含义如下:
[0088]①注册(Register):指功能I旲块被1C加载到系统内存,功能|旲块初始化完成,所需要的资源准备完成,但还未被系统平台的系统控制中心识别加载,无法收到消息。
[0089]②加载(Load):指功能模块被系统控制中心统一调度,并完成向系统平台集成的准备工作。此时功能模块处于可以接听到消息但不显示的状态。
[0090]③激活(Active):指功能模块集成并显示到系统平台上,此时功能模块处于可用状态。
[0091]④反激活(UnActive):指功能模块从系统平台中不再显示或处于无焦点状态。
[0092]⑤卸载(UnLoad):指功能1?块从系统平台中移除,但还未从系统内存中移除,仍然处于可接听消息的状态。
[0093]⑥注销(UnRegister):指功能模块从系统内存中移除,功能模块所占用的资源得到释放。
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1