科研信息管理系统的设计与实现doc.docx

上传人:b****6 文档编号:7028309 上传时间:2023-01-16 格式:DOCX 页数:23 大小:785.83KB
下载 相关 举报
科研信息管理系统的设计与实现doc.docx_第1页
第1页 / 共23页
科研信息管理系统的设计与实现doc.docx_第2页
第2页 / 共23页
科研信息管理系统的设计与实现doc.docx_第3页
第3页 / 共23页
科研信息管理系统的设计与实现doc.docx_第4页
第4页 / 共23页
科研信息管理系统的设计与实现doc.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

科研信息管理系统的设计与实现doc.docx

《科研信息管理系统的设计与实现doc.docx》由会员分享,可在线阅读,更多相关《科研信息管理系统的设计与实现doc.docx(23页珍藏版)》请在冰豆网上搜索。

科研信息管理系统的设计与实现doc.docx

科研信息管理系统的设计与实现doc

科研信息管理系统的设计与实现

张国强

随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。

管理信息系统是一个不断发展的新型学科,企业要生存要发展,要高效率地把企业活动有机地组织起来,就必须加强企业管理,即加强对企业内部的各种资源(人、财、物等)的有效管理,建立与自身特点相适应的管理信息系统。

本文介绍了在PowerBuider环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发一个管理信息系统的过程。

文章详细介绍了科研部管理信息系统的系统分析部分,包括可行性分析、组织机构分析、管理职能分析、业务流程分析、数据流程分析、数据字典、处理描述等等;系统设计部分主要介绍了系统功能设计和数据库设计;系统实现部分列出了几个主要的程序框图,并附带了一些主要的窗口和程序。

【关键字】管理信息系统、科研管理、PowerBuider、MicrosoftSQLServer

Abstract

Withmoreandmorewidespreadandprofoundapplicationofinformationtechnologyinmanagement,theimplementofmanagementinformationsystemhasbecomematureintechnologystepbystep.Managinginformationsystemisanewsubject.Enterpriseneedsexistenceanddevelopment,soenterpriseactivitiesshouldbeorganizedefficientlyandorganically,whichmeanstighteninguptheenterprisemanagementandstrengtheningeffectivemanagementofanyresource(staff,finance,property,etc.)internaltheenterprise,andalsoestablishingamanagementinformationsystemfittinginwithitsowncharacteristics.

ThisarticleintroducesthedetailedprocessofexploringamanagementinformationsystemundertheenvironmentofPowerBuilder,utilizing“Top-Bottom”overallplanandastrategyaccordingto“Bottom-Top”applicationandexploitation.Thisarticleemphasizesonthreesections.Thesystemanalysissectionofscientificresearchmanagementinformationincludesfeasibleanalysis,organizingorgansanalysis,managementfunctionanalysis,technologicalprocessofbusinessanalysis,technologicalprocessofdataanalysis,datadictionary,disposaldescriptionandthelike.Thesystemdesignsectionmainlyfocusesonsystemfunctiondesignanddatabasedesign.Andthesystemrealizationsectionhasprovidedseveralmajorprogramcharts,togetherwiththemainwindowsandprograms.

Thiseconomicalandpragmaticsystemhasexplicitinterface,withsimpleoperation.

[Keywords]MIS、scientificresearchmanagement、PowerBuilderapplication,MicrosoftSQLServer

1引言

随着计算机技术的广泛应用以及现代社会信息量的急剧增加,传统的人工信息管理体系已经远远不能满足快节奏、高效率的现代生活的需要,落后的管理技术严重阻碍了信息的交流与共享。

医院科研成果数量增加较快,专业技术人才的科研内容较为复杂,涉及范围极其广泛,为今后科研信息的查找提供方便、快捷的服务,鉴于此目的基于PowerBuilder技术的科研信息管理系统为我们提供了强有力的应用工具。

该系统可以达到用户检索迅速,查找方便,录入简单,可靠性高,存储量大,保密性好的要求,用户可以通过轻松实现科研信息的录取与修改,计算得分,管理经费,也可对科研信息情况进行管理与查询,生成各种统计报表。

2系统需求分析

科研部信息系统的建立,用户的需求可分为4个方面:

1)科研部人员通过本系统来进行课题、成果、论文、著作、专利等信息管理。

2)通过各项目的基础信息,等级,参与人员等信息,计算出每个人及科室的得分,并进行排序。

3)科研部人员通过本系统进行经费管理。

4)科研部人员通过本系统进行科研数据的查询统计并生成各种报表。

5)要求界面友好,容易掌握。

3技术平台

本系统用Powerbuilder9.0开发,数据库为SQLServer2000数据库,采用C/S结构。

PowerBuilder是目前开发Client/Server结构的应用系统的主要工具之一。

PowerBuilder9.0在继承与发展以前版本优秀功能的基础上,为适应网络应用程序的开发要求集成了EnterpriseApplicationStudio中PowerBuilder以及PowerSite的功能,在传统数据库开发的基础上,将Web应用更好地集成到PowerBuilder中。

PowerBuilder全面支持面向对象编程。

是功能强大并易于使用的第4代编程语言(4GL),它内置了包括数据窗口在内的多种对象类,可以方便地访问数据库。

相对于其他应用工具,PowerBuilder具有工作效率高、成本低、质量高、功能强的特点。

4系统设计

4.1系统功能划分和设计

根据科研部需求,本系统主要满足各专家技术人才的查分需求,科研部普通工作人员,科研部管理人员的录入统计功能。

科研部人员需要录入课题,成果,论文,著作,专利,经费能内容,每一个项目都录入所属课题或是论文等的级别,科室,负责人等。

并需要根据各项目的级别和人员参与顺序等计算出该人员的得分、科室的得分。

科研评估部分,需要能计算出单位时间段内所有人员的所有项目的得分总和并排名,所有科室的得分总和及排名。

本系统还得增加备份数据库和还原数据库的功能。

软件还需要满足不同权限的设置。

由科研部管理人员设置,每个科研部人员的权限,可以分别让某个工作人员只负责某个项目的录入。

系统设置只让科研部管理人员进入,进行项目级别的分数设置,如课题等级,成果得奖级别等参数设置。

科研部一般人员可以在每个项目中进行统计,另存,添加,删除,打印,添加得分人员,察看得分情况,察看经费,过滤,查找等功能。

4.2系统功能模块

 

系统功能图

4.3数据流图

该科研管理系统得分层数据流图如图:

 

顶层图

第一层图

4.4数据库设计

4.4.1设计局部ER模式

实体和属性的定义:

课题(课题编号,课题名称,课题科室,课题负责人,发表日期,课题等级,课题类型,课题经费,操作员,操作时间,其他立项,备注)

成果,新技术,专利,著作等表和课题表相似。

技术人才表(人员序号,姓名,性别,科室,拼音码,学历,职称,身份证,学术兼职,备注)

专利类型表(专利类别编号,专利类别,专利系数)

科室表(科室编号,科室名称,拼音码)

参数设置(参数编号,项目类型,人员序号,得分系数)

ER模型的“联系”用于刻画实体之间的关联。

一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。

若有联系,进一步确定是1:

N,M:

N,还是1:

1等。

还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系,等等。

解释如下:

一个项目可以有多个得分人员,一个人员可以有多个项目

一个项目有多笔经费,一笔经费只能在属于一个项目

一个项目只能属于一种项目类别,而一种项目类别可以包含 多个项目;

一个人员只能在一个科室,一个科室可以有多个人员

4.4.2全局ER模式

所有局部ER模式都设计好了后,接下来就是把它们综合成单一的全局概念结构。

全局概念结构不仅要支持所有局部ER模式,而且必须合理地表示一个完整、一致的数据库概念结构。

“图书管理系统”的全局ER模式如下所示。

n

4.4.3关系数据库的逻辑设计

由于概念设计的结果是ER图,DBMS一般采用关系型(本人所使用的MSSQLServer就是关系型的DBMS),因此数据库的逻辑设计过程就是把ER图转化为关系模式的过程。

由于关系模型所具有的优点,逻辑设计可以充分运用关系数据库规范化理论,使设计过程形式化地进行。

设计结果是一组关系模式的定义。

(1)导出初始关系模式

课题(课题编号#,课题名称,课题科室,课题负责人,发表日期,课题等级,课题类型,课题经费,操作员,操作时间,其他立项,备注)

成果,新技术,专利,著作等表和课题表相似。

技术人才表(人员序号#,姓名,性别,科室,拼音码,学历,职称,身份证,学术兼职,备注)

专利类型表(专利类别编号#,专利类别,专利系数)

科室表(科室编号#,科室名称,拼音码)

参数设置(参数编号#,项目类型,人员序号,得分系数)

(2)产生子模式

子模式是用户所用到的那部分数据的描述。

除了指出用户用到的数据外,还应指出数据与概念模式中相应数据的联系,即指出概念模式与子模式之间的对应性。

经费表(经费编号#,经费类别#,课题编号#,金额,费用日期,操作员,操作时间,备注)

分数表(分数编号#,分数类型,所在科室#,项目编号#,项目时间,项目名称,其他信息,得分人员#,人员序号,得分,操作员,操作时间)

(3)根据设计中出现的问题本人在写系统时还加入了关系模式:

1、管理员表:

用于存储工作人员和管理员的用户名和密码及权限,以便工作人员或管理员进入相应的功能模块时进行验证用户的身份。

4.4.4数据库的实现

我选用MicrosoftSQLServer2000(个人版)数据库来进行数据库的逻辑设计。

首先创建数基本据库表下:

管理员表(Admin),参数设置表(canshu_set),课题表(keti),成果表(chengguo)论文表(lunwen)著作表(zhuzuo)专利表(zhuanli)新技术表(xinjishu)分数表(fenshu)经费表(jingfei)技术人员表(oper)

还有一些其他的小表,如科室表(keshi),课题类型表(ketixishu),论文类型表(lunwen_leixing),论文类别表(lunwen_leibie),专利类型表(zhuanli_type),著作类型表(zhuanzhu_type),著作编者表(zhuzuo_bianzhe),著作积分设置表(zhuzuo_jifen_set),著作类别表(zuozhuo_leibie),经费类别表(jinfei_type)等,共计30张表。

5科研管理系统实施

5.1Powerbuilder9.0应用程序开发的基本步骤

我们要开发应用程序时,首先要对它进行分析。

无论哪种、哪方面的应用程序,都要先建立一个应用对象。

下面我们介绍以下PowerBuilder9.0应用程序开发的基本步骤:

(1)首先要建立应用对象。

(2)创建窗口。

在窗口里放置各种控件和编写事件响应的脚本。

(3)创建菜单。

窗口里的菜单可包括菜单条,下拉式菜单,级联菜单和弹出式菜单为菜单编写事件响应的脚本。

(4)创建用户对象。

如果想要重复使用某个控件的功能,可以把窗口上经常放置的控件定义为用户对象。

(5)创建数据窗口。

数据窗口可以检索数据库中的数据,可以建立各种报或统计表,可以修改数据库。

(6)创建函数、结构、事件。

为了能够更好地支持脚本,编写自定义的函数,定义结构类型变量,也可以为对象和控件定义自己的事件。

(7)运行与调试。

可以在开发环境中随时运行应用程序,发现错误后,可以用调试工具进行调试。

(8)当应用程序开发完毕后,可以把它编译成可执行的文件,让用户比较容易地建立应用系统的运行环境。

5.2创建祖先窗口和全局函数

为充分利用PB的面向对象的特性。

程序开发时一般创建几个模板窗口。

将功能窗口上的某些常用功能封装在模板窗口中。

然后将这些模板窗口作为祖先窗口。

所有的子孙窗口都可以通过继承的方法来生成。

这样就减少了代码的书写量。

使得整个程序界面保持整齐。

当修改祖先窗口时,所有的子孙窗口都会自动修改。

所以,祖先窗口的确定要十分谨慎。

本系统就在祖先窗口中的open事件中的代码为:

gf_SetSkin(this,'.\Web-II.skn')//设置界面的统一皮肤

全局变量有登陆的操作员等

5.5人机界面

图5.1

(1)登录窗口(图5.1)

功能介绍:

本窗口主要是用户登录,并检查操作员输入的用户名及密码是否正确,如果正确,允许登录。

如果错误,显示出错误提示。

登录同时,会根据该用户的权限,进入相应得界面。

代码分析:

确定按钮的clicked事件代码为:

stringa1,id,oper,a2,a3,a4

inta5,a6,a7,a8,a9,a10,a11,a12,a13,a14

stringkey

id=sle_1.text;

selectadmin_key,admin_no,admin_nameinto:

key,:

admin_no,:

admin_name

fromadmin

whereadmin_no=:

id;

ifsle_2.text=''orisnull('sle_2.text')then

messagebox('','请输入密码')

elseifkey=sle_2.textorsle_2.text=''then

open(w_main)

//菜单权限设置

selectketi,chengguo,lunwen,zhuzuo,zhuanli,xinjishu,jingfei,pinggu,system_set

into:

a5,:

a6,:

a7,:

a8,:

a9,:

a10,:

a11,:

a12,:

a13

fromadmin

whereadmin_no=:

id;

danwei=Pro(".\keyan.ini","database",'danwei',"")

ifa5=1then

m_main.m_课题管理.enabled=true

else

m_main.m_课题管理.enabled=false

w_main.cb_1.enabled=false

w_main.cb_1.enabled=false

endif

ifa6=1then

m_main.m_成果管理.enabled=true

w_main.cb_2.enabled=true

else

m_main.m_成果管理.enabled=false

w_main.cb_2.enabled=false

endif

ifa7=1then

m_main.m_论文管理.enabled=true

w_main.cb_3.enabled=true

else

m_main.m_论文管理.enabled=false

w_main.cb_3.enabled=false

endif

ifa8=1then

m_main.m_著作管理.enabled=true

w_main.cb_4.enabled=true

else

m_main.m_著作管理.enabled=false

w_main.cb_4.enabled=false

endif

ifa9=1then

m_main.m_专利管理.enabled=true

w_main.cb_5.enabled=true

else

m_main.m_专利管理.enabled=false

w_main.cb_5.enabled=false

endif

ifa10=1then

w_main.cb_6.enabled=true

else

w_main.cb_6.enabled=false

endif

ifa11=1then

m_main.m_经费管理.enabled=true

w_main.cb_7.enabled=true

else

m_main.m_经费管理.enabled=false

w_main.cb_7.enabled=false

endif

ifa12=1then

m_main.m_科研评估.enabled=true

else

m_main.m_科研评估.enabled=false

endif

ifa13=1then

m_main.m_系统设置.enabled=true

else

m_main.m_系统设置.enabled=false

endif

close(parent)

else

messagebox('','输入密码错误,请重新输入')

endif

图5.2

(2)主窗口界面和菜单(图5.2)

功能介绍:

主窗口设计为菜单于快捷按钮集中的混合界面,打开相应得窗口。

菜单主要有:

打印机设置,课题设置,论文设置专利设置,科室设置,人员设置,费用类别设置,管理员设置,背景设置(可以更改主窗口的图片背景),参数设置,注销,退出等。

操作方法:

点击各菜单和快捷按钮

代码分析:

每个相应的菜单项的clicked事件都使用open方法来打开相应的功能窗口,如“课题管理”的菜单项下的clicked事件的处理代码为:

open(w_keti_guanli)

图5.3

(3)管理员窗口(图5.3)

功能介绍:

添加管理员账号,密码,并设置每个管理员的不同权限。

操作方法:

建完用户,在相应的权限上选取即可。

图5.4

(4)参数设置窗口(图5.4)

功能介绍:

设置课题,论文等人员序号和得分系数

图5.5

(5)技术人员管理窗口(图5.5)

功能介绍:

技术人员管理库。

添加人员库的各项信息,包括学历,职称,科室等内容,窗口按钮有查找,另存,打印,添加,删除,提取拼音码等。

操作方法:

点击查找按钮出来查找窗口,可按各种条件查找;点击另存按钮可以导出EXCEL表格;点击添加出人员添加窗口;删除按钮是删除所选中的人员;提取拼音码是按照姓名提取拼音字头;双击每个人员,可以修改。

图5.6

(6)课题管理窗口(图5.6)

功能介绍:

管理所有课题,具有添加得分人员,察看积分,察看经费,添加经费,过滤等功能。

图5.7

(7)课题录入窗口(图5.7)

功能介绍:

录入课题窗口,选中不同课题类型,课题等级对应的选项窗口不相同。

输入负责人之后,科室自动出来,点击保存之后,经费自动插入经费表。

操作方法:

支持回车前进功能,负责人,科室输拼音码即可,输入完后点击保存。

可全键盘操作!

代码分析:

保存的click()事件代码如下

dw_1.accepttext()

decimalketi_type,ketixishu_no,jingfei,keti_keshi,one_person,two_person

stringketixishu_name

datetimebegin_date

keti_type=dw_1.getitemdecimal(dw_1.getrow(),'type')

ketixishu_no=dw_1.getitemdecimal(dw_1.getrow(),'ketixishu_no')

ketixishu_name=dw_1.getitemstring(dw_1.getrow(),'ketixishu_name')

one_person=dw_1.getitemdecimal(dw_1.getrow(),'one_person')

two_person=dw_1.getitemdecimal(dw_1.getrow(),'two_person')

keti_name=dw_1.getitemstring(dw_1.getrow(),'keti_name')

begin_date=dw_1.getitemdatetime(dw_1.getrow(),'begin_date')

jingfei=dw_1.getitemdecimal(dw_1.getrow(),'jingfei')

keti_keshi=dw_1.getitemdecimal(dw_1.getrow(),'keti_keshi')

ifketi_type=0orisnull(keti_type)then

messagebox('','课题类别不能为空')

return

endif

ifketixishu_name=''orisnull(ketixishu_name)then

messagebox('','课题类型不能为空')

return

endif

ifketi_name=''orisnull(keti_name)then

messagebox('','课题名称不能为空')

return

endif

ifone_person=0orisnull(one_person)then

messagebox('','第一负责人不能为空')

return

endif

ifketi_keshi=0orisnull(keti_keshi)then

messagebox('','科室不能为空')

return

endif

ifisnull(begin_date)then

messagebox('','立项时间不能为空')

return

endif

ifisnull(jingfei)then

messagebox('','经费不能为空')

return

endif

ifcc=1then

do

longaa

stringbb,dd

selectnointo:

keti_nofromnowheretype='1';

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1