一、软件环境及开发工具

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. 数据库设计

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课设 学生信息管理系统相关推荐

  1. 学生信息管理系统c语言课设,学生信息管理系统C语言课设.doc

    学生信息管理系统C语言课设 目录 一.需求分析2 二.概要设计2 三.详细设计4 四.调试分析9 五.用户手册9 六.测试数据9 七.附录10 一.需求分析学生学籍管理系统用数据文件存放学生的学籍,可 ...

  2. C++课设-学生信息管理系统

    前言:上学期的一个简单的C++课设项目(代码在后面,附github项目链接) 一.问题描述: 建立学生信息数据,包括学号.姓名.性别.三科成绩.出生时间.年龄(必须计算得到). 使用继承的方法构造至少 ...

  3. Java实训学生信息_(java实训)学生信息管理系统.doc

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspJava (java实训)学生信息管理系统.doc9页 本文档一 ...

  4. Java Swing Mysql学生信息管理系统

    通过对Swing的理解 此篇为大家推荐基于JAVA Swing Mysql学生信息管理系统 本视频教程一共分为四个阶段,每个阶段都会是上一个阶段的扩展,每一个阶段的系统都可独立作为一个完整的系统 第一 ...

  5. Java课程设计-基于Java Swing的学生信息管理系统-版本二

    Java课程设计-基于Java Swing的学生信息管理系统-版本二 1.介绍 2.相关技术 3. 代码仓库 4.所需环境 5.安装教程 6.运行截图 7.相关博客 1.介绍 设计一个简单学生个人信息 ...

  6. java毕业生设计学生信息管理系统计算机源码+系统+mysql+调试部署+lw

    java毕业生设计学生信息管理系统计算机源码+系统+mysql+调试部署+lw java毕业生设计学生信息管理系统计算机源码+系统+mysql+调试部署+lw 本源码技术栈: 项目架构:B/S架构 开 ...

  7. Java课程设计——学生信息管理系统

    一.项目简介 二.项目构架图 三.团队成员任务简介 四.代码 五.项目运行图片 一.项目简介: 实现一个功能简单的学生信息管理系统,该系统具有按照账户名密码登录功能,登录后,可以添加,删除,修改.查询 ...

  8. Java+Swing+mysql学生信息管理系统

    Java+Swing+mysql学生信息管理系统 一.系统介绍 二.功能展示 1.管理员登陆 2.学生信息查询 3.学生信息添加 4.学生信息修改 5.删除 三.系统实现 1.StudentFrame ...

  9. java+SQL做学生信息管理系统(增删改查)

    java+SQL做学生信息管理系统(增删改查) [过程中需要用到的所有工具数据库以及数据库管理器等等] https://pan.baidu.com/s/1cLKJPKXauLCl-Vwah6wFIQ ...

最新文章

  1. python3各个版本是通用的吗-python3各版本
  2. linux下的tmpfs目录重启后文件全部消失
  3. Testng 测试框架源码阅读(一)
  4. URAL 1225 Flags
  5. Windows系统的MySQL目录结构
  6. 苹果Mac修改图标“偷梁换柱”的一种简单方法
  7. 选择适合你的开源 OLAP 引擎
  8. Github:深度学习文本检测识别(OCR)精选资源汇总
  9. 在未来人类在计算机行业中扮演什么角色,刘慈欣:未来人类可能生活在计算机里...
  10. 山西职业技术学院计算机宿舍怎么样,山西职业技术学院宿舍怎么样
  11. 《Android开发精要》读书笔记——Android应用模型
  12. 栈帧与操作数栈剖析及符号引用与直接引用的转换
  13. 收集的Word2007技巧大全
  14. 软件测试cpu性能测试案例,cpu测试(cpu性能测试软件)
  15. python中polyfit 之poly1d与polyval的含义
  16. 华为PPPoE、PPP/MP、IP-Trunk配置
  17. 第三方android 模拟器哪个好用吗,安卓模拟器哪个好 哪个电脑安卓模拟器好用...
  18. oracle误删数据恢复方法
  19. ArcGIS Pro 2019-nCoVn疫情热点图制作
  20. 嵌入式系统关于晶振的问题汇总

热门文章

  1. 从年仅12岁的AI开发者身上你学到了什么?
  2. 课程设计——学生成绩管理系统 C语言
  3. 第一张室内设计图(3D MAX)
  4. 简单理解条件随机场CRF
  5. 棋盘【NOIP2017】
  6. 手把手教你写软件8. 每日,每周自动定时任务
  7. 1181 质数中的质数(质数筛法)
  8. Maven Webapp项目中配置Tomcat
  9. 英语简述计算机的发展史,计算机的发展历史-简述计算机的发展史
  10. rdp远程连接windows和linux,详解 Linux 和 Windows 间的远程桌面访问