- 1.14 MB
- 2022-05-17 11:09:38 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
大学设备管理系统学院:软件学院专业:软件工程指导教师:李光辉,何志英2014年9月
大学设备管理系统摘要在进入信息时代以来,随网络技术与电脑的日逐发达,电子商务的空前发展,企业之间的竞争已经逐渐地从有形的市场转向了网络化。而相对应的企业售后管理也逐步进入了信息化轨道——大学设备管理系统就是这样应运而生了。大学设备管理系统是为了增强设备管理服务管理能力而设计开发出来的。系统设计的目的是为了对大学设备管理实现统一管理,提供设备管理服务信息,为决策提供支持,给用户及时沟通需要提供方便,配合与其它系统的工作。针对以上问题,设计开发了大学设备管理系统,本系统前台主要使用JSP作为开发语言,后台使用MySQL作为数据库管理系统,开发环境是MyEclipse,服务器采用tomcat,开发出的一个基于Web技术的B/S结构的大学设备管理系统。关键词:设备管理,WEB,JSP,B/S结构
UNIVERSITYOFEQUIPMENTMANAGEMENTSYSTEMABSTRACTInthecomingoftheinformationtime,alongwiththenetworktechnologyandthecomputerdaygraduallydeveloped,theelectroniccommercedevelopment,thecompetitionbetweenenterpriseshasgraduallyfromtangiblemarketintonetwork.Whilethecorrespondingenterprisecustomerservicemanagementhasgraduallyenteredtheinformationtrack--computeraftersaleservicemanagementsystemistheemergeasthetimesrequire.Brainaftersaleservicemanagementsystemistoenhancethecomputeraftersaleservicemanagementcapabilityanddesigndevelopedbycomputeraftersaleserviceinformationmanagementsystem.Thesystemisdesignedtothecomputeraftersaleserviceinformationtoachieveunifiedmanagement,toprovidecomputeraftersaleserviceinformation,providesthesupportforthedecision-making,totheuserneedstoprovideconvenientandtimelycommunication,coordinationwithothersystemwork.Inviewoftheaboveproblems,designanddevelopmentofcomputerrepairmanagementsystem,thissystemmainlyusestheJSPasadevelopmentlanguage,theuseofMySQLasadatabasemanagementsystem,thedevelopmentenvironmentisMyEclipse,serverusingtomcat,developedaWebtechnologybasedonB/Sstructurerepaircomputermanagementsystem.Keywords:aftersaleservice,WEB,JSP,B/Sstructure
目录1引言11.1课题背景11.2目的和意义11.3开发工具及技术21.3.1开发工具21.3.2JSP21.3.3JavaScript41.4软硬件需求42需求分析52.1需求调研52.2可行性分析52.2.1技术的可行性52.2.2经济的可行性52.2.3操作可行性52.2.4法律的可行性62.3系统用户用例图62.3.1管理员用例图62.4功能模块需求分析62.5设计的基本思想72.6性能需求82.6.1系统的安全性82.6.2数据的完整性82.7界面需求83系统分析与设计103.1数据库的分析与设计103.1.1数据库的概念结构设计103.1.2数据库的逻辑结构设计12第Ⅰ页共Ⅱ页
3.1.3数据库的连接原理153.2中文乱码问题处理174系统功能实现184.1系统登陆页面实现184.2管理员功能模块204.2.1工程师信息管理214.2.2用户信息管理234.2.3入库信息管理254.2.4出库信息管理264.2.5维修信息管理274.2.6费用信息管理284.2.7库存管理294.2.9退出系统305系统测试315.1系统测试目的与意义315.2测试过程315.2.1主页面的登录模块测试315.3其他错误32结论33参考文献34致谢35第Ⅱ页共Ⅱ页
1引言1.1课题背景随着科技发展和社会进步,尤其是计算机大范围的普及,计算机应用逐渐由大规模科学计算的海量数据处理转向大规模的事务处理和对工作流的管理,这就产生了以台式计算机为核心,以数据库管理系统为后台的管理信息系统在大规模的事务处理和对工作流的管理等方面的应用,特别是在企业计算机管理管理之中的应用日益收到人们的关注。近年来我国信息产业、企业计算机管理发展迅速,传统管理方式在企业计算机管理等需要大量事务处理的应用中已显得不相适应,采用新技术提高服务质量和管理水平势在必行。企业计算机管理管理系统必须提高其工作效率,改善其工作环境。这样,企业计算机管理管理的信息化十分必要。计算机管理,是企业服务的重要组成部分。做好计算机管理,不仅关系到该企业产品的质量,更关系到客户能否得到真正的、完全的满意。好的计算机管理不仅是实现企业销售目标的条件之一,而且是对顾客的庄严承诺。企业通过对产品的跟踪服务,通过对返还产品的维修信息及用户的反馈信息的统计,从而对产品进行改进,以达到提高产品质量,增强企业效益的目的。在市场经济中,任何一种产品、任何一个取得成功的企业,都各有自己的致胜之道。一个企业如果要想做大、做强,产品的计算机管理可以说是一个极为重要的环节。计算机管理是激烈的市场竞争的产物和品牌立足于强手之林的基础。1.2目的和意义随着市场竞争的日趋激烈,计算机管理已成为实现企业自身战略目标的一个非常关键的因素。企业计算机管理质量的投入程度在很大程度上决定了该企业的兴衰与成败。如何能保持本企业高质量的计算机管理,激励客户的购买欲望,已成为困扰企业主管的一个日益尖锐的问题。通过建立透明、相容、一致、易查和全面的设备管理服务信息系统,将与人相关的信息统一地管理起来,才有可能实现“公平、公正、合理”原则。利用计算机网络的巨大潜在力量、数据信息的理念,从而减少人、物及财等方面上的消耗,完成合理的资源分配。因此,开发这样一套大学设备管理系统软件成为很有必要的事情。第35页共35页
1.3开发工具及技术1.3.1开发工具此次设计主要采用MyEclipse加Tomcat后台服务器进行,设计过程中页面主要使用JSP技术完成,下面对MyEclipse、Tomcat和MySQL数据库进行简要介绍。(1)MyEclipseMyEclipse,是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,SQL,Hibernate。(2)TomcatTomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。可以这样认为,当在一台机器上配置好Apahce服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。(3)MySQLMySQL使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性;支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统;为多种编程语言提供了API;支持多线程,充分利用CPU资源;提供TCP/IP、ODBC和JDBC等多种数据库连接途径;可以处理拥有上千万条记录的大型数据库。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。1.3.2JSPJSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态第35页共35页
网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与Servlet一样,是在服务器端执行的,通常返回给客户端就是一个HTML文本,因此客户端只要有浏览器能浏览。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。JSP技术的优点:(1)一次编写,到处运行。除了系统之外,代码不用做任何更改。(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/.net的局限性是显而易见的。(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。(4)多样化和功能强大的开发工具支持。Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下(5)支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVABEANS组件来实现复杂商务功能。内部对象说明:request客户端请求,此请求会包含来自GET/POST请求的参数;response 网页传回客户端的响应;pageContext网页的属性是在这里管理;session与请求有关的会话;applicationservlet正在执行的内容;out用来传送响应的输出流;config代码片段配置对象;page JSP网页本身;exception 针对错误网页,未捕捉的例外。第35页共35页
1.3.3JavaScriptJavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。JavaScript的一个重要功能就是面向对象的功能,通过基于对象的程序设计,可以用更直观、模块化和可重复使用的方式进行程序开发。在HTML基础上,使用Javascript可以开发交互式Web网页。Javascript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。在本系统中很多地方使用了javascript技术,比如说,检验用户输入数据的有效性,是否重复,是否为空等等。1.4软硬件需求硬件需求:CPU:Pentium以上计算机内存:512M以上软件需求:操作系统版本:WindowsXP/vista/Win7开发工具:MyEclipse6.0.1后台服务器:ApacheTomcat6.0开发语言:Java浏览器:IE6.0第35页共35页
2需求分析2.1需求调研在当前中国,计算机管理起步较晚,更有许多的中小型企业计算机管理意识淡薄,问题层出不穷,被广泛投诉。但是随着市场竞争的发展,大部分生产销售企业向服务型企业进行转移,将自身定位于服务型企业,这是一种发展趋势。只有企业产品的现代化,没有企业售后管理的现代化显然不能收到好的口碑,失去无形的经济效益和社会效益。随着网络的普及,建立基于B/S企业计算机管理管理系统,势在必行。2.2可行性分析开发任何一个系统,都会受到时间和资源上的限制。因此,在每一个项目开发之前,都要进行可行性分析,可以减少项目的开发风险,避免人力、物力和财力的浪费。下面就技术、经济、操作和法律四个方面来介绍。2.2.1技术的可行性本系统开发工具是MyEclipse和MySQL数据库,开发语言是Java,主要使用了J2EE的技术,java是一种面向对象编程语言,简单易学而且灵活方便。大三时就学习了java课程,大四期间也系统的了解了J2EE的知识,大学设备管理系统总体上开发难度不高,数据库的设计和操作是本系统设计的核心。在大学期间学习过软件工程,软件测试,UML统一建模语言等课程,每个学期也会完成对应的课程设计,具备一定的系统分析、设计和测试能力。因此,完成系统实现在技术上完全具有可行性。2.2.2经济的可行性如今是信息化时代,信息化管理可以使电脑维修管理工作更加系统化、快速化、全面化。这样可以为企业带来较高的工作效益和经济效益,本系统对计算机配置的要求不高,企业机房更换下来的低配置电脑都可以完全满足需要,再者,企业在管理工作上的高效率和便捷性远远超过了开发本系统的成本,所以在经济上具有完全的可行性。2.2.3操作可行性第35页共35页
本系统操作简单,输入信息页面大多数都是下拉框的选择形式,在某些页面,信息可以自动生成,无需输入,时间的输入也是用的日历控件,操作简便,对操作人员的要求很低,只需对WINDOWS操作熟练,加之对本系统的操作稍加培训即可工作,而且本系统可视性非常好,所以在技术上不会有很大难度。2.2.4法律的可行性本系统是自行开发的管理系统,是很有实际意义的系统,开发环境软件和使用的数据库都是开源代码,开发这个系统不同于开发普通的系统软件,不存在侵权等问题,即法律上是可行的。综上所述,开发一个大学设备管理系统与原有的计算机管理管理方式相比具有速度更快,操作更准确,节省开支等有利之处,因此,建立一个大学设备管理系统是必要可行的。2.3系统用户用例图2.3.1管理员用例图工程师管理修改密码管理员是系统的核心用户,涉及到六大功能模块,管理员对系统的客户信息、备件信息、维修信息有着操作的权限。客户管理入库管理登录系统出库管理库存管理费用结算维修管理图2.1管理员用例图2.4功能模块需求分析本系统最大的特点是使用操作简单、友好的提示信息。本系统将实现以下基本功能:(1)系统具有简洁大方的页面,使用简便,友好的错误操作提示(2)管理员用户具有工程师信息管理、客户信息管理、备件出入库管理、维修信息管理等功能(3)具有较强的安全性,避免用户的恶意操作管理员功能模块图说明:第35页共35页
(1)工程师信息管理模块:在该模块中定义了工程师信息的管理,其功能包括工程师信息的录入、查询、修改、删除等操作。(2)客户信息管理模块:在该模块中定义了客户信息的管理,其功能包括客户信息的录入、查询、修改、删除等操作。(3)入库信息管理模块:在该模块中定义了备件入库信息的管理,其功能包括入库信息的录入、查询等操作。(4)出库信息管理模块:在该模块中定义了备件出库信息的管理,其功能包括出库信息的录入、查询等操作。(5)维修信息管理模块:在该模块中定义了维修信息的管理,其功能包括纵信息的录入、查询等操作。(6)费用信息管理模块:在该模块中定义了费用结算信息的管理,其功能包括费用信息的录入、查询等操作。(7)库存信息管理模块;在该模块中定义了库存信息的管理,其功能是显示此时各种设备的库存量。管理用户模块库存管理费用结算管理维修信息管理备件出库管理备件入库管理客户信息管理修改个人密码工程师信息管理图2.2管理员用户功能模块图2.5设计的基本思想设计思想遵循以下几点:1.第35页共35页
采用B/S模式进行开发,其优点是后台与前台处理层次分明,而且符合众多已经习惯网页方式的用户。2.采用面向对象的开发与设计理念。运用面向对象技术的前提是对整体系统的高度和准确抽象,通过它可以保证系统良好的框架,进而带来产品较强的稳定性和运行效率。3.采用模块化设计。模块化设计要求将整个系统划分成基于小的模块,有利于代码的重载,简化设计和实现过程。4.简单方便的系统界面。设计简单友好的系统界面,方便用户较快的适应系统的操作。5.速度优先原则。由于此工具最重要的评测标准就是速度,因此在设计过程中,具体过程尽量做到资源占用少,速度快。6.设计既要突出重点,又要细致周到。要符合设计需求,在有可能改进的地方进行扩充,使系统更适应用户的需要。2.6性能需求2.6.1系统的安全性大学设备管理系统在管理权限上要严格进行控制,具体要求如下:想登录大学设备管理系统进行操作,必须有操作权限,没有权限的用户不能通过任何方式登录系统查看系统的任何信息和数据,以确保系统的严密性和安全性。2.6.2数据的完整性1.各种记录信息的完整性,信息记录内容不能为空2.各种数据间相互联系的正确性3.相同数据在不同记录中的一致性2.7界面需求界面设计目前已经成为评价软件质量的一条重要指标,一个好的用户界面可以增加用户使用系统的信心和兴趣,提高工作效率,JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。创建动态页面非常方便。用户界面是指软件系统与用户交互的接口,通常包括输出、输入、人-机对话的界面格式等。1.输出设计第35页共35页
输出是由计算机对输入的原始信息进行加工处理,形成高质量的有效信息,并使之具有一定的格式,提供管理者使用,这是输出设计的主要职责和目标。系统设计的过程正好和实施过程相反,并不是从输入设计到输出设计,而是从输出设计到输入设计,这是因为输出表格直接与使用者相联系,设计的出发点应当是保证输出表格方便地为使用者服务,正确及时反映和组成用于各部门的有用信息。输出设计的原则是考虑既要全面反映不同管理层的各项需要,又要言简意赅,不要将用户需要和不需要的都提供给用户。2.输入设计输入数据的收集和录入是比较费事的,需要大量的人力和一定设备,并且容易出错。如果输入系统的数据有错误,则处理后的输出将扩大这些错误,因此输入数据的正确性对于整个系统质量的好坏是具有决定性意义的。输入设计的原则有如下几点:1)输入量应保持在能满足处理要求的最低限度。设计中可采用设置字段初值,下拉式数据窗口等方式尽量减少用户键盘输入量。输入量越少,错误率就越少,数据准备时间也减少。2)输入的准备及输入过程应尽量容易进行,从而减少错误的发生。3)应尽量早对输入数据进行检查(尽量接近原数据发生点),以便使错误及时得到更正。4)输入数据尽早地用其处理所需的形式被记录,以避免数据由一种介质转移到另一种介质时需要转录而可能发生的错误。第35页共35页
3系统分析与设计3.1数据库的分析与设计计算机信息系统以数据库为核心,在数据库管理系统的支持下,进行信息的收集、整理、存储、检索、更新、加工、统计和传播等操作。数据库已经成为现在信息系统等计算机系统的基础与核心部分。数据库设计的好坏直接影响到整个系统的质量和效率。数据库的设计一般经过规划。需求分析、概念设计、逻辑设计、物理设计5个步骤。3.1.1数据库的概念结构设计概念设计是指在数据分析的基础上自底向上的建立整个系统的数据库概念结构,从用户的角度进行视图设计,然后将视图集成,最后对集成的结构分析优化得到最后结果。数据库的概念结构设计采用实体—联系(E-R)模型设计方法。E-R模型法的组成元素有:实体、属性、联系,E-R模型用E-R图表示,是提示用户工作环境中所涉及的事物,属性则是对实体特性的描述。概念设计的目标是产生反映企业组织信息要求的数据库概念结构,即概念模式。概念模式是独立于数据库逻辑结构,独立于支持数据库的DBMS,不依赖于计算机系统的,根据以上对数据库的需求分析,并结合系统概念模型的特点及建立方法,建立E-R模型图。(1)工程师信息实体E-R图如图3.1所示:工作年限年龄QQ联系电话姓名工号客户信息图3.1部门信息实体E-R图(2)客户信息实体E-R图如图3.2所示:第35页共35页
Email地址电话姓名客户信息图3.2客户信息实体E-R图(3)入库信息实体E-R图如图3.3所示设备号入库时间总价数量经办人备件名称入库信息图3.3入库信息实体E-R图(4)出库信息E-R图如图3.4所示数量出库时间经办人备件名称出库信息图3.4库信息实体E-R图第35页共35页
(5)维修信息实体E-R图如图3.5所示工程师收费金额维修内容故障描述客户维修单号维修信息图3.5维修信息实体E-R图(6)管理员信息E-R图如图3.6所示密码登录名管理员信息图3.6管理员信息实体E-R图3.1.2数据库的逻辑结构设计我们知道,数据库概念模型独立于任何特定的数据库管理系统,因此,需要根据具体使用的数据库管理系统的特点进行转换。即转化为按计算机观点处理的逻辑关系模型,E-R模型向关系数据库模型转换应遵循下列原则:*每一个实体要转换成一个关系*所有的主键必须定义非空(NOTNULL)*对于二元联系应按照一对多、弱对实、一对一、多对多等联系来定义外键。根据E-R模型,大学设备管理系统建立了以下逻辑数据结构,下面是各数据表的详细说明。(1)工程师信息表主要是记录了工程师的基本信息,表结构如表3.1所示。第35页共35页
表3.1工程师表(t_gongchengshi)列名数据类型长度允许空是否主键说明idint4否是编号gonghaovarchar50否否工号xingmingvarchar50否否姓名nianlingvarchar50否否年龄nianxianvarchar50否否工作年限dianhuavarchar50否否联系电话qqvarchar50否否QQ(2)客户信息表主要是记录了客户基本信息。表结构如表3.2所示。表3.2客户信息表(t_kehu)列名数据类型长度允许空是否主键说明idint4否是编号xinmingvarchar50否否姓名dianhuavarchar50否否电话dizhivarchar50否否地址emailvarchar50否否邮箱(3)入库信息表主要是记录了备件入库的基本信息,表结构如表3.3所示。表3.3入库信息表(t_ruku)列名数据类型长度允许空是否主键说明idint4否是编号mingchengvarchar50否否备件名称leixingint4否否设备号shuliangvarchar50否否数量shijianvarchar50否否时间gongyingvarchar50否否供应商jiagevarchar50否否总价jingbanvarchar50否否经办人第35页共35页
(4)出库信息表主要是记录了备件出库的基本信息,表结构如表3.4所示。表3.4出库信息表(t_chuku)列名数据类型长度允许空是否主键说明idint4否是编号mingchengvarchar50否否备件名称leixingint4否否设备号shuliangvarchar50否否数量shijianvarchar50否否时间jingbanvarchar50否否经办人(5)维修信息表主要是记录了维修情况的基本信息,表结构如表3.5所示。表3.5维修信息表(t_weixiu)列名数据类型长度允许空是否主键说明idint4否是编号danhaovarchar50否否维修单号kehu_idint4否否客户gongchengshi_idint4否否工程师miaoshuvarchar50否否故障描述shijianvarchar50否否接收时间ztint4否否当前状态neirongvarchar50否否维修内容jinevarchar50否否维修费用sf_shijianvarchar50否否完成时间第35页共35页
(6)库存信息表主要记录各种设备的库存信息,包括设备号,设备名称和设备数量,表结构如表3.6所示表3.6库存信息表(t_kucun)列名数据类型长度允许空是否主键说明idint4否是编号leixingint4否否设备号mingchengvarchar50否否设备名称shuliangvarchar50否否设备数量(7)管理员信息表主要记录的管理员的账号信息,包括用户名和密码,表结构如表3.7所示。表3.7管理员信息表(t_admin)列名数据类型长度允许空是否主键说明userIdint4否是编号userNamevarchar50否否用户名userPwvarchar50否否密码3.1.3数据库的连接原理采用JDBC连接数据库的方式,只需在工程中导入对应数据库的jar包,就可以方便的对数据库进行连接,在程序中,用Class.forName()方法来加载驱动程序,在用DriverManager的getConnection()方法就可以创建一个数据库连接。程序采用的是DAO模式来操作数据库,DAO(DataAccessObject,数据访问对象),是Java编程中的一种经典模式,已被广泛应用,也是J2EE架构中持久层框架的基础知识,基于分层次式的软件架构来实现对数据库的访问操作。DAO模式的主要思想就是从抽象数据源获取与操纵数据的方法。抽象数据的含义就是编写应用程序的程序员不必关心数据库的物理位置,已经是何种数据库,只需使用封装数据库中表示记录的数据对象即可。其思想如图3.10所示:第35页共35页
封装使用DataSourceDataAccessObjectBusinessObject创建/使用获取/修改DataTransferObject图3.7DAO模式类图图中BussinessObject是业务对象,是使用DAO模式的客户端;DataTransferObject数据传输对象,在应用程序不同层次之间传输对象,在一个分布式应用程序中,通常可以提高整理的性能;DataObjectAcces数据输入/输出对象封装了对数据源的一些基本操作;DataSource指的是数据源。可以从图中看出,DAO模式分离了业务逻辑和数据罗即将,是的编写的软件具有良好的层次式体系结构。本系统为了方便数据库的操作,主要使用DBContent的对象来接一个数据库(建立一个类DBContent),代码如下:publicDBContent(){StringCLASSFORNAME="com.SqlServer.jdbc.Driver";//连接数据库的驱动Stringurl="jdbc:SqlServer://localhost:3306/gy1";Stringuser="root";//连接数据库的用户名Stringpassword="root";//连接数据库的密码try{Class.forName(CLASSFORNAME);con=DriverManager.getConnection(url,user,password);//加载数据库的驱动stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);}catch(Exceptionex){ex.printStackTrace();}第35页共35页
}在程序需要连接数据库的地方,只需要生成一个DBConnet的对象,就可以对数据库进行连接并操作。3.2中文乱码问题处理在程序中经常会遇到中文乱码的情况,如果手动的在servlet和jsp页面进行设置,相当麻烦。因此,在程序的开始就写了一个过滤器SetCharacterEncodingFilter。在web.xml中配置:SetCharacterEncodingFilter myweb.util.filter.SetCharacterEncodingFilter encoding gb2312 SetCharacterEncodingFilter /* //*表示工程下所有的页面都会有此过滤器的处理 第35页共35页
4系统功能实现在管理信息系统的生命周期中,经过了需求分析、系统设计等阶段之后,便开始了系统实施阶段。在系统分析和设计阶段,系统开发工作主要是集中在逻辑、功能和技术设计上,系统实施阶段要继承此前面各个阶段的工作成果,将技术设计转化为物理实现,因此系统实施的成果是系统分析和设计阶段的结晶。4.1系统登陆页面实现1.描述:为了保证系统的安全性,要先使用本系统必须先登陆到系统中,用户需要正确的账号和密码登录本系统。2.程序运行效果图如图4.1所示:图4.1系统登陆页面设计3.在登陆页面输入用户名和密码以,点击提交按钮,跳转到登陆的service中,在该service中会对用户名,密码,验证码进行判断,验证通过进入对应的页面,loginservice关键代码:publicStringlogin(StringuserName,StringuserPw,intuserType){Stringresult="no";if(userType==0)//系统管理员登陆第35页共35页
{Stringsql="select*fromt_adminwhereuserName=?anduserPw=?";Object[]params={userName,userPw};DBmydb=newDB();mydb.doPstm(sql,params);try{ResultSetrs=mydb.getRs();booleanmark=(rs==null||!rs.next()?false:true);if(mark==false){result="no";}else{result="yes";TAdminadmin=newTAdmin();admin.setUserId(rs.getInt("userId"));admin.setUserName(rs.getString("userName"));admin.setUserPw(rs.getString("userPw"));WebContextctx=WebContextFactory.get();HttpSessionsession=ctx.getSession();session.setAttribute("userType",0);session.setAttribute("admin",admin);}rs.close();}catch(SQLExceptione){第35页共35页
System.out.println("登录失败!");e.printStackTrace();}finally{mydb.closed();}}returnresult;}4.2管理员功能模块1.描述:系统主页面:左方页面展示了管理员可操作的六大功能,进入相关的管理页面可以链接到子菜单,并且高亮显示,每个管理模块下面都有相应的子菜单。2.程序运行效果图如图4.2所示:图4.2管理员主页面在每个jsp页面将会对相关用户进行拦截操作,这样可以提高安全性,防止用户不经过登陆页面而进入任何子菜单页面:第35页共35页
if(session.getAttribute("user")==null){out.print("");}4.2.1工程师信息管理(1)工程师信息录入1.描述:管理员输入工程师相关正确信息后点击录入按钮,如果是没有输入完整的工程师经理信息,都会给出相应的错误提示,不能录入成功。输入数据都通过form表单中定义的方法onsubmit="returncheckForm()"来检查,checkForm()函数中是各种的校验输入数据的方式。2.程序效果图如下图4.3所示:图4.3工程师信息录入(2)工程师信息管理1.描述:管理员点击左侧的菜单“工程师管理”,页面跳转到工程师管理界面,调用后台的servlet类查询所有工程师信息。2.程序效果图如下图4.4所示第35页共35页
图4.4工程师信息管理(3)工程师信息修改1.描述:先是点击工程师管理,页面跳转到工程师管理界面,浏览所有的工程师信息,点击要修改的工程师,弹出的工程师修改对话框,修改工程师信息。2.程序效果图如下图4.5所示图4.5工程师信息修改(4)工程师信息删除1.描述:先是点击工程师管理,页面跳转到工程师管理界面,浏览所有的工程师信息,点击要删除的工程师,弹出的确定对话框,即可删除该工程师信息。2.程序效果图如下图4.6所示第35页共35页
图4.6工程师信息删除4.2.2用户信息管理(1)用户信息录入1.描述:管理员输入客户相关正确信息后点击录入按钮,如果是没有输入完整的客户信息,都会给出相应的错误提示,不能录入成功。输入数据都通过form表单中定义的方法onsubmit="returncheckForm()"来检查,checkForm()函数中是各种的校验输入数据的方式。2.程序效果图如下图4.7所示:图4.7客户信息录入(2)客户信息管理1.描述:管理员点击左侧的菜单“客户信息管理”第35页共35页
,页面跳转到学生信息管理界面,调用后台的action类查询出所有的客户信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出客户信息。2.程序效果图如下图4.8所示图4.8客户信息管理页面图4.9客户信息修改页面第35页共35页
图4.10客户信息删除页面4.2.3入库信息管理(1)入库信息录入1.描述:管理员输入入库相关正确信息后点击录入按钮,如果是没有输入完整的入库信息,都会给出相应的错误提示,不能录入成功。输入数据都通过form表单中定义的方法onsubmit="returncheckForm()"来检查,checkForm()函数中是各种的校验输入数据的方式。2.程序效果图如下图4.11所示:图4.11入库信息录入(2)入库信息监督1.描述:管理员点击左侧的菜单“入库信息管理”,页面跳转到入库信息管理界面,调用后台的action类查询出所有的入库信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出入库信息。管理员可以通过入库时间和供应商模糊查询入库情况。2.程序效果图如下图4.12所示:第35页共35页
图4.12入库信息监督页面4.2.4出库信息管理(1)出库信息录入1.描述:管理员输入出库相关正确信息后点击录入按钮,如果是没有输入完整的出库信息,都会给出相应的错误提示,不能录入成功。输入数据都通过form表单中定义的方法onsubmit="returncheckForm()"来检查,checkForm()函数中是各种的校验输入数据的方式。2.程序效果图如下图4.13所示:图4.13出库信息录入(2)出库信息监督1.描述:管理员点击左侧的菜单“出库信息管理”第35页共35页
,页面跳转到出库信息管理界面,调用后台的action类查询出所有的出库信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出出库信息。管理员可以通过出库时间模糊查询出库情况。2.程序效果图如下图4.14所示:图4.14出库信息监督页面4.2.5维修信息管理(1)维修信息录入1.描述:管理员输入维修相关正确信息后点击录入按钮,如果是没有输入完整的维修信息,都会给出相应的错误提示,不能录入成功。输入数据都通过form表单中定义的方法onsubmit="returncheckForm()"来检查,checkForm()函数中是各种的校验输入数据的方式。2.程序效果图如下图4.15所示:第35页共35页
图4.15维修信息录入(2)维修信息监督1.描述:管理员点击左侧的菜单“维修信息管理”,页面跳转到维修信息管理界面,调用后台的action类查询出所有的维修信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出维修信息。管理员可以通过维修时间和客户姓名模糊查询维修情况。2.程序效果图如下图4.16所示:图4.16维修信息监督页面4.2.6费用信息管理(1)费用信息录入1.描述:管理员输入费用相关正确信息后点击录入按钮,如果是没有输入完整的费用信息,都会给出相应的错误提示,不能录入成功。输入数据都通过form表单中定义的方法onsubmit="returncheckForm()"来检查,checkForm()函数中是各种的校验输入数据的方式。2.程序效果图如下图4.17所示:第35页共35页
图4.17费用信息录入(2)费用信息监督1.描述:管理员点击左侧的菜单“费用信息管理”,页面跳转到费用信息管理界面,调用后台的action类查询出所有的费用信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出费用信息。管理员可以通过费用时间和客户姓名模糊查询费用情况。2.程序效果图如下图4.18所示:图4.18费用信息监督页面4.2.7库存管理1.描述:与入库管理和出库管理挂钩,集中体现设备的库存量。2.程序效果图如图4.19所示:第35页共35页
图4.19修改密码4.2.8修改密码1.描述:输入用户名和用户的原有密码,输入新密码以后点击修改按钮即可修改密码成功。2.程序效果图如图4.20所示:图4.20修改密码4.2.9退出系统1.描述:点此按钮回到系统的主页面。2.关键代码:主要是通过javascript语句来实现,item_word[8][4]="退出系统";item_link[8][4]="javascript:window.open("../index.jsp","_self")";第35页共35页
5系统测试5.1系统测试目的与意义系统测试是管理信息系统开发周期中一个十分重要而漫长的的阶段。其重要性体现在他是保证系统质量与可靠性的最后关口,是对整个系统开发过程包括系统分析、系统设计和系统实现的最终审查。系统测试的任务是尽可能彻底的检查出程序中的错误,提高软件系统的可靠性,其目的是检验系统“做得怎样”。这这阶段又可以分为三个步骤:模块测试,测试每个模块的程序是否正确;组装测试,测试模块之间的接口是否正确;确认测试,测试整个软件系统是否满足用户功能和性能的要求。测试发现问题之后要经过调试找出错误原因和位置,然后进行改正。是基于系统整体需求说明书的黑盒测试,应覆盖系统随偶联合的部件,系统测试是正对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出需求规格不符合或与之矛盾的地方。5.2测试过程在测试之初,由于将数据库中的数据是随便输入,没有实用性,为了使系统更加完善,在系统测试的过程中,本系统将一开始编程随便输入的数据全部清理后,输入了一些有效的测试数据,这样可以更真实的反映系统的功能实现情况。这样不断发现问题,经过反复的测试、调试,把问题一个个的解决,最终系统可以正常运行。5.2.1主页面的登录模块测试测试流程:1.打开系统首页,输入错误的登录信息2.登录3.输入正确的登录信息4.登录5.测试结果登陆模块测试表如表5.1所示:第35页共35页
表5.1登录模块测试表模块名称测试用例预期结果实际结果是否通过登录模块用户名:null密码:null弹出错误提示,请输入用户名登陆失败,提示请输入用户名通过登录模块用户名:m1密码:null弹出错误提示,请输入密码失败,提示输入密码通过登录模块用户名:m1密码:1弹出错误提示,用户名或者密码错误登陆失败,提示用户名或者密码错误通过5.3其他错误在程序设计实现的过程中不可避免的会产生各种难以预料的错误,如书写错误、传值类型不一致、参数传递问题等等。这些都需要通过细心的检测与不断的调试才能够排除。比如在servlet路径配置时因粗心错误导致运行导致所报错误,如图5.4:图5.1由于servlet路径配置错误,运行时的提示第35页共35页
结论本次毕业设计将我大学四年所学的软件工程理论知识用到了具体的实践中去,深化了理论知识,同时也锻炼了动手实践能力。在这段日子里,我查阅了管理信息系统建设的资料,翻阅了许多JSP的书籍,结合自己的经验,详细调查了关于电脑维修管理的相关流程,开发设计了这个大学设备管理系统,虽然每个学期都会有相应课程的课程设计和实训来作为动手练习训练,不过在本次毕业设计具体的实践的时候还是遇到了很多小问题,比如说在jsp页面将输入框设为不可用是添加属性readonly=“true”,而我在实际编程中却错写成disable=“true”,这样直接导致了request对象取不到数据,调试了程序很久才发现request对象获得的返回值一直是空,之前一直以为是代码哪里出了问题,总是在查源程序的逻辑。这些虽然都是小问题,但是由于不细心在具体实践中却浪费了不少时间,看来平时还是要多多实践才是。在系统的开发过程中,我运用到了B/S三层结构技术和自己在平时学习中掌握的一些技术,通过这些技术的实现,整个系统的性能得到了大大的提高。这些技术都在论文中做了比较详细的介绍。本系统还存在许多的缺陷和不足之处,比如很多细节上做的还不行,有些功能模块还应再加强。希望在以后的时间里,我可以把这些缺陷都弥补过来,进一步完善系统。通过本次毕业设计我锻炼了自己的自学、研究能力,也从中学到不少在企业在课堂上学不到的东西.通过实践我也深刻的体会到软件开发的艰辛及问题解决后的喜悦心情,培养我的独立思考问题的能力,同时也增强了我的理论联系实际的能力,这为自己以后的工作奠定了良好的基础。本系统可以在很大程度上提高电脑维修管理效率,但由于时间按和技术条件的限制,还存在一些不足之处,有些功能还需要改进,还应该做进一步的系统调查需求分析工作,更深入的完善系统。总之,一个紧跟时代步伐的真正使用的软件必需有一个不断完善改进的过程。第35页共35页
参考文献[1]张新曼.精通JSP-WEB开发技术与典型应用[M].北京:人民邮电出版社,2007.98-101[2]张立科.java信息系统管理开发[M].北京:人民邮电出版社.[3]邓子云.JSP网络编程从基础到实践[M].北京:电子工业出版社.[4]魏善沛编著.Web数据库技术实用教程.北京,清华大学出版社,1998[5]郝玉龙.JavaEE编程技术[M].北京:北京交通大学出版社.[6]杨晓云译.MySQL5权威指南[M].北京:人民邮电出版社.2006.[7](美)BruceEckel著,陈昊鹏译,Java编程思想(第三版)[M].北京:机械工业出版社,2007.6[8]李建中,王珊.数据库系统原理(第2版)电子工业出版社.2004.9[9]张长富,黄中敏.JavaScript动态网页编程实例手册[M].北京:海洋出版社,2005:196-239[10]艾灵仙.高校系级网站构建平台的设计与实现.[J].科技信息-2008年16期[11]滕宝红.客户管理·计算机管理[M].广州:广东经济出版社.2007[12]刘天北等译.J2EE核心模式(原书第2版)[M].北京:机械工业出版社.2005[13]张文静等译.JSP程序设计[M].北京:人民邮电出版社.2006.1[14]MikeO’Docherty.俞志翔.面向对象分析与设计(UML2.0版)[M].北京:清华大学出版社.2006[15]何庆.著.绿色设备管理与维修(机械工业出版社.2006.9.1)第35页共35页
致谢第35页共35页