128 福建 电脑 2007年第7期 B/S模式下用ASP.NET实现选课系统 廖志芳.黎红 (中南大学信息工程学院广东广州421001) 【摘 要】:简要介绍了选课系统的概念,论述了B/S模式下用ASP.NET实现选课系统的方法,阐述了实现此系统所沿 用的技术,对选课系统中的冲突问题进行了详细的解说,并用类PASCAL语言进行了算法实现,对开发中不断用到的存储过 程技巧进行了描述,实现了选课、查询、修改等的功能。 【关键词】:选课,ASP.NET,存储过程,B/S l_前言 计算机技术和网络技术的迅速发展.教育体制改革的不断 深入.以及高校规模的扩大的校园网络环境的组成。使得高校的 各个部门都面临者如何更好地利用现代化管理手段.来提高管 理的水平.效率和思想。 高校以教学和科研为主.目前高校大部分采用学分制体制。 学分制是一种以学分为计量单位衡量学生学业完成状况的教学 管理制度。学分制和选课制相伴而生,学分制以选课制为基础, 选课制为学分制的必要条件.因此选课子系统是学分制教务管 理系统的核心。选课系统一方面要能提供灵活的选课方式,全面 实现在课程安排及课程层次上由学生自主选择.另一方面又要 能根据各专业的课程设置要求.引导学生进行选课,以确保选课 的数量和质量。 1.1选课系统的系统简介 学生在导师或班主任的指导下 在规定的时间段按照本专 业的教学计划和各系公布的开课计划进行选课。选课系统模块 结构图 首先.学生用自己的帐号和密码登录系统,在开始选课栏开 始选课.选中学院公开的课程名称,如果该生所选的课的上课时 间不与该生的课表冲突而且该课程没有先修课的限制.则会选 课成功;在整个系统里。学生可以随时查询选课情况,同样也可 以在自己选课成功后查询已选课情况.还可以对自己所有课程 的成绩进行查询.因为我校实行的是学分绩点制:每学期末考试 后.任课教师按以下原则为班上的同学评定成绩:A等优秀学 生;B等良好学生;C等中等学生;D等合格学生;F等不及格学 生。每一成绩等级。其所获得的学分有相应的分值,分别是:A等 4分。B等3分,C等2分,D等1分,F等为不及格,不能取得学 分。而学生的GPA值必须达到规定的要求,学生才能毕业。它们 的规定及计算方法如下: 等级 A A- B+ B B. C+ C C_ D+ D F 绩点 4,0 3.7 3.4 3 2.7 2.4 2 1.7 1.4 1 O GPA=∑(学分¥绩点)/∑学分 所以.学生可以根据自己具体的成绩情况而合理地选择课 程。同样.学生也可以在系统中更改自己的密码。给管理人员留 言.以达到安全和交互的目的。 1.2选课系统的系统结构 根据对选课具体情况的分析,可以认为处理这些问题时存 在两种流程.其一是学生选课时与系统的交互流程;其二是数据 的后台处理流程。这两个问题的不同处理方案会造成数据的拥 赛或者学生选课时速度超慢。而达不到高效、准确的目的。解决 这个问题的关键方法就是采用合理的系统结构。 系统结构是系统设计的一个关键因素 它决定了系统各个 部分如何进行交互.同时决定了各部分的功能。本系统采用的就 是分层式体系结构。粗略地说,所谓分层式体系结构(1ayered arehitecture).是按层组织软件的一种软件体系结构,其中每层的 软件建立在低一层的的软件层上。位于同一层上的诸多软件系 统或子系统.具有同等的通用度,低层的软件比高层的软件更有 通用性,一个层次可视为同等通用档次的一组(子)系统。所以, 在分层式体系结构中,最高层应是应用系统层,可包容诸多应用 系统.次高层是构件系统层,可包括多个构件系统,用于建立应 用系统.应用系统建立在构件系统层之上,而这个构件层中的诸 多构件系统又可建立在更低层次的构件系统之上。具体而言即 是三层软件结构,见图二。三层分别是表示(BROWSER)层、功能 (WEB SERVER)层和数据库服务层(DB SERVER)。表示层只提 供应用程序的用户界面,负责与用户交互,根据用户操作调用相 应的业务逻辑而不是直接访问后台数据库.功能层是应用系统 的关键,它负责处理所有用户请求,进行具体的运算,并把处理 结果返回给表示层;数据服务层提供数据库支持。通过这种方 案.能够快速开发出比传统两层结构效率高、安全性好的系统。 页面请求 数据请求 -----・—----- -----・—----- ●}- —--——-—--一 ●}- —--——-—-_一 页面应答 数据应答 Browser Web Server 2.选课系统的实现 数据服务层在数据服务器上采用SQL Server 2000作为后 台数据库管理系统.在数据库中建立Currenteourse、Course、Stu— denteOUrse、Major.Courseplan、Coursetype等数据表,并建立已选 课人数等视图.建立showonecours ̄(给定一个选课码,显示该选 课码代表的课程情况)、tbstudcour2(单个学生选课信息)、 .tb studseore2(获取某个学生选修课程的成绩)、addstudent- c0uI弓e2(根据学生ID和选课ID添加选课表中学生课程)等大量 存储过程.将对数据表的访问、查询、修改及对冲突和先修课程 的处理等封装在存储过程中.极大地提高了数据操作的效率和 安全性 完全做到肥服务器、瘦客户机。 采用ASP.NET技术.运用”code—behind”方式编写代码。 ASP.NET是Microsoft公司的一项崭新技术,用于创建服务器端 的Web应用程序。是在服务器上运行的编译好的公共语言运行 库代码。与被解释的前辈不同,ASP.NET可利用早期绑定、实时 编译、本机优化和盒外缓存服务。代码被编译执行相比被解释执 行.ASP.NET页面性能显著提高。它基于公共语言运行库,它支 维普资讯 http://www.cqvip.com
2007年第7期 福建 电脑 129 持微软开发的主流编程语言(例如,Visual Basic.NET、C#、膊 修课程47;将查找,判断等大量工作放在存储过程中,利用存储 等等),所以开发人员可以选用自己最熟悉的语言来进行研发。 过程的返回值”more…’before-..・伽”等来决定网页的去向.是一种 本系统沿用的就是C#。用DLL封装逻辑代码.使代码的安全性 典型的瘦客户端肥服务器端的做法,实践证明非常高效。 更高 借助内置的Windows身份验证和基于每个应用程序的配 如在存储过程使用: 置,可以保证应用程序是安全的。 3.具体的设计 在整个的选课系统中.最关键的就是解决学生选课中的两 if(@totalcredit+@nowcredit)>26 begin select more return 大问题:一个是该学生的课表与他所选课的上课时间冲突问题; 个是该生所选的这门课存在先修课的问题.也就是说要选修 一end 在WEB源程序中使用: if s==”deal”) 这门课首先必须修完先修课。 3.1所选课程的上课时间与学生本人上课时间冲突的问题 showmessage(”[“+coursename+”】选课成功”); if s一“already”) 首先设计非常合理的上课时间的数据结构.用数字表示星 期,用字母表示上课节次;如:1AIB2A2B,表示周一第一、二节, showmessage(”[--4-coHrsename-F”】已经选过“ if s==”full”) showmessage(”[”+coursename+”】已经满人“); if s==”more”) 周二第一二节,设定冲突识别变量,如timejudge,为1表示冲突。 算法如下: Integer:.ehoosefime Inpur.dr2={classtime。classname} Procedure 结束语: While £Empty(dr2))D0 Ctime:=ehangetostrlng(dr2(clasgdme)) Stden:=eatehlength(choosetime) Forj: to strlen-2 stepj+2Do onetime:=substifng(ehoosetimej。2) ex:=compare(etime,onetime) if(ex!=一11 showraessage(“冲突”1 timejudge=I//ltrJ'l ̄冲突标志 break EndIf EndFor EndW ne EndPrec 本系统采用三层B/S系统体系结构,运用ASP.NET技术, 充分发挥SQL Server的强大功能,将大量处理放在存储过程,从 而使WEB编程简单、高效,整个系统瘦客户端肥服务器端,基本 解决了短时间内大量用户同时访问而造成的网络拥塞.从而降 低访问速度的问题。从2003年投入使用至今,运转情况良好,获 得师生的一致好评,具有较强的实用性,有推广价值。 参考文献: 1.(asp.NET编程百例》人民邮电出版社 2.(ASP.NET技术内幕》 机械工业出版社朝晖等译 ( ̄)Stephenwa1dler/马 3.《透观ASP.NET(使用c抖)》台科大王有檀教授 4.《sQL Server 2000管理反应用系统开发》人民邮电出版社 李晓轱 张晓辉李祥胜 3.2先修课程问题 5.(SQL Server 2000存储过程与XML编程》(美)Dejal1 Sunderic【译者】 首先设计合理先修课程preid的数据结构:采用以圆括弧开 陈浩奎谢傻石朝江清华大学出版 P与网络体系结构》作者:WestNet Learning Technologies著 始,#号结束的方式,中问填写课程号的方式。如(47 ,表示有先 6.(TCP/I马凯译清华大学出版 (上接第154页) 管理系统.重点实验室和研究所等资源等。使所有的教学信息通 过统一的平台进行发布.并提供强有力的资源搜索方式。使用户 能快速有效地搜寻到所需信息。 (4)硬件防火墙隔离服务器群和内外用户.保障服务器的安 全.减少了服务器被攻击和入侵的机率。 (5)对于校外用户共享校内教学资源。采和 ̄PN来解决这 个问题。VPNm f虚拟专用网1是部署于公共网络基础设施中的一 种网络 它使用和专用网络相同的安全性、管理以及服务质量策 略。公网用户只要通过安装CISCO YPN客户端软件。就可以访 问学校的资源.十分方便快捷。 f6)访问服务器身份认证通过ACE,Senrerf31完成。当用户试 4.结论 发展网络教学的最终目标是要实现教育方式和教学模式的 变革.为素质教育营造一个良好的平台。网络教学资源管理系统 的建设是为了更好地为网络教学服务.推动网络教育迈上更高 层次 网络教学服务平台在校园网上的应用加强了学校教学资 源的整合.提高了网络教学资源的使用率,开创了网络教学资源 的一种新的管理模式.实现了对网络教学资源科学的、标准化的 管理 但是现阶段只完成了网络资源管理系统的基本功能,管理 系统的建设是一个长期的工程。是分阶段进行的。我们将在今后 随着校园信息化的逐步深入.过一步完善网络教学资源管理系 统.使之更好地为教学科研以及广大师生服务。 图访问受保护的系统时.连接设备中内置的专用代理软件(ACE/ 参考文献: Agent)将启动一个ACE/Server认证会话,而不是基本密码会话。 1.项聪.骆雪超.网络教学资源共建共享的探索与实践ⅡJ.中国远程教育 在强大的认证会话中.用户需要输入用户名及由SecurID认证 o):51—53 设备生成的用来代替密码的令牌代码,外加一个PIN号码,由代 2005(1VPN与网络安全【M1.北京:电子工业出版社,2002: 理软件传输给ACE/Server.如果信息有效,ACE/Server将允许用 2.唐三平,戴云霞.10-150 户访问。用户将被授予与其通行证等级相对应的访问权限,反 3.微软公司.通过ILSA SecurID身份验证对VPN客户端进行身份验 之,则拒绝登录。从而为远程用户访问内网提供了极为安全的方 证.http://www.microsoft.com/china/technet/prodtechnol/isa/2004/plan/ 式 vpnI乩.mspx
因篇幅问题不能全部显示,请点此查看更多更全内容