实验室设备管理系统培训课程
- 格式:doc
- 大小:2.08 MB
- 文档页数:54
《软件体系结构》课程设计设计题目:实验室设备管理系统姓名:李欣张丹唐蔚霖学号: k0308413(07+13+17)同组组长:李欣同组其他成员:张丹唐蔚霖实验指导教师:李超实验地点: 9B505完成日期: 2011-6-10湖北民族学院信息工程学院目录一、概述(目的、任务、开发环境、参考资料)二、采用的主要方法与技术三、需求分析四、设计五、实现过程与步骤六、遇到的困难与获得的主要成果七、测试与运行记录八、完成结果分析与总结九、附录(软件配置、个人完成的程序模块和文档清单)一、概述(目的、任务、开发环境、参考资料)21世纪以来,人类经济高速发展,人们发生了日新月异的变化。
随着时代的发展,教育越来越需要实验,让学生从实验中得到更多,更扎实的知识。
因此学校也需要对实验室的实验设备进行更多的投入,而投入之后就带来了管理方面的问题。
我们做的这个系统主要是对设备的购买、维修、报废等方面进行了一定的管理,可以让设备进行有序、有效的管理,为管理人员节约一些因为管理混乱而浪费的时间。
不过系统的功能还不够完善,性能也还不够稳定,有待于以后不断的进行完善。
实现的功能如下:(1)对于已彻底损坏的做报废处理,同时详细记录有关信息。
(2)对于由严重问题(故障)的要及时修理,并记录修理日期、设备名、编号、修理厂家、修理费用、责任人等。
(3)对于急需修改但又缺少的设备,需以“申请表”的形式送交上级领导请求批准购买。
新设备购入后要立即进行设备登记(包括类别、设备名、编号、型号、规格、单价、数量、购置日期、生产厂家、保质期和经办人等信息),同时更新申请表的内容。
(4)随时对现有设备及其修理、报废情况进行统计、查询,要求能够按类别和时间段等查询。
参考文献:谭浩强主编.Visual Basic程序设计(二)教程.清华大学出版社柳青等编. Visual Basic 程序设计教程.高等教育出版社范立南. SQL Server2000 实用教程.北京:清华大学出版社孙燕等编.Visual Basic 程序设计.高等教育出版社萨师煊王珊编.数据库系统概论.北京:高等教育出版社杨志强.Visual Basic 程序设计教程.北京:高等教育出版社.二、采用的主要方法与技术软件工程是一门从技术和组织管理两个角度研究如何用系统化、规范化和数量化等工程原理与方法去进行软件开发和维护的学科。
实验室设备管理系统目录一、系统的开发背景与目标…………………………………………………1、开发背景…………………………………………………………………2、开发目标…………………………………………………………………二、可行性分析与初步开发计划……………………………………………1、技术可行性………………………………………………………………2、经济可行性………………………………………………………………3、法律可行性………………………………………………………………4、初步开发计划……………………………………………………………三、需求分析……………………………………………………………………1、系统功能列表……………………………………………………………2、数据流图…………………………………………………………………3、数据字典…………………………………………………………………4、数据加工的描述…………………………………………………………5、性能需求…………………………………………………………………四、系统设计……………………………………………………………………1、系统结构图………………………………………………………………2、输出设计…………………………………………………………………3、数据库结构设计…………………………………………………………4、模块详细设计……………………………………………………………五、课程设计总结………………………………………………………………六、代码…………………………………………………………………………七、参考文献……………………………………………………………………一、系统的开发背景与开发目标1、系统的开发背景现代社会的校园网络环境,已经大大发生了变化,除了个人笔记本电脑,各种计算机、语音实验室机房也成为了使用频率颇高的场所,我们不能仅仅把它理解为提供上机的环境,而是应该完善此处的各种相关工作,如考勤,收费等,同时最大限度的降低机房的运营成本,提高使用率;通过建设“实验室设备管理系统”,运用先进的技术手段和设备,满足以上应用需求;实验室设备管理系统是一个功能比较完善的数据管理软件,具有数据操作方便高效迅速等优点,具有很好的可移植性,可在WINDOWS系列等操作系统上使用;2、系统的开发目标a 提高人员的工作效率,提高设备的利用率b实验室的设备管理更加便捷有效c减少设备管理的费用,节省开支d提高决策效率e能够准确的控制生产二、可行性分析与初步开发计划1技术可行性对系统的简要描述在原来的手工系统之上创建,利用计算机实现对实验室设备的管理,包括借出、购入、修理仪器、归还仪器等各种功能采用建议系统可能带来的影响在建立所建议系统时,预期会带来的影响包括以下几个方面;1对设备的影响由于所建议系统是基于WINDOWS操作系统和互联网的,所以需要配备足够符合以上列出的各种软硬件条件的计算机和通信线路;系统失效后,服务器端需要利用备份的数据库恢复数据信息,要求要有足够的数据备份空间;2对软件的影响需要落实是否有符合本报告所列出的正版的软件环境,如果没有则需要购买;3对用户单位机构的影响投入使用前还需改进现有的管理模式;4对开发的影响管理员只要输入简单的数据就可以完成设备管理;5对经费开支的影响除了需要支付开发单位的有关费用外,每年还需要一定的运行维护费用见经济可行性分析;技术可行性评价本系统是一个基于局域网、互联网和WINDOWS操作的系统,现有技术已较为成熟,利用现有技术完全可以实现系统开发目标;同时,开发期限较为宽裕,预计可以在规定期限内完成开发任务;2经济可行性支出1一次性支出1系统开发、建立费用万元;其中:本系统开发期为3个月,需要开发人员3人不一定都是参加满3个月;根据软件系统的规模估算,开发工作量月为3人2个月即6人月,每人月的人工费按5000员计算,开发费用为3万元;实验室设备等基本信息建立需要2人1个月即2人月,每人月的人工费用按2000员计算,需万元;2硬件设备费共万元,其中:微机1台约万元;服务器1台及网络等设备费4万元;3外购开发工具、软件环境费用共4万元;4其他费用共2万元;一次性支出总费用:14万元;2经常性费用主要是系统的运行费用,假设本系统运行期10年,每年的运行费用包括系统维修、设备维护等5万元,按年利率5%计算运行费用见表A-1系统投资成本总额为:14+= 万元效益假设投入本系统,效率可以提高50%,以现有的工作人员10人计算,可减少5人,每人每月平均工资按2500元计算,每年节约人员工资5×12×=15万元/年;按年利率5%计算,效益计算如下表;系统收益总额为:万元;收益/投资比在10年期内,系统总成本万元,系统总收益万元;投资回报率:×%即为=15 /1+j+15/1+j2+…+15/1+j10的方程解i×100纯收益:-=万元从经济上考虑,开发本系统完全可行的;投资回收周期投资回收期:3+-/=年敏感性分析生命周期为10年,需要30人左右;3法律可行性法律因素侵犯专利权:有侵犯版权:有为了能够解决在使用实验设备出现的一些问题,需要建立一个安全完善的管理平台,能够使设备信息能够快速完整地自动记录在案,并自动更新用户使用可行性适用于实验室设备管理,系统操作简单,便于管理人员使用;4初步开发计划三、需求分析1、系统功能列表Function List2、数据流图0层数据流图:1层数据流图:2层数据流图:3、数据字典1.数据流条目登陆信息输入:设备管理员输出:身份验证描述:登陆信息=用户名+密码+登陆权限查询信息输入:合法人员对设备的查询操作输出:设备信息表描述:查询信息=设备名|型号|类别|购置日期维修信息输入:所需维修设备的信息输出:确定维修设备的记录描述:维修信息=修理日期+设备名+编号+修理厂家+修理费用+责任人购买设备输入:购买设备的信息输出:确定购买的新设备的记录描述:新设备=类别+设备名+编号+型号+规格+单价+数量+购置日期+生产厂家+保质期+经办人等报废设备输入:所需报废的设备的信息输出:报废的设备记录描述:报废设备=类别+设备+型号等审核信息输入:审核输出:上级领导描述:审核信息=报废设备信息/新设备购买信息2.加工条目身份验证,统计查询,维修,购买,报废,生产报表,审核;3.文件条目登陆表输入:身份验证输出:身份验证数据结构:用户名+密码+登陆权限设备基本信息表输入:统计查询数据结构:类别+设备名+型号+规格等维修记录表输入:统计查询,维修输出:统计查询数据结构:修理日期+设备名+编号+修理厂家+修理费用+责任人购买设备表输入:统计查询,购买输出:统计查询数据结构:类别+设备名+编号+型号+规格+单价+数量+购置日期+生产厂家+保质期+经办人等报废记录表输入:报废,统计查询,生产报表输出:统计查询,生产报表数据结构:类别+设备名+型号等申请表输入:统计查询,生产报表输出:统计查询,生产报表,购买数据结构:类别+设备名+型号+规格+数量4.数据加工处理的描述登陆用例简要说明:本用例说明用户如何登录到系统;角色:管理员、实验员、学生前置条件:启动程序,进入登录界面基本事件流:1.用户输入基本信息登录名和密码,点击确定按钮2.系统查找数据库,看该用户是否在数据库中;若存在则进入主页面;备选事件流:1.输入无效的用户名或密码,提示用户名或密码不能为空或者提示用户名或密码不正确;后置条件:登录成功特殊需求:没有和本用例有关的特殊需求;扩展点:没有和本用例有关的扩展点;购买设备用例简要说明:本用例说明管理员如何购买设备并记录进入系统;角色:管理员前置条件:已经成功登陆到系统;基本事件流:1.管理员填写设备各种信息,确定添加;2.系统把对应信息写入数据库,更新数据库;备选事件流:输入了已存在的设备编号,系统提示编号中已存在;后置条件:购买成功;特殊需求:没有和本用例有关的特殊需求;扩展点:没有和本用例有关的扩展点;报废设备用例简要说明:本用例说明管理员如何从入系统中删除报废的设备记录;角色:管理员前置条件:已经成功登陆到系统;基本事件流:1.管理员根据设备编号,找到需要删除的设备记录,确定删除;2.系统把从数据库中删除对应信息,更新数据库;备选事件流:输入了不存在的设备编号,系统提示未找到记录;后置条件:删除成功;特殊需求:没有和本用例有关的特殊需求;扩展点:没有和本用例有关的扩展点;设备查询用例简要说明:本用例说明管理员如何查询系统中已记录的实验设备;角色:管理员前置条件:已经成功登陆到系统;基本事件流:1.管理员选择设备查询功能,根据名称、编号、添加时间等方式,填写信息并查询;2.系统查找数据库,找到符合条件的信息;3.返回找到的信息;备选事件流:输入不存在的设备信息,系统提示未找到该设备信息;后置条件:查询成功;特殊需求:没有和本用例有关的特殊需求;扩展点:没有和本用例有关的扩展点;5.性能需求数据精确度该软件计算设备时以“台”、“件”等为实物计件单位,报表输出中的金额保证到的精度;时间特性查询在3秒内完成,表项输出在8秒内完成适应性考虑到工作人员有时候办公地点的移动性,在设计时应该注意软件的适应性,对于查询功能应尽可能独立方便地将其移植到笔记本、掌上电脑等硬件平台6.运行需求用户界面采用Windows的通用图形界,对用户友好,且必须对鼠标和键盘提供支持;硬件接口支持一般x86系列微机和Windows CE,即一般的PC机;四、系统设计1.状态图2.输出设计输入:a.输入数据数字信息符合输入精度要求b.输入可选信息完全使用下拉框完成输出:a.输出数据符合输出精度要求输出数据格式字体大小统一3.数据库结构设计(1)实体表4.模块详细设计设备管理员操作模块设备管理员五、课程设计总结六、代码1、用户登录界面:packageimportimport .;importimport .;public class Login extends JFrame {//private static final long serialVersionUID = 1L;dd lPosition;pCon0.add cbPosition;pCon1.add lName;pCon1.add cbName;pCon2.add lPasswd;pCon2.add pfPasswd;pCon3.add bConfirm;pCon3.add bCancel;pCon4.add lTitle;add pCon4;for int i = 0; i < - 1; i++pCon i;oString;new String;.toString;if info {new Main unch;setVisible false;null;} else {new Login, "用户名,密码或身份错误";null;}} else if == cbPosition {;importimportpublic class Main extends JFrame {//private static final long serialVersionUID = 1L;private JTabbedPane tp;private JPanel p;private User info;public Main {super"实验室设备管理系统";tp = new JTabbedPane;p = new JPanel8;}public MainUser info{this;=info;p0 = new UserManage;p1 = new EquipIn;p2 = new EquipOut;p3 = new Registerinfo;p4 = new Applyinfo;p5 = new Checksinfo;p6= new Search;p7=new PasswdModyfyinfo;}public void launch {"用户管理", p0;"设备入库", p1;"设备出库", p2;"设备登记", p3;"设备申请", p4;"审核申请", p5;"统计查询", p6;"个人信息维护", p7;if info instanceof Administration{1, false;2, false;3, false;4, false;5, false;6, false;}else if info instanceof StoreManager{ 0, false;3, false;5, false;1;}else if info instanceof LabManager{0, false;1, false;2, false;5, false;3;}else if info instanceof BuyManager{0, false;1, false;2, false;4, false;5, false;3;}else if info instanceof OverLeader{0, false;1, false;2, false;3, false;4, false;5;}getContentPane.add tp;setSize1280, 780;setVisible true;addWindowListener new WindowAdapter{public void windowClosingWindowEvent e{0;}};}}3、购买设备:packageimport .;importimport .;importimportimport .;public class MaintainApply extends JPanel {//private static final long serialVersionUID = 1L;private JLabel lpId;private JTextField tf;private JButton bApply, bAgain, bDelete;private JPanel pUp, pDown;private JTable t;private JScrollPane jsp;private User user;private LabManager lm;private MaintainApplyData maInfo;public MaintainApplyUser user {supernew BorderLayout;= user;lpId = new JLabel"固定资产编号";tf = new JTextField;15;bApply = new JButton"申请";bAgain = new JButton"重置";bDelete = new JButton"取消申请";pUp = new JPanel;pDown = new JPanel;lm = new LabManager;maInfo = new MaintainApplyData;String head = new String { "序列号", "固定资产编号", "申请人", "申请时间" };Object data = ;t = new JTabledata, head;25;jsp = new JScrollPane t;lpId;tf;bApply;bAgain;bDelete;add pUp, ;add jsp, ;add pDown, ;oString;maInfo;}}};import .;importimportimportimportpublic class EquipIn extends JPanel {//private static final long serialVersionUID = 1L;private JLabel leId, lsId, liNum, lPara;private JTextField tfiNum;private JComboBox cbeId, cbsId;private JButton bIn, bAgain, bDelete;private JPanel pUp, pDown;private JScrollPane jsp;private JTable t;private StoreManager sma;private InData inInfo;public EquipIn {supernew BorderLayout;oString;.toString;new Date;new Integer;inInfo;;} else if == bAgain {;import .;importpublic class UserManage extends JPanel {//private static final long serialVersionUID = 1L;private JLabel lArray = new JLabel7;private JButton bArray = new JButton3;private JTextField tfArray = new JTextField2;private JPasswordField pfArray = new JPasswordField2;private JPanel pArray = new JPanel4;private JComboBox cbPosition, cbSL;private JScrollPane jsp;private JTable t;private Administration Admin;private StoreManager sma;private LabManager lm;public UserManage {supernew BorderLayout;etColumns10;pfArray i = new JPasswordField;pfArray i.setColumns10;pArray i = new JPanel;}pArray2 = new JPanel;pArray3 = new JPanel new GridLayout2, 1;String position = new String { "系统管理员", "仓库管理员", "实验室管理员", "购买登记员","上级领导" };cbPosition = new JComboBoxposition;cbSL = new JComboBox;Admin = new Administration;sma = new StoreManager;lm = new LabManager;String head = new String { "用户名", "姓名", "身份" };Object data = ;t = new JTabledata, head;25;jsp = new JScrollPane t;etVisible false;false;lArray6.setForeground;dd lArray0;pArray0.add cbPosition;pArray0.add lArray1;pArray0.add tfArray0;pArray0.add lArray2;pArray0.add tfArray1;pArray1.add lArray3;pArray1.add pfArray0;pArray1.add lArray4;pArray1.add pfArray1;pArray1.add lArray5;pArray1.add cbSL;pArray1.add bArray0;pArray1.add bArray1;pArray1.add lArray6;pArray2.add bArray2;pArray3.add pArray0;pArray3.add pArray1;add pArray3, ;add jsp, ;add pArray2, ;ddActionListener new ListenAction;bArray1.addActionListener new ListenAction;bArray2.addActionListener new ListenAction;new ListenAction;lArray6.addMouseListener new ListenMouse;}etText;tfArray1.getText;new String pfArray0.getPassword;.toString;if == bArray0 {etText.equals""|| new String pfArray0.getPassword.toString.equals"" {null, "用户名或密码不可为空";bArray1.doClick;return;}String strKey = new String { ,};if .containsstrKey {null, "用户已存在";bArray1.doClick;return;}if new String pfArray0.getPassword.equals new String pfArray1.getPassword {null, "密码不一致";bArray1.doClick;return;}Admin;if .equals"仓库管理员" {tfArray0.getText;.toString;sma;} else if .equals"实验室管理员" {tfArray0.getText;.toString;lm;}bArray1.doClick;} else if == bArray1 {etText null;tfArray1.setText null;pfArray0.setText null;pfArray1.setText null;} else if == bArray2 {quals"仓库管理员" {lArray5.setText"仓库编号";lArray5.setVisible true;true;;String sId = ;for int i = 0; i < ; i++sIdi;} else if .equals"实验室管理员" {lArray5.setText"实验室编号";lArray5.setVisible true;true;;String sId = ;for int i = 0; i < ; i++sIdi;} else {lArray5.setVisible false;false;}}etCursor new Cursor;}public void mousePressedMouseEvent e {new ParameterSet;}}}6、设备统计查询:packageimport .;importimportimport .;importimportimportimportpublic class Search extends JPanel {//private static final long serialVersionUID = 1L;private JRadioButton rbStore, rbLab, rbeId, rbSingleeId;private JComboBox cbStore, cbLab, cbeId;private JLabel lStore, lLab, leId;private JTable t;private JScrollPane jsp;private JPanel pUp, pDown, p;private StoreManager sma;private InData inInfo;public Search {supernew BorderLayout;rbStore = new JRadioButton"仓库库存统计", true;rbLab = new JRadioButton"实验室库存统计";rbeId = new JRadioButton"所有设备", true;rbSingleeId = new JRadioButton"单个设备";sma = new StoreManager;inInfo = new InData;cbStore = new JComboBox;cbLab = new JComboBox;cbeId = new JComboBox;lStore = new JLabel"仓库编号";lLab = new JLabel"实验室编号";leId = new JLabel"设备编号";false;false;false;false;pUp = new JPanel;pDown = new JPanel;p = new JPanel;rbStore;lStore;cbStore;rbLab;lLab;cbLab;rbeId;rbSingleeId;leId;cbeId;new GridLayout2, 1;pUp;pDown;.toString;String head = new String { "设备编号", "仓库编号", "库存量" }; Object data = inInfo;t = new JTabledata, head;25;jsp = new JScrollPane t;add p, ;add jsp, ;oString;.toString;.toString;.toString;if {true;true;false;false;false;head = new String { "设备编号", "仓库编号", "库存量" };if {false;false;false;data = idInfo;} else {true;true;false;data = idInfo;}} else {false;false;true;true;false;head = new String { "设备编号", "实验室编号", "库存量" };if {false;false;false;data = odInfo;} else {true;true;false;data = odInfo;}};import .;import .;import .;import .;import .;importimport .;importimportpublic class Frame6 extends JFrame {JPanel contentPane;JLabel jLabel1 = new JLabel;XYLayout xYLayout1 = new XYLayout;JLabel jLabel2 = new JLabel;JLabel jLabel3 = new JLabel;JTextField jTextField1 = new JTextField;JLabel jLabel4 = new JLabel;JTextField jTextField2 = new JTextField;JPanel jPanel1 = new JPanel;XYLayout xYLayout2 = new XYLayout;JScrollPane jScrollPane1 = new JScrollPane;JLabel jLabel5 = new JLabel;JTextField jTextField3 = new JTextField;public Frame6 {enableEvents;try {jbInit;}catch Exception e {;}}private void jbInit throws Exception {contentPane = JPanel ;xYLayout1;new Dimension600, 500;"实验室设备管理系统";new Frame6_this_hierarchyBoundsAdapter this;new"SansSerif", 0, 25;;"实验室设备管理系统";;new"SansSerif", 0, 30;"设备报废记录查询";new"SansSerif", 0, 20;"设备名称";"";true;new"SansSerif", 0, 20;"设备型号";"";new Frame6_jTextField2_actionAdapter this;xYLayout2;new"SansSerif", 0, 25;;"该报废设备详细信息";"";jLabel1, new XYConstraints200, 0, 300,50;jLabel2, new XYConstraints200, 47, 300, 58;jLabel3, new XYConstraints47, 102, 101, 42;jTextField1, new XYConstraints128, 108, 112, 34;jTextField2, new XYConstraints361, 107, 109, 36;jPanel1, new XYConstraints75, 166, 453, 277;jScrollPane1, new XYConstraints14, 8, 433, 221; .add jTextField3, null;jLabel5, new XYConstraints112, 240, -1, -1;jLabel4, new XYConstraints278, 111, -1, -1;}protected void processWindowEventWindowEvent e {e;if == {0;}}void Select {try {String str1, str2;str1 = ;str2 = ;Connection con = null;String url = "jdbc:odbc:shebeiguanli";String user = "";String password = "";;con = url,user,password;Statement stmt =;PreparedStatement pstmt ="use shebeiguanli select from 报废记录 where 设备型号= and 设备名= ";2, str1;1, str2;ResultSet res = ;String id;String name;String guige,danjia,day,changjia,peo,num;String outputarea=" 设备型号 " +" 设备名称 "+" 报废记录 "+" 责任人"+'\n';if{do{id = 1;name = 2;day=5;peo=7;outputarea+=" "+id+" "+name+" "+day+" "+peo+" "+"\n";outputarea;}while;}else{"不存在";}}catch ClassNotFoundException e {}catch SQLException edd {;}}void this_ancestorMovedHierarchyEvent e {}void jTextField2_actionPerformedActionEvent e {Select;}}class Frame6_this_hierarchyBoundsAdapter extendsFrame6 adaptee;Frame6_this_hierarchyBoundsAdapterFrame6 adaptee { = adaptee;}public void ancestorMovedHierarchyEvent e {e;}}class Frame6_jTextField2_actionAdapter implementsFrame6 adaptee;Frame6_jTextField2_actionAdapterFrame6 adaptee {= adaptee;}public void actionPerformedActionEvent e {e;}}7、报废设备:packageimport .;importimport .;importimportimportpublic class BuyApply extends JPanel {//private static final long serialVersionUID = 1L;private JLabel leId, lNum;private JPanel pUp, pDown;private JButton bApply, bAgain, bDelete;private JTable t;private JScrollPane jsp;private JComboBox cbeId;private JTextField tfNum;private User user;private StoreManager sma;private BuyApplyData baInfo;public BuyApplyUser user {supernew BorderLayout;oString;;new Date;new Integer;baInfo;;} else if == bAgain {oString;baInfo;}}};importimportimport .;importimportclass MaintainCheck extends JPanel{//private static final long serialVersionUID = 1L;private JLabel lLeft,lRight;private JPanel pLeft,pRight,pCenter,pCUp,pCDown;private JButton bUp,bDown;private JTable tLeft,tRight;private JScrollPane jspLeft,jspRight;private User user;public MaintainCheckUser user{=user;l Left=new JLabel"未审核列表";l Right=new JLabel"已审核列表";b Up=new JButton"通过";b Down=new JButton"不通过";p Left=new JPanel;p Right=new JPanel;p Center=new JPanel;p CUp=new JPanel;b Up;p CDown=new JPanel;bDown;new GridLayout2,1;pCUp;pCDown;OverLeader ol=new OverLeader;String headRight=new String{"审核表序列号","申请表序列号","审核人","审核时间","审核结果"};Object dataRight=;tRight=new JTabledataRight,headRight;25;jspRight=new JScrollPane tRight;String headLeft=new String{"序列号","固定资产编号","申请人","申请时间"};Object dataLeft=;tLeft=new JTabledataLeft,headLeft;25;jspLeft=new JScrollPane tLeft;new BorderLayout;new BorderLayout;lLeft,;jspLeft,;lRight,;jspRight,;setLayout new GridLayout1,3;add pLeft;add pCenter;add pRight;new ListenButton;new ListenButton;}class ListenButton implements ActionListener{p ublic void actionPerformedActionEvent e{int selectedIndex = -1;for int i = 0; i < ; i++ {if i == trueselectedIndex = i;}if selectedIndex == -1 {null, "请先选择某一项";return;} else {int option = null,"是否确定审核此申请", "提示", ;if option == {MaintainCheckData info = new MaintainCheckData;new IntegerselectedIndex, 0.toString;;new Date;if==bUp{"通过";}else if==bDown{"不通过";}OverLeader ol=new OverLeader;info;}}//刷新remove jspLeft;remove jspRight;OverLeader ol=new OverLeader;String headRight=new String{"审核表序列号","申请表序列号","审核人","审核时间","审核结果"};Object dataRight=;tRight=new JTabledataRight,headRight;25;;jspRight=new JScrollPane tRight;String headLeft=new String{"序列号","固定资产编号","申请人","申请时间"};Object dataLeft=;tLeft=new JTabledataLeft,headLeft;25;;jspLeft=new JScrollPane tLeft;new BorderLayout;new BorderLayout;lLeft,;jspLeft,;lRight,;jspRight,;setLayout new GridLayout1,3;validate;}}}七、参考文献软件工程王忠群中国科学技术大学出版社Java程序设计胡平电子科技大学出版社。
实验室管理培训课程一、课程简介实验室管理培训课程旨在为实验室管理人员提供必要的知识和技能,帮助他们更好地管理和运营实验室,确保实验室的安全、高效运行。
本课程内容包括实验室规范与安全管理、实验室设备维护与管理、实验室采购及预算管理、实验室人员管理等方面。
二、课程目标通过本课程的学习,参训人员应能够:1.熟悉实验室规范和安全管理要求,能够制定和执行实验室安全规程,确保实验室安全;2.掌握实验室设备维护与管理的基本技能,能够进行常见设备的故障排除和维修;3.理解实验室采购和预算管理的重要性,能够制定合理的采购计划和预算;4.掌握实验室人员管理的方法和技巧,能够有效组织实验室人员的工作。
三、课程内容1. 实验室规范与安全管理•实验室规范要求及执行•实验室安全管理制度•实验室事故的预防与应急处理2. 实验室设备维护与管理•常见实验室设备的使用和维护•常见设备故障的排除和维修•设备保养计划的制定与执行3. 实验室采购及预算管理•实验室采购流程及注意事项•实验室仪器设备的选购与验收•实验室预算编制和执行4. 实验室人员管理•实验室人员组织架构和职责分工•实验室管理人员的职业素养和沟通技巧•实验室人员绩效评估和培训计划制定四、教学方法本课程采用多种教学方法,包括理论讲解、案例分析、小组讨论和角色扮演等。
通过案例分析和小组讨论,参训人员能够更好地将理论知识应用到实际情境中,加深对实验室管理的理解和掌握。
五、考核方式参训人员需通过课程期末考试,并完成相关实践任务,包括制定实验室规范与安全管理制度、设备保养计划和人员培训计划等。
通过考核并完成实践任务的人员将获得实验室管理培训证书。
六、培训师资本课程的培训师资由经验丰富且在实验室管理领域有良好口碑的专家和从业人员担任。
培训师将结合自身的经验和案例,为参训人员提供实用的实验室管理知识和技能。
七、适用对象本课程适用于实验室管理人员、相关研究人员以及对实验室管理感兴趣的人员。
cnas实验室培训计划一、培训目的CNAS实验室培训计划的目的是通过系统的培训,提高实验室人员的专业水平,确保实验室的测试质量和工作效率,提升实验室的整体竞争力,为服务于社会提供有力的支持。
二、培训内容1. 实验室管理知识2. 实验室安全知识3. 实验室常规操作规程4. 实验室仪器设备的使用和维护5. 实验室质量控制和质量保证三、培训对象1. 实验室管理人员2. 实验人员3. 仪器设备维护人员4. 质量控制人员四、培训时间本次培训计划为期一个月,每周进行一次培训,时间安排在周末,每次培训时间为4小时。
五、培训方式本次培训分为理论培训和实践培训两部分,理论培训采用课堂授课的方式,实践培训则通过实验操作来进行。
六、培训教材1. 《实验室管理学》2. 《实验室安全与环境保护》3. 《实验室仪器设备使用与维护》4. 《实验室质量管理与认证》5. 《实验室操作规程》七、培训具体计划第一周:实验室管理知识1. 实验室管理概论2. 实验室组织结构及职责分工3. 实验室文件管理4. 实验室业务流程第二周:实验室安全知识1. 实验室安全管理制度2. 实验室安全事故处理3. 实验室安全设施及其使用4. 实验室危险品管理第三周:实验室常规操作规程1. 实验室通用设备的使用和维护2. 实验室化学试剂的使用和存储3. 实验室样品管理4. 实验室废物处理第四周:实验室仪器设备的使用和维护1. 仪器设备的基本原理和结构2. 仪器设备的使用方法3. 仪器设备的维护保养第五周:实验室质量控制和质量保证1. 实验室质量控制体系2. 实验室质量保证体系3. 实验室质量审核与认证八、培训考核培训结束后,将进行培训考核,考核内容包括理论知识考核和实际操作考核。
理论知识考核将采用闭卷考试的方式进行,实际操作考核将通过实验操作考核来进行。
考核成绩合格者将颁发培训合格证书。
九、培训评估培训结束后,将进行培训效果评估,评估内容包括培训内容的掌握情况、培训效果的总体评价、培训计划的完整性等。
5培训教材实验室现场管理—定置管理实验室是从事科研与教学的重要场所,为了确保实验室工作的安全、高效进行,定置管理就显得尤为重要。
本文将介绍实验室现场管理的相关内容,包括设备定置、安全管理和环境控制等方面。
通过合理的定置管理,能够提高实验室工作的质量和效率。
一、设备定置设备定置是实验室现场管理的基础,它涉及到实验室设备的摆放、连接、检验等多个方面。
首先,需要将设备摆放在合适的位置,保证操作人员能够方便地使用,并确保设备之间的间距足够。
同时,各设备的连接也必须合理,确保信号传输的稳定性和可靠性。
为了保证设备的正常运行,还需要进行设备的检验和维护工作。
定期检查设备的运行状态,修复故障和更换损坏的配件,可以有效地预防设备故障,确保实验室工作的连续性。
此外,还应建立设备使用记录,便于设备的追溯和管理。
二、安全管理实验室现场管理的一个重要方面是安全管理。
安全管理包括安全设施的配置、操作规程的制定和人员的培训等。
首先,必须配置完善的安全设施,如灭火器、洗眼器、紧急停电开关等,以应对突发情况。
其次,需要制定操作规程,包括使用设备的方法、事故处理流程等,操作人员必须熟悉并遵守规程,从而避免事故的发生。
为了提高安全意识和应急能力,还需对实验室人员进行安全培训。
培训内容包括安全操作规范、紧急救援技能等方面,使人员具备处理突发情况的能力和心理素质。
三、环境控制实验室的环境控制是保障实验工作稳定进行的重要环节。
环境控制包括温湿度、洁净度和通风等方面。
首先,需要保持实验室的适宜温湿度,适宜的环境条件有利于实验结果的准确性。
其次,实验室应保持适当的洁净度,定期清洁以及消毒操作是必要的措施,以减少实验污染和交叉感染的风险。
最后,实验室的通风系统应正常运行,确保室内空气流通和新鲜。
为了保证实验室环境的质量,需要定期进行环境监测,包括温湿度的检测、空气质量的检测等。
监测结果作为改进实验室环境的依据,及时采取相应的措施,保障实验室环境的质量。
个人课程设计报告院系计算机与通信工程学院专业计算机(中加)学号20106126姓名角色 D日期2013/6/20个人课程设计报告一.项目概述1.1编写目的因为现在各个高校内教学设备众多但自动管理水平相比过低,很多高校管理设备都采用在设备购进以后将设备的基本情况和相关信息登记存档。
存档以后,档案基本就没人记录与维护,至于以后设备的变迁或损坏都不会记录在设备档案中,即不能体现设备的即时状态。
而有些即使有设备管理系统的单位,就算是能把设备的即时信息体现在设备档案上,但设备的缺陷处理及设备缺陷等功能没有实施,设备检修的备品备件情况和检修成本核算没有实现,整个学校教学设备管理信息化仍处于较低水平。
将管理任务分成小块,落实到个人并能随时查询设备当前情况和历史情况,对设备的可靠性分析有直接作用,使管理人员从手工计算、统计工作中解脱出来。
同时基于实验室管理者对设备的的使用情况进行统计和更新提供轻松快捷的管理方式,利用计算机管理系统管理我校的实验设备势在必行,也方便广大用户可以随时随地的借用实验设备进行学习和研究。
该报告的读者对象为研发该软件者。
1.2任务每学年要对实验室设备使用情况进行统计、更新。
其中:(1)对于已彻底损坏的做报废处理,同时详细记录有关信息。
(2)对于由严重问题(故障)的要及时修理,并记录修理日期、设备名、编号、修理厂家、修理费用、责任人等。
(3)对于急需修改但又缺少的设备,需以“申请表”的形式送交上级领导请求批准购买。
新设备购入后要立即进行设备登记(包括类别、设备名、编号、型号、规格、单价、数量、购置日期、生产厂家、保质期和经办人等信息),同时更新申请表的内容。
(4)随时对现有设备及其修理、报废情况进行统计、查询,要求能够按类别和时间段等查询。
1.3开发环境系统开发环境的选择对于系统的建立来说至关重要,它将决定着系统开发工作量的大小,系统的性能特点以及系统今后的维护工作难易等。
因此在开发系统之前,根据对系统所采用的技术、实现功能的评估,在选择开发环境时,主要考虑以下几个因素:扩展性,总成本,功能,是否容易开发与管理,另外开放性和互操作性也是需要考虑的一个重要方面,因为该系统是运行在Internet 上的,用户平台的差异决定了与其它系统的互操作性是不可避免的。
实验项目:实验室设备管理系统一、项目管理:二、软件需求分析1 软件系统需求描述:实验室设备管理系统是利用Eclipse 作为开发工具、SQL Server2000作为数据库的系统。
要求实现如下功能:⑴所有工作由专门人员负责完成,其他人不得任意使用; ⑵对于已彻底损坏的作报废处理,同时详细记录有关信息;⑶对于有严重问题(故障)的要即使修理,并记录修理日期、设备名、修理厂家、修理费、责任人等;⑷对于急需但又缺少的设备需以“申请表”的形式送交上级领导请求批准购买。
新设备购入后要立即进行设备登记(包括类别、设备名、型号、规格、单价、数量、购置日期、生产厂家、购买人等),同时更新申请表的内容;⑸随时对现有设备及其修理、报废情况进行统计、查询,要求能够按类别和时间段(某日期之前)查询。
本管理系统通过计算机对实验设备进行自动管理,设备管理员可以直接在计算机实现实验设备的信息管理,并在一定程度上实现自动化,改善了工作运行效率和效果。
2 软件系统数据流图1) 顶层数据流图设备管理员上级领导实验室设备管理系统2) 0层数据流图处理要求2登陆信息处理结果身份验证1审核3无效登陆信息审核结果3)一层数据流图信息表表申请表新设备表表4)总数据流图登陆表设备基本信息表3软件系统数据字典:1、数据流条目①登陆信息输入:设备管理员输出:身份验证1描述:登陆信息=用户名+密码+登陆权限②查询信息输入:合法人员对设备的查询操作输出:设备信息表描述:查询信息=设备名/型号/类别/购置日期③维修信息输入:所需维修设备的信息输出:确定维修设备的记录描述:维修信息=设备名+修理日期+修理厂家+修理费+负责人④新设备输入:购买设备的信息输出:确定购买的新设备的记录描述:新设备=类别+设备名+型号+规格+单价+数量等⑤报废设备输入:所需报废的设备的信息输出:报废的设备记录描述:报废设备=类别+设备名+型号等⑥审核信息输入:审核3输出:上级领导描述:审核信息=报废设备信息/新设备购买记录2、加工条目身份验证1,统计查询2.1,维修2.2,购买2.3,报废2.4,生产报表3.1,审核3.23、文件条目①登陆表输入:身份验证1输出:身份验证1数据结构:用户名+密码+登陆权限②设备基本信息表输入:统计查询2.1数据结构:类别+设备名+型号+规格等③维修记录表输入:统计查询2.1,维修2.2输出:统计查询2.1数据结构:设备名+修理日期+修理厂家+修理费+责任人等④新设备表输入:统计查询2.1,购买2.2输出:统计查询2.1数据结构:类别+设备名+型号+规格+单价+数量+生产厂家+购买人等⑤报废记录表输入:报废2.4,统计查询2.1,生产报表3.1输出:统计查询2.1,生产报表3.1数据结构:类别+设备名+型号等⑥申请表输入:统计查询2.1,生产报表3.1输出:统计查询2.1,生产报表3.1,购买2.3数据结构:设备名+型号+规格+数量+负责人三:软件设计1实验室设备管理系统模块结构图2界面设计3实验室设备管理系统数据设计设备管理员用户名密码登陆权限管理设备设备名设备号类型审核上级领导用户名密码4管理系统其中的3个模块的详细设计①上级领导操作模块②设备管理员操作模块③统功能操作模块5数据库设计①登陆表②设备基本信息表③维修记录表设备型号varchar 10 not null设备名varchar 20 not null维修日期datetime 8 null维修厂家varchar 30 null维修费用float 8 null责任人varchar 10 null④报废记录表列名数据类型长度允许空设备型号varchar 10 not null设备名varchar 20 not null报废日期datetime 8 null责任人varchar 10 null⑤申请表列名数据类型长度允许空设备名varchar 10 not null日期Datatime 8 not null规格varchar 10 not null数量int 4 null申请人Varchar 10 Null四、编码与单元测试1、各模块示意图2、用户登录界面:package shebeiguanli;import java.applet.*;import java.sql.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;import yout.*;/***<p>Title:实验室设备管理系统登录界面</p>*@author gengdexin*@version 1.0*/public class Log extends JFrame {/** 构建显示对象*/JPanel contentPane;XYLayout xYLayout1 = new XYLayout();JPasswordField password = new JPasswordField(); JLabel jLabel1 = new JLabel();JLabel jLabel2 = new JLabel();JLabel jLabel4 = new JLabel();JTextField jTextField1 = new JTextField();JLabel jLabel3 = new JLabel();JLabel jLabel5 = new JLabel();JLabel jLabel6 = new JLabel();public Log() {enableEvents(AWTEvent.WINDOW_EVENT_MASK);try {jbInit();}catch(Exception e) {e.printStackTrace();}}private void 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("密码");jLabel4.setFont(new java.awt.Font("SansSerif", 0, 20));jLabel4.setText("开发人员:耿德新蔺明亮毛冬冬");jLabel5.setFont(new java.awt.Font("SansSerif", 0, 20));jLabel5.setText("李章华吕文强顾海驹");jLabel6.setFont(new java.awt.Font("SansSerif", 0, 15));jLabel6.setForeground(Color.red);jLabel6.setText("交流:gengdxin@");contentPane.add(jLabel1, new XYConstraints(80, 10, 350, 34));contentPane.add(jLabel2, new XYConstraints(92, 142, -1, -1));contentPane.add(jTextField1, new XYConstraints(130, 145, 91, 26));contentPane.add(jLabel3, new XYConstraints(222, 144, -1, -1));contentPane.add(password, new XYConstraints(263, 144, 105, 28));contentPane.add(jLabel4, new XYConstraints(50, 250, -1, -1));contentPane.add(jLabel5, new XYConstraints(150, 280, -1, -1));contentPane.add(jLabel6, new XYConstraints(100, 340, -1, -1));}protected void processWindowEvent(WindowEvent e) {super.processWindowEvent(e);if (e.getID() == WindowEvent.WINDOW_CLOSING) {System.exit(0);}}void password_actionPerformed(ActionEvent e) {try {Frame1 Frame= new Frame1();Frame.show();validID();}catch (Exception ew) {System.out.println(ew.getMessage());}this.setVisible(false);}//连接sqlvoid validID() {try {String str1, str2;str1 = jTextField1.getText();str2 = password.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();//执行动态的sql语句PreparedStatement pstmt = con.prepareStatement(//依据读者的名字查询读者的信息的sql语句"use shebeiguanli select * from 登录 where username=?");//将读者的名字添加到具体的sql语句中pstmt.setString(1, str1);//使用ResultSet中的方法executeQuery()来完成sql语句的执行 ResultSet res = pstmt.executeQuery();//使用getString()来获取sql查询的结果if ((!res.next()) || res.getString("password") == null) { JOptionPane.showMessageDialog(this, "查无此人", "错误",JOptionPane.ERROR_MESSAGE);}else {// if ( !res.getString(2).equals(str2)) {if ( !res.getString(2).equals(str2)) {JOptionPane.showMessageDialog(this, "密码错误", "错误", JOptionPane.ERROR_MESSAGE);}else {System.out.println("正确");do{System.out.println(res.getString(1)+":" + res.getString(2));}while (res.next());loader();}}pstmt.close();con.close();}catch (ClassNotFoundException e) {System.out.println(e.getMessage());}catch (SQLException edd) {edd.printStackTrace() ;System.out.println(edd.getMessage());}}void loader() {try {Frame9 Frame= new Frame9();Frame.show();}catch (Exception ew) {System.out.println(ew.getMessage());}}}class Log_password_actionAdapter implementsjava.awt.event.ActionListener {Log adaptee;Log_password_actionAdapter(Log adaptee) {this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.password_actionPerformed(e);}}3、主界面:package shebeiguanli;import java.awt.*;import java.awt.event.*;import javax.swing.*;import yout.*;//系统主界面public class Frame9 extends JFrame {JPanel contentPane;JMenuBar jMenuBar1 = new JMenuBar();JMenu 设备查询 = new JMenu();JMenuItem 设备信息 = new JMenuItem();JMenu 设备申请 = new JMenu();JMenuItem 申请登记 = new JMenuItem();XYLayout xYLayout1 = new XYLayout();JLabel jLabel1 = new JLabel();JMenu jMenu2 = new JMenu();JMenuItem jMenuItem7 = new JMenuItem(); JMenu jMenu3 = new JMenu();JMenuItem jMenuItem8 = new JMenuItem();JMenuItem jMenuItem1 = new JMenuItem();JMenuItem jMenuItem3 = new JMenuItem();JLabel jLabel2 = new JLabel();JLabel jLabel3 = new JLabel();JLabel jLabel4 = new JLabel();JMenu jMenu5 = new JMenu();JMenuItem jMenuItem2 = new JMenuItem();public Frame9() {enableEvents(AWTEvent.WINDOW_EVENT_MASK);try {jbInit();}catch(Exception e) {e.printStackTrace();}}private void 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(newFrame9_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(newFrame9_jMenuItem8_actionAdapter(this));设备查询.addSeparator();jMenuItem1.setFont(new java.awt.Font("SansSerif", 0, 20));jMenuItem1.setText("维修记录查询");jMenuItem1.addActionListener(newFrame9_jMenuItem1_actionAdapter(this));jMenuItem3.setFont(new java.awt.Font("SansSerif", 0, 20));jMenuItem3.setText("设备报废查询");jMenuItem3.addActionListener(newFrame9_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("实验室设备管理系统");jLabel4.setFont(new java.awt.Font("SansSerif", 0, 15));jLabel4.setForeground(Color.red);jLabel4.setText("交流:gengdxin@");jMenu5.setFont(new java.awt.Font("SansSerif", 0, 20));jMenu5.setText("退出系统");jMenuItem2.setFont(new java.awt.Font("SansSerif", 0, 20));jMenuItem2.setText("退出");jMenuItem2.addActionListener(newFrame9_jMenuItem2_actionAdapter(this));jMenuItem2.addItemListener(newFrame9_jMenuItem2_itemAdapter(this));设备查询.add(设备信息);设备查询.addSeparator();设备申请.addSeparator();设备申请.add(申请登记);设备申请.addSeparator();jMenuBar1.add(设备查询);jMenuBar1.add(设备申请);jMenuBar1.add(jMenu2);jMenuBar1.add(jMenu3);jMenuBar1.add(jMenu5);jMenu2.addSeparator();jMenu2.add(jMenuItem7);jMenu2.addSeparator();jMenu2.add(jMenuItem1);jMenu2.addSeparator();jMenu3.addSeparator();jMenu3.add(jMenuItem8);jMenu3.addSeparator();jMenu3.add(jMenuItem3);jMenu3.addSeparator();contentPane.add(jLabel1, new XYConstraints(175, 1, -1, -1));contentPane.add(jLabel3, new XYConstraints(150, 200, -1, -1));contentPane.add(jLabel2, new XYConstraints(50, 100, 163, 45));contentPane.add(jLabel4, new XYConstraints(180, 350, -1,-1));jMenu5.addSeparator();jMenu5.add(jMenuItem2);jMenu5.addSeparator();this.setJMenuBar(jMenuBar1);}public void设备信息_actionPerformed(ActionEvent e) {try {Frame2 Frame= new Frame2();Frame.show();}catch (Exception ew) {System.out.println(ew.getMessage());}}public void申请登记_actionPerformed(ActionEvent e) {try {Frame7 Frame= new Frame7();Frame.show();}catch (Exception ew) {System.out.println(ew.getMessage());}}protected void processWindowEvent(WindowEvent e) {super.processWindowEvent(e);if (e.getID() == WindowEvent.WINDOW_CLOSING) {设备信息_actionPerformed(null);}}void shebei_actionPerformed(ActionEvent e) {try {}catch (Exception ew) {System.out.println(ew.getMessage());}}void jMenuItem1_actionPerformed(ActionEvent e) { try { Frame4 Frame= new Frame4();Frame.show();}catch (Exception ew) {System.out.println(ew.getMessage());}}void jMenuItem3_actionPerformed(ActionEvent e) {try {Frame6 Frame= new Frame6();Frame.show();}catch (Exception ew) {System.out.println(ew.getMessage());}}void jMenuItem4_actionPerformed(ActionEvent e) {try {Frame3 Frame= new Frame3();Frame.show();}catch (Exception ew) {System.out.println(ew.getMessage());}}void jMenuItem5_actionPerformed(ActionEvent e) { try {Frame6 Frame= new Frame6();Frame.show();}catch (Exception ew) {System.out.println(ew.getMessage());}}void jMenuItem6_actionPerformed(ActionEvent e) { try {retur Frame= new retur();Frame.show();}catch (Exception ew) {System.out.println(ew.getMessage());}}void jMenuItem7_actionPerformed(ActionEvent e) { try {Frame3 Frame= new Frame3();Frame.show();}catch (Exception ew) {System.out.println(ew.getMessage());}}void jMenuItem8_actionPerformed(ActionEvent e) {try {Frame5 Frame= new Frame5();Frame.show();}catch (Exception ew) {System.out.println(ew.getMessage());}}void jMenuItem2_itemStateChanged(ItemEvent e) {System.exit(0);}void jMenuItem2_actionPerformed(ActionEvent e) {System.exit(0);}void设备申请_actionPerformed(ActionEvent e) {}}class Frame9_设备信息_ActionAdapter implements ActionListener { Frame9 adaptee;Frame9_设备信息_ActionAdapter(Frame9 adaptee) {this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.设备信息_actionPerformed(e);}}class Frame9_申请登记_ActionAdapter implements ActionListener { Frame9 adaptee;Frame9_申请登记_ActionAdapter(Frame9 adaptee) {this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.申请登记_actionPerformed(e);}}class Frame9_jMenuItem5_actionAdapter implements java.awt.event.ActionListener {Frame9 adaptee;Frame9_jMenuItem5_actionAdapter(Frame9 adaptee) { this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.jMenuItem5_actionPerformed(e);}}class Frame9_jMenuItem7_actionAdapter implements java.awt.event.ActionListener {Frame9 adaptee;Frame9_jMenuItem7_actionAdapter(Frame9 adaptee) { this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.jMenuItem7_actionPerformed(e);}}class Frame9_jMenuItem8_actionAdapter implements java.awt.event.ActionListener {Frame9 adaptee;Frame9_jMenuItem8_actionAdapter(Frame9 adaptee) { this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.jMenuItem8_actionPerformed(e);}}class Frame9_jMenuItem1_actionAdapter implements java.awt.event.ActionListener {Frame9 adaptee;Frame9_jMenuItem1_actionAdapter(Frame9 adaptee) { this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.jMenuItem1_actionPerformed(e);}}class Frame9_jMenuItem3_actionAdapter implements java.awt.event.ActionListener {Frame9 adaptee;Frame9_jMenuItem3_actionAdapter(Frame9 adaptee) { this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.jMenuItem3_actionPerformed(e);}}class Frame9_jMenuItem2_itemAdapter implementsjava.awt.event.ItemListener {Frame9 adaptee;Frame9_jMenuItem2_itemAdapter(Frame9 adaptee) { this.adaptee = adaptee;}public void itemStateChanged(ItemEvent e) {adaptee.jMenuItem2_itemStateChanged(e);}}class Frame9_jMenuItem2_actionAdapter implements java.awt.event.ActionListener {Frame9 adaptee;Frame9_jMenuItem2_actionAdapter(Frame9 adaptee) { this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.jMenuItem2_actionPerformed(e);}class Frame9_设备申请_actionAdapter implements java.awt.event.ActionListener {Frame9 adaptee;Frame9_设备申请_actionAdapter(Frame9 adaptee) { this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.设备申请_actionPerformed(e);}}4、设备查询:package shebeiguanli;/** <p>Title实验室设备管理系统查询页面<p>* @author gengdexin*/import java.io.*;import .*;import java.sql.*;import ng.*;import javax.sql.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;import yout.*;import com.borland.dbswing.*;public class Frame2 extends JFrame {JPanel contentPane;JLabel jLabel1 = new JLabel();XYLayout xYLayout1 = new XYLayout();JLabel jLabel2 = new JLabel();JLabel jLabel3 = new JLabel();JTextField jTextField1 = new JTextField();JLabel jLabel4 = new JLabel();JTextField jTextField2 = new JTextField();JPanel jPanel1 = new JPanel();XYLayout xYLayout2 = new XYLayout();JScrollPane jScrollPane1 = new JScrollPane();JLabel jLabel5 = new JLabel();JTextField jTextField3 = new JTextField();public Frame2() {enableEvents(AWTEvent.WINDOW_EVENT_MASK);try {jbInit();}catch(Exception e) {e.printStackTrace();}}private void jbInit() throws Exception {contentPane = (JPanel) this.getContentPane();contentPane.setLayout(xYLayout1);this.setSize(new Dimension(600, 500));this.setTitle("实验室设备管理系统");this.addHierarchyBoundsListener(newFrame2_this_hierarchyBoundsAdapter(this));jLabel1.setFont(new java.awt.Font("SansSerif", 0, 25));jLabel1.setForeground(Color.red);jLabel1.setText("实验室设备管理系统");contentPane.setForeground(Color.black);jLabel2.setFont(new java.awt.Font("SansSerif", 0, 30));jLabel2.setText("设备查询");// statusBar.setFont(new java.awt.Font("SansSerif", 0, 20));jLabel3.setFont(new java.awt.Font("SansSerif", 0, 20));jLabel3.setText("设备名称");jTextField1.setText("");jLabel4.setEnabled(true);jLabel4.setFont(new java.awt.Font("SansSerif", 0, 20));jLabel4.setText("设备型号");jTextField2.setText("");jTextField2.addActionListener(newFrame2_jTextField2_actionAdapter(this));jPanel1.setLayout(xYLayout2);jLabel5.setFont(new java.awt.Font("SansSerif", 0, 25));jLabel5.setForeground(Color.red);jLabel5.setText("该设备详细信息");jTextField3.setText("");contentPane.add(jLabel1, new XYConstraints(200, 0, 300,50));contentPane.add(jLabel2, new XYConstraints(200, 47, 231, 58));contentPane.add(jLabel3, new XYConstraints(47, 102, 101, 42));contentPane.add(jTextField1, new XYConstraints(128, 108, 112, 34));contentPane.add(jTextField2, new XYConstraints(361, 107, 109, 36));contentPane.add(jPanel1, new XYConstraints(75, 166, 453, 277));jPanel1.add(jScrollPane1, new XYConstraints(14, 8, 433, 221));jScrollPane1.getViewport().add(jTextField3, null);jPanel1.add(jLabel5, new XYConstraints(112, 240, -1, -1));contentPane.add(jLabel4, new XYConstraints(278, 111, -1, -1));}protected void processWindowEvent(WindowEvent e) {super.processWindowEvent(e);if (e.getID() == WindowEvent.WINDOW_CLOSING) {System.exit(0);}}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()){do{id = 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());}else{jTextField3.setText("不存在");}}catch (ClassNotFoundException e) {System.out.println(e.getMessage());}catch (SQLException edd) {edd.printStackTrace() ;System.out.println(edd.getMessage());}}void this_ancestorMoved(HierarchyEvent e) {}void jTextField2_actionPerformed(ActionEvent e) {Select();}}class Frame2_this_hierarchyBoundsAdapter extendsjava.awt.event.HierarchyBoundsAdapter {Frame2 adaptee;Frame2_this_hierarchyBoundsAdapter(Frame2 adaptee) { this.adaptee = adaptee;}public void ancestorMoved(HierarchyEvent e) {adaptee.this_ancestorMoved(e);}}class Frame2_jTextField2_actionAdapter implementsjava.awt.event.ActionListener {Frame2 adaptee;Frame2_jTextField2_actionAdapter(Frame2 adaptee) { this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.jTextField2_actionPerformed(e);}}5、维修记录:package shebeiguanli;/** <p>title实验室设备管理系统维修记录页面<p> * @author gengdexin*/import java.io.*;import .*;import java.sql.*;import ng.*;import javax.sql.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;import yout.*; public class Frame3 extends JFrame { JPanel contentPane;XYLayout xYLayout1 = new XYLayout(); JLabel jLabel1 = new JLabel();JLabel jLabel2 = new JLabel();JLabel jLabel3 = new JLabel();JLabel jLabel4 = new JLabel();JLabel jLabel5 = new JLabel();JLabel jLabel6 = new JLabel();JLabel jLabel7 = new JLabel();JLabel jLabel8 = new JLabel();JTextField jTextField1 = new JTextField();JTextField jTextField2 = new JTextField();JTextField jTextField3 = new JTextField();JTextField jTextField4 = new JTextField();JTextField jTextField5 = new JTextField();JTextField jTextField6 = new JTextField();JButton jButton1 = new JButton();public Frame3() {enableEvents(AWTEvent.WINDOW_EVENT_MASK);try {jbInit();}catch(Exception e) {e.printStackTrace();}}private void 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("责任人");jTextField1.setText("");jTextField2.setText("");jTextField3.setText("");jTextField4.setText("");jTextField5.setText("");jTextField6.setText("");jButton1.setFont(new java.awt.Font("SansSerif", 0, 25));jButton1.setText("提交");contentPane.add(jLabel1, new XYConstraints(120, 0, 250, 37));contentPane.add(jLabel2, new XYConstraints(166, 27, -1, -1));contentPane.add(jLabel3, new XYConstraints(94, 90, -1, -1));contentPane.add(jLabel4, new XYConstraints(97, 140, -1, -1));contentPane.add(jLabel6, new XYConstraints(94, 240, -1, -1));contentPane.add(jTextField1, new XYConstraints(173, 80, 128, 38));contentPane.add(jTextField2, new XYConstraints(173, 130, 127, 40));contentPane.add(jLabel5, new XYConstraints(94, 190, -1, -1));contentPane.add(jTextField3, new XYConstraints(174, 180, 126, 38));contentPane.add(jTextField4, new XYConstraints(174, 230, 125, 40));contentPane.add(jButton1, new XYConstraints(176, 375, 121, 43));contentPane.add(jLabel7, new XYConstraints(94, 290, -1, -1));contentPane.add(jLabel8, new XYConstraints(94, 340, -1, -1));contentPane.add(jTextField5, new XYConstraints(174, 280, 126, 38));contentPane.add(jTextField6, new XYConstraints(174, 330, 126, 38));}protected void processWindowEvent(WindowEvent e) {super.processWindowEvent(e);if (e.getID() == WindowEvent.WINDOW_CLOSING) {System.exit(0);}}void jTextField1_actionPerformed(ActionEvent e) {}void Insert() {try {//定义显示的字符串String str1;String str2;String str3;String str4;String str5;String str6;str1 = jTextField1.getText();str2 = jTextField2.getText();str3 = jTextField3.getText();str4 = jTextField4.getText();str5 = jTextField5.getText();str6 = jTextField6.getText();Connection con = null;S tring url = "jdbc:odbc:shebeiguanli";S tring user = "";S tring password = "";Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");con = DriverManager.getConnection(url,user,password);Statement stmt =con.createStatement();PreparedStatement pstmt = con.prepareStatement("use shebeiguanli insert into 维修记录(设备型号,设备名,维修日期,维修厂家,维修费用,责任人)VALUES(?,?,?,?,?,?)");pstmt.setString(1, str1);pstmt.setString(2, str2);pstmt.setString(3, str3);pstmt.setString(4, str4);pstmt.setString(5, str5);pstmt.setString(6, str6);ResultSet res = pstmt.executeQuery();pstmt.close();con.close();}catch (ClassNotFoundException e) {System.out.println(e.getMessage());}catch (SQLException edd) {edd.printStackTrace() ;System.out.println(edd.getMessage());}}void jButton1_actionPerformed(ActionEvent e) {Insert();}}6、维修记录查询package shebeiguanli;/** <p>Title实验室设备管理系统维修查询页面<p> * @author gengdexin*/import java.io.*;import .*;import java.sql.*;import ng.*;import javax.sql.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;import yout.*;import com.borland.dbswing.*;public class Frame4 extends JFrame {JPanel contentPane;JLabel jLabel1 = new JLabel();XYLayout xYLayout1 = new XYLayout();JLabel jLabel2 = new JLabel();JLabel jLabel3 = new JLabel();JTextField jTextField1 = new JTextField();JLabel jLabel4 = new JLabel();JTextField jTextField2 = new JTextField();JPanel jPanel1 = new JPanel();XYLayout xYLayout2 = new XYLayout();JScrollPane jScrollPane1 = new JScrollPane();JLabel jLabel5 = new JLabel();JTextField jTextField3 = new JTextField();public Frame4() {enableEvents(AWTEvent.WINDOW_EVENT_MASK);try {jbInit();}catch(Exception e) {e.printStackTrace();}}private void jbInit() throws Exception {contentPane = (JPanel) this.getContentPane();contentPane.setLayout(xYLayout1);this.setSize(new Dimension(600, 500));this.setTitle("实验室设备管理系统");this.addHierarchyBoundsListener(newFrame4_this_hierarchyBoundsAdapter(this));jLabel1.setFont(new java.awt.Font("SansSerif", 0, 25));jLabel1.setForeground(Color.red);jLabel1.setText("实验室设备管理系统");contentPane.setForeground(Color.black);jLabel2.setFont(new java.awt.Font("SansSerif", 0, 30));jLabel2.setText("设备维修记录查询");jLabel3.setFont(new java.awt.Font("SansSerif", 0, 20));jLabel3.setText("设备名称");jTextField1.setText("");。