论文素材文档

更新时间:2024-05-27 19:01:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

毕业论文

网络教学资源库系统的设计

学生:*** 导师:*** 专业:*** 答辩日期:2011年4

目录

第1章 系统开发环境 ..................................................... 1 1.1 1.2 1.3 1.4

.NET简介 ..................................................................................................................... 1 C#语言 .......................................................................................................................... 1 ASP.NET介绍 ................................................................................................................ 1 JQUERY ........................................................................................................................... 2

第2章 系统分析与设计 .............................................................................................................................. 5 2.1 2.2

系统开发方法 ........................................................................................................................................ 5 系统需求分析 ........................................................................................................................................ 6

2.2.1 2.2.2 2.2.3 2.3

业务需求........................................................................................................................................ 6 功能需求........................................................................................................................................ 6 性能需求........................................................................................................................................ 7

系统体系结构 ........................................................................................................................................ 8

第3章 系统功能的实现 .............................................................................................................................. 9 3.1 3.2

系统界面 ................................................................................................................................................ 9 用户管理 ................................................................................................................................................ 9

3.2.1 3.2.2

用户登录窗体概述 ........................................................................................................................ 9 验证码生成.................................................................................................................................. 11

第1章

第1章 系统开发环境

1.1 .NET简介

.NET是微软公司推出的基于XML数据交换的Web服务平台,.NET框架和Visual studio.NET是开发人员用来生成Web服务的工具,全面支持XML。ASP.NET是建立在公共语言运行环境上的网络编程框架,可用于在服务器上生成功能强大的Web应用程序,它使得建立运行和发布网络应用方便并且高效。ADO.NET是.NET的数据访问技术,它和XML紧密结合在一起,提供了高效的数据存取[7]。

1.2 C#语言

C#是专门为.NET量身定做的一种简单先进,面向对象和类的编程语言,是第一个面向组件的语言,支持组件所需的属性(Property)方法(Method)、事件(Event)、设计时属性(Designed time attribute)与执行时属性(Runtimeattribute),C#具有面向对象编程语言所应具有的一切特性,如封装、继承和多态,在C#的类型系统中,每种类型都可看作对象。C#编写的代码具有更好的可读性,而且减少了发生命名冲突的可能性,作为.NET的原生语言,它具有与.NET框架相结合的特性,C#本身并无类库(Class library),而是直接使用.NET框架所提供的类库。另外,C#具备了类型安全检查,自动垃圾回收和结构化异常处理,因此大大降低了开发人员的工作量。基于以上考虑,在管理平台的后台编程中采用了C#语言[12] [13]。

1.3 ASP.NET介绍

ASP.NET是.NET开发环境中的一个分支,是一种建立在公共语言运行库上的网络编程框架,可用于在服务器上生成功能强大的Web应用程序。它使得建造、运行和发布网络应用非常方便和高效。ASP.NET为用户提供了一个全新而强大的服务器控件结构,是一个统一的Web开发模型,它提供了使用尽可能少的代码生成企业级Web应用程序所必需的各种服务,是当今世界上最先进的Web程序开发平台之一。

从外观上看,ASP NET和ASP是很相近的,但他们有本质上的区别。ASP.NET几乎全是基于组件和模块化,每一个页、对象和HTML元素都是一个运行的组件对象。在开发语言上,ASP NET抛弃了VBscript和Jscript,而使用.NETFramework所支持的VB.NET和C#. NET等语言做为其开发语言[10]。ASP.NET使得Web应用的开发速度加快、操作简单,并且为开发、部署和运行Web应用提供了最便捷、可缩放性程度最高的方式。本系统采用ASP.NET作为开发工具不仅可以节省时间,提高开发效率,同样由于ASP.NET在页面设计和业务逻辑实现上具有其独特的优点。

ASP.NET程序结构

为了提高程序开发和维护的效率,ASP.NET通过一种程序分层的办法来处理。它将Web Form程序分为页面文件(后缀名为aspx)、后台代码(后缀名为cs,以C#语言为例)、资源文件(后缀名为resx)、数据集架构文件(后缀名为xsd)、用户控件文件

1

网络

(后缀名为asmx)和其它一些系统自动管理的配置文件。这种程序结构将Web程序的客户层、表示层、业务逻辑层、和数据层分开,从而使整个系统的架构变得非常清晰,可大大提高程序的可读性、可维护性和开发效率。同时ASP.NET将面向对象的思想、事件驱动与数据绑定的开发方式引入到了Web程序中,将程序代码与用户界面接口分开,使程序具有良好的可读性,进一步提高了程序的开发和维护效率。

ASP.NET是建立在微软新一代.NET平台架构上,利用CLR在服务器后端为用户提供建立强大的企业级Web应用服务的编程框架。ASP.NET具有以下优点:

程序代码独立性好。它是一种编译型的编程框架,它的核心是NGWS Runtime,除了可以采用VB和Javascript作为编程语言外,还允许使用编译式语言,如VB.NET、C#等来编写,这就可以进行很多低层操作而不必借助于其它编程语言,大大提高了执行效率和跨语言的兼容性,为开发人员开发功能强大的Web应用程序提供了帮助。

分离程序代码和网页内容。在以往的ASP网页中,HTML标注和程序代码是混在一起的,即将系统的表示层和业务逻辑层混合到一起,不符合软件工程的基本思想,使程序开发和维护难度加大,而且不利于代码的复用。ASP.NET使用事件驱动(Event Driven)与数据绑定(Data Binding)的开发方式,采用Code-Behind方式,将程序代码和用户界面接口分开,大大提高了程序的可读性。

良好的安全机制。ASP.NET中可使用Windows、Passport和表单三种登录验证方式,Windows验证包括基本验证、摘要验证和集成式Windows验证,这三种方式都是结合IIS的验证机制,只需在IIS中进行相关设置而不需编写程序代码。ASP.NET还能自动检测内在泄露(Mermory Leak),自动重新启动进程。当ASP.NET检测到有运行不正常的线程,将自动由系统回收,这样服务器将无需重新启动便能连续运行。

更高的执行效率。ASP.NET代码属编译方式执行,ASP.NET页被第一次请求时就编译进.NET类中,并且编译的类被缓存用于随后的请求,因而大大提高了执行的性能和速度[14][15]。

1.4 JQuery

JQuery是继prototype之后的又一个优秀的JavaScript框架。它是由美国人John Resign于 2006 年初创建的,它有助于简化 JavaScript?以及Ajax 编程。JQuery使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互,实现用户html页的代码与内容分离。

JQuery具有如下特点:

1、代码简练、语义易懂、学习快速、文档丰富。 2、可以很容易的为JQuery扩展其他功能。 3、JQuery支持CSS1-CSS3,以及基本的xPath。

4、JQuery是一个轻量级的脚本,其代码非常小巧,最新版的JavaScript包只有20K左右。

5、JQuery是可以跨浏览器的,它支持的浏览器有:IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+。

2

第1章

6、能将JS代码和HTML代码完全分离,便于代码的维护和修改。

7、具有丰富的插件,除了JQuery自带的一些特效外,还可以通过插件实现更多功能。

JQuery的设计会改变我们编写JavaScript代码的方式,降低我们学习使用JS操作网页的复杂程度,提高网页JS开发的效率,无论对于JS初学者还是资深专家,JQuery都是一个很不错的选择。

JQuery适合于设计师、开发者以及那些还好者,同样适合用于商业开发,可以说JQuery适合任何JavaScript应用的地方,可用于不同的Web应用程序中[18]

3

第2章

第2章 系统分析与设计

2.1 系统开发方法

一个成功的教学资源库系统必须满足实际使用的需求,为用户提供安全可靠的性能,然而开发一个成功的教学资源库系统并不是一件简单的事情,而是一项复杂的系统工程,为了保证教学资源库系统具有较好的结构、良好的可靠性和维护性,在进行系统开发时,必须采用一套科学、合理和高效的方法。常用的软件工程方法有生命周期法,快速原型法,综合法。

生命周期法是一种传统的信息系统的开发方法,其基本思想是将系统的生命周期划分为系统规划、系统分析、系统设计、系统实施、系统运行和维护阶段。生命周期法的开发过程一般是先把系统功能作为一个大的模块,再根据系统分析设计的要求对其进行进一步的模块划分。这种开发方法具有开发目标清晰化、工作阶段程式化、工作文件规范化、设计方法结构化的优点,但是系统开发时间往往较长、系统开发过程按部就班,缺少灵活性。

快速原型法的基本思想是分两个阶段:第一阶段在获取一组基本的需求数据后,利用高级软件工具和软件开发环境,首先快速地建立起一个目标系统的最初版本,交给用户使用,并进行相应的评价,然后经过修改后,形成改进的模型,之后多次反复以上的过程,直到用户满意为止;第二阶段,在此模型系统的基础上,不断修改、扩充和完善,得到最终的系统。快速原型法缩短了开发的周期,降低了维护的费用,适应性和可靠性比较高,容易调试。

通过以上两种方法的比较,发现它们各自具有优点与不足,如果严格地按照某一种开发方法是不可取的。在实践中,最好的开发方法都是在充分分析应用领域的本质特征、开发规律的基础上,综合各种开发方法的特点,并在工程实践中逐步形成和完善的。根据网络教学资源库系统的特点,我们将采用综合法的开发方法,即将结构化生命周期法与快速原型法相结合的一种复合开发模式。复合开发方法的基本思想是:把结构化生命周期法和快速原型法有机相结合,采用传统的生命周期法作为整体的开发策略,采用快速原型法解决一些专门的领域问题及某些复杂子系统的快速实现问题。具体就是:首先按照生命周期法的方法论对整个工程进行控制和管理,成立项目管理领导小组、技术领导小组、开发小组以及测试小组等,在管理和技术上作好保证。根据软件需求进行软件总体设计,将系统划分成几个相对独立的子系统,如用户界面子系统、数据库子系统和一些主功能子系统等。找出一些特别复杂或者用户难以理解的功能子系统(如我们系统的大文件上传工具等),利用目前掌握的需求信息,采用快速原型法快速地建立该功能子系统的原型,以便与用户展开讨论,征询用户的意见,在此基础上反复对原型进行修改进化,以验证、补充系统的需求分析和主要功能。接着,继续完善系统的总体设计,然后进行详细设计,尽可能寻求可重用软部件支持软件的详细设计和编码,最后进行测

5

网络

试,在用户满意后,提交用户使用。本文的后续章节,采用该方法作为指导,进行详细的系统分析以及设计[20]。

2.2 系统需求分析

2.2.1 业务需求

教学资源是实现教学资源库网络共享的前提和基础。网络教学资源库系统是利用计算机技术、网络技术和多媒体技术,为师生构建良好的远程教学和自主学习的平台,是信息技术在现代远程教育领域的典型应用。网络教学资源库系统中会随着使用时间的推移,逐步增加资源的数量和系统用户的访问量,因此在系统设计的时候就需要考虑系统的扩充性以及稳定性。另外由于系统中包含大量的多媒体信息,所以在进行系统结构设计时,要保证用户在实际使用过程中的响应速度。结合系统的实用性,网络教学资源库系统在设计开发的过程中需要充分考虑以下几方面的要求:

(1) 资源类型多样化:随着多媒体技术的不断发展,教学资源的形式越来越多样化,包括文本、图像、声音、动画、视频等各种形式,因此,教学资源库系统要能够容纳各种形式的网上教学资源,而且存入数据库的资源描述应符合国家技术规范,便于进行网络数据的交换。

(2)信息存储容量足够大:网络教学资源库在投入实际使用后,会不断扩充资源的数量,资源库就会变得越来越大,因此资源库系统在设计时就必须考虑有足够的存储容量,以保证数据和信息的安全存储。

(3)资源组织结构严谨:存储在资源库中的大量多媒体资源应按照规范的结构进行组织,才能保证有效地提取,进而发挥网络资源的特点和优势。

(4)资源查询快速简便:随着资源库中资源的类型与数量的逐渐增多,用户正确获取资源难度会增加,因些在进行资源库系统设计时,应充分考虑用户获取资源的需求,能够系统用户提快速简便的资源查询功能,让用户尽快检索到自己所需要的资源。

(5)资源的共享性:网络教学资源库系统是为用户提供远程教学与自主学习的平台,其显著的特点即为资源共享,因此合法的系统用户不仅可以实现资源的检索、浏览及下载,教师也可以将自己开发的资源进行上传。

(6)实现平台的管理功能:能为资源库建设、管理及应用提供有效的服务,为用户使用权限进行管理。

(7)与学校精品课程建设紧密联系,提供优秀的课程网站链接。

2.2.2 功能需求

根据以上对教学资源库系统的业务需求分析,下面对系统功能进行需求分析,可以概括为三大部分功能:资源管理功能,包括资源浏览、检索、统计、上传、下载、修改、删除等;用户管理功能,针对普通用户和管理员级别的用户进行使用权限分配;系统管理功能,包括系统配置、系统维护、密码管理、系统帮助等。

1.资源管理功能

资源管理模块的功能是对需要存入数据库和已经存入数据库的各类资源进行操作,

6

第2章

在对这些资源进行操作时要不仅要保证资源内容的准确与科学,而且要保证系统的安全性。这一模块的主要功能包括:

● 资源浏览:注册用户,可以使用浏览器远程浏览资源库中的教学资源,游客也可直接登录进行浏览,但仅能看到指定部分的内容。

● 资源检索:资源库系统支持二种搜索方式,它们分别是“导航式检索”和“关键字检索”。

● 资源统计:能够统计出网站内包含的课程数量、资源数量、注册用户数以及网站的访问量。

● 资源上传:资源上传功能需要支持多种情况,可以直接上传单个资源文件,也可以批量上传资源,还能支持大文件的上传。

● 资源审核:所有新上传的资源必须经过管理员的审核,才能进入资源库,被客户端所使用。

● 资源下载:注册用户可以进行教学资源的下载,游客不具备这一权限。 ● 资源修改:系统管理员可对上传的资源的信息进行修改。 ● 资源删除:系统管理员可以将不符合标准或不需要的资源删除。 2.用户管理功能

教学资源库系统有其特定的用户群,为了确保系统的安全性和资源的质量,应给不同的用户设定各自的权限。一般可以将系统的用户分为:系统管理员、资源管理员(责任教师)、注册用户(教师或学生)和一般用户(游客),如有特殊的需求,还可视具体情况而变动[21]。

● 系统管理员:对数据库系统有完全的控制权,能对教学资源库系统进行初始化设置,可以审核注册用户的权限。

● 资源管理员:主要负责对相应课程中的资源进行添加、修改、删除、审核的管理。

● 注册用户:可以浏览、检索、下载教学资源库中的资源。 ● 游客:只可以浏览部分教学资源。 3.系统管理功能

系统管理模块主要负责对整个资源库系统基本配置及维护工作,以保证系统的稳定性和扩展性。

● 系统配置:为了满足实际使用需要而设计的属性设置和系统运行相关的技术参数配置,包括系统基本信息,服务器信息及客户端信息等。

● 用户管理:能够修改注册用户的个人信息。

● 系统帮助:为用户更好地使用本教学资源库系统提供帮助信息。

● 系统维护:对资源分类目录树的管理与维护,对课程信息、资源类型、公告信息及链接信息进行设置与修改。

2.2.3 性能需求

● 系统界面美观友好,能够实现一定的交互功能。

7

网络

● 系统可靠性高,使用资源及管理资源操作简便。

● 系统具有安全管理措施,能够实现用户身份验证和用户权限制约。 ● 能够对系统进行有效的维护,保证系统更新的实时性和高效性。 ● 系统具有良好的扩展性,能满足以后资源进一步扩展的需要。

2.3 系统体系结构

目前在网络软件系统开发中应用最广泛的两种体系结构为:C/S(Client/Server)结构和B/S(Browser/Server)结构。

C/S结构,即客户机/服务器结构。它是一种存储、访问、处理数据的分布式模型,是以数据库服务器为中心、以客户机为网络基础、在信息系统软件支持下的结构模型。在这种结构中,用户操作模块布置在客户机上,数据存储在服务器上的数据库中,客户机需要安装相应的客户端软件,它不仅要完成用户界面的人机交互,还要完成应用逻辑的处理,对于用户的请求,客户端能够处理的,就给出结果,否则客户端向服务器提出请求,由服务器响应,并提供必要的网络资源。

B/S结构,即浏览器/服务器结构。它是随着Internet技术的兴起,对C/S结构的一种改进结构。B/S体系结构在20世纪90年代末期开始盛行,是目前最流行的网络软件体系结构。在这种结构中,将系统功能实现的核心部分集中于服务器上,客户端利用WEB浏览器登陆服务器下载应用,这样用通用浏览器实现了原来需要复杂专用软件才能实现的强大功能,减轻了客户端电脑的负荷,节约了系统开发及维护的总体成本。当然,为了避免数据库服务器的工作压力过大,可以设置一台服务器专门用于信息处理。

B/S体系结构还提供了异种机、异种网、异种应用服务的联机、联网、统一服务的最现实的开放性基础[22]。本系统的B/S架构方式如图3-1所示。

Browse浏览器Browse浏览器Browse浏览器INTERNETWeb服务器Browse浏览器数据库服务器Browse浏览器

图3-1 B/S架构方式 Fig.3-1B/S structure mode

8

第3章

第3章 系统功能的实现

3.1 系统界面

打开教学资源库系统,呈现在用户面前的即为系统主界面,如图4-1所示,这是面向所有用户的界面。系统主界面,可以实现以下功能。

? 用户登录或注册,对于已注册用户,可以进行用户登录,对于尚未注册的用户,

可以进行新用户注册。

? 分类显示教学资源,系统从数据库中读取已有教学资源,并按资源类型显示各

类资源名称。

? 站内统计,分别统计并显示资源总数、课程总数、注册用户数及系统网站的访

问人数量,这些统计数据主要来源于数据库中的资源信息表、课程信息表和用户信息表。

? 网站链接,为了拓展获取教学资源的渠道,系统将通过友情链接的方式与若干

精品课程网站和热门网站建立了联系。 ? 跳转到后台管理员界面。

? QQ在线联系,只要系统管理员的网络接通,主界面上便会出现灰色的QQ图标,

否则不显示,而当系统管理员成功登录自己的QQ,主界面上便会出现彩色的QQ ? 图标,用户可以与系统管理员进行在线交流。

系统在进行功能设计时,按前台用户浏览和后台系统管理两部分展开的,下图为系统资源管理界面。该界面左侧是以课程为单位的资源树,上方分别是资源类型的导航栏和系统功能按钮,右下方是资源列表区。

3.2 用户管理

3.2.1 用户登录窗体概述

网络教学资源库系统在开发过程中,用户模块中需要用户登录窗体,在该窗体中设计登录控件时需要满足以下几个要求:

1. 为了增强系统面对暴力攻击时的抵抗能力,登录控件中除了用户名和密码验证外,还要在控件中整合验证码系统;

2. 验证码需采用伪随机数序列,而且要字母和数字相结合,以增强防破解的能力; 3. 验证码通过图形化以及对图像加入干扰的方法,增加电脑识别验证码的难度; 4. 通过对控件的加密,保证源码的安全性[30]。

9

网络

本系统的用户登录窗体中,除了需填写用户名和密码外,还必须根据系统提示填写验证码,其中验证码是由系统随机生成的,这样可以加强系统的安全性管理,用户登录窗体的实现效果如图4-3所示。

图4-3 用户登录窗体 Fig.4-3 User loginform

用户登录时,在用户名和密码都不为空的情况下,程序会先对验证码进行验证,如果验证码不正确,则会弹出消息框,显示出错的提示信息,如图4-4(a)所示。

当验证码输入正确,程序会依次检查用户名和密码输入情况,如果有错误,则会弹出消息框,显示出错的提示信息,如图4-4(b)所示。只有当用户名、密码和验证码均正确无误,才能成功登录系统,用户登录流程如图4-5所示。

(a)

(b)

图4-4验证码、用户名或密码出错提示信息

Fig.4-4Authcode、username or password error message

10

第3章

开始输入会员名、密码和验证码会员名是否为空Y提示会员名不能为空,重新输入N密码是否为空Y提示密码不能为空,重新输入N验证码是否为空Y提示验证码不能为空,重新输入N提示验证码输入有误N验证码是否正确YN用户名和密码是否正确Y用户登录成功结束

图4-5 用户登录流程图 Fig.4-5 User login flowchart

3.2.2 验证码生成

在用户登录窗体中,验证码技术是一项关键技术,下面将详细地介绍验证码的实现,其实现过程如图4-6所示:

开始伪随机数生成生成图片初始化图片背景画图片背景嗓音线结束输出图片释放资源画图片边框画图片前景嗓音点画数字串

图4-6 验证码的实现过程

Fig.4-6 Implementation process of verification code

1.伪随机数的产生

11

网络

真正意义上的随机数在某次产生过程中是按照实验过程中表现的分布概率随机产生的,其结果是不可预测、不可见的。而计算机中的随机函数是按照一定算法模拟产生的,其结果是确定、可见的。所以用计算机随机函数所产生的“随机数”,其实并不随机,是伪随机数。

现在有很多验证码系统都是使用伪随机数生成器(Random类)来产生伪随机数序列,随机数的生成是从种子值开始的,如果反复使用同一个种子,就会生成相同的数字系列,若要产生不同序列的随机数,就需要种子值不断变化,使种子值不断变化的方法有多种,其中的一种方法是使种子值与时间相关,从而使 Random 的每个新实例,都产生不同的系列。在默认情况下,Random 类的无参数构造函数使用系统时钟生成其种子值[31][32]。

生成随机生成器的代码: Random random = new Random(); 2.图形化数字

设置验证码的目的是为了有效防止使用自动方式向服务器发送大量信息来进行攻击。虽然加入动态验证内容的验证码能较好地防止穷举法的攻击,但如果是纯数字或字符的验证码,还是容易被自动识别,因此防范作用仍然不够理想。如果以图片方式返回验证码,便可以有效地解决这个问题。图片是以点的形式呈现给用户的,有些软件无法识别这种格式的图片。当然,若需要更高的安全性,还可以给图片增加干扰,以加大识别图片的难度[33]。

12

网络

真正意义上的随机数在某次产生过程中是按照实验过程中表现的分布概率随机产生的,其结果是不可预测、不可见的。而计算机中的随机函数是按照一定算法模拟产生的,其结果是确定、可见的。所以用计算机随机函数所产生的“随机数”,其实并不随机,是伪随机数。

现在有很多验证码系统都是使用伪随机数生成器(Random类)来产生伪随机数序列,随机数的生成是从种子值开始的,如果反复使用同一个种子,就会生成相同的数字系列,若要产生不同序列的随机数,就需要种子值不断变化,使种子值不断变化的方法有多种,其中的一种方法是使种子值与时间相关,从而使 Random 的每个新实例,都产生不同的系列。在默认情况下,Random 类的无参数构造函数使用系统时钟生成其种子值[31][32]。

生成随机生成器的代码: Random random = new Random(); 2.图形化数字

设置验证码的目的是为了有效防止使用自动方式向服务器发送大量信息来进行攻击。虽然加入动态验证内容的验证码能较好地防止穷举法的攻击,但如果是纯数字或字符的验证码,还是容易被自动识别,因此防范作用仍然不够理想。如果以图片方式返回验证码,便可以有效地解决这个问题。图片是以点的形式呈现给用户的,有些软件无法识别这种格式的图片。当然,若需要更高的安全性,还可以给图片增加干扰,以加大识别图片的难度[33]。

12

本文来源:https://www.bwwdw.com/article/i177.html

Top