多媒体教学网站设计与实现
摘 要
随着社会经济的不断发展和人民生活品质的飞速提高,使得计算机和网络在社会上普及和推广都得到了很大的发展。而作为IT和WWW技术发展的一个产物,网上教学越来越被人们接受。而推动社会发展和技术进步最基础的社会分工,就是教育系统,所以,要进一步全民推广网上教学及进一步促进网上教学的发展,必须做好网上教学的基础教育工作。而这份工作就责无旁贷地落在教育部门,特别是大学的肩上了。
本多媒体教学网站主要是为在校学习网上教学的学生提供一个网络平台,可以让同学无论何时何地,只要有网络的地方就可以进行网上学习,自行安排学习时间,不仅突破了学校授课的地点时间的局限性,更节约了学校的各种资源,而且还节省了老师同学的时间,使同学和老师网上的交流更加自由方便。本系统采用ASP+SQL Sever 2000作为开发工具。采用B/S构架,基于Microsoft IIS6.0和Microsoft SQL Server数据库开发,安装及操作都十分方便,且对服务器的硬件要求亦不是很大。使系统具有很好的可移植性,并且能保证建成的系统具有良好的稳定性、可扩充性。系统设计按标准化、规范化,分层设计,构件化实现。前台主要实现课程的显示及查询、试题的在线测试及答案下载、会员注册、登录以及最新课程,教师的介绍,并且还为用户提供了在线交流的平台等功能;后台主要用于数据库的管理,管理员对课程的添加、删除、更新及对注册会员和新闻的管理、系统的维护等功能。
关键词:多媒体教学网站,ASP,SQL,交互性。
Web site design and implementation of multimedia teaching
Abstract
With the continuous economic development and people's quality of life rapidly improved, so the computer and network popularization and promotion in the community have been greatly developed. The online learning is as a product of IT and WWW technology development; more and more people accept it. And promote social development and technical progress the most basic social division of labor, that is, the education system. Therefore, to further promote national online teaching and further promote the development of online education, must be done online education foundation of teaching work. And this work is duty-bound to fall on the education sector, especially the universities shoulders.
This multi-media teaching site mainly for the online teaching in school for students to provide a network platform that allows students wherever and whenever, as long as there is a network where you can learn online, to arrange for study time, not only broke the school to teach place time limitations, but save the resources of schools, but also saves the teacher time students, so students and teachers to facilitate online communication more freely. The system uses ASP + SQL Sever 2000 as a development tool. By B / S architecture, based on Microsoft IIS6.0 and Microsoft SQL Server database development, installation and operation are very convenient, and hardware requirements on the server is not great. The system has good portability, and can ensure the completion of the system has good stability and scalability. System according to standardized, hierarchical design, and enterprise. To achieve the display of the main course front and inquiries, test questions and answers online to download 、 Member registration, login, and the latest curriculum, teacher presentation, and also provides users with features such as online communication platform; background is mainly used for database management, administrator of the program to add, delete, update and information on registered members and management, system maintenance.
Key Words:Multimedia web site, ASP, SQL, interactive
目 录
1. 系统概述
1.1本课题的研究意义
网络教学是在Internet上进行的活动,即利用计算机网络进行服务、信息等交流,而交流就涉及到了网站设计和网络学习,网络教学作为一门独立的专业课程,已初具规模,网络学习也已得到了很好的发展。一些教学网站已经成功地给人们的生活带来了巨大的影响,网络学习也为人们的生活带来了巨大的改变,人们足不出户就可以在线学习和掌握自己所需要的知识,也可以与专业的权威教授进行交流,解答疑难问题。全国各大高校也应全球化下的信息技术的高速发展的需要,都相应的开设了网上精品课堂,而怎样使用好网站进行网络学习,就需要进行这方面的学习了。本课题的选择就是针对现今世界网络学习的发展对现代人的要求而来,可以帮助人们更好的通过对多媒体这门课程的学习,对网上教学专业课程的有关知识有所了解和掌握,更好的利用现代网络技术,使现代生活更加的便捷美好。全球化下的信息技术的高速发展,网上教学的发展也与日俱增。网上教学网站作为网络学习的桥梁,其设计和实现正如传统经济下企业店铺的经营和管理,凭借自身各方面的优势,网站在沟通和促进整个行业的发展方面都有至关重要的作用。
1.2本论文的目的、内容及发展趋势
多媒体网站规划与设计是网上教学需要的归纳,总结的结果。一旦网站设计成功,同学们就可以随时随地,在只要拥有网络的条件下,学习网上教学的专业知识。还有就是,完全可以不用特意地去找专业的老师,花大把的钱去在有限的时间里去速成,在这里,只需要在留言板上写下你的疑问,专业的权威教授就会尽快地解答你的问题。总之一句话,网站的建设,完全是为了您的方便。
本课程的建设是基于网络快速发展的今天,为同学提供一个网络平台,可以让同学无论何时何地,只要有网络的地方就可以进行网上学习,自行安排学习时间,不仅突破了学校授课的地点时间的局限性,更节约了学校的各种资源,而且还节省了老师同学的时间,网上的交流让老师同学更加的自由方便。
课程采用同步练习的方式使同学们对所学知识掌握的更加灵活更加扎实。
同步练习的习题都是经验丰富的教授通过多年的教学精心编写,更有很多与实践相结合的案例分析。
课程还采用在线测试的方式使同学及时了解自己的学习状况,及时解决问题。
多媒体课程网站的建设,同学会对这门课程有一个全新的认识和学习,成为网上教学专业领域的佼佼者,不但因为对这门课程的学习提高对网上教学专业知识的掌握,而且还能提高自己的自学能力和查找资料的能力。
1.3作者的主要贡献
为求能利用笔者所学习到的网络知识,将多媒体课程的知识利用网络平台展示给同学及所有学习本课程的人们,并利用网上教学的形式来进行学习,笔者对本系统的设计规划和调试做了全程掌控和操作,并在设计时尽力考虑到有些操作能力不太好的朋友,系统设计遵循功能齐全化,操作重新简约化。
2. 网站系统概述
2.1网上教学教育模型现状
目前国内外所进行的网上教学教育,要么是照本宣科地捧着书进行手把手地教,要么是利用一些较初级的局域网版的实际操作,但是由于不太切合实际需求,所以基本没能把网上教学教育的要义很好的传授给学生。
这就要求网上教学教育从教者们能进行一个新的更适合的教育系统,以更好的做好网上教学基本教育需求。
2.2网站系统开发方法介绍
本系统拟采用B/S模式进行构架。作为一种软件构架模式,B/S与C/S有着很大的区别。
B/S结构:(Browser/Server,浏览器/服务器模式):是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。
客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互。
B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易。
B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了交互性,能进行局部实时刷新。
C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、 Informix或 SQL Server。客户端需要安装专用的客户端软件。B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。浏览器通过Web Server 同数据库进行数据交互。
2.2.1 B/S模式的优点和缺点
B/S结构的优点:
(1)、具有分布性特点,可以随时随地进行查询、浏览等业务处理。
(2)、业务扩展简单方便,通过增加网页即可增加服务器功能。
(3)、维护简单方便,只需要改变网页,即可实现所有用户的同步更新。
(4)、开发简单,共享性强
B/S 模式的缺点:
(1)、个性化特点明显降低,无法实现具有个性化的功能要求。
(个性化的要求取决以软件框架,而非架构,分享B/S软件就蛮灵活)
(2)、操作是以鼠标为最基本的操作方式,无法满足快速操作的要求。
(如果辅助于插件,照样可以用键盘快速操作 )
(3)、页面动态刷新,响应速度明显降低。
(分享软件用分页保证响应速度稳定)
(4)、功能弱化,难以实现传统模式下的特殊功能要求。
2.2.2 C/S 模式的优点和缺点
C/S 模式的优点:
(1)、由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快。
(当数据少时,速度与B/S软件一般;当数据超过十万时,C/S软件变慢,B/S
软件能维持稳定速度)
(2)、操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求。
(似乎可以随意排列界面,但遇到第二客户要求时又要从头做起,不叫灵活)
(3)、C/S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程。
C/S 模式的缺点:
(1)、需要专门的客户端安装程序,分布功能弱,针对点多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置。
(2)、兼容性差,对于不同的开发工具,具有较大的局限性。若采用不同工具,需要重新改写程序。
(3)、开发成本较高,需要具有一定专业水准的技术人员才能完成。
(就开发企业管理软件而言,C/S开发人员比B/S开发人员的成本低了许多)
2.2.3 B/S架构软件的优势与劣势
(1)、维护和升级方式简单
目前,软件系统的改进和升级越来越频繁,C/S系统的各部分模块中有一部分改变,就要关联到其它模块的变动,使系统升级成本比较大。B/S与C/S处理模式相比,则大大简化了客户端,只要客户端机器能上网就可以。对于B/S而言,开发、维护等几乎所有工作也都集中在服务器端,当企业对网络应用进行升级时,只需更新服务器端的软件就可以,这减轻了异地用户系统维护与升级的成本。如果客户端的软件系统升级比较频繁,那么B/S架构的产品优势明显——所有的 升级操作只需要针对服务器进行,这对那些点多面广的应用是很有价值的,例如一些招聘网站就需要采用B/S模式,客户端分散,且应用简单,只需要进行简单的浏览和少量信息的录入。
(2)、系统的性能
在系统的性能方面,B/S占有优势的是其异地浏览和信息采集的灵活性。任何时间、任何地点、任何系统,只要可以使用浏览器上网,就可以使用B/S系统的终端。不过,采用B/S结构,客户端只能完成浏览、查询、数据输入等简单功能,绝大部分工作由服务器承担,这使得服务器的负担很重。采用C/S结构时,客户端和服务器端都能够处理任务,这虽然对客户机的要求较高,但因此可以减轻服务器的压力。而且,由于客户端使用浏览器,使得网上发布的信息必须是以HTML格式为主,其它格式文件多半是以附件的形式存放。而HTML格式文件(也就是Web页面)不便于编辑修改,给文件管理带来了许多不便。比如说很多人每天上“新浪”网,只要安装了浏览器就可以了,并不需要了解“新浪”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用windows操作系统,但用户的电脑本身安装的大部分是windows操作系统。
(3)、系统的开发
C/S结构是建立在中间件产品基础之上的,要求应用开发者自己去处理事务管理、消息队列、数据的复制和同步、通信安全等系统级的问题。这对应用开发者提出了较高的要求,而且迫使应用开发者投入很多精力来解决应用程序以外的问题。这使得应用程序的维护、移植和互操作变得复杂。如果客户端是在不同的操作系统上,C/S结构的软件需要开发不同版本的客户端软件。但是,与B/S结构相比,C/S技术发展历史更为“悠久”。从技术成熟度及软件设计、开发人员的掌握水平来看,C/S技术应是更成熟、更可靠的。
2.2.4 B/S、C/S结构软件技术上的比较
其实,无论是B/S还是C/S,他们都不新鲜。C/S(Client server,客户端/服务器)技术从上世纪90年代初出现至今已经相当成熟,并得到了非常广泛的应用,其结构经历了二层C/S、三层C/S的更迭。B/S(Browser server,浏览器/服务器)技术则是伴随着Internet的普及而来的。有必要说明的是,B/S最早并不叫“B/S”,此类应用国外通常叫Web应用,是国内一些公司“创造”了“B/S”这个词。
应该说,B/S和C/S各有千秋,他们都是当前非常重要的计算架构。在适用Internet、维护工作量等方面,B/S比C/S要强得多;但在运行速度、数据安全、人机交互等方面,B/S远不如C/S。综合起来可以发现,凡是C/S的强项,便是B/S的弱项,反之亦然。事实上, B/S与C/S具有不同的优势与特点,他们无法相互取代。例如,对于以浏览为主、录入简单的应用程序,B/S技术有很大的优势,现在全球铺天盖地的Web网站就是明证;而对于交互复杂的ERP等企业级应用,B/S则很难胜任,从全球范围看,成熟的ERP产品大多采用二层或三层C/S架构,B/S的ERP产品并不多见。
3. 系统调研及可行性分析
3.1系统调研
由于系统实现网上教学教育的功能,所以最基本的需求就是进行网上教学知识的宣传和学习,所以在功能方面要十分注重教学功能。在系统设计时,要充分考虑到以下关键点:
1、系统操作尽量简约,尽可能地仿真网上教学的实际操作。
2、要充分考虑参与学习者的实际知识掌握情况,要做到循序渐进的学习。
3、在系统安全方面要做到可靠,定期做好数据备份,以防意外情况。
3.2可行性分析
随着计算机技术的发展和网络人口的增加,网络世界也越来越广博,越来越丰富,网络信息宣传已经是其中最大的一项功能。我们相信要不了太长的时间,用户就可以在网络世界上获得他们在现实世界上可以获得而不方便获得的所有信息。可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。要达到这个目的,必须分析几种主要的可能解法的利弊,从而判断原定的系统规模和目标是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。。
系统的可行性分析主要包括经济上的可行性,技术上的可行性,操作上的可行性和法律上的可行性。本系统的可行性分析如下:
3.2.1 经济可行性
由于开发此多媒体网站所需的硬件(计算机及相关硬件)和软件环境(ASP+SQL SERVER),市场上都容易购买到或从相关网站下载,系统成本主要集中在本网站的开发与维护上。而一旦此网站投入使用,不仅可以减少学生的学习强度,提高学习效率,而且方便了学生和教师,减少不必要的书本浪费,节能环保,打破了传统的教学模式,也为网站的进一步推广创造了条件,而且,目标网站不是很复杂,开发的周期较短,人员经济支出不大,为学生老师所节省的大量时间、财力产生的效益将远远大于本网站系统的开发成本,所以从经济方面讲开发此系统是可行的。
3.2.2 技术可行性
多媒体网站的开发基于B/S模式,主要包括前端应用程序的开发以及后台数据库的建立和维护两个方面。对于前者要求应具备功能完备、易于使用等特点,而对于后者则要求能建立数据一致性和完整性强、安全性好的数据库。
本系统拟采用ASP和SQL SERVER分别作为前端和后端的开发工具,因此从技术方面讲开发此系统是可行的。
3.2.3 操作可行性
本系统是一个基于Web的多媒体网站,是Web技术应用于网上宣传中的产物,是网上教学教育发展历史上的一个新阶段。系统基于Web的工作界面,使您无论身处何地,都能在浏览器中直接对新闻进行录入、浏览、修改、删除、查阅等新闻管理工作。在操作使用上十分方便,只需连上网,在自己的电脑上通过Web浏览器就可使用本系统,同时所有的操作都是基于Web的操作方式,如:链接、按钮、文本框等等。所有的操作通过浏览器完成,客户端不需要配置其他应用软件,用户不需培训。因此,在操作使用上,本系统简单、方便,易于使员工们接受,本系统尽力为用户着想,因而该系统是方便可操作的。
3.2.4 法律可行性
即该平台的开发会不会在社会上引起侵权或其它责任问题。因为该平台是作为毕业设计与商业无关,又因为是自主开发设计,因此不会构成侵权,在法律上是可行的。
4. 系统开发环境的选择
4.1 B/S体系结构
本系统所面向的对象是广大的互连网用户。因此,将要采用比较流行的B/S三层结构。
图4-1 B/S三层结构图
前面已经介绍,B/S体系结构与C/S体系结构相比不仅具有其全部的优点,而且又有C/S体系结构所不具备的独特优势:
(1)开放的标准:B/S所采用的标准都是开放的、非专用的,是经过标准化组织所确定而非单一厂商所制定,保证了其应用的通用性和跨平台性。
(2)较低的开发和维护成本:B/S的应用只需在客户端安装通用的浏览器即可,维护和升级工作都在服务器端进行,不需对客户端进行任何改变,故而大大降低了开发和维护的成本。
(3)用户使用简单,界面友好:B/S用户的界面都在统一的浏览器上,浏览器易于使用、界面友好,又因为它不再负责数据的存取和复杂数据计算等任务,只需要进行显示,因而大大降低了对客户端的要求。
从以上的分析与比较可以看出,B/S模式具有C/S模式无法替代的优越性:它简化了系统的开发和维护,并且特别适用于网上信息发布。因此,我开发的图书在线浏览系统采用了基于B/S模式的体系结构。
4.2 Dreamweaver
Dreamweaver是美国MACROMEDIA公司开发的集网页制作和网站管理于一身的所见即所得网页编辑器, 是一种可视化网页制作工具,利用它可以轻松地制作出跨越平台限制和跨越浏览器限制的动态网页。
Dreamweaver 可以开发HTML、XHTML、ColdFusion、ASP、ASP.NET、JSP或PHP网站。通过平面设计工具以及代码提示、标签编辑器、可扩展色彩代码、标签选择器、片段和代码检验这类编码特性来实现对代码和设计的管理。新集成的工作空间可以与Macromedia Flash MX和Fireworks MX共享,其中包括了标示签的文档窗口、可放到dock中的画板组、可定制的工具条和集成的文件浏览。Dreamweaver 还包括有预建的布局和代码,其中有网站结构、表格、可访问的模板以及为客户端交互应用而提供的JavaScript。
为翻新现有网站以及创建下一代应用程序,Dreamweaver 还支持新标准和新的网页技术,带有对XML、网页服务和增强可访问性的支持。Dreamweaver MX为新的ColdFusion MX特性提供全套的支持,包括增强的代码编辑和开发功能、集成的调试功能、可视化布局功能和照片打印功能。
DREAMWEAVER的优点:
1.最佳的制作效率
Dreamweaver可以用最快速的方式将Fireworks,FreeHand,或Photoshop等档案移至网页上。使用检色吸管工具选择荧幕上的颜色可设定最接近的网页安全色。对于选单,快捷键与格式控制,都只要一个简单步骤便可完成。Dreamweaver能与您喜爱的设计工具,如Playback Flash,Shockwave和外挂模组等搭配,不需离开Dreamweaver便可完成,整体运用流程自然顺畅。除此之外,只要单击便可使Dreamweaver自动开启Firework或Photoshop来进行编辑与设定图档的最佳化。
2.网站管理
使用网站地图可以快速制作网站雏形、设计、更新和重组网页。改变网页位置或档案名称,Dreamweaver 会自动更新所有连结。使用支援文字、HTML码、HTML属性标签和一般语法的搜寻及置换功能使得复杂的网站更新变得迅速又简单。
3.无可比拟的控制能力
Dreamweaver是唯一提供Roundtrip HTML、视觉化编辑与原始码编辑同步的设计工具。它包含Home Site和BBEdit等主流文字编辑器。帧(frames)和表格的制作速度快的令您无法想象。进阶表格编辑功能使您简单的选择单格、行、栏或作未连续之选取。甚至可以排序或格式化表格群组,Dreamweaver 支援精准定位,利用可轻易转换成表格的图层以拖拉置放的方式进行版面配置。所见即所得 Dreamweaver成功整合动态式出版视觉编辑及电子商务功能,提供超强的支援能力给Third-party厂商,包含ASP, Apache,BroadVision, Cold Fusion,iCAT, Tango与自行发展的应用软体。当您正使用Dreamweaver在设计动态网页时,所见即所得的功能,让您不需要透过浏览器就能预览网页。梦幻样版和XML Dreamweaver将内容与设计分开,应用于快速网页更新和团队合作网页编辑。建立网页外观的样版,指定可编辑或不可编辑的部份,内容提供者可直接编辑以样式为主的内容却不会不小心改变既定之样式。您也可以使用样版正确地输入或输出XML内容。
Dreamweaver还集成了程序开发语言,对ASP、.NET、PHP、JS的基本语言和连接操作数据库,都是完全支持的。
4.3 SQL SERVER 2000
SQL Server 是一个关系数据库管理系统,它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了。Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本;Sybase 则较专注于SQL Server在UNIX 操作系统上的应用。在本书中介绍的是Microsoft SQL Server 以后简称为SQL Server或MS SQL Server。
SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本。该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。
SQL Server 2000 的特性Microsoft® SQL Server™ 2000 的特性包括:
1.Internet 集成。SQL Server 2000 数据库引擎提供完整的XML 支持。它还具有构成最大的Web 站点的数据存储组件所需的可伸缩性、可用性和安全功能。SQL Server 2000 程序设计模型与 Windows DNA 构架集成,用以开发 Web 应用程序,并且SQL Server 2000 支持 English Query 和 Microsoft 搜索服务等功能,在Web 应用程序中包含了用户友好的查询和强大的搜索功能。
2.可伸缩性和可用性。同一个数据库引擎可以在不同的平台上使用,从运行 Microsoft Windows® 98 的便携式电脑,到运行 Microsoft Windows 2000 数据中心版的大型多处理器服务器。SQL Server 2000 企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大 Web 站点所需的性能级别。
3.企业级数据库功能。SQL Server 2000 关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。SQL Server 2000 分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是 SQL Server 2000 数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。
4.易于安装、部署和使用。 SQL Server 2000 中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用 SQL Server 的过程。SQL Server 2000 还支持基于标准的、与 Windows DNA 集成的程序设计模型,使 SQL Server 数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能使您得以快速交付 SQL Server 应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。
数据仓库。 SQL Server 2000 中包括析取和分析汇总数据以进行联机分析处理 (OLAP) 的工具。SQL Server 中还包括一些工具,可用来直观地设计数据库并通过 English Query 来分析数据。
SQL Server 2000共有4个版本,分别是个人版,标准版,企业版和开发版
sql server 2008是微软出的SQL系列最新版本。
其主要特点如下:
(1)高性能设计,可充分利用WindowsNT的优势。
(2)系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统管理和配置。
(3)强壮的事务处理功能,采用各种方法保证数据的完整性。
(4)支持对称多处理器结构、存储过程、ODBC,并具有自主的SQL语言。 SQLServer以其内置的数据复制功能、强大的管理工具、与Internet的紧密集成和开放的系统结构为广大的用户、开发人员和系统集成商提供了一个出众的数据库平台
4.4 HTML(Hyper Text Markup Language)
HTML的英文全称是"Hypertext Markup Language",中文译为“超文本标记语言”。“超文本”就是指页面内可以包含图片,联接,甚至音乐,程序等非文字的元素。在几年前作为SGML的一个子集开发的。
一个HTML文件中包含了所有将显示在网页上的文字信息,其中也包括对浏览器的一些指示,如哪些文字应放置在何处,显示模式是什么样的等。如果你还有一些图片、动画、声音或是任何其它形式的资源,HTML文件也会告诉浏览器到哪里去查找这些资源,以及这些资源将放置在网页的什么位置。浏览的网页就是由HTML语言编写出来的。虽然HTML是一种语言,但HTML不是程序语言,如 C++ 和 Java 之类,它只是标示语言,你只要明白了各种标记的用法便算学会了HTML.HTML 的格式非常简单,只是由文字及标记组合而成,因此任何文本编辑器都可以制作HTML页面。
在编辑器中输入html代码即可完成对网页的设计,如果在其中加入VB,JAVA等脚本文件以及数据库连接有关的语句指令,便可对已知数据进行查询,从而生成动态网页的一部分。
4.5 ASP
ASP(Active Server Pages)是一个服务器端的(Server.side)脚本执行环境,用户可用它产生和执行动态的、交互的、高性能的Web服务器应用程序。当脚本在服务器端而不是在客户端执行时,Web服务器将完成产生发往浏览器的HTML(Hypertext Markup Language)页的所有工作。ASP的工作模式是当浏览器向Web服务器提出文件(.asp)的请求时,一个ASP脚本就开始执行,这时Web服务器调用ASP,把该文件全部读入并执行每一条命令,然后将结果以HTML页面形式送回浏览器。
ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。利用ASP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的web应用程序。 与HTML相比,ASP网页具有以下特点:
(1)利用ASP可以实现突破静态网页的一些功能限制,实现动态网页技术;
(2)ASP文件是包含在HTML代码所组成的文件中的,易于修改和测试;
(3)服务器上的ASP解释程序会在服务器端执行ASP程序,并将结果以HTML格式传送到客户端浏览器上,因此使用各种浏览器都可以正常浏览ASP所产生的网页;
(4)ASP提供了一些内置对象,使用这些对象可以使服务器端脚本功能更强。例如可以从web浏览器中获取用户通过HTML表单提交的信息,并在脚本中对这些信息进行处理,然后向web浏览器发送信息;
(5)ASP可以使用服务器端ActiveX组件来执行各种各样的任务,例如存取数据库、发送Email或访问文件系统等。
(6)由于服务器是将ASP程序执行的结果以HTML格式传回客户端浏览器,因此使用者不会看到ASP所编写的原始程序代码,可防止ASP程序代码被窃取。
(7) 方便连接ACCESS与SQL数据库.
(8)开发需要有丰富的经验,否则会留出漏洞,让黑客利用进行注入攻击.
ASP也不仅仅局限于与HTML结合制作WEB网站,而且还可以与XHTML和WML语言结合制作WAP手机网站。但是其原理也是一样的。
当在Web站点中融入ASP功能后,将发生以下事情:
1、用户向浏览器地址栏输入网址,默认页面的扩展名是.asp。
2、浏览器向服务器发出请求。
3、服务器引擎开始运行ASP程序。
4、ASP文件按照从上到下的顺序开始处理,执行脚本命令,执行HTML页面内容。
5、页面信息发送到浏览器。
5. 系统设计
5.1 系统概要设计
5.1.1非功能性需求
非功能性需求针对整个系统进行。
5.1.1.1用户界面需求
表5-1 用户界面需求表
需求名称 | 详细要求 |
风格 | 界面友好,布局合理,美观大方,实用性强,操作简单 |
颜色 | 青色系为主 |
分辨率 | 1024*768 |
5.1.1.2软硬件环境需求
表5-2 软硬件环境需求表
需求名称 | 详细要求 |
运行速度 | 系统启动运行时间不超过5min,人机界面交互时间不超过5s |
容量 | 占用内存大于15MB |
操作系统性能 | 10/100M bit/s |
网络传输率 | 10/100M bit/s |
5.1.2.3产品质量需求
表5-3 产品质量需求表
主要质量属性 | 详细要求 |
正确性 | 经过测试达到了预期的效果 |
健壮性 | 具有一定的健壮性 |
可靠性 | 容错能力强,测试质量合格 |
性能,效率 | 性能优,效率高 |
易用性 | 跨平台操作 |
清晰性 | 优 |
安全性 | 安全可靠性极佳 |
可扩展性 | 优良的可靠的接口 |
兼容性 | 可作用于任何平台 |
可移植性 | 正确的进行软件配置后,就可以正常运行程序 |
5.2 多媒体网站功能分析
5.2.1总体功能
表5-4 网站总体功能表
功能类别 | 子功能 |
用户浏览文章 | 文章分类浏览 |
文章搜索 | |
文章列表查看 | |
用户在线测试 | 用户在线测试其知识掌握的情况 |
问题解析 | 对用户的测试结果进行解析 |
管理员对基本信息进行管理 | 对文章及相关信息进行管理 |
对测试问题进行管理 | |
对管理员信息进行管理 |
5.2.2 浏览功能
用户浏览文章功能是网上教学网站最基本的功能之一。
表5-5 文章浏览功能表
名称、标识符 | 会员浏览文章 |
功能描述 | 采用不同的分类方式,让用户能够查询出感兴趣的文章,及其基本信息。 |
输入 | 会员对文章标题的已知信息 |
操作序列 | 输入文章已知信息,查询文章详细信息 |
输出 | 浏览数据库中的有关文章信息 |
补充说明 | 文章浏览也可以通过排行榜方式进行查找。 |
5.2.3 在线测试功能
用户在线测试是本系统的一大特色服务,也是为进一步的学习做好前期水平评测。
表5-6 在线测试功能表
名称、标识符 | 用户在线测试 |
功能描述 | 用户登录后,在线测试其所掌握的知识情况 |
输入 | 用户输入测试结果 |
操作序列 | 输入用户认为正确的问题答案 |
输出 | 系统自动判断用户输入答案的正确性 |
补充说明 |
5.2.4 问题解析功能
问题解析是系统的一个新的特色,是将一些常见的问题的答案进行解答分析,并以列表的形式展示。
表5-7 问题解析管理功能表
名称、标识符 | 问题解析 |
功能描述 | 将常见的问题的解析方案展示给用户。 |
输入 | 欲查看的问题 |
操作序列 | 根据用户的需求,从系统数据库中调取相关问题的解析 |
输出 | 完整地显示问题的解析 |
5.2.5 管理功能
管理员在网站中起着相当重要的作用,他不仅负责维护网站,同时也是网站的一员。
表5-8 基本信息操作功能表
名称、标识符 | 管理员对基本信息的操作 |
功能描述 | 管理员的职责,不仅是对网站的起发布信息的作用,同时也对整个网站起到实时监控的作用,一旦发现有错,及时修改 |
输入 | 文章信息,文章类别信息,测试信息,管理员账号信息等 |
操作序列 | 填写基本信息,数据校验, |
输出 | 填写成功,写入数据库 |
补充说明 | 管理员所处的可以说是在整个网站的核心地位。 |
5.3 多媒体网站模块设计
根据系统功能分析,可以画出系统的功能模块图,从客户界面,管理界面分别对功能模块图加以描述。
管理界面的系统功能模块图:
图5-1管理界面的系统功能模块图
管理员信息管理模块
管理员信息管理模块,系统管理员进入到管理员信息管理模块可以查看用户及管理员基本信息;可以增加新管理员、可以修改变动管理员;可以删除管理员。具体的UML活动图如图5-2所示。
图5-2 管理员信息管理模块UML活动图
5.4 数据库设计
5.4.1 数据库需求分析
通过系统功能分析,总结出如下的需求信息:
1)用户分一般用户和管理员用户。
2)一般用户可以查看文章信息,参与测试
3)管理员用户可以对全站的信息进行管理。
经过系统功能分析和需求总结,考虑到将来功能上的扩展,设计如下的数据项和数据结构:
1)管理员信息,包括数据项:账号,姓名,密码。
2)资料信息,包括数据项:ID(系统自动编号),资料名,类别、添加时间等。
5.4.2 数据库概念结构设计
得到上面数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。
设计规划出的实体有:管理员信息实体、资料信息实体。
实体之间关系的E-R图如图5-3所示:
图5-3 实体之间关系的E-R图
管理员信息实体E-R图如图5-4所示:
资料实体E-R图如图5-5所示:
5.4.3 数据库逻辑结构设计
数据库的概念结构设计完毕后,现在可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据库模型,也就是数据库的逻辑结构。
多媒体网站数据库中各个表的设计结果如表所示。每个表格表示在数据库中的一个表。
表5-9为管理员信息表,存储系统中的管理员信息。
表5-9 管理员信息表(allusers)
列名 | 数据类型 | 字段大小 | 必填字段 | 默认值 | 说明 |
ID | 文本 | 20 | 是 | 无 | 管理员帐号(主键) |
userName | 文本 | 20 | 是 | 无 | 管理员姓名 |
Pwd | 文本 | 20 | 是 | 无 | 管理员密码 |
cx | 文本 | 20 | 是 | 无 | 管理员权限 |
addtime | 日期 | 8 | 否 | 无 | 添加时间 |
表5-10为资料信息表,记录系统中已有资料的信息。
表5-10 资料信息表(allpro)
列名 | 数据类型 | 字段大小 | 必填字段 | 默认值 | 说明 |
ID | 自动编号 | 长整型 | 是 | 无 | 资料编号(主键) |
title | 文本 | 50 | 是 | 无 | 资料名称 |
leibie | 文本 | 50 | 是 | 无 | 资料类别 |
content | 备注 | 8 | 是 | 无 | 资料内容 |
Pic | 备注 | 8 | 是 | 无 | 图片相对路径 |
addby | 文本 | 50 | 是 | 0 | 添加者 |
addtime | 日期 | 8 | 是 | 0 | 添加时间 |
price | 文本 | 100 | 是 |
6. 多媒体网站界面设计
6.1 开发环境简介
Dreamweaver是美国MACROMEDIA公司开发的集网页制作和管理网站于一身的所见即所得网页编辑器,它是第一套针对专业网页设计师特别发展的视觉化网页开发工具,利用它可以轻而易举地制作出跨越平台限制和跨越浏览器限制的充满动感的网页。
DREAMWEAVER、FLASH以及在DREAMWEAVER之后推出的针对专业网页图像设计的FIREWORKS,三者被MACROMEDIA公司称为DREAMTEAM(梦之队),足见市场的反响和MACROMEDIA公司对它们的自信。说到DREAMWEAVER我们应该了解一下网页编辑器的发展过程,随着互联网(Internet) 的家喻户晓,HTML技术的不断发展和完善,随之而产生了众多网页编辑器,从网页编辑器基本性质可以分为所见即所得网页编辑器和非所见即所得网页编辑器(则原始代码编辑器),两者各有千秋。所见则所得网页编辑器的优点就是直观性,使用方便,容易上手,您在所见即所得网页编辑器进行网页制作和在WORD中进行文本编辑不会感到有什么区别。
6.2 系统界面的设计
6.2.1 系统首页
图6-1 系统首页
此界面为多媒体网站的首页,是所有用户进入系统的第一个界面,所有的操作都可以在这个平台上进行。
首页可分为三部分:第一部分是网站LOGO和网站名称,以蓝色调为背景基调,时尚而又富有时代气息。
第二部分是系统功能导航栏,功能划分清晰而无重叠冗余。
第三部分是几个主要栏目的主要资讯。
6.2.2 文章浏览界面
图6-2 文章浏览界面
此界面为多媒体网站的文章浏览界面,是用户进行文章查看的界面,因此类页面的布局和操作大致相同,所以只取其中一例进行解释。
此页面大部分与首页相仿,只是在文章内容显示处有些不同,并在文章下方设置了一个返回的按钮,方便用户时间返回产一页,很人性化。
6.2.3 自我测试页面
图6-3 自我测试页面
此界面为多媒体网站的一个很有特色的功能,是用户进行自我测试的页面,方便用户随时了解知识的掌握情况,以便进行更进一步的学习。
功能操作区可分为两部分:一是测试区,用户在此可以进行测试。另一部分是提交答案及下载答案的功能按钮区。
当点击下载答案按钮后,系统会自动下载问题的答案。
图6-4 答案下载页面
6.2.4 问题解析界面
图6-5 问题解析页面
此界面为多媒体网站的问题解析界面,是学生与老师进行交流的平台,是对学生学习过程中困惑进行解答的平台。
6.2.5 系统后台登录页面
此界面为多媒体网站的系统后台登录界面,是管理员用户进入系统后台的入口,所有的系统管理操作都必须从这个入口进入系统后台进行。
图6-6 登录页面
6.2.6 系统后台首页
图6-7 后台管理页面
此界面为多媒体网站的后台首页,是管理员用户进入系统后台的第一个界面,所有的操作都可以在这个平台上进行。
首页可分为三部分:第一部分是网站名称,以及当前的系统时间、管理员身份说明。
第二部分是系统功能导航栏,功能划分清晰而无重叠冗余。
第三部分是操作界面,当未进行任何功能选择时,显示欢迎辞。
6.2.7 系统管理员信息管理
图6-8 管理员信息页面
此界面为多媒体网站的管理员信息管理页面,是管理员用户行管理员信息管理的界面。
6.2.8 在线测试管理页面
图6-9 在线测试及答案管理页面
此系列界面为多媒体网站的测试题及答案管理页面,是用户进行测试的试题的管理功能实现区块。
由于系统的设计遵循“功能齐全化、操作简约化”的理念,所以在操作方面不会太有难度,所以不一一说明。
7. 软件测试及开发过程中的问题总结
7.1软件测试的目的
软件测试的目的决定了如何去组织测试。如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。如果测试目的是为了给最终用户提供具有一定可信度的质量评价,那么测试就应该直接针对在实际应用中会经常用到的商业假设。
不同的机构会有不同的测试目的;相同的机构也可能有不同测试目的,可能是测试不同区域或是对同一区域的不同层次的测试。
在谈到软件测试时,许多人都引用Grenford J. Myers在《The Art of Software Testing》一书中的观点:
①、软件测试是为了发现错误而执行程序的过程;
②、测试是为了证明程序有错,而不是证明程序无错误。
③、一个好的测试用例是在于它能发现至今未发现的错误;
④、一个成功的测试是发现了至今未发现的错误的测试。
这种观点可以提醒人们测试要以查找错误为中心,而不是演示软件的正确。
首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。
其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。详细而严谨的可靠性增长模型可以证明这一点。例如 Bev Littlewood发现一个经过测试而正常运行了n小时的系统有继续正常运行n小时的概率。
7.2测试的范围与主要内容
编码的目的是实现系统的设计,选择某种程序设计语言编写程序来完成设计过程产生的功能模块的实现。
测试过程的主要任务是尽可能发现软件中存在的错误。
表7-1 测试范围与主要内容
测试范围 | 主要内容 | 简要说明 |
用户身份验证 | 验证用户身份,进行权限设置 | 功能性测试 |
查询功能测试 | 测试数据库检索代码的健壮性 | 功能性测试 |
添加信息 | 测试添加内容有无不允许的字符 | 功能性测试 |
数据完整性测试 | 测试登录失败时的数据完整性控制 | 功能性测试 |
核心代码复检 | 检验核心代码的质量 | 逻辑检错性测试 |
7.3开发过程中遇到的问题总结
经过尽可能多的软件功能用例测试,基本上达到了软件设计的目的和功能性的要求。现在把软件测试过程中出现的一些错误列出来。
(1) ASP中的中文问题
编写ASP时,有两种中文无法正确显示的情况:一种是当在编写ASP页面时,没有说明用哪种语言显示,这样,页面显示乱码,解决办法是在ASP页面开始处加入<%@ page contentType =”text/html;charset=gbk”%>
另一情况是当从数据库读取含有中文字符的数据,或把含有中文字符的数据写入数据库时,有时会不显示中文,而显示“?”,同样在SQL设置中选择语言为gbk即可。
(2) ASP中的页面验证
进行ASP中的页面验证时,通常采用正则表达式,常用的包括:只为数字、字母数字或下划线、汉字、邮箱、电话等等。
(3) HTTP 404 错误
此错误为路径出错,根据提示调整好跳转路径,即可排除错误。
(4) 数据库问题
在设计数据库时,理解表之间的关联,成功地创建表非常重要,在后期遇到问题时,再去重新审查修改表,那是一项非常烦人的劳动。建议表的ID自动生成,方便用户操作。
8. 主要代码
后台修改主页信息(课程信息、教师信息等):
<%
if request.Cookies("cx")="0" then
response.Write("<script>javascript:alert('对不起,您没有该权限');history.back();</script>")
response.end()
end if
%>
<!--#include file="conn.asp"-->
<%
lb=trim(request("lb"))
connopen()
set rs=server.createobject("adodb.recordset")
if trim(request("updt"))="1" then
'sql="insert into allgonggao(title,content,lb) values('"&trim(request("title"))&"','"&trim(request("content"))&"','"&lb&"')"
sql="update dx set content='"&request("content")&"' where title='"&lb&"'"
conn.execute(sql)
response.write("<script>javascript:alert('编辑成功!');</script>")
end if
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<p>编辑<%=lb%>: 当前日期: <%=date()%></p>
<%
sql="select * from dx where title='"&lb&"'"
rs.open sql,conn,1,1
if rs.eof then
else
%>
<form id="form1" name="form1" method="post" action="">
<table width="100%" border="1" align="center" cellpadding="3" cellspacing="1" bordercolor="#00FFFF" style="border-collapse:collapse">
<tr>
<td>内容:</td>
<td><textarea name="content" cols="60" rows="15" id="content"><%=rs("content")%></textarea>
<input type="hidden" name="lb" value="<%=lb%>" />
<input name="updt" type="hidden" id="updt" value="1" /></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="Submit" value="确定编辑" />
<input type="reset" name="Submit2" value="重置" /></td>
</tr>
</table>
</form>
<%
end if
rs.close
%>
<p> </p>
</body>
</html>
用户登录:
<!--#include file="conn.asp"-->
<%
connopen()
if trim(request("username"))<>"" then
sql="select * from users where username='"&trim(request("username"))&"' and pwd='"&trim(request("pwd1"))&"' "
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1
if rs.eof then
response.write("<script>javascript:alert('对不起,用户名或密码错误');history.back();</script>")
else
if trim(rs("issh"))="否" then
response.write("<script>javascript:alert('对不起,您的帐号未经审核');history.back();</script>")
else
response.cookies("username2")=trim(rs("username"))
response.redirect("index.asp")
end if
end if
rs.close
end if
connclose()
%>
结 论
- 系统的特点
本系统采用ASP+SQL Sever 2000作为开发工具。前台主要实现课程的显示及查询、试题的在线测试及答案下载、会员注册、登录以及最新课程,教师的介绍,并且还为用户提供了在线交流的平台等功能;后台主要用于数据库的管理,管理员对课程的添加、删除、更新及对注册会员和新闻的管理、系统的维护等功能。本系统操作简单,界面友好。
2) 系统的不足和改进
本系统基本上满足了网上教育方面的需要。实现了学生和老师所要求的功能,方便了学生的学习。在界面上力求做到美观、在操作方面尽量避免由于用户操作不当带来系统的出错现象。但由于时间仓促,本系统还存在一些不足之处,界面不够美观,需要进一步修饰和美化;对数据库操作的性能有待进一步优化,虽然本系统优化了不少,但要达到理想状态还有一段距离,如部分功能程序代码过长,如果后台数据库过大将会影响运行速度;部分数据库表的设计存在一定的冗余,有待进一步优化。根据系统的不足,继续改进和完善本系统。提高审美观点,可使用photoshop、fireworks等图片处理工具修饰图片,力求给用户提供美观友好的界面;简化程序代码,可使不同界面之间能共享一些方法、函数和变量,对于相同的功能模块可生成程序包供其它界面引用,这样就会提高系统的运行速度;使用数据库连接池技术提高数据库操作的性能;数据库的关系模式可以进一步规范化,减少冗余现象。
3) 设计收获与心得
毕业设计是最能体现我们所学知识的时候,是对我们大学四年所学理论知识的一次巩固和提高。设计本系统的过程不仅是对我学过的知识的一次应用,更是对我综合处理问题、解决实际问题能力的培养和锻炼。通过本次毕业设计使我对系统开发有了深入的了解,我的编程能力也有了较大的提高。我在设计过程中也遇到了很多困难,但是通过指导老师和同学的帮助以及自己的努力,最终还是顺利地完成了毕业设计。
虽然,毕业设计只有短暂的几个月,但却使我充分认识到自身还存在很多不足的地方,还需要不断的努力来充实自己、完善自己,只有这样才能学无止境,以求得更大的发展。
致 谢
本次毕业设计是在xx导师的精心指导下,论文从选题、撰写、修改到定稿,xxx老师都给予了悉心的指导且倾注了大量的心血。老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我受益匪浅。他无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高,这对于我以后的工作和学习都有一种巨大的帮助,感谢他耐心的辅导。在此对闫老师表示最诚挚的感谢!
在毕业设计过程中,每当我徘徊不前时许多老师和同学给了我很多的启示和帮助,从而使我能顺利进行并完成我的毕业设计。在此我十分感谢这些给过我帮助的老师和同学。
感谢好朋友xxx和xxx,他们帮助我解决了环境的搭建问题。
感谢身边所有的好朋友陪伴我渡过充实的大学生活。
感谢生我养我的父母对我的无限宽容和疼爱。
参考文献
[1] 汪晓平、钟军.ASP网络开发技术[M].北京:人民邮政出版社,2003年12月第二版.
[2] 张一鸣、桂林、张家祥.个人网站组建实用教程[M].西安:电子科技大学出版社,2004年1月第一版.
[3] 龙马工作室.ASP+ ACCESS组建动态网站[M].北京:人民邮电出版社,2004年8月第一版.
[4] 林佳,任明武.ASP编程从入门到精通.第2版.北京:人民邮电出版社,2001
[5] 陈秋江,朱海东.网页设计制作与上级指导.第1版.北京:清华大学出版社,2003
[6] 范乐,于强.基于Web的编程技术.第1版.北京:铁道电出版社,2003
[7] 杨文龙,姚淑珍,吴芸.软件工程.北京:电子工业出版社,2002.7
[8] 薛华成.管理信息系统.第3版.北京:清华大学出版社,1999
[9] 蔡翠平、尚俊杰.网络程序设计—ASP[M].北京:清华大学出版社,2002年1月第一版.
[10] 姚国章.中国企业网上教学发展战略[M].北京:北京大学出版社,2001.
[11] 黄平主编.数据库技术.北京:机械工业出版社,2002.
[12] 袁玫等编著.网络数据库应用教程.北京:人民邮电出版社,2002.
[13] 郭瑞军、李杰、初晓璐.ASP数据库开发精粹.电子工业出版社,2005年2月第一版.
[14] Jackson M A.Principles of Program Design. Oxford:Academic Press,1975
[15]P.E. Green,Computer Networks Architectures and Prtocols,Ed. By P.E.Green,Plenum Press,1982
[16]Myrna Davis Editor.1995.The 74thArt Directors Annual and Ninth Annual International Exhibition.ADC Publication,Ins
外文文献
ASP.NET
ASP.NET is a unified Web development model that includes the services necessary for you to build enterprise-class Web applications with a minimum of coding. ASP.NET is part of the .NET Framework, and when coding ASP.NET applications you have access to classes in the .NET Framework. You can code your applications in any language compatible with the common language runtime (CLR), including Microsoft Visual Basic, C#, JScript .NET, and J#. These languages enable you to develop ASP.NET applications that benefit from the common language runtime, type safety, inheritance, and so on.
ASP.NET includes:
- A page and controls framework
- The ASP.NET compiler
- Security infrastructure
- State-management facilities
- Application configuration
- Health monitoring and performance features
- Debugging support
- An XML Web services framework
- Extensible hosting environment and application life cycle management
- An extensible designer environment
The ASP.NET page and controls framework is a programming framework that runs on a Web server to dynamically produce and render ASP.NET Web pages. ASP.NET Web pages can be requested from any browser or client device, and ASP.NET renders markup (such as HTML) to the requesting browser. As a rule, you can use the same page for multiple browsers, because ASP.NET renders the appropriate markup for the browser making the request. However, you can design your ASP.NET Web page to target a specific browser, such as Microsoft Internet Explorer 6, and take advantage of the features of that browser. ASP.NET supports mobile controls for Web-enabled devices such as cellular phones, handheld computers, and personal digital assistants (PDAs).
ASP.NET Web pages are completely object-oriented. Within ASP.NET Web pages you can work with HTML elements using properties, methods, and events. The ASP.NET page framework removes the implementation details of the separation of client and server inherent in Web-based applications by presenting a unified model for responding to client events in code that runs at the server. The framework also automatically maintains the state of a page and the controls on that page during the page processing life cycle.
The ASP.NET page and controls framework also enables you to encapsulate common UI functionality in easy-to-use, reusable controls. Controls are written once, can be used in many pages, and are integrated into the ASP.NET Web page that they are placed in during rendering.
The ASP.NET page and controls framework also provides features to control the overall look and feel of your Web site via themes and skins. You can define themes and skins and then apply them at a page level or at a control level.
In addition to themes, you can define master pages that you use to create a consistent layout for the pages in your application. A single master page defines the layout and standard behavior that you want for all the pages (or a group of pages) in your application. You can then create individual content pages that contain the page-specific content you want to display. When users request the content pages, they merge with the master page to produce output that combines the layout of the master page with the content from the content page.
All ASP.NET code is compiled, which enables strong typing, performance optimizations, and early binding, among other benefits. Once the code has been compiled, the common language runtime further compiles ASP.NET code to native code, providing improved performance.
ASP.NET includes a compiler that will compile all your application components including pages and controls into an assembly that the ASP.NET hosting environment can then use to service user requests.
In addition to the security features of .NET, ASP.NET provides an advanced security infrastructure for authenticating and authorizing user access as well as performing other security-related tasks. You can authenticate users using Windows authentication supplied by IIS, or you can manage authentication using your own user database using ASP.NET forms authentication and ASP.NET membership. Additionally, you can manage the authorization to the capabilities and information of your Web application using Windows groups or your own custom role database using ASP.NET roles. You can easily remove, add to, or replace these schemes depending upon the needs of your application.
ASP.NET always runs with a particular Windows identity so you can secure your application using Windows capabilities such as NTFS Access Control Lists (ACLs), database permissions, and so on. For more information on the identity of ASP.NET,
ASP.NET provides intrinsic state management functionality that enables you to store information between page requests, such as customer information or the contents of a shopping cart. You can save and manage application-specific, session-specific, page-specific, user-specific, and developer-defined information. This information can be independent of any controls on the page.
ASP.NET offers distributed state facilities, which enable you to manage state information across multiple instances of the same application on one computer or on several computers.
ASP.NET applications use a configuration system that enables you to define configuration settings for your Web server, for a Web site, or for individual applications. You can make configuration settings at the time your ASP.NET applications are deployed and can add or revise configuration settings at any time with minimal impact on operational Web applications and servers. ASP.NET configuration settings are stored in XML-based files. Because these XML files are ASCII text files, it is simple to make configuration changes to your Web applications. You can extend the configuration scheme to suit your requirements.
ASP.NET includes features that enable you to monitor health and performance of your ASP.NET application. ASP.NET health monitoring enables reporting of key events that provide information about the health of an application and about error conditions. These events show a combination of diagnostics and monitoring characteristics and offer a high degree of flexibility in terms of what is logged and how it is logged.
ASP.NET supports two groups of performance counters accessible to your applications:
- The ASP.NET system performance counter group
- The ASP.NET application performance counter group
ASP.NET takes advantage of the run-time debugging infrastructure to provide cross-language and cross-computer debugging support. You can debug both managed and unmanaged objects, as well as all languages supported by the common language runtime and script languages.
In addition, the ASP.NET page framework provides a trace mode that enables you to insert instrumentation messages into your ASP.NET Web pages.
ASP.NET supports XML Web services. An XML Web service is a component containing business functionality that enables applications to exchange information across firewalls using standards like HTTP and XML messaging. XML Web services are not tied to a particular component technology or object-calling convention. As a result, programs written in any language, using any component model, and running on any operating system can access XML Web services.
ASP.NET includes an extensible hosting environment that controls the life cycle of an application from when a user first accesses a resource (such as a page) in the application to the point at which the application is shut down. While ASP.NET relies on a Web server (IIS) as an application host, ASP.NET provides much of the hosting functionality itself. The architecture of ASP.NET enables you to respond to application events and create custom HTTP handlers and HTTP modules.
ASP.NET includes enhanced support for creating designers for Web server controls for use with a visual design tool such as Visual Studio. Designers enable you to build a design-time user interface for a control, so that developers can configure your control's properties and content in the visual design tool.
Introduction to the C# Language and the .NET Framework C# is an elegant and type-safe object-oriented language that enables developers to build a wide range of secure and robust applications that run on the .NET Framework. You can use C# to create traditional Windows client applications, XML Web services, distributed components, client-server applications, database applications, and much, much more. Microsoft Visual C# 2005 provides an advanced code editor, convenient user interface designers, integrated debugger, and many other tools to facilitate rapid application development based on version 2.0 of the C# language and the .NET Framework.
Note |
The Visual C# documentation assumes that you have an understanding of basic programming concepts. If you are a complete beginner, you might want to explore Visual C# Express Edition, which is available on the Web. You can also take advantage of any of several excellent books and Web resources on C# to learn practical programming skills. |
C# syntax is highly expressive, yet with less than 90 keywords, it is also simple and easy to learn. The curly-brace syntax of C# will be instantly recognizable to anyone familiar with C, C++ or Java. Developers who know any of these languages are typically able to begin working productively in C# within a very short time. C# syntax simplifies many of the complexities of C++ while providing powerful features such as nullable value types, enumerations, delegates, anonymous methods and direct memory access, which are not found in Java. C# also supports generic methods and types, which provide increased type safety and performance, and iterators, which enable implementers of collection classes to define custom iteration behaviors that are simple to use by client code.
As an object-oriented language, C# supports the concepts of encapsulation, inheritance and polymorphism. All variables and methods, including the Main method, the application's entry point, are encapsulated within class definitions. A class may inherit directly from one parent class, but it may implement any number of interfaces. Methods that override virtual methods in a parent class require the override keyword as a way to avoid accidental redefinition. In C#, a struct is like a lightweight class; it is a stack-allocated type that can implement interfaces but does not support inheritance.
In addition to these basic object-oriented principles, C# facilitates the development of software components through several innovative language constructs, including:
- Encapsulated method signatures called delegates, which enable type-safe event notifications.
- Properties, which serve as accessors for private member variables.
- Attributes, which provide declarative metadata about types at run time.
- Inline XML documentation comments.
If you need to interact with other Windows software such as COM objects or native Win32 DLLs, you can do this in C# through a process called "Interop." Interop enables C# programs to do just about anything that a native C++ application can do. C# even supports pointers and the concept of "unsafe" code for those cases in which direct memory access is absolutely critical.
The C# build process is simple compared to C and C++ and more flexible than in Java. There are no separate header files, and no requirement that methods and types be declared in a particular order. A C# source file may define any number of classes, structs, interfaces, and events.
C# programs run on the .NET Framework, an integral component of Windows that includes a virtual execution system called the common language runtime (CLR) and a unified set of class libraries. The CLR is Microsoft's commercial implementation of the common language infrastructure (CLI), an international standard that is the basis for creating execution and development environments in which languages and libraries work together seamlessly.
Source code written in C# is compiled into an intermediate language (IL) that conforms to the CLI specification. The IL code, along with resources such as bitmaps and strings, is stored on disk in an executable file called an assembly, typically with an extension of .exe or .dll. An assembly contains a manifest that provides information on the assembly's types, version, culture, and security requirements.
When the C# program is executed, the assembly is loaded into the CLR, which might take various actions based on the information in the manifest. Then, if the security requirements are met, the CLR performs just in time (JIT) compilation to convert the IL code into native machine instructions. The CLR also provides other services related to automatic garbage collection, exception handling, and resource management. Code that is executed by the CLR is sometimes referred to as "managed code," in contrast to "unmanaged code" which is compiled into native machine language that targets a specific system. The following diagram illustrates the compile-time and run time relationships of C# source code files, the base class libraries, assemblies, and the CLR.
Language interoperability is a key feature of the .NET Framework. Because the IL code produced by the C# compiler conforms to the Common Type Specification (CTS), IL code generated from C# can interact with code that was generated from the .NET versions of Visual Basic, Visual C++, Visual J#, or any of more than 20 other CTS-compliant languages. A single assembly may contain multiple modules written in different .NET languages, and the types can reference each other just as if they were written in the same language.
In addition to the run time services, the .NET Framework also includes an extensive library of over 4000 classes organized into namespaces that provide a wide variety of useful functionality for everything from file input and output to string manipulation to XML parsing, to Windows Forms controls. The typical C# application uses the .NET Framework class library extensively to handle common "plumbing" chores.
本外文资料出自由Russ Basiura, Mike Batongbacal, 康博. 编写的Professional ASP.NET Web Services.
中文翻译
ASP.NET 和SQL Server 2000
ASP.NET 是一个统一的 Web 开发模型,它包括您使用尽可能少的代码生成企业级 Web 应用程序所必需的各种服务。ASP.NET 作为 .NET Framework 的一部分提供。当您编写 ASP.NET 应用程序的代码时,可以访问 .NET Framework 中的类。您可以使用与公共语言运行库 (CLR) 兼容的任何语言来编写应用程序的代码,这些语言包括 Microsoft Visual Basic、C#、JScript .NET 和 J#。使用这些语言,可以开发利用公共语言运行库、类型安全、继承等方面的优点的 ASP.NET 应用程序。
ASP.NET 包括:
- 页和控件框架
- ASP.NET 编译器
- 安全基础结构
- 状态管理功能
- 应用程序配置
- 运行状况监视和性能功能
- 调试支持
- XML Web services 框架
- 可扩展的宿主环境和应用程序生命周期管理
- 可扩展的设计器环境
ASP.NET 页和控件框架是一种编程框架,它在 Web 服务器上运行,可以动态地生成和呈现 ASP.NET 网页。可以从任何浏览器或客户端设备请求 ASP.NET 网页,ASP.NET 会向请求浏览器呈现标记(例如 HTML)。通常,您可以对多个浏览器使用相同的页,因为 ASP.NET 会为发出请求的浏览器呈现适当的标记。但是,您可以针对诸如 Microsoft Internet Explorer 6 的特定浏览器设计 ASP.NET 网页,并利用该浏览器的功能。ASP.NET 支持基于 Web 的设备(如移动电话、手持型计算机和个人数字助理 (PDA))的移动控件。
ASP.NET 网页是完全面向对象的。在 ASP.NET 网页中,可以使用属性、方法和事件来处理 HTML 元素。ASP.NET 页框架为响应在服务器上运行的代码中的客户端事件提供统一的模型,从而使您不必考虑基于 Web 的应用程序中固有的客户端和服务器隔离的实现细节。该框架还会在页处理生命周期中自动维护页及该页上控件的状态。
使用 ASP.NET 页和控件框架还可以将常用的 UI 功能封装成易于使用且可重用的控件。控件只需编写一次,即可用于许多页并集成到 ASP.NET 网页中。这些控件在呈现期间放入 ASP.NET 网页中。
ASP.NET 页和控件框架还提供各种功能,以便可以通过主题和外观来控制网站的整体外观和感觉。可以先定义主题和外观,然后在页面级或控件级应用这些主题和外观。
除了主题外,还可以定义母版页,以使应用程序中的页具有一致的布局。一个母版页可以定义您希望应用程序中的所有页(或一组页)所具有的布局和标准行为。然后可以创建包含要显示的页特定内容的各个内容页。当用户请求内容页时,这些内容页与母版页合并,产生将母版页的布局与内容页中的内容组合在一起的输出。
所有 ASP.NET 代码都经过了编译,可提供强类型、性能优化和早期绑定以及其他优点。代码一经编译,公共语言运行库会进一步将 ASP.NET 编译为本机代码,从而提供增强的性能。
ASP.NET 包括一个编译器,该编译器将包括页和控件在内的所有应用程序组件编译成一个程序集,之后 ASP.NET 宿主环境可以使用该程序集来处理用户请求。
除了 .NET 的安全功能外,ASP.NET 还提供了高级的安全基础结构,以便对用户进行身份验证和授权,并执行其他与安全相关的功能。您可以使用由 IIS 提供的 Windows 身份验证对用户进行身份验证,也可以通过您自己的用户数据库使用 ASP.NET Forms 身份验证和 ASP.NET 成员资格来管理身份验证。此外,可以使用 Windows 组或您自己的自定义角色数据库(使用 ASP.NET 角色)来管理 Web 应用程序的功能和信息方面的授权。您可以根据应用程序的需要方便地移除、添加或替换这些方案。
ASP.NET 始终使用特定的 Windows 标识运行,因此,您可以通过使用 Windows 功能(例如 NTFS 访问控制列表 (ACL)、数据库权限等等)来保护应用程序的安全。
ASP.NET 提供了内部状态管理功能,它使您能够存储页请求期间的信息,例如客户信息或购物车的内容。您可以保存和管理应用程序特定、会话特定、页特定、用户特定和开发人员定义的信息。此信息可以独立于页上的任何控件。
ASP.NET 提供了分布式状态功能,使您能够管理一台计算机或数台计算机上同一应用程序的多个实例的状态信息。
通过 ASP.NET 应用程序使用的配置系统,可以定义 Web 服务器、网站或单个应用程序的配置设置。您可以在部署 ASP.NET 应用程序时定义配置设置,并且可以随时添加或修订配置设置,且对运行的 Web 应用程序和服务器具有最小的影响。ASP.NET 配置设置存储在基于 XML 的文件中。由于这些 XML 文件是 ASCII 文本文件,因此对 Web 应用程序进行配置更改比较简单。您可以扩展配置方案,使其符合自己的要求。
ASP.NET 包括可监视 ASP.NET 应用程序的运行状况和性能的功能。使用 ASP.NET 运行状况监视可以报告关键事件,这些关键事件提供有关应用程序的运行状况和错误情况的信息。这些事件显示诊断和监视特征的组合,并在记录哪些事件以及如何记录事件等方面提供了高度的灵活性。
ASP.NET 支持两组可供应用程序访问的性能计数器:
- ASP.NET 系统性能计数器组
- ASP.NET 应用程序性能计数器组
ASP.NET 利用运行库调试基础结构来提供跨语言和跨计算机调试支持。可以调试托管和非托管对象,以及公共语言运行库和脚本语言支持的所有语言。
此外,ASP.NET 页框架提供使您可以将检测消息插入 ASP.NET 网页的跟踪模式。
ASP.NET 支持 XML Web services。XML Web services 是包含业务功能的组件,利用该业务功能,应用程序可以使用 HTTP 和 XML 消息等标准跨越防火墙交换信息。XML Web services 不用依靠特定的组件技术或对象调用约定。因此,用任何语言编写、使用任何组件模型并在任何操作系统上运行的程序,都可以访问 XML Web services。
ASP.NET 包括一个可扩展的宿主环境,该环境控制应用程序的生命周期,即从用户首次访问此应用程序中的资源(例如页)到应用程序关闭这一期间。虽然 ASP.NET 依赖作为应用程序宿主的 Web 服务器 (IIS),但 ASP.NET 自身也提供了许多宿主功能。通过 ASP.NET 的基础结构,您可以响应应用程序事件并创建自定义 HTTP 处理程序和 HTTP 模块。
ASP.NET 中提供了对创建 Web 服务器控件设计器(用于可视化设计工具,例如 Visual Studio)的增强支持。使用设计器可以为控件生成设计时用户界面,这样开发人员可以在可视化设计工具中配置控件的属性和内容。
C# 是一种简洁、类型安全的面向对象的语言,开发人员可以使用它来构建在 .NET Framework 上运行的各种安全、可靠的应用程序。使用 C#,您可以创建传统的 Windows 客户端应用程序、XML Web services、分布式组件、客户端 - 服务器应用程序、数据库应用程序以及很多其他类型的程序。Microsoft Visual C# 2005 提供高级代码编辑器、方便的用户界面设计器、集成调试器和许多其他工具,以在 C# 语言版本 2.0 和 .NET Framework 的基础上加快应用程序的开发。
C# 语法表现力强,只有不到 90 个关键字,而且简单易学。C# 的大括号语法使任何熟悉 C、C++ 或 Java 的人都可以立即上手。了解上述任何一种语言的开发人员通常在很短的时间内就可以开始使用 C# 高效地工作。C# 语法简化了 C++ 的诸多复杂性,同时提供了很多强大的功能,例如可为空的值类型、枚举、委托、匿名方法和直接内存访问,这些都是 Java 所不具备的。C# 还支持泛型方法和类型,从而提供了更出色的类型安全和性能。C# 还提供了迭代器,允许集合类的实现者定义自定义的迭代行为,简化了客户端代码对它的使用。
作为一种面向对象的语言,C# 支持封装、继承和多态性概念。所有的变量和方法,包括 Main 方法(应用程序的入口点),都封装在类定义中。类可能直接从一个父类继承,但它可以实现任意数量的接口。重写父类中的虚方法的各种方法要求 override 关键字作为一种避免意外重定义的方式。在 C# 中,结构类似于一个轻量类;它是一种堆栈分配的类型,可以实现接口,但不支持继承。
除了这些基本的面向对象的原理,C# 还通过几种创新的语言结构加快了软件组件的开发,其中包括:
- 封装的方法签名(称为委托),它实现了类型安全的事件通知。
- 属性 (Property),充当私有成员变量的访问器。
- 属性 (Attribute),提供关于运行时类型的声明性元数据。
- 内联 XML 文档注释。
在 C# 中,如果需要与其他 Windows 软件(如 COM 对象或本机 Win32 DLL)交互,可以通过一个称为“Interop”的过程来实现。互操作使 C# 程序能够完成本机 C++ 应用程序可以完成的几乎任何任务。在直接内存访问必不可少的情况下,C# 甚至支持指针和“不安全”代码的概念。
C# 的生成过程比 C 和 C++ 简单,比 Java 更为灵活。没有单独的头文件,也不要求按照特定顺序声明方法和类型。C# 源文件可以定义任意数量的类、结构、接口和事件。
C# 程序在 .NET Framework 上运行,它是 Windows 的一个必要组件,包括一个称为公共语言运行时 (CLR) 的虚拟执行系统和一组统一的类库。CLR 是 Microsoft 的公共语言基础结构 (CLI) 的一个商业实现。CLI 是一种国际标准,是用于创建语言和库在其中无缝协同工作的执行和开发环境的基础。
用 C# 编写的源代码被编译为一种符合 CLI 规范的中间语言 (IL)。IL 代码与资源(如位图和字符串)一起作为一种称为程序集的可执行文件存储在磁盘上,通常具有的扩展名为 .exe 或 .dll。程序集包含清单,它提供关于程序集的类型、版本、区域性和安全要求等信息。
执行 C# 程序时,程序集将加载到 CLR 中,这可能会根据清单中的信息执行不同的操作。然后,如果符合安全要求,CLR 执行实时 (JIT) 编译以将 IL 代码转换为本机机器指令。CLR 还提供与自动垃圾回收、异常处理和资源管理有关的其他服务。由 CLR 执行的代码有时称为“托管代码”,它与编译为面向特定系统的本机机器语言的“非托管代码”相对应。下图演示了 C# 源代码文件、基类库、程序集和 CLR 的编译时与运行时的关系。
语言互操作性是 .NET Framework 的一个关键功能。因为由 C# 编译器生成的 IL 代码符合公共类型规范 (CTS),因此从 C# 生成的 IL 代码可以与从 Visual Basic、Visual C++、Visual J# 的 .NET 版本或者其他 20 多种符合 CTS 的语言中的任何一种生成的代码进行交互。单一程序集可能包含用不同 .NET 语言编写的多个模块,并且类型可以相互引用,就像它们是用同一种语言编写的。
除了运行时服务,.NET Framework 还包含一个由 4000 多个类组成的内容详尽的库,这些类被组织为命名空间,为从文件输入和输出到字符串操作、到 XML 分析、到 Windows 窗体控件的所有内容提供多种有用的功能。典型的 C# 应用程序使用 .NET Framework 类库广泛地处理常见的“日常”任务。