科研信息管理系统.docx
- 文档编号:11014556
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:30
- 大小:218.17KB
科研信息管理系统.docx
《科研信息管理系统.docx》由会员分享,可在线阅读,更多相关《科研信息管理系统.docx(30页珍藏版)》请在冰豆网上搜索。
科研信息管理系统
科研信息管理系统
第一章、概述
1.1项目背景
随着社会的发展,在信息社会中,人们越来越多的使用高质量的计算机软件来完成信息的获取和处理工作。
在高等院校中,教职工科研成果的质量,发表论文的多少,以及出版的教材和获得的奖励,也是评价高校科研水平的依据。
这些高校的科研信息在一定的程度上反映出高校在某一学科领域的科研水平。
由于许多高校对科研信息管理都是手工整理和计算机单机工作,不能很方便的对高校的各种科研信息进行高效的管理,而且还花费了大量的人力物力,数据共享性不好,也不利于科研信息部门对该高校的科研信息进行有效的掌握和分析。
因此,为了更好地节省人力和时间,提高高校的科研信息管理效率,研发适合高校信息管理的系统是很有必要的。
1.2编写目的
一、实现使用的高校科研信息管理系统,方便高校对教职工的科研信息进行管理
二、完成课程设计
通过课程设计达到以下目的
1、根据教材上数据库设计部分的原理和方法,结合软件工程相关知识,能针对一些简单的数据库系统设计问题,进行必要的分析和设计。
2、巩固学习的数据库原理、程序设计语言等课程的基础知识,训练学生分析和解决数据库系统的实际问题的能力
3、能查阅资料解决数据库技术方面的问题。
1.3软件定义
科研信息管理系统是针对高校能够有效地对教职工的科研信息进行管理。
实现对教职工的科研信息进行数据录入数据库,各种查询功能和实现对信息的统计功能。
按照一定的条件对数据库进行查询,实现数据共享。
1.4开发环境
开发环境:
Windows7
辅助工具:
Myeclipse
数据库管理系统:
SQLServer2005
运行环境:
WindowsXP/Vista/7/8
第二章、需求分析
说明:
本系统要解决的基本问题是:
对高校教职工的科研信息进行管理。
即将高校教职工科研信息进行录入数据库和各种查询功能,最后对科研信息进行统计汇总。
所有功能实现对用户透明。
2.1系统流程图
2.1.1系统流程图说明符
处理输入输出联机存储
2.2.2系统使用流程图
2.2数据流图
2.2.1科研信息管理系统数据流图说明符
外部实体处理数据流向数据存储
2.2.2顶层数据流图
2.2.2二层数据流图
2.3数据字典
2.3.1数据流
数据流名称:
科研信息
数据流别名:
无
说明:
即要录入数据库的教职工的科研信息
数据来源:
教职工
数据流向:
科研管理部
数据流组成:
教职工编号+姓名+科研信息
数据流量:
根据事物的需要,一般很频繁
数据流名称:
教职工发表论文信息
数据流别名:
无
说明:
教职工发表的论文为要入库信息
数据来源:
教职工
数据流向:
科研部
数据流组成:
教师编号+论文题目+发表人+发表时间
数据流量:
信息量较小
数据流名称:
教职工科研信息
数据流别名:
无
说明:
即将入库的教师科研信息
数据来源:
教职工
数据流向:
科研部
数据流组成:
教师编号+课题名称+负责人+项目资金+项目起始时间+项目类型
数据流量:
信息量较小
数据流名称:
教师出版教材信息
数据流别名:
无
说明:
教师出版的教材进行入库
数据来源:
教职工
数据流向:
科研部
数据流组成:
教师编号+书名+出版人+出版社+出版时间
数据流量:
信息量较小
数据流名称:
取得成果奖励
数据流别名:
无
说明:
将要入库的教职工取得的奖励
数据来源:
教职工
数据流向:
科研部
数据流组成:
教师编号+获奖人+获奖名称+获奖级别+获奖等次+颁奖时间
数据流量:
信息量较小
数据流名称:
用户信息
数据流别名:
无
说明:
共享的用户信息
数据来源:
用户信息表
流向:
管理员
数据流组成:
用户名+密码
数据流量:
信息量较小
2.3.2数据文件
数据文件名称:
用户信息表
说明:
所有用户的信息
数据文件组成:
用户名+密码
组织方式:
按用户名信息升序
存取方式:
顺序
2.4性能分析
需实现许多性能特性,实用性、灵活性、可扩展性、易维护性、可靠性、安全保密性等等。
1、实用性
实用性是衡量一个应用系统好坏的重要指标。
是否与业务紧密结合,是否具有严格的业务针对性,是系统成败的关键。
2、灵活性
灵活性可以达到更高效率、更佳界面直观的效果。
3、可扩展性
随着系统应用的普及和推广,系统功能的扩展将是不可避免的,因此,提高系统的可扩展性、可维护性是提高整个系统性能的必然要求。
4、易维护性
本系统采用多层架构设计,使系统结构更清楚,分工更明确,有利于后期的维护。
5、可靠性
社会向信息时代迅速发展的同时也有潜在危机,即对信息技术的依赖程度越高,系统失效可能造成的危害和影响也就越大。
因此,采用良好的操作系统和数据库,确保数据的一致性和完整性,并使系统免受病毒感染,确保系统运行的可靠性具有重要意义。
6、安全保密性
整体的系统安全性是本系统中必须考虑的重点要求。
在该系统设计中,安全、可靠将作为第一要素。
同时,利用细分的权限管理,拒绝非法用户进入系统和合法用户的越权操作,避免系统遭到恶意破坏,防止系统数据被窃取和篡改。
此外,还有良好的用户身份认证体制和灵活的密码更改模块;用户权限也可以通过管理员灵活修改。
第三章、概念结构设计
3.1数据抽象—分E—R图设计
1、教职工基本信息E—R图
2、教师科研项目信息E—R图
3、教师发表论文E—R图
4、教师出版教材E—R图
3.3有数据分E—R图合并成初E—图
第四章逻辑结构设计
逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。
把基本E-R图转换成关系模型
4.1表结构
1、用户表
属性名
数据类型
是否为空
含义
完整性约束
用户名
密码
2、Teacher表
属性名
数据类型
是否为空
含义
完整性约束
编号
varchar(10)
否
教师编号
主属性
姓名
varchar(30)
否
教师姓名
年龄
Int
否
教师年龄
性别
Varchar(5)
否
学历
varchar(30)
否
教师的学历
职称
varchar(30)
否
职称
所在机构
varchar(30)
否
3、论文表
属性名
数据类型
是否为空
含义
完整性约束
教师编号
varchar(10)
否
教师编号
主属性
论文题目
varchar(30)
否
主属性
发表人
varchar(30)
否
发表时间
datetime
否
作者所在系
varchar(30)
否
4、科研项目
属性名
数据类型
是否为空
含义
完整性约束
教师编号
varchar(10)
否
教师编号
主属性
项目名称
varchar(30)
否
主属性
负责人
varchar(30)
否
项目类型
varchar(30)
否
项目资金
Int
否
项目起始时间
Datetime
否
5、出版教材
属性名
数据类型
是否为空
含义
完整性约束
教师编号
varchar(10)
否
教师编号
主属性
书名
varchar(30)
否
主属性
作者
varchar(30)
否
出版社
varchar(30)
否
出版时间
datetime
否
6、奖励
属性名
数据类型
是否为空
含义
完整性约束
获奖人编号
varchar(10)
否
教师编号
主属性
获奖名称
varchar(30)
否
获奖人
varchar(30)
否
获奖等次
varchar(30)
否
获奖级别
varchar(30)
颁奖时间
Datetime
否
4.2SQL语句实现基本表
1.用户表
createtableUserInfo
(用户名varchar(10)primarykeynotnull,
密码varchar(20)notnull
);
2.教师表
createtableTeacher
(编号varchar(5)primarykeynotnull,
姓名varchar(20)uniquenotnull,
性别varchar
(2)check(性别='男'or性别='女')notnull,
年龄smallintnotnull,
职称varchar(20)notnull,
学历varchar(20)notnull,
所在机构varchar(30)notnull
);
第五章软件功能设计
根据高校的科研管理工作共性和实际需要,通过对高校的科研管理分析,高校科研管理信息系统功能需求有如下几个方面。
一、用户登录信息管理:
通过正确的用户名和密码进入管理系统
二、数据库管理员登录信息管理:
管理员有高校指定,用户名和密码是特有的。
三、全校科研信息录入数据库:
根据实际情况,将教师的基本信息、已结束和正在进行的科研项目、发表的论文、出版的教材、取得的成果和奖励、等信息录入科研信息管理系统的数据库。
四、全校教师科研信息查询:
可以通过该系统对教师的各项科研信息进行查询如:
已结束和正在进行的科研项目、发表的论文、出版的教材、取得的成果和奖励等。
五、教师科研信息的更新:
可以对教职工的科研信息进行添加和修改操作,只有管理员可以对数据库的内容进行更改。
第六章界面设计
1登陆界面
2用户登录界面
3管理员登录界面
第七章附录源代码
说明:
类ConnectDB:
连接数据库
类Database:
将信息录入数据库
类Query:
实现用户的查询功能
类Result:
返回结果集
类ManegeSen:
调用以上类,实现管理
packagech01;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;
publicclassConnectDB{
/*************加载JDBC驱动************/
StringDriverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
/*******连接服务器和数据库shujie*******/
StringdbURl="jdbc:
sqlserver:
//ASUS-PC:
1433;DatabaseName=KeYan";
StringusrName="sa";//用户名
StringusrPwd="123";
Statementstmt=null;//执行SQL对象
ConnectiondbConn=null;
ResultSetrs=null;
StringuserName;
Stringuserp;
Stringsqlq="select*fromTeacherwhere编号='20001'";
publicConnectDB(){
try{
Class.forName(DriverName);
dbConn=DriverManager.getConnection(dbURl,usrName,usrPwd);
System.out.println("ConnectionSuccessful!
");//连接成功,输出Successful
stmt=dbConn.createStatement();
//rs=stmt.executeQuery(sqlq);
}catch(Exceptione){
e.printStackTrace();
}
}
publicResult[]getData()throwsSQLException{
Result[]r=newResult[100];
for(inti=0;i<100;i++){
r[i]=newResult();
}
inti=0;
while(rs.next()){
r[i].setUser(rs.getString
(1));
r[i].setPass(rs.getString
(2));
i++;
}
Result[]rs1=newResult[i];
for(intj=0;j
rs1[j]=newResult();
rs1[j].setUser(r[j].getUser());
rs1[j].setPass(r[j].getPass());
}
returnrs1;
}
publicResult[]getDataX()throwsSQLException{
Result[]r1=newResult[100];
for(inti=0;i<100;i++){
r1[i]=newResult();
}
inti=0;
while(rs.next()){
r1[i].setStr1(rs.getString
(1));
i++;
}
Result[]rs3=newResult[i];
for(intj=0;j
rs3[j]=newResult();
rs3[j].setStr1(r1[j].getStr1());
}
returnrs3;
}
publicResult[]getDataJ()throwsSQLException{
Result[]r1=newResult[100];
for(inti=0;i<100;i++){
r1[i]=newResult();
}
inti=0;
while(rs.next()){
r1[i].setStr1(rs.getString
(1));
r1[i].setStr2(rs.getString
(2));
r1[i].setStr3(rs.getString(3));
r1[i].setStr4(rs.getString(4));
r1[i].setStr5(rs.getString(5));
r1[i].setStr6(rs.getString(6));
r1[i].setStr7(rs.getString(7));
i++;
}
Result[]rs4=newResult[i];
for(intj=0;j
rs4[j]=newResult();
rs4[j].setStr1(r1[j].getStr1());
rs4[j].setStr2(r1[j].getStr2());
rs4[j].setStr3(r1[j].getStr3());
rs4[j].setStr4(r1[j].getStr4());
rs4[j].setStr5(r1[j].getStr5());
rs4[j].setStr6(r1[j].getStr6());
rs4[j].setStr7(r1[j].getStr7());
}
returnrs4;
}
}
packagech01;
importjava.awt.Color;
importjava.awt.FlowLayout;
importjava.awt.Font;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.sql.SQLException;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JPanel;
importjavax.swing.JPasswordField;
importjavax.swing.JTextField;
publicclassManegeSenextendsJFrame{
JFrameff=newJFrame();//窗口界面
JPaneljp4=newJPanel();//提示语面板
publicJTextFieldjt1=newJTextField(12);
publicJPasswordFieldjpw=newJPasswordField(12);
JButtonbut1=newJButton("用户登陆");
JButtonbut2=newJButton("管理员登陆");
publicstaticvoidmain(String[]args){
ManegeSenm=newManegeSen();
//UserInfou1=newUserInfo();//创建用户对象
//newConnectDB();
m.InitUI1();
}
publicvoidInitUI1(){//用户登录界面
ff.setSize(500,550);
ff.setLayout(null);
//ff.setDefaultCloseOperation();
ff.setVisible(true);
JPaneljp1=newJPanel();
JPaneljp2=newJPanel();
JPaneljp3=newJPanel();
jp1.setSize(500,150);
jp1.setLocation(0,0);
jp1.setLayout(null);
jp1.setBackground(Color.RED);
jp2.setSize(500,100);
jp2.setLocation(0,150);
jp2.setLayout(null);
jp2.setBackground(Color.GREEN);
jp3.setSize(500,200);
jp3.setLayout(null);
jp3.setLocation(0,250);
jp4.setSize(500,50);
jp4.setLocation(0,450);
Fontfont=newFont("宋体",Font.BOLD,30);
Fontft=newFont("宋体",Font.BOLD,20);
JLabeljl1=newJLabel("教师科研信息管理系统");
jl1.setFont(font);
//jl1.setBackground(Color.GREEN);
//jl1.setFont();
JLabeljl2=newJLabel("请输入用户名和密码");
jl2.setFont(ft);
JLabeljl3=newJLabel("用户名");
JLabeljl4=newJLabel("密码");
jl1.setBounds(60,30,500,100);
jl2.setBounds(150,30,500,50);
jl3.setBounds(120,30,50,30);
jl4.setBounds(120,80,50,30);
jt1.setBounds(180,30,180,30);
jpw.setBounds(180,80,180,30);
but1.setBounds(160,120,100,30);
but2.setBounds(280,120,100,30);
jp1.add(jl1);
jp2.add(jl2);
jp3.add(jl3);
jp3.add(jt1);
jp3.add(jl4);
jp3.add(jpw);
jp3.add(but1);
jp3.add(but2);
ff.add(jp1);
ff.add(jp2);
ff.add(jp3);
ff.setVisible(true);
but1.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==but1){
ConnectDBc=newConnectDB();
Stringsql="select*fromUserInfo";
try{
c.rs=c.stmt.executeQuery(sql);
}catch(SQLExceptione2){
//TODOAuto-generatedcatchblock
e2.printStackTrace();
}
try{
Result[]t=c.getData();
intcount=0;
for(inti=0;i booleanFlag=false; //System.out.pr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 科研 信息管理 系统