李光文 (天津市科技统计与发展研究中心 天津300041)
科技项目评审系统的设计与实现
李光文 (天津市科技统计与发展研究中心 天津300041)
在天津市科技计划项目评审管理工作中,通过阐述科技计划项目评审工作过程及遇到的挑战,对项目评审工作进行系统分析,划分评审系统功能模块,重构项目评审流程,设计并实现了天津市科技项目评审系统。评审系统采用B/S结构,开发过程中使用了Hibernate、Spring、Struts等技术。
科技计划项目 项目评审 信息系统
项目评审是科技计划管理中的重要工作,专家的评审意见是项目立项的重要参考依据。传统的评审方式使评审专家容易受客观环境干扰,影响评审结果公平、公正。项目评审信息系统的使用可以解决项目评审过程中出现的部分问题,提高评审工作效率,因此在我国各省市项目评审工作中已陆续使用,天津市科委从2009年开始开发项目评审系统。
我国学者对项目评审进行了同行评议理论、项目评审过程等方面的研究。陈进寿从人际关系这个角度对项目评审进行了研究。[1]郑兴东利用集中趋势、离散趋势方法,对同行评议过程中非共识问题进行研究,为项目评审结果计算方法提供了依据。[2]李延瑾对我国及国外同行评议实践中出现的问题进行研究,并提出了相应的解决办法。[3]龚旭对影响同行评议公正性的诸因素进行研究。[4]刘克用量化的方法对项目评审过程进行研究,提出了专家评审结果的计算公式。[5]胡景荣的研究结果证明将项目评审与其他科技项目管理相结合,通过系统集成实现科技项目高效管理。[6]
这些研究并没有从科技计划管理角度来考虑科技项目评审,作为科技项目的管理单位,应该拥有一套适合科技计划项目整体管理的信息系统,从而能够提高工作效率,实现与专家库管理、项目申报等工作的结合。
通过对项目评审工作过程的分析,项目评审系统分为项目评审管理、专家评审两个模块,包括评审前期准备、专家评审、评审过程管理等功能,如图1所示。
评审前期准备是为项目评审所做准备工作。项目评审前,项目申报单位使用申报系统填写申请书,管理部门组织项目受理,受理通过的项目进入评审项目库,按照不同领域将项目分成若干项目组,选择评审专家。
专家评审是指专家在评审过程中的操作。专家登陆评审系统后,首先阅读项目评审工作说明和要求,然后进入评审项目列表逐一进行项目评审打分,所有项目评审完成后,提交评审结果。最后按要求打印成评审结果。
评审过程管理是评审过程的管理操作。包括查看项目组的整体评审进度、每位专家的评审进度,保证项目评审工作按时完成。在评审过程中,管理部门还可以按要求进行专家更换、评审延期和汇总评审结果等操作。
系统数据库按照数据冗余度小、共享程度高、对存储结构和存取方法适应性好、数据独立性强等规则进行设计。系统数据库按功能模块分组设计,包括项目信息、评审专家、评价指标、项目分组信息、专家评审结果、专家评审过程、评审结果汇总等。其中,项目信息包括项目基本信息表、项目组成员信息表、项目单位信息表、项目经费来源表、项目经费预算表、项目详细信息表等。
评审系统按照分层结构设计的思想,将程序分为表述层、业务逻辑层、持久化层、数据库层。每一层封装了功能相近的程序,各层之间通过配置文件组织在一起,通过配置文件可以实现对某一层的调换。
表述层根据用户指令调用业务逻辑层的相应接口,提交给业务逻辑层处理,并将系统执行结果反馈给用户。系统使用Struts,JSP技术编写动态页面,系统获得用户请求后,将用户请求参数封装后转交给Struts提供的逻辑管理,Struts逻辑控制根据请求参数处理用户请求,并传递给业务逻辑层处理,处理完成后返回到JSP页面。[7]
业务逻辑层是系统的中间层,是表述层和数据持久化层交互的桥梁,将数据传递给数据持久化层存储到数据库中,将数据库查询结果返回给表述层显示给用户。业务逻辑层使用了Spring框架,通过控制反转等技术实现了与业务逻辑层、数据持久层集成,实现与Hibernate、Struts框架整合。
数据持久化层将内存中的数据模型转换为存储模型,以及将存储模型转换为数据模型。系统使用对象关系映射完成实体域对象的持久化,一个持久化类对应一个表,类的每个实例对应表的一条记录。完成对象关系映射文件配置后,系统运行时按照配置文件把实体域对象持久化到数据库中。评审系统使用Hibernate创建Session实例,实现和数据库事务绑定,完成对数据库的操作,使用Hibernate API对JDBC进行封装,实现对数据库的操作,包括:save、update、delete、load、find。
系统在数据库层使用了数据库连接池技术,把数据库连接当作对象处理,系统启动后,通过连接池创建若干连接,把与数据库连接的改为和连接池相连,连接池临时分配连接供访问使用,操作结束后将连接交还,从而消除了连接的延时,实现了数据源的并发访问,简化了访问的环节,提高了系统性能。
评审系统开发采用快速原型法,在需求分析阶段将软件进行实现,开发出软件系统的原型,将功能和性能展示给用户,用户与系统设计人员针对系统原型进行讨论,并不断修改完善,直到用户满意为止,再进行相关的需求文档撰写、系统设计、系统实现等后续工作。快速原型模型充分调动了管理部门参与需求调研的积极性,使软件开发人员和用户之间需求讨论更加顺畅,提高了需求讨论的有效性和准确性,使评审系统更加符合管理部门的要求。
评审系统在开发过程中,通过编写自动测试代码完成了单元测试、组装测试。系统开发完成后邀请专业测试机构,通过编写系统功能列表、系统测试用例,完成评审系统功能性、可靠性、易用性、系统效率、可维护性、可移植性测试。在测试过程中首先列举出系统的所有功能,将系统一级功能分为项目评审维护和专家评审两类,再分别列举二级功能、三级功能。然后编写测试用例,测试用例代表并覆盖系统的所有功能和技术指标,每一个测试用例都有相应的期望结果。
测试结果显示评审系统具有较好的数据安全性和系统安全性,具有保护信息和数据的能力,能够防止对程序及数据的非授权的故意或意外访问,具有避免由系统故障导致失效的能力,同时在易用性、系统效率、可维护性和可移植性上也有很优秀的表现。
科技项目评审系统开发完成后,已应用到天津市科技计划项目评审工作中,系统运行状态良好,顺利完成了天津市科技计划项目评审工作。系统在使用过程中,有专家提出部分项目仅凭申请书电子材料进行评价依据不充分,评审过程中最好请项目负责人现场答辩。说明评审系统需要进一步改进,增加语音或视频答辩功能,使评审专家在评审过程中可以向项目组成员提问,使评审结果更加科学。■
[1]胡明铭,黄菊芳.同行评议研究综述[J].中国科学基金,2005(4):251-253.
[2]刘求实.同行评议中的“非共识”问题研究[J].科技导报,1995(1):40-42.
[3]李延瑾.科技项目立项评审的同行评议方法研究[D].武汉理工大学硕士学位论文,2001.
[4]龚旭.同行评议公正性的影响因素分析[J].科学学研究,2006(12):212-217.
[5]刘克.国家自然科学基金面上项目通讯评议结果的公平化处理[J].中国科学基金,2003,17(4):243-246.
[6]胡景荣.科技计划项目评审的网络管理模式探析[J].科技信,2009(36):691,693.
[7]万伟韬.无纸化考试系统中Struts,Spring,H ibernate框架整合的分析与研究 [J]. 江西教育学院学报,2011(3):46-50.
2012-07-09