jsp20智能电网需求侧能耗数据反馈系统(jsp+servlet+sqlserver)_第1页
jsp20智能电网需求侧能耗数据反馈系统(jsp+servlet+sqlserver)_第2页
jsp20智能电网需求侧能耗数据反馈系统(jsp+servlet+sqlserver)_第3页
jsp20智能电网需求侧能耗数据反馈系统(jsp+servlet+sqlserver)_第4页
jsp20智能电网需求侧能耗数据反馈系统(jsp+servlet+sqlserver)_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

基于B-S的的智能电网需求侧能耗数据反馈系统-PAGEIV--PAGEIII-摘要本次毕业设计采用了基于结构理论的分析设计方法,详细的描述了要只做一个符合要的基于B-S的的智能电网需求侧能耗数据反馈系统的设计思路、制作流程以及用到的一些比较核心的开发技术。本论文首先是编写项目的摘要部分,然后就项目的课题背景,意义等进行介绍。接下来对系统开发中用到的开发工具进行介绍,最后是对国内外的研究现状进行了描述。第二章是对可行性分析进行描述,包括技术的可行性,经济的可行性,社会的可行性,第二章最后进行了总体设计原则的描述。第三章是系统的分析部分,主要是根据需求对系统进行分析,确定系统的业务流程,并画出业务流程图,然后对系统功能的数据流进行分析,设计出数据流图。第四章是系统的设计部分。包括系统的功能设计和数据库设计。功能设计就是罗列出系统的功能,并对功能的实现进行描述。数据库设计是根据数据库设计的各种约束条件进行设计,设计出符合要求的数据库。必须满足各种范式。第五章是系统的实现部分,在在这一章,主要是描述的各个功能模块的实现情况,包括页面的布局,页面的功能情况以及功能模块是如何实现的。第六章是软件测试部分,这一章主要是根据前面实现的功能模块,对系统的功能进行详细的测试,包括黑盒测试,级联测试,白盒测试等等,通过测试发现问题,然后进行改正,使系统可以流畅的运行。最后是在这次毕业设计中,我得到的结论,以及对帮助过的我老师和同学的感谢。根据与老师沟通以及自己的学习情况我决定选用jsp+sqlserver作为本次设计的开发语言和数据库,本次设计是B/S结构的,设计完成以后,保证可以正常的使用。关键词:多媒体;测试;B/S基于B-S的的智能电网需求侧能耗数据反馈系统AbstractThegraduationdesignusingtheanalysisdesignmethodbasedonstructuretheoryanddetaileddescribedtoonlydoameettomultimediatechnologyandapplicationcoursewebsitedesign,productionprocessesandtheuseofsomecoretechnologydevelopment.

Thefirstpartofthispaperistopreparethesummaryoftheproject,andthenontheprojectbackground,significance,etc..Next,weintroducethedevelopmenttoolsusedinthesystemdevelopment.Atlast,wedescribetheresearchstatusathomeandabroad.Thesecondchapteristhedescriptionofthefeasibilityanalysis,includingthetechnicalfeasibility,economicfeasibility,socialfeasibility,thesecondchapterfinallycarriedouttheoveralldesignoftheprincipleofdescription.Thethirdchapteristheanalysispartofthesystem,mainlyaccordingtothedemandanalysisofthesystemdeterminedthebusinessprocessofthesystem,anddrawthebusinessflowcharts,thenthefunctionsofthesystemdataflowanalysis,dataflowdiagram.Thefourthchapteristhedesignofthesystem.Includingsystemfunctiondesignanddatabasedesign.Functiondesignistosetoutthefunctionofthesystem,andtodescribethefunctionofthesystem.Databasedesignisbasedonthedatabasedesignofthevariousconstraintsofthedesign,designadatabasetomeettherequirements.Mustmeetthevariousparadigms.Thefifthchapteristherealizationofthesystem.Inthischapter,itmainlydescribestheimplementationofthevariousfunctionalmodules,includingthelayoutofthepage,thefunctionofthepageandhowthefunctionmoduleisimplemented.Thesixthchapteristhepartofsoftwaretesting,thischapterismainlyaccordingtothefrontoftherealizationofthefunctionmodule,thefunctionofthesystemweredetailedtest,includingblackboxtesting,cascadetesting,whiteboxtesting,andsoon,throughthetestfoundtheproblem,andcorrectthem,sothatthesystemcansmoothrunning.Finally,inthisgraduationdesign,Igettheconclusion,aswellasthehelpofmyteachersandstudentstothank.AccordingtoteachercommunicationandtheirownlearningandIdecidedtouseJSP+sqlserverasthedevelopmentlanguageanddatabaseofthedesign,thedesignisbasedonB/Sstructure,afterthecompletionofthedesigntoensurethenormaluse.KeyWords:Multimedia;TESTING;B/S目录摘要 IAbstract II第1章概述 11.1课题背景 11.2课题意义 11.3开发工具及技术 21.3.1JSP介绍 21.3.3MyEclips介绍 21.3.4B/S介绍 31.3.5SqlServer数据库 41.4国内外现状 5第2章可行性分析及总体设计原则 62.1可行性分析 62.1.1技术可行性 62.1.2经济可行性 72.1.3社会可行性 72.2总体设计原则 7第3章系统分析 93.1业务流程图 93.2数据流图 9第4章系统设计 104.1系统功能设计 104.2数据库设计 104.2.1概念结构设计 104.2.2数据库表设计 11第5章系统实现 125.1管理员登录 125.2设备管理模块 145.3设备数据管理模块 165.4设备用电查询模块 185.5设备用电分析模块 19第6章软件测试 216.1测试目的与目标 226.2测试方法 226.3实际模块测试 22结论 23致谢 23参考文献 24附录I文献翻译 25基于B-S的的智能电网需求侧能耗数据反馈系统-PAGE28-第1章概述1.1课题背景随着我国科学技术的不断进步发展,计算机的应用也得到了广大的普及,打到一些公司机构,小到一些个人家庭,可以说,计算机变得越来越普及了。现在计算机也不断应用在了我们的生活中,一些机构就开始开发自己的管理系统,比如什么房屋租赁系统,交易网站,学生管理系统,统计系统,客户管理系统等。其实在很早以前,计算机网络刚刚普及的时候,国内的很多企业,在有条件的情况下也尝试开展了很多的分析系统,但是由于那时候技术不是很发达,网络条件不允许,造成这些系统在使用上遇到很大的问题。比如由于硬件资源有限,所以企业可以放在网络的资源和教是非常有限的,不能满足很多用户的要求。还有由于用户没有网络,只能去有网络的地方进行查询,电脑是很有限的,所以造成有些用户数据查询的不便。在技术环节方面,由于一些新潮的开发技术还不是很成熟,所以大部分的系统还都是已古老的方式进行设计,这就造成,页面内容不丰富,操作复杂,效果展示不佳等弊端。现在很多的新的开发技术不断成熟,利用这些现有的开发技术可以很好的实现我们的要求,各大其他也都退出自己的系统。1.2课题意义电力能源是目前人类使用最广泛的能源之一,作为主要能源消费形式用于工业生产、居民生活,以及楼宇、交通、服务等行业。在我国,一些客观因素如高耗能行业的无序增长、消费者节约意识薄弱、公共和家庭用电设施节电技术陈旧等,造成了电力能源的严重浪费。而智能电网需求侧能耗数据反馈系统能够及时有效的显示精细到设备类或电器的居民用电信息辅助电力消费者及时了解电能使用情况,并能给予消费者一些简单的建议,从而激励他们的节电行为和态度,减少电力能源浪费,确保电力在消费侧高效、合理的使用。这对于电力公司、电力用户乃至整个社会都有极其重要的意义。。1.3开发工具及技术1.3.1JSP介绍Java语言自从1996年正式发布。目前已经成长为IT领域必不可少的主流编程语言。Java起源于Sun高校的“Green”项目。1999年,Sun高校吧Java2技术分成了J2SE,J2EE和J2ME。其中J2E为分布式的企业应用提供开发和运行环境。进入21世纪以后,J2EE由于固有的良好的线性和可扩展性,逐渐成为各大开发商青睐的对象。Java语言中具有面向对象的优势、安全、跨平台、直接支持分布式的网络中的应用、鲁棒性、效率等.Java语言是非常简单且高效的,它使编程时间缩短,却使功能增强,让编程人员接手起来也更加简单,方便。Java语言是非常神奇的一个语言,只要你任意的编写几个小的代码段,然后有序的把他们组织起来,就会出现你想要的结果。互联网已经发展成为Web应用程序中,如电子商务,电子政务,应用系统的基础设施。基于Web的应用程序称为浏览器/服务器模式,即B/S模式。开发Web应用程序,传统的HTML不能满足要求,需要一些语言来处理用户请求。目前,生成动态网页的方法有CGI、ASP.NET、PHP和JSP。其中JSP是基于Java的。JSP是JavaServerPage的缩写。JSP用来创建动态Web应用程序的快捷方式,并继承了Java“一次编写,到处运行”的特点。[2]JSP具有以下特点:1.将内容的生成和显示进行分离2.强调可重用的组件3.采用标识简化页面开发4.健壮性与安全性5.良好的移植性6.企业级的扩展性和性能。1.3.3MyEclips介绍MyEclipse达到了企业工作台水平,是EclipseIDE扩展,用户可以用它来大大提高效率的数据库和JavaEE开发、释放、和应用程序服务器的集成。它是一个很灵巧的开发java的开发环境,可以实现,代码编写,单元测试,网站发布等基本的功能。完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。MyEclipse是适合用来开发Java,J2EE的Eclipse插件集合。MyEclipse的功能特别强大,支持面广泛,特别是对各种开放源产品的支持效果很是不错。MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。MyEclipse有一下几点有点:1.J2EE模型2.WEB开发工具3.EJB开发工具4.应用程序服务器的连接器5.J2EE项目部署服务6.数据库服务7.MyEclipse整合帮助以上所有功能,在myeclipse中都得到了很好的体现。只要我们需要其他的功能,我们可以在网上寻找其他的功能插件,把这些插件安装进myeclipse即可。Myeclipse是基于插件的。这样的好处了可以自由的配置自己喜欢的myeclipse,不需要的插件可以自己去掉,需要的优秀插件自己可以安装进来。程序员可以根据自己的情况灵活配置自己的开发工具。1.3.4B/S介绍B/S结构就是不需要客户安装客户端,只是网站的管理员把网站发布在网络上,客户端人员使用浏览器就可以进入网站使用。随着Internet技术的兴起和发展。C/S结构已经无法满足人们的要求。于是人们开始变换的C/S,这产生了B/S结构。B/S比C/S的维护工作量大大减少了。[9]C/S结构的每个客户端都必须安装和配置软件。B/S能够降低总体拥有成本。随着计算机技术的发展,目前大多数科技高校都不约而同的对数据提出了实时性、一致性和安全性等这些要求。传统类型C/S结构根本达不到这些要求,迫切的需要做出改变。但是B/S结构则不同,它可以清楚正确的看到系统正在处理的业务,这样有利于管理人员快速的做出决策,有效地避免了企业经济上的亏损。B/S结构的软件,不需要安装客户端,所以数据都不会被保存在客户端,而是保存在网站的数据库中,客户端不能直接对数据库进行操作,所以安全性可以大大提高。B/S结构中的数据采取了集中式管理模式。当客户端的业务产生数据时,这些数据都直接被存入中央数据库。这样的做法避免了数据一致性的问题。这些优点很好更好的迎合了人们的需要。[10] 以当下技术水平来说,利用B/S结构来开发网络应用,并通过网络模式下数据库应用,是容易把握的而且成本也是比较低的。这样的模式,只要是懂代码的程序员,不管在哪里办公,不管是什么方式切入网站都是非常好的,并且数据库放在服务端;它可以有效地保护和管理数据访问平台,服务器数据库也是非常安全的。尤其是在这样一种跨平台语言JAVA之后出现,B/S体系结构管理软件是更方便、更快捷、更高效。1.3.5SqlServer数据库SqlServer是一个开发性的关系型数据库管理系统。它将数据存储在不同的表,并不是简单的将所有数据都放在一个大型的仓库。它是可以提高数据读取的速度和灵活性的RDBMS。[7]SqlServer的SQL语言是用于访问数据库的最常用标准化语言。SqlServer软件拥有社区版和商业版两大版本。因为SqlServer体积小、速度快、总成本低,尤其是开放源码这一特点,所以得到了大小型网站开发者的青睐,他们都十分愿意选择SqlServer作为数据库。[8]一般对于个人使用者来说Oracle的功能已经十分全面了。在多次比较了Oracle、DB2、SQLserver之后,本论文还是选择了SqlServer作为系统的数据库。SQLSever2005是微软公司到目前为止推出的相对来说比较成熟的高性能关系型数据库管理系统,无论是在大的数据要求和小的数据要求,它都得到了非常广泛的应用。区别于mysql等小型的数据库管理系统,SQLServer2005是一个功能非常强大的数据库管理系统。SQLServer2005是为创建大型网站和数据管理系统而设计的功能强大的关系型数据库管理与分析系统。SQLServer2005中包含的许多优良的新特性为其为大数据量的系统提供了很好的服务。这次系统开发便选用SQLServer2005为后台数据库。SQLServer2005的特性主要有以下几点:由于今天Windows操作系统占领着主导地位,选择SQLServer一定会在兼容性方面取得一些优势。另外,SQLServer2005除了具有扩展性,可靠性以外,还具有可以迅速开发新的因特网系统的功能。尤其是它可以直接存贮XML数据,可以将搜索结果以XML格式输出等特点,有利于构建了异构系统的互操作性,奠定了面向互联网的企业应用和服务的基石。SQLServer2005能提非常大的数量级别的数据库服务。鉴于SQLSERVER2005强大的功能,他可以提供很好的并发连接,并可以对系统提供很好的保护措施,可以防止一些因为特殊意外造成的数据库崩溃。SQLServer2005不仅能作为一个功能强大的数据库服务器有效地工作,而且数据库引擎也应用于需要在客户端本地存储独立数据库的应用程序中。SQLServer2000可以动态地将自身配置成能有效地使用客户端桌面或膝上型电脑中的可用资源,而不需要为每个客户端专设一个数据库管理员。应用程序供应商还可以将SQLServer2000作为应用程序的数据存储组件嵌入到应用程序中。1.4国内外现状在2001年意大利电力公司改造并安装了3180万只智能电能表,建立了智能化计量网络,但该智能网络只是以能够实现峰谷平电量计量功能的电子表计为核心技术的计量网络。目前,意大利几乎所有家庭都安装了智能电能表。2006年,欧盟理事会发表了名为《可持续的、竞争的、安全的欧洲能源策略》的能源绿皮书,将智能电网作为欧盟未来建设电网的主导方向。法国电力公司从2008年开始将2700万只普通电能表更换为智能电能表,使用户能自动跟踪自身用电情况,实现远程控制,并有超过1000万的用户可以通过网站、邮件、电话和专门的电子接收装置获得峰荷电价信息,实时调整用电方式。2009年1月25日,美国白宫发布《复苏计划尺度报告》,计划为居民家庭安装4000万只智能电能表,实现远程管理及抄表功能。日本在2010年6月修改了能源基本计划,推出的方针是“继续充分考虑投资效果,从2020年开始尽快让所有提出申请的用户安装智能电能表”。从20世纪90年代至今,中国的电力公司根据业务发展需要建立了针对不同类型用户的电能信息采集系统,主要包括关口电能量采集系统、电力负荷管理系统、客户电能量采集系统、低压集中抄表系统和配电自动化系统。2008年9月,国家电网公司启动了“计量、抄表、收费标准化建设”项目研究工作。目前国内的标准账单内容通常仅包含当期用电量、电价和电费不能辅助电力消费者及时了解精细到设备类或电器的电能使用情况。这难以激励他们的节电行为和态度,减少电力能源浪费,确保电力在消费侧高效、合理的使用。基于B-S的的智能电网需求侧能耗数据反馈系统第2章可行性分析及总体设计原则2.1可行性分析系统的可行性分析可以从多方面进行,比如技术上的一些,经济上的一些,管理方面的一些等几个方面进行。软件开发,肯定要用到电脑了,软件的运行也肯定要用到一些服务器和网络。所以这是一笔投资,但是这些投资是长久的,以后如果不出现特殊情况,不需要频繁的更换。技术可行性分析,世界上每种语言和硬件设施的存在都是有一定价值的,我们需要做的是根据自己开发的系统情况,选择比较符合的开发技术,根据用户的使用情况,购买合适的硬件设备。从实际需求的角度来分析系统的可行性来讲,作为一个系统,必须有系统的初始化阶段来对系统的一些基本的配置信息进处理。从系统的维护角度来可以,必须有专门的维护人员来对系统进行维护。本网站操作简单易懂,对于操作人员而言只需要学习简单的电脑操作即可熟练使用本系统。本网站以个人为单位,仅供个人所用,没有侵犯任何版权,也没有违反国家相关法律法规及相关方面的规定,与业界有关规定也无矛盾之处,所以法律方面可行。2.1.1技术可行性技术可行性要考虑现有的技术条件是否能够满足系统的需求,来实现系统的功能。本网站采用跨平台的比较流行的JSP开发语言,JSP语言的开发比较简单,调试的时候采用debug模式也能迅速订到到问题的地点,况且现在的个人比较笨配置都比较高,可以满足开发的需求,因此在技术可行性方面是一点问题都不存在的。软件方面:由于目前各式各样的开发工具都有,我们的电脑也很方便安装这些软件,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。2.1.2经济可行性经济可行性研究是对需求提出方的经济能力的一个考验,除了系统的开发费用,系统后期的运行和维护也是需要金钱的,当然,系统建成后,如果效果好,也可以给我们提供丰富的回报。由于这个设计是我自己用来做毕业设计的,所以我只需要在我的笔记本上安装软件进行开发就足够了,不需要购买一些复杂的硬件设备和开通网络环境,租赁服务器等。2.1.3社会可行性新系统使用之后,会牵扯到很多的问题,比如使用机构的一些人员管理情况,人员使用系统需要进行一些培训学习,工作方式可能要根据情况进行相应的调整。运行可行性是指本系统的运行是否可以放在网络上使用,是否符合国家法律的要求,是否需要相关的公安机关进行检查等。从开发时间上看,本次设计是一次小小的毕业设计,我在大学四年里,通过对知识的学习,已经能独立完成本系统的设计和开发,虽然时间有点紧,我的技术也不够成熟,但是我相信通过我的努力,我可以通过本次毕业答辩。①所有技术资料都为合法。②开发过程中不存在知识产权问题。③没有抄袭网上现有的成品,所以不存在任何的侵权行为。④开发过程中未涉及任何法律责任。2.2总体设计原则为了方便本系统的快速开发和后期的维护,所以在开发过程中我要遵守一些最基本的设计原则,比如下面几条:简单性:在确保系统功能能够完全满足需求的情况下,尽量让系统做到操作简便,易于理解。目的性:每个系统都会有自己的要求,而这些要求整是系统所需要的,所以我们要有目的的去开发一个系统,保证系统能够覆盖需求。实用性:每个系统做出来都是为了让大家用的,而不只是一个摆设,所以需求的实用性,是否能在实际的工作和生产中用起来是一个非常关键的事情。统一性:所谓的统一性指的是系统的界面风格和布局要前后统一,不能五花八门,在就是用户看不到的代码方面,要做到命名规则的统一,这样便于以后的维护。先进性:虽然我们不能预测未来的十年二十年会发生什么,但是我们要使用目前最先进的技术来进行开发,这样才能使产品不至于过早的被淘汰掉。基于B-S的的智能电网需求侧能耗数据反馈系统第3章系统分析3.1业务流程图在系统分析的阶段,业务流程分析是很重要的环节,这个环节主要是把系统的业务情况梳理情况,分析出系统都涉及到哪些的业务流程,这些业务流程需要处理哪些内容,处理这些内容的顺序,以及处理时间等。只有弄清楚了这些问题,我们猜能够更好的对系统的整个流程情况有个把控。[4]。3.2数据流图数据流图是指在在整个系统中数据的流向情况,包括数据的产生,数据的传递,数据的处理,数据的使用等等。数据流图就是把系统中的数据用面向对象的思想,把数据抽象出来,当做一个对象看待。通过上面我们对业务流程的分析的基础上,我们对数据流进行详细的分析,从来得出本系统的数据流图。这个系统的数据流我们分为三层。顶层数据流图如图3.2所示。图3.2顶层数据流图基于B-S的的智能电网需求侧能耗数据反馈系统第4章系统设计4.1系统功能设计系统设计就是把一个系统的需求情况通过分析得出的结果,把结果转换为可用的系统的过程。我们通过对需求的分析研究,得出系统的整体功能,然后在对整体的功能进行详细的规划和设计,包括总体设计,数据库设计,选择合适的编程工具和编程语言,根据项目时间要求选择合适的开发计划等。基于B-S的的智能电网需求侧能耗数据反馈系统前台功能模块图如图4-1所示:图4-1前台功能模块图4.2数据库设计每个系统都离不开数据库的支撑,数据库设计的好坏,会很大程度上影响一个系统的执行销量和服务时间,数据就是一切的基础,没有数据,一个系统只有框架没有血肉,所以在数据库的设计中一定要满足数据库设计的基本要求,否则可能造成重新开发的严重后果。4.2.1概念结构设计从数据需求分析中得出系统的实体属性图。(1)管理员实体属性图如图4-3所示:图4-3管理员实体属性图(2)设备实体属性图如图4-2所示:图4-3设备实体属性图(3)用电信息实体属性图如图4-3所示:图4-3用电实体属性图4.2.2数据库表设计(1)管理员信息表(admins)管理员信息表主要用于保存系统管理员的基本信息,主要字段包括:主键ID、用户名和密码如下表所示4.13。表4.13管理员信息表(t_admin)字段名数据类型字段描述长度主键userIdInt编号10√userNamevarchar登陆账号50userPwvarchar登陆密码50(2)设备信息表(sb)设备信息表主要用于设备信息的管理如下表所示4.14。表4.14设备信息表(sb)字段名数据类型字段描述长度主键IdInt主键ID10√Novarchar编号50Namesvarchar名称50Descsvarchar备注50(3)设备用电信息表(sbdata)设备用电信息表主要用于保存设备的用电信息等如下表所示4.15。表4.15设备用电信息表(sbdata)字段名数据类型字段描述长度主键IdInt编号10√SbidInt设备id50Timesvarchar时间50Datavarchar数据50第5章系统实现5.1管理员登录1.描述:管理员想要使用本系统,首先要在登陆页面进行账号和密码的验证,只有验证通过可以登入系统。2.程序运行效果图如图5.1所示:图5.1系统登陆页面设计3.管理员输入登陆信息,进行提交,系统就会验证登陆信息的正确性,正确则会进入系统,错误则会被提示到,关键代码:Stringusername=request.getParameter("username"); Stringpassword=request.getParameter("password"); HttpSessionsession=request.getSession(); Stringsql="select*fromadminswhereusername='"+username +"'andpassword='"+password+"'"; System.out.println(sql); DBUtilutil=newDBUtil(); Connectionconn=util.openConnection(); try{ PreparedStatementpstmt=conn.prepareStatement(sql); ResultSetrs=pstmt.executeQuery(); intindex=0; while(rs.next()){ intid=rs.getInt("id"); session.setAttribute("id",id); session.setAttribute("name",rs.getString("username")); session.setAttribute("password",rs.getString("password")); session.setAttribute("types","1"); index++; break; } if(index>0){ response.sendRedirect("newindex.jsp"); }else{ request.setAttribute("ok","ok"); request.getRequestDispatcher("newlogin.jsp").forward(request, response); } }catch(SQLExceptione){ e.printStackTrace(); }finally{ util.closeConn(conn); } 5.2设备管理模块1.描述:管理员通过验证登陆系统之后,可以对系统的设备信息进行管理。2.程序运行效果图如图5.2所示:图5.2设备管理 Stringsql="SELECTTOP" +n +"*FROM(" +"SELECTROW_NUMBER()OVER(ORDERBYid)ASRowNumber,*FROMsb)A" +"WHERERowNumber>"+m; Stringsql2="selectcount(*)fromsb"; PreparedStatementpstmt1; inttotle=0; ResultSetrs=null; try{ pstmt1=conn.prepareStatement(sql); PreparedStatementpstmt2=conn.prepareStatement(sql2); rs=pstmt1.executeQuery(); ResultSetrs2=pstmt2.executeQuery(); rs2.next(); totle=rs2.getInt(1); inttotlePage=totle/n; inttotlePageY=totle%n; if(totlePageY!=0){ totlePage=totlePage+1; } List<Sb>list=newArrayList<Sb>(); while(rs.next()){ Sbbean=newSb(); bean.setId(rs.getInt("id")); bean.setNo(rs.getString("no")); bean.setNames(rs.getString("names")); bean.setDescs(rs.getString("descs")); list.add(bean); } Pagepage=newPage(); page.setPageNo(pageNo); page.setTotlePage(totlePage); page.setTotle(totle); page.setList(list); request.setAttribute("page",page); request.getRequestDispatcher("sblist.jsp").forward(request, response); }catch(Exceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); }5.3设备数据管理模块1.描述:管理员通过验证登陆系统之后,可以对系统的设备数据信息进行管理。2.程序运行效果图如图5.3所示:图5.3设备数据管理 Stringsbid=request.getParameter("sbid"); Stringtimes=request.getParameter("times"); Stringd1=request.getParameter("d1"); Stringd2=request.getParameter("d2"); Stringd3=request.getParameter("d3"); Stringd4=request.getParameter("d4"); Stringd5=request.getParameter("d5"); Stringd6=request.getParameter("d6"); Stringd7=request.getParameter("d7"); Stringd8=request.getParameter("d8"); Stringd9=request.getParameter("d9"); Stringd10=request.getParameter("d10"); Stringd11=request.getParameter("d11"); Stringd12=request.getParameter("d12"); Stringd13=request.getParameter("d13"); Stringd14=request.getParameter("d14"); Stringd15=request.getParameter("d15"); Stringd16=request.getParameter("d16"); Stringd17=request.getParameter("d17"); Stringd18=request.getParameter("d18"); Stringd19=request.getParameter("d19"); Stringd20=request.getParameter("d20"); Stringd21=request.getParameter("d21"); Stringd22=request.getParameter("d22"); Stringd23=request.getParameter("d23"); Stringd24=request.getParameter("d24"); StringsqlAdd="insertintosbdata(sbid,times,d1,d2,d3,d4,d5,d6,d7,d8,d9" +",d10,d11,d12,d13,d14,d15,d16,d17,d18,d19,d20,d21,d22,d23,d24)values(" +sbid +",'" +times +"'," +d1 +"," +d2 +"," +d3 +"," +d4 +"," +d5 +"," +d6 +"," +d7 +"," +d8 +"," +d9 +"," +d10 +"," +d11 +"," +d12 +"," +d13 +"," +d14 +"," +d15 +"," +d16 +"," +d17 +"," +d18 +"," +d19 +"," +d20 +"," +d21 +"," +d22+","+d23+","+d24+")"; Statementstmt=conn.createStatement(); stmt.executeUpdate(sqlAdd); this.list(n,m,conn,request,response,pageNo);5.4设备用电查询模块1.描述:管理员通过验证登陆系统之后,可以对系统的设备用电信息进行查询。2.程序运行效果图如图5.4所示:图5.4设备用电查询Stringsql="SELECTTOP" +n +"*FROM(" +"SELECTROW_NUMBER()OVER(ORDERBYid)ASRowNumber,*FROMsbdata)A" +"WHERERowNumber>"+m; Stringsql2="selectcount(*)fromsbdata"; PreparedStatementpstmt1; inttotle=0; ResultSetrs=null; try{ pstmt1=conn.prepareStatement(sql); PreparedStatementpstmt2=conn.prepareStatement(sql2); rs=pstmt1.executeQuery(); ResultSetrs2=pstmt2.executeQuery(); rs2.next(); totle=rs2.getInt(1); inttotlePage=totle/n; inttotlePageY=totle%n; if(totlePageY!=0){ totlePage=totlePage+1; } List<SbData>list=newArrayList<SbData>(); while(rs.next()){5.5设备用电分析模块1.描述:管理员通过验证登陆系统之后,可以对系统的设备用电进行分析。2.程序运行效果图如图5.5所示:图5.2设备用电分析//生成复杂带图例的柱状图//生成3D折线图(柱状图只改方法名createLineChart3D就可以了)JFreeChartchart=ChartFactory.createLineChart3D("24小时用电统计图",//图表标题"时间",//目录轴的显示标签"用电量",//数值轴的显示标签dataset,//数据//PlotOrientation.HORIZONTAL,//图表方向水平PlotOrientation.VERTICAL,//图表方向垂直true,//是否显示图例false,//是否显示工具提示false//是否生成URL);//设置标题及标题字体chart.setTitle(newTextTitle("24小时用电统计图",newFont("黑体",Font.ITALIC,12)));//建一个图例LegendTitlelegendTitle=chart.getLegend(0);//设置图例字体legendTitle.setItemFont(newFont("宋体",Font.BOLD,9));//获取折线图plot对象CategoryPlotplot=(CategoryPlot)chart.getPlot();//设置折线的颜色plot.getRenderer().setSeriesPaint(0,Color.BLUE);plot.getRenderer().setSeriesPaint(1,Color.GREEN);plot.getRenderer().setSeriesPaint(2,Color.ORANGE);//取得横轴CategoryAxiscategoryAxis=plot.getDomainAxis();//设置横轴的字体categoryAxis.setLabelFont(newFont("宋体",Font.BOLD,9));//设置分类标签以45度倾斜//categoryAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);//设置分类标签字体categoryAxis.setTickLabelFont(newFont("宋体",Font.BOLD,9));//取得纵轴NumberAxisnumberAxis=(NumberAxis)plot.getRangeAxis();//设置纵轴的字体numberAxis.setLabelFont(newFont("宋体",Font.BOLD,17));//设置背景透明度(0~1)plot.setBackgroundAlpha(0.9f);//设置前景色透明度(0~1)plot.setForegroundAlpha(0.5f);StringfileName=ServletUtilities.saveChartAsPNG(chart,1000,170,session);//ServletUtilities是面向web开发的工具类,返回一个字符串文件名,文件名自动生成,生成好的图片会自动放在服务器(tomcat)的临时文件下(temp)Stringurl=request.getContextPath()+"/DisplayChart?filename="+fileName;//根据文件名去临时目录下寻找该图片,这里的/DisplayChart路径要与配置文件里用户自定义的<url-pattern>一致第6章软件测试在代码编写进入尾声之后,我们就要进行一项很重要的工作了,那就软件测试。软件测试一般都是在软件开发结束之后进行,软件测试是我们对开发好的系统进行测试,包括页面的点击,数据准确性查看等等吧。还要看一下软件的一些约束性条件是否已经满足。在测试的过程中,我们不能按照正常的思维去操作,应该故意的去尝试一些错误,看看系统是否真的能够经得起考验,也就是尽可能的去发现系统的问题。只有经得起测试人员的考验,才能真正的被应用。6.1测试目的与目标在此系统功能大部分实现可以运行之之时,便需要开始考虑进行系统测试工作了。通过对系统进行测试可以找出系统中隐藏的一些错误。当我们在软件测试环节中发现一些问题之后,我们要注意记录,一遍反馈给开发人员进行修改,然后根据记录我们在进行重复的测试,不过在进行测试的时候不能只检查以前的错误,因为有可能造成,老错误改好了,新错误又出现了。测试的软件模块的基本功能,可以继续进行,尽可能提高软件的鲁棒性。6.2测试方法系统的测试有黑盒测试和白盒测试两种方法。黑盒测试也称作功能测试。黑盒测试只是进行系统功能的测试,检查功能是否符合要求,黑盒测试只是检查功能的执行是否按照我们计划的那样进行。白盒测试也叫结构测试。白盒测试主要进行的程序内部的一些测试,要完成这个测试最好是那些程序的开发人员进行,因为他们对程序的内部结构了解,对程序的代码编写风格清楚。本系统开发过程进行了模块测试、验收测试等测试。模块测试也可以称为单元测试,所谓的单元测试就是,把程序分成一个一个的段来进行,是程序员在进行软件开发过程中进行的,程序员每个人写好程序,然后自己对自己写的程序员进行测试,保证每个人写的程序没有错误。在模块测试过程中,我们还可以请开发小组的同事进行帮忙,进行代码的走读和纠正。验收测试出现在整个项目的收尾阶段,一般由客户自己完成,客户会按照自己的需求对软件的功能和性能进行全方位的测试。如果在验收测试中客户测试出有些功能不能实现,那我们需要重新测试修改,如果用户测试通过,那软件就可以交付了。平行运行。就是把现有的系统跟已有的成熟系统进行对比,在对比中发现问题,不断的改进提高。6.3实际模块测试在模块测试时应该主要从以下几个方面开始入手:各个功能模块之间的接口,每个模块的数据结构,模块与模块之间的连接,对于一些出错信息的处理等都是影响测试的主要条件。测试时进行代码审查测试,从数据类型,变量声明,数据结构进行审查,然后功是能测试。改变测试计划改造另一个测试情况,对错误进行记录修复。管理员和操作员登录的测试管理员输入正确的用户名和密码,会自动跳转到管理界面。若输入信息不准确,则会有相应的提示。测试结果为系统功能正常运行。结论经过这段时间的紧张学习与设计,在指导教师的细心教导和大力支持下,最终我完成了本次设计,完成了从分析设计到实现的全部过程。但是还是有许多不足的地方,如界面不够漂亮,数据库不够完整等,还有许多地方需要完善。在设计过程中,我通过查阅大量的相关资料、与同学交流经验、自学、并向老师请教等方式使自己学到了不少的知识,并大大地提高了动手能力。使我充分体会到了在创造过程中的艰辛探索和成功的喜悦。在整个毕业设计的过程中,从整体上对流程的概念有了一个更深层次的模型印象,对软件开发的整体设计思路和一些公认的方法有了全新的理解。通过这次毕业设计,使我在网站设计过程中积累很多经验,深深地体会到了理论与实践结合的重要性。毕业设计,是自己对大学所学知识的一种运用,是理论与实践相结合的产物。在此过程中,不但巩固了所学的书本知识,还学到了许多课堂上和书本上无法学到的实践知识,提高了自己分析与处理问题的能力。虽然该系统的功能还不是很完善,但我树立了一种处理问题的能力。致谢转眼间答辩就要到来了,随着答辩的结束,我的大学生活基本上也要结束了。但是对于我来说进入社会又是一个新的开始。我将再次面对挑战,从新出发。会议过去,点点滴滴,历历在目,有欢乐也有泪水,但是同学之间的友谊,师生之间的情感是不会变的。在这里我要对我的指导老师X表示衷心的感谢,本次课题,从开始选题到最后的确认,老师付出了很多,老师非常耐心仔细的帮我解答问题,指导我前进。还有我那些一起战斗过的宿舍兄弟,程序编写过程中出了问题,他们会给我指导,大家共同探讨,共同提高。参考文献[1]张孝祥、徐明华.JAVA基础与案例开发详解[M].清华大学出版社.2009.45-46.[2]康牧.JSP动态网站开发实用教程[M].清华大学出版社.2009.127-127.[3]刘亚宾.精通Eclipse--JAVA技术大系[M].电子工业出版社.2005.167-168.[4]于万波.网站开发与应用案例教程[M].清华大学出版社.2009.77-78.[5]杨学瑜.高立军,软件开发过程与项目管理[M].电子工业出版社.2008.43-46.[6]张洁才.Javaweb应用开发教程[M].科学出版社.2005.66-68.[7]戴维尔.JavaScript程序员教程[M].电子工业出版社.2010.333-334.[8]黎连业、王华、李淑春.软件测试与测试技术[M].清华大学出版社.2009.321-322.[9]黄梯云.管理信息系统[M].北京:电子工业出版社.2006.216-217.[10]JamesD.McCaffrey等.NET软件测试自动化之道[M].北京:电子工业出版社.2007.213-214.[11]甘仞初.信息系统开发[M].北京:经济科学出版社.2007.144-145.[12]马赫.DreamweaverMX2004网页设计经典108例[M].中国青年出版社.2005.99-101.[13]唐友国湛洪波著.JSP网站开发详解[M].电子工业出版社.2008.111-112.[14]卫红春等著.信息系统分析与设计[M].北京:清华大学出版社.2009.51-53.[15]张大方李玮等著.软件测试技术与管理[M].湖南:湖南大学出版社.2007.333-334.[16](美)H.M.Deitel,P.Jdeitel.Java程序设计教程(第五版).清华大学出版社.2004.212-212.[17](美)ElliotteRustyHarold.JavaNetworkProgramming.东南大学出版社.2005.122-123.[18]孙卫琴等.精通struts:基于MVC的JavaWeb设计与开发[M].电子工业出版社.2005.144-144.[19]张文静林琪著.JSP程序设计[M].人民邮电出版社.2005.256-257.[20]孙卫琴李洪成著.Tomcat与JavaWeb开发技术详解[M].电子工业出版社.2005.343-344.[21](美)JohnJ.Patrick.SQL基础(第二版).清华大学出版社.2004.77-79.[22](美)Davidflanagan.Java技术手册(第五版).东南大学出版社.2006.33-35.[23]黄裴、徐汀荣.电子商务原理与技术(第二版),科学出版社.2006.124-126.附录I文献翻译1、英文原文JAVAthreeframeworksusedtomakeWENapplications.ShowstrutsprimarilyresponsibleforthepresentationlayerspringIOCandAOPuseittoprocesscontroloperations(responsiblefortheoperationofthedatabase)hibernatemainlypersistentdatatothedatabaseIntheservletjsptodowithwebdevelopmentwhenthereisaweb.xmlmappingfile,whichhasalabelthatisusedformappingfilemapping.WhenyouentertheURLinthebrowserwhenthefilewillbewrittenbasedonyournamecorrespondingtoajavafile,thebrowserisawebpage,sojustwritethepagenameisbasedonthecontentsofthedocumentwritteninjavadisplay,justfromthename,whetheryouarefrom.php.jsp.doorwhatothercorrespondstothejavafile,thejavacodefilewhatactiontodo,displayawordoraconnectiontoadatabaseorjumptootherpagesothatthejavafilethedatapackagetoplaytheroleofsecurityandeaseofmanagement.Infact,thisjavafilescompiledover是.Classofabytecodefile,notasasimilarhtmlcodetoembedtagsandwebdocuments.Heandthedifferenceisjspjspfilestoembedhtmlcodelabel.Thereservletorstrutsactionintheformofhtmlsubmitajavafilenamecorresponds,strutsgenerally.Do,andaremappedasabove.One,SpringSpringisapowerfulframeworktosolvemanyofthecommonJ2EEdevelopmentissues.Springprovidesaconsistentwaytomanagebusinessobjectsandtoencouragetheinjectionoftheprogramminginterfaceratherthantheclassofgoodprogramminghabits.Spring-basedarchitectureisbasedontheuseofJavaBeanpropertiesInversionofControlcontainer.However,thisisonlypartofthecompletepicture:SpringIoCcontainerinuseasaframeworktobuildcompleteattentiontoallaspectsofacompletesolutionlayerisunique.Springprovidesauniquedataaccessabstraction,includingasimpleandefficientJDBCframework,whichgreatlyimprovestheefficiencyandreducesthepossibilityoferrors.Spring'sdataaccessarchitecturealsointegratesHibernateandotherO/Rmappingsolutions.Springalsoprovidesauniquetransactionmanagementabstraction,whichcaninavarietyofunderlyingtransactionmanagementtechniques,suchasJTAorJDBCtransactionprovidesaconsistentprogrammingmodel.SpringprovidesalanguagewritteninstandardJavaAOPframework,itgivesPOJOsprovidesdeclarativetransactionmanagementandothercorporatematters-ifyouneedto-canimplementyourownaspects.ThisframeworkisstrongenoughtomakeanapplicationtosetasidethecomplexityofEJB,whileenjoyingcriticalservicesandassociatedtraditionalEJB.SpringIoCcontainerandalsoprovidesapowerfu

温馨提示

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

评论

0/150

提交评论