CN112463120A - 一种软件项目开发管理系统及方法 - Google Patents
一种软件项目开发管理系统及方法 Download PDFInfo
- Publication number
- CN112463120A CN112463120A CN202011280730.3A CN202011280730A CN112463120A CN 112463120 A CN112463120 A CN 112463120A CN 202011280730 A CN202011280730 A CN 202011280730A CN 112463120 A CN112463120 A CN 112463120A
- Authority
- CN
- China
- Prior art keywords
- software
- project
- different
- data
- management module
- 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
- 238000011161 development Methods 0.000 title claims abstract description 76
- 238000000034 method Methods 0.000 title claims description 52
- 238000007726 management method Methods 0.000 claims abstract description 113
- 238000009877 rendering Methods 0.000 claims description 33
- 238000012423 maintenance Methods 0.000 abstract description 17
- 230000004048 modification Effects 0.000 description 17
- 238000012986 modification Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 12
- 230000008859 change Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 238000013461 design Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000006378 damage Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000011423 initialization method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 230000002996 emotional effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or 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)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种软件项目开发管理系统,包括界面布局管理模块,用于根据不同的软件项目制定一个或多个母板界面,并对不同母板界面的布局进行管理;UI组件管理模块,用于根据不同的软件项目制定界面样式,并对不同的软件项目进行样式调整;生命周期管理模块,用于制定软件生命周期,并根据不同的项目组件对软件生命周期的组件及逻辑进行调整;工具管理模块,用于制定软件项目所需的工具,并根据不同的软件项目对工具进行调整。本发明还公开了一种软件项目开发管理方法。本发明可对软件项目开发进行管理,解决软件开发中的一些管理难题,降低整体技术难度,减少更变工作量,减少BUG,缩短开发周期,规范代码,提高可维护性,减少维护工作量。
Description
技术领域
本发明涉及软件开发管理技术领域,具体而言,涉及一种软件项目开发管理系统及方法。
背景技术
软件项目除了具备大部分项目的特点外,它还具备自身的特体性,它不仅仅是一个新的领域,而且涵盖的关键因素相对比较多,管理也较为复杂。软件项目的特点具体表现在以下几个方面:1)目标渐进性:绝大多数软件项目的总体目标很不清晰,频频出现任务边界模糊的状况。在这个逐渐明晰的过程中,一般会进行很多改动,产生很多变动,导致项目执行和管理的难度增加。2)项目的阶段性:项目的阶设性决定项目的历时时间,具备清晰的起点和终点;随着软件技术的发展,软件项目的产品生命周期越来越短,开发阶段时间越来越短。3)不确定性:软件项目计划方案和成本预算其本质上是一种预测,是一种对未来的“估计”和“假设”,在执行过程中与实际情况一定会有偏差。另一方面,在执行过程中还会碰到各种各样预料不到的“风险”,使得项目无法按原有的预测来运行。是的软件项目开发不得不反复地进行调整。4)智力密集型:软件项目开发是智力密集、劳动密集型项目,受人力的影响较大。项目组员的组成、责任感、个人能力和团队的稳定性对软件项目的产品质量、进度及能否成功有决定性的影响。基于以上特点,软件项目的开发不能实现如同工厂管理模式。
在软件项目开发过程中,一般是采用PMP管理方法对软件项目进行管理,但在开发过程中,由于需求模糊、变更;沟通理解偏差;规范制度不完善;个人能力、技术差异、理解及技术见解;个人情感因素等原因,导致系统逻辑不统一,差异性大,很难有效的对项目按计划进行管理。前端开发中,哪怕就是同一个功能,从一个页面复制到另一个页面,却出现不一样的效果,这也完成造成开发完成后,发现页面风格不统一,样式不统一,各功能之间衔接不上,逻辑不统一的问题,然后又要花大量时间进行整改。代码风格、逻辑思维差异大,使得运维比较麻烦,修改工作量大,新增功能难以和原有功能保持相同风格。
发明内容
为了克服上述问题或者至少部分地解决上述问题,本发明实施例提供一种软件项目开发管理系统及方法,可对项目开发进行管理,解决软件开发中的管理难题,降低整体技术难度,减少更变工作量,减少BUG,缩短开发周期,规范代码,提高可维护性,减少维护工作量。
本发明的实施例是这样实现的:
第一方面,本发明实施例提供一种软件项目开发管理系统,包括界面布局管理模块、UI组件管理模块、生命周期管理模块以及工具管理模块,其中:
界面布局管理模块,用于根据不同的软件项目制定一个或多个母板界面,并对不同母板界面的布局进行管理;
UI组件管理模块,用于根据不同的软件项目制定界面样式,并对不同的软件项目进行样式调整;
生命周期管理模块,用于制定软件生命周期,并根据不同的项目组件对软件生命周期的组件及逻辑进行调整;
工具管理模块,用于制定软件项目所需的工具,并根据不同的软件项目对工具进行调整。
本系统集成了UI组件、界面布局、生命周期、软件工具几大组件模块,在开发中,首先引入和制作好所需的UI组件,并对UI组件进行管理,通过界面布局管理模块制定一个或多个母板界面,并对母板界面的布局进行管理、统一规划,以便后续直接选取调用、修改,母板制作完成后,其他软件开发人员在进行软件项目开发时,只需要选用合适的母板进行继承,根据自己需要的属性进行配置即可;通过生命周期管理模块制定软件生命周期,并根据不同的项目组件对软件生命周期的组件及逻辑进行调整,以便实现功能的生命周期,使得软件系统可以完成其整个项目功能;通过工具管理模块制定软件项目所需的工具,并根据不同的软件项目对工具进行调整。技术负责人做好UI、母板、软件生命周期逻辑(生命周期:数据初始化、数据拉取、数据渲染、页面初始化等),普通开发人员只要继承此母板,就可以得到一个空白的页面,拉取数据后,进行数据渲染,这样,每个开发人员做出来的软件都是整齐划一的;当某个页面逻辑不通时,可以调整生命周期逻辑,或者进行生命周期组件重写,保证项目流程不受既有生命周期组件影响。
本系统可对项目开发进行管理,解决软件开发中的管理难题,降低整体技术难度,减少更变工作量,减少BUG,缩短开发周期,规范代码,提高可维护性,减少维护工作量。
基于第一方面,在本发明的一些实施例中,所述界面布局管理模块包括母板布局子模块,用于根据项目需求采用Tiles或其他母板管理插件制作一个或多个母板布局。
基于第一方面,在本发明的一些实施例中,所述生命周期管理模块包括数据初始化子模块、数据拉取子模块、数据渲染子模块以及页面初始化子模块,其中:
数据初始化子模块,用于对软件项目数据进行初始化处理;
数据拉取子模块,用于向数据库、接口或者其他系统请求拉取数据;
数据渲染子模块,用于对软件项目的页面数据、控件进行渲染;
页面初始化子模块,用于组装上述数据初始化子模块、数据拉取子模块和数据渲染子模块,实现页面初始化。
基于第一方面,在本发明的一些实施例中,所述工具管理模块包括系统子模块和自定义子模块,其中:
系统子模块,用于获取系统工具,并根据不同的软件项目需求对系统工具进行调整;
自定义子模块,用于制定自定义工具,并根据不同的软件项目需求对自定义工具进行调整。
第二方面,本发明实施例提供一种软件项目开发管理方法,包括以下步骤:
根据不同的软件项目制定一个或多个母板界面,并对不同母板界面的布局进行管理;
根据不同的软件项目制定界面样式,并对不同的软件项目进行样式调整;
制定软件生命周期,并根据不同的项目组件对软件生命周期的组件及逻辑进行调整;
制定软件项目所需的工具,并根据不同的软件项目对工具进行调整。
基于UI组件、界面布局、生命周期、软件工具几大组件模块实现本方法,在开发中,首先引入和制作好所需的UI组件,并对UI组件进行管理,通过界面布局管理模块制定一个或多个母板界面,并对母板界面的布局进行管理、统一规划,以便后续直接选取调用、修改,母板制作完成后,其他软件开发人员在进行软件项目开发时,只需要选用合适的母板进行继承,根据自己需要的属性进行配置即可;通过生命周期管理模块制定软件生命周期,并根据不同的项目组件对软件生命周期的组件及逻辑进行调整,以便实现功能的生命周期,使得软件系统可以完成其整个项目功能;通过工具管理模块制定软件项目所需的工具,并根据不同的软件项目对工具进行调整。技术负责人做好UI、母板、软件生命周期逻辑(生命周期:数据初始化、数据拉取、数据渲染、页面初始化等),普通开发人员只要继承此母板,就可以得到一个空白的页面,拉取数据后,进行数据渲染,这样,每个开发人员做出来的软件都是整齐划一的;当某个页面逻辑不通时,可以调整生命周期逻辑,或者进行生命周期组件重写,保证项目流程不受既有生命周期组件影响。
本方法可对项目开发进行管理,解决软件开发中的管理难题,降低整体技术难度,减少更变工作量,减少BUG,缩短开发周期,规范代码,提高可维护性,减少维护工作量。
基于第二方面,在本发明的一些实施例中,所述根据不同的软件项目制定一个或多个母板界面,并对不同母板界面的布局进行管理的方法包括以下步骤:
根据项目需求采用Tiles或其他母板管理插件制作一个或多个母板布局。
基于第二方面,在本发明的一些实施例中,所述制定软件生命周期,并根据不同的项目组件对软件生命周期的组件及逻辑进行调整的方法包括以下步骤:
对软件项目数据进行初始化处理;
向数据库、接口或者其他系统请求拉取数据;
对软件项目的页面数据、控件进行渲染;
对上述步骤进行整合,实现页面初始化。
基于第二方面,在本发明的一些实施例中,所述制定软件项目所需的工具,并根据不同的软件项目对工具进行调整的方法还包括以下步骤:
获取系统工具,并根据不同的软件项目需求对系统工具进行调整;
制定自定义工具,并根据不同的软件项目需求对自定义工具进行调整。
本发明实施例至少具有如下优点或有益效果:
本发明实施例提供一种软件项目开发管理系统,本系统集成了UI组件、界面布局、生命周期、软件工具四大组件模块,首先引入和制作好所需的UI组件,并对UI组件进行管理。通过界面布局管理模块根据不同的软件项目制定一个或多个母板界面,并对不同母板界面的布局进行管理;通过界面布局管理模块制定一个或多个母板界面,并对母板界面的布局进行管理、统一规划,以便后续直接选取调用、修改,母板制作完成后,其他软件开发人员在进行软件项目开发时,只需要选用合适的母板进行继承,根据母板需要的属性进行配置即可;通过生命周期管理模块制定软件生命周期,并根据不同的项目组件对软件生命周期的组件及逻辑进行调整,以便实现功能的生命周期,使得软件系统可以完成其整个项目功能;通过工具管理模块制定软件项目所需的工具,并根据不同的软件项目对工具进行调整。本系统可对项目开发进行管理,解决软件开发中的管理难题,降低整体技术难度,减少更变工作量,减少BUG,缩短开发周期,规范代码,提高可维护性,减少维护工作量。
本发明实施例还提供一种软件项目开发管理方法,本方法集成制定设计了UI组件,界面布局、生命周期、软件工具四大组件,根据不同的软件项目制定一个或多个母板界面,并对不同母板界面的布局进行管理,以便后续直接调用选取,并对软件项目开发母板进行管理,母板制作完成后,其他软件开发人员在进行软件项目开发时,只需要选用合适的母板进行继承,根据母板需要的属性进行配置即可;制定软件生命周期,并根据不同的项目组件对软件生命周期的组件及逻辑进行调整,以便实现功能的生命周期,使得软件系统可以完成其整个项目功能;制定软件项目所需的工具,并根据不同的软件项目对工具进行调整。本方法可对项目开发进行管理,解决软件开发中的管理难题,降低整体技术难度,减少更变工作量,减少BUG,缩短开发周期,规范代码,提高可维护性,减少维护工作量。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例一种软件项目开发管理系统的原理框图;
图2为本发明实施例一种软件项目开发管理系统的示意图;
图3为本发明实施例一种软件项目开发管理系统中设计的页面的示意图;
图4为本发明实施例一种软件项目开发管理方法的流程图;
图5为列表页面母板示意图;
图6为一种页面布局方式的示意图;
图7为另一种页面布局方式的示意图;
图8为生命周期模块代码图;
图9为页面代码图;
图10为母板继承图。
图标:100、界面布局管理模块;110、母板布局子模块;200、UI组件管理模块;300、生命周期管理模块;310、数据初始化子模块;320、数据拉取子模块;330、数据渲染子模块;340、页面初始化子模块;400、工具管理模块;410、系统子模块;420、自定义子模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本发明实施例的描述中,“多个”代表至少2个。
实施例
如图1-图2,图5-图10所示,第一方面,包括界面布局管理模块100、UI组件管理模块200、生命周期管理模块300以及工具管理模块400,其中:
界面布局管理模块100,用于根据不同的软件项目制定一个或多个母板界面,并对不同母板界面的布局进行管理;母板采用tiles来实现,也可采用其他技术,根据项目需求,制作一个或多个母板布局,开发时根据不同的功能选用不同母板;可对母板的颜色和风格进行设定调整。
UI组件管理模块200,用于根据不同的软件项目制定界面样式、交互界面,并对不同的软件项目进行样式调整;UI可选用市面常用UI设计,例如bootstrap、layerUI等。
生命周期管理模块300,用于制定软件生命周期,并根据不同的项目组件对软件生命周期的组件及逻辑进行调整;生命周期管理模块300包括数据初始化子模块310、数据拉起子模块、数据渲染子模块330以及页面初始化,其中:数据初始化子模块310,用于对软件项目数据进行初始化处理,例如分页、URL、查询条件等;数据拉取子模块320,用于向数据库,接口或者其他系统请求数据;数据渲染子模块330,用于对软件项目的页面数据、控件进行渲染。数据渲染子模块330中包含两类子模块,属性配置子模块和创建子模块,例如普通列表查询页面、属性配置子模块有查询条件属性配置、列表表头及其他属性配置、分页属性配置。创建子模块有查询条件创建、列表创建、分页创建等。属性配置子模块用于开发员进行页面属性的配置,创建子模块用于页面初始化执行或者给其他子模块进行调用。页面初始化子模块340,用于组装上述各个子模块,实现页面初始化。例如普通列表页面初始化,需要进行下面的流程:数据初始化->创建查询条件->创建数据列表->创建分页控件->根据查询条件进行数据拉取->根据渲染条件进行数据渲染。
工具管理模块400,用于制定软件项目所需的工具,并根据不同的软件项目对工具进行调整。
本系统并非以固定形式存在,而是会根据项目所需而变化。本系统集成了UI组件、界面布局、生命周期、软件工具四大组件模块,通过界面布局管理模块100根据不同的软件项目制定一个或多个母板界面,并对不同母板界面的布局进行管理,统一规范母板,以便后续直接调用选取,并对软件项目开发母板进行管理,母板制作完成后,其他软件开发人员在进行软件项目开发时,只需要选用合适的母板进行继承,根据母板需要的属性进行配置即可;通过UI组件管理模块200根据不同的软件项目制定界面样式,并对不同的软件项目进行样式调整;通过生命周期管理模块300制定软件生命周期,并根据不同的项目组件对软件生命周期的组件及逻辑进行调整,以便实现项目功能的生命周期,使得软件系统可以完成其整个项目功能;通过工具管理模块400制定软件项目所需的工具,并根据不同的软件项目对工具进行调整。技术负责人做好UI、母板、软件生命周期逻辑(生命周期:数据初始化、数据拉取、数据渲染、页面初始化等),普通开发人员只要集成此母板,就可得到一个已制作好的页面,拉取数据,将页面数据渲染出来即可,每个开发人员做出软件的页面都是整齐划一的;当某个页面逻辑不通时,可以调整生命周期逻辑,或者进行重写,保证项目流程不受既有生命周期组件影响。
在开发规程中,客户变更需求是常见的要求,逻辑的变更、风格的变更、样式的变更都是常见的事。例如:一个普通的web商城软件开发项目,客户起初要求所有按钮间距“10px”,提交按钮统一放到右下角,点击按钮后会出现操作提示;布局统一采用“上方标题,左边菜单,右边内容”的格式,但是开发过程中或开发结束后,当客户需求发生变更,按钮不再放置在右下角,点击后也不出现提示,布局也改变,此时我们只有整个项目组成员上场,每个人修改一个页面,把整个系统修改一遍,但采用本系统框架管理后,只需要一个人就可以完成以上所有工作。
在开发工程中,开发人员的个人能力对整个软件的开发有至关重要的影响,个人的技术能力,工作习惯、思维习惯,个人情感,工作态度都对整个系统有影响。相同的功能,可以有不同的实现逻辑,这就导致每个开发员所开发的功能千差万别,整个系统逻辑不统一,导致即时具有相同的功能,页面也会展示出不同的效果,进而维护起来比较麻烦。采用本系统技术框架管理后,复杂逻辑都有技术负责人进行了封装,其他开人员只需配置式的开发,外层代码比较简单,只需要修改复杂逻辑即可,因为逻辑是由一个人编写,不会出现千差万别的现象,因此修改比较简单。
本系统框架集成了UI,生命周期组件,母板,工具四类大的组件。UI在不同项目根据需求可以进行更换,生命周期组件可根据不同的组件进行调整,母板可根据不同的项目进行制作,工具变动较小,但也可以根据不同的项目进行调整。在开发一个新的系统软件时,技术负责人根据项目需要,选用合适的UI加以整合,修改生命周期组件;制作母板,其他开发人员进行开发时,只需要选用适合的母板进行继承,根据母板需要的属性进行配置,实现软件功能的生命周期,就能完成整个软件项目功能。在软件项目开发完成后,后续需要对其进行维护,当用户需要对其进行维护调整时,获取用户运维修改信息,并根据运维修改信息对软件项目进行修改调整。运维人员对所有页面的调整,都是以对开发管理系统的调整来完成的,所以技术负责人或运维人员只需要修改开发管理系统,就能基本实现整个项目的修改。例如将分页的规则修改、select替换为select2、将自动查取消(页面初始化不查询)、将某一类数据进行过滤等等。
例如:web项目开发中,如图6所示的普通列表页面,其为典型的后台管理系统常见页面,开发此类页面时,由技术负责人制作出母板,如图5所示,制作生命周期模块的代码,如图8所示;普通开发人员需要制作如图6所示的页面时,只需选用如图5所示的此类型的母板页面,继承此母板,在引入生命周期代码进行配置并写入一些逻辑,如图9所示,就能生成需要的页面,如图6所示。如果页面有变动,如图7所示,只需要技术负责人将图6所示的母板进行修改、如图8所示的生命周期代码进行修改,就能将整个系统的页面进行变更。图10为母板创建过程图,首先制作一个基础母板页面,制作其他母板时,只需要继承上一个基础母板页面,在【预留填充各种布局的页面内容】框内填充新的内容即可。
本系统可对项目开发进行管理,解决软件开发中的管理难题,降低整体技术难度,减少更变工作量,减少BUG,缩短开发周期,规范代码,提高可维护性,减少维护工作量。
基于第一方面,如图1所示,在本发明的一些实施例中,所述界面布局管理模块100包括母板布局子模块110,用于根据项目需求采用Tiles或其他母板管理插件制作一个或多个母板布局。
在对界面进行设计布局时,将界面设计和页面布局分为两个模块,以便后续进行调整。通过母板布局子模块110根据项目需求采用Tiles或其他母板管理插件制作一个或多个母板布局,通过Tiles布局可方便针对性的对相同的界面进行调整,只需根据需求调整一个布局,无需每一个页面全部进行调整即可实现整体调整,保证了调整修改布局,提高整个开发效率。布局采用tiles也可以用Sitemesh,这里采用ApacheTiles,ApacheTiles是网上开源框架,顾名思义,Tile是瓷砖的意思,也就是说一个网页是由多个Tile组成的。不同于Java中jsp的include,include是对页面的组合不能实现布局的修改,而tiles则是布局的组合。如图2所示的页面,如果我们开发了100个这样的页面,每个页面都是这样的组合,如果想要修改这个组合,想要修改100个页面,每个页面都要修改;但是如果用了tiles,只需要修改一个布局页面就把这100个页面改变布局。
我们要制作一个页面时,我们可将content分为三个区域,查询条件区、数据展示区和分页操作区。定义本系统框架的工作流程:数据初始化->渲染页面->查询数据->渲染数据到页面。定义一个页面的数据包含:url(页面操作对于的接口url)、auto(是否自动完成查询)、queryMethod(查询接口的方法名)、store(缓存站)、pageData(页面数据)。
定义方法:createConvenientBar(创建界面的查询条件和功能按钮)、createHeader(创建数据展示区的表格头部)、writerQueryData(在数据展区的列表写数据)、createPagination(创建分页的方法)。最后我们定义一个init页面初始化方法,将上面的方法组合在一起。执行此方法,页面就组装完成。使用本系统框架生成一个页面,我们进行开发时,只需要配置页面的参数,数据表头、接口url地址,并执行init方法,就能生成整个页面。
基于第一方面,如图1所示,在本发明的一些实施例中,所述生命周期管理模块300包括数据初始化子模块310、数据拉取子模块320、数据渲染子模块330以及页面初始化子模块340,其中:
数据初始化子模块310,用于对软件项目数据进行初始化处理;
数据拉取子模块320,用于向数据库、接口或者其他系统请求拉取数据;
数据渲染子模块330,用于对软件项目的页面数据、控件进行渲染;
页面初始化子模块340,用于组装上述数据初始化子模块310、数据拉取子模块320和数据渲染子模块330,实现页面初始化。
在设计软件生命周期时,需要对软件生命周期涉及的页面初始化、数据拉取、数据渲染、销毁页面等进行处理。通过数据初始化子模块310对软件项目数据进行初始化处理,例如分页、URL、查询条件等;通过数据拉取子模块320向数据库、接口或者其他系统请求拉取数据;通过数据渲染子模块330对软件项目的页面数据、控件进行渲染。其中包含两类:属性配置子模块和创建子模块,例如普通列表查询页面、属性配置子模块有查询条件属性配置、列表表头及其他属性配置、分页属性配置。创建子模块有查询条件创建、列表创建、分页创建等。属性配置子模块用于开发员进行页面属性的配置,创建子模块用于页面初始化执行或者给其他子模块进行调用。
基于第一方面,如图1所示,在本发明的一些实施例中,所述工具管理模块400包括系统子模块410和自定义子模块420,其中:
系统子模块410,用于获取系统工具,并根据不同的软件项目需求对系统工具进行调整;
自定义子模块420,用于制定自定义工具,并根据不同的软件项目需求对自定义工具进行调整。
软件工具包含两种类型的工具,一种是系统自带的工具,另一种是用户自定义设定的工具,对工具进行管理,以便后续选取调用。
第二方面,如图3所示,本发明实施例提供一种软件项目开发管理方法,包括以下步骤:
S1、根据不同的软件项目制定一个或多个母板界面,并对不同母板界面的布局进行管理;
S2、根据不同的软件项目制定界面样式,并对不同的软件项目进行样式调整;
S3、制定软件生命周期,并根据不同的项目组件对软件生命周期的组件及逻辑进行调整;
S4、制定软件项目所需的工具,并根据不同的软件项目对工具进行调整。
在上述系统的基础上,需要搭配管理方法,管理方法为一个技术负责人和其他普通开发人员组成。技术负责人主要是对上述的系统进行维护,普通开发人员大多数情况只是继承或调用上述系统进行配置式的开发,从而保证了所开发的项目风格、逻辑基本保持一致,大量缩减了代码量和逻辑,提高了开发速度,减少BUG的发生。本方法集成制定设计了UI组件、界面布局、生命周期、软件工具四大组件,首先引入和制作好所需的UI组件,并对UI组件进行管理,根据不同的软件项目制定一个或多个母板界面,并对不同母板界面的布局进行管理,以便后续直接调用选取,并对软件项目开发母板进行管理,母板制作完成后,其他软件开发人员在进行软件项目开发时,只需要选用合适的母板进行继承,根据母板需要的属性进行配置即可;制定软件生命周期,并根据不同的项目组件对软件生命周期的组件及逻辑进行调整,以便实现功能的生命周期,使得软件系统可以完成其整个项目功能;制定软件项目所需的工具,并根据不同的软件项目对工具进行调整。技术负责人做好UI、母板、软件生命周期逻辑(生命周期:数据初始化、数据拉取、数据渲染、页面初始化等),普通开发人员只要继承此母板,就可得到一个已制作好的页面,拉取数据,将页面数据渲染出来,每个开发人员做出软件的页面都是整齐划一;当某个页面逻辑不通时,可以调整生命周期逻辑,或者进行重写,保证项目流程不受既有生命周期组件影响。
本方法可对项目开发进行管理,解决软件开发中的管理难题,降低整体技术难度,减少更变工作量,减少BUG,缩短开发周期,规范代码,提高可维护性,减少维护工作量。
基于第二方面,在本发明的一些实施例中,所述根据不同的软件项目制定一个或多个母板界面,并对不同母板界面的布局进行管理的方法包括以下步骤:
根据项目需求采用Tiles或其他母板管理插件制作一个或多个母板布局。
在对界面进行设计布局时,将界面设计和页面布局分为两个模块,以便后续进行调整。根据不同的软件项目制定一个或多个用户界面,以便后续非设计人员直接调用选取合适的用户界面;根据用户需求采用Tiles布局方式对用户界面进行布局调整,通过Tiles布局可方便针对性的对相同的界面进行调整,只需根据需求调整一个布局,无需每一个页面全部进行调整即可实现整体调整,保证了调整修改布局,提高整个开发效率。布局采用tiles也可以用Sitemesh,这里采用ApacheTiles,ApacheTiles是网上开源框架,顾名思义,Tiles是瓷砖的意思,也就是说一个网页是由多个Tiles组成的。不同于Java中jsp的include,include是对页面的组合不能实现布局的修改,而tiles则是布局的组合。如图2所示的页面,如果我们开发了100个这样的页面,每个页面都是这样的组合,如果想要修改这个组合,想要修改100个页面,每个页面都要修改;但是如果用了tiles,只需要修改一个布局页面就把这100个页面改变布局。
基于第二方面,如图4所示,在本发明的一些实施例中,所述制定软件生命周期,并根据不同的项目组件对软件生命周期的组件及逻辑进行调整的方法包括以下步骤:
对软件项目数据进行初始化处理;
向数据库、接口或者其他系统请求拉取数据;
对软件项目的页面数据、控件进行渲染;
对上述步骤进行整合,实现页面初始化。
在设计软件生命周期时,需要对软件生命周期涉及的页面初始化、数据拉取、数据渲染、销毁页面等进行处理。首先对软件项目数据进行初始化处理,以得到初始项目数据;然后提取初始项目数据中的目标数据;该目标数据是指软件项目中涉及的开发所需的数据;然后对软件项目的页面进行渲染,并将提取到的目标数据渲染到页面,进而形成一个完整的页面。
我们要制作一个页面时,我们可将content分为三个区域,查询条件区、数据展示区、分页操作区。定义本系统框架的工作流程:数据初始化->渲染页面->查询数据->渲染数据到页面。定义一个页面的数据包含:url(页面操作对于的接口url)、auto(是否自动完成查询)、queryMethod(查询接口的方法名)、store(缓存站)、pageData(页面数据)。
定义方法:createConvenientBar(创建界面的查询条件和功能按钮)、createHeader(创建数据展示区的表格头部)、writerQueryData(在数据展区的列表写数据)、createPagination(创建分页的方法)。最后我们定义一个init页面初始化方法,将上面的方法组合在一起。执行此方法,页面就组装完成。使用本系统框架生成一个页面,我们进行开发时,只需要配置页面的参数,数据表头、接口url地址,并执行init方法,就能生成整个页面。
基于第二方面,在本发明的一些实施例中,所述制定软件项目所需的工具,并根据不同的软件项目对工具进行调整的方法还包括以下步骤:
获取系统工具,并根据不同的软件项目需求对系统工具进行调整;
制定自定义工具,并根据不同的软件项目需求对自定义工具进行调整。
软件工具包含两种类型的工具,一种是系统自带的工具,另一种是用户自定义设定的工具,对工具进行管理,以便后续选取调用。
综上,本发明的实施例提供一种软件项目开发管理系统及方法,使用上述系统和方法开发的项目,当项目中的布局、样式、逻辑需要变更时。只需要技术负责人从系统层面进行变更即可。当某个页面逻辑不通时,可以调整生命周期逻辑,或者对生命周期中的某个子模块进行重写。在软件项目开发完成后,后续需要对其进行维护,运维人员对所有页面的调整,都是以对开发管理系统的调整来完成,所以技术负责人或运维人员只需要修改开发管理系统,就能基本实现整个项目的修改。例如将分页的规则进行修改、select替换为select2、将自动查取消(页面初始化不查询)、将某一类数据进行过滤等等。传统的运维软件项目由非原开发人员完成,由于代码风格、逻辑思维差异大,使得运维比较麻烦,修改工作量大,新增加的功能难以和原有功能保持相同风格;采用本开发管理系统管理后,修改基本都由开发管理系统控制,往往只需要修改开发管理系统的代码,就能实现整个系统的修改,只需要使用开发管理系统上的组件进行开发,与原系统不会出现差异。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
Claims (8)
1.一种软件项目开发管理系统,其特征在于,包括界面布局管理模块、UI组件管理模块、生命周期管理模块以及工具管理模块,其中:
界面布局管理模块,用于根据不同的软件项目制定一个或多个母板界面,并对不同母板界面的布局进行管理;
UI组件管理模块,用于根据不同的软件项目制定界面样式,并对不同的软件项目进行样式调整;
生命周期管理模块,用于制定软件生命周期,并根据不同的项目组件对软件生命周期的组件及逻辑进行调整;
工具管理模块,用于制定软件项目所需的工具,并根据不同的软件项目对工具进行调整。
2.根据权利要求1所述的一种软件项目开发管理系统,其特征在于,所述界面布局管理模块包括母板布局子模块,用于根据项目需求采用Tiles或其他母板管理插件制作一个或多个母板布局。
3.根据权利要求1所述的一种软件项目开发管理系统,其特征在于,所述生命周期管理模块包括数据初始化子模块、数据拉取子模块、数据渲染子模块以及页面初始化子模块,其中:
数据初始化子模块,用于对软件项目数据进行初始化处理;
数据拉取子模块,用于向数据库、接口或者其他系统请求拉取数据;
数据渲染子模块,用于对软件项目的页面数据、控件进行渲染;
页面初始化子模块,用于组装上述数据初始化子模块、数据拉取子模块和数据渲染子模块,实现页面初始化。
4.根据权利要求1所述的一种软件项目开发管理系统,其特征在于,所述工具管理模块包括系统子模块和自定义子模块,其中:
系统子模块,用于获取系统工具,并根据不同的软件项目需求对系统工具进行调整;
自定义子模块,用于制定自定义工具,并根据不同的软件项目需求对自定义工具进行调整。
5.一种软件项目开发管理方法,其特征在于,包括以下步骤:
根据不同的软件项目制定一个或多个母板界面,并对不同母板界面的布局进行管理;
根据不同的软件项目制定界面样式,并对不同的软件项目进行样式调整;
制定软件生命周期,并根据不同的项目组件对软件生命周期的组件及逻辑进行调整;
制定软件项目所需的工具,并根据不同的软件项目对工具进行调整。
6.根据权利要求5所述的一种软件项目开发管理方法,其特征在于,所述根据不同的软件项目制定一个或多个母板界面,并对不同母板界面的布局进行管理的方法包括以下步骤:
根据项目需求采用Tiles或其他母板管理插件制作一个或多个母板布局。
7.根据权利要求5所述的一种软件项目开发管理方法,其特征在于,所述制定软件生命周期,并根据不同的项目组件对软件生命周期的组件及逻辑进行调整的方法包括以下步骤:
对软件项目数据进行初始化处理;
向数据库、接口或者其他系统请求拉取数据;
对软件项目的页面数据、控件进行渲染;
对上述步骤进行整合,实现页面初始化。
8.根据权利要求5所述的一种软件项目开发管理方法,其特征在于,所述制定软件项目所需的工具,并根据不同的软件项目对工具进行调整的方法还包括以下步骤:
获取系统工具,并根据不同的软件项目需求对系统工具进行调整;
制定自定义工具,并根据不同的软件项目需求对自定义工具进行调整。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011280730.3A CN112463120A (zh) | 2020-11-16 | 2020-11-16 | 一种软件项目开发管理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011280730.3A CN112463120A (zh) | 2020-11-16 | 2020-11-16 | 一种软件项目开发管理系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112463120A true CN112463120A (zh) | 2021-03-09 |
Family
ID=74836528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011280730.3A Pending CN112463120A (zh) | 2020-11-16 | 2020-11-16 | 一种软件项目开发管理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112463120A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112860253A (zh) * | 2021-03-30 | 2021-05-28 | 北京转转精神科技有限责任公司 | 一种Android客户端模块化高扩展的页面布局框架系统 |
CN117971176A (zh) * | 2024-04-01 | 2024-05-03 | 杭州青橄榄网络技术有限公司 | 一种用于业务功能开发的抽象组件管理方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104111826A (zh) * | 2013-04-19 | 2014-10-22 | 杭州新世纪电子科技有限公司 | 一种软件项目开发方法及装置 |
CN109240654A (zh) * | 2018-07-24 | 2019-01-18 | 武汉空心科技有限公司 | 基于模板的开发方法及系统 |
CN110502229A (zh) * | 2019-08-26 | 2019-11-26 | 广州小鹏汽车科技有限公司 | 页面的生成方法、装置、终端、计算机设备和存储介质 |
CN110597506A (zh) * | 2019-11-14 | 2019-12-20 | 南京百敖软件有限公司 | 一种前端应用可视化开发工具和使用方法 |
CN111158670A (zh) * | 2019-12-27 | 2020-05-15 | 河北航天信息技术有限公司 | 一种可视化辅助软件开发方法及系统 |
CN111443940A (zh) * | 2020-05-08 | 2020-07-24 | 南京大学 | 一种基于DevOps的完整软件生命周期管理方法及平台 |
CN111708516A (zh) * | 2020-05-20 | 2020-09-25 | 上海迅搭云科技有限公司 | 一种网上web应用定制开发系统 |
CN111796815A (zh) * | 2020-07-13 | 2020-10-20 | 成都起微网络技术有限公司 | 一种全自动可视化软件搭建平台的应用 |
-
2020
- 2020-11-16 CN CN202011280730.3A patent/CN112463120A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104111826A (zh) * | 2013-04-19 | 2014-10-22 | 杭州新世纪电子科技有限公司 | 一种软件项目开发方法及装置 |
CN109240654A (zh) * | 2018-07-24 | 2019-01-18 | 武汉空心科技有限公司 | 基于模板的开发方法及系统 |
CN110502229A (zh) * | 2019-08-26 | 2019-11-26 | 广州小鹏汽车科技有限公司 | 页面的生成方法、装置、终端、计算机设备和存储介质 |
CN110597506A (zh) * | 2019-11-14 | 2019-12-20 | 南京百敖软件有限公司 | 一种前端应用可视化开发工具和使用方法 |
CN111158670A (zh) * | 2019-12-27 | 2020-05-15 | 河北航天信息技术有限公司 | 一种可视化辅助软件开发方法及系统 |
CN111443940A (zh) * | 2020-05-08 | 2020-07-24 | 南京大学 | 一种基于DevOps的完整软件生命周期管理方法及平台 |
CN111708516A (zh) * | 2020-05-20 | 2020-09-25 | 上海迅搭云科技有限公司 | 一种网上web应用定制开发系统 |
CN111796815A (zh) * | 2020-07-13 | 2020-10-20 | 成都起微网络技术有限公司 | 一种全自动可视化软件搭建平台的应用 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112860253A (zh) * | 2021-03-30 | 2021-05-28 | 北京转转精神科技有限责任公司 | 一种Android客户端模块化高扩展的页面布局框架系统 |
CN117971176A (zh) * | 2024-04-01 | 2024-05-03 | 杭州青橄榄网络技术有限公司 | 一种用于业务功能开发的抽象组件管理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ceri et al. | Web Modeling Language (WebML): a modeling language for designing Web sites | |
US7594181B2 (en) | Prototyping graphical user interfaces | |
JP3136035B2 (ja) | データベースシステム用インターフェースのための自動レイアウト・ジェネレータ及びその生成方法 | |
US8839192B2 (en) | System and method for presentation of cross organizational applications | |
KR101572509B1 (ko) | 웹 기반의 어플리케이션 구축을 위한 사용자 인터페이스 프레임워크 운용 방법 | |
US20080013860A1 (en) | Creation of three-dimensional user interface | |
US20030074648A1 (en) | System and method for managing architectural layers within a software model | |
US10379817B2 (en) | Computer-applied method for displaying software-type applications based on design specifications | |
WO2015196784A1 (zh) | 一种基于软件元视图以构造软件视图的可视软件建模方法 | |
WO2007050110A2 (en) | Method and model for enterprise system development and execution | |
JP7373563B2 (ja) | ウェブサイト構築システム用の構成可能なアプリケーションの作成および処理のためのシステムおよび方法 | |
CN112463120A (zh) | 一种软件项目开发管理系统及方法 | |
CN113326044A (zh) | 一种基于控件库的开发方法、系统及存储介质 | |
Rose | Visual assessment of engineering processes in virtual enterprises | |
Bennett et al. | Transformations on a dialog tree: rule-based maping of content to style | |
CN117010198A (zh) | 一种基于SysML的多用户多视图模型建模交互方法 | |
Breitman et al. | Supporting scenario evolution | |
CN115080046B (zh) | 一种页面设计中多组件抽象关联融合方法和装置 | |
Gill | Using React Native for mobile software development | |
Engel et al. | Evaluation of model-based user interface development approaches | |
CN115048103A (zh) | 工作流实现方法、装置及系统 | |
Mohan et al. | A state machine based approach for a process driven development of web-applications | |
Fatolahi et al. | Towards a Semi-Automated Model-Driven Method for the Generation of Web-based Applications from Use Cases. | |
JP2009157580A (ja) | Hmi開発支援装置、hmi開発支援方法およびhmi開発支援プログラム | |
Sukaviriya et al. | Model-driven approach for managing human interface design life cycle |
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 |