课程设计自动排课系统.pdf
《课程设计自动排课系统.pdf》由会员分享,可在线阅读,更多相关《课程设计自动排课系统.pdf(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 20202020 学年度WEB 程序设计 课程设计 班级:05 网络 3 班 学号:090205338 姓名:周秋艳 2020 年 12 月 17 日 20082009 学年度课程设计 090205338 周秋艳 1 基于 WEB 的高校教师排课系统 一、用户需求分析(10 分)学校教务的治理作为高校教育信息化工作中的一项重要工作,如何构建一个具有开放性、有效性和灵活性的平台,是一个值得探讨的课题。其中,作为学校教务重点环节之一的排课系统也尤其重要。先前,在统筹安排各班级上课的时刻需要人工实现,而且常常会显现同时有多个班级要利用教室的冲突。既耗时又耗精力,随着运算机技术的不断进展,运算机技术
2、在各领域的充分完美应用,以学校的教务治理为该系统的应用背景,开发一个教室智能排课系统。此系统开发要紧包括后台数据库的成立和前端应用程序的开发两个方面。系统采纳 Visual Basic 6.0 开发工具和 SQL Server 2000 作为后台数据库开发的应用软件。该系统实现上机时刻的安排,课程的安排,教室的安排,和它们之间的不冲突和资源的高效利用;这更符合学院教学需要,降低了排课治理工作的工作量和节省了时刻,同时课程安排完成后,学院可迅速取得课表情形信息,为教学工作带来方便。本系统界面友好,操作简单,利用方便。二、系统整体设计(15 分)1.1 大体信息治理:教师、教室、班级、课程、教学任
3、务等数据的输入、编辑功能;1.2 数据处置:自动排课、课表修改、删除功能;20082009 学年度课程设计 090205338 周秋艳 2 1.3 数据输出:桌面查询教师、教室、班级课程表,报表打印教师、教室、班级课程表;1.4 帮忙:指导用户利用该系统及其他相关说明。2 系统功能设计 分析目前市场上流行的各类排课软件,它们都具有比较完善的功能,但在真正的排课算法上都会有些问题,因为排课算法最关键的问题是如何解决各式各样的冲突。在做需求分析的进程中,通过调查得知目前排课人员对排课算法的要紧要求有:2.1 如何的合班组合能幸免冲突?目前采取的方式是相同或相近的专业的班级组合。2.2 什么地址有空
4、能排课?对教室和班级而言是查空,对教师而言是有无排课需求。2.3 有两个以上的空哪个更好?是要考虑离散和平稳问题。2.4 排课前如何考虑教师宏观利用问题?例如:多媒体大班课:大学英语、高等数学尽可能排在上午,思想道德修养、马克思主义哲学原理等尽可能排在下午。2.5 关于数量庞大的信息,系统仍具有较快的响应速度和较小的系统开销。三、系统功能模块分析(分)详细分析各功能模块之间的关系,和各功能模块下的子模块组成。20082009 学年度课程设计 090205338 周秋艳 3 2 排课 返回到登录页面 进入相应的角色页面 登录校验 登录页面 1 系统整体模块分析如下 各类大体信息 1 信息治理 排
5、课所需信息 已排课表信息 3 输出排课 教师模块 登录模块 注销模块 治理员模块 2 登岸子模块分析如下 用户输入用户名,密码,并选择自己的角色 点击进入 用户 succeed failed 3 治理员子模块分析如下 20082009 学年度课程设计 090205338 周秋艳 4 管理员 教师 查看课程表 用户 注销 教师 班级 1.1 添加 教室 需添加信息 课程 1.3 删除 详细信息 教学任务 查询关键字 1.2 查询 学院 专业系别 教室类型 需删除信息 4 教师子模块分析如下 查看自己被分派的课程 课程详细信息 5 注销子模块分析如下 点击注销 返回到登录页面 四、数据库设计和成立
6、(分)、与前面功能模块的划分相一致的成立合理的关系数据库,详细说明各关系表的属性与描述(每张关系表适当20082009 学年度课程设计 090205338 周秋艳 5 添加说明)。数据库名称是 PK,此数据库包括 10 张关系表,它们别离是:表 1:ChooseCourse 表 2:ClassInfo 表 3:CourseGeneral 表 4:Department 表 5:RoomInfo 表 6:Speciality 表 7:TermInfo 20082009 学年度课程设计 090205338 周秋艳 6 表 8:TimeInfo 表 9:Timetabel 表 10:UserInfo
7、、成立数据库及表之间的关系图。20082009 学年度课程设计 090205338 周秋艳 7 、说明系统与数据库的连接方式。此系统利用的数据库是 SQL Server2000,连接数据库时用的方式是在系统配置文件 Web.config 中添加连续接字符串:五、要紧界面及相关代码分析(分)通过系统目标和数据分析创建好数据库后,接下来进行系统功能的开发和实现。该系统流程图如下图。20082009 学年度课程设计 090205338 周秋艳 8 系统中采纳的要紧技术 1 ASP.NET程序中通过ADO.NET存取数据库的数据ADO.NET是以离线的数据为基础的,你能够在本地的机械上对数据集进行数据
8、的添加、删除或修改,然后更新回真正的数据库。具体实现进程为以下几步:1)第一要导入名称空间 2)成立与数据库的连接 SqlConnection myconnection;myconnection=new SqlConnection(server=localhost;uid=sa;pwd=;database=数据库名称);3)在此数据连接上,执行 SQL 语句,返回所需的数据集 Stringc md=select*from 数据表名称;SqlDataAdapter mycommand=new SqlDataAdapter(cmd,myconnection);DataSet ds=new Data
9、Set();mycommand.Fill(ds,reg);数据连接成功后,利用 Sql 的插入(INSERT)、删除(DELETE)和更新(UPDATE)命令20082009 学年度课程设计 090205338 周秋艳 9 就能够够很方便地实现数据库的治理。2 异样的捕捉与操纵 为了提高系统的交互性与运行的靠得住性,系统对各类操作异样和运行异样进行捕捉与操纵。操作异样是利用 ASP.NET 提供的几个验证控件和设置下拉框来实现的,如录入试题时必需先选择章节、知识点、题型,采纳下拉框的形式确保试题属于某一知识点;运行异样捕捉是利用 try()catch()的结构实现的。如对数据库进行操作时,对用
10、户输入的题目进行判定,假设该题目存在,那么提示数据已存在。具体实现如下:try mycommand.ExecuteNonQuery();lblout.Text=插入成功;/插入成功 catch(SqlException exc)if(exc.Number=2627)lblout.Text=数据已存在;/数据已存在 else lblout.Text=error number is:+exc.Number+exc.Message;/其它错误 其中 lblout 为一个 label 控件。3 自动排课的算法分析 用户在自动排课时,可对排课提出多方面的要求,如从教师,教室,时刻,课时数量等方面,同时知
11、足多方面的要求并非易事;另外在数据量不是专门大的时候要实现自动排课的成功率难度较大,因此排课的算法的好坏直接阻碍到所排课程的好坏,本系统采纳随机排课方式,可是解决了排课算法中的冲突问题。(排课的具体实现代码在界面与代码分析中)4 排课算法冲突解决方式分析 排课算法中的要紧的冲突是教室冲突和教室冲突。我将再通过存储进程的来解决如此的冲突,下面介绍一学期 16 周,某一门课程 32 课时为例。存储进程名为 DetectArrangeCollision CREATE PROCEDURE DetectArrangeCollision SureCourseID int,RoomID int,TimeID
12、 int,TermID int as declare Arrange_id int declare UserID char(10)select UserID=ChooseCourse.UserID from Timetabel inner join where ChooseCourse.SureCourseID=SureCourseID select Arrange_id=Arrange_id from Timetabel where(RoomID =RoomID and TimeID=TimeID )or(Timetabel.SureCourseID in (select 20082009
13、学年度课程设计 090205338 周秋艳 10 SureCourseID from ChooseCourse where UserID=UserID)and TimeID=TimeID )/*检查教室和教师冲突*/if Arrange_id null begin select*from Timetabel where Arrange_id=Arrange_id /*查询出数据*/end else begin declare currentID int select currentID=count(*)from Timetabel where SureCourseID=SureCourseID
14、 and TermID=TermID if(currentID=0)/*查看数据库中是不是有重复*/insert into Timetabel values(TermID,SureCourseID,RoomID,TimeID)select*from Timetabel where Arrange_id=0 end GO 1登录界面 login.aspx public string UserLogin(string UserName,string password)String CheckLogin;int Permit=0;string UserID=;SqlParameter paramet
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 自动 系统
限制150内