该系统模拟一个高校的研究生学籍管理系统,从学生、教务员、管理员三个角度,基本实现研究生管理系统的所有功能。
系统的API定义如下:

#API

###Index
管理员

学籍信息
添加学籍信息页面 学籍信息统计 查看与修改学籍信息 学分统计

选课安排
设置选课起止时间 公共课的添加与停课 查看选课情况 增选与退选

类的定义


管理员/pages/admin

学籍信息/pages/admin/SchoolRoll

添加学籍信息页面/Add.jsp

功能:包含已添加学生学籍列表,和正要添加的输入框。

action name: AddSchoolRoll
servlet name(Class): SampleProject.Admin.SchoolRoll.Add
page value:
(Student student)
(LoginForm loginForm)
其中在本页面中要用到的成员列表

class name explanation
LoginForm username 用户名(对于本页面赋值为学生学号)
LoginForm password 密码
LoginForm role 角色(0:学生/1:教务员/2:管理员 此项为0)
Student no 学号
Student name 学生姓名
Student gender 性别
Student birth 出生日期
Student id 身份证号码
Student dname 院系名称(通过查院系表得到)
Student mname 所在专业
Student domain 专业方向
Student enrollyear 入学年份
Student grade 所在年级
Student schoolyear 学制
Student tname 导师姓名(通过查教师表)
Student state 学籍状态(在籍/不在籍)
Student nationality 国籍
Student property 培养性质
Student mord 博士/硕士

说明:院系名称和导师姓名分别在院系表和教师表中查询。
院系名称应该是一个选择单?然后value与院系号对应

action return:
SUCCESS => /pages/admin/SchoolRoll/Add.jsp
ERROR => /pages/admin/SchoolRoll/Add.jsp(with validation error”添加失败”)

学籍信息统计/Statistics.jsp

功能:整理各个院系学生人数

action name: StatisticsSchoolRoll
servlet name(Class): SampleProject.Admin.SchoolRoll.Statistics
page value:

(int[][] map)二维数组表示 院系:人数

action return:
SUCCESS => /pages/admin/SchoolRoll/Statistics.jsp
ERROR => /pages/admin/SchoolRoll/Statistics.jsp(with validation error”数据库错误”)

查看与修改学籍信息/Alter.jsp

功能:查询已添加学生的学籍信息,可根据学生学号查询特定行

action name: AlterSchoolRoll
servlet name(Class): SampleProject.Admin.SchoolRoll.Alter
page value:

(Student student)
(Department department)

其中在本页面中要用到的成员列表

class name explanation
Student no 学号
Student name 学生姓名
Student gender 性别
Student birth 出生日期
Student id 身份证号码
Student dname 院系名称
Student mname 所在专业
Student domain 专业方向
Student enrollyear 入学年份
Student grade 所在年级
Student schoolyear 学制
Student tname 导师姓名
Student state 学籍状态(在籍/不在籍)
Student nationality 国籍
Student property 培养性质
Student mord 博士/硕士

说明:院系名称和导师姓名分别在院系表和教师表中查询。
修改学生信息那里院系名称应该是可选择列表

action return:
SUCCESS => /pages/admin/SchoolRoll/Alter.jsp
ERROR => /pages/admin/SchoolRoll/Alter.jsp(with validation error”修改失败”)

学分统计/CreditStatistics.jsp

功能:列表 |学号|姓名|院系|总学分数|

action name: CreditStatistics
servlet name(Class): SampleProject.Admin.SchoolRoll.CreditStatistics
page value:
(Credit creditStat)

class name explanation
Credit no 学号
Credit name 学生姓名
Credit department 院系
Credit credit 已修学分数

说明:其中已修学分数通过查课程Course、选课表SCourse、学生表Student获取

action return:
SUCCESS => /pages/admin/SchoolRoll/CreditStatistics.jsp
ERROR => /pages/admin/SchoolRoll/CreditStatistics.jsp(with validation error”查询失败”)

选课安排/pages/admin/CourseArrangement

设置选课起止时间/pages/admin/CourseArrangement/SetChooseCoursesTime

功能:设置全校学生选课起止时间
action name: SetChooseCoursesTime
servlet name(Class): SampleProject.Admin.CourseArrangement.SetChooseCoursesTime
page value:
(Date start)
(Date end)

action return:
SUCCESS => /pages/admin/CourseArrangement/SetChooseCoursesTime.jsp(“设置成功”)
ERROR => /pages/admin/CourseArrangement/SetChooseCoursesTime.jsp(with validation error”查询失败”)

公共课的添加与停课/pages/admin/CourseArrangement/AddOrDelete

功能:显示已有课程列表,开头有个添加框,每个上面都有删除按钮。
开设院系名称为选择框,面向类型为选择框

action name: AddOrDelete
servlet name(Class): SampleProject.Admin.CourseArrangement.AddOrDelete
page value:
PublicCourse publicCourse

class name explanation
PublicCourse cno 课程号
PublicCourse enname 英文名称
PublicCourse chname 中文名称
PublicCourse hour 学时
PublicCourse credit 学分
PublicCourse dno 开设院系号
PublicCourse campus 校区
PublicCourse startweek 起始周
PublicCourse endweek 结束周
PublicCourse maxnum 最大人数
PublicCourse totalnum 总人数
PublicCourse type 面向类型
PublicCourse num 外院系可选人数

说明:开设院系号和面向类型注意页面选择框的值的对应

action return:
SUCCESS => /pages/admin/CourseArrangement/AddOrDelete.jsp(“添加成功”)
ERROR => /pages/admin/CourseArrangement/AddOrDelete.jsp(with validation error”添加失败”)

查看选课情况/pages/admin/CourseArrangement/Search

功能:根据学生学号查询学生选课情况。
输入学号,跳转到学生的“查看已选课程”页面

action name: Search
servlet name(Class): SampleProject.Admin.CourseArrangement.Search
page value:
(char sno)

action return:
SUCCESS => /pages/student/……(学生的“查看已选课程页面。。。”)
ERROR => /pages/admin/CourseArrangement/Search.jsp(with validation error”查询失败”)

增选与退选/pages/admin/CourseArrangement/ChooseOrDelCourse

功能:输入学生学号,选择是选课还是退选,跳到该学生选课/退选时候的页面。(这个可不可以实现?)

action name: ChooseOrDelCourse
servlet name(Class): SampleProject.Admin.CourseArrangement.ChooseOrDelCourse
page value:
(char sno)
(int type)
type=0表示选课,type=1表示退选

action return:
SUCCESS type=0 => /pages/student/……(学生的“选课页面。。。”)
type=1 => /pages/student/……(学生的“退选页面。。。”)
ERROR => /pages/admin/CourseArrangement/ChooseOrDelCourse.jsp(with validation error”选课失败”)

类的定义

为什么定义类?
类的定义便于在程序中复用。比如教务员、管理员和学生都要查询学生信息。
对于学生来说,只需要查个人的信息,在查询时只需要建立Student类的一个实例。
对于管理员和教务员来说,查询的往往是一类学生的信息,在查询时就需要建立Student的List。

Class: Student(未完成,还要加上学生部分的)

name explanation
no 学号
name 学生姓名
gender 性别
birth 出生日期
id 身份证号码
dname 院系名称(通过查院系表得到)
mname 所在专业
domain 专业方向
enrollyear 入学年份
grade 所在年级
schoolyear 学制
tname 导师姓名(通过查教师表)
state 学籍状态(在籍/不在籍)
nationality 国籍
property 培养性质
mord 博士/硕士

Class: Credit

name explanation
no 学号
name 学生姓名
department 院系
credit 已修学分数

说明:其中已修学分数通过查课程Course、选课表SCourse、学生表Student获取

Class: PublicCourse

name explanation
cno 课程号
enname 英文名称
chname 中文名称
hour 学时
credit 学分
dno 开设院系号
campus 校区
startweek 起始周
endweek 结束周
maxnum 最大人数
totalnum 总人数
type 面向类型
num 外院系可选人数

说明:其中总人数作安排教室用