• 2.69 MB
  • 2023-01-02 15:30:10 发布

基于SSH2技术的苗木种植经验交流平台的设计与实现

  • 71页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
天津工业大学毕业设计(论文)基于SSH2技术的苗木种植经验交流平台的设计与实现姓名柏雪松学院计算机科学与软件专业软件工程指导教师尹绍宏张建军职称副教授高级工程师2016年5月29日\n天津工业大学毕业设计(论文)任务书题目基于SSH2技术的苗木种植经验交流平台的设计与实现学生姓名柏雪松学院名称计算机科学与软件专业班级软件1202课题类型实际课题课题意义(1)打造专业的苗木信息交流类网站,配合农民企业进行苗木信息行情资讯进行全方位全平台的传播;改变传统的依靠文件发送信息的传递方式,实现无纸化办公,达到管理费用降低,加快信息流通速度,有利于决策层及时、准确地把握经营状况和发展趋势,及时调整经营策略、制定发展计划。(2)建设第一个最专业的苗木类行情资讯移动平台网站;以苗木生产为基础,对生产技术和管理进行介绍,促进苗木产业信息化进程。(3)帮助农民加快产品流转,提高种植销售效率。通过建立苗木信息发布界面,方便用户及时了解苗圃最新的信息(如:苗木公告,种植信息,讨论信息等),加快苗木花卉产品的周转速度。任务与进度要求2016.2.29-2016.3.20选题确认并完成开题报告、任务书的填写、提交、审核2016.3.21-2016.4.03深入了解课题内容、需求分析、确定系统框架、熟悉开发工具2016.4.04-2016.5.08完成课题概要设计和详细设计,代码编写、网页制作,完成系统的大部分功能,初稿完成2016.5.09-2016.5.25进行系统调试,在调试中进一步完善系统的各项功能,二稿完成2016.5.26-2016.6.3毕业设计(论文)的审核、修改及定稿并装订2016.6.4答辩主要参考文献[1]贾东.基于JavaWeb的设施农业信息系统设计与实现.内蒙古农业科技.2015,(3).126[2]陈玉清.基于Java的Web邮件系统的设计与实现.河南师范大学学报(自然科学版).2009,37(4).312[3]周兵.JavaWeb开发中的中文乱码问题分析及解决方案.电脑知识与技术.2014,(29).31[4]谌湘倩,狄文辉,孙冬.基于SSH框架与AJAX技术的JavaWeb应用开发.计算机工程与设计.2009,30(10).311起止日期2016年2月29日至2016年6月4日备注院长教研室主任指导教师\n毕业设计(论文)开题报告表2016年3月10日姓名柏雪松学院计算机科学与软件专业软件工程班级软件1202题目基于SSH2技术的苗木种植经验交流平台的设计与实现指导教师尹绍宏张建军一、与本课题有关的国内外研究情况、课题研究的主要内容、目的和意义:1、与本课题有关的国内外研究情况近几年来,园林绿化作为城市环境建设的重要组成部分,有了新的发展机遇,同时也带动了苗木生产的发展。随着社会进步,人民对居住环境的重视以及西部大开发,绿化苗木的需求量越来越大。国内不少大型企业也开始投资“绿色银行”的苗木生产,许多地区把苗木作为农业产业化调整的主要方向,苗木产业在我国已成为具有巨大潜力的朝阳产业。2、课题研究的主要内容本系统针对苗木种植人员,设计和实现一套以信息交流系统为主的开发者社区,实现以下功能:(1)发布功能:注册的苗木种植人员可以在平台中进行信息的发布,其他用户可以进行查看以及交流。(2)搜索功能:用户可以通过搜索引擎快速在平台内搜索。(3)圆桌讨论功能:管理员可以发布圆桌讨论,吸引大家积极讨论。(4)后台功能:管理员可以对用户进行管理,以及对数据进行分析查看管理等。3、课题研究的主要的目的和意义(1)打造专业的苗木信息交流类网站,配合农民企业进行苗木信息行情资讯进行全方位全平台的传播;改变传统的依靠文件发送信息的传递方式,实现无纸化办公,达到管理费用降低,加快信息流通速度,有利于决策层及时、准确地把握经营状况和发展趋势,及时调整经营策略、制定发展计划。(2)建设第一个最专业的苗木类行情资讯移动平台网站;以苗木生产为基础,对生产技术和管理进行介绍,促进苗木产业信息化进程。(3)帮助农民加快产品流转,提高种植销售效率。通过建立苗木信息发布界面,方便用户及时了解苗圃最新的信息(如:苗木公告,种植信息,讨论信息等),加快苗木花卉产品的周转速度。4、本次毕业设计应达到的目标应用大学期间所学到的知识,融汇到网站实践之中,帮助农民解决信息交流的问题,加快信息的流动与商品的销售。二、进度及预期结果:起止日期主要内容预期结果\n2016.2.29-2016.3.202016.3.21-2016.4.032016.4.04-2016.5.082016.5.09-2016.5.252016.5.26-2016.6.32013.6.4选题确认并完成开题报告、任务书的填写、提交、审核深入了解课题内容、需求分析、确定系统框架、熟悉了解开发工具完成课题概要设计和详细设计,代码编写、网页制作,完成系统的大部分功能,初稿完成进行系统调试,并在调试中进一步完善系统的各项功能,二稿完成毕业设计(论文)的审核、修改及定稿并装订答辩完成完成完成完成完成完成完成课题的现有条件硬件:CPU型号:Intel(R)Core(TM)i52450M内存:4096MB显卡:AMDHD7650m分辨率:1366x768软件:操作系统:MicrosoftWindows7开发平台:MyEclipse2014数据库:MySQL服务器:Tomcat7.0参考文献:[1]贾东.基于JavaWeb的设施农业信息系统设计与实现.内蒙古农业科技.2015,(3).126[2]陈玉清.基于Java的Web邮件系统的设计与实现.河南师范大学学报(自然科学版).2009,37(4).312[3]周兵.JavaWeb开发中的中文乱码问题分析及解决方案.电脑知识与技术.2014,(29).31[4]谌湘倩,狄文辉,孙冬.基于SSH框架与AJAX技术的JavaWeb应用开发.计算机工程与设计.2009,30(10).311审查意见指导教师:年月日学院意见主管领导:年月日\n天津工业大学本科毕业设计(论文)评阅表(论文类)题目基于SSH2技术的苗木种植经验交流平台的设计与实现学生姓名柏雪松学生班级软件1202指导教师姓名尹绍宏张建军评审项目指标满分评分选题能体现本专业培养目标,使学生得到较全面训练。题目大小、难度适中,学生工作量饱满,经努力能完成。10题目与生产、科研等实际问题结合紧密。10课题调研、文献检索能独立查阅文献以及从事其他形式的调研,能较好地理解课题任务并提出实施方案;有分析整理各类信息,从中获取新知识的能力。15论文撰写结构严谨,理论、观点、概念表达准确、清晰。10文字通顺,用语正确,基本无错别字和病句,图表清楚,书写格式符合规范。10外文应用能正确引用外文文献,翻译准确,文字流畅。5论文水平论文论点正确,论点与论据协调一致,论据充分支持论点,论证过程有说服力。15有必要的数据、资料支持,数据、资料翔实可靠,得出的结论有可验性。15论文有独到见解或有一定实用价值。10合计100意见及建议:评阅人签名:年月日\n天津工业大学毕业设计(论文)成绩考核表学生姓名柏雪松学院名称计算机科学与软件专业班级软件1202题目基于SSH2技术的苗木种植经验交流平台的设计与实现1.毕业设计(论文)指导教师评语及成绩:成绩:指导教师签字:年月日2.毕业设计(论文)答辩委员会评语及成绩:成绩:答辩主席(或组长)签字:年月日3.毕业设计(论文)总成绩:a.指导教师给定成绩b.评阅教师给定成绩c.毕业答辩成绩总成绩(a×0.5+b×0.2+c×0.3)\n摘要随着苗木价格的不断上涨及城市绿色化的发展和人民对生态环境要求的提高,苗木信息的交流已经成为城市绿色发展的重要环节,为了确保城市的绿色化进程的平稳进行,苗木供给方面接受的严峻的考验。苗木信息交流平台为苗农们进行种植信息方面的交流提供了一个便捷的方式,人们可以对自己生产过程中遇到的问题进行发布,然后其他人会根据自己的经验发表意见,或提出解决的方法。本文论述了开发一个交流平台所用到的关键技术和方法。考虑到该平台的可靠性以及系统的便捷性,本平台采用B/S模式进行开发,并且以MySQL作为数据存储介质,对上述技术的实现方法进行了详细的讨论,介绍了在WEB服务器上,利用Struts2、Spring、Hibernate等技术,设计了一个具有信息发布功能、圆桌讨论功能、个人设置功能以及后台功能的交流平台,并详细讨论了该系统的实现过程及其结构。本系统为用户提供一个友好的系统交互界面,具有易于操作且便于查看的特点,能够为用户提供简洁方便的操作体验,同时节省运营成本,数据的安全性高,也为今后进一步的研究提供了便捷。关键词:苗木;JavaWeb;交流平台;SSH2;\nABSTRACTAstheimprovementofseedlingspricesandthedevelopmentofurbangreenecologicalenvironmentandpeople'srequirements,communicationofseedlingsinformationhasbecomeanimportantpartofurbangreendevelopment.Inordertoensureasmoothprocessofurbangreendevelopmentandsupplementseedlings,supplementofseedlingposeaseriouschallenge.Theinformationcommunicationplatformprovideaconvenientwayfortheseedlinggrowerstoexchangeinformationonthecultivation.Theycanpublishtheirownproblemswhichhadoccurredintheprocessofplant,thenotherpeoplewillexpresstheirviewsbasedontheirexperience,orproposesolutionsmethod.Thepaperdiscussesthekeytechnologiesandmethodstodevelopacommunicationplatform.TakingintoaccounttheconvenienceandConvenienceoftheplatformsystem,thisplatformadoptsB/SmodelandtakeMySQLasitsdatabase,theimplementationofthesetechnologiesarediscussedindetail,thepapermainlydescribesthedesignacommunicationsystemwhichusedStruts2,Spring,HibernateandothertechnologyintheWEBserverandcanpublishtheinformation,discusstheinformationintheroundtable,changetheindividualsettingaswellasthemanagethebackstage,atthelastIhavadiscussedtheimplementationprocessandthestructureofthesystemindetail.Thesystemauser-friendlyinterfaceforuserwhichhascharacteristicsaseasytooperateandview.Thesystemnotonlyprovidessimpleandconvenientoperationexperienceforusers,whilesavingoperatingcostswithsafetydata,butalsotakeconvenienttofurtherresearchinthefuture.Keywords:Seedlings;JavaWeb;communicationplatform;SSH2;\n目录第一章绪论11.1课题背景介绍11.2研究现状11.3本系统内容及所到达的目标1第二章苗木交流平台开发工具及技术简介22.1开发技术简介22.2Spring技术简介及优势22.3Struts2技术简介及优势32.4Hibernate技术简介及优势42.5开发架构42.6开发工具和运行坏境5第三章苗木交流平台系统分析63.1苗木交流平台可行性分析63.1.1技术可行性分析63.1.2市场可行性分析63.1.3方案可行性分析63.2苗木交流平台需求分析73.2.1前台功能分析73.2.2后台功能分析73.3苗木交流平台用例分析83.3.1系统角色和用例分析83.3.2系统用例图设计8第四章苗木交流平台概要设计114.1苗木交流平台功能模块设计114.1.1系统功能点设计114.1.2系统前台模块设计114.1.3系统后台模块设计124.1.4系统总体功能图设计134.2苗木交流平台界面设计144.2.1前台用户界面设计14\n4.2.2后台管理界面设计154.3苗木交流平台数据库设计164.3.1数据库概念模型设计164.3.2数据库E-R图设计164.3.3数据表设计20第五章苗木交流平台详细设计与实现255.1总体模块设计255.2用户模块设计与实现255.2.1登录注册模块设计与实现255.2.2首页信息模块设计与实现275.2.3信息列表模块设计与实现295.2.4发布信息模块设计与实现315.2.5当前圆桌模块设计与实现315.2.6参与圆桌模块设计与实现345.2.7个人设置模块设计与实现355.3管理员模块设计与实现385.3.1用户管理模块设计与实现385.3.2信息管理模块设计与实现395.3.3圆桌管理模块设计与实现415.3.4公告管理模块设计与实现435.3.5评论管理模块设计与实现44第六章苗木交流平台系统测试456.1系统测试介绍456.2用户登录功能测试466.3修改密码功能测试47第七章结论51参考文献53附  录54Ⅰ.英文原文54Ⅱ.中文译文58谢辞61\n天津工业大学2016届本科生毕业设计(论文)第一章绪论1.1课题背景介绍近几年来,城市园林绿化作为在城市的环境建设之中的较为重要组成部分,遇到了新的发展机遇,与此同时也带动了相关苗木生产行业的快速发展。随着社会的飞速进步、居民对于居住环境的重视以及西部大开发战略的实施,苗木的需求量变得越来越大。国内许多大中型企业也开始把目光投向具有“绿色银行”之称的苗木生产行业,并且许多地区已经都把产业化调整的主要方向改变成了苗木行业,到目前为止苗木产业在我国已经成为了具有巨大潜力的朝阳产业。1.2研究现状我国在苗木品种种植、运输以及出售等方面的研究起步比国外较晚,目前国内高级苗木的种苗大部分都是通过国外获得,即使在国内有一些种苗公司生产类似的种苗,但其种植价值以及成品品质仍存在一定差距。因此国内的市场仍然被进口品种所占据。在改革开放以来,我国苗木产业进入了全面发展的阶段,但相对于国外苗木产业发达的国家,在各方面仍然存在一定的差距,尤其在发展力、竞争力和运作管理机制等都处于相对落后状态。1.3本系统内容及所到达的目标1.本系统内容该平台以B/S模式作为开发模式,并且使用SSH2框架作为基础,在此之上进行了苗木平台的搭建。该平台针对苗木种植人员,设计和实现了一套以信息交流为主的种植者社区,主要实现以下功能:(1)信息发布、浏览功能:注册的苗木种植人员可以在平台中进行信息的发布,其他用户可以进行查看以及交流。(2)搜索功能:用户可以通过搜索引擎在平台内进行快速搜索。(3)圆桌讨论功能:管理员可以发布圆桌讨论,吸引大家积极讨论参与。(4)后台功能:管理员可以管理注册的用户,并且可以对平台上的数据进行查看管理等。2.本系统所达到的目标本系统主要应用大学期间所学到的专业知识,融汇到网站开发实践之中,帮助广大农民解决信息交流不便的问题,加快信息的流动与商品的销售。61\n天津工业大学2016届本科生毕业设计(论文)第二章苗木交流平台开发工具及技术简介2.1开发技术简介随着时代的发展,技术越来越改变了人们的生活,在交流方面已经不是之前需要面对面交流的方式,电话,网络都促进了人们改变交流方式,。此同时,一种新的交流模式——网络交流平台,近年在国内逐渐兴起。越来越多的人员,特别是在大中型城市周边,都开始慢慢转变自己行业中的信息交流模式,逐渐向网络交流这方面改变。该如何充分利用网络平台快速、方便、灵活的特性,为自己创造更多的价值,使产业跟上时代的步伐,在当今社会激烈的竞争中谋得一席之地,已经成为众多农民所关注的重要问题。这次的设计目的是使用SSH框架作为平台基础,构建一个具有灵活的结构、复用性高、扩展性高,开发快速且轻量的苗木信息发布交易平台。这里应用了发展比较成熟的SSH2框架。它是由三个单独的框架组成,分别是Struct、Spring和Hibernate。但这三者之间可以进行相互的联系。此框架是在基于MVC模式之上进行的一种扩展,具体是指在该模式下,程序分为三层架构,模型层(M),视图层(V)和控制层(C),这使得了程序之间的耦合性得到了极大程度地降低,并且可以使开发出来的程序更健壮,更高效,更灵活。SSH2作为一套较为轻量级的开发框架,对比之前的EJB重量级的开发框架,该框架对其进行了改进,使其更为简洁易用,其开发过程更受编码人员喜爱,并且代码执行效率上也有了一定程度的提高。更重要的是,对于程序开发者而言,它比EJB更容易学习和掌握,开发速度也得到了较大的提高。目前Struts已经发展到2.0版本,Spring版本号已经更新到4.0,Hibernate也发展到4.0版本,说明了SSH2框架也正在不断地进行优化和升级,在应用状态上也更加稳定。2.2Spring技术简介及优势1.Spring技术简介Spring作为一个于2002年由RodJohnson所在其书里说明的开源框架,到现在已经发展了十四年,并且得到了大量Java程序员的关注与使用。Spring在创建的初期是为了解决程序员在企业应用的开发过程中所可能会遭遇的各种复杂问题。在Spring框架之中,对于以前交由EJB来编写完成的工作,使用了基本的JavaBean来进行开发。然而,在应用方面,它不仅限于开发服务器端的应用,从可靠性、可测试性和耦合度等的方面来说,Spring可以使任何属于Java类的应用得倒益处。Spring的目的主要是解决企业应用开发的复杂性问题,为程序员提供更为便利的开发流程。它使用较为基本的JavaBean作为繁琐的EJB的代替品,并提供了更多的企业级开发应用功能,适用于开发任何Java类型的应用。61\n天津工业大学2016届本科生毕业设计(论文)控制反转(IoC)和面向切面(AOP)是Spring中最重要的两个部分,这使得之前复杂的逻辑得到了便捷的解决方法。所以说,Spring是一个轻量级的java容器框架[1]。2.Spring技术优势可以通过在Spring中所提供的IoC容器,Spring会控制对象之间的依赖关系,这避免了在编码时可能会造成的过度的程序之间的耦合[2]。在Spring之中,实现单实例模式类、解析属性文件等这些底层的需求编写代码不再是编码人员所必须进行的,这样可以使程序员更为专注于上层应用的设计编码。在Spring中提供了AOP功能,使面向切面的编程对程序员不再是难题,这使许多在传统的OOP设计中并不容易实现的功能都可以通过AOP得到轻松的实现[3]。使用Spring不但不会对其他优秀的开源框架产生排斥,与此相反,应用Spring可以降低其他框架的应用难度,并且在Spring中直接提供了对于其他各种流行的框架(如Struts,Hibernate等)的支持[4]。2.3Struts2技术简介及优势1.Struts2技术简介Struts2作为一种基于JSPModel2模式的web框架,受到了广大程序员的喜爱。JSPModel2模式的示意图如图2-1所示,这是由sun公司推出的又一种架构模式。图2-1JspModel2结构在Struts2中,它的Action类在实现其接口时,还可以去继承其他的接口。并且提供了一个具体的基类去实现需要使用的接口。作为Struts2的Action只需要在POJO对象中存在执行的方法。这比之前的框架有了较大的改进。2.Struts2技术优势Struts2实现了MVC模式,层次结构清晰,因此程序员只需要关注业务逻辑的实现。并且具有丰富的标签库,大大提高了开发的效率[5]。其中提供了丰富的拦截器实现,只需要通过配置文件,编码人员就可以快速的掌握系统各个部分之间的连接关系。并且由于Struts2中对异常处理的机制,我们只需要在配置文件中配置出相应的异常映射,即可对异常做出所需的对应处理。编码人员可以通过61\n天津工业大学2016届本科生毕业设计(论文)简单对配置文件进行修改,使项目中添加自定义的返回类型或者单元对象。因此当程序员开发了应用的插件的话只需要很简单的配置就可以方便的和Struts2框架相融合,这体现了Struts2框架对于插件的可插拔特性。并且面向切面的编程思想在Struts2中也体现了出来,其中最重要的体现就是用户拦截器的使用。在Struts2中,拦截器就像是一个个的小功能单位,编码人员可以将这些小的拦截器合并到一个大的拦截器中,而这个合成的拦截器就如同一个单独的拦截器,使用极其方便,只要将它配置到相对应的Action中就可以使用[6]。2.4Hibernate技术简介及优势1.Hibernate技术简介Hibernate是一个高性能的ORM,并且是一个开源项目,在广大Java开发人员中颇为流行。其在2011年发布了其第一个正式版本,2003年2.0版本发布,而现在已经发布到了4.0版本。Hibernate作为一个轻量级的对象关系映射框架,它封装了JDBC的步骤,这使对数据库的操作更加简单,更加快捷[7]。利用Hibernate框架使编码人员可以不再编写冗杂的JDBC代码,并且也不用再反复的测试其的SQL语句的效率与正确性。使用Hibernare只需要编码人员进行相对简单的配置,调用框架提供的内置方法,就可以完成对数据增删改查的目的。2.Hibernate技术优势首先因为Hibernate是对JDBC的封装,因此在运行过程中对于内存消耗较少,而且拥有运行效率也更高。并且使用Hibernate可以提高开发效率,Hibernate在Eclipse.JBuilder等主流Java集成开发环境中,都对其提供了较好的支持[8]。当项目规模逐渐增大时,由Hibernate表现出的优越性会更为明显,无论是在运行速度还是内存占用上,有要优于其他框架。更重要的是,在Hibernate中,对分布式,集群,安全检查,负载均衡的支持都较好[9]。2.5开发架构1.B/S架构本平台采用B/S架构作为其开发架构。B/S架构,即浏览器与服务器架构。随着因特网的兴起与发展,对Client/Server结构做出进一步改进的Browser/Server结构应运而生。在本质上说,Browser/Server结构属于Client/Server结构的类型,我们可以把它看作是一种应用在Web结构上的在二层Client/Server结构基础上发展而来的特殊的三层模式Client/Server结构[10]。利用飞速发展的Web浏览器应用技术,Browser/Server结构结合使用了浏览器中ActiveX技术和多种脚本语言,使原来需要复杂桌面软件才能实现的强大功能得以在浏览器中实现,并且减少了开发成本。2.B/S架构优点61\n天津工业大学2016届本科生毕业设计(论文)应用B/S架构要实现广大的用户实现信息传播共享,浏览器只需要处理一些简单的逻辑事务,负担较小;能够实现页面的同步更新,使所有用户都能及时看到。并且使用B/S架构不要求编码人员具有特别专业的技术功底,只需要能够完成基本的培训即可完成代码,这无疑会减少培训费用,降低项目成本。当进行业务扩展时,只需要把几个所需的业务扩展页面增加到项目中即可,改动少量代码就可实现。用户界面不需要太多的代码编写,比较通用,也方便更改界面,所以几乎不需要经常性的维护。另一方面,因为B\S的项目在各个平台上都可以运行,这为管理人员把单个服务器、少量使用者项目扩展成为大型平台提供了便利。2.6开发工具和运行坏境硬件:CPU型号:Intel(R)Core(TM)i52450M内存:4096MB显卡:AMDHD7650m分辨率:1366x768软件:操作系统:MicrosoftWindows7开发平台:MyEclipse2014数据库:MySQL服务器:Tomcat7.061\n天津工业大学2016届本科生毕业设计(论文)第三章苗木交流平台系统分析3.1苗木交流平台可行性分析利用较短的时间,付出尽可能少的代价来判定所面对的问题能否能够实施就是我们进行可行性分析的目的。为了达到这个目的,就必须分析当前可能进行实施的解法的利弊,从而判断在设计中的苗木交流平台的规模和目标是否能够按照计划得到现实。所以,从本质上来讲,可行性分析就是要进行一次对系统精简的规划和设计的过程。3.1.1技术可行性分析1.随着网络应用基础设施的发展完善,以及仍然在不断发展的信息技术,国内的计算机网络进入了飞速的发展的时代,网络应用已经进入了一般企业与普通家庭,而众多农民也开始关注互联网,这为发展网上交流平台提供了基础设施。2.网络安全技术的发展,因为加密算法、数字签名等技术的提出与完善,为平台信息的搭建提供安全保证,这些技术对网络传输文件的安全性、整体性等都提供了基础。3.Java平台的发展以及各大框架的更新,使我们有能力开发实现适合自己的信息交流平台,这是我们构建网站的直接技术支持。因此,我们搭建信息交流平台的技术瓶颈(如网络应用基础设施、信息安全、网站开发技术等)得到了有效解决,我们构建信息交流平台技术可行。3.1.2市场可行性分析苗木信息交流平台是依据市场的迫切需求设计的,通过搭建该平台,为广大苗农提供了一个便捷的交流方式,是苗农能够足不出户就可以查询到自己所需的信息。现在网络上提供的交流平台大多界面比较繁琐,不利于文化水平不高的苗农进行信息的查找,而该平台正好为那些对互联网不是很熟悉的苗农提供了一个简洁的平台,利用最为方便的方式,为苗农提供所需的信息,全面提升苗木种植过程中的水平和效益,从苗木的种植和经验交流等方面给予了详细介绍,应用此平台力求基本解决苗木种植中产生的种种问题。3.1.3方案可行性分析通过对项目现状的研究,可以得出该项目具有广阔的市场。在规划过程中,我通过绿化苗木信息的浏览,以及查看其它网站的苗木信息交流,我认为可以招募本地的农业服务企业人员,让其提供一定的技术支持以及经验指导。使项目更具有专业性和可靠性。另一方面还可以与本地的具有丰富种植经验的苗农合作,为其他苗农提供问题的解决办法。可是当前农业的信息交流只局限于本地,61\n天津工业大学2016届本科生毕业设计(论文)具有相当的局限性,导致了问题无法及时解决,因此急需一个可以指导苗农,给大家提供一个经验交流的平台。由此可见,苗木交流平台前景广阔。3.2苗木交流平台需求分析需求分析是指从细节开始分析,从而得到用户所要求那些需求功能,弄清楚用户的具体目的与所需功能,包括所应该输入的数据,最后应该输出的数据。可以说,需求分析就是分析软件需要实现哪些功能。在软件工程中,需求分析指的是搭建一个软件系统,或者是对现有的软件系统进行修改,并描述系统设计的意图、领域、定义和功能时需要进行的工作。需求分析在软件开发中是一个重要的过程,这个项目的各个参与人员都要参与到这部分设计中,在一起对顾客的需求进行确定。软件工程师在确定了这些需要之后,才能够对系统的解决方案进行分析和设计。编码人员在产品中所需要实现的具体功能都在该文档中一一说明,并对其进行实现,用户可以利用这些实现的功能完成所需的任务,满足其业务的需求。本系统主要设计一个苗木信息交流平台,在这个平台上,用户可以进行信息的发布,以及回复,除此之外,还可以参与由管理员发起的讨论,并发表相应的建议。后台方面,管理员可以管理用户上传的信息和用户等,保持平台环境的稳定性。3.2.1前台功能分析网站的浏览者主要进行对前台功能的使用,在这部分中实现了主要的苗农所需的功能。具体功能如下:1.首页:在首页界面上,会展示出网站大概的信息,包括网站公告、当前出售信息、最近的圆桌讨论和最近加入到新用户。2.信息列表:在该界面,用户可以浏览信息列表,并且可以仔细查看其它用户发布的信息,以及进行回复交流。3.信息发布:用户可以在此发布自己的建议与问题,选择信息归属的地区和苗木的种类,其发布的信息通过审核后会显示在信息列表界面。4.圆桌讨论:这里会列出全部正在进行的圆桌,用户可以浏览他人参与圆桌的情况,并且可以对其进行评论与打分。5.参与圆桌:用户在此参与圆桌的讨论,发表自己的看法和建议,并可以进行附件的上传操作。3.2.2后台功能分析平台后台主要功能主要是面向管理员用户,在该部分中,管理员可以对前台用户上传的信息以及网站上显示的基本信息进行修改、删除等操作。具体功能如下:61\n天津工业大学2016届本科生毕业设计(论文)1.用户管理:在此管理员可以查看到所有已经注册的用户以及他们的信息,并可以对其进行操作。2.信息管理:此模块包括对信息的审核以及对基础种类的管理,并且可以对已经发布的信息进行管理。3.圆桌管理:所有已经发布以及曾经发布的圆桌讨论都在此展示,已经对正在进行的圆桌讨论进行修改或删除的操作。4.公告管理:主要是发布以及更改、删除公告的功能。5.评论管理:对用户发布的评论进行管理。3.3苗木交流平台用例分析3.3.1系统角色和用例分析用例是系统﹑子系统或者类与外部的参与者相互的动作序列的说明,包含可选择的动作行为以及可能会出现异常的行为。参与者定义为和系统交互的或者系统之外的、但是使用系统的事物,包含外部系统、人等。本系统涉及到的主要参与者和用例如下:1.普通用户(1)用户注册:用户提供用户名以及密码,并通过邮箱验证;(2)用户登录:用户进行发布、回复信息前必要的登录;(3)浏览信息:查看其它用户发布的信息;(4)信息发布与回复:自己发布信息,以及对其他信息进行回复;(5)浏览圆桌:浏览当前正在进行的圆桌讨论;(6)参与圆桌讨论:选择一个圆桌讨论进行参与回复;(7)个人信息修改:更改个人信息、密码等。2.管理员(1)用户管理:对已经注册的用户进行信息修改或删除;(2)信息管理:对用户发布的新信息进行审核,管理已经审核过的信息;(3)圆桌管理:发布新的圆桌,以及对当前圆桌参与的讨论进行管理;(4)公告管理:对系统公告进行增加、删除、修改等操作;(5)评论管理:浏览用户评论,并对用户的不当评论进行删除。3.3.2系统用例图设计用例图可以把系统的事务流程进行图示化,它可以用来描绘用户对于产品的具体需求,即用图示的方式表现系统应该具有的功能,用例就像是在软件设计过程中的具体的功能设计,所以设计系统分析阶段的起点就是用例设计。根据客户的具体需求,设计人员可以来解释和创建所需的用例图,并且对开发的61\n天津工业大学2016届本科生毕业设计(论文)软件应具备的功能模块和这些功能模块的相互调用关系进行详细的描述。在其中不仅有参与者和用例,而且用例之间使用关联关系来连接,力求把系统整个结构和功能够反映给使用软件的使用者。该系统的用例包括两部分,一部分是网站的使用者,另一部分是对平台的管理者。具体的用例分析如下面所示。本系统的用户用例图为图3-3所示:图3-3用户用例图管理员用例图如3-4所示:61\n天津工业大学2016届本科生毕业设计(论文)图3-4管理员用例图61\n天津工业大学2016届本科生毕业设计(论文)第四章苗木交流平台概要设计4.1苗木交流平台功能模块设计4.1.1系统功能点设计系统主要有两类人员使用:普通用户、管理员。现以不同用户的角色列出系统的功能点设计:1.普通用户:用户注册;用户登录;浏览信息;发布信息;回复信息;浏览圆桌讨论;参与圆桌讨论;个人信息修改。2.管理员:登录功能、普通用户信息的查询、修改与删除;用户发布信息的审查、修改与删除;苗木基础信息的添加、修改与删除;发起圆桌讨论以及对当前讨论的管理;系统公告的发布、修改与删除;用户留言的查看与删除。4.1.2系统前台模块设计1.首页模块:主要实现对全部信息的概览,包括网站基础界面的展示。其功能点列表如表4-1所示:表4-1首页模块功能列表编号功能点名称功能任务权限1站内公告展示站内最近的公告信息游客、用户2信息展示展示当前最热、最新的信息游客、用户3圆桌展示展示正在进行的圆桌信息游客、用户4人员展示展示最新加入和最活跃的用户游客、用户5信息搜索对平台上的资源进行搜索游客、用户2.发现模块:主要实现用户发布信息查看的功能,其功能点列表如表4-2所示:表4-2发现模块功能列表编号功能点名称功能任务使用者1查找文章根据种类地区等查看所需文章游客、用户2查看文章查看文章具体内容游客、用户3附件下载对文章所带的附件进行下载用户4用户留言对文章进行评论留言用户3.发布文章模块:主要实现注册用户发布新信息的功能,其功能点列表如表4-3所示:61\n天津工业大学2016届本科生毕业设计(论文)表4-3发布文章功能列表编号功能点名称功能任务权限1文章发布添加文章标题内容,选择种类、地区用户2附件上传为发布的文章上传附件用户4.圆桌浏览模块:主要实现用户及游客浏览圆桌文章功能,其功能点列表如表4-4所示:表4-4圆桌浏览模块功能列表编号功能点名称功能任务使用者1查看圆桌列表查看当前正在进行的圆桌讨论游客、用户2查看具体圆桌查看某个圆桌下的全部讨论游客、用户3下载用户资源下载其他用户上传的资源用户4用户资源评论对其他用户发布的进行评论用户5.圆桌参与模块:主要实现圆桌参加功能,其功能点列表如表4-5所示:表4-5圆桌参与模块功能列表编号功能点名称功能任务使用者1圆桌报名对想要参加的圆桌进行报名用户2上传附件对报名的圆桌添加附件用户6.个人信息设置模块:实现用户更改个人信息的功能,其功能点如表4-6所示:表4-6个人信息模块功能列表编号功能点名称功能任务使用者1注册提供用户名、密码、邮箱进行注册游客2修改资料修改个人信息、密码、头像等用户3找回密码通过邮箱找回密码用户4.1.3系统后台模块设计1.用户管理模块:主要实现对用户的管理,其功能点列表如表4-7所示:表4-7用户管理模块功能列表编号功能点名称功能任务使用者1用户信息查看用户基本信息管理员2删除用户删除用户资料管理员61\n天津工业大学2016届本科生毕业设计(论文)2.信息管理模块:主要实现对用户发布的信息和基础信息的管理,其功能点列表如表4-8所示:表4-8信息管理模块功能列表编号功能点名称功能任务使用者1信息列表查看、编辑、删除资源信息管理员2审核信息对用户发布的信息进行审核管理员3苗木种类查看、添加、删除、修改苗木种类管理员4地区种类查看、添加、删除、修改地区分类管理员3.圆桌管理模块:主要实现对当前以及往期圆桌的管理,其功能点列表如表4-9所示:表4-9圆桌管理模块功能列表编号功能点名称功能任务使用者1圆桌列表查看正在进行的圆桌管理员2发起圆桌发起一个圆桌讨论管理员3过期圆桌查看往期圆桌讨论管理员4.公告管理模块:主要实现管理员对公告信息的管理,其功能点列表如表4-10所示:表4-10公告管理模块功能列表编号功能点名称功能任务使用者1公告列表查看、编辑、删除公告信息管理员2发布公告发布新的公告信息管理员5.评论管理模块:主要实现对用户所发表的评论的管理,其功能点列表如表4-11所示:表4-11评论管理模块功能列表编号功能点名称功能任务使用者1评论列表查看、删除用户评论信息管理员4.1.4系统总体功能图设计综上功能表描述的具体内容,可以画出系统总体功能图,分为前台界面功能和后台界面功能,其中前台界面功能如图4-1所示:61\n天津工业大学2016届本科生毕业设计(论文)前台界面发现列表发布文章首页圆桌讨论参与圆桌公告信息发现信息圆桌信息人员信息图4-1苗木交流平台前台功能图根据上文描述的后台功能,可得到平台的后台功能如图4-2所示:后台界面用户管理信息管理圆桌管理评论管理公告管理用户列表已经审核等待审核苗木种类苗木地区发起讨论正在进行已经结束发布公告公告列表评论列表图4-2苗木交流平台后台功能图4.2苗木交流平台界面设计4.2.1前台用户界面设计在前台用户界面设计中,主要是体现了简洁的思想,为用户提供一个方便其使用的界面,其具体设计如图4-3所示:61\n天津工业大学2016届本科生毕业设计(论文)图4-3前台首页界面设计4.2.2后台管理界面设计系统主界面包括头部、尾部、列表栏和展示区域。在左侧区域展示了全部的管理功能列表,而在右侧会显示出相应的具体管理设置。具体如图4-4所示:图4-4后台界面设计61\n天津工业大学2016届本科生毕业设计(论文)4.3苗木交流平台数据库设计数据库是信息管理过程中流行的管理方式之一。数据库的设计指的是对已有的或搭建中的项目环境,建立相应的数据库存储方式,搭建数据库及其所应用的系统,保证其能够有效进行数据储存工作,满足使用者对于信息的处理要求。因此,对于整个苗木交流平台来说,数据库的设计也是比较关键的。4.3.1数据库概念模型设计概念数据模型(CMD)在实体联系(ER)理论基础之上,对这一理论有进行了一部分扩展。它从用户的角度出发对系统进行模型构建,主要用于数据库更高等级的设计,因此本项目使用CMD表示系统数据库的概念结构设计。通过前文对数据苗木交流平台各业务模块需求的分析,得出系统的主要数据库概念模块设计,系统主要功能模块概念数据模型如图4-5所示:图4-5系统数据库概念模型4.3.2数据库E-R图设计E-R方法是“实体-联系方法”(Entity-RelationshipApproach)的简称,使用E-R可以对现实世界中的概念结构模型进行有效率的描述。E-R图是对概念模型表示的一种方式,用矩形表示实体的类型,把实体名写在矩形框内;其具体属性61\n天津工业大学2016届本科生毕业设计(论文)用椭圆进行表示,相应的实体型之间用无向边连接起来;用菱形框表示实体型之间的联系,把联系名写在菱形内;在有关实体类型之间用无向边相互连接起来,同时在其一旁标上联系应属于的类型(1:1,1:n或m:n)[11]。根据上文的概念模型的设计,可以得出本系统数据表E-R图设计,由于本平台E-R图绘制较大,故分开绘制。具体如下图所示:1.首先展示实体之间关联E-R图,具体的实现如图4-6所示:图4-6实体关联E-R图2.发布信息E-R图具体的实现如图4-7所示:61\n天津工业大学2016届本科生毕业设计(论文)图4-7发布信息E-R图3.圆桌信息的E-R图具体的实现如图4-8所示:图4-8参与圆桌信息E-R图4.评论信息的E-R图具体的实现如图4-9所示:61\n天津工业大学2016届本科生毕业设计(论文)图4-9评论信息E-R图5.公告信息的E-R图具体的实现如图4-10所示:图4-10公告信息E-R图6.地区标签的E-R图具体的实现如图4-11所示:图4-11地区信息E-R图61\n天津工业大学2016届本科生毕业设计(论文)7.树种标签的E-R图具体的实现如图4-12所示::图4-12树种信息E-R图8.用户的E-R图具体的实现如图4-13所示:图4-13用户E-R图4.3.3数据表设计数据库由一个或多个组织收集使用数据,通常以数字形式,存储数据库的内容,允许数据的创建和维护,以及搜索访问等[12]。数据库的物理设计,即设计数据库的存储的物理结构,根据设计的数据库逻辑结构来选择适当的RDBMS(如Oracle、DB2、MySql等),并在之后设计和实施中决定数据库的储存61\n天津工业大学2016届本科生毕业设计(论文)结构、存取方式等。考虑到系统对数据库系统配置要求不高,性能要求不严格,系统采用免费的MYSQL数据库系统来实现信息间的存储与访问。根据上文说明的概念模型和绘制的E-R图描述,可以设计出本平台所需的数据表。具体如下:1.用户表t_user中储存的是注册用户的信息,其内含十三个字段,主要包括ID、用户名、用户密码、发布信息次数、参加圆桌次数、创建时间、头像路径、个人简介、昵称、性别、激活状态、邮箱、激活码。其详细设计如表4-12所示:表4-12用户表No.字段名数据类型Def.PkFk备注1idbigint(20)Y主键2usernamevarchar(255)用户名3passwordvarchar(255)用户密码4sharecountint(11)发布信息次数5softcountint(11)参加圆桌次数6createdatedatetime创建时间7imgpathvarchar(255)头像路径8descriptionvarchar(255)个人简介9nicknamevarchar(255)昵称10sexint(11)性别11activeint(11)激活状态12mailvarchar(255)邮箱13activeCodevarchar(255)激活码2.发布信息表t_source中存储的是注册用户所发布的文章信息,该信息会显示在发现模块中,其内含十个字段,主要包括ID、文章标题、文章详情、附件路径、下载次数、地区类型、发布时间、当前状态、发布人id、所属树种。其中当前状态中有两种选择,0或者1,分别代表未审核与审核通过。其详细设计如表4-13所示:61\n天津工业大学2016届本科生毕业设计(论文)表4-13发布信息表No.字段名数据类型Def.PkFk备注1idbigint(20)Y主键2titlevarchar(255)文章标题3descriptionlongtext文章详情4pathvarchar(255)附件路径5countint(11)下载次数6typevarchar(255)地区类型7timedatetime发布时间8statusint(11)当前状态9userIdbigint(20)Y发布人id10speciesvarchar(255)所属树种3.圆桌竞赛表t_competition中存储的是圆桌话题的信息,在有效期内的圆桌话题会展示在圆桌列表,其内含九个字段,主要包括ID、圆桌标题、圆桌介绍、当前状态、发起人、开始时间、结束时间、参与人id、作品数量。其中当前状态使用0或1分别表示了正在进行与已过期,在参与人id中通过记录参加人的id的字段(“1,3,6,7,8”),表示id为1,3,6,7,8的用户参加过这个圆桌。其详细设计如表4-14所示:表4-14圆桌讨论表No.字段名数据类型Def.PkFk备注1idbigint(20)Y主键2titlevarchar(255)圆桌标题3descriptionlongtext圆桌介绍4statusvarchar(255)当前状态5authorvarchar(255)发起人6startdate开始时间7enddate结束时间8noteIdslongtext参与人id9countint(11)作品数量4.圆桌参与表t_soft中存储的是用户参与某个圆桌的作品信息,其内含八个字段,主要包括ID、作品标题、作品介绍、发布日期、附件路径、参与人id、圆桌id、评分表id。其中参与人id和用户表t_user中id关联,圆桌id与圆桌讨竞赛表t_competition中id关联,评分表id与圆桌评分表t_score中id相关联。61\n天津工业大学2016届本科生毕业设计(论文)其详细设计如表4-15所示:表4-15圆桌参与表No.字段名数据类型Def.PkFk备注1idbigint(20)Y主键2titlevarchar(255)作品标题3descriptionvarchar(255)作品介绍4createdatedatetime发布日期5pathvarchar(255)附件路径6userIdbigint(20)Y参与人id7competitionIdbigint(20)Y圆桌id8scoreIdbigint(20)Y评分表id5.圆桌评分表t_score中存储的是用户报名参加的圆桌作品的评分信息,其内含八个字段,主要包括ID、得1分的数量、得2分的数量、得3分的数量、得4分的数量、得5分的数量、投票人id、平均分。其中投票人id与用户表t_user中id相关联,并且通过把平均分存入数据库减少了用户每次查看评分信息时的后台计算量,提高了平台效率。其详细设计如表4-16所示:表4-16圆桌评分表No.字段名数据类型Def.PkFk备注1idbigint(20)Y主键2level1int(11)得1分数量3level2int(11)得2分数量4level3int(11)得3分数量5level4int(11)得4分数量6level5int(11)得5分数量7noteIdvarchar(255)Y投票人id8scoresfloat平均分6.评论表t_comment中存储的是用户对于文章或者圆桌作品的评论信息,其内含六个字段,主要包括ID、评论的文章id、评论内容、评论时间、评论标志位、评论人id。其中评论人id与用户表t_user中id相关,评论文章id与圆桌参与表t_soft中id或者发布信息表t_source中的id相关联,并且通过评论标志位进行区分,用0或者1表示所归属的不同文章类型。其详细设计如表4-17所示:61\n天津工业大学2016届本科生毕业设计(论文)表4-17评论表No.字段名数据类型Def.PkFk备注1idbigint(20)Y主键2toIdbigint(20)评论文章id3commentvarchar(255)评论内容4datetimedatetime评论时间5flagvarchar(255)评论标志位6userIdbigint(20)Y评论人id7.公告信息表t_notice中存储的是管理员发布的公告信息,其内含三个字段,主要包括ID、公告内容、发布时间。其详细设计如表4-18所示:表4-18公告信息表No.字段名数据类型Def.PkFk备注1idbigint(20)Y主键2contentvarchar(255)公告内容3datetimedatetime发布时间8.地区标签表t_label中存储的是全部的地区分类信息,这部分与文章表中的地区信息相关联,主要包括两个字段,分别是ID和地区类型。其详细设计如表4-19所示:表4-19地区标签表No.字段名数据类型Def.PkFk备注1idbigint(20)Y主键2typevarchar(255)地区类型9.苗种标签表t_species中存储的是全部的苗种类型信息,这部分与文章表中的苗种类型相关联,主要包括两个字段,分别是ID和苗种类型。详细设计如表4-20所示:表4-20苗种标签表No.字段名数据类型Def.PkFk备注1idbigint(20)Y主键2speciesvarchar(255)苗种类型61\n天津工业大学2016届本科生毕业设计(论文)第五章苗木交流平台详细设计与实现5.1总体模块设计苗木交流平台主要包括两个部分,分别是用户模块和管理员模块,用户部分主要是面向苗农,即网站的浏览使用者,管理员部分面向的是网站的管理人员。下面分别对两部分进行说明。5.2用户模块设计与实现5.2.1登录注册模块设计与实现虽然游客可以进行某些页面的浏览,但涉及到回复发布等功能时,还是需要用户进行登录,该模块实现的功能是,若用户尚未进行注册,用户可以点击注册按钮进入用户进行注册的页面;若用户已经注册并且成功的进行了邮箱激活,则用户输入注册用户名和相应的密码后,系统进行验证并且跳转到相应的界面。若用户忘记密码,则用户可以通过邮箱来找回自己帐号的密码。用户注册登录模块流程图如图5-1所示:图5-1用户注册登录流程图在用户注册时,会检测其用户名是否已在数据库中存在,并利用Ajax技术进行前台的无刷新提醒,密码进行了长度的限制,并且也提供了注册邮箱的验证功能。通过发送邮件来确认用户的激活信息。如图5-2所示。61\n天津工业大学2016届本科生毕业设计(论文)图5-2用户注册界面注册的用户可以在用户登录界面进行登录操作,填写正确的用户名与密码后,就可以跳转到首页界面,若是用户名或密码错误都会提示“用户名或密码错误”。并且可以通过记住我复选框来进行cookie的存储,使得下次无需再进行登录。如图5-3所示。在用户注册和登录过程中,用户密码都将通过DigestUtils类中的md5Hex()方法进行加密,与此同时,在注册过程中加入了验证码并且利用javamail进行了邮箱验证,防止了恶意注册。图5-3用户登录界面在登录界面上点击忘记密码按钮可以进入找回密码的界面,在这里输入注册时使用的邮箱,系统就自动重置密码为随机的字符串,并且会给其注册的邮箱发送邮件,内含其重置的密码,此时用户可以登录网站并更改其密码。如图5-4所示。61\n天津工业大学2016届本科生毕业设计(论文)图5-4密码找回界面该部分核心代码如下://登录操作publicStringlogin()throwsException{//要通过用户名和密码获得完整的用户//先要判断model中的用户名是否为空if(model.getUsername()!=null&&model.getPassword()!=null){Stringmd5Digest=DigestUtils.md5Hex(model.getPassword());Useruser=userService.findByUserNameAndPassword(model.getUsername(),md5Digest);if(user.getActive()==0){//未激活,返回系统忙界面return"error";}else{//激活了,正常登录if(remmber){//判断是否要添加到cookie中去Cookiecookie=cookieUtils.addCookie(user);response.addCookie(cookie);}ActionContext.getContext().getSession().put("user",user);return"toIndex";}}return"tologinUI";}5.2.2首页信息模块设计与实现游客或用户在首页上可以看到站内公告、发现信息、最近圆桌和人员信息等成分,这是网站大部分信息的一个聚合浏览界面,为用户提供最便捷的浏览方式,易于用户发现自己所需要的信息。主要布局跟初期设计布局基本一致。为了方面用户更快捷找到自己所需信息,我们为信息进行了分类,并在首页上设置了快捷按钮,可以方便用户找到所需的信息归属分类。使用导航栏上的搜索功能可以快捷的搜索出包含其关键字的文章标题,并以列表的方式展现给用户。在页面的主体部分,左侧上方的公告列表会进行实时的滚动,并61\n天津工业大学2016届本科生毕业设计(论文)附加了鼠标悬停功能,可以使用户仔细查看公告信息。公告下方的最火信息会显示出浏览量前十的文章标题,方便用户查看热门的信息。在右上方显示了最近注册的用户,方便之后用户的交流与查看。其下方将发表文章数最多的用户列出,这会激励用户更加踊跃的发言。中间部分显示了主要的文章标题以及正在进行的圆桌讨论。整个网站的概况基本在首页上都能都显示出来,减少了用户操作量,方便用户快速进入所需板块。如图5-5所示。图5-5系统首页界面该部分核心代码如下:publicStringindex()throwsException{//准备数据List