课程设计(自动排课系统)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2008~2009学年度《WEB 程序设计》

课程设计

班级:05网络3班

学号:090205338

姓名:周秋艳

2008年12月17日

基于WEB的高校教师排课系统

一、用户需求分析(10分)

学校教务的管理作为高校教育信息化工作中的一项重要工作,如何构建一个具有开放性、实用性和灵活性的平台,是一个值得探讨的课题。其中,作为学校教务重点环节之一的排课系统也尤为重要。

先前,在统筹安排各班级上课的时间需要人工实现,而且经常会出现同时有多个班级要使用教室的冲突。既耗时又耗精力,随着计算机技术的不断发展,计算机技术在各领域的充分完美应用,以学校的教务管理为该系统的应用背景,开发一个教室智能排课系统。

此系统开发主要包括后台数据库的建立和前端应用程序的开发两个方面。系统采用Visual Basic 6.0开发工具和SQL Server 2000作为后台数据库开发的应用软件。该系统实现上机时间的安排,课程的安排,教室的安排,以及它们之间的不冲突和资源的高效利用;这更切合学院教学需要,降低了排课管理工作的工作量和节省了时间,同时课程安排完成后,学院可迅速获得课表情况信息,为教学工作带来方便。本系统界面友好,操作简单,使用方便。

二、系统总体设计(15分)

1.系统功能描述

1.1 基本信息管理:教师、教室、班级、课程、教学任务等数据的输入、编辑功能;

1.2 数据处理:自动排课、课表修改、删除功能;

1.3 数据输出:桌面查询教师、教室、班级课程表,报表打印教师、

教室、班级课程表;

1.4 帮助:指导用户使用该系统及其他相关说明。

2 系统功能设计

分析目前市场上流行的各种排课软件,它们都具有比较完善的功能,但在真正的排课算法上都会有些问题,因为排课算法最关键的问题是如何解决各式各样的冲突。在做需求分析的过程中,通过调查得知目前排课人员对排课算法的主要要求有:

2.1 怎样的合班组合能避免冲突?

目前采取的方式是相同或相近的专业的班级组合。

2.2 什么地方有空能排课?

对教室和班级而言是查空,对教师而言是有无排课需求。

2.3 有两个以上的空哪一个更好?

是要考虑离散和平衡问题。

2.4 排课前如何考虑教师宏观利用问题?

例如:多媒体大班课:大学英语、高等数学尽量排在上午,

思想道德修养、马克思主义哲学原理等尽量排在下午。

2.5 对于数量巨大的信息,系统仍具有较快的响应速度和较小的

系统开销。

三、系统功能模块分析(25分)

详细分析各功能模块之间的关系,以及各功能模块下的子模块构成。

1 系统总体模块分析如下

2 登陆子模块分析如下

3 管理员子模块分析如下

教师

4 教师子模块分析如下

5 注销子模块分析如下

返回到登录页面

四、数据库设计和建立(15分)

1、与前面功能模块的划分相一致的建立合理的关系数据库,详细说明各关系表的属性与描述(每张关系表适当

添加说明)。

数据库名称是PK,此数据库包含10张关系表,它们分别是:表1:ChooseCourse

表2:ClassInfo

表3:CourseGeneral

表4:Department

表5:RoomInfo

表6:Speciality

表7:TermInfo

表8:TimeInfo

表9:Timetabel

表10:UserInfo

2、建立数据库及表之间的关系图。

3、说明系统与数据库的连接方式。

此系统使用的数据库是SQL Server2000,连接数据库时用的方法是在系统配置文件Web.config中添加一连接字符串:

五、主要界面及相关代码分析(35分)

通过系统目标和数据分析创建好数据库后,接下来进行系统功能的开发和实现。

该系统流程图如图所示。

系统中采用的主要技术

1用打开数据库的方法

程序中通过存取数据库的数据是以离线的数据为基础的,你可以在本地的机器上对数据集进行数据的添加、删除或修改,然后更新回真正的数据库。具体实现过程为以下几步:

1.第一种方案

1)首先要导入名称空间

<%@ Import namespace="System" %>

<%@ Import namespace="System.Data" %>

<%@ Import namespace="System.Data.SqlClient "%>

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 DataSet();

mycommand.Fill(ds,reg);

数据连接成功后,利用Sql的插入(INSERT)、删除(DELETE)和更新(UPDA TE)命令

相关文档
最新文档