仪器设备管理系统设计与实现

仪器设备管理系统设计与实现[java毕业论文下载]

仪器设备管理系统设计与实现

摘  要

文中以某中小型企业的设备管理为例,对设备管理系统的设计与应用进行研究,旨在通过设备管理系统提高内部设备的利用率及实现其最大的经济效益。文中首先对设备管理的现状及其重要性进行了分析,分析实现设备管理信息系统的必要性与可行性。其次针对所需要设备信息,分析设备管理系统流程,设计并开发一套设备管理系统。最后,文章对系统的设计实现过程进行了阐述。

文中详细阐述了各子模块的功能和实现过程,并对系统的核心技术作了特别讲解。从试运行情况来看,系统加强了对于仪器设备的有效管理,提高了管理的效率和科学性,实现了信息资源的共享,达到了建设一个仪器设备管理系统的预定目标。

 

关键词:设备管理;仪器设备;管理系统

 

Design and Implementation of the Equipment Management System

Abstract

Take equipment management of middle and small - sized enterprises as example, this paper researches on the design and implementation of equipment management to obtain the goal of promoting the efficiency of equipment and gaining good economic. In this paper, I first analyzes the current situation of equipment management and its importance,and proposed its necessity and feasibility. Secondly against for the equipment  information , analysis process of the equipment manage, design and development of a set of equipment management system. Finally, The article Expounded the Process that design and implementation of the equipment management.

It also introduces functions and implementation procedure of each sub- module , and provides with a specific explanation for the core technology of the system. Based on the results of test , it enhances effective management of the equipment and instrument, increases the efficiency and scientific features, realizes informative resource sharing, and meets the demands equipment management system.

 

Key words: Equipment manage; Instrument Equipment ; Management System

 

目  录

  论文总页数:21页

 

1 引言 1

1.1 课题背景 1

1.2 国内外研究现状 1

1.3 课题研究的意义 1

1.4开发环境 2

1.4.1 数据库的选择 2

1.4.2 .NET环境 3

1.4.3 ASP. NET 3

2 系统分析 4

2.1可行性分析 4

2.2 功能需求 4

3 系统设计 4

3.1系统设计原则 4

3.2 系统总体流程 5

3.3 数据库的设计 5

4 系统功能模块 7

4.1 用户登录模块 7

4.2 用户注册模块 8

4.3 设备一览模块 10

4.4 设备调度模块 13

4.5 设备维修模块 14

4.6 设备报废模块 15

4.7 用户信息模块 16

4.8 资料修改模块 17

     18

参考文献 18

     20

     21

 

 

1 引言 

1.1 课题背景

设备管理是一项非常重要的工作。大多数设备管理办法是设备采购进来以后,将设备的基本情况和相关信息登记存档,然后将档案存档。以后档案基本就没人维护,如设备位置变迁、检修情况、设备当前运行状态等信息根本不会体现在设备台帐上,即设备跟踪信息不能及时体现在设备档案上。管理各项材料信息不仅效率低下,而且容易出错,安全性很差。并且在实际操作中,数据的查找和维护都不容易实现,容易发生差错,导致了管理费用增加,服务质量难以得到保证,从而影响企业的竞争力。使用设备管理系统,个人并能随时查询设备当前情况和历史情况,对设备的可靠性分析有直接作用,设备信息管理和出入库记录的快速高校检索,使操作简单安全,提供工作效率和质量。使管理人员从手工计算、统计工作中解脱出来。

1.2 国内外研究现状

随着计算机技术在设备管理系统得到广泛应用,各式各样的设备管理系统,在各种不同性质、不同类型、不同规模的设备管理中发挥着越来越重要的作用。如何利用计算机技术和网络通讯技术,对设备资源进行科学的管理、有效的开发、实现资源共享、实现设备的现代化管理,是企业重要工作内容之一。上网搜索会发现,目前国内开发、使用的设备管理系统已经很多,从总体上说国内的设备管理系统已进入应用完善阶段。 伴随着全球网络化的迅速发展,设备管理的自动化逐步走向网络化。所以设备管理系统必须具备有强劲的网络化功能,现在使用的设备管理系统大都只局限单位内使用,不具有网上互联功能,网络性能远远跟不上网络信息时代的步伐。设备管理系统要实现联机使用,要能为使用者能够联机查看和查询。信息社会的到来,网络化已成为现代设备管理发展的必然结果。

1.3 课题研究的意义

与传统管理方式相比较,基于Web的设备管理系统能更加有效地进行信息管理。基于Web的设备管理系统应用Web数据库,对信息数据以数据库形式表示,更容易更新和管理。传统的管理方式往往以表格的形式进行管理,一旦数据过于庞大,要对这些数据进行管理时,就要花费大量的时间,而且很容易出错。对于基于Web的设备管理系统就不会有这样的问题。它利用计算机来处理信息数据的管理和更新,不仅提高了工作效率,减少了脑力和体力劳动,还大大提高了工作的准确性,不易出错。

除此之外,基于Web的设备管理系统还能够及时传递设备信息。在传统的管理方式上,一旦要了解设备的信息时,由于时间和地域等原因的限制,并且人工操作时,难免会有这样那样的疏忽,这样就不能及时地了解设备信息,导致工作不能顺利地进行,严重的还会带来无可挽回的损失。而基于Web的设备管理系统在设备信息传递上则不太会有这样的问题,只要你有权限,就能够通过网络及时了解设备的详细信息。极大地方便了企业的正常运作。

1.4开发环境

硬件环境:硬件平台是指开发与运行所需要的硬件环境,主要包括计算机机型及硬件配置。由于系统是一个小型的管理系统,因此对计算机硬件的要求不高,现在的计算机基本都能胜任

所用的开发软件、应用软件平台及语言:系统在开发时选用了稳定性较强的Windows XP中文版和Visual Studio.NET 2003平台,开发技术是asp.net技术,数据库选用SQL2000,由于这些软件产品都是Microsoft公司的产品,因此彼此之间的兼容性较好,开发出的应用系统稳定性较高。选择这些开发平台和开发语言和工具,还因为其自身的特点。

 

1.4.1 数据库的选择

选择SQL作为数据库的理由主要有以下几点:

SQL之所以能够被用户和业界所接受,并成为国际标准,因为它是一个综合的、功能强大而且简捷易学的语言。SQL语言集数据查询、数据操作、数据定义和数据控制功能于一身,其主要特点如下:

(1)一体化

SQL语言风格统一,可以完成数据库活动中的全部工作,包括创建数据库、定义模式、更改和查询数据以及安全控制和维护数据库等,这为数据库应用系统的开发提供了良好的环境。用户在数据库系统投入使用后,还可以根据需要随时修改模式结构,并且不影响数据库的运行,从而使系统具有良好的可扩展性。

(2)高度非过程化

在使用SQL语言访问数据库时,用户没有必要告诉计算机一步一步地“如何”去实现,而只需要描述清楚要“做什么”,SQL语言就可以将要求交给系统,然后由系统自动完成全部工作。

(3)语言简洁

虽然SQL语言功能很强,但它只有为数不多的几条命令,另外,SQL的语法也比较简洁,它是一种描述性语言,很接近自然语言(英语),因此容易学习、掌握。

(4)以多种方式使用

SQL语言可以直接以命令方式交互使用,也可以嵌入到程序设计语言中使用。现在很多数据库应用开发工具(如.net、java、delphi等),都将SQL语言直接融入到自身的语言当中,使用起来非常方便。这些使用方式为用户提供了灵活的选择余地,而且不管是哪种使用方式,SQL语言的语法基本都是一样的。

(5)微软公司的SQL2000,SQL2000具有开放性的接口,可以和任何的第三方软件共享数据,而且其具有灵活的扩充方式,完善的管理手段,是首选的数据库。

 

1.4.2 .NET环境

 对于.NET,Microsoft公司自己都没有一个详细确切的定义。但是我们可以这样认为:.NET是Microsoft公司提供的一系列产品的总称。具体说来,.NET由以下几个部分组成:.NET Framework、.NET企业服务器和.NET开发工具。

.NET Framework 是一个高性能的程序运行环境,他提供了具体的服务和技术,支持统一的类库,如Visual Basic、Visual C++、Visual C#等,方便开发人员建立相应的应用程序。

.NET企业服务器是指SQL Server 2000之类的由.NET Framework应用程序使用的服务器端产品。它们虽然不是由.NET Framework编写成的,但是他们都支持.NET。

为了能够在.NET Framework上运行程序开发,Microsoft公司把Visual Studio进行了升级,并把升级后的产品命名为Visual Studio.NET。这就是.NET开发工具。

 

1.4.3 ASP. NET

2001年Microsoft公司推出全心的ASP.NET,它抛弃了前面三个ASP的版本都使用的脚本语言,使用Visual Basic.NET 作为它的默认语言。ASP.NET在结构上与前面的版本大不相同,它几乎完全是基于组建和模块化。Web应用程序的开发人员使用这个开发环境可以实现更加模块化的,功能更强大的应用程序。

在ASP.NET中,所有程序依然保存在服务器端,但由服务器编译执行。当第一次执行一个程序时进行编译,当再次执行这个程序时,就在服务器端直接执行它的已编译好的程序代码,因而ASP.NET程序执行的速度有较大的提高。

ASP.NET有较高的效率,提供了很高的重用性,对于实现同样功能的程序,ASP.NET使用的代码比较小。ASP.NET采用全新的编程环境,代表了技术发展的主流方向。从更深层次说,ASP.NET有优势体现在以下几个方面。

(1)效率

ASP.NET是建立在.NET Framework之上的。它可以使用Visual Basic、C++这样的模块程序设计语言,并且它在第一次执行时进行编译,之后的执行不需要重新编译就可以直接运行,所以速度和效率提高很多。

(2)可重用性

ASP.NET可以实现代码与内容的完全分离,使得维护方便。

(3)代码量

在ASP.NET中,程序员只要预先说明,ASP.NET可以自动实现功能。所以相对来说,要实现同样的功能,就可以少写很多代码。

2 系统分析

2.1可行性分析

在技术实现上,系统采用了基于web的仪器设备管理,web技术已经是当今一门成熟的技术,并且基于web的仪器设备管理的开发和维护不需要太多的人力和物理,开发周期短,可灵活部署在任何符合规范的应用服务器上,减少了投资,解决了系统维护升级复杂的问题。

数据库拟采用微软公司的SQL2000,SQL2000具有开放性的接口,可以和任何的第三方软件共享数据,而且其具有灵活的扩充方式,完善的管理手段,是首选的数据库系统。

2.2 功能需求

管理系统主要包括两大功能:

(1)用户模块

a)用户信息:用户可以查看自己的基本信息

b)资料修改:用户的基本信息有时候会变化,比如联系电话等,对于这种情况就可以对资料及时修改更新。

(2)设备管理模块

a)设备一览:查看所有的设备。

b)设备的添加和报废:对添加新增设备以及对报废设备的信息进行处理。

c)设备的维修和调拨:对维修中的设备的详细信息进行管理以及对设备的调拨及其信息管理。

d)设备的查询:根据设备名称查询设备,设备的查询使用模糊查询,以尽可能的把符合用户要求的设备显示给用户。

3 系统设计

3.1系统设计原则

系统设计原则如下:

a)实用性

用户能简单、方便地采集基础数据,实现信息共享与交换

b)稳定性

为使系统稳定运行,应采用先进成熟的技术和工具进行开发

c)开放性

利用Web技术,使各局域网能进行分布数据处理,各子系统能在Internet上进行数据处理和信息查询

d)通用性

系统应适用于其他化纤厂的设备管理,具有一定的推广价值;

e)先进性

采用先进的系统分析与开发工具,建立先进的设备管理信息系统。

3.2 系统功能模块

图1  系统功能模块

3.3 数据库的设计

系统数据库共涉及五个数据表:

  • 用户信息:记录用户密码和资料。
  • 设备一览:目前所拥有的设备。
  • 调度设备:记录设备调度详细信息。
  • 设备维修:设备维修详细信息。
  • 设备报废:记录报废的设备。

 

用户信息:记录用户密码和资料。

表1   用户信息

中文字段名

英文字段名

数据类型

长度

允许为空

用 户 名

usename

char

100

NULL

用户密码

pwd

char

100

NULL

用户性别

sex

char

100

NULL

用户职位

position

char

100

NULL

联系电话

telephone

char

100

NULL

用户权限

power

char

150

NULL

设备一览:目前所拥有的设备。

表2   设备一览

中文字段名

英文字段名

数据类型

长度

允许为空

购买部门

buyteam

char

30

NULL

设备名称

name

char

30

NULL

设备种类

kind

char

30

NULL

设备型号

type

char

30

NULL

设备状态

state

char

30

NULL

使用人

usepeople

char

30

生产厂家

made

char

30

NULL

出厂日期

outtime

char

30

NULL

购买日期

buytime

char

30

NULL

购买价格

cost

char

30

NULL

启用日期

starttime

char

30

备    注

notation

char

500

调度设备:记录设备调度详细信息。

 

表3    调度设备

中文字段名

英文字段名

数据类型

长度

允许为空

设备名称

name

char

30

NULL

原部门

oldteam

char

30

NULL

新部门

newteam

char

30

NULL

原使用者

olduse

char

30

NULL

新使用者

newuse

char

30

NULL

调度时间

time

char

30

NULL

备注

notation

char

500

设备维修:设备维修详细信息。

表4    设备维修

中文字段名

英文字段名

数据类型

长度

允许为空

设备名称

name

char

30

NULL

维修人员

mendpeople

char

30

NULL

维修工时

costtime

char

30

NULL

维修费用

money

char

30

NULL

故障原因

why

char

500

NULL

开始时间

starttime

char

30

NULL

结束时间

endtime

char

30

NULL

备注

attention

char

500

设备报废:记录报废的设备。

表5    设备报废

中文字段名

英文字段名

数据类型

长度

允许为空

购买部门

buyteam

char

30

NULL

设备名称

name

char

30

NULL

设备种类

kind

char

30

NULL

设备型号

type

char

30

NULL

生产厂家

made

char

30

NULL

出厂日期

outtime

char

30

NULL

购买日期

buytime

char

30

NULL

购买价格

cost

char

30

NULL

报废时间

badtime

char

30

NULL

备注

notation

char

500

 

4 系统功能模块

4.1 用户登录模块

用户登录模块主要是检查用户名和密码是否匹配,并且可以通过“注册”按钮进入注册页面。如果用户的用户名和密码匹配则进入系统;不匹配则转入登录错误页面。在登录错误页面用户可以选择进入登录页面和注册页面。

系统对用户的登录方式采用的是用户名/密码方式,在用户进入系统的时候要求用户输入用户名和密码,并比较两者和数据库中用户名和密码对应。代码如下:

Dim conn As New System.Data.sqlclient.SqlConnection

        Dim cmd As New System.Data.sqlclient.SqlCommand

        Dim objreader As System.Data.sqlclient.SqlDataReader

        conn.ConnectionString = ("SERVER=(local);USER ID=sa;PWD=;DATABASE=atai")

        conn.Open()

        cmd.Connection = conn

        cmd.CommandText = "select * from userlist where username='" + Textusername.Text + " 'and pwd='" + pwd + "'"

        objreader = cmd.ExecuteReader

If objreader.HasRows Then

            Response.Redirect("index.html")

Else

            Response.Redirect("false.htm")

End If

但是,使用明文对用户密码进行存储时,很容易被非法使用者识别。因此,先对密码进行哈希后再写入数据库中,让非法使用者不能识别,用户密码相对更为安全,代码入下:

Public Shared Function MD5(ByVal Sourcein As String) As String

      Dim MD5CSP As System.Security.Cryptography.MD5CryptoServiceProvider = New System.Security.Cryptography.MD5CryptoServiceProvider

        Dim MD5Source() As Byte = System.Text.Encoding.UTF8.GetBytes(Sourcein)

        Dim MD5Out() As Byte = MD5CSP.ComputeHash(MD5Source)

        Return Convert.ToBase64String(MD5Out)

    End Function

实现截图:

 

 

 

 

 

 

图2 用户登录

4.2 用户注册模块

用户在注册模块主要是为新用户提供注册,新用户在次填写详细信息进行注册,在注册的时候自动把权限设为普通用户。

在用户注册的时候首先判断用户名是否存在,代码如下:

cmd.CommandText = "select * from userlist where username='" + Textusername.Text + "'"

        objreader = cmd.ExecuteReader

        If objreader.HasRows Then

            '存在

            args.IsValid = False

            Session("username") = Textusername.Text

        Else

            '不存在

            args.IsValid = True

        End If

        conn.Close()

在用户注册时,为了防止用户粗心,在输入密码时不小心输入错误,因此在用户输入密码后还需要用户再一次输入,通过判断两次输入是否相同来判断用户是否输入错误,相关代码如下:

If Textuserpwd.Text = Textuserpassword.Text Then

            '匹配

            args.IsValid = True

        Else

            '不匹配

            args.IsValid = False

        End If

当所有的条件都满足后才会向数据库中写入注册信息,写入数据库的代码如下:

Dim conn As New System.Data.sqlclient.SqlConnection

        Dim cmd As New System.Data.sqlclient.SqlCommand

        Dim objreader As System.Data.sqlclient.SqlDataReader

        conn.ConnectionString = ("SERVER=(local);USER ID=sa;PWD=;DATABASE=atai")

        conn.Open()

        cmd.Connection = conn

        If Textusername.Text = Session("username") Then

        Else

            If Textuserpwd.Text = Textuserpassword.Text Then

                Dim pwd As String = MD5(Textuserpwd.Text)

                cmd.CommandText = "insert into userlist values('" + Textusername.Text + "','" + pwd + "','" + sexchoose.SelectedValue + "','" + position.SelectedValue + "','" + Texttelephone.Text + "',' 0  ')"

                cmd.ExecuteNonQuery()

                Response.Redirect("useraddsuccess.htm")

            End If

        End If

        conn.Close()

实现截图:

 

 

 

 

 

 

 

图3 用户注册

4.3 设备一览模块

设备一览模块主要是查看目前所拥有的设备。该模块通过DataList控件来处理从数据源读取的数据。DataList控件的分页显示则是通过先根据当前页号Session(“CurrPage”)、分页大小PageSize来计算要显示的记录号范围,然后将数据集中需显示的记录存放到一个临时表tempbook中,再将该临时表绑定到DataList控件实现的,这样就可以显示指定页号的各记录。另外,为了在页面间传递页号值,使用了Session变量CurrPage,当用户单击“上一页”时,将Session(“CurrPage”)减1;当用户单击“下一页”时,将Session(“Currpage”)加1。在nabledwhatbutton()中编写Session(“CurrPage”)的初值和结束处理。

在设备一览页面,可以通过单击“添加设备”来增加新的设备。

在DataList控件中绑定列中,“设备名称”采用超级连接,用户单击可以查看设备的详细信息,通过单击“修改”进入修改设备详细,在修改设备状态时,如果设备状态是维修则转入维修设备添加页面,如果是报废,则进入添加报废设备页面,在添加的同时更改设备一览中该设备的状态为相应状态;单击“删除”删除该设备的所有的信息。

DataList控件的分页显示是通过先根据当前页号Session(“CurrPage”)、分页大小PageSize来计算要显示的记录号范围,当前页号Session(“CurrPage”)的代码如下:

Sub enabledwhatbutton()

        If Session("currpage") = 1 Then

            firstpage.Enabled = False

            prevpage.Enabled = False

        Else

            firstpage.Enabled = True

            prevpage.Enabled = True

        End If

        If Session("currpage") = Session("totalpage") Then

            nextpage.Enabled = False

            lastpage.Enabled = False

        Else

            nextpage.Enabled = True

            lastpage.Enabled = True

        End If

    End Sub

而分页大小PageSzie的计算代码如下:

Dim totalrec As Integer = equipmentlist.Rows.Count

        '计算总页数

        Dim totalpage As Integer

        If totalrec < pagesize Then

            totalpage = 1

        Else

            If totalrec Mod pagesize <> 0 Then

                totalpage = totalrec \ pagesize + 1

            Else

                totalpage = totalrec / pagesize

            End If

        End If

        Session("totalpage") = totalpage

有了当前页号Session(“CurrPage”)和分页大小PageSize就可以计算出显示的记录号范围,然后将数据集中需显示的记录存放到一个临时表tempbook中,再将该临时表棒定到DataList控件来实现,这样就可以显示指定页号的个记录,相关代码如下:

Dim tempequipmentlist As DataTable = equipmentlist.Clone()

        Dim i, j As Integer

        For i = (pageno - 1) * pagesize To pageno * pagesize - 1

            If i < 0 Or i > equipmentlist.Rows.Count - 1 Then Exit For

            Dim row As DataRow = tempequipmentlist.NewRow

            For j = 0 To equipmentlist.Columns.Count - 1

                row(equipmentlist.Columns(j).ColumnName) = equipmentlist.Rows(i).Item(j)

            Next

            tempequipmentlist.Rows.Add(row)

        Next

        DataGridshow.DataSource = tempequipmentlist

        DataGridshow.DataBind()

为了在页面间传递页号值,使用了Session变量CurrPage,当用户单击“上一页”时,将Session(“CurrPage”)减1;当用户单击“下一页”时,将Session(“CurrPage”)加1。判断代码如下:

Sub pagechange(ByVal sender As Object, ByVal e As CommandEventArgs)

        Select Case e.CommandArgument

            Case "firstpage"

                Session("currpage") = 1

            Case "prevpage"

                If Session("currpage") > 1 Then

                    Session("currpage") -= 1

                Else

                    Session("currpage") = 1

                End If

            Case "nextpage"

                Session("currpage") += 1

            Case "lastpage"

                Session("currpage") = Session("totalpage")

        End Select

        enabledwhatbutton()

        bindlist(Session("currpage"))

    End Sub

实现截图:

 

 

 

 

 

 

 

图4 设备一览

4.4 设备调度模块

设备调度模块主要是查看所有处于调度中的设备,和调度设备的调度信息。该模块通过DataList控件处理从数据源读取的数据。绑定列中,“设备名称”采用超级连接,用户单击可以查看设备的详细调度信息,通过单击“修改”进行调度信息的修改;单击“删除”可以删除该设备的调度信息。修改调度信息代码如下:

cmd.CommandText = "insert into allot values('" + Tname.Text + "', '" + Toldteam.Text + "','" + Tnewteam.Text + "', '" + Tolduse.Text + "', '" + Tnewuse.Text + "','" + Ttime.Text + "','" + Tnotation.Text + "')"

        objreader = cmd.ExecuteReader

        objreader.Close()

        cmd.CommandText = "update equipmentlist  set buyteam =  '" + Tnewteam.Text + "',usepeople  = '" + Tnewuse.Text + "'where name = '" + Tname.Text + "' "

        objreader = cmd.ExecuteReader

        objreader.Close()

        cmd.CommandText = "select * from allot  where newteam = '" + Tnewteam.Text + "' and newuse = '" + Tnewuse.Text + "'"

        objreader = cmd.ExecuteReader

        If objreader.HasRows Then

            seccess.Text = "添加成功"

            Tname.Text = " "

            Toldteam.Text = " "

            Tnewteam.Text = " "

            Tolduse.Text = " "

            Tnewuse.Text = ""

            Ttime.Text = ""

            Tnotation.Text = ""

        Else

            seccess.Text = "添加失败"

        End If

实现截图:

 

 

 

 

 

 

 

图5  调度信息修改

4.5 设备维修模块

设备维修模块主要是查看所有处于维修中的设备,及其详细信息。该模块同样采用了DataList控件来处理从数据源读取的数据。绑定列中,“设备名称”采用超级连接,用户单击可以查看详细的维修信息。通过单击“修改”可以修改设备的维修信息;单击“删除“按钮可以删除该设备的维修信息。对设备维修信息的修改代码如下:

  cmd.Connection = conn

        cmd.CommandText = "update badequipment  set badtime =  '" + Tbadtime.Text + "',notation  = '" + Tnotation.Text + "'where name = '" + Tname.Text + "'"

        cmd.ExecuteNonQuery()

        cmd.CommandText = "select * from badequipment  where name = '" + Tname.Text + "' and badtime = '" + Tbadtime.Text + "'"

        objreader = cmd.ExecuteReader

        If objreader.HasRows Then

            seccess.Text = "修改成功"

        End If

维修信息的删除代码如下:

Dim cmd As New System.Data.sqlclient.SqlCommand

        cmd.CommandText = "delet * from badequipment where name='" + Tname.Text + "'"

        Response.Redirect("badequipment.aspx")

实现截图:

 

 

 

 

 

 

 

 

 

 

 

 

图6  设备维护信息修改

仪器设备管理系统设计与实现[点击下载]

评论