JAVA课程设计 学生成绩管理
学生成绩管理
可实现功能:
- 添加学生功能:姓名、学号、性别、出生年月日。(学号自动生成且唯一)
- 添加学生成绩功能:每个人都有数学、Java与体育四门课,可分课程输入成绩。
- 根据学生学号查找学生成绩功能:在界面上显示姓名、学号和成绩,学号不存在的能给出提示信息。
- 根据学生姓名(支持模糊匹配)查找学生成绩功能:并在界面上显示姓名、学号和成绩,如果有多个相同姓名学生存在,一起显示出来,姓名不存在的给出提示信息。
- 生成学生学习情况报表功能:报表包含学号、姓名、各科目成绩及对应的该科目班级平均值,总成绩以及班级总成绩平均值。最后以总成绩平均值降序在图形界面输出,并可将该排序结果输出至excel文件。
- 支持对单个学生各科成绩画出柱状分布图。
- 学生信息的修改与删除功能:不能修改学号。
- 随机生成10万个学生测试:将其姓名、学号、成绩放入文本文件,以进行测试。(学号不相同,每科成绩以80分为中心成正态分本)
- 支持用户登录、验证操作.
一、 团队介绍
- 团队名称:学生委员队
- 团队成员:
张陈东芳[组长]:201521123001,网络1511班,咸鱼一枚;

黄绍桦:201521123014,网络1511,颜值担当;

戴建钊:201521123023,网络1511,颜值担当;

林健:201521145048,网络1511,颜值担当;

二、 项目git地址 https://git.oschina.net/dfcat/javakecheng
三、 项目git提交记录截图

四、 项目功能架构图与主要功能流程图
项目功能架构图

主要功能流程图

五、 项目运行截图
用户注册界面:

用户登录界面:

学生信息主界面:

查找学生成绩界面:

柱状分布图界面:

六、 项目关键代码
- 随机生成学生信息
strSql = "insert into scoreOfStu(name,gender,birthdate,javaScore,sportScore,mathScore,sumScore) values(?,?,?,?,?,?,?)";
- DAO模式
public interface StudentDao {
public boolean writeStudent(Student student);//添加学生
public Student readStudent(String name);//按名字查看某个学生信息
public boolean delete(int id);//删除学生信息
public Student findStudentById(int id);//按学号查找
public List<Student> findStudentByName(String name);//按姓名查找
public List<Student> diplayAllStudent();//显示所有学生信息
public boolean update(Student student);//修改学生信息or输入学生的成绩
public void LearningReport(List<Student> list); //生成学生学习情况报表;
}
七、尚待改进或者新的想法
可以添加学生登录功能,让学生进入查询自己的成绩;
学习要在实践中摸索才有实际成效,在编写函数的同时也提升了查找关键字的能力;
在规整代码的同时我们也发现了一些问题:
当界面上有多个窗口时要注意关闭窗口只关闭当前窗口,默认条件下回会将所有窗口关闭;
成绩的Double类型要规范小数点的位数为显示后两位;
输入学生信息后要判断学生信息的格式是否输入正确;
学生姓名为中文输入和输出,要注意格式,否则会出现乱码。
这次课设可以实现学生信息的增删改查、对单个学生各科成绩画出柱状分布图功能和将学生信息汇总成excel功能,但还未实现多名学生同时生成成绩对比图,柱状图的画面质感也有待改进;
希望在暑假能进一步完善功能,做出真正能够投入使用的学生成绩管理系统。
八、团队成员任务分配
张陈东芳[组长]:
主要负责柱状分布图、学生功能和成绩功能;
黄绍桦:
主要负责DAO模式编写、查找功能和学习情况报表;
戴建钊:
主要负责代码测试和代码整合;
林健:
主要负责数据库建立和显示界面设计;
团队成员课程设计博客链接:
||||||||||||||
|:--|:--|:--|
|姓名|博客链接
|张陈东芳|http://www.cnblogs.com/kawajiang/p/7063168.html
|黄绍桦|http://www.cnblogs.com/huangsh/p/7065531.html
|戴建钊|http://www.cnblogs.com/daijz/p/7065027.html
|林健|http://www.cnblogs.com/Lin-Big-Handsome/p/7065023.html
JAVA课程设计 学生成绩管理的更多相关文章
- Java课程设计——学生成绩管理系统(201521123003 董美凤)
Java课程设计--学生成绩管理系统(201521123003 董美凤) 1.团队课程设计博客链接 学生成绩管理系统博客链接 2.个人负责模块或任务说明 信息修改 密码修改 部分界面设计 3.自己的代 ...
- Java课程设计—学生成绩管理系统(201521123004-林艺如)
1.团队课程设计博客 团队课程设计博客链接 2.个人负责模块或任务说明 ①.Menu Menu.jsp 在页面中给出提示,用HTML的 MenuTeacher.jsp 利用Menu.jsp进行具体化完 ...
- Java课程设计—学生成绩管理系统(201521123005 杨雪莹)
一.团队课程设计博客链接 学生成绩管理系统 二.个人负责模块或任务说明 学生成绩录入 显示所有学生信息 显示各科平均成绩 显示学生成绩(按降序排序) 三.自己的代码提交记录截图 四.自己负责模块或任务 ...
- Java课程设计—学生成绩管理系统(201521123002 林楚虹)
1. 团队课程设计博客链接 团队博客链接 2.个人责模块或任务说明 根据学生学号查找学生成绩 根据学生姓名(支持模糊匹配)查找学生成绩 用POI技术导出Excel文件 3.自己的代码提交记录截图 4. ...
- Java课程设计—学生成绩管理系统
一. 团队名称.团队成员介绍(需要有照片) 团队名称:进击的712 团队成员 杨雪莹[组长] 201521123005 网络1511 林楚虹 201521123002 网络1511 董美凤 20152 ...
- Java课程设计--学生成绩管理系统
一.团队名称: 团队成员 林艺薇 201721123032 网络1712 黄毓颖 201721123033 网络1712 唐川 201721123034 网络1712 梁才玉 201721123038 ...
- Java课程设计—学生成绩管理系统(54号童欢)
1. 团队课程设计博客链接 http://www.cnblogs.com/wufuckshuo/p/7063183.html 2.个人责模块或任务说明 负责模块/任务:主函数(调用其他的功能函数),添 ...
- Java课程设计---学生信息管理系统需求分析及总体设计
按照软件工程实践的原则,开发大型程序需要经历需求分析.总体设计.详细设计.编码实现.系统测试.系统维护等几个阶段. 1.需求分析 本阶段是整个软件开发过程中最重要的环节.通过了解实际运行的系统或与用户 ...
- Java课程设计——学生基本信息管理
1.团队名称.团队成员介绍 团队名称:学生基本信息管理设计小组 团队成员:花雨芸(组长)--负责管理界面的编写 丁蓉(组员)--负责登陆的设计编写 2.项目git地址 https://git.osch ...
随机推荐
- JS之this
作为JS中比较容易让人迷糊,同时又很重要的难点. 关于this指向问题,我们始终要记住一句话,这句话对于理解this指向很重要.这句话是:this要在执行时才能确认它的值,定义时无法确认. this的 ...
- C++ Socket学习记录 -3
WinSocket套接字之间的数据传输 在客户端和服务端建立链接后,接着就是在套接字之间传输数据. 很简单的使用 recv 接收数据,用send发送数据,单但是出现一个问题,不管接收还是发送,数据都是 ...
- Python 使用一等函数实现设计模式
案例分析:重构"策略"模式 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Helvetica } 如果合理利用作为一等对 ...
- 简单实体类和xml文件的相互转换
最近写一个题目,要求将一组员工实体类转换成xml文件,或将xml文件转换成一组实体类.题目不难,但写完感觉可以利用泛型和反射将任意一个实体类和xml文件进行转换.于是今天下午立马动手 试了下,做了个简 ...
- canvas图形处理和进阶用法
前面的话 上一篇博客介绍了canvas基础用法,本文将更进一步,介绍canvas的图形处理和进阶用法 图形变换 图形变换是指用数学方法调整所绘形状的物理属性,其实质是坐标变形.所有的变换都依赖于后台的 ...
- [目标检测]YOLO原理
1 YOLO 创新点: 端到端训练及推断 + 改革区域建议框式目标检测框架 + 实时目标检测 1.1 创新点 (1) 改革了区域建议框式检测框架: RCNN系列均需要生成建议框,在建议框上进行分类与回 ...
- R语言安装加载包
问题描述 在国内因为镜像的原因,直接使用:install.packages("plyr")往往无法成功添加安装包 解决办法 使用国内镜像进行安装,添加repo参数,参考如下: in ...
- selenium元素定位大全
要做自动化,首先要了解页面结构,要了解页面结构,就要了解页面元素的定位方法 在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合B ...
- 201671010121 2016-2017-2《java程序设计》第一周学习总结
之前学了些C语言,学的也不是太懂,还算能读懂一些简答的代码吧,我觉得这就是进步.刚步入大二,在计算机这个专业里不刻苦是不行的.但是,到我拿到Java书的时候,真心是吓住我了,好厚的一本书啊,不过在老师 ...
- Mysql 掌握要点
1. 引擎 InnoDB与MyISAM的最大不同有两点:一是支持事务(TRANSACTION):二是采用了行级锁. 行级锁和表级锁本来就有许多不同之处,另外,事务的引入也带来了一些新问题. 1.1 I ...