基于SSH架构的课程中心系统的设计和实现——教师和课程管理子系统---毕业论文_第1页
基于SSH架构的课程中心系统的设计和实现——教师和课程管理子系统---毕业论文_第2页
基于SSH架构的课程中心系统的设计和实现——教师和课程管理子系统---毕业论文_第3页
基于SSH架构的课程中心系统的设计和实现——教师和课程管理子系统---毕业论文_第4页
基于SSH架构的课程中心系统的设计和实现——教师和课程管理子系统---毕业论文_第5页
免费预览已结束,剩余73页可下载查看

下载本文档

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

文档简介

第1章 绪论本 科 毕 业 论 文基于SSH架构的课程中心系统的设计和实现 教师和课程管理子系统Design and Implementation of Course Center System Based on SSH ArchitectureManagement Subsystem of Teacher and Course姓 名: 学 号:学 院:软件学院系:软件工程专 业:软件工程年 级: 指 导 教 师: 教授 年 月摘 要摘要随着计算机技术和网络技术的飞速发展,世界进入了前所未有的全球信息化时代。本文针对目前厦门大学课程网站的现状和存在的一些不足,设计并实现了基于SSH架构的厦门大学课程中心系统。该系统的目标是为厦门大学的老师和学生建设一个优秀的、可管理的、易维护的、多层次的和开放式的课程中心系统。论文首先介绍了系统所采用的J2EE架构、轻量级框架SSH的组成部分和工作原理。接着阐述了课程中心系统的建设目标和功能模块的划分,并对教师子系统和课程子系统后台管理部分的设计展开详细说明。最后围绕着SSH架构技术,结合系统的分层结构,具体描述了教师子系统和课程子系统后台管理部分的实现。厦门大学课程中心系统的建设完善了用户的管理体系、丰富了课程的表现形式、加强了师生间的互动交流,达到了预期的效果。实践表明,SSH架构在构建复杂业务系统中的应用,可以使得开发过程简洁高效、结构清晰,同时还可以使系统具有较强的灵活性、可维护性和可扩展性。关键词:课程中心系统;J2EE;SSH架构AbstractAs the fast development of computer science and computer network, the world has entered an unprecedented global information age. In the foundation of studying the present situation and existing deficiencies of current course website of Xiamen University, the Course Center System of Xiamen University based on SSH architecture is designed and implemented. This system is aimed to achieve the goal, which is to develop an excellent, multi-level, opening course center system with high manageability and maintainability.First, the popular architecture of J2EE, the model and operational principle of SSH are discussed in detail. Then the objectives and functional module division of this system is described, especially the subsystem module of teacher and the back-stage management of course subsystem module, which are took charge by myself. According to the technology of SSH architecture and the hierarchical structure of the system, the implementation of the subsystem module of teacher and the back-stage management of the course subsystem module are minutely introduced. It can be seen that the system helps to improve the management system of user group, enrich the expression of the course, and enhance the communication between the teacher and student. The development results show that SSH architecture not only can improve efficiency of system development, but also can make the system more flexible, maintainable and extensible.Key words: Course Center System; J2EE; SSH ArchitectureI目 录目录第1章 绪论11.1概述11.2项目背景11.3论文组织结构2第2章 系统设计中的相关技术32.1 Java EE技术32.1.1 Java EE32.1.2 Java EE的模型32.1.3 JSP 技术42.2 SSH框架52.2.1 SSH 框架52.2.2 表现层框架Struts272.2.3 业务逻辑层框架Spring92.2.4 数据持久层框架Hibernate102.3其它相关技术122.3.1 Ajax122.3.2 jQuery框架132.4 本章小结14第3章 课程中心系统的需求分析和设计163.1建设目标163.2 系统功能模块划分163.2.1系统面向的用户群体和角色功能163.2.2总体功能模块划分183.2.3教师子系统详细功能模块设计223.2.4课程子系统详细功能模块设计243.3 本章小结27第4章 课程中心系统的实现294.1系统总体框架设计和实现294.1.1 系统的分层结构294.1.2 系统的包结构304.1.3 系统的部署324.2教师子系统的实现324.2.1概述324.2.2个人信息模块的实现334.2.3课程申报模块的实现354.2.4课程权限设置模块的实现374.2.5课程风格设置模块的实现384.2.6课程内容管理模块的实现404.2.7学生管理模块的实现404.2.8留言板管理模块的实现404.2.9站内信模块的实现414.3课程子系统后台管理的实现434.3.1概述434.3.2申报表格模块的实现434.3.3课程简介模块的实现454.3.4教学大纲模块的实现474.3.5教师队伍模块的实现474.3.6通知公告模块的实现484.3.7章节目录模块的实现504.3.8课件教案模块的实现514.3.9作业习题模块的实现534.3.10实验指导模块的实现534.3.11教学录像模块的实现534.3.12课程试卷模块的实现554.3.13参考书籍模块的实现554.3.14教学成果模块的实现554.3.15课程评价模块的实现574.4其他功能模块的实现594.4.1 Struts2拦截器在系统中的实现594.4.2 课程页面切换风格的实现624.5本章小结64第5章 总结与展望655.1 总结655.2 工作展望65参考文献67致 谢68VContentsContentsChapter 1 Preface11.1 Overview11.2 Development Background11.3 Structure of This Dissertation2Chapter 2 System Related Technologies Outline32.1 Java EE32.1.1 Java EE32.1.2 Model of Java EE32.1.3 What is JSP42.2 SSH Architecture52.2.1 SSH Architecture52.2.2 Struts272.2.3 Spring92.2.4 Hibernate102.3 Other Related Technologies122.3.1 Ajax122.3.2 jQuery132.4 Summary14Chapter 3 Requirement Analysis and System Design163.1 Objectives163.2 Functional Module Division163.2.1 User group and Role Functioning163.2.2 Functional Module Division183.2.3 Subsystem Module of Teacher223.2.4 Subsystem Module of Course243.3 Summary27Chapter 4 Implementation294.1 Design and Implementation of System Architecture294.1.1 Hierarchical Structure294.1.2 Package Structure304.1.3 Deployment324.2 Implementation of Teacher Subsystem Module324.2.1 Overview324.2.2 Personal Information Module334.2.3 Apply for Course Module354.2.4 Authority Module374.2.5 Style Module384.2.6 Course Management Module404.2.7 Student Management Module404.2.8 Message Management Module404.2.9 Mail Management Module414.3 Backstage Management of Course Subsystem Module434.3.1 Overview434.3.2 Application Form Module434.3.3 Course Information Module454.3.4 Course Outline Module474.3.5 Teacher Team Module474.3.6 Notice Module484.3.7 Chapter Module504.3.8 Courseware Module514.3.9 Exercise Module534.3.10 Lab Instruction Module534.3.11 Course Movie Module534.3.12 Examination Module554.3.13 Refference Book Module554.3.14 Achievement Module554.3.15 Evaluation Module574.4 Implementation of Other Modules594.4.1 Struts2 Interceptor594.4.2 Changing Style of Page624.5 Summary64Chapter 5 Conclusions and Expectations655.1 Conclusions655.2 Expectations65References67Acknowledgements68VII参考文献第1章 绪论1.1概述计算机技术、网络技术、通讯技术和多媒体技术等信息技术的迅速发展为推动社会信息化提供了强有力的技术支撑。信息技术在教育领域的应用促进了教育信息化。上世纪90年代,多媒体技术、音视频技术等己开始广泛运用于课程教学中,技术与课程进行整合有效地推动了课程教案电子化、课程建设数字化1。随着网络技术和通讯技术的深入应用,传统的课堂教学方式开始无法满足教育信息化的需求,课程中心系统由此应运而生。构建课程中心系统的根本目的是为教师和学生提供一个优质的课程教学平台,提高教学质量。该系统运用网络技术和多媒体技术将教师的教学思想和教学内容整合成一流的教学资源,供学生学习。它允许学生按照自己的思考方式探索信息、检索资源,构建自己的知识体系网络。本文讨论的是一个基于J2EE平台,采用目前主流的SSH框架实现的课程中心系统,内容主要包括:系统实现的相关技术和软件结构设计;系统的建设目标、需求分析过程、功能模块的划分和详细设计;系统功能模块的具体实现。1.2项目背景目前,全国很多高校都开始尝试将课程与网络相结合,并建设具有各自特色的课程中心系统。但由于网络技术在课程中的应用尚处于尝试阶段等原因,目前的课程中心系统仍存在许多不足:第一,无法形成统一的管理体系,学校与学院之间、学院与教师之间、教师与学生之间没有形成一个有组织、有条理的用户层次结构,造成各个用户的职责模糊不清、分工不明确,无法有效的进行管理;第二,各个课程的形式结构没有标准和规范,每个教师都在构建自己独有的课程,每个课程形式各异,最后形成了“各自为战”的局面;第三,师生之间缺乏互动,课程仍只是教师单方面展示内容给学生,教师与学生之间缺乏交流和沟通。针对以上不足,本研发小组经过资料调研和需求分析,拟建立厦门大学课程中心系统。该课程中心系统主要面向的用户群体为厦门大学全体师生,通过该系统,教师可以将课堂教学与网络教学有机结合,丰富课程内容,提高教学质量;学生可以自主学习,以自己的思考和认知方式来构建知识网络。同时,该系统还为老师和学生提供了一个开放式的交流平台,使得师生之间的沟通互动不再仅仅局限于课堂之上。最后,还为学校与学院分别设计了后台管理系统,明确不同用户角色的职责与分工,以便有效地管理和维护。1.3论文组织结构本文共五章,详细地阐述厦门大学课程中心系统开发周期的过程,具体安排如下:第1章 介绍项目背景及其意义。第2章 介绍系统开发中采用的相关技术及其基本工作原理。第3章 介绍了该系统的建设目标,对项目进行功能模块划分,最后针对本人所负责的功能模块的内容和设计进行详细的阐述。第4章 讨论本人所负责的系统功能模块的具体实现,主要从模块的逻辑、具体操作流程和运行结果三大方面来阐述。第5章 对全文进行总结,并展望下一步工作。第2章 系统设计中的相关技术2.1 Java EE技术2.1.1 Java EE J2EE,即Java 2平台企业版(Java 2 Platform Enterprise Edition),是Sun公司为企业级应用推出的标准平台。J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,企业内部或外部难以互通的窘境。J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能2。J2EE并不是一门编程语言,而是一个体系结构,是一个开发标准。J2EE为企业级应用开发提供了一套完整的解决方案,同时,对开发者和用户来说,它又意味着更短的开发时间、更简化的连接。2.1.2 Java EE的模型J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。以下是J2EE典型的四层结构2:(1) 运行在客户端机器上的客户层组件(2) 运行在J2EE服务器上的Web层组件(3) 运行在J2EE服务上的业务逻辑层组件(4) 运行在EIS服务器上的企业信息系统层软件(Enterprise Information System) 图2.1 J2EE典型四层结构模型图图2.1为J2EE典型的四层结构模型图,很好的反映了J2EE的模型组成和关系。客户层包括客户端的应用程序和操作页面等。Web层指JSP页面和Servlet,它们被部署在服务器提供Web服务,处理用户请求。业务层的关注点主要集中在业务规则的制定和业务流程的执行。企业信息系统层处理企业基础系统、数据库系统和其他遗留的系统。现在人们更多的将J2EE分为三层架构,分别为表现层、业务逻辑层(也叫中间层)和数据持久层。其中客户层与Web层共同组成表现层,业务层和业务逻辑层相对应,企业信息系统层则为数据持久层。2.1.3 JSP 技术JSP(Java Server Pages)是1998年由Sun公司推出的基于Java语言的动态网页技术标准。JSP大部分的页面都是使用常规的HTML,同时使用某些特殊的标签将Servlet标记出来。在运行的时候,JSP整个页面最终转换成Servlet,实际上被调用的是Servlet。图2.2显示了JSP的基本运行原理。首先由浏览器向Web服务器提出访问JSP页面的请求(Request),然后由JSP容器负责将JSP转换成Servlet,产生的Servlet经过编译后生成类文件,然后再把类文件加载到内存进行执行。最后由Web服务器将执行结果响应(Response)给客户端浏览器3。图2.2 JSP运行原理JSP技术具有如下几个特点4:(1) JSP中HTML的编写和维护更为简单。(2) 一次编写,随处运行,不必依赖特定的平台支持。(3) JSP拥有极为广泛的工具和服务器提供商的支持。(4) 对要求组件重用的大型复杂Web应用支持良好。(5) 可以对开发团队进行划分。JSP是J2EE整个系统规范中一个非常重要的组成部分,是J2EE的核心技术。在整个系统中,表现层部分,即用户与系统的数据交互以及数据的展现部分都是利用JSP页面实现的。包括本文下述将介绍到的Struts框架,也是以JSP技术为基础的。2.2 SSH框架2.2.1 SSH 框架厦门大学课程中心系统是基于J2EE标准规范实现的,采用当前主流的SSH(Struts + Spring + Hibernate)主流架构。上一节已经详细介绍了J2EE这一技术规范,而其复杂的多层结构决定了大型的J2EE项目需要运用优秀的框架来控制软件质量。SSH框架是基于J2EE规范实现的一个轻量级的架构。作为由Struts、Spring和Hibernate整合而成的组合框架,其设计目标是提供一个更加简洁,功能更完善的Web框架,提高组件的可复用性,降低层与层之间的耦合度,有利于系统的可维护性和可扩展性。该组合框架具备J2EE典型的三层结构,分别是表现层、中间层和数据持久层,Struts主要实现MVC(Model-View-Controller)的分离,负责与用户交互,为表现层;Spring则支持业务层,所有的业务逻辑都在Spring中实现;Hibernate主要进行与数据库的交互,为数据持久层5。图2.3展示了SSH三层架构的分层情况及与Web和数据库之间的联系。图2.3 SSH三层结构图应用SSH框架的厦门大学课程中心系统业务流程如图2.4所示。在Web表现层通过JSP页面的交互负责Request和Response的传输。控制层引入Struts分发请求,依据接收的Request指定相应的Action,由Action向业务层传递参数和指定调用Service。在业务层中,Service根据具体的业务逻辑来组装不同的DAO完成一个业务模块功能,即Service中的每一个方法对应一个业务逻辑,而每个业务逻辑是由不同的DAO组装起来协同实现6。在数据持久层中最终由DAO完成与数据库的交互,并返回结果给业务层中的Service,Service再将整个业务流程的执行结果返回给控制层中的Action,Action向JSP页面返回结果,并由Struts控制跳转到相应页面。这样,一个业务流程执行完毕。图2.4 SSH架构业务流程图2.2.2 表现层框架Struts2简介在厦门大学课程中心系统开发过程中,采用的是Struts2.0版本,因此本节将会着重介绍Struts2。Apache Struts2是Struts的下一代产品。Apache Struts2是一个优雅的,可扩展的J2EE Web框架。框架设计的目标贯穿整个开发周期,从开发到发布,包括维护的整个过程 (Apache Struts 2 is an elegant, extensible framework for creating enterprise-ready Java web applications. The framework is designed to streamline the full development cycle, from building, to deploying, to maintaining applications over time) 7。Apache Struts2是一个基于Action的MVC Web框架。基于Action的框架把Servlet和JSP的概念合并到了一起。它的想法是把对当前用户所见的页面请求的处理动作,分拆成处理逻辑和表现逻辑,让它们各司其职。这种方式使用了源自Smalltalk的一个模式,名为模型-视图-控制器,即MVC。图2.5描述了Struts2架构中的模型、视图和控制器及它们之间的关系。控制器通过Struts2发布Servlet过滤器(也就是人们常说的拦截器)来实现,模型通过Action实现,视图则通过结果类型和结果组合实现8。图2.5 MVC/Struts2架构Struts2的工作原理如图2.6所示。客户端初始化一个指向Servlet容器的请求(HttpServletRequest),这个请求经过一系列的过滤器(Filter)。这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin。接着FilterDispatcher被调用,此时FilterDispatcher询问ActionMapper来决定这个请求是否需要调用某个Action。如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy,ActionProxy通过Configuration Manager询问框架的配置文件(struts.xml)。然后ActionProxy创建一个ActionInvocation的实例。ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器,即Interceptor的调用。一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但并不总是,也可能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。这些组件和ActionMapper一起返回给请求的URL, 响应的返回是通过在web.xml中配置的过滤器9。图2.6 Struts2架构图2.2.3 业务逻辑层框架Spring简介Spring是一个轻量级的开源框架,是为了解决应用程序开发复杂性而创建的。Spring框架主要由AOP模块、ORM映射模块、Web模块、DAO模块、上下文模块、Spring MVC框架和Spring核心模块这七大模块组成。在实际应用中,可以根据需要选择一个或者多个模块,灵活方便地部署到应用中。本节将主要介绍Spring的两大重要模块,分别是Spring核心模块(主要是IoC容器)和 AOP模块。IoC(Inversion of Control)即控制反转,也叫依赖注入(Dependency Injection, DI)。它不是一种编程技术,而是一种设计模式。IoC基本概念是不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器(在Spring框架中是IoC容器)负责将这些联系在一起。应该说,IoC很好的促进了程序各个组件和类之间的松散耦合10。AOP(Aspect-Oriented Programming)即面向切面编程,是一种编程思想,用来在系统中提升业务的分离。它允许程序员对横切关注点或横切典型的职责分界线的行为(例如日志和事务管理)进行模块化。AOP 的核心构造是方面,它将那些影响多个类的行为封装到可重用的模块中。系统中存在交叉业务,可将这些业务模块划到特定对象切面中,如此有两个好处:第一,每个业务逻辑放在一个地方,而不是分散到代码的各个角落;第二,服务模块更加清晰11。交叉业务逻辑如图2.7所示。图2.7交叉业务Spring致力于在整个应用程序层面架构程序,使整个程序的各个层面能协调一致,而不是互相制约,从而发挥出最大的效能。Spring能整合现有的优秀的框架,把它们组成连贯统一的架构。在厦门大学课程中心系统这个项目中,Spring就很好的把Struts2和Hibernate整合起来。2.2.4 数据持久层框架Hibernate简介在介绍Hibernate之前,应该理解对象关系映射(Object Relational Mapping,ORM)的概念。简单地说,ORM就是Java应用中的对象到关系数据库中的表的自动的和透明的持续化,使用元数据对对象与数据库间的映射进行了描述。本质上,ORM的工作是将数据从一种表示(双向)转换为另一种。这样子,人们就可以也使用面向对象的思想来与数据库进行交互12。Hibernate是一个开源的ORM框架,是目前非常流行的轻量级持久化框架之一。它将JDBC进行了轻量级的对象封装,使得开发人员可以方便地使用对象编程的思想来操纵数据库。利用Hibernate,开发者可以按照所有Java的基础语义(包括关联、继承、多态、组合以及Collection架构)进行持久层开发。只要写好相关配置文件,就可以以面向对象的方式操作数据库,大幅度减少手工编码操作JDBC和SQL的时间。Hibernate支持所有主流商业数据库和开源数据库,另外Hibernate支持多种缓存机制,可大大提高系统数据操作的效率。所以现在越来越多的Java开发人员把Hibernate作为企业应用和关系数据库之间的中间件,以节省和对象持久化有关的30%的JDBC编程工作量13。图2.8显示了Hibernate的工作原理,它是利用数据库以及其它一些配置文件如perties,XML Mapping等来为应用程序提供持久服务的。图2.8 Hibernate结构在厦门大学课程中心系统中,首先完成关系数据库表的创建,然后利用Hibernate框架从关系数据库表中反向生成对象(即项目中的Pojo),同时还把负责对数据库操作的方法抽象出来,生成数据访问对象(Data Access Object,DAO)。2.3其它相关技术介绍2.3.1 Ajax简介Ajax是Asynchronous JavaScript and XML的缩写,是一种结合了Java、XML与JavaScript等编程技术的创建交互式网页应用的Web开发技术。它使用XHTML和CSS标准化呈现,使用DOM实现动态显示和交互,使用XML和XSTL进行数据交换与处理,使用XMLHttpRequest对象进行异步数据读取,使用JavaScript绑定和处理所有数据。更重要的是它打破了使用页面重载的惯例技术组合,而改用客户端脚本与Web服务器异步交换数据的Web应用开发方法。使用Ajax,可以在不中断交互流程的情况下,重新加载Web页面,从而实现动态更新;它可以创建接近本地桌面应用的、直接的、易用的、更丰富的、更动态的Web用户接口界面。传统的Web应用模式采用同步交互模式,客户端过分依赖服务器的响应,“等待-处理-等待”的处理过程缺点比较明显,有时对部分数据的更新不得不重新加载整个页面。传统的Web应用同步模式效率低,同时对带宽的消耗较大。与传统的Web应用模式不同,Ajax应用模式采用异步交互模式,可以仅向服务器发送并取回必需的数据,它使用SOAP或其它一些基于XML的web service接口,并在客户端采用JavaScript处理来自服务器的响应。由于在服务器和浏览器之间交换的数据大量减少,Web应用的响应更快,提高了带宽的利用率。同时很多的处理工作可以在发出请求的客户端机器上完成,从而减轻Web服务器的负担。使用Ajax Web应用模式的优势有以下几个方面14:(1) 无刷新更新页面,减少用户等待的时间;(2) 减轻服务器的负担;(3) Ajax可以把以前的一些服务器负担的工作转到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和带宽的租用成本;(4) Ajax可以调用外部数据,增加Ajax的灵活性;(5) 基于标准化的并被广泛支持的技术,不需要下载插件或小程序;(6) 进一步促进页面呈现和数据的分离,特别是使用XML数据表示形式,该优势更明显。Ajax与Web服务器的交互过程如图2.9所示。它的具体流程如下15:(1) Ajax通过JavaScript脚本访问用户界面对应的DOM树,从DOM中获取用户准备提交的数据,并以一定的格式组织这些数据。(2) Ajax获得XMLHttpRequest对象,并指定发送的数据、Web服务器的地址以及回调函数。回调函数是实现异步发送和接收数据的关键部分,在发送和接收数据过程中,XMLHttpRequest对象会调用回调函数,从而可以获得与服务器交互的情况。(3) Ajax调用XMLHttpRequest对象的send方法发送数据。(4) WEB服务器在接收到Http请求后对Ajax封装的数据进行解析,完成相应的业务处理,按照XML数据格式返回结果给Ajax。(5) 回调函数在检测到与Web服务器的交互完成以后,从Ajax中获得Web服务器返回的数据,通过JavaScript对数据进行处理,以HTML的形式在用户界面中显示。图2.9 Ajax与Web服务器的交互过程2.3.2 jQuery框架简介jQuery由美国人John Resig创建,是一个快速的、简洁的JavaScript库,其宗旨是写更少的代码,做更多的事情。jQuery使用户在网页上操作文档、处理事件、实现特效等变得更为简单和快捷,同时更方便的为Web页面添加Ajax交互功能。jQuery是继Prototype之后又一个优秀的JavaScript框架。jQuery能够使用户的Html页面保持代码和Html内容的分离,也就是说,不用再在Html里面插入一堆JavaScript来调用命令,只需定义页面中的组件Id即可。(1) jQuery具有如下一些特点16懂、学习快速、文档丰富;(2) jQuery是一个轻量级的脚本,其代码非常小巧,最新版的;(3) JavaScript包只有20K左右;(4) jQuery支持CSS1-CSS3,以及基本的xPath;(5) jQuery是跨浏览器的,它支持包括IE 6.0+,FireFox等主流浏览器;(6) 可以很容易的为jQuery扩展其他功能;(7) 能将JS代码和HTML代码完全分离,便于代码和维护和修改;(8) 插件丰富,除了jQuery本身带有的一些特效外,可以通过插件实现更多功能,如表单验证、tab导航、拖放效果、表格排序、DataGrid、树形菜单、图像特效以及Ajax上传等;(9) 使用方法非常简单,和在页面上调用js一样的jQuery的页面中引入jQuery的js文件即可。厦门大学课程中心系统大部分功能模块都采用jQuery框架来实现Ajax与Web服务的交互。本系统还使用到许多jQuery插件,如表格、分页、自动提示、右键菜单等,主要用于某些特定功能的实现,如网页风格切换、用户验证、弹出窗口效果等,改善了用户的体验效果。2.4 本章小结本章主要介绍系统的相关技术。首先介绍了当前非常流行的企业级应用技术规范J2EE,然后围绕J2EE技术规范介绍了它的模型和分层结构。但J2EE在复杂业务系统中的应用仍存在一些不足,由此引出了目前J2EE应用开发中十分流行的一个轻量级框架SSH。厦门大学课程中心系统就是基于SSH框架设计和实现的一个系统。针对SSH架构,主要介绍了三者的特点以及它们如何无缝地整合在一起协同合作。接着分别介绍Struts、Spring和Hibernate的概念、组成部分和工作机制。通过对这部分的介绍,说明了基于SSH框架实现的厦门大学课程中心系统在技术上的可行性和优越性。为了让系统具有更良好的用户体验,同时为了满足一些特定的用户需求,在系统中也采用了目前非常流行的Ajax技术。因此本章节也对Ajax和jQuery等技术做了相关介绍。第3章 课程中心系统的需求分析和设计3.1建设目标厦门大学课程中心系统的目标是构建一个适合所有厦大师生使用的课程中心系统。本研发小组调研和分析了厦门大学现有的精品课程网站和全国其他高校的相关课程网站的现状以及存在的不足,结合对厦门大学在校师生的咨询和调查,提出了该系统作为解决方案。厦门大学课程中心系统实现了原系统大部分的功能模块,同时还针对原系统存在的一些不足进行相关改进,主要有:(1)针对原来管理体系不完善这一问题,本系统构建了一个全新的管理体系、重组了用户的层次结构,明确了各个用户角色之间的分工职责,并为该系统加入了学校管理和学院管理两大功能模块,形成了一个更具层次结构、更加完善的管理体系。(2)针对原系统中课程形式各异、结构混乱这一问题,本研发小组分析并总结了大部分课程中相似的形式和结构,加以改进,最后重新确定了一个新的标准规范;同时,本系统还为课程设计了多种风格,使得每门课程又具有各自不同的表现方式。(3)针对原系统中师生交流互动过少这一问题,该系统中加入了留言板和站内信这两大功能模块,力求改变师生交流互动仅仅局限在课堂之上这一局面;这两大功能模块的加入,大大促进了师生间的交流互动,加强了师生间的沟通合作。厦门大学课程中心系统的建设是为了克服目前课程网站存在的不足而被提出并实施的。该项目力求建立一个可管理的、多层次的、开放式的课程中心系统,通过该系统,达到完善管理体系、丰富课程内容、提高教学质量、促进师生交流等目的。3.2 系统功能模块划分3.2.1系统面向的用户群体和角色功能结合上节提到的建设目标,确定了该系统最终面向的用户群体为学校管理员、学院管理员、教师、学生、同行和专家。不同的用户角色和功能模块间的关系如图3.1所示。该系统明确了不同用户之间的具体职责分工和不同角色之间对应的功能模块,使得系统具有更完善的管理体系。图3.1 系统用例图 图3.1中的模块划分是粗粒度的,且图中的每个功能模块都包含有相应的详细子模块。同时,由于课程内容管理模块包含较多内容,因此再次细分如图3.2所示。与图3.1类似,图3.2中的每个功能模块的划分也是粗粒度的。在课程内容模块中,教师主要负责课程内容的添加、修改和删除,而学生则是查阅这些课程内容。注意学生与课程内容的对应关系并未在图3.2中体现。图3.2 课程内容模块的详细用例图3.2.2总体功能模块划分在上节介绍了该系统的用户层次结构以及不同角色和功能的对应关系,整个系统的总体功能模块划分也由此衍生并细化。由于系统功能模块较多,为了使结构更加清晰,又将整个课程中心系统划分成六个子系统,分别是前台子系统、课程子系统、教师子系统、学生子系统、学校后台管理子系统和学院后台管理子系统,如图3.3所示。图3.3 系统总体功能模块划分本节将整体概括各个子系统包含的功能模块。在下一小节,将针对本人所负责的子系统进行详细的阐述。各个子系统的主要功能模块概括如下:(1)前台子系统:具体模块划分如图3.4所示。前台子系统主要包括新闻政策模块、课程搜索模块、院系课程模块、建设成果模块、最新课程模块和登录模块。其中课程搜索模块则又分为简单搜索和高级搜索两大子模块。登录模块是为教师子系统和学生子系统提供一个登录系统的入口。图3.4 前台子系统功能模块划分(2)课程子系统:具体模块划分如图3.5所示。课程子系统功能模块主要包括申报表格、课程简介、教学大纲、教师队伍、通知公告、课件教案、作业习题、实验指导、教学录像、课程试卷、参考书籍、课程评价、教学成果、师生留言。其中课程评价模块主要提供给学生、同行和专家对课程进行评价;师生留言为学生和老师提供了一个交流的平台。图3.5 课程子系统功能模块划分(3)教师子系统:具体模块划分如图3.6所示。教师子系统功能模块主要包括个人信息、课程申报、课程权限设置、课程风格设置、课程内容管理、学生管理、留言管理和站内信。其中课程内容管理中的子模块划分和课程子系统相对应。图3.6 教师子系统功能模块划分(4)学生子系统:具体模块划分如图3.7所示。学生子系统主要包括个人信息模块、我的收藏模块、我的课程模块、我的留言模块和站内信模块。图3.7 学生子系统功能模块划分(5)学院后台管理子系统:具体模块划分如图3.8所示。学院后台管理子系统功能模块主要包括个人信息、学生管理、教师管理、课程管理、课程学生管理和留言管理。其中课程管理模块又包括课程审核模块和课程评价模块;在留言管理模块中,学院管理员只负责删除留言这一功能。图3.8 学院后台管理子系统功能模块划分(6)学校后台管理子系统:具体模块划分如图3.9所示。学校后台管理子系统功能模块主要包括新闻管理、院系管理、年级管理、管理员管理和个人信息。其中院系管理模块又包括学院管理和系管理;管理员管理模块又包括学院管理员管理和学校管理员管理。图3.9 学校后台管理子系统功能模块划分至此,整个系统的大致功能模块划分基本完成。在整个项目开发过程中,本研发小组采用小组分工制,即四人小组中每人负责各自功能模块的设计和实现。在该项目中,本人负责的功能模块为教师子系统的大部分模块、课程子系统中的部分模块和学生子系统中的站内信模块。下小节将主要介绍本人所负责的功能模块的详细内容和设计。其中学生子系统的站内信模块和教师子系统中的站内信模块基本相同,只是面向的用户对象不同,因此下小节中会将学生子系统的站内信整合到教师子系统的站内信一起介绍。3.2.3教师子系统详细功能模块设计教师子系统面向的用户为教师,主要负责完成大部分教师的职责和功能。该子系统的功能模块主要包括个人信息、课程申报、课程权限设置、课程风格设置、课程内容管理、学生管理、留言管理和站内信。其中每个功能模块的具体划分如下:一、个人信息模块:教师对个人信息进行管理,其中包括修改信息、修改照片和修改密码三个子模块。修改信息:教师修改个人信息资料,包括职称、邮箱、电话等。修改照片:教师上传自己的照片,修改用户头像。修改密码:教师重新设置用户密码。二、课程申报模块:教师管理自己的申报课程,包括查看课程列表、申报新课程、查看课程详情和删除课程四个子模块。查看课程列表:教师查看自己目前己申报的课程,包括已审核课程、未审核课程和审核未通过课程。申报新课程:教师申报一个新的课程,申报时填写内容包括课程所属院系、课程级别、课程名称和备注。新申报的课程状态为未审核,由课程所属院系的学院管理员负责审核。查看课程详情:教师查看课程详情,如果课程未审核通过的话,则查看到审核未通过原因。删除课程:教师删除某门课程,如果某门课程被删除,那么与该课程的所有相关内容均会被删除。三、课程权限设置模块:教师设置该课程的公开访问对象,公开访问对象包括所有用户(注册和非注册)、注册用户(学生、同行和专家)、同行和专家、仅专家、仅自己。四、课程风格设置模块:教师设置课程页面的显示风格,该系统提供了三种不同的导航菜单和八种不同颜色总计24种风格让教师选择。五、课程内容管理模块:教师管理课程的具体内容,该模块内容基本和课程子系统相对应,因此将在介绍课程内容管理模块的时候详细阐述。六、学生管理模块:教师管理选修该课程的学生,包括查看课程学生、添加学生、批量添加学生和删除学生四个子模块。此模块工作由其他成员负责,因此不再展开描述。七、留言管理模块:教师管理课程的留言板模块,主要包括发布新贴、查看留言、回复留言、删除留言四个子模块。在该模块中,本人负责的主要工作是删除留言这一子模块。删除留言:教师和管理员有权限删除留言或主题。八、站内信模块:教师使用站内信与学生进行交流,与留言板不同的是,站内信主要是一对一的沟通,同时信件

温馨提示

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

评论

0/150

提交评论