MySql数据库课程设计学生管理系统.docx

上传人:b****5 文档编号:7845738 上传时间:2023-01-26 格式:DOCX 页数:41 大小:3.82MB
下载 相关 举报
MySql数据库课程设计学生管理系统.docx_第1页
第1页 / 共41页
MySql数据库课程设计学生管理系统.docx_第2页
第2页 / 共41页
MySql数据库课程设计学生管理系统.docx_第3页
第3页 / 共41页
MySql数据库课程设计学生管理系统.docx_第4页
第4页 / 共41页
MySql数据库课程设计学生管理系统.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

MySql数据库课程设计学生管理系统.docx

《MySql数据库课程设计学生管理系统.docx》由会员分享,可在线阅读,更多相关《MySql数据库课程设计学生管理系统.docx(41页珍藏版)》请在冰豆网上搜索。

MySql数据库课程设计学生管理系统.docx

MySql数据库课程设计学生管理系统

太原科技大学

数据库课程设计报告

系院应用科学学院

年级2013级

专业信息与计算科学131802

学号************

学生姓名XXXXXX

指导教师姓名XXXXXX

课程设计(论文)题目太原科技大学学生管理系统

 

 

第一章绪论

1.1研究的背景及意义

1.1.1选题的背景

随着教育事业的不断发展,学校的规模不断扩大,学生数量及其信息量的急剧增加,有关学生的各种信息处理也随之展开。

学生管理信息系统应运而生了,它可用来管理学生信息与提高系统管理工作的效率。

学生信息管理系统把VisualBasic(前台开发)与MYSQL(后台管理)有机地结合,并运用流行的ADO等相关技术,完成学生信息的规范管理、科学统计和快速查询,从而可大大减少该管理上的工作量。

数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。

合理的数据库结构设计可以提高数据库存储的效率,保证数据的完整性和一致性。

同时,合理的数据结构也将有利于程序的顺利实现。

1.1.2研究的意义

学生学籍管理系统,可用于学校等机构的学生信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。

该软件用java语言编写,用SQLServer2012数据库作为后台的数据库进行信息的存储,用SQL语句完成添加,查询,修改,删除的操作。

用JDBC驱动实现前台Java与后台SQL数据库的连接。

Java语言跨平台性强,可以在Windows等系统下使用,方便简单,安全性好。

1.2系统目标

该系统主要建立一个基于B/S模式的实验室信息管理系统,用户和管理员不需要下载客户端就可以通过浏览器访问学生管理系统,快捷方便,从网页获取当前的学生信息,及时的更新信息,修改信息,保证信息的正确性和时效性,从而更好更快捷更便利的管理学生信息,实现学生信息的直观可视化和及时可靠化,本系统主要针对与系统相关的两类用户实现信息的管理:

1.对于实验室管理人员:

可以登陆到管理员页面,可以方便的进行学籍信息管理、班级信息管理、成绩信息管理、用户管理和系统管理。

2.对于教师:

教师可以进行注册成为网站的用户,并可以通过登录进入普通用户界面以后来学籍信息管理、班级信息管理、成绩信息管理和系统管理,但是无法查看和修改其他的用户的信息。

1.3应用技术

1.3.1Servlet技术

Servlet是服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。

它担当客户请求与服务器响应的中间层。

Servlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。

最早支持Servlet技术的是JavaSoft的JavaWebServer。

此后,一些其它的基于Java的Web服务器开始支持标准的ServletAPI。

Servlet的主要功能是交互式地浏览和修改数据,生成动态Web内容。

这个执行的过程为:

客户端发送请求至服务器端;服务器将请求信息发送至Servlet,Servlet生成响应结果并将其传给服务器,响应内容动态生成,通常取决于客户端的请求,服务器将响应返回给客户端,Servlet看起来与s通常的Java程序无很大差别。

Servlet导入特定的属于JavaServletAPI的程序包。

因为是对象字节码,可动态地从网络加载,可以说Servlet对Server就如同Applet对Client一样。

但是,由于Servlet运行于Server中,它们并不需要一个图形用户界面。

从这个角度来说,Servlet也被称为FacelessObject。

一个Servlet就是Java编程语言中的一个类,它可以被用来扩展服务器的性能,服务器上驻留着可以通过“请求-响应”编程模型来访问的应用程序。

尽管Servlet可以对任何类型的请求产生响应,但通常只用来扩展Web服务器的应用程序。

1.3.2JSP技术

JavaServerPages技术是一项纯Java平台的技术,它主要用来产生动态网页的内容。

在传统的网页HTML文件中加入Java程序片段和JSP标记,就构成了JSP网页。

当Web服务器接收到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。

JSP是基于JavaServlet以及整个Java体系的Web开发技术,利用这一技术可以建立先进、安全、快速和跨平台的动态网页。

1.3.3JDBC

JDBC由一组Java语言编写的类和接口组成,使用内嵌式的SQL,主要实现三方面的功能:

建立与数据库的连接,执行SQL声明以及处理SQL执行结果。

JDBC支持基本的SQL功能,使用它可方便地与不同的关系型数据库建立连接,进行相关操作,并无需再为不同的DBMS分别编写程序。

1.3.4MySQL

MySQL是一个多用户、多线程的SQL数据库,是一个客户机/服务器结构的应用,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。

MySQL的快速和灵活性足以满足一个网站的信息管理工作。

因为许可证的灵活,任何人都可以以任何目的免费使用,修改,和分发PostgreSQL,不管是私用,商用,还是学术研究使用。

命令执行速度快,也许是现今最快的;简单有效的用户特权系统。

1.3.5myeclipse

Eclipse是一个非常优秀的集成开发环境,它旨在简化用于多操作系统软件工具的开发过程,可以用于管理多种开发任务,其中包括测试、性能调整以及程序调试等,而且还可以集成来自多个供应商的第三方应用程序开发工具。

通过集成大量的插件,myeclipse的功能可以不断扩展,以支持各种不同的应用。

myeclipse平台是一个成熟的、精心设计的、可扩展的体系结构,其组成结构如图所示用myeclipse开发的插件,可以适应多平台的需要,且具有良好的可扩展性和灵活性。

myeclipse是一个开放源代码的、基于Java的可扩展开发平台。

就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

幸运的是,myeclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。

1.3.6Tomcat

Tomcat服务器是ApacheGroupJakarta小组开发的一个免费服务器软件,适合于嵌入Apache中使用,而且,它的源代码可以免费获得,你可以自由地对它进行扩充。

Tomcat服务器的兼容性很好,如WebLogic服务器采用其为Web服务器引擎,Jbuilder将其作为标准的测试服务器,Sun公司也将其作为JSP技术应用的示例服务器。

但是Tomcat服务器有众多大软件公司的支持,而且服务器的性能稳定,其发展前景很好。

本次开发使用Tomcat7.x。

1.3.7JSTL标签

JSTL是apache对EL表达式的扩展(也就是说JSTL依赖EL),JSTL是标签语言!

JSTL标签使用以来非常方便,它与JSP动作标签一样,只不过它不是JSP内置的标签,需要我们自己导包,以及指定标签库而已!

如果你使用MyEclipse开发JavaWeb,那么在把项目发布到Tomcat时,你会发现,MyEclipse会在lib目录下存放jstl的Jar包!

如果你没有使用MyEclipse开发那么需要自己来导入这个JSTL的Jar包:

jstl-1.2.jar。

1.3.78XML

XML,可扩展的标识语言(eXtensibleMarkupLanguage),其先驱是SGML和HTML。

SGML,通用标识语言标准(StandardGeneralizedMarkupLanguage),是国际上定义电子文件结构和内容描述的标准,是一种非常复杂的文档结构,主要用于大量高度结构化数据的防卫区和其它各种工业领域,便于分类和索引。

同XML相比,SGML定义的功能很强大,然而它不适于Web数据描述,而且价格非常昂贵。

 

第二章需求分析

2.1功能需求

2.1.1系统模块分解

学生信息管理系统的总体功能由以下几大模块构成:

学籍信息管理、班级信息管理、成绩信息管理、用户管理和系统管理。

如下图所示:

图2-1系统功能模块分解图

2.1.2功能需求描述

1)学籍信息管理模块

描述:

用户在注册成功后,用合法的账号密码登陆管理系统页面。

在页面的公告栏中,管理员可以及时发布公告,提醒用户一些需要注意的信息,由于学生信息的变动,管理员需要时常改动学生信息,通过本系统,可以实现学生学号、姓名、性别、班级、出生日期等的添加、查看、修改和删除。

用例图:

图2–2学生管理子系统用例图

2)班级选课信息管理模块

描述:

班级信息管理主要包括班号、年纪、班主任、教室的添加、查看、修改和删除。

由于老师调动,任职期的更改等原因,班级的班主任随时可能发生更改,需要及时修改保证信息的准确性。

用户可以通过查看信息来清楚明了的指导该学校所有班级的详细准确的班级信息。

用例图:

图2–3学生管理子系统用例图

 

3)成绩信息

描述:

主要包括了学生的考好,姓名,学号,班级,课程的名称,获得的成绩。

管理员可以用此来完成学生信息的统计和成绩的登记。

同时也可以对这些信息进行删除、添加、查看和修改操作,以此来确保成绩信息的真实可靠性。

用例图:

图2–3学生管理子系统用例图

4)用户管理模块

描述:

由于在实际过程中,有些用户可能会因为较长时间没有使用系统而忘记了本人的信息,这是就可以找管理员进行用户信息的查看,其次也可以通过管理员直接添加一个用户以得到前台页面的操作权限,还可以进行信息的修改和注销。

用例图:

图2-4用户管理子系统用例图

图2-5实验室管理员管理子系统用例图

2.2非功能需求

2.2.1性能需求

1)最大并发用户数:

15(因数据库同时访问人数限制导致)

2)同时在线人数:

100

3)访问高峰时期同时在线人数:

300

4)访问高峰时期同时提交事务人数:

30

5)高峰时期系统响应时间:

10s以内

注:

以上信息为开发人员估计所得,具体情况具体对待。

2.2.2其它需求

精度

用户名要求长度不超过3-20个字符。

密码长度要求为3--20个字符。

日期:

精确到某年某月某日

软件需求

1、WindowsXP操作系统;

2、SQL数据库;

3、MyEclipse9.0开发工具;

4、Tomcat7.X服务器;

5、SQLyogTunnel.phpMySql辅助工具

硬件需求

1、Web服务器1台;

2、数据库服务器1台;

3、备份服务器1台;

4、开发服务器1台;

5、硬件防火墙1台;

6、软件防火墙服务器1台;

7、千兆路由器1台;

8、10M网络宽带1条。

第三章总体设计

3.1运行环境

1)设备

客户程序硬件要求:

具有PentiumII处理器且满足以下要求的计算机:

最低512M内存,最小20GB硬盘,鼠标,键盘。

WEB服务器硬件要求:

具有PentiumIV处理器且满足以下要求的计算机:

最低512MB内存,最小80GB硬盘,鼠标,键盘。

2)支持软件

客户程序软件:

Windows98/2000/XP或更高版本

IE6.0或者更高版本,Firefox等浏览器

网络支持

WEB服务器软件:

Tomcat7.0

Windows98/2000/XP或更高版本

数据库服务器软件

Windows98/2000/XP或更高版本

数据库:

XML

 

3.2模块结构

1)本小节从管理员用户使用的角度出发,列出了系统所提供的各个功能,系统的各功能模块如下表所示:

表31系统功能模块列表

序号

功能模块名称

子功能模块名称

备注

1.

首页

1.1.注册

1.2.登录

2.

管理员模块

2.1.学生学籍信息

2.1.1.添加学籍信息

2.1.2.修改学籍信息

2.1.3.查看学籍信息

2.1.4.删除学籍信息

2.2.班级信息管理

2.2.1.添加班级信息

2.2.2.修改班级信息

2.2.3.查看班级信息

2.2.4.删除班级信息

2.3成绩信息管理

2.3.1成绩信息添加

2.3.2成绩信息修改

2.3.3成绩信息查看

2.3.4成绩信息删除

2.4用户管理

2.4.1添加用户

2.4.2修改用户信息

2.4.3查看用户信息

2.4.4删除用户信息

2.5系统管理

2.5.1修改自己登陆密码

2.5.2其他功能有待开发

3

用户模块

3.5查看信息

3.6修改登陆密码

第四章数据库设计

4.1概念结构设计

4.1.1设计思路

概念模型是数据库系统的核心和基础。

概念设计阶段的主要任务和目标是根据需求分析的结果找出所有数据实体,画出对应的E-R图。

对于较复杂的系统,通常首先要根据各个用户对数据和使用权限的不同画出各自对应的局部E-R图,然后把各个局部E-R综合起来形成系统的整体ER图。

所以就针对本系统来说,根据实际业务,首先抽象学生学籍信息、班级信息管理、成绩管理、用户等4个实体,再根据业务的需求分析出各个实体所拥有的属性,并以此设计出系统的概念模型。

4.1.2E-R图

图4-2-1系统主页面E-R图

图4-2–2实验科目模块E-R图

图4-2–2选课信息管理E-R图

删除学籍页面

图4-2–3用户信息管理E-R图

图4-2-4系统主页面管理E-R图

 

4.2逻辑结构设计

4.2.1设计思路

逻辑设计阶段的主要任务和目标是根据概念设计的结果设计出数据库的逻辑结构模式,包括全局模式和各个外模式。

对于本系统来说,管理员在使用本系统时,必须先成功注册,然后用注册的张号和密码进行登陆操作,进入系统主页面。

本系统包括学籍信息管理、班级信息管理、成绩信息管理、用户管理和系统管理五大模块,普通用户不具有用户管理这个模块。

在实验室科目这个模块中又包含了学号、姓名、性别、班级、出生日期、入学日期这六个的模块,班级信息包含了班号、年纪、班主任姓名、教室这四个小的模块,成绩信息模块包含考好、班级、学生名字、学号、课程、成绩这六个小的模块,用户管理包含了用户名、密码、性别三个小的模块,管理员可以通过系统对每个大模块下的小模块进行增改删查等操作。

 

4.3物理结构设计

4.3.1存取方式

数据库结构的物理设计是指对一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程,主要是设计表结构。

系统数据库设计中,实体对应于表,实体的属性对应于表的列,实体之间的关系成为表的约束。

基本上是将逻辑设计中的实体转换成物理设计中的表,而本系统也是如此是通过关系表的形式存取数据。

4.3.2存储结构

表41系统数据库组成表

数据库名:

userdemo

序号

表名

标签说明

功能说明

1

user

表普通用户

存储用户的相关信息

2

student

表学生学籍信息

存储学生学籍的信息

3

Cla

表班级信息

班级信息

4

grade

表学生成绩信息

存储学生成绩信息的信息

 

表42用户信息表

表名:

user

序号

列名

数据类型

长度

小数位

标识

主键

允许空

默认值

说明

1

username

varchar

255

2

password

varchar

255

3

sex

varchar

255

 

表44学生学籍信息

表名:

student

序号

列名

数据类型

长度

小数位

标识

主键

允许空

默认值

说明

1

Stunum

varchar

255

2

stuname

varchar

255

3

stusex

varchar

255

4

stucla

varchar

255

5

stubirth

varchar

255

6

stutosch

varchar

255

 

表45b班级信息表

表名:

cla

序号

列名

数据类型

长度

小数位

标识

主键

允许空

默认值

说明

1

clanum

varchar

255

2

clagra

varchar

255

3

clatea

varchar

255

4

claroom

varchar

255

 

表46成绩信息表

表名:

grade

序号

列名

数据类型

长度

小数位

标识

主键

允许空

默认值

说明

1

gradnum

varchar

255

2

gradcla

varchar

255

3

gradxue

varchar

255

4

gtadname

varchar

255

5

gradproj

varchar

255

6

grade

varchar

255

 

第五章界面设计

5.1界面关系图

图5-1界面关系图

注:

主页面到班级信息管理、成绩管理、用户管理的流程图和上面类似。

 

5.2界面设计成果

5.2.1登录界面

图5-1登录界面

图5-2注册界面

图5-3管理员登录界面

图5-3普通用户登录界面

5.2.2功能菜单界面

图5-4学生信息管理主页面

图5-5查看学籍页面

图5-6添加学生学籍信息页面

 

图5-7修改学生学籍用户

图5-7删除用户

图5-7班级信息

图5-8查看、修改、删除班级信息

图5-9添加班级信息

图5-10修改班级信息

图5-11学生成绩信息管理

图5-12查看、删除、修改修改成绩信息

图5-13用户信息管理主页面(管理员权限)

图5-14查看、删除页面(管理员权限)

图5-14添加用户信息(管理员权限)

 

图5-15修改用户信息(管理员权限)

图5-16主要工具使用展示-myEclipse

图5-17主要工具使用展示-mySql

第六章详细设计

6.1登录注册设计

6.1.1算法描述

在用户输入用户名密码并选中用户种类以后,将数据提交到服务器,先检查用户的类型,再根据用户类型并读取出用户名将其与数据库中的数据进行核对,查看数据库中是否存在该用户名,如果存在再核对其输入的密码是否正确,当用户名和密码都正确时则完成验证并跳转到成功页面;如果用户名不正确则不必核对密码直接提示输入信息有误,需要重新输入用户名和密码。

在注册时,用户填写完信息后提交给服务器后,服务器先读取用户名与数据库中的数据进行核对,如果该用户名存在则提示用户该用户已存在。

6.1.2程序流程图

图6-1登录注册程序流程图

 

6.1.3关键类说明

DB:

负责数据库连接的类,包含了连接的创建、数据库的关闭、创建预处理对象,结果集对象;

User:

用户实体类,即JavaBean,囊括了用户的属性和get、setter方法;

UserDAO:

DAO层处理数据实现接口类,定义了读者业务操作的方法;

UserService:

service层用户相关业务的方法类,在该类中有用户登录验证方法publicbooleancheck(Stringusername,Stringpassword)方法,实现用户名和密码的验证,通过方法publicbooleansave(Stringusername,Stringpassword)实现用户的注册;

Regist:

负责注册处理并跳转的Servlet类,在该类的doGet()方法中调用UserService类中的save()方法将用户提交的信息提交到服务器完成注册,并根据save()的返回值跳转到相应的页面。

Login:

负责登录处理并跳转的Servlet类,在该类的doGet()方法中调用UserService类中的方法进行用户名和密码的验证,并根据验证结果跳转到相应的页面。

6.2用户管理设计

6.2.1程序流程图

图6-2用户管理流程图

6.2.2关键类说明

User:

教师实体类,即JavaBean,囊括了读者的属性和get、setter方法;

UserDAO:

DAO层处理数据实现接口类,定义了读者业务操作的方法;

UserService:

service层读者相关业务的方法类,包括publicbooleansave(Stringusername,Stringpassword)方法进行注册和添加用户操作,publicbooleandelete(intuserId)方法完成用户的删除以完成用户的注销,publicbooleanupdate(intuserId,Stringusername,Stringpassword)方法完成用户信息的更新,通过publicUserfindById(intuserId)方法可以根据用户Id查看用户信息,通过publicUserfindByName(Stringname)方法可以根据用户名进行查询用户信息,通过publicArrayListfindAll()取出数据库中所有读者的信息;

AddUser:

负责用户添加并跳转的Servlet类,在该类的doGet()方法中调用UserService类中的save()方法,将用户提交的数据通过处理提交到数据库中完成用户的添加,并根据save()的返回值跳转到相应的页面。

UpdateUser:

负责用户信息的更新并跳转的Servlet类,在该类的doGet()方法

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1