资源描述
西 南 交 通 大 学
毕业设计(论文)
模拟电子技术网上学习系统
年 级:2001级
姓 名:罗民喜
学 号:20010077
专 业:计算机科学与技术
指导老师:胡香荣
6.2005
院 系 信息科学与技术学院 专 业 计算机科学与技术
年 级 2001级 姓 名 罗民喜
题 目 模拟电子技术网上学习系统
指导教师
评 语
指导教师 (签章)
评 阅 人
评 语
评 阅 人 (签章)
成 绩
答辩委员会主任 (签章)
年 月 日
毕 业 设 计 任 务 书
班 级 计算机01-3 学 生 姓 名 罗民喜 学 号 20010077 专业 计算机科学与技术
发 题 日 期:2004 年12 月 20 日 完 成 日 期:2005 年 06 月 15 日
题 目 模拟电子技术网上学习系统
题目类型:工程设计 技术专题研究 理论研究 软硬件产品开发
一、 设计任务及要求
本设计用于本科各专业学习模拟电子技术的一个学习型网站,作为授课教师与学生网上交流的平台和窗口。主要内容如下:
(1)学习网站设计的相关理论;
(2)选择并熟练掌握流行的网页开发工具,了解网页设计中的技巧和方法;
(3)制作模拟电子技术课程的学习网站:相关的电子教案和学习软件的下载;
(4)以留言或论坛的方式提供一个交流的环境和平台;
(5)实现一个完整的网站,要求设计有特色和自己的独特创意,并撰写设计论文。
二、 应完成的硬件或软件实验
(1)网页设计与实现;
(2)为实现基于数据库的动态网页的编程和调试 。
三、 应交出的设计文件及实物(包括设计论文、程序清单或磁盘、实验装置或产品等)
(1)网站设计演示版(磁盘);
(2)设计论文 ;
(3)设计环境及注释 。
四、 指导教师提供的设计资料
西南交大微电子研究所网站: ;
西南交大《电子技术》精品课程网站: 。
五、 要求学生搜集的技术资料(指出搜集资料的技术领域)
网站设计的相关理论;
动态网页开发技术。
六、 设计进度安排
第一部分 前期资料搜集和网站的需求分析 (3 周)
第二部分 网站总体规划和具体实现 (10周)
第三部分 网站完善及论文撰写 (3 周)
评阅及答辩 (2 周)
指导教师: 年 月 日
系主任审查意见:
审 批 人: 年 月 日
西南交通大学计算机与通信工程学院 2005年制摘 要
随着计算机网络技术的不断发展,个人计算机的普及,利用网络资源进行教学辅导成为一种需求。
在线学习系统有效地对课堂教学起积极的辅助作用。从学生角度来看,系统完成了学生用户注册、用户登录等功能,并主要提供了教案以及学习软件的下载,构建留言本作为师生之间的交流互动平台。从教师的角度来看,系统完成了教案以及学习软件的上传、删除的界面设计,方便操作。教师访问留言本,并起着管理员的作用,可以对留言和用户进行管理。
为实现这些需求,本设计通过ASP.NET技术,利用HTML实现前台显示,C#语言编写后台代码,使用Microsoft SQL Server作为数据库,采用B/S结构设计了模拟电子技术在线学习系统。
本论文共分为四章,第一章绪论简单介绍了在线学习系统的相关知识,同时说明了为什么选用动态网页技术来实现本系统。第二章对在线学习系统的开发环境、开发语言以及数据库的基本知识的介绍。第三章介绍了系统的需求分析以及概要设计,提出系统的总体框架和模块功能,并介绍了数据库的表结构。第四章是对系统各个功能模块分别做详细的设计实现,给出了运行界面和主要的功能实现代码。在结束语中总结了开发过程中的经验和教训。
在论文中还结合了大量的图片和主要的功能实现代码进行说明,使读者能更好的了解这个设计的制作过程。
关键词:网上学习系统;ASP.NET;C#;SQL;IIS
Abstract
With the constant development of the network technology of computer and the popularization of the personal computer,it becomes a kind of demand to utilize resources of the network to carry on education and guidance.
The on-line study system plays positive auxiliary function on the classroom instruction effectively.For the students,the system has achieved the functions,such as students’ registration,user's log-in ,etc., and has mainly offered the download of the teaching notes and study software, has structured the message pad as the interdynamic platform of exchange between teachers and students. On the other hand for the teachers, the system has finishd the interface desighing that the uploading and deletion of teaching notes and study software.Teachers who visit the message pad as administrators , can manage messages and users. In order to realize these demands, this design achieves the simulation electron technological on-line study system through ASP.NET technology , with HTML to realize the frontstage, C# language for backstage code, Microsoft SQL Server as the database, and B/S structure.
This thesis is divided into four chapters, the introduction in Chapter One has introduced the relevant knowledge of the on-line study system briefly, and explained why dynamic webpage technology had been selected to realize this system. Chapter Two has introduced the creating environment and language and some basic knowledge about the database of on-line study system. Chapter Three has recommended demand analysis of the system and outline designing,and put forward the overall frame of the system and module function, and has introduced the form structure of the database.Chapter Four makes the detailed design to realize to each function module of the system separately, provides the operation interfaces and main function codes. Experience and lesson while developing have been summarized in the conclusion.
There are also a large number of pictures and main function codes in the thesis to enable reader understanding the course of this design.
Keyword: ASP.NET;C#; SQL Sever; On-line Study System; IIS.
目 录
第1章 绪论 1
1.1 网上学习系统概述 1
1.2 动态网页概述 1
1.2.1 什么是动态网页 1
1.2.2 为什么选用动态网页 2
第2章 开发环境及工具介绍 4
2.1 ASP.NET介绍 4
2.1.1 ASP.NET的优点 4
2.1.2 ASP.NET的运作流程 5
2.1.3 ASP.NET与ASP、C#之间的区别 6
2.2 C#语言 7
2.2.1 C#语言概述 7
2.2.1 C#语言的优点 7
2.3 SQL数据库简介 9
2.3.1 SQL Server 2000 的新特性 9
2.3.2常用到的SQL语句: 12
2.4 IIS介绍及安装说明 13
2.4.1 IIS介绍 13
2.4.2 IIS的安装与配置 13
第3章 系统需求分析及系统设计 17
3.1 系统需求分析 17
3.1.1分析需求 17
3.1.2 数据字典 21
3.1.2 性能要求 21
3.1.3系统运行要求 22
3.2 系统设计思路 22
3.3 概要设计 25
3.3.1 项目页面的概要设计 25
3.3.2 数据库概要设计 25
3.3.3 安全策略 28
第4章 系统详细设计 29
4.1 主要模块实现 30
4.1.1 注册模块实现 30
4.1.2 登录模块实现 32
4.1.3 教师文件上传模块 33
4.1.4 学生下载文件模块实现 35
4.1.5 留言本模块实现 37
4.2 访问数据库 40
4.2.1 ADO.NET的运作方式 40
4.2.2 ADO.NET的对象 41
4.2.3 系统连接数据库 42
4.3 结果测试 42
结束语 47
致 谢 48
参考文献 49
附录 50
第1章 绪论
1.1 网上学习系统概述
随着网络技术的发展,个人电脑的普及,利用网络进行远程教育成为教育发展的一个方向。基于网络的教学相对于传统的教学有两个明显的特征以及优势。
首先,师生可以突破时空的界限,师生间可以实现互动,反馈和交流都比传统的广播电视教学方便,有效率。
其次,可共享的丰富的网络教学、学习资源给师生提供了有利的学习支持。如今互联网上的共享学习资源非常丰富,很多电子教案、电子书籍、视频教程等等对学生的学习起到了强有力的支持作用。
基于以上特征,虽然网上学习并不能完全代替在教室里面老师面对面教授的传统教学方式,但是它却对传统的教学有着非常大的辅助作用。
教师在网上上传课件以及作业自测题。学生可以及时方便地获取自己需要的资源,还可以及时进行自测。而不用到教室里面去拷贝课件,去抄作业题目……节省了时间,提高了效率。
系统提供的留言本给师生们提供了一个互动交流的平台。每个学生在学习过程中都会遇到困难,而现如今如今学生数量是越来越大,不是每个人都有面对教师答疑的机会。网络给学生给老师都带来了方便:在线留言本的诞生,让学生的问题和建议都能及时反馈给老师,老师抽取一定的时间在线回复学生的问题,总结学生的问题,建议,以便在以后的教学工作中提高教学质量。而且还有效地避免了重复劳动:学生可以翻阅前面提出的问题,如果有人已经提出过相同的问题并已经解决过了,就可以解决了自己的问题或者从中学到更多的知识,从而避免提出重复的问题导致老师做重复的劳动。
1.2 动态网页概述
1.2.1 什么是动态网页
伴随着网络的出现,网页逐渐融入人们的生活。快速及时的新闻浏览,五彩缤纷的网上信息,网络与人们的生活息息相关,于是世界上又出现了第三媒体——Internet。制作网页是学习者获取学习信息的重要手段,尤其是在教育领域,在素质教育与终身教育成为必然的今天,人们对信息的需求有了更新,更高的要求,而网页由于本身所具有的信息量大,传递快速,没有时空限制等特点恰好满足这种要求。所以网页也逐渐成为一种新兴的教育资源。
网页分为静态网页和动态网页
静态网页是指不应用程序而直接或间接制作成html的网页,这种网页的内容是固定的,修改和更新都必须要通过专用的网页制作工具,比如Dreamweaver、Frontpage等,而且只要修改了网页中的一个字符或一个图片都要重新上传一次覆盖原来的页面。
动态网页是指使用网页脚本语言,比如php、asp、、jsp等,通过脚本将网站内容动态存储到数据库,用户访问网站是通过读取数据库来动态生成网页的方法。网站上主要是一些框架基础,网页的内容大都存储在数据库中。当然可以利用一定的技术使动态网页内容生成静态网页,这样有利于网站的优化,方便搜索引擎搜索。
动态网页,与网页上的各种动画、滚动字幕等视觉上的“动态效果”没有直接关系,动态网页也可以是纯文字内容的,也可以是包含各种动画的内容,这些只是网页具体内容的表现形式,无论网页是否具有动态效果,采用动态网站技术生成的网页都称为动态网页。动态网页的一般特点简要归纳如下:
1. 动态网页以数据库技术为基础,对数据的操作存储都可以使用数据库。可以大大降低网站维护的工作量;
2. 采用动态网页技术的网站可以实现更多的功能,如用户注册、用户登录、在线调查、用户管理、订单管理等等;
3. 动态网页实际上并不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页;
1.2.2 为什么选用动态网页
静态网页和动态网页最大的区别就是网页是固定内容还是可在线更新内容。所谓的静态,就是内容固定,不能在线更新。如果本系统用静态网页技术来实现,那么要在系统中更新文件信息,上传新文件,那就必须重新制作一个网页,做一个相关的页面,列出文件的相关信息等等,非常浪费时间和资源。
而用动态网页技术来实现,只需要连接数据库,在页面上绑定数据中的各项信息。在更新系统中的信息时,更新数据库中的数据,即可在线更新页面信息。很容易就可以达到目的。
模拟电子技术在线学习系统,主要是实现相关电子教案、学习软件的下载以及以留言或论坛的方式提供一个交流的环境和平台。其内容要求在线随时可以更新,因此选择动态网页技术。
第2章 开发环境及工具介绍
2.1 ASP.NET介绍
ASP.NET 建立在 .NET Framework 的编程类之上,是一种基于服务器的功能强大的技术,它提供了一个 Web 应用程序模型,并且包含使生成 ASP Web 应用程序变得简单的控件集和结构,为异常强大的.NET开发环境提供基于Web的访问。ASP.NET 包含封装公共 HTML 用户界面元素(如文本框和下拉菜单)的控件集。但这些控件在 Web 服务器上运行,并以 HTML 的形式将它们的用户界面推送到浏览器。
2.1.1 ASP.NET的优点
与以前的 Web 开发模型相比,ASP.NET 有以下一些重要的优点:
1. 增强的性能。ASP.NET 是在服务器上运行的编译好的公共语言运行库代码。与被解释的前辈不同,ASP.NET 可利用早期绑定、实时编译、本机优化和缓存服务。这相当于在编写代码运行之前便显著提高了性能。
2. 世界级的工具支持。ASP.NET 框架补充了 Visual Studio 集成开发环境中的大量工具箱和设计器。WYSIWYG 编辑、拖放服务器控件和自动部署只是这个强大的工具所提供功能中的少数几种。
3. 威力和灵活性。由于 ASP.NET 基于公共语言运行库,因此 Web 应用程序开发人员可以利用整个平台的威力和灵活性。.NET 框架类库、消息处理和数据访问解决方案都可从 Web 无缝访问。ASP.NET 也与语言无关,所以可以选择最适合应用程序的语言,或跨多种语言分割应用程序。另外,公共语言运行库的交互性保证在迁移到 ASP.NET 时保留基于 COM 的开发中的现有投资。
4. 简易性。ASP.NET 使执行常见任务变得容易,从简单的窗体提交和客户端身份验证到部署和站点配置。例如,ASP.NET 页框架使您可以生成将应用程序逻辑与表示代码清楚分开的用户界面,和在类似 Visual Basic 的简单窗体处理模型中处理事件。另外,公共语言运行库利用托管代码服务(如自动引用计数和垃圾回收)简化了开发。
5. 可管理性。ASP.NET 采用基于文本的分层配置系统,简化了将设置应用于服务器环境和 Web 应用程序。由于配置信息是以纯文本形式存储的,因此可以在没有本地管理工具帮助的情况下应用新设置。此“零本地管理”哲学也扩展到了 ASP.NET 框架应用程序的部署。只需将必要的文件复制到服务器,即可将 ASP.NET 框架应用程序部署到服务器。不需要重新启动服务器,即使是在部署或替换运行的编译代码时。
6. 可缩放性和可用性。ASP.NET 在设计时考虑了可缩放性,增加了专门用于在聚集环境和多处理器环境中提高性能的功能。另外,进程受到 ASP.NET 运行库的密切监视和管理,以便当进程行为不正常(泄漏、死锁)时,可就地创建新进程,以帮助保持应用程序始终可用于处理请求。
7. 自定义性和扩展性。ASP.NET 随附了一个设计周到的结构,它使开发人员可以在适当的级别“插入”代码。实际上,可以用自己编写的自定义组件扩展或替换 ASP.NET 运行库的任何子组件。实现自定义身份验证或状态服务一直没有变得更容易。
8. 安全性。借助内置的 Windows 身份验证和基于每个应用程序的配置,可以保证应用程序是安全的。
2.1.2 ASP.NET的运作流程
程序设计人员可以使用最原始的记事本(Notepad)文本编辑程序来编写ASP.NET程序,也可以通过Visual Studio.NET的集成环境来编写ASP.NET程序。当ASP.NET的网页第一次执行时,会先进行即时编译(Just-In-Time Complier),第二次以后的执行,就会都以编译过的机器码来执行,除非该程序曾经被修改过。
MSIL
机器码
ASP.NET程序
第一次执行 编译 编译 执行
第二次执行
图2-1 ASP.NET的运作流程
1. 第一次执行 当用户从浏览器向网站服务器(Web Server)发出一个浏览ASP.NET网页的请求(Request)时,网站服务器便会交给xspisapi.dll来处理。服务器会先检查输出缓存(Output Cache)中是否有这个网页,或这个网页是否已经被编译成以IL中间语言表示的DLL文件,以及是否被放置在一个叫codegen的目录。若是 在输出缓存找不到这个网页或是被编译过的DLL文件,这时Parser便开始启动,将这个网页解析(Parse)成原始程序代码(Source Code),然后由编译器(Compiler)编译成DLL文件并将其放入前面提到的codegen目录中。这时HTTP Runtime会载入这个DLL文件,并以JIT即时编译的方式产生二进制的程序代码执行。经JIT编译过的二进制程序代码(Binary Code)会被缓存到内存(Memory)中,并且程序执行结果也会被缓存在输出缓存(Output Cache)中,再将结果传回到用户的浏览器上显示结果。
2. 第二次执行 若是其他的用户再次对同一个网页发出请求时,服务器便从输出缓存中找出网页或是已编译过的DLL文件。此时因为先前的第一次执行,似的编译过的二进制代码已经缓存在内存中,便省略掉解析和编译的步骤。服务器找到了已经编译的DLL文件,就会直接从编译过的DLL建立对象。这时会对比用户区存的网页名称和输入的参数是否相同,如果都一样就会直接将输出缓存里的内容回传给用户,因此其速度是非常之快。若是只有网页名称相同,但是输入参数不通,则会使用在内存中的HTTP Runtime针对该程序代码带入不同的参数再执行一次,然后将执行结果传到输出缓存在回传给用户。
3. 网页被修改时 如果在程序执行的过程中,程序设计员修改了ASP.NET网页的程序代码,负责执行的HTTP Runtime就会侦测缓存到内存中的程序代码与原始文件的程序代码版本不一致,因为更新的时间不同。若用户是在版本更新前已经想网站服务器发出请求,则网站服务器就会以缓存中的程序代码。等到下一位用户再发出请求时,就回到前面提到的“第一次执行”时的情况,重新再解析和编译并执行,这时便可以看到网页更新后的新的执行结果了。
由于ASP.NET响应客户浏览器的请求时先把程序编译成MSIL(微软中间语言),所以在第二次响应同样的请求时的响应速度会大大提高。
2.1.3 ASP.NET与ASP、C#之间的区别
u ASP:用于创建Web页面的服务器端技术,它只允许使用脚本语言(虽然可以使用由Windows支持的任何一种脚本编写语言,但主要使用JavaScript或VBScript)。用户给Web页面添加ASP代码的方法与再客户端脚本中添加代码的方法相同,这样做会导致诸如代码杂乱、功能有限等问题。
u ASP.NET:ASP.NET允许用户使用有很大选择余地的功能完善的变成语言,它页允许用户充分使用有巨大潜力的.NET Framework。ASP.NET可以帮助用户利用有.NET Framework支持的任何一种变成语言创建更快、更可靠的动态Web页面。ASP.NET不是一门语言,而是一门技术,该技术通过编程语言访问。在本系统中,用C#创建Web页面,利用ASP.NET来驱动它。
u C#:一种变成语言,用于在ASP.NET中编写代码。
2.2 C#语言
2.2.1 C#语言概述
C#是一种现代、面向对象的语言,它使程序员能够为Microsoft.NET平台快速构造大量的应用程序,它提供充分利用计算和通信功能的工具和服务。对开发大范围的组建——从高级商业到系统级应用程序——来说,C#是一个很好的选择。使用简单的C#语言构造,这些组建能够被转换到Web服务,允许通过Internet从运行在所有操作系统的任何一种语言调用它们。
2.2.1 C#语言的优点
1、开发效率与安全性 目前的各种基于WEB应用的软件开发向传统的商业应用软件开发提出了挑战,开发者被组织起来开发具有更短开发周期的各种应用,并且需要能够提供更好的可修正性,而不是建立一个可以长久使用的软件系统。
C#的设计正是充分考虑了这些因素。C#会帮助开发者通过更少的代码完成相同的功能,并且能够更好的避免错误发生。
2、与WEB开发相结合 新的开发模式意味着需要更好的利用现有的各种WEB标准,例如HTML,XML,SOAP(简单对象存取协议)。现存的开发工具是在Internet出现前或是未得到充分应用前出现的,所以都不能很好的适应目前WEB技术的开发需要。
C#开发者可以方便的在M$网络平台上扩展自己的应用。C#可以将任何组件转变为WEB服务,并且可以被运行于Internet上的任何平台的任何应用调用,重要的是C#对这一特性提供了内置的支持。
更重要的一点,WEB服务框架可以让任何WEB服务都看起来类似于C#的内置对象,所以可以让开发人员在开发过程中继续使用他们已经具备的面向对象的开发方法和技巧。
此外C#还拥有许多其他特性使自己成为最出色的Internet开发工具。例如,XML目前已经成为网络中数据结构传送的标准,为了提高效率C#将允许直接将XML数据映射成为结构。这样的话可以有效的处理各种数据。
3、减小开发中的错误 即使是优秀的C/C++开发人员都难于避免在编码过程出现一些常见错误,比如错误的初始化一个变量,而这种错误将有可能导致各种不可以预知的错误,并且难于被发现。如果一旦错误在发现前被投入生产环境,排除这些错误将会付出昂贵的代价。而C#的先进设计思想可以消除C/C++开发中的许多常见错误,比如:
垃圾收集机制将减轻开发人员对内存的管理负担。
C#中的变量将自动根据环境被初始化。
变量是类型安全的。
使用C#将会使开发人员更加轻易的开发和维护各种商业应用。
4、提供内置的版本支持来减少开发费用 更新软件系统中的组件(模块)将会是一种容易产生错误的工作,在代码修改过程中可能对现存的软件产生影响。为了帮助开发人员处理这些问题,C#在语言中内置了版本控制功能。例如:函数重载必须被显式的声明(这种情况在C++和JAVA中时常发生),这可以防止代码级错误和保留版本化的特性。另一个相关的特性是接口和接口继承的支持。这些特性可以保证复杂的软件可以被方便的开发和升级。
5、功能强、易于表现、灵活 为了更好实现公司的各种商业计划,在软件系统中必须在商业流程和软件实现间有紧密的联系。但是大多数的开发语言都不能轻易的将各种应用逻辑与代码相联系。例如,开发人员会使用各种注释来标明各种类所代表抽象商业对象。C#允许使用在任何对象上使用预定义数据或是经过扩展的元数据。在系统结构中可以使用区域属性,并且将这些属性添加到类,接口或者其他元素上。开发者可以独立的测试各种元素上的属性。这将会使得一些如同收集区域中对象属性,或是编写自动工具来保证的区域中的类,接口是否被正确定义的类似工作变得简单。
6、可扩展的协作能力 虽然管理性强,透明型好,类型安全的开发环境对大多的商业应用都适合,但现实的经验告诉我们一些应用出于执行效率或是与现存的应用接口API相结合的原因需要使用原有的开发方式来进行编码。也正是如此,许多C/C++开发人员宁愿放弃使用一些可以提高开发效率的开发工具。C#通过下面的方法来解决这些问题:
u 内置支持COM模型和Windows平台API。
u 允许有限制的使用指针。
在C#中任何对象都会自动成为COM对象,开发者不再需要显式的实现IUnknown和其他一些COM接口,同时也可以方便而自然的使用现存的COM对象,而不需要关心这些COM对象是否使用C#开发。
对于使用C#的开发人员来讲,C#允许开发人员调用OS所提供的API。在经过标记的代码区域内使用指针并手工管理内存分配。这可以让C/C++开发人员更快的熟悉和转向C#和并且不需要放弃在以前开发中所形成的开发习惯,而且以前的C/C++代码依然可以被重用。无论是对于COM的支持还是对于API调用的支持都是为了为开发人员提供足够的开发控制能力。
7、总结 C#是一种先进的,面向对象的开发语言,并且能够方便快捷的MS网络平台建立各种应用和建立能够在网络间相互调用的WEB服务。从开发语言的角度来讲C#可以更好帮助开发人员避免错误,提高工作效率,而且同时具有C/C++的强大功能。
2.3 SQL数据库简介
SQL Server 2000是Microsoft公司推出的SQL Server数据库管理系统,具有使用方便,可伸缩性好,与相关软件集成程度高等特点,可跨越从运行Microsoft Windows98 的膝上型电脑到运行Microsoft Windows 2000的大型多处理器的服务器等多种平台使用。
SQL Server 2000全面扩展了SQL Server 7.0 的性能、可靠性和易用性,使它成为一个杰出的数据库平台,可用于大型联机事务处理、数据仓库,以及电子商务等。
2.3.1 SQL Server 2000 的新特性
1.数据库增强 SQL Server 2000引进了数据库和服务器增强功能,以及其它一些新的特性:
1) XML语言支持:关系数据库引擎可以返回XML的文档数据,XML数据可以用于插入删除和更新数据。XML是Extensible Markup Language(扩展标示语言)的缩写,XML语言可用于描述一个数据集的内容,以及数据如何在Web页中显示或输出到某个设备
展开阅读全文