基于B/S架构的企业科技信息管理系统设计
2019-06-06李明李长昱杨艳梅吴楠陈丽珠
李明 李长昱 杨艳梅 吴楠 陈丽珠
摘 要:为了有效管理企业在新产品、新技术研发过程中形成的项目、专利、标准等科研成果,实现管理信息化,基于J2EE架构并使用MVC技术,设计了企业科技信息管理系统,阐述了系统各功能模块构成及关键技术。实际应用表明,该系统能有效管理科技型中小企业运营过程中产生的各类科技信息,提高信息查询和统计分析效率,为科技型中小企业信息管理系统建设提供参考。
关键词:科技信息管理系统;J2EE;MVC
DOI:10. 11907/rjdk. 181884
中图分类号:TP319文献标识码:A文章编号:1672-7800(2019)003-0100-04
0 引言
科技信息是企业的重要科技资源和宝贵资产,科技信息管理是企业科技管理的重要组成部分[1-3]。为解决科技信息管理过程中存在的问题,近年来出现了许多科技信息管理系统软件,它是一个由人、计算机组成的能进行科技信息搜集、传递、存贮、加工、维护和使用的系统,目的是实现科研工作的数字化、网络化管理,形成一个动态的科研数据中心和科研管理沟通平台,全面、实时、准确地提供有关科研信息,为科研管理提供必要的技术支持[4-7]。科技信息管理系统设计与实现方案较多,如许博[8]设计了一个在。NET框架下的高校科研业务数字化管理系统;蒙杰等[9]提出一种基于Hadoop的海量科技信息资源管理系统解决方案;刘泽轩等[10]设计了一个基于J2EE架构的针对高校科研项目的计划管理和质量管理系统;马国财等[11]设计了一个基于JSP的可为科技项目的申报、评审、立项、验收等环节提供全方位服务的科技综合信息管理系统;杨莉等[12]分析了基于Web的科技信息管理系统的优势。
当前科技信息管理系统研究侧重点集中在高校、科研院所这类研究型单位,在功能设计上以科研项目管理为主。本文基于科技型中小企业需求,为企业运行过程中產生的各类科研成果管理提供一套具有较高参考价值的解决方案。
1 背景分析
科技型企业是专门从事高新技术及相应产品研究、开发、生产、服务活动,且能够迅速发展和具有较强竞争力的企业[13]。科技型企业与传统的制造业和服务型企业相比,其业务发展不是依靠低成本劳动力赢得市场回报,而是通过高附加值产品和技术的研发建立市场核心竞争力,以高学历、高技能的科研人员为主。科技型企业在新产品、新技术的研发过程中,往往会形成大量的项目、论文、专利、奖项、标准、著作等能承载并体现其研究内容和成果的资料,以及支撑企业科技创新而构建的内部人才、外部专家、学术活动等科技资源[14-15],相关信息载体可以是文档、文字、图表、数据、声像等各种形式的文件材料,一般具有信息量大、统计困难、涉及专业与人员较广的特点,管理好相关科技信息是企业科技管理的一项重要工作[4-16]。大多数企业主要通过Word、Excel等办公软件对科技信息进行保存、分析和查询,这种方式很难及时掌握最新的科研情况[17],而随着信息量的不断增加,这一管理方式引发的问题也会越来越多,概括起来主要有以下几点:
(1)数据共享性差。不同的科技信息分散在不同的基层科技信息工作者手中,在各自的电脑上分散存储,形成彼此隔离的信息孤岛[18],难以实现数据的网络化共享,造成数据查询和利用效率低下。
(2)数据冗余与不一致。由于文件之间缺乏联系,同样的数据可能在多个文件中重复存储。数据冗余又容易造成数据的不一致,在进行更新操作时稍有不慎,就可能使同样的数据在不同的文件中存在差别。
(3)管理的主观性较强。科技信息需记录的字段内容和需归档的档案往往没有明确规定,如果出现管理人员变更,容易引发数据的前后记录不一致、数据遗失等潜在问题。
(4)数据统计分析困难。科技信息通常具有多、乱、杂的特点,要从多张具有关联关系的Excel表格中统计出所需的统计数据往往很耗时,而且受人为以及数据不断更新等因素的影响,统计数据的准确性通常也会受到较大影响。
2 系统体系结构
本系统的设计思路是:针对科技型中小企业需求,在统一的规范和技术框架下,建设集中的科技信息资源数据库,采用统一的数据互换规范、技术架构和系统开发平台,实现系统各模块功能,简化系统各功能模块的集成复杂度,提高系统开发效率,降低系统开发和运维成本。项目总体架构以主流的J2EE(Java2 Platform,Enterprise Edition)作为基础开发平台和语言,采用MVC(模型-视图-控制)设计模式将输入、处理、输出流程按照模型、视图、控制的方式进行分离。系统分成模型层、视图层、控制层 [19-20],这种设计模式把应用逻辑、处理过程和显示逻辑分成不同的组件实现,通过三者之间的分离达到层间的松散耦合,以实现代码重用和易于修改,提高系统灵活性、复用性和可维护性,适应日益复杂的Web应用系统设计要求。系统体系结构见图1。
客户端层:基于Web浏览器,负责为系统提供操作界面,系统功能实现的核心部分集中在服务器上,简化了系统开发、维护和使用,用户可在任何地方进行操作而不用安装专门的软件。
表示层:该层主要目的是给用户、系统业务数据提供逻辑视图,由JSP、Servlet和JavaBean等组成。
业务层:该层主要负责系统的业务逻辑实现,由会话Bean(Session Bean)和实体Bean(Entity Bean)组成。会话Bean主要负责业务的逻辑实现及与表示层的通信,实体Bean主要负责保存业务数据,给会话Bean访问业务数据提供接口。除此之外,实体Bean还负责实现业务数据对象与关系型数据库中记录之间的映射。
系统数据层:后台数据库层,存放系统业务数据及系统支持数据。系统在数据库层配置一个连接池,连接池采用JDBC(Java数据库连接)技术标准,以保证业务和数据层连接的有效性、高效性。
3 系统功能模块
科技信息管理系统主要对各类科技信息集中统一管理,分为项目信息、科研成果、人才信息、专家资源、申报管理、学术会议、科技文件、其它档案8个功能模块。其中,科研成果模块又进一步划分为获奖信息、专利信息、论文信息、标准信息、著作信息、技术成果6个子模块,项目信息模块与科研成果模块内容相互关联,即通过项目可以查询到研究成果,通过科研成果可查询到该成果隶属于哪几个项目。以上功能模块的设置基本涵盖了科技型中小企业科技信息管理过程中可能涉及的全部需求。
在以上8个功能模块及相关子模块的基础上,构建统一的数据统计分析功能和系统管理功能模块。统计分析模块实现各类统计报表、图表等统计信息的自动生成,可在用户权限范围内根据需要生成相应的统计数据并提供打印功能;系统管理功能包括用户管理、部门管理、权限管理、数据备份恢复、数据导入导出、系统日志、使用帮助等保障系统安全、稳定运行所需的配套功能,并为用户使用系统提供尽可能的便利,相关功能模块可根据企业的实际需求进行调整和扩充,系统功能结构如图2所示。
(1)科技项目。科技项目模块主要用于管理企业已经立项的各类纵向项目、横向项目以及自立项项目,除记录项目名称、来源、起止日期、项目状态、承担部门、参加人员等基本信息外,还可对项目成果、项目经费、项目进展、档案清单等相关信息进行管理,并上传项目相关的附件材料,如项目任务书、结题证书、鉴定证书等重要附件资料。
(2)科研成果。科研成果模块包含获奖信息、专利信息、论文信息、标准信息、著作信息、技术成果6部分内容。其中,获奖信息记录了企业已获得的各类科技进步奖、技术发明奖等科技奖励信息,专利信息记录了企业已申请的各项发明、实用新型、外观设计专利信息,论文信息记录了企业员工在各类期刊发表的学术论文以及相应期刊的级别、影响因子等信息,标准信息记录了企业主持或参与制定的各类国家标准、行业标准、地方标准、企业标准等信息,著作信息记录了企业员工参与编写并正式出版的各类著作,技术成果记录了企业研发产生的各类新产品、新技术等技术成果。相关科研成果除记录成果的名称、取得时间、参与人员等基本信息外,还需对相关的附件证明材料进行上传。
(3)人才信息。人才信息模块主要用于管理企业入选国家、省级、市级等各级人才培养工程的人员,除记录各类人才入选的时间、级别、培养期限等基本信息外,还需上传人才入选的相关附件证明材料及培养合同,并对人才的年度、中期等考核情况进行动态跟踪。
(4)专家资源。专家资源模块主要用于管理企业内部及外部的各类专家信息。内部专家主要用于管理企业内部在各个研究方向已经形成的专家团队;外部专家主要用于管理与企业具有合作关系,可为企业的发展及各类科技活动的开展提供咨询、培训、协作等外部专家。
(5)申报管理。申报管理模块主要用于管理企业对外项目申报过程中产生的相关申报文件,通过不断积累为后续类似的项目申报提供支持和帮助,从而提高项目申报质量和成功率。
(6)学术会议。学术会议模块主要用于记录和管理企业参加的各类学术会议活动,包括记录相关学术会议的举办时间、地点、参会人员等基本信息,并上传会议相关的邀请函、会议报告、参会图片等有保存价值的附件材料。
(7)科技文件。科技文件模块主要用于记录企业发布的重要科技文件资料,如科技规划、科技决议、科技管理制度等,包括文件的名称、发布日期等基本信息,并上传文件的扫描件,防止重要文件遗失。
(8)其它档案。其它档案模块主要用于记录不包含在以上分类范围内的其它重要科技档案资料,可根据实际需要自定义其它档案分类。
(9)数据统计分析。可自动生成涉及到科技项目、科研成果、人才信息等功能模块的统计图表,如科技项目部分生成项目的立项趋势、结题趋势、经费使用情况等统计图表,设置项目监控功能,可自动统计即将到期、到期未结题、归档资料不全等项目列表并发送提醒邮件给相关负责人;科研成果部分可自动统计各奖项的构成、趋势,专利的申请趋势、授权趋势,论文发表趋势、发表刊物排名等情况。
(10)科研履歷查询。在各项科技信息数据库建立完善的基础上,可以很方便地实现企业员工科研履历的查询功能,即只需输入员工的姓名就可查询到该员工参与的项目、申请的专利、发表的论文、出版的著作、制定的标准、研发形成的新产品和新技术、入选的人才培养工程、参与的学术会议等完整的科研履历信息,并可根据需要导出相应的数据。该功能可为科研人员的考核、定级以及职称申报提供详细数据。
(11)权限管理。系统在权限管理上采用基于“角色”的权限管理体系,用户根据所属角色不同具有不同的权限,如项目部分:普通用户只能看到与自己相关的项目信息,部门负责人则可看到本部门所有项目信息,科技项目管理人员和公司领导可看到全部的项目信息。同时,由于部分附件资料为涉密资料,为充分保证附件材料的安全性,所有附件文件的在线浏览及下载权限均可在权限管理系统中进行控制。
4 系统关键技术示例
(1)统计图表。系统的统计图表功能采用JFreeChart包,同时需要JCommon、Gunjaxp这两个包支持,实现各种数据统计图,如柱形图、饼状图、折线图等。代码示例如下:
Public class mainClass{
Public stastic void main(String args[ ]){
JFram fram=new Jfram(“统计图”);
frame.setLayout(new GraidLayout(2,2,10,10);
frame.add(new BarChart( ).getChartPanel( )); //添加柱形图
frame.add(new PierChart( ).getChartPanel( )); //添加饼状图
frame.add(new TimeSeriesChart( ).getChartPanel( )); //添加折线图
frame.setBounds(50,50,600,600);
frame.setVisible(ture);
}
}
(2)附件在線浏览。系统附件在线浏览实现思路为:首先通过第三方工具openoffice将word、excel、ppt、txt等文件转换为pdf文件,然后通过swfTools将pdf文件转换成swf格式文件,最后通过FlexPaper文档组件在页面上进行展示。代码示例如下:
//将word、excel、ppt、txt等文件转换为pdf文件
public static boolean office2PDF(String sourceFile, String destFile) {
……
File inputFile = new File(sourceFile);
if (!inputFile.exists()) {
return false;// 找不到源文件, 则返回false
}
// 如果目标路径不存在, 则新建该路径
File outputFile = new File(destFile);
if (!outputFile.getParentFile().exists()) {
outputFile.getParentFile().mkdirs();
}
// 连接OpenOffice服务
OpenOfficeConnection connection = new SocketOpenOfficeConnection(
"127.0.0.1", 8100);
connection.connect();
// 执行转换
DocumentConverter converter = new OpenOfficeDocumentConverter(
connection);
converter.convert(inputFile, outputFile);
//关闭连接
connection.disconnect();
……
}
//将PDF文件转换为可在线浏览的swf文件
public boolean convert(File sourceFile, File targetFile) {
……
// SWFTools安装路径
String SWFTools_HOME ="C:\\Program Files\\SWFTools\\pdf2swf.exe";
String[] cmd = new String[5];
cmd[0] = SWFTools_HOME;
cmd[1] = "-i";
cmd[2] = sourceFile.getAbsolutePath();
cmd[3] = "-o";
cmd[4] = targetFile.getAbsolutePath();
//执行转换命令
Process pro =Runtime.getRuntime().exec(cmd);
pro.waitFor();
pro.exitValue();
……
}
5 结语
本文在科技型中小企业科技信息管理的需求分析基础上,设计并开发了一套能全面、准确、及时处理和传递各类科研数据的科技信息管理系统,建立了集中统一的数据库,实现了科技信息资源的共享和查询统计工作,提高了科技管理水平和工作效率,促进了企业科技信息管理的自动化、规范化、制度化和科学化。能在系统中设定不同权限、角色,从而使各级人员方便、安全地共享信息,达到既能分散操作又能集中管理的目的[21]。系统可提供最新、最直观的科研动态分析,辅助进行科研管理决策;在准备课题、人才、奖项、职称等申报材料时,由于所需的信息及附件材料可从系统中直接查询并导出,相关申报材料的准备时间从原来的一周缩短到数小时,极大提高了申报效率。通过科技信息管理系统的应用,构建起一套规范的科技信息管理体系,为企业的发展决策、科技宣传、科研人员考评等提供可靠的基础数据支撑,促进企业科研发展。
参考文献:
[1] 顾德访,丁晟春. 现代信息技术环境下企业科技信息管理及其发展[J]. 图书情报工作,2005(3):101-103.
[2] 刘畅,樊亚辉,刘玉朋. 煤矿企业科技管理信息平台的研究与设计[J]. 中国煤炭,2018,44(1):81-83,93.
[3] 王红涛,郭永豪,赵利军. 企业科技信息管理系统的研究与开发[J]. 信息系统工程,2016(7):61-62.
[4] 宋嵘嵘. 试谈高职院校科研管理系统的建设及应用[J]. 科技管理研究,2010,30(3):95-97.
[5] 王玉娟. 基于SOA的科技管理BPM平台设计与实现[J]. 计算机科学,2013,40(S2):423-425.
[6] 刘沛东,安博,钟业弘,等. 私有云环境下基于虚拟集群的资源共享方法[J]. 计算机科学与探索,2017,11(8):1204-1213.
[7] 彭晓晖,王丛刚,瞿裕忠. 一个基于Web的高校科技信息管理系统[J]. 计算机应用与软件,2003(6):31-33.
[8] 許博. 基于.NET三层架构的科研管理系统的开发与应用[J]. 实验室研究与探索,2013,32(2):188-190,207.
[9] 蒙杰,杨生举,赵昕晖,等. 基于Hadoop的海量科技信息资源管理系统设计与实现[J]. 科技管理研究,2017,37(13):181-186.
[10] 刘泽轩,江春华. 基于J2EE架构的科研管理系统的设计与实现[J]. 计算机工程与设计,2007,28(21):5218-5247.
[11] 马国财,陈海,王军. 基于JSP的南昌印钞厂科技信息管理系统的设计与实现[J]. 计算机与现代化,2006(6):75-78.
[12] 杨莉,徐俊利,贾广雷. 基于Web的科技信息管理系统分析与设计[J]. 山东建筑大学学报,2007(5):464-466.
[13] 蔡莉,王旭,李雪灵. 科技型企业创生要素的系统分析[J]. 科研管理,2005,26(2):29-34.
[14] 陈丹,王勇,王瑛. 基于工作流的科研协同平台的研究与实现[J]. 计算机工程与设计,2014,35(3):791-797.
[15] 石志钢. 企业科技信息系统的开发与应用[J]. 南方金属,2006(5):24-26,34.
[16] 李庆华,韩滨蔚. 高校科技信息资源管理机制探究[J]. 科技与管理,2017,19(1):103-107.
[17] 林萍. 基于SSH+DWR的高校科研管理系统研究与实现[J]. 计算机应用与软件,2014,31(7):66-68.
[18] 师春晓,房俊,亓开元,等. 基于SaaS模式的科技信息资源托管系统[J]. 计算机工程,2012,38(1):74-76.
[19] 孟梅,邓俊岚. 科研管理系统的网络框架研究[J]. 制造业自动化,2010,32(3):163-165.
[20] 刘亮,霍剑青,郭玉刚,等. 基于MVC的通用型模式的设计与实现[J]. 中国科学技术大学学报,2010,40(6):635-639.
[21] 罗延举,曾险,何钟隐,等. 科技信息管理标准化研究及“科技信息管理系统”软件开发[C]. 第17届全国计算机信息管理学术研讨会论文集, 2003:198-202.
(责任编辑:杜能钢)