基于Web的学校管理系统的设计与实现_第1页
基于Web的学校管理系统的设计与实现_第2页
基于Web的学校管理系统的设计与实现_第3页
基于Web的学校管理系统的设计与实现_第4页
基于Web的学校管理系统的设计与实现_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1 1 1 引言引言 2 1 1 本课题研究意义及背景 2 1 2 技术现状 3 1 3 本课题的设计目标 目的及作者的贡献 4 2 2 系统开发环境系统开发环境 4 2 1 本课题的技术特色 4 2 2 本课题的开发语言及操作平台 5 2 2 1 C 的特点 5 2 2 2 ADO NET 的概念及特点 5 2 2 3 ADO NET 的特点 6 2 2 4 WerService 的概念 6 2 2 5 SQL 语言基础 7 2 2 6 本课题的操作平台 9 3 系统设计系统设计 9 3 1 系统主流程 9 3 1 1 系统功能概述 9 3 1 2 系统主流程图 11 3 2 数据库设计 12 3 2 1 需求分析 12 3 2 2 概念设计 13 3 2 3 逻辑结构设计 14 4 详细设计详细设计 16 4 1 宿舍管理模块的流程图 16 4 2 各模块的功能设计 16 4 2 1 用户管理模块 16 4 2 2 学籍管理模块 16 4 2 3 宿舍管理模块 16 4 2 4 教职工管理模块 25 4 2 5 教务管理模块 25 4 2 6 简单财务管理模块 26 4 3 设计中遇到的问题及解决方法 26 5 系统测试系统测试 26 5 1 测试计划 26 5 1 1 测试方案 26 5 1 2 测试项目 26 5 2 测试结果说明 27 5 3 系统测试总结 27 6 结束语结束语 27 2 基于 Web 的学校管理系统的设计与实现 关于宿舍管理模块的设计与实现 陈晓磊 指导老师 白伟华 摘摘 要要 本文介绍了如何利用 NET WebService ADO NET 技术实现一个基 于 Web 服务程序 文章首先介绍了本系统的研究意义及产生背景 然后进一 步介绍本课题的技术特色及设计目标 阐述了此服务程序的技术特色及详细 设计部分 其中详细设计部分包括后台数据库设计 学生入住信息录入 查 询 宿舍缴费信息录入 查询和统计 宿舍租用信息统计 录入和查询等 关键词 关键词 NET WebService ADO 1 引言 1 1 本课题研究意义及背景 随着 Internet 技术的兴起与发展和 Web 技术的蓬勃发展 人们希望通过 Web 发 表意见 查询数据 甚至进行网上购物 这就迫切需要实现 Web 与数据库的互连 Web 技术发展到今天 人们已经可以把数据库技术引入到 Web 系统中 数据库技术发 展比较成熟 特别适用于对大量的数据进行组织管理 Web 技术具有较佳的信息发布 途径 这两种技术的天然互补性决定相互融合是其发展的必然趋势 传统的数据库应 用系统采用的是客户机 服务器 Client Server 模式 有高度的交互性 高效的用户 界面等优点 但存在数据交互和交互规则移至客户端 代价高 维护成本高 缺少中 央控制 多媒体要素不易扩展等缺点 对于 B S 而言 开发 维护等几乎所有工作也 都集中在服务器端 当企业对网络应用进行升级时 只需更新服务器端的软件就可以 这减轻了异地用户系统维护与升级的成本 B S 是未来的一种潮流 因为它有很多 C S 所没有的优势 因此对于它的发展前景 诸多市场分析和咨询公司都非常看好 近 两年来 对于 B S C S 两种结构的软件的优劣 国内基本已经达成共识 普遍认为 B S 结构软件将全面取代 C S 结构软件 随着计算机网络技术的高速发展 传统的桌面系统 C S 架构系统已经不能满足 社会的需要 当今社会是一个网络社会 电子商务系统 企业信息系统已经走进了网 络应用系统阶段 如何快速开发出适应社会各个行业发展的网络应用系统是摆在人们 前面的一个难题 选择什么样的开发平台 开发工具 开发语言 开发技术直接影响 行业的信息化建设 NET 的问世给开发人员带来了一种全新的开发框架 它已经成为 一种令人激动的 具有革命性和发展性的新技术 NET 为行业的信息化提出了彻底解 决方案 不论 Web 开发者 组件开发者 数据开发者 VB GUI 开发者 还是任何基 3 于 Windows 平台的开发者 NET 都以一种全新的开发模式使开发人员更好 更快速的 完成工作 1 2 技术现状 ASP NET 是一个已编译的 基于 NET 的环境 可以用任何与 NET 兼容的语言 包 括 VisualBasic NET C 和 JScript NET 创作应用程序 另外 任何 ASP NET 应用 程序都可以使用整个 NETFramework 开发人员可以方便地获得这些技术的优点 其 中包括托管的公共语言运行库环境 类型安全 继承等等 ASP NET 可以无缝地与 WYSIWYGHTML 编辑器和其他编程工具 包括 MicrosoftVisualStudio NET 一起工作 这不仅使得 Web 开发更加方便 而且还能 提供这些工具必须提供的所有优点 包括开发人员可以用来将服务器控件拖放到 Web 页的 GUI 和完全集成的调试支持 微软为 ASP net 设计了这样一些策略 易于写出结构清晰的代码 代码易于重用 和共享 可用编译类语言编写等等 目的是让程序员更容易开发出 Web 应用 满足计 算向 Web 转移的战略需要 ASP net 的新性能 ASP ne 提供了稳定的性能 优秀的升级性 更快速的开发 更简便的管理 全新 的语言以及网络服务 贯穿整个 ASP net 的主题就是系统帮用户做了大部分不重要的 琐碎的工作 全新的构造 新的 ASP net 引入受管代码 ManagedCode 这样一个全新概念 横贯整个视窗开 发平台 受管代码在 NGWSRuntime 下运行 而 NGWSRuntime 是一个时间运行环境 它 管理代码的执行 使程序设计更为简便 高效率 对于一个程序 速度是一件非常令人渴望的东西 一旦代码开始工作 接下来你 就得尽可能地让它运作得快些快些再快些 在 ASP 中你只有尽可能精简你的代码 以 至于不得不将它们移植到一个仅有很少一点性能的部件中 而现在 ASP net 会妥善 地解决这一问题 易控制 在 ASP net 里 你将会拥有一个 Data Bounds 数据约束 这意味着它会与 数据源连接 并会自动装入数据 使控制工作简单易行 语言支持 ASP net 支持多种语言 支持编译类语言 支持比如 VB VC C 等 它比这些 4 编译类语言运行速度快 更适合编写大型应用 更好的升级能力 快速发展的分布式应用也需要更快速 更模块化 更易操作 更多平台支持和重 复利用性更强的开发 需要一种新的技术来适应不同的系统 网络应用和网站需要提 供一种更加强大的可升级的服务 ASP net 能够适应上面的要求 1 3 本课题的设计目标 目的及作者的贡献 学校管理系统是一个教育单位不可缺少的部分 它的内容对于学校的决策者和管 理者来说都至关重要 所以学校管理系统应该能够为用户提供充足的信息和快捷的查 询手段 但一直以来人们使用传统人工的方式管理文件档案 这种管理方式存在着许 多缺点 如 效率低 保密性差 另外时间一长 将产生大量的文件和数据 这对于查找 更新和维护都带来了不少的困难 随着科学技术的不断提高 计算机科学日渐成熟 其强大的功能已为人们深刻 认识 它已进入人类社会的各个领域并发挥着越来越重要的作用 基于以上的种种原因 我以 NET 为开发平台 用 SQL service 建立数据库 参于私 立学校管理系统的开发 其中我负责的是宿舍管理分系统的设计以及实现 以 WebService 方式实现宿舍管理 其中功能包括 学生入住信息登记 学生住宿费用收缴登记 宿舍费用统计以及 宿舍统计显示 2 系统开发环境 2 1 本课题的技术特色 本课题是采用 ASP Net C ADO Net WebService 技术开发的 C 是由 C 和 C 衍生出来的面向对象的编程语言 它是牢牢根植于 C 和 C 语言之上的一种编程语言 NET Framework 是一种可靠性强 高安全和集成性 支持智能客户 元数据 无接触 部署和内部命名 支持多种语言的编译环境 而 WebService 是一种可以接收从 Internet 或者 Intranet 上的其它系统中传递过来的请求 轻量级的独立的通讯技术 其工作原理是 通过松耦合这个特性将所有服务联系起来实现系统之间的整合与协同 传统的 Web HTML HTTP 技术有效地解决了人与信息系统的交互和沟通问题 极大地 促进了 B2C 模式的发展 Web 服务 XML SOAP WSDL 技术则是要解决信息系统之间的 交互和沟通问题 促进 B2B EAI CB2C 的发展 SOA 则是采用面向服务的商业建模技术 和 Web 服务技术 实现系统之间的松耦合 实现系统之间的整合与协同 ADO NET 的 前身是 ADO OLEDB ADO 仅仅是 OLEDB 的一个包装器 这个包装器是迎合 OLEDB 无法 应付的复杂性的产物 因此 它的体系结构是相当松散的 而且没有得到良好的设计 5 为了能够在各种不同的环境下访问数据库功能 老式 ADO 的数据必须要历经多个接口 层 同时还会消耗系统资源 尽管 ADO 支持断接的数据共享 但它显然依赖于紧密藕 合连接模式 这会造成每一个请求都要创建一个新的数据源连接 而 ADO NET 在设计 时就避免了这些缺点 ADO NET 并不是原先的 ADO 技术的包装器 它是一个全新的数 据访问技术 主要驻留在 NET Frameworks System Data 和 System Xma 命名空间中 2 2 本课题的开发语言及操作平台 2 2 1 C 的特点 C 是一种类型安全的 现代的 简单的 由 C 和 C 衍生出来的面向对象的编程 语言 它是牢牢根植于 C 和 C 语言之上的 并可立即被 C 和 C 的使用者所熟悉的 一种编程语言 C 语言有很大的自由性 用 C 编写的程序能最大程度地和任何支持 NET 的语言互相交换信息 能够继承和使用任何语言所编写的程序可以称得上是知识 的继承 这样做的好处是节省了大量的工作 你不必把 COBOL 等语言强行改成另一种 语言 NET 让各种语言真正地互相交流了 在 C 的 Web 编程中 最让人兴奋的是 Web 服务端的组件 它们不仅包括传统组件 还包括那些能够自动连接服务的可编程组件 你可以用 C 编写自己的服务器端组件 服务器端组件和标准的 HTML 提供的服务自然 是不一样的 使用它们可以更自由 更容易地进行数据绑定 像 Java 一样 C 编写 的应用程序具有强大的跨平台性 这种跨平台性也包括了 C 程序的客户端可以运行在 不同类型的客户端上 比如 PDA 手机等非 PC 装置 由于 XML 技术真正融入到了 NET 和 C 之中 C 的编程变成了真正意义的网络编程 甚至可以说 NET 和 C 是专为 XML 而设计 使用 C 的程序员可以轻松用 C 内含的类来使用 XML 技术 就这方面而言 目前 C 提供给了程序员更多的自由和更好的性能来使用 XML 2 2 2 ADO NET 的概念及特点 Microsoft NET 是 Microsoft XML Web services 平台 XML Web services 允 许应用程序通过 Internet 进行通讯和共享数据 而不管所采用的是哪种操作系统 设备或编程语言 这意味着我们不仅可以使用任何 Net Framework 兼容的程序语言 Visual Basic Net Visual C 或 Jscript Net 来编写程序 还可以充分利用 Net Framework 的 Common Language Runtime CLR 类型安全性 继承性与其他各项特性 此外 Net 具有更快的运行效率 简单易懂的程序设计模型 数据访问方式和配置设 置 易用的状态管理 良好的延展性和可使用性 更好的安全性和兼容性 实用的自 定义能力与扩充性 6 2 2 3 ADO NET 的特点 Activex Data Object ADO 对象是继 Open DataBase Connectivity ODBC 开放 数据库连接架构 微软所制定的架构 可以让透过这种架构和数据库连结 之后微软 主推存取数据的最新技术 ADO 对象是程序开发平台用来和 OLE DB 沟通的媒介 ADO 目前的最新版本为 ADO NET ADO NET 不像以前的 ADO 版本是站在为了存取数据库的 观点而设计的 ADO NET 是为了适应广泛的数据控制而设计的 所以使用起来比以前 的 ADO 更灵活有弹性 也提供了更多的功能 ADO NET 的出现并不是要来取代 ADO 而是要提供更有效率的数据存取 微软透过最新的 NET 技术提供了可以满足众多需 求的架构 这个架构就是 NET 共享对象类别库 这个共享对象类别库不但涵盖了 Windows API Windows Application Programming Interface Windows 应用程序设 计界面 提供许多撰写 Windows 程序所需要使用的对象以及基本函数等 的所有功能 并且还提供更多的功能及技术 另外它还将以前放在不同 COM 组件上 我们常常使用 的对象及功能一并包含进来 除此之外 ADO NET 还将 XML 整合进来 这样一来数据 的交换就变的非常轻松容易了 所以 ADO NET 的架构及新功能是为了能满足广泛的数 据交换需求所产生出来的新技术 ADO NET 对象可以让我们快速简单的来存取各种数 据 传统的主从式应用程序在执行时 都会保持和数据源的联机 但是在某些状况下 和数据库一直保持联机是不需要的 而且一直保持和数据源的联机会浪费系统资源 有些时候我们只需要很单纯的将数据取回 这时候就不需要保持对数据源的联机 ADO NET 被设计成对于数据处理不一直保持联机的架构 应用程序只有在要取得数据 或是更新数据的时候才对数据源进行联机的工作 所以应用程序所要管理的连接减少 数据源就不用一直和应用程序保持联机 负载减轻了效率自然也就提升 2 2 4 WerService 的概念 WebService 是一种可以接收从 Internet 或者 Intranet 上的其它系统中传递过来 的请求 轻量级的独立的通讯技术 这种技术允许网络上的所有系统进行交互 随着 技术的发展 一个 Web 服务可以包含额外的指定功能并且可以在多个 B2B 应用中协作 通讯 Web 服务可以理解请求中上下文的关系 并且在每一个特定的情况下产生动态 的结果 这些服务会根据用户的身份 地点以及产生请求的原因来改变不同的处理 用以产生一个唯一的 定制的方案 这种协作机制对那些只对最终结果有兴趣的用户 来说 是完全透明的 在用户能够调用 Web 服务之前 必须确定这个服务内包含哪些 商务方法 找到被调用的接口定义 还要在服务端来编制软件 所以 我们需要一种 方法来发布我们的 Web 服务 UDDI Universal Description Discovery and Integration 是一个主要针对 Web 服务供应商和使用者的新项目 UDDI 项目中的成 员可以通过 UDDI Business Registry UBR 来操作 Web 服务的调用 UBR 是一个全 球性的服务 Web 服务供应商可以在 UBR 中描述并且注册他们的服务 用户可以在 7 UBR 中查找并定位那些他们需要的服务 UDDI 是一种根据描述文档来引导系统查找 相应服务的机制 UDDI 包含标准的 白皮书 类型的商业查询方式 黄皮书 类 型的局部查找 以及 绿皮书 类型的服务类型查找 UDDI 利用 SOAP 消息机制 标准的 XML HTTP 来发布 编辑 浏览以及查找注册信息 它采用 XML 格式来封装 各种不同类型的数据 并且发送到注册中心或者由注册中心来返回需要的数据 对于 商业用户来说 要找到一个自己需要使用的服务 他必须知道如何来调用 WSDL Web Services Description Language 规范是一个描述接口 语义以及 Web 服务为 了响应请求需要经常处理的工作的 XML 文档 这将使简单地服务方便 快速地被描述 和记录 SOAP 当商业用户通过 UDDI 找到你的 WSDL 描述文档后 他通过可以 Simple Object Access Protocol SOAP 调用你建立的 Web 服务中的一个或多个操作 SOAP 是 XML 文档形式的调用商业方法的规范 它可以支持不同的底层接口 象 HTTP S 或者 SMTP 之所以使用 XML 是因为它的独立于编程语言 良好的可扩展性以 及强大的工业支持 之所以使用 HTTP 是因为几乎所有的网络系统都可以用这种协议 来通信 由于它是一种简单协议 所以可以与任何系统结合 还有一个原因就是它可 以利用 80 端口来穿越过防火墙 SOAP 的强大是因为它简单 SOAP 是一种轻量级的 非常容易理解的技术 并且很容易实现 它有工业支持 可以从各主要的电子商务平 台供应商那里获得 从技术角度来看 SOAP 详细指明了如何响应不同的请求以及如何 对参数编码 一个 SOAP 封装了可选的头信息和正文 并且通常使用 HTTP POST 方法 来传送到一个 HTTP 服务器 当然其他方法也是可以的 例如 SMTP SOAP 同时支持消 息传送和远程过程调用 2 2 5 SQL 语言基础 1 SQL 简介 用户对数据库的使用 是通过数据库管理系统提供的语言来实现的 不同的 数据库管理系统提供不同的数据库语言 关系数据库管理系统几乎都提供关系数据库 标准语言 SQL SQL 的全称是 Structured Query Language 即结构化查询语言 SQL 语句 可以从关系数据库中获得数据 也可以建立数据库 增加数据 修改数据 1986 年 ANSI 采用 SQL 语言作为关系数据库系统的标准语言 后被国际化标准组织 ISO 采 纳为国际标准 SQL 语言使用方便 功能丰富 简洁易学 是操作数据库的工业标准 语言 得到广泛地应用 例如关系数据库产品 DB2 ORACLE 等都实现了 SQL 语言 同 时 其它数据库产品厂家也纷纷推出各自的支持 SQL 的软件或者与 SQL 的接口软件 这样 SQL 语言很快被整个计算机界认可 SQL 语言是一种非过程化语言 它一次处理一个记录集合 对数据提供自动 导航 SQL 语言允许用户在高层的数据结构上工作 而不对单个记录进行操作 SQL 8 语言不要求用户指定数据的存取方法 而是使用查询优化器 由系统决定对指定数据 存取的最快速手段 当设计者在关系表上定义了索引时 系统会自动利用索引进行快 速检索 用户不需知道表上是否有索引或者有什么类型的索引等细节 SQL 语言可以完成许多功能 例如 查询数据 在数据库表格中插入 修改和删除记录 建立 修改和删除数据对象 控制对数据和数据对象的存取 确保数据库的一致性和完整性等 2 SQL 查询 数据查询是关系运算理论在 SQL 语言中的主要体现 SELECT 语句是 SQL 查询的 基本语句 当我们在对一个数据库进各种各样的操作时 使用的最多的就是数据查询 在以 SQL 为基础的关系数据库中 使用的最多的就是 SELECT 查询语句 SELECT 语句的完整句法如下 SELECT 目标表的列名或列表达式序列 FROM 基本表和 或 视图序列 WHERE 行条件表达式 GROUP BY 列名序列 HAVING 组条件表达式 ORDER BY 列名 ASC DEAC 我在 SELECT 语句中还使用了大量的保留字和通配符以进行各种各样的条件查询 在系统中有大量的查询按钮 其使用了大量的查询语句 而且这些查询语句大部分使 用的是模糊查询 所以大量的使用了模式匹配符 LIKE 判断值是否与指定的字符通配 格式相符 在包含 LIKE 的查询语句中可以使用两个通配符 百分号 与零个 或多个字符组成的字符串匹配 下划线 与单个字符匹配 系统中的条件判断 往往包含多个条件 这时就需要使用逻辑运算符 NOT AND OR 用于多条件的逻辑连 接 谓词 ALL 以及保留字 DISTINCT 等等 做为 SELECT 语句还有很多的使用方法 这里就不再叙述 3 SQL 数据更新 使用数据库的目的是为了有效地管理数据 而数据的插入 删除和修改则是必不 可少的一个功能 在本系统中就大量地使用了数据插入 删除和修改这三种操作 现 做一个简单地介绍 数据插入 往数据库的基本表中插入数据使用的是 INSERT 语句 其方式有两种 一种是元 组值的插入 另一种是查询结果的插入 在本系统中使用的是前一种方式 其句法如 9 下 INSERT INTO 基本表名 列表名 VALUES 元组值 数据删除 往数据库的基本表中删除数据使用的是 DELETE 语句 其句法如下 DELETE FROM 基本表名 WHERE 条件表达式 在些作一点说明 删除语句实际上是 SELECT FROM 基本表名 WHERE 条件表达式 和 DELETE 操作的结合 每找到一个元组 就把它删除 此外 DELETE 语句只能从一 个基本表中删除元组 WHERE 子句中条件可以嵌套 也可以是来自几个基本表的复合 条件 数据修改 当需要修改基本表中元组的某些列值时 可以用 UPDATE 语句实现 其句法如下 UPDATE 基本表名 SET 列名 值表达式 列名 值表达式 WHERE 条件表达式 2 2 6 本课题的操作平台 服务器端 操作系统 Windows2000 或其他服务器版的操作平台 Web 服务器 NET Framework1 1 和 IIS5 0 数据库 SQL Server2000 客户端 操作系统 能装有下面要求的上网浏览器的系统 浏览器 Internet Explorer 4 0 及以上版本或 Netscape Navigator 的浏览器 3 系统设计 3 1 系统主流程 3 1 1 系统功能概述 本系统主要包括的模块有 系统用户管理模块 学生学籍管理模块 学生宿舍管理模 块 教职员工管理模块 教务管理模块 学校简单财务管理模块 其中 用户管理模块实现了用户的登陆 注册 区分不同管理 都并规定不同登陆都的权限 1 学生学籍模块实现了学生资料的记录 查询 删除等功能 2 教职员工管理模块实现了教职工的录入 查询 记录学生对教职工的反馈信 息以及评价 10 3 教务管理模块实现了课程表的登记 打印 方便统计汇总 能实现教师 课 室 时间 上课班级 学生人数的汇总 方便对教职工工作量的统计 4 学校简单财务管理模块实现了办学经费的投入 人员 金额 的登记 办学 经费的支出 学生宿舍 办学材料 业务联系 外出补贴 水电费用 教职工工薪水 教学场地等费用的支出 投资的回报 主要来源于学生的学费 其他等收费 统计 各个方面的比例 输出统计报表 5 我负责的是学生宿舍管理模块 实现功能包括 学生入住登记 学生入住房间地址 学生所在房号以有床号登记并通过查询显示出来 学生住宿费用 学生入住房间的收费情况 水电收费 押金情况登记通过查询显示出 来 住宿费用收缴 水费 电费 宿舍费用的收缴 显示并输出统计报表 学校对学生宿舍入住情况的查询 方便用户为新生分配住房和退还租用房间 3 1 2 系统主流程图 11 12 用户登陆页面 用户合法 主框架页面 用 户 管 理 功 能 页 面 学 籍 管 理 功 能 页 面 辅 助 管 理 功 能 页 面 宿 舍 管 理 功 能 页 面 教 工 管 理 功 能 页 面 财 务 管 理 功 能 页 面 选择导航链接 关闭退出 结 束 开 始 教 务 管 理 功 能 页 面 13 图 3 1 1 系统主流程图 14 图 3 2 宿舍管理模块绘声结构图 3 2 数据库设计 3 2 1 需求分析 在项目中 本课题主要做的是对各方面学校信的查询以及管理 包括信息的录入 查询 删除等功能和对网站的管理等工作 宿舍管理模块在建立数据库时 我主要从这几方面着手 在数据库里面建立了下 列表 学生入住登记信息表 live 包括字段有 学号 姓名 性别 宿舍类型 宿舍 床号 班级 系别 入住时间 备注 其中宿舍类型是指在哪一区或哪一楼 班级 班别是为了方便查询 学生住宿收缴表 liveUsing 包括字段 学号 姓名 班级 系别 年份 水 费 电费 宿舍费 实交金额 交费人姓名 经办人 宿舍类别 其中班级和姓名也 是为了方便查询 年份是指缴哪一年的费用 宿舍类型是为了后面的统计 学 生 入 住 登 记 宿舍管理模块 宿 舍 费 用 收 缴 宿 舍 费 用 统 计 宿 舍 租 用 情 况 学 生 入 住 登 记 学 生 入 住 查 询 费 用 收 缴 登 记 费 用 收 缴 查 询 宿 舍 收 缴 统 计 宿 舍 支 出 登 记 宿 舍 费 用 查 询 宿 舍 租 用 统 计 宿 舍 租 用 查 询 15 宿舍收缴统计表 costtotal 包括字段 编号 宿舍类型 年份 已缴水费统 计 已缴电费统计 已缴宿舍费统计 已缴费用合计 支出水费 支出电费 支出宿 舍其它费用 支出合计 其中 宿舍类型是说明对哪一区的统计 编号是为了方便财 务模块统计 宿舍租用情况表 dor 包括字段 宿舍类型 宿舍 住宿情况 住宿人数 其 中住宿情况是说明是否已有学生入住 3 2 2 概念设计 根据上面的数据设计分析 数据库的大致结构和各个数据表之间的联系已经很清 晰 现在便可设计出数据库各信息表 图如下所示 图 3 3 学生入住登记 E R 图 图 3 4 学生费用收缴表 E R 图 学生入住登记 学号姓名 性别 宿舍类型 宿舍 床号班级系别 入住时间 备注 学生住宿收缴表 学号 宿舍类型 经办人 交费人 姓名 实交金 额 宿舍费 电费 水费 年份 系别 班级 姓名 16 图 3 5 宿舍收缴统计表 E R 图 图 3 6 宿舍租用情况表 E R 3 2 3 逻辑结构设计 通过上面的分析 现在用 SqlServer 来设计建立数据库 把数据库中各个表的字 段形成数据字典的形式 方便在程序中的调用 本课题中各个表设计结果如下面几个 表格所示 每一个表格对应数据库中的一个表 表 3 1 学生入住登记 live 字段名数据类型说明 sidChar 8 学号 主键 didChar 8 宿舍 not Null bIdChar 1 床号 notNull inTimeDatetime 8 入住时间 lOtherVarchar 50 备注 sdepChar 10 系别 sclaChar 10 班级 ssexChar 10 性别 snameChar 10 姓名 dtypeChar 10 宿舍类型 宿舍收缴统计表 支出合计 支出宿舍费 用 支出电费 支出水费 已缴费用合计 已缴宿舍费 统计 已缴电费 已缴水费统 计 年份 宿舍类 型 编号 宿舍租用情况表 宿舍类 型 宿舍 宿舍可住人数 住宿人数 此区可住人数 17 表 3 2 学生住宿费用收缴表 liveUsing 字段名数据类型说明 sidChar 10 学号 主健 snameChar 8 姓名 sclaChar 10 班级 sdepChar 10 系别 pyearChar 10 年份 wUsingFloat 8 水费 eUsingFloat 8 电费 hUsingFloat 8 宿舍费 havePayFloat 8 实交金额 pidChar 10 交费人姓名 tidChar 4 经办人 dorChar 10 宿舍 表 3 3 宿舍费用统计 costtotal 字段名数据类型说明 idInt 4 编号 自增 dortypeChar 10 宿舍类型 主键 pyearChar 10 年份 主健 capwcostfloat 8 已缴水费合计 capecostFloat 8 已缴电费合计 caphcostFloat 8 已缴宿舍费合计 captotalFloat 8 已缴费用合计 paywcostFloat 8 支出水费 payecostFloat 8 支出电费 payhcostFloat 8 支出宿舍费用 paytotalFloat 8 支出总计 表 3 4 宿舍租用情况表 dor 字段名数据类型说明 dortypeChar 8 宿舍类型 主键 doridChar 10 宿舍 主健 dorcnumint 4 宿舍可住人数 dortoInt 4 本区可住人数 dornumInt 4 住宿人数 18 4 详细设计 4 1 宿舍管理模块的流程图 宿舍 管理 模块 后 台 住宿情况查询 前 台住宿费用查询 住宿费用统计 入住登记 住宿费用录入 宿舍录入 图 4 1 宿舍管理模块流程图 4 2 各模块的功能设计 4 2 1 用户管理模块 本模块主要是对用户信息进行管理 此模块功能包括 用户登陆 用户根据个人信 息在登陆窗口进行登陆认证 用户注册 用户要登陆本系统必需先注册 以取得登陆使 用该系统的权力 权限管理 用户在登陆时必需选择用户类型 不可类型的用户对系统 的可使用程度不同 进入系统后系统通过登陆窗口传来的值赋于用户权限 4 2 2 学籍管理模块 本模块主要对学生的基本资料进行添加 查询 修改 删除 学生资料的打印 用户可以根据学生学号 姓名 年级 班级 籍贯来查询相关学生信息 管理员在后 台管理页面可以添加学生信息 上传学生照片 修改和删除学生信息 这些操作都提 供了查询功能 方便管理员精确定位所要操作的信息 4 2 3 宿舍管理模块 本模块主要是对学生住宿进行管理 后台提供给管理员的操作功能有 学生入住 登记 学生退租登记 住宿费用录入等 学生入住登记录入的内容包括 学生入住宿 舍所在区域 宿舍号以及床号 住宿费用录入的内容有 水电费 房租 押金等 通 19 过以上信息的录入 对学生住宿情况有了详细的记录 用户可以通过前台查询操作随 时随地了解学校学生住宿情况 可以查询某个学生居住的宿舍 某个宿舍居住的学生 可以查询住宿费用 检查是否欠费 可以统计住宿费用提交给学校简单财务管理模块 用以统计 生入住登记 此小模块包乱了学生入住信息的查询和登记 用两个 Tabel 把两模 块分开 其中学生入住登记用 Tabel 控件进数据进行输入 然后用一个 Button 控件进行 执行 当学号与数据库里的数据有冲突时会发生错误 学号 宿舍和床号用了一个 RequiredFieldValidator 进行邦定 当它们为空时会提示 不能为空 的错误信息 查询方面用一个 DropDownList 进行类型选择 然后用一个 Tebel 控件输入查询 条件 显示方面是用 DataGrid 控件进行数据邦定显示 页面截图如下 图 4 2 学生入住登记页面 查询代码如下 private void Button1 Click object sender System EventArgs e 20 SqlConnection con DB createConnection con Open 打开数据库 string strSql select from live where string type this ddltype SelectedValue Trim ToString 查询比较 if type 学号 strSql strSql sid this txbtype Text Trim ToString else if type 姓名 strSql strSql sname this txbtype Text Trim ToString else strSql strSql scla this txbtype Text Trim ToString 得到的值赋给 DataGrid SqlDataAdapter sda new SqlDataAdapter strSql con DataSet ds new DataSet sda Fill ds live this DataGrid1 DataSource ds Tables live this DataGrid1 DataBind con Close 此页面用了一个自定义函数判断学号输入是否与数据表里面一样并返回一个布尔 值 如果是重新输入 函数代码如下 private bool check bool result string strSql select count from live where sid this txbSid Text Trim ToString SqlConnection con new SqlConnection ConfigurationSettings AppSettings ConnectionString con Open SqlCommand cmd new SqlCommand strSql con if Convert ToInt32 cmd ExecuteScalar 0 进行判断 result true 21 else result false con Close return result 录入代码 private void btnAddSInfo Click object sender System EventArgs e if this check this lblAddMessage Text 该学号已登记 请重新输入 else string strSql insert into live values this txbSid Text Trim ToString this txbS did Text Trim ToString this txbSbid Text Trim To String this txbStim Text Trim ToString thi s txbSoth Text Trim ToString this txbSdep Text Tri m ToString this ddlScla SelectedValue ToString T rim this ddlSsex SelectedValue ToString Trim this txbSnam Text Trim ToString this ddldtype S electedValue Trim ToString SqlConnection con new SqlConnection ConfigurationSettings AppSettings ConnectionS tring con Open SqlCommand cmd new SqlCommand strSql con if cmd ExecuteNonQuery 1 this lblMessage Text 添加成功 else this lblMessage Text 添加失败 con Close 22 在录入入住信息时 当可信息已经可以录入时 也通过一段代码对宿舍租用情况 表 dor 进行相应宿舍人数的增加 方便租用情况的统计 登记和宿舍人数的增加 代码如下 private void btnAddSInfo Click object sender System EventArgs e if this check this lblAddMessage Text 该学号已登记 请重新输入 else string strSql insert into livevalues this txbSid Text Trim ToString thi s txbSdid Text Trim ToString this txbSbid Text T rim ToString this txbStim Text Trim ToString this txbSoth Text Trim ToString this txbS dep Text Trim ToString this ddlScla SelectedValu e ToString Trim this ddlSsex SelectedValue ToStr ing Trim this txbSnam Text Trim ToString this ddldtype SelectedValue Trim ToString SqlConnection con new SqlConnection ConfigurationSettings AppSettings Connectio nString con Open SqlCommand cmd new SqlCommand strSql con if cmd ExecuteNonQuery 1 使每增一人宿舍表里的相应的宿舍人数就加 1 SqlCommand SelectCmd new SqlCommand select dornum from dor where dortype dortype and dorid dorid con SelectCmd Parameters Add dortype ddldtype Selected Value SelectCmd Parameters Add dorid txbSdid Text Bool IsInserted Convert IsDBNull SelectCmd ExecuteScalar int num 0 if IsInserted num Convert ToInt32 SelectCmd ExecuteScalar else num 0 23 num 1 SqlCommand UpdateCmd new SqlCommand update dor set dornum dornum where dortype dortype and dorid dorid con UpdateCmd Parameters Add dornum num UpdateCmd Parameters Add dortype ddldtype SelectedValue UpdateCmd Parameters Add dorid txbSdid Text UpdateCmd ExecuteNonQuery this lblMessage Text 添加成功 else this lblMessage Text 添加失败 con Close 删除代码 private void DataGrid1 DeleteCommand 1 object source System Web UI WebControls DataGridCommandEventArgs e string Finid this DataGrid1 DataKeys e Item ItemIndex ToString SqlConnection con new SqlConnection ConfigurationSettings AppSettings ConnectionString con Open SqlCommand cmd new SqlCommand delete from live where sid Finid con cmd ExecuteNonQuery SqlDataAdapter sda new SqlDataAdapter sda SelectCommand new SqlCommand select from live con DataSet ds new DataSet sda Fill ds live this DataGrid1 DataSource ds Tables live this DataGrid1 DataKeyField sid this DataGrid1 DataBind con Close 24 2 学生住宿费用收缴 此页面包括了学生收缴费用的登记和收缴情况的查询 在登记模板里面用 DropDownList 进行年份和宿舍类型的邦定 不用自己输入 操作 信息那一行后面用一个 Label 控件显示操作信息 查询方面用了多种查询的方法 单 位类型和缴费类型是并列的 各自查询条件又分为多类 由于功能跟前面的模块一样 代码相差不是很大 这里就不再写出来了 图 4 3 学生住宿收缴页面 3 宿舍费用统计 此模块统计是按宿舍类型和学年这两个条件进行统计的 直 接从学生收缴表 liveUsing 那里提取数据进行统计 然后给提交给宿舍费用统计表 costtotal 支出登记是通过宿舍类型和学年的查询确认数据表里哪一行 然后再 将支出提交给宿舍费用统计表 liveUsing 进行那一行的支出录入修改 查询 根据两 个 DropDownList 控件的条件进行查询 25 图 4 4 宿舍费用统计页面 统计代码段为 private void Button1 Click object sender System EventArgs e SqlConnection con DB createConnection con Open SqlCommand sum1 new SqlCommand select sum wUsing from liveUsing where dor ddl1 SelectedValue Trim ToString and pyear ddl2 SelectedValue Trim ToString con SqlCommand sum2 new SqlCommand select sum eUsing from liveUsing where dor ddl1 SelectedValue Trim ToString and pyear ddl2 SelectedValue Trim ToString con SqlCommand sum3 new SqlCommand select sum hUsing from liveUsing where dor ddl1 SelectedValue Trim ToString and pyear ddl2 SelectedValue Trim ToString con this tebcapwcost Text sum1 ExecuteScalar ToString this tebcapecost Text sum2 ExecuteScalar ToString 26 this tebcaphcost Text sum3 ExecuteScalar ToString this tebtot1 Text Convert ToString Convert ToInt64 sum1 Execut eScalar Convert ToInt64 sum2 ExecuteScalar Convert ToInt 64 sum3 ExecuteScalar con Close 5 宿舍租用情况模块 此模块包括对宿舍租用的统计 宿舍租用查询 新宿舍 楼登记 在统计方面用了一个 DropDownList 作为统计条件 管理员可以通过对各个 区的住宿舍情况进行统计 根据统计结果可以大体的对新生进行分配 然后再通过

温馨提示

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

评论

0/150

提交评论