高校实验室设备管理系统_课程设计
实验室设备管理系统_C程序设计课程设计

*******************实践教案*******************兰州理工大学计算机与通信学院2013年春季学期C程序设计课程设计题目:实验设备管理系统专业班级:通信4班目录目录 (1)中文摘要 (2)1.课程设计目地 (3)2.程序设计思路 (3)3.功能模块图 (4)4.主函数模块流程 (4)5.详细设计 (5)6.程序运行结果 (11)7.总结 (15)8.致谢 (19)9.附录 (20)实验设备管理系统摘要实验室设备管理系统是典型地设备信息管理系统,要求能为学校实验室管理提供信息化动态化地管理,方便实验室设备管理工作,提高设备管理质量和使用效率.而且系统应符合设备管理地有关规定,包括新设备地申请,购买确认,新设备信息录入,旧设备维修和报废及用户管理等.能满足日常工作地基本需要,并达到操作过程中地直观,方便,实用,安全等有关要求.实验室设备管理系统是一个典型地信息管理系统,采用面向对象地分析方法,给出系统地基本结构、设计特色、设计模型及实现途径,并且对系统地开发技术进行研究。本系统是一个为适应对学校实验室设备管理地迫切需求而设计开发地软件系统.关键词:实验室设备、管理系统、结构体、文件、数组、函数1.题目要求实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等.2.需求分析实验室设备信息用文件存储,提供文件地输入输出操作;要能够完成设备地录入和修改,需要提供设备添加和修改操作;实现对设备进行分类统计,需要提供排序操作;实现对设备查询需要提供查找操作,设备地查询可根据设备编号设备种类设备购入日期正常设备(未报废地)等多种方式查询;另外还要根据键盘式选择菜单以实现功能选择.整个系统可设计为实验设备信息输入模块实验设备信息修改模块实验设备分类统计模块实验设备查询模块和实验设备报废信息模块.建立实验设备信息结构体,结构体成员包括设备编号,设备种类,设备名称,设备价格,设备购入日期,是否报废,报废日期.3.功能模块图主要功能:录入设备信息、修改设备信息、查询设备信息、按设备编号查询、按设备名称查询、对设备按种类进行分类统计、报废设备登记、报废设备统计.图1 实验室设备管理系统设计4.主函数模块流程模块流程图5.详细设计5.1声明函数int menu()。
软件工程课程设计实验室设备管理系统

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

实验室设备管理系统设计实验室设备管理系统是一种用于帮助实验室管理人员有效管理和监控实验室设备的软件系统。
它可以提供设备的登记、借还、维修、报废等功能,从而提高实验室设备的利用率和管理效率。
下面是一个关于实验室设备管理系统的设计,总共超过1200字。
一、系统需求分析1.系统目标:设计一个实验室设备管理系统,实现设备的登记、借还、维修和报废等功能,提高设备的利用率和管理效率。
2.功能需求:b)设备借还功能:实验室人员可以通过系统进行设备的借还操作,管理人员可以查看设备的借出情况和借用人员。
c)设备维修功能:实验室人员可以通过系统进行设备的维修申请,并记录维修的过程和结果。
d)设备报废功能:实验室人员可以通过系统申请设备报废,并记录报废的原因和日期。
e)设备查询功能:实验室管理人员可以通过系统查询设备的基本信息、借还情况、维修记录和报废记录等。
3.性能需求:a)系统响应时间:系统应能在合理的时间内响应用户的请求,并保持系统的稳定性。
b)数据安全性:系统应具备数据加密和访问控制的功能,保障数据的安全性。
c)系统容错性:系统应具备容错和故障恢复功能,确保系统的正常运行和数据的完整性。
二、系统设计1.技术选型:选择使用Web开发框架进行系统的开发,如Python的Django框架或Ruby的Ruby on Rails框架,以便快速构建系统。
数据库可选用关系型数据库,如MySQL或PostgreSQL。
2.系统模块设计:a)用户模块:负责用户的注册、登录、权限管理等功能。
b)设备管理模块:负责设备的登记、借还、维修和报废等功能。
c)设备查询模块:负责设备的查询功能。
d)报表统计模块:负责生成设备的统计报表,如设备的借还记录、维修记录和报废记录等。
3.数据库设计:设计设备、用户、设备借还记录、设备维修记录和设备报废记录等表,使用外键关联各表。
4.系统界面设计:设计符合用户习惯的用户界面,界面简洁明了,易于操作。
实验室管理系统课程设计

实验室管理系统课程设计一、教学目标本课程旨在通过学习实验室管理系统,使学生掌握实验室管理的基本知识和技能,能够熟练使用实验室管理系统,进行实验室的日常管理工作。
在知识目标方面,要求学生掌握实验室管理系统的功能、操作方法和维护技巧。
在技能目标方面,要求学生能够独立完成实验室管理系统的安装、配置和维护工作,能够编写简单的实验室管理程序。
在情感态度价值观目标方面,要求学生认识到实验室管理的重要性,培养学生的责任感和使命感。
二、教学内容本课程的教学内容主要包括实验室管理系统的功能、操作方法、维护技巧以及实验室管理的相关理论知识。
具体包括:实验室管理系统的概述,实验室管理系统的安装与配置,实验室管理系统的使用与维护,实验室管理的相关理论知识。
三、教学方法本课程将采用讲授法、操作演示法、实验法等多种教学方法。
在讲授基本理论知识时,将结合操作演示,使学生能够直观地理解理论知识。
在实际操作环节,将安排实验室管理系统的安装与维护实验,使学生能够亲手操作,提高实际操作能力。
四、教学资源教学资源包括教材、实验设备、多媒体资料等。
教材将选用权威、实用的实验室管理系统教材,为学生提供全面、系统的理论知识学习。
实验设备包括实验室管理系统软件和相应的硬件设备,以供学生进行实际操作。
多媒体资料包括教学PPT、视频教程等,以丰富教学手段,提高学生的学习兴趣。
五、教学评估本课程的评估方式包括平时表现、作业、考试等多种形式,以全面客观地评估学生的学习成果。
平时表现主要评估学生在课堂上的参与程度、提问回答等情况,占总评的20%。
作业主要包括课堂练习和课后作业,占总评的30%。
考试包括期中和期末考试,占总评的50%。
此外,还将定期进行实验室管理实践操作评估,以检验学生的实际操作能力。
六、教学安排本课程的教学安排将根据课程内容和学生的实际情况进行合理规划。
教学进度将按照教材的章节顺序进行,确保在有限的时间内完成教学任务。
教学时间将分配在每周的固定课时,地点将在教室和实验室进行。
高校实验室设备管理系统_课程设计

鉴于高校设备管理的现状以及设备管理信息化的要求,开展计算机辅助设备管理,并在此基础上为上级部门进行决策分析提供帮助,极大地提高了设备管理的工作水平和信息化水平。
2.1
系统分析阶段开展的主要工作包括:收集和分析系统需求、提供系统说明书等。系统需求分析就是通过系统调查,了解用户实际需求,进行系统分析,提炼出系统需求。业务流程是系统设计的关键,要开发一个系统,必须确定系统的功能需求,这就必须先了解实际的业务流程,从业务流程中分析系统的需求。设备信息是系统进行管理的主线,它描述了设备的基本情况,主要包括:设备名称、设备编号、分类号、型号、规格等;编码设计应完全符合国家信息标准。系统工作流程主要是用户进行设备信息的入库以及维护处理。不同权限的用户进行不同的工作操作,具有不同的工作流程。
3.4
采购员(工号,姓名,年龄,性别,联系方式,入厂日期)
设备(设备编号,型号,设备名称,生产日期,购买日期,设备处号)
设备管理员(工号,姓名,年龄,性别,联系方式,工作日期)
员工(工号,姓名,年龄,性别,联系方式,工作日期)
部门(部门号,名称,联系方式,设备处号)
维修人员(工号,姓名,年龄,性别,联系方式,工作日期)
随着高等教育改革的不断发展,素质教育与创新人才的培养对高校实验室提出了越来越高的要求,特别是对高校实验室的管理水平提出了较高的要求。由于历史和客观的原因,实验设备维修的信息传送的渠道不畅。这些问题的存在严重制约了实验室的利用率,成为制约素质教育与创新人才培养的瓶颈问题。这一问题若得不到及时有效的解决,素质教育、创新人才培养就难以落到实处。
(4)设备的损坏管理:对设置的使用过程中遇到的设备损坏进行记录,并且修改相关联的数据信息。
(5)设备损坏信息浏览查询:实现对损坏设备信息的准确查询。查询可以是不同字段的联合查询。
实验设备管理系统设计—C语言课程设计

实验设备管理系统设计1.题目与要求:1.1问题提出与要求:题目:实验设备管理系统设计要求:实验设备信息包括:设备编号,设备种类(如微机,打印机,扫描仪等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。
试设计一实验设备信息管理系统,使之能提供以下功能:(1)能够完成对设备的录入和修改。
(2)对设备进行分类统计。
(3)设备的查询2.功能实现设计:2.1总体设计:图1:系统功能模块图2.2详细设计:1:主函数主函数设计要求简洁,只提供部分提示语和函数的调用【程序】图2:主函数流程图void main(){Node *equip;FILE *fp;int flag;Node *p,*q;printf("\t\t\t\t设备管理系统\n");equip=(Node*)malloc(sizeof(Node));equip->next=NULL;p=equip;fp=fopen("设备管理系统","wb+");q=(Node*)malloc(sizeof(Node));if(fread(q,sizeof(Node),1,fp)) //将文件的内容放入接点中{q->next=NULL;p->next=q;p=q; //将该接点挂入链表中}fclose(fp); //关闭文件while(1){printf("**************************************目录**************************************");printf("\n1添加记录\n");printf("\n2修改记录\n");printf("\n3显示记录\n");printf("\n4统计分类记录\n");printf("\n0*-EXIT-*\n");printf("请输入你要操作的序号:");scanf("%d",&flag);switch(flag){case 0: printf("\n>>>>>>>>>>提示:已经退出系统,ByeBye!\n");break;case 1: Add(equip); break; //增加记录case 2: Modify(equip); break;//修改记录case 3: Disp(equip); break;//显示记录信息case 4: Tongji(equip); break;//统计记录default: printf("\n>>>>>>>>>>提示:输入错误!\n"); break;}}}一:以下为添加记录的程序:while(1){printf(">>>>>>>>>>提示:输入0则返回主菜单!\n");printf("\n请你输入设备ID号:");scanf("%s",id);if(strcmp(id,"0")==0) break;p=(Node *)malloc(sizeof(Node)); //申请空间strcpy(p->data.ID,id);printf("\n请输入设备名称:");scanf("%s",p->);printf("\n请输入设备种类:");scanf("%s",p->data.kind);printf("\n请输入报废日期:");scanf("%s",&p->data.over);printf("\n请输入设备是否报废:");scanf("%s",&p->data.yesno);printf("\n请输入设备购买时间:");scanf("%s",&p->data.time);printf("\n请输入设备价格:");scanf("%s",&p->data.price);printf(">>>>>>>>>>提示:已经完成一条记录的添加。
实验室设备管理系统学校端详细设计

实验室设备管理系统学校端详细设计目录引言 (3)1.1编写目的 (3)1.2项目背景 (3)总体设计 (3)2.1需求概述 (3)程序描述 (4)3.1系统功能 (4)3.2系统性能........................................................................................... 错误!未定义书签。
3.3输入输出项....................................................................................... 错误!未定义书签。
3.4算法................................................................................................... 错误!未定义书签。
3.5储存分配........................................................................................... 错误!未定义书签。
3.5注释................................................................................................... 错误!未定义书签。
3.6限制条件........................................................................................... 错误!未定义书签。
3.7系统接口........................................................................................... 错误!未定义书签。
数据库课程设计实验室设备管理系统

数据库课程设计--实验室设备管理系统一、引言随着实验室设备数量的增加和设备种类的多样化,实验室设备的管理变得日益复杂。
为了提高实验室设备的管理效率,我们设计了一个数据库管理系统——实验室设备管理系统。
该系统将提供一个用户友好的界面,使用户能够方便地完成设备的新增、修改、删除、查询等操作,同时还能生成各类报表,以便于数据的分析和决策。
二、系统需求分析1.用户需求:系统需要满足实验室管理人员、设备使用者以及其他相关人员的需求,使其能够快速、准确地获取设备的相关信息,并能够方便地进行各类操作。
2.功能需求:系统需要实现以下功能:•设备的增加、修改、删除:能够对设备信息进行基本的增、删、改操作。
•设备查询:能够根据设备名称、型号、编号等信息进行快速查询,并能显示详细信息。
•报表生成:能够根据不同的需求生成各类报表,如设备使用情况报表、设备故障维修报表等。
•权限管理:能够对不同用户设置不同的权限,保证系统的安全性。
三、数据库设计1.实体设计:根据需求分析,我们可以设计以下实体:•用户实体:包括用户名、密码、权限等级等属性。
•设备实体:包括设备编号、设备名称、型号、分类、供应商、购买日期、价格等属性。
•维修记录实体:包括维修编号、设备编号、维修日期、维修原因、维修人员、维修费用等属性。
2.数据库表设计:根据实体设计,我们可以创建以下数据库表:•用户表:用于存储用户信息,包括用户名、密码和权限等级等字段。
•设备表:用于存储设备信息,包括设备编号、设备名称、型号、分类、供应商、购买日期、价格等字段。
•维修记录表:用于存储维修记录信息,包括维修编号、设备编号、维修日期、维修原因、维修人员和维修费用等字段。
四、系统实现技术1.开发语言:本系统采用Python语言进行开发,Python具有简单易学、代码可读性高、跨平台性强等特点,非常适合用于数据库管理系统的开发。
2.数据库管理系统:本系统采用MySQL作为数据库管理系统,MySQL是一种开源的关系型数据库管理系统,具有强大的性能和丰富的功能,能够满足本系统的需求。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库原理实训报告题目 _ 高校实验室设备管理系统__ 姓名王永强专业计算机科学与技术学号 ********* 指导教师郑睿信息工程学院二○一四年十二月目录1 前言 (1)1.1选题理由和实际意义 (1)1.2国内外关于该课题的研究现状及趋势 (1)2 需求分析 (3)2.1系统分析 (3)2.2系统需求 (3)2.2功能介绍 (4)3 系统设计 (5)3.1定义 (5)3.2系统模块图 (5)3.3 E-R图 (6)3.4数据表的设计 (6)3.5用例列举 (9)3.5.1数据表 (9)3.5.2视图 (10)3.5.3索引 (11)3.5.4存储过程 (12)3.5.5 触发器 (13)4总结 (14)5 参考文献 (16)6附录:读书笔记 (17)高校实验室设备管理系统分析报告1 前言1.1选题理由和实际意义实验室工作是高等教学工作中不可分割的一部分,也是培养学生工程创新能力的重要途径。
实验室管理的最终目的就是充分挖掘实验资源(设备、用房)的潜能,提高实验室设备的使用率和运行水平,激发实验人员的工作积极性,提高教学质量。
随着高等教育改革的不断发展,素质教育与创新人才的培养对高校实验室提出了越来越高的要求,特别是对高校实验室的管理水平提出了较高的要求。
由于历史和客观的原因,实验室结构单一,管理方式落后,查询设备信息复杂,资源利用率低,设备维修的信息传送的渠道不畅。
这些问题的存在严重制约了实验室的利用率,成为制约素质教育与创新人才培养的瓶颈问题。
这一问题若得不到及时有效的解决,素质教育、创新人才培养就难以落到实处。
计算机的出现为高校实验室仪器设备管理带来了全新的技术手段和方便、快捷的管理方法。
虽然目前市场上也有一些实验室仪器设备管理数据库软件,但这些软件不完全适合本校具体情况。
基于此,设计开发了符合我们自己高校实验室数据库设备管理系统。
1.2国内外关于该课题的研究现状及趋势近十几年来,我国各高校规模不断扩大,管理方式不断改变,同时在仪器设备管理方面取得了很大的进步。
许多高校已经开发出自己的设备信息管理系统,但仍然存在不足之处,不能适应新形势发展要求,主要体现在以下方面:(1)部分设备管理系统处于单机运行的阶段,无法适应信息时代信息充分共享和协同办公的需要。
各高校设备管理部门虽然都采用计算机进行管理,但大多是单机版,各部门之间的信息交流依然靠手工,管理人员要花费大量的时间用于处理用户查询等工作,这与高校的信息化进程快速发展不相适应。
设备资源信息封闭,不能实现设备信息公开、共享程度低。
(2)高校设备的管理存在着轻视管理和维护的弊端。
长期以来由于管理不善,大量的设备长期闲置,设备故障无人修理,直接影响仪器设备使用的效率,造成教育资源的严重浪费。
(3)一些设备管理系统虽然能够实现联网工作,但是功能单一,缺少信息互动和网络优化办公的优势。
虽然能实现联网工作,但是涉及面很小,管理效率低,缺乏系统性、广泛性和协同性的管理。
2 需求分析鉴于高校设备管理的现状以及设备管理信息化的要求,开展计算机辅助设备管理,并在此基础上为上级部门进行决策分析提供帮助,极大地提高了设备管理的工作水平和信息化水平。
2.1系统分析系统分析阶段开展的主要工作包括:收集和分析系统需求、提供系统说明书等。
系统需求分析就是通过系统调查,了解用户实际需求,进行系统分析,提炼出系统需求。
业务流程是系统设计的关键,要开发一个系统,必须确定系统的功能需求,这就必须先了解实际的业务流程,从业务流程中分析系统的需求。
设备信息是系统进行管理的主线,它描述了设备的基本情况,主要包括:设备名称、设备编号、分类号、型号、规格等;编码设计应完全符合国家信息标准。
系统工作流程主要是用户进行设备信息的入库以及维护处理。
不同权限的用户进行不同的工作操作,具有不同的工作流程。
2.2系统需求通常信息管理系统按照对信息的操作,将系统划分为:数据采集、数据处理、数据传输以及系统维护等功能组成部分。
所以,通过综合分析,本系统主要需求有:(1)设备基本信息的收集与处理;(2)设备基本信息的存储与维护;(3)能方便、快捷地上报设备信息;(4)能进行查询统计并形成各种有价值的信息;(5)具有一定的报表处理功能;(6)将共享的设备信息对外发布,实现浏览查询;(7)有辅助系统进行系统的管理与维护。
2.3功能介绍本系统的功能及特点:(1)实验室设备信息的管理:包括设备的记录的增加,修改,删除,查询。
(2)实验室设备信息的浏览查询:分为对设备信息的浏览和对设备信息的准确查询。
查询可以是不同字段的联合查询。
(3)设备事故记录:分为对设备事故的增加、设备事故的删除、设备事故的修改。
(4)设备的损坏管理:对设置的使用过程中遇到的设备损坏进行记录,并且修改相关联的数据信息。
(5)设备损坏信息浏览查询:实现对损坏设备信息的准确查询。
查询可以是不同字段的联合查询。
(6)设备类别设置:实验室的仪器分门别类,包括类别名称,类别数量,最低数量的设置。
(7)系统用户的管理:使用该系统的包括:管理员和实验课指导教师以及学生,管理员具有对实验课指导教师记录进行添加,修改,删除等操作权限。
3 系统设计3.1定义1、系统名称:实验室设备管理系统2、数据库管理软件:Microsoft SQL Server3、数据库设计采用软件:Microsoft Office Visio 20104、系统采用C/S体系结构:Client (客户端)负责提供表达逻辑、显示用户界面信息、访问数据库服务器;Server (服务器)端用于提供数据服务。
5、运行平台:windows 2000/xp/linux及以上操作系统6、数据库的安全性设计:数据库内设置不同的用户分别拥有不同的权限,登录用户可以对实验设备信息的浏览无权限修改、数据库用户设置不同的级别对应不同设备管理的权限、数据库角色分别设置不同的角色对各个级别用户的管理,以及权限的分配等.3.2系统模块图3.3 E-R图3.4数据表的设计采购员(工号,姓名,年龄,性别,联系方式,入厂日期)设备(设备编号,型号,设备名称,生产日期,购买日期,设备处号)设备管理员(工号,姓名,年龄,性别,联系方式,工作日期)员工(工号,姓名,年龄,性别,联系方式,工作日期)部门(部门号,名称,联系方式,设备处号)维修人员(工号,姓名,年龄,性别,联系方式,工作日期)申报(部门号,申报日期,设备型号,设备处号)采购(采购员员工号,数量,递交日期,清单编号)递交(设备处,数量,清单编号,递交日期)供应(供应商号,数量,供应日期,设备编号)分配(设备管理员工号,数量,分配日期,设备编号,部门号)报修(维修员工号,数量,报修日期,设备编号,部门号)分发(部门号,数量,分发日期,员工工号)报废(部门号,数量,报废日期,设备处号)3.5用例列举3.5.1数据表(1)采购员信息(purchase)Create table采购员信息(Pu.no char(20) not null primary key, char(20) not null,Pu.sex char(2) null,Pu.age smallint(4) null,Pu.tel char(11) null,Pu.date datetime not null)(2) 设备信息(device)Create table设备信息(De.no char(20),F.no char(20),primary key(De.no, F.no),De.type char(20) not null, char(20) not null,De.date Datetime,De.bdate Datetime)(3)设备管理员信息(tool keeper)Create table 设备管理员(To.no char(20) not null primary key, char(20) not null,To.sex char(2) null,To.age Smallint(4)null,To.tel char(11) null,To.date Datetime not null)(4) 报修关系(repair)Create table设备报修(M.no char(20) not null primary key,R.num char(10) not null,De.no char(20) not null,,D.no char(11) not null,R.date datetime not null)(5) 分配关系(allot)Create table 设备分配(D.no char(20) not null primary key,A.num char(10) not null,De.no char(20) not null,,To.no char(20) not null,A.date datetime not null)3.5.2视图(1)建立设备管理报修数量大于20视图描述:报修数量大于20的设备视图(数量,报修日期,设备编号,部门号)从报修表导出Create view 设备报修关系表AsSelect R.num, R.date, De.no, D.noFrom 报修表Where R.num>20;(2)建立设备名称为联想计算机的视图描述:设备名称为联想计算机视图(设备编号,型号,生产日期,购买日期)从设备信息表导出Create view 联想计算机信息表AsSelect De.no ,De.type, De.Date, De.bdateFrom 设备信息表Where =’联想计算机’;(3)建立通信部门分发设备视图描述:通信部门分发设备(数量,分发日期,员工工号)从分发关系表导出Create view 通信部门分发设备表AsSelect H.num, H.date, St.no,From 分发关系表Where D.no=’通信部门’;(4)建立女设备管理人员信息视图描述:女设备管理人员信息视图(工号,姓名,联系方式)从设备管理人员信息表导出Create view 女设备管理人员信息表AsSelect To.no, , To.telFrom 设备管理人员信息表Where To.sex =’女’;(5)建立信息部门报废设备视图描述:信息部门报废设备视图(数量,报废日期,设备处号)从报废关系表导出Create view 信息部门报废设备表AsSelect H.num, H.date, F.no,From 分发关系表Where D.no=’信息部门’3.5.3索引create unique index 设备管理_工号on设备管理人员信息(To.no);create unique index 设备型号_设备名称on设备信息表(De.type, );create cluster index 部门_名称on部门信息表();create unique index 分配部门_数量on分配关系表(H.num,D.no);create unique index 报废设备处_数量on报废关系表(F.no,H.num);3.5.4存储过程(1)查询设备管理人员create procedure proc1(@To.no char(20) )asdeclare @ char(20)select @ = from classywhere To.no =@ To.noif (@ is not null) print @ elseprint'查无此人' goexec proc1 '201101'select * from classy(2)设备添加create procedure proc2(@De.type char (10) ,@ De.no char (10) ,@ char (10) ,@ De.date Datetime,@ De.bdate Datetime ,@ F.no char(10))asinsert into 设备信息 values(@De.type, @ De.no,@ ,@ De.date,@ De.bdate, @ F.no) goexec proc2 '8086', '21','实验箱','20130202', '20130608','30'select * from 设备信息(3)对于报废关系表,报废数量增加10%的存储过程:create or replace procedure update 报废关系(E_ D.no E. D.no%type)isbeginupdate报废关系set H.num = H.num * 1.1where D.no=@ D.no;commitEnd update报废关系;(4)根据指定的员工工号删除员工信息表中相应的工作日期信息create or replace procedure del员工信息(St.no ES. St.no %type)isbegindelete from 员工信息where St.no=St.date;commit;end del员工信息3.5.5 触发器(1)不允许删除超级管理员信息create trigger tr1on 设备管理人员信息after deleteasdeclare @ char(20)select @ = from deletedif @ ='root'rollback(2)对设备信息表中插入一条记录时,自动显示记录内容create trigger tr2on 设备信息for insertasselect *from 设备信息4总结通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能算是学以致用,从而提高自己的实际动手能力和独立思考的能力。