java学生成绩管理系统,你的毕设我的心

一篇关于作者自己制作的学生成绩管理系统,旨在为毕设学生和初学者提供参考。系统包括登录模块、成绩查询、选课等功能,详细介绍了表结构和各个角色的权限。代码和更多内容可在作者的JavaWeb项目实例专栏获取。

当年从学校毕业做毕设的时候,网络还没有现在那么普遍,想要找个参考却也不容易,我当时是费了不少功夫才顺利的通过了答辩,所以最近就自己写了一个学生成绩管理系统,希望给做毕设的同学和刚入行做开发不久的同行,做个参考,应该会有一点的启发吧,从表的设计到代码的编写全部都是自己一手弄的,大家点个关注不过分吧!哈哈!

系统介绍

以学生成绩作为主题,辅以班级、学生、老师、课程、选课等管理模块(当然因为是做实例,也没有把所有的模块都涉及到)。

系统角色

1.admin 

admin是管理员,可以管理系统所有的模块,权限最大。

2.老师

老师拥有仅次于管理员的权限,除了选课、维护老师信息以外的所有功能。

3.学生

学生是权限最小的角色,仅有成绩查询、选课两个功能。

预览图:

登录

主页面

表结构介绍

  学生表

CREATE TABLE `student` (
  `no` varchar(12) NOT NULL COMMENT '学号',
  `pwd` varchar(6) NOT NULL COMMENT '密码',
  `name` varchar(32) default NULL COMMENT '名字',
  `gender` varchar(1) default NULL COMMENT '性别',
  `classes` varchar(4) default NULL COMMENT '班级',
  PRIMARY KEY  (`no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

老师表

CREATE TABLE `teacher` (
  `no` varchar(8) NOT NULL COMMENT '教师号',
  `pwd` varchar(6) NOT NULL COMMENT '密码',
  `name` varchar(32) default NULL COMMENT '名字',
  `gender` varchar(1) default NULL COMMENT '性别',
  `course` varchar(8) default NULL COMMENT '所授课程',
  PRIMARY KEY  (`no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

主菜单表

CREATE TABLE `menu` (
  `id` int(11) NOT NULL,
  `menuCode` varchar(8) default NULL COMMENT '菜单编码',
  `menuName` varchar(16) default NULL COMMENT '菜单名字',
  `menuLevel` varchar(2) default NULL COMMENT '菜单级别',
  `menuParentCode` varchar(8) default NULL COMMENT '菜单的父code',
  `menuClick` varchar(16) default NULL COMMENT '点击触发的函数',
  `menuRight` varchar(8) default NULL COMMENT '权限s表示学生,t表示老师,管理员拥有全部',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

班级表

CREATE TABLE `classes` (
  `id` int(11) NOT NULL default '3',
  `classNo` varchar(32) default NULL COMMENT '班级号',
  `className` varchar(32) default NULL COMMENT '班级名',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

课程表

CREATE TABLE `course` (
  `id` int(11) NOT NULL auto_increment COMMENT '主键',
  `code` varchar(8) NOT NULL COMMENT '科目编码',
  `course` varchar(32) NOT NULL COMMENT '科目名称',
  `courseType` varchar(4) default '2' COMMENT '课程类型,1必修,2选修',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;

成绩表

CREATE TABLE `score` (
  `id` int(11) NOT NULL auto_increment COMMENT '主键',
  `s_no` varchar(8) NOT NULL COMMENT '对应学号',
  `course` varchar(6) NOT NULL COMMENT '对应科目',
  `counts` varchar(32) default NULL COMMENT '分数',
  `year` varchar(8) default NULL COMMENT '年份',
  `term` varchar(2) default NULL COMMENT '学期',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8;

选课关联表

CREATE TABLE `student_course_rel` (
  `id` int(11) NOT NULL auto_increment,
  `student_no` varchar(8) default NULL COMMENT '学号',
  `course_code` varchar(8) default NULL COMMENT '课程编码',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;

系统模块介绍

1.登录模块

登录模块3个角色来分别登录,当选择管理员的时候用户名密码:admin/admin,因为目前是写的固定值,哈哈(偷懒),选择学生的话会查询student学生表验证,选择老师的话后台会去查teacher老师表来判断用户名密码是否正确(type为t代表 老师,s 代表学生,a代表管理员admin)

用学生登录后

现在页面做的比较简单,用frameset 来分为上、中、下三个部分;

  1. 上面是logo和退出系统
  2. 中间分为2个模块,左边为菜单,右边为主操作窗口,现在没搞东西在上面,哈哈
  3. 下面是日期和当前登录人

 学生的功能比较少

1.成绩查询

2.选课,列表的后面有选课的按钮(必选课不需要选择,默认了)。

老师的模块多一些

成绩管理

老师查询到自己授课内,所有人的成绩,可以添加、修改、删除成绩。

老师可以看到自己授课的人员选择情况,如果是必选课就能直接看到。

班级和课程的管理,目前老师是可以操作的,如果不想给也可以在menu表里面配置,比较方便。

配置s就学生有权限,如果t就表示老师有权限,同时配置表示老师和同学都有,admin则不需要配置,默认就全部都有。

老师信息维护(管理员才有的权限)

说说有哪些没有处理的

  1. 功能肯定有些不齐全、因为没有去调查,离开校园也很久了,估计表的设计没有那么合理吧,但是模板模样都有了,要加东西我觉得比较容易了。
  2. 样式什么的,没有怎么去处理,肯定不太好看。
  3. 时间比较仓促,没有花心思去测试,肯定会有些bug(有bug不是很正常吗?程序员都会碰到)。
  4. 文档我没写,自己看着办吧,嘿嘿。

代码获取方式:
订阅我的专栏 《JavaWeb项目实例 》后,可以 联系博主 获取专栏里面的【1-2份代码和文章】,专栏的文章都是上过csdn热榜的,值得信赖!专栏内目前有[6]篇实例,未来2个月内专栏会更新到15篇以上,一般一周一更,了解一下我的专栏《JavaWeb项目实例》

评论 57
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程界小明哥

请博主喝瓶水,博主持续输出!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值