绥化市水务局办公自动化系统的设计与实现

绥化市水务局办公自动化系统的设计与实现

ID:75453576

大小:1002.46 KB

页数:63页

时间:2024-02-04

上传者:笑似︶ㄣ無奈
绥化市水务局办公自动化系统的设计与实现_第1页
绥化市水务局办公自动化系统的设计与实现_第2页
绥化市水务局办公自动化系统的设计与实现_第3页
绥化市水务局办公自动化系统的设计与实现_第4页
绥化市水务局办公自动化系统的设计与实现_第5页
绥化市水务局办公自动化系统的设计与实现_第6页
绥化市水务局办公自动化系统的设计与实现_第7页
绥化市水务局办公自动化系统的设计与实现_第8页
绥化市水务局办公自动化系统的设计与实现_第9页
绥化市水务局办公自动化系统的设计与实现_第10页
资源描述:

《绥化市水务局办公自动化系统的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

摘要绥化市水务局办公自动化系统的设计和实现当今信息时代,网络信息化建设迅速发展。随着全新的管理理念的提出、现代管理手段的出现、以及对单位内部办公管理流程进行整合的需求的不断增长,网络办公自动化OA(OfficeAutomation)应运而生。我国领导人曾做出重要指示,以办公自动化为先导的电子政务乃大势所趋,根据《国家政府系统办公自动化建设2001年—2005年规划纲要》,初步建立起以“三网一库”为基本架构的我国政府系统信息化框架,但由于国民经济和社会发展的地区差距等原因,它的发展很不平衡。在应用层次和应用水平方面存在明显的差距。尽管如此,我国各企事业单位也都在陆续实施和完善。各企事业单位的信息化能有效地提高效率、节省成本。运用全新的信息处理手段,完善内部组织结构、信息系统和管理运作流程,消除信息孤岛,建立协同工作的信息管理系统成为各个企事业单位的需求。OA是进入现代化行政管理、逐步开展电子政务的必由之路,办公自动化是初级阶段,电子政务是必然趋势。黑龙江省绥化市水务局办公自动化系统客户端采用B/S三层架构,设计模式采用MVC(Model-View-Controller,模型-视图-控制器)模式,使用户界面风格统一、用户界面代码和业务数据完全分开,便于程序的可读性和可维护性。工作流算法使用广度优先算法,并对其进行了改造,以适应工作流过程模型中的顺序路由、并行路由、选择路由和循环路由等基本控制结构。本文是黑龙江省绥化市水务局信息建设的一期工程,也是基础工程。OA系统的设计、应用的开发和推广,以及加强行政领导部门对OA的管理职能是当务之急。本系统设计并开发了灵活的后台管理模块,实现了用户自行定义内部管理体系结构和工作角色的功能,允许用户自由定制收文、发文和业务流程中的表单,并对参数进行全动态设置。用户可按实际情况灵活选取所需模块,预留接口可以与现有业务系统实现无缝衔接,实现内部信息系统间的互通、互联。管理员可进行多方面的系统配置,使系统在合理的范围内更灵活地适应今后出现的需求变化。不仅减轻了系统的维护工作,而且在一定程度上保护了用户的前期投资。系统提供个性化定制功能,允许用户按照自己的习惯定制工作环境,能够更快的使用以及提高工作效率。I 关键词:办公自动化,OA,管理流程,信息化,工作流II AbstractDesignandImplementationofOfficeAutomationSystemofMunicipalWaterAuthorityinSuiHuaCityInnowadays,theinformationage,theconstructionofnetworkinformationdevelopsrapidly.Withtheproposingofthenewmanagementconcept,theemergingofmanagementmethodsandtheemergenceofinternaltotheunitOfficemanagementprocessoftheintegrationofthegrowingdemand,thenetworkOA(OfficeAutomation)arisesatthehistoricmoment.Ourleadershavemadeimportantinstructions,andofficeautomationastheforerunneroftheelectronicgovernmentaffairsisthetrendofTheTimes,accordingtothenationalgovernmentofficeautomationsystemconstructionin2001-2005planningoutline,initiallysetupwith"threenetsalibrary"asthebasicstructureofourcountrygovernmentinformationsystemframework,butasaresultofthenationaleconomicandsocialdevelopmentoftheregionalgapandotherreasons,itsdevelopmentisnotbalanced.Theapplicationlevelandapplicationlevelthereareobviousgap.However,ourenterprisesandinstitutionsarecarryingoutitpossessivelyinperfectway.Allenterprisesandinstitutionsinformationcaneffectivelyimproveefficiencyandsavecost.Usingthenewinformationprocessingmeans,perfecttheinternalorganizationalstructure,informationsystemsandmanagementprocesses,eliminatingtheinformationisland,theestablishmentofcooperativeworkoftheinformationmanagementsystembecomestotheneedsofallenterprisesandinstitutions.OAisintothemodernadministrativemanagement,andgraduallydeveloptheelectronicgovernmentaffairs,officeautomationistheprimarystage,andtheelectronicgovernmentaffairsareaninevitabletrend.TheSuihuaMunicipalWaterAuthorityofficeautomationsystemadoptsB/Sthree-tierarchitecture.Inordertomaketheprogrammorereadableandmaintainability,thepatternsofthedesignadoptMVC(Model-View-Controller)mode,makingtheusers’interfacestyleunifiedandseparatingitfrombusinessdatacompletely.Theworkflowalgorithmusesbreadth-firstalgorithmandtransformsittoadaptbasiccontrolstructuresuchasrouting,parallelrouting,selectiveroutingandcycleroutingetc.intheworkflowprocessmodel.Thisarticleistheconstructionengineering,aswellasfoundationengineeringofSuihuaWaterAuthorityinHeilongjiangProvince.ThedesignandtheapplieddevelopmentandIII promotionofOA,aswellasthestrengtheningofthemanagementfunctionsoftheadministrativeleadershipofthedepartmentofOAareimperative.ThesystemdesignsanddevelopsaflexibleAdminmoduletoachievethedefinedinternalmanagementarchitectureandworkingrolefunctionoftheusers,allowinguserstocustomizethereceipt,thepostingandtheformofthebusinessprocessesfreely,andsettingtheparameterinthewholedynamicway.Accordingtotheactualsituation,userscanselectthedesiredmoduleflexibly,andthereservedinterfacecanachieveseamlesswiththeexistingbusinesssystems.Also,itcanachievetheInteroperability,interconnectionbetweentheinternalinformationsystems.Theadministratorcanbeawiderangeofsystemconfigurations,thesystemwithinareasonablerangeofflexibilitytoadapttofuturechangesindemand.Notonlyreducetheupfrontinvestmentbuttoacertainextent,protecttheuser'ssystemmaintenancework.Thesystemprovidescustomizationfeatures,allowingtheusertocustomizetheworkingenvironmentinaccordancewiththeirownhabitstouseandimprovetheworkingefficiencyfaster.Keywords:OfficeAutomation,OA,ManagementProcesses,Informatization,WorkflowIV 目录第1章绪论...................................................................................................11.1课题研究的背景.............................................................................................11.2研究的目的和意义.....................................................................................11.3国内外研究现状综述..................................................................................21.4论文结构安排..........................................................................................21.5相关技术简介..........................................................................................31.5.1JAVA的优点...........................................................................................31.5.2Jsp的访问模型.......................................................................................41.5.3Jsp技术比CGI更优越...............................................................................41.5.4JDBC技术..............................................................................................5第2章需求分析...................................................................................................62.1用户需求.....................................................................................................62.1.1用户特点和业务描述.................................................................................62.1.2用户系统要求.........................................................................................72.2开发人员需求............................................................................................7第3章系统设计...................................................................................................93.1设计原则.....................................................................................................93.1.1先进性和成熟性.......................................................................................93.1.2实用性和良好的界面设计............................................................................93.1.3可扩充、可维护性....................................................................................93.1.4可靠性和安全性......................................................................................103.1.5任务协同和软件的阶段性...........................................................................103.2系统运行环境...............................................................................................103.3管理员系统架构设计.......................................................................................113.4组织结构设计...............................................................................................113.5客户端架构设计............................................................................................123.6客户端功能模块设计.......................................................................................133.6.1部门功能模块设计...................................................................................143.6.2收文模块设计.........................................................................................153.6.3发文模块设计.........................................................................................173.7系统管理员功能模块设计..................................................................................183.7.1组织结构模块设计...................................................................................193.7.2人员信息功能模块设计..............................................................................193.7.3客户端主界面功能栏设计...........................................................................213.7.4用户应用功能模块设计..............................................................................21第4章系统实现.................................................................................................324.1公用类和函数的实现.......................................................................................324.2系统功能模块实现.........................................................................................334.2.1工作流定义的实现...................................................................................334.2.2工作流实例的实现...................................................................................354.2.3工作流监控管理的实现..............................................................................394.3系统运行.................................................................................................394.3.1管理员系统运行......................................................................................404.3.2主界面栏目的维护...................................................................................404.3.3用户应用的维护......................................................................................41I 4.3.4用户客户端的运行...................................................................................47第5章结论......................................................................................................505.1论文成果....................................................................................................505.1.1灵活的后台管理功能.................................................................................505.1.2用户端实现的功能...................................................................................505.2论文创新点..............................................................................................515.3不足与展望..............................................................................................51参考文献............................................................................................................52致谢............................................................................................................54II 第1章绪论1.1课题研究的背景随着我国各企事业单位对计算机和网络等高新技术的利用,政府信息的传递提升了政府信息的有效利用,从而提高了政府的工作效率,将其办公环境、服务职能和管理迁移到网络上去完成,全面实现高效、透明、规范、优质、全方位的服务,提高内部管理水平,降低重复劳动、提升工作效率,提高服务标准。为工作人员提供了将管理理念与业务处理理念与实践相结合。绥化市水务局为适应业务发展的要求,有效遏制重复建设,加快建设、与各直属单位和各县市区互连互通的需求。目前已经基本完成直属单位和各县市区的宽带网建设,协同工作平台和政务公开是重要应用之一,其建设已迫在眉睫。将分为多期项目进行,现要完成的为第一期项目OA办公自动化。1.2研究的目的和意义黑龙江省绥化市水务局为了实现办公信息在各相关业务部门和系统之间的有序交换和流转;信息数据和服务共享;实现政府职能机关内部管理水平的提升;使政府管理者决策能力的提升;实现政府内部快速响应能力的提升。根据绥化市水务局的实际情况,系统建设的总体目标是:建立旨在提高政府机关办事效率的自动化、网络化和智能化的综合办公系统,建立各类应用系统和资源的集成软件支撑平台,实现系统的平滑升级和扩充。以OA办公系统为基础,将陆续开发电子政务、水务GIS、水务综合数据库管理系统等。首先实现OA办公自动化,为第一期工程项目。具体目标如下:(1)实现水务局各科室部门等管理机关与各基层单位之间信息采集及刊物传递;(2)实现水务局各科室及直属单位的收发文处理及档案管理;(3)实现各单位的日常事务处理;(4)建立各部门的信息资源库和有效的信息发布机制,实现信息的共享、查询与高效沟通;(5)实现各部门内部情况通报;(6)实现处理个人日常事务和个人通信联系;1 (7)实现日常应用管理。通过计算机和通信技术手段建立起来的一个智能化、高效率、高质量的办公平台,减轻工作人员工作负担,实现无纸化办公、节约办公经费,低成本的运行,资源信息化、决策科学化。能够良好、高效、对各项工作实行有效的监督和管理,信息网络化,能够开展互动的政务处理,从信息采集、信息加工、信息传输、信息保存、到信息查询等一系列工作,形成完整的办公自动化系统。实现协同办公,联合执法,互通信息等。这种以OA为基础评台的建设方式,为将来的信息化建设打下坚实的基础,本系统使用工作流程办公自动化处理,能够极大的提高办公的效率和准确程度。另外,可以便捷的统计和分析各种所需资料,方便相应政策的调整等。实现网络处理功能,解决由于物理距离造成的信息交流不畅、协商沟通不便的办公瓶颈问题。系统采用先进的应用系统体系结构和开发模式,提高系统的可扩展性、可维护性和交互性。该系统相对独立,接口实现简单、安全,可操作性强。系统除能提供基础的办公功能外,还能提供门户平台、领导工作平台、公文交换系统、单点登录系统、指挥协同系统。1.3国内外研究现状综述在国外许多发达国家办公自动化都得到了蓬勃的发展,目前都已进入到了第三代办公自动化阶段,并且已经实现了以知识管理、信息处理、业务流程、移动办公为一体[1]的办公自动化,在工作流程的研究上,以工作流管理联盟(WFMC)为主导,该非盈利组织是工作流技术研究方面的权威组织。近年来,我国信息化建设发展迅速。如今,信息化建设从以基础建设、系统建设为主,进入到以应用为主的阶段。但是,我国的水利信息化工作起步晚,水利信息化建设的投资严重不足,很多地方政府,都还未拥有一套智能化、信息化的办公系统以做到及时收集信息、整理、重组和转发、提高工作效率。随着国家资金的慢慢投入,正在进行逐步实施。1.4论文结构安排第一章是绪论,主要介绍课题研究背景、课题研究的目的和意义、国内外研究现状、论文的整体结构和主要采用的技术。第二章是项目的需求分析,从黑龙江省绥化市水务局办公平台用户角度和开发者2 角度进行需求分析。第三章是系统的功能设计和数据结构设计以及系统的整体架构设计,是从用户端需求和系统管理员需求角度设计的,本文主要是对后台管理员系统设计进行描述的。第四章是系统的实现部分,运用语言描述结合系统界面以及关键代码,对主要功能实现进行介绍。第五章是结论部分,对绥化市水务局办公平台系统的优点和存在的问题以及发展进行总结。1.5相关技术简介Java技术是目前比较先进的网络程序语言,与平台无关性、内存垃圾回收、编译语言等优点。Jsp技术与Servle技术及JavaBean组件结合,是实现J2EE和分布式结构的基础,并且安全性能高。1.5.1JAVA的优点Java的一个最显而易见的优点是的运行时间(RunTime)库:在Windows95/98、NT、Solaris、Unix、Macintosh以及其他平台上,都可使用相同的代码。这一点对互联网编程来说,毫无疑问是最优秀的。另一个编程方面的优点是Java的语法与C++的语法相似,这使得学习起来更有效率,而且很容易过渡。Java也是完全面向对象的——甚至做得比C++更全面。在Java语言中,除极少数基本类型(比如数字)外的任何一个东西都是对象(面向对象设计已取代了早期的结构化编程,因为在处理复杂项目时,面向对象的程序设计要优越许多。)。Java设计者消除了人工分配及取消分配内存的必要。Java中的内存是自动进行垃圾收集的。这样,您完全不必担心出现内存漏洞了。它引入了真正的数组,取消了指针算法。使用指针时,完全不必担心可能由于一次微不足道的错,而导致写一个关键的内存区。它排除了将赋值同条件语句中的一个相等性测试混淆起来的可能性。无法编译if(ntries=3)……,它是在C/C++代码中造成的混乱的罪魁祸首。他取消了多重继承,取而代之的是从面向对象的C(ObjectiveC)衍生出来的新型接口概念。通过接口,完全可以做到用多重继承能够做到的全部事情,而且3 不必牵涉到管理多重继承结构时的复杂局面。1.5.2Jsp的访问模型一个Jsp页面至少有两种不同的访问方法:一种是浏览器直接向Jsp页面发送请求,在这种情形下,Jsp页面访问可复用的JavaBean组件,这些组件完成对数据库的存取,结果集存储在Bean的属性中。Jsp页面使用这样的Beans产生动态文档,并且将其发送回客户端。如图(1.1)所示。BrowserJspBean图1.1浏览器向Jsp发送请求图另一种是通过Servlet向服务器发出请求,Servlet产生动态内容,处理对客户端的回应,Servlet建立一个Bean并将动态内容(有时称作结果集)存储在Bean中,然后Servlet调用一个Jsp页面,这个页面包含Servlet产生的Bean,并且将内容呈现出来。如图1.2所示。RepuestServletJDBCDatabaseBrowserResultBeanBeanResponseJSLP图1.2通过Servlet发请求图Jsp可以完成和CGI相同的功能,但却提供了比CGI更优的性能:Jsp具有良好的可移植性,一次编码,随处可用。设计逻辑和页面内容分离。转寄请求Servlets可以转寄请求给其他的服务器和Servlets。1.5.3Jsp技术比CGI更优越Jsp是通过Servlet来完成的,它可以完成和CGI相同的功能,但却提供了比CGI4 技术更优的性能:Servlet提供了Java应用程序的所有优势——可移植、稳健、易开发。使用ServletTag技术,Servlet能够生成嵌于静态HTML页面中的动态内容。1.5.4JDBC技术JDBC是对各种各样的关系型或对象—关系型数据库进行访问的最主要的API之一。JDBC的基本结构是JDBCAPI配合JDBC驱动程序,大致分三个部分:即JDBCAPI、JDBC驱动管理器和JDBC驱动程序。JDBC可以分为四类:第一种是JDBCODBC连接的驱动方式;第二种是Native-APIPartly-JavaDriver进行数据库连接的方式;第三种类型是NET-ProtocolAll-JavaDriver与数据库连接的方式;第四种是Native-ProtocolAll-JavaDriver驱动。JDBCdriver和JDBC-ODBCbridge,是常用的2种数据库连接方式,本系统采用JDBCdriver,通过建立一个数据库连接池以及一套连接使用管理策略。5 第2章需求分析2.1用户需求需求的定义:需求是做一个软件项目要求的描述,也是软件开发最重要的阶段。记述了业务系统中所要求的项目,用户和开发商共同协商软件的相关要求。包括从开发者角度(内部特性),以及从用户角度(系统外部行为)来阐述的需求。2.1.1用户特点和业务描述(1)系统管理员:绥化市水务局网络管理员,负责系统的日常维护,管理每个用户对每个模块的权限和每个模块的用户权限。(2)市局领导:他们多为查询统计操作,(如内部资料、时政资讯等)和文件办理。(3)查询者:主要是水务局各科室及下级单位对内部公开资料的查询。(4)公文管理者:基于工作流流程的公文管理,并且能够自定义流程,为水务局秘书行政科人员。(5)公文办理者:根据公文流转和权限进行管理、审批、会签,一般为水务局的部门领导或局领导。(6)各部门和下级单位:不同的部门,不同的角色有不同的权限(即登陆后的主界面不同);主界面的栏目要动态生成,能够灵活,便于更新,不同的权限显示不同的栏目;就是根据业务需要,定义不同的功能。(7)个人办公:会议通知、公共通讯录、公告板、值班管理、待办文件、内部邮件等协助办公系统;(8)报表:能够自定义报表。(9)文件和附件:对于不同的文件或附件,不同的人员有不同的增、删、改、查权限;(10)各县、市直属部门:接收上级公文、会议通知、报送资料、工作汇报、查阅政府文件、政务信息等。(11)用户界面要求:图形化界面,操作简单,操作环境尽量简化。6 2.1.2用户系统要求(1)用户对客户端实现要求:实现集中式的数据管理和存储,采用B/S结构。(2)接口和扩展功能:因为是一期项目,所以要求有很好的数据接口,能够随时添加功能模块,避免出现信息孤岛现象,方便系统扩充和升级。(3)要求基于公网的Intranet系统:由于是跨区域的应用系统,客户端必须是基于Intranet公网。(4)技术要求:具有先进性、实用性、安全性、可靠性、开放性、规范化、灵活性、可移植性、共享性、可维护性。2.2开发人员需求(1)组织结构,各部门、各单位维护;包括增、删、改、查的功能。(2)人员信息的增、删、改、查功能。(3)人员部门更换,增加、修改、删除功能。(4)密码维护功能。(5)角色分类功能,为各部门增加、修改、删除角色功能。(6)主界面功能栏目维护,增加栏目、修改栏目、删除栏目。(7)用户应用功能的维护,用户应用是整个系统设置的核心,同样分增加应用,删除应用、修改应用等功能。(8)数据库信息表的维护,是对映的用户应用的数据库表(即该应用所用到的数据库表),对数据库表能进行增加、删除、更改。(9)新建数据库表字段的维护:包括增加字段、删除字段、修改字段,及设计字段的属性,包括字段的名称、类型等。(10)用户界面的维护:就是通常看到的纸质文件的版面。是用户进行添加、修改、查询、打印、批注意见的载体,数据库中各个字段的值的导出和存入都要使用界面文件,对映的是相应的应用。(11)报表的维护:对相应的应用进行报表设计,增加报表、删除报表、更改报表。7 (12)工作流程的维护:在设置流程前必须要先建好与流程相关的应用、信息表与界面,在所有的设置中,流程的设计最为复杂,内容最多,也是在电子办公中应用得广泛的一个项目,系统管理员的主要任务就是新建和修改流程。(13)权限的维护:即为流程的使用分配权限和例如哪个人或哪个部门可以启动特定的流程,哪个人可以进行记录维护,即有权添加、修改和删除记录。权限可以赋给某一个人,也可以给一个部门。(14)系统设置维护:包括密码维护、论坛维护、公文模板等维护。图2.1系统管理员用例图8 第3章系统设计3.1设计原则本系统要建立一个实用的办公自动化软件,涉及到各级单位、部门、以及个人,设计应具有先进性、成熟性、实用性、有序化、整体性、层次性、协调性、可靠性、安全性任务协调性和阶段性的原则,尽量减少重复或交叉,良好的人机操作界面,易学、易用、易维护,其原则如下:3.1.1先进性和成熟性采用先进的技术符合当前的技术发展方向和业务发展变化,先进的系统结构和体系结构,成熟的技术可尽量减少系统的实施和运行风险。采用最先进的三层体系结构和MVC(Model-View-Controller,模型-视图-控制器)设计模式,是比较成熟的、先进的技术,符合技术发展和业务发展性。3.1.2实用性和良好的界面设计应能充分考虑到用户业务各层次、各环节之中的数据处理,信息管理和流程的控制,系统的实施可从业务的低层向高层管理的自动化过度,保持良好的连贯性。系统应能支持多种平台、多种网络传输协议,方便有效地实现交换数据。采用工作流技术开发的办公自动化系统应能与后续开发的系统互操作并有效地交换数据和信息。用户接口及界面设计应考虑不同用户的实际需求,界面要美观大方,操作简便实用。3.1.3可扩充、可维护性随着工作和时代的变化,系统在开发过程和使用过程会有不同程度的变化。系统应采用结构和程序模块化,较好的可维护性和可移植性,为了适应这些必然的变化,系9 统要加强灵活性和扩展性的设计。即可以根据需求修改模块的增加、修改、以重组功能以参数化方式设置系统参数,以保证信息系统的发展和完善。,提供通用报表功能和模块组装工具以支持新的应用。3.1.4可靠性和安全性一致的安全性接口在管理敏感数据时可减少差错。应用之间所用的安全特性应取得一致,数据库的安全可通过数据加密和用户标识与鉴别等机制。整体系统运行稳定,有很强的防错、抗错能力。有很强的故障恢复和应急措施,采用数据备份,数据日志和系统故障处理对策,保证日常事务不间断地正常运行。3.1.5任务协同和软件的阶段性当一项任务由多人完成时,各部门、不同单位和个人之间相互之间协同至关重要。因此要求数据流转通畅,流程设置合理。由于办公自动化软件及其它软件的后续开发,使软件的开发是分阶段性的。3.2系统运行环境服务器端硬件环境:CPU:Pentium4处理器内存:512MB硬盘:80G客户端硬件环境:PC:Pentium4处理器内存:256MB硬盘:80G软件环境:数据库:MicrosoftSQLServer2000操作系统:MicrosoftWindowsServer2000/200310 浏览器:MicrosoftIE6.0或更高3.3管理员系统架构设计从以上用户概要需求分析出开发者需求,这是一个要求有一个较高的后台管理系统,完全是基于后台开发各种应用,前台输出灵活的一整套系统。本论文主要以后台论述为主。本项目管理员系统采用C/S二层结构:由于管理员系统只是在服务器和管理员用户之间传输数据,用户极少,避免了用户端的过多维护。C/S架构的界面和操作可以很丰富;安全性能可以很容易保证,实现多层认证也不难,由于只有一层交互,因此响应速度较快。所以采用C/S结构。图3.1C/S架构图3.4组织结构设计组织结构是软件系统进行工作管理和权限分配的基础:对组织机构进行设置,包括对各岗位、部门、人员职责设置。当组织结构中的岗位、部门、人员发生变更时,可对系统各模块功能内相应的权限进行同步更新,以确保数据的完整和安全。绥化市水务局组织结构:如图(3.2)所示11 绥化市水务局秘节水财农给水防各书约政务村排务汛县行用水审水水工防市政水资计利科程旱区科办源科科管办水图3.2组织结构图3.5客户端架构设计用户端采用B/S三层结构,设计模式采用MVC设计模式。有很多人认为他们是相同的,其实不然,他们是不同的。三层结构是一种笼统的架构思想,没有限制具体的设计;而MVC就比较具体的说明它的设计方法。三层结构即表现层、业务层、数据层。它是由二层C/S结构发展而来的。第一层:表现层也就是用于程序和用户之间的交互,它提供给用户各种界面及操作导航,这一层是用Internet集成的。基于网页的客户机(Web浏览器)连接到网络上;第二层:业务层也叫中间层或事务逻辑层,这一层是比较复杂的一层,有数据处理,事务处理和外观服务,因此可以把这些复杂的业务化分为三个子层,1、数据库服务层(如:数据库连接池);2、主业务服务层(如:业务对象的实例化);3、外观服务层(如:更换新的页面);第三层:数据层也叫资源管理层,这层是定义了大量的数据管理任务,较少的或没有数据处理,如:数据库,文件,XML等。一般都使用较大型数据库,本项目使用SQLServer2000。基于以上分析,所以三层结构又可以分为多层结构。下面是三层结构图:12 表示层业务层数据层WindowsJSP文件或其他HTMLGUIJavaBean数据库Web浏览器其他数据图3.3Browser/Server(浏览器/服务器)三层体系结构图[2]MVC设计模式:是软件工程中的一种软件架构设计模式。它把软件系统分为三个基本部分,模型(Model):代表应用程序状态和业务逻辑;控制器(Controller):根据客户的请求来操纵模型,响应客户的请求,并把模型的响应结果经由视图展现给客户。视图(View):向客户显示模型数据,提供可以交互的客户界面;MVC设计模式是一个用于将用户界面逻辑与业务逻辑分离开来的基础设计模式。B/S结构特点:(1)降低客户端维护成本,降低客户机的成本要求,降低客户端培训费用,真正做到客户端零维护成本。(2)可以统一用户界面,静态的页面都是一致的,对于有用户交互功能的界面也基本相似。(3)具有很强的开放性,对于浏览器的要求降低,几乎是没有客户端的访问。(4)由于和Web平台无关,所以易于扩展,简化了应用程序的部署和管理,而不是在客户端更新大量的应用程序。可以从几个用户扩展到成千上万用户。(5)有更强的系统集成性,提高工作效率。(6)具有灵活的信息发布和信息交流服务。3.6客户端功能模块设计根据上章的需求分析可知本系统的基本功能和要求。实现公文流转、数据文件的传输、以及一些协助办公的功能模块。本系统对各功能进行集中、分块,按照结构化程序设计的要求,从而得到系统功能模块。由于篇幅问题,本文只对重点功能进行介绍:13 功能模块部个公信系操下友门人务息统作载情专办栏浏工手区链区公览具册域接图3.4客户端功能图3.6.1部门功能模块设计部门专区:由需求分析可知本功能模块是根据不同的权限显示不同的部门界面,此功能模块只是显示部门的功能,不同的部门有不同的功能。其它功能模块是相同的。此功能模块是本系统最重要的一个功能。秘书行政科功能模块设计:秘书行政科是重要部门,负责各级单位办公的重要桥梁,整个公文运转流程的处理,是由文件的分送功能连接.。秘书行政科收发工信内文文作息部资管管汇浏料理理报览图3.5秘书行政科功能图14 3.6.2收文模块设计收文管理模块:完成收文所涉及的一系列操作:登记、拟办、公文上报、中转、转发、部门拟办、领导审核、承办单位办理、归档、相关单位查询公文等。在系统中特别注重数字化数据的一次性录入,减少重复劳动,提高办公效率。采用收文处理和待办事宜配合使用的方法,使收文处理更加直观。来文中的流程是:开始—>登记—>拟办—>分送—>批办—>分送—>承办—>分送—>传阅—>分送—>归档—>结束15 开始收文登记拟办分送批办分送承办承办承办更多分送传阅传阅传阅更多分送归档结束图3.6上级来文流程图注:名词解释登记:对收文的基本情况予以登记,并对收文编号。拟办:机关文件主管部门负责人(通常为办公室)对来文的处理提出初步的方案或建议,为领导决策提供参考和咨询。分送:文秘人员根据文件的主次缓急、密级、内容及工作需要等确定文件的承16 办单位及发送范围,并将文件送到承办单位或领导人的手中。批办:领导对文件办理做出批示,包括指定具体承办人、承办时间、承办要求、传阅范围、传阅时限、对需回复的文件指定复件起草人及主办单位等。承办:执行上级命令、办理文件和起草文件等。传阅:在处理公文后,需要给领导或者相关人员进行查看,从而设置传阅。上级机关来文办理权限由后台管理员赋予。秘书行政科其他人员没有来文登记权限,只有文件办理权限。来文登记人填写有关内容,通过添加附件形式把原件上载到系统中,然后进入下一环节的相关人员,传送给其他部室或领导。不符合条件退上一环节,对于下级单位上报的文件,如果不符合条件的退回重办,领导办理完毕返还给经办人或其他人。结束:该文件不再继续报批,由秘书行政科存档保管;3.6.3发文模块设计发文管理:本模块功能与收文管理基本相同,都是基于工作流引擎,只是文件由起草人员起草文件,并不是接收文件。发文拟稿:文件拟稿人填写发文稿纸和文件原件发送给领导审批;文件办理:无论是哪一个环节人员收到文件都展示在文件办理栏目中,点击需要办理的文件,可以在发文稿纸的相应栏目中填写本环节人员的办理意见,也可以打开原件直接进行浏览工作。办理完毕后发送给下一环节。表3.1公文数据结构表字段名称字段类型字段长度备注ID整数型4自增文件编号字符型100输入标题字符型160输入密级字符型10选择保密期限字符型16输入主题词字符型10输入拟稿人字符型10当前人打印字符型10输入份数整数型10输入与会人或单位字符型100输入17 续表3.1公文数据结构表字段名称字段类型字段长度备注校对字符型10输入部室意见字符型80输入抄送字符型100输入签发字符型100输入主送字符型50输入会签字符型100输入缓急字符型10选择3.7系统管理员功能模块设计在传统的应用系统中,用户对系统结构是不能进行修改的。这就造成系统并不能百分之一百的满足用户的需求。本系统中设计的应用系统生成器能相对的解决这些问题。对现有表单式栏目应用管理员可以直接配置使用,没有的栏目,管理员用户无须编程,便可以根据自身现行的办公和事务自行设计一些应用程序,并能随实际工作的变化而不断更新调整应用程序的结构。单表式的小型应用系统,在网络信息系统中可以由使用人员自己建立,不需要程序开发人员的介入,使用户可以脱离实现技术的困扰,全力投入实际解决问题的过程中。管理员系统组人角主应账织员色界用号结信维面模密构息护维块码维维护维维护护护护图3.7管理员功能图18 3.7.1组织结构模块设计组织结构功能、人员信息功能、角色功能是系统的基础架构模型,主要是增加、修改、和删除功能,组织结构是树型结构,分级、分层进行关联,完全采用树状结构进行建立,具有清晰的层次感。对于有些部门的下边还会有子部门,子部门的增加建立在上级部门之下。删除某部门下级部门相应的也会删除。表3.2组织结构数据表字段名称字段类型字段长度备注父ID整数型4上级部门IDID整数型4自增机构名称字符型40部门名字层次整数型4水平机构层次顺序整数型2垂直层次3.7.2人员信息功能模块设计人员信息维护就是该组织机构中增加人员了,对于要增加的人员需要录入哪些信息,用户可以自由定义本单位的人员属性字段信息,人员编号、人员姓名、邮箱大小、IP限制是基础字段不允许更改,首先要确定要录入的字段名称、字段类型、字段长度。修改和删除字段直接选择要更改的字段进行操作就可以。人员信息功能设计流程图:19 人员信息修增删改加除信信信息息息增修删加改除字字字段段段图3.8人员信息功能图对组织结构中的人员维护:选择部门后,为各个部门增加人员、删除人员、更改人员,都是基本功能。表3.3员工信息基础表字段名称字符类型字段长度备注ID整数型4自增账号字符型50必添字段姓名字符型20部门ID整数型4邮箱大小整数型4IP限制字符串255表3.4员工属性信息添加表字段名称字符类型字段长度备注ID整数型4自增字段名字符型20新增加的字段字段类型字符型20字段长度整数型20顺序整数型220 3.7.3客户端主界面功能栏设计主界面中的功能栏目设计:进行主界面设置的目的是为了信息分类,把不同的信息按照一定的分类规则分为几个不同的栏目,并为不同的部门或个人分配给不同的栏目(即栏目的权限使用),然后各个栏目与相对应的应用进行关联。表3.5栏目表:字段名称字符类型字段长度备注ID整数型4自增栏目名称字符型30主界面功能栏部门ID整数型4所属的部门次序整数型4栏目的顺序应用ID整数型4用户应用3.7.4用户应用功能模块设计用户应用设计:用户应用是整个系统的核心,项目较多,内容复杂,因为考虑到软件的特点,它将主要分为六个部分来设计。增加应用是定义一个应用,新增加的应用以便进行这个应用的后续功能设计。修改应用是对已有的应用存在的问题进行更正,包括数据库表、界面的设计、流程设计、权限设计、报表设计。删除应用对不需要的用户应用进行删除。用户应用设计功能流程图:21 用户应用维护修增删改加除应应应用用用信界流权报其息面程限表它表设设设设设设计计计计计计图3.9用户应用功能图3.7.4.1用户应用信息表设计信息表设计:信息表是用户应用的基础,用户应用对映一个或多个数据库表。它的功能是能够让管理员自己根据需求设计数据库表,增加数据库表、修改数据库表和删除数据库表,并对自定义的数据库表进行增加字段、修改字段、删除字段,以及字段的属性设计。字段属性包括:字段姓名、字段类型、字段长度、输入方式。字段类型有字符型、整数型、小数型、时间型、备注型、图像型;输入方式有有四种输入方式的字段,即输入、选择、输入+选择。其中输入+选择的输入方式为输入和选择的组合。所以在此只需介绍输入、选择、系统三种字段的增加方法,输入+选择的字段的增加方法在此不再赘述。1、输入方式(即是输入文本框):在这种模式下包含有两个隐含值选项:固定值和系统值。固定值是指用户在未做输入时,系统的默认值,比如民族这样的字段,因为我国人口中,90%以上都是汉族,就可以在其中加入一个固定值汉,以省去大多数人繁22 琐的重复输入。系统值是指由系统生成的值,比如系统时间,先选中系统值,三个预设的内容:系统日期、系统时间、当前用户。系统管理员可以根据需要,适当的选取其中的值。2、选择方式(即是选择文本框):定义选择文本框中的选项,比如性别选项男、女。可以对选项进行维护,修改和删除功能。表3.6信息表维护表字段名称字段类型字段长度备注ID整数型4自增表名字符型20增加的信息表应用ID整数型4用户应用表3.7字段维护表字段名称字段类型字段长度备注ID整数型4信息表ID整数型4字段名1字符型20中文字段类型字符型20字段名字符型20英文字段长度整数型4输入方式整数型1输入文本方式选择方式字符型50选择文本方式输入选择字符型50输入加选择固定值字符型50不可更改值系统值字符型50日期或时间3.7.4.2用户应用界面模块设计界面设计:界面设计的内容主要就是设计用户交互的界面(即是表单),如:用户用于公文流转的界面。表单设计功能包括定义表单名称,选择相关数据表,表单属性编辑器和表单设计器。界面中的字段和标签要一一对应关系。否则会造成数据错误,造23 成后期设计的使用该界面的流程无法正常流转。首先为要设计的界面提供主信息表,以便信息表中的字段和界面相关联。表单设计器:表单定义的界面提供一个二维表格,在二维表格中可以添加和本表单相关联的信息表字段,绘制界面中的水平线、垂直线、标签、添加附件、添加正文;表单属性编辑器:是对定义表单中的对象属性的设计,包括颜色、字体、字段的宽和高,字段的坐标。表3.8窗体信息表:字段名称字段类型字段长度备注ID整数型4自增字段名称字符型20窗体相关字段左边距整数型4窗体边界上边距整数型4窗体边界宽度整数型4窗体边界高度整数型4窗体边界字体字符串20文字大小实数型4前景颜色整数型4背景颜色整数型4外观样式小整数2边框小整数2标签字符型400显示类型小整数2窗体ID整数型4图片名称字符型30字段类型字符型20信息表ID整数型424 3.7.4.3用户应用报表模块设计报表设计:本功能模块采用第三方水晶报表软件,不多介绍。3.7.4.4用户应用流程模块设计流程设计(即工作流程的设计):工作流就是完成一项工作所需的步骤,是一类在计算机技术的支持下能够完全或者部分实现自动执行的经营过程。工作流管理联盟[3](WFMC)定义了工作流的标准,它根据一系列过程规则,使信息、任务能够在不同的参与者之间传递与执行。描述了工作流的概念和基本模型,工作流模型是对工作流的抽象表示,是整个工作流管理系统的基础。用户可以根据WFMC的标准开发具有统一规范的工作流管理系统。工作流管理系统的核心是工作流引擎(WorkFlowEngine)。工作流引擎可以定义自己需要的工作流,它是一组数据模型和软件,同时可按照预先定义的业务流程,自动流转于各个环节,它为应用系统提供根据任务类型、执行角色、分工和条件的不同的信息传递,整个生命周期内按一定的管理模式加以定义、组织和管理,他为应用管理系统在定义时期提供支持、在运行时提供解释和执行服务。过程定义工具工作流管理工具其他工作流服务工作流引擎工作流客户应用工作流引擎用的应用图3.10工作流参考模型图本功能模块就是对工作流系统的研发。工作流引擎要三个对象支持:工作流模板、工作流实例和工作流监控。项目采用网格工作流数学模型,网格是将网络环境下不同的网格服务按一定方式组织起来,形成一个新的组合网络服务。这个组合通过工作流技术25 实现,形成工作流组合系统,工作流组合系统分为工作流自动组合系统和用户直接组建工作流。自动组合系统是输入原始值和数据自动产生工作流,但是需要把握使用的数据类型和组件的功能;而用户直接组建工作流就比较直观。网格服务就是工作流系统的主要组成部分[4]网格工作流:是指一个网络服务自动化处理的过程,WFMC就是定义最基本的网格工作流体系结构。网格和工作流是相辅相成的,网格模型是工作流引擎的驱动,提供完整的任务调度策略,网格工作流生成模块负责网格工作流的生成工作。工作流被形式化描述为一个有向图,用于记录节点间关系及权值参数。形式化描述:网格活动的形式化描述是一个三元组GA(活动标识,活动的资源参数,活动约束参数);网格工作流模型形式化描述是一个四元组GWFM(网格工作流模型的标识,过程模型,资源模型,参数模型);网格实例形式化描述是一个五元组GI(网格工作流的标识,网格活动的标识,活动的资源参数,活动的状态,活动的相关参数集);调度模块是网格工作流引擎中的最主要的功能,工作流应用具有不同的特点,所以在调度上依赖于应用模型。过程调度决策数据,活动间的传输数据等。工作流相关数据即可以被工作流引擎使用,也可以被应用程序调用。[5]工作流过程模型有四种基本控制结构:分别是顺序路由、并行路由、选择路由和循环路由。(1)顺序路由是按照一条直线执行工作流中的各个节点的过程,完成一个节点活动之后,再执行下一个节点活动,如图3.11:完成节点1再执行节点2,是顺序执行的。图3.11顺序路由(2)并行路由多个活动节点可以同时激活或者任意一个先执行,比如任务活动节点2和任务活动节点3两个任务是并行的的路由。图3.12并行路由26 (3)选择路由是在多条分支上选择一个活动,在分支上可以定义条件,实现按条件自动流转,条件转移之间还可设置逻辑关系;图3.13选择路由图(4)循环路由是特殊的选择路由,有一个或多个活动反复执行。图3.14循环路由图定义工作流表(Workflow):存储的是工作流定义时的内容和工作流名称及基本信息。表3.9定义工作流表字段名称字段类型字段长度备注ID整数型4自增工作流名称字符型40创建时间时间型8InfoID整数型4信息表ID整数型4窗体ID整数型4窗体字段ID整数型4应用ID整数型4流程图片字符串50内容字符型50工作流引擎的数据结构:工作流引擎相关的各种控制数据可以存储在数据库中,每一个实体(ENTITY)基本对应数据库中一张表。可以方便定义工作流引擎中的各种数据,包括格式和数据属性,相关数据的完整性可以由数据库来维护。27 实例化工作流表(WorkFlowInstance):是在工作流实例化时填入的内容。记录了工作流实例的相关信息。表3.10实例化工作流表字段名称字段类型字段长度备注ID整数型4工作流ID整数型4工作流序号实例名称字符型40开始时间时间型8结束时间时间型8执行者字符型10状态字符型10实例创建人字符型10备注字符型50工作流模板中每个节点信息表(Node):节点是现实的文件办公过程是由一个个的处理环节所组成,如审批,审核,检验等等。在流程中,节点的概念与现实中是完全一样的。而每个环节都有其处理结果,比如审批节点同意或不同意,检验合格或不合格等等。表3.11工作流模板节点信息表字段名称字段类型字段长度备注ID整数型4顺序整数型4名称字符型20工作流ID整数型4描述字符串50工作流实例中每个节点信息表(InstanceNode):该表记录了工作流实例中每个节点的信息,包括节点的任务是什么,执行人是谁,执行时间等。涉及到节点之间连接,而连接的概念就是由节点的处理结果来决定流程的走向,比如说审批同意就流向下一个节点,不同意就返回修改或直接结束等等。28 表3.12实例化节点信息表字段名称字段类型字段长度备注ID整数型4实例ID整数型4节点顺序整数型4定义节点ID整数型4该节点责任人字符型20任务状态字符10活动状态字符10节点描述字符串50节点备注信息表(HistoryRecord):该表记录了工作流实例的每个节点的备注信息,包括实例节点、责任人以及工作流状态是否结束等信息。便于事后查询,就是通过该表进行监控工作流实例执行情况。图3.13备注信息表字段名称字段类型字段长度备注ID整数型4实例节点序号整数型4开始时间时间型8截止时间时间型8责任人ID整数型4是否结束字符型2实例序号ID整数型4完成状态字符型2窗体ID整数型4应用ID整数型4备注字符串503.7.4.5用户应用权限模块设计在建好了相应的信息表、流程和窗体以后,可以给它赋权限。主要是对窗体中菜29 单栏目赋予使用权限,菜单栏目分菜单组(一级菜单栏目)和菜单(二级菜单栏目),可以对部门、角色、个人赋予权限。在菜单建好以后,下一步的工作就是要给菜单指定相应的使用权限,指定某一个人或是某一个部门的所有人可以使用这个菜单。例如,来文查询权限(显示、打印记录)可以赋给整个公司的每一个员工;而维护权限(增加、修改、删除记录)则只分配给系统管理员使用。增加角色:可增加一个角色或增加多个角色。增加部门:增加多个人员,如果增加一个部门,那么这个部门下的每一个人员将会得到这个权限。删除:可以删除角色或部门的权限,删除以后,该人员将不能再使用这个菜单。菜单类型分为4种:数据信息菜单、流程信息菜单、报表菜单和功能菜单。数据信息菜单:此类型的菜单主要是针对数据库的记录维护而设的,能实现的功能主要有:定义菜单的名称;增加、修改、删除记录;条件设置;列表的显示宽度调节;设置查询字段;字段的排序方式;对附件使用的权限(是否允许增加附件、是否允许编辑附件、是否允许删除附件、是否允许浏览附件、是否允许下载附件)。流程信息菜单:流程信息菜单只能使用在建有流程的应用中,主要是为了能随时查询流程当前的状态和便于以后的档案备查。实现的功能有对附件使用的权限,对正文的使用权限(是否允许增加正文、是否允许编辑正文、是否允许删除正文、是否允许浏览正文),字段是否可读权限,可查询字段、可显示字段。表3.9菜单组数据表字段名称字段类型字段长度备注ID整数型4应用ID整数型4菜单组名称字符型30顺序功能菜单:功能菜单主要是用来操作流程用的,将两个功能菜单组合起来使用,把信息菜单用流程菜单来控制走向。功能是设置菜单名称、类型、功能菜单、流程、列表显示的字段。菜单类型可分为三种信息表、流程和流程处理,30 表3.10菜单数据结构表字段名称字段类型字段长度备注ID整数型4菜单组ID整数型4菜单名称字符型30菜单顺序整数型4菜单类型字符型20字段权限文本型16标签ID整数型4流程模板ID整数型4表3.11权限数据结构:字段名称字段类型字段长度备注ID整数型4菜单类型字符型20菜单ID整数型4权限字符型20人员或部门人员或部门ID整数型4权限名称字符型50应用ID整数型431 第4章系统实现4.1公用类和函数的实现实现过程:一些小的功能栏目实现就不介绍,如公务栏、邮件和链接区功能栏,公用控件,如日期控件、分页程序、增删数据、按钮控件、文本框等。只介绍部分主要实现方式和功能代码。数据库操作通用类和函数:Publicclassdboperation{//公共变量略PrivateStatementgetdblist()//此方法返回一个链接数据库的实例,通过这个实例执行SQL语句。PublicintgetResultByUpdate(StringSql)throwsSQLException//执行一条SQL语句,对数据库执行操作,继承连接数据库方法。PublicCachedRowSetgetResultBySelect(StringstrSql)throwsSQLException//这个方法是查询数据库,将查询结果返回到CachedRowSet的结果集中,继承连接数据库方法。PublicVectorgetColValues(StringstrSql)throwsSQLException//此方法是得到某个表中某行的多个字段的值,如果结果为多行,就返回第一行。PublicStringpopListWithSelect(StringstrSql,Stringdefaultval)//通过SQL语句取得列表项,如:select代码,显示fromtablemane,返回一个拼好的StringHTML代码。PublicStringFixString(Stringingstring)//该方法解决由数据库中返回的汉字在网页中显示是乱码。PublicSrtinggetValue(HttpServletRequestrequest,Stringinstring)throwsException//此方法是在网页上from提交时,可以使用该方法在另一页面里获得数据,从session上取值,为null时转化为“”,并转化字符集。32 4.2系统功能模块实现系统管理员系统功能的实现:因为管理员系统只需维护服务器端,可扩展性、安全性、容错性和系统性能显著提高,所以管理员系统采用C/S结构。本系统只对比较重要的功能实现进行论述,其他功能在系统测试与运行部分介绍。启动系统管理员系统,经过验证就可以登陆。4.2.1工作流定义的实现工作流的定义:工作流就是把一项工作化解为多个步骤由多人协调来完成一项工作。工作流定义可以成为工作流建模,流程定义时就指定了流程的转换规则,是工作流管理系统中的一个重要组成部分,也是实施工作流管理的起点。一个流程对应着一条实际转换的业务。图4.1工作流定义图上图是在用户应用中定义的一个工作流过程。流程定义的结果直接保存到数据库中,以便于修改和重建。在工作流定义期只是指定出与一个业务流程相符的通用的工作流模板,而并不能把它局限到某一个执行者身上。也就是说这个模板是可以允许许多人引用的通用模板,至于给每个任务指定一个具体的执行者的操作是在工作流实例化时完成的。该流程只包含基本信息,不能表示出一个业务流程中各个任务的先后次序。工作流定义过程中的添加节点即相当于描述业务流程中的任务。添加一个节点既是定义一个任务。定义工作流实现:模拟工作流过程及其组成活动。它包括对工作流名称的维护(增加工作流,修改工作流和删除工作流)。定义流程名称之后,就是设置节点(包括增加环节,减少环节和修改环节)。33 定义一个工作流模板有两个类和两个数据模型:WorkFlow类和Node类。实现类和方法代码:publicclassWorkFlowimplementsSerializable{privatevoidReset()//初始化工作流模板的属性值publicbooleanCreate()//创建工作流publicbooleanOpen(inti)publicWorkFlow[]openAll()//打开所有的工作流实例publicWorkFlowopenWF(intworkFlowID)//打开工作流基础对象实例,WorkFlowID:工作流IDpublicbooleanDelete(inti)//删除工作流,参数i是工作流模板的ID号publicbooleanModifyWorkflow(inti)//修改工作流模板publicbooleanAddNode(Nodenode,inti,intj)publicNodeGetNode(inti)publicbooleanDeleteNode(Nodenode)//删除一个节点}Node类定义好工作流模板中每个节点的属性,对节点进行设置、获取节点,打开一个节点,修改节点,删除节点。publicclassNodeimplementsSerializable{//构造函数publicNode()publicvoidInit(PoolBeanpoolbean)//初始化方法//设置、获取节点的属性publiclonggetID()publicvoidsetID(intnID)publicStringgetName()publicvoidsetName(StringnName)publicintgetIndex()publicvoidsetIndex(intnIndex)publicintgetWorkFlowID()publicvoidsetWorkFlowID(intnWorkFlowID)publicStringgetDescription()publicvoidsetDescription(StringnDescription)34 privatevoidrefresh()//清空对象publicbooleanopen(intnodeID)//打开一个节点nodeID:节点IDpublicbooleanmodifyNode(Nodend)//修改节点nodeID:节点IDpublicbooleandeleteNode(Nodend)//删除节点nodeID:节点ID4.2.2工作流实例的实现工作流实例的创建:创建工作流实例可以理解为,过程被定义,工作流引擎解释转换,工作流引擎执行的是过程模型,将上一步定义好的工作流模板应用到实际工作中,对过程实例中的活动进行调度。例如可以将定义的工作流用于来文承办,一个员工添好来文(事宜)承办单提交给相关领导,请他审批。(如图4.9):图4.2业务流程图上图工作流实例与工作流模板的区别就在于工作流模板可以不绑定人,而工作流实例必须绑定人,工作流程实例化过程中的关键任务是工作流节点的任务指派。即它必须指定任务执行者。完全可以按照现实办公过程中的环节来对其进行设置。比如说一个审批环节,可以把环节名称定义为审批,设置由谁来进行审批,以及赋予他一些什么权限,比如是不是允许他批注意见,是不是允许他对文件进行修改等等。绑定的人员可以单个的用户,也可是角色或部门。对于人员权限的赋予,根据具体情况分配,比如允许转发是指可以把文件转发给别人查看,以帮助解决问题。允许中断是指在流程流转中发生意外情况时,可以将文件中嘱托转发给其他人或者直接将流程结束。环节和环节之间的连接,也就是每一个环节的出口描述,表述出此环节与上下两个环节的关系,比如起草与审批两环节间的连接可定义为提交等等,也可不起名,并不影响流程的正常运行,出口状态提供三种模式:1.直接通过就是不需要任何条件,文件可直接流转到下一个环节,一般用于流程开始环节与下一个环节间的连接。2.按出口状态是指可以根据上一个环节的处理结果来决定是否流转到下一个环节,比如由某人(上环节人员)选择某种处理结果(出口状态之一)后,即满足条件,文件流转到下一环节。环节人员可以选择环节所有人,其中一人,及某一个具体的人。3.按文件属性及出口状态是说除了出口状态的条件以外,还添加了按照文件属性来决定文件是否流转到下一个环节。文件属性是35 指文件的条目字段。举个简单的例子,例如:在一个报销流程中,可以这样设置:报销金额小于5000元时,在部门经理审核环节审核通过后,即可直接送交财务,而大于5000元,还须经过总经理审批这一环节。可以轻松地完成这一设置。本文对环节的算法是对优先遍历算法的改造,如果不改造在实际的流程中就存在问题。如下一个实际需求流程图:图4.3流程图P1节点有四个分支,明显是并发的,如果采用深度优先遍历算法就会先执行p2节点,一直到结束,再执行p3节点到结束,如此往复,这就存在问题。广度优先遍历算法和深度优先遍历算法是对应的,广度优先遍历算法是先在同一层次执行,然后进入下一层次,这个遍历顺序也和实际运行过程不相符,所以必须进行改造。改造后的算法如图4.3,这个算法对于分支和发散,与汇聚的流程都能满足:ISP1P2P3P4N图4.3流程算法图注:(1)S是活动开始;(2)I是利用循环获得当前节点的邻接节点个数;(3)P1是判断该节点是否为前驱路由点,如果是进入下一个判断,如果不是前驱路由点,是普通节点则递归进入下一个节点的访问,把大循环体的,循环变量带进去递归方法中;(4)P2判断该节点是否被访问过,如果没有被访问过则递归返回,从递归方法中获得的循环控制变量并加1;如果被访问过进入下一判断;(5)P3被访问过,但是访问的次数小于它的前驱节点总数,递归返回并从递归方36 法中获得的循环控制变量加1,否则进入下一个判断;(6)P4如果总计访问次数等于它的前驱节点总数,递归进入下一个节点的访问,把大循环体的,循环变量带进去递归方法中。(7)N活动结束。实例化工作流也有两个类:InstanceWorkFlow类和InstanceNode类。publicclassInstanceWorkFlowimplementsjava.io.Serializable{publicvoidInit(PoolBeanpoolBean)publicintgetID()//获取工作流实例的IDpublicvoidsetID(intnID)//设置工作流实例的IDpublicintgetBaseWorkFlow()//设置、获取该实例所基于的工作流模板的ID号publicvoidsetBaseWorkFlow(intnBaseWorkFlow)publicStringgetName()//获取工作流实例的名称publicvoidsetName(StringnName)//设置工作流实例的名称publicStringgetUserID()//获取创建人publicvoidsetUserID(StringnUserID)//设置创建人publicDategetBeginDate()//获取实例的开始时间publicvoidsetBeginDate(DatenBeginDate)//设置实例的开始时间publicDategetEndDate()//获取实例的结束时间publicvoidsetEndDate(DatenEndDate)//设置实例结束时间publicStringgetNote()//获取实例的备注publicvoidsetNote(StringnNote)//设置实例的备注publicStringgetFinished()//获取实例的完成标志publicvoidsetFinished(StringnFinished)publicbooleangetAssigned()publicvoidsetAssigned(booleannAssigned)publicintgetNodeCount()publicvoidsetNodeCount(intnNodeCount)publicintgetStepCount()publicvoidsetStepCount(intnStepCount)publicintgetRecordCount()37 publicvoidsetRecordCount(intnRecordCount)//设置当前激活的工作流实例的节点的索引publicvoidsetActiveIndex(intnActiveIndex)//获取当前激活的工作流实例的节点的索引publicintgetActiveIndex(longinstanceID)publicbooleancreateInstance()//重置工作流实例的属性值publicvoidrefresh()publicInstanceWorkFlowopenIWF(intinstanceWorkFlowID)//打开一个工作流实例instanceWorkFlowID:工作流实例IDpublicbooleanopen(intinstanceWorkFlowID)//打开一个工作流实例instanceWorkFlowID:工作流实例IDpublicbooleansetNodeUserID(intnodeID,StringuserID)publicbooleandelete()//删除一个工作流实例,及其所有节点publicbooleanmodifyInstanceWorkFlow()//修改工作流实例publicbooleansetNodeFinished(longinstanceNodeID)//设置当前节点完成instanceNodeID:当前节点IDpublicbooleanmayNext()//是否允许流向下一个节点.当然节点必须处于open状态publicbooleansetActiveNode(intindexOrder)//设置某些节点处于激活状态indexOrder:流程步骤publicHistoryRecordgetCurrentRecord()InstanceNode类实例代码:publicclassInstanceNodeimplementsjava.io.Serializable{publicInstanceNode()//构造函数privatevoidrefresh()//清空对象publicbooleanopen(intinstanceNodeID)publicbooleansetUserID(StringUserID)//调用这个方法之前必须先调用open()方法.publicintgetNodeRepeateCount()//调用这个方法之前必须先调用open()方法.返回对这个节点实例的监控记录的内容38 publicHistoryRecordgetNodeRepeateItem(intindex)//监控记录的索引}4.2.3工作流监控管理的实现工作流的监控管理:活动是组成过程的基本元素,工作流是以过程定义元模型为基础。工作流的管理是指系统可以通过工作流引擎监控工作流的执行。可以配置一个或多个事件过滤器和总结器。还可以根据实际的业务处理需要,对需要监空的信息,建立记录表和监控信息汇总表,此外工作流引擎还提供了记录工作流程中每一个节点的执行情况及执行者的信息的机制,可以方便用户随时查看每个工作流实例的历史记录,实时的操作数据库记录表(自定义表)达到工作流监控的目的。实例代码:工作流执行情况的监控类,包括实例节点的责任人、节点的完成情况,这个类的功能是记录工作流实例运行期间的信息。实现类和方法代码:publicclassHistoryRecord{publicHistoryRecord()publicvoidInit(PoolBeanpoolbean)publicbooleanopen(intrecordID)publicvoidrefresh()}4.3系统运行本系统实现了黑龙江省绥化市水务局信息化建设一期工程的需求,具体实现了:办公系统的工作流自定义,报表功能,邮件系统,日常个人办公助手,会议通知,公告板,值班管理,公务管理,部门管理,人员信息管理,权限分配,客户端界面栏目维护管理论坛管理,数据库管理等功能。目前系统已经正式运行,运行稳定。全体员工已经依赖网络办公,是工作中不可缺少的一部分。39 4.3.1管理员系统运行以系统管理员的身份登录,通过对组织结构和人员的需求和设计好后,就可以添加,人员组织机构完全采用树状结构进行建立,单击组织结构就可以对部门、人员进行维护,实现增加、修改和删除等功能。运行界面:图4.4部门、人员维护图4.3.2主界面栏目的维护下面对主界面栏目的实现简介,首先点击工具栏,选择要设置栏目的单位,通过加入栏目、加入应用等按钮进行操作,显示如下界面:图4.5主界面栏目功能维护图40 4.3.3用户应用的维护用户应用是本系统的核心,具体的功能都是在这里实现。点击功能栏中的用户应用,单击增加应用、修改应用或删除应用进行操作。每个应用的组成包括信息表设计、流程设计、报表设计、界面设计、权限设计和其它设计,应用设计界面如下:图4.6用户应用信息表维护图4.3.3.1用户应用信息表维护首先是要对表的增加、修改和删除功能,例如公文数据信息表,上级来文信息表命名来文(事宜)承办单,之后就是对来文(事宜)承办单表添加字段,界面如下:41 图4.7信息表字段维护图按照界面提供的功能添好需要添加的字段,包括字段的输入方式等。4.3.3.2用户应用表单的维护接下来就是对用户应用需要的界面(表单)实现,业务数据或公文都是通过表单来体现的,表单是数据的载体。可以将表单看做是流程的所对应的表格,或者是单独的数据表单。实现表单设计显示如下界面:42 图4.8表单自定义图输入界面名称,选择好要用到的信息表,在画布上加入标签、线段、和字段等,并可以设置各元素的属性,如高、宽、大、小等。4.3.3.3用户应用流程的维护系统通过工作流层提供工作流布局、角色实体关系控制、角色实体状态监控等功能;下面开始以这个文稿审批流程为例,进行流程设计。把流程设计分为两步:1.定义环节并设置其属性;2.定义连接并设置其属性。先打开流程创建界面并定义流程,将本流程中某个环节的人员添加到此环节中,打开环节属性设置窗口,开始和结束环节不需任何属性设置,下图是节点出口的描述:(1)定义环节并设置其属性:43 图4.9节点描述图完成以上的步骤后,就可以对权限设置:环节权限设置:可以给环节处理人员赋予不同的权限.比如允许转发是指可以把文件转发给别人查看,允许中断是指在流程流转中发生意外情况时,可以将文件中嘱托转发给其他人或者直接将流程结束.应根据情况慎重授权.属性名称是表单中的字段,对环节人员可以通过字段赋予可读和可写的权限。图4.10权限设置图(2)环节属性设置完成后,下面着手进行连接的定义及属性设置。先定义开始与起草环节间的连接:点击开始环节,移动鼠标至环节中心,(有一个实心的小蓝点)按住左键开始拖动(注意不要放开左键)至起草环节处,放开左键即可。其他连接的定义与其完全一样。选定连接后点击右键可选择多种线型,如下图:44 图4.11环节连接图可根据情况选择按出口状态或按文件属性及出口状态如下:图4.12出口状态图连接属性设置完成后,流程设计就基本完成了。整个流程设置过程按照下面三个步骤来进行:分析实际的办公过程;选择环节处理人员并给他们授权;确定环节间的流转条件及流程的流转方向。在这个过程中要注意以下几点:定义流转条件时注意不要自相矛盾,要保证流程能正常运转;注意文档流转的安全45 性,给环节人员授权时注意合理性;充分考虑突发情况的发生,注意设置合理的安全环节;尽可能地与实际的办公过程保持一致,不要将问题人为地复杂化。4.3.3.4用户应用权限的实现权限功能的实现:由设计可知道权限的分配是通过菜单栏目和表单进行分配的,而表单也是载体。传统的权限配置是直接付给用户,本系统也可以通过角色和部门分配权限,具体的功能也由设计知道,数据信息菜单、流程信息菜单、功能菜单具体实现过程如下。下图是增加菜单组、菜单和分配权限后的界面,是对来文登记菜单分配权限,对此菜单分配的权限是按角色赋予的,角色名称是文件接收员。图4.13菜单组和菜单实现图(1)信息菜单实现:信息菜单实现过程需要选择所需的窗体(表单)。对表单中要用到的数据信息表进行选择,以及要显示的字段、字段的排序的设置,并可以对表单中的功能进行维护,如增加功能的增加一条记录,可以对表单中的字段赋予可读、可写的权限,及正文中的附件和正文的权限,如下图:46 图4.14信息菜单图(2)流程信息菜单实现:实际是对流程监控者赋予权限,流程信息菜单只能使用在建有流程的应用中,主要是为了能随时查询流程当前的状态和便于以后的档案备查。(3)功能菜单的实现:功能菜单是用流程来控制信息菜单的走向,信息菜单和流程都是早就设置好的,在这里只是定义信息菜单和流程的关联。如下图:图4.15功能菜单图说明:把信息菜单接收文件和文件审批流程相关联起来,用文件审批流程控制接收文件菜单的走向。4.3.4用户客户端的运行根据系统设计客户端采用浏览器登陆,通过用户名和密码进行验证,密码采用MD5技术验证,如果用户名或密码错误,提示错误信息。登陆后根据每个人权限显示界面,例如秘书行政科人员登陆后:47 图4.16客户端主界面图左边栏目是栏目导航区,中间栏目信息速递滚动显示区、待办文件区、内部邮件,右边是公共信息链接区。这些都是由系统根据设定动态生成的,已经由系统管理员在后台设定好。栏目导航区:包括栏目和应用,一个应用总是或多或少的实现了某种功能,如收文管理应用提供的是来文处理的功能,而发文管理提供的是发文全过程的处理。而栏目就是应用的分类。哪些应用属于哪个栏目,将来会根据需要进行相应的变动与调整。用户点击栏目中的应用的链接,即可在打开的页面中使用该应用提供的功能。信息速递滚动显示区:显示具有字幕滚动效果的信息列表。一般用作新闻或信息发布。滚动信息列表显示的是一个应用中的部分或全部信息。用户可以直接点击条目在弹出页面中浏览该条信息的详细内容,当然也可以进入相应栏目里查看相应内容。待办文件区:显示的是当前用户所有待处理的电子公文、会议通知、机要文件等栏目的待办文件列表。这些文件信息来自各种不同的应用,系统把用户需要办理的文件信息全部推送到桌面上,方便用户的操作。系统每隔几分钟就会刷新一次待办文件列表,因此此处总是显示最新的内容。用户可以直接点击条目在打开页面中处理该项公文,当用户处理完一项待办公文后,该公文就会从待办文件中消失。当然用户也可以进入相应模块中去处理该模块中的待办公文。点击功能栏目进入下一级界面,以发文管理为例:主要是两类操作:发起流程和流程处理。打开发文管理应用,点击发文拟稿菜单,如下图:48 图4.17发文图在发文稿纸上填写相关公文内容,上传相关附件,点击呈送领导按钮就完成了发起流程。流程处理:公文接收者在登录系统就会在主页面待办栏文件区看到新发来的流转类的公文。可以直接点击其做处理,处理完成后进入下一个环节。49 第5章结论5.1论文成果系统设计并实现了该系统绥化市水务局办公自动化系统,它是绥化市水务局网络信息建设一期工程,为以后的信息化建设奠定了坚实的基础,它主要是实现了如下功能:5.1.1灵活的后台管理功能系统管理员所完成的几项功能:组织机构、机构属性、角色、主界面、用户应用、系统密码,用户无须编程,便可以根据自身现行的办公和事务自行设计一些应用程序,并能随实际工作的变化而不断更新调整应用程序的结构。单表式的小型应用系统,在网络信息系统中可以由使用人员自己建立,不需要程序开发人员的介入,使用户可以脱离实现技术的困扰,全力投入实际解决问题的过程中。用户可以根据企业信息化的实际情况按组织结构、工作流程、管理功能等对系统的栏目功能进行组织与设定,使其建立的网络办公管理系统具有自身特色,并能适应长远发展。避免了系统的任何改变都需要开发商再次开发,再次安装培训。也就是说减少了对开发商的依赖;保护了用户的当前投资。5.1.2用户端实现的功能(1)公文管理:公文管理分为发文管理和收文管理,实现了对同级单位和下级单位的发文,对上级单位和下级单位的收文。(2)内部资料管理:实现政策文件、法律法规、给水排水工程、环境工程、水文与水资源工程、管理工程等资料的管理,发布、查阅、增加、修改等功能。但是权限是按照业务需求分配的。(3)有关单位上报资料管理:师对有关单位或下级单位上报资料查询、浏览、审阅等功能。(4)会议管理:新到会议通知是当前用户接收到的水务局其他人员发送过来的会50 议通知,用户就可以浏览当前会议通知情况,以便合理统筹安排时间。(5)内部邮件:系统中的电子邮件功能是基于工作流点对点的信息交流。它实现局域网内部的邮件收发。可以按人名或部门进行内部邮件的收发工作。(6)还有部分功能模块,如日程安排、工作汇报、公告板、内部论坛等功能模块,并且可以根据需求随时增加。5.2论文创新点(1)对于工作流实例节点的算法:随着业务流程不断变化,对工作流程变化需求也多了起来,事先定义好流程的办公自动化系统是不可能的,这就需要允许用户自己动态定义流程,而对于多分支或并行的流程,各节点的算法经过测试后,采用图形深度优先遍历算法和广度优先遍历算法已经不能满足用户的要求,所以必须对算法进行自定义的改造。本系统的算法就是对优先遍历算法的改造。实践证明,这个算法基本上可以解决分支和发散,与汇聚的流程图遍历问题。(2)本系统和其它同类系统软件相比较具有良好的可扩展性,灵活的后台管理系统使其具有很好的接口,并可以进行无缝集成。自定义表单功能可以把权限定义到字段,对于权限的分配更加的细化。本系统保证了能分期实施,边实施边见效益,在设计各功能模块时既能集成运行,又能独立运行,这样既便于各个功能分期实施,也便于将来各功能模块独立出来进行调试及维护。5.3不足与展望(1)系统不足之处在于:随着用户需求的不断增长,电子印章、手签字等功能有待完善。虽然目前还没有得到广泛的应用,但是今后随着网络信息化得发展会逐步的得到应用。另外随着无线技术的发展,移动办公也是今后的发展,所以应增加短信功能。(2)未来展望:政务公开是政府网上办公重点,所以后期还可以利用现有的办公平台开发出其它管理系统,如政务系统。目前很多的OA办公系统和电子政务都是独立运行,因此政务系统将是下期工程的目标。还可以在现有平台的基础上开发更多的MIS系统,如档案管理系统、车辆管理等。51 参考文献[1]雷之宇.Java项目开发实践—网络篇[M].北京:中国铁道出版社,2005[2]穆嵘坤.中共赤水市委办公自动化系统的分析与设计[D].云南大学.2010[3]张应奎.曲靖师范学院教务管理信息系统的分析与设计[D].云南大学.2010[4]郑欢.高职院校学生信息管理系统的分析与设计[D].云南大学.2010[5]冷新星.政府办公自动化系统及电子政务构建的研究[D].解放军信息工程大学.2008[6]窦源彬.潍坊滨海开发区规划局办公自动化系统的设计与实现[D].山东大学.2010[7]任静.基于工作流的办公自动化系统的研究与实现[D].西安电子科技大学.2010[8]金毅.政务协同办公自动化系统的设计与实现[D].电子科技大学.2010[9]HeC.LiZ.HeK.Identificationandextractionofdesignpatterninformationinjavaprogram.ACISInternationalConferenceonSoftwareEngineering.ActificialIntelligence.Networking.AndParallel/DistributedComputing.Phukel,2008.10(2):828-834[10]Khoghafian.Setrag.Introductiontogroupware,workflowandworkgroupcouputer.NewYork.1995,9(4):259-309[11]CraigWalls,RyanBreidenbach.SpringinAction.UK:Publisher:ManningPublications:2editon2007,22(10):212-340[12]杜昌盛.基于工作流技术的建设审批系统[D].重庆大学.2010[13]万超.基于Petri网的工作流引擎的设计与实现[D].华南理工大学.2010[14]唐瑞.基于工作流技术的石油部门督办管理系统设计与实现[D].电子科技大学.2009[15]洪智强.大型广告企业工作流管理平台设计与实现[D].电子科技大学.2010[16]贾音.基于工作流的协同信访系统的设计与实现[D].电子科技大学.2009[17]陈旭.面向警务督察的活动模型及工作流平台的研究与设计[D].天津大学.2010[18]吕树进.基于工作流技术的设备管理系统设计与实现[D].华北电力大学(河北).2010[19]胡蓉.工作流技术在办公自动化系统的研究与设计[D].电子科技大学.2009[20]欧薇.基于遗传算法的在线考试系统的设计与实现[D].华南理工大学.2012[21]肖倩,李伟.办公自动化系统中收文、发文计算机处理流程分析[J].东莞理工学院学报.2004,11(03):18-21[22]赵良.锦州市委组织部办公自动化系统的设计与实现[D].电子科技大学.2011[23]AmyJ.C.Trappey.Designandanalysisofarule-basedknowledgesystemsupportingintelligentdispatchinganditsapplicationintheTFT-LCDindustry[J].TheInternationalJournalofAdvancedManufacturingTechnology2007(3):385-39352 [24]Park,HuaGyoo,Baik,JongMyung.ADevelopingofObject-OrientedSimulatorforManufaturingExecutionSystems[J].Computers&IndustrialEngineering,2008,37(2):239-242[25]胡清.政府办公自动化系统的管理与维护[J].信息与电脑(理论版).2012(6):177-178[26]方胜.基于关系数据库的工作流引擎管理系统的设计与开发[D].北京邮电大学.2010[27]任姗姗.黔西南州物价局行政审批系统的分析与设计[D].云南大学.2011[28]侯美玲.基于工作流技术的管理信息系统的开发研究[D].太原理工大学.2006,5[29]姜新华.基于webservice的工作流引擎集成[D].内蒙古大学计算机学院.2005,5.[30]WorkflowManagementCoalition.TerminologyandGlossary.DocumentNumberWFMC-TC-10011Issue3.0,1999,40-45.[31]OSWorkflowOverview.http://www.opensymphony.com/osworkflow,2008[32]胡奇.JBPM4工作流应用开发指南[M].北京:电子工业出版社,2008.[33]谭化俊.黔西南州农业局办公自动化系统的分析与设计[D].云南大学.2011[34]KacmarC,CareyJ,AlexaanderM;Providingworkflowservicesusingaprogrammablehypenmediaenvironment[M];InformationandSoftwareTechnology;1998[35]LeymannF.Workflow_basedapplications.IBMSystemsJouma,1997,36(1):102-22353 致谢首先我要感谢学校能给我这个学习的机会,在整个论文实验和论文写作过程中,特别感谢我的论文指导老师—周斌老师和邓春燕老师!没有您的帮助也就没有今天的这篇论文,引导我不断开阔思路,为我答疑解惑,对我无私的指导和帮助,不厌其烦的帮助进行论文的修改和改进,我不会顺利的写出本文。同时还要感谢本文引用了数位学者的研究文献,你们的研究成果给了我很大帮助和启发。更加感谢培养我长大含辛茹苦的父母,谢谢你们!最后再一次感谢所有在毕业设计中曾经帮助过我的良师益友!54

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭