科研项目管理应用系统说明书.docx

上传人:b****6 文档编号:4692100 上传时间:2022-12-07 格式:DOCX 页数:32 大小:403.73KB
下载 相关 举报
科研项目管理应用系统说明书.docx_第1页
第1页 / 共32页
科研项目管理应用系统说明书.docx_第2页
第2页 / 共32页
科研项目管理应用系统说明书.docx_第3页
第3页 / 共32页
科研项目管理应用系统说明书.docx_第4页
第4页 / 共32页
科研项目管理应用系统说明书.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

科研项目管理应用系统说明书.docx

《科研项目管理应用系统说明书.docx》由会员分享,可在线阅读,更多相关《科研项目管理应用系统说明书.docx(32页珍藏版)》请在冰豆网上搜索。

科研项目管理应用系统说明书.docx

科研项目管理应用系统说明书

摘要

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

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

文章详细介绍了科研项目管理应用系统的分析部分,包括可靠性分析、数据字典、处理描述等等;系统设计部分主要介绍了系统功能设计和数据库设计;系统实现部分列出了几个主要的页面框图,并附带了一些主要的功能页面和代码。

关键字:

管理信息系统、科研管理、.NET、数据库

Abstract

MISisanewdiscipline.Itisnecessarytoefficientbusinessactivitytoorganizethemselvesorganically,itisnecessarytostrengthenenterprisemanagement,thatis,tostrengthentheinternalresourcestoeffectivelymanageavarietyofwork,theestablishmentofitsowncharacteristicsandtoadaptthemanagementofinformationsystems.

Thisarticledescribesthe.NETenvironmentfortheadoptionofthe“top-bottomtotheoverallplanning,bottom-upapproachtoapplicationdevelopment”strategytodevelopaMISprocess.Thearticledetailedresearchanalysisofsystemmanagementapplications,includingthereliabilityofanalysis,datadictionary,todealwithdescriptionandsoon;systemdesignintroducedsomeofthemajorsystemdesignanddatabasedesign;systempresentsanumberofmajorpartsofthepagediagram,alongwithanumberofmajorfunctionsandcodepage.

Keywords:

MIS;scientificresearchmanagement;.NETFramework;DataBase

引言

科研水平逐渐成为衡量一个高校势力的重要指标,高校作为重要的科研机构,如何对学校大量的科研信息进行高效、安全的保存、处理、统计、加工等管理操作,将日常的科研管理工作更加规范化、科学化,建立高校科研管理系统进行科研管理工作是每一个高校必由之路。

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

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

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

毕业设计说明书章节的内容安排

因为科研项目管理应用系统本身设计到动态编程语言、数据库等相关技术,所以此说明书的涵盖的内容和知识系统有不可避免的复杂性。

为了方便您阅读时能在短时间内对本系统有全面的认识,现将此说明书的体系结构简要的作如下介绍:

第一章引言,注意介绍课题背景及说明书的体系结构安排。

第二章系统分析,主要介绍系统问题的提出,功能目标,系统分析过程中产生的流程图、用例图、数据流图,以及系统方案设计原则和开发平台的选择。

第三章系统设计,主要介绍页面风格确定及系统资源组织结构,如:

文件夹。

第四章详细设计与实现,主要包括数据库和基本模块设计与实现。

第五章设计总结与收获,主要包括系统已实现的功能,存在的问题及后续开发安排。

附录中包含了数据字典以及部分典型存储过程的源代码。

系统分析

需要分析

问题的提出

高校科研管理所涉及的事务非常繁杂,涉及到校科研处、各个系的科研管理以及个人对科研信息的查询统计等。

所设计的系统既要有利于科研处的监督管理又要有利于各个系及教师的分工协作。

系统功能主要包括校科研处科研管理、院系(或部门)科研管理、个人科研信息查询、校级科研项目整体信息管理。

可以划分为科研信息维护、科研信息查询与统计、科研信息报表、科研信息分析、校级课题申报、审批、合同签定、结题、其它处理等操作;其中科研信息应细分为学术论文、著作、科研项目、科研成果、科研奖励等信息。

功能目标

本系统的需求可分为以下7个方面:

拥有申请项目权限的教师能够进行项目申请,填写项目申请表、添加项目负责人、项目参与人员及项目联系人、填写经费申请及预算、查看项目的状态、维护合作单位信息。

负责人能够查看项目基本信息、必要时修改项目信息、对经费、人员、科研成果进行管理,填写项目任务书、结题申请书

其他教师能看查看自己参与的项目的状态。

科技处能够进行项目申请管理、立项管理、任务书管理、中期检查管理、延期申请管理、结题管理、经费管理、成果管理。

院、各系、及各教研组领导能够查看科研情况的统计信息。

系统管理员能够添加系统中各种角色人员并设置其权限、对系统功能进行管理、维护系统数据并备份数据库。

用户界面友好,方便操作,便于掌握。

系统流程图(系统功能示意图)

图2-1

图2-2总体用例图

数据流图

图2-3顶层图

方案设计

设计思想

这是一个将ASP.NET应用技术与数据库应用技术相结合的B/S结构的系统,能够让用户在互联网上方便地进行科研项目的管理工作。

对系统的设计首先要力求界面简洁,易于使用;其次要对后台进行分层的面向对象设计,便于今后对此系统进行修改和添加新的功能模块,使之能够成为功能完备的科研项目管理应用系统。

DBMS

本系统属于中小型信息管理应用系统,涉及到的总数据量不会太大,对数据库的性能要求不是太高,但不能像Access那样在文件大小超过一定的程度时性能明显下降,并且系统中包含了大量实体以及实体间的关系的数据,因此选择使用SQLServer2005关系型数据库管理系统,它的可视化操作界面能够让用户方便高效地进行数据库设计。

技术平台

本系统为B/S结构,主要采用VisualStudio2008开发,数据库采用SQLServer2005进行设计与开发,并使用Dreamweaver8作为辅助页面设计工具。

.NETFramework作为微软新一代系统构筑环境,拥有极其强大的类库,具有能够快速开发出功能强大的应用软件的能力,良好的代码组织关系使其代码重用率比较高。

公共语言运行时CLR是.NETFramework的核心,采用了托管代码机制。

它将能够支持的不同语言的程序代码翻译为统一的微软中间代码,最后将中间代码编译成能在目标机器运行的机器码,这一特性使.NETFramework具有跨平台的功能。

此外,.NETFramework垃圾回收机制使内存的管理更加安全,使用率更高。

VisualStudio集成开发环境也延续了微软一贯的图形化操作界面的风格、能够非常方便地添加第三方组件的特性,使得开发过程变得更加简单。

VisualStudio2008比以前的版本增加了对aspx页面的拆分功能,使得页面设计更加专业。

在VisualStudio2008中,我们可以很方便的根据需要设计自定义控件,使得编写Web应用程序的变得非常灵活。

C#语言作为.NETFramework的主要语言,对XML有极好的支持,是完全面向对象的程序设计语言。

经过几年的发展,它的很多优势也很快体现出来。

比如属性和索引,配合设计编写自定义控件就能做出像VisualStudio中常用控件一样方便使用的控件。

另外,系统中部分页面的后台代码将采用VB编写。

在本系统还将使用Ajax技术,全称为AsynchronousJavaScriptandXML,它不是一种单一的技术,而是将JavaScript技术与XML技术结合,是浏览器能够与服务器之间进行异步回传,使网页在交换过程中不间断,具有很好的界面友好性。

Ajax不是将整个页面提交给服务器,而是只发送需要刷新的部分表单,服务器只有在第一次接到请求时发送整个页面到浏览器,之后的交换中所需要的数据都是使用XML封装数据并发送到浏览器,浏览器经过XMLHttpRequest的解析动态的将需要更新的数据显示到页面中,其核心就是XMLHttpRequest对象。

系统设计

页面设计

页面风格定位

科研项目管理系统的性质

科研项目管理系统是为本院教师科研项目管理所开发的,为本院教职员工提供有关信息服务的Web型管理信息系统(MIS)应用项目。

由于本系统采用B/S结构实现,在交互的效率上不及单机或C/S结构的桌面技术,因此界面设计思想是与桌面程序有很大的区别的。

但是,虽然本系统的最终成果是一个Web站点,但不能采用一般网站那种使用众多引人注目的元素。

作为MIS应用,首先强调的是功能、效率、稳定、安全、和易使用的特点。

因此,本系统在界面上是以OA的标准进行设计。

页面风格色调

按照OA设计的原则,要避免鲜艳刺眼色彩的大量运用而加快用户的视觉疲劳;一个界面的颜色数应控制在五种以内,并且主次分明;选用清楚大方的字体,不宜使用斜体等字体。

因此,本系统页面主要以深蓝色和浅绿色为背景,在深蓝色中的文字以白色为佳,而浅绿色中的文字选用蓝色,整体风格简洁清爽。

另外,本系统中除了登陆界面和系统banner使用了图片,其他功能按钮都是采用ico格式的图标文件,配合框架式页面设计,加快了访问的速度。

信息呈现作风

在信息呈现方面,按照OA设计的原则,系统中除了具有详细的功能菜单外,还应该有一些快捷工具菜单,另外,工作区应该尽可能的大,充分利用屏幕空间。

因此,本系统在打开的同时将自动设置所在的IE窗口的尺寸为目前屏幕能够被使用的最大尺寸。

同时,用户还可以隐藏系统的部分面板,以此进一步扩大工作区域。

功能控制

本系统中的功能菜单目前分为标准功能菜单和快捷工具菜单。

按一般用户的使用习惯,将标准功能菜单置于屏幕最左边,而快捷工具菜单置于工作区上方,较为直观,方便使用。

数据输入设计

数据输入界面设计的主要原则是保证数据库的完整性、一致性和合理性,同时,在用户输入数据的过程中,能够采用选择输入的地方绝不让用户自行输入。

在数据库设计时对有限值的信息(如部门、类别等)建立字典表,一般这类数据的输入可采用单选、列表、下拉菜单等控件严格控制用户输入数据的有效性。

主页方案

界面

系统主页是上中下结构,最上方是系统banner;中间部分左边为系统功能菜单,右边分上下两个区域,上面是快捷工具菜单,下面是工作区;最下面是系统状态栏。

显示信息

Banner的右边显示当前日期及时间,系统功能菜单上方显示当前用户姓名,工作区首先显示系统中的相关通知,而状态栏向用户显示了当前系统的版本、版权、在线人数等信息。

系统资源结构设计

工程组织结构设计

在系统设计过程中,如何设计并组织系统中的各个工程非常重要,本系统中目前有8个工程,如图所3-1示:

图3-1

文件夹组织结构设计

由于页面的数量比较多,对页面文件、代码文件、CSS文件、Js文件以及资源文件的管理非常重要。

在系统的Web工程中,文件夹组织结构如图3-2所示:

图3-2

类组织结构设计

面向对象是.NET最大的特点,一个功能强大的底层操作类能够为系统的开发带来不少便利。

例如,在COMP工程中有以下三个类,分别是:

Jscript类,包含的一些常用的Js调用;MyControl类,对控件进行处理;StringUtil类,就对字符串进行操作的类。

其他类如图3-3所示:

图3-3

详细设计与实现

数据库设计

系统E-R图

设计局部ER模式

以教师及相关部门、科室等信息的实体和属性定义为例:

教师(工号,密码,姓名,性别,学历编号,学位编号,职称编号,职务编号,所在部门编号,所在教研组编号,手机,工作电话,家庭电话,邮箱,专业,研究专长,工作单位地址,邮编)

教研组(教研室编号,教研室名称,部门编号,负责人工号)

学位(学位编号,学位名称)

学历(学历编号,学历名称)

部门(部门编号,部门名称)

职务(职务编号,职务名称)

职称(职称编号,职称名称)

对此局部ER模式的解释如下:

一个部门可以有多个教师,一个部门可以有多个教研组,

一个教研组可以有多个教师,一个教研组有一个负责人,并且负责人必须是教师,一个教师只能对应一个学位、学历、部门、职务、职称。

全局ER模式

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

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

“科研项目管理应用系统”的全局ER模式在此作简单的介绍:

如:

一个教师可以申请多个项目,可以参与多个项目,一个项目可以有多个阶段的项目任务书等。

表的具体设计与实现

我选用MicrosoftSQLServer2005(企业版)数据库来进行数据库的逻辑设计,首先创建数基本据库表下:

教师表(teacher)

教研组表(branch)

项目基本信息表(tb_ProjInfo)

目前系统中其他的表还有:

学位表(degree),部门表(dept),职务表(duty),学历表(eduback),职称表(post),项目参与人员表(tb_Attendee),合同类别表(tb_ContKind),项目任务书表(tb_do_Project),结题申请书表(tb_end_Project),专家表(tb_Expert),项目延期申请书表(tb_Late_Project),项目级别表(tb_Level),中期检查书表(tb_mid_check),经费预算表(tb_OutlayBudget),基本经费信息表(tb_OutlayInfo),经费支出表(tb_Outpay),项目进展计划表(tb_Plan),研究阶段考核表(tProgressChart),项目类别表(tb_ProjKind),研究成果表(tb_RefreFormat),合作单位表(tdw),合作单位性质表(tdw_character),文章信息表(tArticle),文章类别表(tArticleKind),系统功能菜单表(tmenu)等,共28张表,日后随着功能的增加,还会增加相应的数据表。

(详细数据字典信息见于附录1)

存储过程设计

对于一个功能将要存储处理众多数据的信息管理系统来说,其运行性能及安全性相当重要。

在本系统的设计中,对于大量数据的操作都采用存储过程形式将数据存入数据库。

这样既能够节省大量的网络流量,提高了数据的安全性,又使得系统后台将数据进行保存的操作变得更加简单和方便。

例如,系统对于教师信息的更新采用了edit_teacher存储过程,创建此存储过程的SQL语句如下:

setANSI_NULLSON

setQUOTED_IDENTIFIERON

go

--=============================================

--Author:

杨国伟

--Create:

--Description:

老师修改个人信息

--=============================================

CREATEProc[dbo].[edit_teacher]

@user_idnvarchar(30)

@user_namenvarchar(14)

@dept_idnvarchar(10)

@branch_idnvarchar(10)

@duty_idint

@post_idint

@sexnvarchar(4)

@birthsmalldatetime

@eduback_idint

@degree_idint

@homephonenvarchar(30)

@phonenvarchar(30)

@celphonenvarchar(30)

@emailnvarchar(50)

@studynvarchar(max)

@goodatnvarchar(max)

@workplacenvarchar(200)

@postcodechar(6)

AS

IF(Selectcount(*)FromteacherWhereuser_id=@user_id)>0

Begin

Updateteacher

Set[user_id]=@user_id

[user_name]=@user_name

[dept_id]=@dept_id

[branch_id]=@branch_id

[duty_id]=@duty_id

[post_id]=@post_id

[sex]=@sex

[birth]=@birth

[eduback_id]=@eduback_id

[degree_id]=@degree_id

[homephone]=@homephone

[phone]=@phone

[celphone]=@celphone

[email]=@email

[study]=@study

[goodat]=@goodat

[workplace]=@workplace

[postcode]=@postcode

Where[user_id]=@user_id

End

(其他一部分存储过程见于附录2)

基本模块设计

系统人员添加及密码重置

添加人员

在添加人员的处理中,密码由系统自动设置为“888888”,调用了存储过程add_teacher,存入参数的关键代码如下(c#):

SqlParameter[]param={

myDB.MakeInParam("@user_id",SqlDbType.NVarChar,30,txtUser_id.Text),

myDB.MakeInParam("@user_name",SqlDbType.NVarChar,14,txtUser_name.Text),

myDB.MakeInParam("@password",SqlDbType.NVarChar,50,password),

myDB.MakeInParam("@sex",SqlDbType.NVarChar,4,rdoSex.SelectedValue),

myDB.MakeInParam("@dept_id",SqlDbType.Int,4,ddlDept.SelectedValue),

myDB.MakeInParam("@duty_id",SqlDbType.Int,4,ddlDuty.SelectedValue)

};

myDB.RunProc("add_teacher",param);

对密码的加密处理,本系统对用户的密码统一采用MD5方式进行加密,关键代码如下:

//设置初始密码

MD5CryptoServiceProvidermd5=newMD5CryptoServiceProvider();

password=BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes("888888")));//初始密码为888888

password=password.Replace("-","");//过滤MD5值中的"-"符号

界面运行结果如图4-4、4-5所示:

图4-4

图4-5

密码重置

重置密码的处理过程为:

用户输入要重置密码的人员工号,如果输入工号正确,系统将自动显示该人员姓名,允许重置;如果输入工号不正确,将不允许重置。

在txtUser_id_TextChanged事件下添加如下代码(C#):

//清空姓名框和消息

txtUser_name.Text=lblmsg.Text="";

strsql="Selectuser_nameFromteacherWhereuser_id='"+txtUser_id.Text.Trim()+"'";

dr=myDB.GetDataReader(strsql);

if(dr.Read())

{

txtUser_name.Text=dr["user_name"].ToString();

}

重置密码的代码与初始化密码的代码类似,此处省略。

界面运行结果如图4-6、4-7所示:

图4-6

图4-7

系统登陆

系统登陆过程:

用户点击登陆按钮,系统将用户输入的密码进行MD5加密,将加密后的密码与数据库库中的密码进行对比,对比一致则允许登陆,并将用户信息保存到Cookie,关键代码如下(加密代码省略,C#):

strsql="Selectpassword,user_id,user_namefromteacherWhereuser_id='"+user_id+"'";

SqlDataReaderdr=myDB.GetDataReader(strsql);

if(dr.Read())

{

if(dr["password"].ToString().Equals(password))

{

//保存登陆信息到Cookie

HttpCookiemycookie=newHttpCookie("teacher_info");

mycookie["user_id"]=dr["user_id"].ToString();//用户ID

//mycookie["user_name"]=dr["user_name"].ToString();//用户姓名

mycookie.Expires=DateTime.Now.AddDays(int.Parse(RadioButtonList1.SelectedValue));

Response.Cookies.Add(mycookie);

//转到主页面

Response.Redirect("Default.aspx");

界面运行情况如图4-8:

图4-8

首页

本系统的首页采用框架式设计,布局示意如下表:

系统bannerif

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

当前位置:首页 > IT计算机 > 计算机硬件及网络

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

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