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

零碎介绍

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

零碎角色

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学习园地。