当年从学校毕业做毕设的时候,网络还没有现在那么普遍,想要找个参考却也不容易,我当时是费了不少功夫才顺利的通过了答辩,所以最近就自己写了一个学生成绩管理系统,希望给做毕设的同学和刚入行做开发不久的同行,做个参考,应该会有一点的启发吧,从表的设计到代码的编写全部都是自己一手弄的,大家点个关注不过分吧!哈哈!
系统介绍
以学生成绩作为主题,辅以班级、学生、老师、课程、选课等管理模块(当然因为是做实例,也没有把所有的模块都涉及到)。
系统角色
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.登录模块
用学生登录后
现在页面做的比较简单,用frameset 来分为上、中、下三个部分;
- 上面是logo和退出系统
- 中间分为2个模块,左边为菜单,右边为主操作窗口,现在没搞东西在上面,哈哈
- 下面是日期和当前登录人
学生的功能比较少
1.成绩查询
2.选课,列表的后面有选课的按钮(必选课不需要选择,默认了)。
老师的模块多一些
成绩管理
老师查询到自己授课内,所有人的成绩,可以添加、修改、删除成绩。
老师可以看到自己授课的人员选择情况,如果是必选课就能直接看到。
班级和课程的管理,目前老师是可以操作的,如果不想给也可以在menu表里面配置,比较方便。
配置s就学生有权限,如果t就表示老师有权限,同时配置表示老师和同学都有,admin则不需要配置,默认就全部都有。
老师信息维护(管理员才有的权限)
说说有哪些没有处理的
- 功能肯定有些不齐全、因为没有去调查,离开校园也很久了,估计表的设计没有那么合理吧,但是模板模样都有了,要加东西我觉得比较容易了。
- 样式什么的,没有怎么去处理,肯定不太好看。
- 时间比较仓促,没有花心思去测试,肯定会有些bug(有bug不是很正常吗?程序员都会碰到)。
- 文档我没写,自己看着办吧,嘿嘿。
零基础学习Java编程,可以加入我的十年Java学习园地。