欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    基于贪心算法的宿舍分配系统的设计与实现.docx

    • 资源ID:1437153       资源大小:488.58KB        全文页数:66页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于贪心算法的宿舍分配系统的设计与实现.docx

    本科毕业设计论文题目:基于贪心算法的宿舍分配系统的设计与实现在高校中,学生宿舍分配是大学校园宿舍管理中的重要环节,传统的手动分配学生宿舍的方法费时费力,且难以确保公平性和效率。使用计算机管理系统来管理学生宿舍成为一种常态化的方式,现有的宿舍分配系统虽然实现了宿舍分配的基本功能,但是没有考虑到学生的性格特点,作息时间等实际因素,只是对学生进行了随机分配,导致一些学生和同宿舍其他学生相处困难,影响学习和生活。本系统在原有的分配系统基础上使用了贪心算法,根据收集的学生问卷调查数据对宿舍进行个性化的自动分配,既可以减轻学校宿舍管理者的工作负担,还能够满足学生的偏好、习惯和需求。本系统的主要功能是利用贪心算法实现对学生宿舍的自动分配。贪心算法是一种常用的优化算法,它通过不断做出局部最优选择来达到全局最优。在系统中,通过对学生的作息时间、性格特点、兴趣爱好进行问卷调查,将这三方面作为特征项,给每个特征项根据其重要程度赋予相应的权值,通过计算可以得到学生偏好的量化值,将量化值排序,然后根据学生班级,性别等信息对排序结果进行分组,再获取待分配的宿舍信息,按照每个宿舍容纳的人数进行分配,这样就把偏好量化值相近的学生分配在同一个宿舍。若个别学生对宿舍分配情况不满意,提出调换宿舍的申请,管理员对这些申请信息进行处理即可。本文所提出的算法不仅可以自动分配宿舍,而且还可以考虑到学生的性格特点,生活习惯等因素,既提高了宿舍的分配效率,又提供了一种个性化分配学生宿舍的方式。系统采用B/S模式,前后端分离的架构,使用JAVA语言进行开发,前端应用Vuejs框架,后端使用SSM框架,MySQ1.作为后台数据库,使用InteHiJlDEA、VisualStudioCode和NaViCatPremiUm开发工具进行开发。系统包括用户管理、学生信息管理、宿舍信息管理、自动分配宿舍、宿舍分配情况管理、学生申请管理等功能模块。实现了高校宿舍分配的个性化、自动化,为宿舍管理者和在校学生提供了更好的服务。关键词:贪心算法;学生宿舍分配系统;自动分配论文类型:工程设计AbstractInuniversities,theallocationofstudentdormitoriesisanimportantpartofcampusdormitorymanagement.Thetraditionalmanualallocationofstudentdormitoriesistime-consumingandlaborious,anditisdifficulttoensurefairnessandefficiency.Theuseofcomputermanagementsystemstomanagestudentdormitorieshasbecomeanormalizedapproach.Althoughexistingdormitoryallocationsystemshaveimplementedthebasicfunctionsofdormitoryallocation,theyhavenottakenintoaccountstudents'personalitytraits,workandresttime,andotherpracticalfactors.Theyonlyallocatestudentsrandomly,resultingindifficultiesforsomestudentstogetalongwithotherstudentsinthesamedormitory,affectingtheirlearningandlife.Thissystemusesgreedyalgorithmsonthebasisoftheoriginalallocationsystem,andpersonalizedautomaticallocationofdormitoriesiscarriedoutbasedoncollectedstudentsurveydata.Thiscannotonlyreducetheworkloadofschooldormitorymanagers,butalsomeetthepreferences,habits,andneedsofstudents.Themainfunctionofthissystemistousegreedyalgorithmstoachieveautomaticallocationofstudentdormitories.Greedyalgorithmisacommonlyusedoptimizationalgorithmthatachievesglobaloptimizationbycontinuouslymakinglocaloptimalchoices.Inthesystem,aquestionnairesurveyisconductedonstudents'dailyroutines,personalitytraits,andinterests.Thesethreeaspectsareusedasfeatureitems,andeachfeatureitemisgivencorrespondingweightsbasedonitsimportance.Bycalculatingthequantitativevaluesofstudents*preferences,thequantitativevaluesaresorted.Then,thesortingresultsaregroupedbasedoninformationsuchasstudents'classandgender,andthedormitoryinformationtobeallocatedisobtained,Allocateaccordingtothenumberofpeopleaccommodatedineachdormitory,sothatstudentswithsimilarpreferencequantificationvaluesareassignedtothesamedormitory.Ifindividualstudentsarenotsatisfiedwiththeallocationofdormitories,theycanapplyforadormitoryexchange,andtheadministratorcanprocessthisapplicationinformation.Thealgorithmproposedinthispapercannotonlyautomaticallyallocatedormitories,butalsotakeintoaccountstudents*personalitycharacteristics,livinghabitsandotherfactors,whichnotonlyimprovestheallocativeefficiencyofdormitories,butalsoprovidesapersonalizedwaytoallocatestudentdormitories.ThesystemadoptsaB/Smode,withafront-endandback-endseparatedarchitecture,andisdevelopedusingJAVAlanguage.Thefront-endusestheVuejsframework,andtheback-endusestheSSMframework.MySQ1.servesastheback-enddatabase,andIntelliJIDEA,VisualStudioCode,andNavicatPremiumdevelopmenttoolsareusedfordevelopment.Thesystemincludesfunctionalmodulessuchasusermanagement,studentinformationmanagement,dormitoryinformationmanagement,automaticdormitoryallocation,dormitoryallocationsituationmanagement,andstudentapplicationmanagement.Wehaveachievedpersonalizedandautomatedallocationofdormitoriesinuniversities,providingbetterservicesfordormitorymanagersandstudentsoncampus.KeyWords:GreedyAlgorithm;Studentdormitorydistributionsystem;Automaticallocation;目录摘要IAbstractII目录IV1 .引言11.1 系统开发的背景11.2 本课题的研究意义11.3 本课题的基本内容11.4 本课题的重点和难点21.5 论文提纲32 .系统分析42.1 系统概述42.1.1 系统的总体功能需求和性能需求42.1.2 系统开发框架52.2 可行性分析62.2.1 经济可行性72.2.2 技术可行性72.2.3 操作可行性72.2.4 法律可行性72.3 系统功能分析83 .需求分析93.1 业务流程93.2 系统范围113.3 数据流图123.4 数据字典与加工说明144 .总体设计174.1 系统总体结构设计174.2 系统的接口设计174.2.1 用户接口174.2.2 外部接口194.2.3 内部接口194.3 软件体系结构215 .详细设计225.1 功能模块设计225.2 输入/输出格式设计245.3 人机对话设计255.4 界面设计265.4.1 用户界面设计265.4.2 菜单设计335.4.3 对话框设计355.4.4 窗口选项卡界面设计355.5 数据库设计355.5.1 概念结构设计355.5.2 逻辑结构设计385.5.3 物理结构设计395.5.4 数据库安全456 .系统实现466.1 实现工具466.2 开发平台466.3 技术框架主要功能模块流程和编码476.4 本课题中的关键技术506.4.1 设计中要解决的主要问题506.4.2 贪心算法507 .系统的测试与维护527.1 测试用例和测试结果527.2 系统维护54结论55参考文献56致谢57附录581.引言当今社会,随着信息技术的飞速发展和广泛应用,计算机在各个领域中的作用越来越重要。在高校中,学生宿舍分配是大学校园宿舍管理中的重要环节,传统的手动分配学生宿舍方法费时费力,且难以确保公平性和效率。使用计算机系统管理学生宿舍成为一种常态化的方式,然而现存的宿舍分配系统只是对学生进行了随机分配,这就有可能导致学生和同宿舍的其他学生由于个人习惯等方面的差异而产生矛盾和冲突,严重影响学生的学习和生活。本文介绍了一种个性化的学生宿舍分配系统,通过对学生实际情况进行调查,由系统采用贪心算法进行宿舍的自动分配,旨在解决对学生随机分配宿舍所产生的问题的同时,节省高校人力、物力等资源,降低宿舍的管理成本,实现学生宿舍分配工作的科学化、现代化建设的目标,促进高校校园信息化建设的进一步发展。1.1 系统开发的背景随着社会的发展,高校招生规模在不断扩大,学生数量也随之增加,不同的学生对宿舍的分配和管理有着不同的要求,这就导致高校住宿管理工作变得越来越复杂和琐碎。对于规模较小的高校,可以勉强采用人工管理的方式来分配学生宿舍。对于学生数量众多、办学规模较大的高校来说,采用计算机管理系统可以更加准确和高效地处理学生宿舍的分配工作。然而,现有的宿舍分配系统仅仅采用随机分配的方式,忽略了学生和舍友相处是否融洽的实际情况,无法满足学生对个性化宿舍分配的需求。1.2 本课题的研究意义本系统在现存的宿舍分配系统的基础上进行了改进,采用贪心算法,其核心思想是将局部的最优解推广到全局最优解,能够在保证分配结果合理性的同时,提高宿舍利用效率。系统结合了学生性别、学院、班级等因素,以及学生的作息时间、性格特点、爱好等信息,为分配宿舍提供了更加科学和合理的依据,实现了宿舍个性化分配的目标,具有一定的实用价值。通过本课题的研究,可以促进高校信息化建设和智能化管理,推动高校校园管理水平的不断提高。1.3 本课题的基本内容本课题的基本内容涵盖了需求分析,算法设计,系统设计与实现和系统测试四个方面,旨在开发一套高效、准确且个性化的学生宿舍分配系统。1 .需求分析首先,需要通过与学生和宿舍管理人员进行沟通和调研,了解学生对宿舍分配的个性化需求,其次,对收集的学生需求进行分析,从而得到宿舍分配系统的功能需求、性能要求和用户体验要求等重要信息,为系统开发作铺垫。2 .算法设计为了更好的解决宿舍自动分配问题,需要引入算法在保证宿舍分配结果可靠性的同时提高宿舍分配效率。通过对贪心算法、DAD算法、K-means算法等算法进行对比和分析,本着简易、高效、易于调试的原则,最终决定选择贪心算法实现本系统。贪心算法是一种高效的算法,但同时也存在一定的局限性,需要根据实际情况进行合理的调整和优化,从而设计出一种基于贪心算法的宿舍自动分配方案。3 .系统设计与实现系统采用B/S模式,前后端分离的架构,前端使用VUe框架,后端采用SSM框架进行设计,选择MySQ1.作为系统数据库进行开发。在数据库建立方面,要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于前端应用程序的开发则要求应用程序能提供强大的数据操控功能,具有界面友好、使用简单方便等特点。在后端系统设计方面,需要确定系统的模块划分、数据流程和交互方式等。在详细设计中,完成进一步定义每个模块的功能和接口,设计数据库结构、用户界面和算法实现,前后端数据交互等工作。4 .系统测试在系统测试阶段,选择适合的技术和工具进行模块之间的集成测试。需要制定测试方法和策略。编写详尽的测试用例,模拟各种使用情景和场景,进行系统的功能测试、性能测试和安全性测试等。通过全面测试和验证,发现和修复系统中的错误、缺陷和异常情况,确保系统的稳定运行并满足用户的需求。1.4 本课题的重点和难点本系统的重点和难点包括以下方面:1 .算法设计贪心算法的核心在于每一步都做出局部最优的选择,并希望通过这些局部最优的选择达到全局最优的结果。因此,在算法设计过程中需要考虑各种局部情况的影响以及全局最优的策略。对于宿舍分配系统,需要将学生的需求和宿舍的可用资源进行匹配,尽量让更多的学生得到满意的宿舍分配结果。2 .数据库设计宿舍分配系统需要对学生信息、宿舍信息以及分配结果等进行管理,因此需要设计一个可靠的数据库结构来存储和管理这些数据。在数据库设计过程中,需要考虑数据表之间的关联关系、数据的完整性和安全性等方面的问题。3 .前后端开发宿舍分配系统需要提供一个友好的用户界面,用户能够方便地进行操作和查询。同时,后端开发需要实现与前端的数据交互和逻辑处理,确保系统的稳定性和可靠性。因此,在本系统前后端开发中需要考虑多种因素,包括用户体验、系统响应速度和数据安全性等方面。1.5 论文提纲1 .引言2 .系统分析3 .需求分析4 .总体设计5 .详细设计6 .系统实现7 .系统测试与维护2.系统分析2.1 系统概述学生宿舍分配系统是一种为学校宿舍管理人员提供宿舍管理的系统,其主要目的是有效、准确、自动地分配学生宿舍。精细化管理者的工作,节省管理员分配宿舍时间,提高工作效率,使学生宿舍管理工作更加有序。这个系统可以自动地将新生和现有学生分配到宿舍,以确保所有学生都能获得适合自己的住宿环境。本系统使用贪心算法作为核心算法,此算法是一种常见的算法策略,它会在每一步中优先考虑当前状态下的最优解,从而获得最佳的宿舍分配方案。系统分为前端和后端两个部分,前端主要负责用户交互和数据展示,后端则处理数据和逻辑计算。系统框架采用前后端分离的设计,前端使用VUe框架进行开发,后端使用SSM框架,前端通过AXioS请求与后端进行数据交互,实现系统功能。系统还提供了管理员后台,管理员可以对学生信息进行管理,包括添加、删除、修改和查询学生信息,还可以设置宿舍的容纳人数和用户信息等属性。1 .1.1系统的总体功能需求和性能需求2 .总体功能需求宿舍分配系统需要对多种信息进行管理,包括用户信息、学院信息、班级信息、学生信息、宿舍信息、宿舍分配信息等。一个完善的宿舍分配系统应该包括以下功能。(1)用户登录:用户包含管理员和学生两种类型的角色,系统需要根据角色的不同,对用户输入的信息在数据库中进行验证,通过则进入该用户的系统主页,给予不同的功能权限。(2)用户信息:在该模块需要实现对用户信息的管理,管理员可以查看和修改所有用户的信息,学生用户只能查看和修改自己的相关信息。(3)学院信息:管理员可以对学院信息实现增删改查操作。(4)班级信息:可以自动计算相关班级的学生人数,并进行显示,管理员可以对班级信息进行增删改查。(5)宿舍信息:管理员可以对学生宿舍信息进行增删改查。可以显示宿舍状态和人数等相关信息,入住人数字段实现动态更新,不需要人为干涉。(6)学生信息:本模块包含两个部分,分别是学生的详细信息管理和学生用户信息的管理,两者实现了信息同步,当管理员在修改或删除其中任何一个部分的信息时,需要同步修改和删除另一个部分的相关信息。(7)问卷调查:学生用户可以在本模块根据自己的实际情况提交问卷,可以查看自己的问卷调查信息。管理员可以查看所有学生的问卷调查信息。系统根据问卷调查信息对学生宿舍进行自动分配。(8)申请管理:学生用户可以在本模块提交申请信息,并查看自己提交的申请信息详情及处理结果。管理员可以接受到学生用户的申请并做出处理。(9)宿舍分配情况信息:管理员可以查看和修改宿舍的分配情况,本模块的信息是系统根据问卷调查结果采用贪心算法自动生成并存储,当学生申请更换宿舍时管理员只需要调整该学生的宿舍分配情况信息即可。学生用户具有查询本人信息、修改个人信息、查看个人的宿舍分配信息、申请更换宿舍等功能。系统管理员具有查询、修改所有用户的个人信息、增加或删除用户信息、实现宿舍的一键分配、查看宿舍分配情况信息,查询、修改、增加或删除宿舍信息、对用户申请做出处理等功能。3 .总体性能需求(1)可靠性在数据方面,对于系统输入的数据,需要进行严格的数据格式检查和数据有效性验证,防止非法数据对系统的影响。例如对手机号的输入进行格式审查,要求必须为中国大陆11位手机号;在系统开发方面,系统采用多层次的系统设计和严格的模块化开发,确保系统的各个模块之间相互独立,一个模块的故障不会对整个系统造成严重的影响;在数据库方面,需要防止数据丢失和系统崩溃等不可预见的情况发生,做出数据备份等容灾机制。(2)易使用性系统界面需要简单直观,具有人性化特点,操作流程简单明了,遵循界面一致性、界面布局合理性、操作流程简单性等原则,以提高用户的操作体验。数据交互性强。(3)安全性保证所有用户的信息安全,分权限使用,要求系统需要设计身份验证机制,例如登录密码验证,防止非法用户的入侵,在数据库方面,需要确保数据的安全性和完整性。2.1.2系统开发框架1.SSM框架SSM框架是指Spring÷SpringMVC÷MyBatis这三个开源框架的组合,是一种主流的JaVaWeb应用程序开发框架。SPring框架是一个轻量级的IoC和AOP容器,提供了许多常用的功能和API;SPringMVe是SPring框架中的一个模块,提供了一个MVC架构的Web框架,能够帮助开发人员快速开发Web应用程序;MyBatiS是一款优秀的ORM框架,它可以帮助开发人员简化数据库访问,提高开发效率。使用SSM框架进行开发,可以将三个框架的优点结合在一起,从而实现高效、灵活的JaVaWeb应用程序开发。SSM框架如图2.2所示。图2.2SSM框架程序执行流程图2. Vue框架Vue是一种轻量级的JaVaSCriPt前端框架,用于构建交互式Web界面。采用MVVM模式进行开发,这种模式下代码会更加简洁,运行快速,更加适合Web端的显示。其核心思想是“响应式数据绑定”,让数据和视图之间的绑定变得非常简单。当数据发生变化时,会自动更新视图。VUe也提供了组件化、路由管理、状态管理等高级功能,使开发大型Web应用程序变得更加容易和高效。(1) VUe框架的特点响应式数据绑定,VUe利用了JaVaSCriPt的getter和Setter方法,使得数据的变化可以自动更新视图;VUe允许开发者将Web页面划分为独立的组件,从而提高代码的可重用性和可维护性;VUe的文件大小非常小,加载和运行时的速度更快;VUe具有简单易懂的APl和详细的开发文档,开发者可以快速上手使用;VUe拥有丰富的插件和第三方库,使得开发者可以轻松地扩展和定制VUe应用程序。(2) VUe框架的结构VUe框架的结构如图2.1所示.视图层数据模型数据层DOMDOM1.istensersJaVaSCriPt对象DataBindings图2.1VUe框架图2.2可行性分析项目可行性分析在系统开发中起着至关重要的作用,对项目进行可行性分析,可以运用大量的数据资料论证拟建项目是否可行。对整个可行性研究提出综合分析评价。1 .2.1经济可行性从项目的经济上进行分析评价,一方面是系统开发成本,另一方面是系统收益。这是个小型的信息管理系统,所使用的开发工具均为免费开源,只需要一台符合要求的电脑和安装相关应用软件即可,系统投资较低。本系统可用于高校宿舍管理工作,具有良好的市场前景,该系统可以有效降低学校工作人员的工作负担,缓解工作压力,并为教师和学生提供更好的服务。总之,这款系统具有经济可行性。2 .2.2技术可行性从技术角度来看,基于贪心算法的学生宿舍分配系统具有可行性。1 .前端技术可行性系统前端采用Vue和ElementUI技术进行开发,Vue框架拥有丰富的插件和组件,开发效率高、用户体验好,并且支持模块化开发,ElementUl是一种基于VUe的Ul框架,提供了丰富的组件和样式,能够快速实现各种功能和样式的设计。VUe和ElementUl能够满足系统的界面设计和用户交互需求。使前端开发更加容易维护和升级。2 .后端技术可行性系统后端采用Java语言搭建SSM框架实现,Java语言是一种流行的编程语言,具有跨平台、面向对象、安全性高等优点,能够保证系统的稳定性和安全性。SSM框架是一种流行的JaVaWeb开发框架,具有良好的扩展性和灵活性,能够提供完整的MVC架构,使得系统逻辑清晰、易于维护。SSM框架支持多种数据源和事务管理,保证系统的数据安全和稳定性。3 .数据库技术可行性系统采用MySQ1.数据库存储学生信息和宿舍分配记录,MySQ1.是一种性能稳定的关系型数据库,支持高并发、高可用性,且具有良好的扩展性和安全性。4 .贪心算法可行性贪心算法是一种常见的算法,具有简单、高效、可行性等优点,可以很好地解决宿舍分配等问题。2.2.3操作可行性系统的前端界面采用VueJs框架进行开发,具有良好的用户交互体验和可视化效果,能够使用户通过简单的操作实现各项功能。2.2.4法律可行性该系统在法律允许的范围内完全由自主研发,不存在侵权的问题。系统开发过程中遵守相关法律法规,如网络安全法、个人信息保护法等,确保用户隐私的保护和信息的安全性。系统在进行学生宿舍分配时,需要收集和使用学生的个人信息,将会遵守相关法律法规,保证数据的合法性和隐私的保护。系统提供的服务和功能符合法律规定。进行宿舍分配时,遵守公平、透明、公开原则,确保每位学生的权益得到保障,开发者将提供相关的规则和流程,让学生和管理员了解系统的分配原则。综上所述,该基于贪心算法的学生宿舍分配系统在法律上也具有可行性,只要遵守相关法律法规和规定,保障用户隐私和数据安全,确保服务的公平性和透明度,就能够合法地进行开发和使用。2. 3系统功能分析学校当前的宿舍分配信息管理工作主要集中在学生个人基本信息的采集和管理;宿舍信息的日常管理;分配信息管理的等方面。开发学生宿舍分配理系统,有利于将以上工作统一的进行管理,做到“化零为整”,提高工作效率和质量,尽量减少人力和时间的大量投入。1 .用户登录可以在登录页面选择不同的用户角色,输入用户名和密码,通过系统验证后进入对应角色的系统首页。2 .学院管理管理员能够对学院信息进行增加、删除、修改、查询等操作。3 .班级管理管理员能够对班级信息进行增加、删除、修改、查询等操作,也可以查看本班级学生人数。4 .学生管理管理员能够对学生及学生账号信息进行管理,包括学生信息和账号信息的动态绑定,修改某学生信息的同时更新该学生账号信息,也可以单独修改学生账号密码。5 .宿舍管理管理员可以对学生宿舍相关信息进行管理。6 .申请管理学生用户可以提交申请并查看申请处理状态。管理员可以对学生的申请信息进行审核和处理。7 .分配管理该模块是系统的核心功能,学生对问卷调查信息的提交和查看,管理员对问卷调查信息的管理以及系统自动分配宿舍。3.需求分析3.1 业务流程学生宿舍分配系统日常业务主要有以下几项业务:1 .系统登录业务用户需要输入用户名,密码,选择用户类别,系统将对输入的信息与数据库中数据进行验证,若通过,则进入到不同类别的用户首页;若失败,返回对应的错误信息,提示重新登录,业务流程如图3.1所示。图3.1系统登录业务图2 .信息查询业务用户成功进入系统后,在前端页面输入信息的查询条件,系统获取到相关信息后,依照提供的查询条件在数据库中进行查询。在查询到相关信息后传递给系统前端页面,将其显示,业务流程如图3.2所示。图3.2信息查询业务图3 .信息修改业务用户定位到需要修改的信息后,输入修改内容,系统通过在数据库中查询定位到数据,将信息进行修改,将修改后的数据返回到前端页面,实现信息修改的功能,业务流程如图3.3所示。图3.3信息修改业务图4 .宿舍自动分配业务管理员点击自动分配按钮后,系统首先从数据库获取待分配的学生信息和宿舍信息,根据分配条件,根据宿舍实际情况自动对学生进行排序分配,将分配后的信息写入数据库的同时,将数据返回到前端页面,完成宿舍自动分配的功能,业务流程如图3.4所示。图3.4宿舍自动分配业务图5 .更换宿舍业务首先,学生用户在自己的主页提出更换宿舍的申请,系统进行判断,若该学生还未分配宿舍,则申请更换宿舍提交失败,否则,系统接受到学生申请,将数据写入数据库,管理员查询所有的申请信息,并对信息进行处理,进行更换宿舍的操作,完成更换宿舍的功能,业务流程如图3.5所示。图3.5更换宿舍业务图6 .申请提交和处理业务首先,学生用户在自己的主页提出申请,系统进行判断,若该学生还未分配宿舍,则申请提交失败,否则,系统接受到学生申请,将数据写入数据库,管理员查询所有的申请信息,并对信息进行处理,完成申请提交和处理的功能,业务流程如图3.6所示。图3.6申请提交和处理业务图3. 2系统范围1 .系统边界在本系统中,诸如学生信息的录入、修改、查询,宿舍楼信息的录入、修改、查询,宿舍房间信息的录入、修改、查询等功能需要管理员手动进行操作。系统自动实现了贪心算法的运行和宿舍分配结果的自动生成。用户只需提供正确的数据输入,系统便能自动执行算法并生成宿舍分配结果。然而,对于部分特殊情况,如学生调换宿舍等操作,用户仍然需要手动进行操作。2 .功能范围学生用户功能范围:学生用户可以查看自己的相关信息并进行修改,可以在系统上填写和提交问卷调查信息,在宿舍分配之后,可以提交自己的申请并查看处理结果。管理员功能范围:管理员可以使用所有模块的功能实现对学院、班级、宿舍、学生、宿舍分配情况、申请信息的管理,实现对宿舍的自动分配等操作。3. 3数据流图对本系统进行详细的分析后可知,本系统主要是对学生宿舍自动分配的实现,因此需要学生向系统提供问卷调查信息和申请信息,管理员向系统提供宿舍信息、学生信息使用分配系统进行分配,通过本系统得到宿舍分配情况信息,提供给管理员和学生进行查看,得到系统顶层数据流图如图3.7所示。图3.7顶层数据流图宿舍信息管理员对顶层图进行一级细化分析,在本系统通过“用户管理”、“信息管理”、“分配管理”三个模块对原始数据做出了加工,使得数据能够满足系统的需要。“用户管理”模块将学生和管理员提供的个人信息进行整合,形成学生信息表和管理员信息表传递给信息管理。“信息管理”模块实现对系统所有的信息管理,整合管理员提供的宿舍信息和班级信息形成宿舍信息表和班级信息表,为分配管理作铺垫。“分配管理”模块主要实现宿舍的自动分配和申请信息、分配情况信息的管理,将分配完毕的信息提供给学生和管理员,由此得出一级细化图,如图3.8所示。图3.8一级细化图对一级细化图中的“用户管理”模块进一步细化得到如图3.9二级细化图。对一级细化图中的“信息管理''模块进一步细化得到如图3.10二级细化图。图3.10二级细化图(信息管理)对一级细化图中的“分配管理”模块进一步细化得到如图3.10二级细化图。图3.11二级细化图(分配管理)3.4数据字典与加工说明数据字典是一种用于描述数据元素及其定义的文档或信息集合。它通常用于记录一个数据库或信息系统中使用的数据元素及其相互关系,通常包括数据元素名称、数据类型、数据长度、取值范围、数据来源、数据格式、业务含义等内容。由1层数据流图中细化出来的用户管理、信息管理、分配管理等事务,能够查看到数据流向,以此得出如表3.1所示的数据流和文件条目。表3.1数据流和文件条目编号名称别名组成Fl学生信息学生信息学生ID+学院ID+班级ID+学生姓名+学生性别+联系电话F2管理员信息管理员信息用户ID+用户名+用户密码+用户性别+联系电话F3宿舍信息宿舍信息宿舍楼ID+宿舍ID+学生性别+容纳人数+已入住人数+状态F4班级信息班级信息ID+宿舍楼ID+宿舍ID+学生性别+学院ID+班级ID+学生ID+学生姓名F5分配情况信息分配情况信息ID+学生ID+学院ID+班级ID+学生姓名+学生性别+作息时间+性格特点+兴趣爱好+偏好量化值F6申请信息申请信息ID+学生ID+宿舍ID+申请日期+申请详情+处理结果数据流或文件是由若干数据项组成的,数据项是最小的单位,它主要包括中文名称、代码、类型、长度、小数位、默认值等,对管理员信息、学生信息、宿舍信息,问卷调查信息等所包含的数据项条目描述如下表3.2所示。表3.2数据项描述列名数据类型约束条件描述admin_idint(0)notnull,Autojncrement管理员TDadmin_namevarchar(50)NOTNU1.1.管理员姓名admin_passwordvarchar(50)NOTNU1.1.管理员密码adminsex.varchar(10)NU1.1.DEFAU1.TNU1.1.管理员性别admin_phonevarchar(50)NU1.1.DEFAU1.TNU1.1.管理员联系电话stuidint(0)PRIMARYKEY学生IDstuser_passwordvarchar(50)NOTNU1.1.学生密码stu_namevarchar(50)NOTNU1.1.学生姓名class_idint(0)NOTNU1.1.班级IDdcptidint(O)NU1.1.DEFAU1.TNU1.1.外键,所属学院IDclass_namevarchar(50)NOTNU1.1.班级名称boy_numint(O)NU1.1.DEFAU1.TNU1.1.男生人数girlnumint(O)NU1.1.DEFAU1.TNU1.1.女生人数stu_numint(O)NU1.1.DEFAU1.TNU1.1.学生人数class_teachervarchar(50)NU1.1.DEFAU1.TNU1.1.班主任姓名teacher_phonevarchar(50)NU1.1.DEFAU1.TNU1.1.班主任电话dorm_idint(O)NOTNU1.1.宿舍号buildingnamevarchar(20)NOTNU1.1.楼宇名称sex.varchar(20)NU1.1.DEFAU1.T适用性别build_idint(O)NOTNU1.1.所属楼宇ID,外键参考department_info表max_numberint(O)NOTNU1.1.最大可住人数current_numberint(O)NU1.1.DEFAU1.T当前住宿人数statevarchar(10)NU1.1.DEFAU1.T宿舍状态(例如:已满、未满等)dept_namevarchar(50)INDEX部门名称stu_sexvarchar(10)NU1.1.DEFAU1.TNU1.1.学生性别Stuphonevarchar(50)NU1.1.DEFAU1.TNU1.1.学生电话application一datedateNOTNU1.1.申请日期informationvarchar(100)NU1.1.DEFAU1.TNU1.1.申请信息resultvarchar(20)NOTNU1.1.申请结果由数据流图的处理过程可以得出以下的加工说明,如下表3.12所示。表3.12加工说明加工编号P1.l加工名称学生信息管理数据来源:管理员向系统提供的学生信息数据去向:Fl:学生信息表处理逻辑:将学生信息进行保存,建立学生信息表,新建相关的学生用户账号,使学生用户可以通过用户名和密码进行登录系统。补充说明:加工编号P1.2加工名称管理员信息管理数据来源:管理员添加的其他管理员信息数据去向:F2:管理员信息表处理逻辑:管理员向系统添加其他管理员的相关信息,并进行保存。补充说明:加工编号P2.1加工名称宿舍管理数据来源:管理员

    注意事项

    本文(基于贪心算法的宿舍分配系统的设计与实现.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开