高校科研管理信息系统的设计与实现Word下载.docx
《高校科研管理信息系统的设计与实现Word下载.docx》由会员分享,可在线阅读,更多相关《高校科研管理信息系统的设计与实现Word下载.docx(21页珍藏版)》请在冰豆网上搜索。
SQLServer2005在以下三个方面具有极大优势:
1、企业数据管理
SQLServer2005针对行业和分析应用程序提供了一种更安全可靠和更高效的数据平台。
2、开发人员生产效率
SQLServer2005提供了一种端对端的开发环境,其中涵盖了多种新技术,可帮助开发人员大幅度提高生产效率。
3、商业智能
SQLServer2005的综合分析、集成和数据迁移功能使各企业无论采用何种基础平台都可以扩展其现有应用程序的价值。
构建于SQLServer2005的BI解决方案使所有员工可以及时获得关键信息,从而在更短的时间内制定更好的决策。
二、VisualC++6.0与MFC简介
VisualC++6.0,是微软推出的一款C++编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。
VC++应用程序的开发主要有两种模式,一种是WINAPI方式,另一种则是MFC方式,传统的WINAPI开发方式比较繁琐,而MFC则是对WINAPI再次封装,所以MFC相对WINAPI开发更具备效率优势。
MFC是微软基础类(MicrosoftFoundationClasses),是WinAPI与C++的结合,其借助ApplicationWizzard使开发者摆脱离了那些每次必写的基本代码,借助ClassWizard和消息映射使开发者摆脱了定义消息处理时那种混乱和冗长的代码段。
更重要的是利用MFC封装性开发者可以更容易理解和操作各种窗口对象;
利用其派生性开发者可以减少开发自定义窗口的时间和创造出可重用的代码;
而利用其虚拟性可以在必要时更好的控制窗口的活动。
2需求分析
需求分析是进行软件开发的第一步,也是最重要的一步。
因为他具有决策性,方向性,策略性的作用,在软件开发的过程中举足轻重。
只有通过软件需求分析,才能把软件功能和性能的总体概念描述为具体的软件需求规格说明,从而奠定软件开发的基础。
2.1可行性分析
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
要达到这个目的只能靠客观分析,从而判断系统完成后所能带来的效益是否大到值得投资开发这个系统的程度[3]。
因此,可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。
该设计从以下三个方面进行可行性研究:
一、经济可行性
成本方面:
由于该毕业设计属于大学教育的最后一个环节,所以成本计算只需一台电脑,由此可见开发该软件的成本是非常低的。
效益方面:
为学校开发一个完整、合理的科研信息管理系统,可大大节余人力,降低工作量和劳动强度。
因此开发该软件可以为学校带来很好的经济效益。
二、技术可行性
该管理系统采用了C/S模式进行开发,以C++为编程语言,SQLServer2005作为后台数据库,系统的软件开发平台很成熟。
通过大量的调查和分析,结合自己现有的技术水平加上导师的指导,还是可以按期完成该系统。
三、操作可行性
该软件是为学校的科研人员开发的,所有该软件的用户对象是高校的教职员工。
由于该软件要设计成用户友好型界面,因此用户只需懂得简单的计算机操作知识,就能自如应用该软件。
2.2用户需求分析
科研部信息系统的建立,用户的需求可分为四个方面:
一、要求科研人员及管理员通过不同的权限进入不同的界面访问各自所需的信息。
二、科研人员可以通过该系统对课题、论文、专利、奖项及个人资料等信息进行查询。
三、科研管理人员可以通过该系统程序进行各种科研信息的查询、修改、删除以及对用户信息的管理,并可以通过该系统进行对数据及代码进行维护。
四、要求界面友好,容易使用。
2.3功能需求分析
根据科研部需求,该系统主要满足科研部普通工作人员,科研部管理人员的录入统计功能。
软件需要满足不同权限的设置。
科研部人员需要录入课题,成果,论文,专利,奖项等内容。
由科研部管理人员设置每个科研部人员的权限,以及对所有科研信息的管理。
一、教职工科研信息查询功能
教职工科研项目、论文、专利、获奖信息和个人资料查询。
二、教职工个人信息修改功能
1、教职工个人科研项目、论文、专利、获奖信息修改。
2、教职工个人资料修改。
3、教职工个人登录密码修改。
三、用户信息管理功能
所有管理员和教职工用户资料信息的增、删、查、改。
四、科研信息管理功能
所有科研项目、论文著作、专利成果及获奖信息的增、删、查、改。
五、系统维护功能
包括数据维护和代码维护。
3科研管理信息系统设计
3.1系统体系结构
科研信息管理系统采用C/S架构[5],C/S体系结构模式是以数据库服务器为中心、以客户机为基础、在信息系统软件支持下的两层结构模型。
这种体系结构中,用户操作模块布置在客户机上,数据存储在服务器上的数据库中。
整个系统从面对的对象来分可以分为科研人员、管理员,在管理员部分主要实现系统的管理功能,在界面方面以简洁大方为主,在界面美观以及易用程度方面会延续简洁的风格。
3.2系统功能设计
通过需求分析,可以对系统功能进行总体设计,具体功能包括两个模块:
管理员模块、教职工模块。
一、教职工角色
1、项目信息管理:
发布、修改、删除自己的科研项目信息。
2、论文信息管理:
发布、修改、删除自己的论文信息。
3、专利信息管理:
发布、修改、删除自己的专利信息。
4、获奖信息管理:
发布、修改、删除自己的获奖信息。
5、个人资料管理:
修改个人用户名、身份、密码等资料,以及个人的科研情况。
二、管理员角色
1、用户信息管理:
添加、修改、删除所有用户的资料,包括教职工和管理员的密码、权限、科研项目、论文、专利及获奖情况等。
2、科研公告管理:
查看、修改动态公告和最新通知等信息。
3、科研信息管理:
添加、修改、删除所有用户的项目、论文、专利、获奖的具体内容。
4、系统维护管理:
维护系统数据及代码。
3.3系统功能模块结构
系统功能模块如图3.1所示。
图3.1系统功能模块图
3.4数据库概念结构设计
概念结构设计阶段的目标是通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
概念结构的设计方法有集中式模式设计法和视图集成设计法两种,其中视图集成设计法是将一个系统分解成若干个子系统,首先对每一个子系统进行模式设计,建立各个局部视图,然后将这些局部视图进行集成,最终形成整个系统的全局模式。
ER模型包含“实体”、“联系”和“属性”三个基本成分。
高校科研管理信息系统的实体有科研人员、科研项目、论文著作、专利成果和获奖情况。
一、局部E-R图,科研人员的E-R图。
图3.2科研人员E-R图
二、局部E-R图,科研项目信息的E-R图。
图3.3科研项目E-R图
三、局部E-R图,科研专利成果的E-R图。
图3.4专利成果E-R图
四、局部E-R图,科研论文著作的E-R图。
图3.5论文著作E-R图
五、局部E-R图,科研获奖情况的E-R图。
图3.6科研奖项E-R图
六、集成E-R图,下图为系统中用户信息表的部分关联信息。
图3.7科研管理集成E-R图
3.5数据库表设计
数据库是所有系统设计中的灵魂部分,计算机软件的开发很多都是基于数据库的,没有数据库的系统是毫无价值的[12],因此,数据库是个十分重要的部分。
下面就详细介绍科研管理系统数据库的设计:
一、用户个人信息表:
LoginUser
LoginUser:
用来存储所有科研人员的详细信息,主键为人员编号,表其余字段设计如表3.1所示。
表3.1LoginUser
列名
数据类型
数据长度
描述
编号
Int
4
主键,不为空,标识增量为1
姓名
Nchar
10
不为空
密码
身份
权限
Bit
False教职工,true管理员
项目
255
论文
专利
获奖
二、科研项目表:
纵向立项课题
纵向立项课题:
用来存储所有科研项目的详细信息,主键为项目名称,表其余字段设计如表3.2所示。
表3.2纵向立项课题
项目年份
Float
8
文件号
Nvarchar
项目编号
主键,不为空
项目名称
立项单位
立项时间
负责人
上拨经费(万元)
50
三、科研论文著作表:
论文:
用来存储所有教职工用户科研论文著作及论文的详细信息,主键为论文题目,表其余字段设计如表3.3所示。
表3.3论文
论文题目
刊物名称
年号
期号
完成形式
级别
分值
四、科研专利成果表:
专利:
用来存储所有科研专利成果的详细信息,主键为专利名称,表其余字段设计如表3.4所示。
表3.4专利
发明人
专利名称
专利类型
授权号
授权时间
五、科研获奖情况表:
获奖:
用来存储所有科研获奖信息的详细信息,主键为获奖成果,表其余字段设计如表3.5所示。
表3.5获奖
获奖成果
授奖单位
授予时间
成果类型
3.6存储过程设计
数据库中的存储过程对应高级语言中的子程序,存储过程的内容是SQL语句,存储过程主要是对实体的增、删、改、查。
图3.8数据库
下面举例说明其他几个重要的存储过程:
一、为表中添加数据
INSERTINTO[高校科研信息].[dbo].[获奖]
([姓名]
[获奖成果]
[授奖单位]
[级别]
[授予时间]
[成果类型]
[完成形式]
[分值])
VALUES
(<
姓名,nvarchar(255),>
<
获奖成果,nvarchar(255),>
授奖单位,nvarchar(255),>
级别,nvarchar(255),>
授予时间,nvarchar(255),>
成果类型,nvarchar(255),>
完成形式,nvarchar(255),>
分值,float,>
)
二、修改专利表中的数据:
UPDATE[高校科研信息].[dbo].[专利]
SET[发明人]=<
发明人,nvarchar(255),>
[专利名称]=<
专利名称,nvarchar(255),>
[专利类型]=<
专利类型,nvarchar(255),>
[授权号]=<
授权号,nvarchar(255),>
[授权时间]=<
授权时间,nvarchar(255),>
WHERE<
搜索条件,,>
三、删除论文表中的信息:
DELETEFROM[高校科研信息].[dbo].[论文]
4科研管理信息系统实现
在完成系统需求分析并建立好数据库后,开始着手具体的程序设计与实现。
4.1登录注册界面实现
系统用户如果已经有用户名,则在登录界面输入自己的用户名和密码并选择自己的身份,如果判断用户的账号及密码正确,系统将会根据用户的权限进入各自的管理层,设计效果如图4.1所示。
图4.1登录窗口
登录功能代码设计:
sql="
SELECT*FROMLoginUserwhereusername='
"
+m_username+"
'
andid=0"
;
m_ado.m_pRecordset=m_ado.OpenRecordset(sql);
//打开记录集
nCount=m_ado.m_pRecordset->
RecordCount;
if(nCount>
0)
{
AfxMessageBox(TEXT("
亲爱的用户,您并不具备管理员权限!
));
}
else
{
OnOK();
4.2前台教职工科研管理主界面实现
教职工登录进入科研管理信息系统的主界面,可对个人科研信息进行增删改查操作,也可以查询其他教师的科研信息。
教职工主界面设计效果如图4.2所示。
图4.2教职工系统主页
4.3前台教职工个人信息管理界面实现
在个人信息管理中,用户可以通过左侧的树状结构图查询个人的科研项目、论文著作、专利以及获奖信息,还可以查验自己现有的身份信息并进行密码变更。
其界面设计效果如图4.3所示。
图4.3个人信息管理窗口
论文查询功能代码如下:
m_grid.SetExtendedStyle(LVS_EX_FLATSB
|LVS_EX_FULLROWSELECT
|LVS_EX_HEADERDRAGDROP
|LVS_EX_ONECLICKACTIVATE
|LVS_EX_GRIDLINES);
m_grid.InsertColumn(0,"
论文题目"
LVCFMT_LEFT,150,1);
m_grid.InsertColumn(1,"
刊物名称"
LVCFMT_LEFT,150,2);
m_grid.InsertColumn(2,"
年号"
LVCFMT_LEFT,100,3);
m_grid.InsertColumn(3,"
期号"
LVCFMT_LEFT,100,4);
m_grid.InsertColumn(4,"
完成形式"
LVCFMT_LEFT,100,5);
m_grid.InsertColumn(5,"
级别"
LVCFMT_LEFT,100,6);
m_grid.InsertColumn(6,"
分值"
LVCFMT_LEFT,100,7);
UpdateData(TRUE);
CADOConnm_conn;
m_conn.OnInitADOConn();
CStringsql;
sql.Format("
select*from论文where姓名='
+m_jsyh+"
);
_RecordsetPtrm_pRecordset;
m_pRecordset=m_conn.GetRecordSet((_bstr_t)sql);
m_conn.ExitConnect();
//退出连接
4.4前台教职工科研项目管理界面实现
教职工想查询其他教师的信息,可以分别在项目、成果、专利及奖项界面中输入教师的姓名或项目的名称,即可查得想了解的教师的各种科研信息。
以下是科研项目查询的界面,其界面设计效果如图4.4所示。
图4.4项目信息查询窗口
项目查询功能代码如下:
m_filename=(TCHAR*)_bstr_t(m_ado.m_pRecordset->
GetCollect("
文件号"
m_id=(TCHAR*)_bstr_t(m_ado.m_pRecordset->
项目编号"
m_xmname=(TCHAR*)_bstr_t(m_ado.m_pRecordset->
项目名称"
m_station=(TCHAR*)_bstr_t(m_ado.m_pRecordset->
立项单位"
m_time=(TCHAR*)_bstr_t(m_ado.m_pRecordset->
立项时间"
m_money=(TCHAR*)_bstr_t(m_ado.m_pRecordset->
上拨经费(万元)"
CStringname="
"
S