1、本科毕业论文(20 届)C 语言教学专题网站的设计与实现所在学院专业班级 计算机科学与技术学生姓名指导教师完成日期摘要随着计算机技术的不断发展,越来越多的技术已经应用到人们日常生活当中。以现代教育为例,我们把互联网技术应用到教学中,使得学生学习的方式发生了巨大的变化,连上课的方式也不再只拘泥于传统的当面教学方式。我们根据 C 语言这门课程的特点和要求,建立了方便教师和学生交流的 C 语言教学专题网站,其中包括课程介绍、教学内容、教学课件、疑难解答、在线交流等功能。本网站在技术上,采用了 JSP+JAVASCRIPT+JAVA 的设计模式,并采用 B/S 模式结构。我首先搭建 SSH 框架,利用
2、 myeclipse 开发环境,结合 java 和 jsp 技术完成了该网站的设计。关键字:教学网站;网络教学;动态网页AbstractWith the development of computer technology,more and more technology has been applied to peoples daily life.Based on the modern education as an example,the application of Internet technology to teaching,great changes have taken plac
3、e in the students way of learning,teaching mode to even the class is not only rigidly adhere to traditional.According to the characteristics and requirements of the course of C language,C language teaching websit established is convenient for teachers and students to exchange,including curriculum,ta
4、ching content,teaching courseware,toubleshooting,online communication and other functions.This site in the technology,using the JSP+JAVASCRIPT+JAVA design pattern,and uses the B/S mode structure.I first set up the SSH framework,the use of MyEclipse development environment,the combination of Java and
5、 JSP technology to complete the design of the site.Keywords:teaching website;network teaching;dynamic webpage目录第一章 绪 论 .11.1 引言 .11.2 研究目的与意义 .11.2.1 研究方法 .11.2.2 课题研究的背景及意义 .11.3 C 语言教学网站的优势 .21.4 设计说明书结构 .2第二章 系统开发相关技术简介 .32.1 系统的开发环境 .32.2 工具和技术 .32.2.1 开发工具 myeclipse .32.2.2 数据库开发工具 mysql .42.2.
6、3 Jsp 技术 .42.2.4 MVC 开发模式 .5第三章 系统的需求分析 .53.1 目前教学网站运营中存在的问题 .53.2 功能分析 .53.2.1 系统业务流程 .53.2.2 用例模型 .63.3 可行性分析 .73.3.1 经济可行性 .83.3.2 技术可行性 .83.3.3 操作可行性 .8第四章 系统的概要设计 .94.1 系统功能设计 .94.1.1 系统功能结构 .94.2 数据库设计 .94.2.1 数据库概念设计 .94.2.2 数据库逻辑结构设计 .11第五章 系统的详细设计与实现 .125.1 系统登录模块设计 .125.1.1 系统登录模块界面 .125.1
7、.2 系统登录模块技术分析 .125.2 教师模块设计 .125.2.1 教师模块界面 .125.2.2 教师模块技术分析 .125.2.3 教师模块实现过程 .125.3 学生模块设计 .135.3.1 学生模块界面 .135.3.2 学生模块技术分析 .135.3.3 学生模块实现过程 .135.4 管理员模块 .135.4.1 管理员模块界面 .135.4.2 管理员模块技术分析 .135.4.3 管理员模块实现过程 .14第六章 系统测试 .146.1 使用环境要求 .146.2 系统配置 .146.3 测试内容和测试策略 .146.4 测试内容 .146.5 测试总结 .19结论 .
8、20参考文献 .21致谢 .221第一章 绪 论1.1 引言随着计算机技术的不断发展,更多的技术如雨后春笋般涌现。现今最热门的两大语言是 C 和 JAVA,C 语言是面向于过程的,JAVA 语言是面向于对象的。但 Java 跨平台,即不同的操作系统都可以通过 JVM(JAVA 虚拟机)来解释 Java 程序,而 C、C+、C#则是与平台相关的,有些指令只在某些操作系统中才能执行。而且 Java 比较容易上手,学得快。C 语言也非常强大,一直兴盛,时至不衰,是底层的主流语言,它的地位永远不会改变。C 语言教学专题网站,主要用到了 JAVA 和 JSP 技术。利用这些技术的结合,在myeclips
9、e 开发环境下,完成了网站的设计。1.2 研究目的与意义建立方便教师和学生交流的 c 语言专题网站,其中包括课程介绍、教学内容、教学课件、疑难解答、在线交流等。学生可以查阅资料,学习内容,向老师提出问题。老师可以回答学生的问题,可以和学生在线交流。传统的教学模式是以教师为中心,由一个教师领导一大群的学生进行某一课程的学习,此中教育模式有两个主要的弊端。一是导致学生没有明确而正确的学习动机和动力,学习变得盲目且具有机械性;二是错误的课时制度,即让学生一日内连雪学习多门课程,降低其学习效率,这两种由于弊端造成学生们“枯燥无味”和学习效率地下的主要根源。而教学网站是随着现代信息技术的发展而产生的一种
10、新型教育方式,由于采用与传统教育方式不同的自主式和交互式学习方式,打破了时间和空间上的限制,使得学生在任何地方任何时间皆可进入教学网站进行自主学习,使得学生具有自主权,加强学生对于课程的兴趣。同时,加强了教师与学生、学生与学生之间的信息交流,将网站运用于教学可以充分调动学生学习的主观能动性,提高学生的求知欲,同时能使教师及时掌握学生学习的进度及存在的问题,从而得到良好的教学效果。1.2.1 研究方法struts2、spring3、hibernate3(SSH 框架) 、javascript、jsp、j2ee、myeclipse、mysql。利用 myeclipse 开发环境,结合 SSH 框架
11、,创建合理的数据库,使用 MVC 的设计模式,完成了总体的构架。1.2.2 课题研究的背景及意义随着 Internet 的普及,计算机应用已经从传统的待机模式庄边为已全球互联网WWW(World Wide Web)平台的新型服务模式。顺应互联网的出现,大多数高校建设了教2学网站。在这中教学方式下,人们突破了时空的局限,随时可以从网上获取最新、最形象表示的前沿知识。可以使得学习者访问网站进行远程教育,吸收大量的新知识。网络教学跨越时间和地理位置的限制,最大程度的整合教学资源,将一流的师资和一流设备通过网络与需要得到新知识的学习者结合起来。具有投资少、效益大、覆盖面广、受益人多及互动性强等特点,可
12、为学校节省人力、物力,为广大的学习者提供一个更加方便的平台。通过教学网站,教师能够轻松生动地给学生演示课程内容,便于学生理解。从而培养对计算机科学的新思想、新知识、新技术的理念和自学能力,使学生和教师能够利用计算机提高自己的学习效率,达到计算机基础教育的目的。1.3 C 语言教学网站的优势新型的教学模式使得以教师为中心的传统模式转变成以学生为中心的教学模式,使得教学双方不受地理环境和时间的限制,随时进行学习。教学内容更新快,教学过程的交互性强,教学资源和媒体利用等特点充分提高学生的学习兴趣。教师不再是以讲授知识和方法为重点,而是知道学生如何通过网站学习新知识,突出教师的引导作用。学生通过网页主
13、动获取教学内容所要求的知识,成为学习活动的主体。利用网络环境的开放性,使得每个学生的个性得到充分的发展。可满足学生个别化自主学习的要求,以满足学生的个别交流和参与集体讨论。利用在网络环境下学习反馈的实时性,可以及时调整网站的内容与主体,并且给出学生提出问题的答案及解决方案。利用网路的方便性,可以使学生随时随地去学习,提高学习的效率。系统具有完善的后台管理模块,方便系统的维护,确保系统正常运行,宜于网络教学的推广。1.4 设计说明书结构第 1 章 引言。讲述了 C 语言程序设计网站系统的研究背景、研究意义、总体方法,教学网站系统目前在国内外技术研究现状以及系统的研究内容与研究目标;第 2 章 系
14、统开发相关技术简介。讲述了改教学网站系统的开发工具(即其软件开发环境、mysql)和与改系统开发相关的 jsp 技术;第 3 章 系统的需求分析。该章先对目前教学网站运营中存在的问题进行了分析,根据这些问题做出了功能需求分析和该管理系统的可行性分析;第 4 章 系统功能结构和数据库的设计。讲述了系统的功能结构和系统数据库的设计,其中系统功能结构中讲述了系统功能结构结构图、系统的主界面和业务流程图,数据库的设计则对数据库的概念设计和逻辑结构设计进行了比较详细的介绍;第 5 章 系统的详细设计与实现。则针对系统内某些类和具体模块的实现进行了详细的介绍;第 6 章 系统测试。该章依据测试目的和测试准
15、则,对系统所研究的功能模块进行测试,并且得出测试结果。3第二章 系统开发相关技术简介2.1 系统的开发环境软件环境:windows xp 硬件环境:cpu:core i3开发工具:myeclipse 所用数据库: MySQL服务器:jboss4.2.3 用到的技术:ssh、mysql、js 等2.2 工具和技术2.2.1 开发工具 myeclipseMyEclipse,是一个十分优秀的用于开发 Java, J2EE 的 Eclipse 插件集合,MyEclipse 的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse 目前支持 Java Servlet,AJA
16、X, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC 数据库链接工具等多项功能。可以说 MyEclipse 几乎囊括了目前所有主流开源产品的专属 eclipse 开发工具。MyEclipse 企业级工作平台(MyEclipse Enterprise Workbench ,简称 MyEclipse)是对 EclipseIDE 的扩展,利用它我们可以在数据库和 JavaEE 的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的 JavaEE 集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持 HTML、Struts、JSP
17、、CSS、JavaScript 、Spring、SQL、Hibernate。在结构上,MyEclipse 的特征可以被分为 7 类:1JavaEE 模型2WEB 开发工具3EJB 开发工具4应用程序服务器的连接器5JavaEE 项目部署服务6数据库服务 7 MyEclipse 整合帮助MyEclipse 10 发布了,该版本使用最高级的桌面和 Web 开发技术,包括 HTML5 和 Java EE 6,支持 JPA 2.0、JSF 2.0、Eclipselink 2.1 以及 OpenJPA 2.0。MyEclipse 生成 WAR 包并在 Tomcat 下部署发布,首先是使用 MyEclip
18、se 将 web 项目打包,右键选中项目,选择 export;弹出 Export 的 select 窗体,选择 Java EE 的 WAR file(myeclipse)选项,然后选择工程名称和路径,单击完成就可以了。打包完成以后我们将 war 放到 tomcat 的 webapps 目录下,并设置 server.xml 文件;然后运行 tomcat,并输入项目的 url 就可以浏览了。42.2.2 数据库开发工具 mysqlMySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的
19、表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策(本词条“授权政策”) ,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。MySQL 是一个开放源码的小型关联式数据库管理系统,开发者为瑞典 MySQL AB 公司。目前 MySQL 被广泛地应用在 Internet 上的中小型网站中。由于其体积小、速度快、总体
20、拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库。与其他的大型数据库例如 Oracle、DB2、SQL Server 等相比,MySQL 自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL 提供的功能已经绰绰有余,而且由于 MySQL 是开放源码软件,因此可以大大降低总体拥有成本。目前 Internet 上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP、Perl、Python)和LNMP(Linux+Nginx+MySQL+php、perl、Python
21、),即使用 Linux 作为操作系统,Apache和 Nginx 作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python 作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统。2.2.3 Jsp 技术JSP(Java Server Pages)是由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP 技术有点类似 ASP 技术,它是在传统的网页 HTML 文件(*.htm,*.html)中插入 Java 程序段 (Script
22、let)和 JSP 标记(tag),从而形成 JSP 文件(*.jsp)。 用 JSP 开发的 Web 应用是跨平台的,既能在 Linux 下运行,也能在其他操作系统上运行。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持 Java,也可以访问 JSP网页。JSP 全名为 java server page,其根本是一个简化的 Servlet 设计,他实现了 Html语法中的 java 扩张(以 形式)。JSP 与 Servlet 一样,是在服务器端执行的,通常返回给客户端的就是一个 HTML 文本,因此客户端只要有浏览器
23、就能浏览。Web 服务器在遇到访问 JSP 网页的请求时,首先执行其中的程序段,然后将执行结果连同 JSP 文件中的 HTML 代码一起返回给客户端。插入的 Java 程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。5JSP 技术使用 Java 编程语言编写类 XML 的 tags 和 scriptlets,来封装产生动态网页的处理逻辑。网页还能通过 tags 和 scriptlets 访问存在于服务端的资源的应用逻辑。JSP 将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于 Web 的应用程序的开发变得迅速和容易。 JSP(JavaServer Pag
24、es)是一种动态页面技术,它的主要目的是将表示逻辑从 Servlet 中分离出来。JSP 页面由 HTML 代码和嵌入其中的 Java 代码所组成。服务器在页面被客户端请求以后对这些 Java 代码进行处理,然后将生成的 HTML 页面返回给客户端的浏览器。Java Servlet 是 JSP 的技术基础,而且大型的 Web 应用程序的开发需要 Java Servlet 和 JSP配合才能完成。JSP 具备了 Java 技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。自 JSP 推出后,众多大公司都支持 JSP 技术的服务器,如 IBM、Oracle、Bea
25、 公司等,所以 JSP 迅速成为商业应用的服务器端语言。2.2.4 MVC 开发模式Model:由 ActionForm 和 JavaBean 组成,其中 ActionForm 用于封装用户的请求参数,封装成 ActionForm 对象,该对象被 ActionServlet 转发给 Action,Action 根据 ActionForm里面的请求参数处理用户的请求。JavaBean 则封装了底层的业务逻辑,包括数据库访问等。View:该部分采用 JSP(或 HTML、PHP)实现。Struts 提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与 Model 的有效交互,
26、并增加了现实功能。对应上图的 JSP 部分。Control:Controller 组件有两个部分组成系统核心控制器,业务逻辑控制器。系统核心控制器,对应上图的 ActionServlet。该控制器由 Struts 框架提供,继承HttpServlet 类,因此可以配置成标注的 Servlet。该控制器负责拦截所有的 HTTP 请求,然后根据用户请求决定是否要转给业务逻辑控制器。第三章 系统的需求分析3.1 目前教学网站运营中存在的问题当前许多高校都根据实际情况建设了具有自己特色的教学网站,以加速学校实现教育现代化的步伐。但是在教学网站的运营中,存在很多问题亟待我们解决。譬如网络安全不可靠,网络更新不同步,网络资源匮乏以及不全面,还有不能实现共享及沟通。3.2 功能分析