实验室设备管理系统数据库课程设计
- 格式:doc
- 大小:549.00 KB
- 文档页数:19
实验设备管理系统数据库设计说明书一、概述1.数据库设计文档概述本文档为软件工程一课的设计项目《实验设备管理系统》的数据库设计说明书,具体描述《实验设备管理系统》的数据库设计,用于说明该系统在数据库存储各方面的内容,作为系统代码设计的基准文档。
2.项目简要介绍软件系统名称:实验设备管理系统项目提出:根据指导老师的选题从中选取项目目标:本系统将会很大程度上提高学校的办公效率和设备可靠性,能够精细化的管理所有实验室设备,克服实验室管理人员对实验室设备管理中存在的漏洞和疏忽。
减少管理人员的工作强度和操作复杂度,减少办公耗材避免不必要的浪费,能够真正的做到轻松高效管理整个实验室资产,真正的在技术上提高学校的现代化管理水平。
系统模式:采用客户端/服务器模式系统开发环境:Microsoft Visual Studio 2008数据库管理系统:Microsoft SQL Server 2008软件开发者:软件应用范围:大中小学校3.参考资料:《实验设备管理系统》需求说明书《数据库系统概论》(第四版)王珊萨师煊编著高等教育出版社《软件工程导论》(第5版) 张海藩编著《程序设计》二、数据库外部设计1.本数据库的应用软件及其与数据库的接口数据库软件:Microsoft SQL Server 2008系统要求建立的数据库名称:Experiment使用该数据库的应用软件:实验设备管理系统该应用软件在Microsoft Visual Studio 2008编程环境下设计,采用Microsoft Visual Studio 2008基于······的数据库访问接口技术,建立与数据库的通讯连接。
应用程序对数据库的操作,通过执行查询语句生成结果。
2.数据库管理系统SQL Server 2008 在Microsoft的数据平台上发布,可以组织管理任何数据。
可以将结构化、半结构化和非结构化文档的数据直接存储到数据库中。
设备管理系统大型数据库及应用课程设计1. 简介本文档旨在介绍设备管理系统大型数据库及应用课程设计的相关内容。
该课程设计旨在帮助学生熟悉大型数据库的设计与应用,并提供一个实际项目来综合运用所学知识。
在本文档中,我们将介绍课程设计的背景、目标、要求、实施步骤以及评价方式等内容。
通过参与这个课程设计,学生将能够加深对大型数据库与应用的理解,并提升自己的实践能力。
2. 背景设备管理系统是一个用于管理组织内部设备的重要工具。
它可以帮助组织管理设备的采购、维修、报废等流程,并提供实时的设备状态监控与查询功能。
由于设备管理系统面对的设备数量庞大、数据量巨大,因此需要使用大型数据库来存储和管理相关数据。
3. 目标通过这个课程设计,我们的目标是让学生掌握以下技能和知识点: - 熟悉大型数据库的设计原则与方法 - 理解设备管理系统的需求,并能够将需求转化为数据库设计 - 学会使用数据库管理系统来建立和维护一个大型数据库 - 掌握数据库查询语言,能够编写复杂的查询语句来满足实际需求 - 学会使用编程语言与数据库进行交互,实现设备管理系统的功能4. 课程设计要求4.1 数据库设计学生需要根据设备管理系统的需求进行数据库设计。
数据库设计包括但不限于以下几个方面: - 设备信息表:存储设备的基本信息,如设备编号、设备名称、设备类型等 - 设备状态表:记录设备的当前状态,如运行中、维修中、报废等 - 设备维修记录表:记录设备的维修历史,包括维修时间、维修人员、维修内容等 - 设备报废记录表:记录设备的报废历史,包括报废时间、报废原因等4.2 系统功能实现学生需要根据需求设计并实现以下系统功能: - 设备查询功能:用户可以根据设备编号或设备名称查询设备的详细信息 - 设备状态监控功能:用户可以实时查看设备的当前状态,并能够根据状态筛选设备 - 设备维修功能:用户可以记录设备的维修情况,并将维修记录存储到数据库中 - 设备报废功能:用户可以记录设备的报废情况,并将报废记录存储到数据库中4.3 系统界面设计学生需要设计一个用户友好的系统界面,使用户能够方便地进行查询、监控、维修与报废等操作。
*******************实践教案*******************兰州理工大学计算机与通信学院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()。
辽宁工业大学数据库应用技术课程设计说明书题目:实验室设备管理系统学院(系):软件学院专业班级:软件工程班学号:学生姓名:指导教师:佟玉军教师职称:副教授起止时间:2011.12.19-2011.12.31辽宁工业大学课程设计(论文)任务书院(系):软件学院教研室:软件工程学号111301049 学生姓名刘璐专业班级软件工程112班设计题目实验室设备管理系统设计技术参数1.题目要达到的目标:完成系统的登陆、数据的插入删除修改统计等基本操作。
2.数据库:SQLSERVER2000。
3.所使用的语言、工具:VB6.0+ SQLSERVER2000+WINDOWSXP。
4.所采用的技术、系统结构:ADO数据库联接技术,系统结构为C/S结构。
设计要求1.教师布置实习任务和要求时,不得缺席,并做好记录。
2.上机前预先把所有的源程序编写好。
3.上机时不得迟到,不得缺席,爱护设备,认真调试程序。
4.仔细查阅相关资料,认真完成思考题。
5.按要求书写设计任务书,并按要求按版打印,不得雷同。
工作量二周工作计划周一听取教师布置设计的任务及要求。
周二学生查阅相关资料,进行数据库设计。
周三至周五:详细设计与界面设计。
周一至周四程序设计与上机,调试源程序。
周五书写课程设计任务书。
参考资料《数据库应用技术》《数据库应用技术实验指导书》自编《数据库应用技术课程设计大纲》自编等指导教师评语教师:学生:说明:此表一式四份,学生、指导教师、教研室、系部各一份。
可加附页。
2011年 12 月 31目录第一章概述 (4)第二章问题定义 (5)第三章需求分析 (6)第四章数据库设计 (12)第五章界面设计 (17)第六章代码与注释 (19)参考文献 (24)第一章概述实验室设备管理系统是一个典型的信息管理系统,它可以为实验室形成一个规范的管理体系。
他的功能非常的强大,能够完成设备的购置、使用、维修、赔偿、报废等多方面功能。
系统采用VB(Visual Basic)和SQL Server 2000进行开发,VB是Microsoft公司推出的一种Windows应用程序开发工具。
实验室设备管理系统目录一、系统的开发背景与目标…………………………………………………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程序设计胡平电子科技大学出版社。
数学与计算机学院课程设计说明书课程名称: 软件工程与数据库课程设计课程代码: 6014419 题目: 设备管理系统年级/专业/班:学生姓名:学号:开始时间:2012年6月10日完成时间:2012年 6月20日课程设计成绩:指导教师签名:年月日软件工程与数据库课程设计任务书学院名称:数学与计算机学院课程代码:_6014419_ 专业:年级:一、设计题目设备管理系统二、主要内容主要数据表:设备明细帐表,设备使用单位代码表,国家标准设备分类表等。
功能模块1.实现设备的录入、删除、修改等基本操作。
2.实现国家标准设备代码的维护。
3.能够对设备进行方便的检索。
4.实现设备折旧计算。
5.能够输出设备分类明细表。
6.具有数据备份和数据恢复功能。
三、具体要求1、完成系统的需求分析通过需求分析确定系统需要处理的数据的需求,要求使用数据库的辅助设计工具(PowerDesigner等),建立业务处理模型。
2、完成系统概念结构设计概念数据模型(CDM)用于完成数据库的设计,与人和数据库平台和具体数据存储结构和工具无关。
首先选择局部应用画出分E-R图,最终形成系统的E-R图3、完成系统逻辑结构设计按照E-R图转换成关系模式的规则,将CDM转换成逻辑数据模型,并为每个关系模式设计主键、外键。
分析关系模式中的依赖关系,对关系模式规范化处理4、完成系统物理结构设计为每个关系分配存储长度,建立数据库的索引和视图,定义关系中的主码和外码,写出关系创建和查询的SQL语句。
5、编码选择你自己熟悉的开发工具完成一个DBS系统的编码工作。
源代码格式规范,注释不少于三分之一四、主要技术路线提示1.仔细阅读设计指导书内容,认真掌握任务要求→2. 需求分析→3.概念结构设计→4.逻辑结构设计→5.物理结构设计→6.编码.2.后台推荐采用SQL server或Oracle;前台开发环境不限制。
可采用ADO,ODBC,OLEDB或JDBC连接数据库,并调用系统存储过程、自定义存储过程、函数等。
1.问题描述。
本次数据结构设计要求完成的任务是实现购买员购买到设备仪器,借用人借用设备仪器并且归还,当仪器出现问题需要报废处理时进行报废这一系列管理系统。
2.系统目标和基本原则2.1 仪器设备数据库设计简介目前,各个实验室都对仪器设备管理都实行了信息化管理,仪器设备管理中主要涉及到的任务有3个方面:入库,报废,借还。
本课程设计将设计一个实验室的仪器设备管理系统,通过此课程设计将初步了解到如何设计一个完整的管理信息系统.在设备仪器管理中涉及要求大致如下:实验室对设备仪器进行入库登记和维护,当报废时应办报废手续。
借出时,由借用人填写借条,办理借用手续如前所述,当前实验室,当归还时应归还借条并办归还手续1.入库采购员到生产厂家购入指定数量规格型号的仪器设备,放入仓库,并由管理员管理以及对仪器设备进行相应的入库登记。
记录下入库的时间,采购人,经费来源仪器设备的数量等等。
2.报废当设备仪器由于人为损坏或者使用期限已到而不能继续使用,则要做相应的报废处理,并做报废登记手续,记录下报废的仪器设备的名称,规格,型号,数量,报废原因和报废日期等等。
3.借用当有关单位或者个人要借用该实验室的仪器设备时,需要进行相应的借用登记。
并记录下借用人或者单位,借用的仪器的规格型号数量,借用的日期,归还日期以及批准人等。
2.2 数据需求根据系统的需求,首先将要记录的信息分类,要记录的信息如:入库单:(代码、院内编号、名称、规格、型号、单价、数量、金额、生产厂、购入单位、采购员、管理员、入库日期、经费来源、批准人)报废单:(代码、院内编号、名称、规格、型号、单价、数量、报废原因、批准人、管理员、报废日期)借条:(代码、院内编号、名称、规格、型号、单价、数量、借用日期、拟还时间、借用人、批准人、管理员、设备状况)2.3 事务需求经过实际考察、咨询和分析,高等院校图书管理系统主要应该具有以下功能模块:(1)入库信息部分要求如下1.根据入库单可以得出以下信息,可以知道采购员的信息采购的仪器设备的信息(包括名称、规格、型号、单价、数量,金额等);采购的信息(采购的时间等)以及入库时的信息等等。
目录前言 0正文 02.1选题的目的和意义 02.2设备管理系统数据库总体方案设计 (1)2.3设备管理系统数据库需求分析 (2)2.4系统功能设计 (2)2.5 概念结构设计 (5)2.5.1全局E-R设计 (8)2.5.2概念结构的实现 (9)2.5.3物理结构的实现 (10)2.6数据库的实施与测试 (11)2.6.1数据库添加数据 (12)2.6.2测试 (13)2.7小结 (16)参考文献 (17)前言一个现代化的实验室设备系统在正常运行中总是面对大量的使用者,仪器以及两者相互作用产生的借用仪器。
人工管理既浪费人力物力财力,又容易导致各种错误的发生。
为了方便实验室管理,得开发一个更好更高效的软件来管理。
实验室管理系统,是为了实现实验室管理而设计的,它也是现在各个部门的一个重要环节。
正文2.1选题的目的和意义实验室是所有高校、研究机构必不可少的基本构成单位。
特别是高校,实验室的设备管理需要一套稳定、高效的管理办法。
就我校情况看来,目前我校的实验室设备管理还处于较原始的手工阶段,缺少一套实用可靠的管理系统软件。
随着电气化教学和无纸化办公的一步步完善,利用计算机管理系统管理我校的实验室设备势在必行。
因此,本项目拟开发一个实验室设备管理系统。
本系统将建立一个实验室设备管理平台,记录实验室所有的实验设备,并及时反应设备的运转状况,使用情况,以供本科生和研究生及其他试验人员合理的安排实验,达到工作效率的最优。
高校设备管理系统的开发,其目的是要将先进的管理技术运用到高校设备的管理中来。
设备管理系统不但能完成高校设备的日常管理工作,还可以及时向各级领导、上级主管部门提供报表、数据信息,为领导的决策提供一定的参考。
通过该系统的实施,逐步把高校设备信息统一规化,使之能更好地为教育事业服务。
具体包括:1.上级主管部门可以对所采集的设备进行汇总、统计、查询等,并形成各种有价值的信息,实现高校设备信息宏观和微观的动态管理;2.高校能方便、快捷地上报设备信息,以便上级主管部门可及时了解、汇总各高校设备信息的情况。
3.共享的设备信息可通过web对外发布,实现浏览查询。
4.系统应该具有一定伸缩性,能有效地集成其他系统;而且系统后台可采用不同操作系统和多种数据库系统。
5.系统数据安全,具有良好的权限管理机制。
6.应该具有一定的通用性、灵活性、实用性和可靠性,以满足高校对设备信息管理的要求。
2.2设备管理系统数据库总体方案设计一个完备的实验室设备管理信息系统具有以下优越性:方便校领导查询实验室设备的使用情况,节省时间,可以提高系统的工作效率和准确率。
为了适应新形势的发展,我进行了这一系统的初步设计工作,也可以说是做一个初步的探索,希望它能够在查询实验室设备信息时发挥高效、便捷的作用,把系统管理员从繁重的工作中解脱出来!该实验室设备管理信息系统是以SQL server数据库为后台核心应用、以服务为目的信息平台,对资源进行科学的加工整序和管理维护,为实验室设备信息提供管理。
管理员可以对实验室设备信息进行查询及相关实验室设备的使用情况查看。
管理员可以根据本人用户名和密码登录系统。
在信息系统中,后台数据库存储的地位相当重要,数据库的设计不但对数据的操作速度有影响,还直接关系到软件系统的质量和生存周期。
本系统采用了SQL数据库book,book库中包括教师信息表、借用设备表、仪器表、用户登陆表。
系统首先必须维护实验室中详细资料的数据表,程序能对该表进行写入和读出数据的操作,相应的,该表还有记录读者的借用情况,系统通过该表判断读者是否满意借用条件。
系统还要管理员信息表,记录管理员的资料,检验管理员的登陆,管理员的权限等。
由于网站采用的是B/S结构服务体系即客户端——应用服务器——数据库服务器三层体系结构。
在这种结构中,Web浏览器作为客户层,提供图形用户界面,负责与用户进行交互。
它通过HTTP协议从应用层的HTTP月及务器下载超文本页面,同时下载并执行内嵌在页面中的客户端程序或中间代码(如JAVA字节码)。
这些客户端程序能通过内部通信机制向应用服务器中有关服务对象发出请求。
服务对象封装了相关的业务逻辑,它们之间可通过内部协议彼此通信,并能访问数据层的数据库对象或其它的应用程序,以协同完成客户请求2.3设备管理系统数据库需求分析鉴于高校设备管理的现状以及设备管理信息化的要求,开展计算机辅助设备管理,并在此基础上为上级部门进行决策分析提供帮助,极大地提高了设备管理的工作水平和信息化水平。
系统分析阶段开展的主要工作包括:收集和分析系统需求、提供系统说明书等。
系统需求分析就是通过系统调查,了解用户实际需求,进行系统分析,提炼出系统需求。
业务流程是系统设计的关键,要开发一个系统,必须确定系统的功能需求,这就必须先了解实际的业务流程,从业务流程中分析系统的需求。
设备信息是系统进行管理的主线,它描述了设备的基本情况,主要包括:设备名称、设备编号、分类号、型号、规格等;编码设计应完全符合国家信息标准。
系统工作流程主要是用户进行设备信息的入库以及维护处理。
不同权限的用户进行不同的工作操作,具有不同的工作流程。
通常信息管理系统按照对信息的操作,将系统划分为:数据采集、数据处理、数据传输以及系统维护等功能组成部分。
所以,通过综合分析,本系统主要需求有:1.设备基本信息的收集与处理;2.设备基本信息的存储与维护;3.能方便、快捷地上报设备信息;4.能进行查询统计并形成各种有价值的信息;5.具有一定的报表处理功能;6.将共享的设备信息对外发布,实现浏览查询;7.有辅助系统进行系统的管理与维护。
2.4系统功能设计在充分分析设备管理需求的基础上,结合信息系统所要达到的目标,以设备日常管理、数据采集与上报需求为重点,确定了系统的总体功能结构。
系统主要由设备信息管理、数据采集与上报、信息发布、系统管理等四个子系统组成。
每个子系统又由多个模块构成,各模块之间相对独立实现不同的处理功能,但相互之间又能很好地联系起来。
下面简单介绍各子系统功能设计。
信息管理子系统主要包括信息录入、信息修改、信息查询、信息统计、打印报表等模块。
数据录入模块:主要包括设备数据的录入,采取灵活、简捷、快速的输入方式来减轻用户繁重的输入数据的工作。
如对具有相同属性的多条记录可通过成批录入方式一次录入完成;对一些数据项可进行实时校验。
数据修改模块:对所有录入的数据均可进行修改,其主要特色如下:只有拥有相应权限的用户才能修改数据,从而保证了重要数据的安全性;为了保持数据的一致性,对于一些关键参数不能直接修改,系统应自动保持其正确性。
数据字典如下表:设备信息表的设计如下表:表2.4.1 设备信息表教师信息表的设计如下表:表2.4.2 教师信息表借用设备表的设计如下表:表2.4.3 借用设备表损坏设备表的设计如下表:表2.4.4 损坏设备表报废设备表的设计如下表:表2.4.5报废设备表归还设备表的设计如下表:表2.4.6归还设备表管理员表的设计如下表:表2.4.7 管理员表2.5 概念结构设计实体和属性的定义。
E-R模型的“联系”用于刻画实体之间的关联。
一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。
若有联系,进一步确定是1:N,M:N,还是1:1等,还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系等等。
1)实验室设备信息E-R图,如下图所示。
图5.0.1室设备信息E-R图2)使用设备的教师信息E-R图,如下图所示。
图5.0.2备的教师信息E-R图3)借用设备E-R图,如下图所示。
图5.0.3 借出设备E-R图4)归还设备E-R图,如下图所示。
图5.0.4归还设备E-R图5)报废设备E-R图,如下图所示。
图5.0.5废设备E-R图6)损坏设备E-R图,如下图所示。
图5.0.6 损坏设备E-R图7)管理员E-R图,如下图所示。
图5.0.7 管理员E-R图2.5.1全局E-R设计所有局部E-R模式都设计好后,接下来就是把它们综合成单一的全局概念结构。
全局概念结构不仅要支持所有局部E-R模式,而且必须合理的表示一个完整、一致的数据库概念结构。
如下图所示。
图5.1系统总体E-R图E-R图模型转成关系模型:设备信息(设备编号,设备名称,价格,生产厂家,设备数量,借出数量,备注,设备状况,启用日期,报废数量)借用设备(设备编号,设备名称,借用人,借用数量,用途,借用日期,归还日期,经手人,备注)教师信息(教师姓名,性别,教师学历,权限类别,电话号码,登记日期,部门名称)管理员(用户名,密码,权限)损坏设备(设备编号,设备名称,设备型号,设备类别,单价,数量,规格,生产厂家,损坏负责人,损坏程度)报废设备(设备编号,设备名称,设备型号,规格,数量,单价,生产厂家)归还设备(设备编号,设备名称,设备型号,规格,数量,单价,生产厂家,借出日期,何人借出)2.5.2概念结构的实现根据实验室设备管理系统初步规划需要实现的各项实际功能,由其实体及其相互间的联系,在Power designer 中完成了实验室设备管理系统的逻辑结构设计,设计好的逻辑结构图如图5.2所示:图5.2概念结构图2.5.3物理结构的实现根据设计好的基本E-R图在Power designer 中完成了实验室设备管理系统的物理数据模型,设计好的模型如图5.3示。
图5.3物理结构图2.6数据库的实施与测试使用逻辑结构和物理结构生成数据库代码,在SQL Server中新建一个论坛会员管理系统的数据库,打开该数据库,使用查询分析器,输入数据库代码生成数据库表格。
结果如下图所示,在生成SQL语言后就可以打开SQL server 2000 然后新建数据库taoenlei。
如图6.0.1所示:图6.0.1 新建数据库打开该数据库,使用查询分析器,输入数据库代码生成数据库表格。
结果如下图 6.0.2所示,图6.0.2 数据库表打开SQL查询分析器后,然后利用powerdesigner工具设计好的PDM生成SQL代码在粘进命令输入框中,然后点测试、运行结果如图6.0.3所示:图6.0.3 运行SQL代码2.6.1 数据库添加数据数据库生成好后,就可以添加数据了,打开企业管理器,找到我新建的数据库,然后展开数据库,可以看到表的选项,然后打开表,可以看到由代码生成的几个表。
(1)打开管理员表,输入结果如下图6.1.1所示:图6.1.1 使用设备的教师信息(2)打开借用设备表,向最新消息表中添加数据,结果如下图6.1.2所示:图6.1.2 借用设备表(3)打开实验室设备信息表,向设备信添加数据,结果如下图6.1.3所示:图6.1.3 实验室设备信息表(4)打开归还设备表,向归还设备表添加数据,结果如下图6.1.4所示:图6.1.4 归还设备表(5)打开报废设备表,向报废设备表添加数据,结果如下图6.1.5所示:图6.1.5 报废设备表(6)打开损坏设备表,向损坏设备表添加数据,结果如下图6.1.6所示:图6.1.6 损坏设备表(7)打开管理员表,向管理员表中添加数据,结果如下图6.1.7所示:图6.1.7 管理员表2.6.2测试(1)管理员表的修改添加:alter table 管理员add 年龄smallintselect *from 管理员运行结果如图6.2.1图6.2.1 (2)实验室设备表查询:select *from 实验室设备信息运行结果如图6.2.2图6.2.2 (3)报废设备信息表的查询:Selece *From 报废设备信息表运行结果如图6.2.3图6.2.3 (4)使用条件查询:select*from 管理员where 用户名='李旭'运行结果如下图6.2.4图6.2.4 (5)数据库修改:updata 管理员set 用户名='李旭'where 年龄='26';运行结果如下图6.2.4(6)查询管理员表select *from 管理员查询管理员表发现管理员表中已经添加年龄“字段”。