您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 学生宿舍管理系统课程设计说明书
目录前言....................................................................1正文....................................................................11课程设计分析..........................................................11.1课程设计的教学目的和任务............................................11.2课程设计的主要内容.................................................22问题描述及基本要求.....................................................23可行性分析............................................................33.1技术可行性分析......................................................33.2可用性分析..........................................................34系统功能介绍..........................................................34.1管理员拥有的功能....................................................34.2学生拥有的功能......................................................45算法思想..............................................................46模块划分..............................................................46.1单链表的实现........................................................46.2单链表的遍历操作....................................................56.3单链表的查找操作....................................................56.4单链表的插入操作....................................................67算法的时间复杂度分析..................................................78系统流程图............................................................79算法测试..............................................................710小结.................................................................8参考文献................................................................9塔里木大学信息工程学院课程设计第1页,共16页前言在当今这个教育发展迅速的社会上,越来越多新的学校建立起来了。由于学校的地点问题,导致很多的学生不得不住在学校,而学校要想容纳那么多的学生住在学校,就必须建筑宿舍,随着住宿的学生数量增多,学生住宿的问题就出现了,怎样快速安排学生的宿舍房间与床位,记录学生的宿舍号还有对应的床位号,这些对于人工来说是特别麻烦的,所以如果有一个能管理学生宿舍的系统就很好了,这个系统有利于学校管理学生的住宿问题,也有利于宿舍的管理。这个宿舍管理系统应用的地方有很多,还要有宿舍的单位都可以引进这个系统,宿舍管理系统对于宿舍管理员管理住宿人员的住宿问题很方便,所以这个系统的开发很有必要。本次设计的“宿舍管理系统”的设计方法是采用C++语言来编写此系统,此系统的主要内容有查看宿舍住宿情况、添加住宿人员、删除住宿人员、修改住宿人员信息等功能,这些功能基本包括了宿舍管理系统所需要的功能。经过上网搜集资料、自己动手整理以后此次课程设计终于设计成功。正文1课程设计分析1.1课程设计的教学目的和任务(1)使学生进一步理解和掌握所学的各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法。(2)使学生初步掌握软件开发过程的问题定义、分析、设计、编码、测试、调试等基本方法和基本技能。(3)使学生掌握查询计算机资料以及有关参考资料,并提高学生程序设计的基本能力。(4)使学生能用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科塔里木大学信息工程学院课程设计第2页,共16页学的工作方法和作风。1.2课程设计的主要内容(1)问题分析和任务定义根据课程设计的要求,充分的分析和理解所要设计题目的问题,明确问题的要求是什么?限制条件是什么?(2)逻辑设计对设计题目的问题描述中涉及的对象定义对应的数据类型,并按照以数据结构为中心的原则划分模块,定义主程序模块和各抽象数据类型。逻辑设计的结果应写出每个抽象数据类型的定义,各个主要模块的算法,并画出模块之间的调用关系图。(3)物理设计定义问题相应的存储结构并写出该设计各函数的伪代码算法。在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试,抽象数据类型的实现尽可能做到数据封装,基本操作的规格说明尽可能明确具体。详细设计的结果是对数据结构和基本操作作出进一步的求精,写出数据存储结构的类型定义,写出函数形式的算法框架。(4)程序编码把详细设计的结果进一步求精为程序设计语言程序。同时加入一些注解和断言,使语言程序中逻辑概念清楚。(5)程序调试与测试采用自底向上,分模块进行,即先调试低层函数。能够熟练掌握调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证实它或绕过它。调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果。(6)结果分析分析程序运行结果包括正确的输入及其输出结果和含有错误的输入及其输出结果。并且分析算法的时间、空间复杂性。2问题描述及基本要求由于现在学校学生宿舍管理的工作通常为手工操作,使得工作人员在管理宿舍中耗费时间长,工作效率也很低。因此,为了提高学校学生宿舍管理的效率,减轻学校有关工作人员的工作负担,决定进行本次课程设计,开发学生宿舍管理系统。本次课程设计的主要目的是为学校学生管理提供快捷方法,为教育人员或工作者节省大量需要手工登记的操作,对学生公寓情况进行及时跟踪管理,提高管理学生宿舍的效率,推动使学生宿舍管理自动化。塔里木大学信息工程学院课程设计第3页,共16页基本要求是以单链表的存储方式存储学生的学号,姓名、班级、宿舍号等信息,并且可以用单链表的插入、查找、删除等操作来实现系统添加新的学生信息,或者删除不住宿的学生信息,也可按照学生的某一项信息进而查找这个学生的所有信息。也可以利用单链表的遍历操作来实现查看系统中存储的所有学生的信息。因为所学知识的限制,所以此系统设计的功能少,这是我们的缺点,这个缺点有待改进。3可行性分析3.1技术可行性分析技术可行性的分析是要考虑到将来可能用到的硬件以及软件方面的需求是否满足用户的需要,由于现在科技发展迅速,计算机网络技术和数据库技术已发展成熟,并且系统的很多开发技术都已经渐渐走向成熟,加上现在社会上这种类似的系统成功开发案例也有很多,所以,事实证明,此系统的开发是可行的。3.2可用性分析“学生宿舍管理系统”对于学校管理学生宿舍是很方便的,可以提高宿舍管理效率,还有这个系统对于学校其他方面的工作不会有影响,而且现在学校的老师们的综合素质都比较高,所以对于宿舍管理系统的使用不会有任何的阻拦,再加上如果此系统如果真能开发出来,能达到预期的效果,我相信学校的领导也会大力支持此系统在学校范围内使用,所以综上所述,宿舍管理系统的是可用的。可行性分析结论:此系统的成功开发将进一步促进学校管理的现代化与自动化,也为学校能全面自动化管理积累了经验,更通过一系列的分析,从长远的立场上看,此系统的开发还是很有必要的。4系统功能介绍4.1管理员拥有的功能管理员可以在此系统添加或删除学生信息,按姓名、学号、班级、宿舍号查找学生信息。塔里木大学信息工程学院课程设计第4页,共16页4.2学生拥有的功能学生只能在此系统中按姓名、学号、班级、宿舍号查找学生的信息。5算法思想本次课程设计的题目是“学生宿舍管理系统”,此系统的算法思想是是利用了单链表存储的思想。其中在单链表中存储了学生的多种基本信息以及利用单链表的查找操作可以使系统按照姓名、学号、班级、宿舍号查找学生信息的函数,还有利用单链表的遍历操作使系统输出学生信息,利用单链表的删除操作来删除系统中的学生信息。这些系统的功能都是在单链表的基础上实现的。单链表是用一组任意的存储单元存放线性表的元素,这组存储单元可以连续也可以不连续,甚至可以零散分布在内存中的任意位置。为了能正确表示个元素之间的逻辑关系,每个存储单元在存储数据元素时,还必须存储其后级元素所在的地址信息,这个地址信息成为指针,这两部分组成了数据元素的存储映像,称为结点。结点的结构如下图所示:图1单链表的结点结构其中,data是数据域,用来存放数据元素;next是指针域,用来存放该节点的后继结点的地址。6模块划分6.1单链表的实现单链表的基本思想就是用指针表示结点之间的逻辑关系,在单链表中,设一个结点为p,则结点p由两个域组成:存放数据元素的部分和存放后继结点地址的指针部分,分别用p-data和p-next来标识,且它们各有各自的值:p-data的值是一个数据元素,p-next的值是一个指针。单链表是由头指针唯一制定,整个单链表的操作必须从头指针开始进行。在本次课程设计的系统中,p-data的值是学生的学号、姓名、班级和宿舍号,p-next的值是下一位同学的基本信息。图2指针与结点之间的关系塔里木大学信息工程学院课程设计第5页,共16页6.2单链表的遍历操作所谓遍历单链表是指按序号依次访问单链表中的所有结点且仅访问一次。在此系统中,用单链表的遍历操作来实现系统输出全部学生的信息。这里可以设置一个工作指针p先指向头结点,然后依次指向其他学生结点,直到指针指向空为止,当指针p指向某学生结点时输出该学生结点的数据域。图3遍历单链表的操作示意图6.3单链表的查找操作单链表的查找操作可以分为两种方法:一个是按位查找,另一个是按值查找。本次课程设计中运用的是单链表的按值查找。按位查找:在存储学生信息的单链表中,即使知道被访问结点的位置i,也不能像顺序表那样直接按序号访问,只能从头指针出发顺next域逐个结点往下搜索。当工作指针p指向某结点时判断是否为第i个结点,若是,则查找成功;否则,将工作指针p后移。对每个结点依次执行上述操作,直到p为NULL时查找失败。查找算法的基本语句是工作指针p后移,该语句执行的次数与被查结点在表中的位置有关。在查找成功的情况下,若查找位置为i(1=i=n),则需要执行i-1次,等概率情况下,平均性能为O(n)。按值查找:在单链表中实现按值查找操作,需要对单链表中的元素依次进行比较,如果查找成功,返回元素的序号,如果查找不成功,返回0表示查找失败。按值查找的基本语句是将结点p的数据域与待查值进行比较,具体的比较次数与待查值结点在单链表中的位置有关。在等概率情况下,平均时间性能为O(n)。其伪代码如下:执行选项2://按学号查找cout请
本文标题:学生宿舍管理系统课程设计说明书
链接地址:https://www.777doc.com/doc-5971761 .html