图书管理系统(管理员+用户)(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. 图书借还类实现了对图书的借阅与归还,并将方法提供给主界面窗口进行调用。
  4. 图书信息修改类实现了对图书信息的修改、对图书的添加、对图书的删除的功能。该类的功能需要验证管理员权限才可使用。
  5. 其他功能窗口 用户信息及其相关窗口类可以实现对用户信息的展示、用户密码修改、用户信息修改、退出登录。 若用户为管理员,类还将提供所有用户的信息的展示、以及对其他用户的管理员权限的修改的方法。

④ 其他

如有相关问题请在github上提出
经验分享 程序员 微信小程序 职场和发展