系统分层:是对系统中的各种类进行统一的分组。其优点在于,将层与层之间的依赖降到最低,可以将一层当作一个有机整体并且可以替换某一层的具体实现,更有利于标准化工作。
系统分层的常用方法:
该系统内的项目文件命名规范如下表所示:
表5.1 项目文件命名规范表
标识符 |
说明 |
T实体类名 |
表实体类,如T_AdminUser表的实体类为TAdminUser |
V实体类名 |
视图实体类,如V_AdminUser视图的实体类为VAdminUser |
业务逻辑类名DAO |
业务逻辑接口类,如AdminUserDao |
业务逻辑类名Impl |
业务逻辑实现类,如AdminUserDaoImpl |
控制类类名controller |
业务控制类,如后台用户管理的控制类AdminUserController |
类图既UML图,是在开发系统时以面向对象的方式对各种类型的系统进行描述,是一种通用的建模语言,适用与系统的各个开发阶段,可对具有静态和动态行为的系统进行建模,从需求规格描述直到系统完成后的测试与维护。
系统业务接口根据功能模块进行设计,表中例举出需要实现的功能,且会详细说明接口实现所需要的参数与返回的结果。接口类设计如图所示:
图5.3 业务接口图 |
表5.2后台用户信息管理业务类接口表
接口名 |
参数 |
返回值 |
描述 |
getaAdminUserList |
wherecondition、page、pageSize(查询条件、当前页、每页条数) |
成功返回List |
用户信息列表(带分页) |
getaAdminUserList |
roleID(角色id) |
成功返回List |
根据角色查询用户列表 |
getaAdminUserList |
|
返回List |
返回所有用户列表 |
getAdaminUserAmount |
wherecondition(查询条件) |
成功返回int,失败返回0 |
返回查询到的信息数量 |
addAdminUser |
Tuser(用户列表实体类) |
成功返回true对象,失败返回false |
添加用户 |
login |
VAdminUser(查询条件) |
成功返回VAdminUser对象,失败则null |
用户登录 |
delAdminUser |
Tuser(用户表实体类) |
成功返回true对象,失败返回false |
删除用户信息 |
updatePwd |
userid,pwd(用户名,密码) |
成功返回true对象,失败返回false |
修改用户密码 |
changeState |
userid(用户名) |
成功返回true对象,失败返回false |
修改用户状态 |
getuser |
userid(用户名) |
成功返回Tuser对象,失败返回null |
根据用户名查询信息 |
update |
Tuser(用户表实体类) |
成功返回true对象,失败返回false |
修改用户信息 |
AdminRoleDAO(角色管理业务类接口):
表5.3角色管理类接口表
接口名 |
参数 |
返回值 |
描述 |
getRolelist |
Opreation(查询条件) |
成功返回List |
查询用户角色信息 |
delAdminRole |
TroleB(角色实体类) |
成功返回true,失败返回false |
删除角色信息 |
addAdminRole |
TroleB(角色实体类) |
成功返回true,失败返回false |
添加角色信息 |
edlAdminRole |
TroleB(角色实体类) |
成功返回true,失败返回false |
修改角色信息 |
CollegeDAO(后台学院信息管理业务类接口):
表5.4 后台学院信息管理业务类接口表
接口名 |
参数 |
返回值 |
描述 |
getCollegeList |
wherecondition、page、pageSize(查询条件、当前页、每页条数) |
成功返回List |
学院信息列表(带分页) |
getCollegeList |
wherecondition(查询条件) |
成功返回int,失败返回0 |
返回查询到的信息数量 |
getCollegeList |
|
成功返回List |
返回所有学院信息列表 |
addCollege |
TCollege(学院实体类) |
成功返回true,失败返回null |
添加学院信息 |
delCollege |
TCollege(学院实体类) |
成功返回true,失败返回null |
删除学院信息 |
update |
TCollege(学院实体类) |
成功返回true,失败返回null |
修改学院信息 |
NoticeDAO(后台公告信息管理业务类接口):
表5.5后台公告信息管理业务类接口表
接口名 |
参数 |
返回值 |
描述 |
getNoticeList |
wherecondition、page、pageSize(查询条件、当前页、每页条数) |
成功返回List< TNotice>对象,失败返回null |
公告信息列表(带分页) |
getNoticeList |
wherecondition(查询条件) |
成功返回int,失败返回0 |
返回查询到的信息数量 |
addNotice |
TNotice(公告实体类) |
成功返回true,失败返回null |
添加公告信息 |
delNotice |
TNotice(公告实体类) |
成功返回true,失败返回null |
删除公告信息 |
update |
TNotice(公告实体类) |
成功返回true,失败返回null |
修改公告信息 |
CurriculumDAO(课程管理业务类接口):
表5.6课程管理类接口表
接口名 |
参数 |
返回值 |
描述 |
getVcurrList |
wherecondition、page、pageSize(查询条件、当前页、每页条数) |
成功返回List< VCurriculum >对象,失败返回null |
课程信息列表(带分页) |
getVcurrList |
wherecondition(查询条件) |
成功返回int,失败返回0 |
返回查询到的信息数量 |
getVcurrList |
|
成功返回List< VCurriculum >对象,失败返回null |
返回所有课程信息列表 |
addTCurr |
TCurriculum(课程实体类) |
成功返回true,失败返回null |
添加课程信息 |
delTCurr |
TCurriculum(课程实体类) |
成功返回true,失败返回null |
删除课程信息 |
update |
TCurriculum(课程实体类) |
成功返回true,失败返回null |
修改课程信息 |
CourseDAO(后台任课信息管理业务类接口):
表5.7 后台任课信息管理业务类接口表
接口名 |
参数 |
返回值 |
描述 |
getCourseList |
wherecondition、page、pageSize(查询条件、当前页、每页条数) |
成功返回List< VCourse >对象,失败返回null |
任课信息列表(带分页) |
getCourseList |
wherecondition(查询条件) |
成功返回int,失败返回0 |
返回查询到的信息数量 |
getCourseList |
|
成功返回List< VCourse >对象,失败返回null |
返回所有任课信息列表 |
getCourseList |
teacherid,classid(教师id,班级id) |
成功返回List< VCourse >对象,失败返回null |
根据条件返回任课信息列表 |
getVsheetList |
stuinfoid,ourseid(教师id,班级id) |
成功返回List< Vsheet >对象,失败返回null |
根据条件返回成绩信息列表 |
addTCourse |
TCourse(任课实体类) |
成功返回true,失败返回null |
添加任课信息 |
delTCourse |
TCourse(任课实体类) |
成功返回true,失败返回null |
删除任课信息 |
update |
TCourse(任课实体类) |
成功返回true,失败返回null |
修改任课信息 |
StudentDAO(学生管理业务类接口):
表5.8 学生管理类接口表
接口名 |
参数 |
返回值 |
描述 |
getVstuList |
wherecondition、page、pageSize(查询条件、当前页、每页条数) |
成功返回List< Vstudent >对象,失败返回null |
学生信息列表(带分页) |
getVstuList |
wherecondition(查询条件) |
成功返回int,失败返回0 |
返回查询到的信息数量 |
getVstuList |
wherecondition(查询条件) |
成功返回List< Vstudent >,失败返回null |
返回查询到的信息数量 |
getsheetList |
wherecondition、page、pageSize(查询条件、当前页、每页条数) |
成功返回List< Vsheet >对象,失败返回null |
学生成绩信息列表(带分页) |
getsheetList |
wherecondition(查询条件) |
成功返回int,失败返回0 |
返回查询到的信息数量 |
getVstudentList |
classid(班级id) |
成功返回List< Vstudent >对象,失败返回null |
根据班级查询学生信息 |
addsheet |
TSheet(学生成绩实体类) |
成功返回true,失败返回null |
添加学生成绩信息 |
upsheet |
TSheet(学生成绩实体类) |
成功返回true,失败返回null |
修改学生成绩信息 |
getSheet |
id(学生成绩id) |
成功返回TSheet,失败返回null |
获取学生成绩信息 |
getstu |
id(学生id) |
成功返回TStuinfo,失败返回null |
获取学生成绩信息 |
addStu |
TStuinfo(学生实体类) |
成功返回true,失败返回null |
添加学生信息 |
delStu |
TStuinfo(学生实体类) |
成功返回true,失败返回null |
删除学生信息 |
update |
TStuinfo(学生实体类) |
成功返回true,失败返回null |
修改学生信息 |
TeacherDAO(后台教师信息管理业务类接口):
表5.9 后台教师信息管理业务类接口表
接口名 |
参数 |
返回值 |
描述 |
getteacherList |
wherecondition、page、pageSize(查询条件、当前页、每页条数) |
成功返回List< VTeacher >对象,失败返回null |
教师信息列表(带分页) |
getteacherList |
wherecondition(查询条件) |
成功返回int,失败返回0 |
返回查询到的信息数量 |
getteacherList |
|
成功返回List< VTeacher >对象,失败返回null |
返回所有教师信息列表 |
getVteacherList |
userid(用户名) |
成功返回List< VTeacher >对象,失败返回null |
根据用户名查询教师 |
addTteacher |
Tteacher(教师实体类) |
成功返回true,失败返回null |
添加教师信息 |
delTteacher |
Tteacher(教师实体类) |
成功返回true,失败返回null |
删除教师信息 |
changeState |
Teacherid(教师id) |
成功返回true,失败返回null |
修改教师状态 |
update |
TCurriculum(教师实体类) |
成功返回true,失败返回null |
修改教师信息 |
系统交互动作接口设计信息如下所示,在控制类说明、方法名和方法功能中都有详细的文字描述。
图5.4 控制类图 |
表5.10 控制类表
控制类名称 |
控制类说明 |
请求方法名 |
方法功能 |
AdminControllerr url=”/ admin2 ”
|
管理员用户处理类 |
getNoticeList (HttpServletRequest request, intpage,intlimit,tringnoticename,HttpServletResponseresponse, Model model) url=”/getnotice” |
公告信息分页 |
addNotice(String noticeName,String noticecontent,String remarks,HttpServletRequest request,HttpServletResponse response, Model model) url=” deleteAdminRole” |
添加公告信息 |
||
getTeacherList (HttpServletRequest request, intpage,intlimit,tringnoticename,HttpServletResponseresponse, Model model) url=”/getnotice” |
教师信息分页 |
||
Addteacher(String teaName,String teaphone,String userid,String teasex, HttpServletRequest request, HttpServletResponse response, Model model) url=” addteacher” |
添加教师信息 |
||
changeUser(String userid, HttpServletRequest request,HttpServletResponse response, Model model) url=” changeuser” |
修改用户状态 |
||
GetLoacdtear(HttpServletRequestrequest,HttpServletResponse response, Model model) url=” loacdtea” |
加载教师下拉框 |
||
CollegeController url=”/ college ” |
学院信息处理类 |
getCollegeList(HttpServletRequest request, intpage,intlimit,tringnoticename,HttpServletResponseresponse, Model model) url=”/ getcollege” |
学院信息分页 |
addCollege(String collegeName,String userid, HttpServletRequest request, HttpServletResponse response, Model model) url=”/ getcollege” |
添加学院信息 |
||
upCollege(Integer collegeid,String collegeName,String userid, HttpServletRequest request, HttpServletResponse response, Model model) url=”/ upcollege” |
修改学院信息 |
||
getMajorList(HttpServletRequest request, intpage,intlimit,tringnoticename,HttpServletResponseresponse, Model model) url=”/ getmajor” |
专业信息分页 |
||
addMajor(String majorName,String userid, Integer collegeid, HttpServletRequest request, HttpServletResponse response, Model model) url=”/ addmajor” |
添加专业信息 |
||
getclass(HttpServletRequest request, intpage,intlimit,tringnoticename,HttpServletResponseresponse, Model model) url=”/ getclass” |
班级信息分页 |
||
addcalss(String calssName,String userid, Integer majorid, HttpServletRequest request, HttpServletResponse response, Model model) url=”/ addclass” |
添加班级信息 |
||
GetLoacduser(HttpServletRequestrequest,HttpServletResponse response, Model model) url=” loacduser” |
加载用户下拉框 |
||
CurrContrller url=”/ curr |
课程信息处理类 |
getcurrList(HttpServletRequest request, intpage,intlimit,tringnoticename,HttpServletResponseresponse, Model model) url=”/ getcurr” |
课程信息分页 |
addcurr(String curriName,Integer semesterid,String introduce, String remarks, HttpServletRequest request, HttpServletResponse response, Model model) url=”/ addcurri” |
添加课程信息 |
||
GetLoacdcurr(HttpServletRequestrequest,HttpServletResponse response, Model model) url=”/ loacdcurr” |
加载课程下拉框 |
||
getcourseList(HttpServletRequest request, intpage,intlimit,tringnoticename,HttpServletResponseresponse, Model model) url=”/ getcourse” |
任课信息分页 |
||
getSemesterList(HttpServletRequest request, intpage,intlimit,tringnoticename,HttpServletResponseresponse, Model model) url=”/ getsemester” |
学期信息分页 |
||
addcourseUser(Integer curriculumid,Integer teacherid,Integer classid, Stringremakes,HttpServletRequestrequest,HttpServletResponse response, Model model) url=”/ addcourse” |
添加任课信息 |
||
GetLoacdcurr(HttpServletRequestrequest,HttpServletResponse response, Model model) url=”/ loacdcurr” |
学期信息下拉框 |
||
GetLoacdsemester(HttpServletRequest request,Integer classid,HttpServletResponse response, Model model) url=”/ loacdseme” |
根据班级获取课程 |
图5.3 数据库图 |
本系统服务器部署于阿里云内,在电脑内下载navicat,在navicat中新建MySql连接,在链接属性中输入连接名,IP地址,端口,用户名,密码。如图所示:
图5.4系统登录页面图 |
用户登录后,首页左边包含用户登录判断权限后所能操作的信息管理,页面内显示日期的备注与记录、最新发布的公告信息与待处理的信息。如下图所示:
图5.6 系统管理图 |
图5.5 首页图 |
系统功能模块只允许管理员角色操作,功能包括:用户管理进行用户信息的按条件查询展示列表,对用户信息进行添加、修改、删除以及对用户状态的启用与禁用,角色管理是对角色信息添加、修改、删除,菜单管理是对菜单信息添加、修改与删除,角色权限管理是对角色进行条件查询,然后进行角色与菜单权限的授权与禁用,系统日志管理是查看系统各种日志信息以及删除。如下图所示:
基本信息管理模块允许管理员、院长、科长角色操作,功能包括公告管理与教师管理,公告信息管理进行公告信息的添加、修改与删除,教师信息管理进行教师信息、添加、修改、删除,以及对教师用户的状态进行开启与授权。如下图所示:
图5.7 基本管理图 |
学校管理模块允许管理员、院长、科长角色操作,功能包括学院管理、专业管理、班级管理,学院信息管理进行学院的添加、修改和删除,专业信息管理进行专业信息的添加、修改和删除,班级信息管理进行班级信息的添加、修改和删除。如下图所示:
图5.8 学校管理图 |
课程管理模块允许管理员、院长、科长、辅导员角色操作,功能包括学期管理、课程管理、任课管理,学期信息管理进行学期信息添加、修改、删除,课程信息管理进行课程信息的添加、修改、删除,任课管理是对授权教师与课程信息的绑定。如图所示:
图5.9 课程管理图 |
学生管理模块允许院长、科长、辅导员、任课教师角色操作,功能包括:学生信息管理是按照学院、专业、班级进行学生个人信息的汇总与统计,查询后业务员可对学生信息进行修改与删除,学生成绩管理是以学院、专业、班级以及课程对学生成绩信息的汇总与统计,查询后可查看详细信息,学生成绩评定是任课教师对任课班级内的学生进行打分与评价。如下图所示:
图5.10 学生信息管理图 |
学生登录系统后,可查看系统内管理员发出的公告信息,以及查看和修改自己的个人信息,能够按照学期查看个人的成绩信息。如下图所示:
图5.11 个人信息管理图 |