ASP在线选课系统毕业论文
摘要
随着计算机与互联网技术的快速发展,网络化无纸化的办公模式逐渐被人们所广泛使用,让计算机来管理学生的信息是现在各个高校都在积极进行的工作之一,也是高校教学管理工作的重要内容之一。在科技兴国战略的指导下,实现教育的现代化、科技化是必然趋势,而要实现这一点,首先要实现教育管理方法和管理手段的现代化和科技化。学生在线选课系统属于教学信息管理系统的一部分。在线选课与传统的选课方式相比更加节约资源,增加了学生选课自主权。
在线选课系统针对在校学生和教师使用。从学生的角度来说,由于学校教学制度的改革,现在大部分高等院校开始实行的是学生的自主选课模式。传统的教学模式已经不能适应新型的教学模式,如果仍然通过纸上的方式选课,一方面浪费了大量的人力、物力资源,另一方面浪费时间以及会在人为的统计汇总过程中出现不可避免的差错等情况。随着高校人数的增多,上述弊端会越来越多的暴露出来。如果利用网络进行选课,学生只要在计算机前输入自己的个人选课信息即可完成教务部门原来几倍的作业量。从教师的角度来说,教师提出上课申请完成课程发布的工作更加容易,得到教学的信息更加快捷,因此通过网上选课系统可以大幅度的减少教师的工作量,方便了教学工作。 [来源:http://Doc163.com]
本文通过分析浏览器/服务器结构的特点并结合选课的实际情况,提出了基于浏览器/服务器结构网上选课系统的基本设计思想,简要介绍了系统各功能模块及数据库的设计,着重讨论了用 ASP技术和Sql Server 2000开发网上选课系统时的数据库访问技术和动态网页制作技术,并给出了部分实现代码。通过该系统,使学生可以方便地在校园网上进行网上选课。该B/S结构的系统使用ASP开发语言,Sql Server 2000作为数据库。系统有较高的安全性和较好的性能。主要有教务、教师、学生三类用户。客户端主要功能包括:用户登录、个人信息维护、教师提出开课申请、学生选课、查询课程相关信息、课表打印。服务器端主要内容包括:用户管理、教师管理、学生管理、确认申请、简单排课(以手动为主,自动为辅)信息发布、简单与综合查询、课表打印等[1]。 [资料来源:http://doc163.com]
Abstract
With computers and the rapid development of Internet technologies, network-based paperless office mode gradually been widely used to allow the computer to manage the information of students of various colleges and universities are now actively at work, and is also teaching management job one of the important contents. National School cultivate talents are the cradle of science and technology at the strategic, under the guidance of implementation of the modernization of education, science and technology is an inevitable trend, and to achieve this, we must first achieve the education and management methods and modern management tools and technology. Student Online Course Selection System belong to the teaching of information management system. Online course with the traditional methods of course more to save resources and increase the autonomy of elective students.
Online Course Selection System for students and teachers in school use. From the students point of view, because of school system reform, and now the majority of colleges and universities are beginning to implement the self-selection model of the students. Traditional teaching mode (School students in accordance with the best arrangements for curriculum classes) can not adapt new modes of teaching, if they remain on paper the way through the course, on the one hand, waste a great deal of manpower, material resources, on the other hand, waste time and will At the statistical summary of man-made process inevitable errors and so on. With the growing number of colleges and universities, the above-mentioned drawbacks will be more and more and more exposed. If the use of network selection, as long as the students at the computer before entering their personal information to complete the academic course department several times the original amount of homework. From the perspective of teachers, class teachers completed the course to apply for release of job easier, get the information faster and more teaching, so through the online course system can significantly reduce the workload of teachers to facilitate the teaching job.
In this paper, by analyzing the browser / server architecture combined with the characteristics of the actual situation of course, based on browser / server structure of online course system, the basic design idea, briefly introduce the system function modules and database design, focused on Using ASP technology and Sql Server 2000 to develop online course system of database Sql Server 2000 technology and the production of dynamic web page technology, and give some implementation code. Through the system so that students can easily online at the campus online course. The B / S structure of the system use ASP language, Sql Server 2000 as database. System has higher security and better performance. Main has the Senate, teachers, students three types of users. Client main features include: user log, personal information maintenance, start to apply for teachers, students elective inquiries related to curriculum information, school timetable print. Server-side main contents include: user management, teacher management, student management, confirmed that the application easy Timetable (mainly manually, automatic supplement) Published information, easy and comprehensive inquiries, schedule printing. [资料来源:http://www.doc163.com]
Key Words:Chooses the class, User, B/S, The jurisdiction, Sql Server 2000, ASP
关键字:选课;用户;服务器;权限;SQL Server;ASP
[资料来源:www.doc163.com]
[资料来源:http://www.doc163.com]
[来源:http://Doc163.com]
[资料来源:http://doc163.com]
[资料来源:Doc163.com]
目 录
第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
[资料来源:http://Doc163.com]
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 [资料来源:www.doc163.com]
总结与展望 32
参考文献 33
后记 34
附录(源程序) 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 选题背景
教务管理是大学的主要日常管理工作之一,涉及到校、系、师、生的诸多方面,随着教学体制的不断改革,尤其是学分制、选课制的展开和深入,教务日常管理工作日趋繁重、复杂。如何把教务工作信息化,模块化,便捷化是现代高校发展的重点,所以迫切需要研制开发一种综合教务管理软件。在数字校园理论逐步应用的过程中,各高校一方面不断投资购建各种硬件、系统软件和网络,另一方面也不断开发实施了各类教学、科研、办公管理等应用系统,形成了一定规模的信息化建设体系。但是,由于整体信息化程度相对落后,经费短缺,理论体系不健全等原因,国内高校教务管理系统在机构设置、服务范围、服务质量及人员要求上与国外高校相比都有一定的差距。 [来源:http://www.doc163.com]
纵观目前国内研究现状,在安全性和信息更新化方面存在有一定的不足,各现有系统资料单独建立,共享性差;在以管理者为主体的方式中,信息取舍依赖管理者对于信息的认知与喜好,较不容易掌握用户真正的需求,也因此无法完全满足用户的需求。目前国家的教育体制也正处在不断改革、创新的阶段,教育部门充分吸取国外优秀的教学模式,结合国内多年的办学经验,逐步探索出适合中国特色的教学形式,国家教育部面向各级各类学校开展了全面学分制改革。因此,教务管理软件应实现教务信息的集中管理,使传统的教务管理朝数字化、无纸化、智能化、综合化的方向发展,并为进一步实现完善的计算机教务管理系统和全校信息系统打下良好的基础[2]。
故而,选择这个题目符合实际需求,同时通过对这个系统的设计与开发,达到综合训练、检验四年所学的目的。
1.2 系统概况
本系统面向学校教务管理人员,是高校教学、教务管理应用软件,是一个为学校教务管理人员提供服务的综合管理系统。教务管理人员通过本系统完成所有的日常教务工作。从学生入学开始到毕业离校,其在学校内的所有和教务相关的数据都通过教务系统进行管理。熟悉教务管理工作的全部过程,从教务工作的实际出发,解决工作中关键性的难点问题,并充分利用计算机网络功能,实现教务工作全过程的计算机管理,帮助具体管理人员从复杂烦琐工作中解放出来,使得教务管理走向无纸化办公和规范化、现代化管理。
[资料来源:Doc163.com]
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]。 [资料来源:Doc163.com]
1.ASP的工作原理:基于ASP的页面以*.asp文件形式驻留在web服务器上。一个*.asp源文件是文本文件,可以包括以下成分:
(1). 文本:用于显示信息、页面标题等。
(2). HTML标记:实现页面风格设计。
(3). ASP脚本(Script Commands)
图1.1 ASP的工作原理
图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的值等)。
[资料来源:Doc163.com]
(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]。 [版权所有:http://DOC163.com]
数据库设计是把现实世界的实体模型与需求转换成数据库的模型的过程,它是建立数据库应用系统的核心问题。数据库及其应用的性能都建立在良好的数据库设计的基础之上,数据库的数据是一切操作的基础,如果数据库设计不好,那么其它一切用于提高数据库性能的方法收效都是有限的。数据库设计的关键是如何使设计的数据库能合理地存储用户的数据,方便用户进行数据处理。
设计数据库必须遵循一定的规则,在关系型数据库中,这种规则就是范式,范式是符合某一种级别的关系模式的集合。一般设计数据库遵循第三范式。即:数据库表中不包含已在其他表中包含的非主关键字信息。采用范式减少了数据冗余,节约了存储空间,同时加快了增、删、改的速度。
SQL Server数据库是目前最流行的关系数据库系统之一,它对服务器的要求比较低,并包含了视图的灵活运用、触发器与存储过程、用户自定义数据类型与自定义函数、维护数据的完整性等,有很强的实用性。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。SQL Server 2000版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点。可跨越从Windows 98到Windows 2000 的大型多处理器的服务器等多种平台使用。SQL Server 2000 全面扩展了SQL Server 7.0 的性能可靠性和易用性使它成为一个杰出的数据库平台。可用于大型联机事务处理以及电子商务等。
SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本,该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能。具有使用方便、可伸缩性好、与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。其最大特点是为用户提供了大规模联机事务处理(OLTP)、数据仓库和电子商务应用程序所需的最新的出色数据库平台。Microsoft SQL Server 2000提供的分析服务显著增强了SQL Server version 7.0引入的联机分析处理(OLAP)服务组件的功能。分析服务引入了数据挖掘功能,可以用来在OLAP多维数据集和关系数据库中发现信息[7]。
[资料来源:https://www.doc163.com]
[来源:http://www.doc163.com]
[资料来源:http://www.doc163.com]
第2章 教务管理系统需求分析
2.1 项目概述
2.1.1 系统目标
本系统的使用是面向大学院校,系统的使用对象包括系统管理员,教师和学生三种身份,系统管理员登录系统后可以管理学生的信息,管理教师的信息,管理每学期各个班级的必修课程信息,各个专业每个学期的选修课程信息,可以为这些课程进行排课,同时由于某些课程需要进行实验,本系统还可以实现对实验设备信息的管理,包括新设备信息的登记,设备使用和归还的登记,设备维修信息的登记,可以对系统的参数进行登记;而教师用户登录系统后可以查询任意学生的信息,可以查询自己的授课信息,可以登记自己所教学生的成绩信息,可以修改自己的登录密码和个人信息;学生用户登录系统后可以查询任一学期自己的成绩信息,如果系统开放了选课功能,可以在指定的日期内登录系统后选修该学期的选修课,可以生成某个学期的课程上课信息表,可以修改自己的个人信息和登录密码[8]。
2.1.2 开发概况
目前社会上教务管理系统的发展经过多年的探索和实践,已初步形成了一定的特色的相对成熟的教务管理体系,这为系统的开发奠定了良好的基础,是本系统开发研究的先决条件。该系统使用SQL Server2000建立数据库并用ASP设计和编程实现。 [资料来源:https://www.doc163.com]
2.1.3 信息描述
学校教务管理人员通过本教务管理系统完成所有的日常教务工作。学生在学校内的所有和教务相关的数据都通过教务管理系统进行管理,如学生的注册信息、课程设置、学生选课、学生成绩等的录入、查询、更新等;完成排课等教学计划;完成对教学人员的管理,如教师、教务人员等。
2.2 基于B/S结构的方案设计
本方案是为了开发一个基于现代网络技术的教务管理系统,即能够连接到网络,通过网络进行数据的传输管理等。用户可通过浏览器直接访问该系统。
整个教务管理系统是一个规模比较大的数据库系统。尽管其在组织关系上存在着很大的复杂性,繁琐性,不确定性,但是就整个系统的技术构成上来看,它还是属于一个数据库应用类的系统,其基本操作还是对存在数据库进行添加、删除、查找、修改等。数据库选用SQL Server 2000。
在开发工具上,本方案选用较为流行的网站开发工具Dreamweaver,这种开发工具的好处是,开发软件操作简单,系统界面美观,用户使用简单,不需要安装其他的特定的软件,用普通的浏览器便可运行。
在结构上,采用B/S(Brower/Server,浏览器/服务器)的网络结构。其结构图为:
图2.1 B/S结构
硬件环境:(1)具有Pentium 133、32MB内存活以上配置的计算机;(2)输入及输出设备:键盘,鼠标,VGA显示器或更高。(3)最少15MB的硬盘空间,常规安装需要100MB硬盘空间,完全安装需要240MB硬盘空间。(4)最少8MB的RAM存储器。 [来源:http://Doc163.com]
开发环境:本系统的开发是通过网络建立一个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设计模式,方便系统的使用者、系统的使用者分三种身份:不同的身份登录系统后可以进入自己的操作界面,不能越权访问其他功能,保证了系统的安全、系统数据库设计不能太容余但又能方便程序进行访问、各个子系统各个模块之间的接口少,方便系统程序的维护、系统的模块都能正常运行,并且满足学校要求。 [资料来源:https://www.doc163.com]
2.4 系统可行性分析
可行性分析是指在当前组织内外的具体条件下,系统开发工作必须具备资源和条件,看其是否满足系统目标的要求。在系统开发过程中进行可行性分析,对于保证资源的合理使用,避免浪费和一些不必要的失败,都是十分重要的。
1. 目标和方案的可行性:如果采用人工操作的方式,不仅操作不方便,耗费人力、物力、财力,而且还容易出现错误。所以当前迫切需要一个计算机化的管理信息系统。有了这个系统,就能用较少的人力去管理完成较大的工作量,而各种管理的效率也会大大提高。开发这个系统,能更好地满足学校要求,使学校的各种信息管理实现无纸化,高效化。
2. 技术方面的可行性:本系统可在Windows95/98以上的操作系统中使用,而它所处的开发环境是WindowsXP SP2或Windows2000,完全能够满足系统开发的要求。本系统是用ASP结合SqlServer2000数据库来开发的一个信息管理软件。ASP在数据库方面的特长显得尤为突出:适用于多种数据库结构,通过访问各种数据库通用的ADO组件,结合客户端的html,javascript,css能够创建出完美漂亮且高效的各种软件系统。
3. 经济方面的可行性:由于系统结构采用当前流行的B/S结构,也就是浏览器/服务器模式,相对于传统的C/S结构客户端的缺点,它对客户的配置要求就更低了,客户端只需要有浏览器可以上网就可以登录服务器进行各种信息的管理。而服务器端也不需要太高的配置,只要有可以运行asp程序的解释器如微软的IIS都是不错的选择,可以说整个系统是以最少的投入完成最好的功能,这就保证了系统的经济可行性。
[资料来源:http://Doc163.com]
4. 管理方面的可行性:作为学校教务信息管理系统之一的选课系统,对它的管理也是很方便的,只需要先将系统配置运行起来,然后分配好系统的三个主要角色,就可以投入实际的大专院校中进行使用,作为大专院校的系统使用者如管理员,教师和学生基本都是会知道如何进行电脑操作的。
根据以上几方面的可行性分析,可以得出结论:开发该教务信息管理系统是可以进行的[10]。
[来源:http://www.doc163.com]
第3章 系统分析及数据结构设计
3.1 数据流程分析
在本系统中,有三类用户:系统管理员、教师和学生。三种不同的用户所具有的操作权限以及操作内容均不一样。
系统管理员负责向系统中添加学生和教师的个人信息。系统管理员可以进行学生信息管理、教师信息管理、班级信息管理、课程信息管理、排课信息管理、系统管理等;教师可以进行学生信息管理、选课信息管理、成绩信息管理、系统管理;学生选课信息管理、成绩信息管理、系统信息管理。系统管理员设置一个选课时间段,到达时间段后,学生可以登录网站选择课程。
教师用户登录网站后可以查看所任课的所有学生信息,以及授课的相关课程信息。课程分为必修和选修,每门课程都有设置一个学分,教师可在课程结束后给每位上此课程的学生打数。
对于学生用户,每个学生除了必须选择必修课程外,还可以选择选修课程。当时候超过选课时段后,系统自动锁定学生的选课课程。系统可以根据学生的选课信息,生成一份学生自己的课表。课程结束后学生可登录网站查询成绩与学分。
系统中教师和学生都可以进行系统管理,管理帐号信息以及个人详细信息;管理员则可以学期信息管理、修改登录密码、系统参数设置,对整个选课系统进行相关设置[11]。
系统数据流程图:
图3.1系统数据流图
3.2 系统功能概述
整个教务信息管理系统作为管理学校信息的一个比较大的系统,其下面又包括几个比较小的子系统,所以首先对系统的功能和需求进行调研,然后分析其可行性,确实开发此系统是很有意义的才开始进入系统的设计阶段。在系统设计阶段,首先分析出系统各个功能涉及到的数据结构,分析得到数据实体的属性及实体间的联系,通过实体图和实体联系图反映出来,然后在sqlserver2000建立各个数据表对实体和实体联系进行物理实现。最后,通过编程工具asp技术实现各个子系统的功能,系统采用模块化的编程思想,将整个大的系统划分为几个子系统,在每个子系统中对各个功能进行设计和测试,最后再将各个模块进行集成测试,发现其中的bug并进行更正。下面是各个子系统的详细功能需求:
1.学生信息管理子系统:学生作为教务管理系统中的一个重要角色,需要系统管理员登录系统后对其进行管理,而教师用户可以查询任意学生的档案信息。在新生到学校进行报到时需要将该学生的个人档案信息保存在系统中;管理员可以按多种查询方式如学号,姓名等对学生信息进行条件组合查询;管理员可以修改任意学生的个人档案信息;可以删除指定学生的信息记录。
2.教师信息管理子系统:教师作为教务管理系统中的另一个重要角色,只能由管理员身份对其进行维护。包括添加教师档案信息,编辑教师档案信息,查询教师信息,删除指定教师信息记录等。
3.排课和选课管理子系统:管理员在每个学期前为每个专业的必修课程进行设置,并在系统中开设多门选修课程,对于选修课程,学生可以自由选择,但最多只能选择3门选修课程,同时,管理员指定每门课程的授课教师,授课时间,授课地点。在每学期开学的开始某个时间,有系统管理员设定开放选课,学生需要登录系统选择选修课程,过期不能对选修课程进行修改,选课完成后每个学生可以生成自己的课程表。
4.成绩管理子系统:每当期末时所有学生都需要参加课程考试,所以学生的考试成绩需要由它对应的授课教师登录系统后对其进行添加,教师可以更改某个学生该课程的成绩信息,但是教师不能修改其他课程(不是自己所授课程的)的成绩信息,可以查询其他学生的任意课程的成绩信息,而学生登录系统后只能查询自己的成绩信息。
5.系统管理:可以对系统中一些信息和参数进行设置,修改自己的登录密码,教师用户和学生用户登录系统后可以修改自己的个人信息等[12]。
3.3 系统功能结构图
可以对系统中一些信息和参数进行设置,修改自己的登录密码,教师用户和学生用户登录系统后可以修改自己的个人信息等。 [资料来源:www.doc163.com]
整个系统的总体功能结构设计如下图所示:
3.4 数据结构设计
3.4.1 概念数据结构设计
在用户需求分析的基础上,系统设计员可以建立起数据库的概念模型。概念模型主要是用于反映用户的现实环境和需求,它独立于具体的数据库管理系统,并且于数据库怎样实现也无关。建立概念模型常用的工具为实体-联系图(E-R图)
实体-联系图的表示。在实体-联系图中,实体型通常以写明实体名的长方形来表示;实体间的联系则以表明联系名的菱形来表示。通过使用连线将菱形与有关实体相连接,便可画出实体-联系图。
综合分析本系统要完成的主要功能,从系统中我们可以得到下面的关键数据实体对象:学生信息实体,教师信息实体,专业信息实体,班级信息实体,班级必修课程信息,专业选修课程,班级必修课上课信息,专业选修课上课信息,学生选课信息,将这些实体以及它们之间的联系以实体属性图和实体联系图表示出来[13]。
3.4.2 逻辑结构设计
[资料来源:www.doc163.com]
[资料来源:Doc163.com]
[来源:http://www.doc163.com]
3.4.3 物理结构设计
图3.11
3.5 数据库表设计
3.5.1 学生信息表(studentInfo表)设计
图3.12
3.5.2 教师信息表(teacherInfo表)设计
图3.13
3.5.3 专业信息表(specialFieldInfo表)设计
图3.14
3.5.4 班级信息表(classInfo表)设计
图3.15
3.5.5 班级必修课程信息表(classCourseInfo表)设计
图3.16
3.5.6 专业选修课程信息表(publicCourseInfo表)设计
图3.17
3.5.7 班级必修课程上课信息表(classCourseTeach表)设计
图3.18
3.5.8 专业选修课程上课信息表(publicCourseTeach表)设计
图3.19
3.5.9 学生选课信息表(studentSelectCourseInfo表)设计
图3.20
3.5.10 学生成绩信息表(scoreInfo表)设计
图3.21
第4章 系统主要功能详细设计
4.1 系统登录的实现
作为一个信息管理系统,为了系统的安全,基本都涉及到系统登录模块的实现,只有通过了系统的验证才能进入系统进行各种信息的管理。在本学校教务信息管理系统中,系统的登录分三种身份:学生,教师和管理员,程序的界面显示下图:
图4.1 系统登录功能运行图
4.2 学生信息管理模块的实现
作为一个学校,每年都有大量的学生毕业或某些学生因为一些原因需要离开学校,也有很多新的学生进入学校,在学校教务管理系统中,学生信息的管理是一个必不可少的成分。它包括新学生个人信息的登记,学生个人信息的修改和删除功能等。
本管理模块包括学生信息的添加、查询、修改、删除相关功能,管理学生的相关信息以及学生登录密码的管理,可以很方便地建立学生的网上档案。
4.3 教师信息管理模块的实现
教师信息管理中可以添加新教师以及对教师信息进行维护,教师相关信息包括:教师职工编号、教师姓名、性别、教师生日、入校时间、登录密码、教师电话、身份证号、家庭地址、照片。本系统中包含图片上传功能,可以上传相关教师照片。
图4.2 管理员教师信息添加运行图
4.4 课程信息管理模块的实现
4.4.1 班级必须课程添加功能的实现
在每个学期之前需要由管理员身份登录系统对各个班级的必修课程进行设置和管理,然后才能进入下一步对各个课程进行排课。在班级课程管理中,可以对每个班级每个学期的课程进行设置和管理,其中班级课程的添加运行界面如下,管理员选择好课程所在学期,所在班级,填写好课程编号,名称和学分等信息,然后选择‘确认添加’就可以将新的班级必修课程加入到系统中 。
[资料来源:https://www.doc163.com]
图4.3 管理员班级课程添加功能运行图
程序执行流程:关于班级必修课程的添加功能在程序classCourseInfoAdd.asp中实现,该程序也会判断管理员是否登录了系统,如果没有也会转到登录页。当管理员选择或填写好班级课程信息后,选择‘确认添加’按扭传递给本程序进行处理,由于此时传递给本程序的表单变量submit不为空,表示管理员将要执行新的班级课程信息的添加操作,不过为了程序的完善,程序会判断管理员是否选择了学期和班级信息,是否填写了课程编号和课程名称等信息。如果验证不通过就给出对应的错误提示信息并停止信息的加入。
图4.4
4.4.2 专业选修课程添加功能的实现
每个学期开学之前,管理员可以为每个专业设置好选修课程,然后管理员设置好某个时间开放选课功能。管理员对专业选修课的管理包括每个学期每个专业选修课程的添加,修改和删除等功能,其实现和班级必修课程的实现原理是差不多的。
4.5 课程排课功能的实现
关于课班级必修课程上课信息的添加功能在程序classCourseTeachAdd.asp中实现,该程序的登录验证功能都和其他程序一样,然后该程序会调用排课是否冲突函数验证当天当节课该教室是否被其他课程占用了,同时还要验证当天当节课该班级是否已经有其他课程已经排好了,如果验证不通过是不会将这个新的上课信息加入到系统中的。程序执行流程图如下: [来源:http://Doc163.com]
4.6 学生选课功能的实现
在学校教务信息管理系统中,课程分为班级必修课程和专业选修课程。由于每个学生属于一个特定的班级,所以对于班级必修课程是每个学生必须学习的,是不用学生登录系统进行选择的。而对于专业选修课程,在每个学期的选课时间段内,学生可以登录系统按照自己的喜好进行选择。程序运行结果如下图所示,程序首先列出本专业该学期的所有选修课信息,如果学生喜欢什么课程,只需要选中该门课程,然后选择‘选课’按扭进行选课,下面会显示出当前该学生所选择的课程信息。
图4.6 学生选课功能运行图
4.7 成绩管理功能的实现
4.7.1 教师添加学生成绩功能的实现
每个学生某门课程的成绩信息是有该课程的授课教师进行登记的,当授课教师登录系统后可以通过‘成绩信息管理—>添加学生成绩’进入本功能,它需要由教师登记课程编号,学生的学号和成绩,课程类型和成绩信息。程序的运行界面如图4.7.1.1所示。
图4.7 学生成绩信息添加功能运行图
程序执行原理:程序首先还是要判断教师是否登录系统,只有当教师登录了系统后才可以执行本功能的操作。程序有完善的验证功能,它首先判断学号,课程编号等信息是否已经输入了,如果没有输入是会进行提示的;然后程序会判断该学号和课程的信息在系统中是否存在,防止教师的输入发生了错误;如果验证成功程序还会判断该学生是否真的修了该门课程和该教师是否真的教授了该门课程,如果验证都成功才会执行该成绩信息的加入操作,否则都会提示对应的错误信息。程序执行的流程如下图所示:
[资料来源:http://www.doc163.com]
图4.8 学生成绩信息添加流程图 [版权所有:http://DOC163.com]
4.7.2 学生查询个人成绩功能的实现
通过期末考试后,当学生的考试成绩阅改出来后,通过该门课程的教师登录系统后对每个同学的成绩信息进行登记,然后学生登录系统后就可以对自己该门课程的成绩进行查询。关于学生登录系统的成绩查询是按照学期进行的,由学生身份登录系统后通过‘成绩信息管理成绩查询’实现,它的运行界面如下图所示:
图4.9 学生成绩信息查询运行图
关于此功能的实现在学生身份功能中的scoreQuery.asp程序中实现,首先由学生选择查询的学期,然后程序会自动查询改学期该学生的必须课成绩信息和选修课成绩信息,并将结构以列表方式显示出来,该功能的具体实现请参照该程序的源程序。
第5章 教务管理系统运行调试
5.1 运行
将系统与数据库连接后,修改连接参数,就可以直接运行了。在连接数据库上提供了两种连接方法:通过ODBC接口或者SQL专用接口均可以连接。
5.2 测试
5.2.1 测试的目的
软件测试的目标和定义:
1.测试是为了发现程序中的错误而执行程序的过程
2.好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案
3.成功的测试是发现了至今为止尚未发现的错误的测试 [来源:http://www.doc163.com]
在对本教务管理系统测试时,也正是基于上述观点来进行的,测试的目的不是证明系统是完美的,而是发现问题,更好的解决问题,使系统不断完善,满足客户的需求[14]。
5.2.2 测试的准则
为了能设计出行之有效的测试方案,必须深入理解并正确运用指导软件测试的基本准则。下面列举主要的测试准则:
1.所有的测试都应该追溯到用户需求。
2.应该在开始测试之前就制定出测试计划。
3.把Pareto原理应用到软件测试中。Pareto原理说明,测试发现的错误中80%很可能是由程序中的20%模块造成的。
4.应该从“小模块”测试开始,并逐步进行“大模块”测试。
5.穷举测试是不可能的。
6.为了达到最佳的测试效果,应该由独立的第三方从事测试工作。
5.2.3 测试的方法
测试任何产品都有两种方法:如果已经知道了产品应该具有的功能,可以通过测试来检验是否每个功能正常使用;如果知道了产品的内部工作过程,可以通过测试来检测产品内部动作是否按照说明书的规定正常工作。前一种称为黒盒测试又称功能测试,后一种方法称为白盒测试又称结构测试。
在测试本系统时,采用的是白盒测试来设计测试用例,而且在测试过程中,由于条件原因,不能完全按照测试规则由第三方来测试,测试过程和方案设计由作者完成[15]。
[版权所有:http://DOC163.com]
5.2.4 测试用例
测试用例 1
描述 登录测试
测试方法 1. 输入正确的用户名和密码
例:用户名 admin 密码 admin
2. 输入正确的用户名和错误的密码
例:用户名 admin 密码 456
3. 输入错误的用户名和正确的密码
例:用户名 user 密码 admin
期望结果 在输入正确的用户名和密码时,可以正确登录,输入错误的用户名或密码,提示错误
操作结果:1、进入系统
2、系统提示 该管理员的信息不存在
3、系统提示 该管理员的信息不存在
测试结果(正确或错误) 正确
测试人 XXX 日期 : 2009/03/27
表5.1 登录测试 [资料来源:http://Doc163.com]
[来源:http://www.doc163.com]
参考文献
[1] 姜秀玉. 基于B-S模式高校教务管理系统的探索及研究 [D];吉林大学; 2006年.
[2] 万迪华. 学分制教务管理系统的设计与实现 [J];电脑知识与技术; 2005年35期.
[3] 王庆华.快学易用ASP3.0.北京:北京邮电大学出版社,2001年.
[4] 王力. 高校通用排课管理信息系统的设计与实现[J]; 贵州工业大学学报(自然科学版); 1999年01期; 89-92.
[5] 邓文渊.ASP与网络数据库技术.北京:中国铁道出版社,2003.
[6] 李存斌.ASP高级编程及其项目应用开发.北京:中国水利水电出版社,2004.
[7] 曹效阳. 浅谈SQL Server中的安全策略[J].现代计算机.2006.(01):17-21.
[8] 曾志峰,乐光学. 高校排课管理系统的设计与实现 [J];湖南商学院学报; 2001年01期; 138-139
[9] 张传红,葛华.基于C/S和B/S模式的教务管理系统研究[J].信息技术.2005.(11):35-38.
[10] 马学强. 基于B/S架构的教务管理系统设计及实现 [D];中国海洋大学; 2006年
[11] 列洪海.网络数据库开发实战.北京:中国铁道出版社,2000.
[12] 吴志斌,陈淑珍. 回溯算法与计算机智能排课[J].计算机工程.1999.(03):17-18.
[13] 陆峰,李新. 自动排课系统算法的设计与实现[J].微机发展.2005.(11):24-27. [资料来源:Doc163.com]
[14] 杨志,关昕,马力. Web系统性能测试实施过程[J].计算机工程与设计,2007,(10).
[15] 周煜,周国庆,奚文骏. 软件测试技术概述[J]. 中国测试技术, 2005,(03). [来源:http://Doc163.com]
[资料来源:www.doc163.com]
[版权所有:http://DOC163.com]
[资料来源:Doc163.com]
[资料来源:https://www.doc163.com]
[版权所有:http://DOC163.com]
[版权所有:http://DOC163.com]
[资料来源:http://doc163.com]
[资料来源:http://doc163.com]
[资料来源:Doc163.com]
[资料来源:www.doc163.com]
总结与展望
经过三个多月的设计和开发,教务管理系统基本开发完毕。其功能基本符合需求,对于数据的一致性的问题也通过程序进行了有效的解决。
在系统的开发过程中,主要作了以下工作:
1.比较了传统的教务管理模式与当代教务管理模式的优点和缺点。传统的教学管理模式适合于规模较小、现代化设施建设不够完备的院校,由于硬件条件方面的限制,只有依靠人力进行管理,但是对于文档资料的管理相对安全,不易遗失;当代教务管理模式更加智能化,减少了教务管理人员的工作量,在硬件设施方面的投入相对较高,并且要求加强安全方面的工作,防止来自网络的侵害。
2.深入学习了SQL Server 2000和ASP等开发工具,掌握了许多实用的开发技巧。以ASP为例,在以往学习ASP的基础上加强了对新版本的学习和使用,巩固了对基本函数的掌握和运用,在具体应用中能够更加灵活多变。
3.采用B/S模式设计开发了此教务管理系统,并对B/S模式有了一定的了解。
4.从撰写需求分析报告到毕业论文说明书,对软件开发流程有了更加深刻的认识。在以往的课程设计中,对系统的开发停留在单纯的代码设计上,而通过这次毕业设计,对于整个系统开发流程有了全面深入的实践,完全按照软件开发规范进行,这对以后的工作都是大有裨益的。 [资料来源:https://www.doc163.com]
5.比较研究了各种选课系统和排课系统的模型以及解决方案。本系统的重点及难点在于选课系统和排课系统的实现,特别是排课系统,涉及到的方面较多,因此在设计过程中,借鉴了一些具体问题的解决方案,最终采用了检验冲突智能排课的方法。
6.由于缺乏经验以及时间仓促,所以该系统还有许多不尽如人意的地方,比如用户界面不够美观,出错处理不够,无帮助文档等多方面问题,这些都有待进一步改善。另外,本系统用于测试的时间较短,存在未知的错误也在所难免。 [来源:http://Doc163.com]
后记
这个设计是将自己大学四年所学的知识的一个检验的过程,在这个过程中可以体验到自己去尝试的快乐,也有功能实现不了的困惑,老师,同学的宝贵意见都给了我很多帮助,在此十分感谢他们。通过毕业设计自己动手可以增强实践能力,而且对系统开发有了一个比较清楚的了解,知道了应该怎么样去分析解决问题,收获很多。
在老师悉心的关怀和大力的支持下我的论文才能得以顺利完成,在这里我衷心的感谢老师对我的关怀和支持。老师认真负责的工作态度、严谨的治学风格,使我深有感触;是在老师的帮助下,我才能顺利的完成这个系统。
[资料来源:https://www.doc163.com]