0 引言 实验室设备管理一直是一项繁琐的工作,包括实验耗品的入库和领用,硬件设备的入库、领用和报废等。由于缺少数据的集中管理,查找设备的相关信息时比较困难。本文实现了Django技术开发的实验室设备管理系统,该系统有助于实验设备管理人员对实验设备进行管理。 1 关键技术 Django是一个开源的Web应用框架,由Python语言编写,用来减少开发复杂的数据库驱动站点所要求的工作。Django注重组件的重用性和“可插拔性”,以及敏捷开发和DRY法则。Django框架的核心包括:一个面向对象的映射器,用作数据模型(以Python类的形式定义)和关联性数据库间的媒介;一个基于正则表达式的URL分发器;一个视图系统,用于处理请求;一个模板系统<sup>[1]</sup>。 Django可以运行在许多Web服务器上,例如Apache,或者是任何WSGI兼容的服务器。同时,Django还支持许多数据库引擎,例如PostgreSQL、MySQL、Oracle。 2 系统需求分析 2.1 功能需求分析 根据实验室设备的日常管理,系统主要功能分为如下几个部分: (1)实验耗品管理。每年实验室都会申购一批实验耗品,例如焊锡、松香、实验用电路板、可充电电池等。该功能负责管理实验耗品的购入、使用、存量、记录和查询等数据信息。 (2)非易耗品设备管理。实验设备主要是一些非易耗品,例如电脑、投影仪等。这些非易耗品不会经常损耗,但是会涉及到设备的采购入库、报废、设备的领用场地等数据<sup>[2]</sup>。该功能主要实现这些非易耗品的入库、报废、设备目前使用情况等数据信息的管理。 (3)领用申请模块。要使用实验耗品和非易耗品都需要进行领用的申请。领用申请包括领用数量、领用类型、领用人、领用原由等信息<sup>[3]</sup>。根据这些信息,可以快速、准确地查到实验设备的使用情况。 2.2 非功能需求分析 非功能需求通常包括系统的效率、可靠性、可用性、可维护性、适应性和易用性等。系统在高校内部使用,因而用户不会太多,但仍然对并发访问时的系统性能有要求:①单用户操作系统时,2s之内出现结果;②多个用户同时访问操作系统,要求并发的响应时间不得超过8s;③对于恶意入侵,比如网络包攻击、SQL注入攻击等具有防范能力;④系统的理想故障频率为1次/年,最坏故障频率为2次/年,最理想故障频率为0.5次/年。 系统的易用性在设计方面的要求是界面友好、符合用户操作习惯、易上手。即:①系统界面简单整洁,布局设计合理,符合目前一般用户的使用习惯;②尽量减少使用者的输入量,人机对话友好,有操作错误提示,处理错误的数据输入。 3 系统设计 3.1 系统体系结构设计 Django是一个典型的MVC模型框架,、、分别代表模型、视图和控制,分别处理表现层、控制层和数据层的业务处理。系统体系结构如图1所示。 图1 实验室设备管理系统体系结构 使用MVC结构,使得基于实验室设备管理系统满足如下要求: (1)非功能性需求中的易用性。用户使用系统不需要占用客户机太多的资源,在人机交互过程中操作简便。 (2)非功能性需求中的可用性。系统采用B/S、MVC结构,在服务器端设置网络防火墙可以防止一般的网络攻击。在系统方面,MVC分离了页面和数据库,无法通过控制直接修改数据库内的数据,由于使用了Django的模板技术和自带的ORM框架,保证了系统的安全可用。 (3)非功能需求中的可维护性和适应性。系统的分层设计使得系统的升级维护更加简单。系统只是在服务器上运行,客户通过浏览器进行访问,所以系统的升级维护都只需要在客户机上进行,不需要耗费大量成本进行维护升级。 3.2 系统功能设计 根据功能需求分析,系统需要完成对耗材、非耗材的领用情况、库存方面的管理。系统功能模块如图2所示。 图2 系统功能模块 3.3 数据库设计 系统数据库的主要实体表如表1—表3所示。 表1 耗品清单(nlab_consumption) 字段名数据长度是否允许空备注 idint(4)否主键 consumptionVarchar(50)是耗品名称 cnumberInt(4)是耗品数量 storageTimesmalldatetime是入库时间 表2 设备清单(nlab_device) 字段名数据长度是否允许空备注 idInt(4)否主键 devicenvarchar(50)是设备名称 damountInt(4)是设备数量 dtypenvarchar(50)是设备类型 dstrorageTimedatetime是入库时间 scrapint(4)是是否报废 assetNumbernvarchar(20)是资产号 表3 领用信息(nlab_useinfo) 字段名数据长度是否允许空备注 idInt(4)否主键 usernameVarchar(20)是领用人名字 usertimeSmalldatetime是领用时间 purposeVarchar(20)是用途 usenumberInt(4)是领用数量 returnInt(4)是是否归还 4 系统实现 4.1 开发环境 系统开发采用Python2.7,Django1.6版本,Web服务器采用Apache,数据库使用MySQL。编写代码的工具采用Eclipse,利用PyDev插件,实现了在Eclipse中开发Django的应用项目。项目文件如图3所示。 4.2 部分实现代码 使用Eclipse创建一个Django的工程后,会产生一些.py的文件,包括、、、等,这些文件包括了项目的配置、Django自带后台的管理配置、数据库ORM、视图和控制的配置与开发等。 图3 项目文件 4.2.1 文件负责配置URL的地址映射和管理URL的地址格式。通过正则表达式注册站点信息,核心代码如下: scover() urlpatterns = patterns('', include()),) 4.2.2 是Django工程的配置文件,与工程相关的工程模块和数据库全局配置信息都在中设置。在该文件中加入项目及配置数据库,相关代码如下: INSTALLED_APPS = ( '', '', 'ttypes', 'ns', 'es', 'files', 'nlab', #这里添加了nlab项目 ) DATABASES = { 'default': { 'ENGINE': '', 'NAME': 'djangoNlab', 'USER':'root', 'PASSWORD': ' ', } } 4.2.3 借助Django内部的对象关系映射机制,可以用Python语言实现对数据库表中实体的操作,实体模型的描述需要在文件中配置。中nlab_consumption表对应的代码如下: class nlab_consumption(): id = rField (max_length = 4) consumption = eld(max_length = 50) cnumber = rField (max_length = 4) storageTime = eld(blank = False,null = True) def __unicode__(self): return self. consumption class Meta: ordering = ['id '] 4.2.4 中添加要管理的对象。当配置文件的改动完成后,执行命令,Django会根据模型的定义自动完成ORM的数据库映射工作,屏蔽了底层数据库细节和SQL查询的编写。注册对象代码如下: er(nlab_consumption) 5 结语 通过实验室设备管理系统,可以高效地查询到耗品和硬件设备的使用情况,能够提高耗品的使用效率,避免重复购买。同时可以掌握硬件设备的使用年限和使用人,对即将报废和已报废的设备进行统计管理,实现了动态监管,提高了资产设备清查效率。 参考文献: \.电脑编程技巧与维护,2009(2): 56-58. [2] 万发桃.实验室设备的管理与维护[J].黑河学刊,2012(8):27-28. [3] 陈剑明.实验室设备管理问题的思考[J].中国科技纵横,2013(9):250-250.
中国论文网(www.lunwen.net.cn)免费学术期刊论文发表,目录,论文查重入口,本科毕业论文怎么写,职称论文范文,论文摘要,论文文献资料,毕业论文格式,论文检测降重服务。 返回电子论文列表