学生宿舍管理系统.doc_第1页
学生宿舍管理系统.doc_第2页
学生宿舍管理系统.doc_第3页
学生宿舍管理系统.doc_第4页
学生宿舍管理系统.doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

高校学生宿舍管理系统 摘 要 高校学生宿舍管理系统是典型的信息管理系统 MIS 其开发主要包 括后台数据库的建立和维护以及前端应用程序的开发两个方面 对于后 台数据库的建立和维护要求建立起数据一致性和完整性强 数据安全性 好的库 而对于前端应用程序的开发则要求应用程序能提供强大的数据 操纵功能 界面友好 使用简单方便等特点 我们使用和 Microsoft Visual C 6 0 和 Microsoft SQLServer 2000 数据库为开发工具 Visual C 以拥有 语法高亮 IntelliSense 自动编译功能 以及高级 除错功能而著称 比如 它允许用户进行远程调试 单步执行等 还 有允许用户在调试期间重新编译被修改的代码 而不必重新启动正在 调试的程序 其编译及建置系统以预编译头文件 最小重建功能及累 加连结著称 这些特征明显缩短程式编辑 编译及连结的时间花费 在大型软件计划上尤其显著 旧的手工纪录的宿舍管理方式已经不能 适应高速发展的信息化时代 新的宿舍管理系统开发出来之后 学校的 现有的宿舍信息管理将有很大的改观 由过去的人工方式转变为计算机 方式 由效率低 数据冗余 易产生错误转变为检索迅速 查找方便 可靠性高 存储量大 这些优点能够极大地提高效率 也是学校科学化 正规化管理的重要条件 关键词 宿舍管理系统 数据库 Visual C 6 0 目 录 摘摘 要要 I 引引 言言 1 第一章第一章 系统需求分析系统需求分析 2 1 1 功能需求 2 1 1 1 基本功能需求 2 1 1 2 报表需求 2 1 1 3 用户界面需求 3 1 2 性能需求 3 1 3 数据库选择 4 1 4 环境 4 第二章第二章 相关知识点介绍相关知识点介绍 5 2 1 MICROSOFT VISUAL C 6 0 知识介绍 5 2 2 SQL SERVER 2000 知识介绍 7 第三章第三章 宿舍管理系统详细设计宿舍管理系统详细设计 9 3 1 系统功能模块图 9 3 1 1 系统管理模块 10 3 1 2 公寓管理模块 10 3 1 3 学生管理模块 10 3 1 4 信息查询模块 11 3 1 5 出入登记模块 11 3 1 6 信息修改模块 11 3 1 7 报表管理模块 12 3 1 8 关于模块 12 3 2 系统 E R 图 13 3 3 系统所需表 14 3 3 1 系统表 14 3 3 2 表的说明 18 3 4 1 用户管理 密码修改模块功能详细设计 19 3 4 2 公寓管理模块详细设计 20 3 4 3 信息查询模块详细设计 22 3 4 4 报表管理模块详细设计 26 第四章第四章 系统测试系统测试 29 4 1 所遇问题 29 4 2 系统测试 30 第第五五章章 总总 结结 31 致致 谢谢 32 参考文献参考文献 33 附录附录 A A 主要源程序主要源程序 34 高校学生宿舍管理系统 1 引 言 学生宿舍管理系统对于一个学校来说是必不可少的组成部 分 目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段 手 工记录对于规模小的学校来说还勉强可以接受 但对于学生信息量比较 庞大 需要记录存档的数据比较多的高校来说 人工记录是相当麻烦的 而且当查找某条记录时 由于数据量庞大 还只能靠人工去一条条的查 找 这样不但麻烦还浪费了许多时间 效率也比较低 当今社会是飞速 进步的世界 原始的记录方式已经被社会所淘汰了 计算机化管理正是 适应时代的产物 信息世界永远不会是一个平静的世界 当一种技术不 能满足需求时 就会有新的技术诞生并取代旧技术 21 世纪的今天 信 息社会占着主流地位 计算机在各行各业中的运用已经得到普及 自动 化 信息化的管理越来越广泛应用于各个领域 我们针对如此 设计了 一套学生宿舍管理系统 学生宿舍管理系统采用的是计算机化管理 系 统做的尽量人性化 使用者会感到操作非常方便 管理人员需要做的就 是将数据输入到系统的数据库中去 由于数据库存储容量相当大 而且 比较稳定 适合较长时间的保存 也不容易丢失 这无疑是为信息存储 量比较大的学校提供了一个方便 快捷的操作方式 本系统具有运行速 度快 安全性高 稳定性好的优点 并且具备完善的报表生成 修改功 能 能够快速的查询学校所需的住宿信息 第一章 系统需求分析 目前 我们学校的宿舍管理采用的还是人工来进行管理的 面对目 高校学生宿舍管理系统 2 前学校发展的实际状况 我们通过实地调研之后 对宿舍管理系统的设 计开发做了一个详细的概述 1 1 功能需求 1 1 1 基本功能需求 本课题要实现的是高校学生宿舍管理系统 在设计该系统时 应尽 可能的贴近学生 便于用户操作 系统在实现上应该具有如下功能 1 系统要求用户必须输入正确的用户名和密码才能进入系统 2 系统应该提供学生住宿情况的基本登记 3 系统应提供学生每学期的注册及学生的离校处理 4 系统应提供人员来访登记及结束访问的详细登记 5 系统应提供学生在校期间物品出入宿舍楼的详细情况登记 6 系统应提供查询功能 以方便用户对学生基本信息的查询 要实现按 多种条件的查询 及楼房信息的查询 7 系统应提供增加 删除 修改用户帐户的功能 8 系统还应具有添加 修改 删除学生及员工基本信息的功能 1 1 2 报表需求 学生宿舍管理系统的某些信息应当能够以报表形式打印出来 基本 上应该能够实现学生基本信息的报表打印 某宿舍具体住宿情况的报表 打印 某栋宿舍楼的所有员工信息打印 所有学生各年度宿舍交费情况 打印 学生物品出入的信息打印及人员来访信息的打印等的功能 1 1 3 用户界面需求 学生宿舍管理系统应提供简单 层次关系明了 清晰的操作界面 使用户一目了然 尽可能的为用户的录入 查询等功能操作提供方便 高校学生宿舍管理系统 3 快捷按钮的创建也是非常需要的 以方便用户操作 1 2 性能需求 1 2 1 系统安全性 学生宿舍管理系统中的增加用户 学生学期注册 交住宿费方能注册 学生毕业离校等的某些模块都是和学生住宿费相联系在一起的 只有每 年度的住宿费用交纳完毕才准许该生离校 所以在系统的管理权限上应 当进行严格控制 具体思想如下 1 要想对该学生宿舍管理系统进行操作就应当具有某些操作权限 没有权限的用户将不能通过任何渠道来登录该系统 查看该系统的任何 信息和数据 以确保系统的严密性和安全性 2 在上述要求基础上可以为该系统设定两种登录方式 程序开始运 行所有功能将是不可使用的 只有系统管理员登录和普通用户登录两个 窗口可以使用 没有系统管理员或者普通用户的用户名和密码任何人都 不能登录该系统 3 在具体实现时还应为系统管理员和普通用户设定不同的权限 系 统管理员应当可以使用系统的所有模块 普通用户对于用户管理模块 学生学期注册 涉及到交费问题 及学生毕业离校等 此模块需判断该生有 无欠费 牵扯到经济之类的模块是无权使用的 1 3 数据库选择 数据库是数据管理的最新技术 是计算机科学的重要分支 十年来 数据库管理系统已从专用的应用程序包发展成为通用系统软件 由于数 据库具有数据结构化 最低冗余度 较高的程序与数据独立性 易于扩 高校学生宿舍管理系统 4 充 易于编制应用程序等优点 较大的信息系统都是建立在数据库设计 之上的 由于用到的数据表格多 另外考虑到实际情况 学生基本信息的变 动 还有员工信息的多少的变化 我们选用 SQL Server 作为数据库开发 而不用 Access 主要是因为 Access 存放的记录 在实际运用中不适合此 系统 而 SQL Server 是一种常用的关系数据库 能存放和读取大量的数 据 管理众多并发的用户 故选用 SQL Server 数据库 1 4 环境 本系统是以 Windows 系统为操作平台 用 Microsoft Visual C 6 0 编程语言和 SQL Server 数据库来实现高校学生宿舍管理系统所需功能的 高校学生宿舍管理系统 5 第二章 相关知识点介绍 2 1 Microsoft Visual C 6 0 知识介绍 Visual C 以拥有 语法高亮 IntelliSense 自动编译功能 以及高 级除错功能而著称 比如 它允许用户进行远程调试 单步执行等 还有 允许用户在调试期间重新编译被修改的代码 而不必重新启动正在调试的 程序 其编译及建置系统以预编译头文件 最小重建功能及累加连结著称 这些特征明显缩短程式编辑 编译及连结的时间花费 在大型软件计划上 尤其显著 Visual C 最初叫做 Microsoft C C VisualVisual C C 1 01 0 集成了 MFC 2 0 是 Visual C 第一代版本 1992 年推出 可同时支援 16 位处理器与 32 位处理器版 可算是 Microsoft C C 7 0 的更新版本 VisualVisual C C 1 51 5 集成了 MFC 2 5 增加了 目标文件链接嵌入 OLE 2 0 和支持 MFC 的开放式数据 库链接 ODBC 这个版本只有 16 位的 也是第一个以 CD ROM 为软件 载体的版本 这个版本也没有所谓 标准版 它是最后一个支持 16 位 软件编程的软件 也是第一个支持基于 x86 机器的 32 位编程软件 VisualVisual C C 2 02 0 集成了 MFC 3 0 第一个只发行 32 位的版本 这个版 本提前发行了 几乎成了一个 丢失的版本 这是因为那个时候 Windows 95 开发代码为 Chicago 还没有发行 而 Windows NT 又只 占有很小的市场份额 该版本用户可以通过微软公司的订阅服务 MicrosoftSubscription Service 升级至 2 1 和 2 2 版本 微软公 司在这个版本中集成并升级了 Visual C 1 5 作为 2 0 版本 Visual C 1 5 升级后版本号 1 51 以及 2 1 版本 Visual C 1 5 升级后 版本号 1 52 的一部分 Visual C 2 x 附带了 16 位和 32 位版本的 CDK 同时支持 Win32s 的开发 Visual C 2 2 及其后续版本不再升级 Visual C 1 5 尽管它一直被集成至 Visual C 4 x 尽管出生的 高校学生宿舍管理系统 6 比 Windows 95 早 这个版本的发行日期还是非常接近 Windows 95 可 是当 Windows 95 发行时 Visual C 4 0 也已经发行了 因此很多程 序开发者直接从 1 x 过渡到 4 0 把 2 x 跳过去了 VisualVisual C C 4 04 0 集成了 MFC 4 0 这个版本是专门为 Windows 95 以及 Windows NT 设计 的 用户可以通过微软公司的订阅服务 Microsoft Subscription Service 升级至 4 1 和 4 2 版本 此版本不再支持 Win32s 开发 VisualVisual C C 5 05 0 集成了 MFC 4 21 是 4 2 版以来比较大的一次升级 VisualVisual C C 6 06 0 集成了 MFC6 0 于 1998 发行 发行至今一直被广泛 地用于大大小小的项目开发 但是 这个版本在 WindowsXP 下运行会出 现问题 尤其是在调试模式的情况下 例如 静态变量的值并不会显示 这个调试问题可以通过打一个叫 Visual C 6 0Processor Pack 的补丁来解决 奇怪的是 这个网页强调用户也必须运行 Windows 98 Windows NT4 0 或 Windows 2000 VisualVisual C C NET NET 20022002 也即 Visual C 7 0 于 2002 年发行 集成了 MFC 7 0 支持 链接时代码生成和调试执行时检查 这个版本还集成了 Managed Extension for C 以及一个全新的用户界面 与 Visual Basic 和 Visual C 共用 这也是为什么 Visual C 6 0 仍然被广泛使用的一 个主要原因 VisualVisual C C NET NET 20032003 也即 Visual C 7 1 集成了 MFC 7 1 于 2003 年发行 是对 Visual C NET 2002 的一次重大升 级 eMbeddedeMbedded VisualVisual C C 用于 Windows CE 操作系统 Visual C 作 为一个独立的开发环境被 Microsoft Visual Studio 2005 所替代 VisualVisual C C 20052005 也即 Visual C 8 0 集成了 MFC 8 0 于 2005 年 11 月发布 这个版本引进了对 C CLI 语言和 OpenMP 的支持 VisualVisual C C 20082008 也即 Visual C 9 0 于 2007 年 11 月发布 这个 版本支持 NET 3 5 是目前最新的版本 高校学生宿舍管理系统 7 2 2 SQL Server 2000 知识介绍 SQL Server 2000 是 Microsoft 公司推出的 SQL Server 数据库管理 系统 它继承了 SQL Server 7 0 版本的优点 同时又为它增加了许多更 先进的功能 具有使用方便 可伸缩性好 与相关软件集成度高等优点 应用程序的操作系统支持所有 Windows 版本 在 SQL Server 中 使用的是 T SQL 语言 T SQL 是 ANSI SQL 的 加强版语言 它提供了标准的 SQL 命令 由于 SQL 语言功能丰富 语 言简洁 使用方法灵活 倍受用户和计算机业界的青睐 被众多的计算 机公司和软件公司采用 经过多年的发展 SQL 语言已成为关系数据库 的标准语言 SQL 语言主要有数据定义语言 数据操纵语言 数据控制语言和其 他类语言要素组成 T SQL 的分类也有类似于 SQL 语言的分类 不过 做了许多扩充 T SQL 语言的分类如下 变量说明语句 数据定义语言 用来建立数据库 数据库对象和定义其列 大部分是以 CREATE 开 头的命令 数据操纵语言 用来操纵数据库中的数据的命令 如 SELECT INSERT DELETE 等 数据控制语言 用来控制数据库组 件的存取许可 存取权限等的命令 如 GRANT 等 流程控制语言 用于设计应用程序的语句 如 If While 和 Case 等 内嵌函数 说明变量的命令 其他命令 嵌于命令中使用的标准函数 在数据库中 数据查询是通过 SELECT 语句来完成的 SELECT 语 句可以从数据库中按用户要求检索数据 并将查询结果以表格的形式返 回 当然用户在查询数据库时往往并不需要了解全部信息 而只需要其 中一部分满足某些条件的信息 在这种情况下就需要在 SELECT 语句中 加入条件以选择数据行 这时 就用到 WHERE 子句 WHERE 子句 中的条件是由表达式以及逻辑联结词 AND OR 和 NOT 等组成 用户 高校学生宿舍管理系统 8 在进行查询时 会出现重复结果 这时就需要使用 DISTINCT 关键字来 取消重复部分 在 WHERE 子句中 可以使用谓词 LIKE 来进行字符串 的匹配检查 当用户要对查询结果进行排序时 就需要在 SELECT 语句 中加入 ORDER BY 子句 在 ORDER BY 子句中 可以使用一个或多个 排序 要求其优先级次序从左到右 为了使数据库更加精简 最大限度的减少数据库冗余数据 可以使用 连接查询来实现多个表的连接 连接查询可以分为等值连接查询 非等值 连接查询 自身连接查询等 表之间的连接如果是通过相等的字段值连接 起来的查询称为等值连接查询 在等值查询的连接条件中 不使用等号而 使用其他比较运算符 就构成了非等值连接查询 可以使用的比较运算符 有 等 连接不仅可以在表之间进行 也可以使一个表同其自 身进行连接 这种连接成为自身连接 相应得查询成为自连接查询 一个数据库能否保持信息的正确性 及时性 很大程度上依赖数据库 的更新功能的强弱与数据库的实时更新能力 这些操作包括插入 删除 修改 也成为更新 3 种操作 高校学生宿舍管理系统 9 第三章 宿舍管理系统详细设计 3 1 系统功能模块图 图 3 1 系统功能模块图 高校学生宿舍管理系统 10 在整体设计中 我们将宿舍管理系统分为八个大的模块 系统管理 模块 公寓管理模块 学生管理模块 信息查询模块 出入登记模块 信息修改模块 报表管理模块 关于模块 每个模块将实现不同的功能 下面将具体进行介绍 3 1 1 系统管理模块 系统管理模块包括 超级用户登录 普通用户登录 用户密码修改 用户管理 退出系统五个部分 1 超级用户登录 实现系统管理人员登录 2 普通用户登录 实现一般管理人员登录 3 用户管理 实现系统管理人员授予或取消一般用户登录该系统的 用户名和密码 4 密码修改 实现所用用户的密码更改功能 5 退出系统 实现正常退出宿舍管理系统 3 1 2 公寓管理模块 公寓管理模块包括 楼房管理 宿舍管理 员工管理三个大的部分 1 楼房管理 登记学校所有住宿楼情况 2 宿舍管理 登记学校所有宿舍的情况 3 员工原理 实现楼房管理人员的添加功能 3 1 3 学生管理模块 学生管理模块包括 学生基本信息录入 学生财物登记 学生学期 注册 学生离校管理四项功能 1 学生基本信息录入 实现学生基本信息情况的登记及宿舍的分配 功能 2 学生财物登记 登记学生在校期间所拥有的公共及私有贵重物品情 高校学生宿舍管理系统 11 况 3 学生学期注册管理 登记学生在校期间每学期的宿舍缴费情况 4 学生离校管理 实现学生毕业离校处理 注销该学生信息 3 1 4 信息查询模块 信息查询模块基本上包括 按学号进行查询 按姓名进行查询 按 班级查询 按寝室号查询 每栋楼房住宿情况查询五个部分 1 按学号进行查询 实现每个学生基本信息情况的查询功能 2 按姓名查询 通过学生姓名查询学生基本信息情况 3 按班级查询 通过班级查询某班级学生住宿情况及该班级学生信 息 4 按寝室号查询 查看每个宿舍所住学生信息情况 5 楼房住宿情况查询 查询每栋楼房的所有宿舍的住宿情况及宿舍 楼所住学生统计情况 3 1 5 出入登记模块 出入登记模块包括 进楼物品登记 出楼物品登记 人员来访登记 结束访问登记四个功能模块 1 进楼物品登记 详细登记某学生搬入宿舍楼的物品情况 2 出楼物品登记 详细登记某学生搬出宿舍楼的物品情况 3 人员来访登记 详细登记进入宿舍楼的外来人员情况 4 结束访问登记 详细登记外来人员的离开情况 3 1 6 信息修改模块 信息修改模块包括 学生基本信息修改 员工基本信息修改 个人 财物信息修改三个大的功能 1 学生基本信息修改 实现系统管理人员对学生基本信息情况所作 的添加 修改 删除 高校学生宿舍管理系统 12 2 员工信息修改 实现系统管理人员对楼房员工的修改 删除功能 3 个人财物修改 实现对学生个人财物的添加 修改 删除功能 3 1 7 报表管理模块 报表管理模块包括 学生信息打印 员工信息打印 宿舍交费情况 打印 物品出入楼信息打印 某宿舍住宿情况打印五个功能 1 学生信息 查询并打印每个学生的详细基本信息情况 2 员工信息 查询并打印每栋宿舍楼的所有员工信息情况 3 宿舍交费情况 查询并打印已交清或未交清住宿费的学生信息 4 物品出入楼信息 查询并打印某学生的物品出入宿舍楼的信息情况 5 宿舍住宿情况 查询并打印某个宿舍的详细住宿情况 6 人员来访情况 查询并打印某个时间段的人员来访情况 3 1 8 关于模块 此模块是对学生宿舍管理系统开发者相关信息的一个简单介绍 高校学生宿舍管理系统 13 3 2 系统 E R 图 在我所设计的模块中 主要涉及到员工 楼房 寝室这三个实体 所 以在 E R 图中我只是将这三个实体的属性进行了详细说明 高校学生宿舍管理系统 14 图 3 2 系统 E R 图 3 3 系统所需表 综合以上分析 要实现上面的所有功能模块 共需要设计九个表 它们分别是 学生基本情况表 寝室表 员工表 楼房表 人员来访表 高校学生宿舍管理系统 15 学生财产表 学期注册表 权限表 物品出入楼表 3 3 1 系统表 1 用户表 登记管理人员的用户名 密码及登录权限 2 学生基本情况表 详细登记学生基本信息及学生住宿情况 3 寝室表 登记所有宿舍的详细情况 4 员工表 登记所有管理人员的详细情况 5 人员来访表 登记所有来访人员的详细情况 6 物品出入表 详细登记学生物品出楼信息 7 楼房表 登记所有住宿楼情况 8 学期注册表 登记学生每学期的注册情况 9 学生财产表 登记学生物品情况 表 3 1 用户表 LoginIn 字段名描述数据类型数据长度 NULLPrimarykey UserName 用户名 char10NY UserId 用户密码 char10NY UserPower 用户权限 char20NN 表 3 2 学生基本情况表 Student 字段名描述数据类型数据长度 NULLPrimarykey Stu Id 学号 char20NY and F 高校学生宿舍管理系统 16 Stu Name 姓名 char10YN Stu Sex 性别 char10YN Dor Id 寝室号 char10NF Stu Enr 入学日期 datetime10YN Stu Birth 出生日期 datetime10YN Stu Study 所学专业 char10YN Stu Class 班级 char10YN Stu Polit 政治面貌 char10YN Stu Add 家庭住址 char50YN Stu Tel 联系方式 char10YN Stu Sta 状态 char10YN Stu Des 备注 char50YN 表 3 3 寝室表 Dorm 字段名描述数据类型数据长度 NULLPrimarykey Dor Id 寝室号 char10NY Dor Sex 居住性别 char10YN Dor Num 应住人数 char10YN Dor Fact 实住人数 char10YN Dor Price 住宿费用 char10YN Dor Tel 电话 char10YN Dor Des 备注 char50YN 高校学生宿舍管理系统 17 表 3 4 员工表 Employee 字段名描述数据类型数据长度 NULLPrimarykey Emp Id 员工号 char20NY Emp Name 姓名 char10YN Emp Age 年龄 char10YN Emp Sex 性别 char10YN Hou Id 楼房号 char10NF Emp Job 职位 char10YN Emp Add 家庭住址 char50YN Emp Tel 联系方式 char10YN Emp Des 备注 char50YN 表 3 5 人员来访表 Visit 字段名描述数据类型数据长度 NULLPrimarykey Vis Name 来访人姓名 char10NN Vis Host 被访人姓名 char10YN Dor Id 宿舍 char10NF Relation 所属关系 char10YN Vis Data 来访日期 datetime10YN Vis Time 来访时间 datetime10YN Lea Time 离开时间 datetime10YN Vis Watch 值班人 char10YN Vis Cred 证件名称 char10YN Vis Des 备注 char50YN 高校学生宿舍管理系统 18 表 3 6 物品出入楼表 Goodsmove 字段名描述数据类型数据长度 NULLPrimarykey Stu Id 学号 char20NY G In 进楼物品 char10YN G Out 出楼物品 char10YN G Date 时间 datetime10YN Watch 值班人 char10YN G Des 备注 char50YN 表 3 7 楼房表 House 字段名描述数据类型数据长度 NULLPrimarykey Hou Id 楼房号 char20NY Hou Num 楼层数 char10YN Hou Rom 房间数 char10YN Hou Peo 应住人数 char10YN Hou Des 备注 char50YN 表 3 8 学期注册表 Enroll 字段名描述数据类型数据长度 NULLPrimarykey Stu Id 学号 char20NY Dor Id 寝室 char10NF Enr Date 注册日期 datetime10YN Enr Price 所交费用 char10YN Enr Sta 交费情况 char10YN Enr Year 所交年度 datetime10YY Enr Des 备注 char50YN 高校学生宿舍管理系统 19 表 3 9 学生财产表 Riches 字段名描述数据类型数据长度 NULLPrimarykey Stu Id 学号 char20NY Dor Id 寝室 char10YF Bed 床位 char10YN Stool 凳子号 Char10YN Desk 桌子号 char10YN Telphone 电话 char10YN KeySend 钥匙发否 char10YN Box 箱子 char10YN Bedding 被子 char10YN Description 备注 char50YN 3 3 2 表的说明 本管理系统共用到九个表 用户表 LoginIn 学生基本情况表 Student 寝室表 Dorm 员工表 Employee 人员来访表 Visit 物品 出入楼表 Goodsmove 楼房表 House 学生财产表 Riches 学期注册 表 Enroll 各表之间均有一定的关系 可以进行关联 1 学生基本情况表 Student 学生财产表 Riches 学期注册表 Enroll 物品出入楼表 Goodsmove 这四个表里面都有一个相同的字段 学号 Stu Id 通过学号这个字段就可以将系统的这四个表关联了起来 当某个表发生插入 修改 删除等方面的改动时 相联的表之间也要进 行相应的改动 学生基本情况表 Student 和寝室表 Dorm 也有一个相同 的字段 寝室号 Dor Id 将两表相关联 2 由于员工是负责管理某栋楼房的 因此员工表 Employee 楼房 表 House 这两个表之间有一个相同的字段 楼房号 Hou Id 来进行关联 高校学生宿舍管理系统 20 3 4 具体模块设计 在系统功能模块介绍时 我们把整个系统分为系统管理模块 公寓 管理模块 学生管理模块 信息查询模块 出入登记模块 信息修改模 块 报表管理模块 关于模块八个基本模块 3 4 1 用户管理 密码修改模块功能详细设计 1 用户管理用户管理 设计思想 当宿舍管理系统需要加入新管理员时 具有使用该功能权限的超级 用户授予新管理员以登录该系统的用户名称 用户密码和用户权限 像 我们的后勤服务总公司中的管理人员就应该具有系统管理员的权限 宿 舍楼房管理人员就应该具有一般用户的权限 一般用户的权限是系统管 理员授予的 当然如果某管理人员离职 那么他将不能再登录该系统 因此管理员有权收回授予其的管理权限 具体实现 1 在实现该功能时 需要用到权限表 LoginIn 因此需要添加一个 TADOQuery 控件实现窗体与数据库之间的相关联 2 在新增用户时 考虑到在登录该系统时 用户名及其用户密码 是必须输入不能为空的 因此我们在实现具体添加新用户时 不能允许 用户名及其密码为空 还有重要一点就是用户权限也是必须选择的 因 为这关系到用户在使用宿舍管理系统时所具有权限问题 3 在删除用户时 还需要通过编码判断一下系统管理人员所要删 除的用户到底存不存在 如果没有该用户那么也许是因为管理人员的输 入错误 造成所删用户不存在 可以重新输入 实现删除功能 2 密码修改密码修改 高校学生宿舍管理系统 21 设计思想 为了防止密码被恶意盗用可以经常性的修改你的密码以增强系统的 安全性 密码修改对于所有具有访问该系统的用户来说都可以使用 具体实现 1 首先通过 TADOQuery 控件实现该功能模块与数据库的关联 2 其次为了确保该功能的完整性 在点击确认之后 需要判断一 下所有的编辑框中的输入都不能为空 3 最后在确认时 还需要编程实现的是判断原始用户名和密码是 否一致 只有一致才有权限修改你的密码 同是为了确保新密码的正确 性 还添加了一个确认密码框 新密码和确认密码两者所输内容是要求 完全一样 方能修改密码成功 3 4 2 公寓管理模块详细设计 1 楼房管理楼房管理 设计思想 楼房管理是对每栋宿舍楼的基本信息进行录入 在学校建设完新的 宿舍楼时可以通过此窗体把该楼房的信息添加到数据库中去 具体实现 1 由于需要和数据库表 楼房表 House 相关联 所以也添加了一个 TADOQuery 控件实现两者之间的关联 2 在具体实现时需要设置像楼房号这样的具有唯一确定性的字段是 不能为空的 其他字段在输入时没有太大限制 录入人员在录入时需根据 自身情况再进行添加 高校学生宿舍管理系统 22 3 我们还设置了一个 备注 字段 是为了方便学校登记该楼房的 其他相关情况 2 2 宿舍管理宿舍管理 设计思想 宿舍管理是对每栋楼房所有宿舍的一个详细情况登记 每个宿舍在 数据库里面的信息都是就静态的只有里面的实住人数是动态增加的 当 某个宿舍增加或减少一个学生实住人数会自动加 1 或减 1 实现动态增 减 具体实现 1 首先通过 TADOQuery 实现数据库和窗体的相关联 再通过 TDatasouse 控件实现 TDBGrid 和宿舍表 Dorm 的相关联 那么 Dorm 表 中的数据就会在 TDBGrid 中显示了 可以随时看到表中数据的动态变化 2 在具体设计时 首先将实住人数编辑框属性设为 ReadOnly 型 因为该字段是动态添加 每当为一个学生分配一个宿舍 那么该宿舍的 实住人数会自动加一 无需手工录入 住宿费是必须输入的 因为这和 学生注册管理是相关联的 学生在学期注册时 需要根据该生所住的宿 舍号来查看其应交的住宿费用 居住性别也要输入 当为某学生分配宿 舍时 需要根据该生性别查一下 还能入住男生或女生的宿舍有哪些 根据所查情况再为他们分配宿舍 以免盲目分配 出现错住造成管理混 乱 3 3 员工管理员工管理 高校学生宿舍管理系统 23 设计思想 员工管理是对楼房管理人员 清洁工 保卫人员进行的登记管理 该模块是有系统管理员来完成的 普通用户没有使用该项功能的权限 当某栋楼房调来新员工时 系统管理员可以通过此功能来添加员工基本 信息 具体实现 1 首先通过 TADOQuery 实现数据库和功能模块的相关联 再通过 TDatasouse 控件实现 TDBGrid 表格和员工信息表 Employee 的相关联 那么员工信息表中的数据就会在 TDBgrid 中显示了 可以随时看到表中 数据添加 删除 修改等的动态变化 2 在该功能中需编程将 楼房号 所对应得下拉列表框中的属性 值动态的从楼房信息表 House 中获得的 通过动态添加可以实现当 楼房表中每增加一栋楼 在员工窗体的 楼房号 的下拉列表框中的会 自动添加一栋 实现两个表之间的动态关联 3 4 3 信息查询模块详细设计 按学号进行查询 按姓名进行查询 按班级查询 按寝室号查询这 四个功能模块在具体编程实现上基本上是一样的 因为都是针对学生信 息的查询 因此我们仅以 按学号进行查询 为例来说明一下这四个功能 模块的详细实现过程 其余三个模块仅介绍其实现思想 高校学生宿舍管理系统 24 Y 图 3 9 信息查询流程图 1 按学号进行查询按学号进行查询 设计思想 按学号查询是具体的查询某学生的详细信息 包括学生的基本信息 及其住宿情况 在需要调查学生的详细情况时 可以采用该功能来实现 输入学号 姓名 班级 宿舍 判断条件 显示查询结果 开始 结束 N 高校学生宿舍管理系统 25 具体实现 1 首先通过 TADOQuery 控件实现数据库和该功能模块的关联 再 通过 TDatasourse 实现学生信息表 Student 和 TDBGrid 的关联 把学生 信息显示在下面的表格中 2 其次我还为窗体添加了一个 TDBNavigator 控件 可以实现数据 的最上一条 上一条 下一条 最下一条浏览查看 当然像按学号来查 询的话也许用不到该控件 但要是按班级查询或姓名等其他查询 这个 控件是非常有用的 因为通过班级或姓名查出来的学生信息数据量会非 常大 所以需要通过该按钮来方便 快捷的查看 3 在按学号查询时首先要通过编程判断一下 数据库的学生信息 表中是否存在该编号的学生 如果没有系统会提醒你 学号不存在是不 是输入错误 检查一下再重新输入 所以只有存在学号才能进行查询 4 上述完成之后 输入所查询的学号 那么所需学生信息就会在 下面表格中显示出来了 上图所显示的是所有学生信息情况 2 按姓名进行查询按姓名进行查询 设计思想 按学生姓名实现的查询 虽然这样查出来的学生有可能 不止一名 但在有些情况下 比如家人 朋友来访时 只记得学生姓名 在不清楚其学号 宿舍号的情况下 可以通过学生信息中的其它信息确 定所要找的学生 可以调用此功能来实现 3 按班级进行查询按班级进行查询 设计思想 实现某个班级所有学生基本信息及住宿情况的查询 通 过该功能模块我们可以统计某个班级的宿舍分配情况 这个班级的学生 都住在哪些寝室中 4 按寝室号查询按寝室号查询 高校学生宿舍管理系统 26 设计思想 在输入寝室号时可以把该宿舍所住的所有学生的信息都 统计出来 方便详细了解某宿舍的学生住宿情况 5 住宿情况查询住宿情况查询 设计思想 点击多选框里的按楼房号查询按钮可以查看某栋楼房所有宿舍的住 宿情况 看看还有哪些宿舍还有空的床位 可以入住学生 还可以查看 某个宿舍的详细情况 同时该模块还能够统计某栋楼房的所有学生人数 具体实现 1 首先通过 TADOQuery 控件实现数据库和该功能模块的关联 再 通过 TDatasourse 实现寝室表 Dorm 和 TDBGrid 显示表格的关联 把宿 舍信息显示在下面的表格中 2 其次放置一个复选按钮键 可以方便实现按楼房号和按宿舍号 两种方式的查询 在右边放置一个查询框 进行查询条件的输入 在按 楼房号查询时 用到了模糊查询 模糊查询的在本部分的基本原理就是 我们在刚开始建库时考虑到管理方便和减少冗余 在对学生进行宿舍号 登记时是这么描述的如 6 502 将其楼房号和宿舍号放一个字段中 并 没有将其分开操作 所以在查询这部分当需要按楼房号进行查询时 就 要注意了 假如我们要查 5 号楼的住宿情况 那么在 TDBGrid 表格中的 显示就应该是 5 而 6 502 虽然也包含了 5 这个字符 但它不属于 5 号楼 所以要将其排除在外 因此我们采用了模糊查询 查询结果只 显示所需信息 3 在住宿统计的实现上 我们使用的 SQL 集函数 SUM 来实现 的 它的主要功能就是计算一列值得总和 此列必须是数值型 将要查 的楼房号 输入到查询条件中时 还需要判断该楼房号到底存不存在 高校学生宿舍管理系统 27 如果存在在点击该模块中的 住宿统计按钮 那么该楼房所有学生的 总人数会在 住宿统计 按钮右边的 Memo 文本显示控件里面进行显示了 同时该楼房的详细住宿情况会在表格中进行具体显示 3 4 4 报表管理模块详细设计 报表是数据库应用程序设计中非常重要的一部份 数据库应用程序 通常都要生成报表 并且把所需信息打印出来 方便用户存档等得方面 上的管理 由于该模块中各小模块实现的都是报表管理 所以宿舍交费 情况报表管理 学生信息报表 员工信息报表 学生物品出入报表 住 宿信息报表 来访信息报表这六个小功能模块只是在功能思想上不太一 样 其具体设计实现时操作基本上是差不多的 因此这里只是详细介绍 宿舍交费情况的具体设计实现 其他模块仅介绍其设计思想 1 宿舍交费情况报表管理宿舍交费情况报表管理 设计思想 该模块实现的是对学生每学期所交纳住宿费的一个详细情况的查询 在学生即将毕业离校时可以通过该功能模块来查询一下 那些同学还欠 有学校住宿费 在其交清之前将不准其离校 已交清的同学就可以进行 离校手续的办理了 一般来说我们真正需要并且有用的信息就是未交 清住宿费的学生清单 在学生毕业时可以通过此单来收取学生补交的住 宿费等 具体实现 1 首先通过 TADOQuery 控件实现数据库和该窗体的关联 再通过 TDataSourse 实现学生注册表 Enroll 和 TDBGrid 的关联 把学生交费信 息显示在列表中 2 在作报表时我使用的是 TQuickRep 组件 通过该组件可以方便 的把报表和代码联系起来 生成美观的图文报表 当然还可以用 高校学生宿舍管理系统 28 TQReport 页上的控件给一个报表添加标题 页眉 页脚 等功能 还可 以自动进行求和 计算均值等统计功能 报表设计时可以点击选中 TQuickRep 控件快捷菜单的 Preview 即可在设计阶段预览打印结果 3 我们为每个报表管理窗体设置四个 TButton 功能按钮 查询 报 表预览 打印报表 退出 报表管理 再打印报表之前首先查询一下用 户所需信息 查询出来后可以预览一下信息是否正确 确定无误之后可 以点击打印按钮 那么所有所需信息就会详细的详细地显示在纸张上 供用户查看了 4 在学生注册表里的 交费情况 字段我们规定它只能选择两种 情况 已交清或未交清 在编辑框中输入已交清或未交清两种情况的一 种 点击查询按钮 那么所需信息就会详细的显示在窗体表中 防止用 户在查询时输入错误 我们需要编程实现提示功能 2 学生信息报表学生信息报表 设计思想 能够实现某学生详细基本情况的查询打印 当因为某些原 因需要查询某学生信息时 可以调用该功能模块来实现 3 员工信息报表员工信息报表 设计思想 能够实现某栋楼房所有员工情况的查询打印 如果想了解 某宿舍楼工作人员的详细情况 可以调用该模块来实现 4 学生物品出入报表学生物品出入报表 设计思想 能够实现查询某学生物品出入宿舍楼房的详细信息 如果 想查看一下该学生一段时间内的出楼情况 可以通过该窗口来实现 5 住宿信息报表住宿信息报表 设计思想 能够将某宿舍的详细学生住宿情况打印出来 在某些情 况下如果需要查看某个宿舍的详细学生情况可以调用该窗体实现报表打 高校学生宿舍管理系统 29 印功能 6 来访信息报表来访信息报表 设计思想 主要实现的是将某个时间内所有来访人员的详细信息打 印出来 以便于查询某些信息 高校学生宿舍管理系统 30 第四章 系统测试 4 1 所遇问题 一个系统功能的实现 需要经过这么几步 首先把大致的骨架给设 计好 然后根据系统要求写代码 接着是调试程序 最后完善总结 其 中最重要的两步就是中间的两步 在此次毕业设计中 给我印象最深的 就是系统的调试 在调试过程中 遇到了不少的问题 不过经过我不断 的查阅资料 老师的指导 同学的商讨 这些问题都逐渐得到了解决 现将整个的调试过程总结如下 1 其次就是查询中出现的错误 假设我们查询 5 号楼情况 如 5 205 6 205 5 或 6 代表 5 或 6 号楼 205 代表宿舍号 需要程序来判 断你所查询的是前面的数字 即使 6 205 中带有 5 这个字符也不能将其 查询出来 因为我需要是 5 栋楼的详细信息 刚开始每次都犯上述错误 将 6 号楼中带 5 的宿舍也给查出来了 最后我采用了 SQL 中的模糊查 询 模式匹配过程中 常规字符必须与字符串中指定的字符完全匹配 但可以使用字符串的任意片段匹配通配符 或 与使用 和 字符串 比较运算符相比 使用通配符可使 like 运算符更加灵活 通过使用 like 模糊查询 终于将该功能实现了 2 在做报表过程中也出现了不少错误 在编程过程中虽然遇到了不少困难 但在老师 同学及自己的反复 研究下 最后问题都得到了解决 在解决问题的过程中我也是收获不小 同样的问题也许在不同的模块中会重复出现 通过上次调试中的所获 这次我就可以轻松解决 克服一个难题的喜悦是无法用言语可以表达的 它让我感受到了真正学到知识的那种充实感 高校学生宿舍管理系统 31 4 2 系统测试 经过好几周的努力 我们的的课程设计高校学生宿舍管理系统也终 于接近了尾声 不过在系统测试时可让我们花了好多功夫 为了使系统 变得更加完善 我们测试了一遍又一遍 在测试之初 由于数据库中的数据都是刚开始编程时随便输入的 一点实用性也没有 所以我们又把数据库中的数据全部清理了一下 输 入了一些真实可用的数据 以便完成后面的数据测试 在系统管理员进行用户的删除时 刚开始时是用户名正确就可以进 行删除 测试时才发现也许系统中存在重名的用户名 所以不能只凭借 用户名 用户密码 用户权限中的一个或两个正确就可以将该用户删除 必须要三者都对应起来才能完成用户的删除 还进行完善了的一点就是 当管理员输入错误的用户名时 系统能够对其进行提示 本用户信息不 存在 注意核对 再有一点就是 在员工信息录入窗口中有一个字段 楼房号 在开 始的系统实现时 我是将学校所有的住宿楼都添在了 楼房号 的下拉 列表框的 Item 属性中 是固定的 在真正系统测试时才发现 如果我们 学校新建一栋宿舍楼 并且为其分配管理人员 在具体添加时就不可能 为该管理人员找到其应该管理的楼房号 因为以前添加是静态的 并没 有将新建宿舍楼房加入进去 所以我将这一部分进行了重新编程 实现 了动态添加 当楼房管理模块中新增一栋住宿楼后 员工管理模块的楼 房号会自动添加一栋 当然在系统测试阶段 我还完善了许多细节性的东西 比如在查询 模块 报表管理模块里面如果按学号进行查询 刚开始只是判断输入的 学号不能为空 后来才发现在用户输入学号后 系统应该还能够进行判 断该学号到底存不存在 如果没有就应该提示用户输入了不存在的学号 高校学生宿舍管理系统 32 应该重新进行输入 经过一段时间的系统测试之后 我们的宿舍管理系统在整体上完善 了许多 在设计上也更加具有人性化了 那么对于用户来说会更加容易 适应本系统的各项操作 第五章 总 结 历时一个学期的毕业设计现在已经接近尾声了 回想起这一个学期 的日子 感觉收获颇多 我们这次毕业设计的任务是建立一个学生宿舍 管理系统 它用到的开发工具是 C 语言 SQL Server 数据库 在设计的开始阶段为了尽快熟悉 C 语言 我详细翻阅有关该方面 的资料 对书中的基本理论知识逐章逐节地分析 同时还上机操作来加 深理解 特别是对书中的一些典型实例 认真学习它的编程思想 吸取 它的编程技巧 弄懂程序中每句话的含义 在对所要应用的技术有了一 个基本认识之后 就开始构思自己的系统设计 认真听老师对设计要求 的讲解 根据任务书的要求将整个系统分为几个模块 每个模块具体又 要实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论