1、本科毕业论文(20 届)本科毕业设计文档管理系统设计所在学院专业班级 软件工程学生姓名指导教师完成日期本科毕业设计文档管理系统设计摘要目前OA办公系统技术已经十分成熟,但是本院毕业设计文档管理还是用的传统的纸质文档管理,由于毕业生在做毕业设计及论文的时候文档繁多,管理复杂且容易出错,所以笔者开始着手设计开发该文档管理系统。将全院本科毕业设计文档有效的管理起来,让这些文档的管理可以通过不同的人在有网络的地方进行管理。不用再使用纸质的文档,这样可以大大加强管理的方便性和快捷性。文中详细介绍了该系统的设计方案及已实现的系统功能。主要研究内容如下:第一,介绍了本系统用到的基础理论知识,分析实现该系统框
2、架,并且根据本文中系统的需求最终确定系统开发所采用的框架。第二,分析J2EE企业级系统开发J2EE框架的运行原理。分析J2EE的Struts 与Hibernate框架的实现原理。Struts 是Apache软件基金会(ASF)赞助的一个开源项目,它采用MVC模式,能够很好地帮助java 开发者利用J2EE开发Web应用;Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。第三,分析数据库设计原理。关键字: OA 办公系统 Struts Hibernate SQLServer2005 Unde
3、rgraduate Course Graduation Design Document Management System DesignAbstractOA office system technology is already very mature, but the school graduation design document management or use of the traditional paper-based document management, due to graduate when doing the graduation design and thesis
4、document is various, management complex and error prone, so set out to design and develop such a document management system. Will the school undergraduate course graduation design document and effective management, can let the document management through different people where there is network manag
5、ement. Dont use paper document, so can greatly strengthen the management of the convenience and fast speed. This paper introduces in detail the system design scheme and the implemented system function. The main research content is as follows: first, introduced this system using the basic theory of k
6、nowledge, analysis the realization of the system framework, and finally determined according to the requirements of this article system adopted by the system development framework. Second, the analysis of the J2EE enterprise operation principle of system development, J2EE framework. Analysis of J2EE
7、 implementation principle of Struts and Hibernate framework. Struts is Apache software foundation (ASF) sponsored an open source project, it USES the MVC pattern, can effectively help Java developers use the J2EE Web application; Hibernate is an open source object-relational mapping framework, it is
8、 very lightweight for JDBC object encapsulation, make the use of Java programmers can follow ones inclinations to manipulate the database object programming thinking. Third, the analysis principle of database design.Key words: OA office system、 Struts、 Hibernate、 SQLServer2005 目录1 引言 .11.1 课题研究的背景 .
9、11.2 课题研究成果应用的实际意义 .12 相关技术简介 .32.1 STRUTS 技术 .32.2 HIBERNATE 技术 .32.3 AJAX 架构 .32.4 JSON 技术 .42.5 DWR 技术 .42.6 EXT 技术 .43 需求分析 .53.1 系统实现目标 .53.2 系统开发环境 .53.3 功能性需求描述 .64 系统设计 .94.1 发布毕业设计项目功能 .94.2 学生选题功能 .114.3 项目调整功能 .124.4 毕业设计项目公布功能 .134.5 数据库设计 .135 系统实现 .185.1 登陆界面 .185.2 系统主页 .195.3 后台管理功能
10、.19(1)教师管理 .19(2)学生管理 .205.4 定义毕业设计功能 .215.5 项目管理功能 .225.6 选题公布功能 .235.7 其他后续功能 .246 结论 .257 致谢 .26参考文献 .2711 引言1.1 课题研究的背景随着管理软件应用的逐渐成熟,企业管理软件完成一轮的“应用洗牌”后渐淘汰掉一批零散型的应用系统,形成了以行业核心业务系统(如ERP,CTAX,HIS等)和OA二分天下的局面。办公自动化(OA)是面向组织的日常运作和管理,员工及管理者使用频率最高的应用系统,自1985年国内召开第一次办公自动化规划会议以来,OA在应用内容的深度与广度、IT技术运用等方面都有
11、了新的变化和发展,并成为组织不可缺的核心应用系统。OA系统是实现办公自动化的工具,是通过采用Internet技术,基于工作流的概念,以信息技术为中心,采用一系列现代化的办公设备和先进的通信技术,广泛、全面、迅速地对信息进行收集、整理、加工、存储和使用的办公系统。经过笔者研究发现,全院毕业设计文档管理还是用的传统的纸质文档管理,由于毕业生在做毕业设计及论文的时候文档繁多,管理复杂且容易出错。还存在消息不容易发布,有问题反馈不及时等问题。本项目在充分了解毕业设计文档管理的流程和方法之后,分析出能够形成OA系统的需求,然后通过系统概要设计、详细设计、数据库设计、开发形成了一个本科毕业设计文档OA系统
12、。让这些文档的管理可以通过不同的人在有网络的地方进行管理。不用再使用纸质的文档,这样可以大大加强文档管理的简洁性、方便性和信息交流的快捷性。1.2 课题研究成果应用的实际意义在传统的毕业设计文档管理模式下,信息交流往往是老师和学生沟通、管理的瓶颈,教师没有一个同意的毕业设计信息发布平台,学生也没有一个可以查看与咨询的平台。历届的毕业设计从选题、开题、项目任务书编写一直到最后的材料汇总,进十份的不同材料都需要学生打印纸质文档交付给教师,教师往往要保留很多学生的纸质文档,久而久之,纸质文档的丢失、遗漏以及保存的不便等弊端体现出来,而通过OA系统可以灵活地实现点对点交流,点对面交流,信息交流可以在鼠
13、标点击的一个瞬间完成,这种师生间方便快捷的信息交流将为毕业设计文档管理带来质的飞跃。同时,OA系统为学校提供的流程固化与流程优化平台,使得毕业生做毕业设计的各项流程运转更加高效和可控,已然成为建立现在学校管理制度的必备管理平台。OA系统还能够实现信息化的统一更新和发布,当然,OA系统还能把众多的纸质文档信息化,实现无纸化办公,大大方便文档的保存。针对全院的毕业设计文档管理现状,产生了开发一款方便快捷毕业设计文档OA管理系统的想法,本系统的用户定位是全院本科毕业生和老师。也就是说,为全院的毕业生及相关教师提供了一个信息交流平台,他们可以使用该系统所提供的平台交流信息与文档收集。使教师在开展毕业设
14、计的整个活动的各项工2作更加规范化,组织各项活动更加方便快捷。图 1。0 毕业设计管理系统用到的技术框架32 相关技术简介2.1 STRUTS 技术Struts是Apache软件基金下Jakarta项目的一部分。除Struts之外,还有其他成功的开源产品,包括Tomcat, Ant 和Velocity。2000 年Craig R. McClanahan 先生贡献了他编写的JSP Model 2 架构的Application Framework 原始程序代码给Apache 基金会,成为Apache Jakarta 计划Struts Framework 前身。Struts是Apache 基金会Ja
15、karta 项目组的一个Open Source 项目,它采用MVC模式,能够很好地帮助java 开发者利用J2EE开发Web应用。和其他的java架构一样,Struts 也是面向对象设计,将MVC模式“分离显示逻辑和业务逻辑”的能力发挥得淋漓尽致。Structs 框架的核心是一个弹性的控制层,基于如 Java Servlets,JavaBeans,ResourceBundles与XML等标准技术,以及 Jakarta Commons 的一些类库。Struts由一组相互协作的类(组件) 、Servlet以及jsp、tag、lib组成。基于struts构架的 web应用程序可以说是一个传统 MVC
16、设计模式的一种变化类型。2.2 HIBERNATE 技术Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。2.3 Ajax 架构AJAX即“Asynchronous Javascript + XML1” (异步JavaScript和XML 1) ,是指一
17、种创建交互式网页应用的网页开发技术。AJAX = 异步JavaScript和XML(标准通用标记语言的子集) 。AJAX 是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页面。AJAX不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术。使用Javascript向服务器提出请求并处理响应而不阻塞用户!核心对象XMLHTTPRequest。通过这个对象,您的 JavaScript
18、可在不重载页面的情况与Web服务器交换数据。AJAX 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求) ,这样就可使网页从服务器请求少量的信息,而不4是整个页面。AJAX 可使因特网应用程序更小、更快,更友好。AJAX 是一种独立于 Web 服务器软件的浏览器技术。 AJAX 基于下列 Web 标准:JavaScriptXMLHTMLCSS在 AJAX 中使用的 Web 标准已被良好定义,并被所有的主流浏览器支持。AJAX 应用程序独立于浏览器和平台。Web 应用程序较桌面应用程序有诸多优势;它们能够涉及广大的用户,它们更易安装及维护,也更易开发。不过,因特网应用程序并不像传统
19、的桌面应用程序那样完善且友好。通过 AJAX,因特网应用程序可以变得更完善,更友好。2.4 JSON 技术JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C+, C#, Java, JavaScript, Perl, Python等) 。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。简单地说,J
20、SON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序。这个字符串看起来有点儿古怪,但是JavaScript很容易解释它,而且 JSON 可以表示比“名称 / 值对”更复杂的结构。例如,可以表示数组和复杂的对象,而不仅仅是键和值的简单列表。2.5 DWR 技术DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站。它可以允许在浏览器里的代码使用运行在 WEB服务器上
21、的JAVA函数,就像它就在浏览器里一样。它包含两个主要的部分:允许JavaScript从 WEB服务器上一个遵循了AJAX原则的Servlet中获取数据.另外一方面一个JavaScript库可以帮助网站开发人员轻松地利用获取的数据来动态改变网页的内容.2.6 EXT 技术Ext是一个强大的js类库,以前是基于雅虎UI,现在已经完全独立了。主要包括data、widget、form、grid、dd、menu,其中最强大的应该算grid了,编程思想是基于面向对象编程(oop),扩展性相当的好。可以自己写扩展,自己定义命名空间。主要包括三个大的文件:ext-all.css,ext-base.js,ex
22、t-all.js(包括所有的类库,您可以根据需要进行删减。官方网站提供这一接口) ,在引用ext类库的时候,这三个文件必不可少。它提供了丰富的,非常漂亮的外观体验,成为众多界面层开发人员的追捧!其核心的组件基本覆盖了我们构建5client的常用的组件。3 需求分析需求分析是软件开发流程中重要的一环,需求分析的基本任务是根据用户的需求,准确定义要完成的系统的目标,回答系统必须“做什么”的问题。它的主要用途是明确系统需求,是用户和开发人员之间进行讨论的基础,并作为系统设计和实现的依据。3.1 系统实现目标系统是一个OA办公系统,为了能达到这一点,从功能上必须达到以下目标:(1)院系班级、教师、学生
23、等基本信息可以录入、修改、删除。(2)可以发布消息和查看消息实现信息交流。(3)学生与教师之间可以协同完成毕业设计活动开展的工作。(4)功能全面的界面,使用户不需要培训就能够很好的使用本系统。3.2 系统开发环境3.2.1 操作系统本系统是建立在Java基础上开发的,而Java又是与平台无关的,因此,对开发环境的操作系统没有特别需求,在此,本系统选择了微软Windows 7(X86) 。3.2.2 软件环境开发中所使用到的软件环境如下所列,可能还有些相关支持组件没有全部列出。(1)Java Development Kit (JDK) 6.0 Update 14;(2)MyEclipse 8.5
24、;(3)Apache Tomcat 6.0.20;(4)Hibernate 3.3;(5)Struts 2.1;(6)JSON 2.2.2;(7)DWR 3.0;6(8)EXT 5.0;(9)SQL SERVER2005;3.3 功能性需求分析3.3.1. 发布毕业设计项目3.3.1.1 功能描述功能需求: 引言:该功能是为了提供毕业设计项目(以下简称为项目)的题目供学生选择,由提供项目的老师填写项目的题目和内容。提出项目的老师可以修改或删除已有项目。由系主任审核项目,最后公布给学生。输入:由老师输入设计题目和内容,并允许老师修改其内容。加工:记录项目的题目和内容。审核,并公布给学生。输出:输出本科毕业设计项目. 3.3.1.2 业务建模图 3.1 发布毕业设计3.3.2. 学生选题3.3.2.1 功能描述功能需求: 引言:该功能是学生选择项目和老师。学生可以修改或删除已选项目和老师。输入:可选设计题目和内容。添加新项目老师修改项目删除项目系主任 公布毕业设计项目