基于Python的宿舍管理系统/基于Spring Boot的学生宿舍管理系统/计算机专业/课设

摘要

宿舍管理系统是一种基于计算机技术的管理工具,旨在提高学生宿舍管理的效率、准确性和安全性。随着高校规模的不断扩大和学生数量的增加,宿舍管理工作变得愈发复杂,传统的手工管理已经无法满足需求。因此,开发宿舍管理系统已经成为高校管理工作中的趋势和必然选择,管理员为了可以更为便捷地管理学生宿舍,宿舍管理系统被开发出来。由于其特有的便捷性,已经被人们所接受。

本项目以管理学生宿舍为研究背景,基于MVC模式架构,采用支持跨平台的 Python语言以及MySQL数据库和B/S结构开发了宿舍管理系统。系统的主要有学生、宿管员和管理员三个角色。本文通过分析宿舍管理系统的需求,建立起了相关的开发模型,分析了Django框架的特点,构建出相关的系统需要的开发环境。通过调研,明确了宿舍管理系统的需求,最后开发实现了系统并进行了测试。

关键词宿舍管理系统;Python;MVC;Django

Abstract

Dormitory management system is a management tool based on computer technology, aiming at improving the efficiency, accuracy and security of student dormitory management. With the continuous expansion of the scale of colleges and universities and the increase of the number of students, dormitory management has become more and more complex, the traditional manual management has been unable to meet the needs. Therefore, the development of dormitory management system has become the trend of college management and inevitable choice, administrators in order to more convenient management of students' dormitories, dormitory management system has been developed. Because of its unique convenience, it has been accepted by people.

This project takes the management of student dormitories as the research background. Based on the MVC pattern architecture, the dormitory management system is developed by using the cross-platform Python language, MySQL database and B/S structure. The system mainly has three roles: student, dormitory administrator and administrator. By analyzing the requirements of dormitory management system, this paper establishes the relevant development model, analyzes the characteristics of Django framework, and builds the development environment required by the relevant system. Through the investigation, clear dormitory management system needs, finally developed and implemented the system and tested.

Key words: dormitory management system; Python; MVC; Django

  

摘要

Abstract

1 绪论

1.1 课题研究背景

1.2 课题研究的目的和意义

1.4 课题研究主要内容

2 相关背景技术

2.1 MVC模式

2.2 Django框架

2.3 MySQL数据库

2.4 Vue技术

3 需求分析

3.1 系统目标

3.2 可行性分析

3.2.1 经济可行性研究

3.2.2 技术可行性研究

3.2.3 社会可行性

3.3 功能需求分析

3.4 非功能性需求分析

4 系统设计

4.1 功能设计

4.2 功能模块

4.3 系统数据库设计

4.3.1 数据库概念结构设计

4.3.2 数据库逻辑结构设计

5 系统实现

5.1 管理员模块

5.1.1 登录

5.1.2 学生管理

5.1.3 宿管员管理

5.1.4 宿舍信息管理

5.1.5卫生评比管理

5.1.6离校登记管理

5.2 学生模块

5.2.1宿舍安排管理

5.2.2访问申请管理

5.2.3报修记录管理

5.2.4离校登记管理

5.3 宿管员模块

5.3.1宿舍信息管理

5.3.2卫生评比管理

6 系统测试

6.1 测试的目的

6.2 测试方法与内容

6.3 测试用例设计

7 总结

参考文献

致谢

1 绪论

1.1 课题研究背景

网络的发展,已经过去了七十多年,网络技术飞速的发展,将会影响到人类的方方面面,网络的出现,让各行各业都得到了极大的发展。

现在许多的产业都与因特网息息相关,特别是在网络的年代,宿舍管理也越来越流行。我国的宿舍管理系统制度已经发展了相当长的一段时期,其类型也各不相同。很多人都希望能够为自己量身定做一些特殊的系统,所以这个市场有着很大的发展空间。

(1)与常规工作方式相比,该系统可以有效地改善管理员的管理和减少错误的发生。通过编译后的宿舍管理系统的功能可以极大地减少管理员管理失误的几率,当管理员在管理系统时出现了差错时,会有相应的提醒[1]

(2)利用宿舍管理体系进行管理,可以减少相关费用,节约大量的时间和人员,使管理者更好地了解人员状况信息。

1.2 课题研究的目的和意义

宿舍管理是校园管理的重要组成部分,对于学生生活和学习的质量有着重要影响。因此,研究宿舍管理系统的意义非常重大。

首先,宿舍管理系统可以提高管理效率。传统的宿舍管理方式需要人工进行,管理者需要花费大量的时间和精力去处理各种事务。而宿舍管理系统可以实现信息化管理,自动化处理各项事务,从而提高管理效率。其次,宿舍管理系统可以增强管理的公平性[2]。传统的宿舍管理方式容易出现管理者主观性强、不公平的情况。而宿舍管理系统可以建立公平的管理机制,通过数据分析和规则制定,实现公正公平的管理,避免管理者的主观干预。再次,宿舍管理系统可以提高学生的安全保障。宿舍管理系统可以实现智能化监测,对于学生的出入和行为进行监控,及时发现异常情况,从而提高学生的安全保障。

最后,宿舍管理系统可以提高学生的生活质量。宿舍管理系统可以实现智能化服务,为学生提供更加舒适、便捷的居住环境,从而提高学生的生活质量[3]

综上所述,研究宿舍管理系统具有重要意义,它可以提高管理效率、增强管理的公平性、提高学生的安全保障和生活质量。宿舍管理系统的研究和应用将会对宿舍管理的现代化和智能化发展起到积极的推动作用。

1.4 课题研究主要内容

(1)本次针对开发设计系统并设置了与之相关的实施方案,通过对完整的软件开发流程进行分析,先是开发了设置不同用户的操作权限和相关功能两个模块,最后一步就是对系统进行测试。

(2)程序开发者根据框架迅速构建软件的整体层次, Django是本次开发用到的框架,它有一个巨大的优势那就是拥有很强的开发环境部署的能力,程序开发者可以快速便捷的构建出相关的软件基本框架,通过多种框架的开发不仅可以帮助程序开发者减少代码量,而且系统的安全性和稳定性还得到了提升,对处理宿舍管理系统功能的模块也起到了帮助。

(3)操作数据需要通过使用开源框架进行管理,该框架不仅符合最基本的标准还可以利用数据库之间的约束关系来约束数据库的记录,这样系统实体和数据库表字段就相映射,根据它们之间的关系模型从而来设置系统实体间的关系。

2 相关背景技术

2.1 MVC模式

模型―视图―控制器(MVC)是一个工具箱。本系统使用了目前这种最广泛通行的软件设计模型MVC。MVC(Model-View-Controller)的应用程序架构可以被用于解析分布式应用编程的特点。而这个抽象出架构,可以帮助把应用程序划分为几个逻辑部分,让编程过程变得比较简单。将某个应用领域的注入、管理、输出过程,依照Model、View、Controller的方法加以分开,而这么一种应用领域可以被分成三层—建模层、视图层、管理层。MVC模式如图2-1:

图2.1 MVC模式图

MVC模型的诞生,很好的缓解了传统开发WEB应用方法中出现的问题。M代表任务模块(Mode1),包括实现任务所必须的全部的操作和数据信息;V代表视图(View)页面,现实模式所提交的全部数据信息;C代表控制台层(Control1er),它把模块映射到用户界面中,管理应用的输入输出和相应请求[4]。其模块的相互关系如图所示。在MVC模式中,由于三层之间各尽其职、彼此独立工作,各层内容的变化并没有影响到其它层次,因此大大降低了各种数据表示、各种数据表示与所必须控制对象的耦合度,也就可以很好的进行项目开发中的分配,从而加快了工程进度。

2.2 Django框架

Django框架是基于Python 语言的的开源Web应用框架,Django是从真实世界的应中成长起来的,它是由堪萨斯州Lawrence城市中的一个网络开发小组编写的,Django的问世,大大方便了高校学报投稿系统的快速建设,方便了信息的传播。

2.3 MySQL数据库

MySQL指的是一个数据仓库,它可以被看作是一个真实的文档。使用者可以利用这个数据库储存资料至数据库。MySQL所用的语言版本是作为建立表的语言。

由于MySQL系统的安装费用低廉,运行速度较快,因此许多中小公司在使用 MySQL数据库时都会采用 MySQL。MySQL数据库具有良好的性能,而且它的源代码是自由的,因此可以大大减少企业的开发费用。

2.4 Vue技术

Vue具有Web站点的设计构件,使用该构件可以更好地构建站点的各个模块。Vue基于 Html, CSS, JavaScript等语言,其编码更加简洁,更便于编写Web应用程序。Vue Framework不但可以创建前端网页,还可以减少系统的开销。Vue的优势有很多:

(1)可与装置及浏览器相适应。能够与 FireFox等流行的浏览器相适应。

(2)反应式排版。Vue的前部结构是一个内部的流形格栅,它可以根据使用者的计算机的解析度来自动调节网页,这样就不会出现由于分配法则的问题造成的版面混乱[5]

(3)CSS系统的模块性;Vue架构中的 CSS部件可以让您可以对网页进行直接的访问。

(4)内置JavaScript插件。JavaScript的外挂可以为网站的效果而使用。

(5)大量的组件。Vue Framework包含大量的构件,如导航条和标签库等[6]

3 需求分析

在设计一个系统之前,必须要先了解用户的需求,然后才能对系统的功能进行分析,然后确定系统的功能。

3.1 系统目标

最终一个完整的宿舍管理系统必须设定如下目标:

(1)用户在进行宿舍管理系统的登录时,不能操作太过繁琐,编程人员在进行系统的设计时,需要将系统的运行过程简化。

(2)为了区别不同的使用者角色,系统必须设定使用者的权限。

(3)系统中所用的数据库必须具有并行性和安全性。

(4)所述宿舍管理系统的设计实施要求允许多名使用者登录。

(5)管理员在宿舍管理系统注册后,可以使用 SQL语句管理系统的系统信息。

3.2 可行性分析

3.2.1 经济可行性研究

从需求分析到最终的系统实施,宿舍管理系统所耗费的时间并不长,而且无需购置昂贵的电脑硬件。宿舍管理系统建立了一个后台管理界面,可以管理系统的信息,减少了管理员对系统的管理时间,使其可以在系统的功能上多花一些时间[7]

3.2.2 技术可行性研究

本文所设计的宿舍管理系统,无论是软件体系结构还是所采用的开放源码框架,都是比较成熟的技术,与目前市面上已有的宿舍管理系统相比,本文所开发的宿舍管理系统在技术上问题相对较少。

3.2.3 社会可行性

本文所研制的宿舍管理系统具有不违背法律、伦理层面、操作界面较为简便、便于用户使用的特点。由于电脑技术的飞速发展,电脑技术在教育行业中的运用也越来越广泛,因而可以更好地为这次的宿舍管理系统体系的开发打下坚实的基础。

3.3 功能需求分析

从软件的发展的观点看,最主要的是对软件的需求进行了研究,并对其进行了研究。只要能正确地进行需求分析和家教信息的设计,就能节约大量的研发周期,加快研发进度。在对本系统的要求有了一定的认识以后,再根据不同的任务要求设定相应的函数,以使用户能够更好地利用这些特点来实现对系统的服务和管理等多方面的要求。

学生用例图如图3-1所示:

图3-1 学生用例图

宿管员用例图如图3-2所示:

图3-2 宿管员用例图

管理员用例图如图3-3所示:

图3-3 管理员用例图

3.4 非功能性需求分析

1)整体性

在整个系统的开发中,必须对整个系统进行整体的设计,以克服各组件的不相容性,从而实现整个体系的统一与统一。

2)安全性

该系统包含了用户信息、用户密码、查询记录等各种信息和信息,在系统的开发中要考虑到信息的安全性,如“防火墙”等。

3)易用性

它的功能非常的简单,可以让使用者在短时间内找到自己喜欢的站点,最重要的是,它可以让使用者在不需要输入太多的信息的情况下,只需要点击一下按钮就可以了。

4)可维护性

该系统的可维护性,是因为它的系统结构非常的简洁,用户的界面也非常的友好,使用起来非常的容易,并且可以随时进行维护和更新。

5)可靠性

为了实现系统各个部分的可靠性:技术可靠性,经济可靠性,性能可靠性等,这些可靠性要求必须满足

4.2 功能模块

依据模块化设计理念,系统软件拓展了面对管理人员的管理方案模块,站点推荐管理方案模块设计了学生、宿管员与管理员类角色,系统的功能结构图如图4-4所示。

图4-4 功能模块图

6.3 测试用例设计

(1)登录用例

在登录测试中,可以对使用者进行正常的登录,而当使用者输入了不正确的使用者名称及口令时,无法正常登录。

表6-1 登录测试用例表

用例编号

001

测试内容

测试用户能否正常登录系统

测试步骤

(1)用户从宿舍管理系统中进入到登录页面

(2)在登录页面中输入用户名和密码

(3)在登录页面中点击登录按钮

实际结果

如果使用者输入的使用者名称和口令与数据库纪录一致,就可以正常登入。

(2)用户管理用例

在用户管理功能中,可以进行用户管理功能的验证,管理员必须登录用户管理界面。

表6-2 用户管理测试用例表

用例编号

002

测试内容

测试在后台管理期间,用户管理功能能否正确运行

测试步骤

(1)管理员只能在系统注册后使用,按一下管理员页面左边的用户管理功能

(2)检查表单上的信息是否可以正确地显示

(3)点击修改,可以更改用户的个人信息,但要注意,在更改的过程中,必须要注意输入的字符是否合法,否则无法更改。

(4)按下添加可以增加用户的资料,请留意加入资料的合法性,若加入的资料与原来的数据库纪录发生抵触时,无法进行正确的加入。

(5)按下删除键,可以将用户的资料删除,若用户资料仍与其他数据库有联系,则无法正常删除。

(6)将用户名称输入搜索框,即可查询用户信息。

实际结果

测试通过

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

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

相关文章

Greenplum的诞生与成长过程

Greenplum 成立与早期发展 Greenplum的诞生于早起发展 Greenplum于2003年在美国硅谷成立,在2006年发布了基于PostgreSQL(8.x)的MPP数据库产品,作为与公司同名的MPP数据库,专为分析和管理海量数据集而设计,支持复杂的数据分析和商…

大语言模型系列-Transformer:深入探索与未来展望

大家好,我是一名测试开发工程师,已经开源一套【自动化测试框架】和【测试管理平台】,欢迎大家联系我,一起【分享测试知识,交流测试技术】 Transformer模型自其问世以来,便迅速在自然语言处理领域崭露头角&a…

synchronized锁解析+synchronized锁的膨胀过程

目录 synchronized锁(具体详解) synchronized锁具体的三种形式: synchronized锁的实现原理是什么? 类锁和对象锁(面试重点) 锁的升级与对比(synchronized锁的膨胀 面试重点) 偏…

Jenkins持续部署

开发环境任务的代码只要有更新,Jenkins会自动获取新的代码并运行 1. pycharm和git本地集成 获取到下面的 Git可执行文件路径 2. pycharm和gitee远程仓库集成 先在pycharm中安装gitee插件 在设置中找到gitee,点击添加账户,并将自己的账户添…

vscode 根据不同语言项目自定义配置项(插件版本)

2024.7.28 天微热,心情燥。 前文,如果我们是一个全栈开发者,我们想在写前端项目时只让vscode加载前端的插件,写后端的时候只加载后端的插件,该如何配置呢? 1. 通过配置 workspace 这里大家都会&#xff0…

HAL库源码移植与使用之SPI驱动VS1053音频解码

你可以理解为带着dac adc芯片功能的集成芯片,声音的高低音形成由频率决定,大小声由波峰决定,所以采集时记录时间和电压值就可以确定高低音色和大小声,形成声音波形,再把波形用dac输出给喇叭,让喇叭在对应时…

Nginx系列-12 HTTP消息处理流程

背景 了解Nginx处理HTTP请求的11个阶段,有助于理解和配置nginx、自定义模块、基于lua模块自定义功能。按如下配置,执行"curl http://localhost:8001/query/test.html",如果读者对结果不是很确定,建议阅读本文。 serve…

初识C++ · AVL树(2)

目录 前言: 1 左右旋 2 右左旋 3 部分细节补充 3.1 单旋和插入 3.2 部分小函数 前言: AVL树作为一种结构,理解树的本身是不大难的,难的在于,树旋转之后的连接问题,写AVL树的代码大部分都是在旋转部分…

压力温度实时图 livecharts

var mapper Mappers.Xy<MeasureModel>() //.X(model > model.currentTime.Ticks/TimeSpan.FromDays(1).Ticks) //使用 Time.作为X轴的标签 .X(model>model.Time) .Y(model > model.Value); // 作为Y轴的值 //全局保存映射器 Charting.For<Measu…

如何在安卓设备上运行Linux(使用termux+图形界面)加上换源等优化

我学生嘛&#xff0c;喜欢讲故事&#xff0c;你看看我大部分文章开头&#xff0c;都会有"事情的起因"一类话 当然这次也不例外哦 我最新获得了一个新平板&#xff0c;华为的matepad air&#xff0c;很喜欢。想捣鼓&#xff0c;不太懂&#xff0c;但好像鸿蒙不能直接…

31 列表常用方法——pop()、remove()、clear()

pop()、remove()、clear() 这 3 个方法用于删除列表中的元素。 ① pop() 用于删除并返回指定位置&#xff08;默认是最后一个&#xff09;上的元素&#xff0c;如果指定的位置不是合法的索引则抛出异常&#xff0c;对空列表调用 pop() 方法也会抛出异常。 ② remove() 用于删除…

数学基础【俗说矩阵】:逆矩阵

逆矩阵知识 认识逆矩阵 当最矩阵A【左乘】【初等阵】多次&#xff08;也就是进行多次【初等行】变化&#xff09;后&#xff0c;得到了一个【单位阵E】。由于矩阵具有结合律&#xff0c;把矩阵A【左乘】的所有【初等阵】乘起来&#xff0c;就得到了一个新的矩阵。我们称这个能…

Date已不再推荐?为什么我们需要新的 Java 日期时间 API?(LocalDate、LocalDateTime、LocalTime 、Instant)

日期时间 API 是 Java 8 版本的最大功能之一。Java 从一开始就缺少一致的日期和时间方法&#xff0c;而 Java 8 日期时间 API 是对核心 Java API 的一个受欢迎的补充。 为什么我们需要新的 Java 日期时间 API&#xff1f; 在开始研究 Java 8 日期时间 API 之前&#xff0c;让我…

基于单文档的MFC图像增强

目录 function.h ColorEnhanceDib.h ColorEnhanceDib.cpp Dib.h Dib.cpp FrequencyFilterDib.h FrequencyFilterDib.cpp GrayTransformDib.h GrayTransformDib.cpp HistogramDib.h HistogramDib.cpp SharpenProcessDib.h SharpenProcessDib.cpp SmoothProcessDib.h Sm…

甄选范文“论软件测试中缺陷管理及其应用”软考高级论文,系统架构设计师论文

论文真题 软件缺陷指的是计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。缺陷的存在会导致软件产品在某种程度上不能满足用户的需要。在目前的软件开发过程中,缺陷是不可避免的。软件测试是发现缺陷的主要手段,其核心目标就是尽可能多地找…

Bouncy Castle实现SM2

Bouncy Castle 是一个广泛使用的开源加密库&#xff0c;它为Java平台提供了丰富的密码学算法实现&#xff0c;包括对称加密、非对称加密、哈希算法、数字签名等。在Bouncy Castle中&#xff0c;SM2作为一种非对称加密算法也得到了支持。 SM2算法简介 SM2是一种由中国国家密码…

动手学深度学习55 循环神经网络 RNN 的实现

动手学深度学习55 循环神经网络 RNN 的实现 从零开始实现简洁实现QA 课件&#xff1a;https://zh-v2.d2l.ai/chapter_recurrent-neural-networks/rnn-scratch.html 从零开始实现 %matplotlib inline import math import torch from torch import nn from torch.nn import fun…

数据结构篇

7.查找 查找效率 顺序查找&#xff0c;折半查找和分块查找 折半查找 分块查找 二插排序树 删除操作 二叉排序树前驱&#xff1a;从该节点向左&#xff0c;一路找到他的最右节点&#xff1b; 二叉排序树后继&#xff1a;从该节点向右&#xff0c;一路找到他的最左节点&#x…

1. Vue3入门

文章目录 使用create-vue创建项目关键文件<script setup>语法糖组合式API - reactive和ref函数组合式API - computed组合式API - watch组合式API - 生命周期函数组合式API - 父子通信组合式API - 模版引用组合式API - provide和inject综合案例 使用create-vue创建项目 n…

DataX 本地调试配置

简要说明 根据自己的开发需求&#xff0c;完成了reader、writer、transformer开发后&#xff0c;在ide内通过Engine入口&#xff0c;调试自己的插件和job的json。 前置条件 已在系统安装了datax&#xff0c;本例子是在windows环境下&#xff0c;安装包地址https://github.co…