完整代码下载地址:基于JavaWeb的学生信息管理系统
一 绪论
随着信息技术在学生信息管理上的广泛应用,学生信息管理系统的实施在技术上已逐步成熟。学生信息的管理对于学校管理者来说至关重要,是学校不可缺少的数据资源。特别是近几年,学生数量的增多使学校的管理面临更大压力和挑战。目前大多数学校仍然采用传统的人工管理方式,对学生信息的管理还停留在纸介质的基础上,这既不易于规范化,管理效率也不高,浪费了大量人力物力财力。
作为计算机应用的一部分,使用计算机进行学生信息的管理,有着手工管理无法比拟的优点。本系统针对学校及学生的信息特点,可以对学生信息进行高效率、规范化的管理,大大减轻了人员的工作负担,并避免了人工管理时容易出现的错误。
1.2.1操作系统及配置
Windows 10 专业版 x64位,Pentium(R) Dual-Core CPU, 2GB
1.2.2编译环境
1.2.2.1)Eclipse Neon Release (4.6.0)
Eclipse是著名的跨平台开源集成开发环境(IDE)。最初主要用来Java语言开发,目前亦有人通过插件使其作为C++、Python、PHP等其他语言的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持,使得Eclipse拥有较佳的灵活性,所以许多软件开发商以Eclipse为框架开发自己的IDE。
1.2.2.2)JetBrains WebStorm 2016.2.4
WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。
1.2.2.3)Apache Tomcat v8.0
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
1.2.2.4)MySQL Workbench 6.3 CE
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于 Oracle 旗下产品。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS应用软件之一。由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。
Java,html,css,javascipt
二 需求分析
2.1面向人群
学校的学生信息管理人员以及老师和学生
2.2总体功能描述
本系统利用Java Web技术实现了学生信息管理系统,具有简单的学生信息管理功能。
实现了以下功能模块:
院系信息管理模块,学生信息管理模块,课程信息管理模块,成绩管理模块
并能根据登入用户的权限自动展示相关操作。
2.功能描述
2.3.1用户登录系统实现功能:
2.3.2管理员登录系统实现功能
1)对用户进行增删改查,用页面返回处理以及查询结果
2)对院系进行增删改查,用页面返回处理以及查询结果
3)对学生进行增删改查,用页面返回处理以及查询结果
4)对课程进行增删改查,并可以查看平均分、不及格率和成绩排名,用页面返回处理以及查询结果
5)对成绩进行增删改查,用页面返回处理以及查询结果
三 总体设计
3.1运行环境
硬件环境:Windows 7 及以上,处理器:Intel Pentium及以上,内存:2G以上
浏览器:IE9 以上及Chrome,FireFox,Safari等现代浏览器
3.2基本处理流程
3.2.1用户登录流程图
图3-2-1 用户登录流程图
3.2.2子模块操作处理流程图
图3-2-2 子模块操作处理流程图
3.3模块结构
3.3.1系统结构图
图3-3-1 系统结构图
3.3.2功能模块简介
用户管理模块:对用户的信息进行增删改查
院系管理模块:对院系的信息进行增删改查
班级管理模块:对班级的信息进行增删改查
学生管理模块:对学生的基本信息进行增删改查
课程管理模块:对课程进行增删改查,并能查看平均分,不及格率,成绩排名
四 详细设计
4.1子管理模块设计
4.1.1程序流程图
图4-1-1 程序流程图
4.1.2 算法描述
LoginServlet.java:负责处理用户登录操作
RegisterServlet.java:负责处理用户注册操作
AdminDao.java:一个Servlet文件,接收前台发送的操作指令
XXXDao.java:封装了关于该信息在数据库中增删改查的方法
DBUtils.java:封装了获取数据库连接和释放数据库连接的方法
Admin.jsp:管理员操作界面
User.jsp:用户操作界面
五 数据库设计
5.1概念结构设计
E-R图
图5-1 E-R图
本数据库有实体集:User(用户),Department(院系),Class(班级),Student(学生),Course(课程)
它们之间的联系有:1对1:Student和User
1对多:Department和Class,Class和Studen
多对多:Course和Student
5.2逻辑结构设计
关系模式(下划线为主键,#表示外键)
User(Username,Password,Level)
Department(Dno,Dname)
Class(Clno,Clname,#Dno)
Student(Sno,Sname,Ssex,Sage,#Clno)
Course(Cno,Cname,Cteacher,Ccredit)
SC(#Sno,#Cno,Grade)
5.3物理结构设计
表5-3 表汇总
表名 |
功能说明 |
User |
账号 |
Department |
院系 |
Class |
班级 |
Student |
学生 |
Course |
课程 |
SC |
成绩 |
表5-4 User表(用户表)
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
Username |
Char(12) |
非空 |
|
Password |
Char(12) |
空 |
|
Level |
Char(6) |
空 |
用户or管理员 |
表5-5 Department表(院系表)
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
Dno |
Char(12) |
非空 |
|
Dname |
Char(12) |
空 |
表5-6 Class表(班级表)
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
Clno |
Char(12) |
非空 |
|
Clname |
Char(12) |
空 |
|
Dno |
Char(12) |
空 |
表5-7 student表(学生表)
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
Sno |
Char(12) |
非空 |
|
Sname |
Char(8) |
空 |
|
Ssex |
Char(2) |
空 |
‘男’or‘女’ |
Sage |
Smallint(6) |
空 |
>0 |
Clno |
Char(12) |
空 |
表5-8 SC表(成绩表)
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
Sno |
Char(12) |
非空 |
|
Cno |
Char(12) |
非空 |
|
Grade |
Smallint(6) |
空 |
0~100 |
六 编码与测试
图6-1-1 登录界面
图6-1-2 登录失败界面
图6-1-3 管理员操作界面
图6-1-4 用户操作界面
完整代码下载地址:基于JavaWeb的学生信息管理系统