1.
目前B/S体系的系统主要的数据访问方式是:通过浏览器页面用户可以进入系统,系统可以自动对用户向服务器发送的请求进行处理,处理请求是在系统后台中进行的,用户在浏览器页面上进行相应操作,就能够看到服务端传递的处理结果。大学生创新创业管理主要分为视图-模型-控制三层架构设计。在视图层中,主要是操作在服务器端向客户端反馈并显示的数据,在模型层中,主要处理相关的业务逻辑、数据整合等,最后的控制层它介于视图和模型之间,主要是调整两层之间的关系,最终落实数据的传递。
系统架构图如下图所示。
图4-1系统架构图
1.
系统设计的目的是分析系统包括的所有功能结构,为开发人员设计开发和实现系统做好准备工作。经过前期的需求调查、分析和整理之后,确定的总体需求主要包括多个模块,分别是:首页、用户管理(管理员、注册用户)更多管理(项目分类、项目申报、经费管理、中期检查、结题申请、通知公告、问题反馈)。系统整体角色分为两个部分,一是用户、最后是管理员。权限分布也是很明显,用户是在除去浏览信息之外还具有查询和管理自己项目申报、经费管理、中期检查、结题申请、通知公告、问题反馈等权限;管理员是最高权限拥有者。
系统功能结构图如下图所示。
1.
1.出错信息类型
出错信息类型包括:
A 未输入必填项;
B 应输入合法字符或数字却输入非法字符或数字;
C 对空数据表进行更改或删除操作;
D 向要求唯一值的关键字段添加重复值。
2.出错处理对策
对于错误A,系统要求用户输入非空值。
对于错误B,系统要求用户输入合法字符。
对于错误C,系统提示数据表无记录可更改或删除。
对于错误D,系统要求用户输入非重复值。
1.
大学生创新创业管理是个现代化的高度集成的综合信息系统,系统主要服务对象为用户,最大化在页面中提供多的信息,因此在系统维护上,数据量较大,整体的维护设计如下:
(1)代码的维护:部署在云服务器上或本地服务器,通过SVN或FTP保持版本更新迭代。
(2)功能增加:功能升级在必要的前提下。
(3)数据维护:根据安全性等需求,定期对数据库进行人工备份。
1.
1.
对于一个要开发的系统来说,E-R图可以让别人能更快更轻松的了解此系统的事务及它们之间的关系。根据系统分析阶段所得出的结论确定了在大学生创新创业管理中存在着多个实体分别是用用户、管理员、项目、申报。
系统总体ER图如下图所示。
图4-4系统总体ER图
1.
1.
数据库逻辑结构就是将E-R图在数据库中用具体的字段进行描述。用字段和数据类型描述来使对象特征实体化,最后形成具有一定逻辑关系的数据库表结构。大学生创新创业管理所需要的部分数据结构表如下表所示。
closing_application
字段名称
类型
长度
不是null
主键
字段说明
closing_application_id
int
11
否
主键
结题申请ID
entry_name
varchar
64
是
项目名称
project_type
varchar
64
是
项目类型
team_leader
varchar
64
是
团队负责人
user_name
int
11
是
用户名
application_date
varchar
64
是
申请日期
closing_document
varchar
255
是
结题文档
project_results
text
0
是
项目成果
examine_state
varchar
16
否
审核状态
examine_reply
varchar
16
是
审核回复
recommend
int
11
否
智能推荐
create_time
datetime
0
否
创建时间
update_time
timestamp
0
否
更新时间
fund_management
字段名称
类型
长度
不是null
主键
字段说明
fund_management_id
int
11
否
主键
经费管理ID
entry_name
varchar
64
是
项目名称
project_type
varchar
64
是
项目类型
team_leader
varchar
64
是
团队负责人
user_name
int
11
是
用户名
application_amount
int
11
是
申请金额
purpose_of_funds
text
0
是
经费用途
examine_state
varchar
16
否
审核状态
examine_reply
varchar
16
是
审核回复
recommend
int
11
否
智能推荐
create_time
datetime
0
否
创建时间
update_time
timestamp
0
否
更新时间
interim_inspection
字段名称
类型
长度
不是null
主键
字段说明
interim_inspection_id
int
11
否
主键
中期检查ID
entry_name
varchar
64
是
项目名称
project_type
varchar
64
是
项目类型
team_leader
varchar
64
是
团队负责人
user_name
int
11
是
用户名
project_schedule
varchar
64
是
项目进度
situation_report
varchar
255
是
情况汇报
problems_encountered
text
0
是
遇到问题
solution
text
0
是
解决方案
recommend
int
11
否
智能推荐
create_time
datetime
0
否
创建时间
update_time
timestamp
0
否
更新时间
item_classification
字段名称
类型
长度
不是null
主键
字段说明
item_classification_id
int
11
否
主键
项目分类ID
project_type
varchar
64
是
项目类型
recommend
int
11
否
智能推荐
create_time
datetime
0
否
创建时间
update_time
timestamp
0
否
更新时间
notice_announcement
字段名称
类型
长度
不是null
主键
字段说明
notice_announcement_id
int
11
否
主键
通知公告ID
title
varchar
64
是
标题
relevant_attachments
varchar
255
是
相关附件
publisher
varchar
64
是
发布人
release_date
date
0
是
发布日期
content
text
0
是
内容
recommend
int
11
否
智能推荐
create_time
datetime
0
否
创建时间
update_time
timestamp
0
否
更新时间
problem_feedback
字段名称
类型
长度
不是null
主键
字段说明
problem_feedback_id
int
11
否
主键
问题反馈ID
theme
varchar
64
是
主题
relevant_vouchers
varchar
255
是
相关凭证
user_name
int
11
是
用户名
content
text
0
是
内容
administrator_reply
text
0
是
管理员回复
recommend
int
11
否
智能推荐
create_time
datetime
0
否
创建时间
update_time
timestamp
0
否
更新时间
project_declaration
字段名称
类型
长度
不是null
主键
字段说明
project_declaration_id
int
11
否
主键
项目申报ID
entry_name
varchar
64
是
项目名称
project_type
varchar
64
是
项目类型
budget
varchar
64
是
经费预算
team_leader
varchar
64
是
团队负责人
number_of_members
int
11
是
成员人数
relevant_attachments
varchar
255
是
相关附件
user_name
int
11
是
用户名
class_name
varchar
64
是
班级名称
instructor
varchar
64
是
指导教师
team_introduction
text
0
是
团队介绍
team_members
text
0
是
团队成员
project_basis
text
0
是
立项依据
research_contents_
text
0
是
研究内容
research_basis
text
0
是
研究基础
condition_guarantee
text
0
是
条件保障
details
longtext
0
是
详情
examine_state
varchar
16
否
审核状态
examine_reply
varchar
16
是
审核回复
recommend
int
11
否
智能推荐
create_time
datetime
0
否
创建时间
update_time
timestamp
0
否
更新时间
registered_user
字段名称
类型
长度
不是null
主键
字段说明
registered_user_id
int
11
否
主键
注册用户ID
user_name
varchar
64
否
用户名
category
varchar
64
是
类别
examine_state
varchar
16
否
审核状态
recommend
int
11
否
智能推荐
user_id
int
11
否
用户ID
create_time
datetime
0
否
创建时间
update_time
timestamp
0
否
更新时间
1.
系统的登录窗口是用户的入口,用户只有在登录成功后才可以进入访问。通过在登录提交表单,后台处理判断是否为合法用户,进行页面跳转,进入系统中去。
登录合法性判断过程:用户输入账号和密码后,系统首先确定输入输入数据合法性,然后在login.jsp页面发送登录请求,调用src下的mainctrl类的dopost方法来验证。
用户登录模块的IPO如下所示:
输入:用户名和密码。
处理:
1)检测用户输入的账号、密码是否正确及在数据库已对应存在。
2)从数据库中提取记录,并储存在本地的session中(timeout默认=30min)。
3)根据用户名,将其显示在系统首页上。
输出:是否成功的信息。
登录流程图如下所示。
图5-1登录流程图
系统登录界面如下所示。
图5-2系统登录界面
用户登录的逻辑代码如下。
/**
-
登录
-
@param data
-
@param httpServletRequest
-
@return
*/
@PostMapping(“login”)
public Map
log.info(“[执行登录接口]”);
String username = data.get(“username”);
String email = data.get(“email”);
String phone = data.get(“phone”);
String password = data.get(“password”);
List resultList = null;
Map
if(username != null && “”.equals(username) == false){
map.put(“username”, username);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(email != null && “”.equals(email) == false){
map.put(“email”, email);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(phone != null && “”.equals(phone) == false){
map.put(“phone”, phone);
resultList = service.select(map, new HashMap<>()).getResultList();
}else{
return error(30000, “账号或密码不能为空”);
}
if (resultList == null || password == null) {
return error(30000, “账号或密码不能为空”);
}
//判断是否有这个用户
if (resultList.size()
Original: https://blog.csdn.net/ID3461074420/article/details/127713913
Author: VXbishe
Title: (附源码)springboot大学生创新创业管理 毕业设计 041557
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/705167/
转载文章受原作者版权保护。转载请注明原作者出处!