第 1 章 绪论
1.1 研究背景和意义
1.1.1 研究背景
河北省石家庄市东风制版有限公司成立于 1995 年,历经二十年的发展,现已成为我国华北地区凹印制版业的一家优秀制造企业。公司创立之初经历了创业的艰苦,发展过程中也品尝过各种艰难的滋味,在公司成立时期工作人员从个位数发展到现在的数百人。公司产品覆盖凹印类各种印版的设计、分色和制版,并且专业性高、生产制造能力雄厚[1]。生产基地所使用的雕刻主机全部采用进口机型,确保产品满足各类用户的不同需求,产品质量一直在同行业中处于领先地位。该公司是长期从事凹印制版的设计、分色和制版版辊的加工与生产工作的中小型中小企业。公司中各个部门有各自的工作,其中包括的部门有生产车间、财务部、电拼部、设计部和业务部等部门。
1.1 研究背景和意义
1.1.1 研究背景
河北省石家庄市东风制版有限公司成立于 1995 年,历经二十年的发展,现已成为我国华北地区凹印制版业的一家优秀制造企业。公司创立之初经历了创业的艰苦,发展过程中也品尝过各种艰难的滋味,在公司成立时期工作人员从个位数发展到现在的数百人。公司产品覆盖凹印类各种印版的设计、分色和制版,并且专业性高、生产制造能力雄厚[1]。生产基地所使用的雕刻主机全部采用进口机型,确保产品满足各类用户的不同需求,产品质量一直在同行业中处于领先地位。该公司是长期从事凹印制版的设计、分色和制版版辊的加工与生产工作的中小型中小企业。公司中各个部门有各自的工作,其中包括的部门有生产车间、财务部、电拼部、设计部和业务部等部门。
该公司已有一套业务管理系统[2],能够实现基本的订单记录,用户管理等功能。但是具体到业务流程环节并没有实现其功能,例如设计、修图、分类、调色等功能。原有的管理系统对订单只是能够实现增加、删除客户的基本信息以及产品的种类等功能,在记录有关产品具体细节上的功能并不完善,例如设计图的设计,制版所用材料数量等。虽然已有系统在财务核算上能够记录客户所交费用,但是在涉及核算方面仍然是人工计算的方式,这就导致过多的人力资源成本的浪费,同时并不能实现核算信息的自动导出等功能。在订单处理方面,已有系统采取先来先服务的规则[3],即当客户到来,而当前服务台正好处于空闲状态,则该客户就可以立即接受服务台的服务,否则只能按照队列中的先后顺序等待服务台的服务,并没有运用较好的排队规则,这样做的后果就使得一些重要的订单和紧急的订单无法及时被应用于生产,这就导致客户对企业服务质量的好感度下降,从而去选择同行业中的其他企业,这使得公司的生产量下降,导致公司的经济利益受损。随着现代科技和时代的发展,以及客户对产品质量和生产效率要求的不断提高,已有的管理系统已经不能够很好的满足当前状态下公司发展的需求,因此该制版企业急需根据自身业务特点和实际管理需求并在原有系统的基础上,利用信息化和现代化技术手段,研制出一套统一、高效、安全的符合当前时代发展步伐的制版业务管理平台。
.......................
1.2 国内外研究现状
企业业务管理系统经历了 OPM(Order Point Method,订货点法)[8]、MRP(Material Requirements Planning,物料需求计划)[9]、闭环 MRP(Closed Material Requirements Planning,闭环物料需求计划)[10]、MRPⅡ(Manufacturing Resource Planning Ⅱ,制造资 源 计 划 Ⅱ)[11]、 ERP(Enterprise Resource Planning , 企 业 资 源 系 统 )[12]和CIMS(Computer Integrated Manufacturing System,计算机集成制造系统)[13]六个发展阶段。
.......................
1.2 国内外研究现状
企业业务管理系统经历了 OPM(Order Point Method,订货点法)[8]、MRP(Material Requirements Planning,物料需求计划)[9]、闭环 MRP(Closed Material Requirements Planning,闭环物料需求计划)[10]、MRPⅡ(Manufacturing Resource Planning Ⅱ,制造资 源 计 划 Ⅱ)[11]、 ERP(Enterprise Resource Planning , 企 业 资 源 系 统 )[12]和CIMS(Computer Integrated Manufacturing System,计算机集成制造系统)[13]六个发展阶段。
欧美等发达国家研究出很多良好的企业业务管理系统产品,并且欧美等发达国家企业业务管理系统的应用状况也好于我国[14]。在西方一些发达国家中,很大一部分的大中型企业和小型企业已经把 ERP 应用在管理上。虽然一些小微型企业目前并没有使用,但是基本已经准备把 ERP 和企业管理结合在一起[15]。
在企业业务管理系统方面,我国的地位是不可或缺的[16]。我国也自主研制了一些适合于我国国情和管理特色的企业业务管理系统。我国企业业务管理系统的应用状况总体落后于欧美等发达国家,但 ERP 系统也较广泛地应用在我国大中型企业并且应用效果良好[17]。企业业务管理系统的现状为大中型企业从应用软件层次和应用效果都好于中小型企业。随着“互联网+”的推广和普及中小型企业和小微企业都非常渴望应用企业业务管理系统,但受资金和企业信息技术人员技术薄弱等因素的制约[18]。另一方面,虽然在业务上不同行业存在着共性,但是那也只是极少的情况,更多的业务个性化的存在各自的特性,甚至同一行业不同企业之间都有着各自的不同,所以一般都很难采用直接购买商业管理信息软件的方法进行企业业务管理[19]。往往都是在同一领域业务管理系统产品的基础上进行修改、定制等工作后方可进行部署。也存在大量企业根据自己企业的特色单独设计开发业务管理系统[20]。
在企业业务管理系统方面,我国的地位是不可或缺的[16]。我国也自主研制了一些适合于我国国情和管理特色的企业业务管理系统。我国企业业务管理系统的应用状况总体落后于欧美等发达国家,但 ERP 系统也较广泛地应用在我国大中型企业并且应用效果良好[17]。企业业务管理系统的现状为大中型企业从应用软件层次和应用效果都好于中小型企业。随着“互联网+”的推广和普及中小型企业和小微企业都非常渴望应用企业业务管理系统,但受资金和企业信息技术人员技术薄弱等因素的制约[18]。另一方面,虽然在业务上不同行业存在着共性,但是那也只是极少的情况,更多的业务个性化的存在各自的特性,甚至同一行业不同企业之间都有着各自的不同,所以一般都很难采用直接购买商业管理信息软件的方法进行企业业务管理[19]。往往都是在同一领域业务管理系统产品的基础上进行修改、定制等工作后方可进行部署。也存在大量企业根据自己企业的特色单独设计开发业务管理系统[20]。
由于 B/S 架构具有部署和操作方便等优势,目前大多数业务管理系统都是 B/S架构[21]。由于 Java 具有良好的平台无关和开发较简单等优点,所以目前大多数 B/S架构的企业业务管理采用 Java Web 技术开发[22]。
....................
....................
第 2 章 相关理论基础
2.1 Nginx 服务器
Nginx 于二十一世纪初公开发布于 Rambler.ru 网站,它是由 Igor Sysoev 利用 C语言进行开发。Nginx 是一个具有电子邮件(IMAP/POP3)、Web 和反向代理的轻量级的服务器[27,28],其优点是并发量大、占用资源少。但是,Nginx 刚开始是作为解决C10k 问题的 Web 服务器而被创建的[29]。在互联网时代的背景下,国内有很多网站已经开始把 Nginx 作为系统运行的 Web 服务器,国内几家比较知名的互联网公司中的搜狗、CSDN、新浪和豆瓣等。
Nginx 具有非常好的性能,这应该归功于其事件驱动的编写方式,同时也是具备负载平衡和反向代理等特点[30,31]。Nginx 的性能与 Lighttpd 几乎是一样的,但是却没有 Lighttpd 中内存泄漏的缺点,并且针对 Lighttpd 中 mod_proxy 已经存在的问题,已经很久没有被修复和更新了。
2.1 Nginx 服务器
Nginx 于二十一世纪初公开发布于 Rambler.ru 网站,它是由 Igor Sysoev 利用 C语言进行开发。Nginx 是一个具有电子邮件(IMAP/POP3)、Web 和反向代理的轻量级的服务器[27,28],其优点是并发量大、占用资源少。但是,Nginx 刚开始是作为解决C10k 问题的 Web 服务器而被创建的[29]。在互联网时代的背景下,国内有很多网站已经开始把 Nginx 作为系统运行的 Web 服务器,国内几家比较知名的互联网公司中的搜狗、CSDN、新浪和豆瓣等。
Nginx 具有非常好的性能,这应该归功于其事件驱动的编写方式,同时也是具备负载平衡和反向代理等特点[30,31]。Nginx 的性能与 Lighttpd 几乎是一样的,但是却没有 Lighttpd 中内存泄漏的缺点,并且针对 Lighttpd 中 mod_proxy 已经存在的问题,已经很久没有被修复和更新了。
然而,现在很多开发者在开发网站时候开始喜欢用 Nginx+Tomcat+jdk 模式,用户明明可以直接访问 Tomcat,为啥还要用 Nginx,还做多了一次请求,为什么会出现这一现象呢?这就该归因于 Nginx 和 Tomcat 两者之间的区别。Web 上的 Server 都称之为 Web Server,但是大家分工也有所不同的[32,33]。静态服务器和代理服务器通常是用 Nginx 来实现,外部请求首先会经过 Nginx,然后再由 Nginx 转发给后台的应用服务,而 Tomcat 经常被用来做为一个与 Docker 功能相近的容器,类似于搭建一个虚拟环境,满足于 Java Web 运行所需要的条件,与之类似的还有 Jboss,Jetty 等[34,35]。然而,Nginx 在能够提供这些基础应用功能的同时,还能实现反向代理和负载均衡[36]。比如:当一个网站的请求量达到极限时,一台服务器远不能满足需求时,就需要利用 nginx 做反向代理到多台服务器。并且多台服务器之间还能均衡分担,不会出现因某台服务器宕机或者某台服务器空闲的状况[37]。由于 Nginx 和 Tomcat 在功能有很多重合的部分,导致 Apache 的使用量逐渐在减少[38]。
在严格意义上来讲,Nginx/Apache 应该被称为 HTTP Server;Tomcat 应该是一个 Application Server,也可以说其是一个 Servlet/JSP 应用的容器[39]。HTTP Server 的重点在于 HTTP 协议层面的访问控制和传输[40],因此在 Nginx/Apache 功能上可以体现出负载均衡和代理等特点[41]。客户端 Client 想要访问服务器上的存储资源时,是需要通过HTTP Server服务来实现,否则客户端Client 是无法获取到服务器中的资源。利用 CGI 技术,HTTP Server 可以将处理过的内容分发出去,但是 HTTP Server 也只是利用 HTTP 协议,把服务器中的资源分发给各个客户端 Client。
.........................
2.2 My SQL 数据库事件
因为本系统财务核算模块需要在每个月月初生成财务表,所以需要定时处理数据库中财务表中的内容。本系统使用的是 My SQL5 版本,此 My SQL 版本中新增了一个新功能即事件调度器(Event Scheduler),能够定时去处理一些数据库中的表[44],
因为本系统财务核算模块需要在每个月月初生成财务表,所以需要定时处理数据库中财务表中的内容。本系统使用的是 My SQL5 版本,此 My SQL 版本中新增了一个新功能即事件调度器(Event Scheduler),能够定时去处理一些数据库中的表[44],
比如:对表中的数据进行统计汇总并生成报表等任务。相比于操作系统的定时任务,My SQL 的定时任务更加精准,因为它能精确到秒,能够处理更加精准的任务。而操作系统的定时只能精确到分钟。因此,对一些对数据实时性要求较严格的任务来说,My SQL 事件调度器无疑是更加合适的选择[45]。
临时触发器(temporal triggers)是 My SQL 事件调度器另一个别称,因为事件调度器是根据指定的时间去触发处理指定的任务,而触发器(Triggers)是根据指定的表去触发某个指定的任务[46]。
临时触发器(temporal triggers)是 My SQL 事件调度器另一个别称,因为事件调度器是根据指定的时间去触发处理指定的任务,而触发器(Triggers)是根据指定的表去触发某个指定的任务[46]。
2.2.1 使用权限
在使用 My SQL 事件调度器时,为了防止任何用户通过事件调度器操作表中的数据,因此需要先判定该用户是否具有权限,若无权限则不能对数据库中的表做创建和查询操作。即使该用户的权限能够创建和查询数据库中的表,也要查看该操作语句是否具有执行权限。在 My SQL 数据库中有两个表,即 mysql.user 表和 mysql.db表,可以通过修改两个中的 Event_priv 字段来设置事件调度器的权限。#p#分页标题#e#
.......................
第 3 章 关键技术研究 ························ 13
在使用 My SQL 事件调度器时,为了防止任何用户通过事件调度器操作表中的数据,因此需要先判定该用户是否具有权限,若无权限则不能对数据库中的表做创建和查询操作。即使该用户的权限能够创建和查询数据库中的表,也要查看该操作语句是否具有执行权限。在 My SQL 数据库中有两个表,即 mysql.user 表和 mysql.db表,可以通过修改两个中的 Event_priv 字段来设置事件调度器的权限。#p#分页标题#e#
.......................
第 3 章 关键技术研究 ························ 13
3.1.1 分析与设计 ······················· 13
3.1.2 实现方式 ··················· 13
第 4 章 系统的功能需求 ···················· 19
4.1 企业组织机构 ··················· 19
4.2 系统用例分析 ····················· 19
4.3 客户管理功能需求 ······················ 21
第 5 章 系统的设计与实现 ····················· 33
5.1 系统开发环境 ·············· 33
5.2 系统体系结构设计 ············ 33
第 5 章 系统的设计与实现
5.1系统体系结构设计
东风制版企业管理信息系统的系统体系结构如图 5-1 所示,其采用三层的逻辑结构,分别是展现层、业务逻辑层和数据层。其中,展现层是用户交互界面,包括标准报表、随机查询等。业务逻辑层包括客户管理、用户管理、权限管理、部门管理、订单管理、业务管理、设计管理、电拼管理、生产监控管理、生产统计管理、库房管理、财务管理和工资管理等业务模块;数据层包括:客户数据、用户数据、权限数据、部门数据、订单数据、业务数据、设计数据、电拼数据、生产监控数据、生产统计数据、库房数据、财务数据和工资数据等。
.........................
结论
公司以前用的业务系统,系统模块相对较为单一,功能上有所欠缺,并且信息化水平较低。在财务核算上仍然为人工计算,整个核算功能效率低下。在订单生产顺序上没有考虑到客户、订单和公司利益三者之间的关系,并不能很好的满足客户的需求和提高公司的效益。而新设计和实现的石家庄东风制版业务管理系统,完全解决和可以避免这些问题。本系统在信息的传递和共享方面,速度有了明显的提高,
公司以前用的业务系统,系统模块相对较为单一,功能上有所欠缺,并且信息化水平较低。在财务核算上仍然为人工计算,整个核算功能效率低下。在订单生产顺序上没有考虑到客户、订单和公司利益三者之间的关系,并不能很好的满足客户的需求和提高公司的效益。而新设计和实现的石家庄东风制版业务管理系统,完全解决和可以避免这些问题。本系统在信息的传递和共享方面,速度有了明显的提高,
整体上提高了公司经济效益和现代化信息水平。
本文研究的工作包括以下几个方面:
本文研究的工作包括以下几个方面:
1) 较为系统的学习了 Nginx 服务器使用方法、My SQL 数据库事件的基本语法及使用规则和排队论等相关理论知识。
2) 对本系统中的月报表的生成进行了较为系统的分析和设计,提出一种较为合理的报表生成解决方案。为了避免人为因素带来的诸多影响,采用数据库事件技术定时去调用函数计算报表的生成,这样做的原因是由于人为的随机性浮动大,对生成报表相关工作影响较大,但同时也保留人为生成报表功能,使得该功能更具有人性化。
3) 本系统的订单排序功能是为了解决客户订单先后生产顺序问题而提出的解决方案。订单较多时,先后生产次序的问题就会突显出来,不同的客户在公司的角度上是不能一视同仁的,但是在满足特殊客户的需求下,还得满足普通用户的需求。排队论是为解决排队问题而提出的,经典的排队论理论存在一定的不足。本文在经典排队论的基础上,提出了区分优先级的排队论,更好的适用于本系统中的场景,较好的解决了订单生产次序问题。
2) 对本系统中的月报表的生成进行了较为系统的分析和设计,提出一种较为合理的报表生成解决方案。为了避免人为因素带来的诸多影响,采用数据库事件技术定时去调用函数计算报表的生成,这样做的原因是由于人为的随机性浮动大,对生成报表相关工作影响较大,但同时也保留人为生成报表功能,使得该功能更具有人性化。
3) 本系统的订单排序功能是为了解决客户订单先后生产顺序问题而提出的解决方案。订单较多时,先后生产次序的问题就会突显出来,不同的客户在公司的角度上是不能一视同仁的,但是在满足特殊客户的需求下,还得满足普通用户的需求。排队论是为解决排队问题而提出的,经典的排队论理论存在一定的不足。本文在经典排队论的基础上,提出了区分优先级的排队论,更好的适用于本系统中的场景,较好的解决了订单生产次序问题。
4) 对石家庄东风制版业务管理系统进行了功能需求分析,采用面向对象的方式,对系统中的各个功能模块进行详细分析和设计,并给出各个功能的用例图,为系统的设计与实现奠定了良好的基础。
5) 实现了石家庄东风制版业务管理系统,其功能包括权限管理、部门管理、订单管理、业务管理、设计管理、电拼管理、生产监控管理、生产统计管理、库房管理、财务管理和工资管理等功能模块。
5) 实现了石家庄东风制版业务管理系统,其功能包括权限管理、部门管理、订单管理、业务管理、设计管理、电拼管理、生产监控管理、生产统计管理、库房管理、财务管理和工资管理等功能模块。
参考文献(略)