java课设 学生信息管理系统
一、软件环境及开发工具
Windows10 eclipse sqlite
二、课程设计功能要求
1.添加学生功能:姓名、学号、性别、出生年月日。(注意:学号自动生成,学号必须唯一)
2.添加学生成绩功能:假设每个人都选修了数学、Java与体育。但输入成绩的时候,一般是给所有学生输入某一门课程的成绩。
3.根据学生学号查找学生成绩,并在界面上显示姓名、学号和成绩,学号不存在的给出提示信息
4. 根据学生姓名(支持模糊匹配)查找学生成绩,并在界面上显示姓名、学号和成绩,如果有多个相同姓名学生存在,一起显示出来,姓名不存在的给出提示信息
*5. 生成学生学习情况报表:报表包含学号、姓名、各科目成绩及对应的该科目班级平均值,总成绩以及班级总成绩平均值。最后以总成绩平均值降序在图形界面输出,并可将该排序结果按照输出至"成绩表.txt"文件或者excel文件
6. 支持对学生信息的修改与删除(要在文件或数据库中有所体现),不能修改学号。
7.支持用户登录、验证操作
界面:GUI 或 Web
数据存储在数据库或者文件中,建议存储在数据库。
三、需求分析
1.信息需求
对学校而言,学生成绩管理系统是所有工作的首要之选,但是高校学生的成绩管理工作量大、繁杂,人工处理非常困难。因此,借助于强大计算机的处理能力,能够把人从繁重的成绩管理工作中解脱出来,并且更加准确、安全、清晰的管理环境。
2.功能需求
能够进行数据库的数据定义、数据操纵、数据控制等处理功能。
具体功能应包括:系统应该提供课程安排数据的添加、插入、删除、更新、查询;成绩的添加、修改、删除、查询,学生及教职工基本信息查询的功能。
3. 安全性与完整性要求
对于学生成绩管理系统数据库来讲,由于其主要数据是学生成绩,只能由本人以及所教老师及教务处知道,因此做好数据安全性是重中之重。另外,要求所有在校学生的信息都要录入其中,并且要设计好个别情况。
四、总体功能设计
1.登录功能。
输入账号和密码,当账户密码正确时跳转下一个页面,否则弹出提示密码或账户名不正确并清除输入框内的内容。如果输入错误,可以按reset按钮手动清除。
2.学生表的增加,修改,删除功能。
学生表增加通过姓名,性别,生日选项增加,学号自动生成。
学生表的删除通过学号删除。
学生表的更新需要输入所有字段。
3.课程表的增加,修改,删除功能。
课程表的增加通过课程号和课程名增加。
课程表的删除通过课程号的删除。
课程表的更新通过课程号,课程名更新。
4.成绩表的增加,修改,删除功能。
成绩表的增加通过姓名,课程号,成绩字段增加。
成绩表的修改需要输入所有字段。
成绩表的删除通过学号和课程号删除。
5.学生表中按姓名,学号查询成绩功能,支持模糊查询。
如果存在相同姓名的学生,则会一同显示出来。
支持模糊查询,可以输入不完整字段查询。
6.将成绩表导入到excel中。
使用POI技术将学生,课程,成绩导入到excel。
五、数据库设计
- 数据库设计
1.E-R图
2.关系模型
学生(学号,姓名,性别,生日)
课程(课程号,课程名)
成绩(学号,课程号,成绩)
关系模型满足BC范式要求。
六、应用程序设计
程序使用java实现,有图形界面。
1.文件目录结构
加粗为包名,包名下是包内的java文件。
BaseDAO
BaseDAO/BaseDAO.java
定义了一些获得DAO类的方法,便于后面直接用类调用类里的方法。
Constants
Constants/Constants.java
Constants/DAO.java
定义了程序中需要的常量和枚举类。
DAO
DAO/AdminDAO.java
DAO/CourseDAO.java
DAO/GradeDAO.java
DAO/StudentDAO.java
具体定义了对数据库四个表的查询修改更新方法,后面直接调用。
Database
Database/DBUtil.java
定义了数据库连接,关闭方法,定义了对数据库的基本的增删查改的方法。
Main
Main/Main.java
主程序,初始化数据库,对四个表进行定义,并调用登录窗口开始程序。
Model
Model/Admin.java
Model/Course.java
Model/Grade.java
Model/Result.java
Model/Result2.java
Model/Student.java
定义了一些需要的模型,数据库与用户的交互通过这些模型中转,数据库查询的结果先保存到这些模型里,再输出到窗口,同理,用户查询的数据先输入到模型里,再传到数据库里。
Windows
Windows/CourseAddWindow.java
Windows/CourseDeleteWindow.java
Windows/CourseUpdateWindow.java
Windows/CourseWindow.java
Windows/GradeAddWindow.java
Windows/GradeDeleteWindow.java
Windows/GradeUpdateWindow.java
Windows/GradeWindow.java
Windows/Login.java
Windows/MainWindow.java
Windows/QuaryWindow.java
Windows/StudentAddWindow.java
Windows/StudentDeleteWindow.java
Windows/StudentUpdateWindow.java
Windows/StudentWindow.java
定义的需要的界面,登录,学生表,课程表,成绩表等。
运行截图:
代码已上传github:wuhuxp/java-course-design: 简单学生管理系统 (github.com)https://github.com/wuhuxp/java-course-design
java课设 学生信息管理系统相关推荐
- 学生信息管理系统c语言课设,学生信息管理系统C语言课设.doc
学生信息管理系统C语言课设 目录 一.需求分析2 二.概要设计2 三.详细设计4 四.调试分析9 五.用户手册9 六.测试数据9 七.附录10 一.需求分析学生学籍管理系统用数据文件存放学生的学籍,可 ...
- C++课设-学生信息管理系统
前言:上学期的一个简单的C++课设项目(代码在后面,附github项目链接) 一.问题描述: 建立学生信息数据,包括学号.姓名.性别.三科成绩.出生时间.年龄(必须计算得到). 使用继承的方法构造至少 ...
- Java实训学生信息_(java实训)学生信息管理系统.doc
您所在位置:网站首页 > 海量文档  > 计算机 > Java (java实训)学生信息管理系统.doc9页 本文档一 ...
- Java Swing Mysql学生信息管理系统
通过对Swing的理解 此篇为大家推荐基于JAVA Swing Mysql学生信息管理系统 本视频教程一共分为四个阶段,每个阶段都会是上一个阶段的扩展,每一个阶段的系统都可独立作为一个完整的系统 第一 ...
- Java课程设计-基于Java Swing的学生信息管理系统-版本二
Java课程设计-基于Java Swing的学生信息管理系统-版本二 1.介绍 2.相关技术 3. 代码仓库 4.所需环境 5.安装教程 6.运行截图 7.相关博客 1.介绍 设计一个简单学生个人信息 ...
- java毕业生设计学生信息管理系统计算机源码+系统+mysql+调试部署+lw
java毕业生设计学生信息管理系统计算机源码+系统+mysql+调试部署+lw java毕业生设计学生信息管理系统计算机源码+系统+mysql+调试部署+lw 本源码技术栈: 项目架构:B/S架构 开 ...
- Java课程设计——学生信息管理系统
一.项目简介 二.项目构架图 三.团队成员任务简介 四.代码 五.项目运行图片 一.项目简介: 实现一个功能简单的学生信息管理系统,该系统具有按照账户名密码登录功能,登录后,可以添加,删除,修改.查询 ...
- Java+Swing+mysql学生信息管理系统
Java+Swing+mysql学生信息管理系统 一.系统介绍 二.功能展示 1.管理员登陆 2.学生信息查询 3.学生信息添加 4.学生信息修改 5.删除 三.系统实现 1.StudentFrame ...
- java+SQL做学生信息管理系统(增删改查)
java+SQL做学生信息管理系统(增删改查) [过程中需要用到的所有工具数据库以及数据库管理器等等] https://pan.baidu.com/s/1cLKJPKXauLCl-Vwah6wFIQ ...
最新文章
- python3各个版本是通用的吗-python3各版本
- linux下的tmpfs目录重启后文件全部消失
- Testng 测试框架源码阅读(一)
- URAL 1225 Flags
- Windows系统的MySQL目录结构
- 苹果Mac修改图标“偷梁换柱”的一种简单方法
- 选择适合你的开源 OLAP 引擎
- Github:深度学习文本检测识别(OCR)精选资源汇总
- 在未来人类在计算机行业中扮演什么角色,刘慈欣:未来人类可能生活在计算机里...
- 山西职业技术学院计算机宿舍怎么样,山西职业技术学院宿舍怎么样
- 《Android开发精要》读书笔记——Android应用模型
- 栈帧与操作数栈剖析及符号引用与直接引用的转换
- 收集的Word2007技巧大全
- 软件测试cpu性能测试案例,cpu测试(cpu性能测试软件)
- python中polyfit 之poly1d与polyval的含义
- 华为PPPoE、PPP/MP、IP-Trunk配置
- 第三方android 模拟器哪个好用吗,安卓模拟器哪个好 哪个电脑安卓模拟器好用...
- oracle误删数据恢复方法
- ArcGIS Pro 2019-nCoVn疫情热点图制作
- 嵌入式系统关于晶振的问题汇总