已阅读5页,还剩55页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java精品课程教学网站设计毕业论文目 录1 绪论11.1 课题开发的背景及意义11.2 课题开发的现实意义21.3 精品课程建设现状31.3.1 课题的国内研究状况31.3.2 课题的国外研究状况41.4 系统目标42 系统开发技术简介52.1 JSP简介52.1.1 JSP52.1.2 JSP的工作原理52.1.3 JSP与ASP,PHP的比较62.2 JavaBean72.2.1 JavaBean72.2.2 JavaBean的特性72.3 SQL语言82.4 JDBC82.4. JDBC82.4.2 JDBC的总体结构92. 4. 3 JDBC的用法93 系统需求分析113.1 系统功能分析113.2 系统的用例图133.2.1 系统用户参与的总的用例图143.2.2 学生参与者的用例图143.2.3 教师参与者的用例图153.2.4 系统管理员参与者的用例图163.3 系统的时序图173.3.1 系统管理人员管理网站的时序图173.3.2 用户登录系统的时序图183.3.3 学生下载文件的时序图193.4 系统的协作图193.4.1 用户登录系统的协作图193.4.2 学生下载文件的协作图203.5 系统的活动图203.5.1 用户登陆系统的活动图213.5.2 教师上传课件的活动图213.5.3 系统管理员维护网站的活动图224 系统设计244.1 系统总体结构设计244.2 数据库设计254.2.1 E-R图254.2.2 数据库表的设计274.2.3数据库连接文件284.3开发平台说明284.3.1 开发平台的选择284.3.2 开发工具295 系统内核设计305.1 访问数据库的JavaBean305.2 处理文件上传与下载的JavaBean335.2.1 文件上传问题分析335.2.3 解决方案345.2.4 文件上传345.2.5 文件下载365.3 文章分页显示365.4 生成验证码396 用户管理模块416.1 用户登录416.2 用户注册456.3 查询用户信息466.4 修改用户信息477 教学论坛模块487.1 文章列表浏览487.2 文章内容查看497.3 个人文集管理508 考试模块519 在线调查5210 网站测试5310.1 代码合法性测试5310.2 功能测试5310.3 性能测试5310.4 浏览器兼容性测试5411 结束语55致谢56参考文献57571 绪论1.1 课题开发的背景及意义在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。Internet上发布信息主要是通过网站来实现的,获取信息也是要在Internet海洋”中按照一定的检索方式将所需要的信息从网站上下载下来。因此网站建设在Internet应用上的地位显fu易见,它已成为政府、企事业单位信息化建设中的重要组成部分,从而倍受人们的重视。现代远程教学是随着现代信息技术而产生,一向被视为可以突破时空限制的教学手段。网络教学作为远程教学中的一种新型教育形式,正借助多媒体和互联网技术在世界范围兴起,除传递文本信息外,还包括了大量的非文本信息,极大增强了教学的生动性、教学过程中的互动性,以及时效性。随着现代信息技术的飞速发展,以广播电视网、电信网、互联网为基础的现代网上教学体系正在形成,人们已经不再完全依赖十老师、书本来获取知识,而是更多的通过上网这种更直接、更快捷的方式来充实自己的大脑。计算机教学是指利用多媒体技术和网络通信技术,在网络环境下开展的教学活动。它有着传统教学模式所无可比拟的优点,它创造了一种全新的教学模式,打破了传统教学模式在时间、空间上的限制,采用了先进的教学手段和教学方法,大大提高了教学效率和教学效果,使教学活动上了一个新台阶。这种新型的网上学习为高等教育资源的更广泛、更有效的利用开辟了道路,是传统的以课堂、图书为主要载体的教学方式的有效的补充。无论是校内的大学生还是社会各阶层的学习者,都可以通过网络享受到优秀的教师和课程,而且可以不受时间和空间的限制进行自由地、交互式地学习,这种学习资源比以往任何一种教学资源的成本都低,基本上可以说是免费的。这样的教学方式为每一所高等院校参与全球高等教育资源的共享和合作创造了新的环境,网络教学网站就是在这种背景下应运而生。用户足不出户就可以系统、全面的学习任意课程的知识。表现形式多样的网络教学网站可以为学生的自主学习和协作学习创设有意义的学习环境,扩大学生的知识面,丰富学生的视野。网络教学网站可以为用户提供了各种各样的网络资源,例如:文本、图形、图像、多媒体课件、教室授课视频、相关的学科工具和网站链接、以及网络通讯工具等,使网络教学网站真正能够成为学生的信息获取、情境探究、协作交流、自我评测的有效工具。为了使教师能通过先进的教学手段提高教学效率,增强学生应用Internet网络服务的能力,以此来加强和巩固对课程内容的理解和掌握,我们开发了Java精品课程教学网站。在Internet/Intranet环境下实现作业、考试、授课、答疑/辅导等功能,以下将讨论该系统的设计与实现方法。1.2 课题开发的现实意义经过近几年的发展,网络教学网站已经非常普遍,我国网络教育学院的教学平台及网站建设已经进入了一个新的发展阶段,这表现在以下三个方面。网上教学环境已经形成规模1999年,我国首次在4所普通高校开展现代远程教育试点时,网络应用水平是很低的。经过这些年的努力,网络应用水平正在大幅度提高。在调查的53所学院中,单纯利用网络发布教务文件信息、只提供课件共享点播的学院,不到10所。大多数网络学院都在网上提供了答疑、网上交流等学习支持服务,从而加强了教师与分布在各地的学习者之间的互动,增进学习者的学习效果,使我国利用网络的学习走入了新的发展水平。适合自主学习的网上教学平台正在丰富和完善网上自主学习模式正在被越来越多的网络教育学院接受和应用,一些学院在实时授课的同时,积极探索和鼓励学生采用网上自主学习方式学习。一些能够突出网上教学优势的功能得到采用,如学习自测管理、网上作业提交、作业评分管理、网上选课、分学科分课程的答疑等等。这些功能的应用,使网络教育不仅能够发挥信息技术在知识传播方面准确、快捷、交互性强、易于存储等优势,而且能够发挥信息技术在组织和管理方面的优势,为网络教育不断提高质量和扩大开放度创造了条件。注意到与普通高校常规教育资源相融通利用普通高校本身的办学优势,可以提高网上教学平台和网站建设的质量,降低成本。一些院校在这方面的有益的尝试,提供了可供借鉴的案例。例如,厦门大学网络教育学院等13所大学,通过网络学习平台,把本大学的数字图书馆向网络教育学院的学生开放,这无疑是对学生学习的巨大支持和帮助,也为远程教育建设图书资源减少巨大投入提供了可行方法,还可以使远程教育学生与大学本身产生良好的归属感。这对于大学发挥建设终身学习、全民学习的学习型社会的知识组织核心作用具有重要意义。尽管我国普通高校网络教育学院已经取得了突出的进展,但是现在网络上运行的教学网站大多针对某一特定课程而开发,网站系统的可扩展性和可移植性比较差,不可二次开发的特性。不得忽视一些存在的问题。在以后的建设中我们还要注意以下几个问题:加快网络基础建设。由于受带宽的限制,网络教学还不能大量应用多媒体技术以提高教学质量,特别是图片、动画、视频的使用往往受到网络传输速度的限制而影响了学习者的学习兴趣与学习质量。树立开放教育观念,加强服务意识,提高服务质量。网络教育是基于Internet的,它绝不是一个局域网、广域网的概念,而是面向全国甚至是全球化的概念,所以网络教育必须树立起“开放”的思想。增加信息容量,达到最大程度的资源共享。合作研究与开发网络教学课件是网络教育发展的必由之路。开发适合网络使用的教材需要大量的人力、物力和财力的投入,任何一方单独地进行,其资源毕竟有限。目前,我国大多是单独开发,即便是著名高校,其网络教学课件的数量、质量以及覆盖的学科种类都是非常有限的,远远不能满足社会需求。为此,各高校之间应加强广泛合作,共同开发精品网络课件,同时大力推进校际之间的对口支援、网络课程的互通、学分的互认等,以提高远程高等教育的质量。网络教学课件制作质量有待提高。由于我国网络课件的编写刚刚起步,理论和实际经验都很少,缺少一套严格的编写规范及评估标准。网络课件必须重视教学目标的编写,并以明显方式呈现,使学生明确学习任务和目标;网络课件必须重视例题和作业的设计,更切合实际的反映教学目标,便于学生通过例题和作业调整对教学目标的认识,加深对教学内容的理解,促进学生对学习重点的把握;网络课件不是教学资源库,要注意教学内容不要太多;网络课件不应类似传统意义上的教材,而应该是教案和补充教材;网络课件要设定严格的教学实施流程,加强对教学过程的监控和反馈,网上教学应该是受控的自主学习,而不是放任的自主学习;网络课程必须要充分利用网络的交流能力,有效的建构网上学习环境,促进网上学习社区的构建、网上同学关系的认同和协作式学习。在以上的讨论下,本次网络教学网站开发主要体现网站的可扩展性和可移植性,使网站系统具备二次开发的特性,可以应用到大部分。1.3 精品课程建设现状1.3.1 课题的国内研究状况目前国内教学网站自身的确存在不少问题,主要表现在:规模小、联系不紧密,处于各自为政的分散状态;国内网站在首页页面上通常会放置太多内容,也存在很多广告,使整体版面过于杂乱;安全性低。国内只有交易、银行等网站才会注意到安全连接的问题。也许正是由于中国教育教学网站现存的种种问题和不足,在面对外来强大竞争对手时,不免产生担忧和底气不足,对未来的发展心存疑虑和困惑。但这并不能从根本上解决问题,也不是教学网站发展壮大的长远之计。对本土教学资源的整合、共享、利用是大势所趋,引进先进的设计理念迫在眉睫。认清形势、选择对策,为教学网站提供切实可行的解决方案这一命题又一次摆在人们面前。1.3.2 课题的国外研究状况相比而言,国外许多网站的设计都很时尚和有自身的特点,教学网站目的明确,功能全面,安全性高等,对于这些优点,做为一个网页的设计师应该加以运用和借鉴。举例说明:欧美用户不习惯艳丽、花哨的色彩和设计风格,他们比较钟情于简洁、平淡而严谨的风格,即使许多大型网站也是这种风格;国外传统网站比较讲究网站的实用性和便利性,他们会花很多时间去制作很多周到实用的细节,功能虽然大多平实但很有效。而韩国网站设计在世界也是相当有影响力的。韩国的站点在框架结构、内容排版、色彩搭配、图片运用上达到了非常和谐的统一,设计师拥有较大的设计空间。希望经过这次论文的写作对自己在设计网页上面有更大的进行,在网络上挥洒自己的设计理念。1.4 系统目标系统主要实现如下目标:适用于Internet国际互联网络、Internet内部网络环境下基于网站的网络教学。提供丰富的知识库与信息库。可直播或点播教学内容。学生和教师可以通过论坛沟通,达到课堂现场教学同样的效果。通过在线考试,学生自己可以进行实时考核。从而做到自己选择题型的难度,自动组卷,自己答题,自己核对。2 系统开发技术简介2.1 JSP简介2.1.1 JSPJSP的全称是Java Server Page,是由Sun Microsystems公司倡导、许公司参与一起建立的一种动态网页技术标准;是在Servlet技术基础上发展来的;是在服务器端编译执行的Web数据库系统应用程序编程语言,其脚本言采用Java,完全继承了Java的所有优点。从本质上说,Java Server Page是Servlet API的一个扩展。事实上,JSP页面在处理请求之前都要编译成Servlet,所以它具有Servlet的所有优势,包括访问Java API。简单地说,一个JSP页面就是包含了能够生成动态内容的执行应用程序的HTML网页。也就是在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Script)和JSP标记(tag),就构成了JSP网页(*.jsp)。TAG绝大部分是以“”结束的。2.1.2 JSP的工作原理Web服务器在遇到访问JSP网页的请求时,先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。其中程序片段可以操作数据库、重新定向网页以及发送email等,这是建立动态网站所需要的功能。在一个JSP文件第一次被请求时,JSP引擎先把该JSP文件转换成一个Java源文件,在转换时如果发现JSP文件有任何语法错误,转换过程将中断,并向服务端和客户端输出出错信息;如果转换成功,JSP引擎调用Java虚拟机的Javac程序把该Java源文件编译成相应的class文件,该claSS文件也就是一个Servlet程序;然后创建一个该Servlet的实例,提供服务响应用户的请求。响应流程如图2一1所示。客户机带有JSP容器的服务器JSP文件(*.jsp)Servlet代码(*.java)Java字节码(*.java)图2-1 JSP响应流程图在创建一个Servlet实例时,该Servlet的jspInit()方法被执行,jsplnit ()方法在Servlet的生命周期中只被执行一次。然后jspService()方法被调用来处理客户端的请求。对每一个请求,JSP引擎创建一个新的线程来处理该请求。如果有多个客户端同时请求该JSP文件,则JSP引擎会创建多个线程,每个客户端请求对应一个线程。Servlet的这种以多线程响应请求的方式可降低对系统资源的需求,提高系统的并发量及响应时间。由于该Servlet始终驻于内存,所以响应是非常快的。如果JSP文件被修改了,服务器将根据设置决定是否对该文件重新编译。如果需要重新编译,则将编译结果取代内存中的Servlet,并继续上述处理过程。虽然JSP效率很高,但在第一次调用时由于需要转换和编译而有一些轻微的延迟。此外,JSP引擎在必要的时候可能将Servlet从内存中移除,此时JSP引擎将会调用jspDestroy()方法进行必要的清理工作。调用完jspDestroy ()方法之后,该Servlet的生命周期也就结束了。2.1.3 JSP与ASP,PHP的比较目前,构建网站的开发工具越来越集中在几种典型的技术上,如:ASP (Active ServerPage,动态服务器网页)、PHP(ProfessionalHypertext Preprocessor,超文本预处理器)及JSP。将JSP与CGI, ASP和PHP相L匕,有如下特点:JSP与ASP相比ASP是微软公司开发的一种动态网页技术,实际上是脚本加COM的组合,可以使用脚本语言VBScript和JavaScrip作为编程语言。一个ASP文件用脚本或COM来表示Web请求,服务器端的解释器负责解释执行这些脚本与COM,并且可以在ASP中去创建一个新的COM对象,同时再通过这些COM组件完成更多的工作。缺点:ASP只能在微软的NT平台上运行,无法实现跨操作系统的应用,Windows本身的所有问题都会一成不变的累加到它的身上;是解释执行方式,运行效率不高;COM的开发较复杂。JSP是基于Servlet以及整个Java体系的Web开发技术,具有真正的跨平台性,可以在任何服务器中运行,符合“Write once run anywhere”原则,可以工作在Unix和Windows平台下。JSP可以利用JavaBean组件技术,而JavaBean其实是Java的一个类,比较容易实现。另外,在JSP中使用JavaBean可以将显示和业务逻辑处理完全分离开来,使模块开发、HTML及程序设计的工作分工非常明确,确保工作的高效率。JSP与PHP相比PHP是一个纯粹的Script翻译器,和JSP一样是运行于服务器端的嵌入式脚本语言,其语法借鉴了C, Java和Perl等语言,并结合自已的特性,使开发者能够快速开发动态页面。优点:可以跨平台。缺点:执行方式是解释执行,执行速度比较慢;没有统一的数据库接口,如果改变数据库平台,应用程序也需要随之改变;没有特别好的框架结构,团队合作比较困难;没有组件支持,安装复杂,缺少企业级支持,缺少商业支持,必须和Apache一起才能使用。由于PHP缺乏规模支持与多层结构支持,及相应的安全保障,再加上提供的数据接口支持不统一,使得它不适合运用在电子教务系统中。JSP具有标准的数据库接口(JDBC),可以简单快捷的访问任何常见的数据库,为各种常用的数据库提供无缝连接:运行效率更高;可以得到更广泛的技术支持;标一记可扩展;能通过异常处理机制有效防止系统崩溃,能利用内存管理机制等提高系统安全性。 JSP第一次编译时,运行速度慢。但在页面编译后没有再被修改时,它的访问速度会比ASP, PHP快几倍。2.2 JavaBean2.2.1 JavaBeanJavaBean是使用Java语言描述的、易用的、与平台无关的软件组件模型,用于设计可重用的组件,有点类似于Microsoft的COM组件概念。在Java模型中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组合可以快速地生成新的应用程序,易维护,可以实现代码重复利用。在JSP程序中常用来封闭事务逻辑、数据库操作等,可以很好地实现业务逻辑和前台程序(如JSP文件)的分离、逻辑的封装、程序的易于维护等,从而使得系统具有更好的健壮性和灵活性。实际上,JavaBean一就是一种使用符合某些命名方法和设计规范的Java类。2.2.2 JavaBean的特性JavaBean具有以下特性:JavaBean类必须有一个没有参数的构造函数,这个构造函数在使用实例化JavaBean类时调用。如果JavaBean类内没有任何构造函数,系统会自动生成一个没有参数的构造函数。JavaBean内的属性都应该定义为私有的,那么这些属性只能通过JavaBean内的方法访问或者改变,这样可以较好的保护数据的完整性和封装性。属性通过 setXxx和getXxx来操作。同时拥有setXxx)和getXxx)方法的可以使之具有读写属性,只有getXxx)方法使之具有只读属性,只有setXxx)方法使之具有只写属性。2.3 SQL语言异构型数据库之间的数据共享多年来一直是人们研究的课题,SQL(Structured Query Language)标准的制定给应用程序的移植带来一线希望,但各个DBMS定义出来的SQL“方言”却在不同的DBMS之上的应用软件之间树起了一道隔墙。Microsoft推出的JDBC正是为解决这个问题而产生的。SQL是结构化查询语言(Structured Query Language)的缩写,它实际上包括查询、定义、操纵和控制四个部分,是一种功能齐全的数据库语言。该语言早在70年代中期由Boyce和Chenberlin提出。由于SQL具有语言简洁、方便实用、功能齐全等突出优点,很快得到推广和应用。随着关系数据库的流行,SQL在计算机界和广大用户中己经得到公认。1980年10月,美国国家标准委员会ANSI颁布了第一个SQL标准,紧接着,国际标准化组织ISO采纳SQL为关系数据库语言的国际标准,即SQL 86。该标准为软件制造商提供了一种极大的可能性,那就是无论在哪种机器平台上,还是何种数据库系统,都可采用SQL作为共同的数据存取或标准接口,该标准独立于任何程序设计语言。目前,各种数据库管理系统几乎都支持SQL,或者提供SQL的接口。这就使得无论是大型机、小型机、中型机以至微机上的各种数据库系统都有了共同的存取语言标准接口,为更广泛的数据共享奠定了基础。SQL有两种使用方法,一种是以与用户交互的方式联机使用,称为交互式SQL;另一种是作为子语言嵌入到其它程序设计语言中使用,称为宿主型SQL。SQL内容包括:SQL查询即SELECT命令,其基本形式是SELECT-FROMWHERE;SQL数据定义指定义数据库的结构,包括定义基本表、定义视图、定义索引三个部分;SQL数据操纵指对关系中的具体数据进行增、删、改操作;SQL数据控制指通过对数据库各种权限的授予或回收来管理数据库系统2.4 JDBC2.4. JDBCJDBC (Java Database Connectivity)提供了完备的数据库操作方法接口,是程序员和数据库打交道的主要途径,是Java与数据库的连接规范,是一个支持基本SQL功能的通用底层API。JDBC在不同的数据库功能模块层次上提供了一个统一的用户接口,为Java程序员提供了独立于特定的数据库系统而实现与网络数据库互联的方式。JDBC是JDK2. 0的一部分,和Java语一言一样,是独立于平台和数据库的。利用JDBC,可以使用简单直接的方法完成简单的数据库任务,如基本查询,生成和修改。2.4.2 JDBC的总体结构JDBC的总体结构如图2-2所示,JDBC包含两个部分,它们与数据库独立。一部分是面向程序开发人员的JDBC API,另一部分是面向底层的JDBC驱动器API (JDBC Driver API)。用JDBC实现Web数据库访问时,Java应用程序通过JDBC API访问JDBC驱动器管理者(JDBC Driver Manager), JDBC驱动器管理者再通过JDBC驱动器API访问不同的JDBC驱动器(JDBC Driver),驱动器负责标准JDBC调用向其支持的数据库所要的具体调用转变。JDBC驱动器管理者用于管理各种数据库软件商提供的JDBC驱动器。对没有提供相应驱动器的数据库管理系统,有特殊的JDBC-ODBC桥驱动器,该驱动器支持JDBC通过现有的ODBC驱动器访问其数据库管理系统。JDBC网络驱动器允许使用通用的网络协议访问不同的数据库管理系统。图2-2 JDBC的总体结构图2. 4. 3 JDBC的用法根据使用JDBC API层在整个应用中所处的层次,可以把JDBC的用法归结为三种模型:两层应用模型两层应用模型中,一个Applet或者一个Java应用直接同数据库连接。这种应用模型中客户机将SQL语句发给本机的JDBC驱动器,JDBC驱动器再将用户。的SQL语句传送给数据库,而这些语句的执行结果将被传回给用户,常用于传统的C/S应用。如图2-3所示。图2-3 两层应用模型图三层应用模型三层应用模型中,客户机只是访问业务逻辑层,而业务逻辑层再通过JDBC访问操作数据库。现在大多数的Web应用都是采用这种模型开发和部署。如图2-4所示。图2-4 三层应用模型图四层应用模型将数据库访问从业务逻辑层进一步分离出来形成独立的一层,将这个分离出来的层称为0/R映射层。客户机访问业务逻辑层,业务逻辑层再访问0/R映射层,最后0/R映射层通过JDBC访问操作数据库。如图2-5所示。图2-5 四层应用模型图3 系统需求分析3.1 系统功能分析软件系统的总体设计大约要经历可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试以及维护等七个阶段。可行性分析和项目开发计划在前面已经叙述,下面所要做的是进行软件需求分析,概要设计和详细设计。软件需求分析中我采用结构化分析方法(Structured Analysis,简称SA),SA是面向数据流进行需求分析的方法,象所有的软件分析方法(如面向对象分析方法、IDEF方法等等)一样,SA也是一种建模活动,它使用简单易读的符号,根据软件内部数据传递、变换的关系,自顶向下逐层分解,描绘满足功能要求的软件模型。在对网络教学网站进行了详细而深入调查和研究,尤其是对精品课程网站的深入调研之后,我确定了网络教学网站应具有的几个板块及这几个板块所实现的功能。通过以下板块设置,用户可以得到非常全面的知识,同时以下板块设置适合大多数课程,可以在课程之间相互移植使用,不拘泥于课程,这同时反应了本次设计的特点:具有可扩展性和可移植性,可进行二次开发,能够在不同课程之间移植。1) 课程介绍 课程沿革:本课程的主要历史发展及变革 课程特色:本课程的主要特色 教学大纲:本课程教学大纲 教学内容:本课程讲述的主要内容 教学方法与手段:本课程的教学条件介绍2) 队伍介绍 课程负责人:本课程的负责人介绍 主讲教师:本课程的主要授课教师介绍 教师队伍:本课程的授课教师和实验指导老师等 教改教研:本课程的教学改革、教学研究等情况的介绍 学术科研:本课程所涉及的科研活动3) 网络教学 重点难点:本课程的重点、难点点播 例题练习:对重点难点的针对性练习及解决方法 网络课件:提供本课程多媒体课件的在线播放 名师视频:提供本课程名师的在线视频4) 在线测试:提供在线题库的生成及评分,学生可以对学习情况自评5) 教师社区:教师介绍:各任课教师的介绍留言板:同学与任课教师之间非在线的文字交流课件下载:任课教师的课件下载作业提交:同学向任课教师提交作业的通道6) 实验设计课后试验:课后试验的题目、要求及规范等综合课程设计:本课程的课程设计题目及要求等7) 教学效果专家评价:校内外专家对课程的评价学生评教:历届学生对本门课程及教师的评价教学成果:本门课程所获得的教学成果8) 交流天地BBS:实现老师和同学之间非实时的文字交流语音论坛:实现在线语音交流,老师在线语音答疑等实时交流功能整个系统分为八大一级板块,每个一级板块分别下设二级板块,板块之间关系如图3-1所示:图3-1 板块之间关系本系统将用户分为三类:系统管理员、教师、学生,他们都有各自的主页,访问系统的权限也不相同。其中权限最高的为管理员,其次为教师,最低为学生。权限高的能访问其下级所能访问的所有资源,反之则不然。例如教师能进入学生主页,而学生则不能访问教师主页所提供的功能(布置作业、批改作业等)。本系统可同时为不同课程的多组教师/学生提供服务,它们之间既有一定的隔离性,又有资源的共享性,很好地解决了本单位各个教师负责不同班级,课程也有所不同的问题。1)管理员模块由于该系统可同时为多组教师/学生提供服务,各组间的课程不尽相同,因此教师/学生组间应具有一定的隔离性。例如一门课程的教师对其学生具有管理权,但不能对属于其它教师的学生进行管理、某个学生只能访问其教师的作业等。因此系统主页需要教师或学生均以帐号/密码登录后才能访问,以此追踪用户访问系统资源的身份。而用户帐号的开设与删除、教师与学生的对应关系、课程名称、学生人数等信息,由系统管理员负责管理。这里,我们将系统资源访问帐号作为操作系统帐号开设,由Windows XP和Web服务器Tomcat负责进行用户验证。这样做的好处,一是可以充分利用操作系统的安全机制,使操作系统与数据库服务器(SQL Server)无缝集成;二是可同时为用户提供其它辅助服务,如:电子邮件、个人主页、FTP服务等。使系统应用与课程内容紧密结合,学生在应用系统的使用过程中可进一步加深对课程内容的理解。以下是管理员功能模块(图3-2)的结构图图3-2 管理员模块结构图2)教师模块教师模块中包含了教师授课所需的各种功能。如:网上实时授课广播、布置作业、批改作业、出试卷、评卷、考试结果统计分析、网上答疑、课程资料(素材)制作、学生帐号管理(修改学生密码)、设置联机会议等。系统使用组件对象模型(COM)以及OfficeAutomation技术自动批改课程作业并登记成绩。教师可对作业结果进行查询、统计。教师可利用OutLook向系统请求联机会议,以此进行网上答疑、群体或个别辅导。3)学生模块学生模块包含查看教师布置的作业、做作业、测试、教师授课视频广播收看、点播、网上答疑、课程资源浏览、辅助服务等。学生使用浏览器访问系统主页时,需要提供帐号/密码进行用户验证,通过验证后,在浏览器关闭之前,均以该帐号身份访问系统资源。另外,本系统还配备资源库,内置与教学内容相关或与网络应用相关的多媒体资料,供学生课外浏览、学习。3.2 系统的用例图创建用例图之前首先需要确定参与者。(1)在本系统中,需要学生和教师的参与。学生可以浏览课程简介、教学计划、学习方法等教师发布的文章,并可以根据关键字查询文章。此外,学生可以从网站上下载课件。教师作为教学的主导者,使用此网站可以发布学习方法,课程重点等和教学相关的文章,以及和课程相关的通知等,还可以将某一门课程的课件上传。(2)网站需要一个专门的管理者进行日常维护与管理,所以需要有系统管理员的参与。3.2.1 系统用户参与的总的用例图教师和学生都可以从“网站用户”这个参与者泛化而来,网站用户是指网站的注册用户,注册用户可以登陆系统完成相应的操作。系统用户参与的总的用例图如图3-3所示。从图中可以清楚地看到泛化关系与各个参与者所参与的用例。图3-3 系统用户参与的总的用例图抽象参与者注册用户的用例只有登陆系统(System Login)一个,学生和老师用户除了包含这个用例以外,还各自有相对应的用例。3.2.2 学生参与者的用例图学生参与者的用例图如图3-4所示。图3-4 学生参与者的用例图(1)文章浏览用例。学生可以浏览诸如课程简介、教学计划、学习方法等教师发布的章。(2)文章搜索用例。学生可以使用搜索功能根据关键字查询相应的文章。(3)文件下载用例。学生可以使用下载功能将网站上的课件以及资料信息下载到本地机器上。【用例图说明】(1)Download:文件下载用例。(2)Look through info:文章浏览用例。(3)Article Search:文章搜索用例。(4)Identity:权限认证用例。此用例用来认证文件下载者是否具有下载文件的权限。3.2.3 教师参与者的用例图教师参与者的用例图如图3-5所示。(1)添加课程简介用例:教师可以为自己所教授的课程添加课程简介。(2)上传课件用例:教师可以将课程的课件上传到网站上供学生下载。(3)文章或消息发布用例:教师可以发布介绍学习方法、课程重点等和教学相关的文章,以及和课程相关的通知等。(4)文章或消息修改用例:教师可以修改自己发布的文章和通知。【用例图说明】(1)Course Intro:添加课程简介用例。(2)Upload CAI:上传课件用例。(3)Message Issue文章或消息发布用例。(4)Message Update文章或消息修改用例。图3-5 教师参与者的用例图3.2.4 系统管理员参与者的用例图系统管理员的用例图如图图3-6所示。图3-6 系统管理员参与者的用例图(1)页面维护。系统管理员可以对网站进行日常维护与管理。(2)处理注册申请。系统管理员可以处理学生或教师用户的注册申请。【用例图说明】(1)Page Maintenance:页面维护。(2)CAI Process:教师上传的课件要经过系统管理员的审批和处理。(3)Information Update:页面更新。系统管理员负责网站的页面更新,除了文章、消息、图片等的更新,还包括页面的美化和板块的调整。(4)Process Registration:处理注册申请。3.3 系统的时序图本系统中的用例很多,所能画出的时序图也很多,在此不一一介绍。3.3.1 系统管理人员管理网站的时序图图3-7 系统管理人员管理网站的时序图【时序图说明】(1)Login:登陆系统的函数。(2)Add_or_delete_Article添加或删除文章。(3)UpdateCAI():更新CAI课件的函数。(4)Add_or_delete_User:添加或删除用户。(5)Show():刷新页面的函数。(6)Notify():通知用户的函数。系统管理人员通过与管理窗口的交互可以添加或删除文件、更新CAI课件、添加或删除用户。具体的操作由管理窗口与数据库交互完成,管理员操作后的结果在页面上显示。3.3.2 用户登录系统的时序图【时序图说明】(1)Input(String):输入用户名和密码的函数。(2)Seng(String):将用户名和密码发送给服务器的函数。(3)Query_and_Vlidate():查询数据库并验证用户名和密码正确性的函数。(4)feedBack():发送反馈消息的函数,如果通过验证,发送OK;如果验证出错,发送Error。(5)ShowInformation:将反馈信息显示给用户的函数。用户要登陆系统,首先要和登录窗口交互,输入用户名和密码。登录窗口负责和服务器交互,将用户输入的用户名和密码发送到服务器,服务器再与数据库交互,以验证用户名和密码的有效性。如果验证成功,则返回OK,验证失败返回Error。服务器将通过登陆窗口将信息显示给用户。图3-8 用户登陆系统的时序图3.3.3 学生下载文件的时序图【时序图说明】(1)Request:学生发送下载请求。(2)Send(String,String):传递下载参数的函数。(3)Identity():验证用户权限的函数。(4)authorize:返回认证信息的函数。学生要下载文件,首先要向下载窗口发送请求,然后下载窗口将下载的参数传递给服务器,服务器与数据库交互以获得用户的权限认证,认证信息再通过服务器以及下载窗口传递给学生。图3-9 学生下载文件的时序图3.4 系统的协作图本系统中的协作图较多,下面仅介绍比较有代表性的两个:用户登录系统的协作图和学生下载文件的协作图。3.4.1 用户登录系统的协作图【协作图说明】(1)Input(String,String):输入用户名和密码的函数。(2)Send(String,String):将用户名和密码发送给服务器的函数。(3)Query_and_Validate():查询数据库并验证用户名和密码正确性的函数。(4)feedBack():发送反馈消息的函数。如果验证通过,发送OK,否则,发送Error。(5)ShowInformation():将反馈信息显示给用户的函数。图3-10 用户登陆系统的协作图3.4.2 学生下载文件的协作图【协作图说明】()Request:学生发送下载请求。()Request(String,String):传递下载参数的函数。()Identity():验证用户权限的函数。()showStatue():返回下载状态的函数。如果认证成功,开始下载,不成功则报销。图3-11 学生下载文件的协作图3.5 系统的活动图本系统中可以建立的活动图很多,下面仅列举几个有代表性的。3.5.1 用户登陆系统的活动图【活动图说明】(1)Input URL:输入网站的URL。(2)Show Home Page:显示网站主页。(3)Input Login Information:输入登陆信息。(4)Press “OK” Button:点击“OK”按钮。(5)Certify UserInfo:用户信息认证。(6)Show Success Page:显示登陆成功界面。用户登陆系统时,首先要输入登陆网站的URL,然后从首页的登陆窗口中输入登陆信息,如用户名和密码,点击页面上的登陆按钮。用户输入的信息会与数据库中的信息对比验证,如果验证成功,返回登陆成功页面,如果失败,返回登陆失败页面。从图3-12中可以看到,活动图的活动分别由3个不同的对象完成,通过此活动图的绘制,对泳道的概念有更深的认识。图3-12 用户登录系统的活动图3.5.2 教师上传课件的活动图【活动图说明】(1)Apply File Upload:申请文件上传。(2)Certify Size And Other Aspect:验证文件的大小和其他信息。(3)Store:文件存储。(4)Administrator Authorize:系统管理员认证。(5)Update Page:更新页面。(6)Delete Page:删除文件。教师要上传文件,首先要进入文件上传页面,然后验证上传文件的大小和其他信息是否符合要求。验证成功后将文件存储,当系统管理员认证通过,更新,认证不通过则删除文件。图3-13 教师上传课件的活动图3.5.3 系统管理员维护网站的活动图【活动图说明】()Login:登陆系统。()Process CAI:处理上传的课件。()Update Information:更新页面信息。()Modify page:修改页面。图3-14 系统管理员维护网站的活动图4 系统设计4.1 系统总体结构设计网络教学网站分为八个板块,即课程介绍、队伍介绍、网络教学、试验设计、教师社区、在线测试、交流天地、专家评价。八大板块互相关联又相对独立。这个网站制作的基本目标是:结构清晰、内容丰富、方便快捷。本着这样的总体设计思想,又将需求分析具体化:(1)用户操作方便;(2)在线学习内容丰富,程序完整并显示正确的运行结果;(3)用户可以把老师的教案下载下来进行学习;(4)在线测试题量丰富,并正确显示考生的最后得分;(5)在线交流可以实现老师和学生的互相交流;(6)老师可以对用户信息进行修改、删除,但学生只能查看用户信息。(7)界面友好、美观、大方。系统的概要设计中最重要的就是系统的模块化。模块化是指在解决一个复杂问题时自项向下逐层把软件系统划分成若干个模块的过程。每个模块完成一个特定的功能,所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能。将系统划分为多个模块是为了降低软件系统的复杂性,提高可读性、可维护性,同时系统设计的模块化也为提高系统的可扩展性和系统的可移植性提供了方便,但模块的划分不能是任意的,应尽量保持其独立性。也就是说,每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少并且接口简单,即尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。我首先将整个系统化分为两个小模块,用户子系统和管理员子系统。然后,进一步细分模块,添加细节,用户子系统又分为课程介绍、队伍介绍、网络教学试验设计,在线测试,教师社区、资料上传下载,在线交流等几个板块;管理员子系统分为用户管理、上传下载管理,测试管理,BBS管理、语音论坛,网站后台更新等。以下分别是用户子系统(图4-1)和管理子系统(图4-2)的结构图:图4-1 用户子系统图4-2 管理子系统4.2 数据库设计在信息世界中,信息从客观事物出发流经数据库,通过决策机构最后客观世界,信息的这一循环经历了三个领域:信息世界,数据世界,现实现实世界的事物反映到人的头脑中,人的大脑对它有个认识过程,经过分析(选择、命名、分类等)进入信息世界。这些信息再进一步加工、编码,然后据世界,而软件系统的开发工作需要考虑这两个方面的问题,也就是要考开发所需要的数据,以及如何对这些数据进行操作。这两个问题贯穿了整系统的开发过程,这也就是数据库的设计问题,软件设计的一个核心。4.2.1 E-R图在系统设计的开始,我首先考虑的是如何用数据模型来数据库的结构与语义,以对现实世界进行抽象。目前广泛使用的数据模型可分为两种类型,一种是独立于计算机系统的“概念数据模型”,如“实体联系模型”;另一种是直接面向数据库逻辑结构的“结构数据模型”。在本系统中我采用“实体联系模型”(ER模型)来描述数据库的结构与语义,以对现实世界进行第一次抽象。ER模型直接从现实世界抽象出实体类型及实体间联系,然后用ER图来表示数据模型。它有两个明显的优点:接近于人的思维,容易理解;与计算机无关,用户容易接受。但ER模型只能说明实体间语义的联系,不能进一步说明详细的数据结构,它只是数据库设计的第一步。在本次设计中的网站需要一张用户表,用户表包含用户ID、签名、用户类型、注册日期、用户名、用户昵称、用户密码、性别、E-mail、发表文章、生日及表情等12个信息。用户ER图为4-3。用户注册日期签名生日用户昵称用户密码性别E-mail用户名用户类型用户ID表情发表文章图4-3 用户ER图一张
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国折叠屏显示面板良率提升与终端产品创新方向研究
- 2026中国智能体重秤行业市场供需分析及投资趋势规划分析研究报告
- 2026汽车行业投资发展分析及风险管理研究报告
- 2026中国智能仓储系统行业市场现状发展分析规划评估报告
- 高压配电柜检修安全技术措施培训
- 通风区风险管理标准及管理措施培训课件
- 聚乙烯醇生产过程危险性分析与安全管控
- 2026年公路水运安全员交安abc考试考核题库及答案
- 2026食品加工工艺产业行业市场消费供需调研分析及投资规模规划研究报告
- 竞聘银行主管面试题及答案
- 2026年高考物理二轮复习(全国)专题01 力与物体的平衡(专练)(原卷版)
- 2025年海南省事业单位招聘考试《公共基础知识》真题及答案
- (2025年)望江县中小学教师招聘真题含答案
- 国企管理内部控制办法
- 无人机装调检修工(征求意见稿)
- 《整治形式主义为基层减负若干规定》 专题培训
- GB 18580-2025室内装饰装修材料人造板及其制品中甲醛释放限量
- 医疗质量管理和持续改进记录文本表
- 护理风险防范管理制度
- 高考物理一轮复习课件开学第一课
- 《无损检测(第2版)》 课件第六章 声发射检测
评论
0/150
提交评论