1 体系结构设计
功能结构图
学生选课管理系统划分为子系统后,每个子系统都可以视为系统总体目标下的第一层功能。每个功能还可以往下继续向下分解,逐层细化。学生选课管理系统结构图就是按照系统功能的从属关系画的图。在图中,每一个方框成为一个功能或功能模块。每个功能模块的大小有具体情况而定。图1.1为学生选课管理系统的功能结构图。
图1.1学生选课管理系统结构功能图
2 界面设计
2.1登陆界面
页面布局:居中对齐,包括登录表单和注册链接。表单内容包括用户名和用户密码,有登录按钮和注册按钮。颜色:底色为灰白色,方便用户清晰地查看要填写地内容;表单头为深蓝色,符合海洋类学校的主题。字体:使用宋体简体字,符合大部分人的需求且简洁易看。
2.2注册界面
页面布局:居中对齐,包括登录表单和登录链接。表单内容有用户名、密码、再次确认密码和用户其他详信息,如手机号、邮箱等。颜色:底色为灰白色,方便用户清晰地查看要填写地内容;表单头为浅蓝色,既符合海洋类学校的主题又能与登录界面的表单区分开来,方便用户使用。字体:使用宋体简体字,符合大部分人的需求且简洁易看。
2.3学生用户主页
页面布局:页面左侧是学生个人信息,包括学生头像、学号、姓名和已经选择的课程信息。右侧是可选择的课程列表。颜色:浅色系打底,方便学生查看信息。字体:使用宋体简体字,课程名称等重要信息用较大号字体。
2.4教师用户主页
页面布局:页面左侧是教师的个人信息,包括教师头像、教师编号、姓名和授课情况。右侧是需要授课的课程列表,点击可以查看选择该门课程的学生表。颜色:浅色系打底,方便教师查看信息。字体:使用宋体简体字,课程名称等重要信息用较大号字体。
2.5管理员用户主页
页面布局:包括课程管理、学生管理和教师管理等模块,每个模块都有对应的菜单和操作按钮。颜色:浅色系打底,方便管理员查看信息和进行操作。字体:使用宋体简体字。
2.6课程详情页面
页面布局:包括课程的基本信息、授课教师、上课时间和上课地点等。颜色:浅色系为主,带有深色渐变让页面看起来更加精美。字体:使用宋体简体字。
2.7课程确认页面
页面布局:包括课程的基本信息和确认按钮。颜色:浅色系为主,方便查看课程信息。字体:使用宋体简体字。
3 数据库设计
学生网上选课系统运行中产生的数据需要按照提前设置的存储规则进行保存,设计出一个符合项目的最优数据存储格式,因为它能减少用户的等待时间,还可以对系统的请求在最短时间内进行响应。所以,对数据库设计时,需要对功能需求进行详细的拆分,以及对业务状态的细分,然后设计具体的存储规则,保证数据库能正常运作,缩短数据处理时间,并在一定程度上降低数据冗余,节省存储空间。
3.1概要设计
概要设计依据对于现实世界的关系的调研、了解、分析而后得到的实体对象有哪些,对象有哪些特征,它们之间的关系是1对1,还是1对多,多对多。上述问题都梳理清楚后,就可以用关系图的方式表现出来概念结构,即实体关系图(E-R图)。图3.1是学生选课管理系统的实体关系图。
图3.1 学生选课管理系统实体关系图
3.2详细设计
数据库详细设计,即将概要设计中的实体关系转化成相应的关系模式,并设计为数据库中的关系表,每个属性用合适的类型和长度存储,并设置主键和相关约束,即可完成数据的设计,满足应用程序对于数据的存储、插入、删除要求。将系统中各个类与数据库的表进行映射,可以更加清晰的看到系统中各类与数据库中表的关系,方便后续的开发以及数据库的操作提供了基础。表3.2是选课系统中各个类与数据库中表的映射关系,表3.2.1至表3.2.5是数据库中各表的属性值和相关约束。
类名
学生
教师
课程
选课
管理员
表名
Student
Teacher
Course
Selection
Administrator
表3.2 系统中各类与数据库中表的映射关系
字段
类型
宽度
允许空值
主键
外键
是否唯一
说明
s_id
Char
12
Not null
是
是
唯一标识
s_name
Varchar
30
学生姓名
表3.2.1 Student(学生)表
字段
类型
宽度
允许空值
主键
外键
是否唯一
说明
t_id
Char
12
Not null
是
是
唯一标识
t_name
Varchar
30
教师姓名
表3.2.2 Teacher(教师)表
字段
类型
宽度
允许空值
主键
外键
是否唯一
说明
a_id
Char
12
Not null
是
是
唯一标识
a_name
Varchar
30
管理员姓名
表3.2.3 Administrator(管理员)表
字段
类型
宽度
允许空值
主键
外键
是否唯一
说明
c_id
Char
12
Not null
是
是
唯一标识
c_name
Varchar
30
课程名称
表3.2.4 Selection(选课)表
字段
类型
宽度
允许空值
主键
外键
是否唯一
说明
c_id
Char
12
Not null
是
是
是
课程号
t_id
char
12
Not null
是
是
是
学号
Ct_time
Time
上课时间
Ct_palce
Varchar
30
上课地点
表3.2.5 Course(课程)表
4详细设计
4.1系统时序图
用户管理模块:负责用户登录、注册和修改密码等操作。用户包括学生、教师和管理员三种角色。具体包括以下功能:
用户登录:用户输入账号和密码,系统校验账号密码的正确性,然后跳转到相应的页面,如学生用户跳转到学生用户主页,教师用户跳转到教师用户主页,管理员用户跳转到管理员用户主页。图4.1.1.1为用户登录时序图。
图4.1.1.1 用户登录时序图
用户注册:用户输入个人信息后,系统判断信息合法后并保存,注册成功后跳转到登录页面。图4.1.1.2为用户注册时序图。
图4.1.1.2 用户注册时序图
修改密码:用户输入原密码、新密码和确认新密码,系统校验原密码的正确性,保存用户修改的新密码后跳转到登录页面。图4.1.1.3为用户修改密码时序图。
图4.1.1.3 修改密码时序图
课程管理模块:该模块负责课程的增删改查、排课、课程审核等操作。课程信息主要包括课程基本信息、课程时间、授课教师和上课地点等,具体包括以下功能:
课程的增删改查:管理员可以对课程进行增加、删除、修改和查看课程列表和详情。图4.1.2.1是课程增删改查时序图。
图4.1.2.1 课程的增删改查时序图
排课:管理员可以为课程安排上课时间、上课地点和授课老师等信息,并且可以进行课程冲突检测。图4.1.2.2是排课时序图。
图4.1.2.2 排课时序图
课程审核:管理员可以审核教师提交的选修课课程开课申请。图4.1.1.3是课程审核时序图。
图4.1.1.3 课程审核时序图
选课管理模块:负责学生的选课、退课、查看选课情况等操作,具体包括以下功能:
学生选课:学生可以在选课系统中查看可选择的课程列表,并且可以对课程进行选择。系统会检测学生所限课程之间是否发生冲突,如果发生冲突会提示课程冲突选课失败。图4.1.3.1是学生选课时序图。
图4.1.3.1 学生选课时序图
学生退课:学生可以在选课系统中查看已经选择的课程情况,并且可以对其进行退课操作。图4.1.3.2是学生退课时序图。
图4.1.3.2 学生退课时序图
学生查看选课情况:学生可以查看自己已经选择的课程的详细信息,包括课程名称、授课教师、上课时间地点等。图4.1.3.3是学生查看选课情况时序图。
图4.1.3.3 学生查看选课情况时序图
系统管理模块:管理员对学生、教师、课程的管理,具体包括以下功能:
1、学生管理:管理员可以查看学生的信息,包括个人信息、选课情况等,并且可以修改学生信息。图4.1.4.1是学生信息管理时序图。
图4.1.4.1 学生信息管理时序图
2、教师管理:管理员可以查看教师的信息,包括个人信息、授课情况等,并且可以修改教师信息。图4.1.4.2是教师信息管理时序图。
图4.1.4.2 教师信息管理时序图
4.2系统类设计
1、学生类(Student)
属性:学生ID、姓名、密码。
方法:修改密码、选择课程、退选课程、获取已选课程列表等
2、教师类(Teacher)
属性:教师ID、姓名、所教课程列表、密码等
方法:修改密码、获取教授课程信息、获取所教课程的学生列表、开课申请等
3、管理员类(Administrator)
属性:管理员ID、姓名、密码等
方法:增加/删除/修改/查看学生/教师/课程信息、审核教师开课请求等
4、课程类(Course)
属性:课程ID、名称、教师、时间、地点、学分等
方法:创建课程、获取课程信息、获取选修该课程的学生列表等
5、选课系统类(ChoiceCourse)
属性:学生列表、课程列表、教师列表等
方法:学生选课等