• 1.11 MB
  • 39页

Web系统和技术课程项目报告书-实验室设备管理系统

  • 39页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'课程项目报告书课程名称:Web系统和技术_项目题目:__实验室设备管理系统______学院:计算机科学与技术专业班级:姓名:学号:指导教师:2013年__06_月__04_日 一、项目介绍(包括选题思路、开发环境、技术方案等)1、选题思路在学校实验室的设备管理工作中,设备的编排是一项十分复杂、棘手的工作。在编排过程中,由于数量多容易出错。利用计算机辅助进行设备编排工作,既提高了编排的科学性,又可大大减轻管理人员的工作强度,提高工作效率,从而教学设备管理现代化迈上了一个新台阶。又因为现在各个高校内教学设备众多但自动管理水平相比过低,很多高校管理设备都采用在设备购进以后将设备的基本情况和相关信息登记存档。存档以后档案基本就没人记录与维护,至于以后设备的变迁或损坏都不会记录在设备档案中,即不能体现设备的即时状态。而有些即使有设备管理系统的单位,就算是能把设备的即时信息体现在设备档案上,但设备的缺陷处理及设备缺陷等功能没有实施,设备检修的备品备件情况和检修成本核算没有实现,整个学校教学设备管理信息化仍处于较低水平。将管理任务分成小块,落实到个人并能随时查询设备当前情况和历史情况,对设备的可靠性分析有直接作用,使管理人员从手工计算、统计工作中解脱出来。2、开发环境系统软件:Windows764位;编译环境:Eclipse+JDK7+Tomcat7.0;数据库管理系统:MySql5.6;3、技术方案本系统开发将基于JSP的B/S动态网站开发及数据库连接,运用JAVA编程语言;采用面向对象的设计方法进行方案设计,选择Eclipse+JSP作为开发工具;采用关系型数据库技术;采用MySQL作为数据库平台,并采用MySQLJDBC数据库驱动Connector/J,使服务器与数据库完美连接;采用JSP服务器:Tomcat7.0,小巧实用的JSP服务器,以上技术都具有成熟的开发条件,具有技术可行性。 前台应用程序:JSP+ Servlet技术 后台数据库:MySQL小型数据库 二、功能分析(包括项目包含主要模块及其功能介绍等)实验室设备管理系统主要包括以下六个功能模块:(1)人员管理模块本模块主要是对管理人员的信息进行查看、添加、修改,包括员工账号、密码、权限等。(2)设备管理模块本模块主要是对设备的添加、查询和资金进行管理,设备信息包括设备编号、设备名称、设备类别、型号、规格、单价、数量、购买日期等信息。(3)设备购买模块本模块主要是对申请购买设备和申请记录进行管理,申请记录包括申请记录编号、设备名、类别、型号、规格、日期等信息。(4)设备维修管理模块本模块主要是对于有问题故障的需要修理的设备,记录修理日期、设备编号、修理厂家、修理费、责任人等。随时对设备修理情况进行统计,并能够按类别、修理厂家和修理日期查询修理情况(5)设备报废处理模块本模块主要是对已经彻底损坏的设备作报废处理,详细记录报废设备的有关信息,并随时对设备报废情况进行统计和查询。(6)系统管理模块本模块主要是对管理员进行管理,增加管理员的信息。关于实验室设备管理系统的功能模块详见下图1.1图1.1实验室设备管理系统功能模块 三、数据库设计(包括所有表的表结构及ER图等)1、E-R图设备信息表E-R图如图1.2所示。保质期购买日期数量经办人生产厂家设备信息设备类别型号设备名称设备编号规格单价图1.2设备信息表E-R图员工信息表E-R图如图1.3所示。密码员工信息权限员工账号图1.3员工信息表E-R图购买记录表E-R图如图1.4所示。购买记录设备名类别型号规格生产厂家数量单价记录编号日期 图1.4购买记录表E-R图维修记录表E-R图如图1.5所示。维修记录维修日期设备编号修理费用修理厂家记录编号责任人图1.5维修记录表E-R图报废记录表E-R图如图1.6所示。报废记录记录编号设备编号报废日期批准情况报废数量图1.6报废记录表E-R图汇总后略去各实体属性之后,实验室设备管理系统的总E-R图如图1.7所示,图1.7实验室设备管理系统总E-R图 2、数据表结构本系统采用的数据库系统为MySQL5.6,在数据库系统中新建一个名为device的数据库,该数据库中包含5各表如表1.1-表1.5所示。表1.1设备信息表(deviceinfo)属性名数据类型是否为空描述IdInteger否设备编号NameVarchar(45)否设备名称CategoryVarchar(45)设备类别ModelVarchar(45)型号SpecificationVarchar(45)规格unitPriceVarchar(45)单价QuantiyVarchar(45)数量PurchasedateDate购买日期ManufacturerVarchar(45)生产厂家ShellifeVarchar(45)经办人表1.2员工信息表(deviceuser)属性名数据类型是否为空描述UsernameVarchar(45)否员工账号PasswordVarchar(45)否密码AuthorityVarchar(45)权限表1.3购买记录表(applyinfo)属性名数据类型是否为空描述IdInteger否申请记录编号NameVarchar(45)设备名称CategoryVarchar(45)设备类别ModelVarchar(45)型号SpecificationVarchar(45)规格unitPriceVarchar(45)单价QuantiyVarchar(45)数量DateDate购买日期ManufacturerVarchar(45)生产厂家表1.4维修记录表(repairrecords)属性名数据类型是否为空描述IdInteger否维修记录编号DeviceidVarchar(45)设备编号DateDate维修日期日期FactoryVarchar(45)修理厂家ExpenseVarchar(45)修理费用OperatorVarchar(45)责任人 表1.5报废记录表(discardrecords)属性名数据类型是否为空描述IdInteger否报废记录编号DeviceidVarchar(45)设备编号DateDate报废日期QuantityVarchar(45)报废数量RatifyVarchar(45)批准情况四、详细设计(包括主要模块的具体实现代码等)1、项目目录结构创建完项目后就是为项目添加必需的库文件,如数据库的JDBC库文件等。下图给项目源文件的WebContent文件目录和包结构。图1.8WebContent文件目录图1.9包结构 2、用户登录模块此模块主要是用于用户登录和注册,老用户可以直接登录,新用户可以先注册然后登录。如下图所示。【login.jsp】<%@pagecontentType="text/html;charset=utf-8"%>用户登录functioncheck(){//验证数据的合法性if(form1.username.value==""){alert("用户名不能为空,请输入用户名!");form1.username.focus();returnfalse;}if(form1.password.value==""){alert("用户密码不能为空,请输入密码!");form1.password.focus();returnfalse;}if(form1.yzm.value==""){alert("验证码不能为空!");returnfalse; }}//用于刷新验证码functionmyReload(){document.getElementById("imageMask").src=document.getElementById("imageMask").src+"?nocache="+newDate().getTime();}
用户名:密    码:验证码:看不清换一张  下图为登陆后的主界面:3、人员管理模块如下图所示,为浏览员工信息:【user_view.jsp】<%@pagelanguage="java"import="java.util.*,device.*"contentType="text/html;charset=UTF-8"%> 当前位置:管理首页>人员管理>浏览员工信息员工账号密码权限<%request.setCharacterEncoding("UTF-8");Useruser=newUser();Vectorvec=user.getMoreUser();intnum=vec.size();if(num==0)out.println("目前还没有记录");else{for(inti=0;i<%=user.getUser_name()%><%=user.getUser_password()%><%=user.getUser_authority()%><% }//endfor}//endif%>共有<%=num%>条数据4、设备管理模块如下图所示,为添加设备信息界面: 【device_insert.jsp】<%@pagelanguage="java"import="java.util.*"contentType="text/html;charset=UTF-8"%>添加设备当前位置:管理首页>设备管理>添加设备信息添加设备设备编号设备名称设备类别---select---AAABBBCCC型号---select---AAABBBCCC规格单价数量购置日期 生产厂家保质期经办人

如下图所示,为查询设备信息的界面:【device_view.jsp】<%@pagelanguage="java"import="java.util.*,device.*"contentType="text/html;charset=UTF-8"%>当前位置:管理首页>设备管理>查询设备信息 筛选数据:---select------select------select---全部状态正常待报废设备名称责任人设备编号设备名称设备类别型号规格单价数量购买日期生产厂家保质期经办人操作 <%request.setCharacterEncoding("UTF-8");Devicedev=newDevice();Vectorvec=dev.getMoreDevice();intnum=vec.size();if(num==0)out.println("目前还没有设备");else{for(inti=0;i<%=dev.getDev_id()%><%=dev.getDev_name()%><%=dev.getDev_category()%><%=dev.getDev_model()%><%=dev.getDev_specification()%><%=dev.getDev_unitPrice()%><%=dev.getDev_quantity()%><%=dev.getDev_purchaseDate()%><%=dev.getDev_manufacturer()%><%=dev.getDev_shelfLife()%><%=dev.getDev_operator()%>"target=main>删除<%}//endfor}//endif%>共有<%=num%>条数据 5、购买管理模块如下图所示,为申请购买的界面:【apply_insert.jsp】<%@pagelanguage="java"import="java.util.*"contentType="text/html;charset=UTF-8"%>设备购买申请表 当前位置:管理首页>购买管理>申请购买实验室设备购买申请记录编号: 设备名:类别:型号:规格:单价:请输入数字 数量:添加记录日期:(格式:2012-12-12)生产厂家:     如下图所示,为查询申请记录的界面:【apply_view.jsp】<%@pagelanguage="java"import="java.util.*,device.*"contentType="text/html;charset=UTF-8"%> 当前位置:管理首页>购买管理>查询申请记录申请记录编号设备名类别型号规格单价数量添加记录日期生产厂家<%request.setCharacterEncoding("UTF-8");Applyapp=newApply();Vectorvec=app.getMoreApply();intnum=vec.size();if(num==0)out.println("目前还没有记录");else{for(inti=0;i<%=app.getApp_id()%><%=app.getApp_name()%><%=app.getApp_category()%> <%=app.getApp_model()%><%=app.getApp_specification()%><%=app.getApp_unitPrice()%><%=app.getApp_quantity()%><%=app.getApp_date()%><%=app.getApp_manufacturer()%><%}//endfor}//endif%>共有<%=num%>条数据6、维修管理模块如下图所示,为添加维修记录的界面: 【repair_insert.jsp】<%@pagelanguage="java"import="java.util.*"contentType="text/html;charset=UTF-8"%>添加维修记录当前位置:管理首页>维修管理>添加维修记录 实验室设备维修修理记录编号: 请输入数字设备编号: 请输入数字维修日期:(格式:2012-12-12) 修理厂家:维修费用: 请输入数字责任人:      如下图所示,为查询维修记录的界面:【repair_view.jsp】<%@pagelanguage="java"import="java.util.*,device.*"contentType="text/html;charset=UTF-8"%> 当前位置:管理首页>维修管理>查询维修记录维修记录编号设备编号维修日期修理厂家修理费用责任人<%request.setCharacterEncoding("UTF-8");Repairrep=newRepair();Vectorvec=rep.getMoreRepair();intnum=vec.size();if(num==0)out.println("目前还没有记录");else{for(inti=0;i <%=rep.getRep_id()%><%=rep.getRep_deviceId()%><%=rep.getRep_date()%><%=rep.getRep_factory()%><%=rep.getRep_expense()%><%=rep.getRep_operator()%><%}//endfor}//endif%>共有<%=num%>条数据 7、报废管理模块如下图所示,为添加报废记录的界面:【discard_insert.jsp】<%@pagelanguage="java"import="java.util.*"contentType="text/html;charset=UTF-8"%>添加设备报废记录当前位置:管理首页>报废处理>添加报废记录 报废设备记录报废记录编号设备编号报废日期报废数量

如下图所示,为查询报废记录的界面:【discard_view.jsp】<%@pagelanguage="java"import="java.util.*,device.*"contentType="text/html;charset=UTF-8"%> 当前位置:管理首页>报废处理>查询报废记录报废记录编号设备编号报废日期报废数量批准情况<%request.setCharacterEncoding("UTF-8");Discarddis=newDiscard();Vectorvec=dis.getMoreDiscard();intnum=vec.size();if(num==0)out.println("目前还没有记录");else{for(inti=0;i<%=dis.getDis_id()%><%=dis.getDis_deviceId()%><%=dis.getDis_date()%><%=dis.getDis_quantity()%><%=dis.getDis_ratify()%><%}//endfor }//endif%>共有<%=num%>条数据五、心得总结(包括项目缺点、改进方案、遇到的困难及解决途径等)在本次的实验中,在老师的带领下,在收获知识的同时,还收获了阅历,收获了成熟。在此过程中,我们通过查找大量资料,请教老师,以及不懈的努力。不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,在实验课上,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践再学习、再实践。通过此次课程设计,使我更加扎实的掌握了有关数据库方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了 前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。过而能改,善莫大焉。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。这次课程设计终于顺利完成了。在设计中遇到了很多问题,最后在老师的指导下,最终都解决了。在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘,而不是知难而退,那样永远不可能收获成功,收获喜悦,也永远不可能得到社会及他人对你的认可。在本次课程设计中,指导老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我受益匪浅。无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高这对于我以后的工作和学习都有一种巨大的帮助。在系统开发过程中老师给予我们很大的帮助,帮助解决了不少的难点,使得系统能够及时开发完成,还有许多同学同样给与了我不少的帮助,衷心的感谢牛荣老师和同学们的精心指导和帮助。实践是巩固所学知识最好的方法。这次的系统设计使我学到了很多知识和编程技巧。也使我自己的水平提升到了一个新的台阶。再次感谢给予我帮助的老师和同学们。 参考文献[1]梁胜彬、乔保军:《JavaWeb应用开发与实践》,清华大学出版社,2012[2]沈应逵.《java Web数据库系统应用开发与实例》,人民邮电出版社,2004 [3]沈应逵.《java Web数据库系统应用开发与实例》,人民邮电出版社,2004  项目计分表(由指导老师填写)分数分布注释得分项目报告(共10分)项目展示(共5分)备注'