实验室设备管理系统实验.doc

上传人:可****阿 文档编号:58278171 上传时间:2022-11-07 格式:DOC 页数:53 大小:2.10MB
返回 下载 相关 举报
实验室设备管理系统实验.doc_第1页
第1页 / 共53页
实验室设备管理系统实验.doc_第2页
第2页 / 共53页
点击查看更多>>
资源描述

《实验室设备管理系统实验.doc》由会员分享,可在线阅读,更多相关《实验室设备管理系统实验.doc(53页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、 . . 实验项目:实验室设备管理系统一、 项目管理:阶段时间与实验任务参与人员产生文档项目管理2009.10.27 实验一确定课题,组织组员,合理分工。分工明细与项目进程表需求分析2009.10.27 实验一确定软件的功能和需求、性能需求和运行环境约束,编制软件需求规格说明、软件系统的确认测试准则需求规格说明书确认测试准则概要设计2009.10.27 验一建立软件系统的总体结构和模块间的关系,定义各功能模块的接口,涉与全局数据库,规定涉与约束,制定组装测试计划。概要设计说明书组装测试计划数据库设计2009.10.28实验二根据概要设计对本软件所必须的数据库进行分析与设计数据库设计说明书详细设

2、计2009.10.28实验二对概要设计产生的功能模块逐步细化,形成若干个可编程的程序模块模块测试方案编码2009.10.282009.10.29实验三根据详细设计文档将详细设计转化为所要求的编程语言或数据库语言的程序,并对这些程序进行调试和程序单元测试,验证程序模块与详细设计文档的一致性源程序清单测试单元测试2009.10.282009.10.29实验三采用白盒测试技术进行如下测试:1. 模块接口测试;2. 模块局部数据结构测试;3. 模块边界条件测试;4. 模块中所有独立执行通路测试;5. 模块的各条错误处理通路测试。单元测试报告综合测试2009.10.29实验三发现与接口有关的各种错误综合

3、测试报告确认测试2009.10.29实验三检查软件是否满足软件需求说明书中的确认标准确认测试报告项目实施2009.10.292009.10.30实验四完善程序流图书写软件使用说明书和用户手册项目开发总结报告最终用户手册二、软件需求分析1 软件系统需求描述:实验室设备管理系统是利用Eclipse作为开发工具、sqlsetver作为数据库的系统。要现如下功能:所有工作由专门人员负责完成,其他人不得任意使用;对于已彻底损坏的作报废处理,同时详细记录有关信息;对于有严重问题(故障)的要即使修理,并记录修理日期、设备名、修理厂家、修理费、责任人等;对于急需但又缺少的设备需以“申请表”的形式送交上级领导请

4、求批准购买。新设备购入后要立即进行设备登记(包括类别、设备名、型号、规格、单价、数量、购置日期、生产厂家、购买人等),同时更新申请表的容;随时对现有设备与其修理、报废情况进行统计、查询,要求能够按类别和时间段(某日期之前)查询。本管理系统通过计算机对实验设备进行自动管理,设备管理员可以直接在计算机实现实验设备的信息管理,并在一定程度上实现自动化,改善了工作运行效率和效果。2 软件系统数据流图1) 顶层数据流图2) 0层数据流图3) 一层数据流图4)总数据流图3软件系统数据字典:1、 数据流条目 登陆信息输入:设备管理员输出:身份验证1描述:登陆信息=用户名+密码+登陆权限 查询信息输入:合法人

5、员对设备的查询操作输出:设备信息表描述:查询信息=设备名/型号/类别/购置日期 维修信息输入:所需维修设备的信息输出:确定维修设备的记录描述:维修信息=设备名+修理日期+修理厂家+修理费+负责人 新设备输入:购买设备的信息输出:确定购买的新设备的记录描述:新设备=类别+设备名+型号+规格+单价+数量等 报废设备输入:所需报废的设备的信息输出:报废的设备记录描述:报废设备=类别+设备名+型号等 审核信息输入:审核3输出:上级领导描述:审核信息=报废设备信息/新设备购买记录2、 加工条目身份验证1,统计查询2.1,维修2.2,购买2.3,报废2.4,生产报表3.1,审核3.23、 文件条目 登陆表

6、输入:身份验证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

7、数据结构:设备名+型号+规格+数量+负责人三:软件设计1实验室设备管理系统模块结构图实验室设备管理系统上级领导操作设备管理员操作系统功能操作审核管理设备报废管理设备购买管理设备维修管理设备查询管理系统维护管理用户登陆管理2界面设计3实验室设备管理系统数据设计4管理系统其中的3个模块的详细设计 上级领导操作模块设备管理员操作模块 统功能操作模块5数据库设计 登陆表列名数据类型长度允许空用户名varchar50not null密码varchar50not null登陆权限char10not null 设备基本信息表列名数据类型长度允许空设备型号varchar10not null设备名varchar

8、20not null规格varchar10not null单价float8null购买日期datetime8null生产厂家varchar20null购买人varchar10null数量Int4null 维修记录表列名数据类型长度允许空列名设备型号varchar10not null设备名varchar20not null维修日期datetime8null维修厂家varchar30null维修费用float8null责任人varchar10null 报废记录表列名数据类型长度允许空设备型号varchar10not null设备名varchar20not null报废日期datetime8null

9、责任人varchar10null 申请表列名数据类型长度允许空设备名varchar10not null日期Datatime8not null规格varchar10not null数量int4null申请人Varchar10Null四、编码与单元测试1、各模块示意图2、用户登录界面:package shebeiguanli;import java.applet.*;import java.sql.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;import.borland.cl.layout.*;/*Title:实

10、验室设备管理系统登录界面*authorgengdexin*version1.0*/publicclass 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 jTex

11、tField1 = new JTextField(); JLabel jLabel3 = new JLabel(); JLabel jLabel5 = new JLabel(); JLabel jLabel6 = new JLabel();public Log() enableEvents(AWTEvent.WINDOW_EVENT_MASK);try Init(); catch(Exception e) e.printStackTrace(); privatevoid Init() throws Exception contentPane = (JPanel) this.getContent

12、Pane();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(ne

13、w 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(newjava.awt.Font(SansSerif, 0, 20);jLabel5.setText(章

14、华 吕文强 顾海驹);jLabel6.setFont(new java.awt.Font(SansSerif, 0, 15);jLabel6.setForeground(Color.red);jLabel6.setText(交流:gengdxin163.);contentPane.add(jLabel1, newXYConstraints(80, 10, 350, 34);contentPane.add(jLabel2, newXYConstraints(92, 142, -1, -1);contentPane.add(jTextField1, newXYConstraints(130, 14

15、5, 91, 26);contentPane.add(jLabel3, newXYConstraints(222, 144, -1, -1);contentPane.add(password, newXYConstraints(263, 144, 105, 28);contentPane.add(jLabel4, newXYConstraints(50, 250, -1, -1);contentPane.add(jLabel5, newXYConstraints(150, 280, -1, -1);contentPane.add(jLabel6, newXYConstraints(100, 3

16、40, -1, -1); protectedvoid 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.getMes

17、sage(); 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.getConnec

18、tion(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 = pst

19、mt.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, 密码错误, 错误, JOptionP

20、ane.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.printl

21、n(edd.getMessage(); void loader() try Frame9 Frame= new Frame9(); Frame.show(); catch (Exception ew) System.out.println(ew.getMessage(); class Log_password_actionAdapter implements java.awt.event.ActionListener Log adaptee; Log_password_actionAdapter(Log adaptee) this.adaptee = adaptee; publicvoid a

22、ctionPerformed(ActionEvent e) adaptee.password_actionPerformed(e); 3、主界面:package shebeiguanli;import java.awt.*;import java.awt.event.*;import javax.swing.*;import.borland.cl.layout.*;/系统主界面publicclass Frame9 extends JFrame JPanel contentPane; JMenuBar jMenuBar1 = new JMenuBar(); JMenu 设备查询 = new JM

23、enu(); 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

24、(); 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)

25、;try Init(); catch(Exception e) e.printStackTrace(); privatevoid Init() 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(设备查询);设备信息.

26、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);

27、申请登记.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

28、, 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(thi

29、s);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, 2

30、0);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

31、, 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(交流:gengdxin163.);jMenu5.se

32、tFont(new java.awt.Font(SansSerif, 0, 20);jMenu5.setText(退出系统);jMenuItem2.setFont(new java.awt.Font(SansSerif, 0, 20);jMenuItem2.setText(退出);jMenuItem2.addActionListener(new Frame9_jMenuItem2_actionAdapter(this);jMenuItem2.addItemListener(new Frame9_jMenuItem2_itemAdapter(this);设备查询.add(设备信息);设备查询.a

33、ddSeparator();设备申请.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.addSep

34、arator();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(jLab

35、el4, new XYConstraints(180, 350, -1,-1);jMenu5.addSeparator();jMenu5.add(jMenuItem2);jMenu5.addSeparator();this.setJMenuBar(jMenuBar1); publicvoid 设备信息_actionPerformed(ActionEvent e) try Frame2 Frame= new Frame2(); Frame.show(); catch (Exception ew) System.out.println(ew.getMessage(); publicvoid 申请登

36、记_actionPerformed(ActionEvent e) try Frame7 Frame= new Frame7(); Frame.show(); catch (Exception ew) System.out.println(ew.getMessage(); protectedvoid processWindowEvent(WindowEvent e) super.processWindowEvent(e);if (e.getID() = WindowEvent.WINDOW_CLOSING) 设备信息_actionPerformed(null); voidshebei_actio

37、nPerformed(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

38、= 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

39、= 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=

40、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; publicvoid actio

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com