基于WEB办公电子文档设计论文_第1页
基于WEB办公电子文档设计论文_第2页
基于WEB办公电子文档设计论文_第3页
基于WEB办公电子文档设计论文_第4页
基于WEB办公电子文档设计论文_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、 PAGE33 / NUMPAGES35目 录 TOC o 2-4 h z t 标题 1,1,标题,3 HYPERLINK l _Toc3592226311 引言 PAGEREF _Toc359222631 h 1HYPERLINK l _Toc3592226402可行性分析 PAGEREF _Toc359222640 h 1HYPERLINK l _Toc3592226422.1经济可行性 PAGEREF _Toc359222642 h 2HYPERLINK l _Toc3592226462.2技术可行性 PAGEREF _Toc359222646 h 2HYPERLINK l _Toc35

2、92226512.3运行可行性4HYPERLINK l _Toc3592226522.4社会可行性4HYPERLINK l _Toc3592226533系统需求分析 PAGEREF _Toc359222653 h 5HYPERLINK l _Toc3592226543.1背景概述 PAGEREF _Toc359222654 h 5HYPERLINK l _Toc3592226553.2系统概述 PAGEREF _Toc359222655 h 5HYPERLINK l _Toc3592226553.3技术背景 PAGEREF _Toc359222655 h 5HYPERLINK l _Toc35

3、92226673.3.1 JSP容介绍6HYPERLINK l _Toc3592226683.3.2异步刷新网页方式6HYPERLINK l _Toc3592226683.3.3 网页动态效果7HYPERLINK l _Toc3592226683.3.4网页框架7HYPERLINK l _Toc3592226663.4使用软件与环境介绍8HYPERLINK l _Toc3592226673.4.1 MyEclips介绍8HYPERLINK l _Toc3592226683.4.2 MySql8HYPERLINK l _Toc3592226683.4.3 Java9HYPERLINK l _To

4、c3592226563.5数据流图 PAGEREF _Toc359222656 h 9HYPERLINK l _Toc3592226573.6用例图 PAGEREF _Toc359222657 h 10HYPERLINK l _Toc3592226603.7系统子功能描述10HYPERLINK l _Toc3592226654系统总体设计 PAGEREF _Toc359222665 h 12HYPERLINK l _Toc3592226664.1 系统功能设计12HYPERLINK l _Toc3592226674.1.1用户登录12HYPERLINK l _Toc3592226684.1.2

5、分级控制12HYPERLINK l _Toc3592226704.2 数据库设计 PAGEREF _Toc359222670 h 13HYPERLINK l _Toc3592226704.3数据库连接设计 PAGEREF _Toc359222670 h 16HYPERLINK l _Toc3592226664.4SSH框架设计17HYPERLINK l _Toc3592226775系统详细设计与实现 PAGEREF _Toc359222677 h 19HYPERLINK l _Toc3592226785.1登录界面设计 PAGEREF _Toc359222678 h 19HYPERLINK l

6、 _Toc3592226815.2菜单管理界面设计19HYPERLINK l _Toc3592226815.3部门以与机构管理界面设计 PAGEREF _Toc359222681 h 20HYPERLINK l _Toc3592226815.4用户管理界面设计 PAGEREF _Toc359222681 h 20HYPERLINK l _Toc3592226815.5角色管理界面设计 PAGEREF _Toc359222681 h 21HYPERLINK l _Toc3592226815.6日志管理界面设计 PAGEREF _Toc359222681 h 21HYPERLINK l _Toc3

7、592226815.7文档类型管理界面设计 PAGEREF _Toc359222681 h 22HYPERLINK l _Toc3592226815.8文档管理界面设计 PAGEREF _Toc359222681 h 22HYPERLINK l _Toc3592226815.9 Struts设计 PAGEREF _Toc359222681 h 23HYPERLINK l _Toc3592226815.10 Hibernate设计 PAGEREF _Toc359222681 h 25HYPERLINK l _Toc3592226815.11 Spring设计 PAGEREF _Toc359222

8、681 h 26HYPERLINK l _Toc3592226836系统测试与性能分析 PAGEREF _Toc359222683 h 29HYPERLINK l _Toc3592226846.1登录模块的测试 PAGEREF _Toc359222684 h 29HYPERLINK l _Toc3592226856.2服务器模块操作模块 PAGEREF _Toc359222685 h 29HYPERLINK l _Toc3592226867结论31HYPERLINK l _Toc359222687致 PAGEREF _Toc359222687 h 32HYPERLINK l _Toc35922

9、2688参考文献 PAGEREF _Toc359222688 h 331 引言随着我国网络的快速普与,信息量的逐步增加,传统的文档管理已经很难适用于当今的高速发展时代。2013年一个新的名词“大数据”广泛流行在网络中,“安全”以与“大数据”成了现今各行各业必须重视的问题。传统的纸质办公文档容易出现,遗失、缺损以与不方便查找等问题,给管理人员带来了很大的困扰。因此,能适应网络高速发展时代的基于web的办公电子文档管理系统的研究与更新也是势在必行。目前,随着国家普与网络进程的加快,越来越多的人愿意在网上记日记,写笔记,保存重要文件,这对于基于web办公电子文档管理系统的研究有了很大的促进作用。另一

10、方面,现有的办公电子文档功能并不完善,很难满足新时代人们的要求,不同的人群对此的需求也是不尽一样,如何满足大多数人的需求,为他们提供最好的服务才是最重要。综上所述,在信息化的大趋势下,对于新型、高效、安全、人性化的web办公电子文档管理系统的需求十分迫切。研究这样的一款方便的文档管理系统,既能在工作之余快速网上传输文件,从而提高效率;又能增强安全性保证文档不会遗失。基于Web的办公电子文档管理系统便是因此开发。2可行性分析2.1 经济可行性(1)开发成本该系统开发的硬件平台为联想公司IdealPad系列Y480,软件为windows7计算机操作系统+MyEclipse编译环境+MySql数据库

11、配置,所有采用的软硬件无需专门购置,所以开发的经济可行性较好。(2)运行成本本系统的运行平台为小型服务器,同时,网络环境可采用现有的因特网,也可以自主架设专用网络,费用成本都可以接受。该产品操作界面友好,操作简单,运行人员无需专业培训,也可以起到控制成本的作用。(3)经济效益目前国的办公电子文档管理系统并不常见,而且大多都无法适应年轻人的需求。此系统完美解决了传统文档管理带来的管理困难,需求人员多的问题,减少了在雇佣员工进行打扫,文档库的租用等费用。只需要有限的成本即可以达到更快捷,更方便的文档管理,所以开发的经济效益前景很好。综上所述,通过对办公电子文档管理系统的研究,能够在低廉的成本上获得

12、较大经济效益,所以该产品具有经济可行性。2.2 技术可行性基于web的办公电子文档管理系统采用B/S模式设计,方便使用,不用安装,用户只需输入相应的域名即可使用。技术上需要解决的有几点:(1)服务器端数据的存储目前数据管理经历了人工管理、文件系统和数据库系统3个阶段。数据库管理系统能够解决多用户多应用共享数据的需求,是数据能够广泛高效地得到应用,在二十世纪六十年代中期开始了高速的发展。在这一过程中,对于数据库系统的研究也得到了长足的进步与深入,由此产生了许多高效快捷的管理方法。数据的数据模型也有三个,分别是层次模型、网状模型、关系模型。关系模型。其中关系模型因为其概念单一,结构严谨,易于掌握等

13、各方面的有点成为了目前最重要的一种模型。20世纪80年代到目前以来的绝大多数数据库管理系统都支持关系模型。在本系统中,采用基于关系型的MySQL数据库来储存并管理服务器端的各种数据,例如管理员的信息、各路口的信息和控制参数等等。MySQL数据库运用广泛,容易上手,大多数开发人员都能够熟练掌握。(2)服务器端数据的操作在java语言中提供了对数据库操作的API,通过JDBC可以快捷高效地实现对各类数据的访问。有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商以与第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC实现了

14、所有这些面向标准的目标且具有简单、严格类型定义且高性能实现的借口。JDBC连接图如图2-1所示。图2-1 JDBC连接图(3)应用服务器本系统使用的Tomcat是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选1。(4)B/S架构本系统使用B/S架构,可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用,客户端零安装、零维护。系统的扩展非常容易2。B/S架构图如图2-2所示。图2-1 B/S架构图2.3 运行可行性该系统在任何有网络的终端上都能够进行运行的,这样的一些系统目

15、前已经普与,用户在该系统中可以方便的进行各种操作,实现预期的目的,使用该系统时用户通过鼠标单击的方式进行操作,该方式能被广大用户所接受,以与页面设计十分人性化,具有很高的可操作性和易用性,所以该系统的设计具有运行可行性。2.4社会可行性随着我国经济与科技的发展,文档也是越来越多,如何方便快速的管理文档成了办公人士需要解决的问题。所以,对于办公场所而言,该系统是十分适用的,同时也是会受到非常大的欢迎的正因为如此,本系统的社会可行性非常高。3 系统需求分析3.1 背景概述网上文件上传、下载管理系统是网络资源多的一种共享机制。它采用对用户分级管理的方式,为不同级别的用户提供不同的资源服务。一般来说,

16、网上文件管理系统包含两大类服务,一类是用户管理,一类是资源共享。其中资源共享又分为对资源的上传、下载和删除。在网上文件管理系统中,最重要的是权限管理,因为网上管理文件系统的大部分操作都要进行权限验证,如何简洁、有效地进行权限验证,便成为本系统设计的一个重要考虑。3.2系统概述网上文件管理系统主要用于提供资源共享。由于每位用户希望为其他用户提供的共享服务等级不尽一样,因此要为每个用户设置不同的等级,为每个用户的目录设置不同的访问等级是非常必要的。在本系统中,用户主要分为管理员和用户两类,用户目录的开放级别主要分为公有和私有两大类。私有目录不允许除管理员与拥有者之外的其他用户进入其中访问,而公有目

17、录则没有这个权限。在公有目录级别下又可设置上传、下载、删除级别,只有在相应级别下,方可在目录下对文件进行上传、下载与删除操作。网上文件管理系统需要进行严格地用户认证才可使用。管理员拥有最高权限,在用户管理方面,可以增加、删除用户,并对用户信息进行修改。在文件管理方面,可以删除任何目录中的文件,除此之外,管理员在公有目录中,可以根据目录的共享级别上传或者下载文件,在私有目录中,则只能浏览用户的文件列表。普通用户可以全权管理自己目录的文件,即进行上传、下载与删除的操作。可以浏览公有目录,根据公有目录的共享级别上传、下载或者删除文件。当普通用户目录设置为公有时,可以对其他用户进行上传、下载、删除操作

18、的限制。普通用户不能进入不属于自己的私有目录。3.3 技术背景基于web的办公电子文档管理系统,主要使用java语言混合使用HTML以与JSP并采用了struts+spring+hibernate框架进行开发。3.3.1 JSP容介绍JSP提供了九个置对象3,但是在本系统中主要使用到了4个,分别是Request、Response、Session、Application其各自功能简述如下:Request对象:负责从客户机接受信息;使用Request可以从客户端得到数据,访问任何基于 请求传递的信息,包括从HTML表格用POST方法或GET方法传递的参数、Cookie和用户认证。作用域为reque

19、st(用户请求期)。Response对象:扶着响应用户请求;Response对象用于动态响应客户端请求,并将响应信息放回到客户端浏览器中。此对象封装了返回到 客户端的输出,向页面作者提供设置响应头标和状态码的方式。经常用来设置 标题,添加cookie,设置响应容的类型和状态,发送 重定向和编码URL。作用域为page(页面执行期)。Session对象:负责保存单个用于与应用程序交互的各种信息;Session对象,可以使不同的用户存储自己的信息,当用户在应用程序的web页面之间跳转时,存储在Session对象中的变量将不会丢失。 作用域为session(会话期)。Application对象:负责

20、保存所有程序用户的共用信息;Application对象有个两个集合:Contents和StaticObjects集合,其中Contents集合表示没有使用元素定义的存储于Application对象中的所有变量(以与它们的值)的一个集合;而StaticObjects集合表示使用元素定义的存储与Application对象中的所有变量(以与它们的值)的一个集合。作用域为Application(整个程序运行期)。3.3.2 异步刷新网页方式系统页面的异步刷新使用AJAX完成。通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新。也就是说可以在不重新加载整个网页的情况下,对网页的某部分进行

21、更新。AJAX不是一种新的编程语言,而是一种用于创建更好更快以与交互性更强的Web应用程序的技术。核心对象XML Request,通过这个可在不重载页面的情况与Web服务器交换数据。通过AJAX,因特网应用程序可以变得更完善,更友好4。3.3.3 网页动态效果前台网页的动态效果使用了jQuery,他是一个兼容多浏览器的javascript框架,jQuery的语法设计可以使开发者更加便捷,例如操作文档对象、选择DOM元素、制作动画效果、事件处理、使用AJAX以与其他功能。除此之外,jQuery提供API让开发者编写插件。其模块化的使用方式使开发者可以很轻松的开发功能强大的静态或者动态网页5。3.

22、3.4网页框架介绍(1)Struts框架Struts框架具有组件的模块化,灵活性和重用性的优点,同时简化基于MVC的web应用程序的开发。Struts可以清晰地区分控制,事务逻辑和外观,从而简化了开发应用程序的过程。Struts提供的类使得开发工作更加简单,这些类包括:控制程序流程的类;实现和执行程序事务逻辑的类;自定义的标记库使得创建和验证HTML表单更加容易。Struts框架中,模型分为两个部分,系统的部状态与可以改变状态的操作。部状态通常由一组ActionForm JavaBean表示。根据设计或应用程序复杂度的不同,这些Bean可以是自包含的并具有持续的状态,或只在需要时才获得数据。(

23、2)Hibernate介绍Hibernate是一个开放源代码的对象关系映射框架,他对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象变成思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用E的J233框架中取代CMP,完成数据持久化的重任。(3)Spring介绍Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One

24、J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由E完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。3.4 使用软件与环境介绍3.4.1MyEclipse 介绍MyEclipse企业级工作平台(MyEclipseEnterprise Workbench,简称MyEclipse)是对Ec

25、lipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以与应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。MyEclipse是一个十分优秀的用于开发Jaava,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持Java Servlet,AJAX,JSP,JSF,Struts,Spring,Hibe

26、rnate,E3,JDBC数据库工具等多项功能。可以说MyEclipse是几乎囊括了目前所有主流开源产品的专属eclipse开发工具。3.4.2 MySQLMySQL是最流行的关系型数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库,这样就增加了速度并提高了灵活性。MySQL使用的SQL语言是用于访问数据库的最常用标准化语言。SQL通常使用于数据库的通讯,ANSI(美国国家标准学会)声称,SQL是关系数据库管理系统的标准语言。SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。使用SQL的常见关系数据库管理系统有:Oracl

27、e、Sybase、Microsoft SQL Server、Access等等。虽然绝大多数的数据库系统使用SQL,但是它们同样有它们自己的专有扩展功能用于它们的系统8。但是,标准的SQL命令,比如“Select”、“Insert”、“Update”、“Delete”、“Create”和“Drop”常常被用于完成绝大多数数据库的操作。SQL语言有着非常突出的优点,主要是:(1)一体化:SQL集数据定义HYPERLINK :/baike.baidu /view/68372.htmDDL、数据操纵HYPERLINK :/baike.baidu /view/566000.htmDML和数据控制HYPE

28、RLINK :/baike.baidu /view/1089254.htmDCL于一体,可以完成数据库中的全部工作。(2)使用方式灵活:它具有两种使用方式,即可以直接以命令方式交互使用;也可以嵌入使用,嵌入到C、HYPERLINK :/baike.baidu /view/824.htmC+、FORTRAN、HYPERLINK :/baike.baidu /view/90933.htmCOBOL、HYPERLINK :/baike.baidu /view/29.htmJAVA等主语言中使用。(3)非过程化:只提操作要求,不必描述操作步骤,也不需要导航。使用时只需要告诉计算机“做什么”,而不需要告

29、诉它“怎么做”。(4)语言简洁,语法简单,好学好用:在ANSI标准中,只包含了94个英文单词,核心功能只用6个动词,语法接近英语口语9。3.4.3 Java Java是由sun公司与1995年5月退出的Java程序设计语言和Java平台(即JavaEE,JavaME,JavaSE)的总称。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制平台、科学超级计算机、移动和互联网,同时拥有全球最大的开发者专业社群,在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。Java编程语言的风格十分接近C语言、C+语言。Java是一个纯粹的面

30、向对象的程序设计语言,它继承了C+语言面向对象技术的核心,舍弃了C语言中容易引起错误的指针、运算符重载、多重继承等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的存空间,使得程序员不用再为存管理而担忧10。Java不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码,然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译,到处执行”的跨平台特性。不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了Java程序的性能11。3.5数据流图数据流图,即DFD图(Data Flow Diagram),是用于分析系统数据流程

31、的图形,意在让用户理解系统的功能、输入、输出和数据存储等。网上文件管理系统的第一层数据流图如图3-2所示,描述系统由哪几部分组成,各部分之间有什么联系。数据流图如图3-2所示。图3-2 文档管理系统的第一次层数据流图3.6用例图登陆文档管理系统的用例图,用户用例图如图3-3所示。UseUse上传文件Use下载文件UseUse删除文件用户浏览文件图3-3 用户用例图管理员用例图如图3-4所示。管理用户UseUse管理员登录Use管理文件管理员图3-4 管理员用例图3.7系统子功能描述(1)登录管理参与者:用户和管理员综述:登录网上文件管理系统。描述:当注册用户进入登录界面,这是管理员和用户进入系

32、统的唯一入口。如果用户没有通过身份验证,则将请求转发到消息页面,页面提示消息:登录失败,用户名和密码不匹配。当用户通过身份验证后,则转发到用户列表页面,上方指明当前登录的用户。(2)文档管理参与者:用户和管理员综述:登录系统后对网上文档进行管理。描述:当用户和管理员登录成功后,可以对自己上传的文当进行编辑和删除操作;而且还可以上传新的文档。用户和管理员还可以设置文档的下载权限。(3)用户管理参与者:管理员综述:对用户进行管理描述:管理员登录系统后,可以对已有的某个用户进行编辑。管理员可以对用户可用的磁盘大小、目录开放限制和用户等级等进行重新设置;管理员还可以添加一个新的用户,对新用户同样进行上

33、述操作。(4)上传管理参与者: 管理员和用户综述:用户和管理员登录系统后,可以上传自己的文件到已有的磁盘空间中。4 总体设计4.1 系统流程图4.1.1用户登录用户登录首先需要用户输入各自的ID以与对应的密码,并在数据库中进行验证,得到验证结果,验证结果为卡密对应则进入下一个阶段的操作,否则显示登录失败重新输入各自的ID以与对应的卡密。用户登录流程图如图4-2所示。结束开始输入XX密码打开操作界面连接数据库 否卡密码对应否是图4-2 登录流程图4.1.2分级控制系统由管理员设置用户拥有哪些权限,拥有不同权限的用户所能访问的容也不一样,运行流程如图4-3。登录日志记录输入XX密码判断是否管理员员

34、 是 否上传文件文档管理日志管理用户管理菜单管理结束图4-3 分级控制流程图4.2 数据库设计(1)用户信息表用户信息表主要提供用户的用户名、密码验证等一些列的用户信息容。其所属角色ID(RoleID)引用角色表的RoleID用来判断此用户角色。用户信息表如表4-1所示。表4-1 用户信息表user字段名数据类型字段说明键引用备注usernamevarchar2用户名主键passwordvarchar2密码real_namevarchar2真实organization_idvarchar2机构id外键对应机构表sexint性别emailvarchar2电子phone_numvarchar2联系

35、方式create_date_timedate创建时间last_login_timedate上次登录时间is_useint是否可用(2)角色表角色表主要用于设置不同角色ID对应的角色名称,此表用来判断用户所属角色,给其分配相应的权限。角色信息表如表4-2所示。表4-2 角色信息表user_role字段名数据类型字段说明键引用备注usernamevarchar2用户名主键role_idvarchar2角色id外键对应角色表(3)角色功能表角色功能表主要用于设置不同角色ID可以使用的一些列功能。角色功能表如表4-3所示。表4-3 角色功能表role字段名数据类型字段说明键引用备注role_idvar

36、char2角色id主键role_namevarchar2角色名字role_descvarchar2角色功能organization_idvarchar2机构名外键对应机构表creat_date_timedate创建时间(4)机构表机构表主要是机构的相关信息,上下级机构。机构表如表4-4所示。表4-4 机构表organization字段名数据类型字段说明键引用备注organization_idvarchar2机构id主键organization_namevarchar2机构名字organization_codevarchar2机构编号parent_idvarchar2父亲id(5)菜单表菜单表主

37、要用于管理菜单的功能。菜单表如表4-5所示。表4-5 菜单表menu字段名数据类型字段说明键引用备注menu_idvarchar2表id主键menu_namevarchar2菜单名menu_descvarchar2菜单功能parent_idvarchar2父亲idlinkvarchar2对应sequenceint序列(6)日志表日志表主要用查看用户的对系统的一系列操作情况。日志表如表4-6所示。表4-6 日志表diary字段名数据类型字段说明键引用备注diary_idvarchar2日志id主键contentvarchar2容usernamevarchar2用户名table_namevarch

38、ar2操作的数据库对应机构表ipvarchar2登录iporganization_idvarchar2机构id外键机构表idorganization_namevarchar2机构名create_date_timedate创建时间(7)部门表部门表主要用于设置部门的上下级关系,部门名称等相关信息。部门表如表4-7所示。表4-7 部门表department字段名数据类型字段说明键引用备注department_idvarchar2部门id主键department_namevarchar2部门名department_codevarchar2部门信息parent_idvarchar2父亲idorgani

39、zation_idvarchar2机构id外键机构表主键(8)类别表类别表主要用于设置类别相关信息。类别表如表4-8所示。表4-8 类别表type字段名数据类型字段说明键引用备注type_idvarchar2类别id主键res_type_namevarchar2类别名type_codevarchar2类别信息parent_idvarchar2父亲idsequenceint序列(9)文档表文档表主要用于设置文档的详细信息。文档表如表4-9所示。表4-9 文档表document字段名数据类型字段说明键引用备注doc_idvarchar2文档id主键doc_titlevarchar2文档标题doc_

40、descvarchar2文档备注type_idvarchar2类别id外键类别表idusernamevarchar2用户名last_view_uservarchar2上次查看人file_pathvarchar2存储路径create_date_timedate创建时间modify_date_timedate最后修改日期4.3 数据库连接设计 连接数据库采用JDBC,JDBC应用步骤如下:(1)注册加载一个driver驱动,相关代码如下:Class.forName(oracle.mysql.jdbc.Driver);(2)创建数据库连接,相关代码如下:private String url=jdbc

41、:mysql:/localhost:3306/testDB?user=root&password=root&useUnicode=true&characterEncoding=gb2312;Connection con = DriverManager.getConnection(url);(3)创建一个Statement,相关代码如下:Statement stmt = conn.createStatement();(4)执行SQL语句,相关代码如下:String sql=select * form user_role;ResultSet rs = stmt.executeQuery(sql);

42、(5)访问结果记录集ResultSet对象,相关代码如下:while(rs.next)out.print(rs.getString();(6)依次关闭ResultSet、Statement、Connection对象,相关代码如下:rs.close();stmt.close();con.close();4.4 SSH框架设计 本次系统使用struts+spring+hibernate的一个集成框架,分为四层:表示层、业务逻辑层、数据持久层和域模块层6。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支

43、持,Spring做管理,管理struts和hibernate。基本业务流程是:在表示层中,首先通过JSP页面实现交互界面,负责接收请求(Request)和传送响应(Response),然后Struts根据配置文件将ActionServlet接收到的Request委派给相应的Action处理。在业务层中,管理服务组件的Spring IOC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑并提供事物处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。而在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,

44、并返回处理结果。这种开发模式,不仅实现了视图、控制器与模型的测底分离,而且还实现了业务逻辑层与持久层的分离。这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。而且由于不通过层之间耦合度小,有利于团队成员并行工作,大大提高了开发效率7。SSH框架图如图4-4所示。数据库持久层Hibernate控制器StrutsRequestActionServletHibernateActionFormHibernateDAOSpring IOCActionResponseJSPSpring AOP图4-4 SSH框架图5 详细设计5.1登录界面设计登录

45、界面采用常用的用户名+密码模式进行登录,在用户输入相应的登录ID,密码以与验证码之后,系统对数据库中ID与PWD字段进行验证,进而与验证码验证。如果发现全部对应,则登录成功,进入其他页面以进行下一步操作,否则显示登录失败。登录界面如图5-1所示。图5-1 登录界面5.2 菜单管理界面设计管理员登录后可以使用菜单管理功能,用于添加菜单,这些都是管理员能分配给其他用户的权限。如图5-2所示。图5-2 菜单管理界面图进入菜单管理后,可以新建菜单,需设置上级菜单等,新建菜单如图5-3所示。图5-3 新建菜单5.3 部门以与机构管理界面设计不同部门属于不同机构,删除机构后其隶属的子部门也全部删除。部门管

46、理界面如图5-4所示。图5-4 部门管理界面5.4 用户管理界面设计用户隶属不同组,组对应其部门,部门对应机构,层层对应,删除响应结点其对应子结点也删除。用户管理界面如图5-5所示。图5-5 用户管理界面5.5角色管理界面设计不同角色对应不同功能,管理员可以按需求设置拥有不同功能的角色,然后分配给用户实现分级别管理。如图5-6所示。图5-6 新建角色界面5.6 日志管理界面设计用户登录后对系统的一系列操作都会显示在这里,用于监听用户的操作。如图5-7所示。图5-7 日志管理界面5.7 文档类型管理界面设计文档按类型划分,可以设置不同类型,根据需求设置一级二级甚至三级类型。类型管理如图5-8所示

47、。图5-8 类型管理界面5.8 文档管理界面设计用户可以上传下载文档,上传文档放于apache目录下的工程文件子目录中。文档管理如图5-9所示。图5-9 文档管理界面5.9 Struts2设计Struts2框架本身大致可以分为3个部分:核心控制器FilterDispatcher、业务控制器Action和用户实现的企业业务逻辑组件。核心控制器FilterDispatcher是Struts2框架的基础,包含了框架部的控制流程和处理机制。业务控制器Action和业务逻辑组件是需要用户来自己实现的。用户在开发Action和业务逻辑组件的同时还需要编写相关的配置文件,供核心控制器FilterDispat

48、cher来使用12。Struts的工作流程:在web应用启动时就会加载初始化ActionServlet,ActionServlet从struts-config.xml文件中读取配置信息,把它们存放到各种配置对象当ActionServlet接收到一个客户请求时,将执行如下流程.(1)检索和用户请求匹配的ActionMapping实例,如果不存在,就返回请求路径无效信息;(2)如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中;(3)根据配置信息决定是否需要表单验证.如果需要验证,就调用ActionForm的validate

49、()方法;(4)如果ActionForm的validate()方法返回null或返回一个不包含ActionMessage的ActuibErrors对象, 就表示表单验证成功;(5)ActionServlet根据ActionMapping所包含的映射信息决定将请求转发给哪个Action,如果相应的 Action实例不存在,就先创建这个实例,然后调用Action的execute()方法;(6)Action的execute()方法返回一个ActionForward对象,ActionServlet在把客户请求转发给 ActionForward对象指向的JSP组件;(7)ActionForward对象指

50、向JSP组件生成动态网页,返回给客户;Struts配置相关代码如下,web.xml中:struts2org.apache.struts2.dispatcher.FilterDispatcherstruts2*.jsp*.aspx*.dostruts2.xml中:/$url/$url$url/$url$url/message/message.jsp/message/error.jsp/index/login.jsp/message/resubmit.jsp5.10 Hibernate设计Hibernate工作原理:(1)通过Configuration().configure()读取并解析hibe

51、rnate.cfg.xml配置文件。(2)hibernate.cfg.xml中的读取并解析映射信息(3)通过config.buildSessionFactory();/创建SessionFactory(4)sessionFactory.openSession();/打开Sesssion(5)session.beginTransaction();/创建事务Transation(6)persistent operate持久化操作。(7)session.getTransaction() mit();/提交事务(8)关闭Session。(9)关闭SesstionFactory13。Hibernate映

52、射相关代码如下举Type.hbm.xml为例:SEQ_TYPE_ID5.11 Spring设计Spring中对Hibernate和Sturts进行整合,相关配置相关代码如下,applicationContext.xml中:classpath:cn/shxt/poorg.hibernate.dialect.Oracle10gDialectorg.hibernate.hql.ast.ASTQueryTranslatorFactorytruefalsefalseupdatethread!- org.hibernate.cache.EhCacheProvider -!- true -auto事物管理器

53、相关配置14如下:6 系统测试与性能分析对系统的各个模块进行测试是整个开发过程中的一个重要的步骤,是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望的事情,另一方面是确认软件以正确的方式来做了这个事件。第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息。第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。测试任何产品都有两种方法,一个是黑盒测试,一个是白盒测试。黑盒测试法把程序看成一个黑盒子

54、,完全不考虑程序部的结构和处理过程,只检查程序功能是否能按照说明书正常使用,程序是否能适当的接收输入数据产生正确的输出信息,又称为功能测试。白盒测试法是把程序看成装在一个透明的白盒里,也就是完全了解程序的结构和处理过程,按照程序部的逻辑测试程序,称为结构测试。对该系统模块的测试主要采用的是黑盒测试15。6.1登录模块的测试登录模块的测试主要测试是否可以对各种类型的不匹配进行正确的反应,分别进行的测试,登录测试用例表如表6-1所示。表6-1 登录测试用例表测试数据类别测试预期测试结果000/000正确数据登录成功符合预期000/001正确ID错误密码登录失败符合预期空无数据输入请输入卡密符合预期

55、001/000错误ID正确密码登录失败符合预期点击取消正确操作退出登录符合预期6.2服务器模块操作模块服务器模块操作主要是完成接收登录信息、文档操作信息、用户权限分配信息。主要测试的功能为是否能够成功接收操作信息,根据信息获得响应功能。服务器模块操作测试用例表如表6-2所示。表6-2 服务器模块操作测试用例表测试用例类别测试预期测试结果收到正确数据正确数据发送回正确操作执行正确未收到数据显示未连接状态执行正确收到错误数据错误数据发现数据错误执行功能不完善7 结论本系统采用了总共用到的本科所学到的知识有:数据库的设计与查询相关技术;SSH框架的熟练使用;jQuery中各种控件的使用;软件测试的相

56、关概念;软件工程的详细方法流程。本系统所实现的功能比较粗浅,实现了用户登录;实现了文档的管理;实现了分级控制等各个方面的容。能基本实现了办公电子文档的管理。系统由于时间关系,完成的并不是很好。在界面设计、系统安全、可扩展性等方面并没有进行深一步的探讨,这不能不说是一个比较大的遗憾。而自己对于SSH框架的理解尚浅,在编程过程中并没有达到得心应手圆转自如的地步,所以很多地方的编程语句可能还需要斟酌,查询了各类书籍以与网络上的各种知识之后,才能勉强完成所需要的功能。电子文档管理对于办公的重要性不言而喻,对其的探讨与研究应当成为一个比较重要而且迫切的课题。本系统对其的管理仅仅涉与到了文档的相关操作,而

57、在真正的研究中,应当考虑更多更详细更精确的因素,例如用户之间的交流、文档评价、用户个性空间等等。所以,这对于我今后的学习研究也是一个挑战。通过这一次完整的毕业设计过程,我将大学所学到的所有知识完整而又系统地进行了一次梳理和复习。在这个过程中,既感受到了大学四年所学到的知识的的强大力量,能够将一个问题从提出到分析到实现到解决,这个过程充满了挑战与征服;也体会到了自己的诸多不足,所学的知识的浅薄,遇到的问题难以尽述,通过自己摸索和跟老师的沟通,终究还是能够完成。最后,在完成课程设计的过程中,我对学习与实践的理解更加的深刻了,所学的知识与所用到的知识需要用理解与实践来联系,纸上得来终觉浅,绝知此事要

58、躬行。总而言之,在今后的学习与工作中,我需要更加细致,全面地完善自己的知识结构,用实践来检验问题和发现问题,在解决问题的过程中学到新的知识,最终能提升自己。致伴随着敲击键盘的声音,忙乱的毕业季终于也到了尾声,正如我这一篇粗浅而略微幼稚的毕业设计论文,匆忙却充实,纠结却也开心。而这,也是我大学生活的节奏。在本次毕业设计的过程中,老师详细解答我的疑惑,同时循循诱导,让我能够独立自主地解决问题。而她对于论文和系统的严谨与细致,也让我对于细节上的把握更加地具体。这一份幼稚浅薄的论文,权当做给老师的最后一次答卷吧。然后,我需要感我的大学所有老师以与班级同学。老师们教会了我所有的知识与能力,而同学们则让我知道了什么是团队,什么是朋

温馨提示

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

评论

0/150

提交评论