1、本科毕业论文(20 届)离散数学课程网站的设计与分析所在学院专业班级 计算机科学与技术学生姓名指导教师完成日期摘 要随着计算机网络技术的发展,网络教学不断在教育界迅速兴起,网络技术和多媒体教育技术的发展正以惊人的速度改变着人们的工作、学习和生活的方式,同时,也正在引起教育领域的深刻变革,促使教育体制和模式发生新的重大的飞跃。随着网络设施的完善、个人计算机的普及,网络教学充分发挥了当今最新的计算机技术、网络技术、多媒体技术等,使教师的教学越来越灵活、生动、形象,是学生学习的时间、空间更加自由、更加自主,增加了师生间交流的机会。本网站通过 ASP.Net 技术实现了网页的动态与静态相结合,用户可以
2、通过该网站查阅课程信息、主讲教师信息、教学计划、教学大纲、多媒体课件、电子教案,能在线进行留言提问或回复留言等功能。关键字:重点课程网;多媒体教学;多媒体课件; 交互性。AbstractAlong with the development of computer network technology, network teaching has been the rapid rise in the education sector, the development of network technology and multimedia educational technology is cha
3、nging at an alarming rate peoples work, learning and way of life, while also being caused by the field of education profound change, to promote the education system and the mode of occurrence of new major leap forward. With the improvement of network facilities, the popularity of the personal comput
4、er, online teaching, give full play to todays latest computer technology, network technology, multimedia technology, to make teachers teaching more and more flexible, vivid image of the student learning time and space more freedom, more autonomy, and increase the opportunities for exchanges between
5、teachers and students.This website uses the ASP.Net web technology to achieve a combination of dynamic and static, the user can access course information via the website, speaker teachers information, lesson plans, curricula, multimedia courseware, electronic lesson plans, can be carried out online
6、message or reply to a message question other functions.Key words: Network of key curriculum; Multimedia Teaching; Multimedia courseware Interactivity目 录1 引言 .12 开发环境及技术简介 .22.1 ASP.net 技术 .22.2 三层架构 .32.2.1 三层架构原理 .32.2.2 各层作用 .42.2.3 区分方法 .42.2.4 三层架构的优点 .42.3 数据库技术 .52.3.1 数据库(Database) .52.3.2 SQ
7、L .62.4 IIS .62.5 Web 服务的发展 .62.5.1 主机/终端结构 .62.5.2 客户机/服务器结构 .72.5.3 浏览器/服务器结构 .73 需求分析 .83.1 任务描述 .83.2 功能需求 .93.3 数据分析 .103.4 用例图 .113.4.1 用户管理 .113.4.2 留言管理 .12- 2 -3.4.3 文件管理 .134 数据库设计 .144.1 E-R 图 .154.2 数据库关系图 .164.3 表说明 .165 Web 系统设计与开发 .195.1 系统设计 .195.2 系统模块设计与开发 .195.2.1 系统数据处理模块 .195.2.
8、2 系统模板 .206 结论 .27致谢 .28参考文献 .2911 引言在 21 世纪这个信息高度发达,并且高速流通的时代,计算机的普及以及计算机网络技术的应用,让大量普通人能够有机会接触到比以往更多的知识。对于一门重点课程,建立一个自己的重点课程网站是十分必要的事情,这不仅能使更多的人享用宝贵的教育资料源,同时也对于提高学生自学能力,有相当大的帮助。当前的网络课程大部分都功能齐全完整,表现手段向综合型、立体型发展,信息量大、素材多,界面友好清新明快,在实验教学和教学设计方面也有所突破,但仍有很多问题,如缺乏师生在线交流,学生不能对一门课程的整体把握而导致不能正确制定学习计划。离散数学是研究
9、离散量的结构及其相互关系的数学学科,是现代数学的一个重要分支。它在各学科领域,特别是计算机技术领域有着广泛的应用。同时,离散数学也是计算机学科很多课程的基础课程,如数据结构、算法设计与分析、操作系统、人工智能等。为了更好的掌握后续这些重要课程,提高抽象思维和逻辑推理能力,在学习离散数学这门课程的过程中一定要掌握方法,通过课上课下学习掌握基础知识和思维方式。三层架构是软件体系架构中设计中最简单、最常见的一种架构模式。三层架构主要分为数据访问层(DAL) 、业务逻辑层(BLL) 、表现层(UI)三层。开发人员可以只关注整个结构中的其中某一层来进行分析设计,也可以很容易的用新的实现来替换原有层次的实
10、现,同时三层架构降低了不同层之间的依赖,有利于标准化和各层逻辑的复用。三层架构在后期维护的时候,极大地降低了维护的成本和时间。随着技术的发展,传统的 HTML 静态网页已不能满足人们的需要,动态网页技术孕育而生,ASP.Net 技术是目前最为流行的动态网页技术。ASP 是最常用的网页技术之一,ASP.Net 是 ASP 的升级版,在技术上有很大的飞跃。而 ASP.Net 又从 VB.Net 过渡到了C#.Net,使包括表单提交客户端身份验证的一些常用任务变得简单易行,同时也使界面变得美观,对信息的管理更加高效、及时,提高了工作效率。本重点课程网就是基于 Internet 跟多媒体计算机的这种图
11、文并茂,易于学生理解、学习的优势产生的,使教学内容而不受时间和空间的限制,学生可以根据自己的需要选择要学习的内容。22 开发环境及技术简介本设计是 Windows 7 操作系统下开发的,采用 ASP.net 语言的 Web 系统开发技术,基于三层架构的开发流程,开发工具采用 Visual Studio 2010 和 SQL Sever 2008,运行环境为 IIS。所设计的离散数学重点课程网包括自主学习功能模块和互动交流模块,其中自主学习模块包括课程介绍、教师介绍、教学大纲、教学计划、多媒体课件、电子教案、课后习题等模块,互动交流主要是指留言及留言管理模块、用户管理等模块。下面在本章中对以上提
12、到的技术和工具分别加以简单介绍。2.1 ASP.net 技术ASP 是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术。指 Active Server Pages(动态服务器页面) ,运行于 IIS 之中的程序。ASP.net 是一种建立在通用语言上的程序构架,能被用于一台 Web 服务器来建立强大的 Web 应用程序。ASP.net 提供许多比现在的 Web 开发模式强大的的优势。a) 执行效率的大幅提高ASP.net 是把基于通用语言的程序在服务器上运行。不像以前的 ASP 即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比一条一
13、条的解释强很多。b) 世界级的工具支持ASP.net 构架是可以用 Microsoft(R)公司的产品 Visual S 开发环境进行开发,WYSIWYG(What You See Is What You Get 所见即为所得)的编辑。这些仅是ASP.net 强大化软件支持的一小部分。c) 强大性和适应性因为 ASP.net 是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在 Web 应用软件开发者的几乎全部的平台上。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到 ASP.net 的 Web 应用中。ASP.net 同时也是 language-independe
14、nt 语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有 C#(C+和 Java 的结合体) ,VB,Jscript,本重点课程网主要用到了 C#和 Jscript。将来,这样的多种程序语言协同工作的能力保护您现在的基于 COM+开发的程序,能够完整的移植向 ASP.net。d) 高效可管理性 使用一种字符基础的,分级的配置系统,虚拟服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。这种被称为“Zero Local Administration“的哲学观念使 的
15、基于应用的开发更加具体和快捷。一个 的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须的文件,不需要系统的重新启动,一切就是这么简单。多处理器环境的可靠性 已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。即使你现在的 应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的效能,但现在的 ASP 却做不到这一点。自定义性和可扩展性 设计时考虑了让网站开发人员可以在自己的代码中自己定义“plug-in“的模块。可以通过在现有 ASP 应用程序中逐渐添加 功能,随时增强 ASP 应用程序的功能。
16、是一个已编译的、基于 .NET 的环境,把基于通用语言的程序在服务器上运行。将程序在服务器端首次运行时进行编译,比 ASP 即时解释程序速度上要快很多.而且是可以用任何与 .NET 兼容的语言(包括 Visual Basic .NET、C# 和 JScript .NET.)创作应用程序。另外,任何 应用程序都可以使用整个 .NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。 可以无缝地与 WYSIWYG HTML 编辑器和其他编程工具(包括 Microsoft Visual Studio .NET)一起工作。这不仅使得
17、Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 Web 页的 GUI 和完全集成的调试支持。 2.2 三层架构三层架构(3-tier architecture)将整个业务应用划分为:表现层(UI) 、业务逻辑层(BLL) 、数据访问层(DAL) 。区分层次的目的即为了“高内聚,低耦合”的思想。其分层结构如下图 2.1 所示:42.2.1 三层架构原理3 个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层” ,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台
18、机器就是三层体系结构,也不仅仅有 B/S 应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过 COM/DCOM 通讯与中间层建立连接,再经由中间层与数据库进行交互。2.2.2 各层作用 数据访问层(DAL)主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务。 业务逻辑层(BLL)主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数
19、据业务逻辑处理,如果说数据层是积木,那逻辑层就是对这些积木的搭建。 表示层(UI)5主要表示 WEB 方式,也可以表示成 WINFORM 方式,WEB 方式也可以表现成 aspx,如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。2.2.3 区分方法 数据访问层(DAL)主要看你的数据层里面有没有包含逻辑处理,实际上他的各个函数主要完成各个对数据文件的操作。而不必管其他操作。 业务逻辑层(BLL)主要负责对数据层的操作。也就是说把一些数据层的操作进行组合。 表示层(UI)主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问。2.2.4 三层架构的优点从开
20、发角度和应用角度来看,三层架构比双层或单层结构都有更大的优势。三层结构适合群体开发,每人可以有不同的分工,协同工作使效率倍增。开发双层或单层应用时,每个开发人员都应对系统有较深的理解,能力要求很高,开发三层应用时,则可以结合多方面的人才,只需少数人对系统全面了解,从一定程度工降低了开发的难度。三层架构属于瘦客户的模式,用户端只需一个较小的硬盘、较小的内存、较慢的 CPU就可以获得不错的性能。相比之下,单层或胖客户对面器的要求太高。三层架构的另一个优点在于可以更好的支持分布式计算环境。逻辑层的应用程序可以有多个机器上运行,充分利用网络的计算功能。分布式计算的潜力巨大,远比升级 CPU有效。三层架
21、构的最大优点是它的安全性。用户端只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了。另外三层架构还可以支持如下功能:Remote Access(远程访问资料),例如可透过Internet 存取远程数据库;High Performance(提升运算效率)解决集中式运算(Centralize)及主从式架构(Client-Server)中,数据库主机的运算负担,降低数据库主机的 Connection Load,并可藉由增加 App Server 处理众多的数据处理要求,这一点跟前面讲到的分布式计算提高运算能力是一个道理;Client 端发出 Request(工作要求)后,便可离线,交由 App Server 和 DataBase Server 共同把工作完成,减少 Client 端的等待时间。