某实验设备管理系统设计书

合集下载

基于RFID的实验室设备管理系统的设计与实现

基于RFID的实验室设备管理系统的设计与实现

[ ] 王 文 豪, 3 刘虎 , 刘金岭 基 于 R I F D技 术 的开发 性 实验 管理 系统 的
关键技 术 [] J . 算机信 息 , 1 (9 :5 . 微计 2 02 )13 0 ( 责任 编辑 : 丽娟 ) 徐
8 0 第8 { ! 曼 墼 6 2”年 期下 旦 型:曼
58 Hz各 频段 的标 准及 特性 如 表 1 示 。 .G 。 所
与传 统 的条 形码 相 比, FD具有 如下 优 势 :不需 要光 源 , RI
甚至 可 以透 过外 部 材 料读 取 数据 ; 用 寿命 长 , 在 恶劣 环 境 使 能 下工 作 ; 以写 入及存 取数 据 ; 签 的内容 可 以动态 改变 ; 够 可 标 能


接收/ 发送
卜] _
《莲
f关闭建立套接字 f
安排 主要 是 课表 的 编制 , 保证 课 程之 间不 冲突 , 于 软 件类 课 对
程需 要 进行 合 理搭 配 。 证 软件 系统 不 冲 突 ; 保 座位 编 排 以班 级 为单位 进行 座位 编排 , 于管 理 以及 信 息收集 。 便
一一 一 一 一
l 监听套接字清除l

l ws 清除 l A
图 4 服 务 器 端 程 序 流 程 实验室 信息化 管理 系统
4 结束 语
塞 笪型I 耋 物联 网时代 的到来给高校实验室管理 系统的升级
用户身份管理l I 信息管理 I I 仪器设备管理l I 实验教学管理
教 育技术 学 2 0 0 9级硕 士研 究 生 , 究方 向为教 育技 术理 论 与应 用。 研
I垒 至 ! 兰! 呈: 堡 璺 : 墨塑 旦 兰 童查 鏊 鍪

软件工程课程设计实验室设备管理系统

软件工程课程设计实验室设备管理系统

实验室设备管理系统目录一、系统的开发背景与目标…………………………………………………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程序设计胡平电子科技大学出版社。

基于Web的实验室设备综合管理系统的设计与实现

基于Web的实验室设备综合管理系统的设计与实现

NIS n he g
( xem na ec i et frMei adC m nct nSu i , h in om lU i rt, ih aZ eag 3 10 C i E pr etl ahn C ne o da n o mu i i t e Z ea gN r a nv sy Jn u h in 20 4, hn i T g r ao d s j ei j a)
在当前实验室设备管理中主要存在以下问题 : 1 设备信息管理系统 “ “ ” “ “ ” ) 管” 理 、 动” 静
收 文 日期 :0 01-0; 订 日期 :0 l 2 2 1 -21 修 2 1 3
基金项目: 国教育科学“ 全 十一五” 规则 20 09年教育部重点项 目( C 0 0 2 ) D A 9 3 6 作者简介: 倪 晟 (9 4一) 男 , 江 金 华 人 , 程 师 . 究 方 向 : b信 息管 理 系统 17 , 浙 工 研 We
第3 4卷第 2期
2 1 年 5月 0 1
浙江师范大学学报 ( 自然科学版 )
Junl f hj n om l n esy N t c ) ora o eagN r a U i r t( a.S i Z i v i .
V 1 N .2 o.3 , o
Ma 0 y 1 2 1
Ab t a t s r c :Ac o d n o t e p o l ms e it d i u r n a q i me t n o main ma a e,b  ̄o a d o e c r i g t h r b e x se n c re tlb e u p n s if r to n g o w n p n
mo e,i wa e i n d a W e — a e a q i me tit g ae n g me ts se d t s d s e b b s d l b e u p n n e r t d ma a e n y tm. T i y tm d p e / g hss s e a o td B S

实验室设备管理系统的设计及实现

实验室设备管理系统的设计及实现

课程设计报告实验室设备管理系统的设计与实现课程《数据库原理及应用》班级姓名学号指导教师时间:2012年5月21日至2012年5月25日指导教师对课程设计(论文)的评语(工作态度、任务完成情况、能力水平、设计说明书(论文)的撰写和图纸质量等):成绩指导教师签字年月日目录第一章开发背景........................................................................ 错误!未定义书签。

第二章功能描述........................................................................ 错误!未定义书签。

第三章业务流程分析................................................................ 错误!未定义书签。

第四章数据流程分析.. (7)4.1数据流程图 (7)4.2数据字典 (7)第五章概念模型设计 (9)第六章逻辑模型设计和优化 (11)第七章物理设计和实施 (12)第八章系统测试........................................................................ 错误!未定义书签。

第九章课程设计心得体会. (21)参考文献 (22)第一章开发背景现今实验室管理一般都以办公人员进行批次记录,其的繁索给具有强烈时间观念的办公人员带来了诸多不便,实验室设备管理缺少一种完善的设备管理软件,为了对设备基本情况管理方便,开发人员完成了全面的调查与分析,同时与目标用户进行了多次深入沟通,并在次基础上着手开发《实验室管理系统》软件。

通过课程设计,让学生能够全面了解数据库应用系统的整个开发过程,验证课堂教学中的理论,掌握数据库系统的基本概念,基本原理及应用技术,掌握SQL语言,真正实现实践检真理。

设备管理系统-数据库设计说明书

设备管理系统-数据库设计说明书

1.引言1.1编写目的:设备管理系统是一个以设备为中心,对设备从统计到报废的一个全生命周期中所发生的各种事件进行跟踪的一个管理信息系统。

系统可以为企业提供一个简便实用的管理平台,将设备全生命周期的管理工作信息化,有效地进行设备管理工作,以提高设备生命周期的利润率,直接为企业创造价值。

设计优良的设备管理系统,实现安全性和高质量,防止故障发生,从而使企业达到降低成本和全面生产效率的提高。

1.2背景●企业设备管理系统开发用户:企业及工厂●设备管理系统要实现对设备的管理要求,包括:录入、浏览、删除、修改、检索和统计等。

不同的企业只需要对其稍作修改即可开发出符合本企业要求的设备管理系统1.3定义SQL server2005的定义:SQL Server2005是当前最广泛的数据库之一,SQL Server 2005 通过在可伸缩性、数据集成、开发工具和强大的分析等方面的革新更好的确立了微软在BI领域的领导地位。

SQL Server 2005 能够把关键的信息及时的传递到组织内员工的手中,从而实现了可伸缩的商业智能。

从CEO 到信息工作者,员工可以快速的、容易的处理数据,以更快更好的做出决策。

SQL Server 2005全面的集成、分析和报表功能使企业能够提高他们已有应用的价值,即便这些应用是在不同的平台上。

1.4参考资料SQL server教程2外部设计2.1标识符和状态4.2.2数据完整性约束(1)主键约束、非空值约束八个表中都有主键,在设备表和用户表中,设备号和用户名是主键,因为一个公司中可能一种设备不只只有一个,也许有多个,用户密码也可能会一样的,所以以设备号和用户名为主键,能保证数据的唯一。

在其他中,一般以ID为主键。

(2)外键约束将严格遵循外键约束条件。

(3)数据表的建立在数据库中可以直接对设备管理系统之间新建表,也可以用代码建表。

这里我们用直接建表法实现。

部门表:用户表:权限表:设备表:设备大类表:设备种类表:设备维修表:设备调拨表:2.2使用它的程序设备管理系统2.3约定数据库:SQLServer20053结构设计3.1概念结构设计2.1 E-R图根据所要实现的功能设计,可能建立它们之间的关系,进而实现逻辑结构功能。

智慧实验室管理系统设计方案

智慧实验室管理系统设计方案

智慧实验室管理系统设计方案智慧实验室管理系统是一个应用于实验室管理的信息化系统,旨在提高实验室的运作效率、管理水平和科研成果的产出。

本文将从系统需求分析、系统架构设计、功能模块设计和数据管理设计四个方面,详细讨论智慧实验室管理系统的设计方案。

1. 系统需求分析:智慧实验室管理系统的主要目标是优化实验室的管理流程,提升实验室的工作效率。

为了实现这一目标,系统需要具备以下功能:(1) 人员管理:包括实验室成员的信息管理、权限分配和在线沟通等功能。

(2) 实验设备管理:包括设备的登记、调度、维护和报废等功能。

(3) 实验材料管理:包括材料的采购、库存管理和消耗记录等功能。

(4) 实验任务管理:包括任务分配、进度跟踪和结果记录等功能。

(5) 实时监控:包括设备的实时状态监测和实验过程的实时监控等功能。

2. 系统架构设计:智慧实验室管理系统采用前后端分离的架构,前端采用React框架进行开发,后端采用Spring Boot框架进行开发。

前后端通过RESTful API进行通信,数据存储采用关系型数据库。

系统后端还可以通过云平台接口与其他实验室设备进行对接。

3. 功能模块设计:(1) 用户管理模块:包括用户注册、登录、个人信息管理和权限分配等功能。

(2) 设备管理模块:包括设备信息登记、设备调度、设备维护和设备报废等功能。

(3) 材料管理模块:包括材料采购、库存管理和材料消耗记录等功能。

(4) 任务管理模块:包括任务发布、任务分配、进度跟踪和结果记录等功能。

(5) 实时监控模块:包括设备状态监测和实验过程的实时监控等功能。

4. 数据管理设计:智慧实验室管理系统的数据管理需包括数据的采集、存储、处理和展示等环节。

(1) 数据采集:包括实验数据的自动采集和设备状态的实时监测等。

(2) 数据存储:采用关系型数据库进行数据的持久化存储。

(3) 数据处理:通过数据挖掘和分析算法对实验数据进行处理和分析。

(4) 数据展示:通过数据可视化技术将处理后的数据以图表等形式进行展示,为用户决策提供支持。

最全的实验室信息管理系统(LIMS)详解

最全的实验室信息管理系统(LIMS)详解

最全的实验室信息管理系统(1IMS)详解实验室信息管理系统(1IMS),就是指通过计算机网络技术对实验的各种信息进行管理的计算机软、硬件系统。

也就是将计算机网络技术与现代的管理思想有机结合,利用数据处理技术、海量数据存储技术、宽带传输网络技术、自动化仪器分析技术,来对实验室的信息管理和质量控制等进行全方位管理的计算机软、硬件系统,以满足实验室管理上的各种目标(计划、控制、执行)。

分类按功能,1IMS一般可以分为两大类:第一类是纯粹数据管理型,这类的1IMS软件主要功能一般包括:数据采集、传输、存贮、处理、数理统计分析、数据合格与否的自动判定、输出与发布、报表管理、网络管理等模块。

但其功能单一,容易实现。

第二类是实验室全面管理型,除了具有第一类的功能外,还增加了以下管理职能:样品管理、资源(材料、设备、备品备件、固定资产管理等)管理、事务(如工作量统计与工资奖金管理、文件资料和档案管理)管理等模块,组成了一套完整的实验室综合管理体系和检验工作质量监控体系。

其功能比较全面,除了能够实现对检验数据严格管理和控制外,还能够满足实验室的日常管理要求;网络结构相应要复杂一些,实现起来要困难一些,投资比较大,而且往往需要专业单位与实验室合作开发设计。

研究对象主要研究对象是实验室管理活动中信息的规律以及用计算机和网络技术实现辅助管理的方法,主要研究内容是如何利用计算机和网络技术来实现信息处理的全过程。

具体来说,包括四方面内容:1、信息需求的研究;2、信息流动过程与信息量的研究;3、11MS 的结构研究;4、主要设计工具的研究。

1IMS与管理软件1IMS作为一个信息管理系统,它有着和ERP、MIS之类管理软件的共性,如它是通过现代管理模式与计算机管理信息系统支持企业或单位合理、系统地管理经营与生产,最大限度地发挥现有设备、资源、人、技术的作用,最大限度地产生经济效益。

但其也与企业管理软件存在着差异,首先,1IMS作为实验室的管理软件,它是有标准可以遵循的。

XX科研实验室六大系统设计方案

XX科研实验室六大系统设计方案

XX科研实验室六大系统设计方案1. 实验数据采集系统该系统旨在实现对科研实验数据的高效采集和记录。

我们建议采用一种先进的数据采集装置,配合合适的传感器和仪器,以确保数据的准确性和可靠性。

同时,该系统将支持数据存储和实时监控功能,方便实验室人员随时获取和分析数据。

2. 实验设备管理系统实验设备管理是科研实验室运行的重要环节。

我们建议设计一套完善的实验设备管理系统,用于对实验设备的借用、归还和维护记录进行管理。

该系统将提供简便的借还流程和实时的设备状态监控,以提高实验设备的利用率和管理效率。

3. 实验室资源调度系统为了实现实验室资源的高效利用,我们建议设计一套实验室资源调度系统。

该系统将支持实验室资源的预约和调度功能,包括实验室空间、仪器设备和人员的调度。

通过该系统,实验室管理员可以合理安排实验室资源的使用,提高资源利用效率和工作效率。

4. 实验室安全监控系统实验室安全是科研工作的重要保障。

我们建议设计一套实验室安全监控系统,用于实验室安全事故的预警和监控。

该系统将集成多种安全监测设备,如烟雾报警器、温度监测器和视频监控设备,实时监控实验室的安全状况,并及时发出预警信号,保障实验室的安全环境。

5. 实验任务管理系统为了提高实验室研究任务的管理效率,我们建议设计一套实验任务管理系统。

该系统将支持实验任务的创建、分配和进度跟踪,方便实验室管理员对实验工作的管理和协调。

通过该系统,实验室成员可以清晰了解每个实验任务的进展情况,提高实验室的整体研究效果。

6. 实验过程监控系统为了确保实验操作的正确性和一致性,我们建议设计一套实验过程监控系统。

该系统将结合图像识别和实时监测技术,对实验操作过程进行自动化监控和记录。

实验室人员可以通过该系统获得实时的操作指导和反馈,提高实验操作的准确性和可靠性。

以上是针对XX科研实验室的六大系统设计方案的建议。

希望这些方案能够为实验室的科研工作提供有效支持和便利。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

某实验设备管理系统设计书1.题目要求实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。

2.需求分析实验室设备信息用文件存储,提供文件的输入输出操作;要能够完成设备的录入和修改,需要提供设备添加和修改操作;实现对设备进行分类统计,需要提供排序操作;实现对设备查询需要提供查找操作,设备的查询可根据设备编号设备种类设备购入日期正常设备(未报废的)等多种方式查询;另外还要根据键盘式选择菜单以实现功能选择。

整个系统可设计为实验设备信息输入模块实验设备信息修改模块实验设备分类统计模块实验设备查询模块和实验设备报废信息模块。

建立实验设备信息结构体,结构体成员包括设备编号,设备种类,设备名称,设备价格,设备购入日期,是否报废,报废日期。

3.功能模块图主要功能:录入设备信息、修改设备信息、查询设备信息、按设备编号查询、按设备名称查询、对设备按种类进行分类统计、报废设备登记、报废设备统计。

图1 实验室设备管理系统设计4.主函数模块流程录入信息报废登记分类统计报废查询报废统计退出系统查询信息修改信息图2 实验室设备管理系统主函数模块流程图5.详细设计5.1声明函数int menu();//菜单void lr();//录入信息void xg();//修改void cx();//查询void cx_sbh();//设备号查询void cx_mc();//设备名称查询void tj();//统计void bf();//报废信息void bf_dj();//报废登记void bf_tj();//报废统计void choose();以上为本程序的函数声明5.2菜单函数菜单函数用void choose()声明,其中应用了do...while(choice!=0); 循环,在循环过程使用了 switch (choice)选择。

当输入0时,系统跳入到“提示:你已经退出系统再见!”的输出。

break终止接下来的步骤。

当输入1时,系统跳入到录入的子函数中,break终止接下来的步骤。

当输入2时,系统跳入到修改的子函数中,break终止接下来的步骤。

当输入3时,系统跳入到统计的子函数中,break终止接下来的步骤。

当输入4时,系统跳入到报废的子函数中,break终止接下来的步骤。

当输入5时,系统输出“提示:输入错误!\n”,break终止接下来的步骤。

其中的数据输入为int类型。

void choose(){int choice;choice=1;choice=menu(choice);do{switch (choice){case 0: printf("\n提示:你已经退出系统\n\t\t 再见!\n"); break;case 1: lr(); break;case 2: xg(); break;case 3: cx(); break;case 4: tj(); break;case 5: bf(); break;default: printf("提示:输入错误!\n"); break;}}while(choice!=0);}int menu(int choice){printf("\n\n\n");printf("\t\t\t--------------------------------\n");printf("\t\t\t+ 实验设备管理系统 |\n");printf("\t\t\t--------------------------------\n");printf("\t\t\t+ [1]----录入设备信息 |\n");printf("\t\t\t+ [2]----修改设备信息 |\n");printf("\t\t\t+ [3]----查询设备信息 |\n");printf("\t\t\t+ [4]----统计设备信息 |\n");printf("\t\t\t+ [5]----报废设备信息 |\n");printf("\t\t\t+ [0]----*-EXIT-* |\n");printf("\t\t\t+*·*·*·*·*·*·*·*·*·*·|\n");printf("\t\t\t--------------------------------\n");printf("请输入你要操作的序号:");scanf("%d", &choice);return choice;错误!未找到目录项。

}5.3录入函数录入函数用void lr()声明,用到while(1){ }循环,其中数字1是“true”的含义。

如果IF判断成立,则将进行录入。

分别录入设备ID号、设备名称、设备种类、报废日期、设备是否报废,1.没报废,0.报废、购买时间和设备价格等容。

当其中的一条记录录入完成后,系统会提示是否已经完成一条记录的添加。

(注:其中的“t++;”不能丢,其在循环中起累加的作用)其中的数据输入为char类型。

录入函数还应用了结构体数组的知识如下:typedef struct shebei{char id[10];char name[15];char kind[15];char over[15];int yesno;char time[10];char price[10];}shebei;shebei sb[200];其中的shebei sb[200]要求最多录入200条信息。

分别录入设备ID号、设备名称、设备种类、报废日期、设备是否报废,1.没报废,0.报废、购买时间和设备价格等结构体数组。

其中的数据输入为char类型(除int yesno外)。

void lr()//录入信息{while(1){if(strcmp(sb[t].id,"0")==0)main();printf("\n请输入设备名称:");scanf("%s",sb[t].name);;}}5.4修改函数修改函数用void xg()声明,函数用了if...else的选择和switch的选择,其中if ...else的选择包含在while循环中,并用了break的跳转语句。

if...else语句更好的避免了输入进入死循环。

如:if(x==0) break;else{printf("继续操作请输入1\n");scanf("%d",&x);}修改函数中还使用了strcmp判断函数,当strcmp判断函数判断成立时,给予使用者符合要求的提示,使用者然后进行操作。

如:strcmp(sb[t].id,find)==0 。

在Switch的使用中,其实现了返回主菜单的操作。

如:switch(x){case 0:choose();break;case 1:xg();break;default:printf("输入无效,自动返回主菜单\n");choose();break;}其中包含的数据类型有int类型和 char类型两种。

如:int x , char find[20].void xg()//修改{char find[20];int x;t=0;printf("请输入要修改的设备ID号:");scanf("%s",find);while(1){if(strcmp(sb[t].id,find)==0) //如果找到的话返回的是符合要求{break;}else t++;}while(1){printf("确认修改请输入任意数字否则输入0重新输入设备原id:");scanf("%d",&x);if(x==0) break;else{printf("请输入新设备号(原来是 %s ):",sb[t].id);scanf("%s",sb[t].id);printf("\n提示:该项记录资料已经成功修改!\n");printf("退回主菜单请输入0\n");printf("继续操作请输入1\n");scanf("%d",&x);}}}5.5查询函数查询函数用void cx()声明,使用do...while(choice!=0); 循环,其中含有switch(choice)的选择语句。

当选择0时,跳回menu函数;当选择1时,跳到设备号查询函数;void cx_sbh(){do{if(strcmp(sb[t].id,find)==0&&sb[t].yesno==1) //1表示设备没报废{t++;}elset++;}while (t<100);if (choice==1)choose();else cx();}设备号查询函数用void cx_sbh()声明,使用do...while(choice!=0); 循环,其中含有if ...esle的选择语句。

其中包含的数据类型有int类型.如:int choice等。

当选择2时,跳到设备名称查询函数;void cx_mc()//设备名称查询{do{if(strcmp(sb[t].name,ming)==0&&sb[t].yesno==1) //1表示设备没报废{}elset++;}while (t<100);if (choice==1)choose();else cx();}设备名称查询函数用void cx_mc()声明,使用do...while(choice!=0); 循环,其中含有if esle的选择语句。

其中包含的数据类型有int类型.如:int choice等。

否则输出"输入无效请重新输入"。

查询函数包含的数据类型有int类型.如:int choice等。

void cx()//查询{int choice;do{switch(choice){case 0:menu();break;case 1:cx_sbh();break;case 2:cx_mc();break;default:printf("输入无效请重新输入\n");cx(); break;}}while(choice!=0);}5.5统计函数统计函数用void tj()声明,在if的使用中,其实现了返回菜单的操作。

相关文档
最新文档