当前位置:文档之家› 基于SSH的信息工程学院毕业生设计中后期管理系统的设计与实现(1)

基于SSH的信息工程学院毕业生设计中后期管理系统的设计与实现(1)

编号:

本科毕业设计

基于SSH的毕业生设计中后期管理系统的设计与实现

院系:信息工程学院

姓名:1134150227

学号:1134150227

专业:计算机科学与技术

年级:ZB1102

指导教师:魏

职称:副教授

完成日期:2013年5月

摘要

信息工程毕业生设计中后期管理系统具有突破时间和地域限制的优势,它不仅适用于学生随时随地上传自己的毕业设计,而且还适用于教师随时随地给毕业生设计提出自己的指导意见。针对毕业生设计建立中后期管理系统平台,可以使学生在撰写毕业设计期间,能够随时和自己的指导老师交流和沟通,以便于同学们遇到问题时得到及时解决。

通过毕业生设计中后期管理系统,学生可以直接在因特网上注册自己的信息,然后登陆到本系统进行毕业设计的上传、提交、浏览、查看自己的毕业设计以及指导老师的评分等。毕业生设计中后期管理系统在很大程度上解决了学生与指导老师在时间和地域上的限制,还提高了管理毕业设计的效率,节约老师和学生的时间,为毕业生能够尽快通过毕业答辩创造了良好的条件。

本文介绍了在MyEclipse 8.6环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发一个管理信息系统的过程。通过分析信息工程学院学生管理的不足,创建了一套行之有效的计算机管理毕业生设计的方案。文章介绍了毕业生设计管理系统的系统需求分析部分,包括可行性研究、系统的实现等;系统概要设计部分主要介绍了系统模块设计和数据库结构设计;系统实现部分说明了几个主要模块的算法,本系统界面友好,操作简单,比较实用。

关键词:毕业生设计中后期管理系统;网上注册;上传;提交;浏览;通过;答辩

Abstract

The late management system design information engineering graduates have the breakthrough time and the advantages of geographical restrictions, it is not only suitable for graduate design students whenever and wherever possible to upload their own, but also applicable to teachers whenever and wherever possible to graduate design guidance of their. According to the late management system platform design of graduates, can make students during writing the graduation design, can at any time and his teacher exchanges and communication, so that students encounter problems are solved in time.

Through the late management system of graduate design, students can register their information on the Internet directly, and then log on to the system of graduation design, browse, upload, submitted to view his graduation design as well as the score teachers etc.. The late management system design graduate students and teachers to solve in time and geographical restrictions to a large extent, but also improve the efficiency of management of graduation design, save the time of teachers and students, graduates can create a good through the graduation reply as soon as possible.This paper introduces the adoption of the "top-down to the overall planning in MyEclipse 8.6 environment, from the bottom of Shangdi application development" strategy to develop a management information system process. Through the analysis of the insufficient information engineering college student management, establish a set of effective management of the graduates of computer design scheme.

This paper introduces the system requirements of graduate design management system analysis, including feasibility study, the realization of the system; the outline design part mainly introduced the system module design and the database design; the system realization part explained several main modules algorithm, this system friendly interface, simple operation, more practical.

Keywords:The late management system design graduate; online registration; upload; submit; browse through; defense

目录

1 绪论 (1)

1.1 课题研究背景 (1)

1.2 研究目的与意义 (1)

2平台技术介绍 (3)

2.1 Struts2简介 (3)

2.2 Hibernate简介 (4)

2.3 JSP简介 (5)

2.4 Javascript简介 (5)

2.5 MVC简介 (6)

2.6 MYSQL简介 (7)

3 系统需求分析 (8)

3.1系统可行性研究 (8)

3.1.1 经济可行性研究 (8)

3.1.2技术可行性研究 (8)

3.1.3 操作可行性研究 (9)

3.2 系统需求 (9)

3.3 功能需求分析 (10)

3.4 运行环境 (11)

4 系统概要设计 (12)

4.1 设计思想 (12)

4.2 总体设计原则 (12)

4.3 技术框架设计 (13)

4.4 系统模块设计 (14)

4.5 数据库结构设计 (15)

4.5.1 数据库需求分析 (16)

4.5.2 数据库的概念设计 (16)

4.5.3 数据的逻辑设计 (18)

5 系统的实现 (21)

5.1 系统的开发环境 (21)

5.1.1 系统的硬件环境 (21)

5.1.2 系统的软件环境 (21)

5.2 登陆模块的实现 (21)

5.2.1用户注册界面 (21)

5.2.2登录界面 (22)

5.3子系统功能实现 (23)

5.3.1 管理员功能 (23)

5.3.2 学生功能 (25)

5.3.3 教师功能 (26)

6 系统测试 (30)

6.1 测试目的 (30)

6.2 测试方法 (30)

6.3 登录测试用例 (31)

6.4 各功能模块测试 (32)

6.4.1管理员模块测试 (32)

6.4.2教师模块测试 (33)

6.4.3学生模块测试 (35)

总结 (36)

参考文献 (37)

致谢 (38)

1 绪论

1.1 课题研究背景

随着信息化的迅速发展和学校规模的不断扩大,在校学生人数越来越多,对毕业生设计的管理越来越趋向自动化,旧式的毕业设计管理已远远不能满足现在日益增长的学生人数。机械化、自动化、便捷化的毕业设计管理已经成为现在各大学校的管理理念。

目前,在全国各大高校用网络来管理毕业生设计的并不多。有一部分高校已经使用了毕业生设计网络管理系统,但还是存在一些不足之处。比如:缺乏老师与学生的双向选择性;缺少学生提交自选论文题目的机会;同时也缺少老师去接受学生选题的机会;还缺少发布毕业设计相关信息的功能。还有一些相类似的系统,如:毕业论文选题系统,只有老师上传题目,学生选择题,而没有学生提交论文和老师批阅论文后进行点评并给出成绩的功能;还有一些是只能保存和查询历年毕业设计的功能的系统。

而对于我院,目前还没有毕业设计管理系统,通过对现状的分析,以及对我校的具体情况的调查后,我决定开发此“毕业生设计中后期管理系统的设计与实现”。本系统的创新之处在于为信息工程学院量身定做。设计时不仅操作界面充分考虑到教师和学生的习惯,输入规范、可靠、操作简单;并且各方面功能也完全按照信息工程学院的需求定做。同时本系统也适用于所有高校。

1.2 研究目的与意义

我们知道,目前大多数大四学生呆在学校的时间并不多,有的出去找工作,有的研究生考试复试等。这样可能造成学生无法了解到毕业设计的相关信息,学生和教师之间无法很好的沟通与交流,写好了毕业设计教师也无法批阅。同时也给教学管理者带来不便。

基于SSH的毕业生设计中后期管理系统是为了方便广大教师审批毕业生的毕业设计,同时也是为了帮助同学们在做毕业设计出现问题时能及时地与老师取得联系,得到老师指导。这样就使得同学和教师更容易沟通,也便于同学们遇到问题时得到及时解决。

通过该系统的网上交互式毕业设计管理系统,学生可以直接在因特网上注册,提

交、修改自己的毕业设计等,而指导老师也可以通过该系统给学生提出指导意见和给设计打分等等。基于工作流的信息工程学院毕业生设计中后期管理在很大程度上解决了学生和老师在时间和地域的限制。这样的网上毕业答辩以高效率、低成本的先进理念,打造出一种新的模式,适应了当代高校网上毕业答辩的一种新的方式。

此系统的好处归纳如下:

(1) 给学生带来的便利

可使学生不在学校也能上传写好的毕业设计、查看教师对毕业设计的点评以及给出的成绩;可以查看老师的相关信息以便与老师联系;还可以查看到有关毕业设计的最新消息和修改个人注册信息。

(2) 给教师带来的便利

老师可以直接在网上批阅并点评学生的毕业设计;如有相关事情只要登录此系统就能查看到学生信息及时与之联系。也可以修改个人相关信息。

(3) 给教学管理带来的便利教

很方便的对学生信息、老师信息和毕业设计信息进行各项统计,可以很快的通过各种方式查询所需要的信息以及对一些错误信息进行修改和删除。

从大的方面讲,充分利用网络资源节省了大量的人力、物力和财力。

2平台技术介绍

2.1 Struts2简介

Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。

Struts2是在WebWork基础上发展起来的,可扩展的JAVA EE web框架。框架设计的目标贯穿整个开发周期,从开发到发布,包括维护的整个过程。 Action类:Struts2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去实现常用的接口。Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Action对象。

线程模式:Struts2 Action对象为每一个请求产生一个实例,因此没有线程安全问题。

Servlet依赖:Struts2 Action不依赖于容器,允许Action脱离容器单独被测试。如果需要,Struts2 Action仍然可以访问初始的request和response。但是,其他的元素减少或者消除了直接访问HttpServetRequest和HttpServletResponse的必要性。

可测试性:Struts2 Action可以通过初始化、设置属性、调用方法来测试,“依赖注入”支持也使测试更容易。

捕获输入:Struts2直接使用Action属性作为输入属性,消除了对第二个输入对象的需求。Action属性能够通过web页面上的taglibs访问。表达式语言:Struts 2 使用“ValueStack”技术,使taglib能够访问值而不需要把你的页面(view)和对象绑定起来。ValueStack策略允许通过一系列名称相同但类型不同的属性重用页面(view)。Struts2不仅支持JSTL,Struts2 还可使用OGNL进行类型转换。提供基本和常用对象的转换器。校验:Struts2支持通过validate方法和XWork校验框架来进行校验。XWork 校验框架使用为属性类类型定义的校验和内容校验,来支持chain校验子属性。

2.2 Hibernate简介

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE 架构中取代CMP,完成数据持久化的重任。

Hibernate与其他ORM框架对比具有如下优势:

(1) 开源和免费的License,方便需要时研究源代码、改写源代码、进行功能定制。

(2) 轻量级封装,避免引入过多复杂的问题,调试容易,可减轻程序员负担。

(3) 具有可扩展性,API开放。功能不够用时,可自己编码进行扩展。

(4) 开发者活跃,产品有稳定的发展保障。Hibernate的工作方式灵巧的设计,出色的性能表现。

Hibernate是一个免费的开源Java包,是目前最流行的ORM框架,它是一个面向Java 环境的对象/关系数据库映射工具。也是一个轻量级的O/R Mapping框架,它问世的时间并不长,但已经成为目前最流行的持久层解决方案。它使得程序与数据库的交互变得十分容易,更加符合面向对象的设计思想,像数据库中包含普通Java对象一样,而不必考虑如何把它们从数据库表中取出。使开发者可以专注于应用程序的对象和功能,而不必关心如何保存它们或查找这些对象。甚至在对SQL语句完全不了解的情况下,使用hibernate仍然可以开发出优秀的包含数据库访问的应用程序。

Hibernate工作原理

启动Hibernate

构建Configuration实例,初始化该实例中的所有变量 Configuration cfg = new Configuration().configure();

加载hibernate.cfg.xml文件至该实例内存

通过hibernate.xfg.xml文件中的mapping节点配置,加载hbm.xml文件至该实例内存利用上面创建的Configuration实例构建一个SessionFactory实例 SessionFactory sf = cfg.buildSessionFactory();

由上面得到的SessionFactory实例创建连接 Session s = sf.openSession();

由上面得到的Session实例创建事务操作接口Transaction的一个实例tx Transaction tx = s.beginTransaction();

通过Session接口提供的各种方法操作数据库的访问

提交数据库的操作结果 https://www.doczj.com/doc/397218011.html,mit();

关闭Session链接s.close();

2.3 JSP简介

JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,该技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。

JSP具有以下一些特点:

(1) 一次编写,随处运行

JSP 作为Java技术家族的一部分,继承了Java“一次编写,随处运行”(Write once,Run anywhere)的特点。使用JSP,意味着即使服务器平台被更换,也不会影响现有程序的正常运行。

(2) 可重用组件技术

JSP可以通过JavaBean、EnterpriseBean等组件技术来封装较为复杂的应用,开发人员可以共享已经开发完成的组件,从而大大提高JSP应用的开发效率和可扩展性。

(3) 标记化页面开发

JSP将许多常用功能封装起来,以XML标记的形式展现给JSP开发人员,这样即使JSP 开发人员不熟悉Java语言,也可以轻松编写JSP程序,这就降低了JSP的开发难度。此外,标记化的JSP应用,也有助实现“形式和内容相分离”这一重要原则。形式和内容相分离,使得JSP页面结构更加清晰,有助于日后的维护。

(4) 对大型复杂Web应用支持良好

未来的Web应用将日趋复杂,基于数据库的多层企业应用构架将日渐成为主流。JSP 提供的Servlet、JavaBean、EnterpriseBean和JDBC等技术,以及JSP本身所具有的健壮的存储管理和安全性,使得JSP很容易整合到多层应用结构中。JSP完全有能力支持高度复杂的基于Web的应用。

2.4 Javascript简介

Javascript就是适应动态网页制作的需要而诞生的一种新的编程语言,如今越来越广泛地使用于Internet网页制作上。Javascript是由Netscape公司开发的一种脚本语言(scripting language),或者称为描述语言。JavaScript程序是由若干语句组成的,语句是编写程序的指令。JavaScript提供了完整的基本编程语句,它们是:赋值

语句、switch选择语句、while循环语句、for循环语句、for each循环语句、do...while 循环语句、break循环中止语句、continue循环中断语句、with语句、try…catch语句、if语句(if..else,if…else if…)。在HTML基础上,使用Javascript 可以开发交互式Web网页。Javascript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。运行用Javascript编写的程序需要能支持Javascript语言的浏览器。Netscape公司Navigator3.0以上版本的浏览器都能支持Javascript程序,微软公司Internet Explorer3.0 以上版本的浏览器基本上支持Javascript。微软公司还有自己开发的 Javascript,称为 JScript。Javascript和Jscript基本上是相同的,只是在一些细节上有出入。Javascript短小精悍,又是在客户机上执行的,大大提高了网页的浏览速度和交互能力。同时它又是专门为制作Web网页而量身定做的一种简单的编程语言。虽然,在Dreamweaver的Behaviors可以为我们方便地使用Javascript程序而不用编写代码,但我们自己了解了Javascript的编程方法后,将能更加方便灵活地应用,也使Javascript的代码更简练。

2.5 MVC简介

MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。

视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。

模型(Model):就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。业务模型还有一个很重要的模型那就是数据模型。数据模型主要指实体对象的数据保存(持续化)。比如将一张订单保存到数据库,从数据库获取订单。我们可以将这个模型单独列出,所有有关数据库的操作只限制在该模型中。

控制(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同

完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受请求后, 并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个模型。

2.6 MYSQL简介

MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。

系统特性

(1) 支持多线程,充分利用CPU资源

(2) 优化的SQL查询算法,有效地提高查询速度

(3) 既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。

(4) 提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。

(5) 提供TCP/IP、ODBC和JDBC等多种数据库连接途径。

(6) 提供用于管理、检查、优化数据库操作的管理工具。

(7) 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。

(8) 支持多种存储引擎。

3 系统需求分析

3.1系统可行性研究

在深入调查的基础上就可以提出系统目标,即系统建立后所要求达到的运行指标,这是系统开发和评价的依据。系统目标应充分体现学校的战略目标、发展方向和基本特点,直接为学校管理服务,同时,系统目标应该和现行操作方式的各项基本功能密切相关,并且可以分期分批实现。需要指出的是,系统目标不可能在总体规划阶段就提得非常具体,它还将在开发过程中逐步明确和定量化。在系统中要更好地体现出简单明了的操作,避免以前的繁琐操作。系统目标的提法不尽相同,例如:提高工作效率和减轻劳动强度;让教师工作更加轻松;

提高信息处理速度和有效性;使其处理更加方便;

提供最新的动态和及时信息;对于学生的特殊情况能够更好地体现;答辩流程与毕业设计管理提供更方便的服务项目。

系统的目标确定后,就可以从以下几个面对能否实现新系统目标进行可行性分析。

3.1.1 经济可行性研究

因为通过网络传递信息可以不受距离的限制,因此可以借助许多的人力和物力,方便管理,由此可以减少不必要的开支,所以从开发费用上完全是可行的。

本管理系统是一个信息化、智能化和先进管理理念的集合体。而管理是一个动态过程,在其运行过程中要采取多项措施。所以在管理中获得经济效益是一个综合效益,要对它进行直接定量的分析是比较困难的。一般新系统带来的经济效益是显著的,本系统的表现有减少了学校的打印方面的费用,在外工作的学生不用耽误上班就可以进行与教师交流,增加了学生的收入。而其它一些繁琐的事物都通过新系统来加以分析解决,不仅节省了大量的时间,还为学校的各项决策提供了宝贵的资料。教师一般都会使用计算机,节约了培训费用,所以在经济上是可行的。

3.1.2技术可行性研究

技术可行性分析主要包含了三个方面:目前有关技术是否支持所开发的新系统;新系统开发人员的数量和水平,即人力资源;硬件和软件资源。

本系统的总体架构采用三层架构模型,使用JSP技术与MYSQL数据库相结合的方法可以完成本系统的开发。而且就目前而言,已经有不少使用类似方法开发成功的例子。目前管理信息系统从技术上来说已相当成熟,伴随着信息领域和其他领域的发展,其自身也在不断的发展完善,就其目前的发展水平来说,已经基本能够满足学校的需要。本系统在一般配置的计算机上就可以运行,没有过高的要求,所以在技术上是可行的。

3.1.3 操作可行性研究

毕业生设计中后期管理系统以计算机为操作工具,按照毕业答辩的流程,把设计保存在数据库中,通过计算机可以很方便地查询使用所需要的数据,而且这些操作全部由系统内部完成,学生和老师可以通过系统的界面,进行操作。本系统界面友好,操作简单,任何人都可以很快掌握操作原理并使用。本系统界面友好,操作简单,任何人都可以很快掌握操作原理并使用。

由此,该系统的操作是可行的,有必要开发该系统。

3.2 系统需求

整个系统是要实现黄淮学院信息工程学院全日制毕业生学生设计管理等相关文件。信息工程学院现有通信工程、软件工程、计算机科学与技术、电子信息工程、网络工程五个本科专业。2013年信息工程学院各专业毕业生人数如表 3-1所示

随着社会的发展,经过本院全体师生的共同努力,学校的规模不断的扩大,信息工程学院每年的毕业生人数也逐渐增多,传统的毕业生设计的中后期管理方式,易发生数据丢失,统计错误,劳动强度高,且速度慢。使用本系统可以高速,快捷地完成以上工作。使用本系统,数据在网上传递,可以实现数据共享,避免重复劳动,规范毕业生设计管理行为,从而提高了管理效率和水平。毕业生设计中后期管理信息系统

以计算机为工具,通过对管理所需的信息管理,把教师从繁琐传统的毕业生设计的后期管理中解脱出来,减轻教师工作的压力,从而全面提高教师的工作效率。

3.3 功能需求分析

毕业生论文后期管理系统的据流图如图3-1所示:

图3-1系统数据流图

在实际关注与调查中发现,整个系统在运转过程中,最主要分为了三大模块即:管理员,教师,学生。

它们的各自功能分别如下:

(1) 管理员,主要是审核学生与教师信息;

(2) 教师,主要是给学生设计评分,并把设计提交给答辩组;

(3) 学生,把设计提交给指导老师,并查看设计评分。

系统总体功能模块如图3-2所示:

图3-2 系统功能模块图3.4 运行环境

(1) 硬件平台:

CPU:AMD Athlon II X4(速龙II四核)

内存:金士顿(Kington)DDR3 1333 4G

硬盘空间:希捷(Seagate)500G

(2) 软件平台:

操作系统:WindowsXP(SP3);

数据库:MySQL;

开发平台:MyEclipse8.6

4 系统概要设计

4.1 设计思想

(1) 提供良好的用户界面,具有使用方便、功能齐全、清晰而灵活、易于扩充和修改等特点。

(2) 包含有非常丰富的语言处理程序、实用程序以及开发软件用的工具性软件,向用户提供了非常完备的软件开发环境。

(3) 系统必须易于理解、扩充,并具有非常好的可移植性。

(4) 系统还必须提供安全防护措施,可以有效地防止非法侵入,保证数据安全。

(5) 服务器操作系统与网络操作系统保持高度的一致,可以很方便地通过网络实现资源与数据共享。

(6) 具有良好的开放性、可伸缩性和互操作性。

(7) 操作系统维护成本较低。

4.2 总体设计原则

为确保系统的建设成功与可持续发展,在系统的建设与技术方案设计时我们遵循如下的原则:

(1) 统一设计原则统筹规划和统一设计系统结构。尤其是应用系统建设结构、数据模型结构、数据存储结构以及系统扩展规划等内容,均需从全局出发、从长远的角度考虑。

(2) 先进性原则系统构成必须采用成熟、具有国内先进水平,并符合国际发展趋势的技术、软件产品和设备。在设计过程中充分依照国际上的规范、标准,借鉴国内外目前成熟的主流网络和综合信息系统的体系结构,以保证系统具有较长的生命力和扩展能力。保证先进性的同时还要保证技术的稳定、安全性。

(3) 高可靠/安全性原则系统设计和数据架构设计中充分考虑系统的安全和可靠。

(4) 成熟性原则系统要采用国际主流、成熟的体系架构来构建,实现跨平台的应用。

(5) 可扩展性原则信息系统设计要考虑到业务未来发展的需要,尽可能设计得简明,降低各功能模块耦合度并充分考虑兼容性。系统能够支持对多种格式数据的存储。

4.3 技术框架设计

本项目采用MVC模式开发。MVC设计模式是一个存在于服务器表达层的模型,它将应用分开,改变应用之间的高度耦合,其中MVC是 Model-View-Control 的简称,即模型-视图-控制器。本系统用到的核心技术是Struts2,Hibernate2;通过Dreamweaver进行网页布局,用Photoshop对图片进行美化。以下对Struts2,Hibernate2介绍。

Struts2是Struts的下一代产品。是在 struts 和WebWork的技术基础上进行了合并,全新的Struts 2框架。其全新的Struts2的体系结构与Struts1的体系结构的差别巨大。Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts2可以理解为WebWork的更新产品。因为Struts2和Struts1有着太大的变化,但是相对于WebWork,Struts2只有很小的变化。

一个请求在Struts2框架中的处理大概分为以下几个步骤

(1) 客户端初始化一个指向Web容器的请求。

(2) 请求经过一系列过滤器(Filter)的过滤并传递给FilterDispatcher。

(3) FilterDispatcher接收到请求信息后,会根据URL在ActionMapper中搜索指定Action的映射信息。

(4) 如果找到符合的映射信息,ActionProxy通过Configuration Manager在配置文件Struts.xml中搜索被请求的Action类。

(5) ActionProxy创建一个被请求Action的实例,该实例用来处理请求信息。

(6) 如果在配置文件Struts.xml中存在与请求Action相关的拦截器配置,那么该Action的实例被调用的前后,这些拦截器也会先被执行。

(7) Action对请求处理完毕后返回一个逻辑视图,此逻辑视图寻找对应的物理视图,并返回给客户端。

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

Hibernate工作原理

(1) 启动Hibernate

构建Configuration实例,初始化该实例中的所有变量 Configuration cfg = new Configuration().configure();

(2) 加载hibernate.cfg.xml文件至该实例内存

通过hibernate.cfg.xml文件中的mapping节点配置,加载hbm.xml文件至该实例内存利用上面创建的Configuration实例构建一个SessionFactory实例SessionFactory sf = cfg.buildSessionFactory();

(3) 由上面得到的SessionFactory实例创建连接

Session s = sf.openSession();

(4) 由上面得到的Session实例创建事务操作接口Transaction的一个实例tx Transaction tx = s.beginTransaction();

(5) 通过Session接口提供的各种方法操作数据库的访问;

(6) 提交数据库的操作结果 https://www.doczj.com/doc/397218011.html,mit();

(7) 关闭Session链接 s.close();

4.4 系统模块设计

(1) 根据第三章的功能需求分析管理员的模块用例图,如图4-1所示

图4-1管理员模块用例图

(2) 根据第三章的功能需求分析教模块用例图,如图4-2所示:

图4-2教师模块用例图

(3) 根据第三章的功能需求分析学生模块用例图,如图4-3所示:

图4-3学生模块用例图

4.5 数据库结构设计

数据库(database)是数据管理的最新技术,具有数据结构化、最低冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优点。所谓数据库是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。数据库的应用已经越来越广泛了,不仅大型计算机及中小型计算机,甚至微型计算机都用先进的数据库技术来保持系统数据的整体性、完整性和共享性。

数据库设计(database design)是将业务对象转换为表和视图等数据库对象的过程。数据库设计是数据库应用系统开发过程中首要的和基本的内容。数据库是信息系统的核心和基础。它把信息系统中的大量数据按照一定的模型组织起来,提供存储、

相关主题
文本预览
相关文档 最新文档