【《基于JAVA的计算机语言学习爱好者平台设计》14000字】_第1页
【《基于JAVA的计算机语言学习爱好者平台设计》14000字】_第2页
【《基于JAVA的计算机语言学习爱好者平台设计》14000字】_第3页
【《基于JAVA的计算机语言学习爱好者平台设计》14000字】_第4页
【《基于JAVA的计算机语言学习爱好者平台设计》14000字】_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于JAVA的计算机语言学习爱好者平台设计目录TOC\o"1-3"\h\u27951摘要 3236991绪论 3113251.1选题背景 3206521.2开发目的 487781.3开发意义 4176961.4设计原则 4225892相关技术和开发环境 592142.1开发工具 524652.1.1MyEclipse介绍 5136832.1.2Tomcat介绍 5136922.2Java语言 676352.3MySQL数据库 647822.4JSP技术 7135492.5HTML介绍 7277593系统分析 9187153.1可行性分析 9203973.1.1技术可行性 9132253.1.2经济可行性 9307983.1.3发展可行性 944813.2功能需求分析 1096463.3非功能需求分析 11190173.4性能需求分析 11306623.4.1硬件系统需求 1185273.4.2软件系统需求 12171284系统设计 1399744.1系统网络拓扑结构图 13301914.2系统功能结构设计 13221554.3系统功能模块设计 14203044.3.1用户注册登录模块 14193624.3.2前台系统模块 15162534.3.3管理员模块 1649664.3.4教师模块 1629224.4数据库设计 174004.4.1数据库的概念设计 1762024.4.2数据库的E-R图 17281204.4.3数据库的表设计 19208315网站实现 2397515.1系统首页开发 23257805.2前台用户功能模块开发 236445.2.1用户注册模块 23113455.2.2用户登录 24134755.2.3查看学习资料 2472185.2.4查看课程视频 24283855.2.5查看论坛 25312115.2.6专项测试 25127965.2.7在线留言 2658695.2.8用户个人后台管理 26139795.3后台管理员模块开发 27190045.3.1后台登录 27237555.3.2后台系统--管理员修改登录密码 2731975.3.3后台系统--教师信息管理 2861995.3.4后台系统--注册用户信息管理 28291255.3.5后台系统--学习资料管理 28182665.3.6后台系统--课程信息管理 29221625.3.7后台系统--互动论坛管理 2953675.3.8后台系统--留言管理 304645.4后台教师管理模块开发 30160275.4.1后台系统--修改个人信息 30194285.4.2后台系统--学习资料管理 31122855.4.3后台系统--课程信息管理 3169165.4.4后台系统--测试题库管理 3288125.4.5后台系统--试卷成绩管理 32182855.4.6后台系统--论坛帖子管理 33104186系统测试 34200236.1测试原则 3448896.2测试流程 34122456.3测试方法 34134176.3.1黑盒测试 34326436.3.2白盒测试 3561786.4测试总结 3549107总结与展望 35315527.1系统总结 35326687.2展望 36摘要近年来,随着互联网的发展以及共享理念的普及,传统的教师培训行业存在较大弊端,亟需转变当前这种教学模式。现有的培训体系大多通过培训机构进行,培训时间和地点存在一定限制,因此线上教育平台有了一定的发展空间,新冠肺炎疫情的爆发,将线上教育推向了一个新的里程碑。C/C++语言爱好者平台是针对C/C++爱好者的一个线上教学网站,学生可以根据自己的空闲时间合理安排课外学习,对于时间、地点和学习方式都比较灵活。本系统是基于MyEclipse和Tomcat后台服务器技术,MySQL数据库和Java编程技术进行开发的,前端页面使用了HTML网页设计技术和JSP技术,前后端相结合来实现网站的整体内容。该系统的组成部分为用户模块、教师模块和管理员模块。在用户模块中用户可以在该系统中进行账号注册登录、在线视频学习、阅读学习资料、论坛发帖、在线测试、在线留言和个人后台管理等;在教师模块中教师可以修改个人密码、实现学习资料和在线课程的增删改查、测试题库管理、生成试卷并查看学生成绩、在线论坛管理等,同时教师也具有查看前台系统的权限;在管理员模块中可以管理系统用户信息、管理课程信息、学习资料、在线论坛、专项测试和在线留言等内容。通过测试该系统的各个功能模块均可正常使用。关键词:线上教育平台,Java语言,MySQL数据库,JSP技术11绪论11.1选题背景近几年,互联网行业的快速发展,奠定了网络信息课程在各高校的地位,同时,这种新型的教学模式和知识共享模式也随之而生,网络化教学也逐渐走进大家的视野,慢慢的被人们所接受。编程语言的课程内容也呈现爆炸增长的趋势,从书籍上获取知识的渠道是远远符合不了人们的需求,而现实中的IT培训班,虽说可以在一定程度上满足编程语言爱好者的学习需求,但是其昂贵的报名费用以及不合理的时间安排,也是无法被大多数人所接受的。所以,网络教学成为了一种可能。自从我国提出“新世纪网络课程建设工程”以来,高校的网络课程建设也有一定的发展,教育部对网络课程的建设在政策上给予了很大的支持,这很大程度带动了在线学习平台的发展[1]。1.2开发目的本系统所设计与开发的平台是为C/C++语言爱好者提供的一个学习网站,主要提供一些C/C++语言相关课程学习、学习资料分享、论坛以及专项测试等板块。C/C++编程语言是现代大学生学习编程语言的基础,有较多的专业会开设《C语言课程与设计》这门课程,但是要掌握这门语言在课堂上学习往往是不够的,需要在课后花费较多的时间巩固以及习题练习才能为以后的学习打好基础,当然,C/C++爱好者不仅仅是大学生,还有可能是已经步入社会的工作人员,他们没有大量的时间去集中学习,可以通过这个网站利用碎片化的时间学习,提高自己的专业技能,所以开发这个网站是为C/C++语言爱好者提供一个学习平台。1.3开发意义打造多元化教学平台。线上教学平台所支持的教学形式并没有代替传统的课堂教方式,而是将线上课堂和传统课堂结合起来。传统课堂方便管理,易于课程内容的推进,线上教育可以充分利用时间,二者相结合为学生提供的便捷的学习平台。降低教学时间和空间的要求。通过建立该教学平台,C/C++语言兴趣爱好者可以在任何时间或空间学习,降低了我们对空间和时间的要求,该平台具有下载功能,同时也解除了对网络的要求,学生如果没有听清课程内容,可以选择再次观看相关内容,解决了学生盲目跟随老师思路、不思考、不动脑的问题。线上教学资源极为丰富,学生可以结合自身情况,制定合理的学习计划,将学习效果达到最优。汇总整合丰富的课程教学信息资源和相关信息。教学资源的数量和种类十分庞大,建立一个在线教学信息库是为了能够更好地收集和管理这些信息,先将其汇总再分类进行整理,可以为我2们的学生提供一个巨大的在线教学信息库。教学是个长期且持久的活动,整合良好的教学资源是为以后教育课程实施提供良好的教学案例,同时也是保留良好教学资源的一种重要手段。21.4设计原则在设计系统之前需要做好市场调研,了解市场需求,锁定目标用户;其次要明确设计系统的目的,确定系统的功能,确定系统规模大小,确定系统的开发及维护费用;最后设计详细的系统功能,撰写使用说明书。参考实际项目以及系统,C/C++语言爱好者学习平台应遵循以下几个原则:有效性:系统的有效性包括两方面的内容:实用性和可用性。一个在线学习平台应该具有最基础的功能,就是在线视频学习和互动,这样的系统可以模拟传统的教学模式,具有一定的实用性,一个系统的正常运行体现了它的可用性。可靠性:在设计网站时要尽可能提高系统可靠性,该平台利用良好的系统设计以及软硬件的完美融合,尽可能的提高系统的可靠性和容错性。兼容性:开发在线学习系统的目的就是解决传统课程模式中时间和空间带来的压力,为了能够更好的学习,系统必须提供良好的兼容性,既可以PC端登录,也可以移动端登录,解决不同设备之间登录造成的数据差异。安全性:在系统设计过程中,为了提高网站的安全性,必须充分利用网络软硬件提供的安全实施方案,保证用户在数据共享的过程中是安全的,同时为了防止出现数据丢失的情况,对数据库进行备份,确保数据可以安全的共享和存储。该系统每一级的角色不同,他们对应的权限也不同,管理员可以控制整个系统的权限。32相关技术和开发环境3本课题是在Windows系统下基于MyEclipse和Tomcat后台服务器技术,MySQL数据库和Java编程技术进行开发的,前端页面使用了HTML网页设计技术和JSP技术,前后端相结合来实现网站的整体内容,以下将对这些开发工具以及开发环境进行说明。2.1开发工具2.1.1MyEclipse介绍MyEclipse是MyEclipseEnterpriseWorkbench的简称,是对EclipseIDE的扩展。利用它可以提高数据库和J2EE开发、发布以及应用程序服务器继承的工作效率,是一款非常优秀的开发工具。MyEclipse相较于Eclipse来说增加了许多插件,配置更加全面,主要应用于J2EE开发,当然也存在一定缺点,就是占用资源多且不开源。2.1.2Tomcat介绍Tomcat是一款免费的服务器软件,它提供支持Java、Servlet以及JSP的运行环境,不仅如此,它还具有技术先进、性能稳定的特点,因此受到技术开发人员的认可与喜爱。作为Servlet的容器,Tomcat负责处理客户端请求,把请求传给Servlet并把结果返回给客户端。Tomcat是JavaWeb应用开发的最佳选择之一。Tomcat工作原理图如图2-1所示:Server服务器Server服务器Server服务器Server服务器Server服务器Connector核心组件Container核心组件核心组件ConnectorContainerJasper

NamingSessionLoginJMX……图2-1Tomcat工作原理图42.2Java语言4Java程序具有通用性,它可以用来创建网站,具有编程功能,更加智能化。它与其他网络连接具有良好的兼容性,交互操作,操作方便,适用于网络教学网站。Java语言在若干编程语言中一直居于高位,这就说明Java语言的优势相当明显,它有以下8个优点[4]:(a)Java语言具有简单,面向对象的特点,是应用最广泛的编程语言之一;(b)Java语言相较于C++语言来说,摒弃了一些复杂的概念,使得人们理解起来更加容易;(c)Java语言是面向对象的,在编写代码程序时更符合人们的思维逻辑;(d)Java语言具有“一处写成,处处运行”的特点;(e)若具有Java运行时系统,编译后的代码就可以在其他处理器上运行;(f)Java语言支持多线程;(g)使用Java应用程序不用担心有恶意代码或病毒入侵;(h)Java语言具有动态性,可以适应不断发展的环境。2.3MySQL数据库MySQL数据库是最受欢迎的数据库,并发性好,不适合做复杂的业务,具有体积小、速度快、开源等特点,主要应用于电商、SNS、论坛等[5]。在中小型网站开发中使用频率最高的数据库系统是MySQL数据库,可以在一定程度上降低研发成本。因此本系统也是基于MySQL数据库进行设计和搭建的。为了方便使用MySQL,在设计该课题时安装了MySQL的图形化软件navicat,可以方便快捷的使用图形化界面,使得效率提升。2.4JSP技术JSP的全称是JavaServerPages,严格来说是一种集成技术,以Java平台为基础,提供一种便捷的方式,让Java技术可以更好且更容易构建动态网页内容。Servlet结合Java的本质,使得在Java平台中来发的动态网页具有其他同类技术难以超越的优势,然而Servlet本身的程序设计相当困难,因此JSP的规格因应而生。JSP并非为了取代Servlet,而是对它的一种补充,能够让程序设计人员避免直接面对Servlet,而是利用简单的JSP快速开发基于Java平台运行的动态网页。JSP网页主要提供用户与服务端数据库的操作存取功能,同时也是数据库内容的展示界面,客户端浏览器、服务器JSP网页与数据库三者形成一个交互式的数据库网站[6],其流程图如图2-2所示:5浏览器5浏览器服务器解释后的网页网络请求或送出的数据JSP程序网页返回数据服务器JSP解释器数据库存取数据图2-2JSP网页的数据库操作流程图JSP技术之所以会在制作交互式网页上具有得天独厚的优势,是因为它具有以下特点:(a)JSP中HTML的编写与维护更加简单;(b)能够使用标准的网站开发工具;(c)可以对开发团队进行划分。2.5HTML介绍HTML是用来描述网页的一种标记语言,并非编程语言[8]。我们通过浏览器输入一个网址,浏览器会读取到一个HTML文档,并以网页的形式展现出来。HTML标记可以称为标签,一般由尖括号内的关键词组成,分为双标签和单标签。双标签是成对出现的,如:<table>标签名称</table>、<body>网页内容</body>;单标签不是成对出现的,如:<br/>、<hr/>。一个HTML文档是由<head>头部和<body>主体部组成,HTML网页组成如下:<html> <head> <title>C/C++语言爱好者平台</title> </head> <body> 网页的内容(可以是图像、文本等) </body></html>

63系统分析63.1可行性分析在设计任何系统时都要进行可行性分析,一方面是为了更好的设计与开发系统,另一方面是对开发该系统所花费的时间、人力、物力做出大致的预算,做出合理的规划,提高设计与开发系统的效率,促进企业发展,避免资源浪费。3.1.1技术可行性C/C++语言爱好者学习平台的开发包含两部分内容,分别是前端界面的设计和后端程序的运行及维护。对于前端界面来说,采用JSP程序和HTML文档相结合,设计出合理美观的网页界面;对于后台程序来说,开发选用的编程语言是Java语言,数据库选用了MySQL数据库。在校期间学习了软件工程、数据库原理、操作系统、Java程序设计、计算机网络和C++程序设计等课程,自学了前端相关的设计语言,结合参考资料以及丰富的网络资源,已经对网站的设计与开发有了一定程度的认识,现有的知识储备对我设计与开发该网站有很大的帮助,总而言之,我相信设计并开发C/C++语言爱好者学习平台具有技术可行性。3.1.2经济可行性该网站的设计主要面向对象是C/C++语言爱好者,而这些人有大部分是在校学生,考虑到学生的经济资源匮乏,所以本网站的全部学习资源均为免费,学生可根据自己的学习进度进行在线视频学习。由于该系统的开发周期短并且使用了开源的开发工具,所以在一定程度上可以降低开发成本,同时该网站对计算机硬件要求较低,对于一些配置较低的计算机都可以满足该系统的使用需求,符合学生的消费能力,对于市面上大部分在线学习平台的课程都要收费才能进行学习,本系统是打造免费的学习平台,学生只要注册系统就可以免费学习,没有收费课程,所以该系统的开发是符合经济可行性的。3.1.3发展可行性随着时代的进步,科学的发展,线上教育平台也在飞速发展,许多高校都有自己的远程教育学院或网站,尤其是在疫情期间,大多数高校选择线上授课,更加推动了线上教育的发展。2000年以录播课形式出现,2011年转向直播课,从2012年以来,我国参加线上教育的人越来越多,从2013年开始,选择在线学习的用户每年增长20%以上,而且增长率持续上升,随后出现智能教育平台,在线教育平台不断发展,2020年新冠疫情爆发将线上教育推向一个新的里程碑。73.2功能需求分析7在设计与开发C/C++语言爱好者平台时必不可少的就是进行功能分析,其主要目标是明确学习爱好者对该平台提出的功能性要求,以及教师或管理员在完成线上授课时需要平台提供的功能。在对系统的功能性需求分析时应该要站在用户的角度去分析,确定用户在使用该系统时需要哪些功能,开发人员应该为用户提供哪些功能,才能让用户更好的使用该网站[9]。该系统主要是为C/C++语言爱好者提供相关的学习内容,所以本系统是以学习者的角度出发,设计并开发所需要的功能。本系统将角色分为用户角色、教师角色和管理员角色,用户角色具有前台学习的权限、教师角色具有登录后台系统的权限,但只能查看并修改自己上传的资料、管理员角色为超级管理员,具有管理整个系统的权限。本文将以示例图的形式来展示各个角色所具有的具体功能。用户角色:用户应该能够注册并登录学习平台,并进行C/C++相关内容学习,包括观看课程视频、阅读学习资料、在线论坛讨论、专项测试、在线留言、管理个人后台等。学习者角色用例图如图3-1所示:阅读学习资料阅读学习资料在线留言学习者注册登录观看课程视频在线论坛专项测试管理个人后台图3-1学习者角色用例图教师角色:教师可以对学习资料和课程视频进行增删改查,添加专项测试的试题信息并生成试卷,对学生成绩进行管理,教师同时可以浏览前台系统,与学生角色的权限相同,并且可以修改账号密码。教师角色用例图如图3-2所示:课程信息管理课程信息管理论坛帖子管理教师个人资料管理学习资料管理测试题库管理试卷成绩管理访问前台系统图3-2教师角色用例图8管理员角色:管理员的权限有管理系统用户信息、管理课程视频信息、管理学习资料、管理论坛列表、管理留言列表、管理系统信息和访问前台系统等。8管理员角色用例图如图3-3所示:课程信息管理课程信息管理访问前台系统管理员系统用户管理学习资料管理系统管理留言管理互动论坛管理图3-3管理员角色用例图通过上述对各角色的用例图分析,对于学生用户系统需要提供注册登录、课程学习、阅读学习资料、查看论坛列表、发布评论、在线留言和管理个人后台等功能;对于教师用户需要提供登录、修改密码、管理课程信息、管理学习资料、管理测试题库、管理试卷成绩和访问前台系统等功能;对于管理员用户需要提供管理系统用户、管理学习资料、管理课程信息、管理系统信息、管理互动论坛、管理留言列表和访问前台系统等功能。3.3非功能需求分析开发者在设计开发方案时既要进行功能需求分析,也要进行一些非功能需求分析,包括安全性、正确性、健壮性需求等。安全性:用户需要登录账号和密码之后才能使用该网站,并且只具有该角色所拥有的权限,无法访问其他角色的权限。正确性:各个模块要确保能够正常使用,为用户提供更好的服务,如果系统出现故障,可以使用查看日志的方式,快速定位原因。健壮性:系统可以对一些意外的输入给出相应的错误提示,保证用户可以快速的定位输出的错误,并且存在一定的容错性。3.4性能需求分析3.4.1硬件系统需求(a)CPU:主频1GHz以上的CPU;9(b)内存:4G内存;9(c)显示器分辨率:1920*1080;(d)硬盘:30GB以上硬盘空间。3.4.2软件系统需求(a)操作系统:windows10系统(64位);(b)服务器:Tomcat服务器;(c)数据库:MySQL数据库;(d)开发工具:MyEclipse、JSP技术。

104系统设计10本章内容主要是对C/C++语言爱好者学习平台进行整体的功能、结构进行概要设计,利用统一的建模语言进行描述,其次对各个子模块的功能进行详细的分析和设计。4.1系统网络拓扑结构图C/C++爱好者学习平台是基于B/S架构实现的,该架构采取浏览器请求,服务器响应的模式,具有开发模式简单、共享性强、易于维护性等特点[10]。该系统的网络拓扑结构图如图4-1:图4-1系统的网络拓扑图4.2系统功能结构设计C/C++语言爱好者学习平台分为前台系统和后台系统。前台系统具有用户注册登录、观看学习视频、阅读学习资料、在线论坛、专项测试、在线留言、个人后台管理等功能,后台系统主要包括教师角色和管理员角色,教师可以管理学习资料、课程信息、测试题库、试卷成绩、修改密码和论坛管理等;管理员具有管理系统用户信息、课程信息、学习资料、论坛信息和系统信息等功能。系统功能结构如图4-2所示:1111C/C++语言爱好者平台前台系统后台系统学生角色管理员角色教师角色注册登录观看学习视频阅读学习资料专项测试在线留言系统用户管理学习资料管理课程信息管理互动论坛管理系统管理个人信息管理学习资料管理课程信息管理测试题库管理试卷成绩管理在线论坛个人后台管理论坛帖子管理图4-2系统功能结构图4.3系统功能模块设计根据系统功能结构图可以将C/C++语言爱好者平台划分为三个模块,分别是学生模块、管理员模块和教师模块。本节内容将会对各个子模块中的具体业务功能进行详细说明,分别阐述它们的结构及功能。4.3.1用户注册登录模块在C/C++爱好者使用该系统前,需要注册账号,首先点击用户注册按钮,跳转到用户注册页面,填写用户名后,系统会判断该用户名是否已经注册,若已注册则直接登录即可,若为初次注册则根据要求正确填写用户身份信息,例如用户名、手机号码、密码、姓名、QQ等信息,填写完成后点击提交即可完成注册。防止出现有人恶意注册,故意扰乱学习系统的正常使用,用户注册后需要管理员进行审核,审核通过后则可以登录系统进行学习。用户注册登录流程图如图4-3所示:1212开始访问C/C++语言爱好者学习平台界面点击用户注册按钮是否已经注册正确填写信息否是提交注册信息填写账号密码登录系统结束管理员审核通过账号密码是否正确登陆成功是提示错误,重新登录否图4-3用户注册登录流程图4.3.2前台系统模块C/C++语言爱好者平台系统具有课程视频、学习资料、在线论坛、在专项测试、在线留言、个人后台五个模块,以下是各个子模块的详细说明。课程视频子模块:该模块可以查看视频列表,同时根据课程代码、课程名称、课程章节、开课时间、授课老师中任意信息进行搜索课程视频,观看课程视频、查看相关课程资料,用户可以对该课程进行评论或收藏,收藏记录在个人后台查看;学习资料子模块:该模块可以查看学习资料列表,包括上传时间、查看点击次数以及学习资料的具体信息;在线论坛子模块:在模块分为多个板块,用户可以在不同板块内发表文章,其他用户可以进行回复;专项测试子模块:该模块提供不同课程的在线测试题,用户可以通过在线测试来判断自己1313在线留言子模块:该模块分为“我要留言”和“查看留言”两个功能。4.3.3管理员模块由于管理员只存在一个,所以在系统中设定管理员的名称为admin,密码可以在系统中自行更改。管理员模块中具有系统用户管理、资料动图管理、课程信息管理、互动论坛管理、系统信息管理五个子模块,下面将对这五个子模块进行详细的说明。系统用户管理子模块:该模块可以修改管理员密码,添加和删除教师信息,添加、查找、修改、删除和审核注册用户信息;资料动图管理子模块:该模块可以对学习资料和首页动图进行添加、查询、修改、删除;课程信息管理子模块:该模块包括对课程章节和课程视频的管理,对章节信息可以进行添加、查询、修改和删除并导出EXCEL表;在添加课程信息时需要填写课程介绍、开课时间、课程资料、学习视频等内容,课程信息列表中包括查看课程的详细内容、阅读课程资料、下载学习视频、查看用户评论、审核课程信息、课程信息的修改或删除;互动论坛管理子模块:该模块可以添加论坛版块,查看论坛版块列表并对版块信息进行修改或删除,查看讨论帖的具体信息并对其进行修改或删除;系统信息管理子模块:该模块包括对友情链接的增删改查,添加系统公告、添加系统简介、留言信息的增删查改、系统备份等。4.3.4教师模块教师需要在后台系统进行登录,教师账号是由管理员进行添加,所以教师不需要注册和修改账号,只能由管理员进行修改。教师模块是由修改密码、学习资料管理、课程信息管理、测试题库管理、试卷成绩管理和论坛帖子管理六个子模块组成。下面将对这六个子模块进行详细说明。个人资料管理子模块:教师信息需要管理员添加,所以只能修改密码,在修改密码时需要填写原密码、新密码和确认密码,只有在原密码正确且新密码和确认密码一致才能进行修改;学习资料管理子模块:该模块可以添加、删除、查询和修改学习资料;课程信息管理子模块:该模块可以添加、删除、查询和修改课程信息;在添加课程信息时可以上传课程相关资料和教学视频;测试题库管理子模块:该模块包括选择题、填空题、判断题和问答题的添加、删除、查询和修改,并且可以查看测试题的详细信息,对与每一个类型的测试题可以导出EXCEL表;试卷成绩管理子模块:该模块包括试卷生成、试卷管理和成绩管理,当测试题添加完成后可以在该模块完成试卷生成,生成后用户可以进行在线测试,老师可以查看学生的成绩,也可以修改、查询和删除已生成是试卷;14144.4数据库设计本节内容主要包括以下几个方面:首先需要明确系统所涉及到的实体和实体属性,进一步确定实体之间的内在联系,其次根据实体之间的逻辑关系绘制E-R图,最后对数据库表结构进行详细说明[11]。4.4.1数据库的概念设计数据库的概念设计是数据库设计的核心,它与具体实现的技术无关,将应用需求抽象为信息世界的结构,根据抽象出的结构来反映用户的现实工作环境,然后才能更好、更准确的用某一数据库管理系统实习这些需求[13]。数据模型的主要特点是:(a)可以真实的模拟社会环境,满足用户需求;(b)对于不熟悉计算机的用户来说,很难理解计算机相关的内容,数据模型可以辅助用户去理解计算机,交换用户意见;(c)在设计数据库时需要根据现实环境进行修改,通过数据模型可以更加容易的去修改和扩充;(d)数据模型有利于关系、网状、层次结构转换。4.4.2数据库的E-R图E-R模型是用来描述现实世界的概念模型,可以分析是否完全满足用户的需求。一般情况下E-R模型用E-R图来表示,E-R图是由实体、属性和联系三个元素构成。在图中用矩形来表示实体,用椭圆形来表示属性,用菱形来表示联系,两个实体时间的联系可以分为一对一(1:1)、一对多(1:n)、多对多(m:n)。C/C++语言爱好者学习平台中数据库涉及到的实体有:管理员、学生、学习资料、课程信息、在线论坛、专项测试、在线留言等,本节内容只对主要的实体画出E-R图。管理员实体属性图如图4-4:管理员管理员密码权限ID用户名添加时间图4-4管理员实体属性图15学生实体属性图如图4-515学生学生ID姓名出生日期电话QQ邮箱用户名密码性别身份证号码地址添加时间头像是否审核图4-5学生实体属性图学习资料实体属性图如图4-6:学习资料学习资料

序号标题类别添加人首页图片添加时间点击率图4-6学习资料实体属性图课程信息实体属性图如图4-7:课程信息课程信息序号课程章节开课时间结束时间当前进度授课老师课程代码课程名称主图课程资料课程视频评论管理添加时间图4-7课程信息实体属性图16在线论坛实体属性图如图4-816在线论坛在线论坛

版主序号编号名称简介

时间添加时间图4-8在线论坛实体属性图专项测试实体属性图如图4-9:专项测试专项测试序号试卷编号类别开始日期结束日期添加时间添加人图4-9专项测试实体属性图在线留言实体属性图如图4-10: 在线留言在线留言

序号昵称回复内容添加时间

内容联系方式图4-10在线留言实体属性图4.4.3数据库的表设计C/C++爱好者学习平台采用MySQL数据库进行数据的存储,根据上一节中E-R图设计出数据库中各个表的详细信息,下面将对数据库中重要的表进行详细说明。(1)管理员信息表管理员可以分为教师管理员和超级管理员,所以设置管理员信息表的目的是存储不同管理员的具17体信息,主要内容如表4-117表4-1管理员信息表名称意义类型长度是否主键是否为空ID管理员idint11是否username用户名varchar50否是pwd密码varchar50否是cx权限varchar50否是addtime添加时间timestamp否是(2)学生信息表用户注册账号时需要填写个人信息,所以设置学生信息表的主要目的是记录所有学生的信息,主要内容如表4-2所示:表4-2学生信息表名称意义类型长度是否主键是否为空ID学生idint11是否yonghuming账号varchar50否是mima密码varchar50否是xingming姓名varchar50否是xingbie性别varchar2否是chushengnianyue出生日期varchar50否是QQQQ号码varchar50否是youxiang邮箱varchar50否是dianhua电话varchar50否是shenfenzheng身份证号码varchar50否是touxiang头像varchar50否是dizhi地址varchar300否是beizhu备注varchar500否是addtime添加时间timestamp否是issh是否审核varchar2否是(3)课程信息表在添加课程信息时需要填写相关的内容,所以设置课程信息表的主要目的是存储课程信息的详细信息,主要内容如表4-3所示:18表4-3课程信息18名称意义类型长度是否主键是否为空ID课程信息idint11是否kechengdaima课程代码varchar50否是kechengmingcheng课程名称varchar50否是kechengleibie课程类别varchar50否是zhutu主图varchar50否是kechengjianjie课程简介varchar500否是kaikeshijian开课时间varchar50否是jiekeshijian结课时间varchar50否是dangqianjindu当前进度varchar50否是shoukelaoshi授课老师varchar50否是kechengziliao课程资料varchar50否是kechengshipin课程视频varchar50否是issh是否审核varchar2否是addtime添加时间timestamp否是(4)在线论坛信息表在线论坛可以分为多个板块,而且所有用户都可以使用,存储内容较多,所以设置在线论坛信息表的目的是存储所有的板块的详细信息,主要内容如表4-4所示:表4-4在线论坛信息表名称意义类型长度是否主键是否为空ID在线论坛idint11是否bianhao编号varchar50否是mingcheng名称varchar50否是jianjie简介varchar500否是banzhu版主varchar50否是addtime添加时间timestamp否是(5)留言信息表用户在留言时要确定用户信息、留言内容以及回复留言内容,所以设置留言信息表的主要目的是存储所有的留言信息。主要内容如表4-5所示:19表4-5留言信息19名称意义类型长度是否主键是否为空ID留言板idint11是否cheng昵称varchar50否是xingbie性别varchar2否是QQQQvarchar50否是youxiang邮箱varchar50否是dianhua电话varchar50否是neirong内容varchar500否是addtime添加时间timestamp否是huifuneirong回复内容varchar500否是(6)评论信息表用户学习课程的同时可以对本节课程进行评论打分,所以设置评论信息表的主要目的是存储所有的评论信息,主要内容如表4-6所示:表4-6帖子信息表名称意义类型长度是否主键是否为空ID评论信息idint11是否pinglunneirong评论内容varchar300否是pinglunren评论人varchar50否是pingfen评分varchar50否是addtime添加时间timestamp50否是上述内容介绍了本系统的主要数据库表,数据库其他表有版块信息表、判断题信息表、问答题信息表、成绩信息表、生成信息表、课程类别信息表、单选题信息表、收藏记录信息表、填空题信息表、帖子信息表和友情链接信息表,此处不再进行详细描述。

205网站实现205.1系统首页开发本系统是基于简约、学习便捷的宗旨进行开发的,所以首页要求简约、美观、能够快速定位学习模块,使得用户使用更加便捷,C/C++语言爱好者学习平台系统主界面如图5-1所示:图5-1系统主界面5.2前台用户功能模块开发5.2.1用户注册模块为了保证系统的安全性,用户在使用该系统前需要注册账号,用户注册信息中必填项有用户名、密码、确认密码和姓名,其他信息为选填项,防止恶意攻击系统,出现恶意注册的情况,用户注册后需管理员审核用户信息,审核通过后可进行登录学习,注册界面如图5-2所示:图5-2用户注册界面215.2.2用户登录21用户注册系统之后,可以通过用户名和密码进行登录,同时也需要输入验证码进行验证,若账户或密码输入错误会给出相应提示,用户登录界面如图5-3所示:图5-3用户登录界面5.2.3查看学习资料用户可以通过首页或导航栏查看学习资料的详细内容,查看学习资料列表如图5-4所示:图5-4查看学习资料列表界面5.2.4查看课程视频用户可以通过导航栏点击课程视频,查看课程信息列表,点击“开始学习”进行相关课程学习,每节课程学习后可以进行评论和收藏,查看视频课程列表如图5-5所示:2222图5-5查看视频课程列表界面5.2.5查看论坛本系统为了C/C++语言爱好者更好的交流,设置论坛模块,大家可以在不同板块里发帖,包括分享学习资源,发表疑惑,解答疑问等,其他人可以根据相应的内容进行回复,论坛列表界面如图5-6所示:2323图5-6论坛列表界面5.2.6专项测试为了用户可以更好的检验自己的学习成果,本系统设置专项测试模块,用户可以根据自己的需要选择不用类别的课程进行测试,专项测试列表界面如图5-7所示:2323图5-7专项测试界面5.2.7在线留言在线留言分为“我要留言”和“查看留言”两个板块,用户可以进行留言,也可以查看留言,包括回复其他用户留言等功能,留言列表如图5-8所示:图5-8留言列表界面5.2.8用户个人后台管理用户有自己的个人后台,包括个人资料管理、成绩管理、论坛帖子管理和收藏记录,个人后台界面如图5-9所示:2424图5-9用户个人后台界面5.3后台管理员模块开发管理员可以对系统用户、学习资料、课程信息、互动论坛、系统信息等内容进行管理,后台管理员模块将在本节进行具体介绍。5.3.1后台登录由于管理员有且仅有一个,所以管理员账号设定为admin,且不能修改,但是可以进行修改密码。由于教师也需要登录后台系统,故设置为按钮,教师角色和管理员角色可以切换,系统后台登录界面如图5-10所示:图5-10后台登录界面5.3.2后台系统--管理员修改登录密码管理员账号无法修改,修改密码时需要提供原密码、新密码和确认密码,若原密码错误,或新密码与确认密码不一致,系统会给出相应提示,需要重新输入,管理员修改密码界面如图5-11所示:2525图5-11管理员修改密码界面5.3.3后台系统--教师信息管理管理员可以查看教师信息列表,并对其进行增删改查,管理教师信息界面如图5-12所示:图5-12管理教师信息界面5.3.4后台系统--注册用户信息管理管理员可以对注册用户进行修改、查询、删除和审核,管理注册用户信息界面如图5-13所示:图5-13管理注册用户信息界面5.3.5后台系统--学习资料管理管理员可以添加、修改、查询和删除学习资料,管理学习资料界面如图5-14所示:26265-14管理学习资料界面5.3.6后台系统--课程信息管理管理员可以添加或查看章节信息,对课程信息具有添加、修改、查询和删除的功能,管理课程信息界面如图5-15所示:图5-15管理课程信息界面5.3.7后台系统--互动论坛管理管理员对讨论板块具有增删改查的功能,同时也可以查看所有帖子列表,并对其进行查找、修改和删除,管理员的互动论坛管理界面如图5-16所示:2727图5-16管理员的互动论坛管理界面5.3.8后台系统--留言管理管理员可以查看用户的具体留言信息,并对其进行回复或删除,管理留言信息界面如图5-17所示:图5-17管理留言信息界面5.4后台教师管理模块开发教师可以对个人信息、学习资料、课程信息、测试题库、试卷成绩和论坛帖子进行管理,本小节内容将对以上功能进行详细说明。5.4.1后台系统--修改个人信息教师的用户名是由管理员设定的,所以教师只能修改密码,不能修改用户名,教师修改密码界面如图5-18所示:图5-18教师修改密码界面285.4.2后台系统--学习资料管理28教师可以对学习资料进行添加、修改、查询和删除等,教师对学习资料管理界面如图5-19所示:图5-19教师对学习资料管理界面5.4.3后台系统--课程信息管理教师可以添加、查询、修改和删除课程信息,同时可以下载课程资料和视频,教师对课程信息管理界面如图5-20所示:2929图5-20教师对课程信息管理界面5.4.4后台系统--测试题库管理测试题库包括选择题、判断题、填空题和问答题,教师可以对不同题型分类进行添加、查询、修改和删除,管理测试题库界面如图5-21所示:图5-21管理测试题库界面5.4.5后台系统--试卷成绩管理试卷成绩管理包括试卷生成、试卷管理和成绩管理,教师对试卷成绩管理界面如图5-22所示:图5-22教师对试卷成绩管理界面305.4.6后台系统--论坛帖子管理30教师具有发布帖子,留言等功能,同样对这些信息具有管理功能,教师对论坛帖子管理界面如图5-23所示:图5-23教师对论坛帖子管理界面

316系统测试31软件测试经常会被忽略,但是根据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论