科研管理系统毕业设.docx
- 文档编号:14629900
- 上传时间:2023-06-25
- 格式:DOCX
- 页数:26
- 大小:244.63KB
科研管理系统毕业设.docx
《科研管理系统毕业设.docx》由会员分享,可在线阅读,更多相关《科研管理系统毕业设.docx(26页珍藏版)》请在冰点文库上搜索。
科研管理系统毕业设
目录
摘要2
第一章系统开发理论依据3
1.1ASP.NET概述3
1.2SQL介绍3
1.3B/S结构介绍3
第二章需求分析和系统功能设计5
2.1系统项目依据及目标5
2.2系统功能模型的建立6
第三章系统规划和概要设计8
3.1系统功能模块8
3.2方法概要10
3.3系统流程图10
3.4系统解决方案项目构成11
第四章数据库的设计与实现13
4.1数据库概念结构设计13
4.2数据库表的设计14
4.3数据库的安全15
第五章业务逻辑层设计与实现17
5.1科研成果的实现17
5.2数据库访问类18
第六章界面表示层设计20
6.1科研成果模块的设计20
6.2模块的实现20
第七章系统测试,维护以及安全23
7.1系统测试23
7.2系统维护23
7.3系统安全24
第八章系统总结25
心得体会26
参考文献27
摘要
本系统采用B/S(Browser/Server,浏览器/服务器)结构,ASP.NET为开发语言,SQLServer2005为数据库来进行设计与开发。
本系统功能包括登录、项目管理、成果管理、科研人员管理、科研分查询等。
本论文简要阐述了此次毕业设计题目“江西现代学院科研管理系统”的开发环境,同时对本系统的构架进行分析,通过分析结果划分出部门管理模块、项目管理模块、成果管理模块、科研管理模块、个人信息管理模块五大功能模块。
详细介绍了本系统各个模块与功能的实现原理,本文介绍了本系统的需求分析、功能设计和系统设计,并通过流程图和文字加以解释说明。
在本系统设计中给出数据库的设计和总体设计方案,在系统实现中具体介绍了各个功能的所能实现的情况和主要代码,同时附有运行界面图。
关键词:
ASP.NET、SQLServer2005
第一章系统开发理论依据
1.1ASP.NET概述
ASP.NET是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序
ASP.NET优点:
●安全
●国际化
●可管理性
●易于部署
●增强的性能
●扩展性和可用性
1.2SQL介绍
SQL(StructuredQueryLanguage)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
SQL语言包含4个部分:
●数据定义语言,例如:
CREATE、DROP等语句。
●数据操作语言,例如:
INSERT(插入)、UPDATE(修改)等语句
●数据查询语言,例如:
SELECT语句。
●数据控制语言
1.3B/S结构介绍
B/S(Browser/Server)结构即浏览器和服务器结构。
它是随着Internet技术的兴起,对C/S(客户机/服务器)结构的一种变化或者改进的结构。
在这种结构下,用户工作界面是通过浏览器来实现。
这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量。
B/S结构的优点
●具有分布性特点,可以随时随地进行查询、浏览等业务处理。
●业务扩展简单方便,通过增加网页即可增加服务器功能。
●维护简单方便,只需要改变网页,即可实现所有用户的同步更新。
●开发简单,共享性强
第二章需求分析和系统功能设计
系统的开发不仅仅是一个应用程序的编写过程,最重要的是在系统分析和系统设计的阶段所做的工作,本系统是基于MicrosoftVisualStudio2005系统开发的Web应用程序,它针对有关目标设计系统,运行环境等进行分析,通过数据库需求分析、系统功能模块设计等实现系统及功能模块。
科研水平逐渐成为衡量一个高校的重要指标,高校作为重要的科研机构,如何对学校大量的科研信息进行高效、安全的保存、处理、统计、加工等管理操作,将日常的科研管理工作更加规范化,建立高校科研管理系统进行科研管理工作是每一个高校必由之路。
高校科研管理系统数据库设计是高校科研管理系统设计中的一项核心工作,所有的管理工作都必须以数据库为中心,进而建立高校科研管理系统。
2.1系统项目依据及目标
本系统是以科研项目流程为核心,全方位通过计算机来管理科研项目申报、项目开题、项目结题、科研成果、分类汇总分析和科研分计算等科研活动,以达到方便、高效地管理和控制,提高管理效能。
本系统既满足学院领导和科研决策者对科研活动的宏观管理与决策的需要,满足科研管理部门对教师科研分的统计、汇总和查询,也满足各系部单位或本人对科研项目的查询和管理工作,同时也便于和教育厅的科研管理系统的数据进行对接。
系统项目内容:
(1)实现对科研日常事务的管理:
科研项目、科研成果、完成情况等信息管理。
(2)实现对科研信息的查询、教师科研分的查询。
(3)提供全方位的科研管理服务,为学校各项科研管理业务提供信息化支持。
(4)辅助科研负责人或科研管理者管理相应的科研工作,及时掌握、了解学院教师的科研情况,方便且高效地完成科研管理工作。
系统目标及要解决的问题:
系统能及时为学校提供科研信息,辅助管理人员制定科研计划;分析科研计划及项目完成情况,实现对科研任务、科研计划、项目执行的管理和控制;构建系统的安全解决方案,确保系统的安全性和保密性;实现对科研工作人员的管理及登录系统时的权限分配。
本系统需要解决的功能包括项目申报、成果管理、综合查询、科研分管理、角色管理、部门及人员管理等。
(1)项目管理功能
项目申报查询:
用于按时间段、申报单位、项目名称、项目编号等条件下进行项目申报信息的总体信息查询;项目申报编辑:
用于对个人申报的信息进行增、删、改等编辑操作;项目日常管理:
用于对项目进程过程中日常信息的编辑管理工作。
(2)成果管理功能提供科研成果信息的输入,编辑,查询等功能。
(3)部门及人员管理功能
部门管理:
设置相关部门名称;人员管理:
查询或设置科研人员的基础资料。
(4)科研分管理功能科研分的审核、统计、查询和报表等功能。
(5)角色管理功能
角色分配:
建立系统操作中各类人员角色信息,用于进行权限控制,系统中角色分为三个层次:
系统管理人员、科研管理人员、普通教师。
2.2系统功能模型的建立
通过对江西现代学院科研管理的需求调研、分析,将科研管理系统分为科研项目管理、科研成果管理、科研管理、部门管理、个人信息管理等几个主要的模块,使用本系统的人员可以分为教师、科研管理员、系统管理员三种角色。
(1)系统管理员:
整个系统的管理者,主要完成用户角色信息的管理、部门信息的管理、系统基础数据的维护等。
(2)科研管理员:
可对科研项目或科研成果进行审核,可对院系部门进行设置。
(3)教师:
仅具有项目申报、科研成果添加和个人信息修改、查询科研分等功能。
不同的角色完成不同的功能。
系统功能模型如表2-1所示
表2-1:
系统功能模型
功能角色
教师
科研管理员
系统管理员
用户登录
√
√
√
密码管理
√
√
√
科研申报
√
√
√
科研成果添加
√
√
√
科研数据查询
√
√
√
个人信息查询
√
√
√
科研批次添加
√
科研项目审核
√
论文成果审核
√
著作成果审核
√
鉴定成果审核
√
获奖成果审核
√
论文类管理
√
鉴定成果类管理
√
获奖类管理
√
著作类管理
√
岗位类管理
√
项目类管理
√
科研人员管理
√
部门管理
√
第三章系统规划和概要设计
3.1系统功能模块
本系统的主要任务是用计算机对各种科研信息进行日常的管理,如查询、修改、增加、删除等,迅速准确地完成各种科研信息的统计计算和汇总工作。
针对系统服务对象的具体要求,设计了本系统。
本统主要包括综合管理、项目管理、成果管理、科研管理、个人信息管理五大模块。
各模块之间并非各个独立,而是相互联系,相互关联在一起的,从而使本系统能够很好的完成所设计的功能。
本统有三种不同角色:
教师、科研管理员、系统管理员。
不同角色可做不同的操作。
本系统功能模块及其子模块如图3-1所示
图3-1:
功能模块
(1)教师登录:
可以浏览、查看科研成果管理中的所有信息、可以编辑个人信息,可以浏览、查看本人的项目、项目信息,申报项目、浏览查看本人成果、申报成果、科研分根据项目和成果自动添加,可以查看、本人以及各部门的科研分。
(2)科研管理员登录:
可以浏览、查看科研成果管理中的所有信息、可以编辑个人信息,可以浏览、查看本人的项目、项目信息,申报项目、浏览查看本人成果、申报成果、科研分根据项目和成果自动添加,可以查看、本人以及各部门的科研分,对各项目、项目成果进行审核。
(3)系统理员登录:
可以浏览、查看科研成果管理中的所有信息、可以编辑个人信息,可以浏览、查看本人的项目、项目信息,申报项目、浏览查看本人成果、申报成果、科研分根据项目和成果自动添加,可以查看、本人以及各部门的科研分,对部门和科研人员以及对著作、论文、获奖、鉴定、岗位类进行管理。
3.2方法概要
本系统是采用面向对象的程序设计思想进行编制的。
用户可以通过主菜单调用系统的各项功能。
(1)面向对象设计不再是单纯的从代码的第一行一直编到最后一行,而是考虑如何创建类和对象,利用类和对象来简化程序设计,并提供代码的封装和可重用性,便于程序的维护与扩展。
(2)所谓的对象是一种抽象的名称,用来对应实现世界存在的“东西”。
一个窗口、一个按钮、一个菜单都可视为一个对象,而按钮对象、菜单对象、又会出现在窗口对象中,因此按钮对象、菜单对象便是窗口的组件之一。
对象内部的数据是不能随意更改的,必须由外部向其传递信息,再由对象按其方法加以处理。
用户无需知道其任何细节,操作是封闭的,对象之间能通过方法调用相互通信。
(3)类可视为一个产品模具、一个模块。
在面向对象设计中,类是对象的原型,是对象的制作器。
类的概念是面向对象程序设计最重要的特征。
所谓类,是指由数据结构及其相关操作所形成的集合,描述该类任一对象的共同的行为特征,是对一组性质相同的对象的程序描述,概括了对象的共同性质和数据。
3.3系统流程图
3.3.1系统流程图
本系统分为三个角色:
普通教师、系统管理员、科研管理员,每个角色具有自己不同的权限。
下面会通过流程图一一做出分析介绍。
流程图如图3-2所示
图3-2:
系统流程图
3.4系统解决方案项目构成
为了用B/S设计模式的三层体系结构实现本系统的设计,本人用VisualStudio2005简体中文企业版设计了一个名为“JXXDXYTSSM”的科研管理系统解决方案,用VC#语言在该解决方案中建立了三个项目,这三个项目的有机结合,构成了本科研管理系统。
这四个项目分别和B/S设计模式的三层体系结如图3-3所示
图3-3:
解决方案构成图
这三个项目分别为:
UI表示层、BLL业务逻辑类、DAL数据访问类。
各层之间互相的引用联系是:
表示层(UI)命名空间中要引用业务逻辑类(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数据库表的设计
数据库是所有系统设计中的灵魂部分,没有数据库的系统是毫无价值的,是个残废的系统,所以,数据库是个很重要的部分。
下面就详细介绍数据库的设计。
(1)Book(著作表):
用来存储著作信息,主键期刊编号number,其同时也为标识列,还有著作名称、作者、课题来源、著作类、出版时间、出版社单位、状态、所属项目、分数。
表各字段设计如表4-3所示
表4-3:
著作表
列名
数据类型
是否允许为空
Number(书籍编号)
Int
否(主键)
Name(书籍名称)
Nvarchar(50)
否
Author(作者)
Int
是
Topicsource(著作分值)
Int
是
Bookclass(书籍分类)
Int
是
Scienceclass(学科分类)
Int
是
PublishTime(出版时间)
Datetime
是
Publisher(出版社)
Nvarchar(50)
是
State(状态)
Nvarchar(50)
是
Project(项目)
Int
是
Score(分值)
Int
是
在著作表中著作编号和著作名称都不可以为空,因为这两个在数据库中都是起到关键的作用,所以,不可以为空。
(2)Paper(论文表)用来存储论文信息,主键论文编号number,其同时也为标识列。
表各字段设计如下表4-4所示
表4-4:
论文表
列名
数据类型
是否允许为空
Number(论文编号)
Int
否(主键)
Name(论文名称)
Varchar(50)
否
Author(作者)
Int
是
Scienceclass(学科分类)
Int
是
Paperclass(论文分类)
Int
是
Paperdate(论文发表时间)
Datetime
是
Publish(发表地址)
Varchar(50)
是
State(状态)
Varchar(50)
是
Words(字数)
Varchar(50)
是
Project(项目)
Int
是
Score(分值)
Int
是
在论文表中论文编号和论文名称都不可以为空,因为这两个在数据库中都是起到关键的作用,所以,不可以为空。
(3)Prize(获奖成果)用来储存获奖成果的信息,主键为获奖成果的编号number,其同时也为标识列。
表的详细字段如下表4-5所示
表4-5:
获奖成果表
列名
数据类型
是否为空
Number(获奖成果编号)
Int
否(主键)
PrizeName(获奖名称)
Nvarchar(50)
否
Prizeobj(获奖项目)
Nvarchar(50)
是
Prizedep(出版)
Nvarchar(50)
是
Scienceclass(学科分类)
Int
是
State(状态)
Nvarcher(50)
是
Prizeclass(获奖分类)
Int
是
Author(作者)
Int
是
Prizetime(获奖时间)
Datetime
是
Project(项目)
Int
是
Score(分值)
Int
是
4.3数据库的安全
在本系统中,数据库的安全主要通过数据库的存取控制机制实现的。
首先定义各类管理人员的操作权限即角色,然后依据用户表将登录分配为相应的角色。
由于人员的复杂性,角色分教师、科研管理员、系统管理员三种角色。
在用户登录时,提取出用户的角色,不同的角色进入系统后,对应页面初始化时的角色检查会判断改角色可不可以使用该页面,从而保证每种角色的用户,只能看到的操作到自己权限范围内的数据,其他的数据根本看不到,从而基于角色,实现数据的存取控制的安全性。
主外键约束的关系图和项目所涉及的各表间关系图,如图4-6所示
图4-6:
系统关系图
第五章业务逻辑层设计与实现
5.1科研成果的实现
添加论文的代码如下:
(sql方法)
///
///返回论文添加的结果
///
///
///
publicintADDpaper(stringstr)
{
stringstr1="insertintoPaper(name,author,paperdate,publish,state,scienceclass,paperclass,words,project,score)values("+str+",0)";
returnPDB.ExeSql(str1);
}
添加按钮下的事件
///
///添加论文信息
///
///
///
protectedvoidButton1_Click(objectsender,EventArgse)
{
stringstr="'"+TextBox1.Text+"','"+UserInfor.UserObj.number+"','"+TextBox3.Text+"','"+TextBox2.Text+"','审核中','"+DropDownList1.SelectedValue+"','"+DropDownList2.SelectedValue+"','"+TextBox4.Text+"','"+DropDownList3.SelectedValue+"'";
inta=PPC.ADDpaper(str);
if(a!
=0)
{
TextBox1.Text="";
TextBox2.Text="";
TextBox3.Text="";
DropDownList1.DataBind();
DropDownList2.DataBind();
GridView1.DataBind();
System.Web.UI.ScriptManager.RegisterStartupScript(UpdatePanel1,this.GetType(),"asd","alert('提交成功');",true);
}
else
{
System.Web.UI.ScriptManager.RegisterStartupScript(UpdatePanel1,this.GetType(),"asd","alert('添加失败');",true);
}
ChangeButton();
}
其他科研成果类(著作、鉴定成果、获奖成果)如此类似在此不一一列举。
5.2数据库访问类
数据访问层主要是系统采用的数据库管理系统(DBMS),在整套企业级数据库应用系统中,它是最重要的一环,其中主要的对象有表、视图、存储过程、函数、触发器等,数据的许多处理都应该由数据库本身去完成,例如将复杂的查询或者数据写入,都封装为存储过程和函数,将数据写入前后要进行的附加操作用触发器实现等等。
访问类的实现:
SqlConnectionDBconnection;
SqlDataAdapterDBadapter;
SqlCommandDBcommand;
DataSetDBds;
DataTableDBtb;
///
///数据库连接命令
///
publicvoidSqlDBConnection()
{
stringstrConnection="DataSource=.;InitialCatalog=JXXDXYSMDB;IntegratedSecurity=true";
DBconnection=newSqlConnection(strConnection);
}
///
///传入sql语句返回一个DataTable
///
///
///
publicDataTableGetDetaTable(stringstr)
{
SqlDBConnection();
DBconnection.Open();
DBds=newDataSet();
DBadapter=newSqlDataAdapter(str,DBconnection);
DBadapter.Fill(DBds,"DBtable");
DBtb=newDataTable();
DBtb=DBds.Tables["DBtable"];
DBconnection.Close();
returnDBtb;
}
///
///传入sql语句返回执行行数
///
///
///
publicintExeSql(stringstr)
{
inta=0;
SqlDBConnection();
DBconnection.Open();
DBcommand=newSqlCommand();
DBcommand.Connection=DBconnection;
DBcommand.CommandText=str;
a=DBcommand.ExecuteNonQuery();
DBconnection.Close();
returna;
}
第六章界面表示层设计
界面表示层主要是页面接受用户的请求,以及数据的返回,为客户端提供应用程序的访问。
6.1科研成果模块的设计
科研成果模块主要分为:
论文、著作、获奖成果、鉴定成果几个小模块。
如下图6-1所示
图6-1:
科研成果模块
6.2模块的实现
论文功能模块:
主要分为:
查看和添加。
如图6-2,图6-3所示
图6-2:
论文列表
图6-3:
论文添加
论文列表代码如下:
///
///论文审批
///
///
///
protectedvoidGridView1_RowCommand(objectsender,GridViewCommandEventArgse)
{
if(e.CommandName=="MySelect")
{
Session["a"]=e.CommandArgument.ToString();
System.Web.UI.ScriptManager.RegisterStartupScript(UpdatePanel1,this.GetType(),"exclamation","window.open('LookDetail.aspx')",true);
}
if(e.CommandName=="MyUpdate1")
{
Paperview.UpdateParameters.Clear();
Paperview.UpdatePa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 科研 管理 系统 毕业