基于Web技术的服务通告人工工时计算软件设计与开发.docx

基于Web技术的服务通告人工工时计算软件设计与开发.docx

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

?

?

基于Web技术的服务通告人工工时计算软件设计与开发

?

?

傅聪张艳红付冬梅杨焘

【关键词】服务通告;人工工时;Web技术;软件设计

TP393.09;U695.2A1674-0688(2021)06-0053-04

0引言

服务通告人工工时包括最短施工时间和总人工工时。最短施工时间是指完成一项工程,在人力资源充足、工人操作娴熟且没有发生特殊状况的情况下,工程施工周期的最小值。与最短施工时间不同,总人工工时是指完成一项工程所有工序,在工人操作娴熟且没有发生特殊状况的情况下,所有工人花费的工时之和。由于工程施工期间可以让多道工序同时进行,所以最短施工时间一般小于总人工工时[1]。

目前,服务通告人工工时的制定主要依赖专业工程技术人员的经验,人为主观因素影响很大,没有相对科学的理论依据作为支撑,而实际的工程工序时长具有一定的时间不确定性,使得这种凭借经验的人工工时的可靠性较低。

本文旨在利用Web等技术[2-5],通过分析某型飞机制造商已发布的部分服务通告,借助网络计划理论[6],设计和开发一套能够计算服务通告人工工时的软件,提高服务通告制定效率,减少服务通告人工工时制定过程中受主观因素的影响,提升服务通告的参考价值。

1软件总体功能说明

本文设计开发的软件主要具有三大功能:经验数据查询、人工工时计算、数据提取更新。用户可以通过输入关键字和给定精确度查询数据库中已有的服务通告人工工时统计数据、工序数和文件下载链接;通过软件提供的数据提取更新功能,数据库管理者只需要上传服务通告PDF文件,就可以自动提取并统计数据;在工序时长和前后关系已知的情况下,用户通过输入工序表信息,可以得到理论人工工时计算结果。软件功能结构图如图1所示。

2软件开发与设计说明

服务器端运行Linux系统,使用Nginx作为静态服务器,使用uWSGI作为应用程序服务器运行Python程序,软件采用基于Python语言的Flask后端框架[7-10]和基于JavaScript[11]语言的Vue前端框架[12-13]相耦合,前端使用BootStrap实现响应式布局,用户使用浏览器输入服务器的网址即可使用软件。

2.1服务器

服务器的PythonCGI脚本作为数据I/O模块,能够处理不同请求。

(1)请求查询数据时:将收到的关键字符串交给Python数据库模块的查询接口,使用数据搜索算法查找结果,然后将查询的结果发送给客户端。

(2)请求下载文件时:根据请求的文件名将文件发送给客户端。

(3)请求上传文件时:首先将上传的数据转交给Python数据提取模块,借助正则表达式和数据提取算法进行字符匹配和提取,然后交给Python数据库模块的更新接口,使用在线数据统计算法更新数据库的数据,最后将处理成功与否返回给客户端。

2.2客户端

当客户端请求主页Html和Javascript文件后,客户端Vue按Html模板渲染网页,基于Vue的Javascript脚本数据I/O模块作为客户端运行的核心,协调内部数据,使由Html文件和Bootstrap构成的GUI模块能够动态响应用户输入。

(1)当用户输入时:数据I/O模块自动检查并更新GUI模块中的数据,使用自动纠错算法纠正错误输入。

(2)当用户要计算数据时:数据I/O模块将GUI模块中的数据交给工时计算模块,使用树枝图算法计算最短施工时间和总人工工时结果,将返回的结果更新到GUI模块中。

(3)当用户要查询或更新数据时:数据I/O模块将GUI模块中的数据发送给服务器数据更新接口,将返回的结果更新到GUI模块中。

2.3数据库

在数据库结构方面,软件使用的数据库由服务通告元数据表(命名sb)和统计数据表(命名count)组成,其定义如图2所示。数据表sb用来记录数据提取模块产生的数据,数据表count用来统计数据表sb中的数据记录。

2.4算法设计

2.4.1树枝图算法

算法的输入:工序表,工序表中每道工序具有名称、时长、紧前工序3个基本属性,其中紧前工序的名称与工序名称是对应的。算法的输出:最短施工时间、关键工序、总人工工时。

树枝图算法的关键是选取可选工序和获得所有工序路线施工时间的最大值。对于前者,程序应该在每次选择之前判断哪些工序可以选择;对于后者,程序需要找出所有工序路线,比较各条工序路线的施工时间,然后得到所有工序路线施工时间的最大值,作为工程最短施工時间。

算法运行过程:①以一个空数组和初始时刻0为初始参数开始,遍历所有工序表中可选的工序;②每次将一道可选工序的名称加入数组,并将初始时刻加上该工序时长得到新的时刻,如果没有可选工序,则转到过程?譼?訛;③以所得到的数组和新的时刻为初始参数开始重复上述过程?譹?訛;④将数组和时刻作为一条结果保存在结果数组中,由于所

文档评论(0)

188****8742 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档