




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、高校教务管理系统中选课子系统的设计与实现第1章 绪论1.1 课题背景随着我国高校教学体制改革的发展,更加体现出以人为本的教育方针政策。学生自主地选择专业及专业方向、课程的选修机制、实验预约、成绩审核、学分制等管理方式的改革向传统的管理软件提出了新的挑战。高校教务管理工作是高等教育中的一个极为重要的环节,是整个院校管理的核心和基础。面对种类繁多的数据和报表,手工处理方式已经很难跟上现代化管理的步伐,随着计算机及通讯技术的飞速发展,高等教育对教务管理工作提出了更高的要求。尽快改变传统的管理模式,运用现代化手段进行科学管理,已经成为整个教育系统亟待解决的课题之一。1.2 论文研究的意义高校教务管理系
2、统采用 C/S 结构与 B/S 结构相结合的体系结构,满足了教务管理用户集中、处理数据量大的要求。本系统采用 C/S 模式作为系统的主要模式,结构简洁、快捷。采用这种模式不仅可以提高工作效率,而且在一定程度上也保证了系统的安全性。系统有一个中心数据库服务器,各个客户端通过校园网访问数据库。仅仅对于学生选课、信息发布、网上成绩查询等部分模块采用 B/S 模式,用户通过浏览器进行业务操作。这种模式只需要开发 Web 程序,并将通用的应用程序放在 Web 服务器上,只需在客户端安装标准的、简单通用的浏览器即可。这样可以大大减少对很多用户端进行特殊的设置和软件的安装。采用这种方式不仅减少了系统开发的成
3、本、周期,并且保证了关键数据的安全性,操作的快速性、简洁性和方便性。但是,由于成人院校具有脱产、业余(夜大、函授)的特殊性,所以在教学管理上与普通院校的在校学生的管理有较大的差别,如成教学生的基本信息与普通院校的在校学生的基本信息差别比较大,成人教育的单独排课,单独考试,与在校学生的差别比较明显。因此,为了适合成人教育的教务管理,我们有针对性地开发了这套高校成人教育教务管理系统。1.3 国内外研究现状高质量的教育需要高效的管理,随着教学改革和计算机技术的发展,相应的教务管理系统也在不断的变化。最早的是基于单机的教务管理系统,该类系统一般运行在 PC机上,采用 DBase, FoxPro, Vi
4、sual FoxPro 等小型的 DBMS,目前仍有少数高校采用这种管理模式。随着网络硬件的发展,基于校园网的教务管理系统成为开发的重点,在此阶段,B/S模型占主导地位,一般都采用集中的数据库管理系统,各个院系的教务人员和教务处的工作人员通过校园网络连接数据库服务器上存取数据,在这种管理模式下,对于教务人员和教务处而言,数据得到了共享,提高了教学管理的效率和水平。随着 Internet/Intranet 的应用快速兴起和发展,特别是高校教学改革的深入,教学管理的模式也从原来的学年制向学年学分制过渡,一般高校都提供一定数量的全校性公共选修课程供学生选择,选课成为教务管理中非常迫切的要求,因此网上
5、选课成为必然的趋势。所以为了能够适应新的教学和教务管理模式,本系统也就有了开发的前提和目标1。1.4 论文主要研究内容高校综合教务管理系统基于校园网,实现高水平的信息资源共享和跨平台的信息资源访问,不仅要面向全校不同部门的信息资源的共享,还要解决各部门己有的或将建立的信息系统的资源共享,而各部门信息系统和资源子系统的系统平台不一,数据库又不尽相同,要解决不同的资源子网的信息共享,提高信息资源共享的利用率,系统结构应具有跨平台访问不同数据源的机制。建立与其他系统的数据接口,教务系统可以为其他系统提供数据共享。系统具有较好的可扩展性和包容性。系统的可扩展性包括能接纳已有的系统和在今后系统软硬件扩展
6、时,能有效地保护己有的投资。特别是在应用需求变化时,有一个较好的应用平台,能容易地加以调整。系统易于扩充升级,既能满足当前业务的需求,又为今后的扩充留有空间。教务信息全校用统一的数据格式描述,将教学计划等教务业务工作标准化、规范化。采用信息标准的优先次序是:国家标准,教育部标准,教育部下属机构标准,国家其他部颁标准。应用系统的设计符合日常办公运作的需求,功能完备实用,简单易学,界面友好清晰,易于扩充。网络结构简单明了,层次清楚,便于管理,易于扩充。在教务信息标准化、规范化的基础上,对信息进行合理的布局,在提供优质、高效的业务管理和事务处理的同时,使全校师生可以在任一平台上对本专业教学计划进行查
7、询,了解课程设置情况,查询成绩、网上选课等,教师可以查询了解学生的情况等。具有安全高效的通信机制,身份认证,权限检查,以解决教务信息系统的安全性、保密性问题,防止信息泄密和对保密信息的非法侵入。考虑与校园网的安全机制相结合,采用路由技术,设立教务信息系统的防火墙。1.5 论文结构本文是以高校教务管理系统选课子系统为例介绍基于.NETMIS 系统的设计与实现。本人的主要工作是参与项目的前期需求采集和系统的分析与设计,并实现了选课子系统。本文的组织结构如下:第1章主要介绍本系统的开发背景。第2章主要介绍与系统开发有关的相关概念和技术。第3章主要对系统进行需求分析,探讨选课制的基本思想、约束关系,建
8、立需求模型。第4章主要描述对系统的功能、构架、体系结构、数据库进行的设计。第5章则主要描述选课系统的详细设计与算法实现。第6章主要描述对系统进行的测试。第2章 研究的总体思路与相关技术2.1 研究总体思路本人参与的选课系统包括两个模块。一个是在校学生的网上选课模块,另一个是教务科教务管理员的选课后台管理模块。在校学生利用浏览器通过校园网访问本院(系)的选课主页,获取相关信息,提交自己的选课意向。教务科的教务管理员再根据学生的选课情况作调整,例如处理选课名单,对于报名人数超出科目最大容量的科目,系统随机选取最大容量的报名学生,其他报名者将只能选择其他科目。教务科老师也可以手动添加删除学生形式。整
9、个选课过程一共有三次网上选课。第一、二次选课采用网上提交选课单的形式。学生在规定时间内在网上提交选课单,结束以后,系统集中处理,确定入选学生名单。提供两次网上选课是为了使第一次落选的学生能够补选。第三次选课在学期初进行,主要是在经过几次试听之后,给学生退选和补选的机会。学生可以退选,对于还有空额且允许补选的课程则可以补选。根据这样的工作流程,教务科负责对整个选课系统的设置,确定学生网上选课的时间和地点,监控选课系统的运行情况。在选课结束之后,以及在学期末,教师根据名单输入学生成绩之前,对学生选课名单的管理和维护,都由教务科负责。对于选课处理的规则,基本上有先来先选上法和系统抽取法两种方法。所谓
10、的先来先选上法,就是根据学生选课的时间顺序来决定该学生是否选上。学生只要在某科目的最大容量未满的情况下进行选课,则必然入选;如果该门科目己经达到最大容量,除非有学生要退选,否则任何学生均无法入选。该方法规则简单,但是会引发学生抢号。对于热门科目,很多学生怕迟选导致落选,往往竭尽所能提早选课,影响学校的正常教学秩序。系统抽取法则首先设定一个时间范围,在这个范围之内,学生均可以自由选择科目。但是,该选择动作只是一个意向,并不能够保证一定入选。选课结束之后,系统通过公平算法随机选取报名学生,并公布入选名单。落选的学生只能够选择其他科目。系统抽取法比先来先选上法公平。因为每个学生都有自己的时间表,假设
11、选课从周一上午开始,且采用先来先选上规则,则周一上午没有上课的学生具有优先选课权。但是,对于系统抽取法,这个不公平就取消了。 例如某热门科目网页设计,限额 100 人,选课时间范围一周,预期报名人数 800 人左右。在先来先选上规则基础上,则很可能在第一天上午该门科目就己经报满了。许多学生由于客观原因根本没有入选机会。如果采用系统抽取法,学生在一周中的任何时间内均可报名,无论迟早,均有同等入选几率。很明显,这种算法公平得多。2.2 相关技术(1) UMLUML 是编制软件蓝图的标准化语言,它提供了一套描述软件模型的概念和图形表示法,以及语言的扩展机制和对象约束语言。软件开发人员使用 UML 语
12、言对复杂软件系统建立可视化的系统模型,编制说明和建立软件文档。UML 支持面向对象的技术和方法,能够准确方便的表达面向对象的概念,体现面向对象的分析与设计风格2。(2) ASP.NETASP.NET 是一种将各种 Web 元素组合在一起的服务器技术,是一个统一的 Web 开发平台,它提供了生成一个完整的 Web 应用程序所必需的各种服务。ASP.NET 的语法在很大程度上与 ASP是兼容的,同时它还提供了一种新的编程模型和结构,用于生成更为安全、可伸缩和稳定的应用程序。可以通过在 ASP 应用程序中添加 ASP.NET 的功能,来扩充和增强该 ASP 应用程序的功能3。ASP.NET 是一个已
13、编译的、基于.NET 的环境,可以使用任何与.NET 兼容的语言来创建相应的应用程序4。(3) C#C#是由 Microsoft 公司开发的一种新型程序设计语言。由于它是从 C 和 C+中派生出来的,因此具有 C+的功能。同时,它又像 Visual Basic 一样简单。C#代表着程序设计语言演变的一个新阶段,它继承了 C+和 Java 这两种世界上最重要的计算机语言的优点,并且还增加了指代、索引等创新性特点;同时,C#语言利用了.NET 作为其强大的平台,使得它在 Windows 图形用户界面、ASP.NET Web 应用、XML Web Service 及 ADO.NET 数据库等方面有广
14、泛的应用5。C#是一套全新的程序语言,它不但简单易用同时也功能强大。如同C+是继承自C, C#的基本语法是等同于C/C+。它不但是一套面向对象的程序语言,同时它可应用于Web-Based环境及分布式的网络作业环境。从程序语言的角度来看,C#也是相当先进的,它具有一些C/C+所欠缺的内存自动管理、Type Safe等特性。另外C#和C/C+不同之处在于,C#设计的时候将一些先进的程序语言特性也都纳入其中,例如内存的自动管理。这对C/C+的程序设计者来说是件很新鲜的事情,但对精通Java的程序设计者来说,这却是再熟悉不过的了。所以简单地讲,C#可以兼顾来自C/C+及Java两种程序设计者的需求。(
15、4) B/S结构B/S结构(Browser/Server结构)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实
16、现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效7。B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。C/S 计
17、算模式中,将应用程序分为两部分:客户桌面和后端服务器。这种应用程序可能的情况如图2-1所示。“胖客户机”数据服务业务服务用户服务数据服务业务服务用户服务“胖服务器”图2-1 计算模式两种物理结构Figure 2-1 Calculation model two kinds physical architectureB/S计算模式是第二代计算模式三层B/S计算模式在 Internet上的实现25。这种计算模式是与平台无关的,可以认为是三层 B/S计算模式发展的一个质的飞跃。其物理结构如图2-2所示。数据服务层功能层表示层业务服务用户服务图2-2 B/S计算模式的物理结构Figure 2-2 Cal
18、culation model of physical architecture从图2-2我们可以看到,在 B/S 三层体系结构下,表示层、功能层(包括业务服务和用户服务)、数据服务层被割成三个相对独立的单元。B/S架构软件维护和升级方式简单。目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需
19、要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。成本降低,选择更多。大家都知道Windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上Windows并不是处于绝对的统治地位。现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很
20、多的,不管选用那种操作系统都可以让大部分人使用Windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。比如说很多人每天上“新浪”网,只要安装了浏览器就可以了,并不需要了解“新浪”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用Windows操作系统,但用户的电脑本身安装的大部分是Windows操作系统。应用服务器运行数据负荷较重。由于B/S架构管理软件只安装在服务器端(Sever)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Sever)端完全通过
21、WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。C/S结构软件(即客户机/服务器模式)分为客户机和服务器两层,客户机不是毫无运算能力的输入、输出设备,而是具有了一定的数据处理和数据存储能力,通过把应用软件的计算和数据合理地分配在客户机和服务器两端,可以有效地降低网络通信量和服务器运算量。由于服务器连接个数和数据通信量的限制,这种结构的软件适于在用户数目不多的局域网内使用。国内目前的大部分ERP(财务)
22、软件产品即属于此类结构8。B/S(浏览器/服务器模式)是随着Internet技术的兴起,对C/S结构的一种改进。在这种结构下,软件应用的业务逻辑完全在应用服务器端实现,用户表现完全在Web服务器实现,客户端只需要浏览器即可进行业务处理,是一种全新的软件系统构造技术。这种结构更成为当今应用软件的首选体系结构。e通管理系列产品即属于此类结构。数据安全性比较。由于C/S结构软件的数据分布特性,客户端所发生的火灾、盗抢、地震、病毒、黑客等都成了可怕的数据杀手。另外,对于集团级的异地软件应用,C/S结构的软件必须在各地安装多个服务器,并在多个服务器之间进行数据同步。如此一来,每个数据点上的数据安全都影响
23、了整个应用的数据安全。所以,对于集团级的大型应用来讲,C/S结构软件的安全性是令人无法接受的。对于B/S结构的软件来讲,由于其数据集中存放于总部的数据库服务器,客户端不保存任何业务数据和数据库连接信息,也无需进行什么数据同步,所以这些安全问题也就自然不存在了。数据一致性比较。在C/S结构软件的解决方案里,对于异地经营的大型集团都采用各地安装区域级服务器,然后再进行数据同步的模式。这些服务器每天必须同步完毕之后,总部才可得到最终的数据。由于局部网络故障造成个别数据库不能同步不说,即使同步上来,各服务器也不是一个时点上的数据,数据永远无法一致,不能用于决策。对于B/S结构的软件来讲,其数据是集中存
24、放的,客户端发生的每一笔业务单据都直接进入到中央数据库,不存在数据一致性的问题。数据实时性比较。在企业级应用里,C/S结构不可能随时随地看到当前业务的发生情况,看到的都是事后数据;而B/S结构则不同,它可以实时看到当前发生的所有业务,方便了快速决策,有效地避免了企业损失。数据溯源性比较。由于B/S结构的数据是集中存放的,所以总公司可以直接追溯到各级分支机构(分公司、门店)的原始业务单据,也就是说看到的结果可溯源。大部分C/S结构的软件则不同,为了减少数据通信量,仅仅上传中间报表数据,在总部不可能查到各分支机构(分公司、门店)的原始单据。服务响应及时性比较。企业的业务流程、业务模式不是一成不变的
25、,随着企业不断发展,必然会不断调整。软件供应商提供的软件也不是完美无缺的,所以,对已经部署的软件产品进行维护、升级是正常的。C/S结构软件,由于其应用是分布的,需要对每一个使用节点进行程序安装,所以,即使非常小的程序缺陷都需要很长的重新部署时间,重新部署时,为了保证各程序版本的一致性,必须暂停一切业务进行更新(即“体克更新”),其服务响应时间基本不可忍受。而B/S结构的软件不同,其应用都集中于总部服务器上,各应用结点并没有任何程序,一个地方更新则全部应用程序更新,可以做到快速服务响应。网络应用限制比较。C/S结构软件仅适用于局域网内部用户或宽带用户(1兆以上);而我们的B/S结构软件可以适用于
26、任何网络结构(包括33.6K拨号入网方式),特别适于宽带不能到达的地方。 (5) SQLSQL (Structure Query Language),结构化查询语言,最初是由E. F. Codd博士在1970年提出的。E. F. Codd博士也是关系数据库模型的创立者,然而在他提出的关系数据库模型的理论中,只是对如何设计关系数据库提出了理论性的描述,并没有关于使用数据库的描述。对于创建表,指定表包含的字段,建立表间的关系以及对数据库中记录的添加、删除和修改等操作,需要一种数据库应用程序语言来实现。正是在这种背景下,由Codd博士所成立的IBM Sanjose实验室针对IBM称为Syestern
27、 R的一种原型关系数据库,定义了一套结构化查询语言,称为SEQUEL,这就是现在使用的SQL语言的前身。SEQUEL的第二个版本是SEQUEL/2,后来改名为SQL10。SQL出现后,由于其突出的优点,迅速成为数据库语言的标准。SQL的优点可以归纳为方式的改变、简单易用、兼容性和客户机/服务器结构应用四点。操作方式的改变:以往的数据库语言总是针对一个记录或字段进行各种操作,这使数据库的维护受到很大限制并导致效率低下。而SQL则完全改变了操作的方式,它摒弃了以往面向记录或字段的查询方式,转而面向整个表查询,甚至还可以通过建立表与表间的关系而进行表间的数据查询。这种方式的改变使程序员从使用程序控制
28、数据库中一行行的记录的工作中解放出来,大大提高了控制能力,简化了数据库编程。简单易用:SQL语言非常简单而且易与使用,这主要得益于它的语法非常接近于自然语言,使得对SQL的理解和使用都相对容易许多。同时,由于其简单的语法和接近自然语言的特点,使得对代码的维护也相当简单。兼容性:SQL语言最大的特色之一是它具有广泛的兼容性。以往的数据库语言,各个数据库系统均不相同,而且彼此之间不能相容,这对于数据库开发和维护者来说增加了很大的负担。而且这种不兼容性,造成了程序可移植性很差。SQL则完全不同,它是数据库语言标准。只要使数据库系统支持SQL语言,则任何用SQL开发的程序就可以很方便的移植到该系统。客
29、户机/服务器结构的应用:客户机/服务器结构日益普遍,而客户端的数据库管理系统一般使用SQL语言来管理和维护数据。根据客户机/服务器的运行属性,客户端的应用程序应当使用同服务端相同的语言,向服务端发出数据请求,而服务端的数据库管理系统根据客户端发出的请求,将数据进行处理后传送给客户端。正是由于这种需要,现在绝大多数的数据库程序设计语言均支持SQL语言11。在SQL语言中,最重要的概念就是查询。查询可以分为两类:选择查询和动作查询。选择查询返回一个记录集,即按一定的条件从数据库中返回数据。动作查询并不返回记录集,只是对数据库中的数据修改,或建立和修改数据库结构,例如删除记录、建立数据库。标准的SQ
30、L语言可以分为如下几类:数据查询语言DQL:数据查询语言是从数据库中获取记录,并对返回记录进行排序、分组等。这种语言中最常见的是SELECT语句,WHERE和ORDER BY等。数据操作语言DML:数据操作语言主要是向数据库中添加、修改和删除等操作,典型的如INSERT语句等。动作查询主要由DML语言构成。事务处理语言TCL:事务是数据库中非常重要的功能。事务处理语言就是控制数据库要么完成一组操作或是全部不完成。该语言包括BEGIN TRANSACTION, COMMIT和ROLLBACK等语句。数据控制语言DCL:该语言主要是对不同数据库中的表、字段等确定其访问的权限。数据定义语言DDL:数
31、据定义语言用于数据库的创建,如表、字段和索引的字段,如CREATE TABLE和CREATEINDEX语句等。游标定义语言CCL:游标定义语言用于操纵游标12。2.3 本章小结本章介绍与系统开发有关的相关概念和技术。第3章 选课系统需求分析选课制是学分制的前提和基础,是学分制教学管理体制在运行中最基本的特征,只有全面实行选课制才能更加充分地发挥学生在学习中的主体地位,进一步调动学习积极性,更加有利于教师在教学中实行因材施教,因而也更有利于人才的培养,真正充分地发挥学分制的优越性。本章将通过对选课制的基本思想、选课制的三要素和约束关系的分析,建立系统需求模型,确定系统需求。3.1 选课制的基本思
32、想学分制和选课制相伴而生,学分制以选课制为基础,选课制为学分制的必要条件。与美国学分制的产生过程相比,我国走的是与学分制的自然产生过程完全相反的道路,即先引进学分制,后发展选课制,即先有形式,后有内容。学分制的有效实施,需要有较高素质的教务管理队伍。学分制的教学管理工作既需要专职工作人员具有对学分制的深刻认识和研究,又需要他们精于管理,对教学工作有较高的管理造诣,熟练地运用计算机技术的管理手段使纷繁庞杂的日常事物变得井然有序。目前对于选课制的具体看法或者做法大体有三种情况:(1) 允许学生自由选择选修课,而必修课仍由教务处统一安排,行政班与教学班基本保持一致。(2) 允许学生自由选择课程,包括
33、提前修读的或者分层次的必修课和各种选修课,但是课程仍由教务处统一安排,也就是说学生不能随意选择教师,行政班基本上不打乱而进行排课。(3) 学生可以自由选课程、选教师,这是最大自由度的选课方式,这时学生注册行政班与教学上课班是分离的,我们称它为全面选课制。根据成人教育学院学分制的实际情况,选课制基本思想如下:(1) 课程分为必修和选修两种,其中包括专业必修课、基础必修课、专业选修课、公共选修课共4类课程。(2) 课程按学期进行安排,按照每个系、每个年级、每个专业排课,每个专业都有自己的相关课程。(3) 教学班概念。教务处在排课时,根据教师、教室、时间等情况安排教学班。也就是说,教学班是教师、课程
34、、上课时间、教室的集合。同一门课程可以有多个教学班,教学班的安排只要需要满足两个或者两个以上的教学班不是同一门课程在同一地点或者同一时间由同一个老师来讲授这个条件即可。这也就意味着,一门课程,可能会出现多个教师讲授,可能出现在多个时间讲授,也可能在多个地点进行讲授。(4) 学生的选课过程实际上就是一个选择教学班的过程。专业必修课和基础必修课,是每个学期必须完成的学分,但是学生可以根据自己的需要和了解选择教学班,虽然课程是固定的,但是学生可以选择时间、地点、上课的教师。而对于专业选修课和公共选修课,每个学期均提供3-5门,学生可以根据需要选择其中1-3门,这个时候学生的选择不仅仅只是上课的时间、
35、地点和教师,还可以选择自己喜欢学习的课程。3.2 选课制的三要素选课制的三要素包括学生(Student)、教师(Teacher)、课程(Course)三者之间的关系如图3-1所示。nmnm学生选课课程任课教师图3-1 学生课程教师的E-R图Figure 3-1 Student course teachers in a curriculum an E-R plans通过学生课程教师的E-R图可以看出学生与课程之间是多对多(N-M)的关系,即一个学生可以选择多门课程,而一门课程也可以被多个学生选择;同样,教师与课程之间也是一个多对多的关系,一个教师可以选择多门课程任教,同一门课程也可以有多个教师任
36、教。学生和教师之间其实并没有任何直接的关系,必须通过课程来进行联系。所以三者围绕着选课活动产生了多种非确定的需求,这些需求都会集中的体现在课程安排上。例如:选课结束之前,课程开设只是一个预开设的过程,因为在选课结束之前不能确切知道学生对于某一个具体教学班的选课情况,那么也就无法预先得知该教学班最后能否开设。如果某一个教学班,学生选择它的人数只有几人或者十几人,那么该教学班肯定会被取消,而选择该教学班的学生会被分流并重选。同样,每个教学班都因为教学场地、教学效果等实际情况而限制了最高人数,一旦选择该教学班的学生人数达到了预先设定最高值,那么该教学班将不能被继续选择。3.3 选课制的约束关系选课制
37、的约束关系包括空间约束关系和时间约束关系。3.3.1 选课制的空间约束关系选课制的空间约束关系,即课程容量和实际选课学生间的关系。空间约束着重解决的是学生选课时在空间上的可选性。课程容量设计和选课学生预计数之间的关系随着课程性质的不同而异。容量对课程的可选性而言不是越大越好。学分制课程开设一般均应达到某个下限才能开课,如有多门课程容量都留得过大,但选课的学生很有限,则会产生多门课程都会因为选择的学生人数不够而无法正常开设,这样就形成新的不可选问题13。根据目前成人教育学院的实际情况,选课的容量与实际学生数之比有下列关系:(1) 专业必修课:容量和实际学生比例为1.1:1,由于专业必修课在一个学
38、期之内不可能出现开设多门课,也不可能开设过多的教学班。同时,每个专业的学生人数相对不多,专业的教师也相对较少,而且专业必修课程属于每学期必须完成任务,所以每个学生都会进行选择,唯一的区别在于学生愿意选择哪个教学班,选择哪个教师,愿意在哪个时间段上课。所以在设置时,只要能满足学生的人数要求即可。(2) 专业选修课:容量和实际学生比例为1.3:1,由于专业选修课对于学生专业要求高,专业性更强,需要一定的专业知识和技术作为基础,所以不会对其他专业学生进行开放,这样也就意味着容量比不会太大。同时每个学期对相应专业、相应年级开设的专业选修课都与专业必修课之间有一定联系,只要必须保证开设的课程有一定的可选
39、择性即可。(3) 基础必修课:容量与实际学生比例为1.3:1-1.5:1。基础必修课是每个学生必须完成的课程,根据学生专业不一样,基础必修课程也有不同的调整,但是相对于专业必修课,基础必修课的范围更广,往往一门课程涉及到多个专业的学生。比如,理科学生(包括数学专业、物理专业、化学专业等等)会开设计算机程序设计,而文科学生则一般不会有该门课程。由于选择基础必修课的学生多,范围广,所以必须有一定冗余量。(4) 公共选修课:容量和实际学生比为1.5:1-2.0:1。公共类选修课程可以让学生任意进行选择,可以跨专业选择。学生有绝对的自主权和选择权。由于对于全校所有学生开放的课程,所以容量应该宽松。但是
40、不能大于2.0:1,否则会出现很多课程因为选课人数未达到开课人数下限而不得不关闭。空间约束受到学校自身办学条件的限制,主要是教室坐位的限制。例如公共选修课均按2.0:1安排容量,可能无法找出那么多达到容量的教室,在此情况下,可以通过选课过程中限制每个教学班最高容量,限制的这个容量为该教室座位的90%,以便于以后的调整1415,这样也为补选阶段学生的二次选择,留有一定量的位置,而不至于造成学生在二次选择时,无位置可选。3.3.2 选课制的时间约束关系选课制的时间约束关系,即教学班与教学班的时间安排应保障学生按需要选到所修课程而尽可能不会发生冲突。具体对于每位教师、每个学生而言,则意味着在一个时间
41、片内最多只能有且只有一门课;每个教室在一个时间片内最多也只能有且只有一门课。选课制的时间约束涉及到以下几个问题:(1) 课程的层次划分 同一层次的课程应该是不可能被同一个学生所选。例如同一门课程如有不同的教师所开设,则尽可能排在同一层次内,学生不可能选两门一样的课程。另外,高年级的课程和低年级的课程也可安排在同一层次。(2) 课程层次的组合 课程层次的组合应考虑可能被一个学生所选的课不应排在同一时间段,以形成合理的层次组合,避免学生选课时的时间冲突。如同一年级的学生的外语课和数学课均为他们所要修学的,应安排在两个时间段,这样学生选这两门课不会产生时间冲突。(3) 散列课程的安排 散列课程即因为
42、客观条件的限制必须在时间上散列分布在不同时段的课程,例如体育课由于场地限制,由于物理实验课、计算机上机实验等受到实验室限制,只能均匀分布在各时间段。这些散列课程安排不当会引起与某些课程冲突,甚至无人选修。解决上述问题的办法有二:其一增加特殊时间段,如开设晚间课程;其二调整相关课程的开设量。3.4 系统需求模型根据统一软件过程的要求,对于建立一个系统而言首先要进行的是商业流程的分析。3.4.1 选课业务需求在学校规定的选课期间,选课学生登上任何一台连接校园网的计算机都能够进行网上选课。各种选课都要给出有关课程的相关信息,如上课时间,任课教师等。学生以用户名(根据成人教育学院实际情况,用户名将统一
43、为学生学号)和密码进入选课系统。选课系统将根据用户名自动识别该生所在系、专业、年级等信息。在学生选课时能自动进行有关逻辑判断,如是否时间冲突、是否重复选课、某类性质的课程学分是否超过上限、选中概率是否能满足设定概率要求等等,只有所有这些要求都满足才能选课成功。正常选课分为二个阶段选课阶段、补选阶段。选课阶段:采用的是先来先得,机会优先的原则。选课人员在选择某个教学班时,名额限制为该教学班所在教室实际容量的90%,因为每个教学班所在教室的容量有限,而且还要考虑留有少量冗余。学生选择自己所要学习的课程以后可以进行提交,提交以后的课程在限定的时间内可以随时进行退选或改选已经选择的课程,一旦超过限定时
44、间,则不能对己选定的课程做任何修改。补选阶段:选课阶段结束之后,管理员收集学生选课的数据进行分析,关闭小于规定人数的教学班,发布实际课程表。对于选择这些被取消的教学班的学生可以进行补选。补选的时候只能选择当前己选定课程的其他教学班。如果有特别需要,可以根据系上出具证明,由教务处管理员为该学生改选其他课程。同时补选阶段还对未在选课阶段进行选课的学生提供一次选课服务。分析客户需求可以知道此选课系统主要分为学生选课和选课管理两大功能,在前一部分中的参与者主要是参加选课的学生,后一部分的主要参与者则是管理人员。选课学生参与的过程主要有选课阶段、补选选课两个。而管理人员的主要管理功能包括:课程的安排、学
45、分上限的设定、课堂容量的设定、选课概率的设定、人数不足课堂的关闭等。同时,还要考虑需求中没有提到的,但是为了实现系统需求我们必须添加的功能,如安全功能:在选课系统中对选课人员和选课的管理人员进行认证,赋予他们相应的权限;如教师查看选课情况的功能;如各个系教学秘书的统计工作等等。3.4.2 系统基本流程一次完成选课的基本流程:(1) 教务处管理员发布下学期开课申请,各个院系在收到申请以后,安排下学期各个年级相关专业的学生所要学习的课程以及对应的学分(一般是在该学生入学时候就己经安排好了大学4年以内应该必修的内容和可以选修的内容,这个地方只是根据当前实际情况和需求做出小范围的调整),然后通知教师选
46、择自己需要讲授和愿意讲授的课程。(2) 教师在提交自己的授课申请以后,各系根据教师的申请安排各个专业各个年级的课程,以及上课教师。其中每个课程至少安排2个教师。安排好以后,将结果返回教务处相关管理人员。(3) 教务处收到安排结果以后,使用排课系统进行预排课,预排课实质上就是一个确定教学班的过程,即安排每个教学班的所在教室、人数、授课时间、任课教师,并准备选课的实施。(4) 选课阶段。学生使用自己的学号和密码登陆系统进行选课。选课时可以查看自己以往修学过的课程,可以查看已经得到的学分,对于当前能选择的课程可以选择查看教师情况,该课程开设情况、可以查看选择这门课的其他学生还选择了那些课程,可以查看
47、该教学班已经选择的人数情况和选择的学生中对应专业的情况。当学生选择不够学分或者学分过多时系统会给以提示;选择重复课程或者同一段时间选择了2门课程,系统会提示学生冲突,并要求学生重新选择。学生在选课阶段可以随时修改自己己经选择的课程。(5) 确认选课。提交选择结果,这个时候学生将不能修改自己选择的课程。但是可以随时查看自己选择的课程。(6) 教务处管理员在学生提交确认以后对数据进行处理和分析。当某教学班的选课人数少于15人,那么该教学班取消,选择该教学班的学生对于这门课程被列为补选人员。数据处理完成以后,进入补选阶段。(7) 补选阶段,只针对2种学生,一种是因为自己选择的教学班被取消,一种是因为
48、特殊原因没有参加预选课的学生,比如请假的学生。补选阶段对于参加过选课而教学班被取消的学生,那么只能选择同一门课程的其他教学班。对于没有参加过第一次选课的学生,那么可以按照预选课的程序进行。(8)补选结束以后进行数据整理与收集。发布最终课程表。3.4.3 系统需求模型学生选课用例图如图3-2所示:密码验证增加模块按学期查询按教师查询按专业查询按学号查询删除模块登陆模块查询模块修改模块个人设定选课阶段补选阶段图3-2 学生选课用例图Figure 3-2 Classes with students of Fig.学生是和选课系统进行交互的操作者,也是该系统的主要用户,所以系统的主要功能都是为了满足学
49、生的实际需求。学生和系统的交互很好的规定了系统的边界。查询用例表示了学生能进行的一系列的查询工作,包括查询该门课程的开设情况和基本介绍,能够查询任课教师的基本情况,能够查询自己能够选择的课程、己经选择的课程和以往修学过的课程等等。由于学生的每次操作均需要登陆系统并被系统确认身份以后才能完成,所以无论学生处在那一个选课阶段,都必须进行登陆这个模块。修改的模块包括了删除和添加两个功能,以保证学生能够选到必要的和自己意愿中的课程。选课管理用例图如图3-3所示:课程安排登陆模块学生调整系统备份日志处理数据分析密码管理系统管理系统维护其他管理图3-3 选课管理用例图Figure 3-3 Elective
50、 use case management plans管理员是选课管理系统模块的主要参与者,同时也可以作为界定系统的边线。课程安排是选课的核心之一,只有按照实际的教学情况安排出每个学期必修和选课的课程,才能保证选课制的顺利进行。数据分析可以对学生选课的数据进行处理,如某个教学班因为选课人数不足,而被取消的情况。学生调整是针对补选而言。系统维护则是最大限度保证系统的安全性。下面就上述用例图中的几个重点用例加以说明。管理员添加课程事件流如下,事件流图如图3-4所示:未通过否是无冲突有冲突系统将数据写入数据库,提示添加成功系统验证输入信息当前登录次数3提示出错退出系统系统提示重新进行输入系统提示重新进
51、行输入系统验证输入信息管理员进入管理界面系统提示输入帐号密码进入管理系统界面管理员输入帐号信息选择添加课程管理员输入新课程信息管理员提交输入数据图3-4 添加课程事件流图Figure 3-4 Elective use case management plans 添加课程事件流(1) 管理员选择进入管理界面,用例开始(2) 系统提示输入管理员帐号、密码(3) 管理员输入帐号、密码(4) 系统对输入信息进行验证A1:验证失败(5) 进入管理界面(6) 选择添加课程,系统显示已经建立的所有课程并提示输入新课程信息(7) 管理员输入新课程(8) 管理员提交输入的数据(9) 系统验证A2:有冲突(10)
52、 系统添加新课程,提示添加成功(11) 用例结束返回第5步 其他事件流A1:验证失败(1) 系统提示密码或者用户错误,要求重新输入(2) 3次失败,拒绝访问(3) 成功,转向添加课程事件流第5步A2:有冲突(1) 系统提示课程有冲突(2) 返回添加课程事件流第7步学生选课的事件流如下:是否是否系统将学生选择内容写入到临时表学生提交选择课程系统接受学生提交数据系统将数据写入数据库提示选课成功系统判断选择是否出现冲突系统提示出现冲突重新选择学生选择课程系统提示重新输入学生进入选课界面系统提示输入账号密码学生输入账号密码当前登陆错误次数3学生点击进入选课界面系统提示学生能选择的课程信息进入选课主界面
53、系统验证输入信息系统验证输入信息未通过提示出错退出系统进入选课主界面学生点击进入选课界面系统提示学生能选择的课程信息否图3-5 选课阶段事件流图Figure 3-5 Elective use case management plans 选课阶段事件流,如图3-5所示:(1) 学生进入选课登陆界面,用例开始(2) 系统提示学生输入学号、密码(3) 学生输入自己的学号、密码(4) 系统对输入的信息进行验证A1:验证失败(5) 进入选课主界面(6) 学生点击选课(7) 系统显示所有该学生能选择的课程信息(8) 学生选择课程(可选择多门,也可以一门都不选择)(9) 系统判断学生选择的课程是否出现冲突A
54、2:出现冲突(10) 学生提交选择课程(11) 系统接受(12) 系统将数据写入数据库(13) 系统提示选课成功(14) 用例结束 补选阶段事件流,如图3-6所示:是否否学生进入选课登陆界面系统提示输入帐号密码学生输入帐号密码系统提示重新输入系统验证输入信息当前登陆错误次数3提示出错退出系统进入选课主界面学生点击进入选课界面是系统判断学生是否参加过选课系统显示出学生需要重新选择的课程信息系统显示出学生能选择的课程信息学生选择课程系统将学生选择的内容写入到临时表系统判断选择是否出现冲突系统提示出现冲突要求重新选择学生提交选择课程系统将数据写入数据库提示选课成功系统接受学生提交数据否未通过通过验证
55、是图3-6 补选阶段事件流图Figure 3-6 By-election phase of the incident flow diagram(1) 学生进入选课登陆界面,用例开始。(2) 系统提示学生输入学号、密码(3) 学生输入自己的学号、密码(4) 系统对输入的信息进行验证A1:验证失败(5) 进入选课主界面(6) 学生点击选课(7) 系统判断该学生是否参加过选课A3:没有参加过选课的学生(8) 系统返回学生能够选择的课程(9) 学生选择课程(10) 系统判断学生选择的课程是否出现冲突A2:出现冲突(11) 学生提交选择课程(12) 系统接受(13) 系统将数据写入数据库(14) 系统提
56、示选课成功(15) 用例结束 其他事件流:A1:验证失败(1) 系统提示密码或者用户错误,要求重新输入(2) 3次失败,拒绝访问(3) 成功,转向选课事件流第5步A2:出现冲突(1) 系统提示选择该门课程失败,要求重新选择(2) 转向选课事件流第7步或补选事件流第8步A3:没有参加过选课的学生(1) 系统提示该学生没参加过选课(2) 转向选课事件流第7步3.5 建立对象类图对象类图是在面向对象的系统模型中使用最普遍的图。对象类图表达一组对象类和它们的联系,是一种静态结构图,描述的是系统的静态结构,而不是系统的行为。对象类图包括三个部分:对象类、用户接口、联系。对象类简称类,是面向对象模型的最基本的模型元素。对象类有属性、操作、约束以及其他成分等。属性描述类性质的实例所能具有的值,操作实现类的服务功能,它可以被本类的对象请求执行,从而发生某种行为。用户接口就是用户和系统
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第四章液体洗涤剂28课件
- 第三节组合体本节主要内容17课件
- 废旧电池危害教学课件
- 口腔科消毒隔离管理课件
- 口腔礼仪知识培训课件
- 小学生种植豆芽课件
- 2025年小学语文课程标准考试测试卷及参考答案
- 建筑农民工权益保障2025年行业规范与新型用工模式创新策略
- 2025年教育质量评估与认证体系教育质量评价体系应用研究报告
- 2025年公共卫生应急资金申请项目执行监控报告
- 《实验室应急预案》专题培训
- 技术、售后服务计划及质量保障措施
- 保山隆阳区小升初数学试卷
- 工程消防资料承包合同范本
- 急性肾功能不全护理查房
- 《水利水电工程可行性研究报告编制规程》
- 2024版住建部二手房买卖合同范本
- 仪表工线路培训
- 2024年初升高数学衔接教材讲义
- 铁路技术规章:018铁路军事运输管理办法
- 农行反洗钱培训
评论
0/150
提交评论