4.2.3 项目公文管理模块设计。
1.发文文种维护。
用于设置发文的文种及文种类型,方便发文时选择。
(1)具体操作设计。
对发文文种进行管理,分为行政公文和业务公文两类,编辑文种名称、签发属性等信息。对文书类型进行管理,编辑类型代码、类型名称、公文种类等信息。
(2)对应的数据库逻辑结构设计。
为本功能设计的二维表有:发文文种表 HC_DM_FWWZ、文书类型表HC_DM_WSLX,各自的结构如表 4.16 至表 4.17 所示。
2.默认项目选择。
将当前登录人员当前审计项目中的一个设置为默认,则在项目公文、项目资料登记时将默认选中该项目。在审计项目列表中,通过确认或清除功能,将选中的项目设置为默认项目或取消默认项目设置。为本功能设计的二维表是:默认项目表SJ_ITEM_MRXM,数据结构如表4.18所示。
3.项目发文。
项目公文即是业务公文的发文流转,项目公文与特定的项目相关联,实现单位内部的发文管理流程,做到流程节点自定义,用户角色自定义,实现发送、审批、传阅等公文流转功能。发文管理包括:发文待办理、发文已发送、发文已完结、发文管理夹等功能。同时可进行模板设置,进行发文的统一格式定义。
(1)具体操作设计。
(a)进入待办理页面,显示用户所有待办理的项目公文事项,点击事项名称可以进行项目公文办理。也可以通过拟稿功能,重新登记新的项目公文事项。
(b)进入用户拟稿或办理项目公文的主窗口,选择对应的文种,在审计项目公文发文稿纸上,选择对应的审计项目,编辑文件标题、主送、抄送、密级、公开等资料信息,并保存相关公文信息。增加公文附件材料。编辑完成的项目公文可进行以下操作:
返回:退回到上一个界面。
保存:保存表单信息到数据库中。
流程:弹出流程信息窗口查看该事项的办理流程。
填写意见:弹出办理意见窗口填写办理意见并保存。
传阅:弹出传阅人员选择窗口,选择人员发生传阅。
打印:根据模板打印表单中的内容。
删除:依据权限,删除办理的项目公文信息。
发送:首先显示流程节点,用户选择下一步的流程节点弹出发送人员选择窗口,在窗口中选择流程下一步的接收人并确定发送。人员选择窗口提供全局人员、角色人员、指定人员、指定角色标签,分别对应显示全局部门和人员、流程节点相关角色人员、流程节点指定人员和系统角色。
结束:结束整个项目公文的流程,文件不再流转、传阅。
(2)对应的数据库逻辑结构设计。
为本功能设计的二维表有:项目公文主表 HC_DOC_WF001、附件表HC_DOC_WF001_ATTACH,表结构分别如表 4.19 和表 4.20 所示。
4.业务流程定制开发。
1)流程创建。
利用业务流程定制引擎定义创建业务流程。
(1) 具体操作及数据完整性设计。
(a)创建流程信息,编辑流程按钮执行信息和流程数据库表名设置。数据表定义列表列出该流程相关数据库表名称,在流程生成前可以修改,流程定义完成后数据库表已经建好就不可更改。
(b)进行流程信息管理,编辑流程信息,流程编码、流程名称、附件路径不能为空。
(c)流程定义列表列出流程控制按钮,可以编辑这些按钮点击时进行的相关操作。编辑流程按钮信息和按钮操作事件。按钮编码、按钮类型不能修改,按钮名称和函数可以修改。
(2)对应的数据库逻辑结构设计。
为本功能设计的二维表有:流程类型表 T_WORKFLOW_TYPE、流程按钮表 T_WORKFLOW_TILTE 表、流程按钮模板表 T_WORKFLOW_WFBUTTON_MOD、流程对应表 T_WORKFLOW_WFTABLE、流程表模板表 T_WORKFLOW_WFTABLE_MOD,表结构分别如表 4.21 和表 4.25 所示。
2)流程定义。
根据实际业务需求将业务节点进行数据化定义。
(1) 具体操作及数据完整性设计。
显示已经创建的流程列表,点击流程名称就显示该流程的流程节点定义,进行流程节点信息管理,编辑流程节点信息,节点编码自动生成,节点名称用户必须填写。
(2)对应的数据库逻辑结构设计。
为本功能设计的二维表有:流程节点表 T_WORKFLOW_NODE、自动执行前序节点表 T_WORKFLOW_NODE_BEGIN、自动执行人表 T_WORKFLOW_NODE_PERSON1、流程扩展按钮表 T_WORKFLOW_TILTE_ MORE、扩展按钮 对 应 角 色 表 T_WORKFLOW_TILTE_ROLE 、 扩 展 按 钮 对 应 节 点 表T_WORKFLOW_TILTE_NODE、文种流转设置表 T_WORKFLOW_ WZROUTE,各自的表结构分别如表 4.26 和表 4.32 所示。
3)流程关系定义。
根据实际业务节点类型进行数据化定义,定义后业务公文将按照定义的节点顺序进行审批流转。包括:显示创建的流程列表,定义流程关系,流程关系主要定义流程节点的动作名称、拟办方式、联合发文、办理期限等信息。为本功能设计的二维表是:节点对应关系表 T_WORKFLOW_ROUTE,其结构如表 4.33 所示。
4.2.4 项目信息管理模块设计。
1.项目执行情况。
显示当年度各个业务处室审计项目的完成情况。根据审计项目在执行过程中出具的各种业务文书的时间,将其量化成具体的项目执行进度,其中审计通知书、审计报告征求意见书和审计报告三个节点的执行进度固定,在此期间的执行进度,按照审计项目的计划实施时间进行量化,具体设置如图 4.2 所示。
为 本 功 能 设 计 的 二 维 表 是 : 处 室 审 计 项 目 完 成 情 况 表TJFX_CSSJXMWCQKB,其结构如表 4.34 所示。
2.项目基本信息。
依据权限设定,选择相应审计项目查看项目基本信息。项目基本信息主要包括项目名称、被审计单位、项目类别、项目级别、项目类型、计划开始及完成时间、实际开始及完成时间、审计组成员等内容。根据项目基本信息,可以自动生成审计通知书和审计实施方案,并在此基础上进行编辑。
3.审计项目档案。
按照审计项目归档要求,设置结论类、证明类、立项类和备查类四类,将审计项目执行过程中生成的各类文书和资料分别对应到不同的类别,同时可以对相关文书和资料进行调整。在审计项目结束后,可生成审计项目档案目录用于归档。
4.2.5 数据库优化设计。
随着时间的推移,业务数据的累积,系统的操作反应会变得缓慢,在系统设计与维护过程中,运用如图 4.3 所示的数据库访问优化漏斗法则,充分考虑数据库访问的优化。
1.减少数据访问(减少磁盘访问)。
优化数据表结构,尽量将同类数据集中在一张数据表中进行处理,从数据库底层角度减少对数据库磁盘的访问次数。主要是将公文流转数据分为两种不同状态的数据:工作数据和历史数据,工作数据主要存放当前年度的数据,这部分数据在实际应用中是最常用的数据;历史数据主要存放以往年度已审批完成的数据,相对而言这部分数据使用率很低。
如果将两种数据存放于数据库的同一张表中,数据表的记录量会随着业务的持续运行而不断增长,而且访问数据时会涉及到对两种数据的过滤,增加了系统的实际消耗。采用状态数据分离技术,可以有效地解决这种效率问题[38]。
2.返回更少数据(减少网络传输或磁盘访问)。
优化查询语句,仅查询必要的数据字段信息,去除原先不用的字段信息,最大限度的减少网络传输开销和磁盘访问次数。
3.减少交互次数(减少网络传输)。
优化程序语句及数据查询语句,尽量将需要的数据组织在一次查询中,减少与服务器及数据库的交互次数。
4.减少服务器 CPU 开销(减少 CPU 及内存开销)。
优化应用服务器及数据库连接池,尽量将不需要的资源自动释放掉,从而达到减少 CPU 及内存开销的目的。
5.利用更多资源(增加资源)。
升级应用服务器及数据库,配置最新功能,从根本上提升服务。
4.3 安全性设计。
1.账户安全设置。
审计项目管理应用系统是审计部门的文件及信息的存储中心,系统的安全性至关重要。在安全设置中用户的密码设置及存储方式显得尤其重要,系统主要通过以下几个方面来保证系统账号的安全:
(1)用户密码 MD5 加密:根据网络传输协议,大部分传输协议是明文协议,黑客等非法分子可以侦听到协议,从而获得传输内容并汇编出数据[39]。因此为了提高系统使用的安全性,系统对用户密码进行了 MD5 加密,这种密码以乱码形式呈现且不可逆。
(2)用户登录次数限制:为了防止有人恶意猜测、使用用户帐号,如果密码连续五次输入错误,系统将自动封锁该帐号。
(3)密码设置规则:对于设置过于简单的密码,可以通过对系统程序进行弱密码检测,视情况封锁用户帐号[40]。
(4)敏感词过滤:通过设置敏感词过滤来防止用户随意使用社会敏感词汇作为账号,从而避免影响行政机构的形象。
2.用户权限控制。
通过角色来对系统功能模块的权限进行分配,使用权限分为修改权限和查询权;确保管理层次有序精确,为特定模块提供专属权限设置,满足灵活性要求。对保密性较高的数据,从数据层面保证数据的安全,不外泄。
3.用户登录记录。
主要记录审计部门内部人员登录系统时使用的机器 IP、MAC 地址、登录时间等信息,以防止部分人员利用他人账号密码进行恶意操作,引发不可逆转的损失。
4.4 本章小结。
本章重点对审计项目管理应用系统的功能模块、各模块的各项功能,以及数据库逻辑结构进行了设计。