CN105630472B - 制造执行系统客户端快速开发框架及其软件开发方法 - Google Patents
制造执行系统客户端快速开发框架及其软件开发方法 Download PDFInfo
- Publication number
- CN105630472B CN105630472B CN201410609656.3A CN201410609656A CN105630472B CN 105630472 B CN105630472 B CN 105630472B CN 201410609656 A CN201410609656 A CN 201410609656A CN 105630472 B CN105630472 B CN 105630472B
- Authority
- CN
- China
- Prior art keywords
- data
- model
- layer
- interface
- editing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及制造执行系统客户端快速开发框架及其软件开发方法。框架包括:客户端层,用于实现客户端的界面交互;包括界面视图层、界面模型层和模型;服务层,用于实现业务逻辑以及数据存储;接收客户端发送的数据,根据业务要求将客户端数据进行重构并发送至数据库。其软件开发方法包括:根据需求确定开发页面的数据结构和业务逻辑;设计UML类图自动生成代码;将代码依次添加到项目工程的相应层次中;编译项目工程,即可生成系统软件。本发明能够极大地降低制造执行系统代码编写的工作量,提高代码质量和系统稳定性。同时,通过分层架构和配置文件的应用,使本框架生成的软件可以方便的移植于不同数据库系统之上。
Description
技术领域
本发明涉及制造执行系统客户端快速开发框架及其软件开发方法,具体的说是一种可以基于UML类图自动生成代码,实现制造执行系统基础通用操作的软件开发框架及其开发方法。
背景技术
制造执行系统是一种位于上层的计划管理系统与底层的工业控制系统之间的面向车间层的管理信息系统。该系统用于实现生产制造企业车间的信息化、智能化管理操作。具有定制化程度高,开发复杂,开发工作量大的特点。伴随着软件开发技术的发展,制造执行系统的规模日益庞大,对软件的功能性、稳定性、可移植性、可复用性需求的增加,这些变化给软件开发过程增加了极大的困难和挑战,也极大地提高了制造执行系统开发的时间成本和经济成本。并且,在制造企业发展的过程中,业务变更频繁而且复杂,业务逻辑是由企业根据自身的需要制定的业务规则决定的。有时候规则会很随意,看上去似乎没有任何的逻辑。企业往往有自己特定的需求,特殊的情况。这些层出不穷的特例导致了业务的复杂性,无逻辑性,使得企业级应用软件的开发和维护十分困难。
针对这种情况,业界提出了多种技术方案。包括面向过程软件开发、面向对象软件开发、构件技术等。
其中SOA即面向服务的体系结构,将应用系统的不同功能单元以服务的形式进行层次见得交互,通过服务之间定义良好的接口和契约联系起来。由于接口独立于实现服务的硬件平台、操作系统和编程语言,所以构建在SOA系统中的服务可以以一种统一和通用的方式进行交互。由于这种技术的灵活性和可扩展性,使该技术得到了极大的应用。
但目前,软件厂商开发制造执行系统,仍然需要将较大的人力成本投入到软件代码的开发工作中。这些代码开发工作,很大比例是包含重复的、基础性的代码工作。本发明提供的框架及开发方法,实现了这些重复的、基础性代码的自动生成,从而极大地降低了开发成本,提高了软件开发效率。
发明内容
本发明目的是提供一种快速构建制造执行系统应用的开发框架。基于该框架实现了从设计到实现的快速转化,从而极大地提高软件开发的效率。
本发明解决其技术问题所采用的技术方案是:制造执行系统客户端快速开发框架,包括:
客户端层:用于实现客户端的界面交互;包括界面视图层、界面模型层和模型;其中:
界面视图层,用于提供界面视图层开发的基本元素,包括编辑按钮、分页按钮、树状目录操作按钮、界面元素样式配置;接收用户输入数据,将用户输入数据发送至界面模型层;
界面模型层,用于提供模型基类,包括基础视图模型、树状结构模型,定义每种视图模型的基础数据结构和基础操作实现;接收界面视图层的用户输入数据,根据业务需要对输入数据进行重构并发送至服务层;
模型:用于提供模型基类,包括基础模型、树状结构模型和映射结构模型,定义每种模型的基础数据结构;模型作为数据结构定义由界面视图层、界面模型层和服务层调用;
服务层:用于实现业务逻辑以及数据存储;接收客户端发送的数据,根据业务要求将客户端数据进行重构并发送至数据库。
所述界面视图层、界面模型层、模型、服务层具有直接复用的基础组件。
所述界面视图层具有的基础组件定义界面控件样式和事件接口,并通过调用界面模型层提供函数实现后台逻辑调用;框架在界面视图层中提供组件包括:
编辑按钮组件,是一组添加、修改、查询、删除、刷新功能按钮控件的组合;仅使用一个编辑按钮组件就可以实现增删改查的全部操作;
树状数据按钮组件,该按钮组件扩展了编辑按钮组件,增加了对树状结构数据节点移动的操作功能;
分页按钮组件:实现分页操作,包括向前翻页、向后翻页、翻到第一页、翻到最后页,以及页码控制、页数显示功能;
数据显示组件:数据显示组件与编辑按钮组件、树状数据按钮组件、分页按钮组件整合;实现不同操作模式下的数据显示、编辑操作。
所述界面模型层具有的基础组件定义了客户端用户交互的后台逻辑,并通过调用服务层提供的服务实现后端数据的查询和前端数据的提交,框架在界面模型层提供模型包括:
基础视图模型:封装了操作模式所需的增加、删除、修改、查询操作的所有基础操作逻辑;
树状结构视图模型:扩展基础视图模型,增加了对树状结构模型的节点移动操作的封装。
所述模型具有的基础组件定义实体模型的基础数据结构,供界面视图层、界面模型层、服务层调用,包括:
基础实体:最基础的实体数据结构,定义了所有实体对象应包含的核心的数据结构,包括主键、时间戳、编辑状态非业务类属性;
树状数据实体:扩展基础实体,针对树状结构数据;为了实现树状结构数据的显示和移动,对基础实体数据增加父节点主键、前置节点主键属性;
映射数据实体:扩展基础实体,定义了映射数据的基础数据结构,包括两个关联实体数据的主键。
所述服务层提供服务端服务接口,通过调用数据访问层提供的服务实现对数据库的操作,并提供了数据转换组件保证客户端与服务端的数据交互;
数据转换组件:实现了各种实体类型与字节数组、JSON、XML、DataTable通用数据结构的互相转换;
数据访问层:数据库访问层实现了对数据库的操作,并开发接口供服务层调用;
通用数据服务:实现了通用的数据操作服务,包括全部查询、按条件查询、按条件分页查询、添加、修改、删除、更新、批量更新操作。
制造执行系统客户端快速开发方法,包括以下步骤:
首先根据需求确定开发页面的数据结构和业务逻辑;
根据数据结构设计UML类图,使用代码生成脚本自动生成代码;
如果开发页面逻辑能通过通用编辑模式直接实现,或者通过在通用编辑模式基础上增加代码实现,则选择通用编辑模式页面添加到项目工程中,并修改操作的数据结构;否则,再进行用于定制软件开发的手工编码;
然后将自动生成的代码依次添加到项目工程的相应层次中;全部添加完毕后,编译项目工程,即可生成系统软件。
通用编辑模式包括:
单表编辑模式1:用于数据结构的单表编缉模式,每次只能编缉一条数据;支持增加、删除、修改、查询操作;
单表编缉模式2:用于数据结构的单表编缉模式,每次只能编缉一条数据;
单表编缉模式3:用于需要支持批量编缉操作的单表编缉模式;
主从表编辑模式1:用于一个主表带一个或多个从表的主从表编缉模式;同时支持对主表和从表的编辑操作;
主从表编缉模式2:用于一个主表带一个或多个从表的主从表编缉模式;仅支持对从表的编辑操作,主表仅用于对从表的导航操作;
树状结构编缉模式1:用于对树状结构数据的编辑操作模式;该模式除支持对数据的增加、删除、修改、查询操作外,还支持对树状结点的逐级移动操作;
树状结构编缉模式2:用于对树状结构数据的编辑操作模式;除支持对数据的增加、删除、修改、查询操作外,还支持对树状结点的选择移动操作;
映射结构编缉模式1:用于对映射关系数据的编辑操作模式;支持通过对关系源数据的选择操作实现对关系表数据的增加、删除、修改、查询操作。
所述代码包括:
客户端的界面视图层、界面模型层、模型的内容,以及服务端的数据的添加、修改、删除、查询、封存以及移动操作和数据库创建的脚本。
本发明具有以下有益效果及优点:
1.本发明降低制造执行系统应用开发的技术难度,提高应用系统的鲁棒性,降低由于企业业务变更而增加的开发成本。
2.本发明的框架提供了层次化的底层系统开发平台,基于本框架开发应用系统,开发人员可以通过重用成熟、稳定的基础组件,将主要精力投入在业务逻辑的开发过程中。
3.本发明通过层次化的系统框架,可以将业务变更局限在较小的范围内。
4.本发明通过模板化的通用操作模式开发,提高了软件开发的复用性,降低了软件开发的难度。
5.本发明自动化生成代码,提高了软件开发的效率,降低了软件开发的成本。
6.本发明能够极大地降低制造执行系统代码编写的工作量,提高代码质量和系统稳定性。同时,通过分层架构和配置文件的应用,使本框架生成的软件可以方便的移植于不同数据库系统之上。
附图说明
图1为本发明的技术架构示意图。
图2为本发明提出的软件开发流程图。
具体实施方式
下面结合附图及实施例对本发明做进一步的详细说明。
为了实现这种半自动化的软件开发模式,本发明设计了一套灵活配置的分层的技术架构,开发执行架构核心功能的通用组件,总结了几种通用的用户交互模式并形成开发模板,最终基于设计人员提供的UML类图生成关键代码,完成主要软件代码的实现。应用本发明,开发人员在完成软件设计并绘制UML类图之后,可自动生成开发软件的关键代码。通过对代码的适当调整和修改,即可完成软件的开发工作。自动生成的软件代码,可以实现目前常规制造执行系统的主流界面交互逻辑,并实现在相应交互逻辑下对数据库的增、删、改、查操作。
一种半自动化的制造执行系统客户端开发中间件,发明了一种层次化、模式化的企业级应用开发框架,并可以基于UML类图自动生成应用中的关键代码:
框架基于SOA(Service Oriented Architecture,面向服务的体系结构)架构,通过分层的架构保证系统的灵活性和可扩展性。
框架开发了一套通用的基础功能组件,该功能组件封装了界面交互所需的基础性功能控件。
框架总结了应用软件几种通用的客户端界面操作模式,并针对每种模式设计出客户端代码模板,实现相应模式下客户端的基础操作。
框架实现了关键代码的自动生成机制,可实现基于UML(Unified ModelingLanguage,统一建模语言)类图自动生成适用于通用操作模式的关键代码。
框架生成代码所实现的软件基于SOA架构,采用一种分层的模式。
整个系统可划分为客户端、服务端两个层级。
客户端可以再次细分为界面视图层、模型、界面模型层三个层级。
服务端可以划分为分布式服务层、数据服务层、数据库层三个层级。
框架实现了一套通用的基础功能组件,封装了客户端交互的基本功能逻辑,其特征在于:
如图1所示,本框架基于.Net平台下的WPF(Windows Presentation Foundation,一种微软推出的用户界面框架)技术,实现了客户端界面交互的基本组件。客户端开发采用MVVM(Model-View-ViewModel,一种WPF技术下的架构模式)模式,所以基础组件包括界面视图层(View),模型(Model),界面模型层(ViewModel)三个层级。
界面视图层:框架提供了视图开发的基本元素,包括编辑按钮、分页按钮、树状目录操作按钮、界面元素样式配置等;
模型:框架提供了模型基类,分基础模型、树状结构模型和映射结构模型,规定了每种模型的基础数据结构;
界面模型层:框架提供了视图模型基类,分别为基础视图模型、树状结构模型,定义了每种视图模型的基础数据结构和可扩展的基础操作实现。
框架可以根据UML类图自动生成实现适用于下文规定的几种通用操作模式的关键代码。
生成的代码包括客户端的视图、模型和视图模型。
生成的代码还包括服务端的数据操作功能和数据库创建脚本。
本框架基于WCF(Windows Communication Foundation,微软开发的一系列支持数据通信的应用程序框架)技术实现了服务端功能的发布,框架实现了服务端的通用数据操作组件,实现了视图与数据库数据的自动转换、数据的增、删、改、查等操作。
本发明设计了一种基于SOA架构的分层的应用技术框架,具体包括:
客户端层,位于分层应用技术架构的最上层,用于接收业务逻辑,客户端层基于.Net平台下的WPF(Windows Presentation Foundation,一种微软推出的用户界面框架)技术,实现了客户端界面交互的基本组件。客户端开发采用MVVM(Model-View-ViewModel,一种WPF技术下的架构模式)模式,所以基础组件包括界面视图层(View),模型(Model),界面模型层(ViewModel)三个层级。通过WPF技术实现客户端界面的布局和触发相应事件;
服务层,服务层基于WCF(Windows Communication Foundation,微软开发的一系列支持数据通信的应用程序框架)技术实现了服务端功能的发布,用于根据触发的事件调用客户端层中界面模型层的业务逻辑函数、或者调用服务层中的服务,将应用层的服务发布到客户端层。
其中,客户端采用WPF技术实现,基于MVVM模式,分为界面视图层、模型、界面模型层。其中:
界面视图层:定义界面空间布局,实现对后台数据和操作命令的绑定声明。
模型:定义实体数据的数据结构,实现数据绑定的响应函数。
界面模型层:定义客户端的界面交互逻辑,通过数据绑定和命令绑定实现与视图的交互。并调用服务端提供的服务实现数据的数据库操作。
服务端采用WCF技术实现,通过分布式服务的方式实现通用业务操作和通用数据操作。服务端也可以细分为三个层次,具体包括:
服务层:实现通用业务服务和通用数据操作的分布式服务发布。
数据访问层:实现实体数据和数据表数据之间的互相转换。分布式服务通过调用数据服务实现对数据库的增、删、改、查操作。
数据库:数据库服务器。系统支持多种服务器,通过配置文件实现数据服务和数据库的映射。从而实现软件系统与数据库的分离,提高了软件系统的迁移能力。
同时,本发明开发了支撑该架构的核心功能组件。由于该架构是一种层次化的松耦合架构,所以开发组件也是针对不同层次分别开发,具体包括:
1、界面视图层:
编辑按钮组件:该按钮组件是一组添加、修改、查询、删除、刷新等功能按钮控件的组合。开发人员仅使用一个编辑按钮组件就可以实现增删改查的全部操作。该组件定义了各按钮在不同编辑状态下的显示样式。比如在添加状态下,会自动隐藏修改、删除等按钮,只显示保存或取消添加数据的按钮,从而避免了用户误操作的可能。同时组件开放了每种操作的事件接口,便于开发人员绑定实现。
树状数据按钮组件:该按钮组件扩展了编辑按钮组件,增加了对树状结构数据节点移动的操作功能。支持逐级移动和选择移动两种模式。同样封装了不同编辑状态下的控件显示逻辑,并开放了操作事件接口。
分页按钮组件:实现分页操作,包括向前翻页、向后翻页、翻到第一页、翻到最后页,以及页码控制、页数显示等功能。也实现了对翻页过程中操作合法性控制逻辑,并开放了操作事件接口。
一套数据显示组件:开发了一套数据显示组件,并与编辑按钮组件、树状数据按钮组件、分页按钮组件深度整合。实现了不同操作模式下的数据显示、编辑等操作。
2、模型
定义了实体模型的最基础的数据结构,主要包括三类:
基础实体:最基础的实体数据结构,定义了所有实体对象应包含的核心的数据结构,包括主键、时间戳、编辑状态等关键非业务类属性。
树状数据实体:扩展基础实体,主要针对树状结构数据。为了实现树状结构数据的显示和移动,对基础实体数据增加父节点主键、前置节点主键等属性。
映射数据实体:扩展基础实体,定义了映射数据的基础数据结构,包括两个关联实体数据的主键。
3、界面模型层
定义了视图模型的基础数据结构,并封装了基础操作逻辑,包括:
基础视图模型:封装了各种操作模式所需的增、删、改、查操作的所有基础操作逻辑。模型封装了所有业务无关的基础操作,包括增删改查过程中对于数据对象的编辑,撤销后的数据恢复,对编缉数据的提取等。基础视图模型与视图层基础组件配合使用,实现了界面数据操作的基础功能。
树状结构视图模型:扩展基础视图模型,增加了对树状结构模型的节点移动操作的封装。支持两种移动模式,一种是逐级移动的方式,一种是选择移动的方式。
4、服务层
分布式服务层实现了对数据服务查询的数据进行重新组织整理,同时实现通用业务逻辑的实现。在该层次,本发明开发的关键性组件包括:
数据转换组件:由于WCF技术是要求明确声明实体类型的,所以要实现不区分实体类型的通用的数据操作服务就需要将不同类型的实体转换为通用的数据类型,并在客户端接收数据后能够将数据再重新转换为指定类型的实体数据。数据转换组件实现了各种实体类型与字节数组、JSON、XML、DataTable等通用数据结构的互相转换,从而保证了通用数据服务的实现。
5、数据访问层
在该层次,本发明开发的关键性组件包括:
通用数据服务:实现了通用的数据操作服务,包括全部查询、按条件查询、按条件分页查询、添加、修改、删除、更新、批量更新等操作。该服务实现了不区分实体类型的通用的数据操作。
同时,为了能够提供全面的软件开发支持,本发明总结了目前应用软件几种通用的界面操作模式,可用于解决目前绝大多数业务操作的应用需求,这些模式包括:
单表编辑模式1:适用于简单数据结构的单表编缉模式,每次只能编缉一条数据。是最基础的编辑模式,界面分为上下两个部分,上侧为数据编辑区域,下侧为数据显示区域。在数据显示区域中选择单条数据,可以在编辑区域编缉选中数据。支持增删改查操作;
单表编缉模式2:适用于复杂数据结构的单表编缉模式,每次只能编缉一条数据。界面初始位数据显示区域,点击编辑按钮后,界面整体切换到编辑区域。;
单表编缉模式3:适用于需要支持批量编缉操作的单表编缉模式。界面初始位数据显示区域,点击编辑按钮后,可以在显示区域直接编辑数据并保存。
主从表编辑模式1:适用于一个主表带一个或多个从表的主从表编缉模式。该模式同时支持对主表和从表的编辑操作。主表和从表实际是各自在两个单独的页面进行编辑,具体编辑方式参照单表编辑模式。在此基础上增加主从表之间的导航功能。实现两页面之间的数据传输;
主从表编缉模式2:适用于一个主表带一个或多个从表的主从表编缉模式。该模式仅支持对从表的编辑操作,主表仅用于对从表的导航操作。该模式主从表处于同一页面中,左侧为主表,右侧为从表。编辑控件实际控制从表的编辑操作。点击主表,从表显示选中主表对应的从表数据。
树状结构编缉模式1:适用于对树状结构数据的编辑操作模式。该模式除支持对数据的增、删、改、查操作外,还支持对树状结点的移动操作。该模式支持对树状结点的逐级移动的方式。逐级移动模式下,系统提供上移、下移、升级、降级等操作。操作人员选中待移动节点后,点击移动按钮即可以执行相应操作。
树状结构编缉模式2:适用于对树状结构数据的编辑操作模式。该模式除支持对数据的增、删、改、查操作外,还支持对树状结点的移动操作。该模式支持对树状结点的选择移动的方式。选择移动模式下,系统提供前置、后置、包含操作。操作人员选中待移动节点后,再选中移动目标结点,点击相应移动按钮即可将待移动节点移动到目标节点的相应位置处。
映射结构编缉模式1:适用于对映射关系数据的编辑操作模式。支持通过对关系源数据的选择操作实现对关系表数据的增、删、改、查操作。系统显示分左右两个部分,左侧显示映射关系源一,右侧显示映射关系源二。选择映射关系源一,映射关系源二中与之有映射关系的数据的选中项显示选中状态。通过修改选中状态,实现对映射数据的编辑修改。
通过技术架构、基础组件和编辑模式的整理和开发,本发明实现了一套模式化的、可服用的软件开发框架。基于以上内容,本发明开发了一套代码生成脚本。可实现基于UML类图自动生成以上架构中的关键代码。从而极大降低了开发人员的开发工作量。
代码生成脚本采用Visual Studio开发环境下的T4模板引擎,使用T4模板编写脚本,读取UML类图工程,然后将类图工程中定义的数据结构转换为关键代码,并生成类文件。可自动生成的关键代码包括:
1、模型(Model)
2、界面视图层(View)
3、界面模型层(ViewModel)
4、数据访问层(Data Access)中模型和数据库表的映射文件
5、数据库(DataBase)表创建脚本代码。
使用本发明进行软件开发,具体流程如图2所示。开发人员首先根据需求确定开发页面的数据结构和操作流程。根据数据结构设计UML类图,类图设计完毕后,本发明可以自动生成上文提到的关键代码。然后开发人员根据页面操作流程判断是否可以采用本发明提出的通用编辑模式进行开发,如果可以,则选择发明提供的通用编辑模式页面添加到项目工程中,并修改操作的数据结构。然后将其它关键代码依次添加到项目工程的相应层次中。全部添加完毕后,编译项目工程,即可执行系统软件。
Claims (6)
1.一种制造执行系统客户端快速开发系统,其特征在于,包括:
客户端层:采用MVVM模式,用于实现客户端的界面交互,包括界面视图层、界面模型层和模型;其中:
界面视图层,用于提供界面视图层开发的基本元素,包括编辑按钮、分页按钮、树状目录操作按钮、界面元素样式配置,接收用户输入数据,将用户输入数据发送至界面模型层;
界面模型层,用于提供视图模型基类,包括基础视图模型、树状结构模型,定义每种视图模型的基础数据结构和基础操作实现,接收界面视图层的用户输入数据,根据业务需要对输入数据进行重构并发送至服务层;
模型:用于提供模型基类,包括基础模型、树状结构模型和映射结构模型,定义每种模型的基础数据结构;模型作为数据结构定义由界面视图层、界面模型层和服务层调用;
服务层:用于实现业务逻辑以及数据存储,接收客户端发送的数据,根据业务要求将客户端数据进行重构并发送至数据库;
所述界面视图层、界面模型层、模型、服务层具有直接复用的基础组件。
2.根据权利要求1所述的制造执行系统客户端快速开发系统,其特征在于所述界面视图层具有的基础组件定义界面控件样式和事件接口,并通过调用界面模型层提供函数实现后台逻辑调用;系统在界面视图层中提供组件包括:
编辑按钮组件,是一组添加、修改、查询、删除、刷新功能按钮控件的组合;仅使用一个编辑按钮组件就可以实现增删改查的全部操作;
树状数据按钮组件,该按钮组件扩展了编辑按钮组件,增加了对树状结构数据节点移动的操作功能;
分页按钮组件:实现分页操作,包括向前翻页、向后翻页、翻到第一页、翻到最后页,以及页码控制、页数显示功能;
数据显示组件:数据显示组件与编辑按钮组件、树状数据按钮组件、分页按钮组件整合,实现不同操作模式下的数据显示、编辑操作。
3.根据权利要求1所述的制造执行系统客户端快速开发系统,其特征在于所述界面模型层具有的基础组件定义了客户端用户交互的后台逻辑,并通过调用服务层提供的服务实现后端数据的查询和前端数据的提交,系统在界面模型层提供模型包括:
基础视图模型:封装了操作模式所需的增加、删除、修改、查询操作的所有基础操作逻辑;
树状结构视图模型:扩展基础视图模型,增加了对树状结构模型的节点移动操作的封装。
4.根据权利要求1所述的制造执行系统客户端快速开发系统,其特征在于所述模型具有的基础组件定义实体模型的基础数据结构,供界面视图层、界面模型层、服务层调用,包括:
基础实体:最基础的实体数据结构,定义了所有实体对象应包含的核心的数据结构,包括主键、时间戳、编辑状态;
树状数据实体:扩展基础实体,针对树状结构数据,为了实现树状结构数据的显示和移动,对基础实体数据增加父节点主键、前置节点主键属性;
映射数据实体:扩展基础实体,定义了映射数据的基础数据结构,包括两个关联实体数据的主键。
5.根据权利要求1所述的制造执行系统客户端快速开发系统,其特征在于所述服务层提供服务端服务接口,通过调用数据访问层提供的服务实现对数据库的操作,并提供了数据转换组件保证客户端与服务端的数据交互;
数据转换组件:实现了各种实体类型与字节数组、JSON、XML、DataTable通用数据结构的互相转换;
数据访问层:数据访问层实现了对数据库的操作,并开放接口供服务层调用;
通用数据服务:实现了通用的数据操作服务,包括全部查询、按条件查询、按条件分页查询、添加、修改、删除、更新、批量更新操作。
6.基于权利要求1所述的制造执行系统客户端快速开发系统的开发方法,其特征在于,采用MVVM模式,包括以下步骤:
首先根据需求确定开发页面的数据结构和业务逻辑;
根据数据结构设计UML类图,使用代码生成脚本自动生成代码;
如果开发页面逻辑能通过通用编辑模式直接实现,或者通过在通用编辑模式基础上增加代码实现,则选择通用编辑模式页面添加到项目工程中,并修改操作的数据结构;否则,再进行用于定制软件开发的手工编码;
然后将自动生成的代码依次添加到项目工程的相应层次中;全部添加完毕后,编译项目工程,即可生成系统软件;
通用编辑模式包括:
单表编辑模式1:用于数据结构的单表编辑模式,每次只能编辑一条数据;支持增加、删除、修改、查询操作;
单表编辑模式2:用于数据结构的单表编辑模式,每次只能编辑一条数据;
单表编辑模式3:用于需要支持批量编辑操作的单表编辑模式;
主从表编辑模式1:用于一个主表带一个或多个从表的主从表编辑模式;同时支持对主表和从表的编辑操作;
主从表编辑模式2:用于一个主表带一个或多个从表的主从表编辑模式;仅支持对从表的编辑操作,主表仅用于对从表的导航操作;
树状结构编辑模式1:用于对树状结构数据的编辑操作模式;该模式除支持对数据的增加、删除、修改、查询操作外,还支持对树状结点的逐级移动操作;
树状结构编辑模式2:用于对树状结构数据的编辑操作模式;除支持对数据的增加、删除、修改、查询操作外,还支持对树状结点的选择移动操作;
映射结构编辑模式1:用于对映射关系数据的编辑操作模式;支持通过对关系源数据的选择操作实现对关系表数据的增加、删除、修改、查询操作;
所述代码包括:
客户端的界面视图层、界面模型层、模型的内容,以及服务端的数据的添加、修改、删除、查询、封存以及移动操作和数据库创建的脚本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410609656.3A CN105630472B (zh) | 2014-11-03 | 2014-11-03 | 制造执行系统客户端快速开发框架及其软件开发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410609656.3A CN105630472B (zh) | 2014-11-03 | 2014-11-03 | 制造执行系统客户端快速开发框架及其软件开发方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105630472A CN105630472A (zh) | 2016-06-01 |
CN105630472B true CN105630472B (zh) | 2019-12-24 |
Family
ID=56045463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410609656.3A Expired - Fee Related CN105630472B (zh) | 2014-11-03 | 2014-11-03 | 制造执行系统客户端快速开发框架及其软件开发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105630472B (zh) |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106445536B (zh) * | 2016-09-28 | 2021-06-25 | 湛江市霞山区新软佳科技有限公司 | 自动化业务设计管理系统 |
CN106547542A (zh) * | 2016-10-13 | 2017-03-29 | 苏州宇慧软件科技有限公司 | 用于生产执行系统的用户界面框架 |
CN106293777B (zh) * | 2016-10-31 | 2020-04-03 | 山东鲁能软件技术有限公司 | 一种基于组件式开发前端界面控件实现方法 |
CN108519877A (zh) * | 2017-02-28 | 2018-09-11 | 广东智源信息技术有限公司 | 一种基于配置式的开发模型 |
CN106951288B (zh) * | 2017-03-20 | 2020-04-28 | 腾讯科技(深圳)有限公司 | 一种热更资源的开发、应用方法及装置 |
CN107015804B (zh) * | 2017-03-29 | 2020-10-30 | 武汉大思想信息股份有限公司 | 一种通过配置api快速开发项目的方法及系统 |
CN106990963A (zh) * | 2017-03-30 | 2017-07-28 | 南京车喇叭信息科技有限公司 | 一种为软件系统的快速搭建提供快速扩展的方法 |
CN107402768B (zh) * | 2017-07-31 | 2020-06-30 | 四川长虹电器股份有限公司 | 一种可复用扩展的Android应用开发方法 |
CN107844519A (zh) * | 2017-10-09 | 2018-03-27 | 平安科技(深圳)有限公司 | 电子装置、数据库查询脚本生成方法及存储介质 |
CN108491204A (zh) * | 2018-03-30 | 2018-09-04 | 四川九阵科技股份有限公司 | 一种医疗软件系统及方法 |
CN108427554B (zh) * | 2018-05-14 | 2023-09-08 | 华南理工大学 | 一种表驱动的云模式软件自动构造方法及系统 |
CN108984166A (zh) * | 2018-06-23 | 2018-12-11 | 上海泽阳智能科技有限公司 | 一种用于人机交互软件的快速开发工具系统 |
CN109144492A (zh) * | 2018-06-23 | 2019-01-04 | 上海泽阳智能科技有限公司 | 一种面向对象的软件开发系统 |
CN109308582A (zh) * | 2018-09-25 | 2019-02-05 | 中国兵器装备集团自动化研究所 | 一种基于组件化与服务化的制造执行系统架构 |
CN109309859A (zh) * | 2018-09-30 | 2019-02-05 | 广州虎牙信息科技有限公司 | 直播间界面展示方法、架构及相关方法、装置及设备 |
CN109614091A (zh) * | 2018-10-09 | 2019-04-12 | 中国平安人寿保险股份有限公司 | 代码自动生成方法、装置、电子设备及存储介质 |
CN111198899B (zh) * | 2018-11-19 | 2022-12-13 | 中移(苏州)软件技术有限公司 | 应用程序中实体渲染的开发系统及方法 |
CN109783091B (zh) * | 2018-11-29 | 2023-02-03 | 北京予能丰智技术有限公司 | 一种模型驱动的软件构建方法及系统 |
CN111712791B (zh) * | 2018-12-29 | 2024-03-19 | 薛俊恩 | 人工智能应用搭建中新增组块的方法、装置和机器设备 |
CN109783562B (zh) * | 2019-01-17 | 2024-03-01 | 北京沃东天骏信息技术有限公司 | 一种业务处理方法和装置 |
CN109783072A (zh) * | 2019-01-23 | 2019-05-21 | 深圳智链物联科技有限公司 | 业务处理方法、装置、终端设备及计算机可读存储介质 |
CN109976853A (zh) * | 2019-03-19 | 2019-07-05 | 西北工业大学 | 一种工业机器人组件化人机交互系统的软件架构 |
CN110134383A (zh) * | 2019-05-09 | 2019-08-16 | 中国航空工业集团公司西安航空计算技术研究所 | 一种机载ima架构下的框架代码自动生成方法及装置 |
CN110442331B (zh) * | 2019-08-11 | 2023-12-26 | 西藏宁算科技集团有限公司 | 一种自动化搭建代码框架的方法及系统 |
CN111008015B (zh) * | 2019-11-22 | 2023-07-04 | 广联达科技股份有限公司 | 一种基于前端技术实现的微前端应用框架 |
CN110941423A (zh) * | 2019-11-22 | 2020-03-31 | 深圳市航通智能技术有限公司 | 一种基于Java的快速生成代码方法 |
CN110989976A (zh) * | 2019-11-29 | 2020-04-10 | 北京美络克思科技有限公司 | 基于J2EE的Web应用的组件化开发方法、存储介质和电子设备 |
CN111008011A (zh) * | 2019-12-04 | 2020-04-14 | 全球能源互联网研究院有限公司 | 一个面向电力平台应用开发的系统构建器 |
CN111208976B (zh) * | 2019-12-27 | 2023-04-11 | 广西泊客网络科技有限公司 | 一种软件系统架构自动生成的方法 |
CN111767045A (zh) * | 2020-03-06 | 2020-10-13 | 江苏金顺软件有限公司 | 一种管理软件模型快速生成方法 |
CN113495724A (zh) * | 2020-03-19 | 2021-10-12 | 中国科学院沈阳自动化研究所 | 一种基于微服务的工业物联网低代码快速开发系统和方法 |
CN111506308B (zh) * | 2020-04-24 | 2024-01-05 | 东莞市精驰软件有限公司 | 人机交互界面可视化编程方法、系统及存储介质 |
CN111857663B (zh) * | 2020-07-17 | 2022-06-17 | 济南浪潮数据技术有限公司 | 一种软件设计方法、系统及电子设备和存储介质 |
CN111913695A (zh) * | 2020-08-07 | 2020-11-10 | 国网信息通信产业集团有限公司 | 一种代码转换方法、装置和存储介质 |
CN112434378B (zh) * | 2020-12-09 | 2024-02-02 | 扬州中远海运重工有限公司 | 一种造船企业线表绘制交互控件设计方法 |
CN112667598B (zh) * | 2020-12-15 | 2022-08-05 | 南京南瑞信息通信科技有限公司 | 基于业务需求变化的数据模型快速构建系统 |
CN112882693A (zh) * | 2021-01-19 | 2021-06-01 | 深圳市斯尔顿科技有限公司 | 一种数据管理系统设计方法 |
CN112799651B (zh) * | 2021-02-03 | 2023-08-04 | 机械工业仪器仪表综合技术经济研究所 | 一种事件驱动的电子批记录系统 |
CN113050938A (zh) * | 2021-03-08 | 2021-06-29 | 杭州海康机器人技术有限公司 | 视觉软件开发系统、方法、装置及计算机存储介质 |
CN113778384A (zh) * | 2021-08-18 | 2021-12-10 | 河钢股份有限公司承德分公司 | 一种基于c#的快速开发平台搭建方法及系统 |
CN114839933A (zh) * | 2022-04-08 | 2022-08-02 | 南京中医药大学 | 一种中药材净切生产智能化设备对应管理系统 |
CN115657588B (zh) * | 2022-11-02 | 2023-11-17 | 广东德弘重工有限公司 | 一种基于Mvvm的五轴联动控制系统及其控制方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102103504A (zh) * | 2011-02-21 | 2011-06-22 | 温玮 | 一种反射式建模工具及其重构方法 |
CN102750145A (zh) * | 2012-06-05 | 2012-10-24 | 怯肇乾 | 一种网络系统软件体系框架及其实现方法 |
CN104049957A (zh) * | 2013-03-13 | 2014-09-17 | 成都泰聚泰科技有限公司 | 基于星形结构的通用业务模型的快速建模框架 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9430552B2 (en) * | 2007-03-16 | 2016-08-30 | Microsoft Technology Licensing, Llc | View maintenance rules for an update pipeline of an object-relational mapping (ORM) platform |
-
2014
- 2014-11-03 CN CN201410609656.3A patent/CN105630472B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102103504A (zh) * | 2011-02-21 | 2011-06-22 | 温玮 | 一种反射式建模工具及其重构方法 |
CN102750145A (zh) * | 2012-06-05 | 2012-10-24 | 怯肇乾 | 一种网络系统软件体系框架及其实现方法 |
CN104049957A (zh) * | 2013-03-13 | 2014-09-17 | 成都泰聚泰科技有限公司 | 基于星形结构的通用业务模型的快速建模框架 |
Also Published As
Publication number | Publication date |
---|---|
CN105630472A (zh) | 2016-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105630472B (zh) | 制造执行系统客户端快速开发框架及其软件开发方法 | |
CN110989983B (zh) | 一种零编码的应用软件快速构建系统 | |
CN112328212A (zh) | 一种基于引擎模式前后端分离的快速开发平台及其使用方法 | |
EP3364290A2 (en) | System and method for generating a dynamic runtime-modifiable user interface and binding | |
CN108027722A (zh) | 在编译和部署中动态更新应用 | |
US20050108684A1 (en) | Method and system for generating an application object repository from application framework metadata | |
US20080028328A1 (en) | System and method to dynamically change object data patterns | |
CN103631601A (zh) | 一种代码生成方法和装置 | |
CN104657384A (zh) | 一种基于二维关系的动态配置报表数据处理方法 | |
Ma et al. | A template-based model transformation approach for deriving multi-tenant saas applications | |
CN101470601A (zh) | 一种零编码生成应用软件的方法及生成平台 | |
CN102222148A (zh) | 自动生成三维装配图的明细表的方法及装置 | |
CN111984176A (zh) | 一种软件在线开发平台及开发方法 | |
US20120060141A1 (en) | Integrated environment for software design and implementation | |
CN111736826A (zh) | 多源遥感数据工程工具集系统及集成方法 | |
CN114117645B (zh) | 一种舰船总体性能预报集成应用系统 | |
CN106250134A (zh) | 单一性语言的代码自动生成方法 | |
JP2001325098A (ja) | アプリケーションプログラムの作成方法、データベース操作方法、項目オブジェクト管理方法、モジュール動作制御方法ならびにデータベース操作方法、項目オブジェクト管理方法およびモジュール動作制御方法を実現するためのプログラムを記録したコンピュータ可読な記録媒体 | |
CN103593188A (zh) | 一种用于仪器所见即所得菜单的管理系统及管理方法 | |
CN109344165A (zh) | 一种查询方法及存储设备 | |
CN101685395A (zh) | 用于产品数据管理系统的对象属性处理方法 | |
KR20180135654A (ko) | 프로그램의 직관적 제작방법 | |
CN103678687A (zh) | 基于配置系统的项目创建方法及装置 | |
CN114721647B (zh) | 一种基于无代码应用开发的面向对象编程方法 | |
CN109933308A (zh) | 基于mpi+cuda的遥感卫星数据预处理流程可视化自定制通用系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20191224 Termination date: 20211103 |
|
CF01 | Termination of patent right due to non-payment of annual fee |