详细设计
演示地址
- 系统层次设计
系统分层:是对系统中的各种类进行统一的分组。其优点在于,将层与层之间的依赖降到最低,可以将一层当作一个有机整体并且可以替换某一层的具体实现,更有利于标准化工作。
系统分层的常用方法:
图5.1 三层服务结构图 |
- 三层服务:用户层、业务层、数据层;
- B/S架构的模式为:表示层、业务层、服务接口层、数据链接层;
- 系统项目规范
- 项目文件命名规范
该系统内的项目文件命名规范如下表所示:
表5.1 项目文件命名规范表
标识符 | 说明 |
T实体类名 | 表实体类,如T_AdminUser表的实体类为TAdminUser |
V实体类名 | 视图实体类,如V_AdminUser视图的实体类为VAdminUser |
业务逻辑类名DAO | 业务逻辑接口类,如AdminUserDao |
业务逻辑类名Impl | 业务逻辑实现类,如AdminUserDaoImpl |
控制类类名controller | 业务控制类,如后台用户管理的控制类AdminUserController |
- 系统功能类图设计
类图既UML图,是在开发系统时以面向对象的方式对各种类型的系统进行描述,是一种通用的建模语言,适用与系统的各个开发阶段,可对具有静态和动态行为的系统进行建模,从需求规格描述直到系统完成后的测试与维护。
图5.2 系统UML图 |
- 系统业务接口设计
系统业务接口根据功能模块进行设计,表中例举出需要实现的功能,且会详细说明接口实现所需要的参数与返回的结果。接口类设计如图所示:
图5.3 业务接口图 |
AdminUserDAO(后台用户信息管理业务类接口):
表5.2后台用户信息管理业务类接口表
接口名 | 参数 | 返回值 | 描述 |
getaAdminUserList | wherecondition、page、pageSize(查询条件、当前页、每页条数) | 成功返回List<VAdminUser>对象,失败返回null | 用户信息列表(带分页) |
getaAdminUserList | roleID(角色id) | 成功返回List<TroleB>对象,失败返回null | 根据角色查询用户列表 |
getaAdminUserList |
| 返回List<VAdminUser> | 返回所有用户列表 |
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<TroleB>,失败返回null | 查询用户角色信息 |
delAdminRole | TroleB(角色实体类) | 成功返回true,失败返回false | 删除角色信息 |
addAdminRole | TroleB(角色实体类) | 成功返回true,失败返回false | 添加角色信息 |
edlAdminRole | TroleB(角色实体类) | 成功返回true,失败返回false | 修改角色信息 |
CollegeDAO(后台学院信息管理业务类接口):
表5.4 后台学院信息管理业务类接口表
接口名 | 参数 | 返回值 | 描述 |
getCollegeList | wherecondition、page、pageSize(查询条件、当前页、每页条数) | 成功返回List<TCollege>对象,失败返回null | 学院信息列表(带分页) |
getCollegeList | wherecondition(查询条件) | 成功返回int,失败返回0 | 返回查询到的信息数量 |
getCollegeList |
| 成功返回List<TCollege>对象,失败返回null | 返回所有学院信息列表 |
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
”
| 管理员用户处理类 | 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地址,端口,用户名,密码。如图所示:
-
系统UI设计
图5.4系统登录页面图 |
用户登录后,首页左边包含用户登录判断权限后所能操作的信息管理,页面内显示日期的备注与记录、最新发布的公告信息与待处理的信息。如下图所示:
图5.6 系统管理图 |
图5.5 首页图 |
系统功能模块只允许管理员角色操作,功能包括:用户管理进行用户信息的按条件查询展示列表,对用户信息进行添加、修改、删除以及对用户状态的启用与禁用,角色管理是对角色信息添加、修改、删除,菜单管理是对菜单信息添加、修改与删除,角色权限管理是对角色进行条件查询,然后进行角色与菜单权限的授权与禁用,系统日志管理是查看系统各种日志信息以及删除。如下图所示:
基本信息管理模块允许管理员、院长、科长角色操作,功能包括公告管理与教师管理,公告信息管理进行公告信息的添加、修改与删除,教师信息管理进行教师信息、添加、修改、删除,以及对教师用户的状态进行开启与授权。如下图所示:
图5.7 基本管理图 |
学校管理模块允许管理员、院长、科长角色操作,功能包括学院管理、专业管理、班级管理,学院信息管理进行学院的添加、修改和删除,专业信息管理进行专业信息的添加、修改和删除,班级信息管理进行班级信息的添加、修改和删除。如下图所示:
图5.8 学校管理图 |
课程管理模块允许管理员、院长、科长、辅导员角色操作,功能包括学期管理、课程管理、任课管理,学期信息管理进行学期信息添加、修改、删除,课程信息管理进行课程信息的添加、修改、删除,任课管理是对授权教师与课程信息的绑定。如图所示:
图5.9 课程管理图 |
学生管理模块允许院长、科长、辅导员、任课教师角色操作,功能包括:学生信息管理是按照学院、专业、班级进行学生个人信息的汇总与统计,查询后业务员可对学生信息进行修改与删除,学生成绩管理是以学院、专业、班级以及课程对学生成绩信息的汇总与统计,查询后可查看详细信息,学生成绩评定是任课教师对任课班级内的学生进行打分与评价。如下图所示:
图5.10 学生信息管理图 |
学生登录系统后,可查看系统内管理员发出的公告信息,以及查看和修改自己的个人信息,能够按照学期查看个人的成绩信息。如下图所示:
图5.11 个人信息管理图 |