实验室设备管理系统(课程设计报告)(共59页).doc

上传人:飞****2 文档编号:13962936 上传时间:2022-05-02 格式:DOC 页数:59 大小:1.64MB
返回 下载 相关 举报
实验室设备管理系统(课程设计报告)(共59页).doc_第1页
第1页 / 共59页
实验室设备管理系统(课程设计报告)(共59页).doc_第2页
第2页 / 共59页
点击查看更多>>
资源描述

《实验室设备管理系统(课程设计报告)(共59页).doc》由会员分享,可在线阅读,更多相关《实验室设备管理系统(课程设计报告)(共59页).doc(59页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上西安文理学院 软件学院课程设计报告设计名称: 实验设备管理系统 设计题目: 实验设备管理系统 专业班级: 软件工程一班 学生姓名: 张兴华 陈琛 任小艳 学生成绩: 指导教师(职称):甘田(教授) 课题工作时间: 2013年12月20日至2014年1月8日 软件学院课程设计任务书学生姓 名张兴华 陈琛 任小艳学 号 9专业班级软件工程一班设计题目 实验设备管理系统内容概要:每学年要对实验室设备使用情况进行统计、更新,其中:(1)对于已彻底损坏的作报废处理,同时详细记录有关信息。(2)对于有严重问题(故障)的要即使修理,并记录修理日期、设备名、修理厂家、修理费、责任人等

2、。(3)对于急需但又缺少的设备需以“申请表”的形式送交上级领导请求批准购买。新设备购入后要立即进行设备登记(包括类别、设备名、型号、规格、单价、数量、购置日期、生产厂家、购买人等),同时更新申请表的内容。(4)随时对现有设备及其修理、报废情况进行统计、查询,要求能够按类别和时间段(某日期之前)查询。文献资料:Java面向对象程序设计,耿祥义、张跃平编著,清华大学出版社SQL Server 数据库教程(2008版), 郑阿奇,刘启芬,顾韵华主编,人民邮电出版社设计要求:(1)所有工作由专门人员负责完成,其他人不得任意使用。(2)每件设备在作入库登记时均由系统按类别自动顺序编号,形成设备号;设备报

3、废时要及时修改相应的设备记录,且有领导认可。(3)本系统的数据存储至少应包含:设备记录、修理记录、报废记录、购买申请。(4)本系统的输入项至少包含:新设备信息、修理信息、申请购买信息、报废信息、具体查询统计要求。(5)本系统的输出项至少包含:设备购买申请表、修理/报废注销/设备资金统计表。工作期限:设计工作自2013年12月20日至2014年01月08日止。指导教师: 甘田 院主任: 日 期:2014年01月06日课程设计:实验室设备管理系统一、 项目管理:阶段时间任务参与人员产生文档项目管理2013.12.21 确定课题,组织组员,合理分工。分工明细及项目进程表需求分析2013.12.22

4、确定软件的功能和需求、性能需求和运行环境约束,编制软件需求规格说明、软件系统的确认测试准则需求规格说明书确认测试准则概要设计2013.12.23 建立软件系统的总体结构和模块间的关系,定义各功能模块的接口,涉及全局数据库,规定涉及约束,制定组装测试计划。概要设计说明书组装测试计划数据库设计2013.12.24 根据概要设计对本软件所必须的数据库进行分析及设计数据库设计说明书详细设计2013.12.25 对概要设计产生的功能模块逐步细化,形成若干个可编程的程序模块模块测试方案编码2013.12.262014.01.01根据详细设计文档将详细设计转化为所要求的编程语言或数据库语言的程序,并对这些程

5、序进行调试和程序单元测试,验证程序模块与详细设计文档的一致性源程序清单测试单元测试2014.01.022014.01.03采用白盒测试技术进行如下测试:1. 模块接口测试;2. 模块局部数据结构测试;3. 模块边界条件测试;4. 模块中所有独立执行通路测试;5. 模块的各条错误处理通路测试。单元测试报告综合测试2014.01.04发现与接口有关的各种错误综合测试报告确认测试2014.01.04 检查软件是否满足软件需求说明书中的确认标准确认测试报告项目实施2014.01.042014.01.04完善程序流图书写软件使用说明书和用户手册项目开发总结报告最终用户手册二、 软件需求分析1. 引言1.

6、1 编写目的此需求说明书详细陈述了“实验设备管理系统”的所提供各项功能。其中包括用户的功能性需求以及非功能性需求,为用户提供完整且较详尽的系统功能运作蓝图。同时为设计人员提供一个完整的、可靠的设计约束,以便高质量地设计、编写代码,完成系项目预期目标。还给开发人员提供了参考。此需求说明书的预期读者为项目经理、设计人员、开发人员、用户等。1.2 背景说明:a.待开发的软件系统的名称:实验设备管理系统;b.本项目的任务提出者:西安文理学院;c.本项目的开发者:张兴华 陈琛 任小艳;d.本项目的用户:西安文理学院相关管理人员;e.该软件系统同其他系统或其他机构的基本的相互来往关系:与西安文理学院财务管

7、理软件系统有相应接口。1.3 定义LEM:实验室设备管理系统(Laboratory Equipment Management);2. 任务概述2.1 目标随着高校规模的扩大,实验室及仓库的增多,人工管理实验设备已变得过于低效,为了解决这一问题,高校实验室设备管理系统将实现设备管理的自动化。实验室设备管理系统将贯穿于设备从购进到报废的整个流程的管理过程,帮助管理员高效地管理整个高校的所有设备,并给上级领导提供一个审核监督管理的平台。2.2 用户的特点 此软件的使用用户为: 西安文理学院相关管理人员。因此,我们通常可以认为:用户具有较高的文化水平和学习能力,并且具有一定的计算机使用水平和经验,可以

8、了解整个LEM系统的工作流程及注意事项,与此同时对于LEM系统的基本操作,可以无困难执行。在参考用户手册的情况下可以无需进行专业培训,即可顺利使用本系统。3. 需求规定3.1 功能性需求规定3.1.1 系统整体功能层次图3.1.2 业务流程分析数据流图:流程详细说明:(1) 仓库管理员统计仓库中设备的库存量,找出库存量不足的设备,填写购买申请表,领导对此申请表进行审核,审核通过后,产生购买报表交给购买员。(2) 购买员将购买的设备及购买信息交给购买登记员,由他进行购买登记。购买登记员查询申请审核表,将设备分配到各仓库。(3) 仓库管理员对购买的设备进行入库登记,出库登记。(4) 实验室管理员负

9、责对报废的设备进行报废登记并处理,找出要维修的设备填写维修申请表,领导对维修申请表进行审核,通过后产生维修报表交给维修员,维修员将设备送交某一修理厂家进行维修。(5) 设备维修完后,交还原实验室,由实验室管理员进行维修登记。3.1.2 系统用户列表高校LEM面向五类用户:系统管理员,购买登记员,仓库管理员,实验室管理员,上级领导,这几类用户通过高校LEM系统进行设备管理上的交流,而该系统为用户提供不同的功能。【1】系统管理员1注册本系统用户;2注销本系统用户;3数据库的维护;4本人信息维护;【2】购买登记员1 将购买员提交的购买信息进行登记,记录有关设备基本信息,设备的购买信息如价格,数量等;

10、2查询领导的购买申请审核信息;3根据审核信息将购买的设备分配到相应的仓库,将有关详单提交仓库管理员,4本人信息维护。【3】仓库管理员1 根据购买登记员提交的详单进行入库登记;2 根据实验室管理员提交的详单进行出库登记;3 查询统计本仓库中的所有设备的库存量,统计出库存量不足的设备;4 根据统计信息进行购买申请。5 本人信息维护;【4】实验室管理员1 管理本实验室中各设备,找出需要维修的设备,进行维修申请;2 对于不能维修的设备,要进行报废记录;3 查询统计本实验室设备拥有量,统计出数量不足的设备,产生详单提交仓库管理员;4 对于已维修完成的设备,根据维修员提交维修单进行维修记录;5 本人信息维

11、护。【5】上级领导1 查看购买申请表,对申请进行审核,审核后产生购买订单交于购买员;2 查看维修申请表,对申请进行审核,审核后产生维修订单交于维修员;3 个人信息维护。3.2 软件系统数据字典3.21数据流条目 登陆信息输入:设备管理员输出:身份验证1描述:登陆信息=用户名+密码+登陆权限 查询信息输入:合法人员对设备的查询操作输出:设备信息表描述:查询信息=设备名/型号/类别/购置日期 维修信息输入:所需维修设备的信息输出:确定维修设备的记录描述:维修信息=设备名+修理日期+修理厂家+修理费+负责人 新设备输入:购买设备的信息输出:确定购买的新设备的记录描述:新设备=类别+设备名+型号+规格

12、+单价+数量等 报废设备输入:所需报废的设备的信息输出:报废的设备记录描述:报废设备=类别+设备名+型号等 审核信息输入:审核3输出:上级领导描述:审核信息=报废设备信息/新设备购买记录3.22加工条目身份验证1,统计查询2.1,维修2.2,购买2.3,报废2.4,生产报表3.1,审核3.23.23文件条目 登陆表输入:身份验证1输出:身份验证1数据结构:用户名+密码+登陆权限 设备基本信息表输入:统计查询2.1数据结构:类别+设备名+型号+规格等 维修记录表输入:统计查询2.1,维修2.2输出:统计查询2.1数据结构:设备名+修理日期+修理厂家+修理费+责任人等 新设备表输入:统计查询2.1

13、,购买2.2输出:统计查询2.1数据结构:类别+设备名+型号+规格+单价+数量+生产厂家+购买人等 报废记录表输入:报废2.4,统计查询2.1,生产报表3.1输出:统计查询2.1,生产报表3.1数据结构:类别+设备名+型号等 申请表输入:统计查询2.1,生产报表3.1输出:统计查询2.1,生产报表3.1,购买2.3数据结构:设备名+型号+规格+数量+负责人3.3 非功能新需求规定3.3.1 精度软件的输入精度:a.输入的数字信息,精度保留到小数点后两位。b.输入的公司或单位名称,必须是全称,不可以是简称或者是简写。e.输入的可选信息时,以下拉框内容为备选选择,不可以自行输入。3.3.2 时间特

14、性需求 对于该软件的时间特性要求为:a.响应时间:小于7秒钟;b.更新处理时间:小于6秒钟;3.3.3 灵活性该软件的灵活性的要求(即当需求发生某些变化时,该软件对这些变化的适应能力):a.运行环境的变化:可以实现跨平台操作;b.同其他软件的接口的变化:设计多元化接口,以实现与其他软件接口之间的通信;c.精度和有效时限的变化:统一修改数据精度、以及有效时限的数据库内容;3.3.4 可靠性本系统的可靠性是指:系统在规定的条件下、在规定的时间内完成规定的功能的能力。影响可靠性的操作流程有:1. 新增用户时可能出现信息无法提交的情况。2. 设备购买登记阶段,可能出现设备信息无法写入,购买信息登记错误

15、。由于本系统是LEM系统,故对于可靠性的要求较高。具体要求:1. 全部录入信息以各纸质详单,如购买详单,维修详单等为准;2. 数据的正确性需经过多方核查。3. 自动对于各种信息数据进行备份。4. 报表生成与纸质、电子报表相一致。3.4 输入输出要求输入:a. 输入数据数字信息符合输入精度要求b. 输入可选信息完全使用下拉框完成输出:a. 输出数据符合输出精度要求b. 输出数据格式字体大小统一3.4故障处理要求当服务器死机时,要求服务器必须在2小时内恢复,数据必须在3小时内恢复。4. 运行环境规定4.1 设备运行该软件所需要的硬设备,包括:【1】 处理器型号:Intel Core2;【2】 内存

16、容量:1.00G;【3】 硬盘:120G4.2 支持软件【1】 操作系统:windows2000操作系统以及以上版本;【2】 数据库:Sql Server 2008 R2版数据库【3】 MyEclipse开发工具5文化和政策需求不得引起用户文化上的冲突,不能出现敏感和不应出现的字眼和图片。符合国家基本法律法规以及最新的国家营销以及市场战略上的相关政策,不得与我国社会主义政策相违背。三:软件设计1实验室设备管理系统模块结构图2界面设计(1) 登录界面(2)任意注册管理人员登录后界面3实验室设备管理系统数据设计4管理系统其中的3个模块的详细设计 上级领导操作模块设备管理员操作模块 统功能操作模块5

17、数据库设计1. 模型图2. E-R图3. 物理实现(1) 实体表【1】 用户表(UserInfo)字段类型备注uIdVarchar(15)用户名,主键uNameVarchar(15)姓名uPasswdVarchar(15)密码uPositionVarchar(15)身份,主键【2】 仓库管理员表(StoreManagerInfo)字段类型备注uIdVarchar(15)用户名,主键sIdVarchar(15)仓库编号,外键约束于仓库表【3】实验室管理员表(StoreManagerInfo)字段类型备注uIdVarchar(15)用户名,主键lIdVarchar(15)仓库编号,外键约束于实验室

18、表【4】仓库表(StoreInfo)字段类型备注sIdVarchar(15)仓库编号,主键sNameVarchar(15)仓库名称sPlaceVarchar(15)所在校区【5】实验室表(LabInfo)字段类型备注lIdVarchar(15)实验室编号,主键lNameVarchar(15)实验室名称lPlaceVarchar(15)所在校区【5】设备表(EquipInfo)字段类型备注eIdVarchar(15)设备编号,主键eNameVarchar(15)设备名称eStandardVarchar(15)规格型号eProCompanyVarchar(15)生产厂商eTypeVarchar(1

19、5)设备类型【6】固定资产表(PropertyInfo)字段类型备注pIdVarchar(15)固定资产编号,主键eIdVarchar(15)所属设备编号,外键约束于设备表lIdVarchar(15)所在实验室编号,外键约束于实验室表(2) 关系表【1】 入库登记表(InInfo)字段类型备注eIdVarchar(15)设备编号,主键,外键约束于设备表sIdVarchar(15)仓库编号,主键,外键约束于仓库表iDateDateTime入库时间,主键iNumint入库数量【2】出库登记表(OutInfo)字段类型备注eIdVarchar(15)设备编号,主键,外键约束于设备表sIdVarcha

20、r(15)仓库编号,主键,外键约束于仓库表lIdVarchar(15)实验室编号,主键,外键约束于实验室表iDateDateTime出库时间,主键iNumint出库数量(3) 记录表【1】购买申请表(BuyApplyInfo)字段类型备注baIdVarchar(15)序列号,主键eIdVarchar(15)设备编号,外键约束于设备表smNameVarchar(15)申请人,外键约束于仓库管理员表baDateDateTime申请时间baNumInt申请数量【2】维修申请表(MaintainInfo)字段类型备注maIdVarchar(15)序列号,主键pIdVarchar(15)固定资产编号,外

21、键约束于固定资产表lmNameVarchar(15)申请人,外键约束于实验室管理员表maDateDateTime申请时间【3】购买登记表(BuyInfo)字段类型备注bIdVarchar(15)序列号,主键eIdVarchar(15)设备编号,外键约束于设备表bPriceMoney购买单价bDateDateTime购买时间bNumInt购买数量【4】维修记录表(MaintainInfo)字段类型备注mIdVarchar(15)序列号,主键pIdVarchar(15)固定资产编号,外键约束于固定资产表mDateDateTime维修时间【5】报废记录表(DiscardInfo)字段类型备注dIdV

22、archar(15)序列号,主键pIdVarchar(15)固定资产编号,外键约束于固定资产表dDateDateTime报废时间【6】 购买审核表(BuyCheckInfo)字段类型备注bcIdVarchar(15)序列号,主键baIdVarchar(15)申请序列号,外键约束于购买申请表olNameVarchar(15)审核人,外键约束于上级领导表bcDateDateTime审核时间【7】维修审核表(MaintainCheckInfo)字段类型备注mcIdVarchar(15)序列号,主键maIdVarchar(15)申请序列号,外键约束于维修申请表olNameVarchar(15)审核人,

23、外键约束于上级领导表mcDateDateTime审核时间四、编码与单元测试1、用户登录界面:package com.niit.gui_event;import com.niit.logical.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Login extends JFrame /* * */private static final long serialVersionUID = 1L;/ 控件声明private JLabel lPosition, lName, lPasswd, l

24、Title;private JComboBox cbPosition, cbName;private JPasswordField pfPasswd;private JButton bConfirm, bCancel;private Container con;private JPanel pCon;private User info;public Login() super(用户登录);/ 控件初始化con = getContentPane();lPosition = new JLabel(身 份:);lName = new JLabel(用户名:);lPasswd = new JLabel

25、(密 码:);lTitle = new JLabel(实验室设备管理系统);lTitle.setForeground(Color.RED);pfPasswd = new JPasswordField();bConfirm = new JButton(确定);bCancel = new JButton(取消);String aPosition = new String 系统管理员, 仓库管理员, 实验室管理员,购买登记员, 上级领导 ;cbPosition = new JComboBox(aPosition);int index = cbPosition.getSelectedIndex();i

26、f (index = 0) info = new Administration(); else if (index = 1) info = new StoreManager(); else if (index = 2) info = new LabManager(); else if (index = 3) info = new BuyManager(); else info = new OverLeader();/ 数组初始化pCon = new JPanel5;String cName = info.getIdByPosition(info);cbName = new JComboBox(

27、cName);for (int i = 0; i pCon.length; i+)pConi = new JPanel();public void launch() / 控件添加con.setLayout(new GridLayout(5, 1);pCon0.add(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);ad

28、d(pCon4);for (int i = 0; i pCon.length - 1; i+)con.add(pConi);/ 控件设置pfPasswd.setEchoChar(*);pfPasswd.setColumns(10);setBounds(400, 100, 400, 400);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/ 添加监听器cbPosition.addActionListener(new ListenAction();bConfirm.addActionListener(new List

29、enAction();bCancel.addActionListener(new ListenAction();pfPasswd.addKeyListener(new ListenKey();/ 定义按钮,下拉框处理器class ListenAction implements ActionListener public void actionPerformed(ActionEvent e) if (e.getSource() = bConfirm) /点击确定按钮info.setuId(cbName.getSelectedItem().toString();info.setuPasswd(ne

30、w String(pfPasswd.getPassword();info.setuPosition(cbPosition.getSelectedItem().toString();if (info.login(info) new Main(info).launch();setVisible(false);pfPasswd.setText(null); else JOptionPane.showMessageDialog(new Login(), 用户名,密码或身份错误);pfPasswd.setText(null); else if (e.getSource() = cbPosition) /

31、身份下拉框改变时int index = cbPosition.getSelectedIndex();if (index = 0) info = new Administration(); else if (index = 1) info = new StoreManager(); else if (index = 2) info = new LabManager(); else if (index = 3) info = new BuyManager(); else info = new OverLeader();String cName = info.getIdByPosition(info

32、);/刷新用户名列表cbName.removeAllItems();for (int i = 0; i cName.length; i+)cbName.addItem(cNamei); else System.exit(0);pfPasswd.setText(null);/定义键盘处理器class ListenKey extends KeyAdapter SuppressWarnings(static-access)public void keyPressed(KeyEvent e) if (e.getKeyText(e.getKeyCode().compareToIgnoreCase(ENT

33、ER) = 0) bConfirm.doClick();2、主界面:package com.niit.gui_event;import javax.swing.*;import com.niit.logical.*;import java.awt.event.*;public class Main extends JFrame /* * */private static final long serialVersionUID = 1L;private JTabbedPane tp;private JPanel p;private User info;public Main() super(实验

34、室设备管理系统);tp = new JTabbedPane();p = new JPanel8;public Main(User info)this();this.info=info;p0 = new UserManage();p1 = new EquipIn();p2 = new EquipOut();p3 = new Register(info);p4 = new Apply(info);p5 = new Checks(info);p6= new Search();p7=new PasswdModyfy(info);public void launch() tp.addTab(用户管理,

35、p0);tp.addTab(设备入库, p1);tp.addTab(设备出库, p2);tp.addTab(设备登记, p3);tp.addTab(设备申请, p4);tp.addTab(审核申请, p5);tp.addTab(统计查询, p6);tp.addTab(个人信息维护, p7);if(info instanceof Administration)tp.setEnabledAt(1, false);tp.setEnabledAt(2, false);tp.setEnabledAt(3, false);tp.setEnabledAt(4, false);tp.setEnabledAt(

36、5, false);tp.setEnabledAt(6, false);else if(info instanceof StoreManager)tp.setEnabledAt(0, false);tp.setEnabledAt(3, false);tp.setEnabledAt(5, false);tp.setSelectedIndex(1);else if(info instanceof LabManager)tp.setEnabledAt(0, false);tp.setEnabledAt(1, false);tp.setEnabledAt(2, false);tp.setEnabled

37、At(5, false);tp.setSelectedIndex(3);else if(info instanceof BuyManager)tp.setEnabledAt(0, false);tp.setEnabledAt(1, false);tp.setEnabledAt(2, false);tp.setEnabledAt(4, false);tp.setEnabledAt(5, false);tp.setSelectedIndex(3);else if(info instanceof OverLeader)tp.setEnabledAt(0, false);tp.setEnabledAt

38、(1, false);tp.setEnabledAt(2, false);tp.setEnabledAt(3, false);tp.setEnabledAt(4, false);tp.setSelectedIndex(5);getContentPane().add(tp);setSize(1280, 780);setVisible(true);addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0););3、设备申请:package com.niit.gui_event

39、;import javax.swing.*;import com.niit.logical.*;import java.awt.*;import java.awt.event.*;import com.niit.data.*;import java.sql.*;public class MaintainApply extends JPanel /* * */private static final long serialVersionUID = 1L;private JLabel lpId;private JTextField tf;private JButton bApply, bAgain

40、, bDelete;private JPanel pUp, pDown;private JTable t;private JScrollPane jsp;private User user;private LabManager lm;private MaintainApplyData maInfo;public MaintainApply(User user) super(new BorderLayout();this.user = user;lpId = new JLabel(固定资产编号);tf = new JTextField();tf.setColumns(15);bApply = new JButton(申请);bAgain = new JButton(重置);bDelete = new JButton(取消申请);pUp = new JPanel()

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

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁