基于JavaEE的湘南学院体育选向课程网站的设计与实现本科毕业论文.docx_第1页
基于JavaEE的湘南学院体育选向课程网站的设计与实现本科毕业论文.docx_第2页
基于JavaEE的湘南学院体育选向课程网站的设计与实现本科毕业论文.docx_第3页
基于JavaEE的湘南学院体育选向课程网站的设计与实现本科毕业论文.docx_第4页
基于JavaEE的湘南学院体育选向课程网站的设计与实现本科毕业论文.docx_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计(论文) 题 目 基于java ee的湘南学院体育 选向课程网站的设计与实现 系 别 计算机科学系 专 业 计算机科学与技术师范 毕业设计(论文)基于java ee的湘南学院体育选向课程网站的设计与实现系 别 、专 业 计算机科学系、计算机科学学与技术师范完 成 时 间 2012年1月20日 目录湘南学院1摘 要3abstract31 湘南学院体育选向课程平台简介31.1国内外研究动态3l.2湘南学院体育选向课程平台特点和设计基本原则31.3 可行性分析32 开发工具的选择32.1 java ee概述32.2 struts 2框架与mvc简介32.3 hibernate与orm简介32.4 spring简介32.5 jsp技术简介32.6 mysql数据库简介33 系统总体设计33.1系统架构33.2系统分析33.2.1需求分析33.2.2 系统功能模块划分33.2.3系统流程33.3 功能流程图33.4 数据库设计33.4.1 数据库概念结构设计33.4.2数据字典34 系统的具体实现和测试34.1 创建数据库表相关34.2 用户登入功能的实现和测试35 系统安全性能及运行工程35.1系统安全性能35.2 运行工程35.2.1开发平台35.2.3 运行工程3结 论3致 谢3摘 要湘南学院体育选向课程平台是针对在校学生和教师使用的一个选排课系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。本系统采用b/s架构,构建于java ee平台之上,系统方便了学生的选课,也方了教务管理员对学生选课信息进行排课、调课,更方便了学校的教务管理。整个系统采用mvc三层架构模式,在开发过程中使用spring做辅助、整合struts2和hibernate来处理页面逻辑和对象的持久化工作。本系统主要用户是学生、教师、系教务管理员和系统管理员。系统管理员管理系统的基本信息(如课程信息等),学生和教师通过系统完成不同的工作。系统需要实现的功能总体来说共有4个,分别如下:1、 系统管理员可以维护整个系统的基本信息;2、 教务人员的功能;3、 教师对应的功能;4、 学生对应的功能;关键字:选排课系统;数据库;b/s;java ee;mvc模式;struts2;hibernate;spring目前湘南学院体育选向课程采用的方式是教师通过表格手工登记学生选课信息,然后根据收集信息进行手动编排课程。这种方式不利于教师及教务管理人员的管理,而且会大大增加教务管理人员工作量。为此本论文设计了一个针对体育选向课程的选排课系统,从而解决了传统方式所造成的教务管理人员工作的浪费,大大提高了教务管理员的工作效率。论文首先对系统进行大致的说明,再介绍了设计开发过程中用到的技术,其次是系统需求分析,系统总体设计,系统详细设计,然后具体讲解了系统的实现与测试,最后对本次论文做了一个小结。关键字:选排课系统;选向课程;数据库; abstractthe pe elective and arrangement course platform is aimed to support the students and teachers of xiangnan university for pe course arrangement and election. its development includes database construction and application program production. this platform which bases on java ee and b/s construction, is beneficial to the educational management of the school. this platform use mvc three layers framework pattern, and use the auxiliary spring with struts 2 and hibernate to manage page logical sum and persistent work of object. its majority users are students, teachers, educational managers and platform managers. the platform managers manage the essential information of the system, and the students and teachers finish different work with this system. the most function of the platform is 4: platform can preserve the information of the whole system, the work of educational managers, the work of teachers and the work of students. key words: elective and arrangement course platform, database, b/s, java ee, mvc pattern, struts2, hibernate, spring1 湘南学院体育选向课程平台简介概述湘南学院体育选向课程平台是一个选排课系统,选课排课系统作为计算机应用的一部分,使用计算机对选排课信息进行管理,有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事劳资管理的效率,也是各大院校科学化、正规化管理的重要条件。1.1国内外研究动态随着internet的逐步发展,网络不仅仅是科研部门学术交流的平台,在其他的方面上也得到了很大的发展,尤其是在校园网的分支教务管理上。同时在教务管理的主要分支选课排课系统的应用上得到了较大的发展。国外针对此问题展开的研究较早。1963年c c gotlieb 在他的文章the construction of class-teacher time-tables中提出了课表编排的数学模型。这篇文章引起了人们对于选排课问题的重视。而国内对选排课问题的研究较晚。1984年,清华大学在清华大学学报上发表了林漳希和林尧瑞在该课题上的实验性研究成果人工智能技术在课表编排中的应用,标志着我国开始了对选排课问题的研究。目前,我国高校都实行了学分制,它的核心是允许学生自由选课,即把学习的自主权交给学生。在这里,学生选课时的制约因素比较复杂,工作量也很大,而且往往需要在较短的时间内完成。运用计算机辅助选课,即能实时地对大量选课数据进行检验和统计,十分方便地输出选课结果,同时也避免了人工处理时容易产生的错误。在高等学校的教务管理工作中,课程表的编排是一项十分复杂、棘手的工作。在排课过程中,除了满足大量的制约条件以外,还必须解决许多冲突与矛盾。利用计算机辅助进行课表编排工作,既提高了排课工作的科学性,又可大大减轻管理人员的工作强度,提高工作效率,从而使学校教务管理现代化迈上了一个新台阶。l.2湘南学院体育选向课程平台特点和设计基本原则湘南学院体育选向课程平台主要用户是学生、教师、系教务管理员和系统管理员,教务人员管理系统的基本信息(如课程、老师、学生等),学生和教师通过系统完成不同的工作。系统需要实现的功能总体来说共有4个,分别如下:1、 系统管理员可以维护整个系统的基本信息;2、 教务人员的功能;3、 教师对应的功能;4、 学生对应的功能;该系统的开发过程为:1. 选向课程平台的需求分析;2.选向课程平台的系统分析;3.选向课程平台的功能模块划分;4.选向课程平台的数据库设计;5.选向课程平台的详细设计;6.选向课程平台的界面设计;7.选向课程平台的数据库连接、功能模块设计及代码实现。该系统的功能模块主要由以下部分组成:1.2.1系教务管理员功能模块系教务管理员注册、登录(注册需要经过认证)后,能自动生成该教务管理员主页,教务管理员应具有根据学生选课信息进行排课(手动和自动)、调课,并生成相应的排课表及可以在自己的主页上发布、删除、修改自己的通知与查看留言等功能。1.2.2 教师功能模块教师注册、登录、修改个人信息(注册需要经过认证)后,能自动生成该教师主页,教师可以查看本学期个人课表及系总课表及可以在自己的主页上可以发布、删除、修改自己的留言。1.2.3 学生功能模块学生注册、登录后,能自动生成该学生主页,学生可以查看访问教师个人主页,针对不同教师、不同课程(同一名教师的同一门课程,最多人数为35人),学生可以自由选课及留言。1.2.4后台管理功能模块后台管理:系统管理员应具有对数据进行添加、删除、更改等维护功能。1.3 可行性分析可行性分析(feasibility analysis)也称为可行性研究,是在系统调查的基础上,针对刚刚开发打算进一步应用的系统的必要性和可能性的分析和研究,对该系统的开发从经济、技术、操作三方面进行分析和研究。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。1.3.1经济可行性分析确定开发项目的开发成本以及估算开发项目所能够产生的经济效益:该系统目前在校园里受到一致好评,在方便高效快捷的基础上,有助于学生学习、教师工作及有效的管理的应用价值,有很好的实用和发展前景。所以本系统在经济上是可行的。1.3.2技术可行性分析确定现有的技术是否能解决本该开发项目:本系统主要采用struts2+hibernate+spring架构,使用java语言,和mysql数据库等主要技术,整个平台构建于java ee之上,比较容易实现。所以在技术上也是可行的。1.3.3操作可行性分析确定软件产品是否能够被最终的用户所接受,用户是否能操作最终的产品:本系统采用b/s架构,客户端采用浏览器的形式,操作简单,方便使用。所以在操作上也是可行的。综上所述,此系统开发目标已明确,在技术和经济,操作三方面都可行,并且投入少、见效快。因此系统的开发是完全可行的。2 开发工具的选择2.1 java ee概述j2ee是美国sun公司推出的一种全新概念的应用程序模型,是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。与传统的互联网应用程序模型相比有着不可比拟的优势。目前,java 2平台有3个版本,它们是适用于小型设备和智能卡的java 2平台micro版(java 2 platform micro edition,j2me)、适用于桌面系统的java 2平台标准版(java 2 platform standard edition,j2se)、适用于创建服务器应用程序和服务的java 2平台企业版(java 2 platform enterprise edition,j2ee)。j2ee是一种利用java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。java语言相对于windows变成语言来说,最大优势在java语言是跨平台的,而widows的编程通常都是针对windows系统来开发,可移植性远不及java。j2ee技术的基础就是核心java平台或java 2平台的标准版,j2ee不仅巩固了标准版中的许多优点,例如编写一次、随处运行的特性、方便存取数据库的jdbc(java database connectivity)应用程序接口(api, application program interface)技术以及能够在internet应用中保护数据的安全模式等等,同时还提供了对 ejb(enterprise javabeans)、java servlets api、jsp(java server pages)以及xml技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。2.2 struts 2框架与mvc简介struts 2是struts的下一代产品,是在 struts 和webwork的技术基础上进行了合并的全新的struts 2框架。其全新的struts 2的体系结构与struts 1的体系结构的差别巨大。struts 2以webwork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与servlet api完全脱离开,所以struts 2可以理解为webwork的更新产品。虽然从struts 1到struts 2有着太大的变化,但是相对于webwork,struts 2只有很小的变化。图2-1 struts的工作原理图mvc模式英文即model-view-controller,即把一个应用的输入、处理、输出流程按照model、view、controller的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。视图(view)代表用户交互界面,对于web应用来说,可以概括为html界面,但有可能为xhtml、xml和applet。随着应用的复杂性和规模性,界面的处理也变得具有挑战性。模型(model):就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是mvc最主要的核心。控制(controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到 这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。图2-2 mvc的原理图2.3 hibernate与orm简介对象-关系映射(object/relation mapping,简称orm),是随着面向对象的软件开发方法发 展而产生的。面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数 据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法 直接表达多对多关联和继承关系。因此,对象-关系映射(orm)系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。hibernate是轻量级java ee应用的持久层解决方案,hibernate不仅管理java类到数据库表的映射(包括java数据类型到sql数据类型的映射),还是提供数据查询和获取数据的方法,可以大幅度缩短使用jdbc处理数据持久化的时间。目前的主流数据库依然是关系型数据库,而java语言则是面向对象的编程语言,当把二者结合在一起使用时相当麻烦,而hibernate则减少了这个问题的困扰,它完成对象模型和基本sql的关系模型的映射关系。因为有hibernate的支持,使得javaee应用的ooa(面向对象分析)、ood(面向对象设计)、oop(面向对象编程)三个过程一脉相承,成为一个整体。由于hibernate是一个和jdbc密切关联的框架,所以hibernate的兼容性和jdbc驱动,和数据库都有一定的关系,但是和使用它的java程序,和app server没有任何关系,也不存在兼容性问题。图2-3 hibernate体系总览图由于hibernate比较复杂,提供了好几种运行方式。在轻型体系中,应用程序自己提jdbc连接,并自行管理事务。这种方式使用了hibernate api的一个最小子集。(如下图)图2-4 hibernate轻型应用体系在前面解决体系中,对于应用程序来说,所有的底层jdbc/jta api都被抽象了,hibernate会替你照管好所有的细节。本文中所用到的就是这种体系。图2-5 hibernate全面应用解决体系以下是图中一些对象的定义: 1)sessionfactory 对属于单一数据库的编译过的映射文件的一个线程安全的,不可变的缓存快照。它是session的工厂,是connectionprovider的客户。可能持有一个可选的二级数据缓存,可以在进程级别后集群级别保存可以在事务中重用的数据。2)session 会话 session是生命周期的单线程对象,代表应用程序和持久层之间的一次对话。封装了一个jdbc连接,也是transaction的工厂。保存有必需的(第一级)持久化对象的缓存,用于遍历对象图或通过标识符查找对象。3)持久化对象(persistent object)及其集合(collection)生命周期短的单线程对象包含了持久化状态和商业功能。它们可能是普通的javabeans/pojos,唯一特别的是他们现在都从属于且仅从属于一个session。一旦session关闭,他们都将从session中取消联系,可以在任何程序层自由使用。4)事务(transaction)事务也是生命周期短的单线程对象,应用程序用它来表示一批工作的原子操作。是底层的jdbc,jta或者corba事务的抽象。一个session某些情况下可能跨越多个事务。2.4 spring简介spring 是一个开源 框 架,是为了解决企业 应 用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为j2ee 应用程序开发提供集成的框架。spring 框架的功能可以用在任何j2ee 服务器中,大多数功能也适用于不受管理 的环境。spring 的核心要点是:支持不绑定到特定j2ee 服务的可重用业务和数据访问对象。这样的对象可以在不同j2ee 环境(web 或ejb )、独立应用程序、测试 环境之间重用图2-7 spring框架的组成结构图组成spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下: 核心容器:核心容器提供spring 框架的基本功能。核心容器的主要组件是beanfactory ,它是工厂模式的实现。beanfactory 使用控制反转 (ioc ) 模式将应用程序的配置和依赖性规范与实际的应用程序代码 分 开。 spring 上下文:spring 上下文是一个配置文件,向spring 框架提供上下文信息。spring 上下文包括企业服务,例如jndi 、ejb 、电子邮件、国际化、校验和调度功能。 spring aop : 通过配置管理特性,spring aop 模块直接将面向方面的编程 功 能集成到了spring 框架中。所以,可以很容易地使spring 框架管理的任何对象支持aop 。spring aop 模块为基于spring 的应用程序中的对象提供了事务管理服务。通过使用spring aop ,不用依赖ejb 组件,就可以将声明性事务管理集成到应用程序中。 spring dao :jdbc dao 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库 供应商抛出的错误消息。异常层次结构简化了错误处理,并 且极大地降低了需要编写 的异常代码数量(例如打开和关闭连接)。spring dao 的面向jdbc 的异常遵从通用的dao 异常层次结构。 spring orm :spring 框架插入了若干个orm 框架,从而提供了orm 的对象关系工具,其中包括jdo 、hibernate 和ibatis sql map 。所有这些都遵从spring 的通用事务和dao 异常层次结构。 spring为企业应用的开发提供了一个轻量级的解决方案。该解决方案包括:基于依赖注入的核心机制,基于aop的声明式事务管理,与多种持久层技术的整合,以及优秀的web mvc 框架等。spring致力于java ee 应用各层的解决方案,而不是仅仅专注于某一层的方案。2.5 jsp技术简介jsp技术提供了一种简单快速的方法来创建显示动态生成内容的web页面。也就是在mvc中充当v(view)的角色。由业界处于领先地位的sun公司制定了相关的jsp技术规范,该规范定义了如何在服务器和jsp页面间进行交互,还描述了页面的格式和语法。jsp页面使用xml标签和scriptlets(一种使用java语言编写的脚本代码),封装了生成页面内容的逻辑。它将各种格式的标签(html或者xml)直接传递回响应页面。通过这种方式,jsp页面实现了页面逻辑与其设计和显示的分离。jsp技术是java系列技术的一部分。jsp页面被编译成servlet,并可能调用javabeans组件(beans)或enterprise javabeans组件(企业beans),以便在服务器端处理。因此,jsp技术在构建可升级的基于web的应用程 序时扮演了重要角色。 jsp页面并不局限于任何特定的平台或web服务器上。jsp规范在业界有着广泛的适应性。 jsp技术是行业协作的结果,它的设计是开放的,符合行业标准的,并支持绝大多数的服务器、浏览器和相关工具。由于使用可重用的组件和标签取代了对页面本身脚本语言的严重依赖,jsp技 术大大加快了开发的速度。所有jsp的实现均支持以java编程语言为基础的脚本语言,它有与生俱来的可适应性,支持复杂的操作。2.6 mysql数据库简介mysql是一个小型关系型数据库管理系统,开发者为瑞典mysql ab公司。在2008年1月16号被sun公司收购。而2009年,sun又被oracle收购。mysql是一种关联数据库管理系统,关联数据库将数据 保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。mysql的sql“结构化查询语言”。sql是用于访问数据库的最常用标准化语言。mysql软件采用了gpl(gnu通用公共许可证)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了mysql作为网站数据库。与其他的大型数据库例如oracle、db2、sql server等相比,mysql自有它的不足之处,如规模小、功能有限(mysql cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,mysql提供的功能已经绰绰有余,而且由于mysql是开放源码软件,因此可以大大降低总体拥有成本。目前internet上流行的网站构架方式是lamp(linux+apache+mysql+php/perl/python)和lnmp(linux+nginx+mysql+php/perl/python),即使用linux作为操作系统,apache和nginx作为web服务器,mysql作为数据库,php/perl/python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(floss),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统。3 系统总体设计3.1系统架构系统依据mvc模式可分为视图层、控制层、模型层。从程序分布位置角度,系统依次分布在浏览器、应用服务器、数据库系统三层,如图3.2所示。图3-1 系统结构图3.2系统分析3.2.1需求分析现代化学校应该有个现代化的管理系统去管理学校内的各项事物,学校是一个数据量比较大的单位,如何去管理及查询学校内的数据就成为了一项及为重要的问题,同时,学生选课、教务人员排课这项工作是教学管理中很重要的一个环节,所以开发出一个选排课系统就是现在及为重要的事情,从而选排课系统的重要性就不言而喻了。本系统的设计目的是要将学生选择课程和教务管理人员的编排课程通过网络进行管理。为学生、教师和教务管理人员提供便利。系统的用户有4种类型,分别为系统管理员、系教务管理员、学生、教师,系统对于一个用户只允许以一种身份登录。系统管理员登录后可以对系统进行信息管理,其主要操作是维护学生、教师和课程的基本信息。学生登录后的主要操作是选课和查看教师主页以及查看通知和发布留言。教师登录后主要操作是查看课表以及个人信息的维护、留言等功能。将系统需求加以总结,得出系统需求如下:l 系统可以运行在windows操作系统平台上,并具有友好的用户界面。l 系统用户类型为:系统管理员、教务人员、学生、教师。l 系统对于一个用户只允许以一种身份登录。l 只有系统管理员可以维护学生、教师和课程的基本信息。l 学生可以选课、查看教师主页并留言。l 教师可以选择查看课表、修改个人信息并增删改留言。3.2.2 系统功能模块划分 模块分析是描述系统需求的一个过程,需要将需求分析中的感性描述进行抽象,提取出要实现的功能,这是整个系统开发的一个关键过程。 需求分析的第一步,是描述学生课程及湘南学院体育选向课程平台的功能,以此确定系统的功能需求。学生课程及成绩管理的角色是系统管理员、教务人员、学生和教师,系统管理员对学生、教师和课程信息进行维护,学生选择想要上的课程,以及查看教师主页等,教师可以选择查看课表、修改个人信息等。根据以上的用户操作需求,将系统划分如下4大功能,并对其模块的划分和功能进行描述:l 系统管理员功能:登录:登录学生管理:添加、查询、修改、删除、附:查看学生已选课程 教师管理:添加、查询、修改、删除 课程管理:添加、查询、删除l 系教务管理员功能:登录:登录(需注册) 排课:根据学生选课信息进行自动、手动排课调课:根据学生选课信息进行调课 生成课表:根据排课信息生成课表通知:添加、查询、删除留言:查看l 学生功能: 登录:登录 选课:根据查询出来的课程进行选课课程表:课程表维护留言:自由向教师、系教务人员留言l 教师功能: 登录:登录(需注册)查看课表:查看个人课表,查看总课表个人信息:查看、修改留言:发布、删除、修改自己的留言整个系统的模块结构如图3-2所示图3-2系统结构图3.2.3系统流程本系统中的中心对象是学生和教师,根据以上的模块划分和功能分析可知,该系统的流程主要描述的是学生选择课程后,教师根据选课的学生给学生打分。该系统的使用对象包括学生、教师和教务人员,因此包括3个基本的流程:图3-3 系统管理员的操作流程图3-4学生的操作流程图3-5 教师的操作流程图3-6 系教务管理员的操作流程3.3 功能流程图本系统共有管理员、普通用户两种用户,根据其功能需求,它们相关的操作流程图如下所示:图3-7功能流程图3.4 数据库设计3.4.1 数据库概念结构设计概念结构的设计是将系统需求分析得到的用户需求抽象为信息结构过程。概念结构设计的结果是数据库的概念模型。只有将系统应用需求为信息世界的结构,才能转化为机器翻译世界中的数据模型,并用dbms实现这些需求。概念结构即概念模型,它使用的数据库实体对象及实体e-r图进行描述。1. 概念结构的特点概念结构独立于数据库逻辑结构和支持数据库的dbms,其主要特点是:1) 概念模型是对现实世界的一个真实模型,能真实、充分反映现实世界,能满足用户对数据的处理需求。2) 概念模型应当易于理解,被用户理解后,才可以与设计者交换意见,参与数据库的设计。3) 概念模型就易于修改,由于现实世界会发生变化,这就需要改变概念模型,易于更改的概念模型有利于修改和扩充。4) 概念模型就易于向数据模型转换,尤其是有利于向特定的数据模型转换。2. 概念结构的设计按照自顶向下分析需求与自底向上设计概念结构方法,概念结构的设计可分为两步:第一步是抽象数据并设计局部视图;第二步是集成局部视图,得到全局的概念结构。3.数据抽象与局部视图设计利用数据抽象的方法可以对现实世界抽象得出概念模型的子集及属性,概念结构设计是利用抽象机制对需求分析阶段悼念到的数据进行分类、组织(聚集),形成实体集、属性和码,确定实体集之间的联系类型,进而设计分e-r图。系统管理员属性有管理员编号、管理员用户名、管理员密码。图3-8 系统管理员实体e-r图系教务管理员属性有编号、用户名、密码、联系方式、电子邮箱等。图3-9 系教务管理员实体e-r图教师属性有编号、姓名、密码、性别、教师职称、所属系别、电话、电子邮箱等。图3-10 教师实体e-r图学生属性有学号、姓名、密码、专业、所在班级、系部、性别、联系方式、年纪、电子邮箱等。图3-11 学生实体e-r图课程属性有课程编号、课程名称、教师编号、总人数、已选人数、课程学分、课程描述总学时、数理论课学时、数课程类别、课程性质、系部、专业、节次、上课地点、开始周、结束周等。图3-12 课程实体e-r图公告信息属性有标题、公告编号、内容、发布时间、阅读人数等。图3-13 公告信息实体e-r图选课信息属性有课程编号、学生学号等。图3-14 选课信息实体e-r图留言信息属性有留言编号、姓名、留言内容、电子邮箱等。图3-15 留言信息实体e-r图3.4.2数据字典数据库在系统中占有及其重要的地位,数据库结构设计的好坏关系到系统的运行效率、存储数据的效率、系统的复杂程度等,合理的数据库结构设计可以提高系统性能。依据上述e-r图本系统各个表字的字段设置如下列表所示:本系统一共建立了如表3-1的8张表。表3-1表名称说明managerinfo管理员信息表admininfo系教务管理员信息表teacherinfo教师信息表studentinfo学生信息表courseinfo课程信息表noticemessage公告信息表selectcourse选课信息表leavewords留言信息表数据表字段说明:图3-16 managerinfo表及字段说明图图3-17 admininfo表及字段说明图图3-18 teacherinfo表及字段说明图图3-19 studentinfo表及字段说明图图3-20 noticemessage表及字段说明图图3-21 courseinfo表及字段说明图图3-22 selectcourse表及字段说明图图3-23 leavewords表及字段说明图4 系统的具体实现和测试本系统完成之后,就必须设计许多的测试用例来验证本系统的正确性,容错能力和恢复能力,信息安全性,可靠性等,尽可能多地找出系统的错误所在。4.1 创建数据库表相关根据数据库字段设计,编写好model层的pojo以及对应hibernate的配置文件(如右图所示),以便利用hibernate强大的创表工具schemaexport创建数据库表。创好表后,为了方便后面的开发,在这里先向数据库managerinfo 表插入一条记录用作系统管理员测试:insert intomanagerinfo (mid,mpassword,mname)values (admin,admin,admin);图4.1 pojo模型初步设计图4.2 用户登入功能的实现和测试用户在浏览器中输入地址:http:/localhost:8080/mychoosecourse/login,系统会自动根据用户的类型,进入住界面出现不同的菜单。用户登入时进行的用户名和密码由login.action处理,其关键代码实现见附录(2)。以下是登入界面:图4.2 登入界面5 系统安全性能及运行工程5.1系统安全性能 为了保证系统的安全性,操作人员进入本系统前必须输入与相关用户名对应的有效密码,不知道密码的非操作人员无权进入本系统。根据操作人员权限的不同级别设置,来给定该操作人员的操作权限,同时后台控制器在接受每一次请求时都会自动对身份进行严格验证、以防止不法份子进行非法操作,确保了系统的安全。5.2 运行工程5.2.1开发平台本系统的开发环境组件如下所示:l web服务器: tomcatv6.0.32l 数据库服务器mysql.l 开发平台: myeclipsv8.6. 5.2.2导入工程本系统的调试经过如下步驟:(1)打开myeclipse集成开发工具.(2)点击file菜单,选择import.选项(3)选择已存在的工程导入工作空间即可5.2.3 运行工程(1)单击myeclips的工具按钮run,显示run as选择myeclipse server application.(2) 单击add按钮,显示new deployment 对话框.(3) 在下拉列表况server中选中tomcat6.0.(4) 单击完成.致此布署完成(5) 单击eclipse 的工具按钮start tomcat,启动tomcat.(6) 启动成功后,打开浏览器,用localhost访问本网站即可.结 论 本系统采用java平台开源框架struts2、hibernate结合spring实现了一个比较实用的选排课系统的设计与开发。系统构建于java ee平台之上,具有相当的实用性。实现时主要采用mvc模型。各模块具有相当的独立性,因此系统的可重用性也比较高。使用java语言作为开发语言,使得程序具有良好的可移植性。再结合java 5.0新特性,使得系统也具有良好的可维护性和可扩展性。 整个选排课系统系统开发过程中也遇到不少困难,比如工具限制等等,加之整个系统单人开发、时间有限,考虑问题难免有所不全,整个系统宏观上做的还不是很完善,学生和教师模块做得还是比较简陋。本次毕业设计使我学到了很多新东西,使我对三大开源框架ssh的了解更加深入,同时巩固了mvc的分层设计思想。但是也发现了自身的许多不足,相信通过以后的工作上学习与实践,一定会有更大的提高。参考文献1齐治昌,谭庆平,宁洪.软件工程(第二版)m.北京:高等教育出版社,2004.2梁健全.精通轻量级java ee框架整合方案m.北京:人民邮电出版社,2008.3马建红,李占波.jsp应用与开发技术m.北京:清华大学出版社,2011.4孙鑫.struts 2深入详解 m.北京:电子工业出版社,2008.5杨选辉.网页设计与制作教程 m.北京:清华大学出版社,2008.6李刚.轻量级java ee企业应用实战:struts2+spring+hibernate整合开发m.北京:电子工业出版社,2008.7美bruce eckel.陈昊鹏 译 java编程思想(第4版)m.北京:机械工业出版社,2007.8美nicholas c.zakas.曹力 张欣 译 javascript高级程序设计m.北京:人民邮电出版社,2009.9美russell j.t dyer 李红军,李冬梅 译 mysql核心技术手册(第二版)m.北京:机械工业出版社,2006.10美cay s.horstmann gary cornell.叶乃文 邝劲筠 杜永萍 译 java核心技术 卷i:基础知识(第8版)m.北京:机械工业出版社,2008.11美joshua bloch.杨春花 余黎敏 译 effective java中文版(第2版)m.北京:机械工业出版社,2009.致 谢本论文是在谢桂芳老师的悉心指导和热情关怀下完成的。谢老师渊博的学识、严峻的治学态度及随和的为人之道给我留下了难以磨灭的印象,这将使我终身受益,同时,谢老师在生活上也给了我极大的鼓励和帮助。为此,我要对他致以最衷心的感谢.在本科学习的四年中,我与同学建立了深厚的友谊,他们在我遇到困难时无私地伸出援助之手,对他们的帮助我特别感谢。最后,对关心、支持我的亲人和老师致以最衷心的感谢。学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下进行的研究工作所取得的成果。尽我所知,除文中已经特别注明引用的内容和致谢的地方外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式注明并表示感谢。本人完全意识到本声明的法律结果由本人承担。学位论文作者(本人签名): 年 月 日学位论文出版授权书本人及导师完全同意中国博士学位论文全文数据库出版章程、中国优秀硕士学位论文全文数据库出版章程(以下简称“章程”),愿意将本人的学位论文提交“中国学术期刊(光盘版)电子杂志社”在中国

温馨提示

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

评论

0/150

提交评论