实验设备申报管理系统.docx_第1页
实验设备申报管理系统.docx_第2页
实验设备申报管理系统.docx_第3页
实验设备申报管理系统.docx_第4页
实验设备申报管理系统.docx_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验设备申报管理系统摘 要:随着信息化潮流,企业、政府的运作机制正发生着根本的改变。而站在潮流前端的大中院校,也以自身的优势进行真改变。能将人、时间、信息良好的连接与处理是每个学校一直追求的。对学校而言,实验设备是一个重要组成部分,是政府、社会、以及每个即将走进学校的和在校的学生关心的。那么如何做到实验设备申请的自动化运作?如何方便各系部对实验设备更新补充的申请?如何对申请的设备快速评定审批?如何对申请信息统一保存?为解决上述问题,基于网络的方便设计一套适合的设备申报管理系统,就显得尤为重要。结合学校实验设备申报管理的现状,考虑系统运行的环境及使用者的使用习惯,以及对JSP设计、管理系统、数据库进一步的深入学习,本人首先针对学校实验设备申报环节进行使用分析、模块划分、数据库分析,然后根据分析结果设计了应用程序和数据库结构。在系统测试运行期间进行记录,结果证明此实验设备申报管理系统可以达到满足用户的基本需求。关键词:申报管理;系统;实验设备;申报;网络Laboratory equipment management system for reportingAbstract:With the trend of information technology, business, government operating mechanism of the fundamental changes are taking place. Standing in front of the trend of large and medium institutions, but also to their own advantage for real change. Can people, time, information processing is a good connection with each school has been pursuing.The school, the laboratory equipment is an important part of the government, society, and each is about to enter school and college students care about. So how do automated test equipment applications work? How each department the Ministry of laboratory equipment to facilitate updating of the application? How to quickly assess the application for approval of equipment? How to apply for unified information stored?To solve the above problem, easy to design a web-based report management system for the device, it becomes particularly important.Management of the school report with the status of laboratory equipment, consider the system operating environment and the users habits, I am JSP design, management systems, databases were deeper learning, first of all laboratory equipment for schools to declare part of the application analysis, module division , database modeling, and then designed based on the analysis of the application and database structure. The system is observed during the test run, the result proves that the laboratory equipment and reporting management system can meet user needs a certain degree.Keywords:Reporting management; system; laboratory equipment; reporting; Network实验设备申报管理系统第一章 项目背景随着信息化潮流,企业、政府的运作机制正发生着根本的改变。如今传递快捷、修改方便、易于保存、易于查询的电子化表格已经逐步将传统的纸质表格取代。站在潮流前端的大中院校,由于自身处于社会中的特点和优势正引领这一改变的进行。每个学校对于将人、时间、信息良好的连接与处理的追求也正在逐步的实现。对学校而言,实验设备是一个重要组成部分,是政府、社会、以及每个即将走进学校的和在校的学生关心的。那么如何做到实验设备申请的自动化运作?如何方便各系部对实验设备更新补充的申请?如何对申请的设备快速评定审批?如何对申请信息统一保存?为解决上述问题,基于网络的方便设计一套适合的设备申报管理系统,就显得尤为重要。第二章 开发平台2.1 开发平台简述2.1.1 软件平台操作系统:Microsoft Windows 2000/XP/2003简体中文版数据库:MySQL开发工具:Myeclipse 8.0图片工具:Adobe Photoshop CS4 简体中文版 Adobe Illustrator CS4简体中文版文档工具:Microsoft Word2007 简体中文版2.1.2 硬件平台CPU: Pentium III 1GHz (或以上)内存:512MB(或以上)容量显卡:16MB(或以上)显存硬盘:至少200MB剩余空间2.2 开发工具简述2.2.1 开发软件工具MyEclipse:MyEclipse Enterprise Workbench ,简称MyEclipse,企业级工作平台。是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。MyEclipse结构模块化,能在不影响其他模块的情况下对任一模块进行单独的扩展和升级。完全支持HTML, CSS, Javascript, JSF,Struts, SQL, Hibernate。其中,本系统采用的是struts+spring+hibernate的框架组合。Struts 2:Struts的下一代产品。为传统的Struts1注入了WebWork的先进的设计理念,统一了Struts1和WebWork两个框架。大量使用拦截器来处理用户的请求,从而允许用户的业务逻辑控制器与Servlet API分离。Spring:开源框架,由Rod Johnson创建。支持AOP编程,支持声明式事务,使用基本的JavaBean来完成以前只可能由EJB完成的事情。方便解耦,简化开发,方便程序的测试,方便集成各种优秀框架降低Java EE API的使用难度。Hibernate:开放源代码的对象关系映射框架,对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。并且移植性好,有缓存机制,提供一级缓存和二级缓存,无侵入性,即所谓的轻量级框架和透明持久化。可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Struts2+Spring+Hibernate框架为J2EE三层结构,分别为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。三层框架分工明确,单一框架的侵入性较弱,对保证程序低耦合高内聚的性质有利。从软件行业的特殊性考虑,由于软件行业并非传统行业,是高新技术含量的行业。软件行业不同于传统行业的最大的区别就在于:传统行业产品交付客户使用后,很少需要再进行后期维护。但软件行业不同,从软件的设计、开发、搭建到后期软件的维护、升级,都需要软件制造企业全称跟随服务。这一特点决定了软件行业的特殊性以及新颖性。由于软件行业的特殊性,软件开发的效率、周期就极为重要。使用S2SH框架开发可以极大的提高软件开发的效率、缩短软件开发周期,使软件的制造进入批量化时代。因此,本系统选用S2SH框架进行开发。2.2.2 数据库系统MySQL:小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库第三章 软件模块构成3.1 系统模块结构图3.2 系统模块简介实验设备申报管理系统主要由系统登陆,数据保存与提交,数据汇总,数据查询四个用户使用模块组成。而管理员也可根据数据汇总模块,数据查询模块中的数据进行审批回复。3.2.1 界面模块简介在界面模块中,用户、管理员使用系统登陆模块登录系统,系统将根据账号自身身份自动登录相关权限的界面。用户可进一步实用数据保存与提交模块,数据查询模块,数据修改模块。管理员可进一步使用数据汇总模块,数据查询模块,以及对用户数据进行审批回复。3.2.2 业务流程简介用户登录系统后,根据自身情况填写申报数据。如填写完成后确认无误,可直接提交申报,系统将自动保存并提交申请。如有数据需进一步核实,则可以选择保存,将数据保存到系统,然后在核实数据后对申报进行修改或提交。管理员登录系统后可根据系统运行情况可对流程模块进行更新维护及申报数据审批,该模块涉及权限操作,包括数据汇总模块,数据查询模块,数据提交模块。各个模块根据用户的选择对信息进行有效的筛选和传递,达到对各用户的实验设备申报进行汇总、查询,最终实现对用户的实验设备申报的回复。业务流程图:第四章 其它设计4.1 系统界面风格描述系统界面图片通过Ps与Ai进行制作,界面采用html和css格式表绘制,与学校的整体网络的风格形成一致,用户通过界面操作可进行实验设备的申报。出于对用户需求充分分析,考虑到一般情况下个人操作的习惯,在测试过程中进一步对申报过程的数据全面性,及操作的简洁性进行改善。通过在界面内部附加标签,达到清晰的数据取用以及显示。4.2 系统界面特点系统登录后可根据登陆账号区分登陆者的实用权限,界面设计考虑学校网站的整体风格,进行界面美观处理,使用者可轻松进行实验设备的申报、修改、审批。4.3 系统需求分析设计传统的设备申报过程是在纸质的表格上进行填写,然后穿梭于各个审批部门进行审批,这种申报模式首先占用了申报人大量的时间,而纸质的表格在申报的过程中,以及对申报表格进行归档都是不方便保存的。而此申报管理系统运用互联网的方便快捷,以及电子数据在归档、存储上方便等优点,可以很大程度上减少申报者的申报周期,也方便管理者对申报数据的保存。第五章 数据库设计5.1 数据库管理系统知识概述MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL最初的开发者的意图是用mSQL和他们自己的快速低级例程(ISAM)去连接表格。不管怎样,在经过一些测试后,开发者得出结论:mSQL并没有他们需要的那么快和灵活。这导致了一个使用几乎和mSQL一样的API接口的用于他们的数据库的新的SQL接口的产生,这样,这个API被设计成允许为用于mSQL而写的第三方代码更容易移植到MySQL。MySQL这个名字是怎么来的已经不清楚了。基本指南和大量的库和工具带有前缀“my”已经有10年以上,而且不管怎样,MySQL AB创始人之一的Monty Widenius的女儿也叫My。这两个到底是哪一个给出了MySQL这个名字至今依然是个迷,包括开发者在内也不知道。MySQL的海豚标志的名字叫“sakila”,它是由MySQL AB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者Ambrose Twebaze提供。根据Ambrose所说,Sakila来自一种叫SiSwati的斯威士兰方言,也是在Ambrose的家乡乌干达附近的坦桑尼亚的Arusha的一个小镇的名字。MySQL自身特点:1.使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统3.为多种编程语言提供了API。这些编程语言包括C、C+、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。4.支持多线程,充分利用CPU资源5.优化的SQL查询算法,有效地提高查询速度6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径8.提供用于管理、检查、优化数据库操作的管理工具9.可以处理拥有上千万条记录的大型数据库MySQL与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。目前Internet上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统。5.2 数据库设计1、数据库名:EqMaSy2、数据库构成数据库表一: t_user_infor 数据库表二: t_equipment 数据库表三:t_temporarily3、数据表结构描述(1)表一 表名:t_user_infor序号字段名字段类型字段宽度说明1IdBigint20用户ID号(系统生成2usernameVarchar20用户名(登录名)3passwordVarchar20用户密码4competenceint5用户权限(2)表二 表名:t_equipment序号字段名字段类型字段宽度说明1E_idbigint20ID号2E_stu_year_ semvarchar80学年,学期3E_departmentvarchar80系别4E_namevarchar80设备名称5E_modelvarchar80设备型号6E_per_priceint11单价7E_app_numint11订购数量8E_total_priceint11金额9E_exp_useint11预期使用率10E_have_numint11现存设备数量11E_intact_perint11完好程度12E_now_useint11现有利用率13E_auditvarchar255是否通过审核14E_reasontext0申购理由15E_budgettext0设备选型论证16E_ apply_datevarchar30申购日期(2)表三 表名:t_temporarily序号字段名字段类型字段宽度说明1E_idbigint20ID号2E_stu_year_ semvarchar80学年,学期3E_departmentvarchar80系别4E_namevarchar80设备名称5E_modelvarchar80设备型号6E_per_priceint11单价7E_app_numint11订购数量8E_total_priceint11金额9E_exp_useint11预期使用率10E_have_numint11现存设备数量11E_intact_perint11完好程度12E_now_useint11现有利用率13E_auditvarchar255是否通过审核14E_reasontext0申购理由15E_budgettext0设备选型论证16E_ apply_datevarchar30申购日期第六章 软件模块详细设计说明6.1 登录模块详细设计文件名:login.jsp loginform.java loginaction.java相关数据表:t_user_infor界面构成:序号控件类型控件名称备注1InputUsername用户名输入框2InputPassword用户密码输入框3ButtonSubmit进入系统按钮功能:本系统无注册选项,用户登录用的账户密码由管理员分配给个系部,并将已分配的账户信息录入t_user_infor表中。用户通过本界面输入用户名及密码,由模块自动识别身份,区分权限。将用户名和密码传入loginform, 由loginaction中的loginaction类调用findByUsername,通过hibernate控件,将用户输入的用户名、密码与数据库中的t_user_infor表中的用户名、密码进行匹配,以实现用户登录功能。代码:try TUserInforDAO logindao = new TUserInforDAO();session1 = logindao.getSession();tx1 = session1.beginTransaction();List list = logindao.findByUsername(loginform.getUsername();if (list.size() 0) result = success;tuserinfor = (TUserInfor)list.get(0);if (tuserinfor.getPassword().equals(loginform.getPassword()result = success;elseresult = error; elseresult = error;mit(); catch (Exception e) e.printStackTrace();tx1.rollback(); finally if (session1 != null) if (session1.isOpen() session1.close();return mapping.findForward(result);6.2 录入数据模块详细设计文件名:submit.jsp submitform.java submitaction.java相关数据表:t_equipment界面构成:序号控件类型控件名称备注1SelectEStuYearSem学期选择框2SelectEDepartment系别选择框3InputEModel设备型号输入框4InputEApplyDate申购日期框5InputEIntactPer完好程度输入框6InputEAppNum设备订购数量输入框7InputEName设备名称输入框8InputEPerPrice设备单价输入框9InputEHaveNum设备已有数量输入框10InputEExpUse设备预计使用率输入框11InputENowUse设备现使用率输入框12InputETotalPrice设备总金额输入框13TextareaEReason设备申购理由输入框14TextareaEBudget设备选型论证输入框15ButtonSubmit提交表单按钮16ButtonReset表单清空按钮功能:用户登录后,将转至本界面中,由用户填写申报信息。用户填写好表单后,若点击提交按钮,系统将表单中的数据传入submitform,并打包成为一个session,并且submitaction中的submitaction方法将从session中获取submitform中的表单,通过hibernate组件,将用户提交的表单中的信息写入数据库中存储,然后执行提交命令(详见6.5 提交申报数据模块详细设计)。若用户点击保存按钮,则执行保存命令,将表单中的数据传入submitform,打包成为一个session,并且submitaction中的submitaction方法将从session中获取submitform中的表单,通过hibernate组件,将用户提交的表单中的信息写入数据库中存储。若用户点击重置按钮,则表格内容重置清零。代码:try Configuration cfg=new Configuration().configure();SessionFactory factory=cfg.buildSessionFactory();session=factory.openSession();tx=session.beginTransaction();session.save(tequipment);mit();result=success;request.setAttribute(tequipment, tequipment);catch(Exception e)result=error;e.printStackTrace();tx.rollback();finallyif(session!=null)if(session.isOpen()session.close();return mapping.findForward(result);6.3 汇总数据模块详细设计文件名:summary.jsp summaryaction.java submitform.java相关数据表:t_equipment界面构成:功能:用户点击汇总按钮后,命令提交到summaryaction类中,由actionforword方法利用hibernate对数据库中该账户提交的所有信息进行查询,并将数据取出,存入summarylist变量中,由网页中的jstl标签读取summarylist中的数值,并绘制表单,将数据显示在网页上。代码:summaryaction类主方法public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) SubmitForm submitForm = (SubmitForm) form;String result = error;TEquipment tequipment;Transaction tx = null;Session session = null;List summarylist=null;try TEquipmentDAO dao = new TEquipmentDAO();session = dao.getSession();tx = session.beginTransaction();summarylist = new ArrayList();summarylist = dao.findAll();if (summarylist.size() 0) HttpSession httpsession = request.getSession(true); httpsession.setAttribute(cataloglist,summarylist); /request.setAttribute(cataloglist,summarylist);result = success; elseresult = error;mit(); catch (Exception e) e.printStackTrace();tx.rollback(); finally if (session != null) if (session.isOpen() session.close();return mapping.findForward(result);网页JSTL标签:6.4 查询数据模块详细设计文件名:chackout.jsp chack.jsp submitform.java chackoutaction.java相关数据表:t_equipment界面构成:序号控件类型控件名称备注1SelectEStuYearSem学期选择框2SelectEDepartment系别选择框3InputEApplyDate日期输入框4InputEModel设备型号输入框5ButtonSubmit提交按钮6ButtonReset表单清空按钮功能:用户在此页面通过填写学期、系别、申购日期、设备型号四项信息来查找该用户账户已经保存的申报数据。获得返回值后,转入chack.jsp页面,显示用户查询的设备申报详细数据信息,包括申报部门、申报时间、申报设备名称等等。而对已经提交的申报数据,管理员的审批进度以及审批结果也将在显示。代码:public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) SubmitForm submitForm = (SubmitForm) form;String result = error;TEquipment tequipment;Transaction tx = null;Session session = null;List summarylist=null;List chack=null;try TEquipmentDAO dao = new TEquipmentDAO();session = dao.getSession();tx = session.beginTransaction();summarylist = new ArrayList();summarylist = dao.findAll();chack = dao.findByEStuYearSem(submit);&dao.findByEDepartment(submit)&dao.findByEModel(submit)&dao.findByEApplyDate(submit);if (chack!=null) result = success; elseresult = error;mit(); catch (Exception e) e.printStackTrace();tx.rollback(); finally if (session != null) if (session.isOpen() session.close();return mapping.findForward(result);6.5 申报数据修改提交模块详细设计文件名:chack.jsp submitform.java chackoutaction.java相关数据表:t_equipment界面构成功能:用户在填写完申报数据并选择保存后,可通过汇总模块和查询模块找到该次申报。并根据用户需求,可进一步在此申报数据修改提交模块中进行修改或提交。若用户在填写完申报数据后直接进行提交,则系统在自动保存数据信息后直接提交申报。而在提交过后,管理员则通过汇总数据模块查看用户提交的申请数据,并根据情况进行审批。第七章 项目测试项目测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。7.1 登录模块测试测试方案:1. 调用本模块的输入参数是否正确2. 全局数据对模块的影响3. 选择适当的测试用例,对模块中重要的执行路径进行测试4. 出错的描述是否能够对错误定位5. 注意数据流、控制流中刚好等于、大于或小于确定的比较值时出错的可能性。对这些地方要仔细地选择测试用例,认真加以测试。测试结果:模块输入参数正确。全局数据对单一、似有模块影响小。重要数据路径测试通过,数据路径安全。异常抛出位置准确。数据流控制正常。7.2 录入数据模块测试测试方案:1. 调用本模块的输入参数是否正确2. 全局数据对模块的影响3. 选择适当的测试用例,对模块中重要的执行路径进行测试4. 出错的描述是否能够对错误定位5. 注意数据流、控制流中刚好等于、大于或小于确定的比较值时出错的可能性。对这些地方要仔细地选择测试用例,认真加以测试。测试结果:各模块间数据传输正常,未出现数据丢失现象。单一模块内聚性好,耦合性低。各父功能下属子功能实现完整,父功能实现完整。全局数据结构设计正常。7.3 汇总数据模块测试测试方案:1. 调用本模块的输入参数是否正确2. 全局数据对模块的影响3. 选择适当的测试用例,对模块中重要的执行路径进行测试

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论