草学类野外试验数据管理系统毕业论文

本科毕业论文

题目草学类野外试验数据管理系统

学院信息科学技术学院

专业计算机科学与技术

毕业届别2014届

姓名

指导教师

职称

甘肃农业大学教务处制

二〇一四年五月

草学类野外实验数据管理系统

草学类野外试验数据管理系统

摘要:草学类学科对于土壤、植被、家畜实验数据的采集有较高的要求,要求实验的环境一定要真实,而实际测试环境条件艰苦,对于没有专业设备的人员根本无法进行实地实验、采集数据,并且在野外实地采集数据需要花费大量资金。因此开发一套草学类野外试验数据管理系统,可方便研究人员,对野外试验数据了解与研究。

本系统使用Java作为开发语言,以MyEclipse为开发工具,使用tomcat作为系统运行环境,以MySQL作为数据库来开发。系统采用B/S开发结构,用JDBC实现数据库连接,采取JSP动态页面技术。系统实现了对土壤、植被、家畜实验数据的增删改查。

关键字:草学类野外实验数据管理;角色管理;管理员;JSP

The Experimental Data of Prataculturl Science Management

System

Abstract:For livestock soil, vegetation, grass science disciplines have higher demand to experimental data collection, demanding experiment environment must be real, and the actual test environment conditions, there is no specialized equipment for the staff cannot field experiments, collect data, and in the field gathering data need to spend a lot of money. So to develop a set of grass science and field test data management system, can be convenient and researchers, understanding and research of field test data.

The system use Java as a development language, MyEclipse as development tools, use tomcat as the system running environment, using MySQL as database to develop. System adopts B/S structure, using the JDBC database connection, take the JSP dynamic page technology. System can realize the experiment data of soil, vegetation, animals increase, delete, modify, and query.

Key words:The experimental data of prataculturl science management system;Role management;The administrator;JSP

目录

摘要................................................................................................................................................ I 关键字.............................................................................................................................................. I Abstract .......................................................................................................................................... II Key words ...................................................................................................................................... II 1 绪论 (1)

1.1 选题背景和意义 (1)

1.2 国内研究现状 (1)

1.3 研究内容 (1)

1.4 研究方法 (2)

1.5 研究目标及主要特色 (2)

2 系统设计使用技术 (4)

2.1 JSP(Java Server Pages)和Java Bean技术 (4)

2.1.1 JSP概述 (4)

2.1.2 JSP工作原理 (5)

2.1.3 JavaBean技术 (5)

2.2 B/S体系结构 (6)

2.3 JavaScrit技术 (7)

2.4 MYSQL 数据库 (7)

2.4.1 数据库介绍 (7)

2.4.2 JDBC数据库访问 (9)

3 系统分析 (10)

3.1 需求分析 (10)

3.1.1 运行环境 (10)

3.2 系统总体设计 (10)

3.2.1 系统目标设计 (10)

3.2.2 系统设计思想 (10)

3.2.3 系统功能描述 (11)

3.3 系统功能模块图 (11)

3.4系统用例图 (11)

4 数据库设计 (13)

4.1 表设计 (15)

4.1.1 数据库表的结构 (16)

4.2 实体及E-R图 (13)

4.2.1 实体介绍 (13)

4.2.2 实体图以及各实体之间联系E-R图 (13)

4.3 数据库连接 (18)

5 系统具体实现 (19)

5.1 登入界面 (19)

5.2 主界面 (20)

5.3 植被、土壤、家畜界面功能实现 (20)

5.3.1 植被主页面 (20)

5.3.2 植被详细页面 (21)

5.3.3 植被修改页面 (21)

5.3.4 植被添加页面 (22)

5.3.5 搜索筛选功能 (22)

5.3.6 植被删除功能 (23)

5.4 角色管理界面 (23)

5.4.1 角色查看 (23)

5.4.2 角色添加 (24)

5.4.3 角色修改 (25)

5.4.4 角色删除 (25)

5.5 管理员界面功能实现 (26)

5.5.1 管理员界面 (26)

5.5.2 管理员修改界面 (26)

5.5.3 管理员添加界面 (26)

5.5.4 密码重置功能 (26)

5.6 个人信息界面功能实现 (27)

5.6.1 查看个人基本信息 (27)

5.6.2 修改基本信息 (27)

6 全文总结 (29)

参考文献 (30)

致谢 (31)

1 绪论

1.1 选题背景和意义

随着我国教育事业的飞速发展,草学类学科对于土壤、植被、家畜实验数据的采集有了较高的要求,要求实验的环境,采集的数据一定要真实,但是要达到这样的要求,就需要,研究数据的人员到实地测试、采集数据,而有的实际测试环境条件异常艰苦,一般野外通讯条件较差,对于没有专业设备的人员根本无法进行实地实验、集数据,并且资金开销也是一需要解决的问题,因此开发一套野外试验数据管理系统,就可以方便研究人员,对野外试验数据信息的管理与研究。

1.2 国内研究现状

目前,我国在数据管理系统方面的研究很广泛,主要涉及教育、企业、航空、生物、医疗等领域。虽说中国的各种涉农信息网站和数据库资源种类多样、数量繁多,但在数据质量上却存在参差不齐的现象。大多数信息网站规模小,信息质量较差,缺乏竞争力;而部分单位构建的农业类文献数据库存在数字化程度不高、规模不大、数据库结构不合理、标准化程度低、重复性建库现象严重、资源共享程度低等问题。

1.3 研究内容

本课题研究内容为草学专业野外试验数据管理系统,实验数据管理系统提供了强大的野外实验数据管理功能,方便管理员对实验数据的添加、修改、删除、查询等操作。本系统开发的总体思路是实现实验数据管理的系统化、规范化、自动化,达到提高实验数据管理效率的目的。随着进入二十一世纪,计算机技术迅速向着网络化、集成化方向发展。传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信息的新一代网络版应用软件,而目前网络版软件中似乎存在着两种不同的趋势,一种是称为客户端——服务器的C/S结构应用系统,另一种是称为浏览器——服务器的B/S结构应用系统。而后者的特点是在客户端直接采用了功能强大的浏览器软件作为界面,其优点在于软件开发效率高,客户端不受操作平台的限制、也不受地域的限制,网络传输量少,即适用于局域网,更适用于Internet。

本系统正是采用B/S结构开发的,该系统主要由实验数据信息维护、角色管理、个人

信息等功能模块组成,实现用户对野外土壤、家畜、植被信息查询管理等。主要内容包括:(1)数据维护模块:

管理员可以对土壤,家畜,植物信息进行添加、删除、查看、修改信息。

用户可以对土壤,家畜,植物信息进行查看、筛选信息。

用户可以查看自己的基本信息,添加、修改详细个人信息。

(2)权限、角色管理模块:管理员可以对角色权限进行添加、修改。

草学专业野外试验数据管理系统提供方便的管理功能以及网上的信息查阅平台,用户可以通过该系统查阅土壤,家畜,植物相关信息,管理员可以管理所有信息。系统依据Apache Tomcat容器运行平台,利用Dreamweaver 进行整体框架的设计,连接数据库,最后进行全面的系统调试而完成。该系统使用JSP编程语言,MYSQL数据库以及Apache Tomcat作为开发平台,运用软件工程思想方法,对系统进行快速有效开发, 系统分为以下几个方面:用户管理:实现对不同用户分配不同的权限。

数据库连接:使程序能访问数据库,并能对其中的数据进行操作。

数据录入:通过程序能实现往数据库中增加记录。

数据查询:通过各种查询组合实现对数据的精确选取。

数据维护:包括对数据的修改及删除操作。

1.4 研究方法

首先,与指导教师多沟通,了解系统的需求,开发模式及主要技术。其次,查阅相关文献期刊资料,了解管理系统的设计思路和方法。另外,学习相关开发技术。

1.5 研究目标及主要特色

研究目标:建立一个B/S层结构的草学专业野外试验数据管理系统,实现管理员对土壤,家畜,植物信息的获取、维护等各环节的计算机管理,这样既可以方便草学专业人员学习和研究,还能减少到野外采集数据所支出的经费,所以说对草学专业野外试验数据管理系统的研究具有十分重要的意义。

主要特点:

(1)实现对土壤,家畜,植物信息管理的基本管理。

(2)系统操作简单,功能适用,易于维护。

(3)方便用户了解有关土壤,家畜,植物信息。

(4)节约成本,获取实验数据不必亲自花费资金实地测验。

2 系统设计使用技术

2.1 JSP(Java Server Pages)和Java Bean技术

2.1.1 JSP概述

JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。[1] JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。

Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。

JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML 文本,因此客户端只要有浏览器就能浏览。

JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。

JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。它的优点:

(1)一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。

(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是现而易见的。

(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服

务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。

(4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。

2.1.2 JSP工作原理

JSP文件第一次被请求时,JSP引擎把该JSP文件转换成为一个servlet。而这个引擎本身也是一个servlet,在JSWDK(java服务器网络开发包)中,它就是JspServlet。JSP引擎先把该JSP文件转换成一个Java源文件,在转换时如果发现jsp文件有任何语法错误,转换过程将中断,并向服务端和客户端输出出错信息;如果转换成功,JSP引擎用javac把该Java源文件编译成相应的class文件。然后创建一个该SERVLET的实例,该SERVLET 中的jspInit()方法被执行,jspInit()方法在servlet的生命周期中只被执行一次。然后jspService()方法被调用来处理客户端的请求。对每一个请求,JSP引擎创建一个新的线程来处理该请求。如果有多个客户端同时请求该JSP文件,则JSP引擎会创建多个线程。每个客户端请求对应一个线程。以多线程方式执行可大大降低对系统的资源需求,提高系统的并发量及响应时间.但应该注意多线程的编程限制,由于该servlet始终驻于内存,所以响应是非常快的。如果.jsp文件被修改了,服务器将根据设置决定是否对该文件重新编译,如果需要重新编译,则将编译结果取代内存中的servlet,并继续上述处理过程。虽然JSP效率很高,但在第一次调用时由于需要转换和编译而有一些轻微的延迟。此外,如果在任何时候如果由于系统资源不足的原因,JSP引擎将以某种不确定的方式将servlet从内存中移去。当这种情况发生时jspDestroy()方法首先被调用, 然后servlet实例便被标记加入"垃圾收集"处理。jspInit()及jspDestory()格式如下:可在jspInit()中进行一些初始化工作,如建立与数据库的连接,或建立网络连接,从配置文件中取一些参数等,在jspDestory()中释放相应的资源。[2] 2.1.3 JavaBean技术

JavaBean是一种软件组件模型,它与其他软件对象相互作用,决定如何建立和重用软件组件,这些可重用软件组件被称为Bean。Bean使用现有的Bean帮助开发新的计划,进而建立它们之间的关系。

JavaBean是基于Sun公司的JavaBean规范的,可在编程工具中被可视化处理的可复用的软件组件。因此JavaBean具有3个基本特性:

(1)独立性;

(2)可重用性;

(3)在可视化开发工具中使用

用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。[3]这样JavaBean就变成了一个组件了,达到代码的重用性和隔离性,在调用JavaBean的时候,不用关心JavaBean的实现过程,只要知道方法的功能、输入参数和输出参数就可以了。

2.2 B/S体系结构

在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S结构简化了客户机的工作,客户机上只需配置少量的客户端软件。服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由Web Server完成。实际上B/S体系结构是把二层C/S 结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其任务,这样客户机的压力减轻了,把负荷分配给了Web服务器。这种三层体系结构如图1所示。

图2.1 B/S体系结构

采用该结构软件的优势在于:

(1)无须开发客户端软件,维护和升级方便;

(2)可跨平台操作,只要装有浏览器软件,均可作为客户机来访问系统;

(3)具有良好的开放性和可扩充性;

(4)可采用防火墙技术来保证系统的安全性,有效地适应了当前用户对管理信息系统的新需求。

这种三层结构层与层之间相互独立,任何一层的改变不影响其他层的功能。三层B/S

结构将应用的三个部分明确的分开:表示部分、应用逻辑部分、数据访问部分。这三个部分在逻辑上独立的分开,分别加以实现,称之为:客户端、应用服务器、数据库服务器。而在客户端和应用服务器之间加入一个WEB服务器,就形成了一种特殊的B/S结构:Browser/Server,只在客户端安装浏览器软件即可。客户端使用Internet Explore时,就可以让Internet Explore变成为能够处理数据的应用系统。[4]

由于这种模式是提供一个跨平台的、简单一致的应用环境,实现了开发系统与应用系统的分离,因此避免了为多重不同的操作系统开发同一应用系统的重复操作,便于用户群的扩展、变化以及应用系统的管理。

因此该结构在管理信息系统开发领域中获得飞速发展,成为应用软件开发中一种流行的体系结构.所以在开发本系统时采用这种模式。

2.3 JavaScrit技术

JavaScript是一种基于对象(object)和事件驱动(event driven)并具有安全性能的脚本语言。它的目的是与html超文本标记语言、java 脚本语言(java小程序)一起实现在一个web页面中链接多个对象,与web客户交互作用。它被嵌入HTML 的文件之中。通过JavaScript 可以做到响应用户的需求事件(如表单的输入),这样当一位使用者输入一项信息时,它不需要通过网络传送到服务器端进行处理再传回来的过程,而可以直接在客户端进行事件的处理。它的出现弥补了html语言的缺陷。[5]

JavaScript是一种脚本语言,它采用小程序段的方式实现编程。像其它脚本语言一样,JavaScript同样已是一种解释性语言,它提供了一个易的开发过程。

它的基本结构形式与C、C++、VB、Delphi十分类似。但它不像这些语言一样,需要先编译,而是在程序运行过程中被逐行地解释。它与HTML标识结合在一起,从而方便用户的使用操作。

2.4 MYSQL 数据库

2.4.1 数据库介绍

(1) MySQL的概述

MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积

小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。[6]

(2) MySQL的特性

①用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性;

②支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统;

③为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等;

④支持多线程,充分利用CPU资源;

⑤优化的SQL查询算法,有效地提高查询速度;

⑥既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名;

⑦提供TCP/IP、ODBC和JDBC等多种数据库连接途径;

⑧提供用于管理、检查、优化数据库操作的管理工具;

⑨可以处理拥有上千万条记录的大型数据库

(3) MySQL的应用

与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。目前Internet上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux 作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。由于这四个软件都是自由或开放源码软件(FLOSS),因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统。

(4) MySQL管理

可以使用命令行工具管理MySQL数据库(命令mysql 和mysqladmin),也可以从MySQL的网站下载图形管理工具MySQL Administrator和MySQL Query Browser。

phpMyAdmin是由php写成的MySQL资料库系统管理程式,让管理者可用Web界面管理MySQL资料库。

phpMyBackupPro也是由PHP写成的,可以透过Web介面创建和管理数据库。它可以创建伪cronjobs,可以用来自动在某个时间或周期备份MySQL 数据库。另外,还有其他的GUI管理工具,例如早先的mysql-front 以及ems mysql manager,navicat 等等。

2.4.2 JDBC数据库访问

为支持Java程序的数据库操作功能,Java语言采用了专门的Java数据库编程接口(Java DataBase Connecivity,JDBC),用于在Java程序中实现数据库操作功能并简化操作过程。JDBC支持基本SQL语句,提供多样化的数据库连接方式,为各种不同的数据库提供统一的操作界面。

JDBC是一种可用于执行SQL语句的JavaAPI(Application Programming Interface,应用程序设计接口)。它由一些Java语言编写的类和界面组成。JDBC为数据库应用开发人员和数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。

通过使用JDBC,开发人员可以很方便地将SQL语句传送给几乎任何一种数据库。也就是说,开发人员可以不必写一个程序访问Oracle,写另一个程序访问MySQL,再写一个程序访问SQL Server。用JDBC写的程序能够自动地将SQL语句传送给相应的数据库管理系统(DBMS)。不但如此,使用Java编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上编写不同的应用。Java和JDBC的结合可以让开发人员在开发数据库应用时真正实现“一次编写,处处运行”。

Java具有健壮、安全、易用等特性,而且支持自动网上下载,本质上是一种很好的数据库应用的编程语言。它所需要的是Java应用如何同各种各样的数据库连接,JDBC正是实现这种连接的关键。

3 系统分析

3.1 需求分析

本系统主要是对各个地区的土壤,家畜,植物信息进行管理,本系统满足以下几点要求:

系统安全性:由于该系统的使用对象多,要求有较好的权限管理。不同权限进入不同的界面,为了防止数据的并发现象的出现,数据的编辑必须由合法用户来操作,并对土壤,家畜,植物的信息进行良好的保密。

系统灵活性:要求有良好的人机界面,操作简单(数据的添加、删除、修改、查询等方便快捷)。

易维护性:本系统采用B/S结构,系统的升级只需要在服务器端完成,更新软件系统的数据库、文件也只需要更新服务器端即可。在进行系统的维护时,只需要远程登录服务器系统,减少了维护系统的成本和周期。

3.1.1 运行环境

操作系统:Windows 2007

数据库:MYSQL;

JSP服务器:Tomcat;

开发工具:Myeclipse。

3.2 系统总体设计

3.2.1 系统目标设计

系统开发的总体任务是实现对野外土壤,家畜,植物实验数据信息管理系统化、规范化和自动化。使得用户能够方便快捷地查阅系统内的数据,管理员可便捷的对数据进行维护。计算机的资源是受到限制的,因此要充分利用JSP的功能,设计出功能强大的软件,同时要尽可能减少对系统资源的占用,同时对本系统要求有良好的灵活性和完善性。

3.2.2 系统设计思想

草学专业野外试验数据管理系统主要是对野外土壤,家畜,植物实验数据等的管理。管理员可以对土壤,家畜,植物信息进行添加、删除、查看、修改信息;用户首先注册,然后登陆,登陆成功之后界面会显示该用户可以使用的模块,用户根据权限可以对土壤,

家畜,植物信息进行查看、筛选信息;用户可以查看自己的基本信息,添加、修改详细个人信息。根据所需功能以及数据库、JSP所能提供的功能来设计该系统。

3.2.3 系统功能描述

本系统功能主要包括:

(1)土壤,家畜,植物实验数据维护,管理员添加、删除实验数据信息;

(2)土壤,家畜,植物实验数据维护,用户查看、筛选试验数据信息;

(3)角色权限管理(添加、删除角色,为角色分配权限);

(4)管理员(管理系统用户,重置密码,添加用户,删除用户,修改用户角色);(5)个人信息(用户对个人信息查询,修改)

3.3 系统功能模块图

图3.1 系统功能模块图

3.4系统用例图

图3.2 管理员用例图

图3.3 用户用例图

4 数据库设计

在本系统中使用的是MYSQL数据库管理系统。本系统使用的数据库名为mqy,下面具体讲解数据库中各数据表的创建和逻辑结构.

4.1 实体及E-R图

4.1.1 实体介绍

本系统中的实体共有4 个,分别为:

实体1: 土壤(地区,样地号,年份,有机碳,全氮,全磷,速效氮,速效磷,水分,土层深度,描述);关键字为:地区,样地号,年份

实体2:家畜(地区,样地号,年份,家畜类型,家畜编号,体重,放牧强度,描述);关键字为:地区,样地号,年份,家畜类型,家畜编号

实体3:植被(地区,样地号,年份,植物名,生物量,描述);关键字为:地区,样地号,年份,植物名

实体4:用户(id,用户名,密码,姓名,电话,邮箱,注册时间);关键字:Id

4.1.2 实体图以及各实体之间联系E-R图

实体1的实体图:

图4.1 土壤

实体2的实体图

图4.2 家畜实体3的实体图

图4.3 植被实体4的实体图:

图4.4 用户实体4与实体1,2,3的E-R图:

图4.5 E-R图4.2 表设计

本系统中共用到了7个数据表,如下:

Admin_role表:记录用户角色编号信息;

Admin_info表:记录用户信息;

Role_info表:记录角色信息;

相关文档
最新文档