系统的运行环境和开发毕业论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
系统的运行环境和开发毕业论文
目录
第一章绪论 (1)
1.1 开发背景 (1)
1.2 开发意义 (1)
第二章系统分析 (2)
2.1 系统的需求分析 (2)
2.2 系统开发设计思想 (2)
2.3系统开发步骤 (3)
2.4 系统的主要技术 (3)
2.4.1 Browser/Server系统的三层体系结构 (3)
2.4.2 Java Server Page(JSP)技术 (4)
2.4.3 JDBC技术 (6)
2.5 系统的运行环境和开发平台 (6)
2.5.1 硬件设备及操作系统 (6)
2.5.2 系统开发工具 (6)
2.5.3 开发工具简介 (7)
第三章系统设计 (8)
3.1系统用例 (9)
3.2 系统功能模块的划分 (9)
3.2.1用户模块 (10)
3.2.2在线视频模块 (10)
3.2.3 文件上传下载模块 (11)
3.2.4答疑模块 (11)
3.2.5 公告模块 (12)
3.2.6 BBS论坛模块 (12)
3.2.7 后台管理模块 (12)
3.3数据库设计 (14)
3.3.1数据库需求分析 (14)
3.3.2数据库E-R图 (14)
3.3.3数据库的逻辑设计 (16)
第四章系统实现 (22)
4.1主要界面实现 (22)
4.1.1用户注册 (22)
4.1.2 首页 (23)
4.1.3 论坛 (24)
4.1.4 在线视频 (25)
4.1.5后台管理 (25)
4.2主要功能程序的实现 (27)
4.2.1 数据库连接的建立 (28)
4.2.2注册用户 (30)
4.2.3引入标签到页面 (32)
4.2.4发帖、跟帖 (34)
4.2.5 文件上传 (36)
第五章系统的测试 (41)
5.1 软件测试的目的和原则 (41)
5.2 子系统测试 (42)
5.2.1页面跳转获取不到请求参数的问题 (42)
5.2.2 JSP的中文乱码问题 (43)
5.2.3 SQL Server 2005数据库的驱动问题 (43)
第六章总结 (44)
参考文献 (45)
致谢: (46)
第一章绪论
1.1 开发背景
随着网络的普及,学校需要寻找新的学习模式。
在线学习是一种新的教育形式。
在线学习系统主要服务于学校的所有学生,为他们很好的提供更多元化的学习环境、更方便复习,预习的学习渠道。
在线学习系统是一个正在兴起的应用领域,主要利用网页制作、数据库等技术实现网上教学的实时性、交互性、动态性。
目前对于网上学习的模式以及其所涉及的技术仍有许多问题需要探讨和解决。
本系统突破一般多媒体辅助教学工具的思想,目的是尽可能将现实的活生生的学习环境和方法应用于网络教学中,提高学生网上学习的兴趣,从而真正提高网上学习质量;同时本系统的总体框架是为建立多学科的通用的模块化的网上学习平
台,为今后开展广泛的网上教育提供技术基础服务。
作为传统教学的延伸,网络信息化教学的作用正逐步被人们所重视,随着网络技术和多媒体技术的进步,网络信息化教学系统还会有更多的发展空间。
1.2 开发意义
在传统的课堂式教学下学习存在着很多的缺点:如:享受到最优秀老师服务的只能是少数人;不能随时随地、灵活有效的、个人掌握学习主动权。
随着科学技术的不断提高,计算机科学与技术日渐成熟,计算机应用的普及,计算机已进入人类社会生活的各个领域,并发挥着越来越重要的作用,越来越多的学员选择网上在线学习。
在线学习提供最优秀的教育资源传统授课方式中,真正能享受到最优秀老师服务的只能是少数人,而通过在线学习提供的视频学习,任何人都可以轻松享受到优秀老师提供的教学服务,在线学习系统整合各领域最优秀的教学视频,可以让你接受的第一流的教育。
在线学习不受时间的限制,并且可以随时随地在可以上网的地方参与学习。
第二章系统分析
2.1 系统的需求分析
区别于课堂式教育,网上在线学习具有了传统的课堂式学习无可比拟的优点:网上在线学习体现了真正的因材施教;学生学习不受入学年龄的限制,并
且可以避免传统教学模式下时间和空间的限制;在线学习对学生来说是时空的解放,宽松的学习氛围更可以使学生发挥他们的聪明才智,他们可以在学习活动中相互启发、协作交流;在线学习也是一种多向的信息交流活动,学生在获取不同的学习资源时可进行比较,集思广益,取长补短,深入理解和消化所学的知识,益于对新知识的意义建构;当代学生学习动机呈多样性,学习压力因素各异,而在网络背景下的学习者可根据自身的特点采取不同的学习方法。
让更多的人符合科学发展跟上时代的步伐。
根据以上实际的需求和特色,本系统需满足以下几个方面的要求:
1.提供一个可以与他人交流互动的平台,在这个平台上面学生可以发表自
己的见解,达到交流共享信息的目的
2.学生可在此系统中注册成为用户,注册成功之后在平台上交流时其他用
户就可以知道你的信息,从而可以使用户大胆放心的在这个平台上分享
更多的信息。
3.学生可以在此平台上获取到他们所想要的学习资料
4.学生可以在此平台上进行在线学习。
2.2 系统开发设计思想
系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护;
系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。
2.3系统开发步骤
在线学习系统的建立与应用可以划分成总体规划、系统开发和系统运行三个阶段,其中系统开发阶段还可进一步分为系统分析、系统设计和系统实施等工作环节。
上述各个阶段排列成一个严格的线性开发序列,在每个工作阶段均产生完整的技术文档作为下一阶段工作的指导和依据,每一阶段都应对文档进行评审,确信该阶段工作已完成并达到要求后才能进入下一阶段,同时在以后的工作中不能轻易改变前面经过评审的成果。
上述开发方式的主要优点是便于开发工作的组织和管理,并且可大大降低在线学习系统开发的复杂性。
国外许多系统开发的实例都证明这是一种行之有效的开发方式。
2.4 系统的主要技术
2.4.1 Browser/Server系统的三层体系结构
在Browser/Server的系统中,用户可以通过浏览器向分布在网络上的许多服务器发出请求。
Browser/Server结构极大的简化了客户机的工作,客户机上只需安装、配置少量的客户端软件即可,服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。
在Browser/Server三层体系结构下,表示层(Presentation)、功能层(Business Logic)、数据层(Data Service)被分割成三个相对独立的单元:
第一层--表示层:Web浏览器
在表示层中包含系统的显示逻辑,位于客户端。
它的任务是由Web浏览器向
网络上的某一Web服务器提出服务请求,Web服务器对用户身份进行验证后用HTTP协议把所需的主页传送给客户端,客户机接受传来的主页文件,并把它显示在Web浏览器上。
第二层--功能层:具有应用程序扩展功能的Web服务器
在功能层中包含系统的事务处理逻辑,位于Web服务器端。
它的任务是接受用户的请求,首先需要执行相应的扩展应用程序与数据库进行连接,通过SQL 等方式向数据库服务器提出数据处理申请,而后等数据库服务器将数据处理的结果提交给Web服务器,再由Web服务器传送回客户端。
第三层--数据层:数据库服务器
在数据层中包含系统的数据处理逻辑,位于数据库服务器端。
它的任务是接受Web服务器对数据库操纵的请求,实现对数据库查询、修改、更新等功能,把运行结果提交给Web服务器。
从上面的分析中可以看出,三层的Browser/Server体系结构是把二层Client/Server结构的事务处理逻辑模块从客户机的任务中分离出来,由单独组成的一层来负担其任务,这样客户机的压力大大减轻了,把负荷均衡地分配给了Web服务器,于是由原来的两层的Client/server结构转变成三层的Browser/Server结构。
2.4.2 Java Server Page(JSP)技术
在本系统的开发过程中采用的是JSP+JavaBean+Servlet模式,在该模式中,结合了JSP和Servlet技术,充分利用了JSP和Servlet两种技术原有的优点。
此模式遵循视图控制器(MVC)模式,它的主要思想是使用一个或多个Servlet
作为控制器。
请求由前沿的Servlet接收并处理后,会重新定向到JSP。
在Servlet作为控制器时,每个Servlet通常只实现很少一部分功能,多个Servlet 控制器就可以结合起来完成复杂的任务,这样的好处是Servlet的重用性好。
在此模式中,JavaBean作为模型的角色,它充当JSP和Servlet通信的中间工具,Servlet处理完后设置Bean属性,JSP读取此Bean的属性,然后进行显示。
此模式更加明显的把显示和逻辑分离,使代码容易管理,适合于大型项目的开发,所以在本系统中采用了这种模式[8]。
此模式的数据传递关系如图2-1所示。
Model
图2.1 JSP+JavaBean+Servlet开发模式数据传递关系
首先,J2EE 结构是设计和开发在线学习系统的核心。
第二,系统提供的大部分操作都涉及到与用户动态地进行信息交互,要求系统能够实现数据的动态发布。
第三,位于客户端的用户主要通过浏览器使用本系统。
第四,在Sun 公司提出的J2EE蓝图中明确推荐使用JSP技术为动态容提供服务。
因此,在J2EE
结构的模型框架下,JSP 技术是实现此系统动态信息交互功能的首选方案。
JSP 技术主要有以下一些特点[2]:
(1) 应用程序逻辑和页面显示相分离的特性。
JSP 把用户界面从系统容中分离开来,使得设计人员能够在不改变底层动态容的前提下改变整个网页布局。
(2) 组件的可重用性。
绝大多数JSP页面依赖于可重用的、跨平台的组件来执行应用程序的处理。
开发人员能够共享和交换执行组件,并利用这些组件创建应用程序。
基于组件的方法加速了开发过程,提高了应用程序的开发效率[2]。
(3) 跨平台特性。
JSP技术将“一次编写,随处运行”的思想推广到了交互网页中,因此不需要作任何更改,就可以很轻松地跨平台和跨Web服务器移动JSP 页。
(4)可以用多种格式为动态容提供服务。
JSP可以为不同的客户端提供服务,包括使HTML/DHTML的常规浏览器、使用WML的移动和PDA 等手持式无线设备以及使用XML的其他B2B 应用程序等[3]。
2.4.3 JDBC技术
JDBC 技术在J2EE 结构的中间层与EIS层的数据源之间提供了数据库独立的开放性连接,使应用程序不仅可以对基于SQL 标准的关系数据库系统进行访问,而且还可以对其他类型的数据源进行访问。
JDBC技术通过提供API使Java 应用程序能够实现位于系统层的数据库的访问能力。
J2EE 结构中间层的应用组件通过JDBC技术可以完成下列功能:实现与位于J2EE结构中系统层的数据库服务器的连接;管理事务;将SQL 请求传送到数据库管理系统进行预处理并执行相应的数据操作;执行存储过程;检查修改查询
语句的执行结果等。
2.5 系统的运行环境和开发平台
2.5.1 硬件设备及操作系统
服务器:PentiumIII 1G(或与此相当的CPU)以上配置的高性能PC机,有网络接口卡(NIC),存应在256M以上,硬盘在80G以上。
数据库软件IBM DB2,还可选用备份服务器。
操作系统:Windows 98以上。
客户端:PentiumIII 500(或与此相当的CPU)以上配置的PC机,有网络接口卡(NIC),存应在128M以上,硬盘在10G以上。
Windows98以上操作系统,安装Web浏览器。
网络:服务器和客户端应有网络连通。
配置TCP/IP协议。
2.5.2 系统开发工具
电脑配置:Dell品牌机CPU: P4 2.6 存:DDR 512M 硬盘:80G
操作系统:Microsoft Windows Server 2003
开发环境:MyEclispse 7.5
Web服务平台:Tomcat 6.0
数据库:SQL Server 2005
2.5.3 开发工具简介
(1) MyEclipse7.5概述[9]
MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称
MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。
(2) Tomcat6.0概述[10]
Tomcat6.0 服务器是一个免费的开放源代码的Web 应用服务器,Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。
由于有了Sun 的参与和支持,最新的Servlet 和JSP 规总是能在Tomcat 中得到体现,Tomcat 6.0 支持最新的Servlet 2.4 和JSP 2.0 规。
因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
(3) SQL Server 2005概述[11]
SQL Server是微软公司开发的一个关系数据库管理系统,以Transact_SQL 作为它的数据库查询和编程语言。
T-SQL是结构化查询语言SQL的一种,支持ANSI SQL-92标准。
SQL Server 采用二级安全验证、登录验证及数据库用户帐号和角色的许可验证。
SQL Server 支持两种身份验证模式:Windows NT身份验证和SQL Server 身份验证。
7.0版支持多种类型的角色,"角色"概念的引入方便了权限的管理,也使权限的分配更加灵活。
第三章系统设计
本系统的学习功能主要是针对学生设计,包括视频的观看、下载,相关课件的下载,对有关资源的学习,了解其学习方面的通知,和教师间的相互交流。
开始电子公告和BBS学习论坛,引导学生进行网上交流,引导了学生对有关问题进行思考判断,进而引导学生主动参与本系统的建设,使网络成为教学的另一个战场。
本系统的教学功能能为教师提供一个平台,使得课件或电子教案的发布更为简单,并为教师提供答疑板块,教师也可进入学习论坛,了解学生的疑问,便于教师与学生的交流,也为今后各科教师自行制作相关专题子提供了方便。
本系统的管理员管理功能包括用户管理、资源管理、论坛管理。
对用户及资源信息进行有效的管理。
3.1系统用例
与本系统相关的用户和角色包括:
系统管理员:管理系统用户、角色与权限,发布相关资源,保证系统正常运行。
教师:发布相关学习资源(如:视频、课件等),在线答疑。
学生:通过注册成为本系统用户,可在线观看教学视频、下载有关学习软件,进行相关问题的咨询。
图3.1 系统用例图
3.2 系统功能模块的划分
软件所实现的功能强弱是衡量一个软件的最根本的标准。
经过对系统的需求分析和实际应用需求,确定了本子系统的功能模块如图3.1所示:
图3.2 系统功能模块图
3.2.1用户模块
用户包括未注册的路人、注册的学生、老师、管理员的权限功能的实现和划分的用户模块。
未注册的用户登陆本系统只能浏览本系统的新闻资讯,或者是浏览论坛中的帖子、还有就是在线观看本体统提供的视频资源。
注册成功的学生、老师用户登陆成功之后除了享有路人所有的权限之外还可以下载视频、课件。
进入论坛之后还可以发帖,提出自己的问题,也可以针对某个问题回复别人提出来的问题,和其他的人一起沟通。
管理员是权限最大的用户,可以对本系统中所有的资源进行管理,包括用户的管理,管理员有权注销不合法的用户;主页面的新闻,管理员可以发布新闻、撤消新闻;论坛中帖子的管理,管理员有权对含有不健康或者是不合法的容的帖子进行撤消。
该模块主要实现在线播放,通过在页面嵌入一个播放器,系统通过jsp
页面户从数据库中获取所有可在线播放的视频信息,并显示在页面上。
通过用户所请求的某个视频信息返回到页面的播放器进行播放。
3.2.3 文件上传下载模块
本系统涉及的文件主要包括课件资源和视频资源:
(1) 上传文件
在后台管理界面中设置“资料管理”按钮,点击“上传文件”可以在自己的主机或网络上选择要上传的文件资料,这里一次可以上传一个或多首文件,选择结束后点击“上传”按钮就可以将文件传到一个指定的ftp上的文件夹中供用户下载。
对数据库中表进行查询,将文件的名称等信息在相应页面中显示出来。
(2) 下载文件
在数据库文件信息表中设置“存放路径”字段,此字段放置的信息是管理员将文件上传到的路径信息。
前台页面中对文件的信息进行查询,使用代码来实现每个不同的文件名到相应的目录下面,用户点击文件下载选择将其保存到磁盘上可以将该文件保存到自己的本机上;右键点击“另存为”也可将其保存到自己本机上。
这两种方法都实现了文件的下载。
该模块主要实现的功能是管理员定期把一些文件上传到相应的文件夹中,并在网页中显示相关容,在线用户可以在线观看视频或下载所喜欢的文件。
(1)提出问题
登陆的学生用户可以向老师提问,当学生遇到方向性的问题,可以向有关的老师提问。
每个老师都有教授的课程以及介绍,学生可以通过了解老师所擅长的科目来向他提问。
当老师解决了学生提出的问题后,学生登陆时将列出所有解决的问题。
(2)解决问题
登陆的老师用户登陆可以浏览之前学生所提出的所有问题和解决的问题,老师可以解决未处理的问题。
3.2.5 公告模块
在首页的公告区域显示管理员发布的公告信息,公告信息实时更新主要显示的是数据库中的公告表中的数据资源。
3.2.6 BBS论坛模块
用户登陆首先进入论坛的首页,在首页是显示的所有用户发表的主贴信息,该页面主要是分页显示数据库中的主帖信息了容,包括发帖人头像、主题、发表时间、点击数等等,可以点击某个主贴的主题到该贴的所有跟帖信息,注册的用户还可以发表主题、回复主贴。
达到与其他老师或者同学交流的功能。
然后该页面也提供用户登陆和注册的功能,主要对于那些路人观看之后想发表自己的想法的人提供便利,在从帖的页面主要是分页显示某个主帖的从帖信息,同时也包括用户登陆和注册的功能。
3.2.7 后台管理模块
后台管理是最重要的一块,后台的管理功能的实现,管理员登陆之后,可以对数据库中的所有信息进行管理,本模块的功能模块由下图所示:
图3.3 后台管理功能模块图
(1)用户的管理
管理员有权对该系统的所有管理员、学生进行管理、这就包括对用户的添加、修改、删除。
(2)公告管理
管理员可以定期对主页上面的公告进行更新,通过该模块,管理员可以轻松、快速的对公告进行管理。
1. 信息公告的录入
主要功能是使管理员以简捷的方式对通知公告表进行操作,主要的功能有:增加、删除和修改。
管理员在进行以上所有操作时首先要进入登录界面进行登录,登录
用的用户名和密码是按管理员的不同权限事先分配好的,登录成功后可以实现增加、修改、删除一些公告信息。
2. 浏览信息公告
在首页的适当位置设置公告栏,主要是最新信息。
最新的而且较重要的可做成滚动条的形式,滚动显示通知的信息。
当鼠标置于某个标题上时,滚动条停止滚动,点击标题浏览通知公告的正文。
其他的可在主页面里的适当位置按时间的倒序将标题和发布日期显示出来,点击标题浏览公告信息的正文。
(3)资源管理
主要是对现有资源的管理和资料的上传。
1.现有资源的管理
可对现有的视频和课件进行增加、删除、修改,可对那些上传资料不合法的视频资源可将其是否发布的属性该为否,这样将不会在页面上显示,也不能提供下载。
还有一种就是将是否下载该为否,这样的话只有在页面显示,但是还是不能下载。
对于课件资源只有是否下载的属性,不提供在线的打开,只提供下载。
2.资料的上传
管理员可上传所需的资源供学生用户下载。
3.3数据库设计
3.3.1数据库需求分析
数据库的设计在一个系统中的作用十分重要,数据库建立的是否完善直接影响到你个系统的实现。
数据库的设计既要满足用户的需求又要尽最大可能的降低数据的冗余,尽可能降低数据间的依赖,将他们分离。
在各种信息的提供,保
存,更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入,收集基本数据,数据结构,以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础.
3.3.2数据库E-R图
E-R模型的组成元素有:实体、属性、联系。
E-R模型用E-R图表示。
实体是用户工作环境中所涉及的事务,属性是对实体特征的描述。
(1)模型中的实体相当于实体集、一个表,而不是单个实体或表中的一行。
实体用矩形框表示,实体名称标注在矩形框。
用菱形表示实体间的联系,菱形框写上联系名,用无向边把菱形分别与有关实体相连接,在无向边旁标上联系的类型。
(2)属性是实体的性质。
用椭圆框表示,与实体之间用一条线相连表的主码是关键属性,关键属性项加下划线。
(3)各子系统模块中主键相同的字段之间存在着相互关联的关系。
(4)在程序中实现对他们的完整性和一致性控制。
具体关系如下图:
图3.4 管理员管理E-R图
图3.5 答疑E-R图3.3.3数据库的逻辑设计
逻辑结构设计的原则如下:
(1)尽可能的减少数据冗余和重复。
(2)结构设计与操作设计相结合。
(3)数据结构具有相对的稳定性。
基于以上设计原则,本系统设计了如下数据库:
表1 管理员信息表表2 学生信息表
表3 公告表
表4 新闻表
表5 视频资源表
表6 文件表
表7发帖表
表8 跟帖表
表9 教师信息表
表10 课程信息表
表11 问题表
表12 答案表
数据库表之间的关系如下:
第四章系统实现
4.1主要界面实现
本系统的设计主要采用蓝色为题,给人以愉悦,舒畅的感觉,让学生能够集中思想尽快投入到学习当中去。
4.1.1用户注册
通过首页的注册进入到注册页面,该页面主要是对用户的信息进行采集,主体是一个表单。
通过“提交”按钮可以将用户的信息发送到服务器端。
4.1.2 首页
首先进入的是的首页,首页主要采用的主要是div容器,使用div能快速、准确的对页面的元素的大小和位置进行定位,在div容器中进一步使用table,对页面的元素进行排版。
所有的页面都采用统一的样式文件.css,页面所有的背景图片都放在image文件夹下[11]。
在主页面的顶端可以到本系统提供的其他功能,主要包括资料库、学习论坛等,在主页还要实现用户的登陆以及注册的功能,在页面的右侧有登陆的表单,用于获取学生或者是管理员的用户名和密码提交到后台来实现用户登陆。
实现后的主页效果如下图:
图3.1首页效果
4.1.3 论坛
当用户登陆成功以后,如果点击主页的学习论坛,用户的请求提交到后台,该请求包含了用户请求论坛首页显示的页数,初次登陆的默认值是1,因此服务器端返回论坛第一页的记录,到论坛的主页。
论坛首页采用jsp页面,当打开该页面的时候,可以获取session中保存的第一页的所有记录,通过引入c标签的中循环控制标签<c:foreach>,加上页面的表格,显示session中的记录。