吴成成 WU Cheng-cheng;程强 CHENG Qiang;赵慧慧 ZHAO Hui-hui
(衢州职业技术学院,衢州324000)
我国国民经济和社会发展“十二五”规划纲要提出,要提升电子信息制造业,根据数字化、网络化、智能化总体趋势,大力发展集成电路、软件和新型元器件等核心产业。我国信息电子产业的快速发展为电路板制造行业的快速发展提供了良好的市场环境,电子通讯设备、电子计算机、家用电器等电子产品产量的持续增长为电路板行业的快速增长提供了强劲动力。电路板的准确报价关系到电路板企业接到订单量的多少以及电路板企业的年利润,电路板传统的估价方法主要依靠报价员的个人经验以及简单地预算,与现在提倡的“互联网+”时代脱轨。因此为体现电路板价格计算的合理性和准确性,依据电路板生产流程,设计并开发了一款电路板产品报价管理系统。
为实现用户随时随地登录系统进行报价,系统采用B/S 结构模式。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,服务器安装SQL Server、Oracle、MYSQL 等数据库,浏览器通过 Web Server同数据库进行数据交互。选用该结构模式的原因是该结构具有分布性特点,用户无需安装客户端,即可随时随地进行查询、浏览等业务处理。业务扩展简单方便,通过增加网页即可增加服务器功能。系统维护简单方便,只需要改变网页,即可实现所有用户的同步更新。
本报价系统采用WampServer 作为服务器环境,WampServer 是在 Window 下的 Apache、PHP 和 MySQL 的服务器软件。免去了开发人员将时间花费在繁琐的配置环境过程,从而腾出更多精力去做开发。Apache 是一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。PHP 支持多种操作系统和数据库,是运行于服务器端的脚本语言。MySQL 数据库在Web 应用方面是最好的关系数据库管理系统应用软件,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库中,这样就增加了速度并提高了灵活性。系统客户端界面的开发采用CSS+HTML+JavaScript+jQuery 组合。
本报价系统采用ThinkPHP 框架开发,ThinkPHP 是一个快速、兼容而且简单的轻量级国产PHP 开发框架,ThinkPHP 的分层架构采用三层架构模式即MVC 模式分别为表现层(View)、业务层(Controller)、数据层(Model)。该框架能够解决应用开发中的大多数需要,因为其自身包含了底层架构、兼容处理、基类库、数据库访问层、模板引擎、缓存机制、插件机制、角色认证、表单处理的常用的组件,并且对于跨版本、跨平台和跨数据库移植都比较方便。并且每个组件都是精心设计和完善的,应用开发过程中只需关注业务逻辑即可。ThinkPHP 框架的应用极大提高了电路板产品报价系统的开发效率、可扩展性、可维护性,降低了开发和维护的难度[1]。
电路板生产制造企业生产电路板的基本流程如图1所示:客户根据自身需求向电路板生产制造企业下订单,生产企业根据客户需求设计电路图,并根据设计的电路图加工PCB 板、生成电路板BOM 单。再根据电路板BOM 单中的电子元器件核对电路板生产制造企业仓库中是否有所需的元器件以及已有的元器件的数量,如果没有则通知采购部门采购对应元器件,如有所需电子元器件则领取对应电子元器件进行焊接。电路板焊接后进行检验调试,调试成功后就可以打包发货给客户。
图1 电路板生产流程图
电路板产品成本总价一般由原料成本费、产品加工费、产品研发费、交通运输费以及售后服务费组成。其中原料成本费是由供应商和采购批次两个因数决定的,同一种原料,不同供应商、不同采购批次决定了其采购价格也不一样,因此在计算原料成本费时供应商及采购批次这两个因素要考虑进去;产品加工费包括制版费和贴片费;产品研发费包括开发人员劳务费、设计人员劳务费、调试人员劳务费以及生产加工人员劳务费。产品加工费计算公式如下:
式中:M2为产品加工费;Z1为 PCB 制版费;Z2为电路板贴片费。
产品研发费计算公式如下:
式中:M3为产品研发费;N1为开发人员劳务费/天;D1为开发人员开发天数;N2为设计人员劳务费/天;D2为设计人员设计天数;N3为调试人员劳务费/天;D3为调试人员调试天数;N4为生产加工人员劳务费/天;D4为生产加工人员生产天数。
产品销售总价计算公式如下:
式中:P 为电路板产品销售价格;M1为原料成本费;M2为产品加工费;M3为产品研发费;T 为交通运输费;S 为售后服务费;Lr为成本利润率;Q 为其它附加费用。
电路板生产企业报价系统设计采用MVC 框架结构,MVC 是模型(model)-视图(view)-控制器(controller)的缩写。该框架结构是一种业务逻辑、数据与界面显示分离的方法来组织代码,将众多的业务逻辑聚集到一个部件里面,在需要改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑,达到减少编码的时间。按照MVC的设计标准[2],本系统各个功能模块之间的系统体系结构图如图2 所示。
图2 报价系统体系结构图
根据电路板生产流程,将该报价系统划分为如图3 所示的六大功能模块。其中物料管理模块主要用于物料信息的查询、物料信息的录入、物料信息审批、物料添加历史记录查看、物料审批历史记录查看;产品管理模块主要用于电路板产品模板查询、电路板产品模板添加、电路板产品模板审批、电路板产品模板添加历史记录、电路板产品模板审批历史记录;物价管理模块主要用于仓库已有物料价格的录入;后台管理模块主要用于企业人员管理、报价系统菜单管理、报价系统权限管理;供应商管理模块主要用于供应商信息查询、供应商信息添加、供应商信息管理;产品报价模块包括产品预算历史记录、产品价格预算、研发人员费用录入。
图3 系统功能模块
本系统涉及到仓库管理员、采购员、项目经理、系统管理员四种用户,每种用户拥有自己专属的功能模块。与仓库管理员相关的模块包括物料管理模块,与采购员相关的模块包括物价管理模块、供应商管理模块,与项目经理有关的模块包括产品管理模块、产品报价模块,与系统管理员相关的模块包括后台管理模块。
结合系统需求分析本系统涉及到四种用户,并且每种用户有专属的功能模块。通常多用户系统都会涉及到访问控制,所谓访问控制是指通过某种方式允许或限制用户访问能力及范围的一种方法。这主要是由于系统需要对关键资源进行保护,防止由于非法入侵或者误操作对业务系统造成破坏。ThinkPHP 中的 RBAC 权限验证是一个ThinkPHP 最底层的核心框架,本系统使用RBAC 技术,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。RBAC 权限验证的大致流程如下[3]:
①验证当前操作是否需要验证;
②验证是否登录;
③查看当前用户身份;
④获取当前用户的权限列表;
⑤进行权限验证。
当用户输入正确的用户名、密码以及验证码后即可进入本系统的主界面如图4 所示,系统主界面显示当前登录用户待办的所有事项,点击待办事项超链接即可进行该事项的相关操作;点击系统主界面左侧的系统功能模块菜单即可进入相应功能模块;点击系统界面导航栏处的“产品报价”、“采购管理”、“产品管理”、“物料管理”图标可快速进入对应模块;通过界面右上角“修改个人信息”、“修改密码”超链接可以进行用户个人信息、系统登录密码的修改,点击“帮助”超链接可以查看本系统的帮助文档即系统使用说明书,点击“退出”超链接即可退出本系统。
图4 系统主界面
产品报价模块中包含产品预算历史记录、产品价格预算、研发人员费用等三个子模块。其中“预算历史记录”子模块记录所有已添加的产品报价单,并可对产品报价单进行修改、删除操作。“产品价格预算”子模块显示所有可以报价的产品模板,选择要报价的产品,点击“产品报价”即可进入该产品报价具体界面如图5 所示。“研发人员费用”子模块主要用于对不同的研发人员所需要的劳务费进行增加、编辑、删除。