该系统使用springmvc+mybatis+mysql5.x+jsp+tomcat8.5+jdk1.8技术栈,使用eclipse作为开发工具
1.思路设计
什么是培养方案(百度):
人才培养方案应当体现专业教学标准规定的各要素和人才培养的主要环节要求,包括专业名称及代码、入学要求、修业年限、职业面向、培养目标与培养规格、课程设置、学时安排、教学进程总体安排、实施保障、毕业要求等内容,并附教学进程安排表等。学校可根据区域经济社会发展需求、办学特色和专业实际制订专业人才培养方案。
根据需求来看,就是一个可以自动生成培养方案的系统,也就是自动生成课表,当然自动生成课表也不是随便乱生成的,课表的生成范围应该是在“上级之下,同级之间”进行生成,也就是说,老师按一下按钮,就可以对相关的学生随机生成一个培养方案(挺有意思的功能)
2.模块设计
2.1.登录注册模块
----》登录和注册的模块【bwl】
----》加个拦截器
------学生登录的时候是根据权限来决定是否展示自己的培养方案
流程如下:学生一开始是没有培养方案的,所以一登录啥都没有,需要老师给他添加具体的培养方案,当方案添加后,学生登录时才能看到
2.2.修改课程
----》超管可以在这个模块修改课程的数据以及添加新的课程系列
--------预设权限:学生(1),老师(2),超管(3),权限越大所能操作的功能就越多
课程相关属性图如下
----》超管有权对相关老师和学生进行移除以及修改老师和学生的相关录入信息
-----这里规定:【学生(1),老师(2),超管(3)】
权限为3:可以修改老师和学生的个人注册信息,可以修改学生的培养方案的课程,但无法生成方案
权限为2:可以修改自己专业的学生的培养方案,其他操作仅为只读
权限为1:只有只读权限
2.3.课程列表模块
----》展示自己的课程信息(根据权限来制订)
权限3:显示所有的课程信息列表,可以增删改查
权限2:显示自己专业的课程信息列表,无法增删改查;
设计一个生成培养方案(也就是生成课程)的功能,生成之后学生登陆就能查看了
权限1:显示自己的专属培养方案,无法增删改查
2.4.图表展示模块
----》使用Echarts即可
------使用echarts.js来进行学分数据图表化的展示
2.5.个人信息模块
----》老师信息:展示相关信息(只能读取自己专业的学生信息)
-----点击查看个人信息,增加项目饱和度
----》学生信息:展示相关信息(能看到自己信息,但不能修改)
-----点击查看个人信息,增加项目饱和度
3.数据库的设计
经过分析之后,大致分成 ====》用户表---专业表---课程表1(老师+管理)---课程表2(学生)---大纲表
用户表:
id(主键id),name(用户名),major_id(专业的id,表示该用户所属哪个专业)pwd(密码),power(权限),memo1(备用字段),memo2(备用字段)
专业表:
id(主键id),name(专业名),memo1(备用字段),memo2(备用字段)
课程表1
(老师+管理【这个课程表是录入的所有的课程,老师和管理员可以查看】):id(主键id),property(属性),type(类别),StuHours(学时数),StuScore(预设学分数)【是否取得了学分?主要看是否用过了考试,通过了就拿3分的学分,不通过学分就是0】,lesson_id(课程号),lesson_name(课程名称),checktype(考核形式),major_id(所属专业的id),memo1(备用字段),memo2(备用字段)
课程表2
(老师+学生【这个课程表是针对于学生的,学生只能看到自己的培养方案】):id(主键id),property(属性),type(类别),StuHours(学时数),StuScore(自己得到的学分数【0/预设学分数】)【是否取得了学分?主要看是否用过了考试,通过了就拿3分的学分,不通过学分就是0】,lesson_id(课程号),lesson_name(课程名称),checktype(考核形式),major_id(所属专业的id),score(考试分数,由老师打分,当分数超过60则通过,反之未通过】),is_pass(是否通过考试【这个字段跟score字段同步,及格就显示“合格”,不及格就显示“不合格”】),is_again_exam(是否需要补考【这个字段跟score字段同步,及格就显示“不需要”,不及格就显示“需要”】),memo1(备用字段),memo2(备用字段)
大纲表:
需要怎么设计?是根据权限id来展现对应课程的课程大纲吗?如果是根据权限id来查看,应该如何绑定?
设计方案如下:列表展示之后会有课程的名字,将课程的名字变成一个超链接即可,直接在列表里面点击课程名即可跳转到相应的大纲页面
id(主键),outline(大纲内容)【内容较多,设计varchar(15000)】,memo1(备用字段),memo2(备用字段)
4.模拟流程
当管理员登陆
登陆成功之后左侧会显示出符合管理员权限的相关功能
左侧预设选项:1.用户信息;2.专业信息;3.课程信息;
1.点击用户信息,会出现所有的用户信息,可以对信息进行增删改查
2.点击专业信息,会出现所有的专业,可以对专业进行增删改查
3.点击课程信息,会出现所有的课程信息,可以对课程进行增删改查
当老师登陆
登陆成功之后左侧会显示出符合老师权限的相关功能
左侧预设选项:1.用户信息;2.课程信息;3.上传文件;4.学分统计
1.点击用户信息,会出现自己专业的所有学生的信息,只能进行只读操作,在对应用户的列表后面设计一个按钮【录入分数】,点击之后为学生打分,老师只需要打分(这里的分数默认百分制),之后系统会自动评判
2.课程信息;
点击课程信息,会出现所有的课程信息,只读不写
3.点击上传文件,就可以上传自己需要的文件
4.点击学分统计,就可以图表展示学生的学分
当学生登陆
登陆成功之后左侧会显示出符合学生权限的相关功能
左侧预设选项:1.课程信息
1.点击课程信息,会出现自己的所有的课程信息,以及课程的分数和学分数