1、 摘要在校园生活中,实验室仍然是教学活动中主要的场所之一,然而,由于学生数目过大,实验设备资源有限限制了师生使用实验设备。以前,一些学校对实验室设备的管理仅限于人工管理,处理起来比较复杂,容易出错,而且不利于删除和添加,更加不利于查找,凸显出建立实验室设备管理系统的紧迫性。本系统着力于整合实验室设备管理中的设备查询、报废、维修和设备借用等环节,实现统一管理。实验室设备管理系统将会使得实验设备的安排变得更加简单,从而减少管理方面的工作量。此系统提高了信息处理的速度与准确性,能够及时准确有效的查询和修改实验设备的安排情况,以及更有效的对设备进行管理,使实验室管理员做到信息的规范管理、科学统计和快速
2、查询,从而减少管理方面的工作量。关键词:实验室设备、数据库、管理系统AbstractCampus life, the laboratory is still one of the major places of teaching activities, however, due to the large number of students, laboratory equipment with limited resources restrict the use of classroom teachers and students. Previously, some schools for l
3、aboratory equipment management is limited to labor management, handling more complicated, error-prone, and not conducive to delete and add more unfavorable finding, highlighting the establishment of laboratory equipment management system urgency. Laboratory equipment management system will make arra
4、ngements for laboratory equipment easier, thus reducing the workload management. This system improves the speed and accuracy of information processing, timely and accurate and effective arrangements for query and modify laboratory equipment, as well as more effective management of equipment, so that
5、 administrators do standardized laboratory information management, scientific statistics and Quick query, thereby reducing the workload management. Keywords: laboratory equipment, database management system目录1、现行系统的概述42、系统分析52.1需求分析52.1.1功能要求:52.1.2性能要求:62.1.3系统结构需求分析:62.1.4安全和保密性要求:62.2可行性研究72.2.1技
6、术可行性分析:72.2.2条件、假定和限制可行性分析:72.2.3经济可行性分析:72.2.4运行可行性82.3组织结构与功能分析:82.4业务流程分析92.5数据与数据流程分析112.5.2数据字典:133、系统设计153.1系统总体结构设计153.1.1系统总体E-R图:153.1.2.局部E-R图:153.2代码设计163.2.1逻辑结构设计:163.2.2数据库结构关系图:193.2.3存储过程设计193.2.2触发器设计203.2.3 VB代码和界面如下所示:204、课程设计总结与感受305、参考文献311、现行系统的概述近年来,随着计算机技术渗透到各个领域,利用计算机技术管理已成为
7、实验设备管理的必然趋势。学校应注重培养技术应用性人才,使学生毕业后能够较快地适应工作环境,因此,学校的实验教学在培养学生的过程中起着不可忽视的作用。随着学校教学及实验室各项改革的深入,以往实验室设备的手工管理模式已越来越体现出问题与不足,由于设备的购入、借出及报废的情况比较频繁,有时借出的设备到年底就想不起来是谁借的了,每年年底实验室评估,有时难以做到帐物相符,要想做到随时查询某一台设备在哪里则更是一件困难的事。因此,为了加强实验室教学建设,充分发挥实验仪器的利用率,一套实验设备管理信息系统的开发也就尤其重要。 管理信息系统(MIS)是一门边缘学科,集管理科学、信息科学、系统科学、现代通信技术
8、和电子计算机技术于一体。1985 年,管理信息系统创始人,明尼苏达大学卡尔森管理学院的著名教授戴维斯(Gordon.B.Davis)给出了一个具有代表性的定义:“管理信息系统是一个利用计算机硬件和软件,手工作业、分析、计划、控制和决策模型以及数据库的用户机器系统。它能提供信息支持企业或组织的运行、管理和决策功能。” 随着网络技术的出现,管理信息系统又有了新的必恭必敬,基于网络的管理信息系统不断出现,管理信息系统的概念模型也发生了相应的变化,许多学者对管理信息系统给出了新的定义。例如劳顿认为:“管理信息系统是一个基于计算机的信息系统,它通过收集、处理、存储和扩散信息,来支持组织的管理、决策、合作
9、、控制、分析活动,并使之可视化。” 一套实验设备管理系统正是基于意义而开发设计出来的,它通过系统的记录实验设备的信息从而对设备进行日常的管理与维护。本系统主要具备对实验设备管理系统的维修、报废、购买申请、设备信息等进行管理。2、系统分析2.1需求分析2.1.1功能要求:(1) 对于已彻底损坏的作报废处理,同时详细记录有关信息;(2) 对于有严重问题(故障)的要即时修理,并记录修理日期、设备名、修理厂家、修理费、责任人等;(3) 对于急需但又缺少的设备需以“申请表”的形式送交上级领导请求批准购买。新设备购入后要立即进行设备登记(包括类别、设备名、型号、规格、单价、数量、购置日期、生产厂家、购买人
10、等),同时更新申请表的内容;(4) 随时对现有设备及其修理、报废情况进行统计、查询,要求能够按类别和时间段(某日期之前)查询。(5)系统的用户可分为系统管理员用户、普通用户和上级领导共3种用户。系统管理完成对该系统进行相应的管理,如修改用户权限。2.1.2性能要求:可以及时的对申请设备、维修设备、报废设备进行审批核实。以及方便的维护管理现有设备。 (1)、输出报告、文件或数据说明:设备信息、各种申请单信息和申请审批结果 (2)、输入系统的数据: 、用户信息 、登记设备信息 、设备变更信息 、对设备使用的申请和审批2.1.3系统结构需求分析:一个实验室设备管理系统基本由以下几个部分组成: (1)
11、、设备使用申请管理:管理员对用户申请使用的实验设备进行登记,并提交给上级领导审核。 (2)、设备查询管理:按照设备名称、机房名称以及日期等信息查询实验室设备的详细信息; (3)、设备维修管理:用户发现设备出现故障,叫维修人员来鉴定,维修人员提交鉴定报告给领导审核,管理员详细记录维修设备的有关信息 (4)、设备报废管理:用户发现设备已经彻底损坏,叫维修人员来鉴定,维修人员提交鉴定报告给领导审核,管理员详细记录报废设备的有关信息。2.1.4安全和保密性要求:该系统需要对操作人员进行身份验证,该安全验证同SQL-SERVER系统集成。2.2可行性研究2.2.1技术可行性分析:根据客户提出的系统功能、
12、性能及实现系统的各项约束条件,根据新系统目标来衡量所需的技术是否具备,本系统是一个数据库管理和查询的系统,现有的技术以较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,估计利用现有技术条件应完全可以达到该系统的功能目标。同时,考虑给予的开发期限也较为充裕,预计系统是可以在规定期限内完成开发。2.2.2条件、假定和限制可行性分析:(1)、系统正常使用寿命不得少于5年(2)、项目运行环境:Microsoft Windows98MENT2000XP操作系统平台、Microsoft SQL-SERVER2000。(3)、硬件支持:内存256M以上,4GB及以上,PII以上。(4)、软件接口:数据
13、库服务器- Microsoft SQL Server 2000及以上。(5)、系统最好能于校园网结合使用,方便教职工及其学生查找相关设备信息2.2.3经济可行性分析:估算新系统的成本效益分析,其中包括估计项目开发的成本,开发费用和今后的运行、维护费用,估计新系统将获得的效益,估算开发成本是否回高于项目预期的全部经费。并且,分析系统开发是否会对其它产品或利润带来一定影响。(1)支出:硬件设备: PC机软件设备:WINDOWSXP、ASP、SQL 软件设计和开发费用经常性支出:软件维护费用、软件使用费用。(2)效益:系统的效益可以从经济效益和社会效益两方面考虑。对于实验室设备管理系统则应着重分析其
14、社会效益。例如,系统投入运行后可以使实验室管理实现科学化、规范化。增强了工作人员对管理工作者的管理能力、提高了工作效率。2.2.4运行可行性 新系统的研制和开发是充分得考虑实验管理员对实验设备的易于管理,管理者方便查询设备信息效率,从而能完全满足用户的要求。2.3组织结构与功能分析:(1)设备使用申请管理功能:主要是管理员对用户申请的设备进行登记,包括设备的类别、设备号、型号、规格、使用者、使用时间等,并提交给领导审核。当设备被使用时,要记录设备使用的详细信息。(2)设备查询管理功能:可按照设备名称、机房名称以及日期等信息查询实验室设备运行状况。该功能主要是为了使用户能够实时掌握学校实验室设备
15、的运行状况,所做的主要操作就是查询和统计,所以数据以只读形式出现。(3)设备维修管理功能:用户发现设备出现故障,叫维修人员来鉴定,维修人员提交鉴定报告给领导审核,管理员详细记录维修设备的有关信息,并随时对设备维修情况进行统计和查询,要求能够按类别和时间段(年、月或季度)查询。(4)设备报废管理功能:用户发现设备已经彻底损坏,叫维修人员来鉴定,维修人员提交鉴定报告给领导审核,管理员详细记录报废设备的有关信息,并随时对设备报废情况进行统计和查询,要求能够按类别和时间段(年、月或季度)查询。2.4业务流程分析设备管理信息系统是对一个面向设备人员,为其提供服务的综合信息管理系统,设备管理信息人员通过本
16、系统完成相关的日常工作,这些工作也是平常较为繁琐的工作。业务流程图(TFD)反映着业务处理的过程,有前后次序关系。经过现行业务流程调查,可以作出业务流程图。业务流程图如下所示:1、报废和维修业务流图如下所示2、用户查询业务流图如下所示3、用户申请使用业务流程图如下所示:2.5数据与数据流程分析数据流图是指:数据从加工和传递的角度,来刻画数据从输入到输出的移动变换过程用SA方法,如下图表示1、顶层数据流图:2、第2层数据流图:3、第3层数据流图:2.5.1实验设备管理系统功能模块图:2.5.2数据字典:设备信息:序号数据项中文名数据项英文名数据项类型、长度、精度1设备号Eno字符型20位2单价P
17、rice字符型 20位3设备名Ename字符型 20位4型号Type字符型20位5生产厂家Factory字符型20位6规格Norms字符型20位 管理者信息:序号数据项中文名数据项英文名数据项类型、长度、精度1管理者编号Wno字符型20位2姓名Wname字符型 20位3工龄Wage字符型 20位 领导信息:序号数据项中文名数据项英文名数据项类型、长度、精度1领导编号Wno字符型20位2姓名Wname字符型 20位3工龄Wage字符型 20位用户:数据项中文名属性英文名属性类型、长度、精度属性的值域用户姓名Wno字符型 20位NOT NULL设备编号Eno字符型 20位NOT NULL使用日期B
18、date字符型20位使用数量Num整型数 4位09999查询统计:查询1:数据项中文名属性英文名属性类型、长度、精度属性的值域管理员编号Wno字符型20位NOT NULL设备编号Eno字符型20位NOT NULL查询日期Cdate字符型 20位运行状况State字符型 20位查询2:数据项中文名属性英文名属性类型、长度、精度属性的值域维修人员Wno字符型20位NOT NULL报废设备编号Fno字符型20位NOT NULL报废日期Fdate字符型 20位报废类别Fkind字符型 20位数量Fnum字符型 20位查询3:数据项中文名属性英文名属性类型、长度、精度属性的值域维修人员Wno字符型20位
19、NOT NULL维修设备号Rno字符型20位NOT NULL维修日期Rdate字符型 20位维修费Rbill字符型 20位维修类别Rkind字符型 20位报废:数据项中文名属性英文名属性类型、长度、精度属性的值域报废设备号Fno字符型20位NOT NULL设备号Eno字符型20位NOT NULL损坏日期Ddate字符型 20位损坏原因Dreason字符型 20位损坏类别Dkind字符型 20位维修:数据项中文名属性英文名属性类型、长度、精度属性的值域维修设备号Rno字符型20位NOT NULL设备号Eno字符型20位NOT NULL故障原因Breason字符型 20位故障类别Bkind字符型
20、20位3、系统设计3.1系统总体结构设计3.1.1系统总体E-R图:系统总体E-R图如下所示:3.1.2.局部E-R图:部分局部E-R如下所示:E-R图转换为关系模式:用户(用户编号,用户名,用户电话)设备(设备型号,设备号,设备类别,设备名称,设备规格,设备状况)查询(用户编号,设备编号,查询日期)用户(用户编号,用户名,用户电话)设备(设备型号,设备号,设备类别,设备名称,设备规格,设备状况)申请(用户编号,设备编号,使用日期) 3.2代码设计3.2.1逻辑结构设计:把得到的满足第三范式的关系转化为特定的数据库管理系统下的数据表,根据前面得到的各个关系,现把它们转化为数据表。表一 基本设备
21、信息表中文字段名英文字段名字段类型长度主键/外键字段值约束设备类别sortchar20NOT NULL设备编号enochar8PNOT NULL设备名称enamechar20NOT NULL设备型号etypechar15NULL设备规格especchar15 NULL设备状况stateChar6NULL说明:此表存放实验室基本设备信息,显示结果如下:表二 维修设备信息登记表中文字段名英文字段名字段类型长度主键/外键字段值约束维修编号fnochar10NOT NULL设备编号enochar8PNOT NULL设备名称enamechar20NOT NULL设备型号etypechar15NULL维修
22、日期fixdatedatetime8 NULL维修费用moneyFloat8NULL维修人员princichar20NULL说明:此表存放实验室维修设备信息,显示结果如下: 表三报废设备信息登记表中文字段名英文字段名字段类型长度主键/外键字段值约束报废编号snochar10NOT NULL设备编号enochar8PNOT NULL报废日期scrdatedatetime8NULL领导审核agreechar10NULL 说明:此表存放实验室报废设备信息,显示结果如下: 表四 用户信息登记表中文字段名英文字段名字段类型长度主键/外键字段值约束用户编号tnochar10PNUT NULL使用日期try
23、datedatetime8NULL设备类别ttypechar10NOT NULL设备编号enochar8PNOT NULL数量countchar10 NULL用户姓名passchar8NULL说明:此表存放实验室设备使用者的信息,显示结果如下: 表五 管理员信息表中文字段名英文字段名字段类型长度主键/外键字段值约束管理员编号idchar10PNOT NULL管理员姓名mnamechar20NOT NULL电话mphonechar15NULL密码mpwdchar6NOT NULL说明:此表存放实验室设备管理员信息显示结果如下:表六 领导信息表中文字段名英文字段名字段类型长度主键/外键字段值约束领
24、导编号pnochar10PNOT NULL领导姓名pnamechar20NOT NULL电话pphonechar15NULL地址paddrchar30NOT NULL设备编号enochar8PNOT NULL说明:此表存放领导信息显示结果如下:3.2.2数据库结构关系图:3.2.3存储过程设计如:创建存储过程,客户可以查询所有的供应商信息创建存储过程如下:CREATE PROC proc_查询设备基本信息ASSELECT *FROM 基本设备信息表GO显示结果: 3.2.2触发器设计触发器是一种特殊的存储过程。触发器可以用来维护数据表中数据的一致性,当对数据表进行更新操作时,触发器可以自动执行
25、。如:创建添加基本设备信息的触发器,再对基本设备信息表进行插入,修改和删除记录时,都会自动显示表中的内容。代码设计如下:CREATE TRIGGER TRIGGER 2 ON dbo.基本设备信息表 FOR INSERT, UPDATE, DELETE ASSELECT * FROM 基本设备信息表3.2.3 VB代码和界面如下所示:1、系统的登陆界面如下图所示 Public Class Form1 Inherits System.Windows.Forms.FormPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e
26、 As System.EventArgs) Handles Button1.Click If TextBox1.Text = 张创凯 And TextBox2.Text = 123456 Then Dim frm As New Form2 frm.Show() Me.Hide() Else : MsgBox(error!) If TextBox1.Text = Or TextBox2.Text = Then MsgBox(error!) Me.Hide() End If End Sub End If Private Sub Button2_Click(ByVal sender As Syste
27、m.Object, ByVal e As System.EventArgs) Handles Button2.Click MsgBox(确定退出吗?, vbYesNoCancel + vbQuestion + MsgBoxStyle.DefaultButton2, 提示) End End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End SubEnd Class 2、系统实验设备管理系统界面如下Public Class Fo
28、rm2 Inherits System.Windows.Forms.FormPrivate Sub MenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem1.Click End Sub Private Sub MenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem3.Click End Sub Private Sub MenuItem2_
29、Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem2.Click Dim frm As New Form3 frm.Show() Me.Hide() End Sub Private Sub MenuItem5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) End Sub Private Sub MenuItem6_Click(ByVal sender As System.Object, ByVal
30、 e As System.EventArgs) Handles MenuItem6.Click Dim frm As New Form4 frm.Show() Me.Hide() End Sub Private Sub MenuItem8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem8.Click End Sub Private Sub MenuItem14_Click(ByVal sender As System.Object, ByVal e As System.Even
31、tArgs) Handles MenuItem14.Click End Sub Private Sub MenuItem13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem13.Click MsgBox(确定退出吗?, vbYesNoCancel + vbQuestion + MsgBoxStyle.DefaultButton2, 提示) End End Sub Private Sub Form2_Load(ByVal sender As System.Object, ByVa
32、l e As System.EventArgs) Handles MyBase.Load End SubEnd Class3、系统的维修信息查询界面如下 Imports System.Data.SqlClientPublic Class Form3 Inherits System.Windows.Forms.FormPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim sql As String = select * from
33、 维修设备信息登记表 where 维修编号= & TextBox1.Text & Dim cn As New SqlConnection(Initial Catalog=kechengsheji;Data Source=.; _ & Integrated Security=SSPI; ) Dim ad As New SqlDataAdapter(sql, cn) Dim ds As New DataSet ad.Fill(ds, 维修设备信息登记表) DataGrid1.DataSource = ds.Tables(维修设备信息登记表) End Sub Private Sub Button2_
34、Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click MsgBox(确定退出吗?, vbYesNoCancel + vbQuestion + MsgBoxStyle.DefaultButton2, 提示) End End Sub Private Sub MenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) End Sub Private Sub MenuItem2_Click(
35、ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem2.Click End Sub Private Sub MenuItem4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem4.Click End Sub Private Sub MenuItem1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs
36、) Handles MenuItem1.Click Dim frm As New Form1 frm.Show() Me.Hide() End Sub Private Sub MenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem3.Click Dim frm As New Form2 frm.Show() Me.Hide() End Sub Private Sub MenuItem5_Click(ByVal sender As System.Object, ByV
37、al e As System.EventArgs) Handles MenuItem5.Click Dim frm As New Form4 frm.Show() Me.Hide() End Sub Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End SubEnd Class4、系统的维修记录操作界面如下 Imports System.Data.SqlClientPublic Class Form4 Inherits System.W
38、indows.Forms.Form Public mybind As BindingManagerBasePrivate Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load SqlDataAdapter1.Fill(DataSet11.维修设备信息登记表) mybind = BindingContext(DataSet11, 维修设备信息登记表) DataGrid1.DataSource = DataSet11.维修设备信息登记表 SqlDataAdapte
39、r1.Update(DataSet11.维修设备信息登记表) End Sub文本框的信息会随着DataGrid的变化而变化 Private Sub DataGrid1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataGrid1.Click mybind.Position = DataGrid1.CurrentRowIndex End Sub Private Sub DataGrid1_Navigate(ByVal sender As System.Object, ByVal ne As
40、System.Windows.Forms.NavigateEventArgs) Handles DataGrid1.Navigate End Sub 添加一条记录 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click mybind.AddNew() End Sub删除一条记录 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.Event
41、Args) Handles Button2.Click mybind.RemoveAt(mybind.Position) End Sub 撤销更新 Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) mybind.CancelCurrentEdit() End Sub确认更新,将修改通过SqlDataAdapter1回存到数据源 Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System
42、.EventArgs) Handles Button9.Click mybind.EndCurrentEdit() SqlDataAdapter1.Update(DataSet11.维修设备信息登记表) End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click MsgBox(确定退出吗?, vbYesNoCancel + vbQuestion + MsgBoxStyle.DefaultButton2, 提示) End End Sub Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click