网上选课系统的设计与实现_第1页
网上选课系统的设计与实现_第2页
网上选课系统的设计与实现_第3页
网上选课系统的设计与实现_第4页
网上选课系统的设计与实现_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录第一章 绪论11.1 课题研究背景1.2 课题研究的现状分析1.3 研究内容和设计目标1.4 论文组织结构第二章 WEB 应用相关技术研究2.1 软件结构:B/S 模式2.1.1 B/S 模式的组成2.1.2 B/S 模式的优点2.2 数据库:SQL Server 20002.2.1 SQL Server 2000 概述2.2.2 SQL Server 2000 特性2.3 软件开发语言:C#2.3.1 C#面向对象语言2.3.2C#语言和 C+的关系2.3.3 的特性2.4 ASP.NET 网络编程技术2.4.1 ASP.NET 概述2.4.2 ASP.NET 的优势2.4.3 ADO 编程技术第三章 系统总体设计3.1 网上选课系统功能需求3.2 系统架构设计3.2.1 总体结构设计3.2.2 模块设计3.2 系统详细设计3.2.1 功能模块设计3.2.2 数据库设计3.2.3 数据库表关系第四章 系统详细设计与实现4.1 系统公共部分的实现4.2 系统实现4.2.1 学生选课模块4.2.2 教师模块4.3 系统功能预览4.3.1 用户登录显示及实现4.3.2 管理员添加用户显示及实现4.3.3 管理员修改、删除用户信息显示及实现4.3.4 管理员课程管理4.3.5 学生选课4.3.6 教师申报课程程及成绩管理4.3.7 用户密码修改功能4.3.8 查询功能第五章 系统测试5.1 系统测试简介5.2 测试方法及测试用例5.3 测试结果第六章 总结与展望6.1 结论6.2 系统前景与展望参考文献致谢摘要随着计算机网络技术的推广,基于 Web 的应用系统得到了迅速发展。.NET框架为 Web 应用系统提供全新的开发平台,已成为开发 Web 应用程序的一大主流技术,基于该平台开发的应用系统具有执行效率高、扩展性强等优点。本文对当前网上选课系统的国内外现状进行了分析,阐述了 B/S 架构、.NET 平台及 ASP.NET 等相关技术。结合网络上现有的该类系统及本学院的要求进行了需求分析和系统的可行性分析。对系统中的管理员、教师模块部分、学生模块部分和数据库进行了概要和详细的设计。最后从系统实现的公共部分开始,对系统中管理员和教师模块的功能实现和采用的关键性技术及难点的解决办法等方面进行了描述。通过本课题的研究,目的在于解决网络环境下选修课程过程中存在的典型问题,充分提高教务管理工作的质量与效率,对计算机应用技术尤其是网络技术的应用与研究起到积极的推动作用,从而全面提高选修课程的管理质量,使学分制的选课实施与管理更加科学化、规范化。经过实际检测,该系统能够为全校师生准确的提供选课、成绩录入、成绩查询等教务类服务。关键词:选课系统,B/S,.NET,ASP.NET第 1 章绪论1.1 课题研究背景二十世纪中叶,随着计算机的发明与应用,促使世界信息化、网络化迅速推进,并在全球形成了一场新的技术革命和社会变革。信息技术革命的发展对全球经济和社会正产生巨大的影响,并引导世界进入信息时代。迅猛的信息化浪潮正冲击着包括政治、经济、教育、军事在内的人类社会的各个领域。随着高校教务管理的系统化和计算机网络化,教育教学管理模式在不断发生变化。教学计划必需随着社会和科技的不断地而进行修订,使得学校安排学生选课、排课的任务日趋繁琐、复杂。简化选课难度,提高选课质量势在必行。目前,各高校已相继建成了覆盖全校的高速校园网,并与 Internet 互联,具备了通过网络来管理教学的硬件环境。那么,充分利用现有网络资源,建立网上选课系统呼之欲出。平顶山教育学院是一所面向全国多个省份招生的院校。已逐步由成人教育向高职、本科教育转变。随着招生人数的不断增加以及校园网络的普及,传统的人工选课模式的弊端日渐突出。平顶山教育学院每学期开设的公选课,是以人工报课、选课、管理方式进行。首先是教务管理人员把下个学期要开设的课程发到各个分院系,先有老师申报课程,再由教务处审核。然后将审核通过的课程表发到各个班级,以班级为单位进行填报,每个学生填报结束后,再由各班班长将选报名单送往填报课程所在的分院系。如果出现满员情况,还需要重复上面的流程。学生申报结束后,再由教务管理人员统计各门课的选课人数,安排上课时间和地点,制成课程表。此项工作从头到尾都由人工完成,工作量非常大。结合学院现有的选课体制,可以发现人工选课模式存在的问题是:(l)耗时长,工作量大公选课的准备是从上个学期末到本学期初,经过了老师申报、审核、课程汇总、学生选课、再统计汇总、制作课程表的阶段。(2)学生无法预知某门课程所报人数课程通知到各个班级后,往往造成部分受欢迎的人们课程人数爆满,学生无法预知课程是否满员,而耽误了选报其他课程的时间。(3)容易造成所选课上课时间冲突平顶山教育学院规定每学期学生可以选择两门公选课。但在发布公选课课程时无法事先安排好上课时间,地点。这就有可能造成学生所选课时间冲突,不利于公选课的开展。(4)教师录入、下发成绩不方便因为是公选课,所以选修的学生分布在各个分院系,教师在课程结束后,要手工录入成绩,并且按照各分院系进行汇总,并将成绩下发到学生手中。这也增加了老师的额外工作量。针对传统模式的人工选课存在的问题,为了进一步提高学生选课管理的效率,保证学院学生选课工作的顺利有序进行,信息化和网络化的推行也是正被广泛应用并被实践证明是目前最有效的途径。目前平顶山教育学院的学生选课网络化基本上是一片空白,很大程度上影响我院学生选课工作的效率。为了提高学院学生选课工作的效率,建设我学院的网上选课系统势在必行。1.2 课题研究的现状分析基于 Internet 应用的 MIS 系统目前正飞速发展。传统的 MIS 系统往往是运行于单机或者组织的局域网上。而今,随着互联网技术的不断发展,不论是政府、组织、还是企业、社会团体等等机构利用互联网技术开展的:电子政务、电子商务服务,正越来越紧密地走进人们的方方面面。MIS 系统除了依托于原有数据库技术外,更加离不开网站建设技术;它的服务对象已经由过去主要针对组织的管理决策层,拓展到今天全部的组织成员乃至公众;它的服务领域与服务方式也相应的由简单的提供一些统计报表,到今天能够提供决策支持,公众信息个性化服务等等丰富内容的体系。进入 21 世纪以来,国内各学校都在积极推动教育改革,为培养更为优秀的新世纪复合型人才做出努力。其中,就包含应该进一步完善现有的教务管理体制内容。从以前的学年制,到现在的学分制,显然,这些改革如果不借助计算机进行管理,是难以想象的。国内学校的计算机教务管理水平,是随着教育改革的进一步深化和计算机电脑的普及、计算机网络的大规模发展而迅猛发展起来的。随着职业教育改革的深化,学分制管理必将势在必行,它的核心是允许学生在一定范围内自由选课,即把学习的自主权交给学生。学生选课时的制约因素比较复杂,而且往往需要在较短的时间内完成。在开展选修课的同时,发现随着在校学生人数的急剧增加,有关学生的课程信息量也成倍增加,靠人工的填表统计进行选修课报名的方法己经远远不能满足教学的需求,这一改革的实施,需要有现代的教育手段、设备、设施、技术为其服务,面对庞大的信息量,需要有选课系统来提高教务工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,用数据库进行管理变得尤为必要。这可以发挥计算机的优势,大大减轻工作人员的工作量和减少人为的错误,充分体现公开公平、简便快捷、准确稳定和自主处理等特点。目前,国内大多数高校都已实现了网上选课,但现阶段存在的网上选课系统大部分采用脚本语言(ASP 或 JavaScript)或基于 Windows DNA(Distributed Internet Application)及组件技术(COM+)实现。例如:华中师范大学开发的网上选课系统,该系统在 Windows DNA(Distributed Internet Application 操作系统和 SQL serve 2000 的平台下,采用 MS-IIS (Internet Information Server)作为 Web 服务,以 ASP 与 ADO 技术相结合来访问站点数据库。该应用程序用 ASP 开发的脚本程序全部在服务器端运行,因此客户端使用浏览器即可。长沙理工大学华科公司开发的长沙理工大学网上选课系统是基于 Windows DNA(Distributed Internet Application)三层网络计算机体系结构,将 COM+组件技术应用于网上选课系统,系统中 B/S 部分采用 ASP 实现,C/S 部分采用 VB 6.0 实现,而组件使用 Visual Basic 开发,安装在服务器上,在使用时必须安装客户端并注册,后台数据库采用 SQL Server2000。这些网上选课系统,因为使用的实现技术的缘故,往往存在以下问题:(5)操作复杂网上选课应操作简单方便,人机界面友好。但现有的选课系统大都操作界面不友好,忽略了用户操作的简便性,从而导致选一门课需要经过许多步骤,给使用者和维护人员增加了不必要的麻烦,往往导致学生对要选的课程的开课基本信息比较模糊、学生选课查询不方便等而教师只能对所授的课程进行简单的查询,不能进行成绩管理。(6)稳定性差网上选课系统原则上全天候不间断的提供服务,然而现有的网上选课系统经常出现网站不能访问,用户无法登陆的情况,这显然是网络服务器系统的不稳定、抗毁性差造成的。作为统的设计者,应在发布网站前进行充分的效能测试,从而最大程度上避免这种情况的出现。(7)系统性能差由于系统前台采用 ASP 技术,后台为 ADO 连接 Access 数据库,所以速度及性能方面都得不到有力保障,从而导致在选课高峰期有大量同学同时选课的时候经常出现登陆和选课速度很慢,甚至因为选课高峰期访问量骤增而宕机,从而导致学生不能选课。(8)系统功能不完善教师不能进行课程成绩管理,成绩报送之类依然手工化,需要任课老师通过手写的方式来填写学生选课成绩,然后将成绩单送到各系部,没有发挥网上选课系统资源共享的优势。学生登录是以学生学号进行身份验证并且初始密码也往往是固定的,由于学号和密码的不保密性,从而导致许多同学选课结果被人修改,甚至自己都不能登录系统,这样的后果是在同一时间有好几百学生同时去找教务管理员查询、修改自己的密码。既然不能节省管理员的工作量,这套系统也就失去了意义。(9)系统的技术门槛过高软件、数据库的安装及服务器的配置需要计算机专业人士才能完成,但实际上经常使用该系统的教务管理人员没有这么深厚的专业理论知识和操作水平,一旦系统出现问题,使用者便会束手无策,只能等待专业人士的帮助,从而耽误使用。现在的网上选课体系架构主要有两种:基于 C/S 的客户端登陆选课方式和基于 B/S 的网页登陆的选课方式。基于 C/S 结构的选课方式具体的做法是由管理人员将 C/S 结构的选课软件安装在信息中心的服务器上,然后学生在规定的时间内到指定地点登陆客户端进行选课。这样,虽然选课时间、地点比较集中,但缺陷也是明显的,这样选课依然工作量大,工作效率低,浪费了大量的人力和物力。随着 Internet 的飞速发展,校园网的完善,网上选课系统采用 B/S 结构的取代原有的 C/S 结构,是教育信息化、现代化的必然趋势。(l)基于 B/S 结构的选课方式该方式采用浏览器/服务器的方式,通过动态网页(如 ASP、JSP 等)便可以直接访问数据库,从而实现网上选课。该方式能很好的克服 C/S 结构选课系统的不灵活性和低效性,选课学生在学校规定的选课期间,只要能连接校园网就可以进行选课操作,极大地方便了选课过程,节约了人力物力,充分利用了校园网资源。1.3 研究内容和设计目标基于网上选课系统,每学期的开课信息将在 Web 网站上公布,学生可以通过校园网上任何一台联网计算机进行查询、选课,教务管理部门可以追踪课程的选课情况,根据学校的师资和教学资源实时进行调控,并将调整信息实时动态发布,任课教师可以在选课过程中随时了解课程的选修情况,在选课结束后立即得到所有选课学生名单,而不再是一摞选课单。由于综合知识模块的选修课程允许学生根据各自的需求在一定范围内灵活选择,一些课程因为教学资源的限制对选修人数、上课时间、地点等方面有限制条件,系统要能对课程设置选修人数、年级、面向院系等限制条件。便于教务处、各院系教学秘书完成选课过程各环节的教学管理。选课过程具有一定的时效性,系统要能在短时间内响应大量学生的查询和选课需求并及时处理;能严格按照学校教务管理的有关规定,按时完成全校学生选课的网上登一记报名,实现选课工作的计算机化管理;具有良好的开放性和通用性,指定用户在规定的时间段内可随时通过校园网登陆系统进行选课并查询相关信息;提供智能化的检测和管理手段,能对选课情况进行实时在线监控,核查学生选课信息,杜绝不符合规范的选课现象;具有各种查询、统计和报表功能,为教务管理提供原始依据;基于 Web 浏览器,操作简单方便,界面美观大方,便于推广和使用;选课系统与成绩管理、教学计划管理、排课管理等其它教务系统具有良好的接口,信息相互沟通,为形成最终网络化、一体化和智能化的综合教务管理信息系统奠定基础。根据平顶山教育学院的实际情况,征求各方面的意见,对于选课的各方需求,选课的业务流程进行调查、分析,确定了课题要研究的主要内容。(l)每学期的开课信息在校园网站上公布;(2)学生通过校园网查询课程信息,登陆网上选课系统进行选课、密码修改、成绩查询等;(3)教务管理部门可以及时追踪课程的选课情况,并根据学校的师资和教学资源实时进行调控,并将调整信息实时动态发布;(4)任课教师可以在选课过程中随时了解课程的选修情况,在选课结束后立即得到所有选课学生名单。本系统充分利用平顶山教育学院现有的网络资源,建立完善的网上选课系统,从而实现教学职能部门、教学业务部门与学生三者之间的信息及时通讯和共享。1.4 论文组织结构第 1 章,介绍了课题的背景,课题研究的内容,以及课题目前的发展现状分析。第 2 章,对开发选课系统的采用的各项技术做了简单的描述,从架构、数据库、开发语言、开发工作四个方面分别介绍 B/S 结构、SQL Server 2000、C#、Microsoft Visual Studio.NET 和 ADO 等当前先进的开发技术。第 3 章,在进行了学生选课系统的需求分析后,对系统的总体架构做了详细说明,分别从两方面介绍:结构设计包括各模块功能、模块间的调用、模块间的接口;数据库的设计包括各个表单结构。第 4 章,介绍了系统详细设计,主要介绍针对学生、老师以及教务职能部门对该系统的使用、管理等模块做了详细的说明。第 5 章,对系统进行了测试,并分析了测试结果。第 6 章,对研究内容进行总结,对课题的应用前景和下一步要进行工作进行展望。第 2 章 WEB 应用相关技术研究2.1 软件架构:B/S 模式2.1.1 B/S 模式的组成B/S 模式,即 Browser/Server(浏览器/服务器)结构,是随着 Internet 技术的兴起,对 C/S 模式的一种变化或者改进的结构。在这种结构下,用户界面完全通过 WWW 浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓 3 层体系结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。B/S 体系结构由三部分组成:(l)客户端客户端的主要任务是显示用户界面,接收用户事件。B/S 体系结构中,用户界面可以是浏览器方式,也可以是传统客户端方式。(2)应用服务器一般由 Web Server 和 Application Server 两部分组成,用中间件将这两部分集成到了一起。 Web Server 是 B/S 体系结构应用服务器的门户,是联系客户端和真正处理业务的 Application Server 的桥梁和纽带。 Application Server 是应用服务器的核心部分,是真正实现业务功能的服务。(3)数据库服务器数据库服务器是业务对象的属性得以永久性保存的载体。目前,大型 B/S体系结构应用系统中用的较多的关系型数据库有 Oracle、DB2、SQL Server 等。B/S 体系结构的模型可用图 2.1 表示,从左到右分别为呈现层(即客户端)、事务逻辑层和数据层。图 2.I B/S 体系结构2.1.2 B/S 模式的优点B/S 模式的管理信息系统基本上克服了 C/S 模式的管理信息系统的不足,其主要表现在:(1)维护和升级方式简单目前,软件系统的改进和升级越来越频繁。B/S 架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的。但 B/S 架构的软件只需要管理服务器,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加维护升级的工作量。如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。今后软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间费用的节省是显而易见的。(2)B/S 模式提供了一致的用户界面B/S 模式的应用软件都是基于 Web 浏览器的,这些浏览器的界面都很相似。对于无用户交互功能的页面,用户接触的界面都是一致的,从而可以降低软件的培训费用。真正好的产品在功能越来越复杂的同时应该使产品的使用越来越简单,使用浏览器作为软件界面不但容易统一各种应用系统,也非常便于使用。对大批的使用人员进行培训是很困难的,时间和人力都难以集中,浏览器这种易于使用,几乎不需要培训的方式是最好的选择。(3)B/S 模式的结构易于扩展由于 Web 的平台无关性,B/S 模式结构可以任意扩展,可以从一台服务器、几个用户的工作组级扩展成为拥有成千上万用户的大型系统。(4)B/S 模式具有更强的信息系统集成性在 B/S 模式下,集成了解决企事业单位各种问题的服务,而非零散的单一功能的多系统模式,因而它能提供更高的工作效率。无论是办公自动化管理系统,人力资源管理系统,客户管理系统,ERP 等等,发展的趋势是不断融合,采用统一的 B/S 结构开发的产品无论是现在还是将来都是较好的选择。(5)B/S 模式提供灵活的信息交流和信息发布服务B/S 模式借助 Internet 强大的信息发布与信息传送能力可以有效地解决企业内部的大量不规则的信息交流。2.2 数据库:SQL Server20002.2.1 SQLserver2000 概述SQL Server 是 Microsoft 公司推出的基于客户/服务器结构的关系数据库管理系统,它功能强大、操作简便,广泛应用于数据库系统后台。越来越多的客户端开发工具都提供了与 SQL serve 的接口。SQ Lserver2000 是 Microsoft 公司于 2000 年 8 月推出的,它继承了 SQL server7.0 的优点,同时增加了许多先进的功能,具有可伸缩性好、使用方便等优点。SQLserver2000 提供了在服务器上运行的服务器软件和在客户端运行的客户端软件,连接可户和服务器计算机的网络软件则由 Windows NT/2000/XP/2003 提供。其中,SQLserve:2000 数据库系统的服务器运行在 Windows NT/2000/XP /2003 上,负责创建、维护数据库、表和索引等数据库对象,确保数据的完整性和安全性,能够在出现各种错误时恢复数据。SQLserver2000 数据库系统的客户端应用程序可以运行在 Windows 9X/ NT/2000/XP/2003 系统上,完成所有的用户交互操作,将数据从服务器检索出来以后,可以生成拷贝,以便在本地保留,也可以进行操作。SQL Server 2000 是一个优秀的基于客户/服务器(或称后端)提供服务,客户端(或称前端)请求服务。一般的,一个前端应用程序与后台 SQL Server 200O 组成的数据库应用系统包括两部分:一是系统前端,一般存在于应用程序界面中,其中包括应用程序和界面显示,请求时间对应的 SQL 语句;另一个是系统后端,由 SQL Server 2000 组成,它给前端提供各种服务,接收前端提交的 SQL 语句,并执行该 SQL 语句,将执行结果返回到前端。SQL Server 2000 客户/服务器基本结构如图 2.2 所示图 2.2 SQLSERVER 客户/服务器基本结构图2.2.2 SQLServer2000 特性SQL Server2000 是一个优秀的数据库管理系统,用来对数据库进行管理。它适合于各类型应用的后台数据库管理,还可用于数据仓库、大型数据联机分析和电子商务等。 SQL Serve 2000 主要包括以下特性。(l)企业级数据库功能SQL Server2000 关系数据库引擎支持几乎所有的数据处理环境所需要的功能。数据库引擎保护数据库的完整性,并使许多并发数据库操作的用户的开销减到最小。SQL Server2000 分布式查询可以用来自不同数据源的数据,就好像这些数据是 SQL Server2000 数据库的一部分。(2)XML 支持XML (Extensible Markup Language),即可扩展性标记语一言,是由W3C(World wide Consortium)的 XML 工作组定义的。XML 与 HTML 一样,都是源自标准通用标识语言 SGML (Standard General Markup Language),其目标是允许普通的 SGML 在 Web 上以目前超文本链接标识语言 HTML (Hypertext Markup Language)的方式被接收和处理。EML 介于 SGML 与 HTML 之间,它比SGML 简单但比 HTML 功能强大得多。SQL Server 2000 对 XML 的支持主要表现在以下几个方面。 支持 XML-DATA 模式。 能够使用 HTTP 访问 SQL Server2000。 可通过统一资源定位 URL(Uniform Resource Locator)访问 SQL Server2000。 Microsoft SQL Server 2000 OLEDB 提供程序(SQLOLEDB)可以将XML 文档设置为命令文本并以流的形式返回结果集。 可检索、操作 XML 数据。(3)Internet 集成SQL Server 2000 具有构成大型 Web 站点的数据存储组件所需要的可伸缩性、安全性和可用性。SQL Server 2000 可与 Windows DNA 和 J2EE(Java2 Enterprise Edition)等分布式构架集成,用以开发 Web 应用程序。它还支持 English Query 和 Microsoft 搜索服务等功能,这样在 Web 应用程序中包含了友好的用户查询和强大的搜索功能。(4)可伸缩性和可用性同一个数据库引擎可以在不同平台上使用,如 Windows98/2000/XP/2003 等,SQL Server2000 企业版还支持搜索引视图、联合服务器和大型内存等功能,使系统可以升级到最大系统所需的性能级别。(5)使用简便使用简便是 SQL Server 2000 的一大特点。SQLServer2000 易于安装、部署、使用,它包括一系列管理和开发工具,如企业管理器、查询分析器等,这些工具可以使部署、管理和使用 SQL Server 2000 变得简便好用。(6)数据仓库SQL Server 2000 包括析取和分析汇总数据以进行联机分析处理(OLAP)的工具。SQLServer2000Analysis Services 提供联机分析处理(OLAP)技术,用以组织大量的数据仓库数据供客户端进行快速分析,并提供先进的数据挖掘技术以分析和发现数据仓库数据内的信息。SQL Server 2000 中还包括一些工具,用来直观地设计数据库并通过 English Query 来分析数据。English Query 是用于创建客户端应用程序的开发工具,使客户端应用程序可以将英语转换为SQL 语句以查询关系数据库,或者转换为多维表达式(MDX)语句以查询 OLAP 多维数据集。2.3 软件开发语言:C#2.3.IC#面向对象语言C#是一种现代的,类型安全的,面向对象的编程语言一套全新的程序语言,它不但简单易用同时功能强大。如同 C+十是继承自 C,C#的基本语法是等同于C/C+。它不但是一套面向对象的程序语言,同时它可应用于 Web-Based 环境及分布式的网络作业环境。从程序语言的角度来看,C#也是相当先进的,它具有一些 C/C+所欠缺的内存自动管理、Type Safe 等特性。在使用上其目标在于兼具 Visual Basic 的简单易用,及 C/C+所具备的弹性。不但能将开发时间缩短,同时功能更强大、更稳定。目前 Microsoft 已经将 C#交付给产业标准制定组织“欧洲计算机厂商协会(ECMA)” 。有一种说法是:“C/C 料功能强大,但难以驾御。Visual Basic 简单易用,但功能有限。C#的目标就是要定位在上述两者之间,兼具 Visual Basic 的简单易用,及 C/C+所具备的功能。2.3.2 C#语言和 C/C+料语言的关系严格来讲 C#并不是衍生自 C 或 C+十。C#是基于一种全新的策略下,诞生的一个全新的程序语言。但在语法上的确有许多地方和 C/C+相似,对 C/C+的程序设计者而言,将可以比较容易接受与学习这个全新的语言。另外,C#和 C/C+十不同之处在于,C#设计的时候将一些先进的程序语言特性也都纳入其中,例如,内存的自动管理及 Type Safe 等。这对 C/C+十的程序设计者来说是件很新鲜的事情,但对精通 Java 的程序设计者来说,这却是再熟悉不过的了。所以简单地讲,C#可以兼顾来自 C/C+及 Java 两种程序设计者的需求!” 。2.3.3 C#的特性C#的原程序代码,可经由编译后在 Common Language Runtime 中运行。同时它可以使用 Unified Class Libraries 类库,加速应用程序的开发。C#语言若单从程序语言的角度来看,有以下的特点: 简单:和 C/C+比起来,C#可算是一个很简单的语言。因为在 C#中没有指针,所以您就减少了内存配置错误的情况,同时也不用再去担心弄错“:” 、“.”及“一”的使用,在 C#中只要一个“.”就可以了。另一方面,由于 C#支持内存管理及垃圾回收,所以对程序设计者而言,犯错的机会又少了一个。 先进:C#由于开发较其他程序语言晚,所以在技术上也相对 C/C+占优势。例如 Exception(异常)处理、内存自动管理功能等。 面向对象:C#是面向对象的程序语一言。 类型安全:对于类型的检查、转换等,C#不会进行可能不安全的操作。 强大的命名系统:使用命名系统,可以解决名称冲突的问题,就算有两个资源相同的名称,我们还是能视为不同的两个资源。 整合性:可以轻易地将 C#程序和 COM 或是由其他语言所写的程序进行整合,像是 C/C+语言。2.4 ASP.NET 网络编程技术 2.4.1ASP.NET 概述ASP 是 Microsoft 推出的 Web 应用程序开发技术,它是一个服务器的脚本环境,它能够把 HTML 页、脚本命令和 ActiveX 组件有机的组合在一起,生成和运行动态的、交互的、高性能的 Web 服务器应用程序。用户浏览器从 Web 服务器上请求.asp 文件时,ASP 脚本开始运行,并将 web 页传送给浏览器。ASP 提供内建对象,这些对象使用户更容易收集通过浏览器请求发送的信息、响应浏览器以及存储用户信息。ASP 中的主要内建对象有:Application,Request,Response,Server 等。ASP 可以通过多种方法实现对数据的访问。ActiveX Data Objects(ADO)是一座连接 ASP 应用程序和数据库的桥梁,通过 ASP 内建的 Database Access 组件能够轻而易举的通过 ADO 访问存储在服务器端的数据库或其它表格化数据结构中的信息。ASP 对数据库的访问,首先浏览器向 Web 服务器发出请求,如果浏览器所要下载的不是 ASP 文件,则直接下载;如果是 ASP 文件服务器会自己解释 ASP 文件中的 Script 段,而把其余部分交给用户执行。若执行中的 Script 程序使用了 ADO 对象,则 Web 会根据 ADO 对象设置的参数来启动对应的 ODBC 驱动程序,而启动 ODBC 驱动程序之后,程序可以直接利用 ADO 对象来访问数据库,或通过A 工 X)对象来发送 SQL 指令,进而达到存取数据库的目的。访问原理如图 2.3所示。图 2.3 ASP 访问 Web 数据库的工作原理2.4.2 ASP.NET 的优势ASP.NET 是一个统一的 Web 开发平台,它提供开发人员创建企业级 Web 应用程序所需的服务。尽管 ASP.NET 的语法基本上与 ASP 兼容,但是它还提供了一个新的编程模型和基础结构以提高应用程序的安全性、缩放性和稳定性。通过基于 NET 平台的选课系统的研究与实现逐渐向现有的 ASP 应用程序增加ASRNET 功能,我们可以自由地使其增大。ASRNET 是一个编译的、基于.NET 的环境,我们可以用任何.NET 兼容的语言(包括 VB.NET,C#.NET 和 J#.NET)创作应用程序。另外,整个 Microsoft Framework 可用于任何 ASP.NET 应用程序。开发人员可以很容易地从这些技术受益,这些技术包括管理的公共语言运行库环境、类型安全、继承等。ASP.NET 具有以下几个重要的优点:(l) 由于 ASP 页面每次打开都必须经过先编译后解释的过程,所以页面在反复打开时速度没有任何提升,而 ASP.Net 页面只需要一次编译后不需要重新编译,直到该页面被修改或 W 亡 b 应用程序重新启动。这使得在多次访问时速度有了极大的提升。(2) 由于 ASP 没有提供任何输出数据为内容的元件,所以在使用 ASP 撰写数据库页面时能借助 ADO 的 Record Set 对象逐条读取记录,而 ASR.Net 通过ADO.Net 提供的 Data Grid 等数据库元件可以直接和数据库联系。(3) ASP.NET 支持应用程序的实时更新。管理员不必关掉网络服务器或甚至不用停止应用程序的运行就可以更新应用文件。应用程序文件永远不会被加锁,因此甚至在程序运行时文件就可以被覆盖。当文件更新后,系统会温和地转换到新的版本。(4) ASP.NET 采取“Code-behind”方式编写代码使得代码更易于编写,结构更清晰,降低了系统的开发与维护的复杂度和费用。2.4.3 ADO 编程技术在过去的很多年里,微软不断地推出很多数据访问技术,首先是 Data Access Objects(DAO),然后是 Remote Data Objects(RDO),现在是 Active Data Objects(ADO)。看起来微软随着 Microsoft Visual Studio 每个后续版本的推出,都会推出一种不同的数据访问技术。现在,新版本的 ADO 已经出现在微软的 Web 站点上了,并且连同其他的产品和技术一起发行,诸如Microsoft Windows2000/XP/2003,Microsoft Office 2000/2003/2007, Microsoft Internet Explorer6 及更新版本,Microsoft SQL Server2000 以及 MierosoftExpediaStreets&Trips2000。ADO 的目标之一是简化数据访问。ADO 建立在一些相当复杂的技术之上,如 OLEDB 和 ODBC,并且是为了能够对存放于很多种不同种类的数据库中的数据以编程方式进行访问和修改而设计的。正是这种更为广泛的访问范围,使 ADO 有别于以前的数据访问技术。大家都热切地盼望一种数据访问技术,它能够把 DAO 的简单性和使用上的方便性与 RDO 的速度、能力和控制相结合。而最初作为 Microsoft Internet Information Server 软件包一部分出现的 ADO,正是希望成为对于所有人都适合的技术。ADO 是基于组件的数据库编程接口,它是个和编程语言无关的 COM 组件系统。它与程序语言无关,与数据提供者无关,并允许对底层 OLEDB 接口进行访问,并且支持基于客户机/服务器的 web 数据库应用。ASP 通过 ADO 调用 OLEDB访问 MS SQL Server 的过程参见图 2.4 所示。图 2.4 ASP 通过调用 OLEDB 访 MS SQL ServerADO 的对象模型为层次结构,其中每个 Connection,Command,Record Set,Field 对 Pro 集合。主要的 ADO 对象有 3 个:Connection,Command 和Record Set 它门还包括许多子对象:例如 Field,Property,Parameter 等。Connection 对象:提供对数据库服务器的连接;Command 对象:对数据库服务器提供数据查询;Record Set 对象:由数据库服务器所返回的记录集合。它们之间的结构如图 2.5 所示。图 2.5 ADO 的层次对角模式(l)连接到数据源 (Connection),并可选择开始一个事务。(2)可选择创建对象来表示 SQL 命令 (Command)。(3)可选择在 SQL 命令中指定列、表和值作为变量参数 (Parameter)。(4)执行命令(Connection,Command 或 Record Set)。(5)如果命令按行返回,则将行存储在缓存中 (Record set)。(6)可选择创建缓存试图,以便能对数据进行排序、筛选和定位(Record Set)。(7)通过添加、删除或更改行和列编辑数据 (Record Set)。在适当情,使用缓存中的更改内容来更新数据源 (Record set)。(8)提供常规方法检测错误。如果使用了事务,则可以接受或拒完成事务期间所作的更改。(9)结束事务(Connection),关闭到数据源的连接。第 3 章系统总体设计3.1 网上选课系统功能需求 网上选课系统的开发目标是,彻底改变平顶山教育学院原来的耗时多、耗工多、误差大的传统的选课模式,实现一个基于网络应用平台的易用、快捷的教务管理系统,并通过该网上选课系统,让教学资源和信息能更有效的为教学服务,从而结束学院教务管理人员、学生在每学期选课时期一系列繁琐的工作。网上选课系统的总体建设要求是实现选课网络化、信息共享化,包括教师申报课程,学生选择公共课程、浏览课程信息,教务管理人员为课程分配上课时间、地点,管理学生选修学分等,同时可以实现课程表打印、成绩查询打印等功能。结合网上选课系统基本功能需求和学校的一些特殊需要,将网上选课系统功能需求总结如图 3.1 所示。图 3.1 系统功能需求图3.2 系统架构设计 该系统采用的是 B/S 架构,使用 C#语言进行的 Web 开发,其系统基本架构图如图 3.2 所示。图 3.2 系统架构图View 层即系统视图层,用户通过该层与系统进行交互,是获取功能的入口。数据由此处传递到后台进行处理,而从后台发来的数据则在视图层中显示给用户。Control 层即控制层,其功能包括:解析从视图层传递来的数据,调用相应操作的 Action。Link 层即连接层,是响应 control 层对数据库的操作,通过 Web.config中定义的配置节来连接数据库,从而实现对数据库表的操作。用户进行操作过程是,首先,用户与系统的交互是通过视图层进行的。用户在系统视图层的 aspx 页面上查看信息并进行一些操作,当用户的操作涉及到访问后台时 aspx 页面会执行 aspx 对应 cs,调用相应的 Action 并将并将相关数据传递过去。到达 Link 层,通过连接字符串获得数据库的连接,实现对数据库的操作。最后再将数据按照向下传递的相反方向传递回到页面上显示给用户。这就是用户在进行操作时的过程,也就是系统功能的具体实现过程。 3.2.1 总体结构设计经过对几种网上选课系统实现技术的对比,以及对 B/S 应用系统的几个实现平台的对比,同时考虑了学校的具体情况和软硬件条件后,决定选用微软的.NET Framework2.0 作为系统的实现平台。架构于.NET2.0 平台,使得系统具有良好的性能和可扩展性,同时系统使用了 ADO.NET 等先进成熟的技术,从而保障系统的可维护性、技术先进性、以及使用灵活性。总体分为三层:用户表示层、中间层和数据库层,其中,中间层又分 Web 层、业务逻辑层和数据访问层,如图 3.3:图 3.3 总体架构图(l)用户表现层:表现层用于用户接口的展示,以及用业务层的类和对象来“驱动”这些接口。在 ASP.NET 中,该层包括 aspx 页面、用户控制、服务器控制以及某些与安全相关的类和对象。(2)中间层:中间层又包含了 Web 层、业务逻辑层以及数据访问层。a)中间 Web 层:用来响应用户的请求,使用 ASP.NET 技术,实现与业务逻辑层的通信,同时将业务逻辑层处理后的数据返回给浏览器,呈现给用户。b)中间业务逻辑层:用于访问数据层,从数据层取数据、修改数据以及删除数据,并将结果返回给表现层;用来完成所有的业务功能,同时可以通过 Web 层与用户进行交互,也可以通过数据访问层与数据库进行通信,简化了 Web 层的代码编写。c)中间数据访问层:用来为业务逻辑层提供统一的数据访问接口,简化了业务逻辑层的代码编写。在 ASP.NET 中,该层包括使用 SQL Client 或 Ole Db 从SQL Server 或 Access 数据库取数据、更新数据及删除数据,并把取得的数据放到 Data Reader 或 Dataset 中返回给表现层。返回的数据也许只有一个整型数字,比如一个表的行记录数目,但这也要用数据层的数据进行计算。(3)数据层:数据层是采用大型关系型数据库管理系统完成数据的存储和处理。在.NET 中,通常它是一个 SQL Server 或 Access 数据库,但不仅限于此两种形式,它还可能是 Oracle,my SQL,甚至是 XML。3.2.2 模块设计根据需求分析所得,本系统主要实现的是管理员模块、教师模块、学生模块。图 3.4 系统功能图(l)管理员模块:主要包括以下四个子模块,分别是信息管理、课程管理、成绩管理、修改资料,如图 3.5 所示。在以上四个子模块中,又可以实现上图所示的七项功能。图 3.5 管理员模块功能图信息管理:在学生管理中,可显示当前系统中的所有学生信息,并提供修改和删除链接;可向系统中添加新的学生信息;可以按学生、学号等查找学生(查找功能可以扩展);在教师管理中,可显示当前系统中的所有教师信息,并提供修改和删除链接。在课程管理中可以显示教师申报的所有课程。在公告管理中,可以修改系统登录页面上所显示的公告信息。图 3.6 信息管理活动图成绩管理:可以查看系统中的所有学生的考试信息;调用查询学生界面,用过各种方式查询到学生后对该学生的成绩进行添加。课程管理:在课程管理中,可以显示所有课程的信息,并提供排课或修改课程信息和删除链接操作,如果拒绝教师申报的课程,则点击删除操作,否则进行排课或修改课程操作。图 3.8 管理员课程管理活动图资料修改:可以修改管理员的登录密码;可以添加系统管理员(2)教师模块:主要包括以下四个模块,分别是信息查询、申报课程、成绩管理、资料修改。在以上的四个模块中,就可以实现上图所示的五项功能。图 3.9 教师模块功能图查询信息:可以查询学生信息、课程信息申报课程:可以申报所要开设的课程,填写申报课程信息表。在等待管理员审核过程中,教师可以进行查看或修改课程信息等操作。 图 3.10 教师申报课程活动图成绩管理:添加学生考试成绩。图 3.11 教师成绩管理活动图资料修改:修改个人信息等。(3)学生模块:主要包括了选报课程、成绩查询以及修改资料三个模块。图 3.12 学生模块功能图1) 选课:所有可选课程的信息;显示当前用户所有的已选课程。图 3.13 学生选课活动图2) 成绩查询:显示当前用户的所有考试成绩信息。3) 修改资料:修改用户密码,可以修改当前用户的登陆密码。3.2 系统详细设计根据系统分析的结果,按照结构化的系统设计方法,对各功能实现过程情况进行下列论述。3.2.1 功能模块设计结合模块设计分析,系统主要实现的三个模块:管理员、教师、学生功能模块设计如下:(l)管理员模块主要包括用户信息管理维护、课程管理功能。用户信息管理维护在这个子模块里实现的功能需要包括添加系统用户、删除系统用户和修改系统用户三个功能。管理员在登录系统后,可以在导航栏看到自己可操作的功能列。当管理员通过点击教师或学生管理按钮,进入管理页面,从而能实现添加用户的功能。以下分别是管理员添加、修改和删除系统用户的功能描述。添加用户功能描述如下表 3.1 所示:表 3.1 添加用户功能描述修改用户信息功能描述如下表 3.2 所示:表 3.2 修改用户功能描述删除用户功能描述如下表 3.3 所示:表 3.3 删除用户功能描述以上三个功能即是管理员对用户信息管理维护模块的主要功能,通过这些功能,可以实现对系统用户信息的操作。课程管理在本模块里,需求为管理员登录到系统后,可以针对指定的教师,对已经通过并达到选课人数要求的课程安排上课时间、地点。同时对不满足要求的申报的课程进行删除工作。课程功能描述如表 3.4 所示:表 3.4 课程管理功能描述(2)教师模块主要包括修改个人信息、申报课程、成绩管理功能。修改个人信息教师登录到系统后,可以修改自己的账号默认的密码,确保账号的安全性。修改个人信息功能描述如下表 3.5 所示:表 3.5 修改密码功能描述申报课程此功能是教师模块中最重要的功能,当教师登录到系统后,选择添加课程,会进入添加课程页面,根据学校分配的课程号,进行课程申报。同时完成对课程简介的录入。申报课程功能描述如下表 3.6 所示:表 3.6 中报课程描述成绩管理每学期课程结束,教师登录到系统后,可以对选报该课程的学生进行成绩管理。成绩功能描述如下表 3.7 所示:表 3.7 成绩管理描述以上即为教师模块所实现功能的描述,通过这些功能,可以是教师完成对自己和主讲课程信息以及学生成绩的操作。(3)学生模块

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论