实验室设备管理系统的设计及实现
- 格式:doc
- 大小:164.00 KB
- 文档页数:18
实验室管理系统设计一、系统需求分析1.实验室资源管理系统需要能够管理多个实验室的资源,包括仪器设备、实验材料、实验室空间等。
管理员可以添加、删除和修改实验室资源信息,并可以查询实验室资源的可用性和预约情况。
2.实验项目管理系统需要能够管理不同实验项目的信息,包括项目名称、负责人、实验目的和实验要求等。
管理员可以添加、删除和修改实验项目的信息,并可以查看实验项目的进度和完成情况。
3.仪器设备预约学生可以通过系统进行仪器设备的预约。
他们需要提供预约时间、预约仪器和预约实验室等信息。
系统需要能够检查仪器设备的可用性和冲突情况,并生成预约申请和预约结果的通知。
4.实验数据收集与分析学生在完成实验后,可以通过系统上传实验数据。
系统需要能够保存实验数据,并提供数据分析的功能,包括统计、图表和结果分析等。
5.用户权限管理系统需要具备不同用户角色的权限管理功能。
管理员拥有最高权限,可以对系统进行所有操作;教师可以添加、删除和修改实验项目信息,以及查看学生的实验数据;学生可以预约仪器设备、上传实验数据和查看实验项目信息。
二、系统设计1.系统架构实验室管理系统的架构可以采用三层架构,包括数据层、业务层和表示层。
数据层负责与数据库交互,进行数据的存取;业务层负责实现系统的业务逻辑,包括权限管理、实验项目管理、实验数据管理等;表示层负责实现用户界面,用户可以通过界面进行操作。
2.数据库设计系统的数据库可以包括以下表:-实验室资源表:记录实验室资源的信息,包括资源名称、规格型号、可用数量等。
-实验项目表:记录实验项目的信息,包括项目名称、负责人、实验目的和实验要求等。
-预约表:记录仪器设备的预约信息,包括预约人、预约时间和预约状态等。
-实验数据表:记录学生上传的实验数据信息,包括学生、实验项目和实验结果等。
3.界面设计系统的用户界面应该简洁明了,方便用户使用。
可以使用响应式设计,适配不同的终端设备。
管理员可以通过界面进行实验室资源和实验项目的管理;教师可以查看学生的实验数据并进行分析;学生可以预约仪器设备、上传实验数据和查看实验项目信息。
实验室设备管理系统目录一、系统的开发背景与目标…………………………………………………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.系统界面设计:设计符合用户习惯的用户界面,界面简洁明了,易于操作。
实验室设备管理系统第一章系统概述1。
1系统开发背景一个现代化的实验室设备系统在正常运行中总是面对大量的使用者,仪器以及两者相互作用产生的借用仪器。
人工管理既浪费人力物力财力,又容易导致各种错误的发生.为了方便实验室管理,得开发一个更好更高效的软件来管理。
实验室管理系统,是为了实现实验室管理而设计的,它也是现在各个部门的一个重要环节。
实验室是所有高校、研究机构必不可少的基本构成单位。
特别是高校,实验室的设备管理需要一套稳定、高效的管理办法。
就我校情况看来,目前我校的实验室设备管理还处于较原始的手工阶段,缺少一套实用可靠的管理系统软件。
随着电气化教学和无纸化办公的一步步完善,利用计算机管理系统管理我校的实验室设备势在必行。
因此,本项目拟开发一个实验室设备管理系统。
本系统将建立一个实验室设备管理平台,记录实验室所有的实验设备,并及时反应设备的运转状况,使用情况,以供本科生和研究生及其他试验人员合理的安排实验,达到工作效率的最优.1。
2项目设计基本原理软件工程是一门从技术和组织管理两个角度研究如何用系统化、规范化和数量化等工程原理也方法去进行软件开发和维护的学科.软件工程学研究的范围非常广泛,包括技术方法、工具和管理等许多方面.软件生命周期的各个阶段可分为:采用软件工程的技术方法开发本系统,通过以上八个阶段组成软件的生存期,它是指从提出开发要求开始直到该软件报废为止的整个时期。
分阶段进行,就把规模庞大、结构复杂和管理复杂的软件变的容易控制和管理。
基于此思想,本系统开发实际可行的软件,方便毕业时信息的管理。
1。
3数据库系统设计及范式分析数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的.数据库设计时需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型。
基于WEB的实验室设备管理系统的设计与实现的开题报告一、选题背景随着科技的不断发展,实验室设备越来越先进、复杂,其使用和管理也面临着越来越多的挑战。
传统的实验室设备管理方式使用人工记录、粘贴标签等方式进行,效率低下,管理难度大,存在安全隐患。
基于此,本次选题旨在开发一个基于WEB的实验室设备管理系统,通过使用计算机网络和数据库技术,以提高实验室设备管理的效率和准确性。
二、研究内容1.系统需求分析:对实验室设备管理系统功能需求、规模、数据量等进行详细分析。
2.系统设计:根据需求分析结果实现系统设计,包括数据库设计、系统模块划分以及用户界面设计等方面。
3.系统实现:根据系统设计,完成实验室设备管理系统的开发,包括前端界面开发和后端数据库开发等方面。
4.系统测试:对已建成的系统进行充分的测试,发现和解决潜在的错误和漏洞,保障系统的稳定性和安全性。
三、研究意义本次选题的研究意义在于提高实验室设备管理的效率和准确性,能够实现以下几点:1.方便管理人员对实验室设备进行统一管理,节省时间和精力。
2.提供设备使用信息和管理信息的维护和查询功能,方便管理人员进行决策。
3.提高实验室设备使用的安全性和稳定性,降低实验室设备及人员受到的风险。
四、研究方法本次选题的研究方法主要是基于软件开发的,包括系统需求分析、系统设计、系统开发和系统测试等方面。
其中,系统需求分析是系统设计的基础,是实现系统设计方案的前提条件。
系统设计是系统实现的基础,它将需求分析得出的结果,分析并进一步分解、组合,形成系统设计方案。
系统实现是在系统设计方案的指导下,使用开发工具和技术完成具体的系统代码实现。
系统测试是对已实现的系统进行充分地测试,发现和解决潜在的错误和漏洞,提高系统的质量和稳定性。
五、预期成果完成本次选题研究后,将实现一个基于WEB的实验室设备管理系统,具有以下特点:1.方便、快捷,能够实现设备的信息化管理,包括设备资料的查询、修改、删除、添加等。
高职院校实验室信息管理系统的设计与实现【摘要】本文通过对高职院校实验室信息管理系统进行设计与实现,首先进行了系统需求分析,确定了系统功能和模块划分。
然后对数据库进行设计,建立了数据表和关系。
接着根据需求进行系统功能实现,包括实验室设备管理、实验室预约等功能。
最后进行系统测试与优化,确保系统稳定运行。
通过本文的研究,可以提高高职院校实验室信息管理的效率和准确性,为实验室管理工作提供便利。
在展望未来可以进一步完善系统功能,提升系统性能,满足用户需求。
【关键词】高职院校、实验室、信息管理系统、设计、实现、系统需求分析、系统设计与模块划分、数据库设计、系统功能实现、系统测试与优化、结论、展望。
1. 引言1.1 引言在现代高职院校教学中,实验室是非常重要的教学环节,通过实验可以使学生更好地理解所学知识,培养他们的实践能力和创新思维。
在实验室管理方面,传统的纸质记录方式存在一些问题,比如信息不易查找、易丢失、耗费时间等。
为了解决这些问题,开发一个高职院校实验室信息管理系统是非常必要的。
本文将详细介绍高职院校实验室信息管理系统的设计与实现。
我们将进行系统需求分析,包括用户需求和功能需求等方面的分析。
然后,我们将介绍系统的设计与模块划分,包括系统的结构设计和各功能模块的划分。
接下来,我们将介绍数据库设计,包括数据表的设计和关系的建立。
在系统功能实现部分,我们将详细介绍系统的各项功能实现步骤,包括实验室信息的录入、查询与修改等功能的实现。
我们将介绍系统测试与优化,包括系统的功能测试、性能测试和用户体验测试等方面的内容。
通过本文的介绍,读者将能够全面了解高职院校实验室信息管理系统的设计与实现过程,对实验室管理工作有更深入的认识,为高职院校实验室管理工作的改进提供参考。
部分到此结束。
2. 正文2.1 系统需求分析系统需求分析是软件开发的第一步,其目的是明确用户对软件系统的需求,为后续的设计和开发工作奠定基础。
在设计高职院校实验室信息管理系统之前,我们需要对系统的功能需求和性能需求进行全面分析。
实验室设备管理系统论文引言随着科学技术的不断进步和实验室研究项目的增多,实验室设备管理成为了一个重要的问题。
传统的管理方式已经无法满足高效、准确和可靠的管理需求。
因此,开发一个实验室设备管理系统,能够有效地管理实验室的设备资源,成为了一个迫切需要解决的问题。
研究目的本论文旨在设计和实现一个实验室设备管理系统,通过该系统的使用,能够解决实验室设备管理过程中的痛点和难点,并提高实验室设备管理的效率和准确性。
系统设计与实现功能需求分析对于一个实验室设备管理系统而言,最基本的功能需求包括:1.设备信息管理:包括设备的基本信息、使用状态、维护记录等;2.设备借还管理:实现设备的借出、归还、借用期限管理等功能;3.设备维修管理:记录设备的维修历史、维修人员信息等;4.设备报废管理:管理设备的报废流程和记录;5.设备统计分析:提供设备使用情况的统计数据和分析报告。
技术选型在设计和实现这个实验室设备管理系统时,我们选择使用以下技术:1.后端开发:使用Python语言和Django框架进行开发,Django提供了丰富的功能和强大的数据库操作支持,能够快速地构建一个稳定和高效的后端系统。
2.前端开发:使用HTML、CSS和JavaScript进行开发,结合Bootstrap框架和jQuery库,能够实现一个美观、响应式和交互性强的前端界面。
3.数据库选择:选择使用MySQL数据库存储设备信息和相关数据,MySQL具有稳定、可靠和高效的特性,适合存储大量数据,并提供了强大的查询和分析功能。
系统架构实验室设备管理系统的整体架构包括前端界面、后端服务器和数据库三个主要组成部分。
前端界面基于HTML和CSS进行设计,使用JavaScript和jQuery实现交互功能,Bootstrap框架提供了一套美观且易于使用的UI组件。
后端服务器使用Python语言编写,结合Django框架,提供Web服务接口,处理前端请求并操作数据库。
基于物联网技术的智能实验室安全管理系统设计与实现智能实验室安全管理系统是基于物联网技术的新一代实验室安全管理系统,它结合了物联网技术、传感器技术和网络通信技术,通过实时监测、远程控制和智能决策等手段,提高了实验室的安全性和管理效率。
本文将介绍智能实验室安全管理系统的设计与实现。
一、系统需求分析智能实验室安全管理系统主要具备以下功能:1. 实时监测:通过物联网传感器实时监测实验室内温湿度、气体浓度等关键参数,以及设备运行状态,及时发现异常情况。
2. 报警功能:一旦监测到异常情况,系统能够通过短信、邮件等方式向管理人员发送报警信息,以便他们及时采取措施。
3. 远程控制:通过物联网技术,管理人员可以远程监控实验室的各种设备,并能够实现对设备的远程开关、调节等操作,提高实验室的管理效率。
4. 防止误操作:系统应具备对实验室设备进行权限管理的功能,只有具备相应权限的人员才能操作相应设备,防止误操作引发安全问题。
5. 数据记录与分析:系统需要记录和分析实验室的各项数据,如温湿度变化趋势、气体浓度变化等,以便于管理人员分析、查找异常原因。
二、系统设计1. 硬件设备:系统所需的硬件设备主要包括传感器、终端设备、服务器等。
传感器负责实时监测实验室中的温湿度、气体浓度等参数,将采集到的数据发送给终端设备。
终端设备负责接收传感器数据,并通过网络将数据发送给服务器。
服务器负责存储数据、进行数据处理与分析,并提供用户接口供管理人员远程监控与控制实验室设备。
2. 网络通信与数据传输:系统借助物联网技术,采用无线网络通信方式实现传感器与终端设备之间、终端设备与服务器之间的数据传输。
3. 数据存储与处理:服务器负责存储传感器采集到的数据,并进行相应的数据处理与分析。
同时,服务器还负责存储设备操作日志、报警日志等信息,以便管理人员查看和分析。
4. 用户接口:系统应提供用户友好的界面,方便管理人员进行远程监控和控制。
界面应具备实时数据显示功能、设备开关功能、权限管理功能等。
辽宁工程技术大学本科毕业设计(论文)开题报告题目大学生实验室设备管理系统设计与实现指导教师孙宁院(系、部)软件学院专业班级计HR07-6学号姓名韩冰日期2011年3月28日教务处印制一、选题的目的、意义和研究现状(一)选题的目的和意义在学校实验室的设备管理工作中,设备的编排是一项十分复杂、棘手的工作。
在编排过程中,由于数量多容易出错。
利用计算机辅助进行设备编排工作,既提高了编排的科学性,又可大大减轻管理人员的工作强度,提高工作效率,从而教学设备管理现代化迈上了一个新台阶。
又因为现在各个高校内教学设备众多但自动管理水平相比过低,很多高校管理设备都采用在设备购进以后将设备的基本情况和相关信息登记存档。
存档以后档案基本就没人记录与维护,至于以后设备的变迁或损坏都不会记录在设备档案中,即不能体现设备的即时状态。
而有些即使有设备管理系统的单位,就算是能把设备的即时信息体现在设备档案上,但设备的缺陷处理及设备缺陷等功能没有实施,设备检修的备品备件情况和检修成本核算没有实现,整个学校教学设备管理信息化仍处于较低水平。
将管理任务分成小块,落实到个人并能随时查询设备当前情况和历史情况,对设备的可靠性分析有直接作用,使管理人员从手工计算、统计工作中解脱出来。
(二)选题的研究现状实验室设备管理系统是一个学校教学系统中不可缺少的部分,它的内容对于实验室的管理者来说都至关重要,所以设备管理系统应该能够为师生提供充足的信息和快捷的查询手段。
该系统还可以帮助学校实验室系统进行有效的设备管理,对设备的维护,教学质量的估计有很大的帮助,提高学生对的可持续发展能力与市场竞争力。
目前国内学校教学设备自动化管理水平不是很高。
大多数学校设备管理办法是设备采购进来以后,将设备的基本情况和相关信息登记存档,然后将档案存档。
以后档案基本就没人维护,如设备位置出库、检修情况、设备当前运行状态等信息根本不会体现在设备台帐上,即设备跟踪信息不能及时体现在设备档案上。
实验室仪器设备管理系统设计与实现引言实验室是科学研究和教学的重要场所,在实验室中经常使用各种仪器设备来进行实验和探索。
然而,随着实验室规模的扩大和仪器设备数量的增加,管理这些设备变得越来越困难。
为了提高实验室仪器设备的使用效率和管理水平,设计和实现一个实验室仪器设备管理系统是很有必要的。
系统需求分析功能需求1.仪器设备信息管理:对实验室中的仪器设备进行录入、修改、查询和删除操作,包括仪器设备的名称、型号、数量、购买日期、维护周期等信息。
2.借还管理:记录借出和归还的仪器设备信息,包括借出人、借出时间、预计归还时间等。
3.维护管理:提醒维护人员对仪器设备进行定期维护,记录维护的时间和内容。
4.报废管理:对报废的仪器设备进行处理,并记录处理的时间和方式。
5.统计分析:根据仪器设备的使用情况,进行数据统计和分析,如设备使用率、维护频率等。
非功能需求1.安全性:只有授权人员才能进行仪器设备信息的修改和删除操作,并对系统进行身份验证和权限控制。
2.可靠性:系统需要具备良好的稳定性和容错性,能够正常运行并处理大量的数据。
3.用户界面友好:系统界面简洁明了,操作简单易懂,方便用户进行操作。
系统设计架构设计本系统采用客户端-服务器架构,客户端通过web浏览器与服务器进行交互,服务器负责处理客户端的请求并返回相应的数据。
客户端和服务器之间通过HTTP协议进行通信。
数据库设计仪器设备表(devices)字段名数据类型说明id int 仪器设备IDname varchar(100) 仪器设备名称model varchar(100) 仪器设备型号quantity int 仪器设备数量purchase_date date 购买日期maintenance_cycle int 维护周期借还记录表(borrow_records)字段名数据类型说明id int 记录IDdevice_id int 仪器设备IDborrower varchar(100) 借出人borrow_date datetime 借出时间expect_return_date datetime 预计归还时间维护记录表(maintenance_records)字段名数据类型说明id int 记录IDdevice_id int 仪器设备IDmaintenance_date datetime 维护时间maintenance_content varchar(200) 维护内容报废记录表(scrap_records)字段名数据类型说明id int 记录IDdevice_id int 仪器设备IDscrap_date date 报废时间scrap_method varchar(100) 报废方式系统实现系统采用前后端分离的方式实现,后端使用Python编写基于Django框架的API接口,前端使用HTML、CSS和JavaScript编写页面。
数字化实验室管理系统的设计与实现一、引言随着信息技术的不断发展,数字化实验室管理系统的需求不断增加。
该系统是一种应用程序,具有自动化和数据处理能力。
它能够为实验室提供管理、监控和处理数据的功能,以及帮助实验人员更加有效地完成实验任务。
本文将介绍数字化实验室管理系统的设计与实现。
二、数字化实验室管理系统的需求分析数字化实验室管理系统的设计与实现首先要进行需求分析。
需要考虑的因素有实验室类型、实验项目、实验数据、设备情况、实验人员等。
在此基础上,我们可以根据需求设计和开发以下模块:1. 实验室管理模块该模块负责实验室的基本管理,包括设备管理、物资管理、实验室环境监测等。
同时,它也包括对实验室的安全防护措施的检查和管理。
2. 实验项目管理模块该模块负责实验项目的管理,包括实验目的、实验内容、实验流程等。
通过该模块能够更加清楚地理解每一个实验项目,并能够更加方便地管理实验过程。
3. 实验数据管理模块该模块负责实验数据的管理和存储,包括实验结果、实验记录等。
通过该模块可以更加准确地记录实验数据,同时也可以方便地查阅实验数据。
4. 设备状态监控模块该模块负责实验设备的状态监控,包括设备的开启状态、维护情况等。
通过该模块,实验室管理人员能够及时了解设备的状态,并及时处理出现的问题。
三、数字化实验室管理系统的设计与实现在了解了数字化实验室管理系统的需求后,我们可以进行具体的设计和实现。
数字化实验室管理系统的设计分为前端和后端两个部分,具体如下:1. 前端设计前端设计主要包括用户界面和用户交互。
用户界面需要美观、简洁、易于使用,并能够有效地传达信息。
用户交互需要优良、快速、流畅,并能够让用户轻松地完成操作。
为此,我们可以采用现代化的前端开发技术,如React、Vue等。
2. 后端设计后端设计主要负责业务逻辑和数据库开发。
业务逻辑需要清晰、完整、高效,并能够很好地处理实验数据的存储、处理和分析等问题。
数据库需要灵活、可靠、高效,并能够支持并发访问和多用户操作。
实验室设备管理系统的设计及实现摘要实验室设备对于实验技术的改革与创新有着重要的意义,高校的实验室设备管理工作目前还存在着诸多问题,管理的规范化、科学化、信息化要求急需一套完备的实验室设备管理系统。
本文运用面向对象分析和设计的方法,提出了一种设计实验室设备管理系统的新方法,以实现实验室设备管理的自动化,为实验室设备管理提供一种切实可行的工具。
关键词实验室;设备管理;设计1 开发背景在大型实验室中,需要及时进行准确的数据处理,采用计算机网络进行数据处理有利于实验室的开展。
大型实验室数据收集难度较大,信息较多,花费时间很长导致信息不够完整,不能实时更新工况。
没有借助于计算机信息化,所有工作都是由人来完成,这就会导致工作量大,错误率高,无法保证质量。
科研的人员水平参差不齐,能力差别较大,很难在分工上做到公平,质量也难以评价,稳定度很低。
实验做完后,却可能因为相关信息不够完整而无法按时通过单位验收,影响实验进度。
实验室质量关乎着使用者的人身安全,对于安全问题要多加重视,严加管理,在事前事中事后都要实时记录,随时抽样调查。
而互联网的存在可以科学规划管理并将遇到的问题传输到高层分析[1]。
1.1 实验室平台的结构(1)平台层实验室分布式存储系统可以对大规模的结构数据进行存储,通过大型的存储与管理技术,实现对于数据的高效处理,这个数量级大部分时候在PB级以上,这样才能让科研活动更加合理地进行开展。
(2)功能层功能层采用扩展算法进行数据挖掘,采用TB级的数据进行模型建立,实现云计算与分布调度处理,利用负载的均衡技术,使得分布处理能力提升,从而实现高效数据处理。
(3)服务层采用基于WEB与Open API的实验室挖掘处理技术,从实验室的环境分析入手,加强端口的管理与流程的优化,从而实现端口的智能配置与数据交换,让实验室的共享变得科学合理简洁。
服务层属于高级别管理层次,因此应当加强对输入输出的合理控制,使其可以实现实验室的高效交换。
课程设计报告实验室设备管理系统的设计与实现课程《数据库原理及应用》班级姓名学号指导教师时间:2012年5月21日至2012年5月25日指导教师对课程设计(论文)的评语(工作态度、任务完成情况、能力水平、设计说明书(论文)的撰写和图纸质量等):成绩指导教师签字年月日目录第一章开发背景........................................................................ 错误!未定义书签。
第二章功能描述........................................................................ 错误!未定义书签。
第三章业务流程分析................................................................ 错误!未定义书签。
第四章数据流程分析.. (7)4.1数据流程图 (7)4.2数据字典 (7)第五章概念模型设计 (9)第六章逻辑模型设计和优化 (11)第七章物理设计和实施 (12)第八章系统测试........................................................................ 错误!未定义书签。
第九章课程设计心得体会. (21)参考文献 (22)第一章开发背景现今实验室管理一般都以办公人员进行批次记录,其的繁索给具有强烈时间观念的办公人员带来了诸多不便,实验室设备管理缺少一种完善的设备管理软件,为了对设备基本情况管理方便,开发人员完成了全面的调查与分析,同时与目标用户进行了多次深入沟通,并在次基础上着手开发《实验室管理系统》软件。
通过课程设计,让学生能够全面了解数据库应用系统的整个开发过程,验证课堂教学中的理论,掌握数据库系统的基本概念,基本原理及应用技术,掌握SQL语言,真正实现实践检真理。
信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。
实验室设备管理迫切需要与计算机联系,不仅可以减轻办公人员的工作同时更能让实验室设备系统管理。
计算机虽然与人类的关系愈来愈密切,还有人由于计算机操作不方便继续用手工劳动。
为了适应现代社会人们高度强烈的时间观念,实验室设备管理系统软件将会为实验室设备管理带来了极大的方便。
第二章功能描述经过调研及分析,实验室设备管理系统主要完成以下功能:(1)设备入库信息管理主要是管理员对新增加的设备进行登记,包括编号、设备名、型号、规格、单价、数量、购置日期、生产厂家、购买人等。
(2)设备运行状况统计可按照设备名称、机房名称以及日期等统计实验室设备运行状况。
该功能主要是为了使用户能够实时掌握实验室设备的运行状况,所做的主要操作就是查询和统计,所以数据以只读形式出现。
(3)报修设备管理对于有严重问题(故障)的需要修理的设备,记录修理日期、设备名、修理厂家、修理费、责任人等,随时对设备修理情况进行统计,并能够按类别、修理厂家和修理日期查询修理情况。
(4)报废设备管理对已经彻底损坏的设备作报废处理,详细记录报废设备的有关信息,并随时对设备报废情况进行统计和查询,要求能够按类别和时间段(年、月或季度)查询。
第三章 业务流程分析业务流程图是为了让我们一目了然的看清数据库的运行过程,让设计管理员知道数据库的结构,加以分析已熟悉它的工作过程。
并快速建立数据库,数据库设计人员在设计数据库时的模型图。
学校门诊管理系统业务流程图如图3-1:图3-1 实验设备管理系统业务流程图四章 数据流程分析4.1数据流程图数据流程图是为了让我们一目了然的看清数据库中的数据的运行过程,让设计管理员知道数据库的数据流向,加以分析已熟悉它的工作过程。
并快速建立数据库,数据库设计人员在设计数据库时的模型图。
报废信息设备信息类别/时间段反馈管理员P 2.1 用户登录P 2.2 设备查询P 2.5 设备审核P 2.6报废设备处理用户采购部设备使用状况图4-1 实验设备管理数据流程图4.2数据字典 (1)数据流的描述数据流编号: D001数据流名称: 设备入库信息简述:所要入库设备的信息 数据流来源:管理员数据流去向:设备入库管理数据流组成:编号+设备名+型号+规格等 数据流量:1000/天 高峰流量:3000/天 数据流编号: D002数据流名称: 设备运行信息简述:管理员登记设备是否良好运行管理员发现设备受损的信息 数据流来源:设备入库信息 数据流去向:管理员数据流组成:编号+设备名+机房名等 数据流量:100/天 高峰流量:500/天 数据流编号: D003数据流名称: 设备彻底受损简述:管理员发现设备受损的信息 数据流来源:管理员数据流去向:报修设备管理实验室设备管理系统设备查询管理现有设备管理设备购进管理设备使用管理按类别查询按时间段查数据流组成:编号+日期+设备名+机房名等数据流量:100/天高峰流量:400/天数据流编号: D004数据流名称:设备运行状况简述:管理员发现设备彻底受损的信息数据流来源:报修设备管理数据流去向:设备报废信息数据流组成:日期+设备名+机房名+报废情况等数据流量:100/天高峰流量:400/天(2)处理逻辑的描述处理逻辑编号:P001处理逻辑名称:设备入库管理简述:管理设备入库输入的数据流:D001设备入库信息处理描述:根据编号,设备名,型号,规格等信息,进行设备入库管理,管理出设备入库后所要进入的机房名输出的数据流: D002设备运行信息处理频率: 500次/天处理逻辑编号:P002处理逻辑名称:设备运行状况简述:记录设备是否良好运行输入的数据流:D002 设备运行信息处理描述:根据实验室设备的是否良好运行,将此情况记录下来,管理员进行处理处理频率: 1000次/天处理逻辑编号: P003处理逻辑名称:保修设备管理简述:设备受损情况输入的数据流:D003 设备受损处理描述:管理员检查设备是否受损,若受损则进行报修处理,若彻底受损则进行报废处理处理频率:100次/天(3)数据存储的描述数据存储编号:F001数据存储名称:设备信息简述:入库设备的基本信息数据存储组成:编号+设备名+型号+规格+单价+数量+购置日期+生产日期+生产家+购买人关键字:编号,设备名,型号相关联的处理:P001数据存储编号:F002数据存储名称:报修设备信息简述:受损设备信息登录数据存储组成:编号+修理日期+设备名+型号+修理厂家+修理费+负责人关键字:编号,修理日期,修理厂家相关联的处理:P002,P003数据存储编号:F003数据存储名称:报废设备信息简述:报废设备信息登录数据存储组成:编号+报废日期+设备名+型号+报废情况+生产厂家关键字:编号,报废日期相关联的处理:P002,P003数据存储编号:F004数据存储名称:设备运行状况信息简述:设备某天的运行状况登陆数据存储组成:设备名+机房号+日期+型号+规格+生产厂家关键字:设备名,机房号,日期相关联的处理:P002(4)外部实体的描述外部实体编号:S001外部实体名称:管理员简述:管理实验室设备的人输出的数据流:D001,D003第五章概念模型设计用户的需求具体体现在对各种信息的提供、保存、更新和查询,这就要求数据库能充分满足各种数据的输出和输入。
通过对上述系统功能的分析,针对实验室设备管理要求,设计如下所示的数据项:(1)实验室设备信息包括类别、型号、单价、数量、购买日期、责任人、生产厂家、生产厂商、购买人保修时间。
图5-1实验设备实体E-R 图(2)设备运行状况包括机房名称、日期、运行。
图5-2设备运行实体E-R 图(3)设备保修状况保修日期、修理厂家、保修费、责任人、日期。
图5-3 设备保修实体E-R 图(4)设备报废状况包括设备、生产厂家、报废日期、责任人、生产日期。
设备名修理厂家保修费 保修日期责任人日期设备名机房名日期 是否运行图5-4 设备报废E-R 图第六章 逻辑模型设计和优化根据实验设备管理系统各实体E-R 图写出各信息的情况并根据的需求分析学校门诊管理系统数据库中各个表中的数据结果如下列表所示,每个表格表示在数据库中的一个表的信息。
表-1设备管理表 表-2运行状况表表-3报废信息表表-4保修信息表第七章 物理设计和实施得到系统逻辑模型后,就该进行数据库的物理设计和实施数据库了,物理设计主要是要确定数据库的存储路径、存储结构以及如何建立索引等,可以采用系编号 设备名 型号规格单价数量购置日期 生产日期 生产厂家 购买人编号设备名型号 修理日期 修理厂家 修理费负责人设备名机房号日期型号规格生产厂家 运行状况编号报废日期设备号型号报废情况生产厂家设备名生产厂家报废日期 责任人生产日期统的默认设置。
数据库实施主要包括在具体的DBMS中创建数据库和表的过程,本设计所选用的DBMS为SQL SERVER2005,有关创建数据库和关系表的SQL语句如下所示:(1)创建数据库/*==============================================================*//*database Exp *//*==============================================================*/create database Exp(2)创建表/*==============================================================*//* Table: ExpId *//*==============================================================*/create table ExpId(Expname char(100) not null, /*登录名*/Exppwd int not null, /*密码*/)EXEC sp_addlogin '1', '123';EXEC sp_adduser '1'; /*登录名*//*==============================================================*//* Table: ExpMg, 设备管理信息表*//*==============================================================*/create table ExpMg (Exid int not null, /*编号*/Exname char(100) not null, /*设备名*/Exmodel char(100) not null, /*型号*/Exsize int null, /*规格*/Exprice int null, /*单价*/Exquantity int null, /*数量*/Exdate int null, /*生产日期*/ExsellDate int null, /*购置日期*/Exseller char(100) null, /*生产厂家*/Exbuyer char(100) null, /*购买人*/constraint PK_ExpMg primary key (Exid, EXname, Exmodel) /*主键约束*/)/*==============================================================*//* Table: ExpSt,运行状况表*//*==============================================================*/create table ExpSt(Exname char(100) not null, /*设备名*/Exhouse char(100) not null, /*机房名*/Extime int not null, /*日期*/Exmodel char(100) null, /*型号*/Exsize int null, /*规格*/Exseller char(100) null, /*生产厂家*/Excon char(100) null, /*运行情况*/constraint PK_ExpSt primary key ( EXname,Exhouse, Extime) /*主键约束*/)/*==============================================================*//* Table: ExpRe,报修信息表*//*==============================================================*/ create table ExpRe (Exid int not null, /*编号*/Exname char(100) null, /*设备名*/Exmodel char(100) null, /*型号*/Exredate int not null, /*修理日期*/Exreer char(100) not null, /*修理厂家*/Exrefee int null, /*修理费*/Expri char(100) null, /*负责人*/constraint PK_Expre primary key (Exid, Exredate,Exreer) /*主键约束*/)/*==============================================================*//* Table: ExpSc,报废信息表*//*==============================================================*/ create table ExpSc (Exid int not null, /*编号*/Exname char(100) null, /*设备名*/Exmodel char(100) null, /*型号*/Exscdate int not null, /*报废时间*/Exsccon char(100) null, /*报废情况*/Exseller char(100) null, /*生产厂家*/constraint PK_Expsc primary key (Exid,Exscdate) /*主键约束*/第八章系统测试(1)登录界面8-1登陆界面主要代码private void Button1_Click(object sender, EventArgs e){if (TextBox1.Text == "") //判断用户是否输入了用户名{MessageBox.Show("用户名不能为空");}if (TextBox2.Text == ""){MessageBox.Show("密码不能为空"); //判断用户是否输入了密码}else{// if ( == "登录名")//{string ConStr = "server=.;integratedsecurity=SSPI;database=exp";SqlConnection con = new SqlConnection(ConStr);string SqlStr = "select * from ExpId where Expname='"+ () + "' and Exppwd='" +TextBox2 .Text.Trim () + "'";SqlDataAdapter ada = new SqlDataAdapter(SqlStr, con);DataTable dt = new DataTable();ada.Fill(dt);int i = ;if (i > 0){基本查询 = new 基本查询();.Show();}else{MessageBox.Show("用户名或密码不正确,请重新输入!", "信息提示", MessageBoxButtons.OK, rmation);}}}private void Button2_Click(object sender, EventArgs e){this.Close();}(2)查询设备基本信息查询8-2设备信息查询界面主要代码private void 设备报修信息ToolStripMenuItem_Click(object sender, EventArgs e){设备报修信息= new 设备报修信息();.Show();}private void 设备运行状况ToolStripMenuItem_Click(object sender, EventArgs e){设备运行状况= new 设备运行状况();.Show();}private void 设备报废信息ToolStripMenuItem_Click(object sender, EventArgs e){设备报废信息= new 设备报废信息();.Show();}private void 添加设备信息ToolStripMenuItem_Click(object sender, EventArgs e){添加设备信息= new 添加设备信息();.Show();}private void 设备管理ToolStripMenuItem1_Click(object sender, EventArgs e){设备管理= new 设备管理();.Show();}(3)设备运行状况8-3设备运行界面主要代码private void Button4_Click(object sender, EventArgs e){string ConStr = "server=.;integrated security=SSPI;database=exp";SqlConnection con = new SqlConnection(ConStr);string Sqlstr = "select * from ExpSt where Exname like '%" + () + "%' and Exhouse like '%" + () + "%' and Extime like '%" + () + "%'";SqlDataAdapter ada = new SqlDataAdapter(Sqlstr, con); DataSet ds = new DataSet();ada.Fill(ds, "table");= ds.Tables[0].DefaultView;Show();}(4)设备管理界面8-4设备管理界面主要代码private void 设备管理_Load(object sender, EventArgs e){try{string ConStr = "server=.;integratedsecurity=SSPI;database=exp";SqlConnection con = new SqlConnection(ConStr);string SqlStr = "select * from ExpMg";SqlDataAdapter ada = new SqlDataAdapter(SqlStr, con); DataSet ds = new DataSet();ada.Fill(ds);= ds.Tables[0].DefaultView;}catch{return;}}(5)报废信息界面8-5设备报废界面主要代码private void 设备报废信息_Load(object sender, EventArgs e){}private void Button1_Click(object sender, EventArgs e){string ConStr = "server=.;integratedsecurity=SSPI;database=exp";SqlConnection con = new SqlConnection(ConStr);string Sqlstr = "select * from ExpSc where Exmodel like '%" + () + "%' and Exscdate like '%" + () + "%'";SqlDataAdapter ada = new SqlDataAdapter(Sqlstr, con);DataSet ds = new DataSet();ada.Fill(ds, "table");= ds.Tables[0].DefaultView;Show();}(6)报修信息界面8-6设备保修界面主要代码private void 设备报修信息_Load(object sender, EventArgs e){}private void Button1_Click(object sender, EventArgs e){string ConStr = "server=.;integratedsecurity=SSPI;database=exp";SqlConnection con = new SqlConnection(ConStr);string Sqlstr = "select * from ExpRe where Exmodel like '%" + () + "%'"; //and Exredate like '";// + TextBox2.Text + "%'and Exreer like '" + TextBox3.Text + " %'";SqlDataAdapter ada = new SqlDataAdapter(Sqlstr, con); DataSet ds = new DataSet();ada.Fill(ds, "table");= ds.Tables[0].DefaultView;Show();}第九章课程设计心得体会在这学期的实验中,在杨慧老师的带领下,在收获知识的同时,还收获了阅历,收获了成熟,在此过程中,我们通过查找大量资料,请教老师,以及不懈的努力,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。