• 1.79 MB
  • 2022-05-16 18:35:02 发布

仓库管理系统的设计与实现毕业论文

  • 90页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
本科毕业设计(论文)题目:仓库管理系统的设计与实现 毕业论文(设计)原创性声明本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。据我所知,除文中已经注明引用的内容外,本论文(设计)不包含其他个人已经发表或撰写过的研究成果。对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。作者签名:日期:毕业论文(设计)授权使用说明本论文(设计)作者完全了解**学院有关保留、使用毕业论文(设计)的规定,学校有权保留论文(设计)并向相关部门送交论文(设计)的电子版和纸质版。有权将论文(设计)用于非赢利目的的少量复制并允许论文(设计)进入学校图书馆被查阅。学校可以公布论文(设计)的全部或部分内容。保密的论文(设计)在解密后适用本规定。 作者签名:指导教师签名:日期:日期: 注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订3)其它 西安工业大学毕业设计(论文)任务书院(系)计算机科学工程专业计算机科学与技术班100602姓名张春东学号1006021221.毕业设计(论文)题目:仓库管理系统的设计与实现2.题目背景和意义:随着企业规模的扩大,管理信息系统也发挥越来越重要的作用。作为企业管理信息系统关键组成部分的仓库管理系统的应用给企业带来巨大的效益。采用仓库管理系统将使企业改变其传统的手工记录模式,应用数据库技术使海量数据的存储与处理成为很方便的事情,这样可大幅缩短主要业务流程的处理时间,提高对市场的响应能力。对仓库的管理在生产经营中非常重要,仓库管理的好环,直接影响着的经营生产和发展进步。由于物资供应渠道多、品种规格千变万化,这就使得库存的供应和管理变得复杂和困难。如何加强成本意识,做好库存供应、降低库存、加速资金周转、加强仓库使用监督和财务监督以成为愈加关注的问题。在出仓库管理中采用计算机管理十分必要,这对于搞好库存的供、管、用三方面的工作,保障供应,合理地使用库存,提高库存管理劳动生产率,促进健康发展具有重要意义。3.设计(论文)的主要内容(理工科含技术指标):(1)以MyEclipse为开发工具SqLServer2005为数据库,Tomcat为服务器,Java为编程语言,完成仓库管理系统的设计开发。系统主要功能模块如下:登陆管理:用户可以登陆到主界面。系统安全管理:用户进入该系统后,可以选择安全管理进行修改登录密码。系统用户管理:当用户验证身份登录后,可以进行用户信息修改,可以进行用户的删除和添加操作。基础信息维护:该模块包括物资信息和供应商信息。物资信息包括:物资的添加、删除等一系列操作。供应商信息包括:供应商的信息添加、修改、删除。物资入库(出库):有四个功能模块出库、入库、查看、库存报警。(2)书写1.5万字的论文,要求书写整齐规范,无错误,有创见。(3)完成与专业相关的3000字以上的外文资料的翻译,翻译应与原文意思相一致,语句通顺。4.设计的基本要求及进度安排(含起始时间、设计地点):基本要求:(1)每周与指导教师联系一次,及时反映问题和设计进步,并及时解决问题。(2)在校设计期间,遵守校纪校规,外出要请假。(3)在进行设计的同时进行记录一些情况。进度安排: 第1—4周:选定题目,并做好开题报告搜集有关资料,通过对课题的论证,分析,确定总体设计方案。第5—7周:学习相关技术,设计系统所须各种数据库表,将功能要求与各种数据库表联系起。第8--14周:将详细设计说明转化为所要求的程序设计语言,并对编写好的源程序进行程序单元测试,验证程序模块接口与详细设计说明的一致性,完成《仓库管理系统》。第15--17周:编写毕业论文。第18周:毕业论文答辩。5.毕业设计(论文)的工作量要求①实验(时数)*或实习(天数):18周②图纸(幅面和张数)*:③其他要求:指导教师签名:年月日学生签名:年月日系(教研室)主任审批:年月日说明:1本表一式二份,一份由学生装订入附件册,一份教师自留。毕I-22带*项可根据学科特点选填。 仓库管理系统摘要21世纪是一个信息化的时代,企业只有敏捷的获取生产信息和市场信息,才能置身于国际大舞台,这就离不开先进的企业管理系统——ERP。而仓库管理系统正是ERP中一个最重要的组成部分,也是企业生产过程的一个重要组成部分。企业要在现代化国内外市场取得一席之地,就必须使其仓库管理体系达到现代化水平,也即使仓库管理从原始的手工阶段走向方便快捷的计算机实现阶段。选择合理的仓库管理方法,不仅会促进销售,改善生产秩序,做到均衡生产,而且会降低库存的占用资金,最终使企业获得更好的经济效益。本仓库管理系统是针对的实际需求,从实际工作出发,在分析目前仓库管理系统中存在的问题的基础上,结合管理信息系统开发的概念、结构及系统开发的基本原理和方法,并利用计算机运算速度快、存储信息容量大、处理逻辑问题强、功能强大的优势,采用目前流行的B/S结构和流行框架SSH(Struts+Spring+Hibernate)和MVC设计模式。通过Internet/Intranet实现对物资进行管理,特别是对物资基本信息管理、物资调配信息等进行完整的监控而开发出来的。从查询与决策信息的管理需求出发,针对性强,功能齐备,旨在通过帮助该库存管理实现信息化、网络化,以提高管理的效率。本仓库管理信息系统主要包括“入库管理”、“出库管理”、“基本信息管理”和“系统用户管理”等模块。它主要对物资的出入库进行统计和核算,及时准确地掌握商品库存情况,并动态反映物资的增减变动,为的决策提供基础数据。关键词:仓库管理系统;B/S;SSH;MVCII WMS-WarehouseManagementSystemAbstract21centuryisaninformativeERP.Enterpriseswhichcouldactivateintheinternationalcommunitymustdependentontheacquisitionofthemanufactureandmarketinginformation.Thisneedsadvancedenterprisemanagementsystem---ERP.AndwarehousemanagementsystemisamostimportantpartofERP.Toobtainaplaceintheinnerandinternationalmarket,thewarehousemanagementsystemofenterprisesmustmodernize.Namely,themanagementofwarehousemusttransmitfromprimitivehandmadestagetoconvenientcomputerization.Choosingpropermethodofwarehousemanagement,notonlytoboostmarket,amelioratingtheorderofproduction,achievingtheendofequilibriumproduction.Itcanalsodecreasethefundsofstockings.Ultimately,enterprisesobtainbettereconomicsbenefitbyusingthissoftware.Howtoreducethecost,improveworkefficiencyismaterialsstoremanagersneedtosolveapracticalproblem.Thismaterialmanagementinformationsystemisaimedattheactualdemand,fromactualconditions,andontheanalysisofthecurrentmaterialmanagementinformationsystembasedontheproblemsexistingintheinformationsystemdevelopment,managementconcept,structureandsystemdevelopment,thebasicprincipleandmethods,anduseofcomputeroperationspeedandstoragecapacityandprocessinginformation,logicalproblemofpowerfuladvantages,thepopularityofB/Sstructureandthethreepandemic frameworkofSSH(Struts+Spring+Heibernate)andMVCdesignpattern,throughtheInternet/oneofenterprisemanagement,especiallyforbasicinformationmanagement,materials,materials,informationofdeploymentandmonitoring.Fromthemanagementdecisioninformationqueryandpertinence,istohelptheenterprise,byrealizinginformationization,thenetworkmanagementofmaterial,inordertoimprovetheefficiencyoftheenterprisemanagement.Thismaterialmanagementinformationsystemmainlyinclude"materialinventorymanagement",and"materialoutboundmanagement"and"material"and"thebasicinformationmanagementsystemusermanagement",etc.Itmainlysuppliesfortheenterprisetomakestatisticsandaccounting,timelyandaccuratelygraspthedynamicinventorygoods,andreflectsthechanges,enterpriseorbusinessthedecisiontoprovidebasicdata.KeyWords:WMS-WarehouseManagementSystem;B/S;SSH;MVC;II 目录摘要IAbstractII目录11绪论11.1课题设计的背景11.2课题设计的目的和意义11.3课题的主要研究工作21.4论文结构安排22课题涉及的关键技术32.1MVC设计模式简介32.2JSP技术简介32.2.1JSP工作原理42.2.2JSP体系结构42.2.3JSP的特点52.3SSH框架简介52.3.1定义52.3.2Struts262.3.3Spring62.3.4Hibernate72.4SqlServer数据库简介82.4.1SQLServer2005简介82.4.2“结构化查询语言”(SQL)简介83系统需求分析103.1可行性分析103.1.1技术可行性103.1.2经济可行性10 3.2功能需求分析103.3数据需求分析113.5性能需求分析134系统概要设计144.1系统功能设计144.2数据库的设计154.2.1E-R图的设计154.2.2数据库表的设计175系统的详细设计与实现205.1登陆页面的设计与实现205.2系统安全管理的实现225.3系统用户管理265.5基础信息维护275.5物资入库出库管理295.6系统配置时的一些关键代码315.6.1Struts.xml配置315.6.2web.xml配置346系统测试376.1测试概述376.2数据库测试376.3测试实例387总结41参考文献42致谢43毕业设计(论文)知识产权声明44毕业设计(论文)独创性声明45附录46 1绪论1绪论1.1课题设计的背景当今社会是一个信息社会,一个知识经济时代。自世界上第一台计算机ENINC(Electronicnumericalintegratorandcalculator)于1946年在美国问世到现在,计算机业飞速发展,技术淘汰指标高的惊人,价格下降以及软件应用的快速扩展引发了以信息处理计算机化为标志的“微机革命”,随之而来的是以全球信息网络普及和全球信息共享为标志的“全球信息网络革命”的蓬勃兴起。可见,世界已进入在计算机信息管理领域中激烈竞争的时代,计算机已经变得普通得不能再普通的工具,如同我们离不开的自行车、汽车一样。随着企业规模的扩大,管理信息系统也发挥越来越重要的作用。作为企业管理信息系统关键组成部分的仓库管理系统的应用给企业带来巨大的效益。采用仓库管理系统将使企业改变其传统的手工记录模式,应用数据库技术使海量数据的存储与处理成为很方便的事情,这样可大幅缩短主要业务流程的处理时间,提高对市场的响应能力。“物流服务最初起源于军事上的运用”,“物流”这一概念起源于二战期间的美国,英文称之为Logistics或者PhysicalDistribution,前者的使用率更高一些。物流一词最早被描述为泛指军队运输、补给和屯驻,后来被广泛用来描述商品实体的物理性流通活动,成为流通经济学中的术语。随着经济的全球化以及中国经济改革的逐渐深化,各面临着越来越多激烈的竞争。我们应该承认,谁掌握的知识多,信息量大,信息处理速度快,批量大,谁的效率就高,谁就能在各种竞争中立于不败之地。库存管理是一般工业、商业生产管理环节中重要的一环,所以,有效地进行物资基本信息管理、物资调配信息等进行完整的监控已经成为了各生存和发展的头等要事。本仓库管理信息系统就是在这样的信息技术广泛应用的时代背景下,本着用户的需求,借助于现代化的管理方法和信息技术开发出来的。1.2课题设计的目的和意义基于给管理者与物资创造一个能够及时进行信息交互的平台,仓库管理系统就孕育而生了,希望通过它可以将管理者和物资紧密相连起来,实现便捷管理的目标。该系统继承了传统的管理方法使得管理者更加便捷、迅速、准确的掌握仓库信息,通过该仓库管理系统得到信息的反馈,同时也可以进行一系列的操作来对物资进行入库和出库等信息登记。这大大的缩短了工作时间,且提高了工作效率。仓库管理系统的投入,将使仓库的管理更加正规化,为产品的出入库管理部1 西安工业大学毕业设计(论文)门和销售部门提供了方便,降低了仓库的损耗。企业可以对售出的产品进行跟踪服务,同时也免去了销售人员按以往惯例亲自前往用户处去核实货物情况的麻烦,提高了办事效率,节省了费用,而且还避免了不必要的业务纠纷,维护了企业长期与用户建立的良好信誉。1.3课题的主要研究工作该系统采用了现在技术界很流行的Java语言来做开发实现,运用各种性能均良好的数据库MYSQL,页面流行语言JSP,主流的三个框架SSH(Struts+Spring+Hibernate),热门的设计模式MVC。将整个系统有机的联系起来,使其运行流畅,简单易懂。Java不仅是一个很好的编程工具还是一个很好的平台,封装性非常好,良好的面向对象编程思想,Sqlserver关系型数据库的优势,加上安全性能好,使系统的可用性大大提高了。1.4论文结构安排本论文以标准的仓库管理模式为蓝本,根据软件工程的理论,开发出基于JavaEE的适用于中小单的位仓库管理系统。论文首先研究了系统开发的可行性,然后进行了需求分析,并将需求分析以文档的形式反馈给用户,并和用户进行交流进一步确认需求,然后根据需求分析采用了结构化分析方法进行了系统分析设计,并进行了数据库的建模工作,根据模型构建了数据库。后台数据库采用SqlServer2005完成。基于开放的开发架构JavaEE,实现了系统登录模块、主窗口模块、仓库人员管理模块、入库模块、出库模块等。最后对全文进行了总结,对今后的工作提出了展望本论文共有七章,具体组织如下:第一章:通过分析,提出仓库管理系统开发的目的和意义,此次研究的主要任务,以及本次论文的组织。第二章:主要介绍开发本系统所采用的相关技术。第三章:系统需求分析,在此章节主要进行用户需求分析和性能需求分析以及系统开发环境的要求。第四章:系统概要设计,在这个阶段要得到数据库的设计以及系统整个流和每个功能模块的设计。第五章:系统的详细设计与实现,主要通过界面形式展现出来。第六章:进行系统测试包括测试的任务及目标、测试方案和测试用例。第七章:对全文以及整个系统的实现过程进行了总结,给出了系统设计的体会与收获。9 2课题涉及的关键技术2课题涉及的关键技术2.1MVC设计模式简介MVC(Model-View-Controller),即模型、视图、控制器。它是Java应用中比较热门的一种编程思想,通过将一个应用的输入、处理、输出的应用程序进行分离,使得这样一个应用被分为三层--模型层、视图层、控制层,从而使得整个应用清晰化、简洁化,更易于程序员编码。该模式的关系状态图如下2.1所示:图2.1MVC状态关系图该模型的优点:1)MVC具备多个视图对应一个模型的能力。在目前用户需求的快速变化下,可能有多种方式访问应用的要求。2)模型返回的数据不带任何显示格式,因而这些模型也可直接应用于面向接口编程。3)一个应用被分离为三层,有些情况下只需改变其中一层就能满足应用的改变。控制层可以包含用户请求权限的控制。4)有利于软件工程化管理。由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工具产生并管理程序代码。该模型的缺点:它增加了系统结构和实现的复杂性、视图域控制器间连接往往过于紧密、试图对模型数据访问效率降低等。2.2JSP技术简介JSP(JavaServerPage服务器网页)是从1998年开始出现的新技术。由Sun公9 西安工业大学毕业设计(论文)司倡导、许多公司参与一起建立的一种动态网页技术标准,是基于JavaServlet以及整个Java体系的web开发技术。在传统的网页HTML文件(*.htm,*.html)中加入脚本片段和JSP标记(Tag),构成JSP网页(*.jsp)。JSP技术为创建显示动态生成内容的web页面提供了简便的方法。JSP作为Java家族的一员,承袭了Java的特点,即跨平台的特性,也即一次编译,到处运行。在国外,己经大量使用JSP作为网络应用程序的开发工具,而在国内,尽管JSP还不是主流开发技术,但是由于JSP的强大优势,许多网站都已经准备转向JSP,利用JSP来开发动态网站。2.2.1JSP工作原理JSP是面向服务器的,因此支持任何浏览器。当Web服务器和JSP引擎遇到访问JSP网页的请求时,JSP引擎将请求对象发送给服务器端的相关组件,比如JavaBean组件、Servlet或EJB等,然后由服务器端组件处理这些请示,可能需要从数据库或数据存储中检索信息,然后服务器端组件再将响应对象返回JSP引擎。JSP引擎将响应对象传递给JSP页面,根据JSP页面的HTML格式完成数据编排,最后Web服务器和JSP引擎将格式化后的JSP页面以HTML格式返回客户浏览器。这就是当前网站构建中广泛采用的浏览器——Web服务器——后台数据库的三层架构模式。因为JSP所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果。2.2.2JSP体系结构JSP网站开发标准给出了两种使用JSP的技术,可以归纳为模式一、模式二。模式一:JSP+JavaBeans技术在这种模式中,JSP页面独自响应请求并将处理结果返回给客户。Bean处理所有数据访问,JSP实现页面的表现,以实现内容生成与显示相分离。当处理复杂的大型应用时,页面被嵌入大量的脚本或Java代码段,当需要处理的商业逻辑复杂时,这种情况会变得非常糟糕,大量的内嵌代码使得页面程序变得复杂,对于前端界面设计人员,这是不可思议的事情。所以模式一可用于小型应用,不能够满足大型应用的需要。模式二:JSP+Servlet+JavaBeans技术Servlet技术是一种采用Java技术来实现CGI功能的一种技术,Servlet技术非常适于服务器端的处理和编程,并且Servlet会长期驻留在内存。从开发的观点看,模式二具有更清晰的页面表现,清楚的开发者角色划分,在大规模项目开发中,模式二更被采用,模式二也更符合当前流行的MVC结构(Model/view/controller),其中Servlet对应controller,处于控制者的位置,处理HTTP请求,负责生成JSP中使用的Beans组件或对象,并判断应将请求传递给哪个JSP等,JSP对应view,负责生成最终的动态网页并返回给浏览器。而JavaBeans对应的是Model,实现各个具体的应用逻辑与功能。9 西安工业大学毕业设计(论文)2.2.3JSP的特点1)简化的页面生成技术JSP页面用标准的HTML或XML命令来处理页面的格式化和布局设计,而用类似HTML、XML的标记和Java语言编写的脚本程序生成页面内容。这使得页面形式与页面内容互相独立,非常有利于大型项目的分工合作。2)与Java平台有机集成JSP技术是Java2平台的重要组成部分,JSP使用Java语言作为它的脚本语言。在JSP页面中可以使用几乎所有的Java组件和JavaAPI,这就能充分发挥出Java语言的强大功能。使用JSP技术可以创建具有高度可伸缩性和可靠性的Web应用程序。3)硬件平台和服务器无关性JSP作为Java家族的一员,秉承了Java技术的“一次编写,随处可用(WriteOnce,RumAnywhere)”的特性,可以运行于大多数流行的操作系统平台及Web服务器,这种与服务器硬件和操作系统平台的无关性是JSP相对于其它动态网页技术最大的一个优点。4)功能可扩展性如同Microsoft的JSP技术可以通过ActiveX/COM组件来扩展功能一样,JSP可以通过JavaBean和EJB(EnterpriseJavaBean)以及自定义的标记来扩展功能。JSP可以通过JDBC,与诸如Oracle、SQLServer这样的大型关系数据库进行连接。JSP提供了一些隐含对象。这些隐含对象在JSP页面中可以直接引用,而不必首先声明。利用JSP提供的这些隐含对象,可以使脚本功能更加强大,并且编程更加容易、方便。例如,利用request对象,可以很容易地接收用户在HTML表单中提交的信息。2.3SSH框架简介2.3.1定义集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理Struts和Hibernate。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(DataAccess9 西安工业大学毕业设计(论文)Objects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理Struts和Hibernate。系统的基本业务流程是:在表示层中,首先通过JSP页面实现交互界面,负责接收请求(Request)和传送响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理。在业务层中,管理服务组件的SpringIoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。而在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。采用上述开发模型,不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。而且由于不同层之间耦合度小,有利于团队成员并行工作,大大提高了开发效率。2.3.2Struts2Struts对Model,View和Controller都提供了对应的组件。ActionServlet,这个类是Struts的核心控制器,负责拦截来自用户的请求。Action,这个类通常由用户提供,该控制器负责接收来自ActionServlet的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP页面显示。Model部分:由ActionForm和JavaBean组成,其中ActionForm用于将用户的请求参数封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionForm里面的请求参数处理用户的请求。JavaBean则封装了底层的业务逻辑,包括数据库访问等。View部分:该部分采用JSP(或HTML、PHP……)实现。Struts提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model的有效交互,并增加了现实功能。对应上图的JSP部分。Controller组件:Controller组件有两个部分组成——系统核心控制器,业务逻辑控制器。系统核心控制器,对应上图的ActionServlet。该控制器继承了HttpServlet类,因此可以配置成标注的Servlet。该控制器负责拦截所有的HTTP请求,然后根据用户请求决定是否要转给业务逻辑控制器。业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用Model来完成处理。对应Action部分。9 西安工业大学毕业设计(论文)2.3.3SpringSpring是一个开源框架,它由RodJohnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。目的:解决企业应用开发的复杂性。功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能。范围:任何Java应用。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。框架——Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。2.3.4HibernateHibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程9 西安工业大学毕业设计(论文)思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍。Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSession对象称为用户session。SessionFactory接口:SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。Configuration接口:Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。Transaction接口:Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。Query和Criteria接口:Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。2.4SqlServer数据库简介2.4.1SQLServer2005简介SQLSERVER是Microsoft在关系数据库管系统(RDBMS)方面的开发成果。其主要目的是尽可能快地存储、管理和检索大量数据。我们将使用SQLSERVER存储与知识系统网站相关的所有信息,这些信息会由应用程序逻辑动态放置在网页中。SQLServer是Microsoft公司推出的SQLServer数据库管理系统的最新版本该版本继承了SQLServer7.0版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行MicrosoftWindows2000的膝上型电脑到运行MicrosoftWindowsXP的大型多处理器的服务器等多种平台使用。2.4.2“结构化查询语言”(SQL)简介SQL全称是“结构化查询语言(StructuredQueryLanguage)”,最早是IBM9 西安工业大学毕业设计(论文)的圣约瑟研究实验室为其关系数据库管理系统SYSTEMR开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言得到了广泛的应用。目前,SQL语言已被确定为关系数据库系统的国际标准,被绝大多数商品化关系数据库系统采用,如Oracle、Sybase、DB2、Informix、SQLServer这些数据库管理系统都支持SQL语言作为查询语言。结构化查询语言SQL是一种介于关系代数与关系演算之间的语言,其功能包括查询、操纵、定义和控制四个方面,是一个通用的功能极强的关系数据库标准语言。在SQL语言中不需要告诉SQL如何访问数据库,只要告诉SQL需要数据库做什么。SQL广泛地被采用正说明了它的优点,使全部用户,包括应用程序员、DBA管理员和终端用户受益非浅。9 3系统需求分析3系统需求分析3.1可行性分析所谓开发的可行性,就是指在整个系统开发工程中,解决“做什么”的问题,把要解决哪些问题,满足用户哪些具体的信息需求调查分析清楚,从逻辑上或说从信息处理的功能需求上提出系统的方案,即逻辑模型,为下一阶段进行物理方案设计,解决怎么办提供依据。它是信息开发系统中的一个重要阶段,是建立系统模型的第一步。其核心是目标分析与需求分析,最后提出系统的逻辑方案。3.1.1技术可行性该系统所需硬件设备,如服务器、PC机、打印机及网络配件等,这些设备在性能上已经有了很大提高,价格又相对较低,能满足系统功能需求。软件上,操作系统采用WINDOWSXP,数据库管理系统采用SQLSERVER,这些软件在MIS开发中已被大量应用,技术上都比较成熟。本系统采用WEB技术来实现,使用JSP可以创建动态、交互的Web服务器应用程序,JSP页面可以使用脚本语言(如Vbscript、Javascript等)因此技术上是可行的。3.1.2经济可行性仓库管理系统属于一个工具型的系统,它可以节省工作人员大量数据收集、录入、整理、查询、修改等手工操作,而且迅速准确,能够极大地提高工作效率,最大限度的降低用户和管理员的工作量,使库存管理尽量简便,同时促进业务的规范化、程序化,及时给各级领导提供必要的信息统计。系统开发所需的费用是比较低的,由于系统并不复杂,其运行与培训费用也不会占用很多资金,可以预见系统完成后可以带来较大的经济效益。综上所述,实施MIS在技术上、经济上都是可行的,因此,开发仓库管理系统是可行的。3.2功能需求分析需求分析主要是对收集到的需求进行提炼、分析和仔细审查,以确保所有的风险承担者都明白其含义并找出其中的错误、遗漏和其他不足的地方形成完整的分析模型。长期以来,库存管理工作中的信息管理是采用人工的方式,要付出大量人力,45 西安工业大学毕业设计(论文)填写各种表格、凭证、账册、卡片和文件。由于信息是随着时间不断变化的,各业务部门对信息的使用要求也各不相同,所以要按照不同的分类经常不断地汇45西安工业大学毕业设计(论文)总、统计,往往要做许多重复登记和转抄。这种手工操作的管理方式,不仅浪费人力,而且存在许多缺点:1)处理速度慢,影响信息及时性。2)易出现错误,影响信息精确性。3)不便于查询。4)缺乏综合性,不能起控制作用。由于这些缺点,大大降低了信息的利用价值,显然越来越不适应现代库存管理工作的需要。因此,发展以电子计算机为基础的仓库管理系统已是十分迫切和必要。为了将库存管理纳入规范化、现代化管理的轨道,针对现有库存管理中存在的问题和管理的实际需要,我们将理顺管理体制、建立各种管理规范与开发信息系统有机地结合起来。通过建立专门的仓库管理系统来实施对物资进行统一管理。所以,为了顺应用户需求,特推出了基于WEB的仓库管理系统。仓库管理系统需要实现系统用户管理,基础数据管理,物资出库(入库)等几个部分功能,下面分别阐述这几个部分的功能需求。1)系统用户管理模块用户的添加:可以对用户添加,从而实现其它用户来访问系统的权限。用户的删除:进行的用户过期用户的删除,从而节省存储空间。2)基础数据管理模块物资信息的管理:进行物资添加、修改、删除、查找操作。供应商信息的管理:进行供应商的添加、修改、删除、查找操作。3)物资出库(入库)管理模块物资入库:进行基本的物资入库操作。物资出库:进行基本的物资出库操作。物资查看:可以查看仓库里面的物资信息。库存报警:当存储达到一定数量时提醒用户,用户可以进行相关的操作。3.3数据需求分析通过前面对系统功能需求的分析,可以了解到仓库管理系统主要实现的功能,包括基本信息维护、入库信息记录、出库信息记录、物资信息查询和系统用户管理。仓库管理系统所涉及的主要数据包括库存记录、入库记录、出库记录、库存物资和用户记录,下面分别分析这些数据需求。1)库存记录库存记录是物资管理中建立的库存基本信息。45 西安工业大学毕业设计(论文)库存基本信息供库存入库、库存出库和库存管理使用,即整个库存管理信息系统的数据是以库存记录为基础的。2)入库记录入库记录是物资入库的信息,在进行物资入库登记时,需要记录是物资信息,负责人,入库时间。入库记录由库存产生,需要用到库存基本信息,形成的入库信息可以在库存管理中使用。3)出库记录出库记录是库存出库的信息,与入库类似,在进行物资出库记录时,也要记录库存信息,负责人,出库时间以。4)库存物资库存物资是动态的出仓库物资信息,它可以通过入库记录和出库记录的总汇数据得到。当需要查看库存时,只要按照各种库存统计其累计入库和累计出库,累计出库和累计入库的差就是库存数量。物资管理中只要使用物资基本信息,物资入库信息和物资出库信息,然后通过简单地加工处理,就可以形成库存物资数据。5)用户记录用户记录是用户管理中建立的用户基本信息。可以查看到登录过的用户的登录日子。6)库存报警当库存到了一定的程度就无法再继续进行物资入库了,系统将会自动进行库存报警功能。通过对系统数据需求的分析,可以得到如下图3.1所示的系统数据流图。该图简明地表示了仓库管理系统的主要数据流向。图3.1系统数据流图45 西安工业大学毕业设计(论文)3.5性能需求分析根据毕业设计仓库管理系统的需求进行开发设计,主要实现如下目标:界面设计友好、美观、大方、数据要准确、安全、可靠。强大查询功能,方便用户浏览自己课程的相关信息。设计用户登陆功能,保证用户个人信息的安全性。实现对物资等信息的添加、修改,便于更改。系统最大限度地实现易维护性和易操作性。操作简易,实用性强。因此操作的简易实用性就体现的尤其重要,在此系统的开发中就很好的体现了这一点。本系统的界面美观、典雅、充满了人性化,用户操作起来也容易上手。对于一个仓库管理系统系统而言测评信息是很多的,而且存储量大,所以对系统的安全性有比较高的要求;对于数据库,要设置不同用户的权限,数据的修改必须由合法用户操作;数据的添加、修改必须是合法的有效的。下面对系统的性能方面做了一些规定如下:数据精确度:输出结果为双精度。时间特性:1)连接服务器时间3毫秒;2)更新处理时间为24小时;3)服务器连接速度20488Kbps;4)运行时间30秒;45 4系统概要设计4系统概要设计4.1系统功能模块设计系统后台主要是,普通用户在系统后台可以看到自己的基本信息,维护自己的信息,可看到仓库信息,物资信息,系统超级管理员可以对系统中用户的角色,权限和用户进行增删改的操作,系统管理员是对物资的添加、修改、供应商管理以及登陆信息,主要功能。在对本系统进行了需求分析,如下是各个系统的功能设计。表4.1系统功能模块设计功能模块名称具体功能描述用户管理用户管理是对系统使用者进行的增删改查操作,对后台数据进行操作特别是删除操作是危险的,所以我将其操作权限只赋予给超级用户,这样确保了系统的安全。安全管理对本用户的密码想要进行修改时,必须要知道自己的原始密码,后台对原始密码进行数据库校验,如果与后台记录的原始密码一致,用户才可以进行修改。基础数据维护功能用户进入系统之后,可以进行物资的添加、删除操作。在添加的同时可以进行物资备注,这样就可以很明了的知道物资信息。在进行物资的操作结束之后,可以对物资的供应商进行添加、删除操作。供应商也对应有它的属性来进行编辑。物资出库和入库功能物资的管理包括出库、入库物资查看和库存报警操作。入库包括:入库时间、入库物资、入库数量、金额、负责人和基本操作。出库包括:出库时间、出库物资、出库数量、金额、负责人和基本操作。物资查看是查看对应物资的数量。库存报警是当库存数量达到预先设置的值时会提示。管理员登陆日志功能记录登陆的用户和登陆时间,并导出文件以便之后查询。安全退出统直接退出到登陆系统首页。由上述系统的功能模块设计可以得到如图4.1所示的系统功能模块图。45 4系统概要设计图4.1系统功能模块图在得到系统功能模块图之后分析得到,用户还需要权限管理,如图4.2是权限管理功能模块图。图4.2权限管理功能模块图4.2数据库的设计4.2.1E-R图的设计根据需求分析,系统中涉及到的实体主要有:用户,供应商,物资。用户实体有用户名、密码、地址、年龄、级别、电话属性,从而得到如下的用户实体属性图,如图4.3所示。45 4系统概要设计图4.3用户实体属性图供应商实体有供应商名称、地址、供应商编码、联系电话、Email属性,如下是供应商实体的属性图,如图4.4所示。图4.4供应商实体属性图物资实体有物资编号、物资单价、物资名称和数量属性,如下是物资实体属性图,如图4.5所示。图4.5物资实体属性图45西安工业大学毕业设计(论文)用户、物资和供应商三个之间也存在着相关联系,物资和用户对应关系为n对n的关系,物资和供应商对应关系为1对n的关系。这样一来就得到了用户、物资和供应商三个实体之间的E-R图,如图4.6所示。45 西安工业大学毕业设计(论文)图4.6总体E-R图4.2.2数据库表的设计1)用户表表名:t_user,结构如下表4.2所示。表4.2用户表名称类型是否为空默认值备注user_idint(10)主键自动生成use_namevarchar(50)no用户姓名user_pwdvarchar(50)no用户密码user_typevarchar(20)no用户类型user_addressvarchar(20)no用户地址user_telvarchar(20)no电话号码use_agevarchar(20)no用户年龄use_emailvarchar(50)no用户邮箱2)物资表表名:t_wuzi,结构如下表4.3所示。45 西安工业大学毕业设计(论文)表4.3物资表名称类型是否为空默认值备注wuzi_idint(10)主键自动生成ser_namevarchar(20)外键wuzi_namevarchar(50)no物资名称wuzi_bianhaowuzi_danjiawuzi_num数量3)供应商表表名:t_server,结构如下4.4所示。表4.4供应商表名称类型是否为空默认值备注ser_idint(10)主键主键ser_namevarchar(50)no名称ser_bianhaoint(10)no编号ser_addressvarchar(20)no地址ser_emailvarchar(20)邮箱ser_telint(20)电话4)物资入库表表名:t-inku,结构如下4.4所示。表4.4物资入库表名称类型是否为空默认值备注inku_idint(11)主键标识user_namevarchar(20)外键外键wuzi-namevarchar(20)外键外键inku_timedatetime日期inku_jinevarchar(20)金额inku_numint(20)数量5)物资出库表表名:t-outku,结构如下4.5所示。s表4.5物资出库表名称类型是否为空默认值备注outku_idint(11)主键标识user_namevarchar(20)外键外键wuzi-namevarchar(20)外键外键outku_timedatetime日期outku_jinevarchar(20)金额outku_numint(20)数量45 西安工业大学毕业设计(论文)6)用户日志表表名:t_log,结构如下4.6所示。表4.6物资出库表名称类型是否为空默认值备注log_idint(11)主键标识user_nameint(11)外键外键log_timedatetime时间45 5系统的详细设计与实现5系统的详细设计与实现5.1登陆页面的设计与实现此界面是本系统的主界面用户进入后台管理的唯一通道,输入正确的用户名、密码确认无误后点击登入按钮,即可跳转到相应的界面。如果用户信息输入错误,则给出提示,重新输入正确信息登陆系统。实现过程如图5.1所示。图5.1登陆模块流程图1)该部分实现的核心代码:functioncheck(){if(document.ThisForm.username.value==""){alert("请输入用户名");document.ThisForm.username.focus();returnfalse;}if(document.ThisForm.password.value==""){45 西安工业大学毕业设计(论文)alert("请输入密码");document.ThisForm.password.focus();returnfalse;}}functionaa(){}aa();2)登录过滤器filterpublicclasssafeFileterimplementsFilter{publicvoiddestroy(){}publicvoiddoFilter(ServletRequestarg0,ServletResponsearg1,FilterChainarg2)throwsIOException,ServletException{HttpServletRequestrequest=(HttpServletRequest)arg0;HttpServletResponseresponse=(HttpServletResponse)arg1;if(request.getSession().getAttribute("admin")==null){Stringpath=request.getContentType();response.sendRedirect(path+"/error1.html");}else{arg2.doFilter(request,response);}}/*web.xml的配置safeFiletercom.bookstore.util.safeFiltersafeFileter/jsp*/publicvoidinit(FilterConfigarg0)throwsServletException{}}45 西安工业大学毕业设计(论文)3)陆界面运行时的效果实现图5.2登陆界面用户进入登陆界面后,会清楚地看到后台管理给出的各个功能模块。该用户登陆后的界面及其功能实现如图5.3所示。图5.3登陆后的主界面5.2系统安全管理的实现系统登陆成功后进入系统管理界面,在此可以进行用户安全的管理,通过密码的修改来实现。45 西安工业大学毕业设计(论文)图5.4系统安全管理模块流程图图5.5系统安全管理运行界面45 西安工业大学毕业设计(论文)安全管理核心代码:functioncheck1(){varuserPw=document.form1.userPw.value;varzhengquePw="123";if(userPw!=zhengquePw){alert("旧密码输入不正确");return;}varnewUserPw=document.form1.newUserPw.value;varnewUserPwQueren=document.form1.newUserPwQueren.value;if(newUserPw!=newUserPwQueren){alert("两次输入的密码不一致");return;}document.form1.submit();}45 西安工业大学毕业设计(论文)密码修改
旧密码:新密码:确认新密码:
  •  
  •  
45 西安工业大学毕业设计(论文)5.3系统用户管理图5.6用户管理流程图图5.7系统用户管理界面在进入系统用户管理模块后,选择添加和删除功能进入用户添加和删除。图5.8用户添加45 西安工业大学毕业设计(论文)5.4基础信息维护图5.9基础信息维护流程图图5.10物资信息45 西安工业大学毕业设计(论文)图5.11物资添加图5.12供应商信息图5.13供应商添加45 西安工业大学毕业设计(论文)5.5物资入库出库管理图5.14物资出库入库管理点击仓库管理系统的“物资入库”进入物资入库信息管理界面,在此可以进行相应的物资入库信息添加。界面如下图5.15所示。图5.15入库信息45 西安工业大学毕业设计(论文)图5.16入库操作点击仓库管理系统的“出库信息”进入物资出库信息界面,在此可以进行相应的物资出库信息添加。界面如图5.17,5.18所示。图5.17出库信息图5.18出库操作点击仓库管理信息系统的“库存查看”进入物资信息界面界面如图5.19所示。图5.19库存查看45 西安工业大学毕业设计(论文)登陆日志管理界面如图5.20和5.21所示。图5.20登陆日志选择导出Excel功能如5.21所示。图5.21导出登陆Excel当点击下载时,即可将登陆日志保存起来。5.6系统配置时的一些关键代码5.6.1Struts.xml配置在struts里面主要配置action的一些动作和动作的处理。/common/exception.jsp/success/success.jsp/success/succeed.jsp/admin/login.jsp/admin/index.jsp/index.jsp/index.jsp/index.jsp/admin/user/userManage.jsp45 西安工业大学毕业设计(论文)/admin/sysUser/sysUserManage.jsp/admin/user/userEdit.jsp/admin/bujian/bujianManage.jsp/admin/bujian/bujianEdit.jsp/admin/caigou/caigouManage.jsp45 西安工业大学毕业设计(论文)/admin/xiaoshou/xiaoshouManage.jsp/admin/kucun/kucunManage.jsp/admin/kucun/kucunManage1.jsp/admin/rizhi/rizhiManage.jspapplication/vnd.ms-excelattachment;filename="${filename}"inputStream40945.6.2web.xml配置在web.xml里面主要配置servlet、filter和listener等信息。admin/login.jspcontextConfigLocation/WEB-INF/applicationContext.xmlorg.springframework.web.context.ContextLoaderListenerstrutsorg.apache.struts2.dispatcher.FilterDispatcherstruts/*struts-cleanuporg.apache.struts2.dispatcher.ActionContextCleanUpstruts-cleanup45 西安工业大学毕业设计(论文)/*dwr-invokerorg.directwebremoting.servlet.DwrServletdebugtrueactiveReverseAjaxEnabledtrueinitApplicationScopeCreatorsAtStartuptruemaxWaitAfterWrite5001dwr-invoker/dwr/*45 6系统测试6系统测试6.1测试概述软件测试是软件工程中的一个环节,是开发项目整体的一部分。软件测试是有计划有组织的,是保证软件质量的一种手段,它是软件工程中一个非常重要的环节。因此,可以认为它是伴随软件工程的诞生而诞生的,伴随着软件复杂程度的增加、规模的增大,软件测试作为一种能够保证软件质量的有效手段,越来越受到人们的重视,软件测试最终目的是使产品达到完美。软件测试方法没有完全标准化和统一化,因为软件产业的产品到软件测试有各式各样的软件,这里介绍的软件测试方法可用于多数应用软件的测试。软件测试不是万能的,不可能发现全部的软件缺陷,而且软件的功能和性能不是由测试决定的,软件测试是有局限性的。软件测试是在完成程序设计阶段工作后,经程序编码员测试已初步奠定了基础,进一步完成的测试工作。我们都知道软件要投入运行是否正确无误,这一点极其重要,所以软件要在投入运行前施行测试。未经周密测试的软件贸然投入运行,将会造成难以想象的后果。所以对整个系统的测试是至关重要的。1)测试的目的是为了发现程序中的错误而执行程序的过程。2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案。3)成功的测试是发现了到今为止尚未发现的的错误的测试。测试有两种方法:黑盒测试和白盒测试。黑盒测试又称为功能测试,在程序接口进行,只检查程序功能是否能够按照规格说明书的规定正确使用,程序是否能适当地接收输入数据并发生正确的输出信息,而且要能够保持外部信息的完整性。白盒测试又叫结构测试,完全了解程序的结构和处理过程,这种方法按照程序内部的逻辑测试程序,检验程序中每条通路是否都能按照预定要求正确工作。6.2数据库测试数据库的测试主要是测试数据库是否连接上,在这个项目里新建一个SQLTest的类,数据库端口号为:1433、数据库名称为:db_wuzi、用户名为:sa、登陆密码为:sa;import java.sql.Connection;  import java.sql.DriverManager;  public class SQLtest {  45 西安工业大学毕业设计(论文)public static void main(String[] args) {          String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_wuzi";          String username="sa";          String pwd="sa"; String driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";          Connection conn=null;          try{              Class.forName(driver);              System.out.println("数据库驱动程序注册成功!");              conn=DriverManager.getConnection(url,username,pwd);              System.out.println("数据库连接成功");          }catch(Exception e){              e.printStackTrace();              System.out.println("数据库连接失败");          }      }  }  根据以上编写的数据库连接测试代码,运行系统,以用户名“sa”,密码为sa登录,若数据库连接成功,则进入系统并在运行结果窗口有“数据库连接成功”的提示;若数据库连接失败,则在运行结果窗口有“数据库连接失败”的提示。此次测试截图为:图6.1数据库测试6.3测试实例测试登录模块主要是,采用软件中常用的黑盒测试,方法是建立有效等价类是管理员名称和密码都正确,期望结果:登录成功。无效等价类如表6.1所示。45 西安工业大学毕业设计(论文)表6.1管理员登录无效等价类无效等价类期望结果名称空缺密码空缺管理员名称错误管理员密码错误密码或者用户名错误测试用例:第1组:用户名:adom123密码:admin测试结果:密码或者用户名错误第2组:用户名:zcd密码:测试结果:密码或者用户名错误第3组:用户名:admin3333密码:123测试结果:密码为空!第4组:用户名:admin密码:321测试结果:用户名或密码错误!图6.2测试实例图添加用户安全管理,添加信息如下。第一组旧密码123新密码1234确定新密码不输入第二组旧密码123新密码123445 西安工业大学毕业设计(论文)确定新密码1234在界面中输入信息,如下图所示。第一组测试结果如图6.3所示。图6.3第一组测试结果第二组测试结果如图6.4和图6.5所示。图6.4第二组信息输入图6.5第二组测试结果45 西安工业大学毕业设计(论文)7总结在此次毕业设计中,从开始确定题目到最后的设计的实现和论文的完成花费了好几个月。在这期间,翻阅了大量的资料确定了课题研究的可行性,按照软件工程的思想,采用了MVC设计模式,通过问题定义、可行性研究、需求分析、概要设计、详细设计、测试的过程,对系统的整个开发过程做了详细的阐述,同时,遵循结构化程序设计,对软件开发步骤做了详细的规划。该仓库管理系统实现了入库和出库等各项功能,能够追朔到数据的始终。完成了在仓库系统从需求到实现的开发过程,达到预期要求目的。本文对基于JSP技术的仓库管理系统,阐述了库存管理的需求和应用MVC设计模式的软件体系结构,进一步熟悉了JSP及相关相关技术,了解了开发平台的其他相关技术如JS,AJAX等页面实现技术。在设计的过程中遇到了许多问题,比如SqlServer2005数据库的安装,这个数据库安装是一次性的有的地方有可能报错,这样就不能再继续安装,只能卸载之后重新装。但是SqlServer2005卸载非常麻烦,不过最后还是成功的卸载后安装成功。还有SSH三大框架的整合的原理及其相关的技术。再比如说如何进行物资和出库、入库的关系是如何建立的。为了实现出库管理系统我查阅了大量资料,也请教了许多人员,最后慢慢的理解、实现。这不仅锻炼了我的沟通能力、自学能力,同时培养了分析问题和解决问题的能力,这都为以后工作提前打下了基础。通过这次的设计,使我明白只有自己亲自实践,才能了解自己所做的东西。实践不仅能锻炼自己,还能够提高自己的能力,增强自己的自信心。在面对困难时要勇敢的面对才有能力、有把握去克服它。虽然我现在还有所欠缺,但我相信在以后的工作和生活中,我会不断提高自己,完善自己。该系统在开发过程中仍存在许多的缺点和不足,因为统程序的开发时间较短准备不足和相关技术掌握的不够,所以开发出的系统软件功能还不够完善,我以后在系统设计需要应该注意和解决的问题。45 参考文献参考文献[1]邓子云等. 精通J2EE网络编程[M].北京. 清华大学出版社,2007[2]SunONEStudio5编程系列.构建J2EE应用程序[M]. 清华大学出版社,2007[3]王雷等译.[美]PallaviJainShadabSiddiqui著.J2EE专业项目实例开发北京: 中国水利水电出版社,2003[4]李刚.轻量级J2EE企业应用实战-Struts+Spring+Hibernate整合开发北京:电子工业出版社,2007[5]李鲁群等.面向JavaWebService技术应用集成研究计算机工程,2005[6]赛奎春.JSP应用与项目实践机械工业出版社.2005.4.[7]郑玲.计算机专业毕业设计指导清华大学出版社.2007.8.[8]Rod Johnson. JavaEE设计开发编程指南 北京:人民邮电出版社,2006[9]鲁晓东等. JSP软件工程案例精解北京:电子工业出版社,2005[10]思科科技产品研发中心.JSP应用开发详解[M].北京:电子工业出版社,2005[11](美)BruceEckelJAVA编程思想陈昊鹏饶若楠等译机械工业出版社[12]http://www.cjsdn.net/[13]http://www.ibm.com/developerworks/cn/java/[14]王长元李晋惠软件工程西安地图出版社2003[15]赵莉杨国梁等编著java程序设计教程西安电子科技大学出版社[16](美)Y.DanielLian.IntroductiontoJavaProgramming,Comprehensive(8thEdition)机械工业出版社,2011年6月[17](美)CayS.HorstmannGaryCornell.CoreJava,VolumeI--Fundamentals(8thEdition).机械工业出版社,2008年6月[18](美)KevinMukhar,ChrisZelenak,JamesL.Weaver,JimCrume.BeginningJavaEE5:FromNovicetoProfessional.机械工业出版社,2006年9月[19](美)BruceEckel.ThinkinginJava(4thEdition).机械工业出版社,2007年6月45 致谢致谢短暂毕业设计已经接近了尾声。在这段时间里,巩固了我在大学期间所学,增强了我的实际动手能力,提高了我与老师、同学以及朋友之间的沟通能力,使我充满信心来面对明天的各种机遇和挑战。在本次毕业设计过程中,得到了指导老师的指导与支持。在此特别感谢王全老师的大力帮助。王全老师的悉心指导和大力支持,在总体结构、功能的把握上给予了非常大的帮助,同时根我们提供了非常优越的设计环境,并对我在编程、数据库设计等细节工作上给予了耐心的指导,对于顺利完成这次毕业设计起到了关键性的作用。我还要感谢我的母校——西安工业大学,以及在大学四年生活中给予我关心和帮助的老师和同学,是他们教会了我专业的知识和做人的道理。通过这次毕业设计我还明白了作为一名计算机专业的大学毕业生,我们要会的不仅仅是编写代码,更重要的是要有整体把握系统设计的能力。我会在以后的工作和学习中不断完善自己,为我最热爱的母校争光,为自己翻开辉煌的新篇章。45 毕业设计(论文)知识产权声明毕业设计(论文)知识产权声明本人完全了解西安工业大学有关保护知识产权的规定,即:本科学生在校攻读学士学位期间毕业设计(论文)工作的知识产权属于西安工业大学。本人保证毕业离校后,使用毕业设计(论文)工作成果或用毕业设计(论文)工作成果发表论文时署名单位仍然为西安工业大学。学校有权保留送交的毕业设计(论文)的原文或复印件,允许毕业设计(论文)被查阅和借阅;学校可以公布毕业设计(论文)的全部或部分内容,可以采用影印、缩印或其他复制手段保存毕业设计(论文)。(保密的毕业设计(论文)在解密后应遵守此规定)毕业设计(论文)作者签名:指导教师签名:日期:45 毕业设计(论文)独创性声明毕业设计(论文)独创性声明秉承学校严谨的学风与优良的科学道德,本人声明所呈交的毕业设计(论文)是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,毕业设计(论文)中不包含其他人已经发表或撰写过的成果,不包含他人已申请学位或其他用途使用过的成果。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了致谢。毕业设计(论文)与资料若有不实之处,本人承担一切相关责任。毕业设计(论文)作者签名:指导教师签名:日期:45 附录毕业设计(论文)外文资料翻译题目:仓库管理系统的设计与实现院(系):计算机科学与工程学院专业:计算机科学与技术班级:100602姓名:张春东学号:100602122指导教师:王全外文出处:《JavaEE5:Powerandproductivitywithlesscomplex》2014年6月10日15047 原文:JavaEE5:PowerandproductivitywithlesscomplexityAnoverviewofJavaEE5featuresanddeveloper-productivityenhancementsMomentumfororganizationstoadoptJavaPlatform,EnterpriseEdition5(JavaEE5)issteadilyincreasingastheplatform"scontainersupport,developertools,educationalresources,anddeveloper-communityexperienceallimprove.Getahigh-levelviewofthenewproductivityfeaturesandAPIenhancementsinJavaEE5andworkthroughaWebserviceexamplethatdemonstratesitssimplifieddevelopmentmodels.IntroductionJavaEEtechnologyisanextensiontotheJavalanguageplatformthatenablesyoutocreatescalable,powerful,andportableenterpriseapplications.Itdefinesfourtypesofcontainersforapplicationcomponents:Web,EnterpriseJavaBean(EJB),applicationclient,andapplet.Thesecontainers,andtheJavaAPIseachmustsupport,aredetailedinanapplication-serverspecificationthatencouragesacompetitivemarketplaceforJavaEEproductswhileguaranteeingserverportabilityforapplicationsthatadheretothespecification.Thelatestversionoftheplatform,JavaEE5,wasreleasedinMay2006.Primarilyfocusedondeveloperproductivity,JavaEE5bringssimplerprogrammingmodelswithoutsacrificinganyoftheplatform"spowerandrichness.Twomechanisms—Javaannotationsandbetterdefaults—areresponsibleformostofitssimplerdevelopmentmodels.MajorfunctionalimprovementsincludeenhancedWebservicessupportandincorporationofJavaServerFaces(JSF)andtheJavaStandardTagLibrary(JSTL)intotheplatform.WebservicestechnologiesTheintroductionofannotationsintoJavaEE5makesitsimpletocreatesophisticatedWebserviceendpointsandclientswithlesscodeandashorterlearningcurvethanwaspossiblewithearlierJavaEEversions.Annotations—firstintroducedinJavaSE5—aremodifiersyoucanaddtoyourcodeasmetadata.Theydon"taffectprogramsemanticsdirectly,butthecompiler,developmenttools,andruntimelibrariescanprocessthemtoproduceadditionalJavalanguagesourcefiles,XMLdocuments,orotherartifactsandbehaviorthataugmentthecodecontainingtheannotations.Laterinthearticle,you"llseehowyoucaneasilyturnaregularJavaclassintoaWebservicebyaddingsimpleannotations.AleapforwardinWebservicessupport59 ThecornerstoneofWebservicessupportinJavaEE5isJAX-WS2.0,whichisafollow-ontoJAX-RPC1.1.BothofthesetechnologiesletyoucreateRESTfulandSOAP-basedWebserviceswithoutdealingdirectlywiththetediumofXMLprocessinganddatabindinginherenttoWebservices.DevelopersarefreetocontinueusingJAX-RPC(whichisstillrequiredofJavaEE5containers),butmigratingtoJAX-WSisstronglyrecommended.NewcomerstoJavaWebservicesmightaswellskipJAX-RPCandheadrightforJAX-WS.Thatsaid,it"sgoodtoknowthatbothofthemsupportSOAP1.1overHTTP1.1andsoarefullycompatible:aJAX-WSWebservicesclientcanaccessaJAX-RPCWebservicesendpoint,andviceversa.TheadvantagesofJAX-WSoverJAX-RPCarecompelling.JAX-WS:SupportstheSOAP1.2standard(inadditiontoSOAP1.1).SupportsXMLoverHTTP.YoucanbypassSOAPifyouwish.UsestheJavaArchitectureforXMLBinding(JAXB)foritsdata-mappingmodel.JAXBhascompletesupportforXMLschemaandbetterperformance(moreonthatinamoment).Introducesadynamicprogrammingmodelforbothserverandclient.Theclientmodelsupportsbothamessage-orientedandanasynchronousapproach.SupportsMessageTransmissionOptimizationMechanism(MTOM),aW3CrecommendationforoptimizingthetransmissionandformatofaSOAPmessage.UpgradesWebservicesinteroperability(WS-I)support.(ItsupportsBasicProfile1.1;JAX-WSsupportsonlyBasicProfile1.0.)UpgradesSOAPattachmentsupport.(ItusestheSOAPwithAttachmentsAPIforJava[SAAJ]1.3;JAX-WSsupportsonlySAAJ1.2.)ThewsimporttoolinJAX-WSautomaticallyhandlesmanyofthemundanedetailsofWebservicedevelopmentandintegrateseasilyintoabuildprocessesinacross-platformmanner,freeingyoutofocusontheapplicationlogicthatimplementsorusesaservice.Itgeneratesartifactssuchasservices,serviceendpointinterfaces(SEIs),asynchronousresponsecode,exceptionsbasedonWSDLfaults,andJavaclassesboundtoschematypesbyJAXB.JAX-WSalsoenableshigh-performingWebservices.Seeresourceforalinktoanarticle("ImplementingHighPerformanceWebServicesUsingJAX-WS2.0")presentingabenchmarkstudyofequivalentWebserviceimplementationsbasedonthenewJAX-WSstack(whichusestwootherWebservicesfeaturesinJavaEE5—JAXBandStAX)andaJAX-RPCstackavailableinJ2EE1.4.Thestudyfound40%to1000%performanceincreaseswithJAX-WSinvariousfunctionalareasunderdifferentloads.WebapplicationtechnologiesJavaEE5welcomestwomajorpiecesoffront-endtechnology—JSFandJSTL59 —intothespecificationtojointheexistingJavaServerPagesandServletspecifications.JSFisasetofAPIsthatenableacomponent-basedapproachtouser-interfacedevelopment.JSTLisasetoftaglibrariesthatsupportembeddingprocedurallogic,accesstoJavaBeans,SQLcommands,localizedformattinginstructions,andXMLprocessinginJSPs.ThemostrecentreleasesofJSF,JSTL,andJSPsupportaunifiedexpressionlanguage(EL)thatallowsthesetechnologiestointegratemoreeasily.JSF1.2JSFhasbuilt-insupportforcommonUIconcernssuchascomponentstatemanagement,eventhandling,navigation,user-inputvalidation,andinternationalization.Expertdeveloperscancreatecustomized,powerful,reusablecomponentsorcreatecustomrenderersforclientdevicesotherthanaWebbrowser.Less-technicaluserscanreusecustomcomponents,includingthedefaultJSFtaglibraryforHTMLinterfaces,invisualprogrammingenvironmentssuchasSunJavaStudioCreator.ThisputsthecreationofsophisticatedWebpresentationlayerswithinreachofnoviceprogrammers.Agrowinglandscapeofthird-partyJSFcomponentsexistsinboththeopensourcecommunityandthelicensed-softwarerealm.You"llturnupdozensofoptionsbysearchingfor"JSFcomponents"or"JSFcomponentlibraries"ontheWeb.ManyofthesecomponentsrelyonAsynchronousJavaScript+XML(Ajax)techniques,whichareadrivingforcebehindthe"Web2.0"experience.WebprogrammerscanusethemtocreateapplicationsthatofferabetteruserexperiencethantraditionalWebapplications,withoutneedingtofusswiththedetailsofwritingAjaxcomponentsfromscratch.JSP2.1JSPtechnologyhasbeenaroundsinceJ2EE2.1.ItleveragestheJavaServletspecificationtoenabledeclarativeprogrammingofaUI.ItsupportsprogrammingUIsasdocumentsthataretranslatedintoJavaservlets,compiled,andinvokedbytheWebapplicationcontainertoservicerequests.ThesedocumentstypicallymixJSPdirectivesandscriptletswithapresentationmarkuplanguagesuchasHTML.JSPscanuseanoldersyntaxthatreliesonspecialtagsthatstartwith<%andendwith%>,oronanewersyntaxthatiswell-formedXML.Theytypicallyserveasthe"View"partofaModel-View-Controller(MVC)UIframework.JSP2.1andJSF1.2aremoremutuallycompatiblethanpriorreleases,primarilybecauseoftheintegrationoftheirELsyntaxintotheunifiedEL.ELenablesoperationssuchas:AccessingpropertiesofJavaBeansintherequest,session,andapplication59 contexts.Performinglogicalteststhatdeterminesuchchoicesaswhethertohideorshowaparticularelement.PerformingcalculationsthataffectnumbersandstringsthatappearintheUI.Inthepast,thereweredifferencesintheJSPandJSFELsyntaxandhowthecontainerevaluatedthem.TheunifiedELresolvesthesedifferenceswhilealsoaddingfeaturessuchas:ApluggableframeworktoenablecustomizationofELinterpretation.SupportfordeferredexpressionsthatcanbeexecutedasneededbyaJSPtaghandler.Supportforassignmentoperationsthatcan,forexample,useanELexpressiontosetapropertyonaJavaBeanfromwithinJSPcode.AboonforJSPtag-librarydevelopersisthattaghandlersnowsupportresourceinjectionusingannotations,sotagsthatoncerequiredresourceconfigurationandcodetoperformJavaNamingandDirectoryInterface(JNDI)lookupscannowbegreatlysimplified.JSTL1.2JSTLhasbeenaroundforyears,butuntilJavaEE5,itexistedoutsideoftheJavaEEumbrella.JSTLtagsprovidesupportforembeddingthefollowingtypesofelementsinJSPs:Procedurallogic,suchasloopsandif/elseswitches.AccesstoJavaBeansthatcanprovidedynamicdatatotheUIorbemodifiedbyUIcode.SQLcommandstoperformdatabaseaccess.FormattinginstructionsthatformatUIoutputaccordingtospecificlocales.XMLprocessing,suchasDocumentObjectModel(DOM)parsingorExtensibleStylesheetLanguage(XSL)transformations.JSTL1.2isamaintenancereleasethatsupportstheunifiedELandresolvesissuesthatusedtoarisefromtryingtomixJSFtagsandJSTLiterationtagsinthesameJSPpage.JavaServlet2.5TheJavaServletspecification—thebackboneofJavaWeb-tiertechnology—isasoldasJavaEEtechnologyitself.Thespecificationisdesignedtoprovideahigh-performing,component-basedapproachtobuildingWebapplicationsthatareportableacrossanyserversthatimplementthespecification.TheServlet2.5specificationrequiredbyJavaEE5isamaintenancereleasethatincludesminorimprovementsoverthe2.4release.Itintroducesadependencyonthe59 Java5platformalongwithsomeannotationsthatreducetheneedforconfigurationintheWebapplicationdeploymentdescriptor(web.xml)configurationfile.Additionalconfigurationconvenienceshavebeenadded,suchasmore-flexibleservletconfigurationwithwildcardingandmultipleurl-patternelements.JavaPersistenceAPI(JPA1.0)JPAintroducesanobject-relationalmapping(ORM)frameworkforpersistingJavaobjects.ItwasdevelopedwithEJBsinmind,butitcanbeusedforanyJavaobjects.Usingannotations,youindicatewhichobjectsandfieldsarepersistentandwhichdatabasetablesandcolumnstheymapto.JPAsupportsarichquerylanguagethatresemblesSQL.Thequerylanguageenables:Definitionofparameterizedqueriesthatcantakeparametersasanorderedlist,referredtobyindexnumbers,orasnamedparametersreferredtobyname.QueriesthattraversetherelationshipsbetweenpersistententitieswithoutrequiringJOINstatements(thoughyoucanuseJOINstatementsifyouprefer).TypicalSQL-likefeaturestoformsearchcriteria(comparisonoperators,LIKEstatements,BETWEENstatements,andsoon)anddefinehowtotreattheresultset(usingoperatorssuchasDISTINCT,ORDERBY,GROUPBY,andsoon.)JPAbringsnewfunctionalitytotheJavaEEplatform,relievingmanyofthepastheadachesofroll-your-ownorcontainer-specificpersistenceapproaches.ManagementandsecurityJavaEE5requiresthesamethreemanagementandsecurityspecificationsthatareavailableinpriorversions:ApplicationDeploymentprovidesanAPIfordeployingcomponentsandapplicationstoaJavaEEcontainer.ToolscanaccessthisAPItodeploycodetoaJavaEE5containerwithoutrestartingthecontainer.IDEsoftenusethisAPItoenablerapidcode/test/fixcyclesduringdevelopment.ApplicationManagementspecifiesrequiredattributesandoperationsofobjectsmanagedbythecontainer.It"scompatiblewithvariousindustry-standardmanagementprotocols.AuthorizationContractforContainers(JavaACC)definesthesemanticsofsecurity-policyprovidersandhowtoauthorizeaccesstooperationsmanagedwithinthiscontract.Itrequiresthatcontainersimplementinterfacesthatenabledeploymenttoolstomanageauthorizationroles.EachofthesespecificationsinJavaEE5isamaintenancerelease(eachadvancesfromversion1.0,introducedinJ2EE1.4,toversion1.1),withminorenhancementsthataretoodetailedforthisarticle"sscope.FollowtheJavaEEManagementandSecurityTechnologieslinkinresourcesformoreinformation.59 JavaEE5isbackward-compatiblewithpriorEJBdeploymentdescriptors.Youcanevenmixapproachesifyouwish,allowinglegacycodetospecifyEJBsusingdescriptorswhilenewEJBsaredeclaredwithannotations.Asidefromthereductionintheamountofcodeittakestogetthejobdone,annotationsenableamaintenancebenefitfromwhatSunarchitectGrahamHamiltonreferstoas"truth-in-source-code"(seeResources):Withaproperlyannotatedclass,youdon"tneedtolookatbothsourcecodeandconfigurationfilestounderstandwhatisgoingonbecausetheannotationsthatdefinespecialbehaviorarerightthereinthesourcecode.Foracode-intensivereviewofmanyotherexamplesofhowannotationseaseapplicationdevelopmentinJavaEE5,seeRolandBarcia"sarticle"GettoknowJavaEE5."ReasonabledefaultsThefactthatRideStatisticscanbecomeaWebservicejustbytheadditionofasingleannotationalsoshowsanotherJavaEE5designprincipleinaction:providingreasonabledefaultstoenablesimplerprogrammingmodels.Inthiscase,JAX-WSassumesthatanypublicmethodinaclassannotatedwith@WebServiceshouldbeturnedintoaWebserviceoperationthatbearsthesamenameasthemethod.Similarassumptionsaremadewhentheinputandoutputparametersforthesemethodsareprocessed.Ifyoudon"twantthedefaultbehavior,youcanalwaysmodifyitbyannotationsonthemethods.Butinmanycases,you"llprobablywantthetermsusedintheWebservicetomatchtermsusedintheclassthatimplementstheWebservice,andJAX-WSmakesthiseasytoaccomplishbyprovidingreasonabledefaults.ConclusionInthepast,thebenefitsofJavaEEtechnologyhavecomeonlytothosewillingtowrestlewithitscomplexityortameitusingdevelopmenttools.Ithasearnedareputationasoverlyburdensome,aplatformtoconsideronlywhenalarge,enterprise-gradesystemneedsitspowerfulfeaturesandhastheresourcestodealwiththedevelopmentdifficulty.JavaEE5seekstoshatterthisreputationbyleveragingnewlanguagefeaturessuchasannotations,designgoalssuchasreasonabledefaults,andanemphasisonsimplerprogrammingmodelstoprovideanaccessible,powerfulplatformforenterpriseapplicationdevelopment.Simplerprogrammingmodelsalsomakedevelopmentshopslessreliantonthird-partytoolstomanageunnecessarycomplexity.Thenetresultforpeoplefootingthebillisthatit"snowsignificantlylessexpensivetodevelopever-morepowerfulenterpriseapplications.Thenetresultfordevelopersis59 thatyoucanspendlesstimewrestlingwiththeplatformandmoretimeimpressingyourmanagerswithrapidlydevelopedfeaturesbuiltuponit.DevelopmentshopsthathaveshiedawayfromJavaEEtechnologyinthepastshouldgiveitafreshlook,anddevelopersandmaintainersofexistingJ2EEapplicationsshouldexploreJavaEE5todiscoverthemanywaysitcanmaketheirliveseasier.59 译文:JavaEE5:强大的功能、高生产率和低复杂性概述JavaEE5特性和提高开发人员生产率的改进随着平台的容器支持、开发人员工具、培训资源和开发人员社区体验等方面的改善,推动组织采用Java™Platform,EnterpriseEdition5(JavaEE5)的动力正在稳定增长。本文从较高层面介绍JavaEE5中新的生产率特性和API改进,并通过一个Web服务示例展示简化的开发模型。简介JavaEE技术是Java语言平台的扩展,支持开发人员创建可伸缩的强大的可移植企业应用程序。它为应用程序组件定义了四种容器:Web、EnterpriseJavaBean(EJB)、应用程序客户机和applet。一个应用服务器规范详细描述了这些容器和它们必须支持的JavaAPI,这促使JavaEE产品相互竞争,同时保证符合这个规范的应用程序可以在服务器之间移植。这个平台的最新版本JavaEE5已经于2006年5月发布。JavaEE5主要关注提高开发人员的生产率,它提供了更简单的编程模型,而没有牺牲平台的任何功能。更简单的开发模型主要由两个机制提供——Java注解和更好的默认行为。主要的功能性改进包括改进了Web服务支持以及在平台中集成了JavaServerFaces(JSF)和JavaStandardTagLibrary(JSTL)。Web服务技术在JavaEE5中引入了注解(annotation)特性,这简化了复杂Web服务端点和客户机的开发,与以前的JavaEE版本相比,代码更少,学习过程更短了。注解(最早在JavaSE5中引入)是可以作为元数据添加到代码中的修饰性代码。它们并不直接影响程序的语义,但是编译器、开发工具和运行时库可以通过处理它们生成额外的Java语言源文件、XML文档或其他工件和行为,这些对包含注解的程序起辅助作用。在本文后面,会看到如何通过添加简单的注解,将常规的Java类转换为Web服务。Web服务支持方面的飞跃JavaEE5中Web服务支持的基础是JAX-WS2.0,它是一种替代JAX-RPC1.1的技术。这两种技术都支持创建REST风格和基于SOAP的Web服务,而不必直接处理Web服务固有的XML处理和数据绑定细节。开发人员可以继续使用JAX-RPC(这仍然需要JavaEE5容器),但是强烈建议迁移到JAX-WS。刚开始学习JavaWeb服务的开发人员可以跳过JAX-RPC,直接使用JAX-WS。它们都支持SOAP1.1overHTTP1.1,所以完全兼容:JAX-WSWeb服务客户机可以访问JAX-RPCWeb服务端点,反之亦然。与JAX-RPC相比,JAX-WS有许多优点。JAX-WS:59 支持SOAP1.2标准(以及SOAP1.1)。支持XMLoverHTTP。如果愿意,可以不使用SOAP。使用JavaArchitectureforXMLBinding(JAXB)作为数据映射模型。JAXB完全支持XML模式,而且性能更好(更多信息见下文)。为客户机和服务器引入了一个动态编程模型。客户机模型支持面向消息方式和异步方式。支持MessageTransmissionOptimizationMechanism(MTOM),这是一个用于优化SOAP消息传输和格式的W3C建议规范。升级了Webservicesinteroperability(WS-I)支持。(它支持BasicProfile1.1;JAX-WS只支持BasicProfile1.0。)升级了SOAP附件支持。(它支持AttachmentsAPIforJava[SAAJ]1.3:JAX-WS只支持SAAJ1.2。)通过阅读文章“web服务提示与技巧:JAX-RPC与JAX-RPC的比较”,可以进一步了解这些差异。JAX-WS中的wsimport工具自动地处理Web服务开发的许多细节,并以跨平台方式集成到构建过程中,这让开发人员可以将注意力集中于实现或使用服务的应用程序逻辑。它生成各种工件,包括服务、服务端点接口(SEI)、异步响应代码、基于WSDL错误的异常以及通过JAXB绑定到模式类型的Java类。JAX-WS还能够提高Web服务的性能。在文章“ImplementingHighPerformanceWebServicesUsingJAX-WS2.0”中,对基于JAX-WS的Web服务实现(使用了JavaEE5中的另外两个Web服务特性—JAXB和StAX)和基于J2EE1.4中的JAX-RPC的服务实现做了性能对比。这项研究发现在不同负载下JAX-WS在各个功能领域产生了40%到1000%的性能改进。Web应用程序技术除了现有的JavaServerPages和Servlet规范,JavaEE5引入了两种前端技术—JSF和JSTL。JSF是一组API,支持以基于组件的方式开发用户界面。JSTL是一组标记库,支持在JSP中嵌入过程式逻辑、对JavaBean的访问方法、SQL命令、本地化格式指令和XML处理。JSF、JSTL和JSP的最新版本支持一种统一表达式语言(expressionlanguage,EL),这使这些技术更容易集成在一起。JSF1.2JSF为常见的UI问题提供了内置支持,比如组件状态管理、事件处理、导航、用户输入检验和国际化。有经验的开发人员可以创建定制的强大的可重用组件,还可以为Web浏览器之外的其他客户机设备创建定制的组件。技术经验不足的用户可以在SunJavaStudioCreator等可视编程环境中重用定制组件,包括用于HTML界面的默认JSF标记库。这让编程新手也能够创建复杂的Web表示层。在开放源码领域和受许可协议限制的软件领域中,第三方JSF59 组件越来越多了。在Web上搜索“JSFcomponents”或“JSFcomponentlibraries”会找到几十种组件。许多组件都依赖于AsynchronousJavaScript+XML(Ajax)技术,这种技术是“Web2.0”运动背后的主要驱动力。Web程序员可以使用它们创建出比传统Web应用程序更好的用户体验,同时避免了从头编写Ajax组件的麻烦。JSP2.1JSP技术是从J2EE2.1开始出现的。它使用JavaServlet规范支持声明式的UI编程。它支持以文档形式编写UI,Web应用程序容器将这些文档转换为Javaservlet并编译,然后调用它们来响应请求。这些文档通常将JSP指令和脚本片段与某种标记语言(比如HTML)混在一起。JSP可以使用老式语法(使用以<%开头、以%>结束的特殊标记),也可以使用新的语法(良构的XML)。它们通常作为Model-View-Controller(MVC)UI框架的“View”部分。与以前的版本相比,JSP2.1和JSF1.2之间的兼容性更好,这主要是因为它们的EL语法已经集成为统一EL。EL支持的操作包括:在请求、会话和应用程序上下文中访问JavaBean的属性。执行逻辑测试来做出各种选择,比如隐藏还是显示某个元素。通过计算生成在UI中显示的数字和字符串。过去,JSP和JSFEL语法有差异,而且容器计算它们的方式也不一样。统一EL消除了这些差异,还增加了一些特性,比如:一个可插入的框架,支持对EL的解释进行定制。支持延期执行的表达式,JSP标记处理器可以根据需要执行它们。支持赋值操作,例如可以在JSP代码中用EL表达式设置JavaBean的属性。对于JSP标记库开发人员来说,好消息是标记处理器现在支持用注解注入资源,所以大大简化了执行JavaNamingandDirectoryInterface(JNDI)所需的资源配置和代码。JSTL1.2JSTL已经存在多年了,但是在JavaEE5之前,JavaEE还不包含它。JSTL标记支持在JSP中嵌入以下类型的元素:过程式逻辑,比如循环和if/else结构。对JavaBean的访问方法,这可以向UI提供动态数据并允许UI代码修改数据。执行数据库访问的SQL命令。格式化指令,可以根据特定的地区对UI输出进行格式化。XML处理,比如DocumentObjectModel(DOM)解析或ExtensibleStylesheetLanguage(XSL)转换。JSTL1.2是一个维护版本,它支持统一EL并解决了在同一个JSP页面中混用JSF标记和JSTL迭代标记时遇到的问题。JavaServlet2.559 JavaServlet规范是JavaWeb层技术的核心,它的历史与JavaEE技术本身一样长。设计这个规范是为了提供一种高效率的基于组件的Web应用程序开发方法,并确保Web应用程序可以移植到实现这个规范的任何服务器上。JavaEE5所需的Servlet2.5规范是一个维护版本,它对2.4版做了一些次要的改进。它在Java5平台上引入了一些依赖项,还引入了一些注解,它们可以减少对Web应用程序部署描述符配置文件(web.xml)的配置需求。还增加了一些方便的配置特性,例如可以用通配符和多个url-pattern元素更灵活地配置servlet。JavaPersistenceAPI(JPA1.0)JPA引入了一个用于Java对象持久化的对象-关系映射(object-relationalmapping,ORM)框架。在开发它时主要考虑EJB的需要,但是它可以用于任何Java对象。可以使用注解指定哪些对象和字段应该持久化,以及它们应该映射到哪些数据库表和字段。JPA支持一种与SQL相似的查询语言。这种查询语言可以:定义参数化的查询,这种查询可以以有序列表形式接收参数(按索引号引用参数),也可以采用按名称引用的命名参数。按照持久化实体之间的关系执行查询,而不需要JOIN语句(但是,如果您愿意,也可以使用JOIN语句)。按照与SQL相似的方式指定搜索条件(比较操作符、LIKE语句、BETWEEN语句等等),定义如何对待结果集(使用DISTINCT、ORDERBY、GROUPBY等操作符)。JPA给JavaEE平台提供了新功能,解决了与手工持久化和容器持久化相关的许多麻烦。管理和安全性JavaEE5需要三个与以前版本相同的管理和安全性规范:ApplicationDeployment提供一个用于将组件和应用程序部署到JavaEE容器的API。工具可以通过这个API将代码部署到JavaEE5容器中,而不需要重新启动容器。在开发期间,IDE常常使用这个API支持快速的编写/测试/纠正循环。ApplicationManagement为容器管理的对象指定必需的属性和操作。它与多种行业标准管理协议兼容。AuthorizationContractforContainers(JavaACC)定义安全策略提供者的语义,以及如何授予对这个合约中的操作的访问权。它要求容器实现一些接口,使部署工具能够管理授权角色。在JavaEE5中,这些规范都是维护版本(版本号都从J2EE1.4中的1.0版升到1.1版),做了一些次要改进,这些超出了本文的范围。在JavaEE5支持的EJB3.0编程模型中,这个@EJB注解注入RideStatistics对RideManagerRemote的依赖项,这样RideStatistics就不需要用JNDI59 查找引用。它还避免了直接依赖于包含RideManagerRemote的包。看一下import语句;这里没有针对RideManagerRemote的import语句(但是,它却可以通过编译)。所以,可以将RideManagerRemote重构到另一个包中,而不需要更新和重新编译RideStatistics。注解还给依赖项的另一方面带来许多好处:实际EJB提供RideManagerRemote背后的实现并告诉JavaEE5容器用它做什么。我将稍后解释。复杂的运行时行为当部署到JavaEE5容器时,JAX-WS处理清单1中的@WebService注解,并将RideStatistics类转换为一个完整的Web服务端点,这个端点包含两个操作:rideOffersFromZipCode和rideOffersFromToZipCode。JAX-WS处理提供Web服务所需的所有工作,包括生成WebServicesDescriptionLanguage(WSDL),让Web上的其他应用程序能够发现并使用这个Web服务,还提供机制响应对Web服务的客户机请求。更复杂的注解注解还可以接受命名元素(namedelement),这种元素与方法参数相似,但是参数的次序和数量不重要,因为每个参数都有名称。使用命名元素就像是将一个映射传递给注解,其中包含的键/值对可以决定处理注解的方式。在J2EE1.4中,EJB必须实现SessionBean接口,这个接口要求实现六个方法。在许多情况下,这些方法实现都是空的,它们之所以存在只是为了满足接口的要求,让代码能够通过编译,这使代码很杂乱。EJB3.0通过提供生命周期注解@PostConstruct、@PreDestroy、@PostActivate和@PrePassivate消除了这种混乱。可以根据需要将这些注解添加到适当的方法上,从而实现对生命周期事件的响应;只要求这些方法是公共方法,没有参数并返回void。用注解替代部署描述符JavaEE5中的注解还可以消除以前的JavaEE版本所需的大量配置代码。例如,@Stateless注解可以替代EJB部署描述符,EJB部署描述符是一个XML配置文件,它向容器提供EJB的细节。在以前的JavaEE平台中,必须在一个符合EJB2.1模式的XML文件中包含这样的描述符。清单5给出配置RideManagerBean和所需接口的代码片段:JavaEE5向后兼容以前的EJB部署描述符。如果愿意,甚至可以混合使用这两种方式,让遗留代码用描述符指定EJB,而用注解声明新的EJB。除了减少所需的代码量之外,注解还在维护方面有好处,因为配置信息就放在源代码中,Sun的架构师GrahamHamilton将这称为“truth-in-source-code”:对于正确地加上注解的类,不需要同时查看源代码和配置文件,就能够理解其运行方式,因为注解在源代码中直接定义了特殊行为。合理的默认行为我们只添加了一个简单的注解,就把RideStatistics变成了一个Web59 服务,这也展示了另一个JavaEE5设计原则:提供合理的默认行为,从而使编程模型更简单。在这个示例中,JAX-WS假设在带@WebService注解的类中所有公共方法都应该转换为Web服务操作,并以方法名作为操作名。在处理这些方法的输入参数和输出参数时,也会做相似的假设。如果默认行为不适合您的需要,那么可以通过在方法上加注解来修改。但是在许多情况下,都希望Web服务中使用的名称与实现Web服务的类匹配,所以JAX-WS的默认行为是很合理的,这大大简化了Web服务的开发。结束语在过去,JavaEE技术虽然很强大,但是也很麻烦;开发人员必须忍受它的复杂性,或者使用开发工具“驯服”它,才能享受到它的好处。这让大家觉得使用JavaEE非常累人,只有在大型的企业级平台确实需要它的强大特性,而且组织拥有能够应付JavaEE开发的资源的情况下,才会考虑使用这种平台。JavaEE5试图消除这种坏名声,使它成为适合企业应用程序开发的强大且易用的平台,采取的措施包括提供注解等新的语言特性,采用合理的默认行为等设计目标,以及强调更简单的编程模型。另外,更简单的编程模型减少了不必要的复杂性,降低了开发人员对第三方工具的需求。因此,开发强大的企业应用程序的成本现在显著降低了。开发人员花在与平台“搏斗”上的时间更少了,可以集中更多精力开发需要的实际功能,开发速度大大提高了。以前被JavaEE技术吓退的开发团队应该重新审视JavaEE5,现有J2EE应用程序的开发人员和维护人员应该研究JavaEE5中的众多特性,从而使自己的工作更轻松。59 本科毕业设计(论文)题目:仓库管理系统的设计与实现院(系):计算机科学与工程学院专业:计算机科学与技术班级:100602学生:张春东学号:100602122指导教师:王全2014年6月 毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作者签名:     日 期:     指导教师签名:     日  期:     使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名:     日 期:      学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权    大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期:年月日导师签名:日期:年月日毕业论文(设计)原创性声明 毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作者签名:     日 期:     指导教师签名:     日  期:     使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名:     日 期:      学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权    大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期:年月日导师签名:日期:年月日 指导教师评阅书指导教师评价:一、撰写(设计)过程1、学生在论文(设计)过程中的治学态度、工作精神□优□良□中□及格□不及格2、学生掌握专业知识、技能的扎实程度□优□良□中□及格□不及格3、学生综合运用所学知识和专业技能分析和解决问题的能力□优□良□中□及格□不及格4、研究方法的科学性;技术线路的可行性;设计方案的合理性□优□良□中□及格□不及格5、完成毕业论文(设计)期间的出勤情况□优□良□中□及格□不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范?□优□良□中□及格□不及格2、是否完成指定的论文(设计)任务(包括装订及附件)?□优□良□中□及格□不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义□优□良□中□及格□不及格2、论文的观念是否有新意?设计是否有创意?□优□良□中□及格□不及格3、论文(设计说明书)所体现的整体水平□优□良□中□及格□不及格建议成绩:□优□良□中□及格□不及格(在所选等级前的□内画“√”)指导教师:(签名)单位:(盖章)年月日 评阅教师评阅书评阅教师评价:一、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范?□优□良□中□及格□不及格2、是否完成指定的论文(设计)任务(包括装订及附件)?□优□良□中□及格□不及格二、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义□优□良□中□及格□不及格2、论文的观念是否有新意?设计是否有创意?□优□良□中□及格□不及格3、论文(设计说明书)所体现的整体水平□优□良□中□及格□不及格建议成绩:□优□良□中□及格□不及格(在所选等级前的□内画“√”)评阅教师:(签名)单位:(盖章)年月日 教研室(或答辩小组)及教学系意见教研室(或答辩小组)评价:一、答辩过程1、毕业论文(设计)的基本要点和见解的叙述情况□优□良□中□及格□不及格2、对答辩问题的反应、理解、表达情况□优□良□中□及格□不及格3、学生答辩过程中的精神状态□优□良□中□及格□不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范?□优□良□中□及格□不及格2、是否完成指定的论文(设计)任务(包括装订及附件)?□优□良□中□及格□不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义□优□良□中□及格□不及格2、论文的观念是否有新意?设计是否有创意?□优□良□中□及格□不及格3、论文(设计说明书)所体现的整体水平□优□良□中□及格□不及格评定成绩:□优□良□中□及格□不及格(在所选等级前的□内画“√”)教研室主任(或答辩小组组长):(签名)年月日教学系意见:系主任:(签名)年月日16 学位论文原创性声明本人郑重声明:所呈交的学位论文,是本人在导师的指导下进行的研究工作所取得的成果。尽我所知,除文中已经特别注明引用的内容和致谢的地方外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式注明并表示感谢。本人完全意识到本声明的法律结果由本人承担。学位论文作者(本人签名):年月日学位论文出版授权书本人及导师完全同意《中国博士学位论文全文数据库出版章程》、《中国优秀硕士学位论文全文数据库出版章程》(以下简称“章程”),愿意将本人的学位论文提交“中国学术期刊(光盘版)电子杂志社”在《中国博士学位论文全文数据库》、《中国优秀硕士学位论文全文数据库》中全文发表和以电子、网络形式公开出版,并同意编入CNKI《中国知识资源总库》,在《中国博硕士学位论文评价数据库》中使用和在互联网上传播,同意按“章程”规定享受相关权益。论文密级:□公开□保密(___年__月至__年__月)(保密的学位论文在解密后应遵守此协议)作者签名:_______导师签名:______________年_____月_____日_______年_____月_____日16 独创声明本人郑重声明:所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议。尽我所知,除文中已经注明引用的内容外,本设计(论文)不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本声明的法律后果由本人承担。 作者签名:二〇一〇年九月二十日 毕业设计(论文)使用授权声明本人完全了解滨州学院关于收集、保存、使用毕业设计(论文)的规定。本人愿意按照学校要求提交学位论文的印刷本和电子版,同意学校保存学位论文的印刷本和电子版,或采用影印、数字化或其它复制手段保存设计(论文);同意学校在不以营利为目的的前提下,建立目录检索与阅览服务系统,公布设计(论文)的部分或全部内容,允许他人依法合理使用。(保密论文在解密后遵守此规定) 作者签名:二〇一〇年九月二十日16 致谢时间飞逝,大学的学习生活很快就要过去,在这四年的学习生活中,收获了很多,而这些成绩的取得是和一直关心帮助我的人分不开的。首先非常感谢学校开设这个课题,为本人日后从事计算机方面的工作提供了经验,奠定了基础。本次毕业设计大概持续了半年,现在终于到结尾了。本次毕业设计是对我大学四年学习下来最好的检验。经过这次毕业设计,我的能力有了很大的提高,比如操作能力、分析问题的能力、合作精神、严谨的工作作风等方方面面都有很大的进步。这期间凝聚了很多人的心血,在此我表示由衷的感谢。没有他们的帮助,我将无法顺利完成这次设计。首先,我要特别感谢我的知道郭谦功老师对我的悉心指导,在我的论文书写及设计过程中给了我大量的帮助和指导,为我理清了设计思路和操作方法,并对我所做的课题提出了有效的改进方案。郭谦功老师渊博的知识、严谨的作风和诲人不倦的态度给我留下了深刻的印象。从他身上,我学到了许多能受益终生的东西。再次对周巍老师表示衷心的感谢。其次,我要感谢大学四年中所有的任课老师和辅导员在学习期间对我的严格要求,感谢他们对我学习上和生活上的帮助,使我了解了许多专业知识和为人的道理,能够在今后的生活道路上有继续奋斗的力量。另外,我还要感谢大学四年和我一起走过的同学朋友对我的关心与支持,与他们一起学习、生活,让我在大学期间生活的很充实,给我留下了很多难忘的回忆。最后,我要感谢我的父母对我的关系和理解,如果没有他们在我的学习生涯中的无私奉献和默默支持,我将无法顺利完成今天的学业。四年的大学生活就快走入尾声,我们的校园生活就要划上句号,心中是无尽的难舍与眷恋。从这里走出,对我的人生来说,将是踏上一个新的征程,要把所学的知识应用到实际工作中去。回首四年,取得了些许成绩,生活中有快乐也有艰辛。感谢老师四年来对我孜孜不倦的教诲,对我成长的关心和爱护。学友情深,情同兄妹。四年的风风雨雨,我们一同走过,充满着关爱,给我留下了值得珍藏的最美好的记忆。在我的十几年求学历程里,离不开父母的鼓励和支持,是他们辛勤的劳作,无私的付出,为我创造良好的学习条件,我才能顺利完成完成学业,感激他们一直以来对我的抚养与培育。最后,我要特别感谢我的导师***老师、和研究生助教***老师。是他们在我毕业的最后关头给了我们巨大的帮助与鼓励,给了我很多解决问题的思路,在此表示衷心的感激。老师们认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。他无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高这对于我以后的工作和学习都有一种巨大的帮助,感谢他耐心的辅导。在论文的撰写过程中老师们给予我很大的帮助,帮助解决了不少的难点,使得论文能够及时完成,这里一并表示真诚的感谢。16 致谢这次论文的完成,不止是我自己的努力,同时也有老师的指导,同学的帮助,以及那些无私奉献的前辈,正所谓你知道的越多的时候你才发现你知道的越少,通过这次论文,我想我成长了很多,不只是磨练了我的知识厚度,也使我更加确定了我今后的目标:为今后的计算机事业奋斗。在此我要感谢我的指导老师——***老师,感谢您的指导,才让我有了今天这篇论文,您不仅是我的论文导师,也是我人生的导师,谢谢您!我还要感谢我的同学,四年的相处,虽然我未必记得住每分每秒,但是我记得每一个有你们的精彩瞬间,我相信通过大学的历练,我们都已经长大,变成一个有担当,有能力的新时代青年,感谢你们的陪伴,感谢有你们,这篇论文也有你们的功劳,我想毕业不是我们的相处的结束,它是我们更好相处的开头,祝福你们!我也要感谢父母,这是他们给我的,所有的一切;感谢母校,尽管您不以我为荣,但我一直会以我是一名农大人为荣。通过这次毕业设计,我学习了很多新知识,也对很多以前的东西有了更深的记忆与理解。漫漫求学路,过程很快乐。我要感谢信息与管理科学学院的老师,我从他们那里学到了许多珍贵的知识和做人处事的道理,以及科学严谨的学术态度,令我受益良多。同时还要感谢学院给了我一个可以认真学习,天天向上的学习环境和机会。即将结束*大学习生活,我感谢****大学提供了一次在农大接受教育的机会,感谢院校老师的无私教导。感谢各位老师审阅我的论文。毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得16 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作者签名:     日 期:     指导教师签名:     日  期:     使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名:     日 期:     16 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权    大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期:年月日导师签名:日期:年月日16 独创声明本人郑重声明:所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议。尽我所知,除文中已经注明引用的内容外,本设计(论文)不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本声明的法律后果由本人承担。 作者签名:年月日 毕业设计(论文)使用授权声明本人完全了解**学院关于收集、保存、使用毕业设计(论文)的规定。本人愿意按照学校要求提交学位论文的印刷本和电子版,同意学校保存学位论文的印刷本和电子版,或采用影印、数字化或其它复制手段保存设计(论文);同意学校在不以营利为目的的前提下,建立目录检索与阅览服务系统,公布设计(论文)的部分或全部内容,允许他人依法合理使用。(保密论文在解密后遵守此规定) 作者签名:年月日16 基本要求:写毕业论文主要目的是培养学生综合运用所学知识和技能,理论联系实际,独立分析,解决实际问题的能力,使学生得到从事本专业工作和进行相关的基本训练。毕业论文应反映出作者能够准确地掌握所学的专业基础知识,基本学会综合运用所学知识进行科学研究的方法,对所研究的题目有一定的心得体会,论文题目的范围不宜过宽,一般选择本学科某一重要问题的一个侧面。毕业论文的基本教学要求是:1、培养学生综合运用、巩固与扩展所学的基础理论和专业知识,培养学生独立分析、解决实际问题能力、培养学生处理数据和信息的能力。2、培养学生正确的理论联系实际的工作作风,严肃认真的科学态度。3、培养学生进行社会调查研究;文献资料收集、阅读和整理、使用;提出论点、综合论证、总结写作等基本技能。毕业论文是毕业生总结性的独立作业,是学生运用在校学习的基本知识和基础理论,去分析、解决一两个实际问题的实践锻炼过程,也是学生在校学习期间学习成果的综合性总结,是整个教学活动中不可缺少的重要环节。撰写毕业论文对于培养学生初步的科学研究能力,提高其综合运用所学知识分析问题、解决问题能力有着重要意义。毕业论文在进行编写的过程中,需要经过开题报告、论文编写、论文上交评定、论文答辩以及论文评分五个过程,其中开题报告是论文进行的最重要的一个过程,也是论文能否进行的一个重要指标。撰写意义:16 1.撰写毕业论文是检验学生在校学习成果的重要措施,也是提高教学质量的重要环节。大学生在毕业前都必须完成毕业论文的撰写任务。申请学位必须提交相应的学位论文,经答辩通过后,方可取得学位。可以这么说,毕业论文是结束大学学习生活走向社会的一个中介和桥梁。毕业论文是大学生才华的第一次显露,是向祖国和人民所交的一份有份量的答卷,是投身社会主义现代化建设事业的报到书。一篇毕业论文虽然不能全面地反映出一个人的才华,也不一定能对社会直接带来巨大的效益,对专业产生开拓性的影响。但是,实践证明,撰写毕业论文是提高教学质量的重要环节,是保证出好人才的重要措施。2.通过撰写毕业论文,提高写作水平是干部队伍“四化”建设的需要。党中央要求,为了适应现代化建设的需要,领导班子成员应当逐步实现“革命化、年轻化、知识化、专业化”。这个“四化”的要求,也包含了对干部写作能力和写作水平的要求。3.提高大学生的写作水平是社会主义物质文明和精神文明建设的需要。在新的历史时期,无论是提高全族的科学文化水平,掌握现代科技知识和科学管理方法,还是培养社会主义新人,都要求我们的干部具有较高的写作能力。在经济建设中,作为领导人员和机关的办事人员,要写指示、通知、总结、调查报告等应用文;要写说明书、广告、解说词等说明文;还要写科学论文、经济评论等议论文。在当今信息社会中,信息对于加快经济发展速度,取得良好的经济效益发挥着愈来愈大的作用。写作是以语言文字为信号,是传达信息的方式。信息的来源、信息的收集、信息的储存、整理、传播等等都离不开写作。16 论文种类:毕业论文是学术论文的一种形式,为了进一步探讨和掌握毕业论文的写作规律和特点,需要对毕业论文进行分类。由于毕业论文本身的内容和性质不同,研究领域、对象、方法、表现方式不同,因此,毕业论文就有不同的分类方法。按内容性质和研究方法的不同可以把毕业论文分为理论性论文、实验性论文、描述性论文和设计性论文。后三种论文主要是理工科大学生可以选择的论文形式,这里不作介绍。文科大学生一般写的是理论性论文。理论性论文具体又可分成两种:一种是以纯粹的抽象理论为研究对象,研究方法是严密的理论推导和数学运算,有的也涉及实验与观测,用以验证论点的正确性。另一种是以对客观事物和现象的调查、考察所得观测资料以及有关文献资料数据为研究对象,研究方法是对有关资料进行分析、综合、概括、抽象,通过归纳、演绎、类比,提出某种新的理论和新的见解。按议论的性质不同可以把毕业论文分为立论文和驳论文。立论性的毕业论文是指从正面阐述论证自己的观点和主张。一篇论文侧重于以立论为主,就属于立论性论文。立论文要求论点鲜明,论据充分,论证严密,以理和事实服人。驳论性毕业论文是指通过反驳别人的论点来树立自己的论点和主张。如果毕业论文侧重于以驳论为主,批驳某些错误的观点、见解、理论,就属于驳论性毕业论文。驳论文除按立论文对论点、论据、论证的要求以外,还要求针锋相对,据理力争。16 按研究问题的大小不同可以把毕业论文分为宏观论文和微观论文。凡届国家全局性、带有普遍性并对局部工作有一定指导意义的论文,称为宏观论文。它研究的面比较宽广,具有较大范围的影响。反之,研究局部性、具体问题的论文,是微观论文。它对具体工作有指导意义,影响的面窄一些。另外还有一种综合型的分类方法,即把毕业论文分为专题型、论辩型、综述型和综合型四大类:1.专题型论文。这是分析前人研究成果的基础上,以直接论述的形式发表见解,从正面提出某学科中某一学术问题的一种论文。如本书第十二章例文中的《浅析领导者突出工作重点的方法与艺术》一文,从正面论述了突出重点的工作方法的意义、方法和原则,它表明了作者对突出工作重点方法的肯定和理解。2.论辩型论文。这是针对他人在某学科中某一学术问题的见解,凭借充分的论据,着重揭露其不足或错误之处,通过论辩形式来发表见解的一种论文。3.综述型论文。这是在归纳、总结前人或今人对某学科中某一学术问题已有研究成果的基础上,加以介绍或评论,从而发表自己见解的一种论文。4.综合型论文。这是一种将综述型和论辩型两种形式有机结合起来写成的一种论文。如《关于中国民族关系史上的几个问题》一文既介绍了研究民族关系史的现状,又提出了几个值得研究的问题。因此,它是一篇综合型的论文。写作步骤:毕业论文是高等教育自学考试本科专业应考者完成本科阶段学业的最后一个环节,它是应考者的总结性独立作业,目的在于总结学习专业的成果,培养综合运用所学知识解决实际问题的能力。从文体而言,它也是对某一专业领域的现实问题或理论16 问题进行科学研究探索的具有一定意义的论说文。完成毕业论文的撰写可以分两个步骤,即选择课题和研究课题。首先是选择课题。选题是论文撰写成败的关键。因为,选题是毕业论文撰写的第一步,它实际上就是确定“写什么”的问题,亦即确定科学研究的方向。如果“写什么”不明确,“怎么写”就无从谈起。教育部自学考试办公室有关对毕业论文选题的途径和要求是“为鼓励理论与工作实践结合,应考者可结合本单位或本人从事的工作提出论文题目,报主考学校审查同意后确立。也可由主考学校公布论文题目,由应考者选择。毕业论文的总体要求应与普通全日制高等学校相一致,做到通过论文写作和答辩考核,检验应考者综合运用专业知识的能力”。但不管考生是自己任意选择课题,还是在主考院校公布的指定课题中选择课题,都要坚持选择有科学价值和现实意义的、切实可行的课题。选好课题是毕业论文成功的一半。第一、要坚持选择有科学价值和现实意义的课题。科学研究的目的是为了更好地认识世界、改造世界,以推动社会的不断进步和发展16 。因此,毕业论文的选题,必须紧密结合社会主义物质文明和精神文明建设的需要,以促进科学事业发展和解决现实存在问题作为出发点和落脚点。选题要符合科学研究的正确方向,要具有新颖性,有创新、有理论价值和现实的指导意义或推动作用,一项毫无意义的研究,即使花很大的精力,表达再完善,也将没有丝毫价值。具体地说,考生可从以下三个方面来选题。首先,要从现实的弊端中选题,学习了专业知识,不能仅停留在书本上和理论上,还要下一番功夫,理论联系实际,用已掌握的专业知识,去寻找和解决工作实践中急待解决的问题。其次,要从寻找科学研究的空白处和边缘领域中选题,科学研究。还有许多没有被开垦的处女地,还有许多缺陷和空白,这些都需要填补。应考者应有独特的眼光和超前的意识去思索,去发现,去研究。最后,要从寻找前人研究的不足处和错误处选题,在前人已提出来的研究课题中,许多虽已有初步的研究成果,但随着社会的不断发展,还有待于丰富、完整和发展,这种补充性或纠正性的研究课题,也是有科学价值和现实指导意义的。第二、要根据自己的能力选择切实可行的课题。毕业论文的写作是一种创造性劳动,不但要有考生个人的见解和主张,同时还需要具备一定的客观条件。由于考生个人的主观、客观条件都是各不相同的,因此在选题时,还应结合自己的特长、兴趣及所具备的客观条件来选题。具体地说,考生可从以下三个方面来综合考虑。首先,要有充足的资料来源。“巧妇难为无米之炊”,在缺少资料的情况下,是很难写出高质量的论文的。选择一个具有丰富资料来源的课题,对课题深入研究与开展很有帮助。其次,要有浓厚的研究兴趣,选择自己感兴趣的课题,可以激发自己研究的热情,调动自己的主动性和积极性,能够以专心、细心、恒心和耐心的积极心态去完成。最后,要能结合发挥自己的业务专长,每个考生无论能力水平高低,工作岗位如何,都有自己的业务专长,选择那些能结合自己工作、发挥自己业务专长的课题,对顺利完成课题的研究大有益处。16 致谢这次论文的完成,不止是我自己的努力,同时也有老师的指导,同学的帮助,以及那些无私奉献的前辈,正所谓你知道的越多的时候你才发现你知道的越少,通过这次论文,我想我成长了很多,不只是磨练了我的知识厚度,也使我更加确定了我今后的目标:为今后的计算机事业奋斗。在此我要感谢我的指导老师——***老师,感谢您的指导,才让我有了今天这篇论文,您不仅是我的论文导师,也是我人生的导师,谢谢您!我还要感谢我的同学,四年的相处,虽然我未必记得住每分每秒,但是我记得每一个有你们的精彩瞬间,我相信通过大学的历练,我们都已经长大,变成一个有担当,有能力的新时代青年,感谢你们的陪伴,感谢有你们,这篇论文也有你们的功劳,我想毕业不是我们的相处的结束,它是我们更好相处的开头,祝福你们!我也要感谢父母,这是他们给我的,所有的一切;感谢母校,尽管您不以我为荣,但我一直会以我是一名农大人为荣。通过这次毕业设计,我学习了很多新知识,也对很多以前的东西有了更深的记忆与理解。漫漫求学路,过程很快乐。我要感谢信息与管理科学学院的老师,我从他们那里学到了许多珍贵的知识和做人处事的道理,以及科学严谨的学术态度,令我受益良多。同时还要感谢学院给了我一个可以认真学习,天天向上的学习环境和机会。即将结束*大学习生活,我感谢****大学提供了一次在**大接受教育的机会,感谢院校老师的无私教导。感谢各位老师审阅我的论文。16

您可能关注的文档

相关文档

最近下载