文章目录
1 项目简介
🔥 Hi,各位同学好呀,这里是L学长!
🥇今天向大家分享一个今年(2023)最新完成的毕业设计项目作品,基于java web的高校科研项目管理系统
🥇 学长根据实现的难度和等级对项目进行评分(最低0分,满分5分)
-
难度系数:3分
-
工作量:3分
-
创新点:3分
项目分享:见文末!
2 实现效果
废话不多说,先上实现效果
篇幅有限,本文不做过多展示
3 设计架构
3.1 系统架构
系统的主要功能概述如下(分两个角色:教师与管理员):
管理员:
- 1.登录模块(在数据库内设好管理员的用户名和密码,没有注册)
- 2.教师信息管理模块:
1)添加教师信息:(工资号,姓名,性别,所属系部,职称,联系方式,常用邮箱,备注等)可实现批量输入;
2)修改和删除教师信息 - 3.成果审批模块:
1)成果的审批(管理员可在线查看教师的论文申报信息,并应及时给予结果)
2)成果的删除(对与不合格的成果申报,可以直接删除) - 4.课题管理模块:
1)课题的审批(管理员可在线查看教师的项目申报信息,并应及时给予结果)
2)课题的删除(对与不合格的成果申报,可以直接删除) - 5.统计模块:
1)按成果统计(可以根据选择成果的类型,要查询的时间范围,来实现成果信息的汇总)
2)按课题统计(可以根据选择课题的类型,要查询的时间范围,来实现课题信息的汇总)
3)按部门统计(可以分系部,分类型,实现多条件统计)
教师:
- 1.登录模块(用工资号作为用户名,默认密码为:******)
- 2.个人信息管理模块:可查看管理员录入的个人信息,若有误,可自动更改)
- 3.成果申报模块(进入成果申报页面,需填以下信息:成果形式,成果名称,关键字,发表时间,发表期刊或出版社,作者姓名,所属部门,内容摘要)。
- 4.课题申报模块(进入论文申报页面,需填以下信息:课题类型,课题名称,关键字,经费来源,课题批准单位,立项时间,完成时间,课题主持人,所属部门,内容摘要)。
- 5.查询成果模块:可按成果形式,时间范围查询成果的审批状态
- 6.查询课题模块:可按课题类型,时间范围查询成果的审批状态
3.2 系统例图
本系统包含教师和管理员两个角色,无继承关系。共有登录,科研成果或课题申报,科研成果或课题审批以及查询统计这几个用例,查询统计功能依赖于审批和申报功能,总体用例图
3.3 功能模块
根据我们前期做的需求调查与分析,,该系统主要分为以下功能模块:
3.4 软件设计流程
3.4.1 登录
用户输入网址后,首先看到系统的这页面,点击“申报流程”,可查看使用本系统进行成果或课题的申报过程。作为教师,可点击“科研申报”,正确输入自己的工资号及密码后,可成功进入申报页面,否则系统会提示“用户名或密码输入错误”;作为管理员,可点击“科研审批”,正确输入自己的用户名及密码后,可成功进入科研审批页面,否则系统会提示“用户名或密码输入错误”;点击上面的“返回首页”即可返回到系统的主页面具体流程图如下
3.4.2 申报流程
教师登录成功后进入科研申报页面,进行申报时,分为“成果申报”和“课题申报”两部分,教师可根据自己的情况自行选择,若是进行成果申报,点击“成果申报”,进入填写页面,教师按照表单信息将自己申报的成果信息填上,点击提交即可将自己的成果提交给服务器,等待管理员的审批。若是进行课题申报,点击“申报申报”,进入填写页面,教师按照表单信息将自己申报的课题信息填上,点击提交即可将自己的课题信息提交给服务器,等待管理员的审批。教师也可点击“修改个人信息”,按照提示将个人信息填好保存,就修改成功了。另外还可点击“查看成果申报”或“查看课题申报”,按类型或形式,输入一定的时间范围,查看自己的成果或课题申报情况。系统流程图
3.4.3 审批模块流程
管理员登录成功后,进入到科研审批页面。可点击“未入库成果”或“未入库课题”,查看待审批的成果或课题。若有未审批的成果或课题,直接点击成果或课题名称,即可查看详细信息,若不能入库,点击“否”可拒绝其入库,若可以,点击“是”,使其入库。管理员可点击“按成果统计”,“按课题统计”,“按部门统计”,选择时间范围,即可进行科研成果或课题的统计。点击“查看用户信息”,可查看系统用户的详细信息;点击“添加用户信息”,可将用户信息按表单指示填入,点击保存,即添加成功。
3.4.4 信息查询模块流程
管理员和用户都可进入到信息查询页面,可根据输入要查询的成果或课题的关键字,时间范围,类型,作者来查询自己需要的信息
3.5 数据库设计
4 关键代码
篇幅有限,无法放完整代码
package com.service;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import com.dao.DB;
import com.orm.TQueren;
import com.orm.TUser;
import com.orm.TXuesheng;
/**
* @author yanrj
* @version ����ʱ�䣺Mar 29, 2013 10:26:29 PM
*/
public class GetListService {
public List getXueshengList(String sql)
{
List xueshengList = new ArrayList();
Object[] params={};
DB mydb=new DB();
try
{
mydb.doPstm(sql, params);
ResultSet rs=mydb.getRs();
while(rs.next())
{
TXuesheng xuesheng=new TXuesheng();
xuesheng.setId(rs.getInt("id"));
xuesheng.setXuehao(rs.getString("xuehao"));
xuesheng.setLoginpw(rs.getString("loginpw"));
xuesheng.setXingming(rs.getString("xingming"));
xuesheng.setXingbie(rs.getString("xingbie"));
xuesheng.setRuxue(rs.getString("ruxue"));
xuesheng.setShenfenzheng(rs.getString("shenfenzheng"));
xuesheng.setYuanxi(rs.getString("yuanxi"));
xuesheng.setLianxi(rs.getString("lianxi"));
xuesheng.setRiqi(rs.getString("riqi"));
xuesheng.setZt_jwc(rs.getInt("zt_jwc"));
xuesheng.setZt_fdy(rs.getInt("zt_fdy"));
xuesheng.setZt_tsg(rs.getInt("zt_tsg"));
xuesheng.setZt_sgc(rs.getInt("zt_sgc"));
xuesheng.setZt_cwc(rs.getInt("zt_cwc"));
xuesheng.setZt_xbgs(rs.getInt("zt_xbgs"));
xuesheng.setZt_xuesheng(rs.getInt("zt_xuesheng"));
xueshengList.add(xuesheng);
}
rs.close();
}
catch(Exception e)
{
e.printStackTrace();
}
mydb.closed();
return xueshengList;
}
private List getUserList(String sql)
{
List userList = new ArrayList();
Object[] params={};
DB mydb=new DB();
try
{
mydb.doPstm(sql, params);
ResultSet rs=mydb.getRs();
while(rs.next())
{
TUser user=new TUser();
user.setId(rs.getInt("id"));
user.setLoginname(rs.getString("loginname"));
user.setLoginpw(rs.getString("loginpw"));
user.setXingming(rs.getString("xingming"));
user.setXingbie(rs.getString("xingbie"));
userList.add(user);
}
rs.close();
}
catch(Exception e)
{
e.printStackTrace();
}
mydb.closed();
return userList;
}
private TXuesheng getXueshengById(int id)
{
String sql = "select * from t_xuesheng where id="+id;
TXuesheng xuesheng = (TXuesheng)getXueshengList(sql).get(0);
return xuesheng;
}
private TUser getUserById(int id)
{
String sql = "select * from t_user where id="+id;
TUser user = (TUser)getUserList(sql).get(0);
return user;
}
public List getQuerenList(String sql)
{
List querenList = new ArrayList();
Object[] params={};
DB mydb=new DB();
try
{
mydb.doPstm(sql, params);
ResultSet rs=mydb.getRs();
while(rs.next())
{
TQueren queren=new TQueren();
queren.setId(rs.getInt("id"));
queren.setShijian(rs.getString("shijian"));
int xuesheng_id = rs.getInt("xuesheng_id");
queren.setXuesheng(getXueshengById(xuesheng_id));
int user_id = rs.getInt("user_id");
queren.setUser(getUserById(user_id));
querenList.add(queren);
}
rs.close();
}
catch(Exception e)
{
e.printStackTrace();
}
mydb.closed();
return querenList;
}
}
5 论文概览
6 最后
项目分享:见文末!
**项目分享: ** https://blog.csdn.net/mojikopi