图书管理系统(管理员+用户)(C# .NET Winform + MySQL)

一、题设

设计一个小型书籍管理系统,可以实现书籍的查询、添加、修改和删除功能及书籍的外借和归还功能。要求数据库系统使用SQL Server、MySQL等商用数据库,系统功能分为管理员子系统和普通用户子系统。
功能包括但不限于:
管理员:实现对图书的增、删、改、查,对所有借阅历史的搜索及所有账户的信息,用户的权限与管理,设定密码,借阅图书(包括借书和还书)及对自己账户的资料修改;
用户:实现对图书的借阅功能(包括借书和还书)、查看自己的借阅历史,在用户账户方面实现修改密码以及修改个人信息功能。

① 数据库设计

首先基于Mysql数据库,向数据库中添加图书管理系统的数据内容以备后续测试使用。数据库主要分为四个表(如图所示),分别存放了图书类别、图书信息、借还记录以及用户信息。详细设计及数据库在工程文件的mysql文件夹下有sql备份文件。
在这里插入图片描述

② 数据库与系统的连接设计

在项目中存在一个DB类,该类用以进行数据库的连接,该类封装了与Mysql的连接方法,可以在程序中实例化后进行调用。
若后续程序改用其他类型的数据库,只需要在DB类中修改连接方式,并修改数据库语句即可。
在这里插入图片描述

③ 功能实现 与 类图

具体实现方法可见源代码:

https://github.com/VastCosmic/BookSystemVC
  1. 登录相关类包含一个Login类,该类封装了用户登录以及用户注册的方法,该类中会实例化DB类,查询数据库中用户信息并检查,合法后准许登录,同时提供了用户注册的窗口
  2. 主界面窗口中完成了程序的单击按钮的事件及其方法,通过单击不同的按钮调用不同的方法,以达到图书馆管理系统的不同的功能的实现。主界面窗口中有5个TABPAGE,分别为欢迎界面、图书查询界面、图书借还界面、账户管理界面以及图书管理界面。
    在用户登录时,会对用户权限进行检查,并将是否为管理员的检查结果传值给MAINFORM,主界面中会根据权限,判断是否启用管理员才能进行使用的功能,若用户是管理员,则对应的功能界面将会被启用,并将暗色处理点亮。默认为禁用状态。
    对应许多不同的功能会对应不同的窗口,主界面将会采用弹窗的方式启动新的窗口完成不同的功能,以避免主界面的臃肿。在新窗口弹出时,主界面不可被操作。
  3. Book及其相关类实现了对书籍的查询、借还功能。
    图书的唯一标识即为书号,同样的书的不同书号,代表不同本同样的书。
    查询模块中,可以按照作者、书号、书名、类别等不同进行查询,同时支持了模糊查询,使查询更加便捷。
    借还模块中,会根据图书状态进行禁用借书或还书按钮,并灰度处理,避免出现问题
  4. 图书借还类实现了对图书的借阅与归还,并将方法提供给主界面窗口进行调用。
  5. 图书信息修改类实现了对图书信息的修改、对图书的添加、对图书的删除的功能。该类的功能需要验证管理员权限才可使用。
  6. 其他功能窗口
    用户信息及其相关窗口类可以实现对用户信息的展示、用户密码修改、用户信息修改、退出登录。
    若用户为管理员,类还将提供所有用户的信息的展示、以及对其他用户的管理员权限的修改的方法。

类图

④ 其他

如有相关问题请在github上提出

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值