基于C-技术图书馆管理系统的实现与设计_第1页
基于C-技术图书馆管理系统的实现与设计_第2页
基于C-技术图书馆管理系统的实现与设计_第3页
基于C-技术图书馆管理系统的实现与设计_第4页
基于C-技术图书馆管理系统的实现与设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

基于基于 C C 图书馆管理系统图书馆管理系统 的实现与设计的实现与设计 小组 二组小组 二组 成员 满光菊 成员 满光菊 谭美玲 谭美玲 李玉梅 李玉梅 杨杨 杨 杨 扈灯洲 扈灯洲 陈传恒 陈传恒 专专 业 软件技术业 软件技术 班班 级 级 P09P09 软件二班软件二班 指导老师 李指导老师 李 锋锋 目录目录 中文摘要 1 1 前言 3 2 开发工具介绍 3 2 1SQL SERVER 2000 3 2 2 ASP NET 4 3 图书馆管理系统的需求分析 5 3 1 图书馆管理员的需求 5 3 2 读者的需求 7 3 3 性能需求 7 4 图书馆管理系统的可行性分析 8 4 1 结构的选择 8 4 2 技术可行性 8 4 3 经济可行性 9 4 4 操作环境及运行环境 9 5 图书馆管理系统的设计 9 5 1E R 图分析与设计 9 5 1 1 设计局部 ER 模式 9 5 1 2 设计全局 ER 模式 10 5 2 数据表的创建 13 5 3 系统设计模块 17 6 图书馆管理系统的开发 17 6 1 读者登录界面设计 17 6 2 预约图书界面设计 23 6 3 催还图书界面设计 25 6 4 图书馆总管理员 25 6 5 书库管理员 27 7 总结 28 参考文献 29 致谢 30 基于 C 图书馆管理系统的设计与实现 1 中文摘要 随着科技的发展和社会的进步 计算机已成为人们生活和工作中 的得力助手 特别是现代 Internet 的 Web 技术的发展大大地推动了社 会各个方面的发展 设计一个现代的图书馆管理系统势在必行 图书馆管理系统是常用的信息管理系统之一 它的实现主要由两 部分组成 数据库建立与维护和前台应用程序的开发 数据库要求非 常强的一致性与完整性以及安全性 而前台应用程序则要求功能实现 完善 简单易用 SQL server2005 具有比较完善的功能 而 Visual C NET 是专门针对 Microsoft 的 NET 战略而推出的语言 它对 NET Framework 和 ASP NET 具有最为全面的支持 综合各个方面选择 C 作为程序设计语言和 SQL server 2005 数据库 通过对中小型图书馆 的需求分析 实现了对图书馆管理系统的功能模块划分 数据库模式 分析 并进一步设计了数据库结构和应用程序 由此得到了一个基本 满足读者 图书馆管理员和高级管理者需求的图书馆系统 关键词关键词 图书馆管理系统 C NET SQL server 2005 数据库 基于 C 图书馆管理系统的设计与实现 2 1 1 前言前言 当今时代是飞速发展的信息时代 在各行各业中离不开信息处理 计算机 被广泛应用于信息管理系统的环境 计算机的最大好处在于利用它能够进行信 息管理 使用计算机进行信息控制 不仅提高了工作效率 而且大大的提高了其 安全性 尤其对于复杂的信息管理 计算机能够充分发挥它的优越性 计算机 进行信息管理与信息管理系统的开发密切相关 系统的开发是系统管理的前提 本系统就是为了管理好图书馆信息而设计的 图书馆作为一种信息资源的集散地 图书和用户借阅资料繁多 包含很多 的信息数据的管理 现今 有很多的中小型图书馆都是初步开始使用 甚至尚 未使用计算机进行信息管理 根据调查得知 他们以前对信息管理的主要方式 是基于文本 表格等纸介质的手工处理 对于图书借阅情况 如借书天数 超 过限定借书时间的天数 的统计和核实等往往采用对借书卡的人工检查进行 对借阅者的借阅权限 以及借阅天数等用人工计算 手抄进行 数据信息处理 工作量大 容易出错 由于数据繁多 容易丢失 且不易查找 总的来说 缺 乏系统 规范的信息管理手段 尽管有的图书馆有计算机 但是尚未用于信息 管理 没有发挥它的效力 资源闲置比较突出 这就是管理信息系统的开发的 基本环境 随着计算机技术的不断发展 计算机应用于各大领域 并给人们的生活带 来了极大的便利 图书馆管理信息系统亦是如此 以往图书馆管理信息系统由 于缺乏适当的软件而给其工作带来了很多不便 本论文所介绍的图书馆管理信 息系统就是为了使图书管理工作规范化 系统化 程序化 避免图书管理的随 意性 提高信息处理的速度和准确性 能够及时 准确 有效的查询和修改图 书情况 基于 C 图书馆管理系统的设计与实现 3 2 2 开发工具介绍开发工具介绍 2 1 SQL SERVER 2000 SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的一个版本 该版本继承了SQL Server 7 0 版本的优点同时又比它增加了许多更先进的功能 具有使用 方便 可伸缩性好与相关软件集成程度高等优点 可跨越从运行Microsoft Windows 98 的 膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用 2 2 C 简介 C sharp 音标 p 又被简称为 C 是微软公司在二OOO年六月发布的一种新 的编程语言 并定于在微软职业开发者论坛 PDC 上登台亮相 C 是微软公司研究员Anders Hejlsberg的最新成果 C 看起来与Java有着惊人的相似 它包括了诸如单一继承 界面 与 Java几乎同样的语法 和编译成中间代码再运行的过程 但是C 与Java有着明显的不同 它借 鉴了Delphi的一个特点 与COM 组件对象模型 是直接集成的 而且它是微软公司 NET windows网络框架的主角 3 3 图书馆管理系统的需求分析图书馆管理系统的需求分析 本系统主要实现图书的录入 查询等功能 采用面向对象的分析方法对图 书馆管理系统功能需求进行划分 可将需求划分为 管理员对功能的需求和读 者对功能的需求两大部分 具体列举如下 3 13 1 图书馆管理员的需求图书馆管理员的需求 通过详细分析可知 管理员对功能的需求又可以分为图书馆总管和书库 管理员对各自的功能需求 由于系统开发的总体任务是实现各种信息的系统化 规范化和自动化 所以图书馆总管对系统需要完成的功能有 读者信息的管理 图书信息的管理 书库管理员的管理等 书库管理员的功能主要为 出借图书 归还图书操作及自己密码的修改等功能 对读者信息的添加 当有新的读者需要加入到图书馆管理系统中时 图 基于 C 图书馆管理系统的设计与实现 4 书馆总管就要对读者的各种信息进行集体录入 此外由于我们所做图书馆管理 系统的读者主要针对的是学校的学生 故我们录入的主要是学生的各种信息 包括读者条形码 编号 读者姓名 读者性别 读者类型 出生日期 有效证 件等 其中读者的编号可以是学生入学时的学号 唯一性的 权限的级别在下 面的数据表中我们可以看到 读者信息的查询 修改和删除 当图书馆总管需要查询某个读者的基本 信息和借阅信息时 他们在服务端可以通过学号或者姓名可以找到这些信息 在找到后可以对这些基本的信息进行修改和保存 另外对于删除的功能则为 当某些学生快要毕业了 图书馆的管理人员就要对这些读者在图书馆中的一些 基本信息进行删除掉 在这个删除的过程中 图书馆的管理人员主要是进行模 糊查找 找到学生编号前面的年份即可 然后可以很方便 快捷地进行数据删 除功能 对图书信息的录入 由于图书馆在每年都要购买许多的新书 所以对这 些新买的新书进行编号添加到图书馆管理系统中将是一个非常巨大的工程 因 此在图书的录入过程中包含了图书的一些基本的信息 有 条形码 图书编号 图书名称 图书类型 图书作者 图书出版社 ISBN编号 出版日期 图书价 格 图书所属书库 图书到馆日期等信息 图书信息的查询 修改及删除 在这个过程中 我们是为了及时的了解 图书在馆的最新的情况 图书馆管理员首先可以通过查询找到某一类编号的图 书 然后查看它们的在馆信息 另外在查找到该图书后可以修改及保存图书修 改后的信息 再一个重要的功能就为当某些图书在借阅过程中破损或遗失什么 的 我们暂时就要对该图书进行删除或者是修改该图书 只有这样及时的修改 图书信息 读者在借阅过程中就可以很方便的找到所需要的图书 省去了许多 不必要的麻烦 实现了快捷的目标 对书库管理员的管理 在该过程中 主要是对新到的书库管理员进行添 加 修改和删除等操作 这些操作我们可以仿照在对读者的操作中实现 只是 我们在做数据库表时是不一样的 书库管理员的信息主要为 管理员编号 管 理员名称 管理员密码 图书管理 读者管理 图书借还问题等 图书借阅管理 在这个功能模块中 主要是书库管理员对图书馆中的图 书进行借出的操作 在这一步的实现过程中 当读者找到了自己所要的图书后 交给书库管理员 书库管理员通过读取读者的借阅信息 看该读者是不是已经 达到了借书的上限了 如果达到了 则该读者不能读图书的借阅 若没有达到 上限 就可以对图书的借阅 书库管理员在系统中填写图书出借信息 然后显 示借书成功提示信息 因此书库管理员填写的借书单包括的信息有 读者编号 基于 C 图书馆管理系统的设计与实现 5 图书编号 图书名称 另外在该表中还存在借书日期 应还日期 超期天数 罚款钱数的一些信息都是由系统自己去统计和完成 图书归还管理 这个模块的操作是比较简单的 当读者把把所要归还的 图书给书库管理员时 书库管理员执行的是一个与借阅管理相反的操作 在借 阅管理中是图书后台数据库借书表的插入操作 而归还图书则为对后台数据库 借书表的删除操作 它删除的记录是同时满足了读者编号和图书编号都相符合 的记录 同时 如果该读者在当前的还书日期超过了图书应还的日期 那么后 台数据库对借书表中的超期天数 罚款钱数都有相应的计算 并在读者还书时 显示出来该读者是否欠费 若是的话 就限制该读者的在图书馆的借阅功能和 其它的一些功能 如果当前日期没有超过应还日期 则会提示图书归还成功 管理员密码的修改 书库管理员在这个功能模块上可以修改自己的密码 而且这些操作是属于与自己本人编号相对应的改动 对系统上并没有多大的影 响 和读者密码的修改在代码实现方式上有许多相似性 3 23 2 读者的需求读者的需求 由于读者对主数据库表的修改权限不大 所以读者主要是浏览方面的功 能 包括了读者本身信息的查看及修改 图书信息的查询 购书推荐 预约图 书 查看新书通报 查看图书馆公告 图书馆留言等功能 读者本身信息查看及修改 当一个读者到图书馆借阅图书或者归还图书 时 他要对自己的一些基本的信息和借阅信息都要有相应的查看 通过查看这 些已经存在的信息 读者可以了解到他是否还可以再借阅图书 现在已经借阅 了几本图书 是哪几本书 并且这些书本的归还时间是什么时候 是否超期等 这样读者对自己的借阅信息就有了一个大概了解 就可以避免不盲目的跑去借 阅图书了 对于修改操作主要的还是读者自己的密码的修改 因为这只关系到 他自己的事情 所以对数据库中其它的数据没有太大的影响 图书信息查询 在这个模块中 读者可以对图书的信息进行查询 查询 的方法有两种 一种是模糊查询 另一种是精确查询 对于模糊查询只是对图 书的某一个字段查找 而且是任意匹配的形式 而对于精确查询则为对图书的 各个字段进行查找 当添加了某个查询条件后 查询结果的记录集都在变化 这样读者可以方便的找到自己所要的图书 另外在查看记录集的过程中读者可 以了解到该书本是否在馆可借 如果可借就可以在图书所在书库中找到 若没 有的话 在图书所在书库中则不可以找到 这就是读者对图书的查询功能 预约图书 在该模块中 当读者去图书馆借阅图书时 图书馆中的该书 或许已经出借了且现在的库存数目为0 那样的话 读者暂时就不可以借阅该图 书了 所以读者可以在网络上对该书进行预约操作 这样当图书馆中该书有了 基于 C 图书馆管理系统的设计与实现 6 库存后 他就有对该图书的优先借阅的权利 所以这可以帮助读者在借阅这方 面提供很大的便利 由此也就产生了一个图书预约表 包含信息有 读者编号 图书编号 图书名称 图书作者 ISBN编号 所属书库等信息 查看图书馆留 言及公告 在这个功能模块上 我们主要是对图书馆最近的公告和信息进行查 看 了解图书馆最近的一些图书管理方面的信息和最新图书的信息 另外在留 言板上读者可以提出自己对图书馆在管理方面自己的意见或建议什么的 这对 加强图书馆的管理次序是有很大的帮助 另外读者自己在规范次序上也会有很 大的改变 3 33 3 性能需求性能需求 图书馆在正常运行中总是面对大量的读者信息 书籍信息以及两者相互 作用产生的借书信息 还书信息 因此需要对读者资源 书籍资源 借书信息 还书信息进行及时处理 及时了解各个环节中信息的变更 力求提高管理效率 检验图书馆服务水平的重要标准 1 环境 图书室 阅览室环境清洁 安静 整齐 舒适 2 人员 图书馆管理工作人员热情 认真 主动 有专业能力 3 设备 图书馆设施先进 齐全 能满足功能需要 4 文献 图书馆的文献资源符合工作性质与目标 数量多 质量好 有特色 一般的性能需求是指相互消息传递顺利 协议解析正确 界面友好 运行时间满足使用需要 安全性得到安全保证 不会出现基本的错误等 4 4 图书馆管理系统的可行性图书馆管理系统的可行性分析分析 4 14 1 结构的选择结构的选择 随着技术的进步 更多的层次被划分出来 目前 在Internet应用体系 结构中 商务逻辑处理被单独划分为一层 作为Internet服务器 它对用户通 过浏览器提交的表单进行分析 并得出对数据库服务器进行的查询 交给数据 库服务器去执行并得到查询的结果 最后由Internet服务器用标准的HTML语言 反馈回浏览器 称为B S Brother Server 结构 计算机技术发展日新月异 传统的 C S结构 即Client Server 客户 机 服务器 结构 是大家熟知的软件系统体系结构 通过将任务合理分配到 Client端和Server端 降低了系统的通讯开销 可以充分利用两端硬件环境的 优势 而B S结构 即Browser Server 浏览器 服务器 结构 是随着Internet 技术的兴起 对C S结构的一种变化或者改进的结构 在这种结构下 用户界面 基于 C 图书馆管理系统的设计与实现 7 完全通过WWW浏览器实现 一部分事务逻辑在前端实现 但是主要事务逻辑在服 务器端实现 形成所谓3 tier结构 B S结构利用不断成熟和普及的浏览器技术 实现原来需要复杂专用软件才能实现的强大功能 并节约了开发成本 是一种 全新的软件系统构造技术 传统的C S体系结构虽然采用的是开放模式 但这 只是系统开发一级的开放性 在特定的应用中无论是Client端还是Server端都 还需要特定的软件 没能提供用户真正期望的开放环境 B S结构则不同 它 的前端是以TCP IP协议为基础的 企业内的WWW服务器可以接受安装有Web浏览 程序的Internet终端的访问 作为最终用户 只要通过Web浏览器 各种处理任 务都可以调用系统资源来完成 这样大大简化了客户端 减轻了系统维护与升 级的成本和工作量 降低了用户的总体拥有成本 4 24 2 技术可行性技术可行性 技术可行性是从前台和后台的开发工具选择上进行分析的 微软公司开 发的ASP NET远远超越了ASP及其它开发软件 同时也给Web开发人员提供了更好 的灵活性 有效缩短了Web应用程序的开发周期 而SQL Server 是Microsoft公 司开发的大型关系数据库管理系统 具有强大的关系数据库创建 开发 设计 和管理功能 其版本SQL Server2005将数据库与Internet紧密连接 可以通过 Web浏览器显示数据的操作 具有客户机 服务器的结构 SQL Server 2005 提 供了对分布式事务处理的支持 并对开发工具具有良好的支持 为大型数据库 项目提供了企业级解决方案 因此我们在图书馆管理系统中使用了在 NET环境基 于Web页面的B S服务模式 4 34 3 经济可行性经济可行性 在系统运行后的维护是非常重要的 并且其维护的费用还是很大的 如 果是一个Windows Form的管理系统 要对数据的维护将要付出很大的代价 而 且它的维护人员也比较的多和分散 因此对数据库的操作在各个时间段都是很 频繁的 人也很容易出现疲劳 问题也就会比较容易发生 但是我们现在用基 于Web的B S模型 我们修改数据的操作只在服务器端就可以了 而且它的人员 也比较集中 对数据的修改只是在某段时间内比较的频繁 过了这个时间后就 较轻松 所以人的精力也比较集中 那么数据库的操作也就不怎么会出现问题 因此在这方面的维护费用也大大的减少 4 44 4 操作环境及运行环境操作环境及运行环境 软件环境 操作系统 Windows XP 数据库 SQL Sverver 2005 前台 环境 Dreamweaver Visual Studio NET 硬件环境 Cpu Pentium 166 MHz 以上 内存至少128 MB 硬盘空间80 基于 C 图书馆管理系统的设计与实现 8 M 显示器800 600或更高分辨率 5 5 图书馆管理系统的设计 图书馆管理系统的设计 5 5 1 1 E RE R 图分析与设计图分析与设计 利用 ER 方法进行数据库的概念设计 可分成三步进行 首先设计局部 E R 模式 然后把各局部 E R 模式综合成一个全局模式 最后对全局 ER 模式进 行优化 得到最终的模式 即概念模式 5 5 1 1 1 1 设计局部设计局部 E RE R 模式模式 实体和属性的定义 图书 图书编号 图书名称 作者 出版社 出版日期 价格 借阅者 借书证号 姓名 性别 年级 密码 图书类别 图书类别编号 类别描述 ER 模型的 联系 用于刻画实体之间的关联 一种完整的方式是对局 部结构中任意两个实体类型 依据需求分析的结果 考察局部结构中任意两个 实体类型之间是否存在联系 若有联系 进一步确定是 1 N M N 还是 1 1 等 还要考察一个实体类型内部是否存在联系 两个实体类型之间是否存在联系 多个实体类型之间是否存在联系 等等 联系定义如图所示 解释如下 一个借阅者 用户 只能具有一种身份 而一种身份可被多个借阅者 所具有 一本图书只能属于一种图书类别 类别 而一种图书类别可以包含多 本图书 一个用户可以借阅多本不同的书 而一本书也可以被多个不同的用户 所借阅 5 5 1 1 2 2 设计全局设计全局 E RE R 模式模式 所有局部 E R 模式都设计好了后 接下来就是把它们综合成单一的全 局概念结构 全局概念结构不仅要支持所有局部 ER 模式 而且必须合理地表示 一个完整 一致的数据库概念结构 一 确定公共实体类型 为了给多个局部 E R 模式的合并提供开始合并的基础 首先要确定各 局部结构中的公共实体类型 在这一步中我们仅根据实体类型名和键来认定公 共实体类型 一般把同名实体类型作为公共实体类型的一类候选 把具有相同 键的实体类型作为公共实体类型的另一类候选 基于 C 图书馆管理系统的设计与实现 9 n 二 局部 E R 模式的合并 合并的原则是 首先进行两两合并 先和合并那些现实世界中有联系 的局部结构 合并从公共实体类型开始 最后再加入独立的局部结构 设计全局 E R 模式的目的不在于把若干局部 E R 模式形式上合并为一 个 E R 模式 而在于消除冲突 使之成为能够被所有用户共同理解和接受的同 一的概念模型 首先在该过程中发生的实体是图书信息和用户信息 他们之间产生的 关系是借阅关系 在这个借阅关系中 产生的对应关系为 图书信息 用户 1 1 用户 图书 1 N 从这个关系中我们可以看到 每一本图书只能被一 个读者借阅 而一个读者又可以借阅多本图书的这层关系 另外在上图中我们 可以看到图书信息和用户信息又有自己的一些关系属性 通过这些关系属性可 以唯一的区别这些实体 这在下面的图5 1 图5 6中可以看出 n n m m m n 图 5 1 总体 E R 属性图 m 用户 总管理员 图书 管理管理 管理员 ID 密码 图书 ID 书名用户 ID 密码 书库管理员 借阅 操作 图书事务处理 基于 C 图书馆管理系统的设计与实现 10 图书信息 图书编号条形码ISBN 号书 名 作 者 出版社 出版日期 译者 类型 图 5 2 图书属性图 借 阅 编 号图书编号读者编号 借阅日期 应还日期 图 5 3 借阅信息属性图 用 户 信 息 用户编号 所属年级 用户类别姓 名 性 别密 码 图 5 4 用户信息属性图 基于 C 图书馆管理系统的设计与实现 11 预约信息 读者编号 图书出版 社 图书作者 ISBN 号 书目名称 图 5 5 预约信息属性图 推荐信息 图书名 称书目编号读者编号 作 者 ISBN 号码 书库 图 5 6 推荐信息属性图 由于概念设计的结果是E R图 DBMS一般采用关系型 该系统所使用的 MS SQL Server就是关系型的DBMS 因此数据库的逻辑设计过程就是把ER图转 化为关系模式的过程 由于关系模型所具有的优点 逻辑设计可以充分运用关 系数据库规范化理论 使设计过程形式化地进行 导出系统主要的初始关系模 式如图所示 基于 C 图书馆管理系统的设计与实现 12 图 5 7 关系模型 5 25 2 数据表的创建数据表的创建 我们可以设计出了后台数据库的各个数据表 如表5 1 表5 10所示 表5 1 管理员表 字段代号字段类型字段长度是否可以为空备注 Admin no 关键 字 Nvarchar16 否管理员编号 Admin pwdNvarchar16 可以为空管理员密码 Admin nameNvarchar4 否管理员名称 Admin uppowerNvarchar20 否管理员权限 表5 2 借书表 字段代号字段类型字段长度是否可以为空备注 Duzhe noNvarchar50 否读者编号 Book noNvarchar50 否图书编号 Book nameNvarchar50 否图书名称 Borrow da te Datetime8 可以为空借书日期 Back dateDatetime8 可以为空归还日期 Pass dateInt4 可以为空超期天数 moneyMoney8 可以为空欠款数目 表5 3 图书表 基于 C 图书馆管理系统的设计与实现 13 字段代号字段类型字段长度是否可以为空备注 Book no 关键 字 Nvarchar20 否图书编号 Book nameNvarchar100 否图书名称 Book zuozheNvarchar50 否图书作者 Book chubansheNvarchar50 否图书出版社 Book outdayDatetime8 否图书出版日 期 Book priceInt4 否图书价格 ISBNNvarchar10 否图书ISBN号 Lib departmentNvarchar50 否图书所属书 库 Book arrivedayDatetime8 否图书到馆日 期 Book stateNvarchar10 可以为空图书在馆状 态 表5 4读者表 字段代号字段类型字段长度是否可以为 空 备注 Duzhe no 关键 字 Nvarchr50 否读者编号 Duzhe nameNvarchr50 否读者名称 Sexbit1 否读者性别 Duzhe departme nt Nvarchr50 否读者所属学 院 uppowerNvarchr50 否读者权限 Duzhe pwdNvarchr50 可以为 空 读者密码 表5 5 公告表 字段代号字段类型字段长度是否可以为空备注 IdNvarchar50 否编号 基于 C 图书馆管理系统的设计与实现 14 ZhutiNvarchar100 否主题 TimeDatetime8 否时间 NeirongNvarchar200 否内容 表5 6 权限表 字段代号字段类型字段长度是否可以为空备注 Jibie noInt4 否级别编号 Jibie nameNvarchar50 否级别名称 Borrow numb er int4 否借书数目 表5 7 权限记录表 Jibie noJibie nameBorrow number 1 图书馆总管 15 2 书库管理员 10 3 教师 8 4 学生 5 5 其他 3 表5 8 留言表 字段代号字段类型字段长度是否可以为空备注 Duzhe noNvarchar50 否读者编号 ZhutiNvarchar200 否留言主题 LeirongNvarchar4000 否留言内容 timeDatetime8 否留言时间 表5 9 推荐表 字段代号字段类型字段长度是否可以为 空 字段名称 Duzhe noNvarchar16 否读者编号 Book nameNvarchar50 否图书名称 Book chubansNvarchar50 可以为空图书出版社 基于 C 图书馆管理系统的设计与实现 15 he Book zuozheNvarchar50 可以为空图书作者 ISBNnvarchar50 可以为空ISBN号码 表5 10 预约表 字段代号字段类型字段长度是否可以为 空 备注 Duzhe noNvarchar50 否读者编号 Book noNvarchar50 否图书编号 Book nameNvarchar50 否图书名称 Book zuozheNvarchar50 可以为空图书作者 ISBNNvarchar50 可以为空ISBN号码 Lib departme nt Nvarchar50 可以为空所属书库 5 35 3 系统设计模块系统设计模块 图书借阅 图书归还 图书续借 图书预约 管 理 员 登 录 读 者 登 录 图书罚款 借阅查询 归还查询 超期查询 档案查询 读者类型设 置 读者档案管 理 过期续借管 理 图书类型 出版社管理 图书注销 图书征订 读者管理图书管理登 录图书流通管理统计分析 图书馆管理系统模块 基于 C 图书馆管理系统的设计与实现 16 6 6 图书馆管理系统的开发 图书馆管理系统的开发 6 16 1 读者读者登录界面设计登录界面设计 在主界面中 我们首先要体现的是对整个系统功能有一个具体的显示 因此我们在设计时要对各个子系统的登录链接要存在控件 当我们从登录窗体输入读者的编号和密码时 则进入读者信息查看界面 图6 1 登录界面 在设计中用到的控件如表6 1所示 上面的页面为读者的登录界面 在这个的登录的过程中 对 登录 按钮的数据库连接代码实现为 string strconn ConfigurationSettings AppSettings dsn 从文件 Web config 中取连接字符串 SqlConnection cn new SqlConnection strconn 连接本地计算机的 2 数据库 cn Open 打开数据库连接 string mysql select duzhe no duzhe pwd from duzhe where duzhe no tbx no Text and duzhe pwd tbx pwd Text 创建SQL语句 检查duzhe表中的编号和密码是否正确 SqlCommand cm new SqlCommand mysql cn 创建 Command 对象 基于 C 图书馆管理系统的设计与实现 17 SqlDataReader dr cm ExecuteReader 执行 ExecuteReader 方 法 if dr Read 若成功登录 Session duzhe no dr duzhe no ToString 用 Session 进行传值操作 Session duzhe pwd dr duzhe pwd ToString Response Redirect view duzhe aspx else lbl message Text 系统没有这个用户名或者密码有误 若登录失败 tbx no Text tbx pwd Text 当读者输入读者的学号和密码后 经过 登录 按钮对数据库系统数 据的核对 判断系统中是否存在该读者的学号 查看读者的基本信息和图书借 阅信息 还可以对密码的修改 此界面所用到的数据库duzhe表 图6 2读者信息界面 在这个页面设计用到的控件 如表6 2所示 表6 2读者信息界面控件 控件名称控件 ID说明 Label1Label1 编号 Label2Label2 姓名 Label3Label3 性别 Label4Label4 所属年级 Button1Button1 借阅信息 控件名称控件 ID说明 labblelbl name 姓名显示 基于 C 图书馆管理系统的设计与实现 18 labblelbl sex 性别显示 labblelbl dep 年级显示 DataGridDataGrid1 数据库连接窗口显示 Button2Button2 修改密码 labblelbl no 编号显示 通过上面的 按钮 代码运行后 当我们成功登录后 便跳转到了下 面的读者基本信息查看界面 在这个界面中 我们可以看到其中的读者编号 姓名 性别 所属年级等信息都是只读的 这个功能的实现主要是在程序中我 们通过了Session的传值功能实现的 另外在设计该界面时 为了体现设计的紧 凑及信息显示的连贯性 在界面中 我们添加了一些其它信息调用按钮 点击 其中的 借阅 按钮 在下面的DataGrid中便可以显示出该读者当前的借阅信 息 再一个就是读者可以对自己的密码进行修改 这通过 修改密码 按钮来 实现的 点击后进入密码修改界面 要对读者的密码进行修改 我们普通的设计就是首先要验证输入的原 密码 然后输入新密码 如果 新密码 框的输入符合规则且和 确认新密码 框的密码值是同样的 那么 确定 后便对密码进行了修改 图6 3 读者密码修改页面 读者密码修改的源代码 string strconn ConfigurationSettings AppSettings dsn SqlConnection cn new SqlConnection strconn 连接本地计算机的LMS数据库 cn Open 构造SQL语句 该语句在Users表中检查用户名和密码是否正 确 string mysql select duzhe no duzhe pwd from duzhe where duzhe no lbl no Text and duzhe pwd tbx pwd Text SqlCommand cm new SqlCommand mysql cn 创建Command对 基于 C 图书馆管理系统的设计与实现 19 象 SqlDataReader dr cm ExecuteReader 执行ExecuteReader 方 法 if dr Read SqlConnection cn1 new SqlConnection strconn 修改密 码 cn1 Open string chsql update duzhe set duzhe pwd tbx newpwd Text where duzhe no no SqlCommand cm1 new SqlCommand chsql cn1 cm1 Parameters Add no SqlDbType NVarChar cm1 Parameters no Value lbl no Text ToString cm1 ExecuteNonQuery cn1 Close lbl message Text 密码修改成功 请返回后验证新 else lbl message Text 对不起 您输入的原密码不正确 请重新输入 读者如果要查询书目 可以在此窗口中查询 有两种匹配模式 完全匹配 和模糊匹配 单击确定进入需要界面 在上面的图书检索界面中 我们看到的只 是一个简单的查询功能 读者首先要在查询类型的下拉框中选择是按哪种查询 方式进行查询 然后输入这种方式的查询内容 最后选择到底是按 完全匹配 模式还是 模糊匹配 模式对数据进行查询 当选择 模糊匹配 时 在查找 到的数据中只要包含了内容输入框中的字符便可以查找出来 这样找到图书数 可能很多 读者自己在其中选择自己所要的图书 但当是 完全匹配 模式时 查找到的结果必须和内容输入框的字符要完全匹配才可以找到 不然的话 是 找不到图书查询结果的 基于 C 图书馆管理系统的设计与实现 20 图 6 4 简单图书查询界面 在此过程的界面中 用到数据库中的book表 在设计中用到的控件如表5 3所示 表6 3图书查询界面控件 控件名称控件 ID说明 LinkButtonLinkButton1 链接按钮 ButtonButton1 确定按钮 HtmlTableTable1 信息提示 HtmlTableTABLE2 信息提示 HtmlTableTable3 信息提示 DropDownListddl pp 查询类型下拉菜单 DropDownListddl lx 查询模式下拉菜单 TextBoxtbx 查询内容文本框 DataGridDataGrid1 数据库连接 在此过程的界面中 用到数据库中的 book 表 对图书查询按钮后台代 码的实现过程为 string strconn ConfigurationSettings AppSettings dsn 基于 C 图书馆管理系统的设计与实现 21 从文件 Web config 中读取连字符串 SqlConnection cn new SqlConnection strconn 连接本地计算机的 2 数据库 cn Open string mysql select book no book name ISBN book zuozhe book chubanshe lib department from book where 1 1 构造具有各个文本框选择功能的查询语 句 if tbx no Text ToString 当图书编号文本框不为空时 mysql mysql and book no tbx no Text ToString if tbx name Text ToString 当图书名称文本框不为空时 mysql mysql and book name like tbx name Text ToString if tbx isbn Text ToString 当ISBN文本框不为空时 mysql mysql and ISBN tbx isbn Text ToString if tbx zuozhe Text ToString 当作者文本框不为空时 mysql mysql and book zuozhe like tbx zuozhe Text ToString if tbx chubanshe Text ToString 当出版社文本框不为空时 mysql mysql and book chubanshe like tbx chubanshe Text ToString if tbx dep Text ToString 当图书所属书库不为空时 mysql mysql and lib department like tbx dep Text ToString SqlDataAdapter da new SqlDataAdapter mysql cn 执行SQL语句 DataSet ds new DataSet 创建 DataSet 对象 da Fill ds 填充 DataSet 对象 DataGrid1 DataSource ds DataGrid1 的数据源 DataGrid1 DataBind 对 DataGrid1 进行绑定 cn Close 关闭数据库连接 另外一种对图书的查询功能就是高级查询 在高级查询中 我们可以 根据条件的不同动态的更改查询的结果 这样的查询功能是非常的好 其界面 的显示为下图 基于 C 图书馆管理系统的设计与实现 22 图6 5 高级查询界面 6 26 2 预约图书界面设计预约图书界面设计 图书馆的预约界面 在这个界面中 我们同样是要对读者的信息进行验 证 只有通过了的读者才可以对图书的预约 如果读者输入的信息不正确 那 么系统会提示读者重新检查所输入的信息 要是读者输入的信息通过了检查 那么系统就会在查询图书框的下面显示出一个 查询 按钮 通过这个按钮 我们就可以进行其它的一些操作了 包括图书的查询 对图书的预约等 当读 者想要借的图书被别人借走后 读者可以通过此界面 输入图书的相关信息 单击 确定 进行预约 通过对图书的查询 显示所有的图书 我们便可以预约图书 图6 6预约界面 在此过程中 用到数据库中的 yuyue 表 其中 DataGrid 中的 预约图 书 按钮相关源代码 public void DataGrid Delete object sender DataGridCommandEventArgs E 对预约列 string strconn ConfigurationSettings AppSettings dsn 数据库的连接 SqlConnection cn new SqlConnection strconn cn Open string delsql insert into yuyue duzhe no book no book name book zuozhe ISBN lib department yysj 基于 C 图书馆管理系统的设计与实现 23 values duzhe no book no name zuozhe ISBN dep yysj SQL 的预约语句 SqlCommand cm new SqlCommand delsql cn cm Parameters Add duzhe no SqlDbType NVarChar 对读者编号进行参数化 cm Parameters duzhe no Value tbx duzhe no Text ToString 对读者编号进行赋值 cm Parameters Add book no SqlDbType NVarChar 对图书编号进行参数化 cm Parameters book no Value E Item Cells 0 Text ToString cm Parameters Add name SqlDbType NVarChar 对图书名称进行参数化 cm Parameters name Value E Item Cells 1 Text ToString cm Parameters Add zuozhe SqlDbType NVarChar 对图书作者进行参数化 cm Parameters zuozhe Value E Item Cells 2 Text ToString cm Parameters Add ISBN SqlDbType NVarChar 对 ISBN 号码进行参数化 cm Parameters ISBN Value E Item Cells 3 Text ToString cm Parameters Add dep SqlDbType NVarChar 对所属书库进行参数化 cm Parameters dep Value E Item Cells 4 Text ToString cm Parameters Add yysj SqlDbType NVarChar 对借书时间进行参数化 cm Parameters yysj Value System DateTime Today 读取系统当前的时间 cm ExecuteNonQuery lbl note Text 图书预约成功 6 36 3 催还图书界面设计催还图书界面设计 该界面主要是如果有些读者借的书已经超过了图书借阅日期 那么该读 者的编号及所借的图书将会显示在此界面上 图 6 7 图书催还 基于 C 图书馆管理系统的设计与实现 24 6 46 4 图书馆总管理员图书馆总管理员 管理员分为图书馆总管理员 权限为1 和图书管理员 权限为2 以不同权 限登录 实现的功能和操作不同 这个过程用到数据表中的admin表 图6 8 管理员登录界面 当我们在登录界面中输入的是图书馆总管的用户名和密码 那么我们进 入的将是上面的管理员界面 在这个管理员界面中 我们设定的默认的页面为 对读者信息的管理 对于其中的记录集显示 使用了分页的显示的功能 通过 下面的数字分页按钮 可以继续显示下面的记录集 这不仅避免了由于记录集 过多在单个页面显示不容易查看的麻烦 而且在核对信息时也是非常方便的 另外 我们还可以使用其中的查询功能 当我们要具体的查找某个学生 时 若通过页面直接查看是很浪费时间的 而通过查询功能去实现是很便捷的 再一个功能就是我们可以在这个页面中对每个记录集进行 编辑 和 删除 在这里 删除 时的操作也就是直接对数据库中的记录集进行了删除操作 编 辑时则是有一点区别的 当我们点击 编辑 时 所选择的该行回变为一个文 本编辑框 在每一列的文本框中 我们可以修改它们的值 如果想要对所修改 的值进行保存 选择 更新 按钮即可 若不保存的话 则选择 取消 按钮 放弃对文本框的修改 图6 9 图书馆总管理员界面 读者信息管理 基于 C 图书馆管

温馨提示

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

评论

0/150

提交评论