《毕业设计(论文)基于SSH框架的农业信息服务系统设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于SSH框架的农业信息服务系统设计.doc(83页珍藏版)》请在三一办公上搜索。
1、基于SSH框架的农业信息服务系统设计摘要农业信息服务系统是为广大农业养殖户设计的一种养殖技术信息服务系统。由于农业养殖散布在广大农村的田间地头,饲养者不容易集中培训,专业咨询人数有限,因此需要一种灵活机制的方式为农户提供农业养殖技术服务。而当前,android智能手机的普及相当高,所以本系统设计为C/S模式,服务器端+android客户端。本系统采用面向过程的设计方法,按照软件工程生命周期法,瀑布模式来设计和开发。文中详细说明了系统数据流图、IPO表、关系模型,数据库表等的设计。本系统手机客户端主要为农业养殖用户提供养殖计划订阅,紧急信息阅览,疑难问答等功能服务;而养殖专家可以通过手机客户端进
2、行养殖计划发布,紧急信息发布,疑难解答等操作。服务器端提供后台管理,后台管理主要面向管理员,提供养殖订阅管理,养殖计划管理,农产类型管理,紧急消息管理,用户管理等功能。本系统采用JSP+android技术,开发语言为JAVA,结合mysql数据库,在Myeclipse8.5和android集成开发环境上开发设计。实现在android手机平台上为用户提供农业养殖信息服务。关键词:农业养殖;JSP+android技术;手机平台Agricultural information management service system projectABSTRACTAgricultural informat
3、ion service platform is designed for large livestock farmers a farming technical information service system. Due to agricultural cultivation spread in the fields of the countryside, farmers is not easy to focus on training, professional consulting co., LTD., so we need a way of flexible mechanisms p
4、rovide farmers with agricultural farming technology services. Now, the popularity of android smartphone is quite high, so this system design for the C/S mode, the server + android client. This system adopts the design method of process oriented, according to the method of software engineering life c
5、ycle, the waterfall model to design and development. This paper details the system data flow diagrams, IPO tables, relational model, the design of the database table, etc. The mobile client system is mainly for agricultural cultivation provide breeding program subscription, emergency information acc
6、ess, difficult question and answer the function such as service; And breeding experts to the client through farming, plans to release, the emergency information release, troubleshooting, and so on. Provide background management server, background management mainly take the administrator, provide the
7、 breeding management, emergency information management, system and role management, and other functions. This system use the JSP + android technology, for the JAVA development language, mysql database, in Myeclipse8.5 and android development and design on the integrated development environment. Impl
8、ementation on android platform to provide users with agricultural farming information services. Key words: agricultural cultivation;JSP + android technology;mobile phone platform目 录1. 绪论.11.1. 课题背景及目的.11.2. 国内外研究状况.11.2.1. J2EE(SSH)的研究.11.2.2. 农业信息化的研究.21.3. 课题研究方法.21.4. 论文构成及研究内容.22. 技术介绍.42.1. JAV
9、A开发语言的选择.42.2. JSP技术.42.3. MySQL 5.5.52.4. Android介绍.52.5. 开发环境.73. 需求分析.83.1. 系统定义.83.2. 功能需求.93.3. 系统功能.93.3.1. 手机客户端实现的功能.93.3.2. 服务器后台管理实现的功能.93.4. 系统数据流图及功能.103.4.1. 系统顶层图.103.4.2. 一级细化图.113.4.3. 二级细化图.123.5. 数据字典.163.5.1. 数据流.163.5.2. 数据存储描述.203.5.3. 数据处理定义.204. 系统业务流程图.224.1. 订阅业务流程图.224.2. 紧
10、急信息业务流程图.234.3. 疑难问答业务流程图.235. 总体设计.245.1. 软件总体部署.245.2. 系统总体结构图.245.3. 模块IPO图.255.4. 数据库设计.355.4.1. 代码设计.355.4.2. 概念模型设计.355.4.3. 关系模型设计.405.4.4. 数据库逻辑计.416. 详细设计.466.1. 模块概述.466.1.1. 注册流程.466.1.2. 登录流程.486.1.3. 订阅流程.496.1.4. 紧急信息流程.506.1.5. 疑难问答流程.516.2. 输入输出设计.536.2.1. 输入设计.536.2.2. 输出设计.577. 编码.
11、597.1. 编码工具的选择.597.2. 编码的特点.597.3. 源程序清单.598. 测试.608.1. 测试的目标.608.2. 测试的方法.608.3. 测试方案和测试用例.608.3.1. 注册界面测试设计.608.3.2. 登录界面测试设计.618.3.3. 订阅界面测试设计.628.4. 农业信息服务系统测试结论.629. 维护.6310. 系统使用说明.6410.1. 软硬件配置.6410.2. 软件使用方法.6410.2.1. JSP+Android+Tomcat+MYSQL 配置. .6410.2.2. 系统使用方法.6511. 结论.66致谢.68参考文献.69附录.7
12、0附录A.701. 绪论1.1. 课题背景及目的近年来,随着计算机相关技术理论的发展成熟和计算机硬件的不断更新换代,计算机信息技术的发展亦是日新月异。业内的大小信息服务提供商,都在不断的开发各种各样的信息服务产品,向客户推出。即时通讯,新闻资讯,游戏娱乐,电子商务,婚恋交友等等各种信息服务产品让人应接不暇。城市信息服务的普及已经相当广泛全面,城镇居民客户在信息服务的享受上已经达到很高的水平。然而,在大部分信息服务商都把眼光瞄向城镇客户群体时,却很少有人能看到另一个用户群体,那就是农民。在广大的农村,网络的覆盖稀薄,网络信息服务水平落后,作为21世纪新一代的计算机专业大学生,怀着建设祖国的梦想,
13、我们应该致力于改变这种状况,运用所学的专业技术,努力延伸Internet网络神经末梢,填补网络覆盖和计算机信息服务的盲区,让边远落后地区的老百姓也享受到信息技术发展所带来的甜蜜果实。为此,本毕业设计选择了以农业为课题,想要为广大农村的用户设计一个农业信息管理系统,为农村用户提供方便快捷的信息服务。1.2. 国内外研究现状1.2.1. J2EE(SSH)的研究SSH 为 struts+spring+hibernate的一个集成框架,是一种Web开发使用的开源框架。集成SSH框架的系统从层次上分为四部分:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护
14、方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(Data Access Objects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理struts和hibernate。最开始的前端控制器实现的程度
15、都不一样。2001到2002年间,Apache组织发布了Struts,从而改善了这个现状,它并非一个十全十美的框架,但它的存在使其在该领域有了历史性的突破。 Struts拥有开源框架所具有的优点,比如,初学者能够很容易地了解它的结构。2002年底,它成立很多J2EE项目很自然的选择,每一个认真的J2EE开发者都会对它很熟悉。 Struts用在几乎所有的J2EE项目中,这使得它成为J2EE架构中的一个重要组成部分。甚至很多相对反对的组织也将它作为框架底层的一部分,并同意接受Apache的开源协议条款。 Hibernate。下一个倒下的多骨诺米牌就是持久化。J2EE提供了两个持久化的手段:JDBC
16、,它是J2SE中访问关系数据库系统的标准API;另一个是实体Beans ,它是EJB中专门模型化持久化实体的组件。1.2.2. 农业信息化的研究改革开放给我国信息产业发展带来了巨大的变化,让我们能追上国际信息产业发展的巨大潮流,但从现状来讲,我国农业的劳动生产水平已然偏低,农业热口在我国仍占有较大比重,和发达国家高度集成的信息化农业相比,差距依然很大。所以如何提高我过农业信息化的水平,增强其在国际上的竞争力;如何利用好信息的广延性和通用性,使其为农业带来新的机遇;如何利用互联网的实时特性,来发展我国的传统农业,便成为了我们面前的重要问题。1.3. 课题研究方法 本毕业设计项目采用的面向过程的软
17、件开发方法,首先从问题的描述开始入手,构造系统模型。从真实的系统推导出相关类的体系,从而建立起系统模型。系统模型建立后,在对其功能进行分解,按照服务的类型进行归类,使其各个部分变成具有相关功能的集合,从而避免了模型的复杂性和开发难度,最后再采用最佳的编码方式将其实现。1.4. 论文构成及研究内容本文的研究采用了理论与实际相结合的统一思路,在整个系统模型设计的同时,将具体的实现展现出来,结合正确的测试方法,最后得出结论。以下是论文构成及研究内容:第1章是绪论部分,探讨了课题的研究背景及意义,并且分析了国内外相关技术和产业的研究方法以及研究现状,最后阐述了本文的研究方法,论文构成和研究内容。第2章
18、是对研究方法的进一步阐述,是实现研究方法的必备工具介绍。首先阐述了各个技术的概念和定义,以及历史和现状。最后,将各个技术的集成开发环境进行详细的介绍。第3章到第10章是严格按照软件工程的开发流程进行设计和开发:定义阶段:初步项目计划、需求分析;开发阶段:概要设计、详细设计、实现、测试;运行和维护阶段:运行、维护、废弃。主要采用了面向过程的设计方法,在设计的过程分别采用了自顶向下的方法对实体系统进行分解和自底向上的方法对软件系统归纳,其中采用了大量的图和表格描述设计的过程,最后给出实现后的系统的效果和优缺点。第11章是本文的结论部分,总结前三章的研究内容,结合实践和理论,给出基于SSH框架的农业
19、信息服务系统的发展趋势和后续研究方向。2. 技术介绍2.1. JAVA开发语言的选择现在,市场上可以选购的应用开发产品很,有数十种语言可以选择。在我国,现在使用的最频繁的企业级开发语言的有: 太阳计算机系统公司的Java 微软公司的VB和VC宝兰公司的Delphi这些繁多的程序开发语言各有各的优势和特点,从而可以符合各个层次,各个阶段的用户需求。对于我的毕业设计,我首选JAVA语言开发,主要是因为Java是一种简单的、结构相对中立的、面向对象的、安全的、可移植的、多线程的、性能很优异的、动态规划的语言。 它的这些特性非常符合我的需求,所以我选择JAVA作为开发语言。2.2. JSP技术 Web
20、服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与Java Servlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JS
21、P配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点10。自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。JSP可用一种简单易懂的等式表示为:HTML+Java=JSP。2.3. MYSQL 5.51985年,瑞典MySQL AB公司成立;1996年,瑞典MySQL AB公司发布了MySQL 1.0,至此,MySQL作为目前世界上最通用的关系型数据库管理系统,正式登上了历史的舞台。它不仅在传统信息行业广受欢迎,还在WEB应用方面也是最好用的数据库
22、之一。MySQL通过关联数据库,从而将数据保存在各个表中,而并非将所有数据放在一个表内,这样就提高了运行速度和灵活性。MySQL所使用的SQL语言是用于数据库操作的最通用的语言。MySQL对于不同用户,采用了不同的授权政策:社区版和商业版,由于其开源和运行方面的巨大优势,一般小型开发者都选择MySQL作为网站的数据库。由于其社区版的性能更加优秀,搭配PHP和Apache可提供很好的开发环境14。MYSQL系统特性主要有: 1)使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性。2)支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、Op
23、enBSD、OS/2 Wrap、Solaris、Windows等多种操作系统。3)为多种编程语言提供了API。这些编程语言包括C、C+、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。4)支持多线程,充分利用CPU资源。5)优化的SQL查询算法,有效地提高查询速度。6)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。7)支持多种存储引擎。8). Mysql是开源的,所以你不需要支付额外的费用。9). MySQL使用标准的SQL数据语言形式。10).Mysql对PHP有很好的支持,PHP是目前最流行的Web开发语言。11
24、). Mysql是可以定制的,采用了GPL协议,你可以修改源码来开发自己的Mysql系统。2.4. Android介绍Android一词既指“机器人”也指谷歌。它是一款在2007年11月5日正式发布的,基于Linux底层的开源手机操作系统的名字,该平台由三部分组成:用户界面、操作系统、应用软件、和中间件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。它采用软件堆层的三层架构。底层是由Linux内核工作打造,通过C语言的开发提供相关的基本功能;中间层包括函数库Library和虚拟机Virtual Machine,由C+开发。最上层是各种application,由各公司自行发挥开发1。
25、对于制造商来说,Android是一个免费的平台。对硬件开发厂商来说,Android是个开放的平台。只要厂商有能力,可以在这个平台上自由加入特有的装置或功能,不受手机作业系统厂商的限制。Android它的开放性就优于其它封闭式的手机系统,因此,任何人都可能根据自己的喜好将手机系统中的所有功能重新编写。这使得越来越多的人关注这个操作系统13。图2-1 Android架构图Fig 2-1 Android architecture diagram 图2-2 Activity状态变换路径图Fig 2-2 Activity state transform path diagram 2.5. 开发环境操作系
26、统:WINDOWS 7.0运行工具:IE 8.0,android手机, android虚拟机开发工具:MyEclipse 8.5, android集成开发环境数据库:MYSQL 5.5服务器: Tomcat 6.0辅助工具:Adobe Photoshop CS,Flash V8.0,Navicat 8.2 For MySQL3. 需求分析3.1. 系统定义农业属于比较传统的行业,目前农业的发展已经到了规模化,产业化的阶段。农产品的生产已经精确到以天计算,农户可以根据计划准确无误的投放饲料和药物。同时饲料公司会为饲料的使用户提供在线问题解答和帮助。由于农业养殖散落在广大农村的田间地头,饲养者不容
27、易集中培训,专业咨询人数有限,因此需要一种灵活机制的方式为农户提供农业信息咨询的服务。 随着智能手机的普及,越来越多的信息服务系统可以通过手机平台实现,农业养殖手机软件即农业产养殖户提供一个这种个性化的服务平台3.2. 功能需求用android手机平台来实现农业信息服务无疑是一个低成本,高成效的方法。考虑到本系统软件的适用人群和适用地区,人性化界面,以及运行维护等各方面的因素,对本软件的功能需求主要有: 1) 软件性质:一款基于安卓平台开发的可以随时通过网络交流、分享信息的手机软件。目的是为能够让散布在广大农村的田间地头的农户提供一个比较全面的、安全的、个性化的服务平台。让广大农户有一个比较系
28、统的养殖方案,并且提供一些应急服务。 2) 软件适用人群:农业养殖户、咨询人员、后台数据管理员。 3) 软件适用平台:安卓系统手机并且连接网络 4) 软件界面:简单明了,操作简单。包括登陆、用户注册、密码变更等。能够让人一眼看到所有功能,简易的得到所需要的信息。 5)用户体验:主要用户就是农业养殖户,并不具备太多的关于手机软件的专业知识,容易形成操作习惯。所以要让用户感觉的这款软件的简单实用。农业养殖户、咨询人员、后台数据管理员对软件有不同的需求,通过登录来分区并且区分他们的权限。 6)升级维护:根据农产品价格,养殖相关信息等的变动,软件也要随之提供最新的信息,随时根据用户需求更新维护。 7)
29、数据库建立:要符合事实条件建立表项,随时修改维护。 8) WEB服务器搭建:基本框架搭建,服务器端,安卓客户端能正常运行。3.3. 系统功能 3.3.1 手机客户端实现的功能 1)养殖户注册模块:养殖户注册时要对账号、姓名、密码、个人说明进行填写,并且对信息的填写时,有格式要求。另外账号、姓名、密码为必填项。 2)养殖户登录模块:养殖户注册后,可以在登录模块进行登录,在登录的时候需要输入账号和密码,如果账号或密码错误,将出现错误提示,养殖户不可登录到系统。 3) 养殖专家登陆模块:养殖专家通过服务器端管理员的审批注册后,可以在手机客户端进行登陆,在登录的时候需要输入账号和密码,如果账号或密码错
30、误,将出现错误提示,养殖专家不可登录到系统。 4) 养殖计划订阅模块:养殖户可以按农产类型提出养殖计划订阅申请,经系统管理员审批通过后,养殖户就可浏览该农产类型的所有养殖计划信息。 5)养殖计划发布模块:养殖专家登陆系统后,按农产类型发布养殖计划。并能进行删除操作。 6) 紧急信息推送服务模块:养殖专家在遇到紧急情况,例如疫情、天气变化等会对养殖造成重大影响的事件,可以通过手机客户端及时发布应急信息,而养殖户也可以通过手机客户端及时接收到紧急应对方案,并且养殖专家与养殖户都能对信息进行删除操作。 7)疑难问答模块:养殖户可以按农产类型提出问题,养殖专家对问题进行解答后,养殖户能浏览解答信息,并
31、且养殖专家与养殖户都能对过期信息进行删除操作。 3.3.2 服务器后台管理实现的功能 1) 用户管理模块:管理员对包括养殖户,养殖专家,管理员三种角色在内的所有用户信息进行添加,删除,修改,查看。特别注意的是,养殖专家账号的审批注册就是在这个模块进行,手机客户端不提供养殖专家账号注册功能。 2) 养殖订阅管理模块:管理员对养殖户的订阅申请进行审批或者删除操作。 3)养殖计划管理模块:管理员对已发布的养殖计划进行删除,修改,查看。并且管理员本身也可以发布养殖计划。 4)农产类型管理模块:管理员对农产类型,以及该农产类型的价格和介绍信息进行增加,删除,修改,查看操作。 5)紧急信息管理模块:管理员
32、对紧急信息进行增加,删除,查看操作。 6)后台数据管理模块:管理员对系统数据进行数据库的基本操作、数据备份和恢复数据等。3.4. 系统数据流图及功能系统数据流图符号说明,见表3.1。表3.1 数据流图符号说明Tab.3.1 Data flow the diagram sign图形符号名称符号说明实体记述系统之外的数据提供或数据获得组织机构或个人,框内为实体名称 PM C数据处理记述某种业务的手工或计算机处理,其中PM区记述处理标号,C区记述处理名称DNS 数据存储记述与处理有关的数据存储,DN区记述存储的标号,S区记述存储数据的名称数据流记述数据流的流动方向,FM记述数据流的名称 3.4.1 系统顶层图本系统数据流程相关图表,分别采用了自顶向下的和逐层细化的方法,系统TOP图,见图3-1。P农业信息服务平台 养殖户 养殖专家 管理员 管理员 养殖专家 养殖户F1F2F3F4F5F6图3-1 系统TOP图Fig.3-1 System TOP map 3.4.2 一级细化图P1 用户管理D1F1.1F2.1F3.1F6.1用户信息表 P2养殖订阅管理D2F1.2F3.2F6.2养殖订阅信息表 P3养殖计划管理D3F2.2F3.3F4.1F5.1F6.3养殖计划信息表 P4农产类型管理D4F3.4F6.4农产类型信息表