详细设计
演示地址
系统分层:是对系统中的各种类进行统一的分组。其优点在于,将层与层之间的依赖降到最低,可以将一层当作一个有机整体并且可以替换某一层的具体实现,更有利于标准化工作。
系统分层的常用方法:
-
图5.1 三层服务结构图

三层服务:用户层、业务层、数据层; - B/S架构的模式为:表示层、业务层、服务接口层、数据链接层;
- 项目文件命名规范
该系统内的项目文件命名规范如下表所示:
表5.1 项目文件命名规范表
| 标识符 | 说明 |
| T实体类名 | 表实体类,如T_AdminUser表的实体类为TAdminUser |
| V实体类名 | 视图实体类,如V_AdminUser视图的实体类为VAdminUser |
| 业务逻辑类名DAO | 业务逻辑接口类,如AdminUserDao |
| 业务逻辑类名Impl | 业务逻辑实现类,如AdminUserDaoImpl |
| 控制类类名controller | 业务控制类,如后台用户管理的控制类AdminUserController |
类图既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 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 个人信息管理图 |

本文深入解析了系统架构设计的关键要素,包括系统分层、项目文件命名规范、UML类图设计、业务接口设计等,同时提供了详细的控制类及功能模块说明,涵盖了用户管理、角色管理、学院管理等多个方面。






