python宿舍管理系统flask-django-php-nodejs

news/2024/4/28 5:47:50

随着信息时代的来临,过去的传统管理方式缺点逐渐暴露,对过去的传统管理方式的缺点进行分析,采取计算机方式构建宿舍管理系统。系统分为多个功能模块:学生、宿舍管理、楼宇信息、宿舍信息、宿舍安排、缺勤信息等。通过系统测试,本系统实现了系统设计目标,相对于人工管理方式,本系统有效的减少了学校的经济投入,并且大幅度提升了宿舍管理的效率。本文通过课题背景、课题目的及意义相关技术,提出了一种楼宇信息、宿舍信息、宿舍安排、缺勤信息等于一体的系统构建方案。 
语言:Python
框架:django/flask
软件版本:python3.7.7
数据库:mysql 
数据库工具:Navicat
前端框架:vue.js
通过比较两个不同因素的框架,可以看出Flask和Django不能被标记为单一功能中的最佳框架。当Django在快速发展的大型项目中看起来更好并且提供更多功能时,Flask似乎更容易上手。这两个框架对于开发Web应用程序都非常有用,应根据当前的需求和项目的规模来选择它们。
最新python的web框架django/flask都可以开发.基于B/S模式,前端技术:nodejs+vue+Elementui+html+css
,前后端分离就是将一个单体应用拆分成两个独立的应用:前端应用和后端应用,以JSON格式进行数据交互.充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护等特点 
 
 

目 录
摘 要 I
Abstract II

1 绪 论 1
1.1 课题背景 1
1.2 课题目的及意义 1
1.3 课题研究现状 2
1.4 论文主要工作内容 3
2 系统关键技术 4
2.1django框架介绍 4
2.2 MySQL数据库 4
2.3 B/S架构 5
2.4 python语言介绍 5
3 系统分析 7
3.1 可行性分析 7
3.1.1 技术可行性 7
3.1.2 操作可行性 7
3.1.3 经济可行性 7
3.1.4 法律可行性 7
3.2 系统性能分析 8
3.2.1 系统安全性 8
3.2.2 数据完整性 8
3.3 系统功能分析 8
3.4 系统流程分析 10
3.4.1 数据开发流程 10
3.4.2 用户登录流程 10
3.4.3 系统操作流程 11
3.4.4 新增信息流程 12
3.4.5 修改信息流程 12
3.4.6 删除信息流程 13
4 系统设计 14
4.1 系统概要 14
4.2 系统结构设计 14
4.3数据库设计 15
4.3.1 数据库设计原则 15
4.3.2 数据库实体 15
4.3.2 数据库表设计 16
4.4 系统时序图 18
4.4.1 注册时序图 18
4.4.2 登录时序图 19
4.4.3 管理员修改用户信息时序图 19
4.4.4 管理员管理系统信息时序图 20
5 系统的实现 21
5.1 基本任务 21
5.2 管理员功能模块 21
5.3 学生功能模块 24
5.4 宿舍管理功能模块 28
6 系统测试 31
6.1 测试环境 31
6.2 测试目的 31
6.3 测试概述 31
6.4 单元测试 33
6.4.1 注册测试 33
6.4.2 登录测试 33
6.5 集成测试 34
结 论 35
参考文献 36
致 谢 37
1 绪 论
1.1课题背景
随着网络的高速发展,网络技术的应用越来越广泛,信息化技术发展迅速,计算机管理系统优势逐渐体现,并且大量的计算机进入了千家万户。宿舍管理系统成为信息时代的一个重要代表,由于其涉及的数据量过大,过去的人工管理方式已经很难再维持下去,所以引用了信息化技术来进行管理[1]。计算机系统管理方式替代了人工管理方式,相对过去人工管理方式,利用计算机进行宿舍管理系统查询便利、信息准确率高、成本降低、效率提高、本次系统开发主要以学校宿舍为对象,根据功能需求开发整个信息化系统。

1.2 课题目的及意义
随着信息化管理技术不断发展,传统的宿舍管理已经无法适应,效率与预期相差甚远,因此需要开发一套操作方便,效率较高的宿舍管理系统。当前,21新世纪,人们已经进入了信息时代,人们获取信息的方式大大增加,摆脱了传统的报纸、电视、广播等媒体,而是从各种网络、自媒体平台上获取信息,这就导致日常生活中产生的数据信息十分巨大,尤其是对于宿舍管理,更需要大量的信息[2]。本系统能为学生、宿舍管理提供一个宿舍管理平台,就能够快速有效的帮助学生在线查看楼宇信息、宿舍信息、宿舍安排等,宿舍管理发布楼宇信息、宿舍信息、宿舍安排等,并且可以让管理员能够轻松效率地新增所有的信息。系统开发的意义主要在于两个方面,一方面,系统上线后,能够为学生与宿舍管理带来很大便利,宿舍管理涉及的数据量较大,要求精度高,采用计算机系统能够很好满足此需求,并且随着目前电脑的普及,方便用户使用。另一方面,通过自己动手操作设计系统,不仅可以提升自己的学习兴趣,也是在进入社会之前的一次很好的锻炼机会。
3 系统分析
3.1 可行性分析
宿舍管理系统主要目标是实现网上的相关信息管理服务。在确定了目标后,我们从以下四方面对能否实现本系统目标进行可行性分析[5]。
3.1.1 技术可行性
技术上的可操作性是项目建设顺利进行的一个关键因素,技术措施必须达到要求,方能使项目顺利进行。该方案使用了开放源码的代码,并使用 java等技术,对软件的设计具有适度的困难和对电脑的硬件需求。所有的技术都很容易使用。该项目具有技术上的可行性[6]。
3.1.2 操作可行性
当今社会,电脑已经是耳熟能详的存在了,绝大部分用户都可以通过电脑轻松操作本系统。由此可知,我们的管理系统对于绝大部分用户来说,操作是完全可行的,并不存在操作上的盲区[7]。
3.1.3 经济可行性
本系统所需要用到的所以的工具都是开源,不收费的,并且本系统因为不具有太过于复杂的结构,用户维护系统的费用也不高。所以,本系统的经济可行性是可行的。
3.1.4 法律可行性
此宿舍管理系统是自己设计的管理系统,具有很大的实际意义。因为无论是软件还是数据库,采用的都是开源代码,因此这个系统的开发和设计,并不存在侵权等问题,在法律上完全具有可行性。
综上所述,宿舍管理系统在技术、经济、操作和法律上都具有很高的可行性,开发此程序是可行的[8]。
3.2 系统性能分析
3.2.1 系统安全性
宿舍管理制度必须由领导机构严格执行。具体要求如下:
(1)如果要使用宿舍管理系统,必须先注册才能进行登录。未获许可的使用者,不可以任意的方法,进入或浏览系统资讯及资料,因而本系统将会得到保护。
(2)在不同司法管辖区的具体实施。使用其他权限登录时,无法跳过此操作[9]。
(3)如果专门应用,该系统将包含许多必须保密的数据和信息。该系统存在系统漏洞,发布此信息将给用户造成重大损失。因此,我们充分保证了该规则和系统的发展趋势。
3.2.2 数据完整性
(1)必须对所有的数据进行详尽的记载,而该信息的内容不得为空白。
(2)各种资料的关联一定要恰当。
(3)在不同的档案中,同一资料资讯应该互相相符[10]。
3.3 系统功能分析
宿舍管理系统主要有管理员和学生、宿舍管理,三个功能模块:管理员模块、学生、宿舍管理模块。以下将对这三个功能的作用进行详细的剖析[11]。
管理员模块:管理员在系统中的是核心用户,管理员登录后,可以对后台系统进行管理。主要功能有:首页、个人中心、学生管理、宿舍管理、通知公告管理、楼宇信息管理、宿舍信息管理、宿舍安排管理、缺勤信息管理等功能。
 
1.3课题研究现状
其实,相关的研究在国外已经开展了很多年了,将学校宿舍与信息技术相融合的理念在欧美等发达国家的学校宿舍建设中很受欢迎美国开放的Ravel平台,能够在电脑、手机上实现远程查看楼宇信息、宿舍信息、宿舍安排、缺勤信息等功能,极大的丰富了线上宿舍管理模式。于是希望通过互联网技术保障实现宿舍管理系统[3]。但现如今,也有许多国外学者提出,信息化时代带来的局面乱象越来越多,日益增长的宿舍管理平台让人应接不暇,需一场数字化的现代化的转型,建立可靠的宿舍管理系统,实现数字管理。
随着学生不断的增加,越来越多的学校开始加入了网上宿舍大潮中,但是我国网上宿舍管理效果低下,而且出错率也很高。因此大家迫切需要一款更加专业化的宿舍管理系统,设计该系统主要目的是为了方便学校可以有一个非常好的宿舍管理平台,管理员也可以通过该系统进行更加方便的管理操作。
5 系统的实现
5.1 基本任务
该系统的实施方式是指能精确地描绘要实施的对象,以便后续的代码可以按照系统的实际情况用编程的方式来写相应的软件。
系统实现的基本任务如下:
(1)模块的数据结构进行设计,在之前的需求分析、概要设计中更加明确地界定更加含糊的资料类型。
(2)更加精确地对每个模板进行了更加细致的算法设计,并对每个组件的处理过程进行了算法的说明。
(3)执行实体化的资料库。
(4)其他设计:有时候,还要考虑到系统的不同,如:输入/输出格式设计、代码设计、人机对话设计等。
(5)对系统的说明书进行编写。
(6)评审:审查程序中的规则和数据库的实体构造。
系统结构可分为具有三个不同功能的包的python源代码、系统的数据库文件、界面代码。python源代码中三个不同包分别为控制、逻辑、缩写层,分别控制也不同的程序具有不同的性质。有了他们就能对系统的数据进行增删改查,完成界面的显示和数据统计,产生随机数和属性文件的读取。定时器类、翻页工具类等,包含了日期转换、字符串处理、获取编译环境等信息。这些类极大地方便了python编程,日常开发中,经常要用来这些类。
5.2 管理员功能模块
 6 系统测试
6.1 测试环境
宿舍管理系统的测试环境如表6-1所示。
表6-1 测试环境信息表
分类 名称 版本
操作系统 Windows 7
数据库 MySQL 8.0
浏览器 Chrome 87.0.4280.88
6.2 测试目的
进行软件测试主要是为了验证产品或者系统是否完成了实现功能,测试能够防止系统出现错误,还能降低开发成本减少不必要的花销,其次测试的好处包括防止错误、降低开发成本和提高性能[12]。其次,通过软件的检测可以对项目的安全性进行鉴别。向开发人员提供软件测试的反馈,并为项目的安全性评价提供必要的资料。此外,软件的检测保证在正式发布之前能够满足在线要求。在每一个开发过程中不断跟踪和对软件的测试。还有,软件测试还能保证系统到达预期的标准,从而能够尽快上线。
在本系统中,主要测试后台,分别对系统的不同模块进行测试,比如学生登录等功能是否实现,实现过程中是否出现问题等。是否能够处理不同的数据。后台主要测试系统经过管理后链接是否顺畅[13]。
6.3 测试概述
1.测试的原则
(1)测试应该以用户的需要为基础。从用户的观点来考虑,最大的问题是软件不能达到用户的预期。有时候,软件产品的测试结果非常完美,但却不是客户最终想要的产品,那么软件产品的开发就是失败的,而测试工作也是没有任何意义的。因此测试应依照客户的需求配置环境,并且按照客户的使用习惯进行测试并评价结果。
(2)尽早测试。由于软件开发过程中的各种不同的环节都会出现问题,所以要及早进行测试,将软件的检测工作渗透到整个软件的整个寿命过程,使测试者可以及早地察觉并防止这些缺陷。减少了 bug修理费用。
(3)穷尽测试是不可能的。因为受时间和财力的制约,无法实现所有不同的输入和输出的综合测试,测试者能够基于测试的风险和轻重缓急等来决定测试的重点,由此来进行测试,并在测试成本、风险和收益间找到一个平衡点。
这是因为测试者不能按时进行测试案例的升级,也可能是因为他们太了解测试案例和目标而导致的。
2.测试的方法
测试方法主要有人工测试和机器测试两种测试方法。
(1)人工测试
人工测试又称代码复审,包括个人复查、走查、会审三种方法。
(2)机器测试
计算机检测有两种方式:黑盒测试和白盒测试。黑盒测试:从外观上找出它的缺点和错误。黑盒测试是在编程接口上进行的,它仅仅是为了检验样品的执行情况,而不是根据要求规范的要求进行;白盒测试:对软件的内在构造进行了剖析,即在编程接口上进行了试验,其目的仅仅在于检验样品的执行情况,而不能满足要求规范的要求,检测来寻找问题。
在最终的检测中,本研究采取了将后黑盒子检测与白盒子检测相融合的方式。黑箱试验是为了对系统的输入、输出性能进行测试,以发现其性能上的误差和潜在的不足。白箱试验的目的是为了检测程序和程序的运行路线,从而找出运行中的问题。该系统有两种方式:单位试验和综合试验。
6.4 单元测试
6.4.1 注册测试
在对注册模块进行测试时,先键入用户名和密码等信息,再按下注册键测试是否能正常注册系统。如果信息填写错误,能否弹出弹框,用来提示学生何处输入错误。
注册测试用例如下表所示。
表6-2注册测试用例
测试模块 学生注册模块测试
测试目的 测试当注册信息输入不符合要求时,系统是否能进行相应处理并给出提示。
测试方法 黑盒测试
测试数据 1不输入用户名和密码,直接点击注册。
2输入未注册过的用户名。例如:qwer
3输入正确用户名,两次密码不一样。例如:用户名qwerty、密码 0001,确认密码1111
预期结果 1 界面不跳转,弹出对话框,提示学生输入必填项。
2界面跳转,弹出对话框,提示学生注册成功。
3界面不跳转,弹出对话框,提示两次密码不一致。
实际结果 与预期结果相同。
结论 注册模块实现成功。
6.4.2 登录测试
登录模块需要测试的功能有:输入登录名和密码,点击“登录”按钮,如果信息新增正确,是否正常进入系统首页。如果信息填写错误,能否弹出弹框,提示学生信息输入有误。登录测试用例如下表所示。
表6-3登录测试用例
测试模块 学生登录模块测试
测试目的 测试当登录信息输入不符合要求时,系统是否能进行相应处理并给出提示。
测试方法 黑盒测试
测试数据 1不输入用户名和密码,直接点击登录。
2输入未注册过的用户名。例如:qwertyu
3输入正确用户名,错误密码。例如:用户名qwertyu、密码 000
4输入正确用户名,正确匹配密码。例如:用户名qwertyu、密码 111
预期结果 1 界面不跳转,弹出对话框,提示学生输入必填项。
2界面不跳转,弹出对话框,提示学生当前用户名尚未注册。
3界面不跳转,弹出对话框,提示学生密码错误。
4界面实现跳转,登录功能正常进行。
实际结果 与预期结果相同。
结论 登录模块实现成功。
6.5 集成测试
集成测试的方案主要如下所述:
(1)在完成安装部署后,将该系统移植到其他电脑,并可以顺利地运行该系统。
(2)学生信息管理模块综合测试,新增一个新的使用者 qq,指定一个普通的角色,查看普通角色的特权,并储存设定。作为 qqq登录,以了解所具有的权利。
(3)根据宿舍管理系统的具体设计和实施,采用多种角色的方式,对各个模块的性能进行检测,并检测各个模块之间的逻辑功是否正确。
通过实验证明,该开发的系统能够满足宿舍管理程序和基础需求。
致 谢
大学的学习生活在这个季节将结束,但是在我的生命这仅仅只是一个逗号,我将面对另一个新的环境开始。通过这次毕业设计的整个开发过程,从需求分析到具体功能实现,再到最终测试和维护的理解有了很大的进步,让我对系统开发有了更深刻的认识,对我个人的实践能力和解决问题的能力,都有了很大的帮助。这是这次毕业设计最大的收获。
首先要感谢我的指导老师,他在论文写作上,给予了我各种无私的帮助,治学严谨,严格要求,使我获得了很大的收获。老师深厚的理论知识和丰富的实践经验,都深深的影响到我,在这方面,我谨表示衷心的感谢。
其次,我还要对所有的老师和同学表示感谢,他们在我学习的过程中,都积极的提供了很多帮助,无论是专业知识,还是实践操作技能,也能够让我在论文写作中,遇到的一些难题迎刃而解。
最后,对阅读和评审本论文的各位老师表示衷心的感谢!

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

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

相关文章

迷宫(蓝桥杯)——DFS和BFS

迷宫 题目描述 下图给出了一个迷宫的平面图,其中标记为 1 的为障碍,标记为 0 的为可以通行的地方。 010000 000100 001001 110000迷宫的入口为左上角,出口为右下角,在迷宫中,只能从一个位置走到这 个它的上、下、左…

Prompt提示工程上手指南:基础原理及实践(三)-Prompt个性知识库引导

前言 Prompt系列的第二期文章已经将所有的Prompt工程主流策略讲解完毕,共涉及到六种Prompt类别模型以及具体生产内容详解。再结合系列第一篇文章具体对Prompt工程的详细介绍,也就可以达到Prompt工程师的初步入门,现在如果掌握了这些基础技能…

Odoo17免费开源ERP开发技巧:如何在表单视图中调用JS类

文/Odoo亚太金牌服务开源智造 老杨 在Odoo最新V17新版中,其突出功能之一是能够构建个性化视图,允许用户以独特的方式与数据互动。本文深入探讨了如何使用 JavaScript 类来呈现表单视图来创建自定义视图。通过学习本教程,你将获得关于开发Odo…

数据机构-2(顺序表)

线性表 概念 顺序表 示例&#xff1a;创建一个存储学生信息的顺序表 表头&#xff08;Tlen总长度&#xff0c; Clen当前长度&#xff09; 函数 #include <seqlist.c> #include <stdio.h> #include <stdlib.h> #include "seqlist.h" #include &…

WPF连接MySqldemo

界面总要管理数据嘛,于是便学习了一下WPF与MySql的基本连接. 运行结果: 环境配置 需要下载安装Mysql,网上教程很多,不详说,创建的工程需要下载或者引入相关的包(MySql.Data) 连接的部分直接看具体的代码即可 xaml代码(只放置了一个按钮和文本框) <Grid><Button x:Name…

小程序云开发实战:通用企业产品信息展示小程序

之前做小程序都是自己搭建数据管理后台&#xff0c;比如我之前做的小程序&#xff1a;一搜就学&#xff0c;就是使用java来做管理后台&#xff0c;小程序做前端展示。但是对于简单的小程序来说&#xff0c;做一套管理后台有点拿大炮打蚊子&#xff0c;所以使用云开发就是不错的…