基于Petshop架构的科研项目管理系统的设计与实现

时间:2022-07-20 04:10:21

基于Petshop架构的科研项目管理系统的设计与实现

摘 要:根据目前科研项目管理存在的各种问题,研究并提出基于Petshop三层架构的公司科研项目管理系统的框架设计的基本思路和方法,重点介绍该系统面向对象接口编程实现以及数据有效性验证等关键技术,在一定程度上保证了软件的易扩展性和可靠性。

关键词:科研项目管理;Petshop架构;面向接口编程;数据有效性

中图分类号:TP311.52

随着信息技术的普及与发展,通过信息工具对科研项目工作进行分类整理、资料归档、成果共享、查询统计,已成为提升科研管理水平、实现成果共享的有效途径。在对各科研院所项目管理方式分析的基础上,深入研究本企业项目管理特点,推出了一套能够满足公司现代化项目管理和查询统计要求的信息管理系统,极大地提高了工作效率。

轴研科技股份有限公司每年都要承接863、973、国际合作等重点科研项目,这些项目涉及到跨单位、多部门、多院校、甚至国际间的合作,在项目的申请阶段、立项阶段、实施阶段、验收阶段、成果鉴定阶段产生相应的文档/文件等资料,种类繁多、内容繁琐,信息量大。目前采用人工方式对项目进行管理,查询、统计、上报工作主要借助Excel进行,其耗时多、难度大,给季度、年度财务经费比对,以及国家考核、评估、科技支撑等统计工作带来不便。因此,开发一套集信息管理、信息查询、信息统计为一体的科研项目管理平台很有必要,它可以对科研项目相关资料分门别类进行管理,满足日常工作中常用的数据查询、统计要求,在一定程度上提高工作效率。

1 基于Petshop架构的科研项目管理平台架构设计

平台采取框架技术在Visual 2010环境下进行开发,使用C#程序设计语言编码实现,选择SQL Server 2005作为平台数据库,采用基于接口模式的Petshop三层架构来实现平台功能。

1.1 平台功能分析。(1)平台用户分析。根据项目管理的工作属性和职能角色,将轴研科技科研项目管理平台用户分为系统管理员、科研管理员、普通用户三种角色,以保证平台的安全性和规范性。平台管理员是整个平台的管理者,主要完成用户信息管理、系统数据维护、科研信息;科研管理员主要是轴研科技技术中心从事项目管理的员工,负责所辖项目的管理工作,具体包括立项阶段科研人员提交的立项书以及审批通过的任务书、决算书,实施阶段的季度/中期/年度项目进度报告、经费使用情况管理,以及结题阶段的结题报告、科研成果信息统计等;普通用户主要是公司员工,可以查询自己参与的所有项目、发表的专利、论著等信息,也可共享科研管理员公开的科研成果。(2)平台功能划分。依据项目运行的周期,将平台划分为5大子系统:立项管理子系统、实施管理子系统、验收管理子系统、成果鉴定子系统、系统后台管理子系统。立项管理子系统包括项目申请、项目审批阶段的信息管理,实施管理子系统包括项目执行季度/中期/年度的进度管理、以及各阶段的经费使用管理等,项目验收管理子系统包括结项报告管理、成果统计等功能,成果鉴定子系统主要是在项目执行过程中或项目结题后对重大创新成果申请鉴定,包括成果鉴定申请和获奖情况管理,系统后台管理子系统承担用户权限管理、科研信息功能。

1.2 基于Petshop的三层架构。架构设计在系统开发中起着关键作用,直接影响系统的可扩展性、可重用性以及软件的开发效率[1]。分层架构设计是解决系统复杂性的好方法,根据逻辑功能的不同,将应用程序划分为不同的层或模块加以实现,通过层与层之间的交互,形成应用程序体系架构[2]。Petshop架构是微软经典的Web应用案例,它采用典型的三层体系,包括数据访问层、业务逻辑层和表示层[1]。

数据访问层:采用DAL Interface抽象出数据访问逻辑,主要负责数据库的访问,也就是实现对数据库表的新增、修改、删除、查询的操作。

表示层:是系统的UI部分,负责使用者与整个系统的交互,采集用户的输入信息和操作,向用户展示特定业务数据。这一层最理想的状态是不包括任何与系统业务逻辑相关的代码,表示层中的逻辑代码仅与界面元素有关。

业务逻辑层:是整个系统的核心,负责处理业务逻辑。它通过获取UI传来的操作指令,决定执行业务逻辑,在需要访问数据源的时候交给DAL处理,处理完成后,返回必要的数据给UI。

1.3 平台总体架构。平台采用基于Petshop的三层架构,表示层主要实现平台客户端以及后台管理端的界面功能,主要包括科研项目管理平台主界面、用户登录界面、项目信息录入界面、项目实施中资料上传/修改/删除界面、成果管理界面等;业务逻辑层通过获取界面传来的操作指令,决定执行的业务逻辑,根据情况调用数据库接口,待数据访问层返回数据后,将信息传递给表示层;数据访问层主要实现对数据库表的新增、修改、删除、查询的操作。

2 系统实现的关键技术

2.1 面向接口的编程实现。业务逻辑层负责DAL对象的创建,以便于业务逻辑层的访问;SQL Server DAL实现IDAL的接口,其中包含对数据库的增加、修改、删除、查询操作[3]。只要不涉及接口定义的更改,业务逻辑层和数据层之间就互不影响,有效的降低了两层之间的耦合度[4]。以成果查询功能为例,当用户输入待查询成果人姓名、选定成果类型,点击查询按钮之后,表示层的查询控件将触发Click事件,在Click事件中表示层提取用户输入的数据,通过实例化dalFruitQurey接口类将数据传给业务逻辑层;业务逻辑层实例化dboFruitQurey接口类访问数据访问层,待数据访问层返回消息后,业务逻辑层判断是否非空等操作,之后将结果返回给表示层。

2.2 数据有效性的验证。有效性验证是保证系统运行稳定性的重要因素,平台使用Validation服务器控件和编码相结合的检查方法来保证输入的合法性。当用户输入的数据违反指定的验证规则时,会立即被提醒,此时无需客户端和服务器端的消息交互,这使得性能提高很多。如科研成果管理模块,在对日期进行有效性验证时,将其Validation服务器控件的operator属性设置成:DataTypeCheck,从而限制输入数据应符合日期类型的数据格式;又如项目参加人员工作时间,将控件的Type设置为Integer,确定其MinimumValue和MaxmumValue,就可以确保输入工作时间在项目允许的范围内。

3 结束语

本系统采用微软经典Petshop架构设计基于B/S结构的科研项目管理系统,根据逻辑功能的不同,将应用程序划分为不同的模块加以实现,层之间通过面向对象的接口编程进行交互,降低了系统模块间的耦合度。使用Validation服务器控件和编码相结合的检查方法来保证用户输入的合法性,减少系统运行中的不可控因素,实现系统运行的稳定性。

参考文献:

[1]何天,侯宗浩.基于Petshop与Duwamish的多层架构设计与实现[J].计算机应用,2006(26):257.

[2]盛蕾,方华.基于的四层WEB应用模型设计与实现[J].计算机与数字工程,2006(07):34.

[3]黄光芳.面向接口编程在三层架构系统中的设计及应用[J].计算机应用与软件,2009(06):26.

[4]郝雯,艾玲梅,王映辉.三层结构软件框架扩展点实现方法[J].计算机应用,2009(09).

作者简介:刘扬(1985.12-),女,河南洛阳人,科员,工程师,硕士研究生,研究方向:计算机应用技术与研究;焦叶凡(1987.12-),女,河南灵宝人,科员,助工,硕士研究生,研究方向:计算机软件;牛青波(1981.05-),男,河南鄢陵人,技术中心主任助理,高级工程师,硕士研究生,研究方向:轴承设计及应用、计算机CAI/CAD/CAE。

作者单位:洛阳轴研科技股份有限公司,河南洛阳 471000

基金项目:科研项目管理系统的设计与开发(项目编号:ZYXM201419),项目来源:洛阳轴研科技股份有限公司基金项目。

上一篇:学生宿舍信息管理系统的分析与设计 下一篇:单招计算机专业理论课程交互式习题库及智能评...