大学生创新创业项目管理系统的设计与实现
2023-01-04支馨悦
支馨悦
(兰州职业技术学院 电子信息工程系, 甘肃 兰州 730070)
信息化管理是项目管理不可缺少的手段和方法,结合学生创新创业项目申请、项目评审推荐和项目管理的实际,采用MVC模式,使用ThinkPHP、Bootstrap、PHP、MySQL、UploadImages和Ueditor等技术,完成了一个基于B/S模式的创新创业项目管理的解决方案,为师生搭建一个创新创业交流学习、创新创业服务与项目管理的平台[1]。平台可以完成创新创业项目在线填报申请和项目评审推荐,这样可以避免人为因素的干扰,增强了评审的公平和透明度,也为信息传输、项目存档保存、数据统计分析提供了便捷。平台采用系(部)和校级专家两级评审,评审时间灵活、人性化,提高了评审效率;该平台还可实现跨学科、跨专业、跨年级组建团队,这样有利于形成梯队型、学习型团队;项目负责人可通过平台实时更新项目完成情况和阶段成果;管理部门通过平台方便实时查看、跟踪项目进展情况;平台将对申请的创新项目、创业项目以及参加各级各类比赛获奖情况自动进行统计分析,实现了学校对创新创业项目和项目团队高效、规范化、科学化的管理。
一、需求分析
(一)系统需求概述
本系统划分为创新创业项目填报申请、项目评审推荐、项目管理、系统管理模块,系统功能划分如图1所示。
图1 系统功能划分图
其中项目自动统计分析、项目成果、评审专家、项目负责人、指导教师、教学秘书的管理在“项目管理”模块中实现;项目资源库创建与管理在“系统管理”模块实现。
(二)功能性需求分析
1.创新创业项目填报申请
(1)创新项目的申请需由项目负责人在规定申请时间内填写项目申请表格,添加项目指导教师、团队成员信息,提交支持该项目方案的试验条件、试验设备和已经获得的创新性成果。还需提交完整的项目文本,项目文本包括创新方案、时间进度安排、最终成果以及成果的应用使用范围等,项目文本中需明确每个团队成员所扮演的角色、在项目实施过程中所起到的主要作用等。
(2)创业实践项目的申请需由项目负责人在规定申请时间内填写项目申请表格,添加项目指导老师、企业实践指导老师和项目团队成员的所有信息。项目团队成员可跨学科跨专业,这样团队在项目实施过程中能够充分发挥团队中各成员专业优势,有利于创业成功。鼓励跨年级组建项目团队,这样能够形成梯队型、学习型团队,有利于知识技能的传帮带。创业实践项目同时还需提交创业实践方案,方案包括详细的产品及服务、公司组织结构、运营模式和市场、风险分析及对策、资金需求、项目收益、运营成本等内容[2]。创新创业项目填报申请用例如图2所示。
2.创新创业项目评审与推荐
(1)申请项目需先提交各系(部),由各系(部)教学秘书对提交项目按类型进行分类整理,检查项目资料,并由系(部)专家老师对申请项目进行初次评审,评审专家给出评审意见,评审通过项目推荐学校。
(2)学校管理部门接收各系(部)推荐项目,按项目类型和学科专业进行分类整理,检查项目资料,并指派3名相关学科专业领域专家进行二次评审,评审专家给出评审推荐意见。
(3)管理部门在平台对评审结果进行公布。
(4)管理部门推荐项目参加各类比赛,对比赛情况和获奖情况进行统计。
创新创业项目评审推荐用例如图3所示。
图2 创新创业项目填报申请用例图
图3 创新创业项目评审与推荐用例图
3.创新创业项目管理
(1)项目负责人按项目设计方案开始项目的实施,项目实施过程中根据需要可以调整项目团队成员。
(2)项目负责人根据项目实施情况及时补充和完善项目成果或项目产品。
(3)指导教师对项目实施过程中出现的问题给出指导意见,帮助学生解决项目实施过程中的一些困难。
(4)指导教师跟踪项目实施全过程,督促项目按照设计方案中的实施进度顺利完成项目。
(5)管理部门推荐项目参加各类比赛,对项目参加比赛情况和获奖情况进行统计形成分析数据。
(6)管理部门对项目进行筛选,将符合条件项目加入学校“双创空间”,并按照学校规定纳入“双创空间”的统一管理,并给予一定的经费支持。
(7)管理部门按照项目类型和项目申请时间创建项目资源库,资源库中给出项目的完整信息,依据不同条件可以检索到项目信息,获取项目的申请年份,姓名的类型、项目负责人、指导教师等相关信息内容。
(8)管理部门基于项目资源库对项目进行统计,形成分析数据。
(9)管理部门对项目负责人、评审专家、指导教师、系(部)教学秘书进行统一管理。
(10)管理部门跟踪项目进度。
(三)系统业务流程分析
项目填报申请、分配评审专家进行项目评审推荐是本系统的核心功能,其业务流程如图4-5所示。
图4 创新创业项目填报申请流程
图5 创新创业项目评审推荐流程
(四)系统用户分析
本系统用户包括:项目负责人、指导教师、系(部)教学秘书、系(部)评审老师、校级评审专家、校级管理部门,表1列出了各用户在该系统中需完成的主要工作。
表1 系统用户表
二、系统设计
(一)系统技术架构设计
本系统技术架构设计基于MVC模式,分为视图层、逻辑层和数据层,系统技术架构如图6所示。
图6 系统技术架构图
(二)数据库逻辑设计
创新创业项目管理系统所有数据表如表2所示。
表2 系统数据表
其中,系(部)教学秘书表用于存储各系(部)教学秘书的登录信息;申请项目表用于存储新申报项目的所有相关信息;项目负责人表用于存储项目负责人的登录信息;团队成员表用于存储各项目团队成员的详细信息;学科专业表用于存储学科专业门类,以便对项目分类整理统计,也便于根据学科专业门类推荐评审专家;评审专家表用于存储评审专家相关信息和登录信息;指导教师表用于存储项目指导教师的相关信息和登录信息;学院系(部)表用于存储学院各教学单位相关信息。
三、系统主要功能的实现
(一)系统自动生成登录身份信息
项目负责人成功提交项目基本信息后,系统会自动为项目负责人生成登录系统使用的身份信息,这样可以避免用户身份信息数据的重复,提升了数据的规范性。系统自动生成身份信息实现代码如下:
public function FormSubmit(){
$data=I('post.');
$num=M('draft_project')->add($data);
if($num){
foreach($data['name'] as $k=>$v){
$data1['pid']=$num;
$data1['name']=$v;
$data1['sex']=$data['sex'][$k];
$data1['age']=$data['age'][$k];
$data1['major']=$data['major'][$k];
$data1['remarks']=$data['remarks'][$k];
$datalist[]=$data1;
}
$datainfo = M('draft_team_member')->addAll($datalist);
if($datainfo){
$pro['username']='pro'.date('md').$num;
$pro['password']=md5('123456');
$pro['pid']=$num;
$pro['addtime']=time();
M('student')->add($pro);
$state['status']=1;
$state['username']=$pro['username'];
$state['password']=123456;
}else{
$state['status']=2;
}
$this->ajaxReturn($state);
}
}
(二)项目自动统计分析功能的实现
系统中使用Echarts插件技术实现了项目的自动统计分析[3],项目自动统计分析实现效果如图7所示。
图7 项目自动统计分析实现效果图
具体实现代码如下:
… …
$(function(){
… …
//绘制图表
echarts.init(document.getElementById('panel')).setOption({
title: {
text: '{$dt}项目统计',
subtext: '创新创业',
left: 'center'
},
… …
series: [
{
name: '数据统计',
type: 'pie',
radius: '60%',
center: ['50%', '60%'],
data: {$arr},
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}
]
});
})
(三)系统管理员登录功能的实现
系统管理员享有系统所有管理权限,负责对项目负责人、评审专家、指导教师、系(部)教学秘书、学科专业门类、学校各教学单位、所有申请项目和项目成果等资源的统一管理。系统管理员登录及身份判断实现代码如下:
class PublicController extends ThinkController {
/**
*后台用户登录
*/
public function login($username = null, $password = null, $verify = null){
if(IS_POST){
/*调用UC登录接口登录 */
$User = new UserApi;
$uid = $User->login($username, $password);
if(0 < $uid){ //UC登录成功
/*登录用户 */
$Member = D('Member');
if($Member->login($uid)){ //登录用户
//TODO:跳转到登录前页面
$this->success('登录成功!', U('Index/index'));
} else {
$this->error($Member->getError());
}
} else { //登录失败
switch($uid) {
case -1: $error = '用户不存在或被禁用!'; break; //系统级别禁用
case -2: $error = '密码错误!'; break;
default: $error = '未知错误!'; break;}
$this->error($error);
}
} else {
if(is_login()){
$this->redirect('Index/index');
}else{
$config=S('DB_CONFIG_DATA');
if(!$config){
$config=D('Config')->lists();
S('DB_CONFIG_DATA',$config);
}
C($config); //添加配置
$this->display();
}
}
本次开发的创新创业项目管理系统希望能提升学校创新创业管理工作效率,提升创新创业项目管理的规范化、科学化水平,也希望能为学校创新创业教育工作提供一些服务。