天津冶金集团OA系统二次开发

2014-05-12 02:41
天津冶金 2014年5期
关键词:单元测试数据表二次开发

陈 颖

(天津市冶金科技信息研究所,天津300050)

天津冶金集团OA系统二次开发

陈 颖

(天津市冶金科技信息研究所,天津300050)

针对天津冶金集团OA系统产品功能、业务流程无法满足企业发展需要的问题,在充分立用现有资源的基础上,使用.NET技术对OA系统进行二性开发,使该系统实现了最佳应用效果,提高了集团工作效率,节约了开发成本。

OA办公系统;.NET技术;二次开发;实现

1 引言

天津冶金集团(控股)有限公司办公自动化系统(以下简称OA系统)是天津冶金集团于2001年基于NT4.0操作平台自主研发的一套B/S架构的OA办公软件。在使用初期,OA系统在节约成本、提升集团各部室办公效率方面发挥了很大作用。但由于当时开发技术和开发环境的局限性,以及十余年期间集团办公流程变动等诸多原因,OA系统已不能全面满足冶金集团自动化办公的需求。

2 存在问题

经过深入调查了解,发现OA系统在运行中存在如下几方面的问题:

2.1 日期查询控件无法正常运行,系统反馈的查询记录杂乱无序

行政办登记发文、行政办发文登记记录、行政办下发发文、党办发文登记、党办发文登记记录、发文管理、行文中发文、待转发文、签发发文、发文档案、收文登记、收文登记记录、收文管理、行文中收文、待转收文、完结收文、收文档案等操作界面中,查询日期控件均无法正常运行,需人工手动输入日期后,才能实现相关查询、提交表单功能,同时,系统反馈的查询记录杂乱无序。

2.2 发文打印功能与行政办下发公文功能冗余重复

分配公司行政文书、公司秘书角色的OA帐户中,发文打印功能与行政办下发公文功能冗余重复。

2.3 帐户时常无法正常登录

系统用户的帐户时常无法正常登录。

2.4 无法进行档案信息化管理

OA系统自2001年上线以来,数据库中已存储大量公文数据,但归档工作信息化无法实现,档案公文网上不能查询、借阅,档案管理人员无法进行档案信息化管理。

3 解决方案

在可行性研究和需求分析工作完成后,对OA系统展开二次开发工作。

3.1 二次开发原则

针对上述存在问题,本次对OA系统的二次开发是基于充分利用OA系统现有资源,不改变其原有体系结构,合理设置系统功能的原则,对系统进行适用性改造和功能性扩充。

3.2 适用性改造

针对2.1节问题,修复系统源文件中的错误代码。开发日期控件,对行政办登记发文、行政办发文登记记录、行政办下发发文、党办发文登记、党办发文登记记录、发文管理、行文中发文、待转发文、签发发文、发文档案、收文登记、收文登记记录、收文管理、行文中收文、待转收文、完结收文、收文档案等操作界面对应的源文件中原有日期控件代码部分进行替换。

修改sql查询语句,实现查询结果按数据表中某字段值排序,以发文登记记录查询语句为例:

从发文记录数据表fajl数据表中,通过约束条件进行查询后,查询结果以xdate字段值做降序排列。如未达到约束条件,查询结果以xvhao字段做升序排列。具体反映在软件运行过程中,用户通过设置选择范围,单击查询按钮后,系统反馈的查询记录信息以发文起草时间降序排列,最新发文在列表顶部显示。如数据库中无符合条件的查询结果,则所有发文记录按发文序号升序排列显示,如图1所示。

图1 发文登记记录查询结果

针对2.2节问题,修改webmanager数据库中相关的i_role数据表,删除打印管理角色中发文打印权限记录对应的role_power项数值。

针对2.3节问题,通过分析数据库日志得知,数据库中存储用户帐户数据信息的ren数据表中数据记录不定期被不明程序随机删除。

SQL server数据库提供保证数据完整性的方法——触发器(trigger),作为与表事件相关的特殊的存储过程,其执行仅由事件来触发,如对一个表进行insert、delete、update操作时就可激活触发器执行。利用触发器上述工作原理,我们编写相关代码如下,当不明程序企图对ren数据表进行delete操作时,激活该触发器执行,从而达到禁止删除该数据表中数据记录这一行为发生。

代码如下:

CREATE TRIGGER [TRIGGER forbid] ON dbo. ren

FOR delete

as

IF @@ROWCOUNT > 0

BEGIN

ROLLBACK TRANSACTION

RAISERROR ('不能删除该表的数据!',16,10);

RETURN

END

return

3.3 功能性扩充

针对2.4节的问题设计开发档案管理子系统。

3.3.1 档案管理子系统架构(见图2)

子系统架构设计中,采用.NET Framework框架结构,并依据B/S分层模式将系统分为4层,自上到下分别为:

3.3.1.1 表述层

通过web页面,提供良好的人机交互界面。

3.3.1.2 业务逻辑层

实现档案管理、档案查询、档案借阅、信息统计、系统维护等业务逻辑。

3.3.1.3 O/R映射层

通过ADO.net控件完成业务逻辑层与数据库层之间映射关系。

3.3.1.4 数据库层

负责存放和管理应用的持久性业务数据[1]。

图2 档案管理子系统架构

3.3.2 档案管理子系统工作流程(见图3)

3.3.3 档案管理子系统功能架构(见图4)

3.3.3.1 档案管理模块

针对集团各部室所有行文,按年限进行分类归档。需要归档案室的公文,经过文件分类、文件移交打包,文件接收等操作,完成归档工作。对不需要归档案室的公文,各部门自行归档。

3.3.3.2 档案查询模块

通过部门、年限、题名、关键词、文号(总收文号、原编字号、转发号、发文号)等约束条件,为OA用户提供档案信息和档案记录情况查询。

3.3.3.3 档案借阅模块

完成OA用户档案网上借阅和归还功能,同时提供给档案管理员档案流出方向、归还情况等信息分析。针对逾期不还的档案,具有强制收回借阅者该档案借阅权限的功能。档案借阅流程见图5。

3.3.3.4 信息统计模块

具有档案借阅信息统计和档案分类信息统计两项功能。

3.3.3.5 系统维护模块

备份档案数据和操作日志;为OA用户分配档案借阅权限。

3.3.4 与OA接口

实现OA系统中数据自动归档到档案管理系统,实现文档一体化管理。即OA中的所有行文通过接口自动转入到档案管理系统,从而减少了档案人员重复再次录入的过程,很大程度降低了档案收录的工作量。

图3 档案管理子系统工作流程

图4 档案管理子系统功能架构

图5 档案借阅流程图

4 系统测试与试运行

4.1 单元测试

单元测试(unit testing)是指对软件中的最小可测试单元进行检查和验证[2]。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,在本文里我们定义OA系统的每个功能模块为最小可测试单元。

在编写单元测试代码时要考虑到所测试方法的代码覆盖率必须达到100%、所测试的代码内部的状态、被测试代码所使用的外部设备的状态等3个方面。

使用Microsoft Visual Studio 2005中测试专用组件来完成OA系统的单元测试工作。该组件能够提供给单元测试、压力测试、代码覆盖率等测试相关的功能,无需再借用第三方的测试工具来进行这些测试。

4.2 集成测试

集成测试,即组装测试或联合测试,是单元测试的逻辑扩展。在已经完成的单元测试的基础上,将所有模块按照系统结构图组装成为子系统或系统后,进行集成测试,保证各部分工作是否达到或实现相应技术指标及要求。这就有效防止某些模块虽能独立工作,但连接起来并不一定能正常工作的情况的发生。集成测试是以《软件概要设计规格说明》作为主要标准。

4.3 试运行

在冶金集团机房依托现有网络环境设备,在空闲的联想服务器上完成软件设置工作,搭建OA系统运行的模拟环境,如表1所示。运行二次开发后的OA系统程序,按需求说明的条款,集团用户逐一验证和落实系统的功能模块和性能要求。在试运行6个月无误后,系统正式上线。

表1 系统运行环境

5 实用效果及结论

OA系统二次开发正式上线运行后,以2012年为例,冶金集团累计发布公文1 008件,其中发文401件,收文607件。对人劳部、财务部、审计部等20余部室公文进行归档处理,总计归入档案室492件,其中永久194件,长期63件,短期235件。

对比市场同类产品,仅购买网络版档案管理软件一项就需花费人民币85万元,加之无需重新录入多年来的电子档案,大大降低了人力成本。二次开发OA系统,市场上同类软件公司针对客户此种个性化需求,会提高相应的开发成本。同时,如外包给市场上软件公司还存在集团公司文件商业机密保密问题。

综上所述,天津冶金集团OA系统二次开发工作的实施,在提高集团工作效率、节约成本方面效果显著。

[1] 顾宗林.IPv6网络数据流监测技术的分析与测试[D].北京:北京交通大学,2008.

Secondary Development and Implementation of Office Automation System in Tianjin Metallurgy Group

CHEN Ying
(Tianjin City Metallurgy Science and Technology Information Institute, Tianjin 300050, China)

The product function and business process of Office Automation System in Tianjin Metallurgy Group could not meet the requirement of enterprise development. On basis of making full use of existing resources, Office Automation System is developed for the second time with .NET technology to achieve best application effect. The working efficiency in the group is improved and development cost saved.

Office Automation System; .NET technology; secondary development; realization

10.3969/j.issn.1006-110X.2014.05.012

2014-05-10

2014-06-07

陈颖(1981—),女,天津人,工程师,主要从事网络信息化方面的研究工作。

猜你喜欢
单元测试数据表二次开发
湖北省新冠肺炎疫情数据表(2.26-3.25)
湖北省新冠肺炎疫情数据表
西门子Operate高级编程的旋转坐标系二次开发
浅谈Mastercam后处理器的二次开发
基于列控工程数据表建立线路拓扑关系的研究
西门子Easy Screen对倒棱机床界面二次开发
一年级上册第五单元测试
图表
ANSYS Workbench二次开发在汽车稳定杆CAE分析中的应用
一年级上册一、二单元测试