《选课系统的设计与实现》文献综述张愉摘要:随着计算机和网络的普及,高等学校里纷纷建立了C/S或者B/S结构的网上选课系统。
与传统的选课方式相比,网上选课系统利用局域网为学生选课带来了便利。
学生在学校的公共机房或者宿舍的个人电脑上通过网络来选课,只要选课还没有截止,学生就能够灵活的修改自己的选课情况,大大提高了学校选课工作的效率。
教务处的教师则通过选课系统的管理员子系统来管理学生的选课情况,使得学生选课工作达到系统化和自动化,大大提高了学校的工作效率。
关键词:网上选课;分析;语言概述;概要设计一、课题来源(背景)及研究的目的和意义二十一世纪是知识经济的时代,同时也是科技高速发展、网络信息迅速膨胀的年代,大量客观事实表明,一个崭新的计算机时代必将到来。
随着知识经济革命的到来和信息技术的蓬勃发展,计算机技术和通讯技术成为了这个时代的主角,不仅改变了我们的世界,而且同时也吹响了我们迈向新生活的号角,正在以日新月异的速度改变着我们的人生。
而两者的结合产物---计算机网络,在最近的几年更是迅猛地发展起来,它不仅能够提高我们的工作效率,而且还为我们提供了广阔的资源利用空间和方便快捷的现代通讯手段,同时它还是衡量一个国家科技发展水平的重要的尺度。
计算机也慢慢的在各高校中被广泛的应用,相继建成了自己的校园网,并充分利用校园网提供的新环境、新手段为校园的教学、科研和教务管理服务。
以前大、中专院校里传统手工的学生网上课程管理过程繁琐而复杂,执行效率低,并且易于出错。
而且近年来,学校的招生规模不断扩大,在学校学生人数明显增多,加之学生分校区管理,给原本繁杂的院级选修课工作增加了不少教务工作量。
网上选课系统的推出,使得选修课程的设置维护、学生选/退课及成绩查询、管理员对选课情况的管理等工作均能在互联网上完成。
这不仅可以做到信息的规范管理和快速查询,实现了学生网上课程管理的系统化、规范化和自动化,而且减少了管理工作量,还提高了管理效率,降低了管理成本。
在完成此系统的设计和实现中需要翻阅大量的参考文献,对其重点技术进行学习和使用。
二、问题研究现状1、有关学生网上选课系统的分析1.1学生网上选课系统的主要模式网上选课的系统结构模式现在主要有以下三种:第一种是Client/Server模式(简称C/S模式);第二种是三层Client/Serve结构模式,它的一个变形是Internet 实现方法,也就是我们通常所说的Browser/Server结构模式(简称B/S模式);第三种是分布式对象计算模式。
(1)C/S结构C/S (Client/Server)结构,即大家熟知的客户机和服务器结构。
它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。
C/S体系结构的最简单的数据库应用,是由客户应用程序和数据库服务器程序两部分组成。
二者可分别称为前台程序与后台程序。
应用服务器是运行数据库服务器程序的机器,一旦启动服务器程序,就随时等待响应客户程序发来的请求;客户程序是在用户自己的机器上运行的,对应于服务器,可称为客户机。
当需要对数据库中的数据进行操作时,客户程序就会自动地寻找服务器程序,并向服务器程序发出请求,服务器程序根据预定的规则做出应答,返回结果,这种情况就被称为“胖客户机”。
第二种情况被称为“胖服务器”。
当服务器承担了较多的工作时业务逻辑编码就成为服务器上的Transact-SQL存储过程。
与“胖客户机”情形相比,由于业务服务和数据服务在相同的处理空间,并且业务服务被捆绑在数据库服务器的数据搜索引擎中,因此在数据操作之前无须进行传送或拷贝,因而减轻了网络负载,加快了应用程序的响应速度,但同时增加了服务器的负担。
(2)三层架构传统的客户分为两部分:应用客户和应用服务器。
应用客户部分只是整个应用的一小部分,在该最终用户的层面上,只负责用户接口的展现和简单的逻辑处理,如输入校验;在应用主要部分占核心的业务逻辑则驻留在应用服务器上。
应用服务器在体系结构上是位于前端客户机和后端数据库服务器之间的,它通过LAN或WAN与前端客户机联结,接收客户的请求,处理请求并按要求访问后端数据库,然后把信息送回前端客户机进行显示。
一个应用服务器可以为多个应用客户提供服务。
因为把复杂的业务逻辑从客户端移出,所以就减少了客户端的复杂程度,相应地也就降低了客户机对硬件的需求。
另外,又由于把许多用户的业务逻辑集中到单一的应用服务器上,应用的维护也相应集中了,消除了双层结构中对软件分发的考虑。
(3)B/S结构其实B/S结构和三层架构没有本质的区别,只是采用浏览器作为客户端的界面(也叫“瘦”客户端),不用再安装其他特别的软件。
同时减轻了客户端的负载量,减少了不必要的空间浪费,大部分的逻辑都在服务器段执行。
另外,客户端不必对软件进行维护和升级,由服务器端实现这些操作,还可以以不同的方式在操作同一个数据库,实现信息的统一。
1.2 C/S模式和B/S模式的各自特性通过对C/S模式和B/S模式的介绍,我们可以了解到以下几个方面的特性或特点:(1)C /S程序交互性相对低,无法得到用户的反馈信息和意见,无法得知用户在使用中出现的异常情况,而B/S与用户的交互性是很高的,可以随时得到用户提供的信息,对异常进行处理。
(2)C/S模式在逻辑上比B/S模式少一层结构,所以C/S模式的网络通讯量要低于B/S模式。
因此对于相同的任务,在速度上C/S模式相对于B/S模式来说要快一些,从而可以提高用户的工作效率,减轻网络负担。
(3)C/S所采用的标准只要在内部统一就可,它的应用往往是专用。
B/S所采用的标准都是开放的、非专用的,是经过标准化组织确定的而非单一厂商制定,保证了其应用的通用性和跨平台性。
(4)B/S模式的应用逻辑由Web服务器承担,即这种模式的功能都在Web 服务器上实现,这样只需开发Web程序,而无需开发客户端程序,从而大大缩短了应用程序的开发周期,而且维护工作也简单易行。
(5)B/S模式在客户端安装的是标准的、简单通用的浏览器,不需要安装应用程序,这样就大大减少了系统管理员的工作量。
由于选课管理用户集中、需要处理大量数据,且要满足学生最大范围地使用该系统,系统可采用C/S结构与B/S结构相结合的体系统结构。
开发C/S计算模式的应用,由教务处维护、调试和安装。
因为对于系统的基本信息的添加、修改、删除等操作,利用C/S结构简洁、方便、快捷;并且系统内的大部分子系统只是给教务处内专职人员使用,并不是绝大多数人员使用(查询除外)。
采用这种模式不仅可以提高工作效率、减轻网络负担,而且在一定程序上也保证了系统的安全性。
一般来说,C/S模式的应用程序是为专有用户设计的,因此需要到各部门安装、调试和培训。
假设将选课系统做成一个基于C/S计算模式的应用,那每个使用该系统的客户端都需要安装该软件,这样做的话,用来进行安装、调试、维护的费用是很高的,而且工作也是琐碎的。
而在本系统中,包含大量的查询工作(例如成绩查询,课程查询等),这些查询工作应允许在任一终端进行,因此,系统不可能全部采用C/S结构。
为了解决院系级管理有大量的需要访问数据客户端的问题,提出一个比较好的办法就是使用B/S计算模式。
只需开发Web程序(无须开发客户端程序),并将通用的应用程序放在Web服务器上,用户只需在客户端安装标准的、简单通用的浏览器即可随时随地进行一些通用操作。
而不需要在各个院系安装应用程序,这样可以大大减少对很多用户端进行特殊的设置和软件的安装,从而更加简单方便。
维护工作只需要在放有Web程序的服务器端进行,无须到各个客户端进行维护,简化了维护工作,降低了维护成本。
2、相关技术简介2.1 SQL Server关系数据库概述数据库(Data Base,DB)有一个比较形象的解释就是存储程序所用数据的仓库。
而在计算机里,我们把组成二维形式的表格称为关系型数据库,简称数据库。
而常见的数据库有Access,Microsoft SQL Server,Oracle,IBM DB2,Sybase 等,其中SQL Server是目前易用性和效率最好的数据库之一,而且其学习门槛相对比较低。
SQL Servers是个关系数据库管理系统,它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发,并于1988年推出了第一个OS/2版本。
SQL Server 2005是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。
SQL Server 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。
与其他数据库相比,SQL Server 2005在数据库平台的安全模型上有了明显的增强,由于提供了更为精确和灵活的控制,数据安全更为严格。
SQL Server 2005的故障恢复功能更强,它提供了强大的数据库备份和恢复功能,当故障发生时,能根据备份和日志迅速恢复到某一正确时刻。
同时,SQL Server 2005还提供了更好的并发控制功能以及大量的监控和管理数据库系统的工具。
综上所述,SQL Server 2005无论是从安全上还是从功能上都更优于其他的数据库,而且越来越多的开发工具提供了与SQL Server的接口。
所以SQL Server 2005企业版被选为我们毕业设计的数据库开发工具。
2.2 C#概述C#牾言自C/C++演变而来。
但是,它更现代、简单、完全面向对象。
如果用户是C/C++程序员,学习曲线将会很平坦。
许多C样语句直接借用用户所喜爱的语言,包括表达式和操作符。
关于C#最重要的一点:它是现代的编程语言。
它简化和革新了C++中的类、名字空间、方法重载和异常处理等领域,摒弃了C++的复杂性,使它更易用、更少出错。
使编程更方便的新功能是严格的类型安全、版本控制、垃圾收集(garbage collect)等等。
这些功能的共同目标就是在于开发面向组件的软件。
C#为用户提供了方便,如垃圾收集、类型安全、版本控制等等。
仅有的“代价”就是,代码操作默认是类型安全的,不允许指针。
不过,大多数问题光凭类型安全就可以解决了。
但是,如果用户需要指针,仍可以通过非安全码使用它们,而且当调用非安全码时,不能含有列集。
是一个统一的WEB开发模型,它包括用户使用尽可能少的代码生成企业级WEB应用程序所必需的各种服务。
作为.NET Framework的一部分,提供当用户编写应用程序的代码时,可以访问.NET Framework中的类。
用户可以使用与公共语言运行库(CLR)兼容的任何语言来编写应用程序的代码,这些语言包括Microsfoft Visual basic c、C#、和J#。