分布式软件开发与系统集成平台的研究

2020-06-24 03:00张智强郭龙赵雷赵伟张自磊
物联网技术 2020年6期
关键词:网络环境

张智强 郭龙 赵雷 赵伟 张自磊

摘要:文中从设计思想、总体结构、平台优势、发展前景等方面介绍了分布式软件开发与系统集成平台。该平台基于分治思想,采用B/S架构,基于JavaWeb编程结合现行主流开发技术,采用HTML5,ASP,PHP技术在线上实现设计与开发。该平台以精确解决用户需求为根本目的,吸收和创新了现有软件系统开发流程,可减少开发成本、提高客户体验、增强开发人员地域性。实验结果表明,所描述的平台完全可以实现,目前的网络环境和技术也完全支持。

关键词:分治思想;分布式开发;B/S;线上技术;JavaWeb;网络环境

中图分类号:TP39文献标识码:A文章编号:2095-1302(2020)06-00-04

0 引 言

现代互联网技术已经发展的相当成熟,相关技术和框架层出不穷这使得用户面临着选择困难的问题。如果用户将需求交给大公司实现,虽然产品质量可以得到保证,但是产品价格会高出用户预期,若用户转向小型企业实现,用户的需求实现的质量则无法保证。本文将探讨如何实现这样的“中间层”。

1 项目背景

1.1 研究背景

随着互联网技术的不断发展,大量重复繁杂的工作逐步被互联网技术所取代,互联网技术人才供不应求,同时以导致小微企业难以发展以及大量人力无法得到使用等现象,主要体现在以下几个方面:用户需求选择困难;人才学历不被认可;学生没有开发经验;掌握能力单一,没有竞争力;开发团队规模小,无法承接大型项目;行业标准不统一,容易恶性竞争。因此,在互联网技术逐步发展的环境下,设计一个行业统一、人才得到認可、学生充分发展、企业增长稳定的平台意义非常大。

1.2 实现思想和解决问题办法

分布式软件开发与系统集成平台[1-3]是基于分治思想采用B/S架构[4]实现的,其将一个产品开发流程的各个阶段统一规划给不同能力的人员去实现。如需求阶段由咨询人员和项目可行性分析人员组成,由专业的人负责专业的工作。平台总体思想实现流程如图1所示。

2 分布式软件开发与系统集成平台

2.1 分布式软件开发与系统集成平台的优点

2.1.1 环境开放

平台的客户对象是指所有对软件或系统有需求的人员,只要和平台咨询人员进行初步咨询后,经过平台认定用户需求可以实现便可以进行下一步操作。平台的相关技术人员也是由用户在平台进行申请和测试[5]认证,认证通过后便成为平台的相关技术人员。用户需求流程和平台申请流程如图2、图3所示。

2.1.2 集中部署

当用户的需求得到认定通过,经过需求分析后平台将发布此用户需求的概要设计说明书,在平台上拥有项目经理等某些职位认定的人员可以查看概要设计说明书的摘要内容选择是否接受这个任务,接受任务后便可以查看全部内容召集项目组成员进行下一步的操作,如图4所示。需要注意的是一个项目经理可以拥有多个团队[6-7],同时可以作为其他已被接受任务的候选人,用于防止单个团队发生无法完成的情况,但是一个项目经理只能接受一个任务,如图5所示。

2.1.3 无缝对接

项目经理会定期上报项目进度情况,同时平台会定期抽查一定数量的项目进行检查其进度是否达到预期。如有项目团队落后于进度平台将视情况决定是否撤销其项目拥有权,当平台撤销其拥有权后,视情况由候选项目组或平台来进行项目的完成。项目完成后,由项目经理向平台提出验收请求,待平台验收人员测试通过无误后即验收项目,之后由平台相关人员与用户进行项目验收。

2.1.4 无技术壁垒、低门槛

为了防止用户与开发人员进行需求沟通时,不能准确地表述出自己的需求与想法,或者开发人员对用户描述的需求难以理解,从而发生需求功能矛盾等情况。由平台需求分析人员直接与用户进行需求的沟通与确定,然后将用户的需求进行整理与分析,最大限度的降低用户的需求误差,同时提高开发人员对目标功能的准确性。

2.1.5 平台更加专业

平台制定统一开发标准,开发流程,极大减少开发人员与用户的非专业认知负担,利用平台人才的专业性促使平台人才往高水平,高要求方向发展。项目开发流程如图6所示。

2.1.6 质量可靠、行业规范

产品的详细设计表是基于平台规定的标准来进行编辑,必须经过平台审核通过后才会进行发布。这样的设计表完全高于一般行业标准,开发人员根据开发手册进行开发,相关人才进行设计,产品质量完全优于一般开发企业,同时杜绝了开发人员与用户直接沟通修改的情景,使得产品应用更符合预期。

2.1.7 物尽其用,人尽其才

平台不会因为人才只会一种技术而拒绝其加入,相反我们会鼓励其加大对其擅长的方向进行深入的学习,扩大其技术竞争力,推动技术向前发展;同时平台招募的人才不仅限招募开发人员,在平台发展的前中期,产品构思者甚至是LOGO设计者都可以进入平台发挥其才能。

2.2 平台创新之处

2.2.1 软件系统一站式解决

用户和开发人才都只需要对平台负责,即用户由平台安排人员去沟通,产品由平台去交付,开发人员只关注开发即可,无论中途出现什么情况,各职能部分完成自己部分即可。

2.2.2 规范行业流程和制度

在平台上,拥有相应认证的技术人员才可以执行参与相应的项目,使得技术人员专一规范化,降低开发过程中的技术阻碍,同时由平台规范产品由设计到交互的流程,相应人才完成相应工作即可,降低不同阶段发生误解的概率。平台还将制定相应的制度,所有平台人员都将按照平台制度进行开发与设计,提高项目交付时不同阶段人员的接纳性。

2.2.3 创立IT行业优良供需关系

平台采用的是一个项目只允许一个项目经理进行领取,但可以满足多个项目组作为候选项目组来预防项目中断的情况。同时平台将要求已接受开发任务的项目经理定期上报项目进展情况,平台采用ISO 9000-3《质量管理和质量保证标准》定期进行抽查甚至是检查项目完成进度情况,防止出现无法完成的情况。

2.2.4 软件开发电子商务化

平台会将通过审核的产品开发手册发布在平台,拥有相应平台认证如项目经理的人员可以在平台上进行任务领取。项目经理阅读相应手册后,便可以发布相应的技术人才需求在平台。相应的人才便可以通过需求组织成一个项目团队。

2.2.5 缓解就业压力

平台开发者可以是任何拥有开发技术的人员,无论是否为学生、失业人员甚至是兼职人员都可以申请进入平台成为相应的职能人员进行开发,可以有效地缓解人才就业压力。

2.2.6 监管集约化

平台在充分利用資源的基础上,使用分治思想集中合理地运用现代技术,充分发挥人力资源和相关部门政策的积极效应,从而提高监管效益和工作效率。采用这样的方式可以产生最大化经济效益同时让平台人员专注于自己工作部分,提高工作效率、推动技术向前发展。

2.2.7 改变供求关系,颠覆传统业

平台将提供一个分区作为用户进行想法发布的地方。这里的用户不仅仅是有开发需求的用户还可以是有创新想法的开发者。这些用户在这个分区分享他们的想法,投资者可以在这里选择相应的想法进行投资;也就是说开发者不仅仅是开发者,也可以是发布需求的用户。

3 系统架构

3.1 系统架构

分布式软件开发与系统集成平台系统架构如图7所示。

3.2 技术支持

3.2.1 基于B/S架构实现平台

客户机上只需要安装一个浏览器,服务器上安装MySQL数据库;浏览器通过Web Server与数据库进行数据交互,即可完成平台大体框架的实现。B/S架构如图8所示。

3.2.2 基于皮尔逊相关系数的人员产品配对

平台根据皮尔逊相关系数,将有相似想法的用户交与同一部分的平台人员进行讨论,可以更精确地得出用户的想法及更快地设计出高于用户期望的产品。皮尔逊相关系数公式如下:

用式(1)求出对象X和对象Y的相关系数可以由对

象X和对象Y的协方差即式中的除以两个对象的标准差即Sx和Sy得到,运算进一步展开可通过后面的式子进行计算。皮尔逊相关系数的变化范围为-1~1,越接近1表示两个变量越相似。假设两个用户用3个变量a,b,c和d,e,f进行描述,将对应的变量使用数值表示其占比代入式(1)进行计算,就可以计算出两个用户之间的相似性。相似度越高表明两个用户拥有潜在相同需求的可能性越高,就可以根据前者数据分析对用户需求进行精确引导,从而得到高于用户预期的产品。

皮尔逊相关系数核心计算代码如下:

均值计算:

private static double getMean(double[] datas) {

double sum = 0.0;

for (int i = 0; i < datas.length; i++) {

sum += datas[i];//datas[]传入的数据

}

return sum / datas.length;//返回计算的平均数

}

分子计算:

private static double numerator(double[] xData,double xMean,double[] yData,double yMean) {

//xData为对象X的数据,yData为对象Y的数据

double numerator = 0.0;

for (int i = 0; i < xData.length; i++) {

numerator += (xData[i] - xMean) * (yData[i] - yMean);

}

return numerator;

}

分母计算:

private static double denomiator(double[] xData,double xMean,double[] yData,double yMean) {

//xData为对象X的数据,yData为对象Y的数据

double xSum = 0.0;

for (int i = 0; i < xData.length; i++) {

xSum += (xData[i] - xMean) * (xData[i] - xMean);

}

double ySum = 0.0;

for (int i = 0; i < yData.length; i++) {

ySum += (yData[i] - yMean) * (yData[i] - yMean);

}

return Math.sqrt(xSum) * Math.sqrt(ySum);

}

3.2.3 Tomcat应用服务器

Tomcat服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,Tomcat在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。在搭建平台进行测试运行时采用此种方式。

3.2.4 Redis技术提供存储

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。数据可以从主服务器向任意数量的从服务器上进行同步,从服务器可以是关联其他从服务器的主服务器。这样就可以使得平台包括线上教育服务得到很好的支持,同时使得偏远地区在从服务器上获取数据效率得到保证。

3.2.5 分治思想

分治思想是将原问题划分成或归结成规模较小的子问题,在平台中分治思想的体现是以平台中的一个小项目组作为基础子问题进行看待,每个项目组都可以单独处理相应的项目,同时独立项目组中的成员也可以根据分治思想将个人的任务分治为更小的步骤进行实现。平台分治思想体现如图9所示。

4 核心业务

4.1 软件系统开发

平台基于行业标准,利用平台的集约化优势可以高质高量高效率的制作出满足用户预期的产品。平台提供的软件系统开发服务不会因为用户不懂行业知识而偏差,也不会因为用户的低功能需求而拒绝开发,只要在平台制定的标准之内,用户的需求均可以得到认可和实现。

4.2 人才培养

平台注重对人才的培养,尤其是对想深入学习的学生。平台可以提供学习分区,甚至是线下培训对有学习欲望的学生进行引导,提升学生对相关技术的认识,并在现有基础上进行突破与创新[8],推进技术的向前发展;无论是什么样的人才,平台都会对其负责和认可。

4.3 系统扩展与升级

当用户再次提出相应需求后,平台基于ISO 9000-3标准与平台制定的标准及时的对已交付系统的功能进行扩展[9]与升级,可以高效率的完成用户对系统功能的二次需求,极大提高了用户体验感,降低了用户所需等待时间。

4.4 校企合作

平台与相关高校进行联合,实现高校学生在平台线上采用Redis技术,线下进行实训的方式进行学习。这样做可以让学生们充分理解行业需求与发展[10],减少学生在求学路上的弯路;同时学生也可以在平台接受适合學生制作的项目,提高学生的项目开发经验水平,为步入社会打好坚实的基础。平台人才培养方式如图10所示。

5 结 语

实验表明,本文所描述的平台采用B/S架构进行设计是可行的,这一点可以参考现在的电商平台。电商平台就是将所有分散的店铺进行线上售卖,而平台是一个拥有一对一服务的大型商店,所以本文研究课题描述的平台是完全可以实现的,目前的网络环境和技术也是完全支持的。这样的平台还可以产生巨大的社会积极效应,促进技术的发展。

参考文献

[1]沈旻园. 分布式软件测试管理工具的研究与实现[D].上海:华东理工大学,2012.

[2]夏耘,林华.软件系统的集成测试技术研究[J].计算机工程,2000(10):102-104.

[3]王文龙. 分布式软件开发平台的设计与实施[D].北京:北京邮电大学,2011.

[4]左计永.现代分布式软件设计架构探讨[J].电子技术与软件工程,2014(11):82.

[5]郑无疾,张建军,朱山风.分布式对象在软件系统集成中的应用

[J].计算机应用,1999(8):26-28.

[6]于春娜. 基于HTML5 Web Socket的智能手机聊天室开发[D].北京:北京邮电大学,2014.

[7]杨东.ASP的网络聊天室设计与开发[J].电脑编程技巧与维护,2013(9):52-57.

[8]王鑫.可扩展计算机网络设计系统的设计分析[J].无线互联科技,2017(23):50-51.

[9]曹非.基于可扩展计算机网络设计软件系统的开发设计[J].中国市场,2017(34):154.

[10]李茂林.可扩展计算机网络设计软件系统的开发设计[J].电子技术与软件工程,2017(7):43.

猜你喜欢
网络环境
网络环境对艺术类大学生的影响和对策
网络环境下高职英语课程多维度评价方式研究
网络环境下高校思想政治教育创新路径探讨
基于网络环境视角的学校图书管理问题研究
网络环境下的大学生道德与法治教育浅析
网络环境下的商务英语课程资源库的建设研究
网络视域下初中作文教学初探