实验室设备管理系统.doc_第1页
实验室设备管理系统.doc_第2页
实验室设备管理系统.doc_第3页
实验室设备管理系统.doc_第4页
实验室设备管理系统.doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章需求分析1、系统需求描述:实验室设备管理系统是利用Eclipse作为开发工具、SQL Server2000作为数据库的系统。管理员可以对实验室设备信息进行查询及相关实验室设备的使用情况查看。管理员可以根据本人用户名和密码登录系统。在信息系统中,后台数据库存储的地位相当重要,数据库的设计不但对数据的操作速度有影响,还直接关系到软件系统的质量和生存周期。本系统采用了SQL数据库book,book库中包括设备基本信息表、维修记录表、新设备表、申请表、报废记录表。系统首先必须维护实验室中详细资料的数据表,程序能对该表进行写入和读出数据的操作,相应的。系统还要管理员信息表,记录管理员的资料,检验管理员的登陆,管理员的权限等。要求实现如下功能:所有工作由专门人员负责完成,其他人不得任意使用;对于已彻底损坏的作报废处理,同时详细记录有关信息;对于有严重问题(故障)的要即使修理,并记录修理日期、设备名、修理厂家、修理费、责任人等;对于急需但又缺少的设备需以“申请表”的形式送交上级领导请求批准购买。新设备购入后要立即进行设备登记(包括类别、设备名、型号、规格、单价、数量、购置日期、生产厂家、购买人等),同时更新申请表的内容;随时对现有设备及其修理、报废情况进行统计、查询,要求能够按类别和时间段(某日期之前)查询。本管理系统通过计算机对实验设备进行自动管理,设备管理员可以直接在计算机实现实验设备的信息管理,并在一定程度上实现自动化,改善了工作运行效率和效果。2、系统数据流图(功能模型DFD) 2.1 0层数据流图如下:管理员实验室设备管理系统高级管理员登录信息处理结果审核信息审核结果图2.1 0层数据流图2.2 1层数据流图:1身份验证2处理要求3审核登录信息申请/维修/报废/查询操作处理结果审核信息审核结果管理员高级管理员管理员审核结果申请图2.2 1层数据流图2.3 2层数据流图:审核结果审核批准审核信息高级管理员报废申请购买申请3审核维修记录查询记录管理员报废设备新设备维修设备查询信息2.4报废2.3购买2.2维修2.1统计查询1身份验证登录信息管理员图2.3 2层数据流图2.4总数据流图:报废登记购买登记维修登记查询设备相关信息新设备记录维修记录查询记录审核结果管理员高级管理员审核信息审核结果3审核报废提交提交申请登录信息报废设备新设备报废记录表D6申请表D5新设备表D4维修记录表D3设备基本信息表D2报废2.4购买2.3维修设备维修2.2查询信息统计查询2.1登录表D1登录信息身份验证1管理员图2.4 总数据流图3、系统数据模型E-R图实体和属性的定义。E-R模型的“联系”用于刻画实体之间的关联。一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。若有联系,进一步确定是1:N,M:N,还是1:1等,还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系等等。3.1实验室设备信息E-R图,如下图所示:图3.1 实验室设备信息E-R图3.2维修设备E-R图,如下图所示:维修的设备何人维修生产厂家规格型号单价名数量维修日期类型设备名图3.2维修设备E-R图3.3查询设备E-R图,如下图所示:查询的设备何人查询生产厂家规格型号单价名数量查询日期类型设备名图3.3查询设备E-R图3.4报废设备E-R图,如下图所示:图3.4报废设备E-R图3.5损坏设备E-R图,如下图所示:图3.5损坏设备E-R图3.6管理员E-R图,如下图所示:图3.6管理员E-R图3.7总体E-R图用户名密码登录权限类型设备名设备号审核管理密码用户名高级管理员设备管理员图3.7总体E-R图4、系统行为模型(状态转换图)下面绘制管理员从登录系统到退出系统的状态图,如下:返回登录 开始结束取消注销确认注销点击注销注销提交返回报废记录表登记点击查看报废提交返回登记申请表点击查看购买返回维修记录表登记点击查看点击查询维修查看设备基本信息统计查询登录成功实验室设备管理系统主页面图4.1登录的状态图第二章概要设计实验室设备管理系统1、实验室设备管理系统模块结构图系统功能操作设备管理员操作高级管理员操作审核管理系统维护管理设备查询管理设备购买管理设备报废管理设备维修管理用户登陆管理图1 实验室设备管理系统结构图2、管理系统模块功能,接口的描述1、高级管理员操作模块(1)模块名称:购买审核模块。(2)模块功能:对因其他原因的需要进行增加设备情况来进行相应的操作。 (3)模块背景描述:对因其他原因的需要进行增加设备情况来进行相应操作。 (4)接口:申请处理接口2、设备管理员操作模块(1)模块名称:设备管理模块。(2)模块功能:对一些损坏的设备进行调查并采取更换设备或进行维修等操作。对一些已经损坏并不能进行维修的设备进行移除和作废处理等操作。(3)模块背景描述:用户必须是设备管理员才能填写设备管理表,只有授权的设备管理员才有资格对正式的设备管理表进行增加、修改、删除、查询和系统维护等操作。(4)接口:修理处理接口、报废处理接口3、查询管理模块(1)模块名称:查询管理模块。(2)模块功能:对实验室中的设备进行查询,了解设备状况。(3)模块背景描述:对实验室中的设备进行查询,了解设备状况。(4)接口:查询处理接口3、数据库设计1、逻辑结构设计序号中文表名英文表名表功能说明1实验室设备管理表Equip记录实验室设备的具体详细信息2实验室设备购买申请表application记录实验室设备购买的具体详细信息3实验室设备修理表fix记录实验室设备修理的具体详细信息4实验室设备报废注销表reject记录实验室设报废注销的具体详细信息5实验室设备用户表user记录实验室用户的具体详细信息数据库的各表如下所示:表3.1 设备信息表(Equip)列名数据类型字段大小必填字段默认值说明equipidvarchar15是主键,设备编号sortvarchar20是设备类型namevarchar30是设备名modelvarchar40是模型standartvarchar20否设备规格PriceDouble8是设备金额BuytimeDate20是购买时间Factaryvarchar20是生产厂家Buyersvarchar20是购买人stateVarchar5是完好设备所处状态表3.2设备申请表(application)列名数据类型字段大小必填字段默认值说明ApplicationidInt8是主键,设备申请号sortvarchar20是设备类型namevarchar30是设备名modelvarchar40是模型Standardvarchar20否设备规格PriceDouble8是设备金额BuytimeDate20是购买时间Factaryvarchar20是生产厂家Buyersvarchar20是购买人stateVarchar5是完好设备审核状态表3.3 设备维修表(fix)列名数据类型字段大小必填字段默认值说明FixidInt8是主键,设备申请号Equipidvarchar20是设备号namevarchar30是设备名Fixfactaryvarchar40是修理厂家FixpriceDouble8否修理价格FixdateDate8是设备金额PersonVarchar20是责任人表3.4设备报废表(reject)列名数据类型字段大小必填字段默认值说明RejectidInt8是主键,设备报废号Equipidvarchar20是设备号namevarchar30是设备名RejectdateDate是报废日期Personvarchar20否责任人NoteVarchar255是备注表3.5用户表(user)列名数据类型字段大小必填字段默认值说明UseridVarchar12是主键,用户idPasswordvarchar20是密码Positionvarchar12是职位第三章详细设计在本系统中有如下几个大型的模块。它们分别是:用户登陆管理模块、设备管理员操作模块(设备查询管理模块、设备维修管理模块、设备购买管理模块、设备报废管理模块)和高级管理员管理模块。1、用户登录管理模块1.1功能描述在整个实验室设备管理系统中,用户管理是所有系统的第一大关,它可以用来区别用户的管理权限,不同的管理权限给予的功能是不同的,用户登陆后才可进行相关的操作。1.2 模块伪代码取得程序上窗体上的用户名、密码栏的文本信息分别将取得的信息存入NAME和PASSWORD两变量中打开数据库中的用户信息表,用sName变量与列名为用户名的列项进行比较IF 查到了与NAME相同的项,判断 PASSWORD是否相等不相等 则返回错误,要求重新输入相等 则取得登陆权限用来判断用户身份,给予相关权限。ELSE 则返回错误,要求重新输入1.3 模块流程图如下:图1.1 用户登录管理模块流程图1.4 数据库相关信息表1.1用户登陆表列名数据类型长度允许空用户名varchar50not null密码varchar50not null登陆权限char10not null程序开始2、设备查询管理模块模块流程图如右:取得设备名称打开数据库查询是否查到 是 否显示没有相关信息显示设备信息图2.1设备查询管理模块流程图2.1功能描述在整个系统中用来查询设备的作用,可以确定相关设备是否已有,确定设备的各项属性。该模块应该是所有功能中所需权限最低的。2.2 模块伪代码取得窗体上设备的名称文本栏信息sName = 取得的文本栏信息,打开数据库,打开设备基本信息表用sName变量与列名为设备名的列的项进行比较IF 查到了与sName变量相同的项取得该项的各项属性,并在窗体上显示出来ELSE 在窗体上显示“没用找相关设备”。2.3 数据库相关信息表1.2 设备信息基本表列名数据类型长度允许空设备型号varchar10not null设备名varchar20not null规格varchar10not null单价float8null购买日期datetime8null生产厂家varchar20null购买人varchar10null数量Int4null是否为记录3、设备维修管理模块模块流程图如下:是 否进行维修查询提示输入设备维修相关信息将信息写入数据库维修记录表中图3.1 设备维修管理模块流程图3.1功能描述在整个系统中用来记录或查询设备的维修管理的,可以确定相关设备在哪维修,维修日期,维修费和责任人。3.2 模块伪代码判断是记录还是查询IF 为记录在窗体上显示各种维修信息的文本框取得各个文本框的内容打开数据库,打开维修记录表,写入维修记录表在程序窗体上显示已记录ELSE 在窗体上显示请输入设备名,并显示一个文本框sName = 文本框内容打开数据库,打开维修记录表用sName对维修记录表的设备名列的项进行比较IF 找到相关项与sName相等,将该项的相关信息显示到程序的窗体上。ELSE 在程序窗体上显示“没有找到相关设备”列名数据类型长度允许空列名设备型号varchar10not null设备名varchar20not null维修日期datetime8null维修厂家varchar30null维修费用float8null责任人varchar10null3.3 数据库相关信息表1.3维修记录表4、设备购买管理模块模块流程图如下:提示输入需要购买设备的信息 否是否信息输入完全是写入数据库中的申请表中提示已申请信息写入图4.1 设备购买管理模块流程图4.1功能描述在整个系统中用来购买设备的作用,可以对于急需但又缺少的设备需以“申请表”的形式送交上级领导请求批准购买。4.2 模块伪代码在窗体上显示所需购买设备的相关信息文本栏将窗体上的相关信息存入变量打开数据库,打开数据库中的申请表将各项变量写入申请表中新建的项的各个值中在窗体中显示申请表已提交。4.3 数据库相关信息表1.4申请表列名数据类型长度允许空设备名varchar10not null日期Datatime8not null规格varchar10not null数量int4null申请人Varchar10Null5、设备报废管理模块是否为记录模块流程图如下:否提示输入报废设备名或者日期查询是提示输入报废相关信息打开数据库报废记录表,并进行记录输出查询结果提示已写入数据库图5.1 设备报废管理模块流程图5.1功能描述在整个系统中对于已彻底损坏的设备作报废处理记录和查询。5.2 模块伪代码判断是查询还是记录报废设备IF为查询则在窗体上显示出报废信息文本框将文本框的内容存入各个变量打开数据库,打开报废记录表将相关变量写入报废记录表的新建项的各个项目Return 报废记录已写入IF 为查询则将窗体上的报废时间或者报废设备栏数据写入变量打开数据库,打开报废记录表IF 为按设备名查询则在列名为设备名的列用变量查询IF 有项与变量相同则返回该项的相关信息到程序窗体上显示ELSE返回“无此类设备报废”IF 为按报废时间查询则在列名为报废日期的列用变量查询IF 有项小于变量则返回该项的相关信息到程序上显示ELSE返回“无此类设备报废”5.3 数据库相关信息表1.5 报废记录表列名数据类型长度允许空设备型号varchar10not null设备名varchar20not null报废日期datetime8null责任人varchar10null6、高级管理员管理模块模块流程图如下:图6.1 高级管理员管理模块流程图6.1功能描述在整个系统用于上级领导管理申请表的查看和审查。6.2 模块伪代码打开数据库打开数据库的申请表的表查看有没有项IF有新的项将项中的各项信息在程序的窗体上显示然后等用户判断是否批准购买并购买了IF 用户点击批准(已购买)按钮则在申请表中删除该项并在窗体上显示设备名等设备相关信息文本框将窗体上的相关信息存入各个变量中打开数据库的设备基本信息表将各个变量写入设备基本信息表在窗体上显示“新设备已更新”ELSE 关闭数据库的申请表在程序上显示“申请表暂压”ELSE 在程序窗体上显示“没有新的申请表”6.3 数据库相关信息表1.6 申请表列名数据类型长度允许空设备名varchar10not null日期Datatime8not null规格varchar10not null数量int4null申请人Varchar10Null第四章编码1、用户登录界面:privatevoid jbInit() throws Exception contentPane = (JPanel) this.getContentPane();password.addActionListener(new Log_password_actionAdapter(this);contentPane.setLayout(xYLayout1);this.setSize(new Dimension(500, 400);this.setTitle(实验室设备管理系统);jLabel1.setFont(new java.awt.Font(SansSerif, 0, 25);jLabel1.setForeground(Color.red);jLabel1.setText(欢迎进入实验室设备管理系统);jLabel2.setFont(new java.awt.Font(SansSerif, 0, 20);jLabel2.setText(姓名);jTextField1.setText();jLabel3.setFont(new java.awt.Font(SansSerif, 0, 20);jLabel3.setText(密码);jButton1.setText(提交); 2、主界面:privatevoid jbInit() throws Exception contentPane = (JPanel) this.getContentPane();contentPane.setLayout(xYLayout1);this.setSize(new Dimension(600, 500);this.setTitle(实验室管理系统);设备查询.setFont(new java.awt.Font(SansSerif, 0, 20);设备查询.setText(设备查询);设备信息.setFont(new java.awt.Font(SansSerif, 0, 20);设备信息.setText(设备信息查询);设备信息.addActionListener(new Frame9_设备信息_ActionAdapter(this);设备申请.setFont(new java.awt.Font(SansSerif, 0, 20);设备申请.setText(设备申请);设备申请.addActionListener(new Frame9_设备申请_actionAdapter(this);申请登记.setFont(new java.awt.Font(SansSerif, 0, 20);申请登记.setText(申请登记);申请登记.addActionListener(new Frame9_申请登记_ActionAdapter(this);jLabel1.setFont(new java.awt.Font(SansSerif, 0, 40);jLabel1.setForeground(new Color(210, 0, 0);jLabel1.setHorizontalAlignment(SwingConstants.LEADING);jLabel1.setText(实验室管理系统);contentPane.setFont(new java.awt.Font(Dialog, 0, 11);contentPane.setForeground(Color.darkGray);jMenu2.setFont(new java.awt.Font(SansSerif, 0, 20);jMenu2.setFocusPainted(false);jMenu2.setText(维修记录);jMenuItem7.setFont(new java.awt.Font(SansSerif, 0, 20);jMenuItem7.setText(维修记录登记);jMenuItem7.addActionListener(new Frame9_jMenuItem7_actionAdapter(this);jMenu3.setFont(new java.awt.Font(SansSerif, 0, 20);jMenu3.setText(报废记录);jMenuItem8.setFont(new java.awt.Font(SansSerif, 0, 20);jMenuItem8.setText(设备报废登记);jMenuItem8.addActionListener(new Frame9_jMenuItem8_actionAdapter(this);设备查询.addSeparator();jMenuItem1.setFont(new java.awt.Font(SansSerif, 0, 20);jMenuItem1.setText(维修记录查询);jMenuItem1.addActionListener(new Frame9_jMenuItem1_actionAdapter(this);jMenuItem3.setFont(new java.awt.Font(SansSerif, 0, 20);jMenuItem3.setText(设备报废查询);jMenuItem3.addActionListener(new Frame9_jMenuItem3_actionAdapter(this);jLabel2.setFont(new java.awt.Font(SansSerif, 0, 40);jLabel2.setForeground(Color.red);jLabel2.setText(欢迎进入);jLabel3.setFont(new java.awt.Font(SansSerif, 0, 40);jLabel3.setForeground(Color.red);jLabel3.setText(实验室设备管理系统);jMenu5.setText(退出系统);jMenuItem2.setFont(new java.awt.Font(SansSerif, 0, 20);jMenuItem2.setText(退出); 3、设备查询:void Select() try String str1, str2; str1 = jTextField1.getText(); str2 = jTextField2.getText(); Connection con = null;String url = jdbc:odbc:shebeiguanli;String user = ;String password = ;Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);con = DriverManager.getConnection(url,user,password);Statement stmt =con.createStatement(); PreparedStatement pstmt = con.prepareStatement(use shebeiguanli select * from 设备基本信息 where 设备型号=? and 设备名=? ); pstmt.setString(2, str1); pstmt.setString(1, str2); ResultSet res = pstmt.executeQuery();String id;String name;String guige,danjia,day,changjia,peo,num;String outputarea= 设备型号 + 设备名称 + 规格 + 单价 + 购买日期 + 生产厂家 + 数量 + 责任人 +n;if(res.next()doid = res.getString(1);name = res.getString(2);guige = res.getString(3);danjia = res.getString(4);day=res.getString(5);changjia = res.getString(6);peo=res.getString(7);num=res.getString(8);outputarea+= +id+ +name+ +guige+ +danjia+ +day+ +changjia+ +peo+ +num+ +n;jTextField3.setText(outputarea);while(res.next();elsejTextField3.setText(不存在); catch (ClassNotFoundException e) System.out.println(e.getMessage(); catch (SQLException edd) edd.printStackTrace() ; System.out.println(edd.getMessage(); 4、维修记录:privatevoid jbInit() throws Exception contentPane = (JPanel) this.getContentPane();contentPane.setLayout(xYLayout1);this.setSize(new Dimension(500,500);this.setTitle(实验室设备管理系统);jLabel1.setFont(new java.awt.Font(SansSerif, 0, 25);jLabel1.setForeground(Color.red);jLabel1.setText(实验室设备管理系统);jLabel2.setFont(new java.awt.Font(SansSerif, 0, 30);jLabel2.setRequestFocusEnabled(true);jLabel2.setText(维修记录);jLabel3.setFont(new java.awt.Font(SansSerif, 0, 12);jLabel3.setText(设备型号);jLabel4.setFont(new java.awt.Font(SansSerif, 0, 12);jLabel4.setText(设备名);jLabel5.setFont(new java.awt.Font(SansSerif, 0, 12);jLabel5.setText(维修日期);jLabel6.setFont(new java.awt.Font(SansSerif, 0, 12);jLabel6.setText(维修厂家);jLabel7.setFont(new java.awt.Font(SansSerif, 0, 12);jLabel7.setText(维修费用);jLabel8.setFont(new java.awt.Font(SansSerif, 0, 12);jLabel8.setText(责任人);jButton1.setFont(new java.awt.Font(SansSerif, 0, 25);jButton1.setText(提交); 5、设备报废记录:privatevoid jbInit() throws Exception contentPane = (JPanel) this.getContentPane();contentPane.setLayout(xYLayout1);this.setSize(new Dimension(500,500);this.setTitle(实验室设备管理系统);jLabel1.setFont(new java.awt.Font(SansSerif, 0, 25);jLabel1.setForeground(Color.red);jLabel1.setText(实验室设备管理系统);jLabel2.setFont(new java.awt.Font(SansSerif, 0, 30);jLabel2.setRequestFocusEnabled(true);jLabel2.setText(报废记录);jLabel3.setFont(new java.awt.Font(SansSerif, 0, 12);jLabel3.setText(设备型号);jLabel4.setFont(new java.awt.Font(SansSerif, 0, 12);jLabel4.setText(设备名);jLabel5.setFont(new java.awt.Font(SansSerif, 0, 12);jLabel5.setText(报废日期);jLabel6.setFont(new java.awt.Font(SansSerif, 0, 12);jLabel6.setText(责任人);jButton1.setFont(new java.awt.Font(SansSerif, 0, 25);jButton1.setText(提交); 6、设备申请:privatevoid jbInit() throws Exception contentPane = (JPanel) this.getContentPane();contentPane.setLayout(xYLayout1);this.setSize(new Dimension(500,500);this.setTitle(实验室设备管理系统);jLabel1.setFont(new java.awt.Font(SansSerif, 0, 25);jLabel1.setForeground(Color.red);jLabel1.setText(实验室设备管理系统);jLabel2.setFont(new java.awt.Font(SansSerif, 0, 30);jLabel2.setRequestFocusEnabled(true);jLabel2.setText(设备申请记录);jLabel3.setFont(new java.awt.Font(SansSerif, 0, 12);jLabel3.setText(设备名);jLabel4.setFont(new java.awt.Font(SansSerif, 0, 12);jLabel4.setText(规格);jLabel5.setFont(new java.awt.Font(SansSerif, 0, 12);jLabel5.setText(申请日期);jLabel6.setFont(new java.awt.Font(SansSerif, 0, 12);jLabel6.setText(数量);jLabel7.setFont(new java.aw

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论