科研管理系统毕业设计论文.docx
- 文档编号:73214
- 上传时间:2023-04-28
- 格式:DOCX
- 页数:40
- 大小:2.09MB
科研管理系统毕业设计论文.docx
《科研管理系统毕业设计论文.docx》由会员分享,可在线阅读,更多相关《科研管理系统毕业设计论文.docx(40页珍藏版)》请在冰点文库上搜索。
科研管理系统毕业设计论文
摘要
本系统采用B/S(Browser/Server)结构,ASP.NET为开发语言,SQLServer2005为数据库来进行设计与开发。
该系统主的功能是帮助人们管理学校人文科研项目等。
基本功能包括登录、项目展示、成果展示、人员展示、科研分查询等。
本论文,简要阐述了此次毕业设计题目“科研管理系统”的开发背景与开发环境,且对系统的构架进行分析,并由此划分出各个模块,有基础管理模块、人员管理模块、部门管理模块、项目管理模块、成果管理模块、科研分管理模块。
详细介绍了系统各个模块与功能的实现原理,本文详细介绍了网上系统的需求分析、功能设计和系统设计等,并通过流程图和文字加以解释说明。
在系统设计中给出数据库的设计和本系统的总体设计方案,在系统实现中具体介绍了各个功能的所能实现的情况和主要代码,同时附有运行界面图,最后总结开发阶段与测试阶段所遇到的问题与解决方法。
关键词:
ASP.NET、SQLServer2005、三层结构、Ajax技术、角色、安全
第一章系统开发理论依据
1.1ASP.NET概述
1.1.1ASP.NET基本含义和特点
ASP是ActiveServerPage的缩写,意为“活动服务器网页”。
ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。
ASP的网页文件的格式是.asp,现在常用于各种动态网站中。
ASP是一种服务器端脚本编写环境,可以用来创建和运行动态网页或web应用程序。
ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。
利用ASP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的web应用程序。
与HTML相比,ASP网页具有以下特点:
(1)利用ASP可以实现突破静态网页的一些功能限制,实现动态网页技术;
(2)ASP文件是包含在HTML代码所组成的文件中的,易于修改和测试;
(3)服务器上的ASP解释程序会在服务器端制定ASP程序,并将结果以HTML格式传送到客户端浏览器上,因此使用各种浏览器都可以正常浏览ASP所产生的网页;
(4)ASP提供了一些内置对象,使用这些对象可以使服务器端脚本功能更强。
例如可以从web浏览器中获取用户通过HTML表单提交的信息,并在脚本中对这些信息进行处理,然后向web浏览器发送信息;
(5)ASP可以使用服务器端ActiveX组建来执行各种各样的任务,例如存取数据库、发现那个Email或访问文件系统等。
(6)由于服务器是将ASP程序执行的结果以HTML格式传回客户端浏览器,因此使用者不会看到ASP所编写的原始程序代码,可放置ASP程序代码被窃取。
ASP.NET不仅仅是ActiveServerPage(ASP)的下一个版本,而且是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。
ASP.net提供许多比现在的Web开发模式强大的优势。
1.1.2ASP.NET的优点
ASP.NET的主要优点大概可以归纳如下:
(1)ASP.NET是把基于通用语言的程序在服务器上运行。
不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比一条一条的解释强很多。
(2)ASP.NET构架是可以用Microsoft(R)公司最新的产品VisualS开发环境进行开发,WYSIWYG(WhatYouSeeIsWhatYouGet所见即为所得)的编辑。
这些仅是ASP.net强大化软件支持的一小部分。
(3)因为ASP.NET是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上(笔者到现在为止只知道它只能用在Windows2000Server上)。
通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.net的Web应用中。
ASP.net同时也是language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C++和Java的结合体),VB,Jscript。
将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP.net。
ASP.NET一般分为两种开发语言,VB.NET和C#,C#相对比较常用,因为是.NET独有的语言,VB.NET则为以前VB程序设计,适合于以前VB程序员,如果新接触.NET,没有其他开发语言经验,建议直接学习C#。
(4)ASP是运行在服务器端,所以无须担心浏览器是否支持ASP所使用的编程语言,用户端只要使用可执行HTML码的浏览器,即可浏览ActiveServerPages所设计的网页内容。
ASP在服务器端运行,当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。
(5)ActiveServerPages的程序代码隐藏,在客户端上仅可以看到由ASP输出的动态HTML文件。
因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。
(6)可使用服务器端的脚本来产生客户端的脚本。
(7)面向对象(Objectoriented),并可扩展ActiveXServer组件功能。
(8)ActiveXServerComponents(ActiveX服务器组件)具有无限可扩充性。
可以使用任何编程语言来编写所需要的ActiveXServer组件。
(9)可以通过ADO(ActiveXDataObjects,微软的一种新的数据访问模型,是一种可以提供WEB页面开发者轻松存取Inter的数据库,并可以在用户端实现网上立即、即时更新显示的最新WEB页面数据库技术。
)非常方便地访问数据库,从而使存取数据库变得轻松容易。
1.2SQL介绍
SQL是英文StructuredQueryLanguage的缩写,意思为结构化查询语言。
SQL语言的主要功能就是同各种数据库建立联系,进行沟通。
按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。
SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。
目前,绝大多数流行的关系型数据库管理系统,如Oracle,Sybase,MicrosoftSQLServer,Access等都采用了SQL语言标准。
虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select,Insert,Update,Delete,Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。
1.3B/S结构介绍
B/S(Browser/Server)结构即浏览器和服务器结构。
它是随着Inter技术的兴起,对C/S结构的一种变化或者改进的结构。
在这种结构下,用户工作界面是通过www浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。
这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。
以目前的技术看,局域网建立B/S结构的网络应用,并通过Inter/Intra模式下数据库应用,相对易于把握、成本也是较低的。
它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Inter/Intra等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。
1.4三层架构
随着软件工程的不断进步和规范以及面向对象编程思想的应用,人们对封装、复用、扩展、移置等方面的要求,使得双层架构显然更加臃肿繁琐,三层程序架构体系应运而生,可以说,三层架构体系结构是面向对象思想发展中的必然产物。
所谓三层架构,是在客户/服务之间加入了一个"中间层",也叫组件层。
它与客户层、服务器层共同构成了三层体系。
这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才有三层体系结构,三层是指逻辑上的三层。
通过引入中间层,将复杂的商业逻辑从传统的双层结构(Client-Server)应用模型中分离出来,并提供了可伸缩、易于访问、易于管理的方法,可以将多种应用服务分别封装部署于应用服务器,同时增强了应用程序可用性、安全性、封装复用性、可扩展性和可移置性,使用户在管理上所花费的时间最小化,从而实现了便捷、高效、安全、稳定的企业级系统应用。
三层体系架构具体包括:
表示层、业务逻辑层、数据访问层。
(1)表示层:
即用户接口层,是由ASP.NET技术的Web窗体和Web用户控件组合起来构成的。
表示层运行在客户端浏览器上,产生用户视图。
在业务逻辑层发生变化时通过改变表示层的组合以及做一些简单的调整就可以很好地适应新的业务逻辑层。
(2)业务逻辑层:
这一层是从整个系统功能设计中抽取大量具有共性的模块,把它们统一设计成为系统公共的可重用的组件。
由COM+组件服务管理器统一配置管理组件。
(3)数据访问层:
用来管理和存储数据,实现数据访问功能,设计数据库,定义数据表结构、表的索引、数据表之间的关联,定义数据库中的视图以及操作数据的存储过程,设计数据库的安全等等。
该层由数据库管理系统如SQLServer来管理和控制。
第二章需求分析和系统功能设计
信息系统的开发不仅仅是一个应用程序的编写过程,最重要的是在系统分析和系统设计的阶段所做的的工作,科研管理系统是基于MicrosoftVisualStudio2008系统开发的Web应用程序,它针对有关目标设计系统开发背景,运行环境等进行分析,通过数据库需求分析、系统功能模块设计等实现系统及功能模块。
科研水平逐渐成为衡量一个高校的重要指标,高校作为重要的科研机构,如何对学校大量的科研信息进行高效、安全的保存、处理、统计、加工等管理操作,将日常的科研管理工作更加规范化、科学化,建立高校科研管理系统进行科研管理工作是每一个高校必由之路。
高校科研管理系统数据库设计是高校科研管理系统设计中的一项核心工作,所有的管理工作都必须以数据库为中心,进而建立高校科研管理系统。
2.1系统项目依据及目标
科研管理系统是以科研项目流程为核心,全方位通过计算机来管理科研项目申报、项目开题、项目合同、实施进度、项目结题、科研成果、项目经费、分类汇总分析和科研分计算等科研活动,以达到方便、高效地管理和控制,提高管理效能。
该系统既满足学院领导和科研决策者对科研活动的宏观管理与决策的需要,满足科研管理部门对教师科研分的统计、汇总和查询,也满足各系部单位或本人对科研项目的查询和管理工作,同时也便于和教育厅的科研管理系统的数据进行对接。
系统项目内容:
1.实现对科研日常事务的管理:
科研项目、科研成果、完成情况等信息管理。
2.实现对科研信息的查询、教师科研分的查询。
3.提供全方位的科研管理服务,为学校各项科研管理业务提供信息化支持。
4.辅助科研负责人或科研管理者管理相应的科研工作,及时掌握、了解学院教师的科研情况,方便且高效地完成科研管理工作。
系统目标及要解决的问题:
系统能及时为学校提供科研信息,辅助管理人员制定科研计划;分析科研计划及合同完成情况,实现对科研任务、科研计划、合同执行的管理和控制;完成科研工作量的计算、统计、审核;构建系统的安全解决方案,确保系统的安全性和保密性;实现对科研工作人员的管理及登录系统时的权限分配。
该系统需要解决的功能包括项目申报、成果管理、经费管理、综合查询、科研分管理、角色管理、部门及人员管理、数据安全性、数据导入导出等。
1.项目管理功能
项目申报查询:
用于按时间段、申报单位、项目名称、项目编号等条件下进行项目申报信息的总体信息查询;项目申报编辑:
用于对个人申报的信息进行增、删、改等编辑操作;项目日常管理:
用于对项目进程过程中日常信息的编辑管理工作。
2.成果管理功能提供科研成果信息的输入,编辑,查询等功能。
3.经费管理功能提供科研经费信息的输入,编辑,查询等功能。
4.部门及人员管理功能
部门管理:
设置相关部门名称;人员管理:
查询或设置科研人员的基础资料。
5.科研分管理功能科研分的审核、统计、查询和报表等功能。
6.角色管理功能
角色分配:
建立系统操作中各类人员角色信息,用于进行权限控制,系统中角色分为四个层次:
校管理级别、系部等二级部门级别、普通教师级别和系统维护级别。
7.综合查询功能用于查询本级及本级以下角色用户的项目信息。
2.2系统功能模型的建立
通过对安徽财贸职业学院科研管理的需求调研、分析,将科研管理系统分为科研项目管理、科研成果管理、学校机构管理、部门人员管理、科研信息查询、基础数据维护、权限管理等几个主要的模块,使用该系统的人员可以分为系统维护员、系管理员、校管理员、一般教师等几种角色。
(1)系统维护员:
整个系统的管理者,具有最大的权限功能,主要完成用户角色信息的管理、部门信息的管理、系统基础数据的维护等。
(2)系管理员:
(3)校管理员:
(4)一般教师:
不同的角色完成不同的功能。
系统功能模型如图所示
第三章系统规划和概要设计
3.1系统功能模块
学校科研管理系统的主要任务是用计算机对各种科研信息进行日常的管理,如查询、修改、增加、删除以及存储等,迅速准确地完成各种科研信息的统计计算和汇总工作,快速打印出科研信息报表,针对系统服务对象的具体要求,设计了学校科研管理系统。
系统主要包括基础管理、部门管理、人员管理、项目管理、成果管理、科研分管理六大模块。
各模块之间并非各个独立,而是相互联系,相互关联在一起的,从而使本系统能够很好的完成所设计的功能。
系统有四种不同角色:
普通教员、系管理员、校管理员。
不同角色可做不同的操作。
该系统功能模块及其子模块如图3-1:
1.普通教员登录:
可以浏览、查看基础管理中的所有信息、可以编辑个人信息,可以浏览、查看所在系信息和系中所有教研室信息,可以浏览、查看、编辑本人的项目、项目工作量信息,申报项目、项目经费,浏览查看本人成果、成果获奖信息,申报成果、成果经费,科研分根据项目和成果自动添加,可以查看、编辑本人的科研分。
2.系管理员登录:
可以浏览、查看基础管理中的所有信息、可以编辑个人信息,可以浏览、查看所在系信息和系中所有教研室信息,可以新增、编辑教研室,可以浏览、查看、编辑系内的项目、项目工作量信息,申报项目、项目经费,浏览查看系内成果、成果获奖信息,申报成果、成果经费,科研分根据项目和成果自动添加,可以查看、编辑本系的科研分。
3.校管理员登录:
可以浏览、查看基础管理中的所有信息、可以新增和编辑,可以编辑个人信息,可以浏览、查看所有系信息和系中所有教研室信息以及研究机构,可以新增、编辑系部、研究机构和教研室,可以浏览、查看、编辑校内所有项目、项目工作量信息,申报项目、项目经费以及审核申报的项目,浏览查看校内所有成果、成果获奖信息,申报成果、成果经费以及审核申报的成果,科研分根据项目和成果自动添加。
,可以查看、编辑本校的科研分。
3.2方法概要
科研管理系统是采用面向对象的程序设计思想进行编制的。
用户可以通过主菜单调用系统的各项功能。
(1)面向对象设计不再是单纯的从代码的第一行一直编到最后一行,而是考虑如何创建类和对象,利用类和对象来简化程序设计,并提供代码的封装和可重用性,便于程序的维护与扩展。
(2)所谓的对象是一种抽象的名称,用来对应实现世界存在的“东西”。
一个窗口、一个按钮、一个菜单都可视为一个对象,而按钮对象、菜单对象、又会出现在窗口对象中,因此按钮对象、菜单对象便是窗口的组件之一。
对象内部的数据是不能随意更改的,必须由外部向其传递信息,再由对象按其方法加以处理。
用户无需知道其任何细节,操作是封闭的,对象之间能通过方法调用相互通信。
(3)类可视为一个产品模具、一个模块。
在面向对象设计中,类是对象的原型,是对象的制作器。
类的概念是面向对象程序设计最重要的特征。
所谓类,是指由数据结构及其相关操作所形成的集合,描述该类任一对象的共同的行为特征,是对一组性质相同的对象的程序描述,概括了对象的共同性质和数据。
3.3系统流程图
3.3.1系统的逻辑体系结构
本系统采用当前流行的B/S设计模式,基于Windows.NET平台构建Web应用程序,把系统划分为数据层、业务逻辑层和表示层。
逻辑体系结构如图3-2所示:
3.3.2系统流程图
本系统分为三个角色:
教员、系管理员、校管理员,每个角色具有自己不同的权限。
下面会通过流程图一一做出分析介绍。
(1)教师角色:
教师登录系统后可以操作属于自己的信息,可以浏览查看学校的公共信息。
可以申报自己的项目和成果、项目经费和成果经费、浏览查看自己的项目和成果信息、浏览查看自己的科研分情况等权限。
(2)系管理员角色:
系管理员也可以操作自己的信息和浏览学校的公共信息。
此外系管理员还可以浏览本系的所有教研室及教研室人员,编辑、新增、删除教研室人员。
浏览和编辑本系的所有项目和成果信息。
浏览戏中科研分信息等。
(3)校管理员角色:
校管理员亦可以操作自己的信息。
可以浏览、编辑、新增、删除学校的公共信息。
审核申报的项目和成果,浏览和编辑项目和成果信息、项目经费和成果经费、科研分等信息。
流程图如图3-3和图3-4:
用户登录
3.4系统解决方案项目构成
为了用B/S设计模式的三层体系结构实现本电子商务系统的设计,本人用VisualStudio.NET2008简体中文企业版设计了一个名为“kyglSystem”的科研管理系统解决方案,用VC#语言在该解决方案中建立了四个项目,如图3-5所示,这四个项目的有机结合,构成了本科研管理系统。
这四个项目分别和B/S设计模式的三层体系结,如图4-4。
图3-5解决方案
这四个项目分别为:
Web表示层、BLL业务逻辑类、DAL数据访问类、Model实体类。
各层之间互相的引用联系是:
首先要将实体类(Model)命名空间在其它各层全部引用,表示层(Web)命名空间中再引用业务逻辑类(BLL),业务逻辑类(BLL)再引用数据访问类(DAL)。
第四章数据库层的设计与实现
4.1数据库概念结构设计
(1)局部E-R图,下图为人员信息的E-R图(图4-1)。
图4-1学术期刊E-R图
(2)集成E-R图,下图为人员信息表的部分关联信息,如图4-2。
图4-2学术期刊集成E-R图
4.2数据库表结构设计
数据库是所有系统设计中的灵魂部分,没有数据库的系统是毫无价值的,是个残废的系统,所以,数据库是个很重要的部分。
下面就详细介绍数据库的设计。
主管单位表:
Charge_Unit_Code
Chage_unit_code(主管单位表):
用来存储主管单位的详细信息,主键为主管单位编号Id,其为标识列,主管单位名称charge_unit_name。
表各字段设计如表4-1
序号
列名
数据类型
长度
小数位
标识
主键
允许空
默认值
说明
1
id
int
4
0
是
是
否
2
charge_unit_name
nvarchar
30
0
否
表4-1
可以看出,主管单位表里主管单位名称不可以为空,因为员工编号是主键,主键不可以为空。
学术期刊表:
Magazine
Magazine(学术期刊表):
用来存储学术期刊信息,主键期刊编号Id,其同时也为标识列,还有期刊名称、主办单位、期刊等级、学科类型Id(为了查询方便才设置此列)、学科名称、发行单位、创刊日期、发行方式、发行周期、页数、开本、主编、联系电话、联系地址、电子邮箱、网址、CN号、ISBN号、CN和ISBN号。
表各字段设计如表4-2
序号
列名
数据类型
长度
小数位
标识
主键
允许空
默认值
说明
1
id
int
4
0
是
是
否
2
magazine_name
nvarchar
30
0
否
3
publishUnit
nvarchar
30
0
是
4
magazine_grade
int
4
0
是
5
subject_id
int
4
0
是
6
subjectName
nvarchar
30
0
是
7
chargerUnit
nvarchar
30
0
是
8
createDate
datetime
8
3
是
9
publishForm
nvarchar
30
0
是
10
publishCircle
int
4
0
是
11
paperSize
nvarchar
30
0
是
12
pageNum
int
4
0
是
13
magazine_charge
nvarchar
30
0
是
14
tel
nvarchar
30
0
是
15
address
nvarchar
30
0
是
16
nvarchar
30
0
是
17
CN_code
nvarchar
30
0
是
18
ISBN_code
nvarchar
30
0
是
19
web_site
nvarchar
50
0
是
20
code
nvarchar
50
0
是
表5-2
在学术期刊表中期刊编号和期刊名称都不可以为空,因为这两个在数据库中都是起到关键的作用,所以,不可以为空。
主管单位表:
main_manage_unit
main_manage_unit(主管单位表):
用来存储主管单位的详细信息,主键主管单位编号Id,其同时也为标识列,还有主管单位名称、负责人姓名、联系电话、练习地址、电子邮箱、学校。
其表各字段设计如表:
4-3
序号
列名
数据类型
长度
小数位
标识
主键
允许空
默认值
说明
1
id
int
4
0
是
是
否
2
unit_name
nvarchar
30
0
否
3
charger_name
nvarchar
30
0
是
4
tel
nvarchar
30
0
是
5
address
nvarchar
30
0
是
6
nvarchar
30
0
是
7
univ_id
nvarchar
30
0
是
表4-3
期刊等级表:
Magazine_grade_Code
Magazine_grade_Code(期刊等级表):
用来存储期刊等级的详细信息,主键为期刊等级编号Id,其同时也为标识列,另外还有期刊等级名称。
其表各字段设计如表:
4-4
序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 科研 管理 系统 毕业设计 论文