CN109683866A - 一种基于组态技术的产品定制开发方法 - Google Patents
一种基于组态技术的产品定制开发方法 Download PDFInfo
- Publication number
- CN109683866A CN109683866A CN201811608741.2A CN201811608741A CN109683866A CN 109683866 A CN109683866 A CN 109683866A CN 201811608741 A CN201811608741 A CN 201811608741A CN 109683866 A CN109683866 A CN 109683866A
- Authority
- CN
- China
- Prior art keywords
- component
- customization
- configuration
- product
- method based
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提出了一种基于组态技术的产品定制开发方法,具体步骤如下:S1、建立产品模型,生成统版组件库;S2、根据客户需求生成唯一的定制项目编码并开发定制组件;S3、制作与定制编码对应的配置启动文件;S4、根据配置启动文件中的信息提取定制组件和统版组件,并组合成定制化产品。本发明方法采用插件式开发,减少了开发和测试的成本;同时缩短了开发周期,部署升级更简单,不仅提高了版本稳定性,还减少了后续维护的成本。
Description
技术领域
本发明涉及一种基于组态技术的产品快速定制开发的方法,属于软件定制开发技术领域。
背景技术
随着业务发展的不断成熟,很多业务领域有其固定的功能需求,根据这些固定功能需求开发的服务软件可以满足基本的工作,但是对于很多企业的产品项目,为了凸显企业优势,往往需要定制的软件产品,现有的软件开发过程中,研发团队往往根据客户的需求在通用版本的基础上开发一个定制的软件来实现用户的需求,这种开发方式可以保证较好的契合客户的要求,但是在后续的维护过程中问题较多,首先,当通用版本的迭代升级频繁时,会导致销售给客户的产品版本繁杂,后续维护艰难;其次,如果通用版本产品因为某些bug需要做补丁升级时,客户购买的定制版本可能无法直接进行补丁升级,需要针对销售给客户的项目版本独立去升级,费时费力。对于互联网软件开发型企业,如何在满足客户定制需求的基础上减少开发成本与运维成本是一个难题。
发明内容
针对目前软件定制开发中开发、运维成本较高的问题,本发明提供了一种基于组态技术的产品定制开发方法,将一个完整的软件产品拆分成多个组件分别进行开发,针对客户需求开发定制的组件和统版组件,然后进行组装升级,得到客户需要的定制产品。
为解决上述技术问题,本发明采用了如下技术手段:
一种基于组态技术的产品定制开发方法,包括以下步骤:
S1、建立产品模型,生成统版组件库;
S2、根据客户需求生成唯一的定制项目编码并开发定制组件;
S3、制作与定制编码对应的配置启动文件;
S4、根据配置启动文件中的信息提取定制组件和统版组件,并组合成定制化产品。
进一步的,所述的统版组件库由统版组件组成,统版组件是实现项目中固化成熟的业务功能的组件。
进一步的,所述的定制组件分为展示型组件、表单型组件和数据交互型组件。
进一步的,所述的展示型组件的开发步骤如下:
S1、构建组件内部业务模块框架;
S2、采用领域实体对象包装的方法给业务模块填充数据;
S3、各业务模块通过定位坐标占位布局生成展示型组件。
进一步的,所述的表单型组件的开发步骤如下:
S1、通过动态表单设计器生成表单信息配置文件;
S2、解析配置文件信息,自动渲染生成表单交互功能模块;
S3、表单交互功能模块通过定位坐标占位布局生成表单型组件。
进一步的,所述的表单信息配置文件含有控制表单的字段的类型、名称、字段验证和字段对外展示的外观形态的信息元数据。
进一步的,所述的数据交互型组件的开发步骤如下:
S1、通过动态表单设计器生成表单信息配置文件,解析配置文件信息,自动渲染生成表单交互功能模块;
S2、查找模块与模块或页面与页面之间的链接点,记录链接点位置信息和数据交互关系;
S3、表单交互功能模块根据链接点位置信息和数据交互关系组合生成数据交互型组件。
进一步的,所述的配置启动文件内包含定制项目所需的统版组件信息、定制组件信息、以及各组件在产品中的位置信息。
采用以上技术手段后可以获得以下优势:
本发明提出了一种基于组态技术的产品定制开发方法,根据功能不同将一个软件产品划分为多个部分,每个部分制作对应的组件,在开发阶段,根据业务领域成熟的功能开发统版组件,根据客户定制需求开发定制组件,通过配置启动文件将各个组件组合起来升级成定制化的产品。本发明提出的方法通过配置和插件化算法快速灵活的实现系统模块布局和业务整合,生成完全符合客户所需的系统,缩短了客户定制项目升级和开发的交付周期,提高了交付到客户手中的版本的稳定性,降低开发成本,改善了客户的满意度。同时,在后续运维阶段,只需要针对相应的组件进行运维和升级,降低运维难度和成本。
附图说明
图1为本发明一种基于组态技术的产品定制开发方法的步骤流程图。
图2为本发明一个具体实施例的统版产品页面图。
图3为本发明一个具体实施例的定制产品页面图。
图4为本发明一个具体实施例的表单页面图。
图5为本发明采用的表单设计器的示意图。
具体实施方式
下面结合附图对本发明的技术方案作进一步说明:
一种基于组态技术的产品定制开发方法,如图1所示,包括以下步骤:
S1、建立产品模型,生成统版组件库;统版组件库由统版组件组成,统版组件是实现项目中固化成熟的业务功能的组件,比如铁路售票系统中的买票人管理功能,在售票系统的发展过程中,买票人管理是必须的功能模块之一,针对这个功能制作的组件就是统版组件。
S2、根据客户需求生成唯一的定制项目编码并开发定制组件;在本发明中定制组件分为展示型组件、表单型组件和数据交互型组件,展示型组件主要用于展示文字、图片等数据,表单型组件主要用于生成定制的表单数据并进行显示,数据交互型组件主要用于产品内的数据交互。
展示型组件的开发步骤如下:
S1、构建组件内部业务模块框架;比如构建一个网页,确定其标题、皮肤、采用的模板等。
S2、采用领域实体对象包装的方法给业务模块填充数据,将需要在模块内显示的数据连接到模块框架内并显示出来。
S3、各业务模块通过定位坐标占位布局生成展示型组件。
表单型组件的开发步骤如下:
S1、通过动态表单设计器生成表单信息配置文件;表单信息配置文件含有控制表单的字段的类型、名称、字段验证和字段对外展示的外观形态等的信息元数据。
S2、解析配置文件信息,自动渲染生成表单交互功能模块。
S3、表单交互功能模块通过定位坐标占位布局生成表单型组件。
数据交互型组件的开发步骤如下:
S1、通过动态表单设计器生成表单信息配置文件,解析配置文件信息,自动渲染生成表单交互功能模块。
S2、查找模块与模块或页面与页面之间的链接点,链接点指在当前页面或模块内可触发的用于跳出另外一个页面或模块的按钮或者链接,记录下链接点位置信息和数据交互关系。
S3、表单交互功能模块根据链接点位置信息和数据交互关系组合生成数据交互型组件。
S3、制作与定制编码对应的配置启动文件;配置启动文件内包含定制项目所需的统版组件信息、定制组件信息、以及各组件在产品中的位置信息等。
S4、根据配置启动文件中的信息提取定制组件和统版组件,并组合成定制化产品。
下面结合2个具体的实施例进一步解释本发明:
某个软件产品的一个页面如图2所示,该页面可以分解为4个组件,4个组件分别位于图中的1、2、3、4号位置。客户需要将图中的1号位置和3号位置上的功能组件位置对调,并且将3号位置的表格增加一列功能项,此外4号位置需要定制新的功能模块。
本发明方法的具体开发步骤如下:
S1、建立产品模型,将原页面中1、2号位置的组件存入统版组件库。
S2、在服务器上随机生成一个唯一的编码作为该客户的定制项目编码。
S3、提取原本3号位置上的组件,利用领域设计业务增强的模式在在不破坏原有业务代码的情况下进行增量字段扩展。
S4、根据客户需求开发定制组件,定制组件与标准版代码强代码隔离。
S5、制作与定制编码对应的配置启动文件,在配置启动文件中手动配置组件的布局位置,将1号位置和3号位置的组件位置对调,同时记录2号位置组件和新开发的4号位置组件位置信息。
S6、将定制组件、原系统中的统版组件和配置启动文件打包。
S7、交付上线升级时,在系统内输入定制项目编码,升级程序解析配置启动文件,根据配置启动文件中的信息组合各个组件,形成定制化版本,如图3所示。
如图4所示是一个常见的表单型页面,客户希望在原页面中新加一项“产品尺寸”表格,本发明方法的开发步骤如下:
S1、在服务器上随机生成一个唯一的编码作为该客户的定制项目编码。
S2、查找到需要修改的表单页面编码。
S3、保留原本表单页面的数据,然后利用如图5所示的表单设计器,通过新增配置字段的方式在该页面的表单单元内配置出名称为“产品尺寸”的字段。
S4、制作与定制编码对应的配置启动文件,在启动文件中配置“产品尺寸”表格的位置信息。
S5、解析配置启动文件,在原表单页面的基础上新增“产品尺寸”表格,生成定制的页面。
上面结合附图对本发明的实施方式作了详细地说明,但是本发明并不局限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。
Claims (8)
1.一种基于组态技术的产品定制开发方法,其特征在于,包括以下步骤:
S1、建立产品模型,生成统版组件库;
S2、根据客户需求生成唯一的定制项目编码并开发定制组件;
S3、制作与定制编码对应的配置启动文件;
S4、根据配置启动文件中的信息提取定制组件和统版组件,并组合成定制化产品。
2.根据权利要求1所述的一种基于组态技术的产品定制开发方法,其特征在于,所述的统版组件库由统版组件组成,统版组件是实现项目中固化成熟的业务功能的组件。
3.根据权利要求1所述的一种基于组态技术的产品定制开发方法,其特征在于,所述的定制组件分为展示型组件、表单型组件和数据交互型组件。
4.根据权利要求3所述的一种基于组态技术的产品定制开发方法,其特征在于,所述的展示型组件的开发步骤如下:
S1、构建组件内部业务模块框架;
S2、采用领域实体对象包装的方法给业务模块填充数据;
S3、各业务模块通过定位坐标占位布局生成展示型组件。
5.根据权利要求3所述的一种基于组态技术的产品定制开发方法,其特征在于,所述的表单型组件的开发步骤如下:
S1、通过动态表单设计器生成表单信息配置文件;
S2、解析配置文件信息,自动渲染生成表单交互功能模块;
S3、表单交互功能模块通过定位坐标占位布局生成表单型组件。
6.根据权利要求5所述的一种基于组态技术的产品定制开发方法,其特征在于,所述的表单信息配置文件含有控制表单的字段的类型、名称、字段验证和字段对外展示的外观形态的信息元数据。
7.根据权利要求3所述的一种基于组态技术的产品定制开发方法,其特征在于,所述的数据交互型组件的开发步骤如下:
S1、通过动态表单设计器生成表单信息配置文件,解析配置文件信息,自动渲染生成表单交互功能模块;
S2、查找模块与模块或页面与页面之间的链接点,记录链接点位置信息和数据交互关系;
S3、表单交互功能模块根据链接点位置信息和数据交互关系组合生成数据交互型组件。
8.根据权利要求1所述的一种基于组态技术的产品定制开发方法,其特征在根据于,所述的配置启动文件内包含定制项目所需的统版组件信息、定制组件信息、以及各组件在产品中的位置信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811608741.2A CN109683866A (zh) | 2018-12-27 | 2018-12-27 | 一种基于组态技术的产品定制开发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811608741.2A CN109683866A (zh) | 2018-12-27 | 2018-12-27 | 一种基于组态技术的产品定制开发方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109683866A true CN109683866A (zh) | 2019-04-26 |
Family
ID=66189964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811608741.2A Pending CN109683866A (zh) | 2018-12-27 | 2018-12-27 | 一种基于组态技术的产品定制开发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109683866A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103365646A (zh) * | 2012-04-11 | 2013-10-23 | 怡丰联合(北京)科技有限责任公司 | 基于脚本引擎的表单自定义、逻辑定义及处理方法 |
CN104571026A (zh) * | 2014-12-17 | 2015-04-29 | 中冶南方(武汉)信息技术工程有限公司 | 全流程冶金制造执行系统构建平台及构建方法 |
CN106648555A (zh) * | 2015-10-28 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 一种页面的生成方法及装置 |
CN107844299A (zh) * | 2017-12-01 | 2018-03-27 | 浪潮软件股份有限公司 | 一种Web应用开发工具的实现方法 |
-
2018
- 2018-12-27 CN CN201811608741.2A patent/CN109683866A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103365646A (zh) * | 2012-04-11 | 2013-10-23 | 怡丰联合(北京)科技有限责任公司 | 基于脚本引擎的表单自定义、逻辑定义及处理方法 |
CN104571026A (zh) * | 2014-12-17 | 2015-04-29 | 中冶南方(武汉)信息技术工程有限公司 | 全流程冶金制造执行系统构建平台及构建方法 |
CN106648555A (zh) * | 2015-10-28 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 一种页面的生成方法及装置 |
CN107844299A (zh) * | 2017-12-01 | 2018-03-27 | 浪潮软件股份有限公司 | 一种Web应用开发工具的实现方法 |
Non-Patent Citations (1)
Title |
---|
信息无障碍: ""表单设计器1-基本操作"", 《HTTPS://WWW.CNBLOGS.COM/GEMGIN/P/6276783.HTML》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102237877B1 (ko) | 실시간 협업지원 지능형 소프트웨어 자동 개발 시스템 및 그 방법 | |
CN105487864A (zh) | 代码自动生成的方法和装置 | |
CN112463124B (zh) | 一种基于元数据模型实现一次设计千面展示的系统 | |
US20140040791A1 (en) | Development platform for software as a service (saas) in a multi-tenant environment | |
CN109062567A (zh) | 基于b/s结构的信息管理系统快速开发平台 | |
CN103593443A (zh) | 一种电子文件元数据扩展的方法 | |
CN102207872A (zh) | 按照用户需求定制Web UI控件的方法和系统 | |
CN106484394A (zh) | 一种双引擎快速软件开发系统 | |
CN103186632A (zh) | 一种运维表单定制的方法及装置 | |
CN111367514B (zh) | 页面卡片的开发方法和装置、计算设备和存储介质 | |
CN110020356A (zh) | 一种页面模块的代码生成方法、装置及系统 | |
CN101714078A (zh) | 代码生成方法及装置 | |
Kumar et al. | Adapting the software engineering process to web engineering process | |
CN106779594A (zh) | 一种基于Activiti的工作流管理方法 | |
CN101727327B (zh) | 一种基于gef技术可视化jsp界面的开发方法 | |
CN103927209A (zh) | Feebless建站引擎 | |
KR101161946B1 (ko) | 스마트폰 어플리케이션 제작 시스템 및 그 방법 | |
Rasheed et al. | A model-driven approach for creating storyboards of web based user interfaces | |
CN112100984A (zh) | 一种由ebom到sbom的数据转换方法及系统 | |
KR20180135654A (ko) | 프로그램의 직관적 제작방법 | |
CN101295382A (zh) | 一种实现业务对象属性之间业务逻辑关系的方法及装置 | |
JP2001325098A (ja) | アプリケーションプログラムの作成方法、データベース操作方法、項目オブジェクト管理方法、モジュール動作制御方法ならびにデータベース操作方法、項目オブジェクト管理方法およびモジュール動作制御方法を実現するためのプログラムを記録したコンピュータ可読な記録媒体 | |
CN109558132A (zh) | 全平台模板系统 | |
CN109683866A (zh) | 一种基于组态技术的产品定制开发方法 | |
CN103617064A (zh) | 一种改进的移动客户端产品更新的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190426 |