毕业设计(论文)-高校通用排课系统的设计.doc_第1页
毕业设计(论文)-高校通用排课系统的设计.doc_第2页
毕业设计(论文)-高校通用排课系统的设计.doc_第3页
毕业设计(论文)-高校通用排课系统的设计.doc_第4页
毕业设计(论文)-高校通用排课系统的设计.doc_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本本 科科 毕毕 业(设计)论业(设计)论 文文 (二五 届) 题题 目:目: 高校通用排课系统的设计 分院系部:分院系部: 计算机与信息科学系 专专 业:业: 计算机科学与技术 姓姓 名:名: 导师姓名:导师姓名: 导师职称:导师职称: 教 授 二五年六月一日 高校通用排课系统的设计 摘要:摘要:排课问题是一个 np-complete 问题,尤其针对高校的排课一直都没有很好的 解决方法,但是此问题又是每个学校在每个学期都会碰到的必要行政作业。本文在 相关理论的指导下,在分析以往一些排课软件的基础上,提出一个高校通用排课系 统的设计方法,并对一些具体的问题给出相应解决方案。 关键词:关键词:高校;教务;排课;排课系统;专家排课 design of an information system for the college courses arraying management chen hua-jun (dept. of computer and information science, southwest forestry college, kunming, yunnan, 650224, china) abstract: course arranging problem is an np-complete problem, there is no a good solution for this matter of the college. however, it is also a necessary administration task for every school in every semester. this essay, with the correlative theorys guidance, on the basis of analyzing some courses-arraying software, proposes a design method of commonly used courses arraying information system in college, and solves some of the certain problems. key words: college; teaching affairs; courses arranging; courses arrangement management system; expert courses-arraying 目目 录录 1 前言.1 2 研究内容和研究方法.1 2.1 研究内容.1 2.2 研究方法.1 2.2.1 数据建模方法论.1 2.2.2 visio 2003 概述.3 3 系统概要设计.4 3.1 需求规定.4 3.2 性能需求.5 3.3 设计要求.5 3.4 技术架构.5 3.5 安全性设计.6 3.6 系统总体规划设计.7 3.7 模块设计.7 3.8 功能说明.8 3.9 运行环境及建议配置10 3.9.1 软件配置10 3.9.2 硬件配置10 4 系统的详细设计11 4.1 系统的总体实施方案11 4.2 系统总体设计架构13 4.3 开发环境的选择13 4.4 数据库设计14 4.4.1 建立实体关系图15 4.4.2 定义属性表17 4.5 系统 uml 模型图21 5 排课算法24 5.1 流程逻辑24 5.2 排课专家算法25 6 用户界面设计25 6.1 简单易用和个性化需求26 6.2 集成式操作环境26 6.3 属性数据录入26 6.4 属性数据综合查询27 6.5 系统菜单功能27 结论与展望 .29 参考文献 .30 致谢 .31 2005 届本科毕业论文 1 1 前言 随着信息技术的飞速发展,各个行业的信息化势在必行。科技的进步大大地提 高了生产率。作为高校,如何才能提高办学效率,更好地完成教学任务,跟上社会 发展步伐,这是一个摆在教学工作者面前的一个迫切的问题。应用信息化来改造传 统的教学管理模式是一个重要途径13。 近几年来,随着各高校办公自动化工作的推进,教务管理自动化也被摆上了日 程。在教务工作中占有很大比重的一项就是每学期的课程表排定工作。由于教工、 教室和设备的相对紧张,如何进行合理地安排和分配,从而充分利用教学资源是我 们不得不面对的问题。而人工进行排课不仅任务重,效率低,而且易出错,难于维 护,想要排出一张各方面都满意的课表非常困难。并且随着高校规模的扩大手工排 课的难度和工作量呈几何级数增长1。 高校通用排课系统正是为了减轻教务人员工作量,实现教务工作自动化,解决 排课这一老大难问题的教务办公软件。 2 研究内容和研究方法 2.12.1 研究内容研究内容 该系统是一个管理项目,旨在更好地管理高校的教学与资源整合,推动科技成 果的推广转化,推进高校改革,提高高校的办学效率。在现有人力管理基础上,结 合日渐成熟的当代计算机技术和各种辅助软件,对人力管理模式进行信息化改造, 形成高效、便捷的计算机管理模式,是信息化改造传统产业的一个应用1。 2.22.2 研究方法研究方法 .1 数据建模方法论数据建模方法论 高校通用排课系统的设计 2 数据建模采用图形化方法来描述企业的信息需求和业务规则,也就是建立逻辑 数据模型(以下简称逻辑模型),其作用有两个,一是与用户进行沟通,明确需求; 另一个作用是作为数据库物理设计的基础,以保证物理数据模型充分满足应用要求, 并保证数据的一致性、完整性8。 本文介绍 idef1x 方法。idef1x 是由美国空军开发的基于关系数据库理论的数 据建模方法,用以实现关系数据库的逻辑数据结构。目前已广泛应用于政府、工业 和商业领域,支持广泛企业应用。 idef1x 模型的基本结构为: 实体(如人、地点、概念、事件等)用方框表示; 实体之间的关系(联系),用方框之间的连线表示; 实体的属性,用方框内的属性名称来表示。 建立逻辑模型 逻辑模型的建立由用户需求驱动,建立逻辑模型的过程首先是分析信息需求、 明确业务规则,它是人脑对现实世界进行抽象和加工的过程。范式理论是关系数据 库逻辑设计的基础,目前一般采用第三范式,如果从所表达的含义看,一个符合第 三范式的关系必须满足以下三个条件: 每个属性的值唯一,不具有多义性; 每个非主键的属性必须完全依赖于整个主键,而不能是主键的一部分; 关系模式中不存在传递依赖。 实施阶段: 第一阶段:项目规划 第二阶段:开发定义实体 第三阶段:定义关系 第四阶段:定义键 第五阶段:定义属性 建立物理模型 对一个给定的逻辑模型选取一个最适合应用环境的物理结构(即物理模型)的过 程,称为数据库的物理设计。所谓数据库的物理结构主要是指数据库在物理设备上 的存储结构和存取方法,它与除了考虑逻辑的完美性(如第三范式)外,还必须兼顾 2005 届本科毕业论文 3 物理环境的要求和性能的优化,如机器的性能、事务的种类、数据库管理系统的功 能等8。 逻辑模型转变为物理模型包括以下几个步骤: 实体名(entity)转变为表名(table) 属性名(attribute)转换为列名(column),确定列的属性(property) 明确分类关系在物理模型中的实现方法 实现业务规则 数据模型转变为 sql 命令 物理模型必须对列的属性进行明确的定义,包括:列名,数据类型(与特定数 据库管理系统有关),长度,能否为空值,有效性规则,缺省值等。 物理模型确定以后,可以进一步确定数据的存放位置和存储空间的分配,最后 生成定义数据库的 sql 命令。 .2 visiovisio 20032003 概述概述 visio 2003 是一个图表绘制软件,可以创建说明和组织复杂设想、过程与系统 的业务和技术图表。使用 visio 2003 创建的图表能够将信息形象化,并能够以清 楚简明的方式有效地交流信息,这是只使用文字和数字所无法实现的。visio 2003 还可通过与数据源直接同步自动形象化数据,以提供最新的图表5。 易于理解的概念、过程和关系: 使用 visio 可以轻松创建业务和技术图表,以便仔细研究、组织和更好地理解 复杂的设想、过程和系统;通过拖动预定义的 microsoft smart shapes 符号很容 易地组合图表;使用为特定专门学科而设计的工具,以满足贯穿整个组织的对业务 和技术图表绘制的要求;从现有数据可生成常见的图表类型;可以从 web 访问定期 更新的区分上下文帮助和适用于特定任务的模板。 清楚而有效地交流: 将设想、信息和系统形象化并与他人进行交流;可创建视觉效果丰富的图表, 以给观众留下尽可能深刻的印象;可在小组的 microsoft windows share point 服务站点上共享工作区文件中的图表在 tablet pc 上,可使用数字墨迹以更自然的 高校通用排课系统的设计 4 方式批注图表;可利用新增的审阅模式跟踪审阅者对形状和数字墨迹所做的批注与 更改; 利用改进后的“save as web page”(另存为 web 页)功能,在 web 上发布和共 享图表;可导入和导出可缩放向量图形(scalable vector graphics,svg)格式的 图表,这种格式是一种新的基于 xml 的 web 图形标准。 集成和自动处理系统与过程: 使用 visio 2003 可完成更复杂的工作、加深人们的理解和提高生产力,从而 促进业务的发展;通过将数据从 visio 图表中提取出来,然后导入到 microsoft excel、microsoft word、microsoft access 和 microsoft sql server 中,或转 换为 xml 和其他格式,可将业务过程和系统集成在一起;可将 visio 合并到功能 强大的 microsoft .net 连接软件中,以满足特定的业务需求;可以将 visio 绘图 控件嵌入到使用 .net 连接软件或 microsoft windows 操作系统构建的行业专用 (lob) 应用程序中9。 本文主要运用 visio 绘制了系统的主体架构图,模块图,uml 模型图,核心流 程图和数据库模型图。 3 系统概要设计 3.13.1 需求规定需求规定 为了评价该设计阶段的设计表示的“优劣程度” ,必须遵循以下几个准则2: 软件设计应当表现出层次结构,它应巧妙地利用各个软件部件之间的控制关系。 设计应当是模块化的,即该软件应当从逻辑上被划分成多个部件,分别实现各 种特定功能和子功能。 设计最终应当给出具体的模块(例如子程序或过程) ,这些模块就具有独立的功 能特性。 应当应用在软件需求分析期间得到的信息,采取循环反复的方法来获得设计。 2005 届本科毕业论文 5 3.23.2 性能需求性能需求 本系统在性能上应达到如下要求: 系统软件运行应该速度快、稳定、可靠,具有很高的健壮性和容错、纠错能力 3 ; 系统软件操作上应简单、方便,界面简洁明了、美观; 系统软件应能具有较高的安全性,对内对外都有严格的身份认证和数据保密的 措施; 系统软件应能支持多用户超负荷并发访问、网络数据共享; 系统软件在结构上应具有很好的可扩展性,便于将来的功能扩展和维护; 数据计算准确无误,精确度符合业务的需要。 3.33.3 设计要求设计要求 体现小核心、大外延的设计思想,当增加新的教务活动或教务活动需求发生变 化时,核心系统可以保持相对稳定4; 排课活动包括很多具有前后时间相关性,相互制约的步骤,各步骤之间层次分 明,功能划分清晰,又相对独立; 通过对排课管理数据库的统计分析及深加工,可以完成一些辅助决策功能; 采用 b/s 加 c/s 结合的技术结构,扬长避短; 权限控制灵活、方便; 系统提供一些灵活、通用的、便于维护的工具。 3.43.4 技术架构技术架构 b/s 是未来瘦客户机的发展趋势,但是 c/s 技术比较成熟,所以本系统选择了 两者结合的折衷方案10。 系统采用 b/s 加 c/s 结合的技术结构,充分发挥各自的优势。c/s 模式功能强大, 开发工作量小,对服务器要求低,但维护工作量大,对客户机要求高。b/s 界面美 观,易于操作,易于维护,还能在互连网上发布,对客户机要求低,只要能上网的 机器都行。但开发工作量大,界面控制能力差,对服务器要求高。 高校通用排课系统的设计 6 综上所述,对于教务管理人员功能操作多而且复杂,使用的人较少,用 c/s 模 式实现较好。但对于教师和学生的课表查询等访问量大的功能,用 b/s 模式实现较 合适。 高校排课管理系统网络结构图如下图,数据库服务器在防火墙里面,web 服务器 在外边,也可以在防火墙里面,可以在 internet 上,也可在 intranet 上6。教务 管理人员通过校园网访问数据库服务器;学生和教师通过校园网或者互联网访问 web 服务器。 图 1 系统网络拓扑图 3.53.5 安全性设计安全性设计 本系统采用三个级别的安全保密设计:系统平台级、客户平台级、客户端数据 库连接级14。 客户端功能应用 数据库连接(db-link) 数据库管理系统(dbms) 操作系统(os) 客户端功能访问的帐号、 身份认证、登录管理 客户端数据库连接的身份 认证、登录管理 系统级、数据库级的帐号 身份认证、登录管理 2005 届本科毕业论文 7 图 2 安全级示意图 3.63.6 系统总体规划设计系统总体规划设计 排课系统 初始设置用户管理基本信息数据管理特殊安排排课管理 总 体 条 件 设 置 课 程 优 先 设 置 课 程 信 息 操 作 班 级 信 息 操 作 教 师 信 息 操 作 场 地 信 息 操 作 院 系 信 息 操 作 用 户 信 息 操 作 用 户 密 码 管 理 用 户 权 限 操 作 课 程 数 据 操 作 班 级 数 据 操 作 教 师 数 据 操 作 场 地 数 据 操 作 院 系 数 据 操 作 特 殊 安 排 数 据 操 作 课 表 数 据 操 作 资 源 要 求 操 作 调 整 课 程 操 作 自 动 排 课 操 作 课 表 查 询 操 作 初始 设置 信息 库 基本 信息 库 用户 信息 库 特 殊 安 排 信 息 库 目标数据库 图 3 排课系统总体规划设计图 3.73.7 模块设计模块设计 总体结构和模块外部设计: 模块是软件结构的基础,软件结构的好坏完全由模块的属性体现出来,把软件 模块化的目的是为了降低软件复杂性,使软件设计,测试,调试,维护等工作变得 简易,但随着模块数目的增加,通过接口连接这些模块的工作量也随之增加。从这 些特性可得出如图的一条总的成本(或工作量)曲线,在考虑模块化时,应尽量使 高校通用排课系统的设计 8 模块数接近于图 4 中的 m,它使得研制成本最小,而且应尽量避免不足的模块化或 超量5。 图 4 模块化与总体成本关系图 基于上述原因,我们在进行总体规划的初步设想中,以高校各种资源和资源的 分配为依据,综合多种相关因素,将该系统划分成以下八个子功能模块:初始设置 管理子系统、基本信息管理子系统、用户管理子系统、数据管理子系统、特殊安排 管理子系统、排课管理子系统、安全子系统、通用工具子系统。在数据库设计上, 按照 dss 的基本要求,遵循“功能分离,数据共享”的原则8,将数据库分成基础 数据库及目标数据库两大部分,其中,基础数据库又可分为初始设置信息库、基本 信息库、用户信息库、特殊安排信息库四个功能子库。目标库主要存放系统运行过 程中的动态数据,目标方案等。 3.83.8 功能说明功能说明 高校排课管理系统建立以学生为中心的全校集中的排课活动管理,从而规范排 课管理业务处理方式,提高处理效率,为教师和学生提供优质服务,为服务创新提 供坚实的基础,为管理决策提供全面的支持2。 2005 届本科毕业论文 9 数据管理子系统通用工具子系统 初始设置子 系统 特殊安排管理子系统 用户管理子 系统 信息发布子系统 平台分系统 排课管理子 系统 基本信息子系统 安全子系统 业务分系统 外围分系统 核心业务子系统重要业务子系统 图 5 系统结构图 初始设置子系统功能 初始设置模块包括两个子模块,即:总体条件设置和课程优先级设置; 总体条件设置包括:输入学期,选择上课总周数,选择五天制、六天制还是七天 制,每天课程的分配; 优先级设置包括:输入课程类型并选择优先级别; 基本信息子系统功能 场地信息,班级信息,教师信息,课程信息和院系信息的添加、删除和修改; 用户管理子系统功能 用户的添加和删除,用户密码的设置和修改,用户权限的设置,用户重新登陆; 数据管理子系统功能 包括课程、班级、教师、院系、场地、特殊安排、课表数据的备份、还原和清空 操作; 特殊安排子系统功能 包括教师、班级、课程类型和场地的资源要求以及课程的调整两个子模块; 排课管理子系统功能 包括自动排课,手动排课和课表查询三个子模块;课表查询模块包括打印课表。 安全子系统功能 高校通用排课系统的设计 10 系统安全子系统是整个系统平台的重要组成部分,包括系统模块管理、用户管理、 用户权限管理、角色管理、用户组管理、日志管理。对整个管理系统进行安全控 制,能实现行级、数据项级的安全控制,不同的人看到不同的数据,能操作不同 的数据项。系统还具有访问日志功能,可跟踪用户对模块的访问情况。 通用工具子系统功能 包括报表管理、工作任务定义等功能。管理系统中报表所占的比较很大,而且 经常发生变化,报表管理能允许用户自己定义报表,满足报表不断变化的需要。 3.93.9 运行环境及建议配置运行环境及建议配置 .1 软件配置软件配置 服务器 操作系统:windows2000 server 或 linux 或 unix 数据库软件:sql server 2000 web 服务器软件:apache1.3.27 + tomcat4.1.18 + jdk1.4.1 注意:可将数据库服务器和 web 服务器分开配置,提高性能 客户机 操作系统:windows98、windows2000、windows xp ie 浏览器 5.0 以上 sql server client(数据库客户端)针对教学管理人员 教务系统客户端程序针对教学管理人员 .2 硬件配置硬件配置 最低配置(终端客户数可达 20 人,web 服务器同时在线人数可达 200 人) 高档 pc 服务器一台,双 cpu、内存 1g 以上、硬盘 40g 以上 用户 pc 若干,pii600 以上,内存 128m 以上、硬盘 20g 以上 中档配置(终端客户数可达 60 人,web 服务器同时在线人数可达 800 人) 中档 pc 服务器一台(数据库服务器) ,双 cpu、内存 1g 以上、硬盘 40g 以上 2005 届本科毕业论文 11 中档 pc 服务器一台(web 服务器) ,双 cpu、内存 512 以上、硬盘 10g 以上 用户 pc 若干,pii600 以上,内存 128m 以上、硬盘 20g 以上 高档配置(终端客户数可达 100 人,web 服务器同时在线人数可达 2000 人) 方案 1: 高档 pc 服务器两台(数据库为并行服务、web 和数据库在每台机器上都运行) , 双 cpu、内存 1g 以上、硬盘 40g 以上 磁盘阵列机一台 用户 pc 若干,pii600 以上,内存 128m 以上、硬盘 20g 以上 说明: 磁盘阵列通过数据冗余,保证数据安全 磁盘阵列读取速度远远高于服务器硬盘的读取13 并行服务器让数据库的运算能力成倍加强 web 服务器和数据库服务器在同一台机器上,数据不需从数据库服务器的机器 传输到 web 服务器的机器,可节约网络传输时间,也能减少网络流量。 并行服务器可以有备份的功能,服务器要求 7*24 的运行,系统需要定期维护、 机器出现故障,需要维修等情况,也能保证系统正常运行。 方案 2: 中档小型机服务器一台、四 cpu、内存 2g 以上、硬盘 60g 以上(小型机运行 unix 操作系统,系统稳定、性能好) 用户 pc 若干,pii600 以上,内存 128m 以上、硬盘 20g 以上 4 系统的详细设计 4.14.1 系统的总体实施方案系统的总体实施方案 如图所示,本系统分为三个部分,包括: 基础数据层 这个部分位于图 8 中的 a 区。在本系统中信息中心由班级基本 信息、场 地基本信息、教师基本信息和学生基本信息 4 个数据库信息接口及相应的数据 高校通用排课系统的设计 12 库组成,负责向高校各管理部门提供相对应的数据。在实际的应用中,随着功 能的不断扩展,这样的数据中心还可以进一步增加。 逻辑方案层 该部分位于图 8 中的 b 区。这里的排课方案可以是多个,本系统制作了一个 排课方案作为范例。排课方案设计器逻辑上向外提供多个可行的排课方案供用户 选择。目标数据库存储的是排课方案的信息。另外,系统合法用户还可以通过自 己的判断和分析计算,利用系统模型和自定义模型制定排课方案,不断修正排课 方案。排课等方案设计器是本系统的核心部分,其主要功能是制定排课方案,每 当需要排课,系统自动从 a 区读取所有的相关基本信息,然后进行排课方案模式 匹配,如果不满意,则继续,直到满意为止或者手工来调整。 用户交互层 用户服务平台是本系统的人机交互部分,位于图 8 中的 c 区。用户服务平台 提供友好,完善的服务体系。合法用户登陆后,可以进行综合的属性和信息查询、 可以进行复杂的数据计算和分析等。该信息服务平台的一大特点就是有完善的跟 踪系统和权限控制,扮演不同的角色用户具有不同等级的操作权限,用户的每项 重要操作都记录在相应的日志文件中,以方便日后的管理和维护。 图 6 系统结构与功能划分图 c c 课表信息查询数据操作,综合 分析处理 操作日志记录 用户登陆 model db 用户信息 db 排课管理人机 交互界面 a a 班级基本信息场地基本信息教师基本信息学生基本信息 dbdbdbdb b 实施排课方 案 目标 db 排课等方案计 器 2005 届本科毕业论文 13 综合数据分析处理 集成应用系统 基础数据管理 iis服务器 sql server 2000 .net 平台com+ 组件 windows2000 server,linux 或 unix 信息深度 技术深度 各种排课方案模型 排课决策支持 系统 动态数据查询 基础数据录入 排课系统 应用逻辑层 图 7 排课系统的总体设计框架图 4.24.2 系统总体设计架构系统总体设计架构 4.34.3 开发环境的选择开发环境的选择 操作系统平台 操作系统采用的是 windows 2000 professional,该系统具有稳定性好、可 靠性高、集成度高和界面友好等特点,并且可以集成微软开发的大型企业级 web 服务器平台 iis 5.0,可以完成本系统的 b/s 和 c/s 体系结构的开发12。 开发平台 系统的开发平台采用的是 visual studio.net2003 版。目前 xml web 服务正 在成为下一代基于 internet 的计算,而 visual studio.net 2003 正是微软提供 的建立、配置、操作和集成 xml web 服务的平台。它使建立 xml web 服务的解 决方案更为容易,并为一体化和互操作性提供可靠的框架平台。它是基于开放式 标准的,几乎能跨所有的编程语言、操作系统和应用程序进行工作,并且能够将 个人电脑、智能设备的力量与 internet 的资源结合起来9。 数据库平台 数据库平台采用的是 sql server 2000。sql server 2000 代表着下一代 microsoft .net enterprise servers(企业服务器)数据库的发展趋势,是为 高校通用排课系统的设计 14 创建可伸缩电子商务、在线商务和数据仓储解决方案而设计的真正意义上的关系 型数据库管理与分析系统。随着 sql server 7.0 联机分析处理(olap)服务的 引入,sql server 已成为颇受众多客户关系管理(crm)应用程序、商务智能 (bi)应用程序、企业资源计划(erp)应用程序及其它在线商务应用程序厂商 和客户所青睐的数据库产品,而这则主要应归功于该产品在对称多处理(smp) 硬件方面所具有的可伸缩性和较低的数据库维护需求13。 开发语言 本系统主要采用 microsoft c# 作为主要的开发语言,这主要是由于 c# 具 有以下一些特点:c# 是由 microsoft 开发的一种新型编程语言,由于它是从 c 和 c+ 中派生出来的,因此具有 c+的功能。同时,由于是 microsoft 公司的 产品,它又同 vb 一样简单。对于 web 开发而言,c#像 java,同时具有 delphi 的一些优点。因此,c#是开发.net 框架应用程序的最好语言9。 .net 平台将 c#作为其固有语言,借鉴了许多 java 的技术规则。c#中也有 一个虚拟机,叫做公用语言运行环境(clr),它的对象也具有同样的层次。c# 的设计具有丰富的系统类,可以减少大量的重复劳动。由于 c#与 windows 的 体系结构相似,因此 c# 很容易被开发人员所熟悉9。 asp.net 网站设计 asp.net 不仅仅是下一版本的 active server page (asp);它是统一的 web 开发平台,用来提供开发人员生成企业级 web 应用程序所需的服务。 asp.net 的语法在很大程度上与 asp 兼容,同时它还提供一种新的编程模型和 结构,用于生成更安全、可伸缩和稳定的应用程序。可以通过在现有 asp 应用 程序中逐渐添加 asp.net 功能,随时增强该 asp 应用程序的功能。 asp.net 是一个已编译的、基于 .net 的环境,可以用任何与 .net 兼容 的语言(包括 visual basic .net、c# 和 jscript.net.)创作应用程序。另 外,任何 asp.net 应用程序都可以使用整个 .net 框架。开发人员可以方便地 获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承 等等。 2005 届本科毕业论文 15 4.44.4 数据库设计数据库设计 排课管理系统是一项复杂的系统工程,其间需要大量的数据来支撑,从某种程 度上来讲,排课管理系统的设计过程,其实也就是一个规范和完整的数据库设计过 程6。经过多年的发展,关系型数据库系统(rdbms)是最成熟的一种数据库管理 模式,也是当前最流行的数据库管理系统。故在此也采用该模式。 .1 建立实体关系图建立实体关系图 由于排课管理涉及的范围广,数据资料繁多,数据结构异常复杂。所以本系统 的建模过程采用 idef1x 语义建模方法以保证数据的一致性、完整性。 idef1x 是描述企业级信息需求的有效方法,是数据库设计最有力的支持理论。 idef1x 使用一个规程化、结构化的技术以找出一个组织所使用的信息和业务规则。 idef1x 的作用是在需求分析时对所建系统的信息资源进行分析和交流。 idef1x 模型是数据建模的一种规范结构。idef1x 模型语义非常丰富和精细,可 充分而清楚地表达企业的复杂数据信息及其业务规则。idef1x 模型具有更强的一致 性和更高的规范化程度。一个完整的 idef1x 模型,其属性满足单主规则、非空规则 和非重复规则。其关键字满足最小关键字规则、完全函数依赖规则和非传递规则。 idef1x 模型采用“一事一地” (one fact in one place)原则,至少符合关系理论 的第三范式,严格地保证了数据的一致性,消除了数据冗余。idef1x 定义的逻辑模 型更利于向物理模型转换。idef1x 定义的符合第三范式的逻辑模型已表达出了企业 的数据信息和业务规则,可直接向物理模型转换11。 在本系统中,数据库开发以 microsoft visio2003 辅助建模工具对数据库进行 流程、逻辑和物理设计,针对排课管理的业务和数据流程划分,形成了用户管理、 基本信息管理、排课管理、特殊安排管理、数据管理六个模型视图。因篇幅有限, 下面只图示了部分实体关系图(er 图) 。 高校通用排课系统的设计 16 prisetup pkpri fk1coursetype departmentinfo pk,fk1,fk2 departmentid departmentname teacherid courseinfo pk,fk1,fk2 courseid coursename coursetime coursetype classinfo pk,fk1 classid classname classnumber departmentid classteachingplan pkclassid pkcourseid teacherteachingplan pkteacherid pkcourseid practiceteachingplan pk,fk1 courseid practicetime practicespan teacherinfo pk,fk1 teacherid pkdepartmentid teachername degree 图 8 基本信息关系图 allsetup1 pkterm daysofweek allday amsection pmsection evesection connect span periodsetup pkperiodid timeslice 图 9 总体设置关系图 2005 届本科毕业论文 17 classsetup pkclassid permutable fk1flagsetup periodstate teachersetup pkteacherid permutable fk1flagsetup periodstate placesetup pkplaceid permutable fk1flagsetup periodstate specialperiodsetup pks-periodid weekday s-timeslice periodstate flagsetup 图 10 特殊安排关系图 .2 定义属性表定义属性表 排课管理是一个复杂的数据流程过程,其间涉及到的属性表也非常的庞杂,因 此从源数据表中抽取说明性的名词开发出属性表,是整个数据库设计环节中比较关 键的一环2。在此过程中,需要确定属性的所有者,定义非主键的属性,检查属性 的非空及非多值规则。此外,还要检查完全依赖函数规则和非传递依赖规则等。 userinfo 用户信息表 字段名字段别 名 数值类 型 长 度 主 键 外 键 允许 空 缺省 值 约束录入方 式 字段描 述 username 用户名 varchar16ynn 主键约 束 直接输 入 用户名 password 用户密 码 varchar16nnn 合法字 符 直接输 入 用户密 码 purview 用户权 限 varchar16nnn 合法字 符 选取用户权 限 高校通用排课系统的设计 18 allsetup 总体设置信息表 prisetup 优先级设置表 字段名字段 别名 数值类 型 长 度 主 键 外 键 允许 空 缺省 值 约束录入方式字段描 述 pri优先 级 int4ynn主键 约束 下拉菜单 选择 课程优 先级 coursetype课程 类型 varchar20nnn合法 字符 下拉菜单 选择 课程类 型 classinfo 班级信息表 字段名字段 别名 字段类 型 字段 长度 主 键 外 键 允许 空 缺省 值 约束录入 方式 字段描述 classid 班级 编号 varchar20ynn 主键 约束 直接 输入 班级的唯 一编号 classname 班级 名称 varchar50nnn 合法 字符 直接 输入 班级的名 称 classnumber 班级 人数 int4nnn 数字 约束 直接 输入 给出班级 人数 departmentid 院系 编号 varchar20nyn 外键 约束 直接 输入 院系的编 号 classteachingplan 班级教学计划信息表 字段名字段 别名 字段类 型 字段 长度 主 键 外 键 允 许 空 缺 省 值 约束录入 方式 字段描述 classid 班级 编号 varchar20ynn 主键 约束 来自 源表 courseid 课程 编号 varchar20ynn 主键 约束 来自 源表 班级编号和课程 编号一起构成主 键 字段名字段 别名 数值类 型 长 度 主 键 外 键 允许 空 缺省 值 约束录入 方式 字段描述 term 学期 varchar40yyn 主键 约束 多选 框 学期名称 daysofweek 工作 制 int4nnn 选取每周上课天 数 allday 每天 课时 int4nnn 多选 框 每天共上几 节课 amsection 上午 段 int4nnn 多选 框 上午上几节 课 pmsection 下午 段 int4nnn 多选 框 下午上几节 课 evesection 晚上 段 int4nnn 多选 框 晚上上几节 课 connect 连堂 int4nnn 多选 框 几节连堂 span 学期 跨度 int4nnn 多选 框 从第几周到 第几周 2005 届本科毕业论文 19 courseinfo 课程信息表 字段名字段 别名 字段类 型 字段 长度 主 键 外 键 允许 空 缺省 值 约束录入方 式 字段描述 courseid 课程 编号 varchar20ynn 主键 约束 直接输 入 课程的唯 一编号 coursename 课程 名称 varchar50nnn 合法 字符 直接输 入 课程的名 称 coursetime 课堂 学时 int4nny 数字 约束 直接输 入 上课时间 coursetype 课程 类型 varchar20nyn 合法 字符 下拉菜 单选择 课程类别 coursespan 课程 跨度 varchar20nyn 合法 字符 下拉菜 单选择 课程跨度 departmentinfo 院系信息表 practiceteachingplan 实践教学计划信息表 teacherinfo 教师信息表 字段名字段 别名 字段类 型 字段 长度 主 键 外 键 允 许 空 缺 省 值 约束录入 方式 字段描 述 departmentid 院系 系编 号 varchar20ynn 主键 约束 直接 输入 院系的 唯一编 号 departmentname 院系 系名 称 varchar50nnn 合法 字符 直接 输入 院系的 名称 字段名字段 别名 字段类 型 字段 长度 主 键 外 键 允许 空 缺省 值 约束录入 方式 字段描述 courseid 课程 编号 varchar20ynn 主键 约束 直接 输入 课程的唯 一编号 practicetime 实践 课时 int4nnn 合法 字符 直接 输入 实践的总 课时 practicespan 实践 跨度 varchar50nnn 合法 字符 直接 输入 实践的跨 度 字段名字段 别名 字段类 型 字段 长度 主 键 外 键 允 许 空 缺 省 值 约束录入方 式 字段描 述 teacherid 教师 编号 varchar20ynn 主键、数 字约束 直接输 入 教师的 唯一编 号 departmentid 院系 编号 varchar20ynn 外键约束下拉菜 单选择 所属院 系的编 号 teachername 教师 姓名 varchar20nnn 合法字符直接输 入 教师的 姓名 degree 教师 varchar10nnn 合法字符下拉菜教师的 高校通用排课系统的设计 20 teacherteachingplan 教师教学计划信息表 placeinfo 场地信息表 表 1 属性表 职称单选择职称 字段名字段 别名 字段类 型 字段 长度 主 键 外 键 允 许 空 缺 省 值 约束录入 方式 字段描述 teacherid 教师 编号 varchar20ynn 主键 约束 来自 源表 courseid 课程 编号 varchar20ynn 主键 约束 来自 源表 教师编号和课程 编号一起构成主 键 字段名字段 别名 字段类 型 字段 长度 主 键 外 键 允 许 空 缺 省 值 约束录入 方式 字段描 述 placeid 场地 编号 varchar20ynn 主键 约束 直接 输入 场地的 唯一编 号 placename 场地 名称 varchar50nny 数字 约束 直接 输入 场地容 纳的人 数 classroomnumber 场地 人数 int4nny 数字 约束 直接 输入 场地容 纳的人 数 placetype 场地 类型 varchar40nnn 合法 字符 直接 输入 场地的 类型 2005 届本科毕业论文 21 4.54.5 系统系统 umluml 模型图模型图 教务员 初始设置 特殊安排 排课管理 用户管理 数据管理 总体设置 优先级设置 资源要求 课程调整 自动排课 课表查询 教师 图 11 排课用例图 高校通用排课系统的设计 22 教务员 特殊安排 资源要求 课程调整 指定安排 指定不安排 包括教师、班级、场地和课程的要求 选择类型,输入提出要求的对象,输入要求的时段 调课 加课 查找 选择 教师、班级、合适场地的无课时间 图 12 特殊安排用例图 2005 届本科毕业论文 23 系统教务员 初始设置 基本信息录入 显示设置不合理 资源要求设置 开始排课 设置主次项目权重 权重大及优先级高的先排 检查有否排课冲突 生成课表 显示排课成功 显示冲突解决方案 执行方案 无冲突 有冲突 查询课表 打印课表 数据备份 退出系统 图 12 排课活动图 高校通用排课系统的设计 24 5 排课算法 5.15.1 流程逻辑流程逻辑 图 13 排课流程图 开始排课 为与该类课有关 班级写入数据 是 是否是公 共必修课 (类) 否 是否能 找出可 排时段 是 是否是 专业选 修课 (类) 否 是否是 专业必 修课 (类) 否 是否能 找出可 排时段 是 是否能 找出可 排时段 是 为与该类课 有关班级写 入数据 为与该类课 有关班级写 入数据 为与该类课 有关班级写 入数据 排课 成功 否 否 否 是否是公 共选修课 (取一类 课) 2005 届本科毕业论文 25 5.25.2 排课专家算法排课专家算法 本系统还设计了专家排课功能,它能够根据排课用户事先给出的排课策略进行 自动排课,排课速度较快。为了实现专家排课功能,专门设置了两个堆栈 s1 和 s2,s1 的每个结点保存已排好课程及该课程的某次课,s2 保存未排课程及该课程的 某次课。具体排课算法如图4: 图 14 排课专家算法流程图 6 用户界面设计 随着视窗操作系统的全面推广和流行,如今 gui 已经成为业界用户接口的一个 标准。在本系统的设计过程中,也按照 gui 的设计原则来设计用户接口,给用户提 供一个友好的人机交互界面。具体来说,将按照以下几点原则来设计。 高校通用排课系统的设计 26 6.16.1 简单易用和个性化需求简单易用和个性化需求 无论什么系统,面向什么使用者,都应该以简单易用而不显枯燥为标准。本系 统使用图形化的用户界面,整个界面功能键的设定和窗体布局,完全由用户按照个 人的操作习惯进行调整;无处不在的帮助信息,随时为用户提供帮助,包括右键快 捷键、功能键提示和 pop 工具条,这些就充分保障了本管理系统的易用性。 6.26.2 集成式操作环境集成式操作环境 随着视窗技术的不断发展,目前视窗设计领域内出现一种新的潮流,即 mdi 窗 体技术。mdi 窗体,即是多文档交互式窗体,亦叫无模式窗体3。它是从 windows 2.0 下的 microsoft excel 电子表格程序开始引入的,这是因为 excel 电子表格用户有 时需要同时操作多份表格,mdi 正好为这种操作多表格提供了很大的方便,于是就 产生了 mdi 程序。这种窗体包括一个 mdi 框架窗体及多个 mdi 子窗口,子窗口只能在 框架之内出现和移动。可以同时打开多个 mdi 子窗口,但同一时刻只能有一个窗口处 于被激活状态。这种一体化的操作环境,可以大大增强主窗体的信息容量,这就可 以大大增强系统操作的便捷性7。在本系统中,也将采用 mdi 窗体技术对各个功能 窗体进行综合集成。 6.36.3 属性数据录入属性数据录入 数据录入是系统从外界获取信息的途径,是系统与用户进行交互的第一步,也 是后期数据查询和分析的基础,因此,一定要保证数据录入的便捷性和正确性。 在本系统中,所有的数据均需要进行有效性验证后才可以录入到系统中,有效性既 包括格式有效性也包括逻辑有效性,比如,需要录日期项时,只能按照年月日录入 正确的日期格式,不容许录入非日期型的值,在逻辑上,也不容许录入 2 月 30 日之 类的错误数据;需要录入分数时,只能录入数字格式,不容许录入文本,在逻辑上, 也不容许录入大于一定上限之类的实际中不可能存在的数字,这样就能大大增强数据 的规范化和标准化,便于后期的数据分析和处理。 2005 届本科毕业论文 27 6.46.4 属性数据综合查询属性数据综合查询 查询是信息系统中不可缺少的功能。本系统设计的是一种可对任意指定的表、 按所有字段、任意指定条件进行的查询。查询的结果,在本系统中用数据窗口对象 显示输出。在输出过程中,用户可以设置过滤条件,达到对记录筛选查询的目的。 为了让用户尽可能方便、灵活地指定过滤条件,使查询更加有效和迅速,一个比较 理想的方法是,对任意数据窗口对象,只要在任意字段上输入一个值,然后,选择 一个关系运算符,就可以得到一个与该字段的关系表达式,进一步,还可以产生一 般的逻辑表达式作为过滤条件,进行过滤,达到查询的目的。这种生成查询条件的 方法新颖、独特,实现的查询模块简单、实用,从而大大提高了用户的查询效率。 对于查询的结果,用户也可以根据自己的需求,选择显示的字段和设计自己的视图。 当然,系统下一步应该提供的功能就是根据查询结果,生成各式各类的报表。 6.56.5 系统菜单功能系统菜单功能 初始条件设置 总体条件设置:输入学期,选择上课总周数,选择五天制、六天制还是七 天制,每天课程的分配; 时间设置:时间设置主要是输入各节课的上课时间,使用的是 24 小时制; 排课因素:这里设置的是优先考虑的参数,如果对其中的某项打钩,则表 示在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论