CN111208976A - 一种软件系统架构自动生成的方法 - Google Patents
一种软件系统架构自动生成的方法 Download PDFInfo
- Publication number
- CN111208976A CN111208976A CN201911381052.7A CN201911381052A CN111208976A CN 111208976 A CN111208976 A CN 111208976A CN 201911381052 A CN201911381052 A CN 201911381052A CN 111208976 A CN111208976 A CN 111208976A
- Authority
- CN
- China
- Prior art keywords
- page
- codes
- software
- pages
- elements
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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
本发明公开了一种软件系统架构自动生成的方法,属于计算机领域,方法包括收集汇总并分类软件构成资料,图文描述架构组成元素和元素之间的关联,汇总元素,对元素根据权限进行分类,对分类的元素自动添加基本功能和人工添加特定功能,根据元素分类层次配置页面,页面汇总,根据架构组成把页面进行组合,根据功能需求对每个页面添加功能控件,并根据元素关联配置功能控件指向,加载页面和控件布局,同时解析页面及控件代码,根据元素分类层次与功能匹配。根据权限配置不同用户的权限页面和控制指向。汇总软件开发所需的一些资料和代码后,根据用户层次和用户关联,生成相应的页面和调用相应的操作功能代码,快速的完成软件系统框架的自动布局。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种软件系统架构自动生成的方法。
背景技术
现有技术公开了用于根据存储在知识库中的短语所表达的需求来自动生成软件设计文档的设备,这些设备可以基于这些需求对“类”进行建模,在面向对象编程的背景下,这些“类”随后被可视化为UML图。现有技术还公开了用于形式化自然语言的系统和方法,使得所得语言可以由计算机处理。
现有的软件系统均是从需求分析,然后由程序员进行编写代码和系统的页面布局等,一般的项目需要的时间较长,同时需要花费大量的人力进行完成整个项目,开发成本较高,降低了企业的利润等。随着计算机技术的进步,AI和大数据发展,计算机慢慢取代了人工,为了减少软件系统项目的开发周期和减少开发成本,需要设计一种能够自动生成软件系统架构的方法,使得减短开发周期和减低开发成本等。
发明内容
本发明的目的在于提供一种软件系统架构自动生成的方法,解决现有人工开发软件系统项目周期长,开发成本高的技术问题。
一种软件系统架构自动生成的方法,所述方法包括如下步骤:
步骤1:收集汇总并分类软件构成资料;
步骤2:图文描述架构组成元素和元素之间的关联;
步骤3:汇总元素,对元素根据权限进行分类,对分类的元素自动添加基本功能和人工添加特定功能;
步骤4:根据元素分类层次配置页面,页面汇总,根据架构组成把页面进行组合;
步骤5:根据功能需求对每个页面添加功能控件,并根据元素关联配置功能控件指向;
步骤6:加载页面和控件布局,同时解析页面及控件代码;
步骤7:根据元素分类层次与功能匹配,分配元素层次用户权限;
步骤8:根据权限配置不同用户的权限页面和控制指向,生成系统框架。
本发明中,所述步骤1中,软件构成资料包括软件系统页面、页面脚本代码、页面效果封装代码、控件、控件代码和动作关联代码库,把所有的软件系统页进行汇总,然后根据页面在系统中的层次关系进行分类,每个软件系统页面均会指向一个固定的页面脚本代码,所有的页面效果封装代码均会提供API接口供页面脚本代码直接调用,每个控件与固定控件代码构成映射,调用控件默认直接调用映射的控件代码, 动作关联代码库用于供软件系统执行功能直接调用,完成系统功能操作。
本发明中,所述动作关联代码库包括逻辑代码、操作代码、函数功能代码和界面元素代码, 所述逻辑代码为业务规则代码,包括软件页面的中间层调用代码、数据操作指令代码和界面锁定代码,界面锁定代码即为权限展现代码,根据用户权限展示不同的页面或者控件。
本发明中,所述步骤2中的具体过程为,根据软件的使用用户设定为架构组成元素,即是该软件系统的使用的每个用户为元素,把用户之间的关联关系列出来即为元素与元素之间的关联,即是软件系统运行时需要跳转的页面或者跳转页面相应的功能指向或者页面展示指向。
本发明中,所述步骤3的具体过程为:把所有的元素进行汇总,然后根据使用软件系统的权限进行分类,即为软件系统使用用户的分级,然后根据每个层次的用户添加基本的软件功能,用户查看基础功能后,进行人工添加其它需要的特定功能。
本发明中,所述步骤4的具体过程为:解析每个元素在使用系统时所要涉及的页面,然后把所有元素所涉及的页面进行汇总,然后把相同的页面只保留一个页面,其它的页面进行删除,留下的页面与拥有该页面的元素形成映射关系,删除后留下的页面即为软件系统所有页面,每个元素映射的页面均会要执行不同的功能,每个页面按照功能最多的元素进行配置控件指向,即为每个页面的控件为该页面所映射所有元素功能对应控制的集合,相同功能控件保留一个,其它的删除。
本发明中,所述步骤5的具体过程为:把页面的所有控件布局到页面上,并根据按键的功能关联指向相应的页面,同时调用动作关联代码库完成操作功能。
本发明中,所述步骤6的具体过程为:加载定义好的XML文件,同时进行解析处理,包括数据结构解析和匹配性检查、界面元素解析、业务逻辑解析的过程,解析处理自动产生运行界面,解析过程对源代码编译生成计算机可执行代码的编译过程。
本发明中,所述步骤7的具体过程为:根据元素分类的层次,对每个层次分配一个用户权限管理区,用于存储不同层次用户的账号,相同层次的用户的权限功能相同。
本发明中,所述步骤8的具体过程为:跟凝聚每个层次的用户的权限,在调用页面时,重新生成页面控件布局图,即是把多余的控件进行隐藏,每个层次用户与每个页面设置了权限映射,使得不同的用户所使用的界面均是用户所需要的和能够使用操作的,完成整个软件系统框架的自动生成,后期人工进行一些微调即可完成软件项目的开发。
发明采用了上述技术方案,发明具有以下技术效果:
本发明通过汇总软件开发所需的一些资料和代码后,直接根据用户层次和用户关联,生成相应的页面和调用相应的操作功能代码,使得可以快速的完成软件系统框架的自动布局,大大的减少了开发人员的工作,同时提高软件项目开发的周期。
附图说明
图1是发明的方法流程图。
具体实施方式
为使发明的目的、技术方案及优点更加清楚明白,举出优选实施例,对发明进一步详细说明。然而,需要说明的是,说明书中列出的许多细节仅仅是为了使读者对发明的一个或多个方面有一个透彻的理解,即便没有这些特定的细节也可以实现发明的这些方面。
如图1,发明一种软件系统架构自动生成的方法,所述方法包括如下步骤:
步骤1:收集汇总并分类软件构成资料。软件构成资料包括软件系统页面、页面脚本代码、页面效果封装代码、控件、控件代码和动作关联代码库,把所有的软件系统页进行汇总,然后根据页面在系统中的层次关系进行分类,每个软件系统页面均会指向一个固定的页面脚本代码,所有的页面效果封装代码均会提供API接口供页面脚本代码直接调用,每个控件与固定控件代码构成映射,调用控件默认直接调用映射的控件代码, 动作关联代码库用于供软件系统执行功能直接调用,完成系统功能操作。
动作关联代码库包括逻辑代码、操作代码、函数功能代码和界面元素代码, 所述逻辑代码为业务规则代码,包括软件页面的中间层调用代码、数据操作指令代码和界面锁定代码,界面锁定代码即为权限展现代码,根据用户权限展示不同的页面或者控件。
动态智能分析功能,支持工作流管理全过程,将工作流引擎纳入业务处理的核心机制,形成了自动流程的驱动。该系统以业务逻辑为驱动,提供了综合性的开发和应用平台,开创了全新的商业运作模式,并提出产品和服务完全分离的新型信息化运作模式。
步骤2:图文描述架构组成元素和元素之间的关联。根据软件的使用用户设定为架构组成元素,即是该软件系统的使用的每个用户为元素,把用户之间的关联关系列出来即为元素与元素之间的关联,即是软件系统运行时需要跳转的页面或者跳转页面相应的功能指向或者页面展示指向。
步骤3:汇总元素,对元素根据权限进行分类,对分类的元素自动添加基本功能和人工添加特定功能。把所有的元素进行汇总,然后根据使用软件系统的权限进行分类,即为软件系统使用用户的分级,然后根据每个层次的用户添加基本的软件功能,用户查看基础功能后,进行人工添加其它需要的特定功能。
步骤4:根据元素分类层次配置页面,页面汇总,根据架构组成把页面进行组合。解析每个元素在使用系统时所要涉及的页面,然后把所有元素所涉及的页面进行汇总,然后把相同的页面只保留一个页面,其它的页面进行删除,留下的页面与拥有该页面的元素形成映射关系,删除后留下的页面即为软件系统所有页面,每个元素映射的页面均会要执行不同的功能,每个页面按照功能最多的元素进行配置控件指向,即为每个页面的控件为该页面所映射所有元素功能对应控制的集合,相同功能控件保留一个,其它的删除。
步骤5:根据功能需求对每个页面添加功能控件,并根据元素关联配置功能控件指向。把页面的所有控件布局到页面上,并根据按键的功能关联指向相应的页面,同时调用动作关联代码库完成操作功能。
步骤6:加载页面和控件布局,同时解析页面及控件代码。加载定义好的XML文件,同时进行解析处理,包括数据结构解析和匹配性检查、界面元素解析、业务逻辑解析的过程,解析处理自动产生运行界面,解析过程对源代码编译生成计算机可执行代码的编译过程。
步骤7:根据元素分类层次与功能匹配,分配元素层次用户权限。根据元素分类的层次,对每个层次分配一个用户权限管理区,用于存储不同层次用户的账号,相同层次的用户的权限功能相同。比如超级管理员回比一般的管理员多一些功能,就算是相同的页面,有一些的功能一般的管理员是看不到,因此生成在调用该页面时,就要先判断请求的用户的权限,然后根据权限把页面的一些控件隐藏或者显现出来,同时还包括一些内容的显现和隐藏等。
步骤8:根据权限配置不同用户的权限页面和控制指向,生成系统框架。跟凝聚每个层次的用户的权限,在调用页面时,重新生成页面控件布局图,即是把多余的控件进行隐藏,每个层次用户与每个页面设置了权限映射,使得不同的用户所使用的界面均是用户所需要的和能够使用操作的,完成整个软件系统框架的自动生成,后期人工进行一些微调即可完成软件项目的开发。就是向最终用户提供人机交互的操作环境。需要说明的是,平台保证了定义过程具有“所见即所得”的特性,运行界面和定义的完全一致。此外,平台还在运行效率和性能上做了大量优化,确保运行效率不低于直接编译的系统。
该方法使得软件系统的自动配置实现了程序员零代码,自需要后期的简单的布局修改等即可完成一个大项目的软件代码的生成。
日常维护,对于系统中交付后发现的Bug或问题,及时更新解决,维护系统安全、稳定的运行。
系统升级,主要是应用深度上的变化,涉及业务流程的新增或修改、业务表单及报表的新增或修改等 。
以上所述仅是发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为发明的保护范围。
Claims (10)
1.一种软件系统架构自动生成的方法,其特征在于:所述方法包括如下步骤:
步骤1:收集汇总并分类软件构成资料;
步骤2:图文描述架构组成元素和元素之间的关联;
步骤3:汇总元素,对元素根据权限进行分类,对分类的元素自动添加基本功能和人工添加特定功能;
步骤4:根据元素分类层次配置页面,页面汇总,根据架构组成把页面进行组合;
步骤5:根据功能需求对每个页面添加功能控件,并根据元素关联配置功能控件指向;
步骤6:加载页面和控件布局,同时解析页面及控件代码;
步骤7:根据元素分类层次与功能匹配,分配元素层次用户权限;
步骤8:根据权限配置不同用户的权限页面和控制指向,生成系统框架。
2.根据权利要求1所述的一种软件系统架构自动生成的方法,其特征在于: 所述步骤1中,软件构成资料包括软件系统页面、页面脚本代码、页面效果封装代码、控件、控件代码和动作关联代码库,把所有的软件系统页进行汇总,然后根据页面在系统中的层次关系进行分类,每个软件系统页面均会指向一个固定的页面脚本代码,所有的页面效果封装代码均会提供API接口供页面脚本代码直接调用,每个控件与固定控件代码构成映射,调用控件默认直接调用映射的控件代码, 动作关联代码库用于供软件系统执行功能直接调用,完成系统功能操作。
3.根据权利要求2所述的一种软件系统架构自动生成的方法,其特征在于:所述动作关联代码库包括逻辑代码、操作代码、函数功能代码和界面元素代码, 所述逻辑代码为业务规则代码,包括软件页面的中间层调用代码、数据操作指令代码和界面锁定代码,界面锁定代码即为权限展现代码,根据用户权限展示不同的页面或者控件。
4.根据权利要求1所述的一种软件系统架构自动生成的方法,其特征在于:所述步骤2中的具体过程为,根据软件的使用用户设定为架构组成元素,即是该软件系统的使用的每个用户为元素,把用户之间的关联关系列出来即为元素与元素之间的关联,即是软件系统运行时需要跳转的页面或者跳转页面相应的功能指向或者页面展示指向。
5.根据权利要求4所述的一种软件系统架构自动生成的方法,其特征在于:所述步骤3的具体过程为:把所有的元素进行汇总,然后根据使用软件系统的权限进行分类,即为软件系统使用用户的分级,然后根据每个层次的用户添加基本的软件功能,用户查看基础功能后,进行人工添加其它需要的特定功能。
6.根据权利要求5所述的一种软件系统架构自动生成的方法,其特征在于:所述步骤4的具体过程为:解析每个元素在使用系统时所要涉及的页面,然后把所有元素所涉及的页面进行汇总,然后把相同的页面只保留一个页面,其它的页面进行删除,留下的页面与拥有该页面的元素形成映射关系,删除后留下的页面即为软件系统所有页面,每个元素映射的页面均会要执行不同的功能,每个页面按照功能最多的元素进行配置控件指向,即为每个页面的控件为该页面所映射所有元素功能对应控制的集合,相同功能控件保留一个,其它的删除。
7.根据权利要求6所述的一种软件系统架构自动生成的方法,其特征在于:所述步骤5的具体过程为:把页面的所有控件布局到页面上,并根据按键的功能关联指向相应的页面,同时调用动作关联代码库完成操作功能。
8.根据权利要求7所述的一种软件系统架构自动生成的方法,其特征在于:所述步骤6的具体过程为:加载定义好的XML文件,同时进行解析处理,包括数据结构解析和匹配性检查、界面元素解析、业务逻辑解析的过程,解析处理自动产生运行界面,解析过程对源代码编译生成计算机可执行代码的编译过程。
9.根据权利要求8所述的一种软件系统架构自动生成的方法,其特征在于:所述步骤7的具体过程为:根据元素分类的层次,对每个层次分配一个用户权限管理区,用于存储不同层次用户的账号,相同层次的用户的权限功能相同。
10.根据权利要求9所述的一种软件系统架构自动生成的方法,其特征在于:所述步骤8的具体过程为:跟凝聚每个层次的用户的权限,在调用页面时,重新生成页面控件布局图,即是把多余的控件进行隐藏,每个层次用户与每个页面设置了权限映射,使得不同的用户所使用的界面均是用户所需要的和能够使用操作的,完成整个软件系统框架的自动生成,后期人工进行一些微调即可完成软件项目的开发。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911381052.7A CN111208976B (zh) | 2019-12-27 | 2019-12-27 | 一种软件系统架构自动生成的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911381052.7A CN111208976B (zh) | 2019-12-27 | 2019-12-27 | 一种软件系统架构自动生成的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111208976A true CN111208976A (zh) | 2020-05-29 |
CN111208976B CN111208976B (zh) | 2023-04-11 |
Family
ID=70785822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911381052.7A Active CN111208976B (zh) | 2019-12-27 | 2019-12-27 | 一种软件系统架构自动生成的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111208976B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434117A (zh) * | 2021-06-22 | 2021-09-24 | 华腾软件产业有限公司 | 一种自动化的软件开发系统、软件自动生成方法和设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100114337A1 (en) * | 2007-02-27 | 2010-05-06 | Abb Research Ltd. | Method and system for generating a control system user interface |
CN102750145A (zh) * | 2012-06-05 | 2012-10-24 | 怯肇乾 | 一种网络系统软件体系框架及其实现方法 |
CN103577931A (zh) * | 2013-10-28 | 2014-02-12 | 北京邮电大学 | 一种基于语义的可复用软件服务管理系统及其实现方法 |
CN105224377A (zh) * | 2015-10-08 | 2016-01-06 | 广州华旻信息科技有限公司 | 一种通过元数据自动生成软件项目编码文件的方法及装置 |
CN105630472A (zh) * | 2014-11-03 | 2016-06-01 | 中国科学院沈阳自动化研究所 | 制造执行系统客户端快速开发框架及其软件开发方法 |
CN109933310A (zh) * | 2019-03-11 | 2019-06-25 | 山东鲁能软件技术有限公司 | 一种基于数据模板的可配置型java开发平台 |
-
2019
- 2019-12-27 CN CN201911381052.7A patent/CN111208976B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100114337A1 (en) * | 2007-02-27 | 2010-05-06 | Abb Research Ltd. | Method and system for generating a control system user interface |
CN102750145A (zh) * | 2012-06-05 | 2012-10-24 | 怯肇乾 | 一种网络系统软件体系框架及其实现方法 |
CN103577931A (zh) * | 2013-10-28 | 2014-02-12 | 北京邮电大学 | 一种基于语义的可复用软件服务管理系统及其实现方法 |
CN105630472A (zh) * | 2014-11-03 | 2016-06-01 | 中国科学院沈阳自动化研究所 | 制造执行系统客户端快速开发框架及其软件开发方法 |
CN105224377A (zh) * | 2015-10-08 | 2016-01-06 | 广州华旻信息科技有限公司 | 一种通过元数据自动生成软件项目编码文件的方法及装置 |
CN109933310A (zh) * | 2019-03-11 | 2019-06-25 | 山东鲁能软件技术有限公司 | 一种基于数据模板的可配置型java开发平台 |
Non-Patent Citations (3)
Title |
---|
BRUNO TINOCO: "Software Architecture matters", 《HTTPS://MEDIUM.COM/@BRUNOCRT/SOFTWARE-ARCHITECTURE-MATTERS-604A2D759222》 * |
伍轶明 等: "构造可扩展工作流的语义机制模型", 《计算机应用研究》 * |
朱文娟: "基于J2EE的地税局干部考核评价系统的设计与实现", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434117A (zh) * | 2021-06-22 | 2021-09-24 | 华腾软件产业有限公司 | 一种自动化的软件开发系统、软件自动生成方法和设备 |
CN113434117B (zh) * | 2021-06-22 | 2022-04-15 | 华腾软件产业有限公司 | 一种自动化的软件开发系统、软件自动生成方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111208976B (zh) | 2023-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11789715B2 (en) | Systems and methods for transformation of reporting schema | |
US9946517B2 (en) | Dynamic model based software application development | |
US8448132B2 (en) | Systems and methods for modifying code generation templates | |
US8990765B2 (en) | Computationally efficient system for developing configurable, extensible business application product lines using model-driven techniques | |
US7281248B2 (en) | Virtualized and realized user interface controls | |
US8819621B2 (en) | System and method for automated re-architectureing of legacy systems using object oriented language | |
US8930900B2 (en) | Artifact divider for large scale application builds | |
US20160170719A1 (en) | Software database system and process of building and operating the same | |
US10585655B2 (en) | Systems and methods for automated retrofitting of customized code objects | |
US20050065953A1 (en) | System and method for changing defined elements in a previously compiled program using a description file | |
US20060259386A1 (en) | Building digital assets for use with software applications | |
Arcelli et al. | Performance-driven software model refactoring | |
Mackey | Introducing. NET 4.0: With Visual Studio 2010 | |
CN112764743B (zh) | 一种基于数据模型驱动自动生成软件的方法 | |
US8543975B2 (en) | Behavior-first event programming model | |
US7665062B1 (en) | System and methodology for design-time dynamic class type construction | |
Rahgozar et al. | An effective strategy for legacy systems evolution | |
CN111208976B (zh) | 一种软件系统架构自动生成的方法 | |
Soden et al. | Towards a model execution framework for Eclipse | |
Schröpfer et al. | A Generic Projectional Editor for EMF Models. | |
Mohan et al. | Model driven development of graphical user interfaces for enterprise business applications–experience, lessons learnt and a way forward | |
Zanon | The SimTG simulation modeling framework a domain specific language for space simulation | |
US20120151434A1 (en) | System And Method For Generating One Or More Plain Text Source Code Files For Any Computer Language Representing Any Graphically Represented Business Process | |
Hnatkowska et al. | Consistency checking of USDP models | |
US20140372398A1 (en) | Native language support for intra-and interlinked data collections using a mesh framework |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |