毕业设计(论文)-办公自动化系统设计与实现.doc_第1页
毕业设计(论文)-办公自动化系统设计与实现.doc_第2页
免费预览已结束,剩余19页可下载查看

下载本文档

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

文档简介

郑州大学现代远程教育毕 业 设 计题 目:办公自动化系统设计与实现 入 学 年 月_ _2009年7月_姓 名_ _ _ 学 号_ 5_ 专 业_ 计算机及应用_ 学 习 中 心_ _ _指 导 教 师_ _完成时间_2011年_6_月_22_日19目 录摘要及关键词-11 绪论-22 系统相关技术介绍-32.1系统开发架构-32.2系统采用的mvc模式架构-32.3系统采用j2ee相关标准组件技术-42.4系统的开发平台-42.5系统运行环境-43 系统功能结构-53.1 oa-b模式-53.2基本需求:报文传递功能-63.3应用模式:工作流-63.4 本系统功能模块-74 核心子系统模块设计-94.1 发/收文管理-94.2 mvc模式分析发文管理-94.3 用户权限管理-104.4 用户权限的数据库逻辑结构-114.5 用户管理数据库的物理结构-12总结-15参考文献-16致谢-17评审表-18办公自动化系统摘要:mvc模式是一种可应用于j2ee的开放式框架结构。它允许web页面或其它浏览内容(视图层)能够最大限度的与内部代码(模型/控制层)分离开来,从而使设计者和程序员能够将注意力集中在他们各自的专门技术上。并因java的“一次写入后,任何处运行”的特性而提高了开发效率。本论文着眼于在uilderjb环境下应用mvc模式开发机关办公自动化系统的核心功能,即发/收文管理、工作流控制以及用户管理。本论文以我们oa小组开发的机关办公自动化系统weboa为例,介绍了由本人参与设计的发/收文工作流模块和用户管理模块的相关技术,并进行程序结构分析和具体功能实现阐述。关键词:mvc模式,办公自动化,工作流,数据库,用户管理1.绪论办公自动化(office automation,简称oa),是以先进成熟的计算机和通信技术为主要手段,建成一个覆盖政府企业等部门的办公信息系统,提供企事业单位与其他专用计算机网络之间的信息交换,建立高质量、高效率的政府信息网络,为领导决策和办公提供服务,实现办公现代化、信息资源化、传输网络化和决策科学化。由于oa所含盖的范畴太广,只要是与信息通信相关的办公软件仿佛都可以与oa挂钩,导致市场中的oa产品质量水平参差不齐,尽管客户对其需求量大,但能满足要求的产品并不多,我们通过调研发现,主要有如下缺陷:1.功能华而不实。不少产品看上去非常全面,很多功能却难以实现,而且真正核心的功能做的并不深入,反而造成资源上浪费。2.面向群体无针对性。oa是要面向客户群体的,很多产品标榜其可以用在任何办公环境,但结果是哪里都能用,哪里都用不好。oa工作环境的性质决定其必须能针对某类工作流程比较固定的单位。3.行业规范性不强。oa针对的是具有一定办公标准的行业,这要求所研制的软件应用时有严格的且符合该行业设计规范公文文档和工作流程。从上述要求出发,我们提出oa-b(office automation for bureau)的概念,即机关办公自动化系统。机关办公自动化系统是实现机关内部各级部门之间以及机关内外部之间办公信息的收集与处理、流动与共享、实现科学决策的具有战略意义的信息系统。经过市场调查,我们发现,一个成功的oa-b最应具有是以下特点:1.能适应灵活多变办公自动化业务的流程化处理手段。2.各子系统间数据集成化,且oa系统能在不同职能部门系统间完成信息双向传递。而这些系统本身可以是完全异构的、分散的。3.由于涉及重要的政务办公信息,信息系统的的安全性与完整性,及可配置管理是随时应该考虑的特性。4.技术的符合标准与先进性。特别是办公文档和工作流程必须符合所应用行业的规范。2 系统相关技术介绍2.1 系统开发架构本系统采用jsp+servlet+javabean的三层架构开发模式。此模式遵循视图控制器m-v-c模式,其基本构想是使用一个或多个servlet作为控制器。请求由前沿的servlet接收并处理后,会重新定向到jsp。在servlet作为控制器时,每个servlet通常只实现很少一部分功能,多个servlet控制器就可以结合起来完成复杂的任务,这样的好处是servlet的重用性好。在此模式中,javabean作为模型的角色,它充当jsp和servlet通信的中间工具,servlet处理完后设置bean属性,jsp读取此bean的属性,然后进行显示。此模式更加明显的把显示和逻辑分离,使代码容易管理,适合于大型项目的开发,所以在本系统中采用了这种模式。此模式的数据传递关系如图1-1所示。图1-1 oa-b开发模式数据传递关系2.2 系统采用的mvc模式架构通过模型、视图和控制架构(m-v-c)以实现简单高效的应用程序升级和维护,以及如何让不懂程序代码的人员避开程序数据。mvc的架构是一个描述重现的问题及其解决方案的设计范式,但每次问题重现时,解决方案都不会完全相同。mvc设计范式包括三种对象:1、模型(model)提供应用业务逻辑(enterprise beans类)。2、视图(view)则是其在屏幕上的显示(html页面、jsp页面、swing gui)3、控制器则是servlet、javabeans或session beans类,它用于管理用户与视图发生的交互。2.3 系统采用j2ee相关标准组件技术j2ee平台为多层的分布式模型,组件再用,一致化的安全模型以及灵活的事务控制。应用客户组件、enterprise beans组件、servlet及jsp页面组件、applet等。1、jsp(java server pages)技术本系统中充当mvc的v部分视图表示(viewer)。2、servlet技术applet的服务器端版本,是由web服务器装入、用于处理客户请求的java程序。本系统中作为mvc中的c部分控制器(controller)。3、javabean技术重用组件技术(独立的可重复利用的模块,负责数据库交互以及数据提取,许多动态页面处理过程被封状到了javabeans中)本系统中作为mvc中的m部分模型(model)。4、jdbc技术是用于执行sql语句的java应用程序接口,由一组用java语言编写的类与接口组成, jsp中通过jdbcodbc桥驱动程序访问访问数据库。本系统中主要与三层架构中的数据层进行交互。2.4 系统开发平台建议使用borland公司推出的用于连接数据库以及web应用开发平台产品jbuilder作为我系oa实验室的相关系统的开发工具。2.5 系统运行环境1、服务器端运行环境服务机:有网络接口卡(nic)的高性能pc机,512m ram,硬盘80g以上。 操作系统:windows 2000 serverweb服务器:apache tomcat数据库服务器:microsoft sql server 20002、客户端运行环境客户机:有网络接口卡(nic)的pc机,128m ram,操作系统:windows 2000 professional浏览器:microsoft internet explorer 5.0以上。3 系统功能结构3.1 oa-b 模式就一般来说,oa-b均以公文处理和机关事务管理为核心,同时提供信息通讯与服务等重要功能。因此,典型的oa应用包括收发文审批签发管理、公文流转传递、政务信息采集与发布、内部请示报告管理、档案管理、会议管理、领导活动管理、政策法规库、内部论坛等等应用。如果我们从系统功能角度对上述办公自动化应用做一分析,就会发现办公自动化软件的这样几个功能其中的核心功能,即报文传递、工作流、复合型文档,可以说是最小子集。如图31。协同工作安全性控制internet报文传递工作流复合文档这些功能需求是我们选择办公自动化应用 图31系统的开发与使用平台时必须考虑的判断依据。 3.2 基本需求:报文传递功能报文传递系统作为信息传递与共享的工具和手段,满足oa-b最基本的通信需求。换言之,mts(message transportation system)作为通信基础设施,主要提供了两方面的功能:从信息技术的角度出发,报文传递功能是一种“推”技术,即发送方(sender)将信息通过存储转发技术推给接收方(receiver)。从用户使用习惯出发,报文传递功能是办公自动化系统的“门户”。因为在oa上工作的人员很容易养成一种工作习惯,每日查看自己的收件箱,阅读处理有关信件;而且功能高级完整的报文传递系统一般都具备新信件到达提示功能。因此,oa-b可以利用报文传递系统的特点将每一项需要工作人员处理的信息或通知,制成信件,直接投递到工作人员的收件箱中。在一个oa-b中,针对不同的业务需求,通常包含了多个应用子系统,如发文、收文、信息服务、档案管理、活动安排、会议管理等等,可以将收件箱作为所有这些办公应用子系统的统一“门户”,每一个用户通过关注自己的收件箱就可以了解到需要处理的工作,而不必经常性地来回检查不同的应用系统,看看哪些是需要处理的工作(在这种情况下,如果由于某种人为原因,没有及时查阅某个应用系统,就可能造成工作的延误)。办公自动化应用系统以报文传递作为统一入口的设计思想,可以大大减少培训的工作量。3.3 应用模式:工作流所谓的工作流就是一组人员为完成某一项业务所进行的所有工作与工作间的交互过程。几乎所有的业务过程都是工作流,特别是办公自动化应用系统的核心应用公文审批流转处理、会议管理等。每一项工作以流程的形式,由发起者(如文件起草人)发起流程,经过本部门以及其他部门的处理(如签署、会签),最终到达流程的终点(如发出文件、归档入库)。工作流程可以是互相连接、交叉或循环进行的,如一个工作流的终点可能就是另一个工作流的起点,如上级部门的发文处理过程结束后引发了下级部门的收文处理过程。工作流程也可是打破单位界限的,发生于机关以及与机关的相关单位之间。如及时地收回和赋予不同人员的操作权限(如起草人起草文件完毕即不可修改文件内容,而其上级领导获得文件的签署权或对内容的修改权)、主动提示和催促工作人员实现某一阶段的处理,从而整体提高工作流处理的效率。工作流自动化有2种实现模式,即:基于邮件和基于共享数据库。基于邮件的工作流应用,就是通过邮件将数据表单从一个人邮箱传送到另一个人邮箱。其特点是模式简单。但是,最大的弊病是无法实行监控,没有一个管理者可以随时掌握工作流的动态。其它问题包括:难以实现自动化处理如通过代理催办、集中归档、统计;数据容易出现多份拷贝,难以控制安全性和准确性;大量的邮件传输引发大量的网络流量。基于共享数据库的工作流应用,可以克服上述基于邮件的工作流缺点。如信息单一存储,自动处理,安全性更好,容易实现监控。但是,工作流的驱动成了一个问题,因为缺乏信息通讯机制,无法主动通知有关人员进行下一步的工作。本系统工作流采用基于共享数据库模式开发。3.4 本系统功能模块其基本思想是把整个系统按照实现功能进行分解利用jsp+javabean+servlet进行编程。已实现的系统的功能结构模块如图3-2所示。oa系统个人办公 公共办公工作流管理系统管理行政办公部门管理用户管理图3-2 oa-b系统结构图而其下又可以分为子系统结构图。用户管理子系统用户注册模块用户信息管理模块用户信息修改模块管理员登录模块公告栏模块用户密码修改模块用户登录模块用户查询模块留言板模块图3-3 用户管理子系统功能模块图4 核心子系统模块设计前面我们已经提出了作为一个oa系统的核心功能应是报文传递、工作流和复合型文档,再加上对用户人员的权限管理,我们即可以称之为一个精简功能的oa-b系统,已能应付一般的机关处室的日常工作。我们知道,在oa-b中对应报文传递功能的实现发/收文管理,而在从发文到收文的过程中又可以看成是一个工作流。因此,毫无疑问,在oa-b系统中是它是真正的核心。用户做为支撑该软件中的“人”的因素,不可或缺的是一个用户权限管理功能。而在其中有包含了与动态管理相对应的数据库连接技术。本章我们以发/收文管理和用户管理的实现为例,介绍oa-b设计原理。4.1发/收文管理因为对每一种对象的管理都比较类似,在此仅以行政办公中的发文、收文管理公文为例,来分析一下本系统中的数据流向。根据图1-1的oa-b开发模式数据传递图我们可以大致了解到发文过程的原理,即有图4-1。4.2 mvc模式分析发文管理senderservlethttprequestforward读取modelviewjavabeanweb.xmljdbc数据库发文拟稿页面querrycontroller图4-1 发文模式数据传递实例图第一步:controllermodelsql server用户作为拟稿完成后,通过http发出发文请求(send request),作为的控制器的servlet通过调用web配置文件web.xml向javabean发出控制信号,并对其赋值。而javabean中的一个值对象(value object,即vo)将通过jdbc连接sql server数据库,从中调出所需信息返回给vo,实现了在模型层与数据库的交互。第二步:controllerviewermodelservlet又向jsp发出从javabean中读取数据库信息的信号,在视图层的jsp页面在从javabean调出信息,生成发文拟稿页面,完成一次发文。4.3 用户权限管理在weboa系统中,主要是管理用户的一系列活动,包括公告、通知等来输入的数据信息。数据类型决定了处理的方式也就是算法,因此,数据是系统实现的起点。在此,我们将使用数据流图(dfd)来分析数据的流动和走向。因为对每一种对象的管理都比较类似,在此仅以行政办公中的公文管理的权限,来分析一下本系统中的数据流向.主要数据关系是管理员对该子系统涉及的相关数据进行管理,而用户在前台可以浏览查询相关信息,总体图如图3-1所示。零级图如图3-2所示。0用户管理子系统用户查询条件查询结果和浏览信息下载信息注册登录信息管理员更新数据提供数据图4-3 用户管理子系统总体图管理员用户日志信息1.0用户信息管理8.0信息查询处理用户信息表更新数据查询请求查询结果7.0更新数据库数据库查询结果集查询字符串2.0调查板管理更新数据调查信息表6.0 调查管理浏览/发表/下载4.0日志公告管理日志信息表更新数据5.0公告浏览管理浏览存放3.0公告栏管理更新数据公告信息表公告数据用户信息调查信息公告信息存放存放调查信息更新数据图3-2 用户管理子系统零级图在图中,曲边矩形为各个数据流所涉及的加工,并有确定的编号,通过逐步的细化完成自顶向下,由外层扩展到系统内部的过程。对校友的数据流稍加细化,也可分为查询请求和查询结果这两种数据。对这两种数据施加了不同的处理,如图2-4所示。2.1sql语句转化2.2查询结果转化查询请求(web页面)查询结果集查询字符串(sql语句)查询结果(html页面)图4-5 用户查询信息细节图4.4 用户权限的数据逻辑结构下面我们将通过e-r图,以权限管理中的用户管理为例 ,来分析其中关系管理员待办任务添加/修改id号名称人员数量用户名密码 用户添加/修改浏览姓名所属部门任务名称所任职务编号公告发出浏览id号公告标题公告内容发布时间发布人/单位管理权限所任职务性别任务编号任务计划/id号标题内容任务名称图4-6 用户管理e-r图4.5 用户管理数据库的物理结构各子系统模块中主键相同的字段之间存在着相互关联的关系,因此服务器上建立的数据库应包括以下表:administrator,personal_message,public_message,staff_message下面将具体介绍数据库中各个表的结构。整个系统只要一个管理员登录入口,所以只要在数据库里建一个管理员表即可,根据不同的管理权限进入不同的后台管理系统对其中的数据进行操作。管理员表如表4-3所示。而用户信息表如表4-4所示。表4-3 管理员表表 名字段名类型大小可空约束备注administratorusername varchar15n主键用户名password varchar20n密码confinevarchar10n管理权限表4-4 人员管理信息表表 名字段名类型大小可空约束备注staff_messageidintegern主键编号username varchar15n姓名password varchar20n密码sexcharacter2y性别addressvarchar30n地址telephonevarchar20y电话emailvarchar30y邮件地址值得一提的是,在数据库操作中,数据库的连接开销最大,耗时最长。通常的处理方法是,servlet响应客户请求时,如果要求操作数据库,那么它会建立数据库的连接,然后与数据库进行数据交换,最后,关闭数据库的连接。这样就会造成每响应一次用户请求就会进行一次数据库连接和关闭,如果同时请求的用户数量很大,那么数据库的连接和关闭的开销将会变得巨大。必然会造成系统的负载过重,响应的速度也会减慢。显然,这种处理方法性能是较低的,但是由于servlet是基于http协议,http协议是无状态的协议,在处理完用户的响应后,不会保存用户的各种信息。因此,同一个用户的请求会当作不同的请求来处理。那么,同一个用户的两次数据库操作本应该做一次数据库连接,但由于http无状态的原因,会进行两次数据库连接。http协议的无状态性是造成数据库的无效的连接和关闭的根本原因。http协议是国际标准的协议,无法将其改变。为了提高数据库连接的有效性,中间层的数据库连接将采用数据库连接池技术。连接池技术(connection pool)的核心思想是在数据库的连接被需要之前去建立一个数据库连接的集合。也就是说,在servlet第一次被装载时,先建立一定数量的数据库连接后,放在一个集合对象中。这个对象作为数据库连接的代理,所有数据库连接的访问都由这个代理进行控制。当有客户端请求数据库连接时,它只需简单地向数据库连接代理程序请求空闲的连接就可以了。这个代理程序将从连接池中选择一个空闲的连接,并给它进行标记,以说明此连接不可用,然后将这个连接返回给客户端。由于连接是提前创建的,因此代理程序几乎可以不需要任何系统的开销就立刻返回一个连接。当连接不再需要时,客户端可以将它返回给代理程序,再由代理程序标记为可用。除了处理连接,代理程序将负责维护连接池的所有细节。其中包括数据库连接的刷新,刷新主要通过删除并重新建立某些数据库连接,或者当连接池中的可用连接被大量并行请求耗尽的时候而去创建新的连接。总 结从本人参加项目到现在,时间已有六个月。目前基本功能已经实现。oa-b下的weboa系统在师兄带领下,团队进行了详细调研,确定了系统涉及的领域,包括数据库设计、界面设计、web应用层设计等,是一个具有实际应用意义的典型管理系统。本系统具有如下特点:(1)采用browser/server三层体系结构,使系统具有很好的可维护性和可重用性。(2)在本系统的开发过程中采用的是jsp+javabean+servlet模式,此模式将明显的把显示和逻辑分离,使代码容易管理,适合于大型项目的开发。(3) 中间层使用数据库连接池技术加快与数据库服务器之间的数据处理速度,也加快对客户机层的响应速度。(4)web服务器采用的是应用服务器,它是一个比较完善的、开放的web应用服务器。它严格地遵循普遍流行的开放标准,在大型开发过程中较为适用。 (5)后台数据库采用的sql2000,它功能比较强大,除了可以处理包含在各种平台上运行的数据库管理系统内核之外,还包括了数据复制、数据库系统管理、internet网关支持、在线分析处理、多媒体支持和各种并行处理能力。但因为本系统比较大,而且在本项目开始的时候,在java和web应用程序设计方面不太熟悉,再加上毕业设计的时间有限,许多方面在下一步的工作中还需要进一步改进和完善。主要针对以下几方面:(1) 尽量采用满足mvc/模式2要求的struts框架开发,分离表示层和事物层,使系统具有高的可重用性和适应性以及良好的可维护性。(2) 系统的某些设计的可扩

温馨提示

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

评论

0/150

提交评论