实验室设备管理系统实验报告1讲解
设备管理学实验报告
一、实验模块设备管理学实验二、实验标题设备管理学实验报告三、实验目的1. 了解设备管理的基本概念、原则和方法。
2. 掌握设备管理的各项指标及其计算方法。
3. 培养实际操作能力,提高对设备管理的认识。
四、实验内容1. 设备管理的基本概念设备管理是指对企业的生产设备进行有效的组织、计划、实施、控制和改进的过程。
主要包括设备的选择、采购、安装、调试、维护、保养、更新和报废等环节。
2. 设备管理的原则(1)经济效益原则:在保证设备性能的前提下,降低设备投资成本,提高设备使用效率。
(2)技术先进原则:选择具有先进技术、高性能、低能耗的设备。
(3)安全可靠原则:确保设备在运行过程中安全可靠,防止事故发生。
(4)经济性原则:在设备管理过程中,注重经济效益,降低设备维修成本。
3. 设备管理的指标(1)设备完好率:指设备处于良好状态的比例。
(2)设备利用率:指设备实际使用时间与设备总时间的比值。
(3)设备维修率:指设备维修次数与设备总次数的比值。
(4)设备故障率:指设备故障次数与设备总次数的比值。
4. 实验步骤(1)收集企业设备管理相关数据。
(2)计算设备完好率、设备利用率、设备维修率、设备故障率。
(3)分析设备管理现状,找出存在的问题。
(4)提出改进措施,提高设备管理水平。
五、实验过程1. 收集企业设备管理相关数据本次实验以某企业为例,收集了该企业设备管理方面的数据,包括设备种类、数量、设备投资、设备维修、设备故障等。
2. 计算设备管理指标根据收集到的数据,计算设备完好率、设备利用率、设备维修率、设备故障率。
(1)设备完好率:设备完好数/设备总数 = 80/100 = 0.8(2)设备利用率:设备实际使用时间/设备总时间 = 0.9(3)设备维修率:设备维修次数/设备总次数 = 0.05(4)设备故障率:设备故障次数/设备总次数 = 0.13. 分析设备管理现状通过对设备管理指标的分析,发现该企业在设备管理方面存在以下问题:(1)设备完好率较低,说明设备维护保养不到位。
实验设备管理系统c语言版
printf("**********************************************************\n");
printf("请输入要修改的设备编号:\n");
scanf("%s",code); /*输入要修改的设备编号*/
printf("------------------------------------\n");
}
fclose(fp);
printf("\n-----------------------\n");
printf("返回主菜单 \n");
printf("1.是\n");
printf("2.不,退出\n");
scanf("%d",&c);
if(c==1)return(-1);
if(c==2)return(0); /*任务结束选择是返回主菜单还是跳出*/
实验室设备信息用文件存储,故要提供文件的输入输出操作;要能够完成设备的录入和修改,需要提供设备添加和修改操作;实现对设备进行分类统计,需要提供排序操作;实现对设备的查询需要提供查找操作;另外还要提供键盘式选择菜单以实现功能选择总体设计
整个系统被设计为实验设备信息输入模块、实验设备信息添加模块、实验设备信息修改模块、实验设备分类统计模块和实验设备查询模块。
{
if((fp=fopen("","r"))==NULL)
{printf("\n不能打开文件!\n");}
设备管理系统分组实验报告
设备管理系统分组实验报告
实验名称:设备管理系统分组
实验目的:
1.了解设备管理系统的分组功能;
3.学习如何将设备进行分组管理。
实验步骤:
1.登录设备管理系统账号;
2.打开设备管理系统界面,找到分组管理功能;
3.点击创建新分组,输入分组名称和描述信息;
4.确认创建,系统会自动创建一个新的分组;
6.点击删除分组,系统会要求确认删除分组;
7.在分组管理界面,可以看到已创建的分组列表;
8.在分组列表中选择一个分组,点击进入该分组的设备列表;
9.在设备列表中,可以选择需要加入该分组的设备,点击确认;
10.设备成功加入分组后,可以在设备管理界面中找到该分组。
实验结果:
实验总结:
在实验过程中,我们还学习了如何将设备加入分组。
通过选择需要加入分组的设备,可以快速将设备归类管理。
这样一来,我们可以更好地掌控设备的工作状态和运行情况,提高了设备的运维管理能力。
综上所述,设备管理系统的分组功能对于设备管理十分重要。
通过分组功能,我们可以更好地对设备进行分类和管理,提高了设备管理的效率和可靠性。
在今后的实际工作中,我们将充分利用设备管理系统的分组功能,对设备进行科学、有效的管理。
实验室设备管理系统测试报告
实验室设备管理系统测试报告1. 引言实验室设备管理系统是一个用于方便管理和追踪实验室设备的系统。
本测试报告旨在对实验室设备管理系统进行全面的测试和评估,以确保其功能和性能符合预期要求。
2. 测试目标本次测试的主要目标是确保实验室设备管理系统的各项功能正常工作,并对其性能进行评估和优化。
具体测试目标包括:•验证系统的用户注册和登录功能是否正常•测试设备信息录入和管理功能的准确性和可靠性•测试设备借用和归还功能的可靠性和安全性•评估系统对设备维护和损坏的管理能力•测试系统的报表生成和导出功能3. 测试方法本次测试使用了黑盒测试方法,即基于对系统的需求和功能进行测试,而不关注系统的内部实现细节。
测试方法主要包括以下几个方面:3.1 功能测试通过设置不同的测试用例,测试系统在各种场景下的功能是否符合预期要求。
测试用例的设计依据包括系统需求文档、功能设计文档以及用户使用场景,确保覆盖各个功能点。
3.2 性能测试对系统的性能进行评估,包括系统的响应速度、并发能力以及负载能力等。
通过模拟大量用户同时进行设备借用和归还操作,测试系统在高负载情况下的性能表现。
3.3 用户体验测试对系统的用户界面和操作流程进行评估,测试系统是否易于使用和理解。
通过收集用户的反馈意见和建议,优化系统的用户体验。
3.4 安全性测试针对系统的用户验证、权限管理以及数据安全等方面进行测试,确保系统的安全性符合要求。
测试方法包括尝试非法登录、越权访问等操作,以验证系统的安全性。
4. 测试结果4.1 功能测试结果功能测试覆盖了系统的全部功能点,并通过了所有测试用例。
系统在用户注册和登录、设备信息录入和管理、设备借用和归还、设备维护和损坏管理以及报表生成和导出等方面表现良好,功能正常,没有发现明显的缺陷。
4.2 性能测试结果经过性能测试,系统在正常负载情况下的响应速度良好,无明显卡顿现象。
在高负载情况下,系统性能仍保持稳定,无明显延迟。
系统的并发能力和负载能力符合预期要求。
实验室设备管理系统详解
打开数据库,打开维修记录表,写入维修记录表
在程序窗体上显示已记录 ELSE 在窗体上显示请输入设备名,并显示一个文本框
sName = 文本框内容 打开数据库,打开维修记录表 用 sName 对维修记录表的设备名列的项进行比较 IF 找到相关项与 sName 相等,将该项的相关信息显示到程序的窗体上。 ELSE 在程序窗体上显示“没有找到相关设备” 3.3 数据库相关信息
表 1.3 维修记录表
列名
数据类型
长度
允许空列名
设备型号
varchar
10
not null
设备名
varchar
20
not null
维修日期
datetime
8
null
维修厂家
varchar
2、管理系统模块功能,接口的描述
1、高级管理员操作模块 (1)模块名称:购买审核模块。 (2)模块功能:对因其他原因的需要进行增加设备情况来进行相应的操作。 (3)模块背景描述:对因其他原因的需要进行增加设备情况来进行相应操作。 (4)接口:申请处理接口 2、设备管理员操作模块 (1)模块名称:设备管理模块。 (2)模块功能:对一些损坏的设备进行调查并采取更换设备或进行维修等 操作。对一些已经损坏并不能进行维修的设备进行移除和作废处理等操作。 (3)模块背景描述:用户必须是设备管理员才能填写设备管理表,只有授 权的设备管理员才有资格对正式的设备管理表进行增加、修改、删除、查询和系 统维护等操作。
实验室设备管理系统实验
实验室设备管理系统实验在今天的实验中,我们首先通过系统进行了设备信息的录入,包括设备名称、型号、购买时间、保修期限等基本信息。
然后我们模拟了实验室中设备的借用和归还过程,通过系统可以轻松地记录设备的借用人员、借用时间以及归还时间。
接着,我们进行了设备维护记录的录入,包括设备的维护内容、维护时间、维护人员等信息。
同时,系统还可以生成设备的维护提醒,提醒实验室管理者对设备进行定期的维护和保养。
最后,我们还测试了系统的数据查询和统计功能,可以根据不同的条件查询设备的借用记录、维修记录等信息,并生成相关统计报表,方便实验室管理者对设备的使用情况进行分析和管理。
通过今天的实验,我们发现实验室设备管理系统具有很强的灵活性和可扩展性,可以根据实验室的具体需求进行定制,并能够帮助实验室管理者更好地管理和维护实验室设备。
希望在未来的实验中,我们可以进一步完善系统,并将其应用到实际的实验室管理中。
很好,让我们继续向实验室设备管理系统的实验深入进行。
在前面的实验中,我们已经了解了系统的录入、借还、维护记录的功能,接下来,我们将进一步测试系统的安全性和可靠性,以确保系统能够在实际应用中稳定运行。
首先,我们对系统的数据安全性进行了测试。
实验室设备管理系统中包含了大量的设备信息、借还记录和维护记录等敏感数据,因此数据的安全性至关重要。
我们模拟了系统中的数据备份和恢复操作,检查系统是否能够正确进行数据备份,并能够在需要时正确恢复数据。
通过测试,我们发现系统能够稳定地进行数据备份和恢复,保障了数据的安全性。
接着,我们测试了系统的用户权限管理功能。
实验室中常常有多个不同权限的用户,比如实验室管理员、普通员工等,他们对系统中的功能和数据访问权限是有所区别的。
我们通过模拟不同权限的用户登录系统,并测试他们在系统中所能进行的操作。
测试结果表明,系统对不同权限的用户进行了有效的权限管理,保障了系统的安全性。
此外,我们还对系统的稳定性进行了测试。
实验设备管理系统实验报告
目录:“数据库应用课程设计”任务书 (2)一、需求分析 (5)1.设计目的 (5)2.设计任务 (5)3.设计要求 (5)二、需求说明 (6)三、概念结构设计 (8)1.登陆状态图 (8)2.总体ER图 (9)四、数据库设计 (9)1.逻辑结构设计 (9)2.数据字典 (9)3. 数据库的创建和数据的载入 (10)五、详细设计 (11)1.用户登录模块 (12)2.系统菜单 (13)3.设备资料信息管理模块 (13)4.设备保养管理模块 (14)5.设备使用信息管理模块 (15)6.设备报损管理模块 (16)7.统计 (16)六、总结 (17)七、主要参考资料 (18)“数据库应用课程设计”任务书一、需求分析1.设计目的(1)能运用所学“数据库原理及应用”以及“数据库设计与维护”课程的理论知识,分析并解决实际问题。
(2)掌握数据库设计的基本方法和步骤。
(3)掌握针对实际问题如何规划、管理和维护数据库的过程。
2.设计任务学院实验中心拥有大量的教学、实验设备。
为了加强对设备进行维护和保养的管理,提高学院设备的管理效率,需要设计数据库系统,从而能够为实验中心领导及管理人员的决策提供全面、准确的信息数据。
请设计合理的数据库表结构并实现该系统,用以管理设备的维护保养及使用信息。
(1)系统主要功能如下:●设备资料管理:对设备的基本信息进行管理,记录一些设备的相关资料信息,例如,编号、名称、价格、技术参考资料、技术资料、设备供货厂商、备件购置厂商等;●设备分类管理:对设备进行分类,并对分类信息进行管理;●设备使用管理:对设备的使用情况进行管理,例如:编号、使用人、使用开始时间、使用结束情况,设备完好情况等;●设备保养管理:对设备的保养信息进行管理,例如,设备保养计划、设备保养记录、本月保养计划、未完成保养清单等;●设备报损管理:对设备损坏报告情况进行管理,并要对这些报损的设备进行分类;●统计功能:能够统计设备的总价值、能够正常使用的设备等信息进行管理。
实验室设备管理系统(优秀范文5篇)
实验室设备管理系统(优秀范文5篇)第一篇:实验室设备管理系统任务书1、课程设计题目实验室设备管理系统2、设计任务和内容一个小型的实验室设备管理系统的主要目的是方便实验室管理人员进行有效的设备管理工作,该小型应用系统应能让实验室管理人员进行登记设备的新进、修理、报废借用、归还等信息。
并就对这些信息,进行相应的查询统计处理。
能够保证对实验室设备情况进行实时的反映。
本课题任务是开发一个小型的实验室设备管理系统,并撰写符合规范的课程设计说明书以体现设计过程和设计结果。
3、设计步骤和要求设计步骤:首先进行相关资料查阅和学习,了解基本的业务流程和系统数据功能要求。
然后结合软件工程的理论和教材中数据库设计的六个阶段(重点是前三个阶段)完成设计任务,即系统结构设计(需求分析、概念结构设计、逻辑结构设计、物理结构设计)和系统功能设计。
设计要求:1、撰写课程设计说明书。
其要求如下:(1)基本要求:① 能反映完成了上述设计内容要求。
② 要求撰写不少于5000个文字(20页)的文档。
③ 文档中至少要包括:数据流图、数据字典、E-R图、数据库表的详细说明、系统功能结构图、主要功能模块说明。
④ 课程设计说明书一律用碳素墨水书写,其中用户界面设计可以附界面的计算机截图或手工绘图。
(2)文档格式要求(遵循数据库原理及应用课程设计大纲上的要求)其中,正文部分:①分章、层次等,每一章从新一页开始。
②章节安排可如下安排.概述:包括项目背景、编写目的、软件定义、开发环境等内容。
.需求分析:问题陈述、需完成的功能。
以数据流图和数据字典表达。
.概念结构设计:将上述需求分析的成果抽象为ER模型图。
.逻辑结构设计:把ER模型图转换为关系表;描述每一个基本表关系。
并进行规范化;定义视图、定义索引、主关键字、定义权限。
.软件功能设计:画出系统功能结构图,描述每个功能所完成的任务。
.代码设计和界面设计:给出主要功能的代码并有适当的说明;界面设计要合理,给出主要界面。
实验室设备管理系统实习报告
实习报告实习时间:xxxx年xx月xx日至xxxx年xx月xx日实习单位:xxxx大学计算机科学与技术实验室实习内容:实验室设备管理系统设计与实现一、实习背景随着信息化技术的快速发展,高校实验室作为科研和教学的重要基地,其设备管理显得尤为重要。
为了提高实验室设备的管理效率,降低设备维护成本,提升实验室的整体服务水平,我选择了实验室设备管理系统作为实习项目。
在实习期间,我在导师的指导下,学习和了解了实验室设备管理系统的需求分析、系统设计、数据库设计、系统实现和测试等环节。
二、实习过程1. 需求分析在需求分析阶段,我通过与实验室管理人员和师生的交流,了解到实验室设备管理系统需要实现设备信息管理、设备采购管理、设备借用管理、设备维修管理、统计报表等功能。
同时,为了提高系统的易用性,还需要实现用户注册、登录、权限管理等功能。
2. 系统设计在系统设计阶段,我根据需求分析结果,设计了系统的总体架构,分为前端展示层、业务逻辑层和数据访问层。
在前端展示层,我选择了Vue.js框架,实现了设备信息浏览、设备采购申请、设备借用申请、设备维修申请等功能。
在业务逻辑层,我使用Spring Boot框架,处理业务请求,实现设备信息的增删改查、设备采购、设备借用、设备维修等业务逻辑。
在数据访问层,我使用MySQL数据库,存储设备信息、用户信息、采购信息、借用信息等数据。
3. 数据库设计在数据库设计阶段,我根据系统需求,设计了设备信息表、用户信息表、采购信息表、借用信息表、维修信息表等。
设备信息表包括设备编号、设备名称、设备类型、设备购置时间等字段;用户信息表包括用户ID、用户名、密码、角色等字段;采购信息表包括采购编号、设备编号、采购金额、采购时间等字段;借用信息表包括借用编号、设备编号、借用时间、归还时间等字段;维修信息表包括维修编号、设备编号、维修时间、维修费用等字段。
4. 系统实现在系统实现阶段,我根据系统设计,使用Java语言和Spring Boot框架,实现了设备信息管理、设备采购管理、设备借用管理、设备维修管理等模块。
实验设备管理系统程序报告
实验设备管理系统程序报告1. 引言实验设备管理系统是一个用于管理和跟踪实验室设备的程序。
该系统的目标是提高实验室设备的使用效率和管理效果。
本报告将详细讨论该系统的设计、实施和运行情况。
2. 设计实验设备管理系统的设计在满足实验室设备管理需求的基础上,注重易用性和灵活性。
以下是系统的主要设计要点:2.1 数据库设计系统采用关系数据库来存储实验设备信息,包括设备名称、型号、购买日期、购买价格、使用状况等。
数据库的设计采用了实体-关系模型,确保了数据的一致性和完整性。
2.2 用户界面设计系统的用户界面简洁直观,方便用户进行设备管理操作。
主要界面包括设备列表、设备详情、设备借用申请等。
用户可以轻松地浏览、搜索和编辑设备信息。
2.3 设备借用流程设计系统实现了设备借用的流程管理。
用户可以提交设备借用申请,管理员审核通过后,设备可以借用一段时间。
在借用期间,系统会自动提醒用户归还设备。
3. 实施实验设备管理系统的实施分为以下几个步骤:3.1 硬件和软件需求为了运行该系统,需要一台支持数据库运行的服务器,并安装合适的数据库软件。
此外,用户需要具备一台电脑或移动设备来访问系统的用户界面。
3.2 系统安装系统的安装包可以从内部的软件仓库中下载。
安装过程简单,用户只需按照提示进行操作即可。
3.3 数据库初始化在安装完成后,需要进行数据库的初始化。
管理员需要创建数据库表和初始数据,以便系统能够正常运行。
3.4 用户注册和权限设置新用户需要注册账号,并指定账号的权限。
管理员拥有最高权限,可以对设备进行编辑和审批操作。
3.5 系统使用培训为了让用户能够熟悉系统的使用,可以组织培训课程。
培训内容包括登录、设备浏览、设备借用等基本操作。
4. 运行情况实验设备管理系统自投入使用以来,取得了良好的运行效果。
以下是系统运行情况的主要方面:4.1 设备管理效率提高借助该系统,实验室设备的管理效率得到了显著提高。
管理员可以通过系统追踪设备的使用情况,并对设备进行统一管理。
设备管理_实验报告
一、实验目的1. 理解设备管理的概念和作用。
2. 掌握设备管理的基本原理和方法。
3. 熟悉设备管理的常用命令和操作。
4. 培养实际操作和问题解决能力。
二、实验环境1. 操作系统:Windows 102. 软件环境:设备管理器3. 硬件设备:计算机三、实验内容1. 设备管理概述(1)设备管理的定义:设备管理是操作系统中的一个重要模块,负责管理计算机的硬件设备,包括设备的初始化、检测、驱动程序安装、资源分配、设备状态监控和故障处理等。
(2)设备管理的功能:提高设备利用率、优化系统性能、保障系统稳定运行。
2. 设备管理器操作(1)打开设备管理器:在“控制面板”中搜索“设备管理器”,或通过“运行”窗口输入“devmgmt.msc”打开。
(2)查看设备状态:在设备管理器中,可以查看计算机上安装的所有硬件设备,包括已安装的、正在使用的、已禁用的和有问题的设备。
(3)启用/禁用设备:通过右键点击设备,选择“启用”或“禁用”来控制设备的开关状态。
(4)更新设备驱动程序:右键点击设备,选择“更新驱动程序”,然后根据提示操作。
(5)卸载设备:右键点击设备,选择“卸载”,然后确认卸载。
3. 设备管理命令(1)列出设备:使用“dir”命令查看当前计算机上安装的设备。
(2)查看设备属性:使用“wmic”命令查看设备的详细信息,如型号、序列号、驱动程序等。
(3)安装设备:使用“devcon”命令安装设备驱动程序。
4. 实际操作案例(1)案例一:安装新设备1. 将设备(如USB鼠标)插入计算机。
2. 设备管理器自动检测到新设备,并提示安装驱动程序。
3. 根据提示完成驱动程序安装。
(2)案例二:更新设备驱动程序1. 在设备管理器中找到需要更新驱动程序的设备。
2. 右键点击设备,选择“更新驱动程序”。
3. 根据提示完成驱动程序更新。
四、实验结果与分析1. 通过实验,掌握了设备管理的概念、功能和方法。
2. 熟悉了设备管理器的基本操作,能够对设备进行启用、禁用、更新驱动程序等操作。
实验管理系统实验报告
一、实验目的1. 了解实验管理系统的基本功能和使用方法;2. 学会使用实验管理系统进行实验数据的录入、查询、统计和分析;3. 提高实验数据的处理和分析能力;4. 培养团队协作和沟通能力。
二、实验环境1. 操作系统:Windows 102. 浏览器:Chrome3. 实验管理系统:XX实验管理系统三、实验内容1. 登录实验管理系统2. 实验数据录入3. 实验数据查询4. 实验数据统计5. 实验数据导出6. 实验数据分析四、实验步骤1. 登录实验管理系统(1)打开浏览器,输入实验管理系统的网址;(2)输入用户名和密码,点击“登录”按钮。
2. 实验数据录入(1)进入实验管理系统,选择“实验数据录入”模块;(2)根据实验要求,填写实验数据,包括实验名称、实验时间、实验人员、实验设备、实验结果等;(3)点击“保存”按钮,完成实验数据录入。
3. 实验数据查询(1)进入实验管理系统,选择“实验数据查询”模块;(2)根据需要,输入查询条件,如实验名称、实验时间、实验人员等;(3)点击“查询”按钮,查看实验数据列表;(4)选择需要查看的实验数据,点击“查看详情”按钮,查看实验数据详细信息。
4. 实验数据统计(1)进入实验管理系统,选择“实验数据统计”模块;(2)根据需要,选择统计指标,如实验次数、平均成绩、优秀率等;(3)点击“统计”按钮,查看统计结果;(4)根据统计结果,分析实验数据。
5. 实验数据导出(1)进入实验管理系统,选择“实验数据导出”模块;(2)选择需要导出的实验数据,点击“导出”按钮;(3)选择导出格式,如Excel、CSV等;(4)点击“确定”按钮,完成实验数据导出。
6. 实验数据分析(1)根据实验数据统计结果,分析实验数据;(2)结合实验目的,提出改进建议;(3)撰写实验报告。
五、实验结果与分析1. 实验数据录入:通过实验管理系统,成功录入实验数据,包括实验名称、实验时间、实验人员、实验设备、实验结果等。
实验室设备管理系统实验报告1
本科实验报告课程名称:软件工程导论实验项目:实验室设备管理系统实验地点:实验楼210专业班级:软件1319 学号:********** 学生姓名:***指导教师:***2015年05 月21 日一、实验目的和要求1.系统简介某大学每学年都需要对实验室设备使用情况进行统计、更新。
其中:(1)对于已彻底损坏的实验设备做报废处理,同时详细记录有关信息。
(2)对于有严重问题(故障)的需要及时修理,并记录修理日期、设备名、编号、修理厂家、修理费用、责任人等。
(3)对于急需使用但实验室目前又缺乏的设备,需以“申请表”的形式送交上级领导请求批准购买。
新设备购入后要立即进行设备登记(包括类别、设备名、编号、型号、规格、单价、数量、购置日期、生产厂家、保质期和经办人等信息),同时更新申请表的内容。
(4)随时对现有设备及其修理、报废情况进行统计、查询,要求能够按类别和时间段等条件进行查询。
2.技术要求及限制条件(1)所有工作由专门人员负责完成,其他人不得任意使用。
(2)每件设备在做入库登记时均由系统按类别加自动顺序号编号,形成设备号;设备报废时要及时修改相应的设备记录,且有领导认可。
(3)本系统的数据存储至少包括:设备记录、修理记录、报废记录、申请购买记录。
(4)本系统的输入项至少包括:新设备信息、修理信息、申请购买信息、具体查询统计要求。
(5)本系统的输出项至少包括:设备购买申请表、修理/报废设备资金统计表。
二、实验内容和原理可行性分析报告可行性研究主要是初步确定项目的规模和目标,确定项目的约束和限制。
对于项目的功能和性能方面的要求进行简要的概述。
详见组长田彦博的实验报告。
需求规格说明书需求规格说明书主要是进一步定制实验室设备管理系统软件开发的细节问题,便于用户与开发商协调工作。
在此主要绘制了系统的数据流图、相应的数据字典、E-R图、以及系统的功能图,对于各个方面的需求进行了详细的阐述。
详见组长田彦博的实验报告。
实验室设备管理系统实验报告
个人课程设计报告院系计算机与通信工程学院专业计算机(中加)学号20106098姓名角色 A日期2013/6/20个人课程设计报告一项目概述1.1目的因为现在各个高校内教学设备众多但自动管理水平相比过低,很多高校管理设备都采用在设备购进以后将设备的基本情况和相关信息登记存档。
存档以后,档案基本就没人记录与维护,至于以后设备的变迁或损坏都不会记录在设备档案中,即不能体现设备的即时状态。
而有些即使有设备管理系统的单位,就算是能把设备的即时信息体现在设备档案上,但设备的缺陷处理及设备缺陷等功能没有实施,设备检修的备品备件情况和检修成本核算没有实现,整个学校教学设备管理信息化仍处于较低水平。
将管理任务分成小块,落实到个人并能随时查询设备当前情况和历史情况,对设备的可靠性分析有直接作用,使管理人员从手工计算、统计工作中解脱出来。
同时基于实验室管理者对设备的的使用情况进行统计和更新提供轻松快捷的管理方式,利用计算机管理系统管理我校的实验设备势在必行,也方便广大用户可以随时随地的借用实验设备进行学习和研究。
1.2 任务对项目进行可行性研究,需求分析,项目开发计划,以及中期的总控模块开发,参与软件的设计和测试。
1.3 开发环境◆硬件环境:建议硬件配置PII以上256M内存60G硬盘空间。
◆软件环境:需要安装Microsoft Access 4.0以上的版本,基本上Microsoft Windows系统用户都有。
◆数据库:Microsoft Access 4.0以上1.4 参考资料《C#数据库精通》作者:王华杰清华大学出版社出版《C#程序设计教程》作者:李春葆清华大学出版社出版二项目中本人参与实现的部分1.描述所参与阶段的内容2.1.1概述我主要参与到分析部分和设计、测试。
开发软件系统最为困难的部分就是准确说明开发什么。
最为困难的概念性工作便是编写出详细技术需求,这包括所有面向用户、面向机器和其它软件系统的接口。
同时这也是一旦做错,将最终会给系统带来极大损害的部分,并且以后再对它进行修改也极为困难。
设备管理系统实验报告
数据库试验报告实验题目: 公司设备管理系统试验班级:C052班项目成员:组长:组员:分工表:实验目的:通过对一个数据库产品的了解,对一个具体问题的综合分析,先进行书面分析达到要求后进行数据库编程,最后达到利用高级语言处理数据库的目的。
实验要求:◆利用ER图方法设计概念数据库◆用关系方法设计数据库模型;◆用SQL Server7.0建立关系数据库;◆用PB 7.0和SQL操纵数据库;开发环境:操作系统:windowsXP数据库:SQL Server7.0开发工具:delphi 7实验内容:●试验题目:公司设备管理系统。
●问题描述:实现公司设备的有效管理、维护和记录。
对设备管理人员和使用人员提供各种设备处理的按部门、设备类型、处理日期等查询和修改添加等功能。
●概念模型设计图1 设备管理系统的E/R图●数据库的实现系统总功能能够完成设备的登记入库工作,即将每种设备的各项重要信息登记入库,并为每种设备确定一个惟一的编号。
能够完成用户的注册、注销工作。
能够完成转借、归还工作和报废的处理。
能够进行多项信息查询,包括按部门,类型,购入日期进行查询。
具有系统维护功能,系统在实现上述功能时,要做到可靠性好,容错能力强,界面友好,操作简单,易于维护。
设备管理功能结构图建立数据库定义如下基本表:1.设备表:设备号:设备编号,长度为2个字节,要求他唯一非空类型:设备类型,长度为4个字节名称:设备名称,长度20个字节部门:设备所属部门,长度10个字节内部编号:长度2个字节2.购入表:设备号:设备编号,长度为2个字节,要求他唯一非空设备名称:文本类型,20字节长度设备类型: 4字节长度购入部门:文本类型,20字节长度购入日期:设备购入日期,日期型,默认填写当天日期价格:设备购入价格,货币类型,默认人民币型生产商:设备制造者,文本类型,22个字节长度保修时间:设备保修到期时间,时间型内部编号:数字类型3.转借表:设备号:数字类型,设备编号,长度为2个字节,要求他唯一非空借出部门:文本类型,20字节长度借入部门:文本类型,20字节长度借出日期:日期型,默认填写当天日期归还日期:日期型系统状况:文本型,100字节长度负责人:文本类型4.故障表:设备号:设备编号,长度为2个字节,要求他唯一非空故障原因:文本型,100字节长度故障日期:日期型,默认填写当天日期维修次数:数字类型,4字节长度维修日期:日期型维修结果:文本类型,33字节长度负责人:文本型,10字节长度5.报废表:设备编号:设备编号,长度为2个字节,要求他唯一非空报废理由:文本类型报废日期:日期型,默认填写当天日期最后维修日期:日期型建立数据库与记录录入:创建数据库:文件→新建→数据库→新建文件→输入库名和保存位置→建库(建立以上各表)关闭、打开、修改数据库:文件→打开;文件→关闭;往库中加入、删除表,表的修改。
实验设备管理系统报告讲解
青岛理工大学数据库系统课程设计院(系):计算机工程学院专业:软件工程姓名:孙玉东班级:软件132 学号: 201307217题目:实验室设备管理系统起迄日期: 2015.12.14---2015.12.25_设计地点:计算机工程学院机房指导教师:王成钢周全强目录第一章前言 (3)1.1系统开发背景 (3)1.2开发工具介绍 (3)1.2.1 简介 (4)1.2.2 C#简介 (4)1.2.3 SQL Server 2012数据库 (5)1.2.4 数据库联接技术 (5)1.2.5 B/S结构 (6)第二章需求分析 (7)2.1任务概述 (7)2.1.1 系统目标 (7)2.1.2 用户特点 (7)2.2 系统功能需求 (7)2.2.1 系统角色功能需求 (7)2.2.2 功能模块需求 (8)2.3 系统的性能需求 (8)2.4 系统的数据需求 (9)第三章系统总体设计 (11)3.1系统功能设计 (11)3.1.1 系统总体模块设计 (11)第四章数据库设计 (12)4.1 数据库概念设计 (12)4.2数据库逻辑设计 (15)4.2.1 表汇总 (15)4.2.2 表逻辑结构设计 (15)第五章详细设计 (18)5.1程序流程图 (18)5.2页面设计 (22)5.3 关键代码部分 (25)5.3.1 数据库操作语句 (25)第六章结论与展望 (28)6.1 总结 (28)6.2系统不足 (28)参考文献 (29)第一章前言1.1系统开发背景一个现代化的实验室设备系统在正常运行中总是面对大量的使用者,仪器以及两者相互作用产生的借用仪器。
人工管理既浪费人力物力财力,又容易导致各种错误的发生。
为了方便实验室管理,得开发一个更好更高效的软件来管理。
实验室管理系统,是为了实现实验室管理而设计的,它也是现在各个部门的一个重要环节。
实验室是所有高校、研究机构必不可少的基本构成单位。
特别是高校,实验室的设备管理需要一套稳定、高效的管理办法。
实验室设备管理系统测试报告
<实验室设备管理系统>测试用例报告作者:完成日期:签收人:签收日期:修改情况记录:目录1 引言 (1)1.1编写目的 (1)1.2背景 (1)2 测试设计 (1)3 测试用例 (5)3.1用例1:用户登录页面 (5)3.2用例2:用户注册页面 (6)3.3用例3:用户找回密码页面 (8)3.4用例4:用户退出 (10)3.5用例5:一般用户操作界面 (10)3.6用例6:一般用户修改个人信息界面 (11)3.7用例7:一般用户书写个人日志界面 (13)3.8用例8:一般用户查询个人信息界面 (14)3.9用例9:管理员浏览信息界面 (16)3.10用例10:管理员管理教师操作界面 (17)3.11用例11:管理员修改个人资料界面 (20)3.12用例12:管理员浏览实验室人员信息界面 (21)3.14用例14:管理员管理实验室设备操作界面 (23)3.15用例15:管理员仪器设备报损界面 (26)3.16用例16:管理员贵重仪器购置操作界面 (28)3.17用例17:系统帮助界面 (30)3.18用例18:系统备分 (32)4 测试评估 (32)4.1测试任务评估 (32)4.2测试对象评估 (32)1 引言1.1 编写目的该文档的目的是描述实验室设备管理系统的测试设计,其主要内容包括:测试总体设计:测试用例设计:本文档的预期的读者是:读者项目管理人员:周岩,吕健雄测试人员:庞鑫1.2 背景该文档为实验室设备管理系统的测试设计,其中包括功能测试和性能测试的用例描述以及性能测试的测试脚本,为测试人员进行功能测试和性能测试提供标准和依据以及行进的测试步骤和方法。
2 测试设计系统测试依据的系统应用工作流如下:1)用户登陆界面:本系统分为一般用户和管理员两种使用用户。
在该页面中显示用户名、密码、确定按钮,取消按钮和注册按钮。
当一般用户在页面中输入正确的用户名和密码后,点击“确定”按钮进入一般用户主界面。
(设备管理)实验室设备管理系统测试报告
<实验室设备管理系统>测试用例报告作者:完成日期:签收人:签收日期:修改情况记录:目录1 引言 (1)1.1编写目的 (1)1.2背景 (1)2 测试设计 (1)3 测试用例 (5)3.1用例1:用户登录页面 (5)3.2用例2:用户注册页面 (6)3.3用例3:用户找回密码页面 (8)3.4用例4:用户退出 (10)3.5用例5:一般用户操作界面 (11)3.6用例6:一般用户修改个人信息界面 (12)3.7用例7:一般用户书写个人日志界面 (14)3.8用例8:一般用户查询个人信息界面 (16)3.9用例9:管理员浏览信息界面 (17)3.10用例10:管理员管理教师操作界面 (19)3.11用例11:管理员修改个人资料界面 (21)3.12用例12:管理员浏览实验室人员信息界面 (23)3.14用例14:管理员管理实验室设备操作界面 (25)3.15用例15:管理员仪器设备报损界面 (27)3.16用例16:管理员贵重仪器购置操作界面 (29)3.17用例17:系统帮助界面 (31)3.18用例18:系统备分 (33)4 测试评估 (34)4.1测试任务评估 (34)4.2测试对象评估 (34)1 引言1.1 编写目的该文档的目的是描述实验室设备管理系统的测试设计,其主要内容包括:测试总体设计:测试用例设计:本文档的预期的读者是:读者项目管理人员:周岩,吕健雄测试人员:庞鑫1.2 背景该文档为实验室设备管理系统的测试设计,其中包括功能测试和性能测试的用例描述以及性能测试的测试脚本,为测试人员进行功能测试和性能测试提供标准和依据以及行进的测试步骤和方法。
2 测试设计系统测试依据的系统应用工作流如下:1)用户登陆界面:本系统分为一般用户和管理员两种使用用户。
在该页面中显示用户名、密码、确定按钮,取消按钮和注册按钮。
当一般用户在页面中输入正确的用户名和密码后,点击“确定”按钮进入一般用户主界面。
实训室设备管理系统项目报告
实验室设备管理系统》项目报告一、系统简介随着计算机技术的迅猛发展以及Internet 进入商业和社会应用阶段,设备的种类、数量越来越多,如何利用先进的网络技术和日新月异的计算机设备来有效地收集、处理这些设备,建立以信息化为核心的管理体制,减轻管理人员和业务人员的数据处理负担,极大地提高设备管理效率和管理手段,己经成为当今社会的潮流。
设备管理系统是一个以人为主导,利用计算机硬件、软件、网络设备通信设备以及其他办公设备,进行信息的收集、更新和维护,以提高效率为目的的人机系统。
它具有管理信息系统的共性,同时也具有其特殊性。
二、设备管理系统组成部分设备资产及技术管理:建立设备信息库,实现设备前期的选型、采购、安装测试、转固;设备转固后的使用、闲置、报废,设备运行过程中的技术状态、维护、保养情况记录。
设备文档管理:设备相关档案的登录、整理以及与设备的挂接。
设备缺陷及事故管理:设备缺陷报告、跟踪、统计,设备紧急事故处理。
预防性维修:以可靠性技术为基础的定期维修、维护,维修计划分解,自动生成预防性维修工作单。
维修计划排程:根据日程表中设备运行记录和维修人员工作记录,编制整体维修、维护任务进度的安排计划,根据任务的优先级和维修人员工种情况来确定维修工人。
申请单的审核与跟踪:对用户申请单,进行审核、执行,并跟踪申请单状态。
备品、备件管理:建立备件台帐,编制备件计划,处理备件日常库存事务,根据备件最小库存量或备件重订货点自动生成采购计划,跟踪备件与设备的关系。
维修成本核算:凭借工作单上人员时间、所耗物料、工具和服务等信息,汇总维修、维护任务成本,进行实际成本与预算的分析比较。
缺陷分析:建立设备故障代码体系,记录每次故障发生的情况以进行故障分析。
统计报表:查询、统计各类信息,包括设备的三率报表、设备维修成本报表、设备状态报表、设备履历报表、备件库存周转率、供应商分析报表等。
三、用户角色分类四、软硬件环境需求五、系统质量需求六、设备管理系统ER图七、设备管理系统流程图八、界面设计实训室设备管理系统Equipment Management System设备管理系统Equipment Management Systeir九、项目心得体会3个月的项目实训对Java编程语言从低层次的认识到实实在在地使用在项目开发,期间是一个枯燥而又漫长的过程。
设备管理 实验设备管理系统程序报告
设备管理实验设备管理系统程序报告目录一、需求与功能分析第二章概要设计 (5)2.1总体设计 (5)2.2面向对象设计 (5)2.3运行界面设计 (6)第三章详细设计 (7)3.1系统设计与实现 (7)3.2模块设计 (8)第四章测试分析 (10)第五章课程设计总结 (10)附录:程序代码(仅电子版需要、纸质版不需要)...................................一、需求与功能分析1.1需求为了方便管理校内各种实验设备,能够翻遍快捷的录入查询各个实验设备的基本信息而编写了此程序实验设备管理系统设计1.2主要功能:1、能够完成对设备的录入和修改。
2、对设备进行分类统计。
4、设备的破损耗费和遗损处理。
4、设备的查询。
1.3功能需求1、可实现管理员登陆管理系统,游客查询系统。
2、对实验设备类型的管理。
3、对实验设备各项信息的录入和修改。
4、对实验设备的分类查询统计。
5、对实验设备的遗损处理二、概要设计2.1 总体设计程序总体共分为 4 个类:1、菜单类2、设备类型类3、设备类4、管理员类由主函数主持整体运行,由菜单类调用其它三类2.1面向对象设计1.设备类型类:(见图2)void shuru(); //设备类型的输入void tianjia(); //设备类型的添加void shanchu(); //设备类型的删除void show(); //设备类型的输ft显示void xieru(); //设备类型的写入void duqu(); //设备类型的读取2.设备类:nfom* write() //设备的创建写入(见图3)Infom* load() //从文档中读取数据(见图4)void acquire(Infom* head) //分类查询数据(见图5)void acquire2(Infom* head) //查询全部数据(见图5)void acqu(char choose) //分类查询的内容支持(见图5)void add() //添加新内容(见图6)void undo(Infom* head) //删除(见图7)int save(Infom* head) //将现数据进行保存void revise(Infom* head) //修改数据void classify(Infom* head) //对数据的分类统计(见图8)void clasK(Infom* head) //类型的分类统计(见图8)void clasP(Infom* head) //价格的分类统计(见图8)void clasE(Infom* head) //是否报废的统计(见图8)3.管理员类:void create() //创建用户名和密码int log() //登陆void change() //修改用户名和密码2.2运行界面设计运行界面由菜单类实现;菜单类:1.i nt menu1(device *p,struct ShiyanEquip *head,DeviceTipe *a,manager *b) //管理模式主菜单2.i nt menu2(device *p,struct ShiyanEquip *head,DeviceTipe *a) //游客模式主菜单3.struct ShiyanEquip* entering(device *p)//管理模式录入菜单4.struct ShiyanEquip*entering2(device *p)//游客模式录入菜单5.struct ShiyanEquip* change(device *p)//修改菜单6.struct ShiyanEquip* query(device *p)//查询菜单7.struct ShiyanEquip * statistic(device *p)//分类统计菜单8.struct ShiyanEquip * account(manager *b)//账号菜单9.struct ShiyanEquip * type(DeviceTipe *a)//设备类型菜单三、 详细设计3.1 系统设计与实现【总体框架、流程设计,模块划分及接口设计等】总体框架:接口设计:1. int menu1(device *p,struct ShiyanEquip *head,DeviceTipe *a,manager *b)[功能] 调用管理模式主菜单并指向管理模式各项分菜单2. int menu2(device *p,struct ShiyanEquip *head,DeviceTipe *a)[功能] 调用游客模式主菜单并指向游客模式各项分菜单3. struct ShiyanEquip * entering(device *p)[功能] 指向设备类中的新建,载入和添加函数并完成相应函数功能4. struct ShiyanEquip *entering2(device *p)[功能] 指向设备类中的载入函数并完成函数功能5. struct ShiyanEquip * change(device *p)[功能] 指向设备类中的修改和删除函数并完成相应函数功能6. struct ShiyanEquip * query(device *p)[功能] 指向设备类中的分类查询和全部查询函数并完成相应函数功能7. struct ShiyanEquip * statistic(device *p)[功能] 指向设备类中的分类统计函数并完成相应三类的统计 8. struct ShiyanEquip * account(manager *b)[功能] 指向管理员类中的修改函数完成修改账户及密码的功能 9. struct ShiyanEquip * type(DeviceTipe *a)[功能] 指向设备类型类中的各个函数并完成有关设备类型的全部功能3.2 模块设计【各模块的具体设计与实现】设备类型类: 设备类:结束 四 、 测试分析【测试中发现的问题及解决方案】1.缺少必要的文字描述(已解决)2.输ft 的格式问题(已解决)3.不能删除唯一一项数据的问题(已解决)4.设备操作中缺失最后一行的问题(已解决) 设备类型load图 45.不能返回上一级菜单的问题(已解决)6.价格统计时不能确定准确比较的问题(已解决)【对最终成果的评价】整体来说比较满意,是最近辛苦努力的伟大成果,但是有如下几点有待改进1.可以进行汉字输入但是不能进行汉字查询的问题2.管理员账号不能随意登ft的问题3.设备类中没有使用private 导致保密性不强的问题五、源程序#include<iostream>#include<fstream>#include<conio.h>#include<stdio.h>#include<iomanip>#include<windows.h>using namespace std;class DeviceTipe //定义设备类型类{private:char sblx[20][20]; //设备类型public:void shuru(); //设备类型的输入void tianjia(); //设备类型的添加void shanchu(); //设备类型的删除void show(); //设备类型的输ft显示void xieru(); //设备类型的写入void duqu(); //设备类型的读取};//==============================================================//==============================================================class device //定义设备类{public:typedef struct infom{}Infom;Infom* head;DeviceTipe wcs;Infom* write() //设备的创建写入{fstream the("aaa.txt",ios::out|ios::app);Infom *p1,*p2;head=NULL;wcs.duqu();wcs.show();p1=p2=(Infom *)malloc(sizeof(Infom));按0 键结束输入):"<<endl;cin>>p1->idnum>>p1->kind>>p1->name>>p1->price>>p1->purda>>p1->exist>>p1->damda;the<<p1->idnum<<' '<<p1->kind<<' '<<p1->name<<' '<<p1->price<<' '<<p1->purda<<' '<<p1->exist<<' '<<p1->damda<<endl;p1->next=NULL;while(1){if(head==NULL)head=p1;if(head!=NULL)p2->next=p1;p2=p1;p1=(Infom *)malloc(sizeof(Infom));cin>>p1->idnum;if(*(p1->idnum)=='0'){free(p1);break;}cin>>p1->kind>>p1->name>>p1->price>>p1->purda>>p1->exist>>p1->damda;the<<p1->idnum<<' '<<p1->kind<<' '<<p1->name<<' '<<p1->price<<' '<<p1->purda<<' '<<p1->exist<<' '<<p1->damda<<endl;}p2->next=NULL;the.close();cout<<"写入成功"<<endl;load();return head;}//============================================================== Infom* load() //从文档中读取数据{int n,a;char tran[7][80];int b;Infom *p1,*p2;fstream t("aaa.txt");head=NULL;p1=p2=(Infom*)malloc(sizeof(Infom));if(t.getline(tran[0],80,'\n')==NULL){cout<<"载入失败"<<endl;return 0;}for(n=0,a=0;tran[0][n]!=' ';n++){p1->idnum[a]=tran[0][n];a++;}p1->idnum[a]='\0';for(a=0,n=n+1;tran[0][n]!=' ';n++){p1->kind[a]=tran[0][n];a++;}p1->kind[a]='\0';for(a=0,n=n+1;tran[0][n]!=' ';n++){p1->name[a]=tran[0][n];a++;}p1->name[a]='\0';for(a=0,n=n+1;tran[0][n]!=' ';n++){p1->price[a]=tran[0][n];a++;}p1->price[a]='\0';for(a=0,n=n+1;tran[0][n]!=' ';n++){p1->purda[a]=tran[0][n];a++;}p1->purda[a]='\0';for(a=0,n=n+1;tran[0][n]!=' ';n++){p1->exist[a]=tran[0][n];a++;}p1->exist[a]='\0';for(a=0,n=n+1;tran[0][n]!='\0';n++){p1->damda[a]=tran[0][n];a++;}p1->damda[a]='\0';p1->next=NULL;for(b=1;t.getline(tran[b],80,'\n')!=NULL;b++) {if(head==NULL)head=p1;elsep2->next=p1;p2=p1;p1=(Infom*)malloc(sizeof(Infom));for(n=0,a=0;tran[b][n]!=' ';n++){p1->idnum[a]=tran[b][n];a++;}p1->idnum[a]='\0';for(a=0,n=n+1;tran[b][n]!=' ';n++){p1->kind[a]=tran[b][n];a++;}p1->kind[a]='\0';for(a=0,n=n+1;tran[b][n]!=' ';n++){p1->name[a]=tran[b][n];a++;}p1->name[a]='\0';for(a=0,n=n+1;tran[b][n]!=' ';n++){ p1->price[a]=tran[b][n];a++;}p1->price[a]='\0';for(a=0,n=n+1;tran[b][n]!=' ';n++){p1->purda[a]=tran[b][n];a++;}p1->purda[a]='\0';for(a=0,n=n+1;tran[b][n]!=' ';n++){p1->exist[a]=tran[b][n];a++;}p1->exist[a]='\0';for(a=0,n=n+1;tran[b][n]!='\0';n++){p1->damda[a]=tran[b][n];a++;}p1->damda[a]='\0';}p2->next=p1;p1->next=NULL;if(b==1)head=p1;cout<<"载入成功"<<endl;return head;}//============================================================== void acquire(Infom* head) //分类查询数据{char choose;cout<<"请选择查询方式:"<<endl;cout<<"2. 名称"<<endl;cout<<"3. 类型"<<endl;cout<<"4. 价格"<<endl;cout<<"5. 购买日期"<<endl;cout<<"6. 是否报废"<<endl;cout<<"7. 报废日期"<<endl;cout<<"0. 结束查询"<<endl;choose=getch();switch(choose){case '1':acqu(choose);break;case '2':acqu(choose);break;case '3':acqu(choose);break;case '4':acqu(choose);break;case '5':acqu(choose);break;case '6':acqu(choose);break;case '7':acqu(choose);break;case '0':break;}}void acquire2(Infom* head) //查询全部数据{Infom* t=head;if(t==NULL)cout<<"对不起,信息不存在"<<endl;else{for(;t->next!=NULL;){cout<<setfill(' ')<<setw(10)<<t->idnum<<' '<<setfill(' ')<<setw(10)<<t->kind<<' '<<setfill(' ')<<setw(10)<<t->name<<' '<<setfill(' ')<<setw(10)<<t->price<<' '<<setfill(' ')<<setw(10)<<t->purda<<' '<<setfill(' ')<<setw(10)<<t->exist<<' '<<setfill(' ')<<setw(10)<<t->damda<<endl;t=t->next;}cout<<setfill(' ')<<setw(10)<<t->idnum<<' '<<setfill(' ')<<setw(10)<<t->kind<<' '<<setfill(' ')<<setw(10)<<t->name<<' '<<setfill(' ')<<setw(10)<<t->price<<' '<<setfill(' ')<<setw(10)<<t->purda<<' '<<setfill(' ')<<setw(10)<<t->exist<<' '<<setfill(' ')<<setw(10)<<t->damda<<endl;}}void acqu(char choose) //分类查询的内容支持{Infom* t=head;char *s;int a=0;char xyz[10];cout<<"请输入查询内容:";cin>>xyz;for(;t->next!=NULL;){switch(choose){case'1':s=t->idnum;break;case'2':s=t->name;break;case'3':s=t->kind;break;case'4':s=t->price;break;case'5':s=t->purda;break;case'6':s=t->exist;break;case'7':s=t->damda;break;}if(strcmp(s,xyz)==0){if(a==0)cout<<setfill(' ')<<setw(10)<<t->idnum<<' '<<setfill(' ')<<setw(10)<<t->kind<<' '<<setfill(' ')<<setw(10)<<t->name<<' '<<setfill(' ')<<setw(10)<<t->price<<' '<<setfill(' ')<<setw(10)<<t->purda<<' '<<setfill(' ')<<setw(10)<<t->exist<<' '<<setfill(' ')<<setw(10)<<t->damda<<endl;a++;}t=t->next;}switch(choose){case'1':s=t->idnum;break;case'2':s=t->name;break;case'3':s=t->kind;break;case'4':s=t->price;break;case'5':s=t->purda;break;case'6':s=t->exist;break;case'7':s=t->damda;break;}if(strcmp(s,xyz)==0){if(a==0)cout<<setfill(' ')<<setw(10)<<t->idnum<<' '<<setfill(' ')<<setw(10)<<t->kind<<' '<<setfill(' ')<<setw(10)<<t->name<<' '<<setfill(' ')<<setw(10)<<t->price<<' '<<setfill(' ')<<setw(10)<<t->purda<<' '<<setfill(' ')<<setw(10)<<t->exist<<' '<<setfill(' ')<<setw(10)<<t->damda<<endl;a++;}if(a==0)cout<<"对不起,您查询的信息不存在"<<endl;}//============================================================== void add() //添加新内容{fstream the("aaa.txt",ios::out|ios::app);Infom *p1,*p2;head=NULL;wcs.duqu();wcs.show();p1=p2=(Infom *)malloc(sizeof(Infom));cin>>p1->idnum>>p1->kind>>p1->name>>p1->price>>p1->purda>>p1->exist>>p1->damda;the<<p1->idnum<<' '<<p1->kind<<' '<<p1->name<<' '<<p1->price<<' '<<p1->purda<<' '<<p1->exist<<' '<<p1->damda<<endl;p1->next=NULL;while(1){if(head==NULL)head=p1;if(head!=NULL)p2->next=p1;p2=p1;p1=(Infom *)malloc(sizeof(Infom));cin>>p1->idnum;if(*(p1->idnum)=='0'){free(p1);break;}cin>>p1->kind>>p1->name>>p1->price>>p1->purda>>p1->exist>>p1->damda;the<<p1->idnum<<' '<<p1->kind<<' '<<p1->name<<' '<<p1->price<<' '<<p1->purda<<' '<<p1->exist<<' '<<p1->damda<<endl;}p2->next=NULL;the.close();cout<<"添加成功"<<endl;load();}//============================================================== void undo(Infom* head) //删除{struct infom *p1,*p2;char num[10];char aaa[10]="0";char choose;wcs.duqu();wcs.show();{cin>>num;if(strcmp(num,aaa)==0)break;if(head==NULL)cout<<"您使用的地址不存在"<<endl;else{p1=head;for(;strcmp(p1->idnum,num)!=0&&p1->next!=NULL;){p2=p1;p1=p1->next;}if(strcmp(p1->idnum,num)==0){if(p1==head){head=p1->next;free(p1);}else{p2->next=p1->next;p1->next=NULL;free(p1);}}elseif(strcmp(p1->idnum,num)!=0&&p1->next==NULL)cout<<"该内容不存在"<<endl;}}cout<<"输入'1'储存,输入'0'放弃"<<endl;choose=getch();switch(choose){case '1':save(head);break;case '0':break;}if(choose=='1'){cout<<"删除成功"<<endl;load();}}//============================================================== int save(Infom* head) //将现数据进行保存{unlink("aaa.txt");fstream The("aaa.txt",ios::out|ios::app);Infom *p1;p1=head;if(p1==NULL)return 0;for(;p1->next!=NULL;){The<<p1->idnum<<' '<<p1->kind<<' '<<p1->name<<' '<<p1->price<<' '<<p1->purda<<' '<<p1->exist<<' '<<p1->damda<<endl;p1=p1->next;}The<<p1->idnum<<' '<<p1->kind<<' '<<p1->name<<' '<<p1->price<<' '<<p1->purda<<' '<<p1->exist<<' '<<p1->damda<<endl;The.close();return 0;}//============================================================== void revise(Infom* head) //修改数据{char num[10];Infom *p1;char choose;char x;wcs.duqu();wcs.show();p1=head;for(;strcmp(p1->idnum,num)!=0&&p1->next!=NULL;){p1=p1->next;}if(p1->next==NULL&&strcmp(p1->idnum,num)!=0){cout<<"请选择修改内容:"<<endl;cout<<"2. 名称"<<endl;cout<<"3. 类型"<<endl;cout<<"4. 价格"<<endl;cout<<"5. 购买日期"<<endl;cout<<"6. 是否报废"<<endl;cout<<"7. 报废日期"<<endl;cout<<"0. 结束修改"<<endl;choose=getch();cout<<"请输入修改内容:"<<endl;switch(choose){case '1':cin>>p1->idnum;break;case '2':cin>>p1->name;break;case '3':cin>>p1->kind;break;case '4':cin>>p1->price;break;case '5':cin>>p1->purda;break;case '6':cin>>p1->exist;break;case '7':cin>>p1->damda;break;case '0':break;}}cout<<"输入'1'储存,输入'0'放弃"<<endl;x=getch();switch(x){case '1':save(head);break;case '0':break;}}//============================================================== void classify(Infom* head) //对数据的分类统计{char choose;cout<<"请选择统计内容:"<<endl;cout<<"1. 类型"<<endl;cout<<"2. 价格"<<endl;cout<<"3. 是否报废"<<endl;cout<<"0. 结束统计"<<endl;choose=getch();switch(choose){case '1':clasK(head) ;break;case '2':clasP(head) ;break;case '3':clasE(head) ;break;case '0':break;}}void clasK(Infom* head) //类型的分类统计{char a[20][10];int b[20]={1};int x;int y;int i;Infom *p1;p1=head;for(x=0,strcpy(a[0],p1->kind);p1->next!=NULL;){p1=p1->next;for(y=0;y<=x;y++){if(strcmp(p1->kind,a[y])==0){b[y]++;break;}}if(y==x+1){x++;b[x]++;strcpy(a[x],p1->kind);}}for(i=0;i<=x;i++){cout<<"类型:"<<a[i]<<' '<<"数量:"<<b[i]<<endl;}}void clasP(Infom* head) //价格的分类统计{int b[3]={0};int x;int y;int i;char trans[10];char de[10]="000005000";char deg[10]="000010000";Infom *p1;p1=head;for(;p1->next!=NULL;){x=strlen(p1->price);for(i=0,y=0;i<9;i++){if(i>=(9-x)){trans[i]=p1->price[y];y++;}elsetrans[i]='0';}if(strcmp(trans,de)<=0)b[0]++;if(strcmp(trans,de)>0&&strcmp(p1->price,deg)<0)b[1]++;if(strcmp(trans,deg)>=0)b[2]++;p1=p1->next;}x=strlen(p1->price);for(i=0,y=0;i<9;i++){if(i>=(9-x)){trans[i]=p1->price[y];y++;}elsetrans[i]='0';}if(strcmp(trans,de)<=0)b[0]++;if(strcmp(trans,de)>0&&strcmp(trans,deg)<0)b[1]++;if(strcmp(trans,deg)>=0)b[2]++;p1=p1->next;cout<<"价格小于等于5000:" <<' '<<"数量:"<<b[0]<<endl; cout<<"价格大于5000 小于10000:" <<' '<<"数量:"<<b[1]<<endl;cout<<"价格大于等于10000:" <<' '<<"数量:"<<b[2]<<endl;}void clasE(Infom* head) //是否报废的统计{char a[20][10];int b[20]={1};int x;int y;int i;Infom *p1;p1=head;for(x=0,strcpy(a[0],p1->exist);p1->next!=NULL;){p1=p1->next;for(y=0;y<=x;y++){if(strcmp(p1->exist,a[y])==0){b[y]++;break;}}if(y==x+1){x++;b[x]++;strcpy(a[x],p1->exist);}}for(i=0;i<=x;i++){cout<<"是否报废:"<<a[i]<<' '<<"数量:"<<b[i]<<endl;}}};//==============================================================//==============================================================int i,n=0; //设备类型类的函数实现部分void DeviceTipe::xieru(){ofstream fout("sblx.txt");char (*p)[20];p=sblx;for(i=0;i<n;i++){fout<<*(p+i)<<endl;}fout<<flush;fout.close();}//============================================================== void DeviceTipe::duqu(){ifstream file;file.open("sblx.txt");char (*p)[20];p=sblx;i=0;do{file>>*(p+i);i++;}while(p[i][0]!='\0');for(i=0;p[i][0]!='\0';i++);n=i;file.close();}//============================================================== void DeviceTipe::shuru(){char (*p)[20];p=sblx;system("cls");cout<<"请输入设备类型个数:"<<endl;cin>>n;cout<<"请依次输入设备类型名称"<<endl;for(i=0;i<n;i++){cin>>*(p+i);}}//============================================================== void DeviceTipe::tianjia(){char (*p)[20];p=sblx;int k;system("cls");cout<<"请输入要添加的设备类型个数"<<endl;cin>>k;cout<<"请依次输入设备类型名称"<<endl;for(i=n;i<n+k;i++){cin>>*(p+i);}n=n+k;//==============================================================void DeviceTipe::shanchu(){char (*p)[20];char w[20];p=sblx;int x=0;int j;int r;cout<<"请输入要删除的设备类型"<<endl;cin>>w;for(i=0;i<n;i++){if(strcmp(w,*(p+i))==0)for(j=i;j<n;j++){strcpy(*(p+j),*(p+j+1));x=1;}}if(x==1){n=n-1;system("cls");}else{cout<<"设备类型中没有此类"<<endl<<"是否重新输入<是/1><否/0>"<<endl;cin>>r;if(r==0)system("cls");elseDeviceTipe::shanchu();}}//==============================================================void DeviceTipe::show(){char (*p)[20];p=sblx;system("cls");cout<<endl<<endl;for(i=0;i<n;i++){cout<<i+1<<"."<<*(p+i)<<endl;}cout<<"以上为所有设备类型"<<endl<<endl<<endl;//============================================================== //============================================================== class manager //定义管理员类{public:void create() //创建用户名和密码{char name[100];char code[100];FILE*fp1;if((fp1=fopen("user.txt","w"))==NULL){printf("该文件不存在");}cout<<"请输入用户名:";cin>>name;fprintf(fp1,"%s",name);cout<<"请输入密码:";cin>>code;fprintf(fp1,"%s",code);fclose(fp1);}//============================================================== int log() //登陆{char a[200],b[200],c,d[100];int r=0;cout<<"输入用户名:";cin>>a;cout<<"输入密码:";cin>>d; strcat(a,d);FILE*fp1;if((fp1=fopen("user.txt","r"))==NULL){printf("该文件不存在\n");}fscanf(fp1,"%s",b);c=strcmp(a,b);if(c==0){r=1;}else{r=0;}fclose(fp1);return r;}//============================================================== void change() //修改用户名和密码{char name[100];char code[100];FILE*fp1;if((fp1=fopen("user.txt","w"))==NULL){printf("该文件不存在");}cout<<"请输入用户名:";cin>>name;fprintf(fp1,"%s",name);cout<<"请输入密码:";cin>>code;fprintf(fp1,"%s",code);fclose(fp1);}};//==============================================================//==============================================================class menu //定义菜单类{public:int menu1(device *p,struct ShiyanEquip *head,DeviceTipe *a,manager *b) //管理模式主菜单{char chose;do{cout<<"\t\t\t\t 试验设备管理系统"<<endl;cout<<"******************************************************************** *******"<<endl;cout<<"***\t\t\t\t1.设备的录入\t\t\t\t***"<<endl;cout<<"******************************************************************** *******"<<endl;cout<<"***\t\t\t\t2.设备的修改\t\t\t\t***"<<endl;cout<<"******************************************************************** *******"<<endl;cout<<"***\t\t\t\t3.设备信息查询\t\t\t\t***"<<endl;cout<<"******************************************************************** *******"<<endl;cout<<"***\t\t\t\t4.设备的分类统计\t\t\t***"<<endl;cout<<"************************************************************************ ***"<<endl;cout<<"***\t\t\t\t5.设备类型的操作\t\t\t***"<<endl;cout<<"***************************************************************************"<<endl;cout<<"***\t\t\t\t0.修改管理员账号\t\t\t***"<<endl;cout<<"******************************************************************** *******"<<endl;cout<<"***\t\t\t\t#.退ft系统\t\t\t\t***"<<endl;cout<<"******************************************************************** *******"<<endl;cout<<"***\t\t\t\t~ 温馨提示:\t\t\t\t***"<<endl;cout<<"***\t\t\t\t~ 请您先创建或载入清单再进行操作\t***"<<endl;cout<<"******************************************************************** *******"<<endl<<endl;chose=getch();switch(chose){case '1':head=entering(p);break;case '2':head=change(p);break;case'3':head=query(p);break;case'4':head=statistic(p);break;case'5':head=type(a);break;case'0':head=account(b);break;case'#':system("cls");printf("*******谢谢使用********\n\n");exit(0);break;}}while(1);return 0;}//============================================================== int menu2(device *p,struct ShiyanEquip *head,DeviceTipe *a) //游客模式主菜单{char chose;do{cout<<"\t\t\t\t 试验设备管理系统(buct)"<<endl;cout<<"******************************************************************** *******"<<endl;cout<<"***\t\t\t\t1.设备的载入\t\t\t\t***"<<endl;cout<<"******************************************************************** *******"<<endl;cout<<"***\t\t\t\t2.设备信息查询\t\t\t\t***"<<endl;;cout<<"******************************************************************** *******"<<endl;cout<<"***\t\t\t\t#.退ft系统\t\t\t\t***"<<endl;cout<<"******************************************************************** *******"<<endl;cout<<"***\t\t\t\t~ 温馨提示:\t\t\t\t***"<<endl;cout<<"***\t\t\t\t~ 请您先载入清单再进行操作\t***"<<endl;cout<<"******************************************************************** *******"<<endl<<endl;chose=getch();switch(chose){case '1':head=entering2(p);break;case '2':head=query(p);break;case'#':system("cls");exit(0); break;}}while(1);return 0;}//============================================================== struct ShiyanEquip * entering(device *p){char chose2;struct ShiyanEquip * head;do{cout<<"\t\t\t\t 试验设备de 录入(buct)"<<endl;cout<<"******************************************************************** *******"<<endl;cout<<"***\t\t\t\t1.新建管理清单\t\t\t\t***"<<endl;cout<<"******************************************************************** *******"<<endl;cout<<"***\t\t\t\t2.载入管理清单\t\t\t\t***"<<endl;cout<<"******************************************************************** *******"<<endl;cout<<"***\t\t\t\t3.增加新器材\t\t\t\t***"<<endl;cout<<"********************************************************************。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本科实验报告课程名称:软件工程导论实验项目:实验室设备管理系统实验地点:实验楼210专业班级:软件1319 学号:2013005655 学生姓名:张卫东指导教师:王会青2015年05 月21 日一、实验目的和要求1.系统简介某大学每学年都需要对实验室设备使用情况进行统计、更新。
其中:(1)对于已彻底损坏的实验设备做报废处理,同时详细记录有关信息。
(2)对于有严重问题(故障)的需要及时修理,并记录修理日期、设备名、编号、修理厂家、修理费用、责任人等。
(3)对于急需使用但实验室目前又缺乏的设备,需以“申请表”的形式送交上级领导请求批准购买。
新设备购入后要立即进行设备登记(包括类别、设备名、编号、型号、规格、单价、数量、购置日期、生产厂家、保质期和经办人等信息),同时更新申请表的内容。
(4)随时对现有设备及其修理、报废情况进行统计、查询,要求能够按类别和时间段等条件进行查询。
2.技术要求及限制条件(1)所有工作由专门人员负责完成,其他人不得任意使用。
(2)每件设备在做入库登记时均由系统按类别加自动顺序号编号,形成设备号;设备报废时要及时修改相应的设备记录,且有领导认可。
(3)本系统的数据存储至少包括:设备记录、修理记录、报废记录、申请购买记录。
(4)本系统的输入项至少包括:新设备信息、修理信息、申请购买信息、具体查询统计要求。
(5)本系统的输出项至少包括:设备购买申请表、修理/报废设备资金统计表。
二、实验内容和原理可行性分析报告可行性研究主要是初步确定项目的规模和目标,确定项目的约束和限制。
对于项目的功能和性能方面的要求进行简要的概述。
详见组长田彦博的实验报告。
需求规格说明书需求规格说明书主要是进一步定制实验室设备管理系统软件开发的细节问题,便于用户与开发商协调工作。
在此主要绘制了系统的数据流图、相应的数据字典、E-R图、以及系统的功能图,对于各个方面的需求进行了详细的阐述。
详见组长田彦博的实验报告。
概要设计说明书概要设计说明书是为了说明整个实验室设备管理系统的体系架构,以及需求用例的各个功能点在架构中的体现。
在此主要绘制了系统流程图、总体结构和模块的外部设计,而且对于数据库中逻辑结构方面也进行了详细的设计。
详见组长田彦博的实验报告。
详细设计说明书------设备报废管理模块(一)、引言1.1编写目的:此详细设计说明书是为了说明整个实验室设备管理系统(laboratory equipment management system)各个层次中的每个程序(每个模块或子程序)的实际考虑,为程序员编写程序提供依据。
1.2项目背景:●项目的委托单位:学校;●项目的开发单位:自由小组。
●项目的主管部门:学校信息化管理中心。
1.4参考资料:[1]李爱萍.《软件工程》(第1版),人民邮电出版社[2]自编《软件工程实验指导书》[3]李东生等编著《软件工程——原理、方法和工具》[4]张海藩编著,软件工程导论,北京:清华大学出版社,2003 第4版(二)、任务概述2.1功能:设备报废管理模块:对于已经损坏的设备在符合报废标准的情况下做报废处理,并且能及时修改相应的设备记录,能查询到已经报废的设备号及设备名称等详细信息。
2.2输入和输出项目:设备报废管理模块:输入:已损坏设备的设备号,设备名称;输出:报废设备资金统计表以及报废设备的设备号,报废原因,报废日期,所属实验室,报废意见,责任人签名等详细信息。
2.3算法和程序逻辑:设备报废管理模块:1.模块伪代码:判断是查询还是记录报废设备IF 为记录则在窗体上显示出报废信息文本框将文本框的内容存入各个变量打开数据库,打开报废记录表将相关变量写入报废记录表的新建项的各个项目Return 报废记录已写入EndifIF 为查询则将窗体上的报废时间或者报废设备栏数据写入变量打开数据库,打开报废记录表If 为按设备名查询则在列名为设备名的列用变量查询IF 有项与变量相同则返回该项的相关信息到程序窗体上显示ELSE返回“无此类设备报废”EndifEndifIF 为按报废时间查询则在列名为报废日期的列用变量查询IF 有项小于变量则返回该项的相关信息到程序上显示ELSE返回“无此类设备报废”EndifEndifEndif2. 算法流程图:3.盒图(N-S):4.问题分析图(PAD):2.4数据库逻辑设计:设备报废管理模块数据类型及定义见表一。
表2.5存储分配:实验室设备的所有信息都存在数据库中,权限信息的所有资料也仍在数据库中。
系统启动界面,友好用户欢迎及与管理系统主系统界面的程序设计尚未需要设计到数据查询等功能,因此可以不分配存储空间。
而其他系统,子程序都需要涉及到数据库的查询,添加等操作,因此需要存储分配。
2.6限制条件:操作系统限制: windows98及以上内存要求:256MB以上CPU:P4及以上硬盘:空余600MB空间2.7测试要点:黑盒测试:也称功能测试或者数据驱动测试。
是根据软件的规格对软件进行的测试,这类测试不考虑软件内部的运作原理,因此软件对用户来说就像是一个黑盒子。
软件测试人员以用户的角度,通过各种输入和观察软件的各种输出结果来发现软件存在的缺陷,而不关心程序具体如何实现的一种测试方法。
在黑盒测试方案中,采用等价划分技术设计。
白盒测试:也称结构测试或者逻辑驱动测试。
白盒测试与黑盒测试不同,测试人员将程序视作一个透明的白盒子,测试人员了解程序的内部结构和处理过程,以检查处理过程的细节为基础,要求对程序的结构特性做到一定程度的覆盖,对程序中的所以逻辑路径进行测试,并检验内部控制结构是否有错,确定实际的运行状态与预期的状态是否一致。
在白盒测试方法中,采用路径覆盖。
三、主要仪器设备●硬件:惠普6470b笔记本CPU:Intel 酷睿i5 3230M、内存:4GB(4GB×1) DDR3、硬盘:500GB●软件:Java语言编译器、Access 2007、Visio 2007Eclipse:3.8.0、JDK:1.6.0_45四、操作方法与实验步骤编码部分1.设备报废管理模块package实验室;import java.awt.BorderLayout;import java.awt.Color;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.swing.Box;import javax.swing.JButton;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextField;public class LaboratoryDelate extends JPanel implements ActionListener{Connection con;Statement sql;JTextField t1, t2, t3, t4, t5, t6;JButton b;Box baseBox, bv1, bv2;LaboratoryDelate() {try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");} catch (ClassNotFoundException e) {}try {con= DriverManager.getConnection("jdbc:odbc:laboratory", "", "");sql = con.createStatement();} catch (SQLException ee) {}setLayout(new BorderLayout());b = new JButton("报废");b.setBackground(Color.cyan);b.addActionListener(this);t1 = new JTextField(8);t1.addActionListener(this);t2 = new JTextField(16);t3 = new JTextField(16);t4 = new JTextField(16);t5 = new JTextField(16);t6 = new JTextField(16);t2.setEditable(false);t3.setEditable(false);t4.setEditable(false);t5.setEditable(false);t6.setEditable(false);JPanel p1 = new JPanel(), p2 = new JPanel(); p1.add(new JLabel("输入要报废的设备号"));p1.add(t1);p1.add(b);bv1 = Box.createVerticalBox();bv1.add(new JLabel("设备型号"));bv1.add(Box.createVerticalStrut(8));bv1.add(new JLabel("设备名"));bv1.add(Box.createVerticalStrut(8));bv1.add(new JLabel("报废日期"));bv1.add(Box.createVerticalStrut(8));bv1.add(new JLabel("实验室"));bv1.add(Box.createVerticalStrut(8));bv1.add(new JLabel("责任人"));bv1.add(Box.createVerticalStrut(8));bv2 = Box.createVerticalBox();bv2.add(t2);bv2.add(Box.createVerticalStrut(8));bv2.add(t3);bv2.add(Box.createVerticalStrut(8));bv2.add(t4);bv2.add(Box.createVerticalStrut(8));bv2.add(t5);bv2.add(Box.createVerticalStrut(8));bv2.add(t6);bv2.add(Box.createVerticalStrut(8)); baseBox = Box.createHorizontalBox(); baseBox.add(bv1);baseBox.add(Box.createHorizontalStrut(10)); baseBox.add(bv2);p2.add(baseBox);add(p1, "North");add(p2, "Center");setSize(350,300);setBackground(Color.LIGHT_GRAY);}public void actionPerformed(ActionEvent e) {if (e.getSource() == t1) {try {delete();} catch (SQLException ee) {}} else if (e.getSource() == b) {try {delete();} catch (SQLException ee) {}int n = JOptionPane.showConfirmDialog(this, "确定要报废该设备吗?", "确定", JOptionPane.YES_NO_OPTION);if (n == JOptionPane.YES_OPTION) {try {String s1 = "'" + t1.getText().trim() + "'";String temp = "DELETE FROM student WHERE id=" + s1;con= DriverManager.getConnection("jdbc:odbc:laboratory", "","");sql.executeUpdate(temp);JOptionPane.showMessageDialog(this, "报废处理成功!", "提示对话框",RMATION_MESSAGE);con.close();} catch (SQLException ee) {}} else if (n == JOptionPane.NO_OPTION) {}}}public void delete() throws SQLException {String type, name, date, laboratory, managementer;con = DriverManager.getConnection("jdbc:odbc:laboratory", "", "");type = t1.getText().trim();ResultSet rs = sql.executeQuery("SELECT * FROM laboratory where laboratory='"+ type + "'");if (rs.next()) {type = rs.getString("type");name = rs.getString("name");date = rs.getString("date");laboratory = rs.getString("laboratory");managementer = rs.getString("managementer");t2.setText(type);t3.setText(name);t4.setText(date);t5.setText(laboratory);t6.setText(managementer);// break;// }} else {JOptionPane.showMessageDialog(this, "没有该设备!", "提示对话框",RMATION_MESSAGE);}con.close();}}设备报废模块界面如图1所示。