摘要:本文针对目前高校实验室一些信息依靠人工管理存在的不便问题,结合现代信息化技术,对前期设计一个小型实验室管理系统进行编码实现,主要功能是对实验室教室、设备、项目、人员、课程等信息进行集中信息化存储,并在此基础上进行常用查询,添加,删除及修改操作。
一、实验室信息管理系统架构设计
实验室管理系统的开发,主要为了更加方便的对实验室教室、项目、课程、设备等信息进行信息化存储及查询,添加,修改,删除等操作。只需要单击访问系统即可,相对方便省事。系统前台界面采用的是采用python编写的图形界面,后台数据库则采用sqlite3数据库, sqlite3数据库是基于 Python 内置模块支持的,具有小巧,轻便,易用,适用于初步研究阶段,具体系统架构如图1-1所示。
图1-1 实验室管理系统实现架构图
二、后台数据库实现
在前期对实验室信息管理系统功能进行设计,主要是教室、设备、课程、人员、项目五个功能模块,这五个模块都需要和后台数据库进行交互,因此需要进行相应数据库实现,具体实现如下:
实验室信息管理系统功能主要为教室、设备、课程、项目、人员五大模块,每个模块相应数据都需要存储,因此在数据表设计中设计了五个数据表,每个表具体实现参照项目信息表。
三、前台功能界面实现
1.用户登录模块实现
此模块需要根据用户名及密码进行登录设计界面如图3-1所示
图3-1用户登录界面设计截图
上述界面是通过python编程实现,登录代码具体实现如下。
def click_(event):
a=name_entry.get()
b=password_entry.get()
if a=='xho' and b=='1980':
jifangjiemian.zong()
else:
msgbox.showinfo("error","用户或密码不正确")
2.机房管理系统总界面设计及实现
当用户密码正确便进入该机房管理系统总界面,该界面显示教室,设备,课程,项目,人员按钮,可以通过各按钮单击进入相应管理模块。模块调用代码具体实现如下。
def click1(event):
classroom.show_class()
3.教室管理模块界面设计及实现
当在上述机房管理系统总界面中单击教室管理按钮便进入教室管理模块界面,该界面具有显示该模块后台数据的功能,同时具有对后台数据库添加,修改,删除及查找功能。显示代码具体实现如下。
def callselect4( ):
listbox_show.delete(1,listbox_show.size())
l1=[]
db_name = "E:/机房管理数据库.db"#数据库名
conn = sqlite3.connect(db_name)#创建数据库连接
rs = conn.cursor()#数据库操纵游标
sql = "select * from class"
res = rs .execute(sql)#执行SQL语句nt
for x in res.fetchall():
l1.append(x)
rs.close()
conn.close()
return l1
4.项目管理模块界面设计及实现
当在上述机房管理系统总界面中单击项目室管理按钮便进入项目管理模块界面,该界面具有显示该模块后台数据的功能,同时具有对后台数据库添加,修改,删除及查找功能。界面中更新代码具体实现如下。
def callupdate():
db_name = "E:/机房管理数据库.db"#数据库名
bianhao=num1.get()
mingzi=name1.get()
danjia=single1.get()
shuliang=number1.get()
weizhi=position1.get()
zhaungtai=state1.get()
conn = sqlite3.connect(db_name)#创建数据库连接
rs = conn.cursor()#数据库操纵游标
sql = "update pro " +"set 名称='"+mingzi+" ',单价='"+danjia+"',
5.课程管理模块界面设计及实现
当在上述机房管理系统总界面中单击课程管理按钮便进入课程管理模块界面,该界面具有显示该模块后台数据的功能,同时具有对后台数据库添加,修改,删除及查找功能。界面中插入代码具体实现如下。
def callinsert():
db_name = "E:/机房管理数据库.db"#数据库名
conn = sqlite3.connect(db_name)#创建数据库连接
rs = conn.cursor()#数据库操纵游标
bianhao=num1.get()
mingzi=name1.get()
danjia=single1.get()
shuliang=number1.get()
weizhi=position1.get()
zhaungtai=state1.get()
sql="insertintopeople "+ "values('"+bianhao+"','"+mingzi+" ','"+danjia+" ','"+shuliang+" ','"+weizhi+"','"+zhaungtai+" ')"
rs.execute(sql)#执行SQL语句
conn.commit()
rs.close()
conn.close()
6.人员管理模块界面设计及实现
在该模块中删除代码具体实现如下。
def calldelete():
db_name = "E:/机房管理数据库.db"#数据库名
conn = sqlite3.connect(db_name)#创建数据库连接
rs = conn.cursor()#数据库操纵游标
bianhao=num1.get()
sql = " delete from people"+ " where 编号= '"+bianhao+"'"
#定义SQL语句
rs.execute(sql)#执行SQL语句
conn.commit()
rs.close()
conn.close()
四、实验室管理系统测试
实验室管理系统的设计与实现是遵循模块化思想进行的,主要分为教室、设备、课程、项目及人员五个模块,因此先进行五个模块单模块测试,然后进行整体测试。
五、思索与未来展望
由于时间及技术原因,对基于Python语言的实验室信息管理系统设计与实现研究,目前还处于初步尝试阶段,功能还具有局限性,因此希望在后续实践应用中不断思索及改进。