1、 本科毕业论文 (科研训练、毕业设计 ) 题 目:课程教学辅助系统 (基于 C 语言程序设计) 姓 名: 学 院:软件学院 系:软件工程 专 业:软件工程 年 级: 学 号: 指导教师(校内): 职称: 年 月课程教学辅助系统 (基于 C 语言程序设计) 摘要 随着计算机和互联网的普及,信息化改革在各行各业中迅速的进行着,在教育届当然也不例外。多媒体教学在大学甚至中小学都已经普及,各种网络教学系统也在如火 如荼的发展。课程教学辅助系统作为对多媒体教学的一个重要补充,无论对教师教学还是学生学习都变得越来越重要。 从 Linus Torvalds 发布了 Unix 到 SUN 的 Java 再到
2、Eclipse,“开源”这个词在软件开发领域已经变得不可缺少,越来越多的人投入到开源项目的工作中,为开源运动尽着自己的努力,为促进这软件开发技术的不断发展奋斗着。 软件学院的课程教学主要是以多媒体教学为主要教学手段,作业、实验报告和课程论文等原先只能以书面形式提交的材料也逐渐转为通过上传电子版文档到服务器的形式,但从这几界的教学实践来 看,由于缺乏一套有效教学管理信息系统进行技术支持,教学过程中存在许多急需解决的问题(比如如何建立有效的作业管理和反馈机制等)。本课题的提出主要是以我院部分课程为实验对象,通过对这些课程在教学上的需求,开发一套课程教学辅助系统,满足该课程教学的需要,并就该系统向其
3、他课程进行推广进行可行性分析。 课程教学辅助系统 就 是利用一系列开源软件和技术开发的 解决软件学院目前教学过程中的一些问题的 教学辅助平台 。 系统集成了教师教学和学生学习的一系列功能。包括发布 /浏览课程公告、上传 /下载教学课件、师生在线交互等。 系统是基于 J2EE 平台 ,B/S 架构 ,采用实现 MVC 框架的 Struts + Hibernate 实现 ,使用 MyEclipse 为开发工具 ,Tomcat 为 Web 服务器 ,MySQL 为后台数据库。 通过系统可以解决软件学院教学过程中遇到的大部分问题。 关键词 课程辅助 J2EE Eclipse Struts Hibern
4、ateComputer Aided Instruction System (About C program language) Abstract With the popularity of computers and Internet development, the informationization gradually becomes popular in every walk of life. Of course the edbiz is not an exception. Multimedia teaching is popularization in university eve
5、n high and elementary school. Diversified network teaching system is become more and more. The course teaching assistant system is an important complementarily for the Multimedia teaching, its more and more important for the teacher and student. From Linus Torvalds promulgated UNIX to the Suns java
6、and then Eclipse, the word of “open source” is become a more and more important word. More and more people work for the open source, and make the open source speedy development. The course teaching of The Software School mostly is Multimedia teaching, but homework, experiment reporting .etc hand in
7、with written form. Passing experience of lately years, all of those need change raring. The course teaching assistant system of the C program language designed for the development of a J2EE platform, using a combination of technical Struts, Hibernate use Java as a development language, Eclipse as a
8、development tool, and using the Website as background MySQL database management system. Key words J2EE, MVC, Struts, Hibernate, Computer Aided Instruction System,JSP 目录 1 目录 第一章 引言 . 2 1.1 课题背景 . 2 1.2 主要研究内容和意义 . 2 1.3 论文组织结构 . 3 第二章 需求分析 . 4 2.1 引言 . 4 2.2 总体 设计 . 4 2.2.1 系统功能 . 4 2.2.2 系统结构 . 4 2
9、.2.3 功能分析 . 4 2.3 主要开发技术及工具介绍 . 6 2.3.1 主要开发技术 . 6 2.3.2 主要开发工具 . 10 第三章 系统设计 . 14 3.1 引言 . 14 3.2 总体设计 . 14 3.2.1 系统用例设计 . 14 3.2.2 系统分模块详细设计 . 15 第四章 数据库设计 . 25 4.1 引言 . 25 4.2 结构设计 . 25 4.3.1 概念结构设计 . 25 4.3.2 逻辑结构设计 . 26 第五章 系统运行结果 . 28 5.1 引言 . 28 5.2 系统运行图示 . 28 5.2.1 主页 . 28 5.2.2 管理员界面 . 29
10、5.2.2 教师界面 . 30 5.2.3 学生界面 . 33 第六章 结束语 . 35 总 结 . 35 展 望 . 35 下一步工作 . 35 致谢语 . 36 参考文献 . 37 附录 .错误 !未定义书签。 第一章 引言 2 第一章 引言 1.1 课题背景 本 课题 是个人毕业设计的题目,主要是关于一个基于 C 语言程序设计的课程辅助系统 。 软件学院的课程教学主要是以多媒体教学为主要教学手段,而作业、实验报告和课程论文等却只能以书面形式提交的材料,随逐渐转为通过上传电子版文档到服务器的形式,但从这几界的教学实践来看,由于缺乏一套有效教学管理信息系统进行技术支持,教学过程中存在许多急需
11、解决的问题(比如如何建立有效的作业管理和反馈机制等)。本课题的提出主要是以我院开设的 C 语言程序设计为实验对象,通 过对该课程在教学上的需求,开发一套课程教学辅助系统,满足该课程教学的需要,并就该系统向其他课程进行推广进行可行性分析。 系统要采用 J2EE、 MVC、 Struts、 Hibernate、 JSP 等最新的 Web 开发技术。 1.2 主要研究内容 和意义 在计算机和网络技术迅猛发展的今天,计算机辅助教学技术有了一个广泛的发展空间,如何利用先进的网络技术和丰富的资源为教学服务,已成为教育者和被教育者共同关心的一个问题。计算机辅助教学( computer-assisted in
12、struction, CAI)和计算机辅助训练( computer-based training, CBT)是信息技术与学科课程整合的重要组成部分,而多媒体课件则是实现 CAI 和 CBT 的主要手段。而网上教学却是多媒体教学的重要补充部分,不仅能提高教学质量,更能方便师生交互。 在教育改革大潮中,信息技术的迅速发展和广泛应用对教育与培训产生了革命性影响。我国教育部在基础教育课程改革纲要(试行)中提出:“大力推进信息技术在教学过程中的普遍应用,促进信息技术与学科课程的整合,逐步实现教学内容的呈现方式、学生的学习方式、教师的教学方式和师生互动方式的变革,充分发挥信 息技术的优势,为学生的学习和发
13、展提供丰富多彩的教育环境和有力的学习工具”。教育部在关于加强高职高专教育人才培养工作的意见中又提出:“积极推广计算机辅助教学、多媒体教学技术、虚拟技术等现代信息技术,扩大课堂教学的信息量,提高课堂效率”。 信息技术与学科课程的整合,意味着信息技术将作为主要的媒介和工具融入到教与学的各个环节,包括课程建设、教学准备、课堂教学过程和绩效评价,等等。充分运用多媒体和网络教学手段,改进教学方法,提高教学质量,促进学校教育教学,已成为现代教育技术发展的必然趋势。 而在信息技术方 面, 从 Linus Torvalds 发布了 Unix 到 SUN 的 Java 再到Eclipse,“开源”这个词在软件开
14、发领域已经变得不可缺少,越来越多的人投入到开源项目的工作中,为开源运动尽着自己的努力,为促进这软件开发技术的不断发展奋斗着。 而 Struts、 Hibernate、 MySQL、 MyEclipse、 Tomcat 等都是著名的开源软件 ,通过这些开源软件的使用,大大降低了应用软件开发的成本,并把程序员从底层功能中解脱出来,从而更好的专注于用户的需求,而且开源软件第一章 引言 3 已经通过了充分的测试, 进而缩短了开发周期和业务风险 。 另外,在软件开发领域,软件工程思想已经越来越重要。现在,无论开发大大小软件,几乎都要应用软件工程的思想,尤其是大型软件。 UML 作为一种统一建模语言,作为
15、当今世界上面向对象开发领域最激动人心的开发工具,它使软件工程思想更好的应用于软件开发。由于 UML 可以使系统在开发之前先有了一个比较合理的蓝图,相当于建筑设计图一样,使软件的开发趋向于有计划、有步骤,因而可以减少系统开发的风险。 以上所述,都是当今教育领域和计算机领域最热门的话题 ,也是这次课题的主要研究内容。也是当代大学生,特别是计算机学科相关的大学生 应该熟知,甚至要掌握的知识。作为软件学院的学生,对这其中大部分的内容更应该不断深入学习,以达到精通的境界。 1.3 论文组织结构 第一章是引言, 主要介绍本论文的课题背景,主要研究内容和意义,本论文组织结构。课题背景主要阐述本次项目开发的研
16、究方向和目的,主要研究内容和研究意义主要简单介绍这个项目所采用的技术,和这些技术的发展方向,对今后这个类型项目开发有何重大意义。 第二章是项目的需求分析部分,主要是整个项目的需求分析文档 。 第 二 章是 需求分析 , 主要介绍系统要实现的功能和系统开发所使用的主要技术和工具。 第 四章是详细设计部分,是整个项目详细设计文档 。 第五章是数据库设计部分,是整个项目的数据库部分设计 。 第六章是结束语, 主要为开发总结,展望,下一步工作的方向。开发总结是对整个开发过程的技术总结和感悟总结,阐述技术开发中得到的深刻体会,对今后 开发同类型的系统的指导意义。展望是对今后这种类型项目开发的趋势 。下一
17、步工作主要介绍本项目还存在的不足之处,如何进一步完善的方向。 第二章 需求分析 4 第二章 需求分析 2.1 引言 本章主要说明课程教学辅助系统所要实现的功能及这些功能的大体分块。并介绍开发系统用到的技术和工具的介绍。 2.2 总体设计 2.2.1 系统功能 本系统主要是对多媒体教学的一个补充,主要实现教师集中管理 教学公告、教学课件、课程 实践、其 它 学习资源,以及学生下载课件、课程实践、学习资源等功能。同时支持师生在线交流问题。 ( 图 2-1) 。 2.2.2 系统结构 系统采用 MVC 三层模式,采用 Struts 框架实现,使用 Hibernate 实现与数据库等映射关系。( 图
18、2-2) 。 2.2.3 功能分析 主页功能: 登陆功能 主要是支持用户登录系统功能。 用户验证功能 主要是根据登陆的信息,确定用户类别,从而转到不同的 用户界面。 管理员界面功能: 添加用户 主要是支持管理员向系统中添加用户的功能。 删除用户 主要是支持管理员删除系统中已有用户的功能。 查询用户 用于管理员查询系统中的用户数据。 系统帮助 提供用户操作、功能等帮助信息。 退出 提供退出系统的功能。 教师界面: 第二章 需求分析 5 个人信息管理 图 2-1 系统功能图 主要是支持用户对个人详细资料管理的相关功能。 课程公告信息管理 主要是支持教师管理课程公告的相关功能。 教学课 件管理 主要
19、是支持教师管理教学课件的相关功能。 课程实践管理 主要是支持管理课程实践的相关功能。 系统帮助 退出 学生界面: 个人信息管理 主要支持学生管理个人信息的相关功能。 课程教学辅助系统 教师界面 学生界面 个人信息 课程公告管理 课件管理 课程资源管理 个人资料 学习资源管理 实践课题管理 其他 退出 系统帮助 个人信息 课程学习 其他 课程公告 课件学习 个人资料 课程实践 下载相关 退出 系统帮助 用户管理 其他 退出 系统帮助 添加用户 删除用户 查询用户 管理员界面 第二章 需求分析 6 浏览课程公告 主要支持学生浏览课程公告信息的相关功能。 图 2-2 系统结构图 浏览教学课件 主要支
20、持学生浏览教学课件功能。 浏览课程实践 主要支持学生浏览课程实践的相关功能。 下载相关 主要提供学生对各种学习资源的下载功能。 系 统帮助 退出 2.3 主要开发技术及工具介绍 2.3.1 主要开发技术 Struts 技术介绍 Jakarta-Struts 是 Apache 软件 组织 提供 的一个开源项目 ,它为 Java Web 应用提供了 MVC(Model-View-Controller)框架,尤其适用于开发大型可扩展的 Web课程教学辅助系统 教师界面 个人信息 课程公告管理 课件管理 课程资源管理 个人资料 学习资源管理 实践课题管理 其他 退出 系统帮助 用户管理 其他 退出 系
21、统帮助 添加用户 删除用户 查询用户 管理员界面 用户 bean 课程资源 bean 公告 bean 课程实践 bean 个人资料 课程公告 课件学习 课程实践 下载相关 系统帮助 退出 数据库 第二章 需求分析 7 应用。 Struts 这个名字来源于在建筑和旧式飞机中使用的支撑金属架,因而对于 Web 应用来说,它也相当于支柱的作用。 Struts 为 Web 应用提供了一个通用的 Web 应用,使得开发人员可以把精力集中在如何解决实际业务问题上。此外,Struts 框架提供了许多可供扩展和定制的地方,使得应用程序可以方便地扩展框架 ,来更好的适应用户的实际需求。 它采用的主要技术是 Se
22、rvlet, JSP 和标签库。 Struts 有如下的主要功能: 包含一个 Controller Servlet,能将用户的请求发送到相应的Action 对象。 JSP 自由 tag 库,并且在 Controller Servlet 中提供关联支持,帮助开发 人 员创建交互式表单应用。 提供了一系列实用对象: XML 处理、通过 Java Reflection APIs自动处理 JavaBeans 属性、国际化 的提示和消息。 Struts项目的目标是为创建 Java Web应用提供一个开放源代码的 通用框架,其基本构成如图所示 ( 图 2-3): 图 2-3 Struts 结构图 Stru
23、ts的工作原理是: Struts 是 MVC的一种实现,它将 Servlet和 JSP 标记(属于 J2EE 规范)用作实现的一部分。 Struts 继承了 MVC 的各项特性,并根据 J2EE 的特点,做了相应的变化与扩展。 控制 ( Controller) :在 Struts 中,承担 MVC 中 Controller 角色的是一个 Servlet,叫 ActionServlet。 ActionServlet 是一个通用的控制组件。这个控制组件提供了处理所有发送到 Struts 的 HTTP 请求的入口点。它截取和分发这些请求到相应的动作类(这些动作类都是 Action 类的子类)。另外控制组件也负责用相应的请求参数填充 Action From(通常称之为 FromBean) ,并传给动作类(通常称之