《学士学位论文—-农业管理系统设计.doc》由会员分享,可在线阅读,更多相关《学士学位论文—-农业管理系统设计.doc(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、农业管理系统内容摘要:随着Internet的日益普及和电脑技术的不断发展,网上开办网站来介绍一些专业知识,顺便出售一些相关成品已经迅速成为一种非常活跃的商务模式。本系统开发中涉及了ASP.NET技术以及分析了基于ASP.NET建立网上农业网站的技术手段,深入探讨了如何利用ADO技术实现与SqlServer2005数据库连接的方法。本系统采用MVC的构架开发,系统的视图层与控制层主要通过ASP.NET的控件实现;DAO用于持久层的实现,包括数据库访问层和对象模型的设计。系统中一些模块使用了双重密码校验和验证码技术,进一步提升了系统的完全系数。使它能即使在复杂的网络环境也能正常运行。关键词:ASP
2、.NET MVC DAO Agricultural management systemAbstract: With the continuous development of computer technology and the increasing popularity of the Internet, the Internet to set up a website to introduce some professional knowledge, by the way the sale of some related products has quickly become a very
3、 active business model. This paper introduces ASP.NET technology and analysis technology building online agriculture website based on ASP.NET, discusses how to use ADO technology to realize with SqlServer2005 database connection method.This system adopts the framework of MVC development, the view la
4、yer and control layer mainly by the ASP.NET control; DAO is used to realize the persistence layer, including the design of database access layer and object model.Double password checking and verification code technology some module using the system, and further improve the complete coefficient syste
5、m. So that it can run even in complex network environment.Keywords: ASP.NET MVC DAO目 录前言11 可行性分析11.1技术可行性分析21.1.2 C/S与B/S模式31.2 经济可行性分析51.3 系统拟采用的软、硬件环境52 需求分析62.1确定系统执行者62.2确定用例62.3网上农业网站用例描述63 系统概要设计83.1 系统功能构成83.2 用户登录系统流程图83.3程序流程图94 详细设计114.1系统首页114.2登录界面设计134.3 用户注册界面设计144.4新闻界面设计164.5 添加农产品界面
6、设计174.6 产品购买评价205 系统测试215.1单元测试215.1.1确定环形复杂性度量V(G)215.1.2确定基本路径集合215.1.3测试用例设计215.2功能测试225.3集成测试226 总结23参考文献24农业管理系统前言据有关资料,截止2009年9月,中国农业信息网站约三万多个,在量上超过了法国、加拿大等发达国家,名列世界前l0名;日均页面浏览量已达120多万次,内容及形式较以前也有很大提高。而在1998年,我国农业网站数量不足200个。从总体上看,农业网站正在蓬勃发展,但是农业网站建设仍匮乏,与增速迅猛的农村网民队伍不成正比。据统计,截至2009年12月,中国网站总数达32
7、3万多个,其中农村、农业类网站只有3万余个,占全国网站总数不足1%。与此相对比,农村网民队伍却增速迅猛。中国互联网信息中心(CNNIC)首次农村互联网调查报告显示,至2009年12月,农村网民规模达到1.0681亿,占中国3.84亿整体网民的27.8%1。也就是说,接近网民总数近1/3的农村网民,只拥有不足1%的农村农业类网站。海南省万宁市山地广阔,土地肥沃,是中国不可多得的热带作物宜种区,高效农业开发区。最近几年,热带作物如橡胶、胡椒、菠萝、椰子、槟榔、咖啡、可可等都得到了很快的发展。近几年来,成片综合开发种植的胡椒、菠萝、槟榔、咖啡、芒果、龙眼、荔枝、香蕉等热带作物65万亩陆续进入收获期;
8、现尚有50多万亩荒山有待开发。在拥有如此有利的条件下,设计并实现一个农村农业网站,是一个具有现实意义的课题。1 可行性分析在系统的开发前期对系统进行可行性分析是十分必要的一个环节,这对于保证资源的合理使用,避免浪费是十分必要的,也是项目一旦开始以后能顺利进行的必要保证。信息系统的建设是一项投资大,时间长的复杂工程,可行性研究更为必要,也更复杂,更困难。“可行性”是指在当前情况下,企业研制这个信息系统是否有必要,是否具备必要的条件。可行性的含义不仅包括可能性,还包括必要性,合理性。开发任何一个急于计算机的系统都会受到时间和资源的限制,因此开发方在接受客户的项目之前,必须按照客户可能提供的具体条件
9、进行可行性研究。其主要任务不是研究如何解决问题,而是要用最小的代价在最短的时间内确定该项目时候值得去解决,是否存在可行的解决方案。对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。通过长时间的观察与实践,我认为网上农业网站的可行性分析如下:1.1 技术可行性分析技术上的可行性分析主要分析现有技术条件能否顺利完成开发工作,硬件、软件配置能否满足开发者的需要,各类技术人员的数量,水平,来源等。网上农业网站的工作主要是在消费者和消费者之间架起一座桥梁,使其可以查询信息和处理信息。这一特点与计算机特点完全相同,通过网络Internet技术,发挥计算机的信息传输
10、速度快、准确度高的优势。计算机硬件和软件技术的飞速发展,为系统的建设提供了技术条件。鉴于本人的专业技能不高、实战经验少、知识面不宽和开发时间短等方面情况的分析,软件完成在技术上确实有很大的难度。但是,在“学校”这个良好的开发环境中,我们可以很快的学到新的知识、可以得到多方面的帮助,可以产生更多的灵感,所以,从开发人员方面讲在技术上是有可行性的。1.1.1 Dreamweaver介绍Dreamweaver是美国MACROMEDIA公司开发的集网页制作和管理网站于一身的所见即所得网页编辑器,它是第一套针对专业网页设计师特别发展的视觉化网页开发工具,利用它可以轻而易举地制作出跨越平台限制和跨越浏览器
11、限制的充满动感的网页。Dreamweaver的特色:(1)最佳的制作效率Dreamweaver可以用最快速的方式将Fireworks,FreeHand,或Photoshop等档案移至网页上。 使用检色吸管工具选择萤幕上的颜色可设定最接近的网页安全色。对于选单,快捷键与格式控制,都只要一个简单步骤便可完成。Dreamweaver能与您喜爱的设计工具,如Playback ,Flash,Shockwave和外挂模组等搭配,不需离开Dreamweaver便可完成,整体运用流程自然顺畅。 除此之外,只要单击便可使Dreamweaver自动开启Firework或Photoshop来进行编辑与设定图档的最佳
12、化。(2)网站管理使用网站地图可以快速制作网站雏形,设计,更新和重组网页。改变网页位置或档案名称,Dreamweaver会自动更新所有连结。使用支持文字,HTML码,HTML属性标签和一般语法的搜寻及置换功能使得复杂的网站更新变得迅速又简单。(3)无可比拟的控制能力Dreamweaver是唯一提供Roundtrip HTML、视觉化编辑与原始码编辑同步的设计工具。它包含Home Site和BBEdit等主流文字编辑器。帧(frames)和表格的制作速度快的令您无法想象。 进阶表格编辑功能使您简单的选择单格、行、栏或作未连续之选取。甚至可以排序或格式化表格群组,Dreamweaver支持精准定位
13、,利用可轻易转换成表格的图层以拖拉置放的方式进行版面配置。(4)全方位的呈现利用Dreamweaver设计的网页,可以全方位的呈现在任何平台的热门浏览器上。对于cascading style sheets的动态HTML支持和鼠标换图效果,声音和动画的DHTML效果资料库可在Netscape和Microsoft浏览器上执行。使用不同浏览器检示功能,Dreamweaver可以告知您在不同浏览器上执行的成效如何。当有新的浏览器上市时,只要从Dreamweaver的网站在下载它的描述档,便可得知详尽的成效报告。1.1.2 C/S与B/S模式MIS系统平台模式的选择是系统设计的主要问题。MIS系统平台模
14、式大体上分为四种:主机终端模式、文件服务器模式、客户机/服务器模式(Client/Server,简称C/S)和Web浏览器/服务器模式 (Browser/Server,简称B/S)。主机终端模式由于硬件选择有限,硬件投资得不到保证,已被逐步淘汰。而文件服务器模式只适用小规模的局域网,对于用户多、数据量大的情况就会产生网络瓶颈,特别是在互联网上不能满足用户要求。因此,现代企业MIS系统平台模式应主要考虑C/S模式和B/S模式。如今流行的数据库模式主要是双层模式和三层模式,其代表分别是C/S和B/S。C/S型数据库程序由服务器和客户机两个部分组成,因此被称为双层(two-tiered)模型。双层模
15、型在金融、电力、通信等领域被广泛使用,极大地推动了网络数据库的发展。与文件型数据库(单层模型single-tiered)不同的是,C/S型数据库应用程序由两个部分组成:服务器和客户机。服务器指数据库管理系统(Database Manage System,DBMS),用于描述、管理和维护数据库的程序系统,是数据库系统核心组成部分,对数据库进行统一的管理和控制。客户机则将用户的需求送交到服务器,再从服务器返回数据给用户。C/S型数据库非常适合于网络应用,可以同时被多个用户所访问,并赋予不同的用户以不同的安全权限。C/S型数据库支持的数据量一般比文件型数据库大得多,还支持分布式的数据库(即同一数据库
16、的数据库用于多台服务器上)。同时,C/S型数据库一般都能完善地支持SQL语言(所以也被称作SQL数据库)。这些特性决定了C/S型数据库适合于高端应用。随着技术的不断更新,C/S型的结构也开始逐渐被多层(Multi-Tiered)数据库模型所取代。在这种情况下,出现了三层模型,应用程序中的数据模块部分被分离出来,转移到一个单独的服务器上,成为独立的一层。简言之,三层模型由以下三个层次组成:客户机-应用程序服务器-数据库服务器。用户的请求首先通过客户机向应用程序服务器发出,应用程序服务器再向数据库服务器发出具体的数据访问命令(一般是SQL),数据库服务器返回的数据被应用程序服务器重新组织之后返回给
17、客户机。 B/S(Brower/Server浏览器/服务器)模型无疑是当前最为流行的多层数据库模型之一。用户通过浏览器发出某个请求,通过应用程序服务器-数据库服务器之间一系列复杂的操作之后,返回相应的Html页面给浏览器。 其实这就是Internet上的WEB数据库,当然它也可以用于局域网。它实际上可以说是一种最常见的多层模型。鉴于B/S模型是当前最为流行的多层数据库模型之一,我选择B/S模式来设计开发整个系统。由于考虑到B/S结构易于部署等优点与超市在线交易系统的要求相符。所以我选择了B/S结构。1.1.3 ASP.NET与JSP技术ASP.NET与JSP技术都是目前网上最流行的在服务器端运
18、行的脚本技术,jsp能用JavaBeans技术封装,达到商业逻辑的目的,ASP对应之的是COM组件,因此两者都能用于开发商业逻辑,PHP则更像于一个纯脚本,仅适合于普通的网站开发,而不能用作商业逻辑而被冠以“Person Home Page”的名称,这是最贴切不过的了。ASP.NET 与 JSP 技术非常相似。两者都提供在 HTML 代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。在 ASP 或 ASP.NET 环境下, HTML 代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的 HTML 页面只依赖于 Web 服务器,而 ASP 和 ASP.NET 页面需要附加
19、的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到 HTML 代码中,然后一起发送给浏览器。 ASP 和 ASP.NET 都是面向 Web 服务器的技术,客户端浏览器不需要任何附加的软件支持。ASP 的编程语言是 VBScript 之类的脚本语言, ASP.NET 使用的是 Java ,这是两者最明显的区别。此外, ASP 与 ASP.NET 还有一个更为本质的区别:两种语言引擎用完全不同的方式处理页面中嵌入的程序代码。在 ASP 下,VBScript 代码被 ASP 引擎解释执行;在 ASP.NET 下,代码被编译成 Servlet 并由 Java 虚拟机执行,这种编译操作仅在对
20、ASP.NET 页面的第一次请求时发生。1.1.4 SqlServer2005目前,市面上的数据库产品多种多样,从大型企业的解决方案到中小企业或个人用户的小型应用系统,可以满足用户的多样化需求。这里,我选择的SqlServer2005数据库是众多的关系型数据库产品中的一个,相比较其它系统而言,SqlServer2005数据库可以称得上是目前运行速度最快的SQL语言数据库。除了具有许多其它数据库所不具备的功能和选择之外,SqlServer2005数据库是一种完全免费的产品,用户可以直接从网上下载数据库,用于个人或商业用途,而不必支付任何费用。总体来说,SqlServer2005数据库具有以下主要
21、特点: 同时访问数据库的用户数量不受限制; 可以保存超过50,000,000条记录; 是目前市场上现有产品中运行速度最快的数据库系统; 用户权限设置简单、有效。 如今,包括Siemens和Silicon Graphics这样的国际知名公司也开始把SqlServer2005作为其数据库管理系统,这就更加证明了SqlServer2005数据库的优越性能和广阔的市场发展前景。1.2 经济可行性分析主要是对项目的经济效益进行评价,本系统开发经费对于学校在经济上是可以接受的。开发工具方面,我选择是Dreamweaver MX平台,编程语言选择的是ASP.NET语言。在数据库方面,我考虑经济因素选择了Sq
22、lServer2005。基于上述工具的应用开发环境为整个系统的开发节省了大量投资。没有一般项目开发的基建投资,没有工作地点的费用,常用设备是开发人员自带的不用支付。不需要购买新的硬件,安装系统及软件也无须任何费用。经常性的费用支出包括资料费、上网费等。虽然要使用很多的书籍,但可以去学校的图书馆租用。1.3 系统拟采用的软、硬件环境硬件环境网络框架体系结构模型采用浏览器/服务器模型。根据现有的条件,拟定该项目终端机采用PC机一台(终端机和服务器为同一台计算机)。PC机的基本要求如下:CPU:Inter celeron 2.0G Hz内存:1G硬盘:160G软件环境本次设计所用的软件环境如下:操作
23、系统:Windows 7所用软件:JDK1.5.0_09(Java的编译环境,是所有Java开发工具的运行基础)Tomcat5.5(作为web服务器存在)Dreamweaver MX(网页制作工具,可以高效的开发HTML代码)SqlServer2005(数据库,简单易用)2 需求分析2.1确定系统执行者网上农业网站中,用户要操作该网站进行产品的查询和新闻内容的查看,以及留言等信息。可以确定,该系统涉及到的人执行者有用户,系统执行者为管理员。2.2确定用例“网上农业网站”包含八个用例。 “注册”用例:对于首次登录该系统的用户,要先进行注册。 “登录”用例:只有登录的用户才可以对系统做相应的操作。
24、 “操作产品”用例:对于登录后的用户可以操作产品,发布新产品。 “操作产品种类”用例:对于登录后的用户可以操作产品种类,添加产品种类。 “查看新闻”用例:可以查看农业新闻信息。 “浏览产品”用例:用户可以通过该用例浏览产品。 “搜索产品”用例:用户可以搜索产品。 “留言”用例:用户可以进行浏览操作。2.3网上农业网站用例描述 用例图里共有“注册”、“登录”、“操作产品”、“操作产品种类”、“查看新闻”、“浏览产品”、“搜索产品”、“留言”八个用例,下面对其中的几个用例进行简单的描述。“操作产品”用例用例编号:0101 (共两层用例图结构,每层用两位数字表示,共两位编号。)用例名:操作产品执行者
25、:人执行者:管理员目的:发布新产品品,对已经发布的产品品进行管理(修改、删除)。类型:主要的、基本的级别:一级过程描述: 用户输入用户名,密码及验证码,系统识别有效性。 选择产品管理功能,再对应选择相应的其他操作(新增、查找、删除)。 新增产品时,填写新产品的相关信息,并输入验证码。 退出相应模块功能。与其他用例的关联:过程描述中包含登录用例;中查找子用例涉及“查找产品”用例。“搜索产品”用例用例编号:0102 (共两层用例图结构,每层用两位数字表示,共两位编号。)用例名:搜索产品执行者:人执行者:用户 系统执行者:用户目的:用户搜索产品类型:主要的、基本的级别:一级过程描述: 用户输入用户名
26、,密码及验证码,系统识别有效性。 搜索产品。退出相应功能模块。与其他用例的关联:过程描述中包含登录用例;中查找子用例涉及“查找产品”用例。3 系统概要设计3.1 系统功能构成系统分为前台和后台两个模块,前台主要用来提供给系统注册用户或者游客浏览、查看产品,并提供注册的模块,系统注册用户通过登录后还能管理自己的信息和对指定的产品参与竞拍。后台是系统管理员对农业网站设置、管理用户和管理产品的地方。系统的系统层次概框划分如图3-2所示。综上所述,我们就可以得到系统层次概框图如下3.1-1所示。三农之农产品信息子系统注册登录查看网站产品搜索查看新闻管理产品浏览产品管理产品搜索产品添加产品分类查看产品详
27、细添加产品图3.1-1 系统层次概框图3.2 用户登录系统流程图12345图3.2-1 用户登录系统流程图3.3程序流程图本系统单元测试采用的是白盒测试技术。以用户参加竞拍为例,其程序流程图如下:开始Use图3.3-1 用户登录程序流程图输入用户名、密码及验证码用户名密码符合要求验证码符合要求 进入主界面数据库中有无NUseNUseNUseYUseYUseYUse 4 详细设计4.1系统首页 运行效果如图4.1-1所示。图4.1-1 首页界面 其关键代码如下:public partial class _Default : System.Web.UI.Page public string sql
28、; protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) sql = select top 5 id,title,addtime from allgonggao where leibie=新闻中心; getdata(sql); sql = select top 7 * from allpro order by id desc; getdata2(sql); private void getdata(string sql) DataSet result = new DataSet(); result = new
29、 Class1().hsggetdata(sql); if (result != null) if (result.Tables0.Rows.Count 0) DataGrid1.DataSource = result.Tables0; DataGrid1.DataBind(); else DataGrid1.DataSource = null; DataGrid1.DataBind(); private void getdata2(string sql) DataSet result = new DataSet(); result = new Class1().hsggetdata(sql)
30、; if (result != null) if (result.Tables0.Rows.Count 0) DataGrid2.DataSource = result.Tables0; DataGrid2.DataBind(); else DataGrid2.DataSource = null; DataGrid2.DataBind(); 4.2登录界面设计系统运行界面如图4.2-1所示。 图4.2-1 系统登录界面 其关键代码如下: protected void Button1_Click(object sender, EventArgs e) if (TextBox2.Text.ToSt
31、ring().Trim() = | TextBox1.Text.ToString().Trim() = ) Response.Write(javascript:alert(请输入完整);history.back();); Response.End(); string sql; sql = select * from allusers where username= + TextBox1.Text.ToString().Trim() + and pwd= + TextBox2.Text.ToString().Trim() + ; DataSet result = new DataSet(); r
32、esult = new Class1().hsggetdata(sql); / result = new TestOnline.Class1().hsggetdata(sql); if (result != null) if (result.Tables0.Rows.Count 0) Sessionusername = TextBox1.Text.ToString().Trim(); Sessionrole = result.Tables0.Rows0cx.ToString().Trim(); Response.Redirect(main.aspx); else Response.Write(
33、javascript:alert(对不起,用户名或密码不正确!);); else Response.Write(javascript:alert(对不起,系统错误,请不要越权操作!);); 4.3 用户注册界面设计运行界面如图4.3-1所示。图4.3-1 用户注册界面 其关键代码如下: protected void Button1_Click(object sender, EventArgs e) string sql; sql = insert into yonghuzhuce(yonghuming,mima,xingming,dianhua,shenfenzheng,youxiang,QQ
34、,dizhi,xingbie) values( + yonghuming.Text.ToString().Trim() + , + mima.Text.ToString().Trim() + , + xingming.Text.ToString().Trim() + , + dianhua.Text.ToString().Trim() + , + shenfenzheng.Text.ToString().Trim() + , + youxiang.Text.ToString().Trim() + , + QQ.Text.ToString().Trim() + , + dizhi.Text.To
35、String().Trim() + , + xingbie.Text.ToString().Trim() + ) ; int result; result = new Class1().hsgexucute(sql); if (result = 1) Response.Write(javascript:alert(注册成功,您现在可以去首页登陆了!);location.href=default.aspx;); else Response.Write(javascript:alert(系统错误,请检查数据库设置问题);); 4.4新闻界面设计 运行界面如图4.4-1所示。图4.4-1 新闻界面
36、其关键代码如下: protected void Page_Load(object sender, EventArgs e) lb = Request.QueryStringlb.ToString().Trim(); switch (lb) case 1: lbtxt = 新闻中心; break; case 2: lbtxt = 网站规章; break; if (!IsPostBack) string sql; sql = select * from allgonggao where leibie= + lbtxt + order by id desc; getdata2(sql); priva
37、te void getdata2(string sql) DataSet result = new DataSet(); result = new Class1().hsggetdata(sql); if (result != null) if (result.Tables0.Rows.Count 0) DataGrid2.DataSource = result.Tables0; DataGrid2.DataBind(); else DataGrid2.DataSource = null; DataGrid2.DataBind(); 4.5 添加农产品界面设计图4.5-1 添加农产品界面 其关
38、键代码如下: protected void Button1_Click(object sender, EventArgs e) if (mc.Text.ToString().Trim() != ) double je3, je4; try je3 = Convert.ToDouble(je.Text.ToString().Trim(); catch Response.Write(javascript:alert(农产品原价必需是数字型);); return; try je4 = Convert.ToDouble(je2.Text.ToString().Trim(); catch Respons
39、e.Write(javascript:alert(农产品现价必需是数字型);); return; if (UploadFile.Value != null & UploadFile.Value != ) hsgupload(); string sql; sql = insert into allpro(mc,lb,price1,price2,fn,content,addby,shuliang) values( + mc.Text.ToString().Trim() + , + lb.SelectedItem.ToString().Trim() + , + je3 + , + je4 + , + fname + , + content.Text.ToString().Trim() + , + Sessionusername.ToString().Trim() + ,+shuliang.Text.ToString().Trim()+); int result; result = new Class1().hsgexucute(sql); if (result = 1) Response.Write(javascript:alert(添加成功);/sc
限制150内