在线选课系统毕业设计论文

武汉工程大学邮电与信息工程学院毕业设计(论文)

基于B/S模式选课系统的设计与实现

Design and Implement of a B/S Mode-based System for Course Selecting on Network

学生姓名XXX

学号XXXXXXX

专业信息管理与信息系统

班级信管XXX班

指导教师 XXXX

2009年5 月

摘要

随着计算机与互联网技术的快速发展,网络化无纸化的办公模式逐渐被人们所广泛使用,让计算机来管理学生的信息是现在各个高校都在积极进行的工作之一,也是高校教学管理工作的重要内容之一。在科技兴国战略的指导下,实现教育的现代化、科技化是必然趋势,而要实现这一点,首先要实现教育管理方法和管理手段的现代化和科技化。学生在线选课系统属于教学信息管理系统的一部分。在线选课与传统的选课方式相比更加节约资源,增加了学生选课自主权。

在线选课系统针对在校学生和教师使用。从学生的角度来说,由于学校教学制度的改革,现在大部分高等院校开始实行的是学生的自主选课模式。传统的教学模式已经不能适应新型的教学模式,如果仍然通过纸上的方式选课,一方面浪费了大量的人力、物力资源,另一方面浪费时间以及会在人为的统计汇总过程中出现不可避免的差错等情况。从教师的角度来说,教师提出上课申请完成课程发布的工作更加容易,得到教学的信息更加快捷,因此通过网上选课系统可以大幅度的减少教师的工作量,方便了教学工作。

本文通过分析浏览器/服务器结构的特点并结合选课的实际情况,提出了基于浏览器/服务器结构网上选课系统的基本设计思想,简要介绍了系统各功能模块及数据库的设计,着重讨论了用ASP技术和Sql Server 2000开发网上选课系统时的数据库访问技术和动态网页制作技术,并给出了部分实现代码。通过该系统,使学生可以方便地在校园网上进行网上选课。该B/S结构的系统使用ASP开发语言,Sql Server 2000作为数据库。系统有较高的安全性和较好的性能。主要有教务、教师、学生三类用户。客户端主要功能包括:用户登录、个人信息维护、教师提出开课申请、学生选课、查询课程相关信息、课表打印。服务器端主要内容包括:用户管理、教师管理、学生管理、确认申请、简单排课(以手动为主,自动为辅)信息发布、简单与综合查询、课表打印等[1]。

关键字:选课;用户;服务器;权限;SQL Server;ASP

目录

第1章绪论 (1)

1.1 选题背景 (1)

1.2 系统概况 (1)

1.3 开发工具介绍 (2)

1.3.1 ASP 简介 (2)

1.3.2 SQL Server 2000简介 (4)

第2章教务管理系统需求分析 (6)

2.1 项目概述 (6)

2.1.1 系统目标 (6)

2.1.2 开发概况 (6)

2.1.3 信息描述 (6)

2.2 基于B/S结构的方案设计 (7)

2.3 用户需求调查 (8)

2.4 系统可行性分析 (8)

第3章系统分析及数据结构设计 (10)

3.1 数据流程分析 (10)

3.2 系统功能概述 (11)

3.3 系统功能结构图 (12)

3.4 数据结构设计 (12)

3.4.1 概念数据结构设计 (12)

3.4.2 逻辑结构设计 (13)

3.4.3 物理结构设计 (16)

3.5 数据库表设计 (17)

3.5.1 学生信息表(studentInfo表)设计 (17)

3.5.2 教师信息表(teacherInfo表)设计 (17)

3.5.3 专业信息表(specialFieldInfo表)设计 (18)

3.5.4 班级信息表(classInfo表)设计 (18)

3.5.5 班级必修课程信息表(classCourseInfo表)设计 (18)

3.5.6 专业选修课程信息表(publicCourseInfo表)设计 (19)

3.5.7 班级必修课程上课信息表(classCourseTeach表)设计 (19)

3.5.8 专业选修课程上课信息表(publicCourseTeach表)设计 (20)

3.5.9 学生选课信息表(studentSelectCourseInfo表)设计 (20)

3.5.10 学生成绩信息表(scoreInfo表)设计 (20)

第4章系统主要功能详细设计 (21)

4.1 系统登录的实现 (21)

4.2 学生信息管理模块的实现 (21)

4.3 教师信息管理模块的实现 (22)

4.4 课程信息管理模块的实现 (22)

4.4.1 班级必须课程添加功能的实现 (22)

4.4.2 专业选修课程添加功能的实现 (24)

4.5 课程排课功能的实现 (25)

4.6 学生选课功能的实现 (25)

4.7 成绩管理功能的实现 (26)

4.7.1 教师添加学生成绩功能的实现 (26)

4.7.2 学生查询个人成绩功能的实现 (29)

第5章教务管理系统运行调试 (30)

5.1 运行 (30)

5.2 测试 (30)

5.2.1 测试的目的 (30)

5.2.2 测试的准则 (30)

5.2.3 测试的方法 (31)

5.2.4 测试用例 (31)

总结与展望 (32)

参考文献 (32)

后记 (33)

附录(源程序) (1)

§1系统登录模块代码(checkLogin.asp) (1)

§2学生信息添加功能代码(studentInfoAdd.asp) (2)

§3 学生信息查询功能代码(studentInfoManage.asp) (3)

§4 学生信息查看及修改功能代码(studentInfoDetail.asp) (8)

§5学生信息删除功能程序代码(studentInfoDel.asp) (12)

§6教师信息管理列表功能程序代码(teacherInfoManage.asp) (12)

§7班级必修课程添加功能程序代码(classCourseInfoAdd.asp) (16)

§8班级必修课程排课信息添加功能程序代码(classCourseTeachAdd.asp) (20)

§9学生选课功能程序代码(courseSelect.asp) (21)

§10教师添加学生成绩功能程序代码(scoreInfoAdd.asp) (24)

§11学生成绩查询功能程序代码(scoreInfoQuery.asp) (28)

第1章绪论

1.1选题背景

教务管理是大学的主要日常管理工作之一,涉及到校、系、师、生的诸多方面,随着教学体制的不断改革,尤其是学分制、选课制的展开和深入,教务日常管理工作日趋繁重、复杂。如何把教务工作信息化,模块化,便捷化是现代高校发展的重点,所以迫切需要研制开发一种综合教务管理软件。在数字校园理论逐步应用的过程中,各高校一方面不断投资购建各种硬件、系统软件和网络,另一方面也不断开发实施了各类教学、科研、办公管理等应用系统,形成了一定规模的信息化建设体系。但是,由于整体信息化程度相对落后,经费短缺,理论体系不健全等原因,国内高校教务管理系统在机构设置、服务范围、服务质量及人员要求上与国外高校相比都有一定的差距。

纵观目前国内研究现状,在安全性和信息更新化方面存在有一定的不足,各现有系统资料单独建立,共享性差;在以管理者为主体的方式中,信息取舍依赖管理者对于信息的认知与喜好,较不容易掌握用户真正的需求,也因此无法完全满足用户的需求。目前国家的教育体制也正处在不断改革、创新的阶段,教育部门充分吸取国外优秀的教学模式,结合国内多年的办学经验,逐步探索出适合中国特色的教学形式,国家教育部面向各级各类学校开展了全面学分制改革。因此,教务管理软件应实现教务信息的集中管理,使传统的教务管理朝数字化、无纸化、智能化、综合化的方向发展,并为进一步实现完善的计算机教务管理系统和全校信息系统打下良好的基础[2]。

故而,选择这个题目符合实际需求,同时通过对这个系统的设计与开发,达到综合训练、检验四年所学的目的。

1.2系统概况

本系统面向学校教务管理人员,是高校教学、教务管理应用软件,是一个为学校教务管理人员提供服务的综合管理系统。教务管理人员通过本系统完成所有

的日常教务工作。从学生入学开始到毕业离校,其在学校内的所有和教务相关的数据都通过教务系统进行管理。熟悉教务管理工作的全部过程,从教务工作的实际出发,解决工作中关键性的难点问题,并充分利用计算机网络功能,实现教务工作全过程的计算机管理,帮助具体管理人员从复杂烦琐工作中解放出来,使得教务管理走向无纸化办公和规范化、现代化管理。

1.3开发工具介绍

1.3.1 ASP 简介

ASP技术的主要用途是制作动态的、交互的、高性能的Web应用程序,以前Web应用程序都是由(CGI公共网关界面来实现的),但由于CGI本身的一些缺点和限制(如较耗用系统资源、执行效率差等),人们都在寻找各种各样的替换方案,在这种情况下,Microsoft的ASP应运而生,再加上与Microsoft的IIS (Web 服务器)和MTS(组件事务管理服务器)的组合,ASP已经成为Web应用程序开发的主要技术。Active Server Pages(动态服务器主页)简称ASP内含于Internet Information Server(IIS)中,它提供一个服务器端的脚本环境,可产生和执行动态、交互式、高效率网站服务器的应用程序。ASP既不是一种语言,也不是一种开发工具,而是一种技术框架,它能够把HTML、脚本语言、ActiveX组件等有机的组合在一起,形成一个能够在服务器上运行的应用程序,并把标准HTML页面送给客户端浏览器。ASP内含六大内置对象,利用这些对象可以使ASP脚本功能更加强大,ASP具有强大的可扩展性,不仅可以使用ASP动态链接库和脚本运行期库自身提供的ActiveX组件,还可以从Internet上免费或有偿获得一些厂商开发的ActiveX组件,编程人员也可以自己开发内含商务逻辑的ActiveX组件。以下介绍ASP的工作原理和ASP的对象模型[3]。

1.ASP的工作原理:基于ASP的页面以*.asp文件形式驻留在web服务器上。一个*.asp源文件是文本文件,可以包括以下成分:

(1). 文本:用于显示信息、页面标题等。

(2). HTML标记:实现页面风格设计。

(3). ASP脚本(Script Commands)

图1.1ASP的工作原理

图1.1显示了ASP的工作原理,当浏览器通过HTTP协议向web服务器申请一个由*.asp定义的页面时,web服务器响应HTTP请求,用ASP引擎解释被申请文件。当遇到ASP脚本命令时,ASP引擎调用相应的脚本引擎(脚本引擎以组件的形式驻留在web服务器上)进行处理。ASP提供两种脚本引擎,即VBScript 引擎和VJScript引擎,若要使用其他脚本语言,需要在web服务器上另外安装相应的脚本引擎;当遇到基于COM标准的组件(组件本身是经过编译的可重用二进制码)时,ASP引擎启动相应的组件完成指定的功能。若ASP文件含有访问数据库的请求,ASP内置组件ADO(ActiveX Date Object) 通过ODBC与数据库连接,对数据库进行访问,并将访问结果返回web服务器。ASP引擎将脚本和组件的运行结果生成相应的HTML语法成分,与文件中原有的文本和HTML标记一起组成标准HTML页面送至客户端浏览器[4]。

2.ASP对象模型:ASP具有强大的面向对象功能和可扩展性。ASP对象可分为以下三种类型:内置对象由ASP动态链接库提供的对象,有六个内置对象,是开发Web应用程序经常使用的对象。六个内置对象的主要功能如下:

(1). Request对象:在HTTP请求期间,可利用Request对象获得客户端浏览器传递给服务器的值(包括查询字符串的变量值、Form表单中的元素值、Cookies 的值等)。

(2). Response对象:可以使用Response对象把变量值、函数返回值等输出到客户端浏览器;利用Response对象可将Cookies值写入客户端的计算机硬盘中等。

(3). Application对象:浏览器和Web服务器的连接是无状态连接,即服务器处理完浏览器的HTTP请求后,立刻断开与浏览器的连接,忘记浏览器刚才请求的

情况;服务器不能识别浏览器是第一次请求还是第一千次请求.这种无状态的连接方式使得Web服务器处理浏览器的请求可以更快、更有效,也不需要维护浏览器的信息,但它产生了一个Web应用程序如何实现变量共享的问题。ASP很好的解决了这一个问题,Application对象可以用来保存应用程序的所有用户的共享信息,可以在不同的用户之间实现Web应用程序变量的共享。

(4).Session对象:Session对象主要用来保存属于一个用户的一个应用程序的信息,可让同一个用户在多个网页之间共享信息。

(5). Objectcontext对象: 主要用来处理与事务相关的问题,Objectcontext对象的使用与Microsoft Transaction Server(MTS)有着密切的联系。

(6). ASPError对象: Web应用程序开发者运用该对象可以掌握因ASP所发生的错误[5]。

1.3.2 SQL Server 2000简介

数据库系统是由数据库和数据库管理系统加在一起构的。数据库是相互关联的数据集合。数据是描写现实世界中各种具体事物或抽象概念的可存储并具有明确意义的信息。而数据库管理系统是一个通用软件系统,由一组计算机程序构成。数据库管理系统能够对数据库进行有效的管理。数据库管理系统提供了一个软件环境,使用户能方便快速地建立、维护、检索、存取和处理数据库中的信息[6]。

数据库设计是把现实世界的实体模型与需求转换成数据库的模型的过程,它是建立数据库应用系统的核心问题。数据库及其应用的性能都建立在良好的数据库设计的基础之上,数据库的数据是一切操作的基础,如果数据库设计不好,那么其它一切用于提高数据库性能的方法收效都是有限的。数据库设计的关键是如何使设计的数据库能合理地存储用户的数据,方便用户进行数据处理。

设计数据库必须遵循一定的规则,在关系型数据库中,这种规则就是范式,范式是符合某一种级别的关系模式的集合。一般设计数据库遵循第三范式。即:数据库表中不包含已在其他表中包含的非主关键字信息。采用范式减少了数据冗余,节约了存储空间,同时加快了增、删、改的速度。

SQL Server数据库是目前最流行的关系数据库系统之一,它对服务器的要求

比较低,并包含了视图的灵活运用、触发器与存储过程、用户自定义数据类型与自定义函数、维护数据的完整性等,有很强的实用性。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。SQL Server 2000版本继承了SQL Server7.0版本的优点,同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点。可跨越从Windows98到Windows2000 的大型多处理器的服务器等多种平台使用。SQL Server 2000 全面扩展了SQL Server7.0的性能可靠性和易用性使它成为一个杰出的数据库平台。可用于大型联机事务处理以及电子商务等。

SQL Server2000 是Microsoft公司推出的SQL Server数据库管理系统的最新版本,该版本继承了SQL Server7.0版本的优点同时又比它增加了许多更先进的功能。具有使用方便、可伸缩性好、与相关软件集成程度高等优点,可跨越从运行Microsoft Windows98的膝上型电脑到运行Microsoft Windows2000 的大型多处理器的服务器等多种平台使用。其最大特点是为用户提供了大规模联机事务处理(OLTP)、数据仓库和电子商务应用程序所需的最新的出色数据库平台。Microsoft SQL Server2000提供的分析服务显著增强了SQL Server version7.0引入的联机分析处理(OLAP)服务组件的功能。分析服务引入了数据挖掘功能,可以用来在OLAP多维数据集和关系数据库中发现信息[7]。

第2章教务管理系统需求分析

2.1项目概述

2.1.1 系统目标

本系统的使用是面向大学院校,系统的使用对象包括系统管理员,教师和学生三种身份,系统管理员登录系统后可以管理学生的信息,管理教师的信息,管理每学期各个班级的必修课程信息,各个专业每个学期的选修课程信息,可以为这些课程进行排课,同时由于某些课程需要进行实验,本系统还可以实现对实验设备信息的管理,包括新设备信息的登记,设备使用和归还的登记,设备维修信息的登记,可以对系统的参数进行登记;而教师用户登录系统后可以查询任意学生的信息,可以查询自己的授课信息,可以登记自己所教学生的成绩信息,可以修改自己的登录密码和个人信息;学生用户登录系统后可以查询任一学期自己的成绩信息,如果系统开放了选课功能,可以在指定的日期内登录系统后选修该学期的选修课,可以生成某个学期的课程上课信息表,可以修改自己的个人信息和登录密码[8]。

2.1.2 开发概况

目前社会上教务管理系统的发展经过多年的探索和实践,已初步形成了一定的特色的相对成熟的教务管理体系,这为系统的开发奠定了良好的基础,是本系统开发研究的先决条件。该系统使用SQL Server2000建立数据库并用ASP设计和编程实现。

2.1.3 信息描述

学校教务管理人员通过本教务管理系统完成所有的日常教务工作。学生在学校内的所有和教务相关的数据都通过教务管理系统进行管理,如学生的注册信息、课程设置、学生选课、学生成绩等的录入、查询、更新等;完成排课等教学计划;

完成对教学人员的管理,如教师、教务人员等。

2.2基于B/S结构的方案设计

本方案是为了开发一个基于现代网络技术的教务管理系统,即能够连接到网络,通过网络进行数据的传输管理等。用户可通过浏览器直接访问该系统。

整个教务管理系统是一个规模比较大的数据库系统。尽管其在组织关系上存在着很大的复杂性,繁琐性,不确定性,但是就整个系统的技术构成上来看,它还是属于一个数据库应用类的系统,其基本操作还是对存在数据库进行添加、删除、查找、修改等。数据库选用SQL Server 2000。

在开发工具上,本方案选用较为流行的网站开发工具Dreamweaver,这种开发工具的好处是,开发软件操作简单,系统界面美观,用户使用简单,不需要安装其他的特定的软件,用普通的浏览器便可运行。

在结构上,采用B/S(Brower/Server,浏览器/服务器)的网络结构。其结构图为:

图2.1B/S结构

硬件环境:(1)具有Pentium 133、32MB内存活以上配置的计算机;(2)输入及输出设备:键盘,鼠标,VGA显示器或更高。(3)最少15MB的硬盘空间,常规安装需要100MB硬盘空间,完全安装需要240MB硬盘空间。(4)最少8MB的RAM 存储器。

开发环境:本系统的开发是通过网络建立一个B/S平台,服务器使用Windows 2000

Advance Server为用户提供服务,通过网站实现教务管理。

软件环境:(1)系统体系结构:浏览器/服务器(B/S)体系结构;(2)系统环境配置:Windows 2000 Advance Server;(3)Web服务器:IIS 6.0;(4)数据库的选取:SQL Server 2000;(5)开发工具:Dreamweaver(界面),ASP(后台) [9]。

2.3用户需求调查

在开发一个系统的时候,最重要的环节就是进行需求分析。需求分析这一步工作的质量对于整个系统开发的成败来说都是决定性的。需求分析做好了,下面的系统设计就能很好地按照需求分析来展开,一旦需求分析做得不严谨,就会导致系统开发过程中出现错误或漏洞。所以完成系统的需求分析对于系统开发来说是至关重要的。进行需求分析,应该要对用户情况进行调研,只有很好地了解了用户的需求,才能设计出功能齐备、可用性高、令用户满意的系统。通过搜集、整理不同学校的共同特点,要求本系统满足以下需求:具有美观容易的操作界面、作为教务信息系统,采用B/S设计模式,方便系统的使用者、系统的使用者分三种身份:不同的身份登录系统后可以进入自己的操作界面,不能越权访问其他功能,保证了系统的安全、系统数据库设计不能太容余但又能方便程序进行访问、各个子系统各个模块之间的接口少,方便系统程序的维护、系统的模块都能正常运行,并且满足学校要求。

2.4系统可行性分析

可行性分析是指在当前组织内外的具体条件下,系统开发工作必须具备资源和条件,看其是否满足系统目标的要求。在系统开发过程中进行可行性分析,对于保证资源的合理使用,避免浪费和一些不必要的失败,都是十分重要的。

1. 目标和方案的可行性:如果采用人工操作的方式,不仅操作不方便,耗费人力、物力、财力,而且还容易出现错误。所以当前迫切需要一个计算机化的管理信息系统。有了这个系统,就能用较少的人力去管理完成较大的工作量,而各种管理的效率也会大大提高。开发这个系统,能更好地满足学校要求,使学校的

各种信息管理实现无纸化,高效化。

2. 技术方面的可行性:本系统可在Windows95/98以上的操作系统中使用,而它所处的开发环境是WindowsXP SP2或Windows2000,完全能够满足系统开发的要求。本系统是用ASP结合SqlServer2000数据库来开发的一个信息管理软件。ASP在数据库方面的特长显得尤为突出:适用于多种数据库结构,通过访问各种数据库通用的ADO组件,结合客户端的html,javascript,css能够创建出完美漂亮且高效的各种软件系统。

3. 经济方面的可行性:由于系统结构采用当前流行的B/S结构,也就是浏览器/服务器模式,相对于传统的C/S结构客户端的缺点,它对客户的配置要求就更低了,客户端只需要有浏览器可以上网就可以登录服务器进行各种信息的管理。而服务器端也不需要太高的配置,只要有可以运行asp程序的解释器如微软的IIS 都是不错的选择,可以说整个系统是以最少的投入完成最好的功能,这就保证了系统的经济可行性。

4. 管理方面的可行性:作为学校教务信息管理系统之一的选课系统,对它的管理也是很方便的,只需要先将系统配置运行起来,然后分配好系统的三个主要角色,就可以投入实际的大专院校中进行使用,作为大专院校的系统使用者如管理员,教师和学生基本都是会知道如何进行电脑操作的。

根据以上几方面的可行性分析,可以得出结论:开发该教务信息管理系统是可以进行的[10]。

第3章系统分析及数据结构设计

3.1 数据流程分析

在本系统中,有三类用户:系统管理员、教师和学生。三种不同的用户所具有的操作权限以及操作内容均不一样。

系统管理员负责向系统中添加学生和教师的个人信息。系统管理员可以进行学生信息管理、教师信息管理、班级信息管理、课程信息管理、排课信息管理、系统管理等;教师可以进行学生信息管理、选课信息管理、成绩信息管理、系统管理;学生选课信息管理、成绩信息管理、系统信息管理。系统管理员设置一个选课时间段,到达时间段后,学生可以登录网站选择课程。

教师用户登录网站后可以查看所任课的所有学生信息,以及授课的相关课程信息。课程分为必修和选修,每门课程都有设置一个学分,教师可在课程结束后给每位上此课程的学生打数。

对于学生用户,每个学生除了必须选择必修课程外,还可以选择选修课程。当时候超过选课时段后,系统自动锁定学生的选课课程。系统可以根据学生的选课信息,生成一份学生自己的课表。课程结束后学生可登录网站查询成绩与学分。

系统中教师和学生都可以进行系统管理,管理帐号信息以及个人详细信息;管理员则可以学期信息管理、修改登录密码、系统参数设置,对整个选课系统进行相关设置[11]。

系统数据流程图:

图3.1系统数据流图

相关文档
最新文档