本栏目责任编辑:谢媛媛
软件设计开发
基于Delphi+Web Service 的资产管理信息系统设计与实现
袁宏杰1,秦家瑞1,臧永娜2,李海涛1,韩瀚1
(1.石家庄邮电职业技术学院,河北石家庄050022;2.石家庄祥隆泰超市信息中心,河北石家庄050051)
摘要:为了提高资产管理的效率和水平,对资产管理的业务流程进行了梳理和分析,提出了基于三层架构的资产管理信息
系统。前端使用Delphi 开发,Delphi 能够快速实现界面功能,基于组件屏蔽了系统底层实现,面向对象语言[1],能够让开发者重点关注业务逻辑。另外Delphi 可以方便控制外设,打印输出表单,实现套打资产卡片和标签。后台使用基于CXF 的Web Service 服务,服务部署到Tomcat 上,数据库采用MySQL 数据库,方便部署。关键词:网站开发;数据库;资产管理;信息系统中图分类号:TP311
文献标识码:A
文章编号:1009-3044(2021)02-0060-02
开放科学(资源服务)标识码(OSID ):
1背景
基于Delphi 框架组件开发的应用[2],稳定性好,系统灵活方便,易于后期维护和管理;另外后台使用Web Service 实现业务逻辑,增强扩展性,基于MySQL 数据库,安装和部署更为便捷。
2资产管理信息系统分析与设计
2.1业务流程分析
近年来,随着高校的改革日益深入,如何高效、准确地进行资产的管理,已成为高校资产管理中面临的严峻挑战。传统的手工或Excel 表格的资产管理方式已难于满足管理人员的日常需求,主要存在以下问题:一是随着设备数量和种类的增多,快速准确的查设备。二是每年度例行设备清查工作量大,用Excel 维护管理导出的数据容易产生不一致的现象,给资产清查带来必要的重复劳动。三是各个部门的资产设备变动情况不能实时跟踪掌握。基于以上原因开发资产管理信息系统是十分必要的,经过对资产管理及使用部门的调研分析,资产管理信息系统的总体需求如图1。
图1资产管理信息系统功能结构图
资产录入管理:资产手工录入和Excel 数据导入,资产编号唯一,不能重复。
资产变动管理:部门内调拨申请、审核;资产部门间调拨申请、审核;退库(销账);报修申请、审核等。
资产合同管理:资产合同录入、合同信息维护、合同设备管理等。
资产查询统计:可以按资产编号、类型、所属部门、合同编号等单一查询或组合查询。
资产清查管理:资产清查是指由于长期资产未按要求进行变动或维护,需要通过清查对设备进行统一的调整过程。主要包括调整设备使用地点、领用人等信息。主要功能包括按部门、实训室、办公室等单位进行调整。2.2资产信息系统的技术架构
资产管理信息系统基于Delphi 和Web Service 框架进行设计,资产管理信息系统实现了资产数据导入、录入和展示以及资产卡片、资产标签、资产报表打印等功能。Delphi 通过Web Service 接口调用Tomcat 发布的Web Service 服务,实现业务逻辑处理。Web Service 通过JAVA jdbc 驱动连接MySQL 数据库[3],实现数据存储及查询,考虑到数据查询的效率,采用了连接池技术。资产管理信息系统总体技术框架如图2所示。
图2资产管理信息系统总体技术框架图
3系统数据库结构设计
资产管理信息系统的数据库结构设计首先分析学院资产
管理的需求,包括资产导入、资产录入、资产调配等业务需求,然后确定数据流图,设计并创建数据库表,根据数据库逻辑结构,建立数据库及其应用系统的过程。图3是资产管理系统中
收稿日期:2020-09-28
作者简介:袁宏杰(1976—),河北定兴人,高级工程师,硕士,主要研究方向为电子信息技术、软件开发与项目管理;秦家瑞(1973
—),河北辛集人,讲师,学士;臧永娜(1978—),河北辛集人,助理工程师,学士;李海涛(1982—),河北石家庄人,讲师,硕士;韩瀚(1987—),河北石家庄人,助理工程师,硕士。
60
软件设计开发
本栏目责任编辑:谢媛媛
Computer Knowledge and Technology 电脑知识与技术
第17卷第2期(2021年1月)
的部分E-R 实体图[4]
。
图3资产管理部分E-R 实体图
4系统技术实现
资产管理信息系统设计为三层架构模式,表示层、业务逻
辑层、数据层[5]
。系统技术实现方式如下。4.1系统前端界面技术实现
前端界面主要采用Delphi 提供的组件包括按钮、列表控件listview 、菜单XPmenu 库,日志控件delphilog4j 。首先客户端通过Web Service 接口请求参数后转发给业务逻辑层,业务逻辑层对业务数据进行处理,并调用SQL 语句将数据保存到MySQL 数据库中,最后将处理结果返回至客户端。系统采用Delphi 自带的Web Service 基于WSDL 导入方式生成Web Service 接口单元,表示层包含该接口单元。Web Service 接口核心代码如下:
RIO.HTTPWebNode.UseUTF8InHeader :=True;try
Result :=(RIO as CommFJJ);if UseWSDL then begin
RIO.WSDLLocation :=192.168.1.5;//服务器地址RIO.Service :=CommFjj;RIO.Port :=2051;//端口号end else
RIO.URL :=Addr;finally
if (Result =nil)and (HTTPRIO =nil)then RIO.Free;end;4.2控制层的实现
控制层是Web Service CXF 框架实现,使用CXF 框架发布
WebService 需导入CXF 框架的相关Jar 包,项目引用的cxf 版本为3.1.8,该版本后导入lib 目录中的所有jar 包。
Web Service 接口类CommFJJ.java ,接口实现类CommFJJ⁃Impl.java 表示层转发到控制层的消息通过CommFJJImpl 接口实现类负责解析,根据功能标识,负责转发到相应的业务逻辑处理模块,业务逻辑处理模块将消息处理完成后,在通过接口返回到表示层,具体的控制层处理过程如图4,控制层的配置如图5
所示。
图4
资产变动的流程控制图
图5资产管理信息系统控制层配置
4.3业务逻辑层的实现
在业务逻辑层,主要是根据资产管理业务逻辑流程进行处理,具体每个业务处理涉及与数据层的交互。
业务逻辑层被设计在数据层之上,系统中通过MySQL 结构化数据库操作语言方式对数据进行增、删、改、查,加工后的数据通过Web Service 接口方式返回给前端界面,进行显示和打印。
资产管理信息系统为了提高拓展性,采用了面向对象的模块化处理方式,涉及公共调用的方法或对象,进行统一抽象成方法和类,具体实现由继承它的方法或对象实现,提高了系统的拓展性。
4.4数据持久层的实现
资产管理信息系统的数据层实现是通过JDBC 来实现对数据库的访问。数据库采用MySQL 数据库,采用InnoDB 引擎[6],该引擎能够实现自动提交或手动提交,并且可以用ROLLBACK 实现回滚,同时具有事物机制,安全存储可靠性高。InnoDB 锁定在行级,实现非锁定读。使得事物具有一致性。数据库冷热备份与恢复更具有灵活性。
5系统实现的关键路径
1)为了降低客户端与后台服务的大量数据交互,提高系统运行效率,前端界面展示部分,要进行界面中数据项的合法性检查,检查通过后再提交到后台服务进行处理。后台服务传给前台的数据,要格式化成字符形式,前端界面收到后,直接显示不用再加工处理。
2)系统采用统一的接口,客户端与Web Service 端采用固定字符串格式进行数据交互,这样方便后期
系统升级和维护,提高了系统的拓展性。
3)基于Web Service 调用方式,为系统后期提供移动端调用提供了接入方式,提高了设备接入的拓展性。
6结束语
资产管理信息系统是一个基于Delphi+Web Service 模式的三层架构应用系统[7],该系统采用CXF Web Service 主流框架作为技术路线,主要框架是开源的,降低了开发成本。各层之间耦合度低,层与层之间采用接口调用方式,提高了系统应用的灵活性和可扩展性。
(下转第64页)
delphi app61
本栏目责任编辑:谢媛媛
软件设计开发Computer Knowledge and Technology 电脑知识与技术第17卷第2期(2021年1月)
(上接第61页)
参考文献:
[1]王书爱.面向对象程序设计的应用[J].电脑知识与技术,2011,7(29):7289-7290,7299.
[2]张瑜.基于Delphi 的物流企业人力资源管理系统的设计[J].自动化技术与应用,2020,39(9):159-162.
[3]李伟超.利用Java JDBC 进行数据库访问[J].民营科技,2017(4):83.
[4]李威,高锦涛,高腾.基于E-R 图的关系数据库关键字查询[J].
计算机系统应用,2012,21(9):156-161,140.
[5]黄兴荣.基于B/S 架构模式的三层结构设计与实现[J].电脑知识与技术,2015,11(32):52-53.
[6]邬文轩,胡晓勤.一种基于MySQL Innodb 数据引擎的增备方法[J].计算机安全,2013(5):30-33.
[7]林志灿.Struts 与Hibernate 框架下在线考试系统的设计与实现[J].信息技术与信息化,2018(1):79-83.
【通联编辑:谢媛媛】
3.4批量制作报表
重新导入新班级数据项后,需要用相同格式输出不同班级的成绩时,只需复制已有班级的报表文件,然后修改报表的数据源(见图9),同时在设计视图下修改班级名称、应修总学分等信息。同样,如果是要输出不同年级的成绩单时,则根据情况修改数据记录源、成绩审核时间、班级、应修总学分、学分绩点
等信息即可。
图9选择数据源示意图
学会使用报表功能后,在需要批量进行数据处理时,都可以举一反三利用报表功能实现,如结业申请表。这样就完成了成绩单的制作和输出以及扩充运用。成绩管理面向全体一线
教师,要求必须简单、方便、易用,能够在现有的操作系统及基
本办公软件中运行[4]
。而成绩的查询、打印又是成绩管理工作
中的重要环节操作[5]
。本文基于Excel 和Access 的学生成绩单设计与实现方法优点为:简明易懂,易于操作,适用性广,能满足各学校对于成绩管理的不同要求,有效提高管理工作效率,实现成绩管理的信息化。
参考文献:
[1]马赫,冯思度,张红伟.学生成绩管理系统的设计与实现[J].电脑知识与技术,2019,15(6):61-62.
[2]田杰.Excel 函数在学生信息及成绩管理工作中的应用[J].科技资讯,2016,14(15):19,21.
[3]温锡芬.应用小型数据库Access 制作中文报表[J].大众科技,2010,12(3):53-54.
[4]颜晓佳,张胜.基于Excel 软件的成绩管理系统设计与开发[J].教学与管理,2020(7):15-17.
[5]黄伟,何苏.Excel 在学生成绩管理中的应用[J].大众科技,2012,14(3):30-32.
【通联编辑:谢媛媛】
(上接第47页)
[3]郑岚.Python 访问MySQL 数据库[J].电脑编程技巧与维护,2010(6):59-61.
[4]毛德祥,罗荣阁.基于ASP 技术的Web 应用程序三层设计模型[J].微型电脑应用,2002,18(3):26-28,56-3.
[5]郭东升,田秀华.Linux 环境下基于Socket 的网络通信[J].软件导刊,2009,8(1):116-118.
[6]张丽.基于C 语言访问的MySQL 数据库[J].电子技术与软件工程,2016(22):165-166.
[7]邱宏斌.一种基于ESP8266模块的物联网设计思路[J].电子世界,2017(7):157.
[8]张富正.行程开关中的结构应用[J].中国新技术新产品,2012(24):76-77.
【通联编辑:谢媛媛】(上接第53页)
因此建议在教学当中适当引入传统的App 开发,App Inventor 作为快速实现,编写代码可以相互印证,而且也为App 深入学习打下基础。
参考文献:
[1]师硕,郭迎春,于洋.美国高校计算机科学原理课程介绍及启示[J].计算机教育,2018(1):139-143.
[2]刘琼,史诺.基于APP Inventor 构建高职学生计算思维能力培养模式[J].无线互联科技,2018,15(17):43-44,85.
[3]谭梁.计算思维和App Inventor 的信息技术课堂教学探究——以家庭药箱APP 设计为例[J].中国教育技术装备,2017
(21):30-32.
[4]叶绍锦.对App inventor 教学中的问题及改进方法[J].知识文库,2018(13):136.
[5]潘婷婷,梅娟.App Inventor 在高职计算机教学中的探究[J].电脑知识与技术,2018,14(17):161-162.
[6]杜静.STEAM 教学理念下的App Inventor 教学探索[J].教育革新,2018(8):57.
[7]郑治武.App Inventor 在高职Android 移动应用类课程中的教学研究[J].无线互联科技,2017(18):102-103.
[8]钟浩然.微课程支持下的信息技术第二课堂教学探索——以App Inventor 教学为例[J].教育信息技术,2018(4):74-76.
【通联编辑:王力】64
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论