航次报告管理系统建设
2022-01-15宋转玲王雯宋庆磊丁明李新放孙宇王
宋转玲王 雯宋庆磊丁 明李新放孙 宇王 洁
(自然资源部第一海洋研究所,山东 青岛 266061)
随着陆地资源的逐渐减少,人类对作为自然资源重要组成部分的海洋资源的依赖日益增强[1-2]。海洋是人类未来发展的重要领域,海洋中蕴藏着丰富资源,可为人类解决资源短缺提供巨大的物质支撑力,如生物资源、矿产资源等[3-4]。因此,世界多个国家在认识海洋、经略海洋、保护海洋、建设海洋强国方面已经达成共识,而海洋科学考察便是人类认识海洋的一个基本途径。多个国家在海洋科学考察方面已投入了巨大的人力、物力,并取得了诸多成果[5-15]。海洋科学考察重要的渠道之一是科研工作者搭载科学考察船出海调查,利用各种海洋调查和分析仪器、海洋观测浮标/潜标、采水/采样器、海洋拖体、水下滑翔机、遥感和探空观测仪器设备等获取海洋水文、地质、生物、化学等学科方面的科学数据或样品。海洋科学考察是一项长期而艰巨的工作,海洋科学数据来之不易,因此,推动数据重用(再利用),促使数据价值最大化[16]意义重大。数据重用的重要前提是保证数据质量,如实、规范地记录数据生产过程,以备后期数据溯源。
航次报告(voyage report)是反映海洋科学考察数据生产过程最重要的原始文字记录和数据记录,是全国科学技术名词审定委员会在1996年审定并公布的航海科学技术名词[17],具有纪实性、概括性和指导性意义。全面如实地记录每个航次的工作过程与数据获取情况能够为航次工作的督促、检查及数据的查询、统计、分析和追踪提供不可缺少的重要依据,并为管理层做决策时提供有力的参考数据[18-19]。所以,越来越多的科研院所和高校重视航次报告的撰写与评审,并对报告的章节、表格及数据准确性和规范性把关[20-22]①何高文,杨胜雄,朱克超,等.国际海底区域研究开发“十五”计划DY105-13航次成果报告.2005.②李家彪.“南海大陆边缘动力学及油气资源潜力”南海OBS航次报告.2013.③曾志刚.“典型弧后盆地热液活动及其成矿机理”冲绳海槽北部航次(HOBAB1)调查研究报告.2013.④王东晓.2004—2011年南海北部开放航次科学调查报告.2020.,为航次报告的真实性、规范性和科学性提供了保证。
在航次数据管理部门需要对多参航单位、多参航人员、多参航项目(课题)的多个航次报告统一管理时,航次报告的提交和评审是必备的工作内容之一。目前,航次报告的提交、评审和统计等工作依然依赖于人工和较为初级的office办公软件和Email等方式,工作效率低且容易出错。近年来,信息管理系统技术迅猛发展,多个领域包括海洋领域都争相利用新技术、新手段减轻工作量、降低出错率、减少成本,以提高信息管理水平[23-28]。其中国家自然科学基金网络信息系统以Module Tabs(选项卡,简称Tab)标签作为主UI(User Interface)元素设计开发了国家自然科学基金项目管理功能模块[29],为规范化和高效性管理国家自然科学基金项目提供了保证。把已经成熟的信息开发技术应用到航次报告管理工作中是必然趋势。
本文根据既定的航次报告提纲,从用户界面友好性和信息技术优势组合角度出发,选择Tab标签作为主要的UI元素,设计开发基于用户级别权限的B/S(Browser/Server)模式航次报告管理系统。本系统的报告新增、修改、删除、查询、送审及评审等模块已上线运行,报告撰写人、报告评审专家、管理部门工作人员(以下简称“工作人员”)、系统管理员等级别的用户可以登录该系统在线完成航次报告的提交与评审等工作。使用该系统大大提高了工作效率、降低了由人工造成的出错率。
1 航次报告管理系统的用户需求
1.1 航次报告特点
航次报告记录航次任务来源及任务输出的工作过程和总结。航次报告主要包括航前计划、航中执行、航后总结等多个章节,其中航前计划通常包括科学目标和航次计划,航中执行通常包括调查站位、调查内容、参航单位和人员、调查设备、标准物质等,航后总结包括调查成果、调查作业完成情况及问题建议、致谢及工作日志和工作照片等。
1.2 航次报告管理的业务流程
航次报告相关人员利用航次报告管理系统完成航次报告的在线提交和评审等业务工作流程(图1)。航次报告提交后,先由工作人员进行形式审查,审查通过后,将报告分配给评审专家评审以完成送审流程。评审专家收到评审任务通知后登录系统,对待评审的报告进行评审,并在系统中填写和提交评审意见。报告撰写人登录系统查看评审专家意见并修改航次报告,直至评审通过。在关键处理节点,如航次报告分配至评审专家后,要求系统能自动给节点处理负责人(此处是评审专家)发送固定模板的邮件通知,以便提高报告操作流转过程中的效率。
图1 航次报告管理业务流程Fig.1 Work flow of the voyage report management
2 航次报告管理系统设计
2.1 航次报告管理系统总体框架设计
根据航次报告系统用户需求,设计航次报告管理系统框架。系统采取B/S模式,以便用户可以随时随地查询、浏览、新增、删除、修改报告。系统总体框架设计如图2所示。
图2 航次报告管理系统总体框架设计Fig.2 Design of overall framework of the voyage report management system
系统总体框架包含前端UI、协议接口、业务层、数据层、数据库和运行环境六部分。系统用户在PC 端UI上通过协议接口传递业务操作的发出与反馈。协议接口采用超文本传输协议HTTP(Hyper Text Transfer Protocol)从浏览器发出请求,Web服务响应请求并返回。HTTP是一种无状态的、应用层的、以请求/应答方式运行的协议,它使用可扩展的语义和自描述消息格式,与基于网络的超文本信息系统进行灵活的互动[30-32]。在业务层,根据航次报告管理工作需求设计不同的功能模块,如用户管理、报告管理、评审管理、数据字典管理和系统设置等。接收到从业务层传递来的业务逻辑操作,数据层创建持久化类,持久化类是共有类而且属性私有,每个类的属性与数据库中表的属性一一对应,并实现关系型数据库的表之间关联的对应。实际操作过程中,相关业务人员不需要再关注数据库,只需要持久化类就可以完成对数据库的增加、删除、修改和查询。依据航次报告中涉及的数据特点及数据应用需求,本文采用跨平台的开源MySQL关系型数据库,实现空间及属性数据的高效存储和管理[33],MySQL体积小、服务稳定、提供多种API接口、支持多种开发语言、易安装、易维护、使用成本低。服务器可以用独立的物理机,也可以用虚拟机,安装JDK、Tomcat、MySQL等软件,为航次报告管理系统提供跨平台、稳定的运行环境。
基于系统总框架设计,本系统具体开发实现主要使用JSP、Ajax、jQuery、FreeMarker等与Spring MVC+Spring+MyBatis(SSM)框架整合技术。SSM 框架是SpringMVC、Spring和MyBatis框架的整合,是标准的MVC模式,将整个系统划分为View表现层、Controller控制层、Service业务层和DAO数据持久层四层[34]。其中,Spring MVC负责请求的转发和视图管理,Spring实现业务对象管理,MyBatis作为数据对象的持久化引擎[35]。
2.2 航次报告管理系统功能模块设计
本系统中涉及的航次报告分为2种版本,一种是信息较为全面的管理部门内部保存的版本,另外一种是删除不宜公开发布的信息后的出版版本。为了实现基于用户权限的2种版本航次报告的新增、修改、删除、查询和评审等较为基础的管理功能,满足系统信息的动态管理需求,提高航次报告管理的效率,本文将系统功能模块设计为前台和后台,分别如图3和图4所示。
图3 系统前台功能模块Fig.3 The front desk function module of the system
图4 系统后台功能模块Fig.4 The rear desk function module of the system
系统前台模块主要包含报告管理、报告评审、报告集成、文档下载、个人中心和系统帮助等模块,是报告撰写人、航次首席科学家、评审专家和工作人员等用户的主要界面。用户在报告管理模块中可以完成报告(内部保存版和出版两种版本)的新增、修改、删除、查询等操作;用户在报告评审模块中可以完成报告的送审和评审等;用户在报告集成模块可以生成和下载单个航次报告(word版);用户在文档下载模块可以下载航次报告提纲及填写说明等;用户在个人中心可以完成注册、个人信息修改及专家申请等操作;用户在系统帮助模块可以下载系统操作相关的说明文档,以便快速了解系统的操作流程。为了防止用户误删信息,前台的所有删除都设置为逻辑删除。
系统后台模块是工作人员和系统管理员用于维护系统基础信息的模块,主要包含数据字典、系统设置、报告管理、评审管理、会议管理和专家管理。用户在数据字典和系统设置模块完成系统基础信息的维护;在报告管理、评审管理、会议管理和专家管理模块完成系统业务信息的维护。为了避免冗余及无效信息过多占用数据库空间,后台数据的删除设置为物理删除。
2.3 系统用户级别及权限分配
为了保证系统信息安全,本系统安全策略之一是用户权限管理,将基于角色的访问控制与航次报告管理业务流程相结合。确定系统角色和权限范围,给每个用户分配相应的角色,用户根据自己的角色可以且只能访问和操作自己权限之内的功能模块(表1)。
表1 航次报告管理系统的用户和权限设置Table 1 The user and permission setting of the voyage report management system
续表
航次报告管理系统的用户分为系统管理员、工作人员、报告撰写人、航次首席科学家和评审专家五个角色。其中,系统管理员和工作人员可以操作所有的航次报告,报告撰写人和航次首席科学家只能操作自己提交或负责的航次的报告,评审专家只能操作分配给自己的报告。
2.4 系统UI设计
目前信息管理系统技术发展到成熟阶段,UI设计已经不能仅将界面规划及组织结构简单罗列,需要综合考虑展示的信息特点和用户界面友好性,注重设计元素的编排,以保证UI界面风格适合信息内容、界面元素简洁、信息显示清晰,满足用户在系统页面上的友好性和有效性的需求。
根据航次报告提交操作涉及的信息保存方式,航次报告管理系统的UI有常见的文本框、下拉框、时间控件和上传控件等元素,特色之一是使用了Tab标签[36]。由于Tab标签可缩短Web界面屏幕长度,降低信息的显示密度,同时又不牺牲需要可见的信息量,而且它还可以在页面加载时加载本页面所有显示信息,将不同的显示信息重叠放置在某一布局区块内,重叠的内容区里只有其中一层可见,其他层隐藏。所以,Tab标签这种交互元素已得到越来越普遍的应用。用户利用鼠标触发内容区所对应的标签,以请求显示该层内容区。Tab标签切换过程中不需再刷新当前页面,减轻了服务器的加载负荷[37]。Tab分为选中状态和非选中状态,可通过改变字色、放大字号、添加线条和增加背景色等凸显选中状态,如图5所示。背景色为灰色的Tab2为选中状态,背景色为白色的Tab1、Tab3和Tab4为非选中状态。
图5 Tab标签显示机制Fig.5 Display mechanism of the Tab label
为了让用户能在界面中快速、有效地找到目标信息,通过Tab标签对系统展示的信息结果进行分类。根据在界面中所处的位置,Tab可分为顶部栏Tab、侧边栏Tab和底部栏Tab。由于航次报告章节较多,而且每个章节内容字数不确定,在网页上完整展示某些较长章节内容时需要有纵向滚动条。按照用户在网页上交互操作时从上向下看的视觉习惯,位于主界面上方的顶部栏Tab是理想的方式,可使用户在提交或者修改航次报告时尽量少使用滚动条而在当前页面中能迅速定位到所要操作的报告章节。使用顶部栏Tab 的页面层级明确,操作时间成本低,可提高用户的工作效率。然而,由于Tab 方式导致当前页面仅能展示当前报告章节,显示的内容较少,所以用户若想查看报告的全部内容,必须到集成模块集成报告(word版)。
在UI设计过程中,应考虑数据库结构,注重数据计量单位的统一。实现同一个系统中有量纲的要素计量单位一致,对系统用户而言,形成惯性认知,降低输入出错率,为以后的数据统计分析提供计量单位一致的数据依据。航次报告管理系统中涉及的要素及计量单位如表2所示。
表2 要素及计量单位一览表Table 2 List of elements and measurement units
3 系统实现
根据前文的技术总框架、系统功能和系统UI设计,本文开发了航次报告管理系统。系统用户在统一的用户登录界面(图6)输入用户名、有效的密码和验证码,选择登录身份,并进行多重的身份验证,以保证系统安全。
图6 系统用户登录界面Fig.6 User login interface of the system
本系统前台页面包含6个导航菜单:航次报告管理、航次报告评审、航次报告集成、文档下载、个人中心和系统帮助。用户登录系统后,进入航次报告列表页面(图7),可以进行航次报告的新增、修改、删除等操作。
图7 航次报告列表界面Fig.7 List interface of voyage report
航次报告新增界面中,点击页面主框架顶部Tab标签(图8中红框),用户能明确切换到要操作的章节,修改页面和新增页面的操作与之类似。在报告操作过程中,用户可以点击“暂存”按钮以防已填写的信息丢失。在提交报告之前,用户随时可以修改当前报告内容。
图8 航次报告新增界面Fig.8 Add interface of voyage report
本系统后台页面的航次报告相关管理和系统的基础信息维护主要由工作人员和系统管理员完成,后台主界面如图9所示。其中,工作人员在后台中可对航次报告进行新增、修改、删除及分配专家完成航次报告的维护和送审过程,界面如图10所示。
图9 系统后台主界面Fig.9 Backstage master interface of the system
图10 系统后台报告管理界面Fig.10 Backstage report management interface of the system
4 结 语
航次报告是航次实施过程中最原始、最基础的第一手工作记录,是形成科研成果的重要依据。在多个航次报告统一集中管理工作需求下,用先进的信息开发技术完成航次报告的在线撰写、提交、评审、统计分析是形势所趋。在既定的航次报告管理工作步骤和岗位职责及航次报告提纲基础上,航次报告管理系统在每个流程设置关键节点,在有效的管控下,督促和帮助系统用户有条不紊地完成航次报告的管理工作,自动化程度高,节约人力成本并减少人为错误,满足当前航次报告保管工作的管理需求。
本文选用Tab标签作为主UI样式,设计开发了—套基于B/S架构的航次报告管理系统,该系统满足航次报告管理和评审管理等需求,用户操作简便、系统友好性强。本研究成果在国家自然科学基金共享航次计划实施中进行应用,2019年和2020年执行的航次报告撰写人和相关评审专家已经通过本系统完成报告提交和部分评审工作,大大提高了工作效率。计划后期根据工作需求不断完善系统功能模块,增加数据统计分析及展示等模块,以便决策层使用系统并做宏观决策。