乐趣区

关于java:你的毕设我的心之学生成绩管理系统

当年从学校毕业做毕设的时候,网络还没有当初那么广泛,想要找个参考却也不容易,我过后是费了不少功夫才顺利的通过了问难,所以最近就本人写了一个学生问题管理系统,心愿给做毕设的同学和刚入行做开发不久的同行,做个参考,应该会有一点的启发吧,从表的设计到代码的编写全部都是本人一手弄的,大家点个关注不过分吧!哈哈!

零碎介绍

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

零碎角色

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. 文档我没写,本人看着办吧,嘿嘿。

零根底学习 Java 编程,能够退出我的十年 Java 学习园地。

退出移动版