1、1本科毕业论文网上选课管理系统作 者 院 系 理 工 专 业 计 算 机 年 级 学 号 指导教师 职 称 讲 师 答辩日期 2摘要:本论文主要包括学生选课管理信息系统方案分析与网络规划,本系统是一个典型的信息管理系统(MIS), 管理信息系统就是我们常说的 MIS(Management Information System) ,在强调管理,强调信息的现代社会中它越来越得到普及。MIS 是一门新的科学,它跨越了若干个领域,比如管理科学、系统科学、运筹学、统计学以及计算机科学。在这些学科的基础上,形成信息收集和加工的方法,从而形成一个纵横交织的系统。其开发主要包括后台数据库的建立和维护以及前端应
2、用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。经过分析,我们使用了基于 IIS 的 ACCESS+ASP (active server pages) 相结合的动态网页技术, 并运用 VB Script 脚本语言和非过程化查询语言 SQL 语句,利用其提供的各种面向对象的开发工具,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。关键字:选课管理信息系统 网络 数据3AbstractThis dissertation chiefly consists of
3、 the student Select the lesson management information system conceptual analysis together with the concrete realization of network and the application of quarters management sub system。The quarters management sub system is a typical application of management information system (know as MIS), Manage
4、the information system be we are often MIS( Management Information System) that say, at emphasize the management, and emphasize the informations modern society inside it to more and more get the the universality.MIS is a new science, ited to stride over the some the realm, and for example manage sci
5、ence, system science, strategy to learn, statistics to learn and calculator science.On the foundation of these courses, become the information collections with the method that process, from but become a the system of the horizontal intertexture.which mainly includes building up data-base of back-end
6、 and developing the application interface of front-end. The former required consistency and integrality and security of data. The later should make the application powerful and easily used.By looking up lots of datum, is built on an architechure of ASP and Access, using IIS as web server, programing
7、 with VB script and non-process query languge SQL.By logging on this system, because of its objective tools in Win32. It can give you a short-cut to build up a prototype of system application. The prototype could be modified and developed till users are satisfied with it. Key words: Select the lesso
8、n Management Information System , Network , Data4目录第一章:绪论(一):系统设计背景1(二):系统综述1第二章:系统总体分析3(一):系统建设目标3(二):系统基本情况描述3(三):系统功能模型与流程4(四):系统数据分析与描述5第三章:系统设计6(一):系统数据库设计6(二):具体实现7(三):系统特点11第四章:测试12(一):模块测试13(二):功能测试13(三):测试结果13第五章:体会14参考文献155网上选课系统第一章 绪论Internet 网是目前全球最大的计算机通信网,它遍及全球几乎所有的国家和地区。www 系统是一个大型的分布
9、式超媒体信息数据库,它极大的推动了Internet 的发展,己经成为 Interne 中最流行、最主要的信息服务方式。www技术之所以能在全球普及,一个重要的原因就是它与数据库管理系统相互融合,成为一个处理和共享信息的强大工具。一方面,数据库是一种强大的信息管理工具,另一方面,www 提供了共享数据的方法。两者强强联合取长补短,发挥各自优势,使用户可以在 Web 浏览器上方便地检索数据库的内容。(一) 系统设计背景随着信息技术的日益发展和计算机网络的普遍应用,学校的学生人数不断增加,原有的学生信息管理的手工管理模式已无法更上时代的需要。随着社会的发展,培养计划也在不断地修改。学分制的实行给学生
10、以更大的选择空间,但也增加了日常教务的管理工作量。因此,利用现代计算机和数据库开发技术,在网络环境下建立学生信息系统对于减轻学生信息管理人员的劳动强度、提高工作质量和效率、方便管理人员对信息的查询、提高信息资源的利用率和管理水平都具有重要意义。(二)系统综述本系统使用了基于 IIS 的 ASP+ACCESS 相结合的动态网页技术,并运用 VB script 脚本语言和非过程化查询语言 SQL 语句,开发出了这套基于 WEB 的网上选课系统。本系统是一个一体化集成系统,进行信息管理是从总体出发,全面考虑,保证各种职能部门共享数据,减少数据的冗余度,保证数据的兼容性和一致性。严格地说只有信息的集中
11、统一,信息才是资源。数据的一体化并不限制个别功能子系统保存自己的专用数据,但为保证一体化,首先要有一个全局的系统计划,每一个小系统的实现均要在这个总体计划的指导下进行;其次是通过标准、大纲和手续达到系统一体化。1.采用 ASP 技术开发 MIS 系统的优势6管理信息系统(MIS)作为一个综合的人机交互系统,它利用计算机提供信息以支持运行、管理、分析和决策功能。工欲善其事,必先利其器。在现代管理信息系统中,利用 Web 技术,实现 Web 服务器与数据库系统的连接,完成对数据的处理与查询,用户可以通过操作简单易学的浏览器来查询处理所需要的各种数据。这种从浏览器到服务器的数据处理结构就是目前在 I
12、ntranet 中十分流行的 B/S 模式(Browser/Server) ,B/S 结构是真正的三层结构,其结构组成如图 1-1:图 1-1 B/S 系统结构图 第一层浏览器是表示层,完成用户接口功能,在客户端向指定的服务器发出请求,WEB 服务器用 HTTP 协议把所需的文件资料传给用户,客户端接受并显示在 WWW 服务器上。 第二层 WEB 服务器是功能层,完成客户的应用功能,即 WEB 服务器接受客户的请求,以 CGI 或 ASP 与数据库连接,进行申请处理,而后数据库结果返回服务器,再传至客户端。 第三层数据库服务器是数据层,数据库服务器应客户请求进行各种数据处理。网上选课系统基于
13、IIS 上采用了目前最流行的 ASP 技术作为运行平台。ASP 是 Microsoft 公司的动态站点设计技术,全名为 Active Server Pages,凭借其动态、高效和易于交互的特点,已经成为 Internet/Intranet 上的主流技术。一方面,ASP 将 HTML 语言和脚本语言融合在一起,为动态 Web 页的生成提供了真正的宽松环境;另一方面,它所采用的 ADO 后台数据库访问技术,可对任何与 ODBC 和 OLE DB 兼容的数据库进行访问。通过 ADO,开发人员可以用较少的代价实现复杂的数据库操作。ASP 内含于 IIS3.0 和 4.0 之中,通过 ASP 我们可以结
14、合 HTML 网页、ASP 指令和 ActiveX 元件建立动态、交互且高效的 WEB服务器应用程序。有了 ASP 你就不必担心客户的浏览器是否能运行你所编写的代码,因为所有的程序都将在服务器端执行,包括所有内嵌在普通 HTML 中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。2.数据库访问技术上7ASP 在技术的形成与发展中还吸纳了用于数据库提交和查询的 IDC(Internet Database Connect)技术。经过逐步演变,今天的 ASP 可利用 ActiveX 数据对象 ADO (ActiveX Dat
15、a Objects)方便的访问数据库。ADO 是一个基于 ODBC 数据接口的应用程序方法,可以链接到任何与 ODBC 兼容的数据库和与 OLE BD 兼容的数据源。例如,Access、SQL Server、Oracle、Excel、Word 等。ADO 技术在查询时不需要去遍历库中复杂的层次结构,查询的结果可以存储在小而精炼的对象中,而且可以成批的处理数据。它具有易使用、高速、占用内存小等优点。ADO 和 ASP 是进行网络数据库访问的一对绝好搭档,已成为数据查询、管理与处理的核心技术。图 1-2 ASP 使用 ADO 访问数据库第二章 系统总体分析(一) 系统建设目标本系统旨在使目前校园内
16、教学、教务管理信息网络化,解决已往信息传递不方便、不快捷等问题,学生可以直接通过网络选择专业,填写个人资料。本系统使学生信息网络化,可以直接在网络对学生信息进行管理,修改,查找,打印等。方便快捷,不容易出错。方便管理。减少工作量。(二) 系统基本情况描述可行性分析通过对学校各项管理工作的调查,了解到目前学校是教务处负责对学生选修课信息进行直接的管理工作,具体的工作是对学生在校期间的选课、成绩等信息进行管理。本系统开发的主要目的是对教务处的关于学生选课及成绩管理部分实现计算机管理。需求分析需求分析实际上就是对对象进行系统调查,这是系统开发工作中最重要的环节之一,实事求是地全面调查是分析与设计的基
17、础,也就是说这一步工作的质量对于整个开发工作的成败是决定性的。根据网络管理的特点以及由此所决定的操作过程和资源利用的方式,我们8提出以教学课程管理为核心的设计方案及管理系统。1. 主要功能 学生选课系统 管理系统 教师登陆2. 功能概述 学生选课系统:学生通过 ID 和密码登陆,实现选课以及查询。 管理系统:进行系统总体设置管理。如:课程设置、课时安排、用户管理、系统通告等。 教师登陆:教师通过 ID 和密码登陆,实现对课程的注册以及设定课程信息(三)系统功能模型与流程本系统按照使用者分为三大模块,参见图 2-1。图 2-1 系统功能模型我主要设计的是管理员系统,如下图学生选课系统学生模块 教
18、师模块 管理模块9图 2-2 管理员模块功能流程图10系统 ER 图(四)系统数据分析与描述1.注册注册包括学生,教师的 ID、姓名、密码、以及基本信息。2.修改包括教师信息和学生信息以及课程的添加删除。3.查询包括查询课程信息,学生信息,教师信息。4.注销删除学生以及该学生的所有信息。5密码修改管理员修改自身密码。第三章 系统设计(一)系统数据库设计根据网上选课系统的特点和要求,在ACCESS中主要建立以下表:管理员信息表:11属性名 属性含义 主键 外键 类型 宽度 小数位数 是否为空username 用户名 char 10 Not nullpassword 密码 char 10 Not
19、null课题信息表:属性名 中文含义 主键 外键 类型 宽度 小数位数 是否为空courid 课题编号 char 10 Not nullcoursenm 课题名称 char 30 Not nullcoursejj 课题内容 text 16 Not nullcoursetea 教师姓名 char 10 Not nullnumber1 选题人数上限 int 4 0 Not nullNumber2 已选课人数 int 4 0 nullstatus 状态(已满,未满) char 10 Not nullxb 可选系别 char 30 Not nullbj 审核标记 char 20 nulldt 提交日期
20、 datetime 8 Not null选题信息表:属性名 中文含义 主键 外键 类型 宽度 小数位数 是否为空courid 课题编号 char 10 Not nullstudid 学生学号 char 15 Not nullstudnmj 学生姓名 char 4 Not nullstudxb 性别 char 20 Not nullbjnm 班级名称 char 10 Not nullnianj 年级 char 30 Not nullspecnm 专业名称 char 30 Not null12xib 系别 char 30 Not nullcoursenm 课程名称 char 30 Not null
21、coursete 课题教师 char 10 Not nullsh 是否选定 char 10 null学生信息表:属性名 中文含义 主键 外键 类型 宽度 小数位数 是否为空studid 学号 char 15 Not nullstudnm 姓名 char 10 Not nullstudxb 性别 char 4 Not nullbjnm 班级名称 char 20 Not nullnianj 年级 char 10 Not nullspec 专业 char 30 Not nullxib 系别 char 30 Not null用户登陆信息表:属性名 属性含义 主键 外键 类型 宽度 小数位数 是否为空s
22、tudid 用户名 char 15 Not nullpassword 密码 char 15 Not nullsid 用户身份 10 Not null(二)具体实现管理员登陆后有权对学生和教师分配权限、审核课程,查看课程注册情况,学生选课情况,修改学生信息,注销学生。数据库链接文件 conn.asp,其代码如下:1.从用户处接受信息很多情况下,我们要从用户处取得信息。比如,学生登录时要输入用户名和密码;用户查找某项课程时要输入关键字;管理员增加用户时要填交表单等等。在 ASP 中,由 Request 对象来完成这一任务。由于用户可以通过 GET 和 POST 两种方式来提交数据和表单信息,Req
23、uest 对象相应的用QueryString 集合和 Form 集合来接收。两者的区别在于:GET 方式提交的信息量比较小,而且是显式的,也就是说,提交的信息内容会显示在地址栏里,不利于信息的安全和保密。因此,在本系统中,一般采用 POST 方式提交信息。通常,我们把从用户处获得的信息作为我们的查询条件。2.查找处理数据在 ASP 组建的动态网站中,访问数据库的职责是由 ASP 的重头戏ADO 来完成的。ADO 实际上是 ASP 调用的 ActiveX 数据对象,所以在使用 ADO 访问数据库之前,必须先用 ASP 的Server 对象来调用 ADO 对象。即:Server.CreateObj
24、ect (“ADO.Connection”)Server.CreateObject (“ADO.Recordset”)ADO 对数据库的访问和操作是通过它的三大对象 Connection、Command 和 Recordset 来完成的。虽然这三个对象都可以独立的完成对数据库的操作,但实际上它们的作用却各有侧重。为了更好、更方便的进行访问,我们应该根据它们各自的长处配合使用。(1)建立联系Connection 对象Connection 对象能够建立数据库与应用程序之间的联系,在建立联系之后,由其他两大对象 Command 和 Recordset 来请求、存储或更新数据。形象的打个比方就是,Co
25、nnection 对象的功能好似拨通电话的动作,而 Command 和 Recordset 对象则好似与另一方通话的具体谈话动作。必须要指出,即使我们能够使用其它两个对象完成所有数据操作,但在之前必须先使用Connection 对象建立连接。方法是:14MM_mm_STRING=“DRIVER=Microsoft Access Driver_ (*.mdb);DBQ=“pwd=11223344;“set cnn = Server.CreateObject(“ADODB.Recordset“)Cnn.Open MM_mm_STRING(2)查询Command 对象Command 对象的功能主要是
26、对数据库进行数据查询,一般情况下,请求是采用标准的 SQL 语句来表示的。先把欲请求的 SQL 字符串指定到 Command 对象内的 CommandText 属性;接着执行数据库查询的动作 Excute,在数据库服务器响应后,该响应的数据结果立即存储在 Recordset对象中供用户使用。方法是:Set cmd=Server.CreateObject(“ADODB.Command”)Cmd.ActiveConnection=ConnectCmd.Commandtype=adCmdTextCmd.CommandText=“具体 Select 语句”Set rst=cmd.Execute(3)返
27、回查询Recordset 对象Command 对象从数据库中取得的数据集合就存储在 Recordset 对象中,这些数据集合已经是符合用户向数据库发出的查询条件的数据所组成的集合。由于 Recordset 对象中所存的记录只是已经符合条件的一小部分,所以操作起来处理速度非常之快。Recordset 对象是所有 ADO 对象之中功能最强大的。因为在 Recordset 对象内提供了许多实用的方法和属性,这些方法、属性与 Command、Connection 对象自动进行链接,并且在后台完成了 Command、Connection 对象所需完成的工作。所以在实际对数据库进行操作时,查询和返回查询的
28、工作可由 Recordset 对象一肩承担。方法为:Set rst=Server.CreateObject(“ADODB.Recordset”)SQL=“具体 Select 语句”rst.Open SQL,cnn,2,2(4)ADO 对象共享机制在 ADO 中还有一个重要的机制,就是 ADO 对象共享机制。对于不同的 Command 对象可以同时共享同一个 Connection 对象,甚至不同的 Web 页面对数据库的链接都可以共享一个Connection 对象,也就是说只需要一个 Connection 对象对数据库做出链接的动作,就可以重复不断的利用该对象来向数据库服务器做出不同的数据库查询
29、动作,当然这些查询动作是关联不同的 Command 对象。这样不同的 Web 页面对于每次数据库的链接不需要分别建立一个Connection 对象,数据库服务器端的负担就降低了,对于整个应用程序的响应速度和效率都大大提高了。同样,ADO 允许 Recordset 对象共享同一个 Connection 或 Command 对象。ADO 这种对象共享机制可以与 ODBC 内的 Fooling Connection 做出结合的动作,这样更加改善了服务器链接效率。管理员通过 ID 和密码进入管理系统。15管理员系统界面在这里选择要进入的控制系统。如图是对课程信息的查询结果。管理员注册信息画面16(三)
30、 系统特点:(1)系统维护简单,系统所需要的任何数据或者任何个人资料,都是被保存在各自独立的数据库当中的,大部分的工作都由我们的系统来完成,系统管理员和用户只要做一些简单的工作就可以了。(2)系统的使用方便,系统任何截面都全中文显示,友好和可预见性的界面,及时的提示,让用户能很快的掌握操作方法。我们可以这样断定;你只要能看懂中文,只要进入了我们的界面,你就一定能够很快的知道你下一步将要做什么工作了。(3)系统的高效实用。数据库的引入,不仅使本系统便于维护,而且,使得系统高效实用,无须了解系统的运行体制和内部结构,就能掌握要领,运用自如。(4)系统的安全性较高。由于在系统当中,对于不同的数据资料
31、都是采用分别独立的数据库来保存的。第四章 测试测试在开发软件过程中是一个不可缺少的部分。因为在开发软件系统的漫长过程中,面对着极其错综复杂的问题,人的主观认识不可能完全符合客观现实,与工程密切相关的各类人员之间的通信和配合也不可能完美无缺,因此,在软件生命周期的各个阶段都不可避免地产生差错。我们力求在每个阶段结束之前通过严格的技术审查,尽可能早地发现并纠正错误;但是,经验表明审查并不能发现所有的差错,此外在编码过程中还不可避免地会引入一些新的错误。17如果在软件生产性运行之前,没有发现并纠正软件中的大部分差错,则这些错误迟早在生产过程中暴露出来,那时不仅仅改正这些错误的代价更高,而且往往会造成
32、很恶劣的后果。测试的目的就是在软件投入生产运行之前,尽可能多地发现并纠正软件中的错误。基于上述的原因,我在编码过程中进行了模块测试,编码结束进行了系统测试和验收测试。下面将介绍测试方案,测试过程和测试结果。(一) 模块测试1 测试方案采用了白盒测试,即按照程序内部的逻辑结构,检验程序中的每条通路是否都按预定要求正常工作。2 测试过程检验模块之间的接口。A 每个被调用模块是否正确接受参数。B 每个调用模块是否能调用每个自己想要调用的模块。3 测试结果测试结果表明,每个模块之间的接口都吻合,即被调用模块都能正确接受参数,调用模块能调用自己想要调用的每个模块。(二)功能测试1 测试方法采用了黑盒测试
33、,即检查程序功能是否能按照规格说明书的规定正常使用,程序是否适当地接受数据产生正确的输出信息,并且保持外部信息的完整性。2 测试过程:主要检验是否能正确实现每个功能。A 每个功能时候按照规格说明书的要求正常使用。B 数据库里的记录是否符合要求。C 用户界面是否友好(三)测试结果结果表明,每个功能都能按照规格说明书里的要求正常使用且速度达到了预期的标准。数据库里的记录符合要求,用户界面友好。当然,整个系统在测试过程中仍发现了不少的错误,但在知道老师的指导下改正并完善了所发现的错误和不足之处,达到了测试要求。系统设计中的设18计思想都已实现。我们成功实现了用 ADO 组件访问 ODBC 源数据库,
34、用Connection 对象建立并管理系统与数据源的链接;使用 Recordset 对象访问数据库并进行数据的查询、更改、删除、添加等操作,实现了用 SQL 命令对数据库进行操作;当然,由于种种的原因,本系统还存在着一些不足的方面,有待于我或者其他人以后的继续努力和完善。19第五章 体会通过几个月的设计,学到了不少东西。不但对 ASP 这一开发语言有所掌握,更重要的是对进行软件设计的整体设计流程及思维方法有了深刻的认识。在期间,发现的许多问题都源于没有认真地按步骤进行设计,对各个方面将会产生的问题考虑不周全。同时,在毕业设计的过程中,我和同组的吴红丹同学互相学习,相互鼓励,营造了一个良好的学习
35、氛围。在这样一种团结,紧张的氛围中,不但使我学会了与别人合作,我还真正领会到了团结合作的团队精神的实质和重要性。没有一个良好和睦的工作环境,没有团结合作的团队精神,如果我们各自分工和睦配合,就不可能取得成功,今后也不可能取得大的成就。在设计过程中,由于很多都是新知识,这就迫使我到处查阅相关资料,学习新知识,从而培养了独立思考解决问题的能力。并感谢崔旭老师的细心指导,如果没有老师的指导,我的毕业设计不会如期完成的。总之,在整个设计完善的过程中,我学到了在书本里根本学不到的许多知识,体会到 ASP 语言的强大功能,以及实现系统的动态页面效果的技术,我的受益匪浅,为我在今后的工作中无不是最宝贵的财富。20参考文献:1 李严,于亚芳,王国辉. ASP 数据库开发实例解析 .(第一版.第一次) : 机械工业出版社,20052 清汉计算机工作室编著.VBScript 开发实例:机械工业出版社,20023 张治文.HTML 设计实务:人民邮电出版社,20034 张 利,王显 .Active Server Pages(ASP)2.0 网页设计手册: 清华大学出版社,20045 吴明辉.ASP 网络办公商务应用系统开发实例导航.(第一版.第一次):人民邮电出版社,2003