【毕业设计】基于Springboot学生宿舍信息管理系统

项目介绍

毕业论文

本人毕业设计成绩

项目骨架

需求分析

业务需求分析

业务需求分析

系统概要设计

系统功能设计

1. 学生功能模块

2. 宿舍管理员功能模块

3. 系统管理员功能模块

业务流程分析

1.报修流程

2.假期登记流程

3.宿舍评分流程

4.来访人员管理流程

数据库设计

数据库模型设计 

表结构 

(1)dorm宿舍楼信息表

(2)external外来人员访问表

(3)inregister入校登记表

(4)outregister离校登记表

(5)registerbatch登记批次表

(6)repair保修单

(7) score宿舍评分表

(8)scoringbatch评分批次表

(9)staffinfo职工信息表

(10)stuinfo学生信息表

(11)user用户信息表

项目部分运行截图

登入界面

系统管理员界面

宿舍老师界面

学生界面

论文总结

部分代码 


项目介绍

本系统使用了 SpringBoot + SpringMVC + Spring Data JPA 框架构建。使用了easypoi框架作为创新点,可以批量操作excel表格。前端使用了HTML+CSS+Jq+BootStrap  

毕业论文

本人毕业设计成绩

中规中矩...

项目骨架

需求分析

业务需求分析

随着科技和经济的高速发展,互联网与现实生活的关系越来越密切,高校年年扩招,高校的宿舍越建越多,宿舍管理愈发重要,为高校宿舍管理,专门开发一个系统,是非常有必要的。不仅方便了学校对于学生的管理,还有利于学生生活诉求,以及对学校建议上的反馈。

业务需求分析

本宿舍信息管理系统在功能上将达到如下要求[10]

(1)系统界面简约,操作简便,用户即用即会

(2)设计的结构清晰,模块具有较强的扩展性,方便日后增添新功能

(3)该系统具有一定的并发能力,支持较多的用户同时访问,有一定的容灾性

(4)系统中各个功能组件响应速度快,要做到快速稳定高效

(5)在设计结构上要清晰,易扩展。

系统概要设计

系统功能设计

1. 学生功能模块

个人信息管理模块:学生可以修改自己的个人信息,包括学号,姓名,性别,年级,学院,专业,宿舍号,电话,还可以修改自己的账户密码。

报修模块:学生可以申请报修,申请报修后,宿舍管理员就可以看到学生申请的保修,并对其进行处理,而该学生可以通过自己的历史报修记录,查看宿舍管理员的处理结果。

假期登记模块:在宿舍管理员,发布入校或者离校事件后,学生可以提交自己入校或者离校的时间。

宿舍评分查看模块:宿舍管理员,对各个宿舍进行评分后,学生就可以查看自己宿舍的得分,以及自己的宿舍管理员所管理的其他宿舍的评分

2. 宿舍管理员功能模块

个人信息管理模块:宿舍管理员,可以修改自己的个人信息,包括姓名,性别,职工号等,可以修改自己的账户密码,可以查询自己所管理宿舍号对应的学生信息

报修单管理模块:学生申请报修后,宿舍管理员可以看到,并对相应的保修申请进行处理

假期登记模块:宿舍管理员发放入校或者离校登记后,学生端才可以发起申请,而宿舍管理员界面就可以看到学生提交的申请日期。

宿舍评分模块:宿舍管理员定期检查宿舍内务,有权利对各个宿舍进行评分,每次检查过后,宿舍管理员可以登录系统并提交对每个宿舍的评分事宜。

来访人员登记模块:宿舍管理员可以在系统中记录非宿舍成员进入宿舍的情况。记录来访者的,姓名,学号,来自哪个宿舍,以及来宿舍找谁。

3. 系统管理员功能模块

宿舍楼信息管理模块:系统管理员可以查看宿舍的楼层信息,宿舍楼号,宿舍楼层号,房间号,可以批量导入。

学生信息管理模块:系统管理员可以查看学生的全部信息,包括学生的学号,姓名,性别,年龄,学院,专业,宿舍号,电话,以及是否毕业。同时具有批量导入,按条件查找,删除等功能。

职工信息给管理模块:系统管理员可以在后台查看所有职工(宿舍管理员)的全部信息,包括职工号,姓名,性别,年龄,管理楼栋。有批量导入职工的功能,按条件查找职工信息功能,添加职工的功能,修改删除职工信息的功能。

业务流程分析

1.报修流程

学生用户可以登录该系统,在报修申请中申请报修,可以选择宿舍中的各种设施,并说明损坏程度报修原油,点击提交。宿舍信息管理员可以在报修管理的选项卡的未处理报修单中,查看学生提交的报修申请,并对其进行处理。处理后,学生用户可以在该系统中看到,宿舍管理员给出的报修建议与回复。宿舍信息管理员也可以查看自己处理过的历史报修单。

2.假期登记流程

宿舍信息管理员要先发布入校或者离校登记事件,学生用户需要登录该系统,就可以提交自己的入校或者离校时间,提交完成后,宿舍信息管理员可以在后台查看学生用户提交的时间。

3.宿舍评分流程

宿舍信息管理员会定期对宿舍的卫生进行检查,并且给出该宿舍的评分事宜,学生用户登录系统就可以查看到自己宿舍的得分情况,并且同时可以看到该宿舍管理员管理所有学生中他们宿舍的情况。

4.来访人员管理流程

宿舍信息管理员,需要记录好,来访宿舍的人员情况。当有人来宿舍时,宿舍信息管理员可以登录该系统,选择添加来访,并记录来访者的基本信息以及被访问人情况。

数据库设计

数据库模型设计 

表结构 

(1)dorm宿舍楼信息表

(2)external外来人员访问表

(3)inregister入校登记表

(4)outregister离校登记表

(5)registerbatch登记批次表

(6)repair保修单

(7) score宿舍评分表

(8)scoringbatch评分批次表

(9)staffinfo职工信息表

(10)stuinfo学生信息表

(11)user用户信息表

项目部分运行截图

登入界面

系统管理员界面

宿舍老师界面

学生界面

 

论文总结

经过三个月的努力,我终于完成了宿舍信息管理系统代码和论文的编写,对于该系统,就目前看来,还并没有发现功能上了bug,但是在性能优化上还存在一定的欠缺。

通过编写宿舍信息管理系统,让我明白,我在Java基础知识,还有web前端的基本操作还是不够扎实,还有SpringBoot,SpringMVC,Spring Data JPA框架上的应用还是有一定的欠缺。由于独立搭建开发项目少,对开发项目过程思路不够清楚,所以在最初的项目架构的设计上,出现了一定的问题,项目各个类的命名也不够规范。但是就这次毕业设计,也很大程度的推进了我对这些框架的学习,今年年初,原本的设想是用最简单的Java web即原生servlet去完成整个项目的开发,但后面又了解了spring,于是又推动了我学习了SSM中的三个框架,之后在公司实习中,了解到了spring boot所以最后我的项目是用spring boot进行构建的。我了解了Spring的bean的加载流程,Spring的生命周期。

通过这次毕业设计的实践,不仅让我学会和巩固了java的基础知识,而且让我积累了更丰富的开发经验。同时锻炼了我如何去独立发现问题,思考问题以及解决问题的能力,这是我的编程开发能力得到了大大地提高。

部分代码 

DormitoryManagementApplication 启动类

/**
 * @author : Harmony
 */
@SpringBootApplication
public class DormitoryManagementApplication {

    public static void main(String[] args) {
        SpringApplication.run(DormitoryManagementApplication.class, args);
    }
}

DormController  

@Controller
@RequestMapping("/dorm")
public class DormController {

	@Autowired
	private DormServiceI dormServiceI;

	@GetMapping("/view")
	public String getDormView() {
		return "dorm/dorm";
	}

	@GetMapping("/list")
	@ResponseBody
	public Page<Dorm> getDormInfo(@PageableDefault Pageable pageable) {
		return dormServiceI.findDorms(pageable);
	}

	@GetMapping("/getDorms")
	@ResponseBody
	public List<Dorm> getDorms(HttpSession session) {
		UserExpand user = (UserExpand) session.getAttribute("LOGIN_USER");
		return dormServiceI.getDorms(user.getStaffinfo());
	}
	
	@PostMapping("/importExcel")
	@ResponseBody
	public Boolean importExcel(@RequestParam("file") MultipartFile file) {
		return dormServiceI.importExcel(file);
	}
}

LoginController  

@Controller
@RequestMapping("/login")
public class LoginController {

	@Autowired
	private IndexController indexController;

	@Autowired
	private LoginServiceI loginServiceI;

	@GetMapping("/toLogin")
	public String toLogin() {
		return "login/login";
	}

	@PostMapping("")
	public String login(User user, HttpSession session, Model model) {
		UserExpand info = loginServiceI.getUserLoginInfo(user);
		if (null != info) {
			session.setAttribute("LOGIN_USER", info);
			return "redirect:/index";
		}

		model.addAttribute("msg", "error");
		return "login/login";
	}
	
	@GetMapping("/logout")
	@ResponseBody
	public Boolean logout(HttpSession session) {
		session.removeAttribute("LOGIN_USER");
		return true;
	}

}
posted @ 2022-05-18 23:33  金鳞踏雨  阅读(330)  评论(0编辑  收藏  举报  来源