文档介绍:XX大学
课程设计说明书
 软件工程实训周
 
 
学生姓名:
 
学号:
学院:
专业:
软件工程
题目:
大学课表管理系统(课表生成子系统)
成绩
 
 
指导教师:
 
 
 
 
2012 年月日
制定一个学校的排课计划是一项非常耗时且相当辛苦的工作。在一所高校一个课程表的制定是一个难题,因为在有关课程表的问题上有很多的限制条件得考虑,还有大量的数据空间被挖掘。课程编排系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以自动排课系统应该能够为用户提供充足的信息和快捷的查询手段。
按照软件工程基本原理,运用UML中所学的知识,设计开发一个大学排课系统。通过对排课系统的分析、设计与实现,将原理与应用相结合,让自己学会如何把书本上学到的知识用于解决实际问题,培养自己的动手能力;另一方面,使自己能深入理解和灵活掌握教学内容。
设计内容:
,并进行自动排课
、地点的特殊要求,排课后可以查看自己所带课程信息
为了简化排课算法难度,本次课程设计中,作如下假定:
(1)排课中以班级为单位排,不考虑选修课;
(2)教室分为多媒体教室和非多媒体教室;
(3)假定只有周一到周五有课,一天只上四大节课,每大节两个学时;
(4)班级学生人数固定为50人,教室容量只考虑60、120、200人三种,相应合班上课只考虑2个和3个班上课的情况。
设计要求:
(1)采用UML完成需求分析、设计文档和测试文档;
(2)采用图形化界面;
(3)操作方便、界面友好。
在整个系统中本人主要负责课表生成和修改密码功能的实现,同时也参加算法的设计与实现。本系统要涉及到管理人员、教师、学生三个不同的参与者,有两个不同的权限。管理员可以录入教师、教室、班级等基本的信息然后进行排课,而教师和学生只具有查询课表的权限。所以在登录的时候要把不同的权限划分出来。程序在设计好后数据库中有一个默认的管理员的用户名和密码,通过该用户名和密码可以登陆系统,然后通过用户管理模块可以添加教师、学生或管理员。
图1 课表生成子系统用例图
表1 课表生成用例描述
用例名称
自动排课
用例概述
根据课程时间、教师的基本信息、班级课程设置的信息、多媒体使用情况、座位数与上课班级人数协调情况合理的安排上课教室、时间及代课教师,使得资源充分利用而且不冲突
主要参与者
教学秘书、教师、学生
前置条件
教师、班级和教室信息全部添加完
后置条件
生成课表
基本事件流
(1)收集教师、班级、教室的信息
(2)根据多媒体的需求、教室座位数等优先为上课班级总人数多的班级安排上课教室和时间
(3)根据教师的基本信息和代课意向,优先考虑安排教师的代课要求
(4)为已安排教室和时间的课程的代课教师安排其他教学任务的教室和时间。
(5)合理调整教师每周授课的学时数
(6)重复以上操作,直到所有的课程安排完
图2 课表查询子系统用例图
表2 课表查询用例描述
用例名称
课表查询
用例概述
教师、学生、教学秘书根据自己的需求对课表进行不同类型的查询
主要参与者
教师、学生、教学秘书
基本事件流
(1)用户启动课表查询用例
(2)学生选择学生课表查询用例,查询学生课表
(3)教师选择教师课表查询用例,查询教师课表
(4)院管理员和校管理员根据需求选择不同课表查询用例,查询课表
开发工具:EclipsePHP、XAMPP。
表3 教师信息表
字段名称
中文含义
字段类型
长度
是否可为空
备注
id
教师工号
varchar
25
否
主键
name
教师姓名
varchar
25
否
username
登录帐号
varchar
25
否
password
登录密码
varchar
25
否
表4 学生信息表
字段名称
中文含义
字段类型
长度
是否可为空
备注
id
学号
varchar
25
否
主键
name
学生姓名
varchar
25
否
password
登录密码
varchar
25
否
classid
班号
varchar
25
否
表5 管理员信息表
字段名称
中文含义
字段类型
长度
是否可为空
备注
username
管理员用户名
varch