1、毕 业 设 计(论文)论文题目: 校园E-Learning系统的设计与实现 学生姓名: 欧 阳 剑 学 号: 063822021 专 业: 计算机科学与技术 方 向: 网络编程 指导教师: 郭 晶 晶 年 月 日咸宁学院学位论文声明本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果,除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明,本人完全意识到本声明的法律后果由本人承担。学位论文作者签名: 日 期: 年 月 日 学位论文版权使用授权书本学位论文作者完全了解学校有关保
2、障、使用学位论文的规定,同意学校保留并向有关学位论文管理部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权省级优秀学士学位论文评选机构将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。本学位论文属于1、 保密 ,在_年解密后适用本授权书。2、 不保密 。(请在以上相应方框内打“”)作者签名: 年 月 日 导师签名: 年 月 日 目 录摘 要IAbstractII1 前言12 系统编程相关技术22.1 ASP.NET22.1.1 ASP.NET概述22.1.2 ASP.NET体系结构以及功能22.1.3 ASP.NET的优
3、势32.1.4 ASP.NET的运行机制42.2 IIS6.052.2.1 IIS介绍52.2.2 IIS6.0的重要特性52.3 ADO.NET数据库访问技术62.3.1 ADO.NET介绍63 校园E-Learning系统的设计73.1 系统总体设计73.2 系统用户分析设计73.3 系统功能模块设计83.4 数据库结构设计93.4.1 数据库设计概念93.4.2 系统数据库设计104 系统功能的实现134.1 登录模块实现134.1.1 功能描述134.1.2 流程图134.1.3 主要界面图144.2注册模块实现154.2.1 功能描述154.2.2 主要界面图154.3 公告模块实现
4、164.3.1 功能描述164.3.2 流程图164.2.3 主要界面图174.4 课程模块实现184.4.1 功能描述184.4.2 搜索功能184.4.3 在线自测功能194.4.4 深入学习功能204.4.5 消息发送接收功能204.5 资源模块实现214.5.1 功能描述214.5.2 主要界面图214.6 后台管理模块实现224.6.1 功能描述224.6.2 主要界面图225 总结23致谢24参考文献25咸宁学院本科毕业论文:校园E-Learning系统的设计与实现校园E-Learning系统的设计与实现 学 生: 欧阳剑 指导教师: 郭晶晶咸宁学院计算机科学与技术学院,湖北咸宁,
5、437000摘 要本系统是采用Visual Studio 2005作为开发平台,利用SQL Server 2000数据库以及ASP.NET及动态多媒体技术开发的。系统的总体结构共有六个模块:包括用户登录模块、用户注册模块、课程模块、资源模块、公告模块和后台管理模块。系统中的用户类型可分为三种:系统管理员、老师和学生。学生通过注册登录后进行在线学习测试以及发送接收消息,老师通过课程管理对课程进行管理发送接收消息,管理员通过后台管理对系统进行管理。关键词:动态媒体技术;A;SQL Server 2000;E-learningDesign and Realization of Campus E-Le
6、arning SystemStudent: Ouyang Jian Supervisor: Guo JingjingInstitute of Computer Science and Technology,Xianning University, Xianning,Hubei, 437000AbstractThis Campus E-Learning system using Visual Studio 2005 for the development of tools,using SQL Server 2000 and ASP.NET dynamic web page technology
7、design and development of the multimedia E-Learning system.In the design,it is mainly composed of six parts: including user login modules,user register modules,course modules,source modules,bulletin information module and back-office management module.The user types the system can be divided into th
8、ree types: system administrators, teachers and students.Students log on through the registration after learning and message, the teachers through the curriculum management to manage course and message,curriculum management, the administrator through the admin system to manage.Keywords: dynamic media
9、 technology; A; SQL Server 2000; E-Learning;261 前言随着Internet和计算机网络的迅速发展壮大,上网的人数源源不断地增多,网络教学的发展也日益迅速。由于传统教学模式受到很多条件制约,比如时间、空间、教师水平、学生等,并且单一的课堂学形式已经不能满足现代教育教学的需求,所以将计算机与Internet技术应用于教育教学是现代教育发展的重要途径,也是改变传统教育模式、提高学校教学质量和效率的有效手段。基于互联网技术的校园E-Learning系统能够充分利用现代化的教学手段和多种教学资源,为学生提供良好的自主学习环境,同时支持教师网上备课、授课,学生
10、网上学习、测试,以及教师和学生网上互动等。2 系统编程相关技术2.1 ASP.NETASP.net是把基于通用语言的程序在服务器上运行,将程序在服务器端首次运行时进行编译,这样的执行效果比一条一条的解释强很多。ASP.net是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上。ASP.net使运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。例如ASP.net页面构架允许你建立你自己的用户分界面,使其不同于常见的VB-Like界面1。2.1.1 ASP.NET概述ASP.NET是由活动服务器页面发展而来。A
11、SP.NET利用common language runtime和服务器框架网络应用程序提供了一个可靠的、自动化的、可扩展的主机环境。ASP.NET也受益于common language runtime集合模板,简化了应用程序的配制。另外,它提供简化应用程序开发的服务(如状态管理服务)以及高水平的编程模板(如ASP.NET Web Forms和ASP.NET Web Servers)。ASP.NET的核心是HTTP运行语言,一个高性能的用于处理基于低级结构的HTTP请求的运行语言,而基于的结构与Microsoft Internet Information Servers(IIS)所提供的ISAP
12、SI结构相似。HTTP运行语言是在像服务器上的IIS或客户机上的IE之类的unmanaged主机过程中运行的受控代码。HTTP runtime负责处理引入的所有HTTP请求,并对每个请求应用程序的URL进行解析,然后把请求分配到应用程序以进行进一步的处理。HTTP运行语言是多线程的,并异步处理请求。ASP.NET使用基于构件的Microsoft.NET框架配制模板,因此它获得了如XCOPY配制、构件并行配制、基于XML配制等优点。ASP.NET另一个主要优点是,它支持应用程序的实时更新。在应用程序中,HTTP请求是通过HTTP模板的一个管道路由的,最终到达请求处理程序。HTTP模板和请求处理程
13、序是一些实现特殊接口的受控类,而这些接口是由ASP.NET定义的2。2.1.2 ASP.NET体系结构以及功能一、Web窗体Web窗体是ASP.NET新的编程模型。Web窗体结合了ASP的优势与Visual Basic易于开发的特征。它提供了窗体设计器、编辑器、控件和调试功能,这些功能结合在一起,将使您能够为浏览器和Web客户端设备快速地生成基于服务器的可编程用户界面。在Web窗体页中,可以使用属性、方法和事件来处理HTML元素。ASP.NET页框架为响应在服务器上运行的代码中的客户端事件提供统一的模型。二、服务器控件这是Web窗体编程模型的主要控件。ASP.NET服务器控件映射HTML中的一
14、些相应元素,提供了强有力的服务器编程能力。服务器控件在服务器端运行。三、Web服务这是ASP.NET的关键部分,它允许程序开发者通过编程使服务通过Internet或局域网共享给其他程序开发者。Web服务是基于SOAP(简单对象访问协议)标准,因此可以相对简单的跨越不同平台进行操作。四、缓存ASP.NET提供一个强有力的新的缓存引擎,程序开发者通过减少从Web服务器和数据库服务器处理加载的次数来改善应用程序的性能。五、配置ASP.NET配置设置存储在基于XML的文件中。由于这些XML文件是ASCII文本文件,您可以读取和修改这些文件,因为对Web应用程序进行配置更改更简单方便。每个应用程序都可以
15、有它自己的配置文件。六、状态管理ASP.NET提供了内部状态管理功能,它使您能够保存和管理应用程序特定、会话特定和开发人员定义的信息。此信息可以独立于页面上的任何控件。它可以在页面共享,如客户端信息。ASP.NET提供了分布式状态功能。您可以在一台计算机或几台计算机上创建同一应用程序的多个实例3。2.1.3 ASP.NET的优势一、兼容性 ASP.NET与ASP兼容。ASP.NET文件以新的扩展名出现,即.ASPX,因此,很容易辨认新老版本。 二、移植性 在ASP中,如果要使用第三方组件,就需要在服务器端注册该组件,甚至需要重新启动服务器,极不方便。而在ASP.NET中,可以向目标服务器直接复
16、制组件,当需要更新时,重新复制一个即可。ASP.NET会自动逐渐用新的组件替换旧的组件。三、语言的改进 ASP.NET一大激动人心的新特性就是不在存在脚本了。ASP.NET已不再支持VB Script,转而全面Visual Basic,它仍然支持JScript,但同时增加了类型。另外ASP.NET还引入了一个新的语言C#。由于ASP.NET完全是由C#编写而成,因此C#的引入决不仅仅是简单地增加了新的语言。四、分离程序代码和网页内容 在ASP中网页显示的HTML标记和程序代码混杂在一起,给人以杂乱无章的感觉。在ASP.NET中引入全新的HTML编程模型,包括全新的服务器端控件、表单的事件驱动、
17、数据绑定等,将程序代码与UI接口清楚的分开。ASP.NET通过两种模型来解决上面的问题。第一种方法是代码内联模型,第二种方法是后台编码模型。五、多语言支持 ASP.NET支持多语言,他的缺省语言是Visual Basic。 Visual Basic:ASP.NET全部用成熟的VB语言来编写。不过,VB有了一些改动。如:不再有Set&Let,不再有缺省属性,Arguments须通过缺省设置来实现BYVAL,Integer为32位,Long为64位等。六、服务器管理 ASP.NET为控件引入一个声明的基于服务器的模型。即控件在服务器上声明,可以在服务器上编程,也可是客户端驱动的时间。为把一个普通的
18、HTML控件变成一个服务器控件,只需要将runat=server作为一个特性添加到代码中。控件在服务器上运行,将允许使用ID特性来直接识别它。这样代码就具有更高的可读性,从而使页面的开发更简单。七、部署 在ASP.NET中还有一个得到重大简化的领域部署,他通常称为XCopyDeployment,其原因很简单一通常必须如此。每个ASP.NET应用程序都是自包含的,其中包括了配置文件和组件。在.NET Framework中,无需再注册组件,只需将他们复制到目标位置即可4。2.1.4 ASP.NET的运行机制ASP.NET是.NET平台架构中的一个部件,可借助.NET高效、安全的平台特性,利用通用语
19、言运行时(CLR)及其上的类库(FCL),开发驻留在微软的IIS上并且使用HTTP,SOAP等Internet协议的功能强大且稳定的企业级Web应用程序。当用户通过浏览器发出一个对*.aspx的请求时(HTTP:Request),Web服务器响应该HTTP请求,调用ASP.NET引擎(ASPNET_IASPI.DLL),将其解析成源程序代码,由CLR编译器编译为一致的IL格式,再由JIT编译器编译成机器代码,并将其当成“类(DLL文件)”来处理,此后,当再有对此页面的请求时,由于ASPX页面已经被编译过,所以,CLR会直接执行编译过的代码,最后由Web服务器生成标准的HTML页面传送给客户浏览
20、器(HTTP:Response)5。其工作过程如图2.1所示:图2.1 ASP.NET运行机制 ASP.NET将以往“Web应用程序”的范畴加以扩充,如融入Web Service的概念、改善组件管理的不便、制作可重复使用的控件等,基本上有下列几类文件:一、ASP.NET的文件(*.aspx)。二、强化后的Global.asax文件,新增为16种事件过程。三、包含文件(*.inc或*.aspx)或“Code Behind”文件。四、应用程序配置(Web.config)文件,可让Web开发者一次指定整个Web应用程序的配置,节省一个个设置的时间。五、位于Web应用程序目录下的Pagelet(*.a
21、scx可重复使用的自定义控件)与Web Service(*.asmx可被调用的远程组件程序逻辑)。并且,ASP.NET网页元素也由ASP原有的四种变成六种:HTML,Server Controls(或一般的窗体字段)、内置对象(如:Request,Response,Server等)、以往已有的服务端组件、Web Services及Pagelet等6。2.2 IIS6.0 IIS是Internet Information Server的缩写,它是微软公司主推的服务器,最新的版本是Windows2003里面包含的IIS 6.0,IIS与WindowNT Server完全集成在一起,因而用户能够利用
22、Windows NT Server和NTFS(NT File System,NT的文件系统)内置的安全特性,建立强大,灵活而安全的Internet和Intranet站点。2.2.1 IIS介绍IIS相应性极高,同时系统资源的消耗也是最少,IIS的安装,管理和配置都相当简单,这是因为IIS与Windows NT Server网络操作系统紧密的集成在一起,另外,IIS还使用与Windows NT Server相同的SAM(Security Accounts Manager,安全性账号管理器),对于管理员来说,IIS使用诸如Performance Monitor和SNMP(Simple Nerwor
23、k Management Protocol,简单网络管理协议)之类的NT已有管理工具7。IIS支持ISAPI,使用ISAPI可以扩展服务器功能,而使用ISAPI过滤器可以预先处理和事后处理储存在IIS上的数据。用于32位Windows应用程序的Internet扩展可以把FTP,SMTP和HTTP协议置于容易使用且任务集中的界面中,这些界面将Internet应用程序的使用大大简化,IIS也支持MIME(Multipurpose Internet Mail Extensions,多用于Internet邮件扩展),它可以为Internet应用程序的访问提供一个简单的注册项。2.2.2 IIS6.0的
24、重要特性IIS6.0 相比IIS5.0 有了重大的提高和改进,具有很多优秀的特性:一、应用程序池: IIS6可以将单个的 Web 应用程序或多个站点分隔到一个独立的进程(称为应用程序池). 应用程序池以独立进程的方式极大的提高了Web服务器的安全和稳定性.该进程与操作系统内核直接通信。当在服务器上提供更多的活动空间时,此功能将增加吞吐量和应用程序的容量,从而有效地降低硬件需求。这些独立的应用程序将阻止某个应用程序或站点破坏服务器上的 XML Web 服务或其他 Web 应用程序。二、IIS6.0 还提供状态监视功能以发现、恢复和防止 Web 应用程序故障。在 Windows Server 20
25、03 上,Microsoft ASP.NET 本地使用新的 IIS 进程模型。这些高级应用程序状态和检测功能也可用于现有的在 Internet Information Server 4.0 和 IIS 5.0 下运行的应用程序,其中大多数应用程序不需要任何修改。三、集成的 .NET 框架(DOTNET):Microsoft .NET 框架是用于生成、部署和运行 Web 应用程序、智能客户应用程序和 XML Web 服务的 Microsoft .NET 连接的软件和技术的编程模型,这些应用程序和服务使用标准协议(例如 SOAP、XML 和 HTTP)在网络上以编程的方式公开它们的功能。四、连接并
26、发数,网络流量等监控 这样可以使不同网站完全独立开。不会因为某一个网站的问题而影响到其他网站8。2.3 ADO.NET数据库访问技术2.3.1 ADO.NET介绍ADO.NET是对Microsoft ActiveX Data Objects (ADO)一个跨时代的改进,它提供了平台互用性和可伸缩的数据访问。由于传送的数据都是XML格式的,因此任何能够读取XML格式的应用程序都可以进行数据处理。事实上,接受数据的组件不一定要是ADO .NET组件,它可以是基于一个Microsoft Visual Studio的解决方案,也可以是任何运行在其它平台上的任何应用程序。做数据库访问的时候,需要一直与数
27、据库保持连接,直到获取完所有满足需要的数据之后才会断开数据库连接,这种数据库访问方式称之为连接式数据访问技术。相比于以前的连接式数据访问技术,ADO.NET除了提供连接式数据访问技术之外,还提供了另一种断开式解决方案,那就是在内存中模拟一个数据库,也就是内存中的数据库9。在实际的数据库技术中,每个数据库就是一个业务逻辑单元,一般来说这个数据库包含了实现一个应用软件或者一个网站所需要的全部数据。在这里数据库就是顶级对象,引用创建数据库时所用到的名词database来表示(因为创建数据库的SQL语句是create database),在一个数据库里可以包含有多个表(table)和视图(view),
28、除此之外还可以包含有一些外键关系等。在ADO.NET中对上面提到的对象都在内存中进行了模拟,在内存中的数据库对象称之为DataSet,一个内存中的数据库(DataSet)可以包含多个在内存中的表(DataTable)和内存中的视图(DataView),并且也允许在表存在一些关系(DataRelation)。物理数据库与内存数据库之间的各对象的对应关系如图2.2:图2.2 物理数据库和内存数据库对应表3 校园E-Learning系统的设计3.1 系统总体设计校园E-Learning系统,就是要让学生在无老师授课的情况下进行自主学习。本系统能充分有效地利用和共享教学资源,弥补课堂教学的不足,特别是
29、在目前课时不断挤压的情况下,有利于培养学生的自主学习能力和创新意识,加强教师和学生之间的联系,使学生真正成为获取知识的主体。充分发挥自己的意识来主动获取知识。实现自主学习的最佳效果。校园E-Learning系统是应用与远程教学的系统,是学生学习和交流的平台。随着计算机的发展,该系统还会进行不断的升级和扩展。为了满足远程教学的要求,系统必须具有“安装和操作简单,系统升级和扩展不影响用户使用,系统的使用和用户的计算机硬件关联不大”等特点。因此本系统采用了先进的B/S网络架构,如图3.1所示:图3.1 基于B/S结构的网络架构图远程用户只需要使用浏览器,即可实现所有功能。远程用户通过浏览器发送相关的
30、请求信息给服务器,服务器接收到这些信息后,再经过一系列的处理,然后返回处理页面给远程用户,并通过浏览器显示在给远程用户面前。支撑系统运转的还有相应的数据库管理系统,以及负责后台维护的系统管理系统。用户通过输入登录信息,发送HTTP请求至Web服务器,服务器端验证后对请求信息进行分类和处理。如果需要对数据库进行操作,还需要登录相应的后台。管理员负责对程序以及数据库的维护,本系统具备以下特点:实用性:可以为网上教学提供方便。可塑性:本系统系统升级和扩张简单。操作简单:本系统适用于不同水平的用户,包括教师和学生,操作简单易懂。3.2 系统用户分析设计系统中的用户类型可分为三种:系统管理员、老师和学生
31、。各类用户在客户端执行一定的功能来完成自主学习和数据库管理任务。下图3.2为教学模式图:图3.2 教学模式图基于以上的教学模式,系统分别为每种用户定义了严格的权限。系统管理员:具有最高权限,可以管理系统的所有数据,对整个系统起到管理的作用。老师:老师用户可以修改个人信息,以及添加课程。还可以和学生用户在网上进行交流。学生:学生首先经过注册,取得合法用户名和密码后,便进入系统进行学习或者交流。3.3 系统功能模块设计该系统共分为6个大模块,系统结构图如图3.3所示:图3.3 系统功能模块图一、登陆模块负责学生用户和老师用户的登陆,以及登陆后的登陆注销。二、注册模块在此新生可以注册自己的账号,以及
32、详细的个人信息。三、课程模块老师用户登录系统后,可以在此添加新的课程。在此模块并且可以和学生用户进行交流,对学生的疑问进行回答,增加学生用户和老师用户的互动。学生用户可以在此进行课程大纲查看,找到想学习的章节后可以点击相应章节进行深入学习。当学生用户遇到疑难问题之后可以向相应的主讲老师发站内消息,让老师解答疑问。三、公告模块管理员可以将最新上传的课件、试卷、以及站内新闻发布。四、资源模块学生可以在此在线阅读或者下载管理员上传的课件,进行学习。可以将管理员上传的试卷进行在线模拟考试。五、后台管理模块 在此管理员可以对整个系统的数据进行操作,比如上传试卷、课件,公告的添加、修改、删除等。老师信息的
33、添加,学生信息的修改等等。3.4 数据库结构设计 数据库是系统的核心,它的设计直接关系到系统执行的效率和系统的稳定性。一个性能良好的系统就应该有一个合理的数据库。因此在软件系统开发中,数据库应该遵循必要的数据库范式原则,减少不必要的冗余、保证数据的完整性和正确性。只有设计合理的数据库,才能降低整个系统的维护难度,提高系统运行效率。3.4.1 数据库设计概念数据库设计是研制数据库及其应用系统的技术,是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的需求。按照规范设计的方法将数据库设计分为以下六个阶段:(1)需求分析:调查和分析用户的业
34、务活动和数据的使用情况,弄清所用数据的种类、范围、数量以及它们在业务活动中交流的情况,确定用户对数据库系统的使用要求和各种约束条件等,形成用户需求规约。(2)概念设计:对用户要求描述的现实世界(可能是一个工厂、一个商场或者一个学校等),通过对其中住处的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。以扩充的实体(E-R模型)联系模型方法为例,第一步先明确现实世界各部门所含的各种实体及其属性、实体间的联系以及
35、对信息的制约条件等,从而给出各部门内所用信息的局部描述(在数据库中称为用户的局部视图)。第二步再将前面得到的多个用户的局部视图集成为一个全局视图,即用户要描述的现实世界的概念数据模型。(3)逻辑设计:主要工作是将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。与此同时,可能还需为各种数据处理应用领域产生相应的逻辑子模式。这一步设计的结果就是所谓“逻辑数据库”。(4)物理设计:根据特定数据库管理系统所提供的多种存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施,对具体的应用任务选定最合适的物理存储结构(包括文件类型、索引结构和数据的存
36、放次序与位逻辑等)、存取方法和存取路径等。这一步设计的结果就是所谓“物理数据库”。(5)验证设计:在上述设计的基础上,收集数据并具体建立一个数据库,运行一些典型的应用任务来验证数据库设计的正确性和合理性。一般,一个大型数据库的设计过程往往需要经过多次循环反复。当设计的某步发现问题时,可能就需要返回到前面去进行修改。因此,在做上述数据库设计时就应考虑到今后修改设计的可能性和方便性。(6)运行与维护设计:在数据库系统正式投入运行的过程中,必须不断地对其进行调整与修改。3.4.2 系统数据库设计根据教学模式确定的用户类型和系统功能划分,在系统管理和登录控制数据库中,保存的是用户的信息,这里包括学生、
37、教师、管理员、课程、资源等信息。网上流动的三种不同身份的用户,他们分别是管理员、学生和教师。(1)管理员表(admin)管理员具有最高权限,考虑到将来系统可能的应用,所以管理员的人数并没有唯一确定,可以多人管理,管理员数据表如下表3.1所示:表3.1 管理员表管理员表(admin):管理员号(m_id),用户名(m_username),密码(m_userpwd),真实姓名(m_turename)。(2)学生表(tb_login)该表中,学生的学号唯一确定一名学生。学生数据表如下表3.2所示:表3.2 学生表学生表(tb_login):学生学号(s_id),用户名(s_username),密码(
38、s_userpwd),性别(s_sex)真实姓名(s_truename),住址(s_address),联系电话(s_phone),电子邮件(s_email)。(3)课程表(subject)该表保存了网上授课的各个信息,包括5个字段。课程数据表如下表3.3所示:表3.3 课程表课程表(subject):课程编号(sbjt_id),课程名(sbjt_name),课程大纲(sbjt_point),课外作业(sbjt_homework),主讲老师(sbjt_teacher)。(4)公告表(news)该表保存了公告的发布时间,发布内容等信息。公告数据表如下表3.4所示:表3.4 公告表公告表(news)
39、:公告编号(n_id),公告主题(n_title),公告信息(n_info),公告上传时间(n_uptime)。(5)资源文件表(files)该表保存了上传文件的文件名、大小、上传时间等信息。资源文件数据表如下表3.5所示:表3.5 资源文件表资源文件表(files):文件ID(f_id),文件名(f_name),文件大小(f_size),上传时间(f_uptime),下载次数(f_count),存放在服务器端的文件名(f_path),文件介绍(f_introduce)。(6)短消息表(mess)该表保存了老师用户名、内容、学生用户名。短消息表如下表3.6所示:表3.6短消息表短消息表(mes
40、s):ID(ID),老师用户名(teacher),内容(info),学生用户名(student)。(7)教师信息表(files)该表保存了教师的各个信息,如真实姓名、职务、备注等信息。教师信息表如下表3.7所示:表3.7教师件表教师信息表(teacher):ID(T_id),用户名(T_username),密码(T_userpwd),真实姓名(T_truename),职务(T_post),备注(T_more)。4 系统功能的实现4.1 登录模块实现4.1.1 功能描述提供学生用户、老师用户和管理员用户的系统登录。管理员用户登录有特定的后台登陆页面。4.1.2 流程图学生:先判断学生是否注册,如
41、果没有注册,可以进入注册页面注册新用户,用户信息必须按照格式填写,否则不能注册。注册完成后,在主页面就可以通过登陆窗口输入正确的用户名和密码登陆系统,然后进入下一模块。老师:由于老师用户是基本是固定的,所以老师用户不能申请,只能让管理员配发。所以老师用户的登录过程和管理员类似。管理员: 管理员输入正确的用户名和密码就能从后台登陆,进入后台页面进行后台管理操作。具体操作流程图如下图4.1所示:图4.1 登录注册流程图4.1.3 主要界面图学生用户首先进入系统登录主页,当学生第一次使用系统时,需要点击“注册”,进入注册页面,在这里填写基本信息,完成注册方能登陆,登陆界面如下图4.2所示:图4.2
42、登陆页面截图学生或者老师系统登陆主要代码:if (DropDownList2.SelectedValue = 学生)/判断用户是老师还是学生 SqlCommand cmd = new SqlCommand(select count(*) from tb_login where s_username= name and s_userpwd= pass, con); /将学生用户填写的用户名及密码和学生表中的用户名和密码配对 int count = Convert.ToInt32(cmd.ExecuteScalar();if (count 0) / 如果有匹配的信息,count=1,即count
43、0 Table2.Visible = false; /登陆界面不可见,隐藏 TD1.Visible = true; /TD1可见,将”欢迎登陆”字样以及”注销”按钮显示出来SessiontxtStudent = this.txtUser.Text; /将用户名存在缓存”txtStudent”中this.Label1.Text = this.txtUser.Text;管理员登录代码和学生登陆代码基本一样。登陆界面如下图4.3所示:图4.3 管理员登陆页面截图4.2注册模块实现4.2.1 功能描述 网上新生可以在此进行用户申请,新生可以按照网站上的提示一步一步完成注册。4.2.2 主要界面图 注册
44、页面主要界面图如下图4.4所示:图4.4 管理员登陆页面截图注册页面主要代码:if (this.textboxusername.Text = null)/判断用户名是否为空 Response.Write(alert(用户名不能为空!); else string sqlcon = select count(*) from tb_login where s_username = + this.textboxusername.Text + ;/如果不为空 判断是否和学生表中有相同的用户名 SqlCommand cmd = new SqlCommand(sqlcon, con); int count
45、= Convert.ToInt32(cmd.ExecuteScalar(); if (count 0)/用户名存在 Response.Write(alert(用户名已经存在!); Else/如果不存在 判断密码是否为空 if (this.TextBoxpassword1.Text = null | this.TextBoxpassword2 = null) Response.Write(alert(密码不能为空!); 用户注册先得判断用户名是否填写,如果填写再判断是否有相同的用户名,如有没有就继续判断密码是否为空,如果不为空再判断两次输入的密码是否一致,如果都符合,就表示可以注册。Buttonsubmit按钮:即”注册”按钮,当用户填写的信息都符合注册要求的时,就将用户填写的信息全部插入到表”tb_login”中,否则不进行插入操作。protected void Buttonsubmit_Click(object sender, EventArgs e) st