公司管理系统的设计与实现|电子公文管理系统设计与实现

写作指导 2016-01-10 网络整理 晴天

【wenmi.jxxyjl.com--写作指导】

  1 引言

  公文是政府军队等各类部门请示汇报、命令下达等工作中的重要部分。传统的公文归档以纸质原件为主,存放在档案局等部门,当归档公文数目逐渐增多时,公文的查找就存在效率较低等缺点。尤其是当用户记不清楚公文的具体年份、标题等内容时,在纸质归档公文中进行基于内容的模糊查询几乎无法实现。另外,纸质公文的管理、维护、防腐等,也需要大量的人力物力支持。

  随着计算机硬件、局域网设施的普及以及用户计算机水平的不断提高,当前公文的撰写基本都是先完成电子版本,然后再打印传达。因此,将公文的电子版进行归档成为可能[1-2]。实施电子公文的归档管理[3-4],与传统方法相结合,可以在几乎不增加额外劳动量的前提下,对公文的管理、查找、维护工作起到大大的改善效果。

  2 系统设计

  《电子公文管理系统》就是在这样的背景下产生的。其目的是在不改变用户公文撰写流程的前提下,完成电子公文的归档、查询等功能。此外,对历史公文的充分借鉴,还可以提高用户公文撰写格式的规范以及公文内容风格的一致性等。

  系统采用标准的客户端-服务器模式(c-s模式),由oracle数据库服务器[5]对电子公文的存储、查询提供支持。客户端软件由delphi实现,包括公文模板管理、公文归档、公文撰写、临时公文管理、公文查询和系统设置六大模块,如图1所示。

  “公文模板管理”可以将常用的空白公文模板存储到数据库中,用户可以据此撰写新的公文。“公文撰写”模块可以依据公文模板或已经归档的历史公文,撰写新的公文。用户只需修改其中的内容即可,而不用再过多关心其格式等内容,提高公文撰写的效率。“临时公文管理”对新撰写的公文以及尚未定稿的公文进行管理,支持同一公文的多个不同版本,并可以将临时公文及时上传备份到服务器以防丢失,同时能够方便地从其它机器阅读修改公文。“公文归档”对于已经完成的公文,可以归档录入数据库,以方便将来查阅。系统提供单个公文归档、批量归档等多种归档方式,并能够通过“公文自动分析”功能解析出公文中的项目,如标题、关键字等,减少公文归档的工作量,提高系统可用性和效率;同时还可以将领导签字照片等附件一同录入,以提高公文归档的完整性可用性。“公文查询”模块能够对所有已归档的公文进行高效查询。除了支持灵活的按照各种项目自定义条件查询外,还支持基于内容的查询,即可以查找内容中包含指定文字的所有公文。最后,“系统设置”模块包括不同部门、不同级别用户的用户管理及权限控制功能,灵活的数据库连接参数配置功能等。 3 关键技术 系统实现的主要难点和创新包括以下几个方面:1)公文在oracle数据库中的存取控制;2)公文内容的自动解析和批量归档;3)基于公文内容的全文检索查询;4)本地文档与数据库备份文档的比较及版本控制。

  3.1 公文在数据库中的存取

  一个公文由很多元素组成,如标题、发文机关、公文种类、年份、主题词、引发说明、承办说明、正文等等[2]。在数据库中的存取有两个方案:一是将各种元素分开存储,用户预览全文时再按照公文格式要求合并成一个文档。该方案的好处是分开存储便于用户的查询;不足是当合成新文档是需要考虑公文的格式要求。因为公文类型繁多,因此恢复新文档的操作复杂,而且往往难以完全恢复原样。第二个方案是将整个文档采用二进制方式存储在数据库中。这样的好处是文档的恢复比较简单,但是由于各个元素没有分离,因此在公文的查询方面存在不足,需要解析文档内容并逐个分离出元素信息,效率较低,难以满足快速、灵活的查询需求。 1234

  通过分析比较,系统采用了一个折中方案:对于除正文以外的其它元素,如标题、发文机关、年份等,在数据库中分别在不同字段中分离存储,以方便用户的查询;同时又将文档本身进行存储,以便于公文的恢复。该方案以一定的存储开销为代价,较好地照顾了查询操作和公文恢复操作。因为除正文以外的其它元素内容很少,通过数据库中的日期型字段、 varchar字段等即可满足要求,因此引入的额外开销非常小。实验部分证明了该方法的有效性。   

  公文文档存放在oracle中的blob字段中,具体是通过delphi中tblobfield类的loadfromfile()和savetofile()方法实现了数据库的存入和读出。

  3.2 公文内容的自动解析和批量归档

  为了解决在公文归档过程中手工输入各种元素信息的效率问题,系统实现了公文内容的自动解析。根据公文格式规定,通过程序对指定的公文进行自动分析,解析出各种元素的内容,然后自动填入数据库。

  delphi提供了两个类:twordapplication和tworddocument[3]。前者可以连接到ms word应用程序中,后者可以连接到一个word文档。公文中的每一段、每一行以及每一个表格,都可以通过tworddocument对应的如paragraph、line

  以及table对象等获得。根据公文承办规定中对相关元素位置、格式的定义,配合识别元素的关键词信息,通过逐段逐行分析,就可以解析得到元素内容。

  实现了对一个公文的解析功能,再配合findfirst、findnext以及findclose等windows的api函数的递归调用,就可以查找指定路径下(包括子目录)的所有word文档,然后逐一对之进行解析并将分析结果入库,就可以实现公文批量归档的功能。

  公文内容自动解析及批量归档功能的实现,简化了公文归档的工作量,用户只需指定文件或者路径,系统即可自动完成剩余工作,大大提高了公文归档的效率。

  3.3 基于内容的全文检索查询

  指定通过公文标题、发文机关等元素内容,查找满足条件的公文,是基本的数据库查询操作,比较容易实现。但是在公文的查找中存在一类需求,即用户只记得公文的大致内容,如公文内容中包含的几个关键词,但是关于公文更详细的内容如发文时间、发文机关名称等并不清除。在这种情况下需要对公文进行基于内容的全文检索查询。

  该功能的实现流程如图2所示。对数据库中的每条记录,均先将对应的word文档保存到本地,然后用delphi的tworddocument类打开。tworddocument类的content属性为range对象,调用其find.execute()方法可以在该范围内进行文本查找,功能与word应用程序中调用“编辑-查找”功能菜单一样,不仅可以进行基本的查找,还可以通过参数控制在查找过程中是否区别大小写、是否使用通配符等。如果匹配成功,则该方法返回true,系统为该条记录做好标记,作为查询结果中的一条进行显示。当数据库中所有的记录都处理完后,查询处理结束,所有被标记的记录均为满足条件的结果,即内容中包含指定关键词的公文。

  3.4 文档版本控制

  “临时公文管理”模块主要是将正在撰写尚未正式定稿的公文存放到数据库中进行备份,同时支持同一稿件在撰写修改过程中产生的多个不同版本维护功能。文档修改前后的比较、版本控制是这一模块的主要技术点。 1234

  版本控制主要是通过获取文件最近修改时间来实现的。具体来说包括以下步骤:1)系统启动时,通过oracle中的sysdate函数取得数据库服务器的当前时间,并将客户端时间与服务器时间进行自动同步;2)临时公文上传到服务器进行备份时,获得文件的最近修改时间并保存在数据库中的updatetime字段中;3)检查本地文件与数据库备份文件是否一致时,再次获得本地文件的最近修改时间,通过与数据库中保存的时间进行比

  较完成。

  获取文件最近修改时间功能实现,主要是通过windows的api函数findfirstfile()获得文件属性数据,该数据的ftlastwritetime属性即为文件的最后修改时间。值得注意的是,该属性获得的是用32位表示的文件时间戳,为操作系统使用。要想转换为用户能看懂的本地系统时间,需要通过filetimetolocalfiletime()、filetimetosystemtime()以及systemtimetodatetime()函数进行转换。   

  4 测试验证   

  为了验证依据上述分析设计的有效性,对已实现的公文管理系统进行了测试验证。

  4.1 实验设置

  试验在2台pc机组成的局域网内进行。数据库服务器的基本配置为piv 2.0g cpu,1g内存,120g硬盘,其上安装了oracle 9i;客户端pc机配置为piii 1g cpu,512m内存,80g硬盘,安装了oracle客户端和office 软件。

  实验数据集为某单位-.6产生的500个实际公文文件,大小从50k到500k不等,平均大小约为200k。在其上进行了存储开销比较、查询性能、自动归档性能以及全文检索性能的实验。

  4.2 实验结果

  采用三种存储方案对公文进行存储,考查随公文数增加不同方案存储开销之间的差异,如图3所示。其中方案一为所有元素均分离存储;方案二为仅存储完整的公文文件;方案三为本文采取的折中方案。

  可以看出,方案一所需空间最小,方案二其次,方案三所需空间最大。这是因为,方案一仅保存了必须的文本内容,而且不同元素之间相互无重叠冗余;而方案二存储的完整文件除了包含字符格式、字体等信息外,还包含doc文件必须的文件格式头等内容,因此所需空间较大。方案三在方案二的基础上还冗余存储了一些元素内容,因此所需空间最大。但总体看来,方案三与方案二相比,额外所需的存储空间并不是很大,约占文件大小的0.5~1%左右。

  三种存储方案下普通查询的效率和原文档恢复所需时间分

  比较别如图4、图5所示。可以看出,方案三普通查询的效率与方案一几乎没有差别,受益于oracle数据库管理系统的查询性能,在实验数据规模上返回结果的时间为毫秒级;而方案二由于需要还原文件后再进行全文检索,所需时间较长,尤其随着数据库中记录数增加所需时间也线性增加,当数据规模较大时难以满足用户需求。而在文档恢复方面,方案一需要将所有内容进行重组,并按照公文承办规定设置相关元素的格式等,所需时间为秒级,而且恢复效果较差;而方案二和方案三直接从数据库中读取完整文档并恢复,所需时间仅为毫秒级。

  在采用第三种存储方案实现的系统中,随归档文档数的增加,系统自动归档所需时间情况如图6所示。可以看出,系统具有较高的自动分析和批量归档功能,平均每个文档所需的分析归档时间不足1秒。因此能够较好满足归档需求。 1234

  系统全文检索效率如图7所示。可以看出,全文检索所需时间与随公文数目增加呈线性增加,平均处理每个公文所需的时间约为200毫秒。因此,当公文数目较多时,建议先通过普通查询缩小全文检索范围,可以有效降低全文检索的响应时间。   

  5 结束语   

  基于delphi和oracle数据库,结合ms word的vba相关功能,设计并实现了一个电子公文管理系统,探讨了其总体结构及设计实现相关的关键内容,并通过大量实验验证了上述工作的有效性。该系统目前已经投入使用,运行稳定,性能良好,也在一定程度上验证了本文工作的可行性。

1234

本文来源:https://wenmi.jxxyjl.com/xiezuozhidao/37195.html

  • 写三篇读后感_写读后感的三要和三忌

    写读后感在褒贬人物、剖析事理、针砭时弊等方面都要有独到的见解。笔者就近几年来参加市中考、市、区、校、报刊作文竞赛,指导文学社团写作训练等实践活动,谈谈自己肤浅的感受和体会,就教于大方之家。  读后感从文体上看,属于议论文的范畴。它的着重点在于“感”,它是抒发和阐述自己对原文所记叙的事件、描写的人...

    发布于:2016-01-30

    详细阅读
  • 记叙文写作指导ppt_写作指导——记叙文的写作

    要明确记叙文的六要素:  人物、时间、地点、开端、发展、高潮  这几个要素必须要在文章中有充分的体现,不论写人的记叙文,还是记事的记叙文,都要求写作时要注意利用好六个要素表达自己想要表达的思想情感。  1、人物是记叙文中表达作者情感的重要部分,即使是写事的记叙文也要依靠人物来完成主题的表达,因而...

    发布于:2016-01-30

    详细阅读
  • 工作总结写作技巧系统讲解|工作总结写作技巧

    怎样写好工作总结   什么是工作总结 工作总结是对前段社会实践活动进行全面回顾、检查、分析、评判,从理论认识的高度概括经验教训,以明确努力方向,指导今后工作的一种机关事务文体。它是党政机关、企事业单位、社会团体都广泛使用的一种常用文体。  总结的写作过程,既是对自身社会实践活动的回顾过程,又是人...

    发布于:2016-01-30

    详细阅读
  • 怎样写预备党员转正申请书?|怎样写预备党员转正申请书

    预备党员预备期满时,应主动向所在党组织提出转为正式党员的书面申请。  一、转正申请书的主要内容  1、自己是什么时候被接收为预备党员的,什么时候预备期满,并正式向党组织提出转为正式党员的申请。  2、自己成为预备党员以来,在思想、工作、学习等方面有哪些成绩和进步(包括在入党时党组织和同志们所指出...

    发布于:2016-01-30

    详细阅读
  • 【撰写商业计划书的过程】商业计划书该怎么写

    商业计划书是为了展望商业前景,整和资源,集中精力,修补问题,寻找机会而对企业未来的展望。可惜,现在人们只认为商业计划书是用来申请风险基金。其实商业计划是为了预测企业的成长率并做好未来的行动规划。  商业计划书主要包括:  1. 执行摘要:它出现在商业计划书的最前面不过应我建议这部分应在最后完成。...

    发布于:2016-01-30

    详细阅读
  • [毕业论文的标准格式规范]毕业论文的格式与撰写规范

    本科生毕业论文(设计)撰写规范  为规范本科生毕业论文(设计)撰写格式,进一步保证本科生毕业论文(设计)质量,特制定本规范。  一、毕业论文(设计)撰写结构要求  1、题目:应简洁、明确、有概括性,字数不宜超过20个字。  2、文献综述:一般不少于1000字。  3、摘要:要有高度的概括力,语言...

    发布于:2016-01-30

    详细阅读
  • 如何写开题报告|如何写开题报告

    一、如何选择问题  我一直萦绕于怀的,是在写博士论文开题报告的一年多时间里,导师薛澜教授反复追问的一个问题:“你的 puzzle 是什么?”多少次我不假思索地回答“我的问题就是,中国的半导体产业为什么发展不起来。”薛老师问题以其特有的储蓄,笑而不答...

    发布于:2016-01-30

    详细阅读
  • 【读后感写作技巧五点】写作技巧五点

    1 写----重写----再修改:  写作没有特别的捷径,只有一写再写,才能写出精炼的文章   2 从别人批评中得到建议:  别人比你客观,他们的批评很有帮助,透过质疑可以逼我们想得更清楚,最好有不赞同的意见,可以逼我们凸显论点   3 要有推论重点及观点:  没有重点,文章词组再美,文法再无懈...

    发布于:2016-01-30

    详细阅读
  • 帮厨转正申请书的写法|转正申请书的写法

    1 转正申请书的基本写法.  转正申请,是预备党员在预备期满时向党组织提出转为正式党员的书面材料。 转正申请书的基本书写格式及内容通常如下:  (1)标题。一般为“转正申请书”,居中书写。  (2)称谓。即申请人对党组织或党支部的称呼,一般写“敬爱的党组织&r...

    发布于:2016-01-30

    详细阅读
  • [职场性骚扰辞职]职场辞职指南

    “人在职场走,哪有不辞职”,改革开放带来一大变化就是:多数人不会一辈子只从事一份工作了,那么辞职就是成为多数职场人士都要面对的问题。辞职其实也是一门学问,如果辞职者不了解辞职的程序,不能握好一些辞职的技巧,很有可能给自己造成一些不必要的麻烦或损失。  俗话说,&ldquo...

    发布于:2016-01-30

    详细阅读

Copyright @ 2011-2019 文秘写作网 All Rights Reserved. 版权所有

免责声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。

 站长统计