当前位置: 首页 > news >正文

(附源码)基于Spring Boot的宿舍管理系统设计

目录

一、 前言

二、技术环境

三、功能设计

四、实现效果图

五、数据库表(部分)

六、系统测试

七、项目论文展示

八、我们的优势

九、源码及文档获取



 💻博主介绍(必看)

        大家好,我是烽学长,一名拥有五年实战经验的全栈程序员,计算机科班出身的“老学长”(本科于18年计算机科学与技术专业毕业)。现致力于成为大学生毕业设计和技术成长的引航者,提供定制开发、论文指导、项目咨询等一站式服务👋。

       同时欢迎高校老师、企业同仁、校园代理交流合作,共同推动计算机教育与行业应用的深度融合🎯。

        如果你正在为毕设头疼、为项目迷茫,欢迎点击文末名片私信我——我将以专业的态度和丰富的经验,为你指明方向、化解难题,助你在毕业路上高效前行,交出满意的答卷🗂️。

 一、 前言

随着信息技术的快速发展,学生宿舍管理的数字化与智能化成为高校管理的重要一环。本文基于Spring Boot框架,设计并实现一个高效、便捷的学生宿舍管理系统。该系统旨在解决传统宿舍管理中存在的信息不透明、效率低下等问题,通过信息化手段提升管理水平,为学生提供更优质的住宿服务。

系统实现了信息的实时更新与共享,宿管员可以方便地管理学生信息和宿舍资源,学生也可以随时查看住宿情况和报修进度,还可以申请选宿调宿。另外,该系统还具有一定的自动化、智能化,极大地降低了管理者的工作量,提高了宿舍的管理效率。通过本项目的实施,为广大学生提供一个更加方便、透明的寝室管理平台,为实现高校寝室管理的现代化、智能化做出积极的贡献。

二、技术环境

【技术选择根据实际项目需求而定,有需要可通过文末名片咨询定制】

2.1.1  Java语言

Java是一门广泛应用于企业级开发、移动应用开发、大数据处理等多个领域的编程语言。它以其独特的跨平台特性、面向对象的设计理念以及强大的类库支持而著称。Java的跨平台能力得益于其“一次编写,到处运行”的理念。通过Java虚拟机(JVM),Java代码可以在任何支持JVM的平台上运行,无需进行额外的编译或修改。这一特性使得Java成为开发跨平台应用程序的首选语言。在面向对象方面,Java提供了类、继承、封装和多态等基本概念,使得开发者能够构建出模块化、可重用和易于维护的代码。

2.1.2 Spring Boot后端框架

Spring Boot是一个用于简化Spring应用初始搭建和开发过程的全新框架。它消除了许多样板代码和配置,让开发人员能够专注于业务逻辑的实现。Spring Boot以jar包的形式独立运行,内嵌了Tomcat等Servlet容器,使得应用更加轻量级,部署更加方便。

2.1.3 Vue前端技术

Vue前端技术是一种用于构建用户界面的渐进式JavaScript框架。它结合HTML、CSS和JavaScript,为开发者提供了一种高效、灵活的方式来构建现代Web应用。Vue的核心思想是数据驱动视图,通过简洁的模板语法和指令,开发者可以轻松地将数据与DOM元素进行绑定,实现页面的动态更新。

2.1.4 MySQL数据库

MySQL是一种流行的关系型数据库管理系统(RDBMS),由瑞典MySQL AB公司开发,现隶属于Oracle公司。它以高效、稳定、开源和易用等特性而受到广泛欢迎。

2.1.5 Echarts可视化工具

Echarts是一款基于JavaScript的数据可视化图表库,它以其直观、生动、可交互以及可个性化定制的特点,在数据可视化领域占据了重要地位。

Echarts提供丰富的图表类型,如折线图、柱状图、饼图、散点图等,能够满足不同场景下的数据展示需求。同时,它支持各种动画效果,使得数据展示更加生动有趣。

三、功能设计

 线考试管理系统包括3种角色:管理员、学生和宿管员,3种角色根据宿舍管理系统的业务进行宿舍管理、报修管理、调宿管理、公告管理及日常管理等功能的划分。具体的功能模块如图4.1所示。

图4.1 功能结构图

 系统功能设计

经过第三章系统分析的研究后,得出本系统应该实现的功能。本系统分为管理员、学生和宿管员功能三部分。管理员功能包括登录、楼宇管理、宿舍管理、维修管理及用户管理等功能;学生功能包括在线申请调宿、在线报修及查看公告等;宿管员功能包括访客登记、宿舍信息管理、维修处理等核心功能。

数据库设计

数据库概念设计

概念模型(E-R图)如图4.2所示。

图4.2 E-R图

 逻辑结构设计

1、管理员信息表(管理员ID、登录账号、登录密码、状态、添加时间)

2、学生信息表(学生ID、学号、姓名、性别、身份证、电话、院系、班级、楼号、宿舍号、添加时间)

3、宿管员信息表(宿管员ID、账号、名字、电话、邮箱、照片、添加时间)

4、访客表(访客ID、来访人、电话、身份证、原因、来访时间、添加时间)

5、维修表(维修ID、故障描述、照片、宿舍号、学号、姓名、电话、上报时间、添加时间)

6、学生登记表(学生登记ID、学号、姓名、宿舍号、类型、日期、内容、添加时间)

7、宿舍表(宿舍ID、学号、姓名、宿舍号、理由、添加时间)

8、楼宇表(楼宇ID、学号、姓名、性别、身份证、电话、院系、班级、楼号、宿舍号、添加时间)

9、楼宇分配表(楼宇分配ID、楼号、宿管、院系、类型、添加时间)

10、公告表(公告ID、标题、内容、添加时间)

四、实现效果图

 登录模块功能

在管理员、宿管员和学生的登录功能模块中,用户需输入账号和密码进行身份验证。系统验证通过后,用户即可进入相应角色界面,进行后续操作。如图5.1所示。

表5.1登录功能

核心代码:

public Result login(@RequestBody Yonghuxinxi yonghuxinxi, HttpServletRequest request) {

        if (StrUtil.isBlank(yonghuxinxi.getXuehao()) || StrUtil.isBlank(yonghuxinxi.getMima())) {

            throw new CustomException(ResultCode.PARAM_LOST_ERROR);

        }

        Yonghuxinxi login = yonghuxinxiService.login(yonghuxinxi);

        if(login != null) {

            HashMap hashMap = new HashMap();

            hashMap.put("user", login);

            Map<String,Object> map = MapWrapperUtils.builder(MapWrapperUtils.KEY_USER_ID,yonghuxinxi.getId());

            String token = JwtUtil.creatToken(map);

            hashMap.put("token", token);

            return Result.success(hashMap);

        }else {

            return Result.error();

        }

    }

5.2管理员功能模块

5.2.1宿管管理

在管理员功能模块中的宿管员管理部分,管理员可以添加、编辑或删除宿管员信息,确保宿管员数据的实时性和准确性。同时,该模块还提供权限设置功能,以便灵活调整宿管员的职责范围,实现精细化的宿舍管理。如图5.2所示。

图5.2宿管员管理界面图

核心代码:

public Result<Guanliyuan> deleteList(@RequestBody GuanliyuanVo guanliyuan) {

        guanliyuanService.deleteList(guanliyuan.getList());

        return Result.success();

    }

public Result<Guanliyuan> add(@RequestBody GuanliyuanVo guanliyuan) {

        guanliyuanService.add(guanliyuan);

           return Result.success(guanliyuan);

    }

public Result update(@RequestBody GuanliyuanVo guanliyuan) {

        guanliyuanService.update(guanliyuan);

        return Result.success();

    }

5.2.2学生管理

在管理员功能模块的学生管理功能部分,管理员能够查看、编辑和删除学生信息,包括学生的个人资料、住宿记录等。管理员还能通过该模块对用户进行权限分配,以保障系统的安全和用户信息的保密性。如图5.3所示。

图5.3学生管理界面图

核心代码:

public class YonghuxinxiController {

    @Resource

    private YonghuxinxiService yonghuxinxiService;

    @PostMapping

    public Result<Yonghuxinxi> add(@RequestBody YonghuxinxiVo yonghuxinxi) {

//yoxuxiaxnci

        yonghuxinxiService.add(yonghuxinxi);

        return Result.success(yonghuxinxi);

    }

    @GetMapping("/getExcel")

    public void getExcel(HttpServletResponse response) throws IOException {

        // 1. 生成excel

        Map<String, Object> row = new LinkedHashMap<>();

        row.put("xuehao","学号");

        row.put("xingming","姓名");

        row.put("xingbie","性别");

        row.put("sushe","宿舍");

        row.put("beizhu","备注");  

        row.put("addtime","添加时间");

        List<Map<String, Object>> list = CollUtil.newArrayList(row);

        List<Map<String, Object>> daochuexcellist = yonghuxinxiService.daochuexcel();

        for (Map<String, Object> map : daochuexcellist) {

            list.add(map);

        }    

5.2.3楼宇管理

在管理员功能模块中的楼宇管理部分,管理员可以全面地管理楼宇宿舍信息,包括宿舍的分配、宿管的分配等。通过这一模块,管理员可以高效地掌握宿舍的使用情况,确保宿舍资源的合理分配和有效利用。如图5.4所示。

图5.4楼宇管理界面图

核心代码:

public void getExcel(HttpServletResponse response) throws IOException {

        // 1. 生成excel

        Map<String, Object> row = new LinkedHashMap<>();

        row.put("sushe","宿舍");

        row.put("yuanxi","院系");

        row.put("suozailouceng","楼宇");

        row.put("sushehao","宿舍号");

        row.put("addtime","添加时间");

        List<Map<String, Object>> list = CollUtil.newArrayList(row);

        List<Map<String, Object>> daochuexcellist = sushexinxiService.daochuexcel();

        for (Map<String, Object> map : daochuexcellist) {

            list.add(map);

}

5.2.4学生登记管理

在管理员功能模块的学生登记管理部分,管理员可以方便地录入、查询和更新学生的登记信息,包括学生的姓名、学号、宿舍号、登记类型及理由等关键数据。这有助于学生宿舍的规范化管理。如图5.5所示。

图5.5学生登记管理界面图

核心代码:  

 public void getExcel(HttpServletResponse response) throws IOException {

        // 1. 生成excel

        Map<String, Object> row = new LinkedHashMap<>();

        row.put("xuehao","学号");

        row.put("xingming","姓名");

        row.put("sushe","宿舍");

        row.put("leixing","类型");

        row.put("riqi","日期");

        row.put("liyou","理由");

        row.put("addtime","添加时间");

        List<Map<String, Object>> list = CollUtil.newArrayList(row);

        List<Map<String, Object>> daochuexcellist = xueshengdengjiService.daochuexcel();

        for (Map<String, Object> map : daochuexcellist) {

            list.add(map);

        }

        // 2. 写excel

        ExcelWriter writer = ExcelUtil.getWriter(true);

        writer.write(list,true);        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");

      response.setHeader("Content-Disposition","attachment;filename=chaoba.xlsx");

        ServletOutputStream out = response.getOutputStream();

        writer.flush(out, true);

        writer.close();

        IoUtil.close(System.out);

    }  

5.2.5维修管理

在管理员功能模块中的维修管理部分,管理员可以有效跟踪和管理宿舍设施的维修请求。通过记录维修详情、分配维修人员及监控维修进度,确保问题得到及时解决,提升宿舍设施的维护效率和居住体验。如图5.6所示。

图5.6维修管理界面图

核心代码:  

public void getExcel(HttpServletResponse response) throws IOException {

        // 1. 生成excel

        Map<String, Object> row = new LinkedHashMap<>();

        row.put("guzhangmiapshu","故障描述");

        row.put("zhaopian","照片");

        row.put("sushehao","宿舍号");

        row.put("xuehao","学号");   

        row.put("addtime","添加时间");

        List<Map<String, Object>> list = CollUtil.newArrayList(row);

        List<Map<String, Object>> daochuexcellist = weixiujiluService.daochuexcel();

        for (Map<String, Object> map : daochuexcellist) {

            list.add(map);

        }

5.2.6申请上报管理

在管理员功能模块中的申请上报管理部分,管理员能够处理和审批来自学生的各类申请,如宿舍调换、退宿等。通过这一模块,申请流程更加规范高效,有助于管理员及时了解并响应宿舍内部需求。如图5.7所示。

图5.7申请上报管理界面图

核心代码:  

public void getExcel(HttpServletResponse response) throws IOException {

        // 1. 生成excel

        Map<String, Object> row = new LinkedHashMap<>();

        row.put("xuehao","学号");

        row.put("sushehao","宿舍号");

        row.put("riqi","日期");

        row.put("liyou","理由");

        row.put("xingming","姓名");

        row.put("sushe","宿舍");

        row.put("addtime","添加时间");

        List<Map<String, Object>> list = CollUtil.newArrayList(row);

        List<Map<String, Object>> daochuexcellist = shenqingshangbaoService.daochuexcel();

        for (Map<String, Object> map : daochuexcellist) {

            list.add(map);

        }

5.2.7访客管理

在管理员功能模块中的访客管理部分,管理员能够全面管理每个楼宇的访客登记信息,包括来访人的姓名、电话、身份证等。通过这一功能,管理员可以清晰掌握来访情况。如图5.8所示。

图5.8访客管理界面图

核心代码:  

public void getExcel(HttpServletResponse response) throws IOException {

        // 1. 生成excel

        Map<String, Object> row = new LinkedHashMap<>();

        row.put("laifangren","来访人");

        row.put("dianhua","电话");

        row.put("shenfenzheng","身份证");

        row.put("yuanyin","原因");

        row.put("laifangshijian","来访时间");

        row.put("addtime","添加时间");

        List<Map<String, Object>> list = CollUtil.newArrayList(row);

        List<Map<String, Object>> daochuexcellist = sushechengyuanService.daochuexcel();

        for (Map<String, Object> map : daochuexcellist) {

            list.add(map);

        }  

5.3宿管员功能模块

5.3.1个人资料管理

宿管员功能模块中的个人资料管理部分,允许宿管员编辑和更新自己的个人信息,如姓名、联系方式等,确保个人资料的准确性和最新性。这有助于提升系统内部通讯的效率和准确性,便于其他管理人员或学生与宿管员进行联系。如图5.9所示。

图5.9个人资料管理界面图

核心代码:

public class DormitoryManagerService {

    @PersistenceContext

    private EntityManager entityManager;

    @Transactional

    public DormitoryManager updateDormitoryManager(DormitoryManager dormitoryManager) {

        DormitoryManager existingManager = entityManager.find(DormitoryManager.class, dormitoryManager.getId());

        if (existingManager != null) {

            // 更新属性

            existingManager.setName(dormitoryManager.getName());

          existingManager.setPhoneNumber(dormitoryManager.getPhoneNumber());

            existingManager.setEmail(dormitoryManager.getEmail());

            // ... 更新其他属性

            // 保存更新

            entityManager.flush();

            return existingManager;

        }

        return null;

    }

5.3.2学生登记管理

宿管员功能模块中的学生登记管理,使宿管员能够直接管理和记录入住学生的基本信息,包括入住状态、个人信息变更等。通过这一功能,宿管员可以迅速掌握宿舍入住情况,确保学生信息的实时更新和准确性。如图5.11所示。

图5.11学生登记管理模块界面图

核心代码:

public class StudentController {

    @Autowired

    private StudentService studentService;

    @PostMapping("/register")

    public Student registerStudent(@RequestBody Student student) {

        return studentService.registerStudent(student);

    }

    // 其他控制器方法,如获取学生列表、获取单个学生信息等...

}  

5.3.3访客查询

宿管员功能模块中的访客管理功能,使宿管员能够方便地查看和管理所负责宿舍的来访信息,包括来访者的姓名、电话、身份证和原因等。这有助于宿管员及时了解外来人口变动,确保宿舍安全和秩序。如图5.12所示。

图5.12访客记录查询界面图

核心代码:

public class DormitoryController {

    @Autowired

    private DormitoryService dormitoryService;

    @PostMapping("/{dormitoryId}/students")

    public void addStudentToDormitory(@PathVariable Long dormitoryId, @RequestParam Long studentId) {

        dormitoryService.addStudentToDormitory(dormitoryId, studentId);

    }

    @DeleteMapping("/{dormitoryId}/students/{studentId}")

    public void removeStudentFromDormitory(@PathVariable Long dormitoryId, @PathVariable Long studentId) {

        dormitoryService.removeStudentFromDormitory(dormitoryId, studentId);

    }

}  

5.3.4申请记录查询

宿管员功能模块中的申请管理功能,允许宿管员查看学生的各类申请,如换宿、退宿等,并及时上报给管理员审批。这一功能提高了申请处理的效率,确保了学生需求的及时响应和解决。如图5.13所示。

图5.13申请记录查询界面图

核心代码:

public class DormitoryApplicationController {

    @Autowired

    private DormitoryApplicationService dormitoryApplicationService;

    @PostMapping

    public void submitApplication(@RequestBody DormitoryApplication application) {

        dormitoryApplicationService.submitApplication(application);

    }

    @GetMapping("/pending")

    public Iterable<DormitoryApplication> getAllPendingApplications() {

        return dormitoryApplicationService.getAllPendingApplications();

    }

    @PutMapping("/{id}/process")

    public void processApplication(@PathVariable Long id) {

        dormitoryApplicationService.processApplication(id);

    }  

5.3.5维修管理

宿管员功能模块中的维修管理,让宿管员能够及时记录并跟进宿舍内的维修需求。宿管员可以上报损坏情况,跟踪维修进度,确保问题得到及时解决,为学生提供更好的居住环境。如图5.14所示。

图5.14维修管理界面图

核心代码:

public class DormitoryMaintenanceService {

    @Autowired

    private DormitoryMaintenanceRepository dormitoryMaintenanceRepository;

    // 创建维修请求

    @Transactional

    public DormitoryMaintenance createMaintenanceRequest(DormitoryMaintenance maintenance) {

        return dormitoryMaintenanceRepository.save(maintenance);

    }

    // 获取所有维修请求

    public List<DormitoryMaintenance> getAllMaintenanceRequests() {

        return dormitoryMaintenanceRepository.findAll();

    }

    // 更新维修状态

    @Transactional

    public void updateMaintenanceStatus(Long id, MaintenanceStatus status) {

        DormitoryMaintenance maintenance = dormitoryMaintenanceRepository.findById(id)

                .orElseThrow(() -> new IllegalArgumentException("维修请求不存在"));

        maintenance.setStatus(status);

        dormitoryMaintenanceRepository.save(maintenance);

    }  

5.4学生功能模块

5.4.1个人资料管理

学生功能模块中的个人资料管理,使学生能够自主管理和更新自己的基本信息,如姓名、联系方式等。这一功能不仅有助于学生确保个人资料的准确性,还能提升学生在系统中的自助服务能力。如图5.15所示。

图5.15个人资料管理界面图

核心代码:

public class StudentProfileService {

    @Autowired

    private StudentRepository studentRepository;

    // 获取当前登录学生的个人资料

    public Student getCurrentStudentProfile(Long studentId) {

        return studentRepository.findById(studentId)

                .orElseThrow(() -> new IllegalArgumentException("学生不存在"));

    }

    // 更新当前登录学生的个人资料

    @Transactional

    public Student updateStudentProfile(Long studentId, StudentProfileUpdateDto profileUpdateDto) {

        Student student = getCurrentStudentProfile(studentId);

        // 根据DTO更新学生对象

        student.setName(profileUpdateDto.getName());

        student.setEmail(profileUpdateDto.getEmail());

        student.setPhoneNumber(profileUpdateDto.getPhoneNumber());

        // ... 其他字段更新

        return studentRepository.save(student);

    }    

5.4.2申请上报管理

学生功能模块中的申请上报管理,允许学生提交各类申请,如换宿、退宿等,并实时查看申请状态。通过这一功能,学生可以便捷地表达自己的需求,并及时获得管理层的反馈,提高了申请处理的透明度和效率。如图5.16所示。

图5.16申请上报添加管理界面图

图5.16申请上报查询管理界面图

核心代码:

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Service;

import org.springframework.transaction.annotation.Transactional;

@Service

public class DormitoryApplicationService {

    @Autowired

    private DormitoryApplicationRepository applicationRepository;

    // 学生提交宿舍申请

    @Transactional

    public DormitoryApplication submitApplication(DormitoryApplication application) {

        return applicationRepository.save(application);

    }

    // 管理员审核宿舍申请

    @Transactional

    public void reviewApplication(Long applicationId, ApplicationStatus status, String remark) {

        DormitoryApplication application = applicationRepository.findById(applicationId)

                .orElseThrow(() -> new IllegalArgumentException("申请不存在"));

        application.setStatus(status);

        application.setRemark(remark);

        applicationRepository.save(application);

    }

}    

5.2.3学生登记管理

学生功能模块中的学生登记管理,让学生可以查看和管理自己的日常登记信息,包括不归、晚归等章台。通过这一功能,可以清晰地了解学生的入住情况。如图5.17所示。

图5.17学生登记管理图

核心代码:  

public class StudentRegistrationService {

    @Autowired

    private StudentRepository studentRepository;

    // 学生登记

    public Student registerStudent(@RequestBody Student student) {

        // 验证学生信息是否完整或合法

        // 保存学生信息到数据库

        Student savedStudent = studentRepository.save(student);     

        return savedStudent;

    }    

五、数据库表(部分)

管理员信息表主要用于保存系统管理员的信息,主要字段包括:管理员ID、登录账号、登录密码、状态、添加时间。表结构如表4.1所示。

表4.1管理员信息表

列名

数据类型

长度

允许空

是否主键

说明

userId

int

10

管理员ID

userName

varchar

12

登录账号

userPw

varchar

15

登录密码

status

varchar

10

管理员状态

addTime

datetime

8

添加时间

学生信息表主要用于存储学生个人信息,主要字段包括:学生ID、学号、姓名、性别、身份证、电话、院系、班级、楼号、宿舍号、添加时间。表结构如表4.2所示。

表4.2学生信息表

列名

数据类型

长度

允许空

是否主键

说明

studentId

int

11

学生ID

studentNo

varchar

20

学号

name

varchar

50

姓名

gender

varchar

10

性别

idCard

varchar

18

身份证

phone

varchar

20

电话

department

varchar

50

院系

className

varchar

50

班级

buildingNo

varchar

10

楼号

dormitoryNo

varchar

10

宿舍号

addTime

datetime

8

添加时间

宿管员信息表主要用于保存宿管员信息信息,主要字段包括:宿管员ID、账号、名字、电话、邮箱、照片、添加时间。表结构如表4.3所示。

表4.3宿管员信息表

列名

数据类型

长度

允许空

是否主键

说明

dormitoryManagerId

int

11

宿管员ID

account

varchar

50

账号

name

varchar

50

名字

phone

varchar

20

电话

email

varchar

100

邮箱

photo

varchar

255

照片

addTime

datetime

8

添加时间

访客表主要用于保存访客信息,主要字段包括:访客ID、来访人、电话、身份证、原因、来访时间、添加时间。表结构如表4.4所示。

表4.4访客表

列名

数据类型

长度

允许空

是否主键

说明

visitorId

int

11

访客ID

visitorName

varchar

50

来访人

visitorPhone

varchar

20

电话

visitorIdCard

varchar

18

身份证

reason

varchar

255

原因

visitTime

datetime

8

来访时间

addTime

datetime

8

添加时间

维修表主要用于保存维修信息,主要字段包括:维修ID、故障描述、照片、宿舍号、学号、姓名、电话、上报时间、添加时间。表结构如表4.5所示。

表4.5维修表

列名

数据类型

长度

允许空

是否主键

说明

maintenanceId

int

11

维修ID

faultDescription

varchar

255

故障描述

photo

varchar

255

照片

dormitoryNo

varchar

10

宿舍号

studentNo

varchar

20

学号

studentName

varchar

50

姓名

studentPhone

varchar

20

电话

reportTime

datetime

8

上报时间

addTime

datetime

8

添加时间

学生登记表主要用于存储学生登记信息,主要字段包括:学生登记ID、学号、姓名、宿舍号、类型、日期、内容、添加时间。表结构如表4.6所示。

表4.6学生登记表

列名

数据类型

长度

允许空

是否主键

说明

studentRegisterId

int

11

学生登记ID

studentNo

varchar

20

学号

name

varchar

50

姓名

dormitoryNo

varchar

10

宿舍号

type

varchar

50

类型

date

date

10

日期

content

varchar

255

内容

addTime

datetime

8

添加时间

宿舍表主要用于存储宿舍信息,主要字段包括:宿舍ID、学号、姓名、宿舍号、理由、添加时间。表结构如表4.7所示。

表4.7宿舍表

列名

数据类型

长度

允许空

是否主键

说明

dormitoryId

int

11

宿舍ID

studentNo

varchar

20

学号

name

varchar

50

姓名

dormitoryNo

varchar

10

宿舍号

reason

varchar

255

理由

addTime

datetime

8

添加时间

楼宇表主要用于存储楼宇信息,主要字段包括:楼宇ID、学号、姓名、性别、身份证、电话、院系、班级、楼号、宿舍号、添加时间。表结构如表4.8所示。

表4.8楼宇表

列名

数据类型

长度

允许空

是否主键

说明

buildingId

int

11

楼宇ID

studentNo

varchar

20

学号

name

varchar

50

姓名

gender

varchar

10

性别

idCard

varchar

18

身份证

phone

varchar

20

电话

department

varchar

50

院系

className

varchar

50

班级

buildingNo

varchar

10

楼号

dormitoryNo

varchar

10

宿舍号

addTime

datetime

8

添加时间

六、系统测试

表6.1宿舍管理测试用例表

测试用例

测试方法

测试结果

添加宿舍

通过系统尝试添加一个新的宿舍,填写所有必填信息。

宿舍成功添加,可以在宿舍列表中看到新添加的宿舍。

修改宿舍信息

选择一个已存在的宿舍,修改其部分信息(如宿舍号、楼层等)后保存。

宿舍信息成功更新,可以在宿舍详情中看到修改后的信息。

删除宿舍

选择一个已存在的宿舍,进行删除操作。

宿舍成功删除,宿舍列表中不再显示该宿舍。

表6.2维修管理测试用例表

测试用例

测试方法

测试结果

提交维修申请

以学生或宿管员身份提交一个维修申请,填写相关信息。

维修申请成功提交,可以在维修申请列表中看到新提交的申请。

分配维修人员

管理员尝试分配维修人员给一个已提交的维修申请。

维修人员成功分配,可以在维修申请详情中看到分配的维修人员信息。

完成维修任务

维修人员完成维修任务后,标记维修完成。

维修任务成功标记为完成,申请状态更新为已完成。

表6.3申请上报管理测试用例表

测试用例

测试方法

测试结果

提交换宿申请

学生尝试提交一个换宿申请,填写相关信息。

换宿申请成功提交,可以在申请列表中看到新提交的申请。

审批换宿申请

管理员尝试审批一个已提交的换宿申请。

换宿申请成功审批,申请状态更新为已审批,学生宿舍信息相应更新。

提交请假申请

学生尝试提交一个请假申请,填写请假时间和原因。

请假申请成功提交,可以在申请列表中看到新提交的申请

6.2  非功能测试

以下是基于Spring Boot的宿舍管理系统的非功能测试用例表,重点关注系统的性能、兼容性和易用性等非功能方面。

表6.4性能测试用例表

测试用例

测试方法

测试结果

用户同时操作

模拟多个用户同时访问系统并进行操作,如创建用户、提交申请等。

系统能够稳定处理多用户并发操作,无明显延迟或错误。

大量数据处理

在系统中导入大量用户数据,并进行查询、修改等操作。

系统能够高效处理大量数据,查询和修改操作在可接受的时间内完成。

长时间运行稳定性

让系统连续运行数天,期间不断进行各种操作。

系统在长时间运行后仍然保持稳定,未出现崩溃或性能下降。

表6.5兼容性测试用例表

测试用例

测试方法

测试结果

不同浏览器兼容性

使用Chrome、Firefox、Safari、Edge等不同浏览器访问系统。

系统在不同浏览器上均能正常显示和运行,无明显差异或错误。

不同操作系统兼容性

在Windows、macOS、Linux等不同操作系统上运行系统。

系统在不同操作系统上均能正常安装和运行,无明显问题。

移动设备兼容性

使用手机和平板等移动设备访问系统。

系统在移动设备上能够自适应屏幕大小,功能正常使用。

表6.6易用性测试用例表

测试用例

测试方法

测试结果

界面布局合理性

观察系统的界面布局,检查按钮、输入框等元素的摆放是否合理。

界面布局整洁、直观,用户能够轻松找到所需功能。

操作流程简洁性

按照正常业务流程操作系统,观察操作步骤是否简洁明了。

操作流程清晰,用户能够顺利完成各项任务,无需额外帮助。

提示信息明确性

在操作过程中观察系统给出的提示信息是否明确易懂。

提示信息准确、清晰,能够帮助用户快速理解当前操作或问题所在。

七、项目论文展示

论文字数1.6W+

八、我们的优势

项目功能点多,界面美观满足毕设要求!

项目提供源码,无bug包远程部署运行!

配套文档内容全,满足答辩要求!

九、源码及文档获取

点击文章下方名片联系我即可~

精彩专栏推荐订阅:在下方专栏

java类毕设实战案例
计算机毕设答辩指南

计算机毕设选题指导

大家点赞、收藏、关注啦,查看联系方式⬇


文章转载自:

http://ShP9ZDSv.zsLtw.cn
http://x3Ic1Wdc.zsLtw.cn
http://19a6vcKW.zsLtw.cn
http://tveNN6zh.zsLtw.cn
http://7h3Yr382.zsLtw.cn
http://xuB0VVWf.zsLtw.cn
http://YQjq9FJo.zsLtw.cn
http://lerzazKA.zsLtw.cn
http://gGfs7VZ3.zsLtw.cn
http://F4DG3HLE.zsLtw.cn
http://GVSOzC5D.zsLtw.cn
http://VNisNwEE.zsLtw.cn
http://eq37MK1s.zsLtw.cn
http://qdUU1Wse.zsLtw.cn
http://XkfN2XLi.zsLtw.cn
http://c4hFICUJ.zsLtw.cn
http://7jFXOtZ3.zsLtw.cn
http://b9czB8AE.zsLtw.cn
http://IO4yBPSN.zsLtw.cn
http://VF7DISDJ.zsLtw.cn
http://UhjVtRlV.zsLtw.cn
http://ZQ90JWCL.zsLtw.cn
http://1nH8GraN.zsLtw.cn
http://ij4Zdons.zsLtw.cn
http://cP1iA21x.zsLtw.cn
http://ooNlAb7E.zsLtw.cn
http://CiqfIMIb.zsLtw.cn
http://B9xabVXv.zsLtw.cn
http://QHEKIl43.zsLtw.cn
http://mfyGkdis.zsLtw.cn
http://www.dtcms.com/a/382840.html

相关文章:

  • Mac下Python3安装
  • C++数组与字符串:从基础到实战技巧
  • 第13课:分布式Agent系统
  • Docker 容器化部署核心实战——Nginx 服务配置与正反向代理原理解析
  • 【分享】中小学教材课本 PDF 资源获取指南
  • 如何用 Git Hook 和 CI 流水线为 FastAPI 项目保驾护航?
  • 安卓旋转屏幕后如何防止数据丢失-ViewModel入门
  • STM32_05_时钟树
  • 元宇宙与体育产业:沉浸式体验重构体育全链条生态
  • LeetCode 每日一题 966. 元音拼写检查器
  • C++密码锁 2023年CSP-S认证真题 CCF信息学奥赛C++ 中小学提高组 第二轮真题解析
  • Vue3 视频播放器完整指南 – @videojs-player/vue 从入门到精通
  • 零售企业数字化转型的道、法、术:基于开源AI大模型AI智能名片S2B2C商城小程序的战略重构
  • 【编号500】(道路分类)广东路网数据广东路网分类数据(2025年)
  • 【PHP7内核剖析】-1.3 FPM
  • 网络编程之UDP广播与粘包问题
  • h3笔记:polygon
  • Unity 性能优化 之 编辑器创建资源优化( 工作流 | 场景 | 预制体)
  • 《Python Web部署应知应会》No3:Flask网站的性能优化和实时监测深度实战
  • 《嵌入式硬件(十):基于IMX6ULL的按键操作》
  • JVM默认栈大小
  • 深度学习实战指南:从神经网络基础到模型优化的完整攻略
  • 浏览器性能测试深度解析:指标、工具与优化实践
  • 【嵌入式DIY实例-ESP32篇】-3D姿态测量(Pitch, Roll, Yaw)
  • LeetCode 0966.元音拼写检查器:三个哈希表实现
  • 深入浅出 HarmonyOS 应用开发:ArkTS 声明式 UI 与状态管理最佳实践
  • 大数据处理与清洗实战:从Spark到Flink的深度优化
  • 从零开始搞定C++类和对象:取地址运算符重载
  • 第8课:Agent协作模式实现
  • 【LeetCode 每日一题】3021. Alice 和 Bob 玩鲜花游戏