APP下载

一种敏捷开发、关联表单的开发管理模型研发和实践

2020-12-29于国际钟建栩余少锋马一宁廖崇阳

机械设计与制造工程 2020年12期
关键词:表单页面关联

于国际,钟建栩,余少锋,马一宁,廖崇阳

(南方电网调峰调频发电有限公司信息通信分公司,广东 广州 511400)

关联表单是指管理信息系统或商业互联网服务系统调取表单时,充分利用相关信息协助用户完成大部分表单内容填写的一种表单实现方式。敏捷开发指在软件工程中将对应功能进行有效分割,使每个功能形成可以独立操作的子系统,且在不改变子系统对外数据接口的前提下实现对子系统进行独立开发的系统开发模式[1]。在敏捷开发和关联表单的开发管理模型中,管理客体为关联表单,管理模式为敏捷开发,管理对象为开发过程。

关联表单的需求是丰富的数据融合过程,需要将系统内更多模块的相关数据进行传值、融合,但敏捷开发系统的独立性需要充分分割子系统才可以实现。因此在进行管理模型开发时,如果单纯在敏捷开发与关联表单之间寻求平衡,无法发挥二者的最大效能[2]。本文将探寻一种可以将敏捷开发和关联表单效能均发挥到最大的开发管理模型。

1 关联表单的开发需求分析

对关联表单来说,根据用户注册信息和应用场景信息,在数据库中获得数据输入表单信息后,将数据输入到数据库中,完成关联表单的通用开发目标。关联表单系统内部数据流如图1所示。

图1中,关联表单的核心数据流来源于对生成数据查询和对数据查询后进行的数据治理,将数据治理结果导入到表单完善表单信息后,对表单数据进行数据治理,再将治理后的数据输送到数据库中[3]。为了实现该过程,在数据处理过程中,需要构建数据查询策略,而该策略需要整合当前页面的框架信息和用户信息,针对特定用户的特定权限在当前框架场景下构建数据查询策略。而在表单页面,需要用户手动输入信息,或从API虚拟数据接口中调用数据信息,或支持用户使用表单处理器通过数据输入模块对表单信息进行填写。

图1 关联表单系统内部数据流图

在敏捷开发模型下,如果将关联表单作为一个独立的敏捷开发模块,则根据图1 ,其外部数据传输方式可在图2所示的数据流图中反映出来。

图2 关联表单系统外部数据流图

图2中,敏捷开发的关联表单独立模块需要有与数据库平台进行数据传输的全功能数据接口,另外还应支持图左侧的诸多数据输入接口[4],即关联表单是一个拥有丰富数据输入接口且输出接口单一向数据库提供数据支持的敏捷开发独立模块。因此在敏捷开发模型下对关联表单进行开发,其关键点在于实现支持多种数据传输设计,同时开发可以调用数据库的数据接口。

2 关联表单的敏捷开发任务分解

根据上述开发需求分析,可以进行基于敏捷开发模型的关联表单开发任务分解,通过数据传输实现对数据接收端的设计,同时针对每一项输入数据开发对应的数据输入治理模块[5]。完成输入数据治理后,将数据导入到表单中,此时还需要根据导入的数据在数据库中读出表单关联信息,根据表单对上传数据进行数据出口治理,同时将数据上传到数据库驱动模块中。关联表单的敏捷开发任务分解如图3所示。

图3 关联表单的敏捷开发任务分解示意图

图3中,除数据接口和数据输入治理2组模块外,还包含了表单页面(前端)、查询策略、数据库驱动、数据上传治理、数据上传接口等5个模块,这些模块的具体开发任务如下。

1)数据接口模块。数据接口模块负责数据的请求、接收、反馈等,同时实现对UDP或者TCP接口的管理,或对API控件的驱动[6]。因为数据接口的信息传输是靠接收端完成的,所以应满足与对方接口开发团队之间设定的数据协议,协议包括数据请求与数据反馈的格式与响应机制。

2)数据输入治理模块。接收数据后应对数据进行治理,包括双向加密传输数据的解密、涉密数据的进一步数据脱敏、防止数据注入的二次数据保护、强制数字化数据的数据解释还原、流媒体数据或二进制数据的文件重构等。

3)查询策略模块。

查询策略模块需要对所有数据治理模块提交的数据进行识别并分组,确认用户身份和相关积分数据的状态、判断链接到表单的来源页面地址等,以实现对表单中联合信息的精确提取。

《普通高中生物学课程标准(2017年版)》提出:“积极开发与利用生物学课程资源”、“课程内容有机融入中华优秀传统文化”。我国有56个民族,壮族是少数民族中人数最多的民族,主要分布在广西壮族自治区。它具有独特的饮食文化,其中蕴含着丰富的生物学知识,当地教师挖掘其中的生物学课程资源并运用到生物学教学中,既有利于学生认识壮族饮食文化中的生物学知识,又可拓宽生物学课程资源的开发路径。

4)表单页面模块。表单页面模块是一个基于HTML5、PHP、ASP、C#或其他前端开发系统的前端页面系统,也是该系统中用户唯一可以看到的界面。该页面模块的设计包括UI设计、VI实现、CSS设计等开发任务。

5)数据上传治理模块。表单页面一般位于用户界面端口,从用户界面向开发界面的数据一般需要进行双向加密,数据加密时应选择一种可充分解密的数据加密方式,一般有双向字典式加密、数据位移式加密等方式。同时,还应确保用户信息的安全性。对流媒体、位图、音频等数据应进行流媒体化以实现公网数据传输。

6)数据上传模块。将进行数据治理后的信息通过该模块连接到数据库驱动模块中,实现数据的上传,该模块应对表单的数据增、删、改等更新操作设定相应策略,在相应的策略下实现数据的上传。

7)数据库驱动模块。数据库驱动模块一般由数据库平台系统控制,但也有一些要求较为复杂的系统需要对数据库驱动模块进行二次开发,以提升数据库的驱动效率。该模块的核心功能是执行SQL命令。

3 基于敏捷开发的五螺旋模型

五螺旋开发模型是一种由需求驱动、持续改进的软件工程开发模型,在敏捷开发模型下构建五螺旋模型,一方面可以实现敏捷开发的小团队开发模式和快速响应模式[7],另一方面可实现五螺旋自驱动强需求的开发过程。五螺旋模型下的管理协调过程如图4所示。

图4 五螺旋模型下的管理协调过程

图4所示的管理协调过程是一种循环的开发模式,通过五螺旋模型下的管理协调过程实现各部门之间的互相协调,最终协同完成开发任务。五螺旋模型下,并不执行交付过程,而是直接在团队内由测试部门、环境部门、产品部门观察运行结果,根据运行结果来决定下一步的开发需求。

引入敏捷开发前,表单开发为单纯性的前端开发,架构部门、开发部门等其他相关部门对表单开发的支持力度并不大。引入敏捷开发后,成立了针对特定关联表单的敏捷开发团队,团队内在设立前端部门的同时,也设立了其他相关部门,接到任务后,由该联合表单开发团队独立完成整个开发过程。

通过上述分析可以看出,五螺旋模型可作为敏捷开发与关联表单充分结合的纽带,其结合方式有以下2点特征:

1)将关联表单形成独立子系统进行持续开发。

五螺旋模型驱动下,关联表单的开发团队必须包含产品部门、架构部门、开发部门、前端部门、测试部门、环境部门等六大部门。关联表单作为一个开发目标,必须具备独立子系统的相关条件[8]。将关联表单形成独立子系统完成特定功能软件的开发存在可行性。

2)将敏捷开发运用到全系统执行中。

全系统执行敏捷开发的关键在于系统内的子功能模块数量足够集约,且功能之间的边界足够清晰。因为敏捷开发模式下,团队内的配合更加简约,所以团队内六大部门的人员配置相对较少,如15~20人的开发团队,就可以构成一个敏捷开发体系。一般来讲,70个功能页面的管理信息系统开发项目,其整体开发人员在1 500人以内,而20个功能页面的商业化互联网APP项目,其整体开发人员在400人以内。与动辄数千人的开发团队规模相比,可以节约大量的人力资源成本。

4 管理模型的应用实测

以国内某二线软件开发服务公司为例,该公司承担3个APP软件项目和2个管理信息系统项目的持续开发任务,企业拥有合同制员工4 200人,其中专业技术人员3 700人。为测试敏捷开发项目管理模型在该企业中的应用效果[9],选择1个APP软件项目作为敏捷开发的试点,该软件拥有功能页面21个,其中关联表单6个。传统的开发模式用APP1和APP2表示,A为APP1和APP2的平均值,敏捷开发模式用APP3表示,对传统的开发模式和敏捷开发模式进行比较,得出关联表单的持续开发模型比较结果见表1。

表1 关联表单持续开发模型

由表1可见,敏捷开发模式下需要投入的人员大幅度减少,人均周工时压缩了36.83%,人均绩效增加了36.64%,用户对开发过程的满意度提高到94.5%。主要原因是:1)敏捷开发过程对项目功能模块的划分更加细致,开发过程更加简便。2)基于敏捷开发,配合五螺旋模型,针对特定的功能页(如关联表单页)形成相对稳定的开发团队,可有效提升管理效率,开发执行效果也更加明显。

5 结束语

将敏捷开发模型和五螺旋开发模型合并,对关联表单进行功能模块划分时,将数据提供模块和数据接收模块划分到两个不同的敏捷开发模块中分别进行开发,可以有效地解决敏捷开发和关联表单开发需求的矛盾[10],团队人数和人均周工时均有效减少,人均绩效显著提升,从而可实现更高的项目管理效能。

猜你喜欢

表单页面关联
刷新生活的页面
不惧于新,不困于形——一道函数“关联”题的剖析与拓展
电子表单系统应用分析
答案
“一带一路”递进,关联民生更紧
基于图表示和匹配的表单定位与提取
浅谈网页制作中表单的教学
奇趣搭配
智趣
动态表单技术在教学管理中的应用*