软件工程学籍管理系统API
该系统模拟一个高校的研究生学籍管理系统,从学生、教务员、管理员三个角度,基本实现研究生管理系统的所有功能。
系统的API定义如下:
#API
###Index
管理员
学籍信息
添加学籍信息页面 学籍信息统计 查看与修改学籍信息 学分统计
选课安排
设置选课起止时间 公共课的添加与停课 查看选课情况 增选与退选
管理员/pages/admin
学籍信息/pages/admin/SchoolRoll
添加学籍信息页面/Add.jsp
功能:包含已添加学生学籍列表,和正要添加的输入框。
action name:
AddSchoolRollservlet name(Class):
SampleProject.Admin.SchoolRoll.Addpage 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:
StatisticsSchoolRollservlet name(Class):
SampleProject.Admin.SchoolRoll.Statisticspage value:
(int[][] map)二维数组表示 院系:人数
action return:
SUCCESS => /pages/admin/SchoolRoll/Statistics.jsp
ERROR => /pages/admin/SchoolRoll/Statistics.jsp(with validation error”数据库错误”)
查看与修改学籍信息/Alter.jsp
功能:查询已添加学生的学籍信息,可根据学生学号查询特定行
action name:
AlterSchoolRollservlet name(Class):
SampleProject.Admin.SchoolRoll.Alterpage 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:
CreditStatisticsservlet name(Class):
SampleProject.Admin.SchoolRoll.CreditStatisticspage 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:
SetChooseCoursesTimeservlet name(Class):
SampleProject.Admin.CourseArrangement.SetChooseCoursesTimepage 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:
AddOrDeleteservlet name(Class):
SampleProject.Admin.CourseArrangement.AddOrDeletepage 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:
Searchservlet name(Class):
SampleProject.Admin.CourseArrangement.Searchpage value:
(char sno)
action return:
SUCCESS => /pages/student/……(学生的“查看已选课程页面。。。”)
ERROR => /pages/admin/CourseArrangement/Search.jsp(with validation error”查询失败”)
增选与退选/pages/admin/CourseArrangement/ChooseOrDelCourse
功能:输入学生学号,选择是选课还是退选,跳到该学生选课/退选时候的页面。(这个可不可以实现?)
action name:
ChooseOrDelCourseservlet name(Class):
SampleProject.Admin.CourseArrangement.ChooseOrDelCoursepage 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 | 外院系可选人数 |
说明:其中总人数作安排教室用