web的作物种植管理知识库系统的研究与设计(源码)
为方便农户使用作物种植管理信息服务,设计一个B/S架构的作物种植管理知识库系统。首先,根据农户对作物种植管理知识信息的需求和知识库管理的特点,对作物种植管理知识库系统进行需求分析。其次,利用类图、顺序图、实体关系图和数据库表进行系统总体设计和数据库模型设计。最后,采用PHP语言和MySQL数据库相关技术,实现集用户登录、注册、个人信息管理、搜索、提问、回复、评分与评论、用户经验管理、添加、删除等功能于一体的前端网站和后台管理系统平台。关键字知识库管理;B/S;PHP;MySQLResearch and Design of a Knowledge Base System for Crop Planting Management Based on WebStudent majoring in Computer science and technology DUAN Yan-ru Tutor XIONG Ying-junAbstract: In order to facilitate the peasant household using the crop planting management information service, a knowledge base system of the crops planting management based on B/S frame was designed. Firstly, according?to?the?needs?of?the?peasant?household?for?the?knowledge?of?the?crop?planting?management?information?and?the?trait?of?the?knowledge?base?management, analysis of requirement for the system were carried out. Secondly, by taking advantage of class diagram, sequence diagram, the systematic entity relationship diagram and database table, the overall system and dat *好棒文|www.hbsrm.com +Q: &351916072&
abase model were designed. Lastly, by taking the PHP language and MySQL database technologies, functions of the system were realized, which includes the front-end web site and backstage management system platform. The front-end web’s functions are login, personal information management, search, questions, reply, ratings and reviews, users experience management and so on, while backstage management system platform can do data adding and deleting and some other functions. 1 绪论1.1 研究意义农业作为中国的第一产业,在生产和发展中,利用信息技术促进农业进步有着无限可能[1]。信息技术和涉农领域的有效联合组成了农业信息技术,也就是信息农业,是当代农业的主要应用方向[2]。它的研究依据包括现代信息科学、系统科学和控制论,利用电子科技、通信科技及计算机科技,把现代信息科技的研究结果运用到涉农领域的研究、发展、应用、管理体系中,并进行创新,着重在应用上[3]。运用在涉农领域上的研究成果有信息获取技术、信息传输技术、信息处理技术、信息管理技术、信息服务技术和信息应用技术等各种相关成果[3]。在此背景下,一个作物种植知识库有了研究的必要。作物种植管理知识库是涉及作物种植的各有关方面知识的集合,这个集合收集这些知识并进行储存,具有知识查询、分析、加工和反馈等功能[4]。农户将日常生活中积累的作物种植方面的经验记录到知识库中,交流和共享知识。知识库随着用户的使用而动态变化,有效地管理与应用知识库,实现作物的合理科学种植,促进农业的现代化发展。1.2 国内外研究现状1.2.1 国外研究现状由于网络应用的进步,经过网络实现人类的交流与沟通需求成为必要。很多问答知识网站在近二十年来已经产生,如雅虎公司的提供多领域问答服务的全英文网站Yahoo!Answers、针对中国用户的雅虎知识课堂。Google推出的Google Answers是最早提供的此类服务,然而,因为没有预测到社交网络的前景,不够重视,导致Google Answers已不再接收新的问题。如何将信息技术与农业相结合以减轻工作量、增加农业生产利润、促进农业的发展是世界各国都在研究的课题。英国建立了能将国内及各个国家相关的农业信息资源收集、整理和使用的大型农业类数据库;创建包含国内所有农业计算机网络的体系,用于连接政府农业机构和农民。韩国扶植农林水产省的农林水产信息中心,利用覆盖全国的网络系统,信息资源供给者发表各类涉农信息;同时农业类部门及科研单位研发相关的系统软件,发送和查找数据资源。法国涉农机构建立系统网站用以收录各种农业类网站,定时或不定时发表国家农业政策决定、统筹信息资源和市场情况等[6]。强健的信息系统后台,使法国的信息服务能服务于整个国家,它将各个与农业相关的政府部门、企业、科研单位、信息媒体等组织起来,形成多元一体化的服务和共生共存的形势[7]。澳大利亚涉农数据来源不仅有涉农资源网来供应全国与国外全部的市场状况信息、相关行业资源等[12],还在农业部门的涉农网站上,创建农业信息管理系统和强大的数据库,来获得全国各个农田、各个时间的天气情况和农田情况[13]。美国涉农机构利用卫星定位系统,可以检测国内土地的元素含量,收割机工作的过程中,实时获得计算机计算到的每种元素含量。1.2.2 国内研究现状信息技术在我国涉农领域中的研究运用相比于发达国家比较迟,我国在农业自然资源数据处理、农业信息管理与推广服务、农业规划与决策、农业生产过程实时处理与控制、人工智能专家系统开发与应用、信息网络研究与实现等领域已经得到了一定的成果[1]。绝大多数的农业信息技术研究者是涉农领域的科研部门,其次是农业类企业。凭借自身的条件和技术,各种层次、各种技术需要的信息系统也由他们研发出来。在农业信息技术的科研运用上,首先是农业部投资,由各农业科研单位研究相关的农业信息科技并实现推广应用;其次是由企业自己投资,利用本身的科研部门或委托相关研究院所按照所需的市场需求研发,从而推广使用。大量规范化的信息资源和网络基础设施是信息科技在农业应用上的根本。我国涉农领域的数据资源包括由涉农部门领导的农业类资源网站,由科研院所研发的农业教育信息网站及与农业相关企业与机构制作的信息资源网站[6]。按照自主发展需求,通过研发相关的农业类资源网、数据库系统,在相当范围内实现农业信息科技化发展对数据资源的需要。目前我国农业硬件设施缺乏;信息资源储存量不足,且没有实现规范、标准地存储资源;农业类的网站缺少研发力度、种类单薄、推广力度不足、缺乏大量使用人员。因此,在农业领域,针对农民使用的农业类知识库相对缺乏,应用较为广泛的也只是中国农业信息网、农林网等农业类网站。1.3 研究内容根据作物种植管理知识库的特点,设计一个B/S架构作物种植管理知识库体系大致分为以下三个方面 (1)前端的设计与实现基于Web的作物种植管理知识库系统的前端设计包括①用户登录、注册、②个人信息编辑、我的问题与回答管理、用户经验管理。③首页的热点推荐。④问答模块的知识搜索、提问、回答、评分与评论功能,用以快捷的浏览与使用知识库中的各类问题和答复信息。(2)后台管理系统的设计与实现该系统用PHP语言设计一个后台管理系统网站以达到控制与管理前端及数据库的目的。管理人员可以使用该系统实现用户管理、首页管理、知识管理等功能,包括发布相关信息,增加、删除知识库信息等。(3)数据库的设计与实现该系统需要相应的数据库支持。该数据库存储用户在前端录入的用户信息、问题、知识等信息和管理员在后台管理系统中录入的各种信息。数据库用来存储各种知识和前端与后台操作产生的数据信息,并与前端及后台管理系统相连接,实现前端与后台的同步。1.4 相关技术1.4.1 系统体系结构介绍B/S结构即浏览器和服务器结构,它由C/S结构改进而来。对于这种结构,浏览器就是用户工作界面,前端实现少许的功能,服务器完成大部分的功能,组成三层3-tier结构。B/S结构是网络流行下一种结构体系,浏览器是其最主要客户端使用工具。这种模式下的客户端成为唯一,并且由服务器端完成系统的核心功能,减轻系统研发、维护及运营的成本。用户计算机只需安装一个浏览器,比如Google或IE等,服务器端需安装数据库,像Oracle、MySQL或?SQL Server等。浏览器经由Web Server同数据库实行信息交互,客户端电脑负载得以减轻,且系统总成本也有下降。1.4.2 数据库介绍MySQL作为使用最广泛的关系型数据库管理系统之一,不同的表存储不同的数据信息资源,从而提升执行速率和灵敏性。MySQL因为其包含很多不同的数据库存储引擎可满足跨平台和各类语言开发的需要。作为操作数据库的最常用规范化语言SQL,它是MySQL所使用的语言。MySQL 十分适合于 Web应用方面,多半用来创建小型和中型网站的数据库,这是由于其具有占用空间小、执行速率高、开发成本低并且源码开放的特点。并且因为其社区版的强大功能,与?PHP?和?Apache?组合可搭建良好的开发环境。1.4.3 PHP介绍PHP作为一种通用开源脚本语言,应用十分普遍,在Web开发领域中尤为突出。它集合了C语言、Java和Perl以及PHP自创的语法,具有C语言、Java和Perl的特点,不仅便于程序开发者的开发学习,而且使用非常简单。由于PHP采用编码与HTML语言相整合的方式运行,而其他编程语言则全部改为由HTML标记的CGI,所以PHP在动态网页运行速度上比CGI或者Perl快。PHP具有十分强大的功能,它能实现全部的CGI的功能。它可以应用于绝大多数普遍使用的数据库以及操作系统,并且可以用C、C++对程序进行扩展。2 需求分析2.1 可行性分析本课题采用PHP、MySQL与Apache组成的开发环境进行开发。它是目前最为成熟、稳定、安全的企业级网站开发技术,多运用在超大型网站的开发。它们开源、免费、功能强大、成本低,结构成熟、功能稳定、语法简明,利于系统的快速开发。PHP的安全性能十分出色,采用加密技术处理用户账号和密码,以保证帐号信息的安全。还使用多层加密技术,确保重要数据的安全。由于其可跨平台运行,大大减少了信息及系统搬迁的问题。现代农业的飞速进步,使得人们对农业信息的需求越来越高,创建一个作物种植知识库对于大家正确合理地种植作物很是重要。当今社会,网络技术飞速发展,将作物种植知识库用网站的形式表现出来,能极大的方便农民使用知识库信息,有效地管理与应用知识库,实现作物的合理科学种植,促进农业的现代化发展。基于Web 的作物种植管理知识库为农业种植过程提供科学有效的指导,为农业发展开辟了更加广阔的空间,加快传统农业成长为科技农业,提升了生产效率,实现现代农业建设,对农业进步有者深远影响。2.2 系统功能需求分析本系统由前端作物种植管理知识库网站和后台管理系统平台组成。前端的基本功能为用户对知识库系统的使用,具体可以分为以下几个方面①用户登录、注册与编辑个人信息,管理我的问题和答案②通过搜索、提问与回答实现知识库信息的交流与共享,用户具有评分与评论答案的功能③用户经验管理,即系统对回答者进行固定经验奖励,提问者对回答者进行经验奖励。用例图如图1所示。/图1 用户用例图后台管理网站应满足管理员对知识库与前端的控制及管理需求,包括管理员登录,用户、问题、答案、评论、致富经、tips与农业资讯等模块的管理,管理员可进行添加和删除操作。用例图如图2所示。/图2 管理员用例图2.3 活动图2.3.1 用户登录模块/图3 用户登录模块活动图场景名称用户登录参与者已注册用户前置条件打开登录页面。基本事件流(1)用户输入已注册的用户名、密码及验证码,填写完整后点击登录按钮;(2)系统验证用户输入验证码是否正确,错误则输出“验证码错误”,正确则与数据库中用户信息校验,成功则登录成功,打开前端主页面,否则输出“登录失败”。后置条件登录成功。2.3.2 用户注册模块/图4 用户注册模块活动图场景名称用户注册参与者未注册用户前置条件打开注册页面。基本事件流(1)用户输入用户名、密码、昵称、性别、email及验证码,填写完整后点击注册按钮;(2)系统验证验证码是否正确,错误则输出“验证码错误”,正确验证用户名是否存在,存在则显示“用户名已存在”,否则注册成功并将用户信息写入数据库。后置条件注册成功。2.3.3 用户信息修改模块/图5 用户信息设置模块活动图场景名称用户信息修改参与者已注册用户前置条件打开修改页面。基本事件流(1)用户输入想改变的信息,填写完后点击提交个人设置按钮;(2)系统对数据库中的相关信息进行更新操作,成功则输出“设置成功”且返回主页。后置条件修改成功。2.3.4 搜索模块/图6 搜索模块活动图场景名称用户搜索参与者已注册用户、未注册用户前置条件打开搜索页面。基本事件流(1)用户选择类别并获取关键字,填写完后点击搜索按钮;(2)系统判断搜索结果是否为空,为空则输出“对不起,为搜索到结果”,否则循环输出查询结果。后置条件搜索成功。2.3.5 提问模块/图7 提问模块活动图场景名称用户提问参与者已注册用户前置条件打开提问页面。基本事件流(1)用户问题信息,填写完后点击提交按钮;(2)系统将所填信息插入对应的数据库表中。后置条件提问成功。2.3.6 回答模块/图8 回答模块活动图场景名称用户回答参与者已注册用户前置条件打开回答页面。基本事件流(1)用户输入答案,填写完后点击提交按钮;(2)系统将所填答案信息写入数据库。后置条件回答成功。2.3.7 我的问题与回答模块/图9 我的问题与回答模块活动图场景名称我的问题与回答管理参与者已注册用户前置条件打开我的问题页面或我的回答页面。基本事件流(1)用户选择其中一个问题或答案,点击删除;(2)当删除问题时,系统删除数据库中对应的问题记录,相关联的答案信息、评论信息和分数信息也被删除,并显示“删除成功”。当删除答案时,系统删除数据库中对应的答案记录,相关联的评论信息和分数信息也被删除,并显示“删除成功”。后置条件删除成功。2.3.8 评分模块/图10 评分模块活动图场景名称用户评分参与者已注册用户前置条件打开评分页面。基本事件流(1)用户输入分值,点击确定按钮;(2)系统将分值写进数据库并答案表中的分值。后置条件评分成功。2.3.9 评论模块/图11 评论模块活动图场景名称用户评论参与者已注册用户前置条件打开评论页面。基本事件流(1)用户输入评论信息,点击确定按钮;(2)系统将评论写进数据库。后置条件评论成功。2.3.10 奖励模块/图12 奖励模块活动图场景名称用户奖励参与者已注册用户前置条件打开奖励页面。基本事件流(1)用户输入奖励经验值,点击确定按钮;(2)系统判断用户经验值是否小于奖励值,小于则输出“经验值不足请努力赚取或降低奖励值”,否则修改数据库中用户及回答者的经验值,输出“答谢成功”。后置条件奖励成功。2.3.11 管理员登录模块/图13 管理员登录模块活动图场景名称管理员登录参与者已注册管理员前置条件打开登录页面。基本事件流(1)管理员输入名称、密码及验证码,点击确定按钮。(2)系统判断验证码是否相符,不符就输出“验证码错误”,反之则与数据库相应信息进行比较,从而判断是否登录失败,失败就提示“登录失败”,否则打开新网站。后置条件登录成功。2.3.12 添加模块/图14 添加模块活动图场景名称管理员添加信息参与者已注册管理员前置条件打开添加页面。基本事件流(1)管理员输入想增加的数据信息,点击确定按钮;(2)系统把所输入信息写入数据库。后置条件添加成功。2.3.13 删除模块/图15 管理员登录模块活动图场景名称管理员删除信息参与者已注册管理员前置条件打开后台页面。基本事件流(1)管理员单击想删除信息;(2)系统删除数据库中对应记录并显示“删除成功”。其中,当删除问题时,系统也将相关联的答案信息、评论信息和分数信息删除;当删除答案时,系统将相关联的评论信息和分数信息删除。后置条件删除成功。3 系统设计与数据库设计3.1 系统设计3.1.1 类的设计根据本课题的需求,设计用户类和数据库类如下(1)User用户类,用来实现用户及管理员的操作/图17 User类图下表是对数据库类的属性及方法的解释表2 User类的属性及方法说明表属性及方法定义属性及方法说明public function __construct()数据库连接public function CheckUserNameExit()检测用户名是否存在public function Register()用户注册public function Login()用户登录public function Search()搜索public function Search3()搜索问题public function Ask()用户提问public function AdminLogin()管理员登录public function Answer()用户回答public function Comment()用户评论public function Addnews()添加农业资讯public function Addrich()添加致富经public function Addtips()添加tipspublic function Score()用户评分(1)DBSQL数据库类,用来对数据库进行操作/图16 DBSQL类图下表是对数据库类的属性及方法的解释表1 DBSQL类的属性及方法说明表属性及方法定义属性及方法说明private $CONN = ""数据库连接变量public function _construct()初始化构造函数,连接数据库public function select()数据查询public function insert()数据插入public function update()数据更新public function delete()数据删除public function begintransaction()定义事务public function rollback()回滚public function commit()提交执行public function insertData()向指定表中插入数据public function updateData()更新指定表中指定记录public function Count()统计表中记录数public function Avg()求平均值3.1.2 顺序图根据系统需求,设计一个前端作物种植管理知识库系统网站和后台管理系统网站。(1)作物种植管理知识库系统的前端,从用户登录和注册开始。用户登录后可搜索、提问、回答、修改个人信息、删除我的问题与答案、评分与评价答案,并与数据库中的数据信息交互。功能流程用顺序图展示如图18。/图18 前端系统顺序图(2)作物种植管理知识库系统的后端管理平台在管理员登录后,通过与数据库的连接和操作实现对知识库和前端进行管理,包括用户、问题、答案、评论、农业资讯、致富经及tips模块管理,具有添加和删除功能。后台系统顺序图如图19所示。/图19 后台系统顺序图3.2 数据库设计3.2.1 数据库结构设计本系统的数据库设计中,一共设计管理员、用户、作物、技巧、问题、答案、农业资讯、致富经、评分、评价10张表。各个实体的E-R图如下管理员实体E-R图/图20 管理员实体及属性用户实体E-R图/图21 用户实体及属性作物实体E-R图/图22 作物实体及属性技巧实体E-R图/图23 tips实体及属性问题实体E-R图/图24 问题实体及属性答案实体E-R图/图25 答案实体及属性农业资讯实体E-R图/图26 农业资讯实体及属性致富经实体E-R图/图27 致富经实体及属性评分实体E-R图/图28 评分实体及属性评价实体E-R图/图29 评价实体及属性3.2.2 数据表设计表3 bs_admin(管理员信息表)序号字段别名数据类型数据长度码是否可空1adminname管理员名称char20PK否2adminpw密码char20否是表4 bs_user(用户信息表)序号字段别名数据类型数据长度码是否可空1username用户名char20PK否2pw密码char20否是3nickname昵称char20否是4sex性别char10否是5email邮箱char50否是6experience经验值int10否是表5 bs_crop(作物信息表)序号字段别名数据类型数据长度码是否可空1cropid编号char10PK否2cropname名称char20否是3kind种类char20否是4keyword关键字char20否是表6 bs_tips(技巧信息表)序号字段别名数据类型数据长度码是否可空1tipsid编号int10PK否2tipsname标题char50否是3kind种类char20否是4keyword关键字char20否是5tipsurlURLchar50否是表7 bs_question(问题信息表)序号字段别名数据类型数据长度码是否可空1q_id编号char10PK否2keyword关键字char20否是3kind种类char20否是4q_name标题char50否是5username提问者char20否是表8 bs_answers(答案信息表)序号字段别名数据类型数据长度码是否可空1a_id答案编号char10PK否2a_content内容text否是3q_id问题编号char10否是4a_username回答者char20否是5avgscore分数float10否是6t_score奖励int10否是表9 bs_news(农业资讯信息表)序号字段别名数据类型数据长度码是否可空1newsid编号int20PK否2newsname标题char100否是3newsurlURLchar50否是表10 bs_rich(致富经信息表)序号字段别名数据类型数据长度码是否可空1richid编号int10PK否2richname标题char100否是3newsurlURLchar50否是表11 bs_score(评分信息表)序号字段别名数据类型数据长度码是否可空1s_id编号char10PK否2q_id问题编号char10否是3a_id答案编号char10否是4score分数float10否是5username评分者char20否是表12 bs_comment(评价信息表)序号字段别名数据类型数据长度码是否可空1c_id编号char10PK否2a_id答案编号char10否是3content内容text否是4c_username评价者char20否是4 系统实现与测试4.1 开发和部署环境本系统使用PHP语言开发。在Windows操作系统下,开发环境由Apache、MySQL及PHP软件和工具安装配置,由于PHP是从Linux发展而来的一种语言,不但在开发环境上保留着Linux的特点,即开发环境所需的Apache是Linux下的Web服务,地位就像Windows下的IIS;同时MySQL是Linux系统中绑定的数据库,在环境的搭建上也具有Linux的特性。除了正常的搭建操作外,还需要专门的设置各自的配置文件(.ini、.conf)[9]。必须要说明的是,80为IIS服务器与迅雷的默认端口号,和Apache的默认端口号相同,所以在运行网页时会发生冲突。解决办法是关闭迅雷软件同时改变IIS或Apache中的一个端口号,或者停止IIS服务器的服务[8]。4.2 实现与测试4.2.1 用户登录模块用户进入系统后将“q12”、“123”和“5dw7”输入对应位置,点击提交,若用户名、密码、验证码错误会提示错误信息,无错误则进入主页面。测试如图30所示。/图30 用户登录模块测试图4.2.2 用户注册模块用户进入注册界面后,输入用户名“q1”、密码“123”、昵称“小小”、性别“女”、邮箱“123@qq.com”、验证码“dksp”后,点击注册,若用户名不存在则注册成功,后台管理平台的用户管理模块增加相应的用户信息,数据库中的用户表应增加相应的记录。测试如图31所示。/图31 用户注册模块测试图4.2.3 用户信息修改模块用户进入修改界面后,输入要昵称“小小啊”,点击提交个人设置,若设置成功,数据库中更改相应的用户信息,前端与后台也随之改变。测试如图32所示。/图32 用户信息修改测试图4.2.4 搜索模块用户在选择栏选择“粮食作物”并在文本框中输入想搜索信息的关键字“玉米”,单击搜索,得到相应的查询信息。测试如图33和34所示。/图33 搜索模块测试图1/图34 搜索模块测试图24.2.5 提问模块用户进入提问界面后,输入关键字“小麦”和内容“小麦种植技巧有哪些”后,点击提交,后台管理平台的问题管理模块增加相应的问题信息,数据库的问题表应增加相应的记录,前端与后台也随之改变。测试如图35所示。/图35 提问模块测试图4.2.6 回答模块输入想回答的问题的关键字“玉米”后,点击回答,得到相应问题信息,单击“玉米怎么种植”进入该问题的回答界面,输入答案后,单击确定,后台管理平台的答案管理模块增加相应的答案信息,数据库的答案表应增加相应的记录。测试如图36、37和38所示。/图36 回答模块测试图1/图37 回答模块测试图2/图38 回答模块测试图34.2.7 我的问题与回答模块用单击我的回答或回答,选择要删除的问题或回答,单击删除,数据库中对应记录删除成功。当删除问题时,相关联的答案信息、评论信息和分数信息也被删除;当删除答案时,相关联的答案信息、评论信息和分数信息也被删除。前端与后台随之改变。测试如图39、40和41所示。/图39 我的问题与回答模块测试图/图40 我的问题模块测试图/图41 我的回答模块测试图4.2.8 评分模块用户进入评分界面后,输入评分“4”,点击确定,则数据库中相应记录的值被修改,前端与后台也随之改变。测试如图42所示。/图42 评分模块测试图4.2.9 评论模块用户进入评论界面后,输入评分“哎呀”,点击确定,则数据库中增加相应的记录,前端与后台也随之改变。测试如图43所示。/图43 评论模块测试图4.2.10 奖励模块用户打开答谢页面后,输入“2”,单击确定,则数据库中相应的经验值随之改变,前端与后台也随之改变。测试如图44所示。/图44 奖励模块4.2.11 管理员登录模块管理员进入登录界面后,输入名称“admin”、密码“123”和验证码“ttup”后,点击提交,若登录成功进入后台管理系统界面,否则提示错误信息。测试如图45所示。/图45 管理员登录模块测试图4.2.12 添加模块管理员点击添加,输入编号“7”、标题“【致富经】大棚种植”和URL“newspage/rich5.php”,点击确定,后台管理平台的相应管理模块增加所加信息,数据库的对应表应增加相应的记录,前端网页同步增加相应信息。测试如图46所示。/图46 添加模块测试图4.2.13 删除模块管理员点击删除,则该行数据被删除,数据库中对应记录被删除。当删除问题时相关联的答案信息、评论信息和分数信息也被删除,当删除答案时,相关联的答案信息、评论信息和分数信息也被删除。前端随之改变。测试如图47所示。/图47 删除模块测试图5 总结与展望5.1 总结本课题研究与实现了一个B/S架构的作物种植管理知识库系统,包括完成一个方便人们应用作物种植管理知识库的前端网站、管理数据库和前端的后台管理系统平台以及存储数据信息的数据库。该系统实现了作物种植知识的管理、交流、共享与使用。通过对本次课题的研究与设计,我受到了很多启发。首先,丰富了知识面,对B/S架构体系、知识库管理和网站开发有了一定的了解;学习了PHP的相关知识,掌握了用PHP语言设计网站的技术,并且巩固了数据库的基本知识与应用,包括数据库连接、数据操作等。其次深刻的认识到了需求分析的重要性,它全程把握了整个设计了基本方向,一个好的需求分析可以避免走弯路。然后,掌握了理论知识,不代表实际的设计与实现会顺利进行,但实际的开发一定需要充实的理论基础。最后,代码的编写不是一蹴而就的,在编写代码的过程中,将功能模块化处理,每当完成一个功能时要先调试运行一下,避免后续出现错误而修改麻烦;在完成课题的道路上,会遇到很多问题,这个时候要善于利用手上的资源,细心寻求解决办法,这个过程或许枯燥繁琐,但是不要气馁,只要努力下去总会解决,这时将会获得无比的满足感。5.2 展望推进新时代农村的建设就要促进信息科技农业。用现代科学技术改造农业,提升农业信息化水平;大力构建国家农业科技创新体系,提高自主创新能力,促进科学研究成果在农村发展、运用和普及。随着科技农业的发展,基于Web的作物种植管理知识库具有可观的前景。它为农业生产提供科学有效的指导,为农业发展开辟了更加广阔的空间,促进了农业信息化建设,提高了生产效益,对农业的发展具有深远的影响。简便的操作、强大而完善的功能是该系统值得思考的地方。但是由于时间和精力所限,本系统的界面比较简单,布局不够美化,一些功能还较简单,在未来,有更深入的研究与开发,不断完善与美化的需要。参考文献[1] 曾小红,王强. 国内外农业信息技术发展概况[J]. 中国农学通报,2011,27(8)469-471[2] 张黎. 对农业信息技术创新的思考[J]. 安徽农业科学,2006,34(8)1731-1732[3] 李道亮,张立伟. 农业信息技术与现代农业发展[J]. 中国农村科技,2007(12):30-31[4] 许诘. 试论知识库与知识库管理系统的关系[J]. 武汉工业学院学报,2004,23(4)51-53[5] 沈瑛. 国内外农业信息化发展趋势[J]. 世界农业,2002(1)43-45[6] 王强,曾小红. 国内外农业数据资源和网络发展概况[J]. 世界农业,2008(11)61-64[7] 熊双林. 国内外农业信息技术发展应用现状简介[J]. 农业网络信息,2004(9)4-7[8] 软件开发技术联盟. PHP+MySQL开发实战[M]. 北京清华大学出版社,20133-14[9] Bonner D. Enter the chief knowledge officer[J]. Training&Development,2005,54(2)106-107[10]WARREN P. Knowledge management and the semantic web:from scenario to technology[J]. IEEE Intelligent Systems,2006,20(1)53-59[11] 卢丽娜. 国外农业信息化发展现状及特点[J]. 中国农场小康科技,2007(4)23-28[12] 农业信息化高级培训团赴澳大利亚考察团.澳大利亚农业信息化发展概况[J]. 世界农业,2006(10)33-35
目录
1 绪论 1
1.1 研究意义 1
1.2 国内外研究现状 2
1.2.1 国外研究现状 2
1.2.2 国内研究现状 2
1.3 研究内容 3
1.4 相关技术 3
1.4.1 系统体系结构介绍 3
1.4.2 数据库介绍 3
1.4.3 PHP介绍 3
2 需求分析 4
2.1 可行性分析 4
2.2 系统功能需求分析 4
2.3 活动图 5
2.3.1 用户登录模块 5
2.3.2 用户注册模块 6
2.3.3 用户信息修改模块 7
2.3.4 搜索模块 7
2.3.5 提问模块 8
2.3.6 回答模块 8
2.3.7 我的问题与回答模块 9
2.3.8 评分模块 9
2.3.9 评论模块 10
2.3.10 奖励模块 10
2.3.11 管理员登录模块 11
2.3.12 添加模块 11
2.3.13 删除模块 12
3 系统设计与数据库设计 12
3.1 系统设计 12
3.1.1 类的设计 12
3.1.2 顺序图 14
3.2 数据库设计 15
3.2.1 数据库结构设计 15
3.2.2 数据表设计 17
4 系统实现与测试 19
4.1 开发和部署环境 19
4.2 实现与测试 19
4.2.1 用户登录模块 19
4.2.2 用户注册模块 20
4.2.3 用户信息修改模块 20
4.2.4 搜索模块 21
4.2.5 提问模块 21
4.2.6 回答模块 21
4.2.7 我的问题与回答模块 22
4.2.8 评分模块 22
4.2.9 评论模块 22
4.2.10 奖励模块 23
4.2.11 管理员登录模块 23
4.2.12 添加模块 23
4.2.13 删除模块 23
5 总结与展望 24
5.1 总结 24
5.2 展望 24
参考文献: 24
基于Web的作物种植管理知识库系统的研究与设计
引言
abase model were designed. Lastly, by taking the PHP language and MySQL database technologies, functions of the system were realized, which includes the front-end web site and backstage management system platform. The front-end web’s functions are login, personal information management, search, questions, reply, ratings and reviews, users experience management and so on, while backstage management system platform can do data adding and deleting and some other functions. 1 绪论1.1 研究意义农业作为中国的第一产业,在生产和发展中,利用信息技术促进农业进步有着无限可能[1]。信息技术和涉农领域的有效联合组成了农业信息技术,也就是信息农业,是当代农业的主要应用方向[2]。它的研究依据包括现代信息科学、系统科学和控制论,利用电子科技、通信科技及计算机科技,把现代信息科技的研究结果运用到涉农领域的研究、发展、应用、管理体系中,并进行创新,着重在应用上[3]。运用在涉农领域上的研究成果有信息获取技术、信息传输技术、信息处理技术、信息管理技术、信息服务技术和信息应用技术等各种相关成果[3]。在此背景下,一个作物种植知识库有了研究的必要。作物种植管理知识库是涉及作物种植的各有关方面知识的集合,这个集合收集这些知识并进行储存,具有知识查询、分析、加工和反馈等功能[4]。农户将日常生活中积累的作物种植方面的经验记录到知识库中,交流和共享知识。知识库随着用户的使用而动态变化,有效地管理与应用知识库,实现作物的合理科学种植,促进农业的现代化发展。1.2 国内外研究现状1.2.1 国外研究现状由于网络应用的进步,经过网络实现人类的交流与沟通需求成为必要。很多问答知识网站在近二十年来已经产生,如雅虎公司的提供多领域问答服务的全英文网站Yahoo!Answers、针对中国用户的雅虎知识课堂。Google推出的Google Answers是最早提供的此类服务,然而,因为没有预测到社交网络的前景,不够重视,导致Google Answers已不再接收新的问题。如何将信息技术与农业相结合以减轻工作量、增加农业生产利润、促进农业的发展是世界各国都在研究的课题。英国建立了能将国内及各个国家相关的农业信息资源收集、整理和使用的大型农业类数据库;创建包含国内所有农业计算机网络的体系,用于连接政府农业机构和农民。韩国扶植农林水产省的农林水产信息中心,利用覆盖全国的网络系统,信息资源供给者发表各类涉农信息;同时农业类部门及科研单位研发相关的系统软件,发送和查找数据资源。法国涉农机构建立系统网站用以收录各种农业类网站,定时或不定时发表国家农业政策决定、统筹信息资源和市场情况等[6]。强健的信息系统后台,使法国的信息服务能服务于整个国家,它将各个与农业相关的政府部门、企业、科研单位、信息媒体等组织起来,形成多元一体化的服务和共生共存的形势[7]。澳大利亚涉农数据来源不仅有涉农资源网来供应全国与国外全部的市场状况信息、相关行业资源等[12],还在农业部门的涉农网站上,创建农业信息管理系统和强大的数据库,来获得全国各个农田、各个时间的天气情况和农田情况[13]。美国涉农机构利用卫星定位系统,可以检测国内土地的元素含量,收割机工作的过程中,实时获得计算机计算到的每种元素含量。1.2.2 国内研究现状信息技术在我国涉农领域中的研究运用相比于发达国家比较迟,我国在农业自然资源数据处理、农业信息管理与推广服务、农业规划与决策、农业生产过程实时处理与控制、人工智能专家系统开发与应用、信息网络研究与实现等领域已经得到了一定的成果[1]。绝大多数的农业信息技术研究者是涉农领域的科研部门,其次是农业类企业。凭借自身的条件和技术,各种层次、各种技术需要的信息系统也由他们研发出来。在农业信息技术的科研运用上,首先是农业部投资,由各农业科研单位研究相关的农业信息科技并实现推广应用;其次是由企业自己投资,利用本身的科研部门或委托相关研究院所按照所需的市场需求研发,从而推广使用。大量规范化的信息资源和网络基础设施是信息科技在农业应用上的根本。我国涉农领域的数据资源包括由涉农部门领导的农业类资源网站,由科研院所研发的农业教育信息网站及与农业相关企业与机构制作的信息资源网站[6]。按照自主发展需求,通过研发相关的农业类资源网、数据库系统,在相当范围内实现农业信息科技化发展对数据资源的需要。目前我国农业硬件设施缺乏;信息资源储存量不足,且没有实现规范、标准地存储资源;农业类的网站缺少研发力度、种类单薄、推广力度不足、缺乏大量使用人员。因此,在农业领域,针对农民使用的农业类知识库相对缺乏,应用较为广泛的也只是中国农业信息网、农林网等农业类网站。1.3 研究内容根据作物种植管理知识库的特点,设计一个B/S架构作物种植管理知识库体系大致分为以下三个方面 (1)前端的设计与实现基于Web的作物种植管理知识库系统的前端设计包括①用户登录、注册、②个人信息编辑、我的问题与回答管理、用户经验管理。③首页的热点推荐。④问答模块的知识搜索、提问、回答、评分与评论功能,用以快捷的浏览与使用知识库中的各类问题和答复信息。(2)后台管理系统的设计与实现该系统用PHP语言设计一个后台管理系统网站以达到控制与管理前端及数据库的目的。管理人员可以使用该系统实现用户管理、首页管理、知识管理等功能,包括发布相关信息,增加、删除知识库信息等。(3)数据库的设计与实现该系统需要相应的数据库支持。该数据库存储用户在前端录入的用户信息、问题、知识等信息和管理员在后台管理系统中录入的各种信息。数据库用来存储各种知识和前端与后台操作产生的数据信息,并与前端及后台管理系统相连接,实现前端与后台的同步。1.4 相关技术1.4.1 系统体系结构介绍B/S结构即浏览器和服务器结构,它由C/S结构改进而来。对于这种结构,浏览器就是用户工作界面,前端实现少许的功能,服务器完成大部分的功能,组成三层3-tier结构。B/S结构是网络流行下一种结构体系,浏览器是其最主要客户端使用工具。这种模式下的客户端成为唯一,并且由服务器端完成系统的核心功能,减轻系统研发、维护及运营的成本。用户计算机只需安装一个浏览器,比如Google或IE等,服务器端需安装数据库,像Oracle、MySQL或?SQL Server等。浏览器经由Web Server同数据库实行信息交互,客户端电脑负载得以减轻,且系统总成本也有下降。1.4.2 数据库介绍MySQL作为使用最广泛的关系型数据库管理系统之一,不同的表存储不同的数据信息资源,从而提升执行速率和灵敏性。MySQL因为其包含很多不同的数据库存储引擎可满足跨平台和各类语言开发的需要。作为操作数据库的最常用规范化语言SQL,它是MySQL所使用的语言。MySQL 十分适合于 Web应用方面,多半用来创建小型和中型网站的数据库,这是由于其具有占用空间小、执行速率高、开发成本低并且源码开放的特点。并且因为其社区版的强大功能,与?PHP?和?Apache?组合可搭建良好的开发环境。1.4.3 PHP介绍PHP作为一种通用开源脚本语言,应用十分普遍,在Web开发领域中尤为突出。它集合了C语言、Java和Perl以及PHP自创的语法,具有C语言、Java和Perl的特点,不仅便于程序开发者的开发学习,而且使用非常简单。由于PHP采用编码与HTML语言相整合的方式运行,而其他编程语言则全部改为由HTML标记的CGI,所以PHP在动态网页运行速度上比CGI或者Perl快。PHP具有十分强大的功能,它能实现全部的CGI的功能。它可以应用于绝大多数普遍使用的数据库以及操作系统,并且可以用C、C++对程序进行扩展。2 需求分析2.1 可行性分析本课题采用PHP、MySQL与Apache组成的开发环境进行开发。它是目前最为成熟、稳定、安全的企业级网站开发技术,多运用在超大型网站的开发。它们开源、免费、功能强大、成本低,结构成熟、功能稳定、语法简明,利于系统的快速开发。PHP的安全性能十分出色,采用加密技术处理用户账号和密码,以保证帐号信息的安全。还使用多层加密技术,确保重要数据的安全。由于其可跨平台运行,大大减少了信息及系统搬迁的问题。现代农业的飞速进步,使得人们对农业信息的需求越来越高,创建一个作物种植知识库对于大家正确合理地种植作物很是重要。当今社会,网络技术飞速发展,将作物种植知识库用网站的形式表现出来,能极大的方便农民使用知识库信息,有效地管理与应用知识库,实现作物的合理科学种植,促进农业的现代化发展。基于Web 的作物种植管理知识库为农业种植过程提供科学有效的指导,为农业发展开辟了更加广阔的空间,加快传统农业成长为科技农业,提升了生产效率,实现现代农业建设,对农业进步有者深远影响。2.2 系统功能需求分析本系统由前端作物种植管理知识库网站和后台管理系统平台组成。前端的基本功能为用户对知识库系统的使用,具体可以分为以下几个方面①用户登录、注册与编辑个人信息,管理我的问题和答案②通过搜索、提问与回答实现知识库信息的交流与共享,用户具有评分与评论答案的功能③用户经验管理,即系统对回答者进行固定经验奖励,提问者对回答者进行经验奖励。用例图如图1所示。/图1 用户用例图后台管理网站应满足管理员对知识库与前端的控制及管理需求,包括管理员登录,用户、问题、答案、评论、致富经、tips与农业资讯等模块的管理,管理员可进行添加和删除操作。用例图如图2所示。/图2 管理员用例图2.3 活动图2.3.1 用户登录模块/图3 用户登录模块活动图场景名称用户登录参与者已注册用户前置条件打开登录页面。基本事件流(1)用户输入已注册的用户名、密码及验证码,填写完整后点击登录按钮;(2)系统验证用户输入验证码是否正确,错误则输出“验证码错误”,正确则与数据库中用户信息校验,成功则登录成功,打开前端主页面,否则输出“登录失败”。后置条件登录成功。2.3.2 用户注册模块/图4 用户注册模块活动图场景名称用户注册参与者未注册用户前置条件打开注册页面。基本事件流(1)用户输入用户名、密码、昵称、性别、email及验证码,填写完整后点击注册按钮;(2)系统验证验证码是否正确,错误则输出“验证码错误”,正确验证用户名是否存在,存在则显示“用户名已存在”,否则注册成功并将用户信息写入数据库。后置条件注册成功。2.3.3 用户信息修改模块/图5 用户信息设置模块活动图场景名称用户信息修改参与者已注册用户前置条件打开修改页面。基本事件流(1)用户输入想改变的信息,填写完后点击提交个人设置按钮;(2)系统对数据库中的相关信息进行更新操作,成功则输出“设置成功”且返回主页。后置条件修改成功。2.3.4 搜索模块/图6 搜索模块活动图场景名称用户搜索参与者已注册用户、未注册用户前置条件打开搜索页面。基本事件流(1)用户选择类别并获取关键字,填写完后点击搜索按钮;(2)系统判断搜索结果是否为空,为空则输出“对不起,为搜索到结果”,否则循环输出查询结果。后置条件搜索成功。2.3.5 提问模块/图7 提问模块活动图场景名称用户提问参与者已注册用户前置条件打开提问页面。基本事件流(1)用户问题信息,填写完后点击提交按钮;(2)系统将所填信息插入对应的数据库表中。后置条件提问成功。2.3.6 回答模块/图8 回答模块活动图场景名称用户回答参与者已注册用户前置条件打开回答页面。基本事件流(1)用户输入答案,填写完后点击提交按钮;(2)系统将所填答案信息写入数据库。后置条件回答成功。2.3.7 我的问题与回答模块/图9 我的问题与回答模块活动图场景名称我的问题与回答管理参与者已注册用户前置条件打开我的问题页面或我的回答页面。基本事件流(1)用户选择其中一个问题或答案,点击删除;(2)当删除问题时,系统删除数据库中对应的问题记录,相关联的答案信息、评论信息和分数信息也被删除,并显示“删除成功”。当删除答案时,系统删除数据库中对应的答案记录,相关联的评论信息和分数信息也被删除,并显示“删除成功”。后置条件删除成功。2.3.8 评分模块/图10 评分模块活动图场景名称用户评分参与者已注册用户前置条件打开评分页面。基本事件流(1)用户输入分值,点击确定按钮;(2)系统将分值写进数据库并答案表中的分值。后置条件评分成功。2.3.9 评论模块/图11 评论模块活动图场景名称用户评论参与者已注册用户前置条件打开评论页面。基本事件流(1)用户输入评论信息,点击确定按钮;(2)系统将评论写进数据库。后置条件评论成功。2.3.10 奖励模块/图12 奖励模块活动图场景名称用户奖励参与者已注册用户前置条件打开奖励页面。基本事件流(1)用户输入奖励经验值,点击确定按钮;(2)系统判断用户经验值是否小于奖励值,小于则输出“经验值不足请努力赚取或降低奖励值”,否则修改数据库中用户及回答者的经验值,输出“答谢成功”。后置条件奖励成功。2.3.11 管理员登录模块/图13 管理员登录模块活动图场景名称管理员登录参与者已注册管理员前置条件打开登录页面。基本事件流(1)管理员输入名称、密码及验证码,点击确定按钮。(2)系统判断验证码是否相符,不符就输出“验证码错误”,反之则与数据库相应信息进行比较,从而判断是否登录失败,失败就提示“登录失败”,否则打开新网站。后置条件登录成功。2.3.12 添加模块/图14 添加模块活动图场景名称管理员添加信息参与者已注册管理员前置条件打开添加页面。基本事件流(1)管理员输入想增加的数据信息,点击确定按钮;(2)系统把所输入信息写入数据库。后置条件添加成功。2.3.13 删除模块/图15 管理员登录模块活动图场景名称管理员删除信息参与者已注册管理员前置条件打开后台页面。基本事件流(1)管理员单击想删除信息;(2)系统删除数据库中对应记录并显示“删除成功”。其中,当删除问题时,系统也将相关联的答案信息、评论信息和分数信息删除;当删除答案时,系统将相关联的评论信息和分数信息删除。后置条件删除成功。3 系统设计与数据库设计3.1 系统设计3.1.1 类的设计根据本课题的需求,设计用户类和数据库类如下(1)User用户类,用来实现用户及管理员的操作/图17 User类图下表是对数据库类的属性及方法的解释表2 User类的属性及方法说明表属性及方法定义属性及方法说明public function __construct()数据库连接public function CheckUserNameExit()检测用户名是否存在public function Register()用户注册public function Login()用户登录public function Search()搜索public function Search3()搜索问题public function Ask()用户提问public function AdminLogin()管理员登录public function Answer()用户回答public function Comment()用户评论public function Addnews()添加农业资讯public function Addrich()添加致富经public function Addtips()添加tipspublic function Score()用户评分(1)DBSQL数据库类,用来对数据库进行操作/图16 DBSQL类图下表是对数据库类的属性及方法的解释表1 DBSQL类的属性及方法说明表属性及方法定义属性及方法说明private $CONN = ""数据库连接变量public function _construct()初始化构造函数,连接数据库public function select()数据查询public function insert()数据插入public function update()数据更新public function delete()数据删除public function begintransaction()定义事务public function rollback()回滚public function commit()提交执行public function insertData()向指定表中插入数据public function updateData()更新指定表中指定记录public function Count()统计表中记录数public function Avg()求平均值3.1.2 顺序图根据系统需求,设计一个前端作物种植管理知识库系统网站和后台管理系统网站。(1)作物种植管理知识库系统的前端,从用户登录和注册开始。用户登录后可搜索、提问、回答、修改个人信息、删除我的问题与答案、评分与评价答案,并与数据库中的数据信息交互。功能流程用顺序图展示如图18。/图18 前端系统顺序图(2)作物种植管理知识库系统的后端管理平台在管理员登录后,通过与数据库的连接和操作实现对知识库和前端进行管理,包括用户、问题、答案、评论、农业资讯、致富经及tips模块管理,具有添加和删除功能。后台系统顺序图如图19所示。/图19 后台系统顺序图3.2 数据库设计3.2.1 数据库结构设计本系统的数据库设计中,一共设计管理员、用户、作物、技巧、问题、答案、农业资讯、致富经、评分、评价10张表。各个实体的E-R图如下管理员实体E-R图/图20 管理员实体及属性用户实体E-R图/图21 用户实体及属性作物实体E-R图/图22 作物实体及属性技巧实体E-R图/图23 tips实体及属性问题实体E-R图/图24 问题实体及属性答案实体E-R图/图25 答案实体及属性农业资讯实体E-R图/图26 农业资讯实体及属性致富经实体E-R图/图27 致富经实体及属性评分实体E-R图/图28 评分实体及属性评价实体E-R图/图29 评价实体及属性3.2.2 数据表设计表3 bs_admin(管理员信息表)序号字段别名数据类型数据长度码是否可空1adminname管理员名称char20PK否2adminpw密码char20否是表4 bs_user(用户信息表)序号字段别名数据类型数据长度码是否可空1username用户名char20PK否2pw密码char20否是3nickname昵称char20否是4sex性别char10否是5email邮箱char50否是6experience经验值int10否是表5 bs_crop(作物信息表)序号字段别名数据类型数据长度码是否可空1cropid编号char10PK否2cropname名称char20否是3kind种类char20否是4keyword关键字char20否是表6 bs_tips(技巧信息表)序号字段别名数据类型数据长度码是否可空1tipsid编号int10PK否2tipsname标题char50否是3kind种类char20否是4keyword关键字char20否是5tipsurlURLchar50否是表7 bs_question(问题信息表)序号字段别名数据类型数据长度码是否可空1q_id编号char10PK否2keyword关键字char20否是3kind种类char20否是4q_name标题char50否是5username提问者char20否是表8 bs_answers(答案信息表)序号字段别名数据类型数据长度码是否可空1a_id答案编号char10PK否2a_content内容text否是3q_id问题编号char10否是4a_username回答者char20否是5avgscore分数float10否是6t_score奖励int10否是表9 bs_news(农业资讯信息表)序号字段别名数据类型数据长度码是否可空1newsid编号int20PK否2newsname标题char100否是3newsurlURLchar50否是表10 bs_rich(致富经信息表)序号字段别名数据类型数据长度码是否可空1richid编号int10PK否2richname标题char100否是3newsurlURLchar50否是表11 bs_score(评分信息表)序号字段别名数据类型数据长度码是否可空1s_id编号char10PK否2q_id问题编号char10否是3a_id答案编号char10否是4score分数float10否是5username评分者char20否是表12 bs_comment(评价信息表)序号字段别名数据类型数据长度码是否可空1c_id编号char10PK否2a_id答案编号char10否是3content内容text否是4c_username评价者char20否是4 系统实现与测试4.1 开发和部署环境本系统使用PHP语言开发。在Windows操作系统下,开发环境由Apache、MySQL及PHP软件和工具安装配置,由于PHP是从Linux发展而来的一种语言,不但在开发环境上保留着Linux的特点,即开发环境所需的Apache是Linux下的Web服务,地位就像Windows下的IIS;同时MySQL是Linux系统中绑定的数据库,在环境的搭建上也具有Linux的特性。除了正常的搭建操作外,还需要专门的设置各自的配置文件(.ini、.conf)[9]。必须要说明的是,80为IIS服务器与迅雷的默认端口号,和Apache的默认端口号相同,所以在运行网页时会发生冲突。解决办法是关闭迅雷软件同时改变IIS或Apache中的一个端口号,或者停止IIS服务器的服务[8]。4.2 实现与测试4.2.1 用户登录模块用户进入系统后将“q12”、“123”和“5dw7”输入对应位置,点击提交,若用户名、密码、验证码错误会提示错误信息,无错误则进入主页面。测试如图30所示。/图30 用户登录模块测试图4.2.2 用户注册模块用户进入注册界面后,输入用户名“q1”、密码“123”、昵称“小小”、性别“女”、邮箱“123@qq.com”、验证码“dksp”后,点击注册,若用户名不存在则注册成功,后台管理平台的用户管理模块增加相应的用户信息,数据库中的用户表应增加相应的记录。测试如图31所示。/图31 用户注册模块测试图4.2.3 用户信息修改模块用户进入修改界面后,输入要昵称“小小啊”,点击提交个人设置,若设置成功,数据库中更改相应的用户信息,前端与后台也随之改变。测试如图32所示。/图32 用户信息修改测试图4.2.4 搜索模块用户在选择栏选择“粮食作物”并在文本框中输入想搜索信息的关键字“玉米”,单击搜索,得到相应的查询信息。测试如图33和34所示。/图33 搜索模块测试图1/图34 搜索模块测试图24.2.5 提问模块用户进入提问界面后,输入关键字“小麦”和内容“小麦种植技巧有哪些”后,点击提交,后台管理平台的问题管理模块增加相应的问题信息,数据库的问题表应增加相应的记录,前端与后台也随之改变。测试如图35所示。/图35 提问模块测试图4.2.6 回答模块输入想回答的问题的关键字“玉米”后,点击回答,得到相应问题信息,单击“玉米怎么种植”进入该问题的回答界面,输入答案后,单击确定,后台管理平台的答案管理模块增加相应的答案信息,数据库的答案表应增加相应的记录。测试如图36、37和38所示。/图36 回答模块测试图1/图37 回答模块测试图2/图38 回答模块测试图34.2.7 我的问题与回答模块用单击我的回答或回答,选择要删除的问题或回答,单击删除,数据库中对应记录删除成功。当删除问题时,相关联的答案信息、评论信息和分数信息也被删除;当删除答案时,相关联的答案信息、评论信息和分数信息也被删除。前端与后台随之改变。测试如图39、40和41所示。/图39 我的问题与回答模块测试图/图40 我的问题模块测试图/图41 我的回答模块测试图4.2.8 评分模块用户进入评分界面后,输入评分“4”,点击确定,则数据库中相应记录的值被修改,前端与后台也随之改变。测试如图42所示。/图42 评分模块测试图4.2.9 评论模块用户进入评论界面后,输入评分“哎呀”,点击确定,则数据库中增加相应的记录,前端与后台也随之改变。测试如图43所示。/图43 评论模块测试图4.2.10 奖励模块用户打开答谢页面后,输入“2”,单击确定,则数据库中相应的经验值随之改变,前端与后台也随之改变。测试如图44所示。/图44 奖励模块4.2.11 管理员登录模块管理员进入登录界面后,输入名称“admin”、密码“123”和验证码“ttup”后,点击提交,若登录成功进入后台管理系统界面,否则提示错误信息。测试如图45所示。/图45 管理员登录模块测试图4.2.12 添加模块管理员点击添加,输入编号“7”、标题“【致富经】大棚种植”和URL“newspage/rich5.php”,点击确定,后台管理平台的相应管理模块增加所加信息,数据库的对应表应增加相应的记录,前端网页同步增加相应信息。测试如图46所示。/图46 添加模块测试图4.2.13 删除模块管理员点击删除,则该行数据被删除,数据库中对应记录被删除。当删除问题时相关联的答案信息、评论信息和分数信息也被删除,当删除答案时,相关联的答案信息、评论信息和分数信息也被删除。前端随之改变。测试如图47所示。/图47 删除模块测试图5 总结与展望5.1 总结本课题研究与实现了一个B/S架构的作物种植管理知识库系统,包括完成一个方便人们应用作物种植管理知识库的前端网站、管理数据库和前端的后台管理系统平台以及存储数据信息的数据库。该系统实现了作物种植知识的管理、交流、共享与使用。通过对本次课题的研究与设计,我受到了很多启发。首先,丰富了知识面,对B/S架构体系、知识库管理和网站开发有了一定的了解;学习了PHP的相关知识,掌握了用PHP语言设计网站的技术,并且巩固了数据库的基本知识与应用,包括数据库连接、数据操作等。其次深刻的认识到了需求分析的重要性,它全程把握了整个设计了基本方向,一个好的需求分析可以避免走弯路。然后,掌握了理论知识,不代表实际的设计与实现会顺利进行,但实际的开发一定需要充实的理论基础。最后,代码的编写不是一蹴而就的,在编写代码的过程中,将功能模块化处理,每当完成一个功能时要先调试运行一下,避免后续出现错误而修改麻烦;在完成课题的道路上,会遇到很多问题,这个时候要善于利用手上的资源,细心寻求解决办法,这个过程或许枯燥繁琐,但是不要气馁,只要努力下去总会解决,这时将会获得无比的满足感。5.2 展望推进新时代农村的建设就要促进信息科技农业。用现代科学技术改造农业,提升农业信息化水平;大力构建国家农业科技创新体系,提高自主创新能力,促进科学研究成果在农村发展、运用和普及。随着科技农业的发展,基于Web的作物种植管理知识库具有可观的前景。它为农业生产提供科学有效的指导,为农业发展开辟了更加广阔的空间,促进了农业信息化建设,提高了生产效益,对农业的发展具有深远的影响。简便的操作、强大而完善的功能是该系统值得思考的地方。但是由于时间和精力所限,本系统的界面比较简单,布局不够美化,一些功能还较简单,在未来,有更深入的研究与开发,不断完善与美化的需要。参考文献[1] 曾小红,王强. 国内外农业信息技术发展概况[J]. 中国农学通报,2011,27(8)469-471[2] 张黎. 对农业信息技术创新的思考[J]. 安徽农业科学,2006,34(8)1731-1732[3] 李道亮,张立伟. 农业信息技术与现代农业发展[J]. 中国农村科技,2007(12):30-31[4] 许诘. 试论知识库与知识库管理系统的关系[J]. 武汉工业学院学报,2004,23(4)51-53[5] 沈瑛. 国内外农业信息化发展趋势[J]. 世界农业,2002(1)43-45[6] 王强,曾小红. 国内外农业数据资源和网络发展概况[J]. 世界农业,2008(11)61-64[7] 熊双林. 国内外农业信息技术发展应用现状简介[J]. 农业网络信息,2004(9)4-7[8] 软件开发技术联盟. PHP+MySQL开发实战[M]. 北京清华大学出版社,20133-14[9] Bonner D. Enter the chief knowledge officer[J]. Training&Development,2005,54(2)106-107[10]WARREN P. Knowledge management and the semantic web:from scenario to technology[J]. IEEE Intelligent Systems,2006,20(1)53-59[11] 卢丽娜. 国外农业信息化发展现状及特点[J]. 中国农场小康科技,2007(4)23-28[12] 农业信息化高级培训团赴澳大利亚考察团.澳大利亚农业信息化发展概况[J]. 世界农业,2006(10)33-35
目录
1 绪论 1
1.1 研究意义 1
1.2 国内外研究现状 2
1.2.1 国外研究现状 2
1.2.2 国内研究现状 2
1.3 研究内容 3
1.4 相关技术 3
1.4.1 系统体系结构介绍 3
1.4.2 数据库介绍 3
1.4.3 PHP介绍 3
2 需求分析 4
2.1 可行性分析 4
2.2 系统功能需求分析 4
2.3 活动图 5
2.3.1 用户登录模块 5
2.3.2 用户注册模块 6
2.3.3 用户信息修改模块 7
2.3.4 搜索模块 7
2.3.5 提问模块 8
2.3.6 回答模块 8
2.3.7 我的问题与回答模块 9
2.3.8 评分模块 9
2.3.9 评论模块 10
2.3.10 奖励模块 10
2.3.11 管理员登录模块 11
2.3.12 添加模块 11
2.3.13 删除模块 12
3 系统设计与数据库设计 12
3.1 系统设计 12
3.1.1 类的设计 12
3.1.2 顺序图 14
3.2 数据库设计 15
3.2.1 数据库结构设计 15
3.2.2 数据表设计 17
4 系统实现与测试 19
4.1 开发和部署环境 19
4.2 实现与测试 19
4.2.1 用户登录模块 19
4.2.2 用户注册模块 20
4.2.3 用户信息修改模块 20
4.2.4 搜索模块 21
4.2.5 提问模块 21
4.2.6 回答模块 21
4.2.7 我的问题与回答模块 22
4.2.8 评分模块 22
4.2.9 评论模块 22
4.2.10 奖励模块 23
4.2.11 管理员登录模块 23
4.2.12 添加模块 23
4.2.13 删除模块 23
5 总结与展望 24
5.1 总结 24
5.2 展望 24
参考文献: 24
基于Web的作物种植管理知识库系统的研究与设计
引言
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/1742.html