学生宿舍管理系统课程设计说明书
- 格式:doc
- 大小:243.50 KB
- 文档页数:17
系统设计说明书模板1. 引言1.1 编写目的本说明书确定学生宿舍管理系统的详细功能模块和数据结构,为学生宿舍管理系统开发编码工作的主要依据。
1.2 背景软件系统的名称:学生宿舍分配系统本项目的任务提出者:张老师本项目的任务开发者:学生软件系统的用户:大学的公寓寝室管理中心1.3 术语表2-1 术语定义或解释表1.4 参考资料1.《学生宿舍分配软件的基本需求》2.《软件系统分析与设计》殷建民编著中国水利水电出版社,20082. 系统总体设计2.1设计约束2.1.1 本系统应遵循的标准和规范1.软件设计应遵循《软件设计规格说明书》,满足《用户需求规格说明书》的相关要求,满足国家规定的相关软件设计的标准。
2.软件采用CS结构设计,用户安装程序后,能够登录进入享受系统的服务。
3.软件设计需要保证软件的正确性、健壮性、安全性。
保证用户的使用体验,保证用户数据的安全。
2.1.2 软硬件运行环境约束软件平台1.客户端软件环境:操作系统:Windows 98/NT /2000或更高版本2.服务端软件环境:A.操作系统:Windows NT /2000 Server或更高版本B.数据库产品:SQL Server 2000硬件平台1.客户程序硬件环境:A.具有 Pentium II440MH或性能相当处理器且满足以下要求的计算机:B.最低 64 MB 内存C.最小 800 MB 硬盘空余空间D.分辨率至少800×600彩色VGA显示器E.鼠标键盘2.服务器硬件环境:A.具有 Pentium Ⅳ 2.4GH 或性能相当的处理器且满足以下要求的计算机:B.最低 256MB 内存C.最小 2 GB 硬盘空余空间D.分辨率至少800×600彩色VGA显示器E.鼠标键盘2.1.3 接口约束外部接口1.用户接口:采用窗口化,菜单式进行设计,在操作时响应快。
2.硬件接口:扫描仪器3.软件接口:用WPS工作簿进行接口内部接口通过面向对象语言设计类,在Public类中实现调用;类间实现严格封闭。
《数据结构》课程设计说明书1、需求分析 ........................................................................................... 错误!未定义书签。
1.1问题描述 ........................................................................................ 错误!未定义书签。
1.2基本任务 .......................................................................................... 错误!未定义书签。
2、概要设计 ........................................................................................... 错误!未定义书签。
2.1主界面设计....................................................................................... 错误!未定义书签。
2.2数据结构设计 (3)2.3系统功能设计 (3)3、模块设计 (3)3.1模块设计 (4)3.2系统子模块及其功能设计 (4)3.3系统模块之间的调用关系 (4)4、详细设计 (5)4.1数据结构设计 (5)4.2系统主要模块设计 (5)5、调试分析 (13)6、用户使用说明 (17)7、自我评价 (17)一、需求分析1.1 问题描述传统的纸质管理已经不能满足大家的需求,有容易丢失、查找不方便等缺点。
计算机信息管理为人们的生活、工作提供了方便,提高了效率。
“学生宿舍管理系统”是为了帮助宿舍管理人员、老师、同学进行管理和分析的一种计算机应用程序。
宿舍管理系统系统设计说明书宿舍管理系统系统设计说明书1. 引言1.1 目的1.2 范围1.3 定义2. 需求概述2.1 功能需求2.1.1 学生信息管理2.1.2 宿舍楼信息管理2.1.3 宿舍房间信息管理2.1.4 宿舍床位信息管理2.1.5 维修申请管理2.1.6 报修处理管理2.1.7 支付管理2.1.8 入住退房管理2.1.9 角色权限管理2.2 非功能需求2.2.1 安全性2.2.2 可靠性2.2.3 可用性2.2.4 性能2.2.5 可维护性2.2.6 可扩展性2.2.7 用户界面3. 系统设计3.1 架构设计3.1.1 客户端-服务器模式 3.1.2 分层架构3.2 数据库设计3.2.1 学生信息表设计3.2.2 宿舍楼信息表设计 3.2.3 宿舍房间信息表设计3.2.5 维修申请信息表设计3.2.6 报修处理信息表设计3.2.7 支付信息表设计3.2.8 入住退房信息表设计3.2.9 角色权限信息表设计3.3 界面设计3.3.1 学生信息管理界面设计3.3.2 宿舍楼信息管理界面设计 3.3.3 宿舍房间信息管理界面设计 3.3.4 宿舍床位信息管理界面设计 3.3.5 维修申请管理界面设计3.3.6 报修处理管理界面设计3.3.7 支付管理界面设计3.3.8 入住退房管理界面设计3.3.9 角色权限管理界面设计3.4 业务流程设计3.4.2 宿舍楼信息管理流程设计 3.4.3 宿舍房间信息管理流程设计 3.4.4 宿舍床位信息管理流程设计 3.4.5 维修申请管理流程设计3.4.6 报修处理管理流程设计3.4.7 支付管理流程设计3.4.8 入住退房管理流程设计3.4.9 角色权限管理流程设计4. 系统实现4.1 开发环境4.2 技术选型4.3 开发工具4.4 编码规范4.5 测试策略4.6 部署策略5. 系统运维5.1 系统监控5.2 故障处理5.3 日志记录和分析5.4 数据备份和恢复5.5 安全策略6. 附件6.1 数据库设计文件6.2 界面设计文件6.3 业务流程设计图6.4 监控配置文件6.5 日志记录文件7. 法律名词及注释7.1 GDPR(通用数据保护条例)- GDPR是指欧盟于2018年5月25日生效的一项涉及个人数据保护的法律条例,旨在加强个人数据的保护和隐私权利。
学生宿舍管理系统需求规格说明书学生宿舍管理系统需求规格说明书1、引言本文档旨在描述学生宿舍管理系统的功能和需求,以便能够有效地管理学生宿舍和提供良好的居住环境。
2、总体描述2.1 系统概述学生宿舍管理系统旨在实现对学生宿舍的管理,包括入住管理、设备维护、安全管理等功能。
该系统将提供一个便捷和安全的平台,以满足学生的宿舍生活需求,并提升学生宿舍管理的效率。
2.2 业务需求学生宿舍管理系统应满足以下业务需求:2.2.1 学生入住管理系统应能够管理学生宿舍的入住信息,包括学生信息、宿舍分配、入住时间等。
管理员能够根据学生的个人信息和需求进行宿舍分配,并记录相关信息。
2.2.2 设备管理系统应能够管理学生宿舍的设备信息,包括宿舍内设备清单、维修记录和报废处理等。
管理员能够对设备进行维护和报废操作,并记录相关信息。
2.2.3 安全管理系统应能够管理学生宿舍的安全事务,包括宿舍门禁管理、安全巡查和安全事件处理等。
管理员能够对宿舍门禁进行管理和设置,记录巡查情况,并处理相关安全事件。
2.2.4 报修管理系统应提供学生宿舍的报修功能,包括报修申请、维修进度和评价反馈等。
学生能够方便地提交报修申请,并及时了解维修进度。
2.2.5 公告通知系统应提供宿舍管理的公告通知功能,包括通知发布、阅读确认和重要通知推送等。
管理员能够发布重要通知和公告,并记录学生的阅读情况。
2.2.6 数据统计与分析系统应能够统计和分析学生宿舍的相关数据,包括入住率、设备故障频率和报修情况等。
管理员能够根据统计结果进行管理决策和优化改进。
3、功能需求3.1 学生入住管理3.1.1 学生信息管理系统应能够维护学生的个人信息,包括学号、姓名、性别、年级、专业等。
3.1.2 宿舍分配管理系统应能够根据学生的个人信息和需求进行宿舍分配,包括分配规则的设置和宿舍选择的可视化界面。
3.1.3 入住信息管理系统应能够记录学生的入住信息,包括入住时间、宿舍号码、床位号等。
详细设计说明书【学生宿舍管理系统】目录一、引言 (1)1.1编写目的 (1)1.2背景 (1)1.3定义 (1)二、系统性能 (2)三、程序系统的结构 (2)四、程序设计说明 (3)4.1.登录模块 (3)4.1.1功能简介 (3)4.1.2功能 (4)4.1.3输人项 (4)4.1.4输出项 (4)4.1.5算法 (4)4.1.6逻辑流程 (4)4.1.7接口 (5)4.1.8存储分配 (5)4.2 admin模块 (5)4.2.1功能简介 (5)4.2.2功能 (6)4.2.3输入项 (6)4.2.4输出项 (6)4.2.5算法 (6)4.2.6逻辑流程 (6)4.2.7接口 (7)4.2.8存储分配 (7)4.3管理员信息查询模块 (7)4.3.1功能简介 (7)4.3.2功能 (7)4.3.3输入项 (8)4.3.4输出项 (8)4.3.5算法 (8)4.3.6逻辑流程 (8)4.3.7接口 (9)4.3.8存储分配 (9)4.4管理员信息登记模块 (9)4.4.1功能简介 (9)4.4.2功能 (10)4.4.3输入项 (10)4.4.4输出项 (10)4.4.5算法 (11)4.4.6逻辑流程 (11)4.4.7接口 (11)4.4.8存储分配 (11)4.5学生管理模块 (12)4.5.1功能简介 (12)4.5.2功能 (12)4.5.3输入项 (12)4.5.4输出项 (12)4.5.5算法 (12)4.5.6数据流程 (13)4.5.7接口 (13)4.5.8存储分配 (13)4.6数据库查询模块 (14)4.6.1功能简介 (14)4.6.2功能 (14)4.6.3输入项 (14)4.6.4输出项 (14)4.6.5逻辑流程 (15)4.6.6算法 (15)4.6.7接口 (15)4.7数据库修改模块 (15)4.7.1功能简介 (15)4.7.2功能 (16)4.7.3输入项 (16)4.7.4输出项 (16)4.7.5逻辑流程 (17)4.7.6算法 (17)4.7.7接口 (17)4.8显示模块 (17)4.8.1功能简介 (17)4.8.2功能 (17)4.8.3输入项 (18)4.8.4输出项 (18)4.8.5逻辑流程 (18)4.8.6算法 (19)4.8.7接口 (19)一、引言1.1编写目的本文档为学生宿舍管理系统详细设计说明书,为学生宿舍管理系统编码的主要依据。
学生宿舍管理系统需求分析说明书学生宿舍管理系统需求分析说明书1、引言1.1\t编写目的本文档旨在对学生宿舍管理系统的需求进行详细分析,以确保系统开发过程中的透明性和一致性。
1.2\t项目背景随着大学生人数的增加,学生宿舍的管理日益繁琐。
为了提高学生宿舍管理工作的效率,提升学生居住环境的舒适度,本项目拟开发一个学生宿舍管理系统,用于管理学生的住宿信息、报修服务、电费缴纳等相关事项。
2、需求概述2.1\t系统目标学生宿舍管理系统的目标是提供一个方便、高效的学生宿舍管理平台,包括学生住宿信息管理、报修管理、电费缴纳管理、设备管理等核心模块。
2.2\t功能性需求2.2.1 学生住宿信息管理- 学生注册与登录- 学生信息查询和修改- 宿舍分配与调整2.2.2 报修管理- 学生报修申请提交- 维修人员处理报修申请- 报修进度跟踪和查询2.2.3 电费缴纳管理- 电费账单与查询- 学生缴费记录管理- 电费统计与报表2.2.4 设备管理- 宿舍设备信息维护- 设备报废处理2.3\t非功能性需求2.3.1 界面友好性- 界面简洁明了- 操作流畅易懂2.3.2 安全性- 学生信息安全- 报修进度保密2.3.3 可扩展性- 支持系统升级和功能扩展2.3.4 高性能- 响应迅速- 并发处理能力强2.3.5 可靠性- 数据备份与恢复- 故障容错能力2.3.6 兼容性- 支持多种浏览器- 支持多种操作系统3、详细需求描述3.1\t学生住宿信息管理3.1.1 学生注册与登录- 学生需要提供个人信息注册账号- 学生通过账号和密码进行登录3.1.2 学生信息查询和修改- 学生可查询和修改个人信息- 学生宿舍分配后无法修改宿舍信息3.1.3 宿舍分配与调整- 系统自动分配宿舍给学生- 管理员可以手动调整学生宿舍分配3.2\t报修管理3.2.1 学生报修申请提交- 学生选择需要维修的设备或宿舍问题- 学生填写报修申请并提交3.2.2 维修人员处理报修申请- 维修人员接收报修申请并进行处理- 维修人员可设置维修进度和完成时间3.2.3 报修进度跟踪和查询- 学生和维修人员可查询报修进度和处理结果- 学生可随时取消报修申请3.3\t电费缴纳管理3.3.1 电费账单与查询- 系统自动每个宿舍的电费账单- 学生可查询个人电费账单3.3.2 学生缴费记录管理- 学生可查询和管理个人缴费记录- 学生可通过系统完成电费缴纳3.3.3 电费统计与报表- 管理员可电费统计报表- 报表包括宿舍电费收入、欠费情况等3.4\t设备管理3.4.1 宿舍设备信息维护- 管理员维护宿舍设备信息,包括设备名称、数量、价格等- 管理员可添加、修改和删除设备信息3.4.2 设备报废处理- 管理员可对设备进行报废处理- 报废的设备不再显示在系统中附件:- 数据库设计文档- 界面设计原型图法律名词及注释:- 保密法 - 保护个人隐私和敏感信息的法律法规。
学生宿舍管理系统概要设计说明书1引言 (2)1.1编写目的 (2)1.2背景 (2)1.3定义 (2)1.4参考资料 (2)2.1需求规定 (2)2.2运行环境 (3)2.4 结构 (4)2.5功能需求与程序的关系 (6)2.6人工处理过程 (6)2.7尚未问决的问题 (6)3接口设计 (6)3.1用户接口 (6)3.2外部接口 (6)3.3内部接口 (7)4运行设计 (7)4.1运行模块组合 (7)4.2运行控制 (7)4.3运行时间 (7)5系统数据结构设计 (7)5.1逻辑结构设计要点 (7)5.2物理结构设计要点 (8)5.3数据结构与程序的关系 (10)6系统出错处理设计 (11)6.1出错信息 (11)6.2补救措施 (11)6.3系统维护设计 (12)概要设计说明书1引言1.1编写目的由前面的需求分析,得出了系统的基本需求,和基本的数据流图,要实现整个系统,需要对用户的需求进行设计,概要设计主要是利用比较抽象的语言对整个需求进行概括,确定对系统的物理配置,确定整个系统的处理流程和系统的数据结构,接口设计,实现对系统的初步设计。
预期读者为客户代表及程序设计人员。
1.2背景根据XX学校希望能够充分利用现代科技来提高学生宿舍管理的效率,在原有的系统基础上进行扩展,将一些可以用计算机来管理的都进行计算机化,使得管理人员工作更加方便,1.3定义MYSQL:数据库管理软件DBMS:数据库管理系统Windows 2007:运行环境1.4参考资料[1]《软件工程》---- 江开耀主编:张俊兰李晔出版社:西安电子科技大学出版社[2] 相关网络资料2总体设计2.1需求规定通过该系统的实施,将学生宿舍管理等方面通过系统来实施,其中包括宿舍楼基本信息,学生基本信息,宿舍保卫事故等信息,使得查询修改等管理业务效率更高更方便。
2.2运行环境数据库管理系统软件:MySQL运行平台:Windows XP/Windows 2003/Windows 2007分辨率:最佳效果1024*768像素2.4 结构3、用户管理E-R图2.5功能需求与程序的关系2.6人工处理过程无2.7尚未问决的问题无3接口设计3.1用户接口1)对系统各个功能模块,以分级菜单的形式给出;2)所有的提交,确认,删除等操作以按钮的形式给出,且名称一律为取为“提交”、“确认”、“删除”等易于理解的形式。
宿舍管理系统--软件设计说明书宿舍管理系统--软件设计说明书1、引言1.1 目的1.2 范围1.3 定义、缩略语和缩写1.4 参考资料1.5 概述2、系统概述2.1 问题描述2.2 系统功能2.3 用户特征2.4 假设和约束2.5 系统环境3、功能需求3.1 用户管理功能3.1.1 注册3.1.2 登录3.1.3 修改密码3.1.4 添加用户3.1.5 删除用户3.2 宿舍信息管理功能 3.2.1 添加宿舍3.2.2 删除宿舍3.2.3 查询宿舍3.2.4 修改宿舍信息 3.3 学生信息管理功能 3.3.1 添加学生信息 3.3.2 删除学生信息 3.3.3 查询学生信息 3.3.4 修改学生信息 3.4 入住管理功能3.4.1 分配宿舍3.4.2 退宿处理3.5 维修管理功能3.5.1 报修3.5.2 处理维修请求4、性能需求和非功能需求 4.1 性能需求4.1.1 响应时间4.1.2 并发能力4.2 非功能需求4.2.1 可靠性4.2.2 安全性4.2.3 可维护性4.2.4 用户友好性4.2.5 可扩展性5、数据模型5.1 用户表5.2 宿舍表5.3 学生表5.4 入住记录表5.5 维修记录表6、系统架构6.1 架构概述6.2 MVC设计模式7、界面设计7.1 注册界面7.2 登录界面7.3 用户管理界面7.4 宿舍管理界面7.5 学生信息管理界面 7.6 入住管理界面7.7 维修管理界面8、数据库设计8.1 用户表设计8.2 宿舍表设计8.3 学生表设计8.4 入住记录表设计8.5 维修记录表设计9、接口设计9.1 用户管理接口9.2 宿舍管理接口9.3 学生信息管理接口 9.4 入住管理接口9.5 维修管理接口10、测试计划10.1 单元测试10.2 集成测试10.3 系统测试10.4 用户验收测试11、风险和问题管理11.1 风险识别11.2 风险分析11.3 风险应对策略12、附件附件1、界面原型设计图附件2、数据库表结构设计图13、法律名词及注释13.1 版权法版权法是指保护文字、作品、标志等的法律法规。
学生宿舍管理系统说明书学生宿舍管理系统说明书1、系统概述1.1 系统介绍1.2 功能概述1.2.1 学生信息管理1.2.2 宿舍信息管理1.2.3 入住登记管理1.2.4 报修管理1.2.5 宿舍费用管理1.2.6 宿舍公告管理1.3 用户使用权限2、系统安装与配置2.1 安装要求2.2 系统安装步骤2.3 系统配置3、系统功能详解3.1 学生信息管理3.1.1 学生信息录入 3.1.2 学生信息查询 3.1.3 学生信息修改 3.2 宿舍信息管理3.2.1 宿舍信息录入 3.2.2 宿舍信息查询 3.2.3 宿舍信息修改 3.3 入住登记管理3.3.1 入住登记3.3.2 入住信息查询 3.3.3 退房登记3.4 报修管理3.4.1 报修申请3.4.2 报修处理3.4.3 报修记录查询3.5 宿舍费用管理 3.5.1 费用录入 3.5.2 费用查询 3.5.3 费用统计 3.6 宿舍公告管理 3.6.1 公告发布 3.6.2 公告查询3.6.3 公告删除4、系统使用指南4.1 用户登录与退出 4.2 功能使用说明4.3 常见问题解答5、系统维护与更新5.1 数据备份与还原5.2 系统更新6、附件6.1 数据库设计文档6.2 UI设计稿法律名词及注释:1、宿舍:指供学生居住的集体居住场所,按一定条件分配给学生居住,并由学校管理的住宿设施。
2、入住登记:指学生进入宿舍时,按照规定将个人信息登记到学生宿舍管理系统中的过程。
3、退房登记:指学生搬离宿舍时,将个人信息从学生宿舍管理系统中注销的过程。
4、报修:指学生在宿舍内发现问题或需要维修时,向学校提出申请维修的请求。
5、宿舍费用:指学生居住宿舍所产生的费用,包括房租、水电费、网络费等。
6、宿舍公告:学校向宿舍内的学生发布的通知或公告。
系统设计说明书模板1. 引言1.1编写目的本设计说明是在学生宿舍分配软件需求规格说明书的基础上,详细描述系统的概要设计结果,作为详细设计的基础资料,为系统开发人员提供设计和开发依据。
1.2背景a.待开发的软件系统的名称:学生宿舍分配系统b.本项目的任务提出者:宿舍管理中心c.本项目的任务开发者:学校技术人员d.本项目的任务用户:学生、班主任、辅导员、宿舍负责人、校领导、院领导。
1.3术语本文当中涉及的专业术语定义或解释,一般用表格形式给出,如表2-1所示。
表2-1 术语定义或解释表1.4参考资料学生宿舍分配系统需求规格说明书马小军张玉祥,《软件开发实训教程》,中国人民大学出版社,2015年8月2. 系统总体设计2.1设计约束2.1.1 本系统应遵循的标准和规范易用性、高效性、可靠性、可扩展性、安全性2.1.2 软硬件运行环境约束Windows XP/win7/win8, Sql server 2008数据库数据库服务器一台,CPU:Pentium900M,内存容量>512M2.1.3 接口约束数据库访问接口2.1.4 用户界面约束交互方式:人机交互界面空间尺寸:可随浏览器大小自行调整硬件级网络带宽:校园网带宽>10M2.2 体系结构设计(系统的体系结构模型,如下)2.3系统功能结构主功能清单表2-2 主功能模块(用例)清单2.4模块设计2.4.1 学生住宿申请子系统——填报申请模块程序设计2.4.1.1功能描述学生在线填写住换宿申请,填写后提交。
该模块提供住换宿申请的保存和提交功能。
2.4.1.2性能提交时间<1s2.4.1.3输入项住宿申请表内容包括:姓名、学号、性别、学院、班级、家庭地址、联系电话、电子邮件、申请日期、特殊说明。
2.4.1.4输出项提交状态的宿舍申请表2.4.1.5流程逻辑与算法描述(住宿申请顺序图,如下)2.4.1.6接口数据库访问接口2.4.1.7单元测试计划按照住宿申请顺序图即程序执行流程设计测试用例2.4.2 学生住宿申请子系统——申请查询模块程序设计2.4.2.1功能描述针对学生在线提交的住换宿申请,实现申请书所处状态的具体查询并显示查询结果。
目录前言 (1)正文 (1)1 课程设计分析 (1)1.1 课程设计的教学目的和任务 (1)1.2 课程设计的主要内容 (2)2问题描述及基本要求 (2)3 可行性分析 (3)3.1 技术可行性分析 (3)3.2 可用性分析 (3)4 系统功能介绍 (3)4.1 管理员拥有的功能 (3)4.2 学生拥有的功能 (4)5 算法思想 (4)6 模块划分 (4)6.1 单链表的实现 (4)6.2 单链表的遍历操作 (5)6.3 单链表的查找操作 (5)6.4 单链表的插入操作 (6)7 算法的时间复杂度分析 (7)8 系统流程图 (7)9 算法测试 (7)10 小结 (8)参考文献 (9)前言在当今这个教育发展迅速的社会上,越来越多新的学校建立起来了。
由于学校的地点问题,导致很多的学生不得不住在学校,而学校要想容纳那么多的学生住在学校,就必须建筑宿舍,随着住宿的学生数量增多,学生住宿的问题就出现了,怎样快速安排学生的宿舍房间与床位,记录学生的宿舍号还有对应的床位号,这些对于人工来说是特别麻烦的,所以如果有一个能管理学生宿舍的系统就很好了,这个系统有利于学校管理学生的住宿问题,也有利于宿舍的管理。
这个宿舍管理系统应用的地方有很多,还要有宿舍的单位都可以引进这个系统,宿舍管理系统对于宿舍管理员管理住宿人员的住宿问题很方便,所以这个系统的开发很有必要。
本次设计的“宿舍管理系统”的设计方法是采用C++语言来编写此系统,此系统的主要内容有查看宿舍住宿情况、添加住宿人员、删除住宿人员、修改住宿人员信息等功能,这些功能基本包括了宿舍管理系统所需要的功能。
经过上网搜集资料、自己动手整理以后此次课程设计终于设计成功。
正文1 课程设计分析1.1 课程设计的教学目的和任务(1)使学生进一步理解和掌握所学的各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法。
(2)使学生初步掌握软件开发过程的问题定义、分析、设计、编码、测试、调试等基本方法和基本技能。
(3)使学生掌握查询计算机资料以及有关参考资料,并提高学生程序设计的基本能力。
(4)使学生能用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。
1.2 课程设计的主要内容(1) 问题分析和任务定义根据课程设计的要求,充分的分析和理解所要设计题目的问题,明确问题的要求是什么?限制条件是什么?(2) 逻辑设计对设计题目的问题描述中涉及的对象定义对应的数据类型,并按照以数据结构为中心的原则划分模块,定义主程序模块和各抽象数据类型。
逻辑设计的结果应写出每个抽象数据类型的定义,各个主要模块的算法,并画出模块之间的调用关系图。
(3) 物理设计定义问题相应的存储结构并写出该设计各函数的伪代码算法。
在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试,抽象数据类型的实现尽可能做到数据封装,基本操作的规格说明尽可能明确具体。
详细设计的结果是对数据结构和基本操作作出进一步的求精,写出数据存储结构的类型定义,写出函数形式的算法框架。
(4)程序编码把详细设计的结果进一步求精为程序设计语言程序。
同时加入一些注解和断言,使语言程序中逻辑概念清楚。
(5) 程序调试与测试采用自底向上,分模块进行,即先调试低层函数。
能够熟练掌握调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证实它或绕过它。
调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果。
(6) 结果分析分析程序运行结果包括正确的输入及其输出结果和含有错误的输入及其输出结果。
并且分析算法的时间、空间复杂性。
2问题描述及基本要求由于现在学校学生宿舍管理的工作通常为手工操作,使得工作人员在管理宿舍中耗费时间长,工作效率也很低。
因此,为了提高学校学生宿舍管理的效率,减轻学校有关工作人员的工作负担,决定进行本次课程设计,开发学生宿舍管理系统。
本次课程设计的主要目的是为学校学生管理提供快捷方法,为教育人员或工作者节省大量需要手工登记的操作,对学生公寓情况进行及时跟踪管理,提高管理学生宿舍的效率,推动使学生宿舍管理自动化。
基本要求是以单链表的存储方式存储学生的学号,姓名、班级、宿舍号等信息,并且可以用单链表的插入、查找、删除等操作来实现系统添加新的学生信息,或者删除不住宿的学生信息,也可按照学生的某一项信息进而查找这个学生的所有信息。
也可以利用单链表的遍历操作来实现查看系统中存储的所有学生的信息。
因为所学知识的限制,所以此系统设计的功能少,这是我们的缺点,这个缺点有待改进。
3 可行性分析3.1 技术可行性分析技术可行性的分析是要考虑到将来可能用到的硬件以及软件方面的需求是否满足用户的需要,由于现在科技发展迅速,计算机网络技术和数据库技术已发展成熟,并且系统的很多开发技术都已经渐渐走向成熟,加上现在社会上这种类似的系统成功开发案例也有很多,所以,事实证明,此系统的开发是可行的。
3.2 可用性分析“学生宿舍管理系统”对于学校管理学生宿舍是很方便的,可以提高宿舍管理效率,还有这个系统对于学校其他方面的工作不会有影响,而且现在学校的老师们的综合素质都比较高,所以对于宿舍管理系统的使用不会有任何的阻拦,再加上如果此系统如果真能开发出来,能达到预期的效果,我相信学校的领导也会大力支持此系统在学校范围内使用,所以综上所述,宿舍管理系统的是可用的。
可行性分析结论:此系统的成功开发将进一步促进学校管理的现代化与自动化,也为学校能全面自动化管理积累了经验,更通过一系列的分析,从长远的立场上看,此系统的开发还是很有必要的。
4 系统功能介绍4.1 管理员拥有的功能管理员可以在此系统添加或删除学生信息,按姓名、学号、班级、宿舍号查找学生信息。
4.2 学生拥有的功能学生只能在此系统中按姓名、学号、班级、宿舍号查找学生的信息。
5 算法思想本次课程设计的题目是“学生宿舍管理系统”,此系统的算法思想是是利用了单链表存储的思想。
其中在单链表中存储了学生的多种基本信息以及利用单链表的查找操作可以使系统按照姓名、学号、班级、宿舍号查找学生信息的函数,还有利用单链表的遍历操作使系统输出学生信息,利用单链表的删除操作来删除系统中的学生信息。
这些系统的功能都是在单链表的基础上实现的。
单链表是用一组任意的存储单元存放线性表的元素,这组存储单元可以连续也可以不连续,甚至可以零散分布在内存中的任意位置。
为了能正确表示个元素之间的逻辑关系,每个存储单元在存储数据元素时,还必须存储其后级元素所在的地址信息,这个地址信息成为指针,这两部分组成了数据元素的存储映像,称为结点。
结点的结构如下图所示:图 1 单链表的结点结构其中,data是数据域,用来存放数据元素;next是指针域,用来存放该节点的后继结点的地址。
6 模块划分6.1 单链表的实现单链表的基本思想就是用指针表示结点之间的逻辑关系,在单链表中,设一个结点为p,则结点p由两个域组成:存放数据元素的部分和存放后继结点地址的指针部分,分别用p->data和p->next来标识,且它们各有各自的值:p->data的值是一个数据元素,p->next的值是一个指针。
单链表是由头指针唯一制定,整个单链表的操作必须从头指针开始进行。
在本次课程设计的系统中,p->data的值是学生的学号、姓名、班级和宿舍号,p->next的值是下一位同学的基本信息。
图 2 指针与结点之间的关系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<<"请输入学生的学号:";输入学生的学号;输入错误:cout << "你输入的学号不正确,请输入一个不超过八位数的学号" << endl;cout << "学号:";继续输入输入正确:输入该学生全部信息没有该学号:cout << "没有找学号为:"<< stu_num <<"的学生记录!" << endl;返回初始界面;执行选项3: //按宿舍号查找cout<<"请输入宿舍号:";输入正确:输出该宿舍号所有学生的信息;没有该宿舍号:cout << "没有找到宿舍为:"<< house_name <<"的学生记录!" << endl;返回初始界面;执行选项4: //按姓名查找cout<<"请输入学生姓名:";输入学生姓名 ;输入正确:输出该学生所有信息;没有该学生:cout << "没有找到姓名为:"<< stu_name <<"的学生记录!" << endl;返回初始界面;执行选项5: //按班级查找cout<<"请输入班级名称:";输入学生班级 ;输入正确:输出改班级所有学生信息;没有改班级:cout << "没有找到该班级为:"<< class_name <<"的学生记录!" << endl;返回初始界面;6.4 单链表的插入操作单链表的插入操作是将值为x的新结点插入到单链表的第i个位置,即插入到a i-1与a i之间。