戚永军
(北华航天工业学院网管中心,河北廊坊065000)
摘 要:本文从需求分析、系统设计、系统实现详细阐述了学院科研统计系统的设计与实现过程,为了保证系
统的松耦合和可维护性,采用了n 层架构,为了使系统开发稳定、高效除使用成熟的程序开发框架和集成开发环境外,还使用了代码生成工具辅助开发。该系统的设计与实现不仅满足了学院的科研统计工作,还对类似的系统开发有一定的参考价值。
关键词:科研统计;系统;设计;实现
中图分类号:T P391 文献标识码:A 文章编号:1673-7938(2011)06-0010-03
基金项目:北华航天工业学院科研基金项目(KY-2010-17)收稿日期:2011-10-27
作者简介:戚永军(1976-),男,硕士,工程师,河北唐山人,从事计算机网络技术和软件开发研究。
0 引 言
目前,学院科研成果统计工作主要依赖于Ex -cel 、Word 等办公软件来收集数据,该种方式难以及时、有效地反映最新的科研情况,不仅增加了科研统计工作量,还在一定程度上影响了领导科学决策。因此,构建一种快捷、高效的科研成果统计系统,对促进高校科研管理工作模式的转变,提高学院科研管理工作水平,具有重要的意义。1 需求分析
1.1 功能需求
该系统共由8个模块组成,如图1
所示。
图1 系统功能结构框架
(1)科研成果数据维护:包括期刊论文、获奖、鉴
定、结题、专利、专著教材、学术会议论文、指导学生、学术报告、学术活动、学术团体等科研成果的增、删、改操作。
(2)科研成果查询:可以根据时间条件和成果类别查询相关的科研成果。
(3)数据导出:将用户查询结果导出到Excel 表中。(4)用户管理:对用户的增、删、改操作。
(5)单位管理:对单位的增、删、改操作。
(6)成果审核:对科研成果进行审核,符合奖励条件的给予奖励。
(7)字典管理:对可枚举的数据进行管理,在Web 页面通常以下拉框的形式展示。包括获奖单位、获奖类别、鉴定单位、鉴定水平、检索类别、专利类别、结题单位、专著类别、指导学生获奖类别、指导学生获奖单位等字典项。
(8)时间管理:科研成果统计工作有一定的时效性,由科技处规定成果统计的时间范围,在该范围内系统启用,否则禁用。1.2 非功能需求
(1)提供友好的用户界面,主题突出,站点定义、术语和样式格式统一、规范、明确,菜单设置和布局合理,传递的信息准确、及时。
(2)页面具有明确的导航指标,并且便于理解,方便用户使用。
(3)页面大小适当,能用各种常用的浏览器以及不同的分辨率浏览。
(4)操作简单、方便,使各类用户的工作量最大限度的减少。
(5)具有良好的运行效率。
(6)具有一定的智能型和创新性。(7)具有良好的扩展性、健壮性,部署、管理简便,运行维护费用低。
2 系统设计2.1 架构设计
根据需求分析文档,结合目前成熟的软件开发框架,充分考虑系统的可扩展性、易维护性、执行效率、开发效率、用户操作体验等多种因素,采用分层
第21卷第6期
2011年12月
北华航天工业学院学报
Journal of North China Institute of Aerospace Engineer ing
Vol 121No 16
Dec 12011
设计,不同的层采用不同的框架实现,考虑到分层后系统代码量急剧增加,开发成本大大提高,使用代码生成器辅助开发,以减少工作量。本系统可分为表示层、接口层、实体层、逻辑层、数据访问层等5层,表示层使用JQuery 框架实现,逻辑层、接口层、实体层使用.NET 框架实现,数据访问层使用NH iber -nate 框架实现,如图2
所示。
图2 科研成果统计系统架构
(1)表示层即用户界面层。该层主要关注用户的体验与操作,是用户最关心的部分,如果该层设计不好即使软件功能很强大,用户也不会太满意。设
计该层至少需要考虑三点,第一、考虑美工。界面的图片和文字要美观大方,符合用户的审美特点。第二、考虑用户操作习惯。界面各元素设计应符合用户平时上网习惯,例如,界面有明显的标识、字体以宋体为主,字号12磅到14磅,链接鼠标划过有下划线,访问后变色等。第三、考虑用户操作体验。例如,每一步操作不能等待太长,若任务本身比较耗时,应有友好的提示,用户操作尽量不刷新界面等。JQuery 框架实现了对JavaScript 语言的封装,是一款优秀的客户端框架,目前比较流行,使用方便、简单,特效丰富,用户体验好。
(2)接口层、实体层、逻辑层。考虑到软件的松耦合和可扩展性,将每个数据库表都映射成相应的实体类,令实体类在各个层之间传递,保证数据库字段发生变化时,只有实体类做相应的改变,而不影响其他的层。逻辑层封装了用户操作的业务逻辑,将通用的操作抽象成接口,例如,数据的增、删、改、查、分页等操作放到接口层。逻辑层的类继承该接口,既统一了风格又方便管理和后期维护。该层使用.NET 框架实现,该框架是非常优秀的服务器端框架,类库丰富、语法简练、功能强大。
(3)数据访问层。为了应对数据库的变化,数据访问层应做的足够强大,不管是SqlServer 、Oracle 还是其他的数据库,用户改变数据库时不应改变太多代
码。该层使用NHibernate 框架,该框架本身封装了对数据库的增、删、改、查的操作,并且支持多种数据库,
更换数据库时只需要改变配置文件即可,非常方便。2.2 用户角色及权限
该系统共有三种用户角色:系统管理员、二级管理员和普通用户。系统管理员设置在科技处,二级管理员设置在系、部。用例图如图3
所示。
图3 系统用例图
(1)系统管理员。只负责系、部一级的单位和二
级管理员的创建和修改。可以查询所有单位和个人的科技成果,还负责系统基础数据的维护,科技成果统计时间的管理和科技成果的审核。
(2)二级管理员。负责本单位下属单位的创建和修改以及本单位用户维护、科技成果数据维护、科技成果查询。
(3)普通用户。只负责本人的科技成果数据维护和科技成果查询,其他单位和个人的数据是无权维护和查询。3 系统实现3.1 开发工具
/工欲善其事必先利其器0,为了方便系统开发,使用了一些优秀的代码开发工具和代码生成工具,如下所示。
(1)Visual Studio 2008。微软公司推出的集成开发环境,开发程序方便、快捷,该版本打SP1补丁后可以支持JQuery 框架,该环境无论是开发服务端程序还是开发客户端程序都非常方便。
(2)PowerDesigner 。Sybase 公司的CASE 工具集,它几乎包括了数据库模型设计的全过程。利用Pow -erDesigner 可以制作数据流程图、概念数据模型、物理数据模型,可为数据仓库制作结构模型,也能对团队设计模型进行控制。还可以和多种数据库结合使用,直接生成相应的sql 语句,既缩短建表时间又方便维护。
(3)CodeSmith 。一款基于模板的代码生成工具,类似于ASP.NET 的语法来生成任意类型的代码或文本。与其他代码生成工具的不同之处是CodeSmith 第6期戚永军:科研成果统计系统的设计与实现2011年12月
(4)SqlServer2005。微软公司推出的一款关系型数据库软件,具有安全性强、支持分布式计算等特点,并且和操作系统具有很好的兼容性,且操作简单、方便,和.NET框架结合紧密,存取速度快。3.2开发过程
(1)建立解决方案。解决方案中包括4个项目,分别为1个网站即表示层,3个类库即实体层、接口层、逻辑层。数据访问层使用NHibernate框架,该框架是一组dll文件,引用后,稍作配置即可使用。
(2)数据库建模。按照数据库范式要求,使用Pow erDesig ner工具建立数据库表的物理视图,设计数据库表和表之间的关系。
(3)生成数据库表。利用PowerDesigner自动生成已创建的数据库表的Sql代码。利用该代码在SqlServer2005中自动创建数据库。
(4)生成实体类。利用CodeSmith工具自动将SqlServer2005中的表生成相应的实体类。将实体类拷贝到实体层中可直接使用。
(5)配置NHibernate。在逻辑层项类库项目中增加app.config文件,配置相应的属性后NH iber-nate便能够正常工作。
(6)创建接口。将通用的方法定义成接口,逻辑层的类继承并实现该接口。
(7)创建逻辑层。逻辑层的类除了包含对实体类操作的类以外还包含一些公共操作类,例如,分页程序类、工具类以及全局规则类等。
(8)使用JQuery。JQuery是客户端框架,可以实现页面的局部刷新提高用户上网体验,JQuery向服务端提交数据时只提交页面中需要改变的数据,其他数据保持不变,而传统的提交方法不论当前页面改变多少数据,都将整个页面提交到服务器,服务器处理完毕后再重新生成该页面。即每次点击页面都会有一次页面的刷新,如果网络环境较差,用户的上网体验就不好。.NET框架3.5以上版本增加了JavaScriptSerializer类,该类转提供了将类转换成JSON格式的方法,令JQuery和服务端交互更加方便。例如,JQuery通过post方法将网页的数据以JSON格式提交到服务器端,然后通过parseJSON 方法将服务器端返回的数据转换成JSON格式赋值给网页的控件。
4结语
本系统使用简单、可维护性好,系统设计和开发参照需求分析,遵循分层的思想,选用成熟的框架和优秀的开发工具,不仅能满足了学院科研统计的需要,还具有良好的扩充性和通用性,对类似的系统设计与开发也具有一定的参考价值。
参考文献:
[1]朱节云.基于B/S的应用型本科科研管理信息系统设
计[J].南京工程学院学报,2010,18(03):56,61. [2]王盈瑛.基于B/S结构的科研成果管理系统的设计与
实现[J].新乡学院学报,2010,127(05):50,52.
[3]沈中林.基于B/S模式的高校科研管理信息系统的设计
[J].中国民航学院学报,2004(05):79,82.
[4]曹振丽.基于W eb三层架构科研项目管理系统的研究
[J].农业网络信息,2010(12):24,26.
[5]谭云杰.大象)T hinking in U M L[M].北京:中国水利水
电出版社,2009.
The Design and Implementation of S cientific Research Statistics System
QI Yong-jun
(A dministration Center of N etworks,North China Institute of Aerospace Engineer ing,Langfang065000,China)
Abstract:T his paper elabor ated the design and implementation process of t he research statistical system in North China Institute of A erospace Eng ineering.Based on needs analysis,the desig n adopted n-tier architecture to ensure loose coupling and maintainability of t he system.It also used t he code generation too ls to support development to make the system stable and efficient in addit ion to mature application development frameworks and integ rated development environment.T he desig n and implementation of the system not o nly meet the needs of t he school.s research statistics,but also hav e a cer tain reference v alue for the development o f similar systems.
Key words:scientific research statistics;system;design;implementatio n
2011年12月北华航天工业学院学报第21卷下载本文