zl程序教程

您现在的位置是:首页 >  后端

当前栏目

基于Java(Spring+Struts+Hibernate 框架)实现(Web)学生课程管理系统【100010038】

2023-09-11 14:17:50 时间

课程管理系统设计文档

二、引言

2.1 目的

​ 本文档详细描述了课程管理系统的设计,达到引导开发的作用,同时实现测试人员以及用户的沟通。

​ 本文档面向开发人员,测试人员以及最终用户编写,是了解系统的导航。

2.2 范围

​ 课程管理系统是方便教学管理,有管理员对用户和课程的管理,学生可以方便的查找自己的课程,提交作业,查看课程作业。老师可以布置作业,安排助教批改作业,安排选课学生,安排课程助教。同时有教学管理人员对学生情况,课程情况进行统计。

三、架构设计

此项目采用 MVC 架构,使用 Spring+Struts+Hibernate 框架

四、类的设计

4.1 业务逻辑层分解

4.1.1 业务逻辑层模块职责

模块职责
UserManage负责用户模块所需要的服务
CourseManage负责课程模块所需要的服务
AssignmentManage负责作业模块所需要的服务

4.1.2 业务逻辑层模块接口规范

userManage 模块

模块概述

​ userManage 模块负责用户的登陆注册,设置个人资料,获得全部用户列表,查找用户等功能。

userManage 接口规范

提供的服务(供接口)提供的服务(供接口)提供的服务(供接口)
userManage. validateUser语法public User validateUser(String userid, String password);
userManage. validateUser前置条件userid 和 password 不为空
userManage. validateUser后置条件验证用户名和密码是否匹配
userManage. registerUser语法public String registerUser(User user);
userManage. registerUser前置条件user 不为空
userManage. registerUser后置条件数据库中添加一条 User 用户
userManage. userList语法public List userList();
userManage. userList前置条件
userManage. userList后置条件返回全部用户列表
userManage. delete语法public void delete(User user);
userManage. delete前置条件user 不为空
userManage. delete后置条件删除此条 user 记录
userManage. update语法public void update(User user);
userManage. update前置条件user 不为空
userManage. update后置条件更新此条 user 记录
userManage. findUser语法public User findUser(String id);
userManage. findUser前置条件id 不为空
userManage. findUser后置条件返回此 id 的 user 记录

CourseManage 模块

模块概述

​ CourseManage 模块提供课程的添加删除修改,课程老师添加,添加课程助教,选课学生等功能

CourseManage 接口规范

提供的服务(供接口)提供的服务(供接口)提供的服务(供接口)
CourseManage. setCourse语法public String setCourse(Course course);
CourseManage. setCourse前置条件course 不为空
CourseManage. setCourse后置条件数据库中添加一条课程记录
CourseManage. courseList语法public List courseList();
CourseManage. courseList前置条件
CourseManage. courseList后置条件返回全部课程的列表
CourseManage. delete语法public void delete(Course course);
CourseManage. delete前置条件course 不为空
CourseManage. delete后置条件删除数据库中的此课程数据
CourseManage. update语法public void update(Course course);
CourseManage. update前置条件course 不为空
CourseManage. update后置条件更新数据库中的此课程数据
CourseManage. findCourse语法public Course findCourse(String cid);
CourseManage. findCourse前置条件cid 不为空
CourseManage. findCourse后置条件返回符合条件 cid 的课程
CourseManage. addCourseAssistant语法public void addCourseAssistant(String courseid, String assid);
CourseManage. addCourseAssistant前置条件courseid 和 assid 分别有数据库中的数据,且不能重复添加,assid 不能是选课学生
CourseManage. addCourseAssistant后置条件数据库中添加一条数据
CourseManage. findCourseAssistant语法public CourseAssistants findCourseAssistant(String assid, String courseid);
CourseManage. findCourseAssistant前置条件courseid 和 assid 分别有数据库中的数据
CourseManage. findCourseAssistant后置条件返回对应的猪脚信息
CourseManage. findAssistant;语法public List findAssistant(String cid);
CourseManage. findAssistant;前置条件cid 不为空
CourseManage. findAssistant;后置条件返回对应课程的全部猪脚
CourseManage. deleteAssistant;语法public void deleteAssistant(String assid, String courseid);
CourseManage. deleteAssistant;前置条件courseid 和 assid 分别有数据库中的数据
CourseManage. deleteAssistant;后置条件删除数据库中的数据
CourseManage. addCourseStudent;语法public void addCourseStudent(String courseid, String stuid);
CourseManage. addCourseStudent;前置条件courseid 和 stuid 分别有数据库中的数据,且不能重复添加,成为助教的学生不能选课
CourseManage. addCourseStudent;后置条件添加一条选课学生记录
CourseManage. findCourseStudent;语法public CourseStudent findCourseStudent(String stuid, String courseid);
CourseManage. findCourseStudent;前置条件courseid 和 stuid 分别有数据库中的数据
CourseManage. findCourseStudent;后置条件返回一条选课学生记录
CourseManage. findStudent;语法public List findStudent(String cid);
CourseManage. findStudent;前置条件cid 不能为空
CourseManage. findStudent;后置条件返回对应课程的全部学生
CourseManage. deleteStudent;语法public void deleteStudent(String uid, String courseid);
CourseManage. deleteStudent;前置条件courseid 和 stuid 分别有数据库中的数据
CourseManage. deleteStudent;后置条件删除数据库中的选课学生记录
CourseManage. myCourseList;语法public List myCourseList(String userid);
CourseManage. myCourseList;前置条件userid 不为空
CourseManage. myCourseList;后置条件返回 userid 的全部课程

AssignmentManage 模块

模块概述

​ AssignmentManage 模块提供作业方面的服务,包括老师布置作业,修改作业,删除作业,学生提交作业等

AssignmentManage 接口规范

提供的服务(供接口)提供的服务(供接口)提供的服务(供接口)
AssignmentManage. setAssignment语法public void setAssignment(Assignment assignment);
AssignmentManage. setAssignment前置条件assignment 不为空
AssignmentManage. setAssignment后置条件添加一条作业记录
AssignmentManage. findAssignment语法public List findAssignment(String cid);
AssignmentManage. findAssignment前置条件cid 不为空
AssignmentManage. findAssignment后置条件返回对应课程的全部作业
AssignmentManage. addStudentAssignment语法public void addStudentAssignment(StudentAssignment sa);
AssignmentManage. addStudentAssignment前置条件sa 不为空
AssignmentManage. addStudentAssignment后置条件添加一条学生提交作业记录
AssignmentManage. findStudentAssignment语法public StudentAssignment findStudentAssignment(String studentid, String assignmentid);
AssignmentManage. findStudentAssignment前置条件studentid,assignmentid 不为空,且对应数据库中有数据
AssignmentManage. findStudentAssignment后置条件返回此条学生提交作业的记录
AssignmentManage. findAllStudentAssignment语法public List findAllStudentAssignment(String cid);
AssignmentManage. findAllStudentAssignment前置条件cid 不为空
AssignmentManage. findAllStudentAssignment后置条件返回对应课程所有的学生提交的作业
AssignmentManage. updateStudentAssignment语法public void updateStudentAssignment(StudentAssignment sa);
AssignmentManage. updateStudentAssignment前置条件sa 不为空
AssignmentManage. updateStudentAssignment后置条件更新此条学生作业记录

五、数据库设计

  • 老师布置作业表 assignment
ColumnNameDataTypePKNotNullDefault
idVARCHAR(255)
correctDeadlinedate
deadlinedate
descriptionTEXTNULL
filePathVARCHAR(255)NULL
formatVARCHAR(255)NULL
scoreINTNULL
courseidVARCHAR(255)NULL
fileNameVARCHAR(255)NULL
  • 课程表 course
ColumnNameDataTypePKNotNullDefault
idVARCHAR(255)
descriptionTEXTNULL
semesterdateNULL
instructorVARCHAR(255)NULL
cnameVARCHAR(255)NULL
enddateNULL
  • 课程助教表 courseassistants
ColumnNameDataTypePKNotNullDefault
idVARCHAR(255)
assistantidVARCHAR(255)NULL
courseidVARCHAR(255)NULL
  • 选课学生表 coursestudent
ColumnNameDataTypePKNotNullDefault
idVARCHAR(255)
courseidVARCHAR(255)NULL
studentidVARCHAR(255)NULL
  • 学生作业表 studentassignment
ColumnNameDataTypePKNotNullDefault
idVARCHAR(255)
assignmentidVARCHAR(255)NULL
studentidVARCHAR(255)NULL
fileNameVARCHAR(255)NULL
  • 用户表 user
ColumnNameDataTypePKNotNullDefault
idVARCHAR(255)
idenintNULL
mailVARCHAR(255)NULL
nameVARCHAR(255)NULL
passwordVARCHAR(255)NULL
phoneVARCHAR(255)NULL
sexintNULL
useridVARCHAR(255)NULL
avatarVARCHAR(255)NULL

♻️ 资源

在这里插入图片描述

大小: 902KB
➡️ 资源下载:https://download.csdn.net/download/s1t16/87248398