当年从学校毕业做毕设的时候,网络还没有当初那么广泛,想要找个参考却也不容易,我过后是费了不少功夫才顺利的通过了问难,所以最近就本人写了一个学生问题管理系统,心愿给做毕设的同学和刚入行做开发不久的同行,做个参考,应该会有一点的启发吧,从表的设计到代码的编写全部都是本人一手弄的,大家点个关注不过分吧!哈哈!
零碎介绍
以学生问题作为主题,辅以班级、学生、老师、课程、选课等治理模块(当然因为是做实例,也没有把所有的模块都波及到)。
零碎角色
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 来分为上、中、下三个局部;
- 下面是logo和退出零碎
- 两头分为2个模块,右边为菜单,左边为主操作窗口,当初没搞货色在下面,哈哈
- 上面是日期和以后登录人
学生的性能比拟少
1.问题查问
2.选课,列表的前面有选课的按钮(必选课不须要抉择,默认了)。
老师的模块多一些
问题治理
老师查问到本人授课内,所有人的问题,能够增加、批改、删除问题。
老师能够看到本人授课的人员抉择状况,如果是必选课就能间接看到。
班级和课程的治理,目前老师是能够操作的,如果不想给也能够在menu表外面配置,比拟不便。
配置s就学生有权限,如果t就示意老师有权限,同时配置示意老师和同学都有,admin则不须要配置,默认就全副都有。
老师信息保护(管理员才有的权限)
说说有哪些没有解决的
- 性能必定有些不齐全、因为没有去考察,来到校园也很久了,预计表的设计没有那么正当吧,然而模板模样都有了,要加货色我感觉比拟容易了。
- 款式什么的,没有怎么去解决,必定不太好看。
- 工夫比拟仓促,没有花心思去测试,必定会有些bug(有bug不是很失常吗?程序员都会碰到)。
- 文档我没写,本人看着办吧,嘿嘿。
零根底学习Java编程,能够退出我的十年Java学习园地。