一种实验系统的开发框架的制作方法

文档序号:21261073发布日期:2020-06-26 22:26阅读:292来源:国知局
一种实验系统的开发框架的制作方法

本发明实施例涉及计算机技术领域,尤其涉及一种实验系统的开发框架。



背景技术:

伴随着软件开发技术的发展,软件开发的规模日益庞大。伴随着人们对软件的功能性、稳定性、可移植性、可复用性需求的增加,导致软件的规模和复杂度日益增大,给软件开发过程增加了极大的困难和挑战。

针对这种情况,业界提出了多种技术方案。包括面向过程软件开发、面向对象软件开发、构件技术、中间件技术、soa(serviceorientedarchiteture,面向服务的体系结构)技术等。在不同的软件开发平台中,如java,.net平台等,针对不同技术人们又开发了多种应用框架。在实验教学领域,为了更有效的进行教学活动,常常需要针对不同的知识和技术开发不同的实验系统,因而开发质量低和效率低是目前实验系统开发面临的主要的问题。基于此,构建一种灵活、可有效提高实验系统的开发质量和效率,且满足快速开发不同实验内容的实验系统的开发框架是亟待解决的技术问题。



技术实现要素:

本发明提供了一种实验系统的开发框架,可有效提高实验系统的开发质量和效率,满足快速开发不同实验内容的实验系统的应用需求。

根据本发明的一个实施例,提供了一种实验系统的开发框架,所述实验系统的开发框架自上而下依次包括:

应用层,位于所述实验系统的开发框架的顶层,用于接收用户输入用户数据,其中,所述用户数据包括程序代码及配置文件;

框架层,用于在接收到所述应用层发送的用户数据时,基于所述配置文件选取服务层的目标编译器及目标链接器;

服务层,位于所述实验系统的开发框架的底层,用于在接收到所述程序代码时,调用所述框架层选取的所述目标编译器和目标链接器对待编译文件进行处理得到系统应用程序,以使操作系统执行该系统应用程序。

可选的,在上述实验系统的开发框架中,所述框架层包括:

资源管理模块,用于接收所述用户数据,并对所述配置文件进行解析,以得到链接配置数据和编译配置数据,以及将所述程序代码发送至服务层;

编译管理模块,用于根据所述编译配置数据选取目标编译器;

链接管理模块,用于根据所述链接配置数据选取目标链接器。

可选的,在上述实验系统的开发框架中,所述服务层包括:

程序开发框架,该程序开发框架用于接收并存放所述程序代码,并将所述程序代码发送至所述目标编译器;

所述目标编译器,用于对所述程序代码进行编译,以得到该程序代码对应的编译文件,并发送至所述目标链接器;

所述目标链接器用于对所述编译文件进行链接处理以得到可执行程序;

实验核,该实验核用于将所述可执行程序添加至系统应用程序,并发送至操作系统,以使操作系统执行所述系统应用程序。

可选的,在上述实验系统的开发框架中,所述框架层还包括:

gui控件管理模块,该gui控件管理模块关联有gui控件库,该gui控件库中存储有创建编程实验类实验应用所需要的多种gui控件,所述gui控件管理模块基于所述配置文件从所述gui控件库中选取目标控件;

所述程序开发框架还用于根据所述目标控件对所述程序代码进行编辑。

可选的,在上述实验系统的开发框架中,所述框架层还包括演示管理模块,所述演示管理模块还用于获取所述可执行程序的存储路径,并发送至所述应用层,以使所述应用层中的显示模块能够显示所述存储路径。

可选的,在上述实验系统的开发框架中,所述资源管理模块还用于对所述配置文件进行解析得到开发框架名称信息,并将所述程序代码发送至与所述开发框架名称信息对应的目标程序开发框架,以使该目标程序开发框架接收并存放所述程序代码。

可选的,在上述实验系统的开发框架中,所述服务层中包括的多个编译器,每个编译器分别对应有一编译名称属性,所述编译管理模块从多个编译器分别对应的编译名称属性中查找与编译配置参数中包括的预设编译信息匹配的编译器作为目标编译器。

可选的,在上述实验系统的开发框架中,所述服务层中包括的多个链接器,每个编译器分别对应有一链接名称属性,所述编译管理模块从多个链接器分别对应的链接名称属性中查找与链接配置参数中包括的预设链接信息匹配的链接器作为目标链接器。

可选的,在上述实验系统的开发框架中,所述框架层还包括扩展模块,该扩展模块用于根据自定义基类开发具有管理功能的自定义管理模块。

可选的,在上述实验系统的开发框架中,所述应用层支持会话发起协议。

本发明的有益效果:

本发明提供的实验系统的开发框架自上而下依次包括:应用层,位于所述实验系统的开发框架的顶层,用于接收用户输入用户数据,其中,所述用户数据包括程序代码及配置文件;框架层,用于在接收到所述应用层发送的用户数据时,基于所述配置文件选取服务层的目标编译器及目标链接器;服务层,位于所述实验系统的开发框架的底层,用于在接收到所述程序代码时,调用所述框架层选取的所述目标编译器和目标链接器对待编译文件进行处理得到系统应用程序,以使操作系统执行该系统应用程序。本申请通过上述设置,实现根据用户数据中不同的配置文件采用不同的目标管理模块对用户数据中的程序代码进行处理,从而使所述实验系统的开发框架可复用且可扩展,从而可有效提高实验系统的开发质量和效率,满足快速开发不同实验内容的实验系统的应用需求。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1是本发明提供的一种实验系统的开发框架的结构示意图。

图2是本发明提供的一种实验系统的开发框架的另一结构示意图

具体实施方式

以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。

如图1所示为根据本发明的一个实施例的一种实验系统的开发框架100的结构框图,以下参考图1来对本发明进行详细说明。

如图1所示,本发明提供的一种实验系统的开发框架100,自上而下依次包括应用层110、框架层120以及服务层130。

所述应用层110位于所述实验系统的开发框架100的顶层,用于接收用户输入用户数据,其中,所述用户数据包括程序代码及配置文件。所述框架层120,用于在接收到所述应用层110发送的用户数据时,基于所述配置文件选取服务层130的目标编译器及目标链接器。服务层130,位于所述实验系统的开发框架100的底层,用于在接收到所述程序代码时,调用所述框架层120选取的所述目标编译器和目标链接器对待编译文件进行处理得到系统应用程序,以使操作系统200执行该系统应用程序。

通过上述设置,以实现根据用户数据中不同的配置文件采用不同的目标管理模块对用户数据中的程序代码进行处理,从而使所述实验系统的开发框架100可复用且可扩展,避免了现有技术中的框架存在开发质量低和效率低的问题,以及解决了应用功能不足以满足用户的需求,影响用户体验和应用效果的问题。

其中,所述应用层110能够支持sip协议(会话发起协议),还能够支持其他的协议,并且,应用层110能够读取配置文件和直接读取用户输入的方式接收用户数据。

所述用户数据中的配置文件可以是xml配置文件,且xml配置文件具有简单易理解等优点,同时,能够提供对图形界面进行代码设计、资源文件(像图片等)的管理、编译链接相关参数的配置以及运行演示路径信息的配置等功能。

所述应用层110可以直接将用户数据中的配置文件发送至框架层120,以及将用户数据中的程序代码发送至所述服务层130,所述应用层110还可以将所述用户数据进行加密和/或打包处理后发送至所述框架层120,以使框架层120对处理后的用户数据进行与应用层110相逆的处理方式进行处理后得到程序代码和配置文件,以基于所述配置文件选取目标管理模块,并将程序代码发送至服务层130。在此不做具体限定,根据实际需求进行设置即可。

可以理解,用户还可以根据实际应用系统的特定需求,向所述应用层110输入配置数据,通过继承、组合等设计模式,以对框架层120中提供的某些功能进行扩展,或通过自定义控件类来实现特定的界面需求。

其中,所述框架层120能够提供用来创建实验应用的所需要的gui控件库;也能够提供对支持程序代码与配置文件分离的开发模式,还能够提供对编译、链接以及演示等操作的管理功能。

在本实施例中,所述框架层120包括资源管理模块、编译管理模块以及链接管理模块。

所述资源管理模块,用于接收所述用户数据,并对所述配置文件进行解析,以得到链接配置数据和编译配置数据,以及将所述程序代码发送至服务层130。

可以理解,应用层110在接收到用户数据时,为便于进行数据传输,所述应用层110会将用户数据打包发送至所述框架层120,或者直接将打包的数据发送至所述框架层120,因此,在本实施例中,所述框架层120中的资源管理模块在接收到所述用户数据时,对该用户数据进行资源分离处理,以得到该用户数据中包括的程序代码和配置文件。

所述编译管理模块,用于根据所述编译配置数据选取目标编译器。

可以理解,所述编译配置数据包括编译器选择信息和编译器配置参数,编译管理模块可以根据编译器选择信息选取目标编译器,并根据编译器配置参数对该目标编译器进行配置。

所述链接管理模块,用于根据所述链接配置数据选取目标链接器。

可以理解,所述链接配置数据包括链接器选择信息和链接器配置参数,所述链接管理模块可以根据链接器选择信息选取目标链接器,并根据链接器配置参数对该目标链接器进行配置。

请结合参阅图2,在本实施例中,所述框架层120还包括gui控件管理模块,该gui控件管理模块关联有gui控件库,该gui控件库中存储有创建编程实验类实验应用所需要的多种gui控件,所述gui控件管理模块基于所述配置文件从所述gui控件库中选取目标控件。

其中,所述目标控件可以是对所述程序代码进行编辑的控件,也可以是用于开发构建用户界面(ui)的控件,帮助完成软件开发中视窗、文本框、按钮、下拉式菜单等界面元素的开发;也可以是用于开发图表的控件,帮助软件实现数据可视化,实现开发时较难独立完成的复杂图表;也可以是用于开发报表的控件,在软件中实现报表的浏览查看、设计、编辑、打印等功能;也可以是用于开发表格(cell)的控件,主要实现网格中数据处理和操作的功能;也可以是用于条形码生成、扫描、读取和打印的控件;还可以是用于帮助软件实现图像浏览与简单编辑功能的控件或实现文档文件的浏览、编辑功能的控件,在此不做具体限定,根据实际需求进行设置即可。

可选的,在本实施例中所述目标控件包括对所述程序代码进行编辑的控件。

所述框架层120还包括演示管理模块,所述演示管理模块还用于获取所述可执行程序的存储路径,并发送至所述应用层110,以使所述应用层110中的显示模块能够显示所述存储路径。

可以理解,在本实施例中,为便于用户查看应用程序的运行环境,所述演示管理模块还用于获取运行环境的环境参数,并发送至所述应用层110,以使所述应用层110中的显示模块能够显示所述环境参数。

所述服务层130包括程序开发框架、多个编译器、多个链接器以及实验核。

所述程序开发框架用于接收并存放所述程序代码,并将所述程序代码发送至所述目标编译器。

所述程序开发框架可以是任意计算机语言开发框架,包括但不限于跨平台c++图形用户界面应用程序开发框架、web开发框架、java开发框架、python开发框架及golang开发框架以及golang开发框架中的一种或多种。可选的,在本实施例中,所述程序开发框架包括跨平台c++图形用户界面应用程序开发框架,即qt,其主要提供框架层120开发桌面应用程序所需的、基础的gui控件以及文件操作等其他服务。

所述开发框架可以是一个也可以是多个,当为多个时,所述资源管理模块还用于对所述配置文件进行解析得到开发框架名称信息,并将所述程序代码发送至与所述开发框架名称信息对应的目标程序开发框架,以使该目标程序开发框架接收并存放所述程序代码。

可以理解,所述多个程序开发框架可以是跨平台c++图形用户界面应用程序开发框架、web开发框架以及java开发框架中的一种或多种,在此不作具体限定。

当用户从控件库中选取到目标控件时,所述程序开发框架还用于根据所述目标控件对所述程序代码进行编辑。

所述目标编译器,用于对所述程序代码进行编译,以得到该程序代码对应的编译文件,并发送至所述目标链接器。

其中,所述目标编译器为所述服务层130包括的多个编译器中基于编译管理模块选取的。其选取方式可以是,每个编译器分别对应有一编译名称属性,所述编译管理模块从多个编译器分别对应的编译名称属性中查找与编译配置参数中包括的预设编译信息匹配的编译器作为目标编译器。

所述目标链接器用于对所述编译文件进行链接处理以得到可执行程序。

所述目标链接器为所述服务层130包括的多个链接器中基于链接管理模块选取的。其选取方式可以是,每个编译器分别对应有一链接名称属性,所述编译管理模块从多个链接器分别对应的链接名称属性中查找与链接配置参数中包括的预设链接信息匹配的链接器作为目标链接器。

所述实验核,该实验核用于将所述可执行程序添加至系统应用程序,并发送至操作系统200,以使操作系统200执行所述系统应用程序。

通过上述设置,实现根据用户数据中不同的配置文件采用不同的编译器和链接器对用户数据中的程序代码进行处理,从而使所述实验系统的开发框架100可复用且可扩展,进而可有效提高实验系统的开发质量和效率,满足快速开发不同实验内容的实验系统的应用需求,避免了现有技术中的框架存在开发质量低和效率低的问题,以及解决了应用功能不足以满足用户的需求,影响用户体验和应用效果的问题。

为进一步便于用户扩展所需的功能模块,可选的,在本实施例中,所述框架层120还包括扩展模块,该扩展模块用于根据自定义基类开发具有管理功能的自定义管理模块。通过上述设置,以便用户根据实际的需求扩展相应的管理模块,以实现更多的功能。

需要说明的是,程序开发框架主要提供框架层120开发桌面应用程序所需的、基础的gui控件以及文件操作等其他服务。它是构建实验系统的开发框架100的重要基础之一。实验系统的开发框架100在程序开发框架的基础上进行剪裁,并提取出其中满足本实验系统需求的功能模块,对这些模块进行封装、扩展,实现一套基于程序开发框架的通用实验系统的开发框架100。该实验系统的开发框架100将支持对xml类型的配置文件进行解析的功能。用户在开发编程实验类实验系统时,只需要编写配置文件,就可以生成相应的实验系统。用户使用该实验系统的开发框架100能够快速开发编程实验类系统,可以提高开发效率。更重要的是,由于程序开发框架是支持跨平台的,所以该实验系统的开发框架100也具有跨平台特性,使用该实验系统的开发框架100编写出来的应用程序,只需替换实验系统的开发框架100外依赖于操作系统200的部分,再在相应的操作系统200上进行编译,就能生成可以在该操作系统200上运行应用程序。

因为该实验系统主要是为了提供用户以编码的方式来进行知识学习,因此,本实验系统在设计实验时,选择c++作为用户进行实验编码的高级程序语言。因此这里将选择的编译器为c++编译器。但是开发不同的实验平台,用户可以选择不同的开发语言作为实验代码的编程语言,不需要一定是c++语言。因此对编译器的选择也不需要只局限于c++编译器。在完成编译后,通过采用链接器对编译文件进行链接,才能生成所需要的动态链接库或者其他类型的最终文件,实验核指的是应用本实验系统所涉及的知识(如sip)已实现的、完整的应用程序(如开源sip协议栈等),在本申请中,经过对常见的开源的sip栈进行比较分析,得到sip实验系统的协议栈,作为sip实验系统的实验核部分,以通过实验核将所述可执行程序添加至系统应用程序,以便操作系统200执行所述系统应用程序。

综上,本发明提供的一种实验系统的开发框架100,其包括的框架层120在接收到应用层110发送的用户数据时,基于所述配置文件选取服务层130的目标编译器及目标链接器,使服务层130在接收到所述程序代码时,调用框架层120选取的目标编译器和目标链接器对待编译文件进行处理得到系统应用程序,以使操作系统执行系统应用程序,从而实现根据用户数据中不同的配置文件采用不同的目标管理模块对用户数据中的程序代码进行处理,从而使所述实验系统的开发框架100可复用且可扩展,避免了现有技术中的框架存在开发质量低和效率低的问题,以及解决了应用功能不足以满足用户的需求,影响用户体验和应用效果的问题。

可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或至少两个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成至少两个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1