一种受控网络环境下安全可控的敏捷软件开发方法
技术领域
本发明涉及软件开发
技术领域
,尤其涉及一种受控网络环境下安全可控的敏捷软件开发方法。背景技术
目前存在很多核心业务软件需要部署在安全隔离且内部受控网络环境下,而由于受控网络下无法直接接入外部计算机设备,传统的软件开发方法主要是通过在开发机环境进行软件开发,并将软件更新包打包发布,拷贝到受控网络环境内部计算机,来实现业务系统代码的升级及开发。该类传统的软件开发过程中,软件的开发者需要不断更新代码、部署代码、运行测试代码,使得整个过程较为繁琐且耗时较大,致使软件开发更新效率低下,无法更快的相应开发任务提升更新效率。
如在指定环境下,传统软件开发方法大致流程通常为:
1、在开发机上开发调试;
2、将部署包拷贝或传输到服务器上;
3、将软件安装包部署到服务器
4、测试系统;
5、记录问题;
6、返回开发机开发调试并复现问题,重复执行上述2-6之间的步骤。
上述传统的软件开发流程中,整个开发过程需要往返不同的部署与调试环境,而且由于处于安全隔离内部受控的网络环境,需要频繁反复的拷贝、传输部署包于开发机与服务器之间,导致开发流程的整体效率低下,不能满足实时的软件开发需求。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种实现方法简单、开发及部署时间少、开发效率高、实时性好以及安全可靠性高的受控网络环境下安全可控的敏捷软件开发方法。
为解决上述技术问题,本发明提出的技术方案为:
一种受控网络环境下安全可控的敏捷软件开发方法,其特征在于,步骤包括:
步骤S1.发布待开发软件项目的实时调试部署模式请求;
步骤S2.配置实时调试部署模式下所需的项目资源以及配置更新授权信息;
步骤S3.发布所述实时调试模式所需的软件部署包,以更新软件部署;
步骤S4.打开调试模式进行实时开发,根据配置的所述项目资源、授权信息,控制打开软件开发控制台中对应项目资源;
步骤S5.根据所述授权信息控制关闭所述调试模式,并将开发完成的实时调试开发文件同步更新至对应的服务器。
进一步的,所述步骤S1后、步骤S2前还包括根据接收到的所述实时调试部署请求,验证发布环境安全性,当验证环境安全时转入执行步骤S2,否则终止所述实时调试部署模式。
进一步的,所述项目资源包括项目编号信息、项目所需涉及的资源信息、项目可调试资源信息中任意一种或两种以上的信息。
进一步的,所述授权信息包括授权机器信息、授权时间范围、授权开发账户、授权开发资源、启用位置、启用方式、启用次数中任意一种或两种以上的信息。
进一步的,所述步骤S3中发布所述实时调试调试所需的软件部署包前,还包括验证发布开发人员的信息,如果验证未通过则终止所述实时调试模式的软件部署包的发布。
进一步的,所述步骤S4中进行实时开发时,按照所述授权信息中配置的启用方式,控制打开软件开发控制台,以及根据所述授权信息中配置的启用次数,控制打开所述软件开发控制台的次数。
进一步的,当开发的环境、开发的项目资源、调试时间、打开所述软件开发控制台的方式中任意一项与配置的信息不符合时,终止执行所述实时调试部署模式请求。
进一步的,所述步骤S5包括:在完成开发测试后直接关闭所述调试模式,若未关闭,则根据配置的所述授权信息,在超出预设时间后控制自动关闭所述调试模式,将更改的代码打包后更新上传至代码服务器,以实现代码版本的同步更新。
一种用于实施上述方法的系统,包括:
后端验证服务模块,用于完成发布环境的安全性验证;
后端授权服务模块,用于资源授权、资源配置过程中,提供后端系统服务以响应前端操作请求,完成资源配置、授权、验证发布操作;
后端调试服务模块,用于在部署安装包发布并安装到服务器后,提供后端调试服务;
前端开发控制台,用于配合控制完成在服务器端的实时开发、调试。
一种计算机装置,包括处理器以及存储器,所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序,所述处理器用于执行所述计算机程序以执行如上述方法。
与现有技术相比,本发明的优点在于:
1、本发明针对处于安全隔离内部受控的网络环境系统的软件开发,基于敏捷软件开发模式,通过实时调试部署项目资源、配置更新开发包授权以及软件开发控制台控制,能够适用于安全隔离且内部受控网络环境下实现软件开发与调试。
2、本发明在联合调试阶段,能够去除系统问题复现环节,减少开发机与部署服务之间代码传输,优化开发过程,从而减少安全隔离内部受控网络环境下软件部署与开发的时间与安全隐患。
3、本发明可以在保证开发部署安全的前提下,尽可能的减少开发部署次数与时间,提高在安全隔离且内部受控网络环境下的软件开发效率,解决传统安全隔离且内部受控网络环境下软件开始与部署调试流程效率低的问题。
附图说明
图1是本实施例受控网络环境下安全可控的敏捷软件开发方法的实现流程示意图。
图2是本发明具体应用实施例中实现软件发布部署的实现流程示意图。
图3是本发明具体应用实施例中实现开发包授权的实现流程示意图。
图4是本实施例中实现软件开发调试的原理示意图。
图5是本实施例实施软件开发方法的系统结构原理示意图。
具体实施方式
以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。
在本发明的具体实施例中,使用的术语仅仅用于描述特定实施例,非限制本发明。本发明实施例与所附权利要求书中所使用的“一种”、“该”、“此类型”等也包含多数形式,除非上下文清楚的表示其他含义。
如图1所示,本实施例受控网络环境下安全可控的敏捷软件开发方法的步骤包括:
步骤S1.发布待开发软件项目的实时调试部署模式请求;
步骤S2.配置实时调试部署模式下所需的项目资源以及配置更新授权信息;
步骤S3.发布实时调试模式所需的软件部署包,以更新软件部署;
步骤S4.打开调试模式进行实时开发,根据配置的项目资源、授权信息,控制打开软件开发控制台中对应项目资源;
步骤S5.根据授权信息控制关闭调试模式,并将开发完成的实时调试开发文件同步更新至对应的服务器。
本实施例针对处于安全隔离内部受控的网络环境系统的软件开发,基于敏捷软件开发模式,通过实时调试部署项目资源、配置更新开发包授权以及软件开发控制台控制,实现安全隔离且内部受控网络环境下软件开发与调试,在联合调试阶段,能够去除系统问题复现环节,减少开发机与部署服务之间代码传输,优化开发过程,从而减少安全隔离内部受控网络环境下传统软件部署与开发的时间与安全隐患,可以在保证开发部署安全的前提下,减少开发部署次数与时间,提高在安全隔离且内部受控网络环境下的软件开发效率,解决传统安全隔离且内部受控网络环境下软件开始与部署调试流程效率低的问题。
本实施例中,步骤S1后、步骤S2前还包括根据接收到的实时调试部署请求,验证发布环境安全性,当验证环境安全时转入执行步骤S2,否则终止实时调试部署模式,能够加强软件开发过程中安全薄弱环节的安全验证。
在具体应实施例中,在开发机环境,发出软件项目实时调试部署模式请求,同时启动验证程序,验证发布环境的安全性;当验证环境安全后,继续步骤S2,否则需要根据提示的安全问题进行检查,在超过安全次数后会终止实时调试部署模式发布,中断发布过程或者继续执行传统部署发布。上述环境安全验证主要检查是否为注册开发机SN,以及是否存在外部不安全因素,包括非法U盘等。
本实施例中,步骤S2中项目资源具体包括项目编号信息、项目所需涉及的资源信息、项目可调试资源信息等信息。授权信息包括授权机器信息、授权时间范围、授权开发账户、授权开发资源、启用位置、启用方式、启用次数等信息,其中授权机器信息包括根据服务器的各类硬件信息自动生成的机器硬件码等;授权时间范围为允许启用的时间范围,超出该时间范围则会自动关闭当前实时调试部署模式;授权开发账户为授权的合法开发账户,认证通过后后续才能够启动实时调试部署模式,否则无法启动;授权开发资源为授权的可调试资源,后续开发过程中软件开发控制台只提供授权的可调试资源;启用位置、启用方式以及启用次数分别为开发过程中开发者在软件控制平台中启用的位置、方式以及次数,采用正确的启用位置、启用方式的才可以打开软件开发控制台。
在具体应用实施例中,在通过环境安全验证后,系统弹出该账户可以实时调试部署项目的资源配置列表,可以在多项目情况下指定项目资源,在配置之前还需要进行具体的授权操作,包括设置授权部署机器硬件码、授权时间范围、该授权账户、授权开发代码、启用位置、启用方式、启用次数等,其中未显示或未配置的资源后续将无法在部署后进行调试。上述授权操作可配置在配置一次后保存为默认配置,以便于再次快速完成配置。
本实施例步骤S3中发布实时调试调试所需的软件部署包前,还包括验证发布开发人员的信息,如果验证未通过则终止实时调试模式的软件部署包的发布,确保安全可控发布。
在具体应用实施例中,在配置完成项目资源、授权信息后,继续发实时调试部署模式的软件包,在最后发布前需要验证发布开发人员的账户与密码,保证安全可控发布;如果无法通过验证或验证次数超过预定上限,则终止实时调试模式发布行为,需要上一级的管理者解开限定才可以继续此类型发布,发布成功的部署安装包可以实现在客户服务器进行软件部署与安装。
为实现上述开发人员验证,预先将开发人员的账户与密码信息以不可逆加密的形式存储在数据库,可以足够安全的存储保障。
本实施例步骤S4中进行实时开发时,按照授权信息中配置的启用方式,控制打开软件开发控制台,以及根据授权信息中配置的启用次数,控制打开软件开发控制台的次数。当开发的环境、开发的项目资源、调试时间、打开软件开发控制台的方式中任意一项与配置的信息不符合时,终止执行实时调试部署模式请求。
在具体应用实施例中,发布实时调试模式软件包后,通过合规的方式将部署包上传至服务器,部署后可以在预定位置,采用配置的启用方式打开调试模式,打开软件开发控制台进行实时开发,采用正确的启用方式的才可以打开软件开发控制台,每次打开控制台后,打开次数将减少一次,直至使用完配置的启用次数后,将无法再进行调试开发。在控制台内编辑代码具体可以实现代码错误识别、代码缩进格式检查等操作。
在具体应用实施例中,开发控制台由系统内部自带,用来协助完成实时调试部署项目代码的开发,只有在正确配置并调用的前提下才可以实现对已配置代码资源的开发与调试;开发人员在打开调后,会弹出软件开发控制台,在控制台内完成项目代码的实时开发,开发代码类型包括但不限于前端页面代码、无需编译后台代码、系统脚本代码等,完成代码开发后可以保存并实时测试开发结果。
本实施例步骤S5具体包括:在完成开发测试后直接关闭调试模式,若未关闭,则根据配置的授权信息,在超出预设时间后控制自动关闭调试模式,将更改的代码打包后更新上传至代码服务器,以实现代码版本的同步更新。
在具体应用实施例中,在完成开发测试后,开发人员需要关闭实时调试功能,否则在超出配置的调试时间范围后,调试功能将自动关闭,更改的代码可以手动或自动打包方式汇总,通过合规的方式拷贝或上传至代码服务器,实现代码版本的同步更新。
以下以在具体应用实施例中,采用本发明上述方法实现受控网络环境下安全可控的敏捷软件开发方法为例进行进一步说明,详细步骤如下:
步骤S101:在开发机环境,发出软件项目实时调试部署模式请求,同时启动验证程序,验证发布环境的安全性。当验证环境安全后,可以继续步骤S2,否则需要根据提示的安全问题进行检查,在超过安全次数后会终止实时调试部署模式发布,中断发布过程或者继续执行传统部署发布。
上述环境安全验证主要检查是否为注册开发机SN,以及是否存在外部不安全因素,包括非法U盘等。
步骤S102:通过环境安全验证后,系统弹出该账户可以实时调试部署项目的资源配置列表,可以在多项目情况下指定项目资源,以及在配置之前进行具体的授权操作,包括设置授权部署机器硬件码、授权时间范围、该授权账户、授权开发代码、启用位置、启用方式、启用次数等,其中未显示或未配置的资源将无法再部署后进行调试。将以上授权操作配置一次后保存为默认配置,便于再次快速配置。
步骤S103:在配置完成后,继续发布实时调试模式软件包,在最后发布前需要验证发布开发人员的账户与密码,保证安全可控发布;如果无法通过验证或验证次数超过预定上限,则终止实时调试模式发布行为,需要上一级的管理者解开限定才可以继续此类型发布,发布成功的部署安装包可以实现在客户服务器进行软件部署与安装。上述开发人员的账户与密码信息以不可逆加密的形式存储在数据库。
步骤S104:通过合规的方式将部署包上传至服务器,部署后可以在预定位置,采用配置的启用方式打开调试模式,打开软件开发控制台进行实时开发,每次打开控制台后,打开次数将减少一次,直至使用完打开次数将无法进行调试开发。
该步骤中可以开发的代码、启用位置、启用方式在步骤S103配置完成,采用正确的启用方式的才可以打开软件开发控制台,在控制台内编辑代码可以实现代码错误识别、代码缩进格式检查等操作。
步骤S105:开发人员在打开调后,会弹出软件开发控制台,在控制台内完成项目代码的实时开发,开发代码类型包括但不限于前端页面代码、无需编译后台代码、系统脚本代码等,完成代码开发后可以保存并实时测试开发结果。
该步骤中开发控制台由系统内部自带,用来协助完成实时调试部署项目代码的开发,只有在正确配置并调用的前提下才可以实现对已配置代码资源的开发与调试。
步骤S106:在完成开发测试后,开发人员需要关闭实时调试功能,否则在超出一段时间后,调试功能将自动关闭,更改的代码可以手动或自动打包方式汇总,通过合规的方式拷贝或上传至代码服务器,实现代码版本的同步更新。该步骤中自动关闭调试功能的时间范围由管理员预先配置完成,否则将根据系统默认配置执行操作。
本实施例通过上述步骤,可以在保证开发部署安全的前提下,大大减少开发部署次数与时间,有效提高在安全隔离且内部受控网络环境下的软件开发效率。
在具体应用实施例中,开发者在发出软件项目实时调试部署模式请求后,采用本实施例上述方法对请求的处理流程如图2所示,具体包括如下步骤:
硬件环境验证,检查是否为签名开发机,将检查结果反馈给开发者,如果为签名开发机,硬件环境合格,则继续下一步骤;如果非签名开发机,判定硬件环境不合格,则终止部署项目的请求;
软件环境验证,检查是否为签名开发者,将检查结果以通知形式反馈给开发者,若为合法的签名开发者,则继续下一步骤;若非签名开发者,判定软件环境合法性验证失败,直接终止部署项目的请求;
配置部署项目资源,开发者在前端配置后,系统将在后台继续检查配置资源是否为合法资源范围,若属于该开发者可部署的合法资源范围,则继续下一步骤;若存在非授权或者非法资源,则撤销已配置的部署项目资源,跳转至终止部署项目请求步骤;
配置调试时间范围,系统给出默认调试时间范围,开发者自定义调试时间范围,后台服务将检查该时间范围是否为合法时间范围,若配置时间范围合法,则继续进行项目部署;若配置的时间范围超出系统最大限制或其他管理员设定规则,可判定配置调试时间范围不合法,则直接终止部署项目请求;
若所有合法检查均通过,则执行部署项目请求;否则,直接终止部署项目请求,并将失败原因反馈给开发者,可以发出软件项目实时调试部署模式请求,直至所有检查合格后,才可以成功完成软件发布部署流程。
在具体应用实施例中,开发者在配置并授权部署安装包资源时,如图3所示,具体按照以下配置方式实现配置:
配置授权机器信息,系统根据服务器的各类硬件信息可以自动生成机器硬件码,在发布部署项目的调试模式请求时,需要配置服务器生成的机器硬件码,此处由服务器已运行项目的管理后台可以获取。
设置授权时间范围,配置项目发布后可供调试的授权时间范围,当项目运行当前的授权时间小于最大时间上限时,可以继续启用实时开发模式,否则,会自动关闭实时开发模式,为了避免服务修改系统时间延长授权范围的问题,项目在部署后会自动启动计时器,根据配置的授权时间范围生成最大时间计数值,无论授权时间范围是否满足条件,当计数器超出最大时间计数值时,仍然停止启用实时开发模式。
选择授权开发账户,设置项目的开发账户,该账户用于在启动实时开发模式时,进行开发账户认证登录,当认证通过后才可以打开调试控制台,否则无法启动实时开发模式;系统默认设置最大登录错误次数,当超出登录错误的最大次数后,自动锁定并完全关闭本次发布的实时开发模式,无法再次启用,重新发布授权部署后才可以再次登录。
配置授权开发资源,授权开发资源的配置主要涉及发布项目的实际调试资源,默认给予当前项目的所有可调试资源,授权开发的资源列表会在打开的调试控制台展示出来,若资源未被授权开发,则无法在调试控制台展示。
配置启用位置,启用位置的配置可以在系统的特定组件或页面,开发者可以访问已配置的启用位置,通过上述已配置的启用方式实现实时开发模式的启用。
选择启用方式,开发者可以配置得具体启用方式为鼠标点击、双击等操作,在启用位置采用该启用方式进行实时开发模式启用登录验证,在验证授权通过后调用调试控制台。
设置启用次数,项目的实时开发默认启用次数由系统管理员指定,也可以在最大调试上限的范围内,由开发者自定义启用次数,每次完成开发并关闭调试控制台后,启用次数都会减少一次,当启用次数使用完后,系统将完全关闭实时开发模式服务。
在具体应用实施例中,如图4所示,采用本发明上述方法的完整的软件开发流程为:在软件开发环境下,首先由开发人员发出实时调试部署请求,系统后台服务接收到请求后;在验证开发机的环境安全后,弹出配置部署项目资源界面,展示出该开发人员拥有权限访问及调试的项目资源;之后,开发人员进行身份验证并设置部署包授权的相关设置,在完成上述的每个过程后,成功发布软件部署包,否则终止部署包发布;当发布完成后,将软件安装部署包在客户服务器的部署环境中,进行安装部署并启动系统,在开发人员通过正确方式及身份验证后启动开发调试控制台,当完成调试开发测试等整个研发流程后,关闭调试开发模式,并可以将完成的代码进行打包,并同步更新到开发代码管理服务器中。
为匹配实施本实施例上述方法,本实施例进一步构建形成实时软件开发安全系统,如图5所示,包括:
后端验证服务模块,主要用于完成(如上述步骤S101)发布环境安全性验证,在开发者发出软件项目实时调试部署请求后,由系统自动调起执行,返回的结果不仅包括是否验证成功,还提示验证失败的原因。
后端授权服务模块,用于(如上述步骤S102与步骤S103)资源授权、资源配置过程中,为开发者的项目资源列表请求、项目资源详细配置、授权发布部署安装包提供后端系统服务,响应前端操作请求,通过通信加密、账户加密等手段安全可靠的完成资源配置、授权、验证发布操作。
后端调试服务模块,用于在部署安装包发布并安装到服务器后,(如上述步骤S104与步骤S105)开发人员实现在已发布项目在服务器端具体的代码开发、调试、运行、测试等过程,此时,结合系统验证等操作,为开发人员提供后端调试服务,并可以根据项目实际配置情况提供不同情景的服务支持。
前端开发控制台,作为独立的部分,用于提供代码查看、开发、合规检查等操作,配合其他过程(如上述步骤S106),可以最终完成项目在服务器端的实时开发、调试、测试等过程。
本实施例进一步还提供计算机装置,包括处理器以及存储器,存储器用于存储计算机程序,处理器用于执行所述计算机程序,处理器用于执行计算机程序以执行如上述软件开发方法。
上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。