已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科论文初稿范文 嘉应学院毕业设计题目基于ASP.NET的网络课堂系统申请学位工学学士系别计算机科学与技术专业计算机科学与技术学生姓名李建新学号2031111106导师姓名罗予东xx年5月19日网络课堂系统I中文摘要二十一世纪以来,随着宽带的家庭化和普遍化,网络被运用到许多全新的领域,课堂也不例外。 传统的教育模式已经明显地不适应时代的要求,网络教学便应运而生。 在互联网日益发展的今天,借助网络来进行学习的人群越来越多,网络学习不仅可以为在校学生提供一个吸收课外知识的空间,更能为那些工作中的人提供一个补充知识的平台。 所以建立一个能够真正发挥在线学习的网站已经是我们的迫切需要。 本系统针对目前的在线学习系统出现的普遍性问题,设计了在线上课、举手发言、在线报名、我的书桌、电子商务和后台管理六个模块,基于B/S方式,学员可以随时随地学习;提供了SQL Server版供用户使用;对学员客户端硬件条件无任何要求;内置电子商务模块,让学员交学费变得简单,轻松;采用皮肤模板呈现技术,让学习界面随时改变,通过上述改进本系统具有更快的速度、更强健的安全性和更优越的稳定性。 从我国的现实情况看,二十世纪的教学模式基本上都是以教师为中心。 这种模式的优点是有利于教师主导作用的发挥,便于教师组织、监控整个教学活动进程,便于师生之间的情感交流,因而有利于系统的科学知识的传授,并能充分考虑情感因素在学习过程中的重要作用。 其严重弊病则是完全由教师主宰课堂,忽视学生的主体认知作用,不利于具有创新思维和创新能力的创造型人材的成长(按这种模式培养出的绝大部分是知识型人材而非创造型人材)。 因此网络教学势必成为现代教育的发展趋势,而建设一个功能强大,安全性好网络课堂系统便是网络教学的必由之路,也是解决现代教育弊病的根本方法。 本文讲述的是如何定制一个面向教师和学生的网络课堂系统,系统开发的主要任务是实现与在线课堂学习相关的各种信息的系统化、规范化和自动化。 网络课堂系统0第一章网络课堂系统概述1.1系统开发背景xx年被称为中国网络业的“宽带年”。 中国电信、中国联通等基础运营商在全国的骨干网建设上投下巨资,宽带“最后一公里”成为目前竞争的焦点,其接入热潮已经在全国各大城市兴起,宽带建设正在上演一幕“圈地运动”。 以教师为中心的教学模式在教育事业中的作用确实是不可磨灭的,但其严重弊病在于它在学习理论方面的基础是行为主义。 这种教学模式长期统治我国各级各类学校的课堂就使行为主义学习理论在我国各级各类学校中有着根深蒂固的影响。 网络教学作为现代信息技术与教学实践科学结合的一种新的教学形态,不仅从手段和形式上改变了传统教学,更从观念,过程,方法以及师生角色诸多深层面赋予教学以新的含义,而这一切,都源于网络教学所具有的三个基本特性:老师劳动的创造性、知识信息的整合性、教学过程的合作性。 因此,网络课堂系统的开发正符合广大师生的迫切希望。 1.2系统描述网络课堂系统是一个面向教师和学生的系统,系统以学生为核心,提供尽可能多的人性化功能,比如学生的星星数提醒,学生课室剩余时间提醒等。 系统采用面向对象设计,将数据库操作封装在类中,使得程序结构清晰并易于维护。 同时系统采用界面与业务逻辑分离的四层架构,将业务逻辑封装在组件中,使得系统的安全性、可靠性、重用性和扩展性都大大提高。 1.3系统任务系统开发的总体任务是实现与在线课堂学习相关的各种信息的系统化、规范化和自动化。 为学生提供了一个高效率、高质量的在线学习方式,解决了传统教学模式的弊病,使教学的发展进入了一个新的阶段。 1.4系统目标网络课堂系统开发的主要目标1提供安全、友好的操作环境。 2实现与在线课堂学习相关的各种信息的系统化。 3实现与在线课堂学习相关的各种信息的规范化。 4实现与在线课堂学习相关的各种信息的自动化。 5提供一个高效率、高质量的在线学习方式。 1.5系统工作原理本系统采用数据库存储、数据库访问、业务逻辑、用户界面相互独立的四层架构设计,它的工作原理如图1-1所示用户界面层业务逻辑层数据存储层学生发出请求数据库界面组件返回请求信息返回数据图1-1系统工作原理图1.6系统特点网络课堂系统具有如下特点?四层结构设计本系统采用四层结构设计,即程序逻辑结构分为用户界面层、业务逻辑层、数据库访问层、数据存储层。 各层在实际的物理结构上也是相互独立的。 业务逻辑与数据库访问、用户界面与业务逻辑分离,使系统的安全性、可维护性、重用性和扩展性都大大提高。 ?面向对象设计系统将学生、教师等都封装成类,同时每个类都有自己对应的集合类,从而提高了对数据库操作的安全性的程序的可扩展性。 ?更优越的稳定性由于采用B/S,所以只要你的电脑拥有一个浏览器(推荐IE5.5以上)即可使用此系统。 系统在客户端的稳定性表现,80%由服务器性能所决定,再不必考虑旧时C/S安装方式给客户端性能所设的障碍了。 ?更快的速度微软最新产品的ASP.Net语言(C#),如果你听说过ASP,那请您不要说ASP.Net是ASP的升级版本。 事实上,ASP.NET跟ASP是完全不同的概念,它们的执行原理是不同的。 ASP提供的仅仅是服务器的解释;而ASP.NET则还具有编译的功能,网络课堂系统网络课堂系统数据访问层访问数据库其高速缓存让您在网络上的访问速度大大提高。 1.7系统亮点?基于B/S方式,学员学习随时随地。 学员不受地域,时间的限制,随时随地,无论你在出差、外出还是游玩,你都可以访问互联网,打开浏览器,就可以进行学习,不用安装客户端。 ?对学员客户端硬件条件无任何要求。 ?内置电子商务模块(此模块尚在建设中),让学员交学费变得简单,轻松。 学员可以在线选课,然后提交在线报名单。 而课室代理商即可根据会员提交的报名单进行课室的开通处理。 分“上月”、“本月”、“全部”收入统计。 网络课堂系统0第二章网络课堂系统可行性分析2.1可行性分析网络课堂系统的实现是分阶段,一步一步完成工作的,采用模块功能的设计方案。 2.2技术可行性本系统涉及的关键技术是ASP.NET2.0里的动态建站技术,ASP.NET2.0就像是为动态建站所量身定做的,它具有如下优点?优良的性能ASP.NET在服务器上运行的是经过编译好的代码,与ASP以及其他的技术相比,ASP.NET利用二次编译、代码优化、缓冲服务器来大大提高程序的性能。 ?丰富的工具箱支持在Visual Studio的开发环境中,有丰富的易用控件,通过简单的拖放操作来使用,所见即所得,使快速开发成为可能。 ?强大的功能ASP.NET可以使用.NET框架中功能强大的基础类库;另外,ASP.NET支持通用语言规范(Common LanguageSpecification),可以使用多种语言来实现。 ?程序与页面结构分离ASP.NET实现的动态页面允许把代码和页面结构分离,使逻辑更加清晰,开发者在实现时需要考虑程序的功能。 ?良好的可植性和适用性ASP.NET使用基于文本格式的存储方式。 在开发完成后,只需要将页面和代码拷贝到服务器上就可以使用了,环境配置将不需要任何工具的帮助。 ?超强的扩展性ASP.NET允许开发者开发自己的组件,并使用组件搭建系统。 由上可见,开发本系统的技术已经成熟。 2.3操作可行性本系统在Windows XP及Visual Studio+SQL SERVER2000环境下设计开发,人机界面友好,操作简易。 2.4法律可行性本系统由个人自主开发,版权属于本人,不存在侵犯他人,集体,国家利益等情况。 综上所述,本系统完全具备设计开发条件。 网络课堂系统0第三章网络课堂系统需求分析3.1任务概述通过对网络课堂系统开发的调查与分析,了解了网络课堂系统的软件功能和性能方面的要求,抽象出当前系统的逻辑模型。 3.2系统目标网络课堂系统开发的主要目标?提供安全,友好的操作环境。 ?实现与在线课堂学习的相关的各种信息的系统化。 ?实现与在线课堂学习的相关的各种信息的规范化。 ?实现与在线课堂学习的相关的各种信息的自动化。 ?提供一个高效率、高质量的在线学习方式。 3.3环境需求 1、硬件环境计算机一台(其配置为cpu闪龙2500+,内存512M,硬盘80G,显示卡七彩虹)。 2、软件环境在Windows XP及Visual Studio+SQL SERVER2000环境下设计开发。 3.4功能需求本系统主要有以下功能 1、在线上课功能?讲师在课下制作好课件,存放于服务器。 ?学员可进入相应课室在线观看课件学习(或下载相应资源)讲师上课图3-1“在线上课”示意图本系统采用的是“异步讲授模式”主要是在网上提供教学课件,学生可以在网络课室集中学习,或在计算机单独点播教学课件学习,并可通过计算机网络与讲师和其它同学进行交流讨论。 2、举手发言功能?举手发言分两种普通发言和指定发问。 ?普通发言学员可将自己的感想,学习心得以BBS形式发表?指定发问学员发出的问题将在对应的课室讲师的“桌面”上显示出来,这样学员的问题可以快速得到讲师的解答。 3、在线报名功能?学员在注册一个课堂用户便可登陆系统?浏览课室,点击报名可将报名意向提交到后台,管理员将可以看到(此功能尚在实现中) 4、我的书桌功能?学员的个人信息将在学员自己的“我的书桌”上显示?讲师将在自己的“我的书桌”上看到其它学员的“指定发问”?学员在自己的“我的书桌”上可以看到讲师提供的“指定解答” 5、电子商务模块(建设中)?处理学员的报名单,开通课室?上月,本月,全部的学费收入统计一目了然下载或在线观看动画语音课件“指定发问”与讲师进行学习交流网络课堂系统学生登陆 6、后台管理模块(建设中)?可配置系统的一切功能参数?管理用户、用户组权限?可管理每类课室?对在线课件的管理3.5功能模块图图3-2网络课堂系统功能模块图3.6数据需求学生的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。 收集基本数据、数据结构及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。 ?使用系统的用户分为学员和讲师。 ?不同的用户类型对应不同的页面访问权限。 ?一个用户可以存在于多个课室中。 ?学员有发问的需要,分为普通发言(即发帖)和指定发问。 ?发布最新的教程信息和热门教程的一部分,吸引用户。 ?管理员设置超级和普通,并设置其拥有不同的管理员权限,由于网站后台需要多个管理员,因而对管理员要进行管理。 ?学员可发帖到某课室的论坛,可以留言给管理员,可以发纸条给学员或讲师,还可以回复帖子。 网络课堂系统在线上课举手发言在线报名我的书桌电子商务后台管理课件下载在线观看普通发问课件下载查看讲师解答查看学生发问查看个人信息处理报名单开通课室?管理员可以发布新闻信息。 网络课堂系统0第四章网络课堂系统概要设计4.1系统目标设计网络课堂系统有如下几个目标?实现与在线课堂学习的相关的各种信息的系统化、规范化、自动化。 ?提供友好,安全的操作环境。 ?弥补传统教育模式的不足。 4.2设计思想网络课堂系统设计思想如下?系统采用界面与业务逻辑分离的四层结构,将业务逻辑与数据库访问封装在组件中。 ?系统应该符合网络课堂系统开发的理论,开发方法等依据。 ?系统应满足项目客户相关信息管理的工作需要,并达到操作过程中的直观,方便,实用等要求。 ?系统具备数据库维护功能,及时根据用户需求进行数据库的各种操作。 4.3系统设计流程图网络课堂系统用户相关界面后台管理相关界面在线上课相关界面在线报名相关界面举手发言相关界面我的书桌相关界面公共模块用户管理相关界面课室管理相关界面课室管理相关界面普通管理员相关界面超级管理员相关界面讲师管理相关界面图4-1系统流程图4.4数据设计根据网络课堂系统的需求,规划出用户信息实体,学员信息实体,讲师信息实体,教程信息实体,课室信息实体,课室成员信息实体,管理员信息实体,论坛主题信息实体,论坛回复信息实体,纸条信息,下载资源信息实体,问题信息实体,问题解答信息实体,课程信息实体,学员星星信息实体,学生报名单信息实体。 用户信息实体E-R图如图4-2图4-2用户信息实体E-R图学员信息实体E-R图如图4-3。 图4-3学员信息实体E-R图用户用户ID用户登录名用户密码用户类型学员学员ID学员登录名学员真实姓名学员个人信息讲师信息实体E-R图如图4-4。 图4-4讲师信息实体E-R图教程信息实体E-R图如图4-5图4-5教程信息实体E-R图课室信息实体E-R图如图4-6图4-6课室信息实体E-R图课室成员信息实体E-R图如图4-7讲师讲师ID讲师登录名讲师个人信息教程教程ID教程链接串下载资源ID教程名课室课室ID课室名讲师ID描述图4-7课室成员信息实体E-R图管理员信息实体E-R图如图4-8图4-8管理员信息实体E-R图论坛主题信息实体,论坛回复信息实体,学员星星信息实体,纸条信息实体,下载资源信息实体,问题信息实体,问题解答信息实体,学生报名单信息实体,课程信息实体的E-R图(略)。 4.5数据库逻辑结构设计数据库MyWebClass包含以下16个表用户信息表(User),学员信息表(Student),讲师信息表(Teacher),教程信息表(Tutorial),课室信息表(Class),课室成员信息表(ClassMember),管理员信息表(Admin),论坛主题信息表(Topic),论坛回复信息表(Reply),纸条信息表(Scrip),下载资源信息表(Resource),问题信息表(Question),问题解答信息表(Answer),课程信息表(Course),学员星星数表(Stars),学生报名单信息表(ReportList)。 1、用户信息表用户信息表用来保存学员和讲师的基本信息,如图4-9所示课室课室ID学员ID剩余学习天数管理员管理员ID登录名密码管理员类型图4-9用户信息表 2、学员信息表学员信息表用来保存学员的详细信息,如图4-10所示图4-10学员信息表 3、讲师信息表讲师信息表用来保存讲师的详细信息,如图4-11所示图4-11讲师信息表 4、教程信息表教程信息表用来保存与教程相关的信息,如图4-12图4-12教程信息表 5、课室信息表课室信息表用来保存与教程相关的信息,如图4-13所示图4-13课室信息表 6、课室成员信息表课室成员信息表用来保存每个课室的所有学员,如图4-14所示图4-14课室成员信息表 7、管理员信息表管理员信息表用来保存管理员的相关信息,如图4-15所示图4-15管理员信息表 8、论坛主题信息表论坛主题信息表用来保存与论坛主题相关的信息,如图4-16所示图4-16论坛主题信息表 9、论坛主题回复信息表论坛主题回复信息表用来保存与论坛主题回复相关的信息,如图4-17所示图4-17论坛主题回复信息表 10、纸条信息表纸条信息表用来保存与用户发送的纸条相关的信息,如图4-18所示图4-18纸条信息表 11、下载资源信息表下载资源信息表用来表示与某个教程相关资源下载信息,如图4-20所示图4-20下载资源信息表 12、问题信息表问题信息表用来保存学员向讲师所提问题的相关信息,如图4-21所示图4-21问题信息表 13、问题解答信息表问题解答信息表用来保存讲师对学生提出的问题所作的解答,如图4-22所示图4-22问题解答信息表 14、课程信息表课程信息表用来保存与课程相关的信息,如图4-23所示图4-23课程信息表 15、学员星星数表学员星星数表用来保存学员的星星数,如图4-24所示图4-24学员星星数表 16、学生报名单信息表学员报名单信息表用来保存学员的报名单,如图4-25所示图4-25学生报名单信息表4.6数据库物理结构设计数据库在物理设备上的存储结构与存取方法称为数据库的物理结构。 对于本系统所采用的关系数据库,其物理结构设计的内容主要包括 1、系模式选择存取方法; 2、计关系,索引等数据库文件的物理存储结构。 网络课堂系统数据库由用户信息表(User),学员信息表(Student),讲师信息表(Teacher),教程信息表(Tutorial),课室信息表(Class),课室成员信息表(ClassMember),管理员信息表(Admin)等组成,每一个表由若干个记录组成,而每个记录又由若干个字段组成。 在创建表时,系统自动在表空间中分配一个区间,构成数据段,以存储此表可能的数据,对不同行(记录)中各列(字段)的存储顺序与定义表时所排列的顺序基本相同。 4.6.1数据库的生成与配置经过需求分析和概念结构设计以后,得到数据库的逻辑结构。 现在即可以在SQL SEVER2000数据库中创建数据表,创建好后在数据表中添加相应字段。 网络课堂系统0第五章网络课堂系统详细设计及编码5.1数据访问层的设计数据访问层采用ADO.NET原理设计的,主要是用来建立与数据库的连接,并提供数据查询接口,以方便系统向数据库提取或插入数据。 系统把这一层封闭在一个叫Database.cs的类里面,提高了重用性,安全性,稳定性,具体代码如下/Database类,用于访问数据库/public classDatabase/保护变量,数据库连接SqlConnection对象protected SqlConnectionConnection;/保护变量,数据库连接串protected StringConnectionString;/构造函数,获取数据库连接串值public Database()/TODO:在此处添加构造函数逻辑ConnectionString=ConfigurationSettings.AppSettingsDBConnectionString;/析构函数,关闭连接,并释放资源Database()tryif(Connection!=null)Connection.Close();catchtryDispose();catch/公有方法,释放资源public voidDispose()/确保连接被关闭if(Connection!=null)Connection.Dispose();Connection=null;/保护方法,打开数据库连接/判断是否已经建立了连接,如果没有,则建立新的连接,并将其打开public voidOpen()if(Connection=null)Connection=new SqlConnection(ConnectionString);if(Connection.State.Equals(ConnectionState.Closed)Connection.Open();/公有方法,关闭数据库连接public voidClose()if(Connection!=null)Connection.Close();/公有方法,执行一个非查询(SELECT)类型的SQL命令/Sql语句/是否成功public boolExecuteSQL(String SqlString)bool suess=true;Open();trySqlCommand cmd=new SqlCommand(SqlString,Connection);cmd.ExecuteNonQuery();catchsuess=false;finallyClose();return suess;这里只是略取了一部分代码,代码中的注释已经很详细,故此处不作解释。 5.2业务逻辑层的设计业务逻辑层为数据库中的每个实体(即表)建立一个类,为每个字段建立一个私有成员和属性,并提供了若干方法,用于对数据库进行插入数据或提取数据的操作,更明确的说,业务逻辑层是由15个类组成的。 此处截取一个用户类以作说明,用户类的代码如下/User的摘要说明/public classUser/私有成员private intm_userID;/用户ID private String m_loginName;/用户名private Stringm_password;/用户密码privateStringm_userType;/用户类型学生/老师private Booleanm_exist;/是否存在/属性public intUserIDsetthis.m_userID=value;getreturn this.m_userID;public StringLoginNamesetthis.m_loginName=value;getreturn this.m_loginName;public StringPasswordsetthis.m_password=value;getreturn this.m_password;public StringUserTypesetthis.m_userType=value;getreturn this.m_userType;public BooleanExistsetthis.m_exist=value;getreturn m_exist;/方法/向数据库添加一个用户/用户信息哈希表public voidAdd(Hashtable UserInfo)Database db=new Database();/实例化一个Database类db.Insert(User,UserInfo);/利用Database类的Insert方法插入用户数据/判断是否存在登录名为loginName的用户/此函数,用于在用户注册时“检查用户是否存在”的功能按钮中/用户登录名/如果存在,返回TRUE;否则,返回FALSEpublic staticbool HasUser(string loginName)Database db=new Database();/实例化一个Database类string sql=;sql=select*fromUserwhereLoginName=+SqlStringFormat.GetQuotedString(loginName);DataRow row=db.GetDataRow(sql);if(row!=null)return true;else returnfalse;/更新User信息/用户新哈希表信息public voidUpdateUser(Hashtable newUserInfo)Database db=new Database();/实例化一个Database类/设置SQL的where子句string strCond=where UserID=+SqlStringFormat.GetQuotedString(this.UserID.ToString();db.Update(User,newUserInfo,strCond);/利用Database类的Update方法更/新User表/根据参数loginName,获取用户详细信息/用户登录名public voidLoadData(string loginName)Database database=new Database();/实例化一个Database stringsql=;sql=select*fromUserwhere LoginName=+SqlStringFormat.GetQuotedString(loginName);/利用Database类的GetDataRow方法查询用户数据DataRow dr=database.GetDataRow(sql);/根据查询得到的数据,对成员赋值if(dr!=null)this.m_exist=true;this.LoginName=GetSafeData.ValidateDataRow_S(dr,LoginName);this.Password=GetSafeData.ValidateDataRow_S(dr,Password);this.UserID=GetSafeData.ValidateDataRow_N(dr,UserID);this.UserType=GetSafeData.ValidateDataRow_S(dr,UserType);elsethis.Exist=false;public User()/TODO:在此处添加构造函数逻辑/代码解释用户类是一个公共类,即是同属于讲师和学员的。 它具有Add(),HasUser(),LoadData()等几个方法。 Add()方法是用来向数据库添加一个用户信息;HasUser()方法是用来判断数据库中是否存在某个用户名的用户,它用于在系统登录界面和系统注册界面中;LoadData()方法用来获取一个记录,根据用户的登录名。 5.3数据访问辅助层数据访问辅助层是用来辅助数据访问层的,它封装了两个类,即GetSafeData.cs和SqlStringFormat.cs。 GetSafeData类中,包含一系列从DataRow对象中,安全获取数据的静态方法。 即当数据库中的数据为空时,保证读取不发生异常,它其中的一个方法的代码如下/从一个DataRow中,安全得到列colname中的值,值为字符串类型/数据行对象/列名/如果值存在,返回;否则,/System.String.Emptypublic staticstring ValidateDataRow_S(DataRow row,string colname)tryif
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论