通用项目评审平台的设计与实现

2015-12-02 03:00龙新征高志同郝永胜李庭晏
关键词:申请书管理员文档

龙新征, 高志同, 姜 宁, 郝永胜, 李庭晏

(北京大学计算中心,北京 100871)

1 引 言

高校项目评审作为项目管理工作的重要内容之一,在高校项目管理中扮演越来越重要的角色.传统的项目评审模式主要有两种:发信函评审和会议评审,前者的缺点是评审周期长,有效评审率不高;后者的缺点是需要花费大量的会费,会议规定的时间与地点可能与专家的日常安排冲突,而且现场评审可能会造成有些专家很难面对面发表自己的真实观点,最终会影响评审的结果[1].传统项目评审模式已无法适应高校项目管理发展进程,网上项目评审成为高校项目管理模式改革的有效途径.网上项目评审模式能够增强评审工作的规范化、科学化,降低工作成本,提升评审结果的客观性、公平性、公正性,同时给专家评审项目带来极大的便利与自主权[2].

2 需求分析

网上项目评审模式是:管理员在网上系统中发布项目;申请用户登录系统提交项目申请;管理员将申请用户提交的申请分配给专家进行评审,此时系统自动给专家发送评审邀请的邮件或手机短信;专家收到短信或邮件后,直接登录系统,打开评审页面,选择被分配的项目,阅读申请书,在线评审打分,提交数据;管理员适时从系统获取评审数据,自动生成各类统计表.

基于这种模式,近年来北京大学相继开发了一些适应于不同项目的评审系统,取得了良好的应用效果.这些系统在系统架构、模型设计、系统实现等方面做出了有益的工作,提供了宝贵的经验,但是对于系统的扩展性和通用性方面关注不足:

在以往的项目评审系统中,往往根据项目申请书的内容开发专门的申请模块,由申请用户通过Web界面填写项目申请,项目评审时,评审专家通过Web界面查看申请用户填写的内容.但在实际操作过程中,不同项目的申请书内容不一样,即使同一个申请项目不同年份申请书也有可能发生变化,因此是一个项目一套项目申请模块,即使同一个项目每年也要根据申请书的内容对申请模块的字段进行微调;另外通常来说,申请书往往包含大量的图片和表格,有特殊的格式要求,而Web界面对于图片、表格以及格式的支持不是特别理想.

在以往的项目评审系统中,往往根据评审指标的内容设计专家的评分界面.但在实际操作过程中,不同项目的评审指标内容不一样,即使同一个申请项目不同年份的评审指标也有可能发生变化,因此是一个项目开发一套专家评分界面,即使同一个项目每年也要根据评审指标的内容对专家评分界面进行微调.

基于以上几点不足,本文加大了对项目评审平台扩展性和通用性的研究,并结合以往系统的经验,提出了设计和实现项目评审平台时的几点要求:

(1)支持多用户角色,为每类角色设置不同的操作权限,提供不同的操作页面.

(2)具备标准化的后台数据库系统和集成式的公共数据共享能力,能够实现项目评审数据存储的标准化、持久化,更要适应数字化校园综合管理平台建设要求,实现项目评审系统与人事、项目申报、项目管理等业务系统之间的整合.

(3)具备通用的项目申请模块,可以适用于不同项目的申请、提交和在线查阅;

(4)具备通用的项目评审模块,项目评审标准指标体系可以灵活进行定制,并且可以依据项目评审标准指标体系形成专家打分表,实现基于网络环境下客观、快捷的项目评审和评审结果统计.

(5)具备完善的系统安全控制机制,实现系统安全、可靠的运行.

3 系统设计

3.1 系统架构

项目评审平台的用户分为4类角色:系统管理员、业务管理员、申请用户和评审专家.前两者是管理员,后两者是普通用户.用户登录后,各角色通过身份认证,在数据权限控制和功能权限控制下可获取相应的操作权限和数据权限.

项目评审平台的主要功能模块包括8部分:代码管理、日志管理、审计管理、权限管理、用户管理、项目管理、项目申请以及项目评审.其中代码管理、日志管理、审计管理和权限管理是系统的底层管理模块,便于系统管理员对系统进行管理和维护;用户管理和项目管理是业务管理模块,用户管理对普通用户信息进行管理,它和权限管理之间紧密相关,通过用户管理中定义用户角色以及权限管理中配置角色权限,就可以获得普通用户访问系统的操作权限和数据权限,项目管理下包含了4个子模块,分别用来管理项目基本信息、定义项目评审指标、为项目申请书分配评审专家以及维护项目的最后评审结果;项目申请为申请用户提供申请项目的功能;项目评审为评审专家提供评审项目的功能.

此外,项目评审平台与信息发布平台、短信平台、邮件平台等服务平台以及其他应用系统进行了整合:业务管理员新增的项目可以通过信息发布平台发布;业务管理员为项目申请书分配评审专家后可以通过邮件平台或者短信平台通知评审专家在规定时间内登录系统评审项目;评审的结果根据业务的需要反馈到其他业务系统中供其使用.通过整合提高了信息资源的利用率,避免了“信息孤岛”,为用户提供了全方位的服务.

图1 项目评审平台系统架构

3.2 功能模型

项目评审的流程比较固定,一般来说主要包括发布项目、申请项目、定制项目评审指标、为专家分配项目申请书、专家评审以及汇总评审结果等6大环节:

发布项目:业务管理员在系统中发布一个新的可供申请的项目,发布后可以进行修改,直到业务管理员将项目正式生效.

申请项目:项目生效后,申请用户就可以登录系统申请这个项目了,申请用户上传项目申请书,上传成功后,可以在线浏览申请书.上传可以多次进行,系统会自动覆盖前一次上传的内容;确定申请书内容无误后,即可提交申请,提交后不能再上传.

定制项目评审指标:项目生效后,业务管理员可定制项目的评审指标,评审指标是专家进行打分的依据;业务管理员通过系统指定项目打分的指标名称、指标含义、指标分值以及评分等次;评审指标生效后,系统会自动生成项目打分表,项目打分表在专家评审时对专家进行展示.

为专家分配项目申请书:申请者提交项目申请书后,业务管理员可以为申请书指定专家进行评审.业务管理员完成分配后,专家登录系统就可以看到所有分配给他本人的项目申请书,并且可以在线浏览项目申请书的内容.

专家评审:业务管理员定制了项目评审指标,并为专家分配项目申请书后,评审专家登录系统后就可以进行评审了;评审包括打分和填写意见等环节,专家评审可以多次进行修改,直到专家将评审结果进行提交.

汇总评审结果:专家提交完评审结果后,业务管理员可对评审情况进行汇总,并且录入最后的评审结果.

通过分析,我们可以得到如图2所示的功能模型,其中矩形框表示的为核心环节.

图2 项目评审平台功能模型

3.3 数据模型

项目评审平台的核心数据包括:专家数据、申请者数据、项目数据、项目申请数据、专家分配数据、评分等次数据、指标体系数据、专家评审数据等,它们以及它们之间的关联关系组成了项目评审平台的数据模型,如图3所示.

图3 项目评审平台数据模型

为项目评审的通用性设计了评分等次模型、指标体系模型和专家评分模型,使业务管理员能灵活地定制项目评审指标,专家能够根据业务管理员定制的指标打分.评分等次模型表示了项目指标的评分等次和每个等次的权值;指标体系模型是一个树形结构,根节点的域包括项目编号,非根非叶子节点的域包括项目编号、序号、指标等次、指标代码、指标名称以及父指标代码,叶子节点的域包括项目编号、序号、指标等次、指标代码、指标名称、指标描述、所占分值以及父指标代码;专家评分模型实际上就是给叶子节点上的每一个指标赋予一个评分等次.系统根据指标的所占分值(M)和评分等次对应的权值(N)算出这项指标实际得分(M*N),而专家给出的总得分就是所有指标实际得分的累积求和,这个总得分将体现到专家分配模型中.

所有的数据模型都将以数据库表记录的形式持久地存储下来.

4 系统实现的关键技术

4.1 实现框架

为了用户使用的易用性以及系统运行维护的可靠性和高效性,项目评审平台采用Extjs+SpringMVC+jdbcTemplate技术实现,图4是系统的实现框架图.

视图层是用户与系统交互的接口,视图层主要由ExtJS页面组成.ExtJS[3]是一款开源的前端用户界面,是一个与后台技术无关的前端AJAX框架,具有功能强大、编程简单的特点.

控制层其主要是接收用户请求,依据不同的请求,调用对应的业务处理对象来执行业务逻辑,获取执行结果,并将结果以JSON数据的形式返回给表现层供ExtJS解析数据.控制层由控制器、过滤器、请求辅助类组成.

图4 系统实现框架图

业务逻辑层是应用系统中的核心,负责处理系统具体的业务逻辑.业务逻辑层由纯业务逻辑类Manager和非业务逻辑处理程序组成.Manager类负责完成与具体业务密切相关的逻辑处理,非业务逻辑处理程序负责权限管理、事务管理、日志管理等逻辑处理.

数据访问层主要是封装业务处理逻辑与数据存储层之间的交互过程,向业务逻辑层提供数据服务.在该实现框架中,数据访问层由数据实体Data Bean和数据访问类DAO组成.

此外,网上项目评审平台还采用了灵活的数据交换策略,采取Web service、Socket等多种接口方式,实现了与其他业务系统之间实时、准确的数据交互.

4.2 基于SWFTools+FlexPaper的文档在线阅读技术

为了解决项目在线申请和查看的通用性问题,本文采用了文档在线阅读技术.即:在项目发布时由业务管理员上传一个标准的项目申请书模板(WORD或者PDF)到平台中,申请用户下载申请书并在线下填写后上传,专家用户无需下载申请书即可在线浏览申请书.

目前最流行的文档在线阅读技术都是基于Flash的在线展现技术[4].该技术主要涉及两方面:文档转换和文档显示.

文档转换的重点是将各种类型的文档转换为统一的Flash文档,分为两步:先将文档转为PDF,再将PDF转换为SWF格式文件.将文档转换为PDF的实现方式有如下几种:使用虚拟打印机、使用微软提供的API以及使用开源的OpenOffice转换等,从PDF格式转换为Flash的过程可使用开源的SWFTools(—组用来处理Hash的swf文件的工具包)的PDF2SWF.文档转换的实现步骤并不复杂,但是因为转换过程中可能出现多种失败情况,如文档损坏、加密等原因造成转换失败,因此需要关注错误处理;文档转换的实现流程如图5所示.

图5 文档转换的实现流程

其中type是文档的一个状态标识:1表示已生成PDF,2表示已生成Flash,-1表示不受支持的文档格式,-2表示转化为PDF失败,-3表示转化为Flash失败.

文档显示即基于Flash技术进行展示,使用的是FlexPaper组件.FlexPaper是一种轻量级的用于在浏览器中展示swf文档的组件,作为一种开源技术,FlexPaper可以通过将文档的每一页对应转换为flash帧,轻松地控制文档的预览效果[5].

4.3 基于树结构的指标评审体系

项目评审平台设计了专门的项目评审指标定制模块,并采用了树形结构的指标体系模型(见3.3节数据模型).业务管理员灵活地定制项目评审指标的过程实际上就是指标体系树的构建过程;而展示项目评审打分表的过程实际上就是深度遍历指标体系树的过程.

5 结束语

本文通过合理的技术选型和架构设计,科学的功能建模和数据建模,构建了一个通用项目评审平台,实现了包括发布项目、申请项目、定制项目评审指标、为专家分配项目申请书、专家评审以及汇总评审结果在内的6大环节的主要功能.为了项目申请和专家评审的灵活性和通用性,设计并实现了基于FlexPaper的项目申请书在线预览的功能以及基于树结构的项目指标评审体系.通用项目评审平台能满足绝大部分项目申请和评审的需求,是高校项目管理的信息化的重要实践和尝试,对高校整合资源、建设通用型信息系统也具有一定的参考价值.

[1] 李志强,张少华,郦雅芳,等.网上项目评审系统的设计与实现[J].计算机应用与软件,2007,24(11):21-22,49.

[2] 李跃.基于Web的高校项目评审系统的设计与实现[J].电子设计工程,2012,20(19):17-20.

[3] 欧阳荣彬,王倩宜,刘云峰,等.Ajax与新型管理信息系统[J].中山大学学报:自然科学版,2009,48(S1):320-322.

[4] 文档在线预览.http://www.cnblogs.com/Flashlm/archive/2010/11/22/docu-ment-preview-online.html.

[5] FlexPaper[EB/OL].http://FlexPaper.devaldi.com/.

猜你喜欢
申请书管理员文档
浅谈Matlab与Word文档的应用接口
我是小小午餐管理员
有人一声不吭向你扔了个文档
我是图书管理员
我是图书管理员
可疑的管理员
三份特殊的《入党申请书》
基于RI码计算的Word复制文档鉴别
韩国工委筹备成立申请书
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat