天津气象科研项目管理系统的设计与实现
2013-10-18赵玉娟李祥海天津气象局科技发展处天津300074
赵玉娟 李祥海 (天津气象局科技发展处 天津 300074)
张辉 (水利部海河水利委员会 天津 300170)
0 引言
办公自动化(OfficeAutomation,简称OA)是将现代化办公和计算机网络功能结合起来的一种新型办公方式,属于信息化社会的产物。在行政机关、企事业单位工作中,采用Internet/Intranet技术,基于工作流的概念,以计算机为中心,使用一系列现代化的办公设备和先进的通信技术,广泛、全面、迅速地收集、整理、加工、存储和使用信息,使单位内部人员方便快捷地共享信息,高效地协同工作。一个单位实现办公自动化的程度也是衡量其现代化管理水平的标准。
从信息化角度提升科技/科研项目管理的能力和效果,已成为各级科技管理部门的共识,很多单位都开展了相关的信息系统建设工作,[1-6]气象部门也不例外。[7-9]天津气象局此前在科研管理工作方面虽然利用了一些电子技术,比如存档项目电子文档,通过NOTES邮件系统下发各类科研管理信息,但自动化程度较低,存在诸多不足,表现在:①管理人员通过NOTES系统发布的各类科研项目信息邮件直接接收人不全是科研人员,容易造成信息传达不到位。②各阶段信息传递都需要手工操作,未实现管理流程自动化,即通过操作自动驱动信息流转,工作量大且效率较低。③电子化存储的科研项目信息,基于文档方式且孤立存在,缺乏统一规范的组织管理,管理人员变更时容易出现信息遗失,且不便于共享使用。基于上述背景,天津气象局启动了科研项目管理系统建设工作,本文将对该系统的设计实现及应用情况进行介绍。
1 需求分析及总体设计
1.1 需求分析
科研项目管理工作涉及到很多内容,第一阶段天津气象局期望实现3个目标:①建立专用平台在线发布科研项目相关信息,方便科研人员查询使用。②实现局内项目整个流程的自动化管理,包括:支持普通科研人员在线填报项目各阶段信息及上传文档;支持科技处管理人员在线管理各类项目信息,向科研人员反馈审核意见,分配项目评审专家,查询专家/单位评审意见;支持评审专家/单位管理在线查看规定范围内的项目文档并录入评审意见。③建立统一规范的项目信息存储管理机制,支持在线管理和在线查阅。
1.2 总体设计
基于对管理需求和相关技术的综合分析,系统构建采用了B/S模式。B/S模式相对C/S模式,界面丰富,对用户计算机水平及客户端机器配置要求较低,用户利用浏览器上网即可使用,主要事务逻辑在服务器端实现,系统维护升级的成本和工作量较少。
图1 系统架构图
开发语言采用PHP、[10]Javascript相结合,存储采用数据库与文件系统相结合,保证系统的跨平台性、友好性以及可扩展性。
系统用户分游客、认证用户两类,游客用户支持项目基本信息,科研项目通知、动态、政策类信息的查询,认证用户支持项目详细信息及按职能完成天津气象局内项目管理等工作,系统架构如图1。
2 详细设计
2.1 认证用户设计
2.1.1 用户分类 本系统认证用户的工作包括两类:一类是常规的系统管理类工作,包括用户管理、通知政策类信息管理;另一类是项目在申报、立项、在研(即中期)、验收、应用推广5个阶段涉及的工作。
一个项目生命周期的完成,需要申报人、项目管理人员、评审专家、申报单位管理者4类人员的协同工作。同一个人不同阶段在项目管理流程中存在职能变换的可能,比如申报人资历丰富后可转变为评审专家;同一个人还存在具备多种职能的可能,比如既要作为项目管理人员完成项目管理工作,又要完成用户管理等系统管理类工作。
基于上述分析,本系统设计了5类认证用户:申报人、项目管理人、评审专家、单位管理者、系统管理员,为了灵活描述多种用户类型,针对用户定义了角色属性。
2.1.2 角色属性设计 角色属性的数据类型采用正整数,各类角色利用正整数的不同二进制位表示(某位值为1代表具备相应角色功能),此种方式存储需求低,便于描述多角色用户,而且方便扩展新角色类型,用户角色属性的位设计原则如表1所示。
表1 用户角色属性位设计表
依据表1所示原则,若用户的角色属性值为1,则其为申报人;若角色属性值为4,则为评审专家;若角色属性值为5,则其既是申报人,又是评审专家。
2.1.3 访问控制设计 为了保证系统信息的安全以及实现多层次的访问控制,本系统设计了如下策略:
①前台注册用户仅可选申报人、单位管理员角色,其他角色由系统管理员后台分配,新注册用户必须通过管理员审核后方可登录使用系统。
②用户登录时需选定登录角色,认证通过后,登录角色记录在session中,用户访问页面时后台会根据session中记录的登陆角色动态生成功能菜单,从而防止游客或认证用户非法访问无权限访问的页面。
③对于在线用户,后台除记录登录角色值,还记录原始角色值。对于需要完成多种职能的用户,无需重新登陆,通过界面菜单可切换角色,系统会根据用户新选定角色更改登录角色值,动态更新功能页面。
2.2 功能模块设计
基于需求分析,设计了图2所示系统功能模块:
图2 系统功能模块设计
局内项目管理模块是本系统最核心的部分,该模块需实现3个目标:一是为用户提供完成其工作所需了解的信息(比如项目基本信息、文档);二是提供管理操作接口(比如提交评审意见接口、分配评审专家接口);三是根据用户操作驱动信息向目标用户自动流转(比如管理人员为某评审专家分配了评审项目,该专家登录后即可看到相应项目信息,无需管理人员再手动发送)。
局内项目管理包括申报、立项、在研、验收、应用推广5个阶段,涉及申报人、项目管理人、评审专家、申报单位管理者4类用户。申报人,负责按规定填报各类信息及文档,并根据管理人员反馈意见进行修改;项目管理人,负责各阶段管理,包括组织各类信息文档上报、分配评审专家、汇总评审结果、审核各类文档、向申报人反馈审核意见及管理历史项目信息;评审专家,负责项目评审,需查看项目信息及各类文档(限定在管理人员为其分配的项目范围内),并反馈评审意见;申报单位管理者即申报人所在单位管理者,需提供单位审核意见。通过分析各类用户的职能,设计了图3所示的局内项目管理功能模块,局内项目整个流程的自动化管理即基于这些功能模块实现。
图3 局内项目管理模块设计
2.3 项目相关信息的存储设计
项目管理流程自动化的实现,正确提供各类信息是基础。要正确控制各类操作的执行,比如申报人员上传文档仅能在项目文档处于管理人员未审核或退回修改状态下执行,需要各类操作状态(比如文档上传状态、审核状态)信息的支持;用户查询项目信息时,希望获取相关人员详细信息,需要负责人与项目之间关联信息的支持;评审专家仅能评审管理人员为其分配的项目,单位管理者仅能评审本单位项目,管理人员需要按不同条件查询评审信息,这些需要正确关联的项目、评审专家、评审意见信息的支持。
通过对项目管理流程的深入分析,总结出所涉及信息可分为项目基本信息、上报时间信息、评审信息、人员信息、文档信息5类。前4类信息,结构相对固定,使用频率较高,采用数据库方式存储,更方便查询和共享;项目文档信息,多数常用内容可加入到基本项目信息,其他内容使用频率较低,而且文件方式更能反映其原始特点,采用文件系统存储更为合适,因此,本系统针对项目管理相关信息采用了数据库与文件系统相结合的存储方式。
数据库存储信息的数据表设计如表2,表结构设计及关联如图4所示。
表2 项目相关数据表设计
申报项目信息后续阶段使用频率低,所需信息少,可定期清除,因此与通过立项项目采用不同数据表存储;个人用户与单位用户信息类型差别大,采用不同数据表存储更为合适;登录时只需账号、密码及用户角色即可完成认证及权限分配,从信息安全性角度考虑,用户登录信息与详细信息采用分表存储。
文档存储,总体按照其归属的阶段、立项年度、类型进行组织,其中验收和应用成果推广阶段有单个项目多个文档的情况,特别在存储规则中加入了项目编号,详细的文档存储规则定义见表3。
表3 项目文档存储规则定义表
3 系统实现
3.1 运行环境要求
Web服务软件Apache,数据库管理软件Mysql,操作系统方面,Windows和Linux均可,目前天津气象局是部署在Red Hat Enterprise Linux Server release6.2(Santiago)操作系统环境下。
3.2 游客页面
游客页面包括系统首页、项目查询、通知公告、动态与成果、申报指南、管理办法6类。
系统首页(见图5),提供了导航菜单、用户登录、新用户注册、最新的通知公告、科研动态及图片新闻信息。用户点击导航菜单栏目,可进入对应功能页面,首页列出的最新通知公告及科研动态信息,用户点击标题可查看详情,对于最近3天发布的信息附加new图标给予提示。
项目查询页面(见图6)为用户提供了项目名称、编号、立项年度等5类查询选项,项目名称支持模糊查询。通知公告、动态与成果等4类页面类似,因此均以列表形式显示信息标题及发布时间,用户点击标题进入详情页面的设计思路。
图5 系统首页
图6 游客项目查询页面
3.3 认证用户页面
认证用户的功能模块包括项目查询、天津局内项目管理、历史项目信息管理、个人信息管理、系统信息管理5类。“个人信息管理”所有角色均有,提供个人基本信息和密码的修改功能;除系统管理角色外皆享有同样的“项目查询”功能,相比游客的项目查询页面,可获取更详细的项目及负责人信息;除系统管理角色外均享有“天津局内项目管理”功能,但页面功能根据角色权限差别提供;“系统信息管理”仅系统管理角色享有。本节将对较为重要的天津局内项目管理、历史项目信息管理的部分功能页面进行介绍。
图7 填报任务书页面
3.3.1 “天津局内项目管理”之申报人功能页面 申报人的“天津局内项目管理”页面按项目流程组织,分为申报、立项、在研、验收、应用推广5个阶段的功能页面,总体包括上报时间信息显示、模板文档下载、项目基本信息录入修改、项目文档上传4类功能。图7示例了立项阶段的“填报任务书”页面。各阶段的功能存在依赖关系,申报阶段页面,所有通过审核的申报人角色用户都可执行申报功能,其他功能页面则仅有正式立项的项目,其负责人可执行相关操作。
申报人上报信息必须符合管理规定,图8示例了过期无法上传文档页面,图9、图10分别示例了文档处于未审核、审核中状态的页面。
图8 过期验收材料无法上传文档页面
图9 “未审核”状态可删除文档页面
图10 “审核中”状态无法修改验收信息页面
3.3.2 “天津局内项目管理”之项目管理角色功能页面 项目管理角色用户页面同样按项目流程组织,模板文档管理、上报时间设置、项目信息查询功能各阶段都提供,申报阶段还提供评审专家分配、专家评审结果查询、单位评审结果查询3类功能,验收阶段还提供评审专家分配、验收意见文档上传功能。项目管理角色可获取到所有项目信息。
图11 项目管理用户申报项目信息查询页
项目管理角色的申报项目查询页(见图11),提供按年度、承担单位、负责人、项目名称查询申报信息,用户还可录入审核意见,单独或批量修改项目审核状态,其他阶段查询页面类似。申报项目评审专家分配页(见图12),分为已完成专家分配项目和未分配项目两部分,专家列表采用动态控件,用户点击“选择专家”时显示,验收项目评审专家分配页面类似。申报项目专家评审结果查询页,可按项目名称、承担单位、评审专家进行查询,申报项目单位评审结果查询页面类似。
图12 项目管理用户申报项目评审专家分配页
3.3.3 历史项目信息管理功能页面 历史项目管理功能仅项目管理角色用户具备,提供信息录入(见图13)及删改功能(见图14)。信息录入支持手工及批量录入两种方式,但批量录入时文档信息需单独录入;删改页面,可通过设置查询条件筛选出目标项目信息进行操作,删除操作支持批量执行。
图13 历史项目信息录入页
图14 项目管理用户历史项目信息删改页面
4 结语
本系统的研制,实现了3方面目标:①为天津气象局的局内科研项目管理提供了自动化办公平台,有助于规范相关管理流程,提高行政办公效率,也为未来实现其他类型项目的自动化管理打下基础;②建立了科研项目信息的规范化存储及管理机制,为其网络化共享与使用提供了条件;③建立了科研信息专用发布平台,使科研人员获取此类信息更方便。
现阶段重点实现了局级项目管理流程的自动化,后续阶段可通过应用进一步改进和完善系统功能,从而更好地为科研管理工作服务。本系统虽基于天津气象局的科研管理流程而设计,但总体功能属于科研管理系统必须的,且各模块能够灵活按需调整,因此可推广应用到其他单位的管理工作中。■
[1]夏志英,蔺慧丽,谢孝荣.工作流技术在企业科技管理中的应用实现——以中海油研究总院科技项目管理为例[J].中国海上油气,2011,23(6):428-432.
[2]李波平.科技管理系统的设计与应用[J].科技资讯,2011(9):161-162.
[3]邹江,张文绚,吴高辉.基于J2EE和JAAS的科技管理平台的设计与实现[J].计算机系统应用,2009,18(3):96-98.
[4]李泽,刘军,万忠,等.科技项目管理系统的设计与开发[J].农业网络信息,2011(12):41-45.
[5]潘俊俊,徐小良.科技计划项目管理系统的领域框架研究[J].计算机工程,2010,36(15):274-276,279.
[6]马坚.浅谈基于B/S架构下的科技项目管理系统[J].青海科技,2011,6:133-136.
[7]陈辉,王守忠,杜成林,等.基于B/S架构的气象科技管理信息系统[J].气象科技,2005(Z1):165-168.
[8]陈延玲.山东省气象科研信息管理服务系统简介[J].山东气象,2004,2(2):25-25.
[9]邓雯,戴修义,柯仪民,等.气象科技管理信息系统的研制及应用[J].湖北气象,1999(4):21-23.
[10]W.JasonGilmore.PHP与MySQL5程序设计(第2版)[M].北京:人民邮电出版社.