当前位置: 首页 > news >正文

教学网站1:《软件工程》精品课程教学网站的设计与实现(摘要和目录)

《软件工程》精品课程教学网站的设计与实现

摘  要:随着网络技术的发展和网络的普及,网络教学已经成为当前的一个教育热点。国家教育部根据当前的教育形式,适时提出了以建设“国家精品课程”为主要内容的“质量工程”,以实现优质教学资源共享,提高高等学校教学质量和人才培养质量。根据教育部的精神,在这3-5年内各大高校共建设了1000多门精品课程。精品课程的建设很大程度上缓解了我国教育上的窘境。

本次设计是围绕《软件工程》精品课程教学网站的设计与实现而展开的。《软件工程》精品课程教学网站是一个典型的基于WEB的网络教学平台,系统以ASP(Active Server Pages)作为开发工具,使用SQL Server 2000作为数据库。经过分析,用户安全性、文件传输、视频教学是该系统的难点。其中本系统的功能主要包括:教学内容管理、作业管理、网上答疑管理、考试管理、资料库管理、公告管理等,这些功能的设计实现使该网站功能完备,易使用,交互性强。

《软件工程》精品课程教学网站为学生提供一个网上自学该课程的环境,为教师提供了一个友好的教学平台,为提高教学质量和教学效益提供一种有效的途径。同时也为国家精品课程的建设添了一份力。

关键词:精品课程 文件传输 教学网站 基于Web

Design and Implementation of Teaching Website of Choice Courses for Software Engineering

Abstract:  Along with the development of networks technology and the popularity of networks, online teaching has already been an educational hotpot. According to the present educational situation, the Ministry of Education, in time, put forward a quality project, which regards building of national choice courses as main content, to share the excellent teaching resources and to promote the teaching quality of colleges and the quality of talents cultivation. According to the spirits of the Ministry of Education, more than 1000 choice courses will be built in 3 or 5 years in colleges. Greatly, the building of choice courses alleviates the educational embarrassment of our country.

This project designs and implements a choice courses teaching website of the subject of software engineering. The website is a typical online teaching platform based on the Web. It employs the ASP (Active Server Pages) as developing tool, while utilizing the SQL Server 2000 as database. After analysis, the security of users, transmission of files, video teaching are viewed as the difficulties of the system. And the system mainly includes such functions as management of teaching content, schoolwork management, online replying management, testing management, material management, and bulletins management and so on. The realization of such functions makes the very website a perfect, easy-to-use, high-interactive one.

The choice courses teaching website of software engineering provides students with the conveniences of online self-learning, while the teachers with a friendly teaching platform. It is an effective way to boost the teaching quality and efficiency. Meanwhile, it makes great contribution to the building of national choice courses.

Keywords: choice courses; transmission of files; teaching website; based on the Web

目    录

目录

1 绪论

1.1 问题定义及内容简介

1.2 研究背景与研究意义

1.2.1 本课题研究背景

1.2.2 本课题研究意义

1.3 课题调研与可行性分析

1.3.1 课题调研

1.3.2 可行性分析

1.4各章内容介绍

2 系统需求分析

2.1 系统的性能要求

2.2 系统功能需求分析

2.2.1 功能划分

2.2.2 功能描述

2.3 用例模型

2.3.1普通用户用例图

2.3.2学生用例图

2.3.3教师用例图

2.4 活动图

2.5 数据流图

2.6数据字典

3系统设计

3.1系统总体结构设计

3.2系统数据模型设计

3.2.1 E-R

3.2.2 关系模型

3.2.3 数据库表的设计

3.3系统开发与运行环境的确定

3.3.1 系统开发环境

3.3.2 系统运行环境

3.4系统实现的若干关键技术

3.4.1 UML建模技术

3.4.2 ActiveX技术

3.4.3流技术

4系统内核设计

5用户管理

5.1用户注册

5.2用户登陆

5.3找回密码

5.4系统安全性

6网上课堂

6.1课件管理

6.2 在线教学子模块

7作业模块

7.1作业上传

7.2作业批改

8答疑模块

8.1学生提问

8.2教师答疑

8.3在线聊天

9公告模块

10测试模块

11用户使用手册

11.1系统功能简介,运行环境简介

11.1.1 系统功能简介

11.1.2 系统运行环境

11.2系统安装手册

11.2.1 系统配置

11.2.2 实施方案

12系统评价

12.1系统主要特色

12.2系统存在的不足与改进方案

12.3毕业设计心得与收获

  

   

1 绪论

近年来,随着计算机互联网络和网络多媒体应用技术的飞速发展,基于互联网络的远程教育站点和机构如雨后春笋般纷纷出现,学校以往一成不变的课堂教学方式也开始逐渐向网络教学模式进化。电子教案、多媒体教室的教学方式已经慢慢渗透到我们的教学工作中来,而课程建设还是作为教学工作的最基本要素,因此精品课程建设的好坏间接影响着教学质量。为了加强精品课程的建设,本课题设计一个《软件工程》精品课程的教学网站。

1.1 问题定义及内容简介

本课题建设基于Web的《软件工程》课程教学平台,利用网络的方便、省时、强交互性,协助教师教学、学生学习《软件工程》课程,促进教学资源共享,使整个教学过程的互动性大大加强。

《软件工程》精品课程的教学网站采用Browser/Server模式进行架构,此软件模式简单、方便、使用者易于掌握,不受地理位置的限制,随时随地可以进行教学工作。在功能上教学平台为教师、学生及教学管理者提供以下几个功能:

 针对“教”与“学”过程的要求,教学网站以“网上课件”作为教学模块来实现教与学的功能。

 针对学生作业的过程,系统提供了在线作业的提交和批阅的功能。教师可以通过作业系统及时地了解学生掌握知识的情况,有利于针对性地开展教学工作。

 针对一般网络教学(包括远程教学)往往缺乏真正的人与人交流及沟通的问题,教学平台专门设计了讨论与答疑功能,能够支持教师与教师、学生与学生、学生与教师之间的多模式交流(实时、非实时)形式,为教学双方在网络上直接进行教学与交流提供了一个通道。

为方便用户快速获得教学信息,教学网站将提供一个公告版块。老师可以在公告上面直接发布作业信息,以及上课和上机的时间等教学信息。可以使学生提前作好对该课程的准备。

该教学网站设置了学习资料库,可以很大程度上满足现阶段对该课程的学习,系统提供大量对于该门课程的学习资料。

通过以上几大功能,教学网站将最大限度的利用计算机的方便性和强交互性来加强学生与老师的交流。使学生可以自己很容易的自学该课程,并且学习的时候对于不懂的地方,可以很容易的与老师进行交流,这样可以在交流中提高学生的能力,而老师也可以在任何时候给予学生以答复,也节省了老师的时间。这一切都是通过教学网站提供的功能来实现的。

1.2 研究背景与研究意

1.2.1 本课题研究背景

 实施“高等学校教学质量和教学改革工程”,是教育部为不断提高教学质量而推出的一项重大举措,同时也是教育部《2003-2007年教育振兴行动计划》的重要组成部分。精品课程建设是“质量工程”的重要内容之一,教育部计划用五年时间(2003-2007年)建设1500门国家级精品课程,利用现代化的教育信息技术手段将精品课程的相关内容上网并免费开放,以实现优质教学资源共享,提高人才培养质量对此为了响应国家的号召开始了对《软件工程》精品课程的设计与实现的课题的研究以满足国家对人才培养的需求。

1.2.1.1 国际发展概况

1突出了交互的重要性

在国外无论是教师与学生,还是学生之间,交互是整个网络课程中必不可少的环节,不仅能使学习者通过和别人(教师、同学)的交流促进对知识的理解和运用,更在交流中实现情感和人格的完善,即使成年学习者也不例外。《虚拟学习环境的教育评价框架》中的会话模型,把整个学习的流程都看作教师与学生的交互,从网上学习环境提供的各种交互工具的性能上给出评价信息。而《在线学习的认证标准》中虽然没有明确提出“交互”这一词语,但在教学中,每一子项实际都与交互密不可分,如果在网络课程中少了这一环节,那么动机的激发、知识的迁移等学习过程都难以实现。

(2)重视学习环境的创设

  随着对各种学习观念的深入研究,国外的人们更加认识到,网络课程不是将教材的内容原封不动的搬到网上,而是要发挥网络的特点,为学生创设一个虚拟的学习环境。建构主义的学习理论强调要以学习者为中心,学习的发生是学习者与周围的环境交互的结果,在这个环境中,应该有促进学生学习的各种工具和资源。在传统的课程中,有教师、同学、课本、图书馆、实验室……等各种各样的资源,而在网络中,如果忽视了对虚拟环境的设计,那么学生的学习就会变得乏味无趣,根本无法保证网络课程的学习效果。上述国内外的一些评价标准,并没有局限于课程的范围,而从环境的角度进行评价,实际上网络课程不应只是课程的内容,还要涉及课程的资源、活动、练习、作业,并且既有面向个人的,也有要求通过小组成员的共同努力而完成的协作学习任务,这在某种意义上已经具有环境的含义了。由鉴于此,国外的精品课程早已经提上了日程,并且有很多的课程网站已经投入到实际的应用中去了,开始为人民服务了。对以学习者为中心的网络教学,教学质量的高低决定于学生自主学习的能力。这是因为,在信息社会里,知识的数量已经大大地超越了人类记忆的极限,知识更新又是如此之快,人们不得不终生学习。已经掌握的知识会很快地过时,自己需要的知识,不仅可以通过听教师讲课,更可以跨跃时间和空间的限制,自己在浩瀚的知识海洋中寻找、挑选甚至挖掘。搜集、整理数据,提取出有用信息,学习新知识的能力,才是立足于高科技信息时代的根本。

1.2.1.2国内的现状和发展概况

我国的网络教学起步较晚,是在1994年CERNET(“中国教育和科研计算机网络”)建成后才开展的。在高等教育方面,国家教育部于1998年正式批准了清华、北邮、浙大、湖大为首批开发远程教学的试点学校;1999年初,国务院发布《面向二十一世纪振兴行动计划》,其中明确提出:实施“现代远程教育工程”,形成开放式教育网络,构建终身学习体系;2000年,国家教育部连续批准了人民大学等26所高校开展现代远程教育试点。这一系列举措,表明国家对INTERNET远程教育事业的重视,INTERNET远程教育的发展必将成为未来教育的焦点。对于网络教学的开始,还没有精品课程这个概念。而随着网络教学的发展,精品课程开始被提上日程,国家现在特别重视精品课程的建设问题。

针对我们教育的现状,现在通过精品课程的建设来解决我国在教育上的窘状,同时也解决网络教学中的一些教学网站的一些缺点。精品课程建设是创建世界高水平大学教学质量与教学改革工程的重要组成部分,在学校课程建设中起到龙头和示范的作用。精品课程的建设对于共享全国优质教学资源,扶持中西部教育发展具有重要意义,国家正在投入大力气来做这方面的工作,出台了很多的文件来让各大高校来执行这件事情。如《教育部关于启动高等学校教学质量与教学改革工程精品课程建设工作的通知》(教高[2003]1号)精神,为保证国家精品课程建设的顺利实施,特制定《国家精品课程建设工作实施办法》。通过这些政策的出台,使我国精品课程建设有很大的发展。

虽然我国现在大力的支持精品课程的建设,但是客观的说我国的精品课程建设还是处于起始阶段,还缺乏一些理论指导,以及统一的调配问题,形成现在的全而不精的局面。我国的精品课程建设与国外相比还是有很大差距的。

1.2.2 本课题研究意义

从1998年到2002年,五年之内全国普通高校招生规模增长三倍多,从108万人增长到340万人,高等教育毛入学率达到15%以上,2003年,高等教育规模还在继续增长,本专科招生规模达到380万人,全国高等教育规模达到1900万人,高等教育毛入学率约17%。我国高等教育实现了历史性的跨越,使我国高等教育进入国际公认的大众化教育阶段。高等教育规模取得如此快速的发展,而且教育质量仍然不断提高,创造了世界教育发展史上的奇迹。但是,我国是发展中国家办大教育,而且是世界上最大规模的教育。人民群众不断增长的教育需求同教育供给特别是优质教育供给不足的矛盾,是现阶段教育发展面临的基本矛盾。教育投入严重不足,教育基础设施和教师队伍的水平都远远不能适应教育现代化的要求。要在高等教育规模持续增长的情况下,继续保持教育质量的不断提高,是我们面临的前所未有的严峻挑战。网络教学是缓解这种现状的一个方法,而精品课程为网络教学提供了一个很好的网络教材,使网络能够很好的教学。网上的资源通过教学网站来进行发布,有条件的学生可以通过学习教学网站的课件来学习,这样不用实时实地的进行学习,可以使学生可以更好的分配时间来学习。精品课程的建设极大缓解了我国教育力量不足的压力。

1.3 课题调研与可行性分析

1.3.1 课题调研

1.3.1.1网络课程教学的介绍

对于网络教学目前还没有一个统一的、规范的、标准的限定,但可以这样理解,凡是依托计算机网络而进行的教学活动,就可以称之为网络教学。它可以有各种各样的方式如网上实时交互教学、网上实时广播、转播教学及通过网络课件进行的教学等。这里有两个要素:一是计算机网络;二是教学活动,显然教学活动是第一要素。这两个要素缺一不可,必须同时存在,否则就不能称之为网络教学。这样就可以很容易地把当前舆论中的网络教育、网上教学、远程教学、网络化教学、网络辅助教学、计算机辅助教学、网校等概念很容易地区分开来,以便于问题的讨论。然而,不同的人有不同的看法:

 按照表象的理解,网络课程就是通过互联网来实现课程的功能。金伯格等人对网络课程进行了划分。金伯格认为网络课程可以分为三代:第一代是通过网页给学习者提供教学材料和有关资料,以及与其他的有关教育网连接;第二代是除了在网上提供学习材料外,还要求学习者通过电子邮件、电子公告栏、网上练习和测量进行异步双向交流;第三代是除了第一代、第二代外,还要求通过网上交谈室、电话会议、视频会议进行同步双向交流。

 与其说金伯格的划分是概括的不同时期的网络课程的概念,不如说他谈的是网络教育或现代远程教育的发展阶段。网络教育和网络课程有着紧密的联系,但它们是不同层面的事物。网络教育是指通过网络手段实现教育的全过程或主要过程,而网络课程只是这中间的一个部分或一个阶段。我国教育部高等教育司颁布的《现代远程教育技术标准体系和11项试用标准简介V1.0版》(以下简称“试用标准” )中指出,网络课程是“通过网络表现的某门学科的教学内容及实施的教学活动的总和,它包括两个组成部分:按一定的教学目标、教学策略组织起来的教学内容和网络教学支撑环境”。这是我国教育工作者根据我国的实际多年实践的高度总结,也正在指导着我国网络课程开发的实践。网络课程首先的属性是“课程”,它应该包含“课程”的一切特征,如:教育目标、教学内容、教学活动、教学评价等等。其次,它一定要体现“网络”的属性。网络课程是以互联网作为传播的媒介,通过计算机呈现。因此,计算机多媒体技术应该是网络课程的重要特征,常用的网络链接、导航、搜索乃至与网上注册和缴费等功能也应充分地体现,互联网海量的资源应该得以充分的利用,这样才可体现出网络课程的优势。再次,网络课程应该体现网络教学的特征。网络教学的特征是非面授教育,教与学的双方在时空上是分离的。因此,相应的教学理念、课程的教学设计也必须发生相应的变化。要站在学习者的角度,以学习者为中心来考虑一切问题。

1.3.1.2网络教学存在的问题

(1)网络课程、网络课件、网络教材的混淆

目前,关于网络课程与网络课件的界定显得模糊不清,有时被认为是同一个概念或同等的概念;更有人把网络课程理解成教学内容的简单罗列。网络课程中只有几个课件或几篇讲稿,需要指定参考教材。

课件(Courseware),指专门为进行教学活动而设计的计算机软件,包括用于控制和进行教育活动的程序、帮助开发维护程序的文档资料以及帮助教师和学习者使用程序学习的课本和练习册等。网络课件,就是应用于网络环境的课件。而网络课程是通过网络表现的某门学科的教学内容及实施的教学活动的总和。课程与课件的出发点不同,课件是从教学活动出发,课程是从社会需求出发,但他们的教育目标是一致的,都是使学习者的认知结构发生一定的改变,使他们学会认知、学会生存、学会做事和学会与人共事。课件把课程中所规定的教学内容、教学活动用软件的方式实现出来,但缺失了很多课程的内涵,如社会需求分析、课程规划等,而这些缺失在教学中不能显现出来,因此也造成了这两种概念的混淆,有些网校或网络学院就把某些章节、某些知识点的材料作为网络课程了。

2)课程体系大而全

 纵观我国的网络学院和网校,开设的课程非常齐全,但缺少规划,显得过于急功近利,高校网络学院的热门专业课程设置过多,中小学网校过多关注中考、高考学科课程,而少课外活动类课程,而且高质量的网络课程比较少。各个网校纷纷开设科学基础教育(如目前高校、中小学的课程体系中包括的课程)、专业技术课程(如实用计算机类、会计类、电子商务类)等名目繁多的课程,而有些又缺乏充足的教学材料或教师资源。这种现象在中小学网校中尤其严重,罗列了几乎所有的中小学基础教育课程。

3重教学内容呈现,轻学习环境设计

 建构主义认为,知识不是通过教师传授得到,而是学习者在一定的情境即社会文化背景下,借助学习是获取知识的过程其他人(包括教师和学习伙伴)的帮助,利用必要的学习资料,通过意义建构的方式而获得。在建构主义学习环境下,教学设计不仅要考虑教学目标分析,还要考虑有利于学习者建构意义的情境的创设问题,并把情境创设看作是教学设计的最重要内容之一。在网络环境下的学习,要求必须更加自主地进行意义建构,因此情境的创设尤为重要,网络课程不是仅提供资料,而是影响学生使其成为自己的“教师”。而目前大部分网络课程仍强调“教”,强调知识的传授,一进去就开始知识教学,而没有给予一定的情境导入。我们调研了很多网校及网络学院,发现大部分的课程都是文本教学材料或教师讲稿的简单呈现,在中小学网校里,有些课程内容比较空洞,没有根据教学目标对整个课程作统一的规划,网上只有一两节课的讲稿和试题库,没有给学习者设置模拟真实的学习情境,缺少一些让学习者去解决的现实问题,无法让学习者进行小组协作、角色扮演、讨论、问题解决学习。学习者在学习时,只能被动的接受教学内容或去讨论组发表自己的一些看法。归结到一点,就是没有充分体现学习者的主动性。

4缺乏教学活动设计

 网络学习是由学习者一系列的学习活动组成的,并不是只有起点和终点,网络学习不仅要关心教育目标的设计、实现,更要关心实现的过程以及学习者在这个过程中获得的能力发展。在学习过程中,学生是主体,教师则是教学过程的组织者、指导者,对学生的意义建构过程起促进和帮助作用,其作用是不可忽视的。因此,教师在网络学习中的作用并不只是提供教学材料,教学活动的每一步都需要教师的精心组织和指导,如网络环境下学习情境的创设、学习策略的指导、交流和反馈等。

 因此,本文针对上述缺陷,着重在学习环境设计,和师生交互设计中来对做一些探索。

1.3.2 可行性分析

     从经济可行性和技术可行性这两个角度来对其可行性进行分析:

1.3.2.1 经济可行性

(1)开发本系统的投资

    《软件工程》精品课程的网站的开发、运行、维护费用包括:

  • 购买和安装设备的费用:包括计算机硬件、系统软件、 机房、电源等,由于本系统各项设备现成,因此此项费用极少。
  • 人员费用:系统开发人员、操作人员和维护人员的工资、培训费用等,由于本项目的特殊性该部分费用可节省。
  • 消耗品费用:系统开发所用材料、系统正常运行所用消耗品,例如电费,打印纸、开发软件等开支。

(2)系统运行后所带来的经济效益

系统开发完毕后可以大大减轻教师的工作量,提高老师和学生的工作学习效率,节约了教学成本。同时因为本系统配置移植非常方便,适合其他院校对于《软件工程》的学习。对于我国的教育现状来说,网络学习是缓解学习资源紧缺的一种方法,而做这个精品课程的开发成本是很小的,可以很好的缓解我国的教育压力。

由上分析可知,本系统开发成本低,它的投资主要是在软件平台的开发上,新系统的实施在不需要太大的资金投入基础上却可以带来极高的使用价值及经济价值,因此,从经济上考虑,本系统的开发是完全可行的。

1.3.2.2 技术可行性

《软件工程》精品课程的建设可以使用多种语言来实现,可以使用JSP等来实现,对于网页制作,ASP可以是用纯文本的形式就可以完成编程操作,这个语言用起来比较方便,而且现在也有很多的人都用这门语言来做网站。重要的是自己本身对ASP比较熟悉,所以用ASP来做毕业设计。这门语言对于本次设计来说是可行的。

现在有很多种数据库可以供大家选择使用,可以有VFP,SQL,ORACLE等其他的数据库。VFP它是一种小型的数据库,对于数据量存储有限,本网站用这个数据库就显的有点小了。而ORACLE则是大型数据库,它比较适合用于大型数据的存储,对于本次课程设计来说太大了,而且它较难使用,尤其是在配置的时候,比较麻烦,操作也很麻烦。所以我选用SQL Server 2000。SQL Server 2000数据库是一个中型数据库,它不仅使用方便,而且SQL语言是集定义语言DDL,数据操纵语言DML,数据控制语言DCL的功能于一体。它的语言风格统一,可以独立的完成数据库生命周期中的全部活动,这些为数据库开发提供了良好的环境。

由上分析可知,本系统使用比较熟悉的ASP技术来开发应用程序,用SQL Server 2000来做后台数据库。这些在技术上是可行的。

本节从经济及技术上对课题进行了分析,有上述可知,《软件工程》精品课程的教学网站在经济上和技术上是可行的。

1.4各章内容介绍

第一章是绪论,这一章主要是对本次毕业设计所开发的系统进行问题的定义,通过问题的定义明白需要做些什么,并且对开发内容简单的介绍了一下;同时本章还对课题的研究背景与研究意义进行分析,还进行了系统的可行性分析,简要介绍了论文的各章内容。

第二章是系统需求分析。主要内容是系统的性能要求及功能需求分析,最后按面向对象的分析方式给出了系统的用例模型、活动图、数据流图以及数据字典。

第三章是系统设计部分,本章主要针对系统进行总的体系结构的设计,这部分设计是从用例模型及活动图导出的;系统数据模型设计包括了核心的E-R图、关系模型和一些重要的数据表;最后确定了系统的开发和运行环境以及开发本系统所涉及的一些关键技术。

第四章介绍的是系统的内核设计,包括ASP的工作原理、系统的三层结构、系统的模型结构的设计。

第五章介绍的是注册模块,注册模块包括用户注册、用户登陆、找会密码密码这三个功能,及其用户的安全性。

第六章介绍的是网上课堂模块,包括这个子模块所要实现的功能,设计中的关键技术要点。

第七章介绍的是作业模块,包括这个子模块所要实现的功能,设计中关键技术要点。

第八章介绍的答疑模块,包括这个子模块所要实现的功能,设计中关键技术要点。

第九章介绍的是公告模块,包括这个子模块所要实现的功能,设计中涉及的技术要点。

第十章介绍的是在线测试模块,包括这个子模块所要实现的功能,设计中涉及的技术要点。

第十一章是用户使用手册,主要内容有系统功能简介、运行环境简介,系统安装步骤要点。

第十二章是系统评介,主要内容有系统主要功能、特色/优点介绍,系统存在不足与改进方案以及毕业设计心得与收获。

最后是结论,致谢以及参考资料。

2 系统需求分析

根据第一章所定义的课题研究方向及目标,本章将对系统功能进行具体的需求分析,具体分析《软件工程》教学网站所要实现的功能以及欲达到的效果。

2.1 系统的性能要求

(1)磁盘容量要求:

本系统属于B/S模式构架,因此存储容量较小,数据库系统也不是很大,系统文件估计占30M的磁盘空间,数据库文件占用空间也不是很大。不过该教学网站中的在线教学模块将会占用很大的空间。一些教师的教学视频在文件中将会占用很大的空间。而本机器有30G的空间,足够放入一些视频,如果空间不够,这个就要管理员及时的清空系统中的过期文件。

(2)安全性要求:

本系统有着权限设置,不同的用户有不同的权限,普通游客不可以越权进行学生的操作,学生也不可以越权更改或者访问教师的页面。教师可以赋予管理员的权限,可以对网站进行任何的操作。同时对于非法用户,不能够根据用户的相对网址来访问网站和对网站进行任何操作。必须进行登陆才可以访问操作。

(3)适应性要求:

要求界面友好,菜单清楚,学生和老师都能很快熟悉网站。对于部分文章、课件的发布要求达到所见即所得的效果。

2.2 系统功能需求分析

本系统要求采用Browser/Server模式设计开发,可以作为一般高等院校的网络学堂;可以为教师的辅助教学或者网络教学提供一个完善的教学网站;学生可以利用本教学网站来完成一些课程的学习任务。

2.2.1 功能划分

《软件工程》教学网站根据不同的使用者,可以分为两个部分:一是面向老师部分,同时这个老师的部分被赋予了管理员的权限。教师的部分内容包括作业管理,公告管理,在线答疑,考试管理,资料库的管理,在线教学;二是面向学生部分,学生可以进入网上学堂进行自学该门课程,同时可以进行作业的上传,学生可以进行在线答疑和在线即时聊天。普通游客也可以浏览网站,不过需要进行注册登陆,但是不能对作业部分进行操作。

2.2.2 功能描述

     根据系统功能划分,本系统详细需求描述如下:

2.2.2.1 登陆功能

为了使得网站的一些信息和使用功能只对用户开发,就必须有一个会员登陆注册系统。作为一个基本的登陆注册系统,应具有以下三个方面的功能:

(1)接受新用户的注册,引导新用户填写必要的个人资料;

(2)实现用户的登陆;

(3)对于已经注册的用户,如果密码丢失可以通过忘记密码这种方法来找回密码。

2.2.2.2 网上课堂功能

    该子模块可以提供文本课件,视频课件,可以有多种形式的文本课件。当然也可以根据需要提供其他课件形式。对于文本课件,本系统可以采用的是网页形式来进行链接的,这样在网站上面显示的时候会比较好看一点。学习完网络课件后,可以做课后的一些习题来巩固学习的知识。而视频课件,可以以课程的章节顺序来发布。对于本系统而言可以给出其视频链接地址。对于其他的课件形式,可以直接导入Powerpoint,Word等附件或者网上课件链接等其他方式来让学生访问,同时要提供一个网上资料库为课堂知识的学习提高提供一个基础,假如该网站的知识不能满足学生的需求,可以通过其资料库来查找其他的资料来进行学习。

2.2.2.3 作业功能

显然,对教师和学生而言,作业的含义不同;教师关注的是如何布置作业、批阅作业,管理学生提交的作业;学生则关注如何做作业、提交作业、查询批阅结果。

(1)作业管理

题目按照所创建的课程 节的顺序发布。对于所要上传的作业,都可以统一放在一个专门的文件夹里面,同时要编号,按照学生的学号来编号统一管理。

(2)布置作业

该功能应该可以添加对应具体课程、具体章节,发布与相应课程、章节相关的题目,题目包括单项选择、多项选择、填空题、简答题、问答题等。

(3)提交作业

该功能可以上传作业。学生通过验证后,可以上传作业。对已经上传的作业进行修改,可以使用新的作业来替代覆盖。已经提交的作业,学生可以通过提交的次数顺序和学号来进行快速查询。同时老师可以查看学生作业完成情况,来不断调整学习进度。

(4)批阅作业

教师可以在线对作业进行批阅,同时可以对学生进行打分,直接把作业成绩写入到数据库中。

(5)查看批阅结果

    老师可以对学生的成绩进行横向和纵向的对比,以此来判断最近学生的学习情况,不断调整教学方法。学生可以查询作业成绩,了解最近的一段时间学习进步情况。

2.2.2.4 答疑功能

该模块功能类似BBS系统。其具体要求如下:

 对于这个答疑教室由老师来对学生提出的问题进行回答,可以对帖子进行管理。学生可以直接进入自己的栏目进行提问。

 学生的问题通过老师的管理界面看到,该问题是否回答,这个功能是专门向学生和老师提供的。其他学生可以看到该问题,以及老师的解答。学生既可以通过自己提问,寻求解答,也可以通过查询其他同学提出的问题及老师的解答提高自己的知识水平。

2.2.2.5 公告功能

教师可以实现公告以及新闻的发布,同时可以通过公告功能向学生发布作业信息。教师负责公告的编写、发布、修改、删除。

2.2.2.6 实时聊天功能

    用户只要随便自己注册一个名字就可以进入聊天室,可以和其他用户进行实时聊天。这样可以方便用户交流。

2.2.2.7 测试功能

考生可以根据自己选择相关章节的试题进行测试。教师可以设置测试的内容,具体考试过程不做控制时间。不过考生在考试过程中,不得进行刷新。

2.3 用例模型

2.3.1普通用户用例图

图2.1是普通用户对该网站进行操作的用例图,对于用户来说,要访问该网站,必须先注册,登陆,然后才能对该网站进行操作,经过身份认证后,用户可以进行课件浏览,可以对答疑模块,测试模块,进行操作。

    

图2.1 普通用户用例图                                    

2.3.2学生用例图

在该系统中,学生要进行访问该网站的时候,要一般用户一样注册登陆,不过学生比一般用户多的一个权限就是先进行身份认证后对作业系统进行操作。用例图如图2.2所示:

                            图2.2 学生用例图

2.3.3教师用例图

    教师用例图表示了教师的操作权限,教师可以有管理员的权限,身份认证通过以后,教师可以进行公告管理,作业模块管理,答疑模块管理,学习资料库模块管理,考试模块管理。具体用例图如图2.3所示:

                           图2.3教师用例图

2.4 活动图

进入本系统后,有两个活动选项,一个是供一般用户的系统登陆入口,一个是供教师的系统登陆入口,系统活动图如图2.4所示:

                                  图2.4系统活动图

2.5 数据流图

以下是系统的部分数据流图,主要是老师和学生的登陆,然后老师和学生由于权限的不同所做的不同的操作。不过在系统中,学生要重新注册一个帐号才能登陆,这样就给了其他游客也可以访问该网站的权限,不过也要注册帐号。图2.5是系统一级数据流图,图2.6是系统二级数据流图。

     图2.5一级系统数据流图

                              图2.6二级系统数据流图

2.6数据字典

 数据字典是系统分析阶段的重要文档,它清楚地定义与详细地解释了数据流程图上不能详细表达的内容,同时它也是同用户交谈的工具。

下面详细列出本系统中的数据字典:

                           表2.7 D1用户信息

                                表2.8 D2资料信息

                           

 表2.9 D3公告信息

                              表2.10 D4作业信息

                              

表2.11 D5答疑信息

  表2.12 D6测试信息

                               

3系统设计

3.1系统总体结构设计

 根据第一、二章所做的定义及分析,本课题提出了《软件工程》精品课程网站的模型,并将在此基础上利用ASP技术和SQL Server 2000构建基于Web的开放的、资源共享的、交互式的教学网站,该网站可以在基于Windows 2000/XP/2003系统构建的局域网或Internet上使用。在总体结构上是采用3层(数据层/业务逻辑层/表现层)结构的B/S模式设计,各类教学资源采取中心数据库SQL Server统一组织,存放在服务器一端;学生、教师及系统管理人员在客户机一端,无须任何配置工作,只须使用浏览器向Web服务器代理提出请求,服务代理通过中间组件与数据库链接,把请求服务的教学内容以Web页面形式通过浏览器反馈给学生。

本系统面向普通用户、学生、老师三种身份的用户,不过在系统中,把管理员的权限,下放给教师,所以老师同时担任了管理员的角色。本系统主要由以下几个模块组成:

用户管理模块、课件模块、作业模块、在线聊天模块、公告模块、考试模块、资料库模块。

整个系统的功能框架图如下图3.1所示:

图3.1系统功能框架图

3.2系统数据模型设计

3.2.1 E-R图

通过以上的系统分析可以知道,系统主要涉及的实体有:学生、教师、作业、考题、教学资源等,实体之间联系复杂,现分析如下:

 课件管理涉及的实体有:

¡ 学生   属性有学号、姓名、性别、系别。

¡ 老师   属性有权限、姓名。

¡ 教学资源  属性有编号、名称、类型、日期。

这些实体之间的联系如下:

® 一位老师可以更新多种类型的教学资源,一种教学资源可以由多个老师来进行更新,因此教师和教学资源之间是多对多的联系。

® 一位学生可以使用多种类型的教学资源,一种教学资源可以给多个学生使用,因此学生与教学资源之间是多对多的联系。

实体联系图如3.2所示:

                                 图3.2课件关系图

 作业-问题中涉及的实体有:

  ¡ 问题   属性有名称、编号 。

¡ 作业   属性有编号、时间、成绩。

¡ 老师   属性见上面的教师属性。

¡ 学生   属性见上面的学生属性。

     这些实体之间的联系如下:

® 一位学生可以提问多个问题,而一种问题可以被多个学生同时提出来,因此学生与问题之间是多对多的关系。

® 一位老师可以回答多个问题,而一种问题可以被多个老师回答,因此老师与问题之间的关系是多对多的关系。

    ® 一位学生可以提交多次的作业,而一次的作业可以被多个学生提交,因此学生与作业之间是多对多的关系。

® 一位老师可以批阅多次的作业,而一种类型的作业可以被多个老师批阅,因此老师与作业之间是多对多的关系。

实体联系图如3.3所示:

                              图3.3作业-问题关系图

测试关系中涉及的实体有:

¡ 考题  属性有编号、名称、类型、章节、难度。

¡ 学生  属性见上面的学生的属性。

¡ 教师  属性见上面的教师的属性。

这些实体之间的关系如下:

® 一位学生可以做多道考题,而一道考题可以让多位的学生来进行测试,因此学生与考题的关系是多对多的关系。

® 一位老师可以更新多道考题,而一道考题可以由多位的老师来进行更新,因此老师与考题的关系是多对多的关系。

                             图3.4考题关系图

3.2.2 关系模型

    由以上的E-R图可以得到以下的关系模型,以下是详细的关系模型:

用户(ID,姓名,密码,性别,生日,密码问题,问题回答,专业ID,地址)

教师(ID,用户名,密码,权限)

资源(ID,名称,URL,类型,日期)

答疑表(ID,名称,显示标记,回答标记,内容,回复,日期)

学生作业表(ID,学号,姓名,密码,系别,专业,作业成绩,电子信箱)

公告表(ID,名称,作者,日期,内容)

课程介绍表(ID,介绍内容,联系地址,方式)

专业表(ID,名称)

测试题库表(ID,考题内容,类型,日期,章节ID专业ID,答案,备注)

测试成绩表(ID,帐号ID,章节,单选成绩,多选题成绩,总成绩,考试时间)

章节表(ID,名称,类型,专业ID

专业表(ID,名称)

3.2.3 数据库表的设计

3.2.3.1 关键数据库表详细说明

     表3.5  用户表(Tab_student)

字段名

描述

类型

长度

是否空

是否主键

ID

用户ID号

Varchar

20

Name

姓名

Varchar

10

Pwd

密码

Varchar

20

Sex

性别

Varchar

2

Birthday

生日

Datetime

8

Question

问题

Varchar

50

Answer

回答

Varchar

50

Profession

专业

Int

50

Address

地址

Varchar

100

 表3.6 资源表(library)

字段名

描述

类型

长度

是否空

是否主键

ID

资源ID号

Int

4

Subject

名称内容

varchar

80

URL

相对地址

Varchar

100

Type

类型

Varchar

50

Ondate

时间

Datetime

8

  表3.7  章节表(lesson

字段名

描述

类型

长度

是否空

是否主键

Id

章节ID号

Int

4

Name

名称

varchar

60

LessonType

类型

Int

4

OfPrpfession

专业

Int

4

  

 表3.8  专业表(Profession)

字段名

描述

类型

长度

是否空

是否主键

ID

专业ID号

Int

4

Name

名称

varchar

50

表3.9  考题表(questions)

字段名

描述

类型

长度

是否空

是否主键

ID

考题ID号

bigint

8

Que_subject

内容

varchar

50

Qut_type

类型

Char

10

Que_jiondate

Datetime

Datetime

8

Que_lessonid

章节

Int

4

Que_professionid

难易程度

Int

4

Option a,b,c,d

答案选项

Int

4

Que_answer

正确答案

Char

10

Note

备注

Varchar

50

表3.10 测试成绩表(stuResult)

字段名

描述

类型

长度

是否空

是否主键

Res_ID

成绩ID号

Bigint

8

Stu_id

用户帐号

varchar

50

Which_lesson

选择章节

Varchar

50

Res_single

单选

Int

4

Res_more

多选

Int

4

Res_total

总分

Int

4

Res_subdate

日期

Char

30

 表3.11  教师表(Teacher)

字段名

描述

类型

长度

是否空

是否主键

ID

教师ID号

Int

4

Name

名称

Varchar

20

PWD

密码

Vrchar

20

Purview

权限

Varchar

10

表3.12  公告表(Placard)

字段名

描述

类型

长度

是否空

是否主键

ID

公告ID号

Int

4

Subject

公告内容

varchar

50

Person

发布者

Varchar

50

dDate

时间

Smalldatetime

4

Content

内容

Text

16

表3.13作业表(student)

字段名

描述

类型

长度

是否空

是否主键

ID

作业ID号

Int

4

Num

学号

nvarchar

6

Name

姓名

Nvarchar

10

Passwd

密码

Nvarchar

50

Denartment

系别

Nvarchar

50

Major

专业

Nvarchar

50

Score1,2,3,4,

历次成绩

Numeric

5

Email

电子邮箱

Nuarchar

50

 表3.14 答疑表(problems)

字段名

描述

类型

长度

是否空

是否主键

ID

问题ID号

Int

4

Title

标题

Nvarchar

50

Flag_show

显示标记

Bit

1

Flag_answer

回答标记

Bit

1

Datail

内容

Ntext

16

Answer

回答

Ntext

16

Time_qry

时间

Smalldatetime

4

 表3.15  简介表(Profile)

字段名

描述

类型

长度

是否空

是否主键

ID

简介ID号

Int

4

Name

介绍内容

Text

16

以上的十一张表构成了整个系统的表框架结构,其它所有表根据功能的需要可以在此基础上进行相应的扩展。

3.3系统开发与运行环境的确定

3.3.1 系统开发环境

3.3.1.1 系统开发环境及开发工具

开发工具对一个系统的成败具有决定性作用。由于本系统是应用于网络的,因此,我们选择了ASP技术进行开发,同时,选用SQL Sever 2000作为系统后台数据库,开发中将用到以下主要几款开发工具:

开发工具名称

软件用途

Microsoft visio 2003

系统设计,UML建模等

SQL-Server 2000

建立系统的后台数据库

Photoshop

图片处理

Dreamweaver MX 2004

静态页面的设计、制作

3.3.1.2 使用ASP作为系统前台开发工具的优点

ASP是一个位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的交互式Web服务器应用程序,如交互式动态网页,包括使用HTML表单收集和处理信息,上传与下载等等。同时 ASP使用的ActiveX技术基于开放设计环境,用户可以自己定义和制作组件加入其中,使自己的动态网页几乎具有无限的扩充能力,这是传统的CGI等程序所远远不及的地方。ASP本身并不是一种脚本语言,它只是提供了一种使镶嵌在 HTML 页面中的脚本程序得以运行的环境。ASP不具有编程语言复杂、严谨的语法和规则。如前所述 ASP 所提供的脚本运行环境可支持多种脚本语言, 这无疑给 ASP 程序设计者提供了广泛的发挥余地。由此可以总结出ASP的优点所在:

1  可以直接嵌入到HMTL代码中,与HMTL/SCRIPT等达到完美的结合。

2  ASP是面向对象的可扩展组件功能的交互语言。组件的引用,极大的方便了ASP的使用。

3  用ADO组件轻松实现数据库的存取。

4  通过服务器动态的处理,因此不在存在潜在的脚本兼容的问题。

5  客户端只能看到动态提供的HMTL文件,从而增强了安全性。

3.3.1.3使用SQL Server 2000作为数据库开发工具的优点

数据库保存着整个系统的重要信息,绝对不允许被他人恶意破坏。在Access、SQL Server2000、Oracle等诸多数据库中我们选择了SQL Server,原因如下:

SQL Server 2000是微软公司推出的一个服务器产品,SQL Server 2000除了具有扩展性、可靠性以外,还具有可以迅速开发新的因特网应用系统的功能,尤其是可以直接存储数据,可以将搜索结果来输出等特点,这些特点在设计中发挥着重要的作用。SQL Server 2000通过对高硬件平台以及最新网络和存储技术的支持,可以为大的Web站点和企业级的应用提供可扩展和高可靠性。

3.3.2 系统运行环境

硬件环境:

服务器端: 推荐配置为256M内存,CPU为PIV 1.75GHZ,硬盘容量为80G的微机。

通信网络: Internet网

软件环境:

服务器端:

 操作系统: Windows 2000 Server /NT/2003 Server

 数据库:   SQL Server 2000

 Web服务器:Internet 信息服务5.1或以上版本

客户端:

 操作系统: Windows 2000/XP/2003

 浏览器: Internet Explore 6.0或以上版本

 推荐分辨率:800*600或以上

3.4系统实现的若干关键技术

3.4.1 UML建模技术

1997年,OMG组织(Object Management Group对象管理组织)发布了统一建模语言(Unified Modeling Language,UML)。UML是一种可以应用于任何软件开发过程的标记法和语义语言,UML的目标之一就是为开发团队提供标准通用的设计语言来开发和构建计算机应用。UML提出了一套IT专业人员期待多年的统一的标准建模符号,通过使用UML,这些人员能够阅读和交流系统架构和设计规划--就像建筑工人多年来所使用的建筑设计图一样。

 UML之所以被称为统一建模语言,是因为它:

† 统一了多种建模方法

† 统一了软件产品开发的整个过程

† 统一了实现语言和平台

UML适用于以面向对象技术来描述任何类型的系统,可以用UML对软件密集型系统的制品进行可视化、详述、构造和文档化,而且适用于系统开发的不同阶段,从需求规格描述直至系统完成后的测试和维护,它记录了对必须构造的系统的决定和理解,可用于对系统的理解、设计、浏览、配置、维护和信息控制。

最常用的UML图包括:用例图、类图、序列图、状态图、活动图、组件图和部署图。 因为本系统开发设计所涉及的范围,以下仅对用例图、类图、活动图三种UML图给出简要说明:

† 例图

用例图是使用UML设计新系统的起点,说明谁要使用系统以及他们使用该系统可以做什么,描述的是外部执行者所理解的系统功能。用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求,包括基于基本流程的"角色"(也就是与系统交互的其他实体)关系,以及系统内用例之间的关系。用例图一般表示出用例的组织关系--要么是整个系统的全部用例,要么是完成具有功能(例如,所有安全管理相关的用例)的一组用例。要在用例图上显示某个用例,可绘制一个椭圆,然后将用例的名称放在椭圆的中心或椭圆下面的中间位置。要在用例图上绘制一个角色(表示一个系统用户),可绘制一个人形符号。

† 活动图

活动图表示在处理某个活动时,两个或者更多类对象之间的过程控制流。活动图可用于在业务单元的级别上对更高级别的业务过程进行建模,或者对低级别的内部类操作进行建模。根据我的经验,活动图最适合用于对较高级别的过程建模,比如公司当前在如何运作业务,或者业务如何运作等。这是因为与序列图相比,活动图在表示上"不够技术性的",但有业务头脑的人们往往能够更快速地理解它们。

3.4.2 ActiveX技术

ActiveX技术是微软的一种技术平台。它采用与语言无关的元件性结构,支持分布式对象,具有简单、可靠、通用性强的特点。ActiveX技术包括很多方面,如ActiveX Control技术,(即ActiveX控件技术)。ActiveX控件一般是DLL形式的,因此必须在“容器”下执行。Windows系统上的许多软件都可以作为“容器”,如IE浏览器、Netscape,Visual C++等等。而且ActiveX控件必须在Windows的注册表中注册后才能正常运行。

ActiveX控件的设计采用模块式结构,支持多种操作系统平台,可以直接嵌入WEB中,当WEB页进行内容更新时,不需要重写代码,只要更新相应的ActiveX控件即可。ActiveX控件的主要特点是:可以动态的改变特性值。这样,在同一个WEB页内或不同的WEB页上的ActiveX控件可以相互传递信息、交互数据,提高了WEB页的交互性和动态性。在文本的后面章节中看到ActiveX控件在基于WEB的远程教学系统中的具体应该实例。

3.4.3流技术

流技术是近几年发展起来的基于IP的新技术。流技术的出现为网上的多媒体信息的发布特别是连续的流媒体提供了新的手段。虽然很多技术可以用在网上发布多媒体信息,但它们通常要求终端用户将多媒体信息下载到本地的计算机,然后再用浏览器中的播放器插件或专门的媒体播放器来播放。这种方法虽然使网上的多媒体信息的发布成为可能,但是也带来了两个突出的问题。

首先,下载时间较长。由于必须下载多媒体信息,而多媒体信息的数据量都很大。在目前普通用户接入速度比较低的情况下,下载时间会很长。而流技术解决了多媒体信息必须先下载后播放的问题。它需要下载大约5秒钟左右的多媒体信息后就可以立即进行播放,为用户提供在线播放的功能。

其次,下载需要占用系统的存储资源。由于必须讲节目下载到本地计算机后才能播放,必然占用本地计算机的存储资源。而采用流技术后,播放是在线进行的,因此不会占用本地计算机的存储资源。

采用流技术不仅能解决信息必须先下载后播放以及占用多媒体信息播放是在线的,用户不能将媒体信息下载到本地计算机,不能复制和散发,如果需要多次播放该节目,每次都必须连接到服务器才能播放,可以保护知识产权。此技术可以在以后的系统扩展中使用,本系统正在研究中。

4系统内核设计

本课题的前两章从功能、性能等要求上对《软件工程》精品课程教学网站进行了比较详细的分析,并给出了总体设计方案及相关技术路线。从本章开始,将给出系统各个模块的详细设计及实现时的技术要点。

以下是ASP技术的工作原理,可以看出ASP具有高度的可扩展性。它的运行代码在服务器执行,以HTML格式显示给用户,这样提高了安全性。见图4.1 ASP技术的工作原理。

                      图4.1 ASP技术的工作原理

这样我们根据ASP的特性,ASP技术可以基于三层模型。可以分为数据存取层,应用逻辑层,和用户层。数据存取层是指数据库、预存程序以及提供数据库接口的组件。应用逻辑层是指ASP的自身,或者是附加的组件,而用户层是指Web应用程序页面。该教学网站的建设在设计过程中,根据ASP的工作原理来设计了如图4.2系统结构模型图:

                               图4.2系统结构模型

在此模型中,对数据层进行操作时候,可以直接编写代码来实现对数据层的操作。不过也可以利用ASP的组件分别对文件系统和数据库系统进行操作,利用组件,大大节省了时间。这里可以看出,ASP的移植性很好,而且这些组件与ASP连接时,兼容性很好。

5用户管理

用户注册登陆是访问网站时候,必须进行的操作。该部分主要分为:用户注册,用户登陆,和忘记密码。在用户注册时候,为了方便管理,用户的ID是由系统直接分配的。在这个系统中总共分为3个活动选项,由于用户进入各个活动选项时,对于登陆页面来说,如果没有帐号是无法进行登陆的,所以在登陆页面中,要对帐号密码进行身份验证,而注册页面可以说是对网站操作的第一步。而忘记密码也就是用户忘记了密码,通过忘记密码这个操作来找回密码,这个操作过程中,一定要记得在注册时候的问题,以及问题的答案。这几个操作中登陆操作需要判断,就是对帐号的验证,如果错误的话,就返回,正确进行下一步。活动关系图如图5.1所示。

                      图5.1用户注册登陆系统UML活动关系图

5.1用户注册

帐号是新用户对网站访问的钥匙,如果这个钥匙丢掉的话,影响用户对网站的访问。在系统注册的时候,帐号是由系统自动分配的。还有为了可以找回帐号密码,在用户注册的时候,必须要填写密码问题和问题答案。以方便用户可以找回密码。所以在这个注册当中设置了一些必须填写的项目,其具体代码如下:

这段代码是系统自动生成用户帐号的程序,系统按照注册时候年月日来注册的。

<%

'查询学生信息表中的最大学生证号

set rsmax = Server.CreateObject("ADODB.Recordset")

sql_max = "SELECT MAX(ID) AS MAXID  FROM tab_student"

rsmax.open sql_max,conn,1,3

'自动生成学生证号

no=trim(rsmax("MAXID"))

if (month(date())<10) then

cmonth="0"+Cstr(month(date()))

else

cmonth=Cstr(month(date()))

end if

if (day(date())<10) then

cday="0"+Cstr(day(date()))

else

cday=Cstr(day(date()))

end if

select case len(int(Right(no,5)+1))

case 1

cno="0000"+Cstr(int(Right(no,5)+1))

case 2

cno="000"+Cstr(int(Right(no,5)+1))

case 3

cno="00"+Cstr(int(Right(no,5)+1))

case 4

cno="0"+Cstr(int(Right(no,5)+1))

case 5

cno=Cstr(int(Right(no,5)+1))

case Else

cno="00001"

end select

intno="220"+Cstr(year(date()))+cmonth+cday+cno

%>

对于必须填写的属性,如果不填写就不能注册成功则是用一个JAVASCRIPT函数来实现的:

<script language="javascript">

function mycheck(){

if (form1.Name.value==""){     //判断用户是否输入学生姓名

alert("请输入学生姓名!");form1.Name.focus();return;

}

if(form1.PWD.value==""){     //判断用户是否输入密码

alert("请输入密码!");form1.PWD.focus();return;

}

//判断用户是否输入密码问题

if(form1.question.value==""){

alert("请输入密码问题,以便忘记密码时取回密码!");

form1.question.focus();return;

}

//判断用户是否输入密码问题答案

if(form1.answer.value==""){

alert("请输入密码问题的答案,以便忘记密码时取回密码!");

form1.answer.focus();return;

}

form1.submit();    //提交表单

}

</script>

用户注册功能实现的效果如图5.2,5.3所示:

  

              图5.2                       图5.3

5.2用户登陆

从网络安全性方面考虑无论是在动态网站中,还是在WEB管理系统中,为不同用户分配不同的权限,并指定其可以访问和管理的页面都是非常重要的。本教学网站将用户名和密码分别保存到Session变量中,然后判断该用户名是否存在,如果不存在,则弹出提示对话框,并应用Session的Abandon方法清除Session变量。就保证不会留下记录了其中关键的代码如下:

<%Session("UserName")=""%>

<%'学生登录

 session.Timeout=30

if request.Form("UserID")<>"" and request.Form("PWD")<>"" then

session("UserID")=replace(request.Form("UserID"),"'","''")

session("PWD")=replace(request.Form("PWD"),"'","''")

sql="select ID,PWD from dbo.Tab_Student where ID='"&session("UserID")&"'"

set rs=conn.execute(sql)

if rs.eof then %>

   <script language="javascript">

   alert("您输入的学生证号错误,请重新输入!");

history.back();

   </script>

   <%session.Abandon()  '删除所有存在Session对象中的对象

else

if rs("PWD")=session("PWD") then

session("flag")="登录" %>

      <script language="javascript">

alert("您已经成功登录!");

window.location.href="default.asp";

     </script>

   <%else%>

    <script language="javascript">

 alert("您输入的密码错误,请重新输入!");

   history.back();

   </script>  

<%session.Abandon()

end if

end if

end if%>

以上的这些代码主要是用户登陆过程中的一些关键性的代码,而完成登陆功能所实现的效果如图5.4,5.5所示:(因为登陆是在首页上面的,所以就选取一段来看效果)

     

 图5.4                                      图5.5

5.3找回密码

用户在密码丢失以后,可以通过找回密码功能来找回其密码,这时注册时候的问题回答就显得比较重要了。只要记得问题的回答答案,就可以找回来。以下是实现该功能的主要程序:

<script language="javascript">   ‘输入密码问题的答案,传到下一个页面

function mycheck(){

if (form1.answer.value=="")

{alert("请输入密码问题答案!");form1.answer.focus();return;}

form1.submit();

}

</script>

//下面是另一个页面的关键程序,是从数据库中查询问题答案是否与写入的答案相同

<%

UID=Request.Form("UID")

If UID<>"" Then

Set rs=Server.CreateObject("ADODB.RecordSet")

sql="Select * From Tab_student Where ID='"&Replace(UID,"'","''")&"'"

rs.open sql,conn,1,3

If rs("answer")<>request.Form("answer") Then%>

<script language="javascript">

alert("您输入的密码提示问题答案有误,请重新输入!");

history.back(1);

</script>

<%End If%>

<%End If%>

<script language="javascript">   //下面是输入新密码的情况

function mycheck(){

if (form1.PWD1.value=="")

{alert("请输入新密码!");form1.PWD1.focus();return;}

if (form1.PWD2.value=="")

{alert("请确认新密码!");form1.PWD2.focus();return;}

if (form1.PWD1.value!=form1.PWD2.value)

{alert("请两次输入的密码不一致,请重新输入!");form1.PWD1.focus();return;}

form1.submit();

}

</script>

效果如图5.6,5.7,5.8,5.9所示:

   

          图5.6                             图5.7

  

   

               图5.8                           图5.9

5.4系统安全性

    在有一些网站中曾经出现过这样的漏洞:管理员在登陆用户后,退出登陆后,有一些非法用户可以根据相对地址进入管理页面,可以进行任何操作,这样很危险,为了解决该问题,在网页中加入了验证用户身份的头文件,如果发现用户没有正常登陆,则返回到登录页要求重新登陆。其关键代码如下:

<!--#include file="conn.asp" -->

<%

Set rs=Server.CreateObject("ADODB.RecordSet")

sql="Select UserName From Tab_teacher"

rs.Open sql,conn,1,3

'判断Session变量是否过期

Flag=True

rs.MoveFirst

Do While not rs.Eof

IF Session("UserName")=rs("UserName") Then

Flag=False

Exit Do

End If

rs.MoveNext

Loop

If Session("UserName")="" OR Flag Then %>

<script language="javascript">

parent.location.href="../default.asp"

</script>

<% End If %>

    

6网上课堂

 网络教学是非面对面的教学,能够让远距离的学生独立完成学习是本系统的一个基本要求。基于这个目标,我们的基础课件子模块的设计遵循如下原则:

†在学习内容的选择上以知识单元为基础,一个知识单元又由若干知识点组成。

†在学习内容的组织上,系统将根据对学生的估测能力和学生的认知风格选择最适合学习者的内容表现方式。

†每个知识单元还设计了一些简单的课后习题,提供给学生来巩固学习的知识。这些材料的组织以超媒体的方式进行。

†支持网络课件链接。

†支持在线教学,可以通过视频学习。

†在学习完后提供一些资料或者资源供学生使用

基础课件子模块共有3个活动选项,在进入每个活动选项时,首先进行系统模块权限判断,其中教师具有课件模块的所有权限,游客、学生只有教案浏览的权限。其活动关系图如图6. 1所示。

图6.1课件UML活动关系图

在这个子系统中,主要分为网上课堂和在线教学这两个部分,网上课堂主要是《软件工程》的电子教案,是适合学生使用的网络教材。同时该模块还提供了在线教学模块可以在学生自学习的同时,可以通过网络视频听老师讲课。这样可以达到事半功倍的效果。本系统的网络教材是采用是超链接的方法来做的,课件是自己做成HTML的形式来表现的,这样在更新课件的时候,需要到课件所在的文件夹直接替换。而网络视频是把路径写入到数据库中,然后用户通过读取数据库中的路径来读取文件夹中的视频文件,实现视频播放功能。

6.1课件管理

本系统中在课件系统中使用了树型图,这样方便用户使用学习。在基础课件模块中,教学课件的发布是按照课程—章—节—内容这样的树状结构分布的,因此用树形图来展示课件可以使课件表现的结构分明,易于浏览。

树形图用于显示按照树形结构进行组织的数据,其用途比较广泛,如计算机中的文件系统(Windows中的资源管理器)、企业或公司的组成结构等。在Windows下VB、PB、Delphi等工具提供了一个功能很强的树型控件TreeView,利用Treeview控件可以方便地开发树形图然而在网页上实现树形图就不那么容易了。而ASP可以利用代码可以很轻松的实现这些功能。它使得网页上的树形图开发与在Windows下一样的方便,一样的功能强大,甚至更灵活。

<script language="javascript">

function showdiv(div_id)

{

if (document.all.item("div"+div_id).style.display == "block")

{

document.all.item("div"+div_id).style.display = "none";

}

else

{

document.all.item("div"+div_id).style.display = "block";

}

}

</script>

6.2 在线教学子模块

   网络是开展远程教育的基础。虽然现在我国已经建成了以电信网、无线与有限电视网和计算机互联网为代表的三大网络系统,但由于历史原因,这三大网络都是对各自业务特点而分别建立的,还不能满足远程教育的要求。电信网是我国目前规模最大,技术最先进的网络。目前我国电信网干线带宽已经很宽,足以满足远程教育的带宽要求,在该系统中,现在网络的带宽足以能够进行网络教学,该系统中使用的是流技术,这样可以很好的播放,而不用下载到硬盘空间后再播放,这样既方便有可以保护知识产权。

   同时视频采用的是压缩编码来进行传输的,采用压缩编码的目的是在网络带宽或存储空间一定的条件下提供最优质的图象和声音,或是在同等图象、声音质量条件下尽可能地减少所需的存储空间或所需的带宽。此外,音频、视频压缩编码可以分为好多种分类。对此,为了保证音频、视频信息在不同网络平台中正常传输,必须根据网络的特点采取不同的编码方法。本系统可以支持多种播放格式,如MPG,MP3等其他格式,不过在本系统中对于高压缩的视频处理速度比较慢,如:rmvb格式的视频处理很慢,因为这种格式的属于高压缩视频,对于一般的网站,对于这种类型的视频首先要进行解码,这个对于本系统来说不适合。其他格式的视频都能够很快的进行播放。

用户操作中使用的代码:

<div id="Layer1" style="position:absolute; width:199px; height:94px; z-index:1; left: 0px; top: 290px;">

    </div>

<embed src="AVI/<%=rs("path")%>" width="326" height="315" noerror="true"> </embed>

老师操作中使用的代码:

<script language="javascript">

function mycheck(){

if (form1.content.value=="")

{alert("请输入主题内容!");form1.content.focus();return;}

.................

form1.submit();

}

</script>

用户操作中的代码是嵌套的小程序,主要是用于播放视频时候,通过数据库的连接来读取路径,而老师操作的代码是,将视频路径写入数据库,同时对其进行验证是否正确。树型结构和课件点播的功能显示如图6.2,6.3,6.4所示:

       

      

             图6.2                               图6.3

                         图6.4

7作业模块

在此模块中,学生可以通过网页上的表单完成作业文件的上传,教师可以下载作业进行批改。在一些类似于设计的上机才能完成的作业,以作业本的形式交给老师显然是不好的,老师也不方便批阅作业。而该作业模块恰恰可以完成这一个功能。作业模块主要有以下几个功能:

  • 学生可以通过该系统,从网上得到所要作业的信息,并且可以上传作业。对于已经上传的作业,学生可以通过查询得到自己完成作业的情况和自己的成绩。
  • 老师可以通过该系统来批阅作业,同时在批阅作业的时候可以直接给出分数,还可以通过批阅作业直接查看学生的作业完成情况,还可以通过学生的成绩来横向和纵向对比学生的作业完成情况。同时老师还担负着对作业模块进行着维护的责任,对于已经过期的作业文件要及时的删除,清空文件夹,保证硬盘空间。

作业模块中共有5个活动选项,在进入每个活动选项时,首先进行系统模块权限判断,其中教师具有作业维护、浏览、批阅和成绩查看四个功能,学生可以进行作业浏览、作业提交和作业成绩查看这几个功能,其关系如图7.1所示:

  图7.1作业UML活动关系图

7.1作业上传

作业的上传,实现了做作业和提交作业的异步实现。大而言之,在今天资源紧张的时代背景下“节纸”的网络化作业提交系统,是适应了时代的发展潮流的。而单就其具体的实际意义来说,作业的网路化,推动了学习资料的资源共享。特别是在期末考试前夕,可以在网上查到所有同学的本学期的已批作业,以供参考。而且网络的普及,生活节奏的加快,作业上传,远程批阅,是教学网站的一个必不可少的环节。

学生实现上传功能是通过一个上传组件完成的。本系统使用的是activefile组件。组件的安装很简单,将对应的dll文件复制到目录下,这样就可以用了。

    本系统建立了一个homework目录,用来存放学生的每次作业。学生把每次的作业压缩成一个zip文件上载到服务器上。文件上载以后命名的规范为:学号+作业序号+批阅标志.zip,而最后的一位加x,则表示已经批阅过了,如:950012x.zip就表示完成该作业学生的学号是95001,这是第二次作业,且老师批阅完毕。如果没有x的话,表示没有批阅。对于作业的批阅和作业的次数等信息的处理,也可以通过其他方式实现。

系统也可以用其他的方式实现上传,对于ASP来说,也可以无组件实现上传,不过上传的时候速度太慢,它是要转换成二进制代码来上传的,这样的话会很麻烦。学生可以查询自己的作业成绩,也可以查询作业情况。关键代码如下

<%

Set Post = Server.CreateObject("ActiveFile.Post")

Post.Upload server.MapPath("./tempforupload")

' not into the database, just for creating the fileobject

filepath = Post.FormInputs("zipfile").file.name

num = Post.FormInputs("num").value

passwd = Post.FormInputs("passwd").value

id_num = Post.FormInputs("id_num").value

set Post = nothing

%>

//查询作业情况

<%

set fs = createobject("scripting.filesystemobject")

set folder = fs.GetFolder(server.MapPath("./homework"))

for each file0 in folder.files

f_num = left(file0.name,6)

f_idnum = mid(file0.name,7,1)

f_flag = mid(file0.name,8,1)

f_time = file0.DateLastModified

if trim(num) = f_num then

%>

  <tr>  

<TD align=center><%=f_num%></TD>

<TD align=center><%=f_idnum%></TD>

<TD align=center><%=f_time%></TD>

<TD align=center>

<%

if f_flag = "x" then

Response.Write "已批改"

else

Response.Write "未批改"

end if

%>

                                图7.2

图7.2是学生子模块的关键代码所实现的效果,学生可以查询学生作业的提交情况和老师对作业的批改情况,这样方便学生了解自己的作业情况。

7.2作业批改

    教师在该模块中主要是对学生的作业进行布置与批改,教师同时有着管理员的权限,所以还要进行数据维护,在硬盘不够的情况下要清空一些过期文件,或者采用文件转移的办法来解决空间不够的问题。教师在这个模块里面的权限有作业维护、浏览、批阅和成绩查看四个功能其中关键的代码如下:

<%

set dict_file = CreateObject("Scripting.Dictionary")

set fs = createobject("scripting.filesystemobject")

set folder = fs.GetFolder(server.MapPath("../homework"))

for each file0 in folder.files

f_num = left(file0.name,7)

f_filename = file0.name

dict_file.Add f_num,f_filename

next

while not rs.EOF

stu_no = rs("no")

%>

代码的主要功能是记录学生作业的完成情况,学生的提交作业的时候,都是先存放在一个临时文件夹中,等验证成功时再存放在homework的文件中,代码“set dict file=CreateObject(Scripting.Dictionary)”意思是建立一个字典对象,将homework目录下所有的作业文件信息都存贮在该对象中,其中,主要读取的是前七位的关键字,即学号+作业序号,同时按学号和作业序号逐条显示学生的作业上载及批阅信息。代码实现的效果如图7.3所示:

                            图7.3

8答疑模块

   学生在学习过程中如果遇到疑问和困难,可以在答疑模块中提出问题,由教师做专门回答,教师对答疑系统的内容可进行在线管理。其中在线答疑模块又可分为学生提问和教师答疑两部分。同时本模块还设置了在线实时聊天回答,线上有人的话,可以和别人进行交流。

学生可以在该模块中进行问题提问,问题浏览,老师对问题进行回答,并对问题进行管理。同时本系统还有实时聊天模块,其具体关系如图8.1所示:

     

                       图8.1答疑UML活动关系图

8.1学生提问

   学生模块提供学生提问、讨论的功能。它主要有以下几个主要的功能模块:

† 提出问题,这是学生模块最基本的功能。问题包括一个简短的标题、所属章节和具体内容三个部分。

† 查看自己提出的问题。该模块列出当前用户提出的所有问题。已经被老师回答的问题将出现回答的标记,学生可以阅读教师的回答;没有回答的问题也会有所标示。便于学生及时得到教师的反馈消息。

† 学生模块中有一个实时聊天系统,学生只要输入一个用户名就可以进入了,这样学生之间就可以交流了。

    该模块中为了方便用户查看问题,使用了分页。同时按照时间的顺序排列。

//分页

<%

if rs.RecordCount>0 then

sumcount = rs.RecordCount

rs.MoveFirst

end if

rs.PageSize =12

intPageCount = rs.PageCount

if Len(strPage) = 0 then strPage = "1"

if int(strPage)<1 then strPage = "1"

'if int(strPage)>intPageCount then strPage = CStr(intPageCount)

if rs.eof then

%>

  //以时间的排序显示出来

<%=Formatdatetime(rs("time_qry"),1)%>

//对数据库进行插入操作,即添加问题

strSQL = "insert into problems(title,detail,flag_answer,flag_show) values ('" &strTitle & "','" & strText & "','0','1')"

'Response.Write strSql

conn.Execute(strSQL)

                          图8.2

图8.2是代码主要表现的效果,对于没有回答的问题,系统将会标记出来。

8.2教师答疑

   教师模块提供教师答疑、管理功能。它具有以下几个主要的功能模块:

† 回答问题,这是教师模块最基本的功能。该模块显示所有还没有得到教师解答的问题。教师回答完该问题后,会显示出已经回答的标记。

† 管理这些问题。对于已经很长时间的问题或者是没有什么价值的问题,教师可以直接删除,这样就不会有太多的垃圾信息,可以使老师更好的回答他们的问题。

   该模块主要是对数据库的操作,在这个里面主要进行的是对数据库的查询,插入,删

除操作,同时显示。

这些功能所表现的效果见图8.3,8.4:

                       

                          图8.3

                              图8.4   

8.3在线聊天

    聊天室的种类很多,可以通过Java Applet、CGI等方式实现。一般聊天室都分上下两帧来实现,其中上边一帧显示当前聊天信息,下边一帧为接受拥护输入信息的内容发送区的时候,上面一帧的聊天信息要及时更新。通常有两种解决方法:使用“推”技术;让客户端定时更新;其中第一种方案对服务器载荷较小,但编程实现起来比较复杂,大型的聊天室一般都采用这种方法,后一种方案实现容易,代码简明,适合用户不多的聊天室。本系统采用的是后者。在本页面中要加入如下代码:

<meta http-equiv=”Refresh” content=”25;url=’1.asp#tail’”>

此功能主要是让一个页面定时更新,每25秒刷新一次,后面的URL指明了刷新的页面名称为1.asp,#tail是页面中的一个<a>标记,它在文件的末尾。以下是该模块使用的框架。

<%@ Language=VBScript %>

<html>

<head>

<title>实时答疑</title>

</head>

<%

session("user")=request("user")

%>

<frameset rows="*,20%">

  <frame name="chatmain" target="footnotes"  src="1.asp#tail">

  <frame name="footnotes" src=2.asp>

  <noframes>

  <body>

  <p>此网页使用了框架,但您的浏览器不支持框架。</p>

  </body>

  </noframes>

</frameset>

</html>

9公告模块

公告模块主要是老师用于发布信息的模块,学生可以在登陆的时候,可以看到最近更新的信息,信息以滚动的形式出现,学生可以及时的了解到关于该门课程的信息,老师可以对公告进行添加,修改,删除操作。

实现该模块代码和答疑系统中的显示的差不多,唯一有不同的是,该页面是可以滚动显示的,实现功能的主要代码如下:

  <MARQUEE direction="up" height="114" onMouseOut="this.start()" onMouseOver="this.stop()" scrollAmount="1" scrollDelay="10">

以上主要是滚动显示的代码,方向是可以调整的,速度也是可以调整的。由于滚动的文字在界面中看不出来就不演示了。该功能模块所显示的效果如图9.1,9.2所示:

  

                          图9.1

                           图9.2

10测试模块

在线测试模块不需要老师干预,系统自动在学生要求测试的范围内出试卷,学生完成试卷后可以自动批改、评分对成绩进行记录。同时给出正确答案。不过该功能智能化程度不高,试卷是自己事先存放上去的,从试题库中直接读取。这个还需要进一步的研究。老师模块主要功能是添加,修改,删除试题。

   该系统在测试当中设置了一个时间限制,这样用户就可以知道自己做试题所花的时间,同时还设置了剩余时间的记录,在测试结束后,可以查询测试的成绩,其具体代码如下:

  <%

getcondition = replace(trim(request("condition")),"'","''")

getkey = replace(trim(request("key")),"'","''")

if(getcondition = "" or getkey = "")then

rssql = "select * from Tab_stuResult where stu_id='"&session("UserID")&"'"

else

rssql = "select * from Tab_stuResult where "&getcondition&" like '%"&getkey&"%' and stu_id='"&session("UserID")&"' order by res_subdate desc"

end if

测试时是以分钟来记时,一般测试的时间为20分钟,教师在设置考题的时候要把握好时间,这样才能设计出适合学生测试的题目同时又达到检测的目的,教师在考试模块中还可以对学生的考试成绩进行查询,方便教师了解学生对该门课程学习知识掌握情况。该代码所要表现出来的效果如图10.1所示:

                            图10.1

                         

11用户使用手册

11.1系统功能简介,运行环境简介

11.1.1 系统功能简介

  《软件工程》精品课程教学网站是一个基于WEB的远程教学平台,其功能包括:系统管理、基础教程、网上作业、答疑教室、在线考试等。通过使用本系统,学生可以在线学习,包括浏览教程,做课后习题,网上交作业,远程提问,在线测试等。而教师使用这个系统除了可以完成正常的教学外,还可以通过系统与学生进行交流,同时根据学生网上考试的成绩来调整自己上课的方式。

11.1.2 系统运行环境

† 信息服务器:Internet Information Service 5.1版本

† 数据库:SQL Server 2000

† 服务器操作系统:Window 2000 Server 或Window 2003服务器操作系统

11.2系统安装手册

11.2.1 系统配置

本系统的配置很简单,只要在IIS中,配置一个虚拟路径就可以了,在虚拟路径下,本系统就可以用,不过在配置过程中,有的系统,要对文件的安全性进行设置。否则系统,只能读取而不能写入,这里要注意,同时对数据库进行设置。

†在Windows XP系统下对文件权限的设置

在实时聊天中,用户的聊天记录是通过记事本保存的。用户在聊天时候,将记录写入记事本中,在Windows XP中系统对于文件默认设置是只读的。因此要想将记录写入记事本,必须要让用户也有写的权限。因此在Windows XP中配置系统时,先在工具中寻找到文件夹选项,然后在查看里面,有一个使用简单文件共享,把前面的一个小钩去掉,点确定后,再打开文件夹的属性,就可以看到一个关于安全的属性,看到一个关于用户名称的权限设置,这个时候把这些权限设置为允许就可以,这样本系统就能够正常的使用。

†系统对数据库的设置

数据库的连接使用的是ODBC连接,可以用多种方法来实现该连接,该系统使用的是方法是采用DSN进行连接的。当然也可以编写脚本和数据库源建立连接。

11.2.2 实施方案

本系统完全采用B/S结构,软件的安装只在服务器端进行,客户端实现了“零”安装:所有系统管理及升级只在服务器进行,各个客户端无需任何设定改变。在系统升级和更新时不会影响用户的数据资料。本系统针对最终用户的具体情况可选择两种实施方案,一种是自有Web应用模式,一种是主机托管应用模式,考虑到现在高校大多有自己的Web服务器,因此在这里详细介绍自有Web应用模式。如果高校有自己的Web网站,并通过高速的线路向Internet发布。高校可以使用高校自己的Web应用模式进行系统建设。这时,所有的移动访问用户或者异地分支机构直接通过Internet与系统进行连接完成业务操作。

12系统评价

12.1系统主要特色

† 基于SQL Server企业级数据库和ASP技术实现,可高效管理、处理大批量的题库数据,通过专业的服务器群组、缓存及系统优化技术;可支持多人并发操作。

† 界面友好,功能完善,操作简单,如果想要访问该网站,客户端不用安装任何软件,只要直接使用IE浏览器就可以直接访问,这将为客户节省大量的系统安装和维护时间,不仅学生可以不受地理位置限制进行学习,而且教师及教学管理人员不论身在何处,只要可以连接到网络就可以教学、管理和安排教学工作;

† 为保证系统访问的安全性,采用了基于角色的权限管理机制,定义了三种不同角色和权限;用户根据不同的权限来做相应的操作,避免了角色的越权行为。

† 本系统的交互性很强,学生可以向老师提出问题,也可以进行实时聊天,这样老师可以在任何时间、任何地点,给学生答疑。而且学生可以通过实时聊天与其他同学进行交流,这样有利于教师学生之间的互动,在进行网上学习的时候,由一个人学习,变成多人学习,充分调动学生的学习积极性。

† 真正实现无纸化作业,为学生提交作业提供了极大方便,老师可以随时查看,批阅学生作业,可以使老师从办公室中解脱出来。

† 学生可以及时的了解自己知识的掌握情况,通过在线考试来检测自己所学的知识情况,同时考试的成绩将记录在数据库中,老师可以对其进行查询,分析成绩,来了解学生知识掌握情况。

12.2系统存在的不足与改进方案

本系统在《软件工程》精品课程教学网站的构建方面取得了一定的成果,因为开发时间仓促,本系统原先构架的在线娱乐子系统、数据导入功能等没有来得及完成,就没有实现。一些细微的功能用户还不能够方便、流畅的使用。总结其不足,该教学网站还可以对以下几点做进一步的改进:

 网站中的网上学习中的一些课程是自己做成网页的形式,通过超链接来做成的,随着时间的推移,这些网上的课程必然不能够进行很轻松的修改,要修改的话就必须重新做该课程的网页,这个将会增加老师的工作量,这个课程课件应该通过数据库来实现,或者做一个可以添加修改的网页来实现网页的修改,这些数据全部导入到数据库中。

 内容简单,不是很新颖,自己的特色不是很明显。应该加大对课题的分析。做到内容新,使用方便,功能强大才行。

 人机接口不是非常友好,部分页面风格不统一;界面显的有点单调,还需要改进,要做到炫,这样才能吸引学生访问该网站;同时为方便学生查阅资料应该有一个站内的搜索引擎,使学生能够全面的了解自己所学的知识。

 交互性不够,很多地方未能给用户提供检索功能,不能方便用户的查询;

 智能化程度不够,应该加强网站的智能性,使用户使用起来更加方便。

12.3毕业设计心得与收获

本次的毕业设计到此已经顺利结束,通过这次的毕业设计,我学到了很多。在整个设计的过程中,可谓酸甜苦辣样样皆有,每时每刻都让我有新的体验,新的感受,新的收获,现在回想起过去的点点滴滴,感慨良多。刚开始使用ASP技术的时候,我是一次也没有学过,不过经过这次的毕业设计使我现在能够熟练的使用ASP技术。在这次设计中我学到了很多的东西,从最基本的编程语言的了解到ASP技术的熟悉,再到面向对象软件开发的认识,最后到将软件工程的思想熟练的融会在整个设计开发过程中,这其中的每一个阶段,都是在一行行代码的编写、一个个功能的实现中慢慢感悟、逐渐体会的。

在这个系统中我使用了一些新技术,如 UML建模分析等,因为软件工程基础不扎实,很多地方做得不是很好。回想这一个学期是艰苦的一个学期,也是收获的一个学期。我不仅熟练的掌握了ASP技术,还系统的学习了以上所说的新技术。而最重要的是树立了正确的意识,积累了经验。通过这次设计我发现工作过程中遇到困难的时候要学会换一个角度去思考这个问题。在设计的过程中,遇到过很多的问题,有时候遇到一个问题要调试好久,查阅好多资料,问好多人,这些问题有一些是技术上的,还有一些是方法上的,还有一些是策略上的,对于不同的问题要采用不同的解决方案,这个解决方案行不通的要换另一个方案来解决,从另一个不同的角度去审视这个问题,一定可以得到一些全新的认识,我觉得很有收获的第三点就是不论做什么是要有不怕困难的精神,要有持之以恒的毅力,无论做什么事情都不可能一帆风顺,顺顺利利的,都要遇到很多或大或小的困难,如果一遇到困难就退步的话,那么就永远成功不了,永远也不可能达到自己的目标。

总体说来,在这次长达一学期的毕业设计中,我学到了很多在课堂内学不到的知识。整个开发的过程对我来说是一次能力真正提高的过程;是将以前所学知识充分利用的过程;是一次将理论应用于实践的过程。我觉得这次毕业设计使我受益匪浅。

结  论

基于Web的网上教学是一个正在兴起的应用领域,需要结合最新的Web及相关技术,开发适用的、先进的远程教学系统,实现网上教学的实时性、交互性和动态性。目前网络精品课程还十分的少,而《软件工程》精品课程教学网站的设计就是为学生和老师提供网络教学平台。本系统突破一般多媒体辅助教学工具的思想,尽可能将现实的活生生的教学环境和方法应用于网络教学中,减轻教师教学负担,利用网络加强学生与老师的交流,同时提高学生网上学习的兴趣,从而真正提高网上教学质量;作为传统教学的延伸,网络教学的作用正逐步被人们所重视,随着网络技术和多媒体技术的进步,精品课程教学网站还会有代替传统教学的趋势。不过在做系统功能模块时,要求编写大量代码,同时要考虑采用何种方法才能做好的实现该功能,这一些都要好好考虑一番。在本次设计中让我知道要好好要充分发挥ASP技术的作用,还需要再学习ASP技术。

致  谢

在论文完成之际,我衷心的感谢我的导师汪前进老师在设计中给我的谆谆教诲和无微不至的关怀。从课题的选择到项目的最终完成,汪老师都始终给予我细心的指导和不懈的支持。设计开始以来,汪老师不仅在学业上给我以精心指导,同时还在思想、生活上给我以无微不至的关怀,在此谨向汪老师致以诚挚的谢意和崇高的敬意。

从汪老师的身上,我学到了很多做人和做学问的道理。汪老师在学术上给了我很多的启蒙。从我论文的选题到最终的完成中都给了我极大的指导,跟汪老师学习的过程中,伴随着的是重大的压力和责任。我几乎无时无刻不感到这种压力和责任的存在,也正是这种压力和责任敦促我尽自己的最大努力完成好学业并做个合格的学生,使我能够完成这次的毕业设计。我想这次通过这次的毕业设计,会影响的一生。

在本论文完成的过程中,感谢系领导为我提供了优越的设计环境;感谢纪兆辉老师对我的帮助,还有其他老师同学的大力支持与配合,在此一并表示感谢!最后还要特别感谢本班杨伟萌、唐延盛、王二飞、孙建、宋智等同学在论文的写作过程给予的支持和鼓励。在我沮丧的时候,正是同学的鼓励和榜样的推动促使我最终能信心十足地迎接挑战,在此深表谢意。

感谢淮海工学院计算机系各位老师在学业上对我的指导与帮助。同时,我还要感谢我的同门师兄弟姐妹们。正是有了大家的共同努力,才有了我今天的收获。最后,我还要感谢我的家人在我大学期间的支持和帮助。


参 考 文 献

[1]  塞奎春. ASP工程应用与项目实践. 北京:机械工业出版社.2005.4

[2]  老虎工作室.Dreamweaver中文版网站建设实战训练.北京:人民邮电出版社.2004.10

[3]  刘瑞新.ASP动态网站开发毕业设计指导及实例.北京:机械工业出版社.2005.4

[4]  张 固.ASP网络应用系统典型模块开发实例解析.北京:人民邮电出版社.2004.4

[5]  王国荣.ASP网页制作教程.北京:人民邮电出版社.2000.6.1

[6]  庄永龙.实例解析ASP网站编程.北京:北京希望电子出版社.2002.1

[7]  丁贵广等.ASP及ASP.NET编程基础与实例(第2版).北京:机械工业出版社.2004.1

[8]  Dejan Sunderic. SQL Server 2000 高级编程技术 .北京:清华大学出版社.2002.6

[9]  陈有卿.中文版Photoshop7.0基础教程.北京:国防工业出版社.2002.6

[10] 吴明辉等.ASP网络办公及商务应用系统开发实例导航.北京:人民邮电出版社.2003.6

[11] 宣小平等.ASP数据库系统开发实例导航.北京:人民邮电出版社.2002.4

[12] 张美金.基于ASP技术的远程教育系统体系结构的研究.辽宁工程技术大学硕士论文.2003.5

[13] 耿枫.基于Web的远程教学系统的研究与设计.武汉理工大学硕士论文.2002.2

[14] 赵成.基于Web的网上教学系统的设计和实现.《军事通信技术》第74期

[15] 廖选.远程教育的网络技术平台建设.西南财经大学硕士论文.2004.4

[16] CSDN网站技术社区 http://community.csdn.net/expert/forum.asp

[17] 中国论坛秀        http://www.bbsshow.net

[18] 第九网络安全小组   http://www.it-is.com.cn/wx/e/200511/746.asp

[19] 爱飞来网站         www.ifly.net.cn-官网首页

[20] 中国DotNet论坛   http://www.chinaaspx.com/comm/dotnetbbs/default.aspx

[21] CSDN论坛        http://fisher.xundain.com/htmldoc/web/web.htm

[22] 3p代码网站       http://www.3pcode.com/index.html   

相关文章:

  • 【Arm】应用ArmDS移植最小FreeRTOS系统
  • 嵌入式系统:技术演进、应用领域发展趋势全面解析
  • MySQL 8.0 OCP 英文题库解析(五)
  • Swift 二分查找实战:精准定位第一个“Bug版本”(LeetCode 278)
  • 无人设备遥控器之数据压缩与编码技术篇
  • .NET 函数:检测 SQL 注入风险
  • UE5 GAS框架解析内部数据处理机制——服务器与客户端
  • TS04:高性能四通道自动灵敏度校准电容触摸传感器
  • winrar 工具测试 下载 与安装
  • RK3568下QT实现按钮切换tabWidget
  • 嵌套式向量中断控制器(NVIC)
  • 分布式ID生成系统
  • 遨游科普:三防平板是什么?应用在什么场景?
  • get请求使用数组进行传参
  • ffmpeg转码后的视频有横条纹和彩虹横条等乱彩问题
  • MySQL中的Change Buffer是什么,它有什么作用?
  • 什么是5G前传、中传、回传?
  • 本地部署dify+ragflow+deepseek ,结合小模型实现故障预测,并结合本地知识库和大模型给出维修建议
  • 【语音克隆Open Voice的使用】
  • AI推介-多模态视觉语言模型VLMs论文速览(arXiv方向):2024.11.25-2024.11.30
  • 4月22城新房价格上涨:上海一二手房价环比均上涨,核心城市土地热带动市场热度提升
  • 人民日报大家谈:为基层减负,治在根子上减到点子上
  • 持续降雨存在落石风险,贵州黄果树景区水帘洞将封闭至6月初
  • 专利申请全球领先!去年我国卫星导航与位置服务产值超5700亿元
  • 魔都眼|邮轮港国际帆船赛启动,120名中外选手展开角逐
  • 国内规模最大女子赛艇官方赛事在沪启航,中外41支队伍逐浪