某实验设备管理系统设计书
- 格式:doc
- 大小:325.00 KB
- 文档页数:28
实验室设备管理系统目录一、系统的开发背景与目标…………………………………………………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程序设计胡平电子科技大学出版社。
课程设计报告实验室设备管理系统的设计与实现课程《数据库原理及应用》班级姓名学号指导教师时间: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) 数据展示:通过数据可视化技术将处理后的数据以图表等形式进行展示,为用户决策提供支持。
最全的实验室信息管理系统(1IMS)详解实验室信息管理系统(1IMS),就是指通过计算机网络技术对实验的各种信息进行管理的计算机软、硬件系统。
也就是将计算机网络技术与现代的管理思想有机结合,利用数据处理技术、海量数据存储技术、宽带传输网络技术、自动化仪器分析技术,来对实验室的信息管理和质量控制等进行全方位管理的计算机软、硬件系统,以满足实验室管理上的各种目标(计划、控制、执行)。
分类按功能,1IMS一般可以分为两大类:第一类是纯粹数据管理型,这类的1IMS软件主要功能一般包括:数据采集、传输、存贮、处理、数理统计分析、数据合格与否的自动判定、输出与发布、报表管理、网络管理等模块。
但其功能单一,容易实现。
第二类是实验室全面管理型,除了具有第一类的功能外,还增加了以下管理职能:样品管理、资源(材料、设备、备品备件、固定资产管理等)管理、事务(如工作量统计与工资奖金管理、文件资料和档案管理)管理等模块,组成了一套完整的实验室综合管理体系和检验工作质量监控体系。
其功能比较全面,除了能够实现对检验数据严格管理和控制外,还能够满足实验室的日常管理要求;网络结构相应要复杂一些,实现起来要困难一些,投资比较大,而且往往需要专业单位与实验室合作开发设计。
研究对象主要研究对象是实验室管理活动中信息的规律以及用计算机和网络技术实现辅助管理的方法,主要研究内容是如何利用计算机和网络技术来实现信息处理的全过程。
具体来说,包括四方面内容:1、信息需求的研究;2、信息流动过程与信息量的研究;3、11MS 的结构研究;4、主要设计工具的研究。
1IMS与管理软件1IMS作为一个信息管理系统,它有着和ERP、MIS之类管理软件的共性,如它是通过现代管理模式与计算机管理信息系统支持企业或单位合理、系统地管理经营与生产,最大限度地发挥现有设备、资源、人、技术的作用,最大限度地产生经济效益。
但其也与企业管理软件存在着差异,首先,1IMS作为实验室的管理软件,它是有标准可以遵循的。
XX科研实验室六大系统设计方案1. 实验数据采集系统该系统旨在实现对科研实验数据的高效采集和记录。
我们建议采用一种先进的数据采集装置,配合合适的传感器和仪器,以确保数据的准确性和可靠性。
同时,该系统将支持数据存储和实时监控功能,方便实验室人员随时获取和分析数据。
2. 实验设备管理系统实验设备管理是科研实验室运行的重要环节。
我们建议设计一套完善的实验设备管理系统,用于对实验设备的借用、归还和维护记录进行管理。
该系统将提供简便的借还流程和实时的设备状态监控,以提高实验设备的利用率和管理效率。
3. 实验室资源调度系统为了实现实验室资源的高效利用,我们建议设计一套实验室资源调度系统。
该系统将支持实验室资源的预约和调度功能,包括实验室空间、仪器设备和人员的调度。
通过该系统,实验室管理员可以合理安排实验室资源的使用,提高资源利用效率和工作效率。
4. 实验室安全监控系统实验室安全是科研工作的重要保障。
我们建议设计一套实验室安全监控系统,用于实验室安全事故的预警和监控。
该系统将集成多种安全监测设备,如烟雾报警器、温度监测器和视频监控设备,实时监控实验室的安全状况,并及时发出预警信号,保障实验室的安全环境。
5. 实验任务管理系统为了提高实验室研究任务的管理效率,我们建议设计一套实验任务管理系统。
该系统将支持实验任务的创建、分配和进度跟踪,方便实验室管理员对实验工作的管理和协调。
通过该系统,实验室成员可以清晰了解每个实验任务的进展情况,提高实验室的整体研究效果。
6. 实验过程监控系统为了确保实验操作的正确性和一致性,我们建议设计一套实验过程监控系统。
该系统将结合图像识别和实时监测技术,对实验操作过程进行自动化监控和记录。
实验室人员可以通过该系统获得实时的操作指导和反馈,提高实验操作的准确性和可靠性。
以上是针对XX科研实验室的六大系统设计方案的建议。
希望这些方案能够为实验室的科研工作提供有效支持和便利。
本科实验报告课程名称:软件工程实验项目:实验设备管理系统实验地点:致远楼专业班级:学号:学生姓名:指导教师:2014年5 月一、实验目的和要求随着高校规模的扩大,实验室及仓库的增多,人工管理实验设备已变得过于低效,为了解决这一问题,高校实验室设备管理系统将实现设备管理的自动化。
实验室设备管理系统将贯穿于设备从购进到报废的整个流程的管理过程,帮助管理员高效地管理整个高校的所有设备,并给上级领导提供一个审核监督管理的平台。
二、实验内容和原理实验内容1.系统简介某大学每学年都需要对实验室设备使用情况进行统计、更新。
其中:(1)对于已彻底损坏的实验设备做报废处理,同时详细记录有关信息。
(2)对于有严重问题(故障)的需要及时修理,并记录修理日期、设备名、编号、修理厂家、修理费用、责任人等。
(3)对于急需使用但实验室目前又缺乏的设备,需以“申请表”的形式送交上级领导请求批准购买。
新设备购入后要立即进行设备登记(包括类别、设备名、编号、型号、规格、单价、数量、购置日期、生产厂家、保质期和经办人等信息),同时更新申请表的内容。
(4)随时对现有设备及其修理、报废情况进行统计、查询,要求能够按类别和时间段等条件进行查询。
2.技术要求及限制条件(1)所有工作由专门人员负责完成,其他人不得任意使用。
(2)每件设备在做入库登记时均由系统按类别加自动顺序号编号,形成设备号;设备报废时要及时修改相应的设备记录,且有领导认可。
(3)本系统的数据存储至少包括:设备记录、修理记录、报废记录、申请购买记录。
(4)本系统的输入项至少包括:新设备信息、修理信息、申请购买信息、具体查询统计要求。
(5)本系统的输出项至少包括:设备购买申请表、修理/报废设备资金统计表。
实验需求分析1引言1.1 编写目的:本实验室设备管理系统在可行性研究的基础上,是为了进一步明确实验室设备管理系统的软件需求,目的是让读者能够了解本系统的开发目的,开发方法,以及目前的硬件和软件的情况和开发所需要资金和设备,概要设计说明书和完成后续设计与开发工作将在此基础上进一步提出。
数据库课程设计--实验室设备管理系统一、引言随着实验室设备数量的增加和设备种类的多样化,实验室设备的管理变得日益复杂。
为了提高实验室设备的管理效率,我们设计了一个数据库管理系统——实验室设备管理系统。
该系统将提供一个用户友好的界面,使用户能够方便地完成设备的新增、修改、删除、查询等操作,同时还能生成各类报表,以便于数据的分析和决策。
二、系统需求分析1.用户需求:系统需要满足实验室管理人员、设备使用者以及其他相关人员的需求,使其能够快速、准确地获取设备的相关信息,并能够方便地进行各类操作。
2.功能需求:系统需要实现以下功能:•设备的增加、修改、删除:能够对设备信息进行基本的增、删、改操作。
•设备查询:能够根据设备名称、型号、编号等信息进行快速查询,并能显示详细信息。
•报表生成:能够根据不同的需求生成各类报表,如设备使用情况报表、设备故障维修报表等。
•权限管理:能够对不同用户设置不同的权限,保证系统的安全性。
三、数据库设计1.实体设计:根据需求分析,我们可以设计以下实体:•用户实体:包括用户名、密码、权限等级等属性。
•设备实体:包括设备编号、设备名称、型号、分类、供应商、购买日期、价格等属性。
•维修记录实体:包括维修编号、设备编号、维修日期、维修原因、维修人员、维修费用等属性。
2.数据库表设计:根据实体设计,我们可以创建以下数据库表:•用户表:用于存储用户信息,包括用户名、密码和权限等级等字段。
•设备表:用于存储设备信息,包括设备编号、设备名称、型号、分类、供应商、购买日期、价格等字段。
•维修记录表:用于存储维修记录信息,包括维修编号、设备编号、维修日期、维修原因、维修人员和维修费用等字段。
四、系统实现技术1.开发语言:本系统采用Python语言进行开发,Python具有简单易学、代码可读性高、跨平台性强等特点,非常适合用于数据库管理系统的开发。
2.数据库管理系统:本系统采用MySQL作为数据库管理系统,MySQL是一种开源的关系型数据库管理系统,具有强大的性能和丰富的功能,能够满足本系统的需求。
中山大学实验室与设备管理系统的设计与实现
罗志高;简庚荣;程晋丽
【期刊名称】《华南理工大学学报(自然科学版)》
【年(卷),期】1998(000)0z1
【摘要】文中对校园网上建立中山大学实验与设备管理系统的网络结构,系统的功能组成、数据库和管理信息系统设计等方面作了一些有益探讨。
【总页数】1页(P103)
【作者】罗志高;简庚荣;程晋丽
【作者单位】中山大学电子系;中山大学电子系
【正文语种】中文
【中图分类】G482
【相关文献】
1.中山大学实验室与设备管理系统的设计与实现 [J], 罗志高;简庚荣
2.医学计量实验室设备与教学管理系统设计与实现 [J], 郭伟;罗二平;贾敏;马晓玉;谢康宁;刘娟;汤池
3.基于物联网技术的高校智慧实验室设备管理系统的设计与实现 [J], 李楠
4.基于二维码技术的高校实验室设备管理系统的设计与实现 [J], 高原
5.实验室信息管理系统中仪器设备管理模块的设计与实现 [J], 王茜;冀晋文;吴刚;杨丽丽;祁春景;张兆法;徐崇颖
因版权原因,仅展示原文概要,查看原文内容请购买。
实验室信息管理系统,Laboratory Information Management System一、实验室信息管理系统(LIMS)介绍:1、实验室信息管理系统即LIMS的概念:LIMS是英文单词Laboratory Information Management System的缩写.它是由计算机硬件和应用软件组成,能够完成实验室数据和信息的收集、分析、报告和管理。
LIMS基于计算机局域网,专门针对一个实验室的整体环境而设计,是一个包括了信号采集设备、数据通讯软件、数据库管理软件在内的高效集成系统.它以实验室为中心,将实验室的业务流程、环境、人员、仪器设备、标物标液、化学试剂、标准方法、图书资料、文件记录、科研管理、项目管理、客户管理等等影响分析数据的因素有机结合起来,采用先进的计算机网络技术、数据库技术和标准化的实验室管理思想,组成一个全面、规范的管理体系,为实现分析数据网上调度、分析数据自动采集、快速分布、信息共享、分析报告无纸化、质量保证体系顺利实施、成本严格控制、人员量化考核、实验室管理水平整体提高等各方面提供技术支持,是连接实验室、生产车间、质管部门及客户的信息平台,同时引入先进的数理统计技术,如方差分析、相关和回归分析、显著性检验、累积和控制图、抽样检验等,协助职能部门发现和控制影响产品质量的关键因素.2、与LIMS相关的国际标准标准规范的制定与实施,体现了高新技术的发展和产品成熟的标志.为提高分析数据质量,已将其纳入法制轨道,七十年代提出了质量管理(QC)概念,九十年代,各行业的标准化组织相继制定和颁布了各种管理标准,质量保证规范和各种技术协议,对推动高新技术的发展、改进产品质量,提高生产效率产生了重大影响.实验室的质量保证/质量管理的国际标准如下:由于计算机在实验室普遍应用,增订了优良的自动化实验室规范(GALP) ,它对实验室的方法、职责、管理和使用计算机处理实验室数据等,都制订了技术细则。
实验室设备管理系统的设计与实现实验室设备管理系统的设计主要包括系统的架构设计、功能模块设计、数据库设计。
实验室设备管理系统的架构设计应该基于B/S架构,采用多层结构模式,分为数据访问层、业务逻辑层、表示层。
其中,数据访问层主要负责与数据库进行交互,业务逻辑层负责处理系统的业务逻辑,表示层负责展示给用户。
实验室设备管理系统应该包括设备管理、库存管理、采购管理、维护管理、报表统计等模块。
每个模块应该具有相应的功能,例如设备管理模块应该包括设备信息管理、设备位置管理、设备借还管理、设备维修管理等。
数据库是实验室设备管理系统的核心,它应该包含以下信息:设备信息、人员信息、位置信息、库存信息、采购信息等。
数据库设计应该考虑到系统的扩展性、稳定性、安全性,合理设计表结构,建立索引,保证数据的一致性和完整性。
功能实现是实验室设备管理系统的关键环节,主要包括以下内容:实验室设备管理系统的开发应该采用Java语言和Spring框架,使用MyEclipse作为开发工具。
系统应该提供用户注册、登录功能,并能够根据用户的角色赋予相应的权限,实现权限管理。
设备管理模块应该能够添加、修改、删除设备信息,支持批量操作,可以根据关键字进行搜索,可以查看设备的详细信息,可以生成报表统计设备的利用率等。
库存管理模块应该能够实时更新库存信息,可以根据物品类型进行分类管理,可以设置库存预警,支持库存报表统计等。
采购管理模块应该能够根据采购需求生成采购订单,可以跟踪订单的执行情况,可以生成采购报表统计采购成本等。
维护管理模块应该能够记录设备的维护记录,可以设置维护计划,可以提醒用户进行预防性维护等。
报表统计模块应该能够根据用户的需求生成各种报表,如设备利用率报表、库存报表、采购报表等。
实验室设备管理系统在实现之后需要进行性能测试,以确保系统的稳定性和可用性。
性能测试应该从以下几个方面进行:通过模拟多用户并发访问系统,测试系统的响应时间和吞吐量,以评估系统的负载能力。
第1篇一、概述1.1 编写目的本说明书旨在明确实验室信息管理系统的功能需求、性能需求、用户界面需求、系统约束等,为系统的设计、开发和测试提供依据。
1.2 范围本说明书描述了实验室信息管理系统的功能需求、性能需求、用户界面需求、系统约束等,适用于实验室管理人员、实验技术人员和实验室使用人员。
1.3 定义和缩略语- 实验室:指进行科学实验、教学、科研活动的场所。
- 信息管理系统:指用于管理实验室各类信息的计算机软件系统。
- 实验室信息:指实验室的各类信息,包括实验设备、实验人员、实验项目、实验记录等。
二、功能需求2.1 用户管理- 用户注册:允许用户通过输入用户名、密码、邮箱等信息进行注册。
- 用户登录:用户输入用户名和密码登录系统。
- 用户权限管理:管理员可设置不同用户的权限,如查看、修改、删除等。
2.2 实验设备管理- 设备列表:显示所有实验设备的名称、型号、规格、状态等信息。
- 设备查询:根据设备名称、型号、规格等条件查询设备。
- 设备新增:添加新的实验设备信息。
- 设备修改:修改实验设备信息。
- 设备删除:删除实验设备信息。
- 设备借用:记录设备借用情况,包括借用时间、归还时间、借用人等。
2.3 实验人员管理- 人员列表:显示所有实验人员的姓名、性别、职称、联系方式等信息。
- 人员查询:根据姓名、职称等条件查询人员。
- 人员新增:添加新的实验人员信息。
- 人员修改:修改实验人员信息。
- 人员删除:删除实验人员信息。
2.4 实验项目管理- 项目列表:显示所有实验项目的名称、负责人、开始时间、结束时间等信息。
- 项目查询:根据项目名称、负责人等条件查询项目。
- 项目新增:添加新的实验项目信息。
- 项目修改:修改实验项目信息。
- 项目删除:删除实验项目信息。
2.5 实验记录管理- 记录列表:显示所有实验记录的编号、实验人员、实验项目、实验时间、实验结果等信息。
- 记录查询:根据记录编号、实验人员、实验项目等条件查询记录。
本文由导员0000贡献doc文档课程设计报告书实验设备管理系统<br />班学姓<br />级:号:名:<br />0909方 0909-1 20096409 王晶康亚男<br />指导教师:指导教师:<br />石家庄铁道大学四方学院<br />二零一零年七月十五号<br />1<br />课程设计报告内容<br />1. 选择题目<br />题目:实验设备管理系统题目:实验设备管理系统 2. 内容摘要<br />实验室设备管理系统是典型的设备信息管理系统,要求能为学校实验摘要:室管理提供信息化动态化的管理,方便实验室设备管理工作,提高设备管理质量和使用效率。
而且系统应符合设备管理的有关规定,包括新设备的申请、购买确认、新设备信息录入、旧设备维修和报废及用户管理等。
能满足日常工作的基本需要,并达到操作过程中的直观、方便、实用、安全等有关要求。
实验室设备管理系统是一个典型的信息管理系统,采用面向对象的分析方法,给出系统的基本结构?设计特色?设计模型及实现途径,并且对系统的开发技术进行研究?本系统是一个为适应对学校实验室设备管理的迫切需求而设计开发的软件系统。
<br /> 3. 索引关键词<br />关键词:结构体、文件、数组、函数<br />4.目录目录<br />目录……………………………………………………………目录题目要求………………………………………………………3 题目要求设计思想……………………………………………………3-4 设计思想系统完成及功能系统完成及功能……………………………………………… 4 界面设计……………………………………………………4-5 界面设计<br />2<br />核心算法及说明………………………………………….5-11 核心算法及说明结论…………………………………………………………11 结论考资料………………………………………………………12 考资料后记…………………………………………………………12 后记附录………………………………………………………12-13 附录<br />5. 正文<br />包括课程设计的要求,设计思想,系统完成的功能,及界面设计,核心算法及说明,和结论几部分,正文必须从页首开始。
实验设备管理系统数据库设计说明书一、概述1.数据库设计文档概述本文档为软件工程一课的设计项目《实验设备管理系统》的数据库设计说明书,具体描述《实验设备管理系统》的数据库设计,用于说明该系统在数据库存储各方面的内容,作为系统代码设计的基准文档。
2.项目简要介绍软件系统名称:实验设备管理系统项目提出:根据指导老师的选题从中选取项目目标:本系统将会很大程度上提高学校的办公效率和设备可靠性,能够精细化的管理所有实验室设备,克服实验室管理人员对实验室设备管理中存在的漏洞和疏忽.减少管理人员的工作强度和操作复杂度,减少办公耗材避免不必要的浪费,能够真正的做到轻松高效管理整个实验室资产,真正的在技术上提高学校的现代化管理水平。
系统模式:采用客户端/服务器模式系统开发环境:Microsoft Visual Studio 2008数据库管理系统:Microsoft SQL Server 2008软件开发者:软件应用范围:大中小学校3.参考资料:《实验设备管理系统》需求说明书《数据库系统概论》(第四版)王珊萨师煊编著高等教育出版社《软件工程导论》(第5版) 张海藩编著《asp.net程序设计》二、数据库外部设计1.本数据库的应用软件及其与数据库的接口数据库软件:Microsoft SQLServer 2008系统要求建立的数据库名称:Experiment使用该数据库的应用软件:实验设备管理系统该应用软件在Microsoft Visual Studio 2008编程环境下设计,采用Microsoft Visual Studio 2008基于······的数据库访问接口技术,建立与数据库的通讯连接。
应用程序对数据库的操作,通过执行查询语句生成结果。
2.数据库管理系统SQLServer 2008 在Microsoft的数据平台上发布,可以组织管理任何数据.可以将结构化、半结构化和非结构化文档的数据直接存储到数据库中。
计算机与信息工程系《高级语言程序设计》课程设计报告《高级语言程序设计》课程设计报告题目:实验室设备管理系统设计专业:班级:姓名:指导教师:成绩:计算机与信息工程系2014年6月20日目录1 设计目的 (1)2 设计内容 (2)2.1程序设计组成框图 (2)3 设计任务和要求 (3)4 设计内容 (5)4.1 流程图显示 (5)4.2 程序设计实现 (6)5 系统功能 (10)5.1、进入系统 (10)5.2添加设备信息 (10)5.3删除指定设备信息 (11)5.4根据设备数据查找设备信息 (12)5.5 显示所有设备信息 (12)5.6 将设备信息存储在文本中 (13)6 总结 (14)参考文献 (15)源代码 (16)计算机与信息工程系《高级语言程序设计》课程设计报告1 设计目的将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。
通过课程设计,学生在下述各方面的能力应该得到锻炼:(1)进一步巩固、加深学生所学专业课程《C++程序设计语言》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。
(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。
(3)利用所学知识,开发小型应用系统,掌握运用C++语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。
(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。
(5)掌握结构化程序设计方法,熟悉面向对象程序设计方法。
(6)熟练掌握C++语言的基本语法,灵活运用各种数据类型。
(7)进一步掌握在集成环境下如何调试程序和修改程序。
2 设计内容课程设计名称:实验室设备管理系统设计内容:编写一个简单的实验室设备管理程序,帮助管理实验室设备信息。
要求具有设备信息管理的功能。
其中包括设备信息的录入、删除、查询和修改等功能。
设备管理子系统数据库设计报告书一、数据库需求分析1. 设备基本信息管理:需要记录设备的编号、名称、型号、购入时间、购入价格、存放位置等基本信息。
2. 设备维修记录管理:需要记录设备的维修时间、维修类型、维修人员、维修费用等信息。
3. 设备使用记录管理:需要记录设备的使用时间、使用人员、使用目的等信息。
4. 设备状态管理:需要记录设备的当前状态,如正常、维修中、报废等。
二、数据库设计1. 设备信息表(Device):包括设备编号、名称、型号、购入时间、购入价格、存放位置等字段。
2. 设备维修记录表(Repair_Record):包括设备编号、维修时间、维修类型、维修人员、维修费用等字段。
3. 设备使用记录表(Usage_Record):包括设备编号、使用时间、使用人员、使用目的等字段。
4. 设备状态表(Device_Status):包括设备编号、当前状态等字段。
三、数据库关系1. 设备信息表和设备维修记录表之间是一对多的关系,一个设备可以有多条维修记录。
2. 设备信息表和设备使用记录表之间是一对多的关系,一个设备可以有多条使用记录。
3. 设备信息表和设备状态表之间是一对一的关系,一个设备只有一个当前状态。
四、数据库实现本数据库采用关系型数据库管理系统进行实现,使用SQL语言编写相关存储过程和触发器来实现对设备信息的增删改查操作。
五、数据库维护为了确保数据库的稳定和安全运行,需要进行定期的备份和恢复操作,同时对数据库的性能进行监控和优化。
六、总结通过对设备管理子系统数据库的设计,可以实现对公司设备信息的有效管理和查询,为公司的设备管理工作提供了良好的支持。
同时,需要不断完善和维护数据库系统,以确保其稳定和高效运行。
七、安全性在设备管理子系统数据库的设计中,安全性是非常重要的一部分。
为了保护公司的设备信息不被未经授权的人员访问和篡改,需要对数据库进行安全设置。
可以采取以下措施来提高数据库的安全性:1. 用户权限管理:设定不同级别的用户权限,按需授权不同用户对数据库的访问和操作权限。
某实验设备管理系统设计书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的使用中,其实现了返回菜单的操作。