基于MySQL学生宿舍管理系统的设计与实现Word格式.docx
- 文档编号:19775118
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:55
- 大小:1,016.32KB
基于MySQL学生宿舍管理系统的设计与实现Word格式.docx
《基于MySQL学生宿舍管理系统的设计与实现Word格式.docx》由会员分享,可在线阅读,更多相关《基于MySQL学生宿舍管理系统的设计与实现Word格式.docx(55页珍藏版)》请在冰豆网上搜索。
若需要查询某条记录时,由工作人员在庞大的数据信息中翻找,需要耗费大量时间,效率及其低下。
若在学生宿舍信息管理体系引入计算机系统,将会大大降低信息管理的复杂程度,效率更高、管理成本更低,适应当下学校的需求。
1.2系统需求分析
随着科技的不断进步,学校生源越来越广,宿舍管理系统的诞生是顺应时代发展。
在该章节,将针对宿舍管理系统的发展历程进行系统分析,结合现阶段发展状况,证实本文设计地意义所在;
并在现有研究基础上做出创新性改变,与科技发展相适应,开发安全、稳定、简洁、高效的宿舍管理系统,更好的满足当代校园需求。
前台用户界面和后台数据库共同构成了学生宿舍管理系统。
在该设计中,选用Python语言用于前台界面开发,运用MySql开发后台数据。
1.2.1功能需求
(1).基本功能需求
开发系统时要站在用户的角度思考,系统功能要与用户实际需求相贴合,设计简洁的交互界面易于操作。
以下几项是良好的宿舍管理系统所需要具备的功能:
1.系统需要建立密码机制,密码和账号相匹配才可进入系统。
2.系统需要开发权限机制,普通用户、管理员以及学生分别掌握不同的操作权限,学生可登录系统查看寝室相关信息,管理员可以对信息进行管控。
3.系统需要开发学生信息登记存储功能,包括寝室的入住、转换、退寝等信息都应被登记存储。
4.系统需要开发信息查询功能并进行实时统计。
5.系统需要开发维护信息功能,若学生信息发生变更可满足变更需求。
6.系统需要为超级管理员设立额外权限管理系统运行,例如账户增删功能等。
(2).功能模块
宿舍管理系统需要具备下列功能:
楼栋管理、宿舍管理、信息变更、信息维护等。
图1-11.1所示为功能模块:
图1-11.1系统基本功能模块图
1.2.2性能需求
1.系统安全性
简化学校的宿舍管理体系是开发该系统的意义所在,为了保障系统安全稳定运行,需要设立一个超级管理员,普通用户在注册登录时,相关信息需要得到超级管理员审核,避免不法用户混进系统。
2.数据库选择
系统运行时涉及大量数据,学生的各项信息、教职工信息均会发生相应变动,综合考虑,MySql更为适用。
1.3可行性分析
1.3.1经济可行性
系统的开发离不开资金支持,因此需要对经济可行性做出分析。
首先分析支出费用,购买机器设备、聘用员工、设备维护等耗费的资金都需要考虑在内;
其次,分析系统获得收益。
学生宿舍管理系统规模较小,需要投入的启动资金也就很少,系统的运行仅需要电脑一台,打印机一台即可。
而引入了学生宿舍管理系统,舍管人员的工作量将被大大削减,管理效率更高,出现失误的概率更低,管理体系更加完善。
1.3.2技术可行性
从技术层次分析该项目是否可行,明确系统选用的硬件设备和具有的软件技术能否满足用户需求。
除此之外,负责系统开发的员工水平也非常重要,做为一名长期在学生宿舍生活的电子信息工程专业的学生,对学生宿舍管理模式有着较深的了解,在数据库设计领域也有着扎实的基础。
总结:
综合上述分析,开发宿舍管理系统是顺应当代需求,具有较大的潜在用户群体,具有较高的可行性。
利用系统实现学生信息输入、变更、输出、打印以及查询等也不存在较高的难度。
若在技术层面有更多可行性,应将学生信息的浏览与查询功能开发的更加细致、强大,配有多种查询方式,例如根据专业查询、根据学号查询、根据学籍查询等等,简化工作人员的查询环节,提高管理效率。
1.4系统的开发平台及开发工具
在本文设计当中,选用PyCharm作为开发平台,选用MySQL作为数据库,将网站设计为三层结构,依次为表示层、业务逻辑层、数据处理层。
1.4.1开发工具PyCharm
PyCharm实际上属于PythonIDE中的一种,用户选用该系统进行Python语言开发配备一整套较为高效的工具,例如调试、文件管理、智能提示、自动完成等等,效率更高。
除此之外,该IDE还具有部分高级功能,支持在Django、GoogleAppEngine,更令人关注的是,PyCharm支持IronPython(一种Python语言,适用于NET和Mono)。
PyCharm开发的初衷是用于Python语言开发,发展至今天已经成为具有较高影响力的多平台自由集成开发环境(IDE)。
PyCharm本身并不具备完善的功能,属于一种开发平台,然而由于相关插件的支持致使该平台功能越来越丰富,具有较高的灵活度,也吸引很多软件开发商开发在自身IDE时选用PyCharm为框架。
PyCharm具有以下特征:
(1)编码协助
该平台提供的编辑器支持编码补全,代码片段,代码折叠、代码分割,智能化程度较高,用户进行编码工作更加高效、便捷。
(2)项目代码导航
开发者选用该IDE可快速实现文件切换导航。
快捷键的设立也大大提高了操作效率,用户选用该方式切换文件更加迅速。
(3)代码分析
对开发者编写的编码语法可进行智能检测,错误高亮,代码快速补全意见,对编码进行优化,智能化程度较高。
(4)Python重构
开发者在项目范围内可更改名称,提取方法/超类,导入域/变量/常量,移动和前推/后退重构。
(5)支持Django
自带HTML,CSS和JavaScript编辑器,促使开发者利用Django框架进行Web开发更加快速便捷。
除此之外,还对CoffeeScript,Mako以及Jinja2有着较高的支持度。
(6)支持GoogleApp引擎
支持两种运行环境,开发者可在Python2.5和2.7之间选择,开发适用于GoogleApp引擎的相关程序,同时可对例行程序做出部署。
(7)集成版本控制
登入,录出,视图拆分与合并--所有这些功能都能在其统一的VCS用户界面(可用于Mercurial,Subversion,Git,Perforce和其他的SCM)中得到。
(8)图形页面调试器
自带图形页面调试器,开发者可利用该调试器对Python和Django相关测试程序以及单元进行调整,自带断点,步进,窗口以及评估表达式。
(9)集成的单元测试
开发者可将测试文件运行于文件内,单个测试类,一个方法或者所有测试项目。
(10)可自定义、可扩展
可绑定了Textmate,NetBeans,Eclipse&
Emacs键盘主盘,以及Vi/Vim仿真插件。
1.4.2数据库MySQL
(1).MySQL概述
MySQL数据库适用于规模较小的管理系统,由dMySQLAB公司所开发。
发展至今天,MySQL已经吸收了庞大的用户群体,被互联网上很多小型网站所应用。
该数据库体积较小、运行速度快、源码对外开放,赢得了很多中小型网站的喜爱,选其作为网站数据库成本也较为低廉。
(2).MySQL特性
1.有C、C++两种语言编写,可通过多种编译器进行调试,源代码可进行移植。
2.支持多种操作系统,较为常见的包括AIX、P-UX、MacOS、OS/2Wrap、Windows等等。
3.将API提供给C、C++、Eiffel、Java以及Python等多种编程语言。
4.可实现多线程,CPU资源分配利用更加充分。
5.在SQL的算法基础上做出优化,查询速度得到改善。
6.不仅可作为应用程序使用,也可被视为一个向其他软件库提供更多语言支持的库,命名数据表和数据列应用较为广泛的中文编码有GB2312、BIG5,日文编码的Shift_JIS等。
7.数据库的连接方式变得丰富,包括TCP/IP、ODBC和JDBC。
8.提供的管理工具可用于管理、检查,并对数据库操作做出优化。
9.数据可处理庞大信息量。
(3).MySQL应用
将MySQL和Oracle、SQLServer等大型数据库相比较,MySQL的规模更小,功能较少,但是凭借着运行快速以及开源代码等优点依然广泛受到大家喜爱。
MySQL所具有的功能已经完全可以满足中小型企业的需求,因为开放源码,企业引用的成本也被大大削减。
1.4.3三层架构技术介绍
三层架构顾名思义就是将业务应用划分为三部分,依次为:
表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL),与“高内聚,低耦合”的开发理念相符合。
该架构展现出下列特征:
无论是前期开发还是后期应用,三层架构都展现独特优势。
三层结构与当下系统开发趋势相吻合,员工之间相互协作、负责各自的岗位,开发效率大大提升。
单层或双层应用在开发时,对开发人员的能力要求很高,只有深层理解系统才具备开发的能力;
而三层应用的开发则降低了对开发人员的要求,仅部分人深层掌握系统即可,适合与各种人才相协作,开发难度被大大降低。
除此之外,三层架构对下列功能具有较高的支持度:
支持RemoteAccess(远程访问资料),远程数据库的存取可通过互联网实现;
HighPerformance更好的解决了集中式运算,降低了主机需要承载的运算负担,提高运算能力的方式与分布式计算具有较高的相似度;
Request由Client端发出,经AppServer和DataBaseServer协同完成,效率更高,削减了处理时间,该功能适用性不强,理论可行,因为应用不广泛,没有很深的理解,在此不多做赘述。
1.5实现系统的平台
1.5.1系统环境
(1)、系统软件环境
(1)服务端
操作系统:
Linux
数据库系统:
MySQL
(2)客户端
适用于各种平台
开发工具:
PyCharm,NavicatPremium
开发语言:
Python
(2)、系统硬件环境
(1)服务端:
CPU:
酷睿四核,内存4G,硬盘500G;
(2)客户端:
Pentium1.6GHz以上CPU,512MB以上内存;
(3)网络配置:
百兆模式或以上。
1.5.2后台数据库选用
经综合分析,MySQL数据库更适用于该系统,MySQL的规模较小、运行速度较快、成本更低,由MySQLAB公司开发设计,后期被Sun公司重金收购,现在所有权掌握在Oracle公司手中。
发展至今天,MySQL已经吸引了庞大的用户群体,被很多中小型网站所应用。
该数据库体积较小、运行速度快、源码对外开放,选其作为网站数据库成本也较为低廉,可满足该系统需求。
1.6本章小结
本章节对系统的发展历程做出了简单概述,针对需求、可行性进行了系统分析,对开发平台及工具等也做出了解读。
2.系统总体设计
2.1数据库设计
数据库设计首先需要对用户的实际需求做出调研,综合考虑选择合适的数据库管理系统,在此基础上对数据库的结构进行设计、建立。
数据库是系统运行的基础,也是最为主要的核心技术。
开发系统是由多个阶段共同组成,较为复杂,而数据库设计作为重中之重,显然也存在较大难度,所以最佳设计需要在反复探索的过程中不断修改精进。
数据库所涉及的数据对象之间要形成相匹配的运行关系。
2.1.1数据库设计概念
对数据库进行设计通常被人们划分为以下六个环节,依次为需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库开发、数据库运行与维护。
概念结构设计实际上也是针对数据库建立相应模型,只不过该模型依托于信息世界,E-R模型是现阶段应用较为广泛的模型,由P.P.S.Chen率先提出并不断完善。
概念结构设计需要以需求分析报告作为设计基础,依托相应方法将其建立为概念模型,该模型是抽象的、不依赖任何设备,本质上也是一种数据模型。
概念模型的创建有效地转移了设计者的注意力,无需在复杂实现细节中投入更多精力,专注于信息组织专构设计,提高了开发效率。
经需求分析得知可以总结出以下内容;
学生实体:
需要将学生属性显示出来,包括姓名、性别、学号、专业以及入住信息等等;
宿舍实体:
需要将宿舍属性显示出来,包括寝室需要、所属楼栋、寝室规模、开放时间等等;
楼栋实体:
需要将楼栋属性显示出来,也就是楼栋各项信息,包括楼栋序号、所在区域等等;
用户实例:
需要将宿舍用户属性显示出来,也就是用户各项信息,包括用户账号、身份、联系方式、登录记录等等;
角色实例:
用于显示角色的属性,包括角色名,拥有权限等
权限实例:
用于显示权限的属性,包括权限名,对应请求路径等
拜访者实体:
需要将拜访者属性显示出来,包括姓名、单位、拜访对象、拜访时间等等。
2.1.2E-R模型设计
根据实体设计,可以得到各个实体和部分子系统E-R图。
学生实体图如图2-1所示。
图2-1学生实体图
宿舍实体图如图2-2所示。
图2-2宿舍实体图
楼栋实体图如图2-3所示。
图2-3楼栋实体图
用户实体图如图2-4所示。
图2-4用户实体图
角色实体图如图2-5所示。
图2-5角色实体图
权限实体图如图2-6所示。
图2-6权限实体图
拜访者实体图如图2-7所示。
图2-7拜访者实体图
宿舍管理系统全局E-R图如图2-8所示。
图2-8宿舍管理系统E-R图
2.2数据库的逻辑设计
逻辑设计在数据库设计环节具有重要意义,也是前期设计阶段的主要内容。
逻辑设计将会理清各个实体之间的关系,对实体做出进一步规范。
物理设计涵盖了数据库产品的选择、实体属性的明确,数据的大小、精度、属性等等,是数据库设计后半阶段的主要内容。
数据库主要在以下两个方面得到了很好的反映:
数据库逻辑设计:
逻辑结构在设计过程中与DBMS处于相互独立状态,针对业务逻辑展现出良好的反映。
数据库物理设计:
该部分设计的开展需要建立在逻辑结构的基础上,DBMS的选择需要参照逻辑设计,并设计合适的存储结构、存取方式等。
数据库性能的良好与否均与逻辑设计息息相关,高质量的逻辑设计有利于调优位置。
若逻辑设计出现差错,调优方法并不会改善数据库的性能或者改善效果并不明显。
数据库的逻辑设计需要严格遵守规范化理论,数据库的运行速度将会大大提升,占用储存空间更小,有利于完善数据库的各项性能。
除此之外,数据库在进行逻辑设计时还需要适当突破现有规范规则,也就是所谓的反规范化设计,从而降低数据库中的索引数目以及表的数目,查询速度也将得到显著提高。
当下较为流行的反规范技术有以下几种,依次为重新组表,增加冗余列等。
(1).学生信息表
将学生的各项信息储存。
表2-1学生信息表
字段名
数据类型
数据长度
是否为空
Key
学号
Char
10
N
P_K
密码
F_K
姓名
Varchar
20
手机号
11
性别
Boolean
1
专业
学院
头像
255
宿舍号
状态
创建时间
Datetime
(2).宿舍信息表
存储了宿舍的基本信息。
表2-2宿舍信息表
宿舍编号
容纳人数
Number
2
对应楼栋号
(3).楼栋信息表
存储了楼栋的类型。
表2-3楼栋信息表
楼栋号
对应员工
(4).用户信息表
存储了用户的类型。
表2-4用户信息表
用户名
对应角色
(5).角色信息表
存储了角色的类型。
表2-5角色信息表
角色名
拥有权限
(6).权限信息表
存储了权限的类型。
表2-6权限信息表
权限名
对应请求url
50
(7).来访者登记表
存储了来访者登记的基本信息。
表2-7来访者登记表
来访者姓名
来访者学号
身份证号
来访时间
2.3模块设计
宿舍管理系统的用户信息均来自校园内部,实际上也是属于公司内部系统。
用户将账号密码在初始页面输入即可完成登录。
内部平台数据库与系统数据库具有一致性,若在内部信息平台对其中的信息进行更改,系统数据库也会实时做出更新。
图2-9内容为系统主要模块:
图2-9系统主要模块UML用例图
2.3.1用户管理模块
管理员在该模块需要拥有更多权限,普通用户输入账号密码登录该模块可进行信息查阅,但无法做出变更。
超级管理员可对用户信息做出变更、增删,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MySQL 学生宿舍 管理 系统 设计 实现