一个简单的学生成绩管理信息系统(Java)
一个简单的学生成绩管理信息系统
题目:数据库要求:
1.建立的数据库中包含如下信息:学生学号、姓名、班级,语文、数学、英语成绩。
2.至少要有5个班级,每个班级要有10名以上学生。
3.使用.txt格式文本表示各种表。
功能需求:
1.能够实现根据以下关键字查询:学生姓名、学号、班级、课程名称。
2.能够实现按照单科成绩、总成绩、平均成绩、学号排序。
3.能够实现学生信息的插入、删除和修改。
4.能够查询每个课程的最高分、最低分及相应学生姓名、班级和学号。
5.能够查询每个班级某门课程的优秀率(90分及以上)、不及格率,并进行排序。
界面要求:
使用图形界面实现,要符合日常软件使用规范来设计菜单和界面。
需求分析:
界面:
要符合日常软件使用规范,使用方便,外形简洁美观。
功能需求:
存储学生学号、姓名、班级,语文、数学、英语成绩等信息,实现数据库的读取与存入,数据项的记录与修改,删除等。
设计思想:
类设计:
将添加数据、查询数据、删除数据、修改数据四个功能分别为四个类来实现,为了便于测试,每一个类都继承了主窗口类JFRAME,使得窗口可以独自运行。
INSERT类设计:
功能组件6个文本域、6个标签、1个按钮。
功能实现添加数据。
实现过程对按钮添加监控,实现按钮事件为获取文本域中的信息,并执行SQL的INSERT语句。
QUERY类设计:
功能组件5个按钮、三个单行文本组件、1个下拉框、1个多行文本。
功能实现按学号查询、按姓名查询、按班级查询、按课程查询、显示全部。
实现过程对按钮添加监控,共有五个监控事件,前三个实现按钮事件为先获取文本域中的信
息,根据对应查询的要求执行相应的SQL的SELLECT语句;按课程查询通过在下拉框中选择对应的选项,即查询相应的课程;第五个查询按钮将全部信息在多行文本框中输出。
MODIFY类设计:
功能组件6个单行文本、6个标签、1个按钮。
功能实现修改数据。
实现过程与添加数据类似,对按钮添加监控,实现按钮事件为获取文本域中的信息,并执行SQL的UPDATE语句;不同的是以学号为主键进行查并更新。
DELETE类设计:
功能组件1个单行文本、1个标签、1个按钮、1个多行文本。
功能实现删除数据。
实现过程与修改数据类似,对按钮添加监控,实现按钮事件为获取文本域中的学号信息,并执行SQL的DELETE语句;不同的是以学号为主键进行查并将删除信息输出到文本框中。
数据库设计
系统概念结构设计:
姓名
系统逻辑结构设计:
学生成绩信息表
字段名:学号、姓名、班级、语文、英语、数学
属性:ID、name、class、Chinese、English、Maths
类型:文本、文本、文本、长整数、长整数、长整数
空值:not null
约束条件:主键、从键、从简、班级、英语、数学、学号、语文
成绩查询系统
数据库截图:
主界面设计
MAINFRAME类设计:
功能组件:4个按钮、1个背景、2个标签文本、2个面板
功能实现:查询数据、添加数据、删除数据、修改数据
实现过程:对按钮添加监控,共有4个监控事件,实现按钮事件为创建对应功能的类对象,出现相应的功能窗口。
运行截图:
主界面:
java布局管理器添加数据:
查询数据:
按学号查询
按姓名查询
按班级查询
按课程名称查询
显示所有信息
修改数据:
删除数据:
实验感想:
通过此次课程设计,我学到了很多知识,将Java课上遗漏的知识又进一步补上。实践过程中遇到了很多困难,比如没学过数据库、SQL语句不熟、对eclipse的使用很生疏等,因此花费了很多时间在前期准备工作上。即使如此,也有一些功能尚未实现,例如查询优秀率、最高
分和最低分等,虽然比较简单,但由于时间问题还是没来得及做。由于本次试验的很多知识都是现学现用,以致很多地方的代码显得累赘繁琐。但总体上主要功能是实现了的,并且美化了一下主界面。
总之,此次课程设计让我获益匪浅,我将会继续把它完善做好。
源代码清单:
MainFrame类
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论