基于SpringBoot的学生宿舍管理系统【附源码】

news2024/9/28 13:01:42

基于SpringBoot的高校社团管理系统(源码+L文+说明文档)           

4 系统设计   

   一个成功设计的系统在内容上必定是丰富的,在系统外观或系统功能上必定是对用户友好的。所以为了提升系统的价值,吸引更多的访问者访问系统,以及让来访用户可以花费更多时间停留在系统上,则表明该系统设计得比较专业。

4.1 设计原则   

  本系统在设计过程中需要依照一定的设计原则进行,目的就是为了让开发的系统具备高质量,齐全完备的功能,方便简单的操作,如此才可以最大限度的满足使用者的要求。系统设计原则除了基本的易操作原则,安全性原则外,还有准确性原则,实用性原则,可维护性原则。

  第一个设计原则:易操作原则,针对本系统设计的功能要完备齐全,编码时,设计的各个接口要具备友好性,使用者一旦使用本系统时,要能够轻松上手,操作本系统处理数据时,要具备便利性。此外,也需要设计一些必要提示,引导使用者操作系统。

第二个设计原则:安全性原则,本系统在登录模块要对各个访问者进行身份验证,系统会通过访问者输入的信息进行判断,使用提前编写的安全验证代码进行数据比对,引导匹配成功的访问者进入指定的操作界面。这样可以避免无关性访问者窃取系统的数据。

第三个设计原则:准确性原则,为了保证使用者登记的数据是正确的,需要提前设计数据纠错机制,让使用者可以通过系统的报错提示,仔细检查登记的错误信息,并及时纠正错误,填写规范正确的信息。比如设置密码时,要求密码的长度不能低于6个字符,且数据类型要求不能全部是数字等都能进行规范。    

第四个设计原则:实用性原则,本系统主要用于处理信息,在实际工作中,要帮助使用者完成信息处理任务,同时本系统在面对特殊情况时,也要能够满足信息处理的需要。另外,为了后期便于在本系统中进行功能的扩充,也需要提前预留好空间。

第五个设计原则:可维护性原则,本系统在实际使用期间,难免会遇到一些故障,因此,本系统在应对故障时,要能够进行诊断并弱化故障,可以在短时间内进行自维护。

4.2 功能结构设计  

在前面分析的管理员功能的基础上,进行接下来的设计工作,最终展示设计的管理员结构图(见下图)。管理员管理宿管员,管理学生,修改密码,维护个人信息。

图4.1 管理员功能结构图

在前面分析的宿管员功能的基础上,进行接下来的设计工作,最终展示设计的宿管员结构图(见下图)。宿管员管理公寓资产,缴费信息,公共场所清理信息,日常事务信息,审核学生床位安排信息。

图4.2 宿管员功能结构图

在前面分析的学生功能的基础上,进行接下来的设计工作,最终展示设计的学生结构图(见下图)。学生查看公共场所清理信息,日常事务,缴费信息,在线申请床位,查看床位安排。    

图4.3 学生功能结构图

4.3 数据库设计  

开发一个系统也需要提前设计数据库。这里的数据库是相关数据的集合,存储在一起的这些数据也是按照一定的组织方式进行的。目前,数据库能够服务于多种应用程序,则是源于它存储方式最佳,具备数据冗余率低的优势。虽然数据库为程序提供信息存储服务,但它与程序之间也可以保持较高的独立性。总而言之,数据库经历了很长一段时间的发展,从最初的不为人知,到现在的人尽皆知,其相关技术也越发成熟,同时也拥有着坚实的理论基础。    

4.3.1 数据库概念设计  

这部分内容需要借助数据库关系图来完成,也需要使用专门绘制数据库关系图的工具,比如Visio工具就可以设计E-R图(数据库关系图)。设计数据库,也需要按照设计的流程进行,首先还是要根据需求完成实体的确定,分析实体具有的特征,还有对实体间的关联关系进行确定。最后才是使用E-R模型的表示方法,绘制本系统的E-R图。不管是使用亿图软件,还是Visio工具,对于E-R模型的表示符号都一样,通常矩形代表实体,实体间存在的关系用菱形符号表示,实体的属性也就是实体的特征用符号椭圆表示。最后使用直线将矩形,菱形和椭圆等符号连接起来。接下来就开始对本系统的E-R图进行绘制。

(1)下图是学生实体和其具备的属性。

图4.4 学生实体属性图

(2)下图是床位安排实体和其具备的属性。    

图4.5 床位安排实体属性图

(3)下图是宿管员实体和其具备的属性。

图4.6 宿管员实体属性图

(4)下图是缴费实体和其具备的属性。    

图4.7 缴费实体属性图

(5)下图为上述各实体间相互之间的关系。

图4.8 实体间关系E-R图

4.3.2 数据库物理设计  

本数据库是关系型数据库,因此对二维表的结构设计也比较关键。毕竟二维表格模型就是关系型数据库中的关系模型。而一些常用的关系模型中的概念也需要了解,才可以对关系模型进行设计。下面就简单介绍关系,元组,属性,域,关键字等常用概念的含义。    

关系:关系就是数据库中的一张数据表,每张数据表都有命名,也就是每个关系也有名字,那就是数据表名;

元组:元组就是数据表中的一行记录;

属性:属性就是数据表中的字段,也就是数据表中的一列;

域:域就是对数据表中属性的取值进行限定;

关键字:关键字就是数据表中的主键;

在了解了表结构设计的常用概念后,接下来就需要使用前面绘制的E-R模型完成表结构的设计工作,并在数据库中创建数据表,并为各个数据表进行命名。以下就对设计的结果通过表格形式进行展示。

表4. 1 床位安排信息表

字段

类型

默认

注释

id (主键)

bigint(20)

                      

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

bianhao

varchar(200)

NULL

编号

xuehao

varchar(200)

NULL

学号

xingming

varchar(200)

NULL

姓名

xingbie

varchar(200)

NULL

性别

fangjianhao        

varchar(200)

NULL

房间号

chuangweihao

varchar(200)

NULL

床位号

sfsh

varchar(200)

是否审核

shhf

longtext

NULL

审核回复

表4. 2 公寓资产信息表

字段

类型

默认

注释

id (主键)

bigint(20)

                      

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

bianhao

varchar(200)

NULL

编号

fangjianhao

varchar(200)

NULL

房间号

zichanmingcheng

varchar(200)

NULL

资产名称

gudingzichan

varchar(200)

NULL

固定资产

goururiqi

date

NULL

购入日期

gonghao

varchar(200)

NULL

工号

xingming

varchar(200)

NULL

姓名

beizhu

varchar(200)

NULL

备注

表4. 3 缴费信息表

字段

类型

默认

注释

id (主键)

bigint(20)

                      

主键

addtime        

timestamp

CURRENT_TIMESTAMP

创建时间

bianhao

varchar(200)

NULL

编号

xuehao

varchar(200)

NULL

学号

xingming

varchar(200)

NULL

姓名

zhusufeiyong

int(11)

NULL

住宿费用

fabushijian

date

NULL

发布时间

jiaofeiriqi

date

NULL

缴费日期

clicknum

int(11)

0

点击次数

表4. 4 清理公共场所信息表

字段

类型

默认

注释

id (主键)

bigint(20)

                      

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

xuehao

varchar(200)

NULL

学号

xingming

varchar(200)

NULL

姓名

qinglishijian

date

NULL

清理时间

qinglididian

varchar(200)

NULL

清理地点

表4. 5 日常事务信息表

字段

类型

默认

注释

id (主键)

bigint(20)

                      

主键

addtime        

timestamp

CURRENT_TIMESTAMP

创建时间

bianhao

varchar(200)

NULL

编号

xuehao

varchar(200)

NULL

学号

xingming

varchar(200)

NULL

姓名

biaoti

varchar(200)

NULL

标题

neirong

longtext

NULL

内容

shijian

date

NULL

时间

jiafenshixiang

varchar(200)

NULL

加分事项

pingfenbiaozhun

varchar(200)

NULL

评分标准

beizhu

varchar(200)

NULL

备注

表4. 6 宿管员信息表

字段

类型

默认

注释

id (主键)

bigint(20)

                      

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

gonghao

varchar(200)

                      

工号

mima

varchar(200)

                      

密码

xingming

varchar(200)

                      

姓名

xingbie

varchar(200)

NULL

性别

shouji

varchar(200)

NULL

手机

youxiang        

varchar(200)

NULL

邮箱

zhaopian

varchar(200)

NULL

照片

表4. 7管理员信息表

字段

类型

默认

注释

id (主键)

bigint(20)

                      

主键

username

varchar(100)

                      

用户名

password

varchar(100)

                      

密码

role

varchar(100)

管理员

角色

addtime

timestamp

CURRENT_TIMESTAMP

新增时间

表4. 8学生信息表

字段

类型

默认

注释

id (主键)

bigint(20)

                      

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

xuehao

varchar(200)

                      

学号

mima

varchar(200)

                      

密码

xingming

varchar(200)

NULL

姓名

xingbie

varchar(200)

NULL

性别

zhaopian

varchar(200)

NULL

照片

dianhuahaoma

varchar(200)

NULL

电话号码

youxiang        

varchar(200)

NULL

邮箱

第5章 系统实现    

进入到这个环节,也就可以及时检查出前面设计的需求是否可靠了。一个设计良好的方案在运用于系统实现中,是会帮助系统编制人员节省时间,并提升开发效率的。所以在系统的编程阶段,也就是系统实现阶段,对于一些不合理的设计需求,也是可以及时发现。因为设计的方案是完全指导系统的编码过程的。

5.1 管理员功能实现  

5.1.1 宿管员管理  

管理员进入指定功能操作区之后可以管理宿管员。其页面见下图。宿管员的资料需要管理员负责管理,包括修改,新增,删除等操作。

图5.1 宿管员管理页面

5.1.2 学生管理  

管理员进入指定功能操作区之后可以管理学生。其页面见下图。学生信息也需要管理员负责管理,包括信息的增删改查操作。    

图5.2 学生管理页面

5.2 宿管员功能实现  

5.2.1 学生信息管理  

宿管员进入指定功能操作区之后可以管理学生信息。其页面见下图。宿管员增删改查学生信息,为各位学生申请床位,管理学生的卫生记录和日常事务评分。

图5.3 学生信息管理页面    

5.2.2 公寓资产管理  

宿管员进入指定功能操作区之后可以管理公寓资产。其页面见下图。公寓资产存在损坏情况,需要宿管员通过损坏按钮登记公寓资产损坏信息。

图5.4 公寓资产管理页面

5.2.3 缴费信息管理  

宿管员进入指定功能操作区之后可以管理缴费信息。其页面见下图。宿管员增删改缴费信息。

图5.5 缴费信息管理页面    

5.2.4 床位安排管理  

宿管员进入指定功能操作区之后可以管理床位安排。其页面见下图。宿管员审核对学生的床位安排信息。

图5.6 床位安排管理页面

5.3 学生功能实现  

5.3.1 清理公共场所  

学生进入指定功能操作区之后可以查看清理公共场所信息。其页面见下图。各位学生负责清理的公共场所信息都会显示在本页面,学生可查询也能查看。    

图5.7 清理公共场所页面

5.3.2 申请床位  

学生进入指定功能操作区之后可以申请床位。其页面见下图。学生可以选择床位号进行床位申请,宿管员审核通过之后,学生才能使用申请的床位。

图5.8 申请床位页面

5.3.3 日常事务  

学生进入指定功能操作区之后可以查看日常事务。其页面见下图。学生查看日常事务的加分项和评分标准信息。    

图5.9 日常事务页面

5.3.4 缴费信息  

学生进入指定功能操作区之后可以查看缴费信息。其页面见下图。学生查看住宿费用,以及缴费时间等信息。

图5.10 缴费信息页面

源码获取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2173573.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

相关数据库类型介绍

数据库类型可以根据不同的维度进行分类,但最常见的分类方式是将其分为关系型数据库(Relational Databases)和非关系型数据库(Non-Relational Databases),也称为NoSQL数据库。下面我将详细介绍这两种类型的数…

[Linux] Linux操作系统 进程的优先级 环境变量

标题:[Linux] Linux操作系统 进程的优先级 个人主页水墨不写bug (图片来源于网络) 目录 一、进程优先级 1.PRI and NI 2.PRI vs NI 的补充理解 二、命令行参数和环境变量 1. 命令行参数 2.环境变量 I,环境变量是内…

AI大模型算法工程师就业宝典—— 高薪入职攻略与转行秘籍!

从ChatGPT到新近的GPT-4,GPT模型的发展表明,AI正在向着“类⼈化”⽅向迅速发展。 GPT-4具备深度阅读和识图能⼒,能够出⾊地通过专业考试并完成复杂指令,向⼈类引以为傲的“创造⼒”发起挑战。 现有的就业结构即将发⽣重⼤变化&a…

【CSS Tricks】深入聊聊前端编写css的方法论

目录 引言BEM 规范OOCSS 规范结构与样式分离容器与内容分离 SMACSS 规范ITCSS 规范设置层工具层通用层元素层对象层组件层微调层由此分层后的项目代码结构也会相应做修改,主要有两种形式:文件夹形式文件名形式引用方式按照层级顺序引用 ACSS 规范总结 引…

U盘打开提示要格式化:深度剖析、恢复策略与预防指南

U盘打开提示要格式化现象阐述 在日常的数字生活中,U盘作为便携式存储设备的代表,扮演着不可或缺的角色。然而,不少用户都曾遭遇过这样一个令人头疼的问题:当满怀期待地插入U盘,准备访问其中存储的数据时,系…

21天全面掌握:小白如何高效学习AI绘画SD和MJ,StableDiffusion零基础入门到精通教程!快速学习AI绘画指南!

‍‍大家好,我是画画的小强。 今天给大家分享一些我长期以来总结的AI绘画教程和各种AI绘画工具、模型插件,还包含有视频教程 AI工具,免费送👇👇‍‍ 这份完整版的AI绘画全套学习资料已经上传CSDN,朋友们如…

怎么通过AI大模型开发一个网站?

目录 一、提示词与AI输出 二、网站效果 以前不会代码开发,写网站是不可能的事情,现在有了AI,一切都有了可能。以下是我通过通义千问大模型开发的简单网站。 一、提示词与AI输出 提示词1 你是python程序员,我有一个大的需求&am…

使用代理IP数据采集都需要注意那些?

“在当今大数据时代,数据采集成为了企业决策和个人研究的重要依据。然而频繁访问目标网站往往会引发IP被封锁的风险,这时使用代理IP就显得尤为重要。但代理IP的使用并非毫无风险,以下是使用代理IP进行数据采集时需要注意的几个关键事项。” 一…

Spring Boot助力:小徐影院管理系统

第二章开发技术介绍 2.1相关技术 小徐影城管理系统是在Java MySQL开发环境的基础上开发的。Java是一种服务器端脚本语言,易于学习,实用且面向用户。全球超过35%的Java驱动的互联网站点使用Java。MySQL是一个数据库管理系统,因为它…

一些硬件知识(二十四)

如何测量芯片电源的上电时序: FPGA和很多的CPU上电都有一个上电时序:也就是先那部分上电,后那部分上电,这样主板才能正常开机,否则会开机异常: 设置触发参数,选择单次触发: 小米手环…

赋值运算符重载

背景: 在EHR模块进行调试时,发现QVector3D对象进行赋值时,出现变量未赋值成功问题。 问题描述: 在进行代码调试时,发现赋值操作未成功,导致代码逻辑异常,经过分析,发现QVector3D 赋…

数据结构——二叉树的性质和存储结构

二叉树的抽象类型定义 基本操作: CreateBiTree(&T,definition) 初始条件:definition给出二叉树T的定义。 操作结果:按definition构造二叉树T。 PreOrderTraverse(T) 初始条件:二叉树T存在。 操作结果:先序遍历T,对每个结…

springboot农产品销售信息微信小程序—计算机毕业设计源码35557

摘 要 在信息飞速发展的今天,网络已成为人们重要的信息交流平台。每天都有大量的农产品需要通过网络发布,为此,本人开发了一个基于springboot农产品销售信息微信小程序。 对于本农产品销售信息系统的设计来说,它主要是采用后台采…

D21【python接口自动化学习】-python基础之内置数据类型

day21 内置数据类型文档使用 学习日期:20240928 学习目标:内置数据类型--30 内置数据类型参考:如何使用官方文档与帮助? 学习笔记: 使用官方文档 可通过终端查看数据类型的方法 使用帮助 总结 官方文档是体系化的…

端侧Agent系列 | 端侧AI Agent任务拆解大师如何助力AI手机?(详解版)

引言 简介 Octo-planner 规划和执行Agent框架 规划数据集 基准设计 实验设计 结果 全量微调与LoRA 多LoRA训练与合并 不同基础模型的全量微调 不同数据集大小的全量微调 总结 实战 英文 中文示例1: 中文示例2: 0. 引言 人生到处知何似…

简单理解C++在C的基础上的改变

1.C语言的一些不足 我们首先看下面用C语言实现栈 #include<stdio.h> #include<assert.h> #include<stdlib.h> typedef int StackDateType; typedef struct Stack {StackDateType* _ps;size_t _size;size_t _capacity; }Stack; void StackInit(Stack* ps) {…

探索基因奥秘:汇智生物如何利用DNA亲和纯化测序技术革新生物医学研究?

引言&#xff1a; 随着生物医学技术的不断进步&#xff0c;我们对生命奥秘的探索越来越深入。在众多的生物技术中&#xff0c;表观组学分析技术逐渐成为研究的热点。本文将带您走进汇智生物&#xff0c;了解他们如何利用DNA亲和纯化测序技术&#xff08;DAP-seq&#xff09;推…

vue2 将页面生成pdf下载

项目场景&#xff1a; 在项目开发的过程中&#xff0c;经常有下载一些报表&#xff0c;有部分要求文档是pdf格式的文件&#xff0c;这时候可以插件快速地搭建一个将页面生成pdf文件的功能。 依赖支持 本次项目中主要使用的nodejs: 14.20.0&#xff0c;npm版本是6.14.17。 npm…

Glide基本用法及With方法源码解析

文章目录 引入优点 使用步骤导入依赖权限使用 其他用法占位符错误图片后备回调符圆角过渡动画大小调整gif缩略图 使用RequestOptions缓存机制设置缓存策略清理缓存 使用集成库OkHttpVolley with源码解析getRetrieverGlide.getinitializeGlide getRequestManagerRetriever Reque…

VS Code breadcrumbs view 是什么

VS Code breadcrumbs view 是什么 正文 正文 breadcrumbs view&#xff1a;中文翻译&#xff0c;面包屑视图&#xff0c;乍听起来感觉十分抽象。这里我们来解释一下这个视图的含义&#xff1f; 如下图所示&#xff0c;红色框标记的部分就是 这个视图可以显示出当前打卡文件所…