一、设计要求
学生图书管理系统主要提供了以下功能:
用户注册
用户可以通过输入学号、密码和姓名进行注册,注册成功后,用户信息将被保存。
用户登录
用户可以通过输入学号和密码进行登录,登录成功后根据用户角色进入不同的菜单。学号为"admin"的用户为管理员,其余为普通用户。
用户登出
用户可以在登录后选择登出,登出后系统将返回主菜单。
管理员菜单
录入图书:管理员可以输入图书编号、名称、作者和出版社,添加新书到系统中。
修改图书信息:管理员可以通过图书编号查找并修改图书的名称、作者和出版社信息。
删除图书:管理员可以通过图书编号删除图书。
查询图书:管理员可以通过图书编号或名称查询图书信息。
统计功能:管理员可以输入图书名称,统计该图书的总数量、已借阅数量和可用数量。
用户登出:管理员可以选择登出并返回主菜单。
用户菜单
借阅图书:普通用户可以通过图书编号借阅图书,系统会记录借阅信息。
查询图书:普通用户可以通过图书编号或名称查询图书信息。
修改密码:普通用户可以修改自己的登录密码。
用户登出:普通用户可以选择登出并返回主菜单。
系统退出
用户可以在主菜单选择退出系统,结束程序运行。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 图书 ” 获取,拿来即用。👈👈👈
二、设计思路
代码设计思路分析
该代码实现了一个学生图书管理系统,包含管理员和普通用户两种角色,并提供了多种功能模块。代码设计分为几个主要部分:系统初始化、用户注册和登录、管理员功能、用户功能以及主程序运行。以下是详细的设计思路分析:
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 图书 ” 获取,拿来即用。👈👈👈
1. 系统初始化
功能描述:初始化系统,设置图书和用户数据结构。
class LibrarySystem: def __init__(self): self.books = {} self.users = {} self.logged_in_user = None
self.books
:存储图书信息的字典。self.users
:存储用户信息的字典。self.logged_in_user
:存储当前登录用户的信息。
2. 用户注册和登录
功能描述:提供用户注册、登录和登出功能。
def register(self): student_id = input("请输入学号: ") if student_id in self.users: print("学号已存在。") else: password = input("请输入密码: ") name = input("请输入姓名: ") self.users[student_id] = {"student_id": student_id, "password": password, "name": name} print("注册成功。") # 代码略(至少十行)... # 代码略(至少十行)... else: print("学号或密码错误。") def logout(self): self.logged_in_user = None print("登出成功。")
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 图书 ” 获取,拿来即用。👈👈👈
- register:用户注册,检查学号是否存在,保存新的用户信息。
- login:用户登录,验证学号和密码,区分管理员和普通用户,调用相应菜单。
- logout:用户登出,清除当前登录用户信息。
3. 管理员功能
功能描述:提供管理员对图书的管理功能,包括录入、修改、删除、查询图书及统计功能。
def admin_menu(self): while True: print("\n管理员菜单") # 显示管理员操作选项 choice = input("请选择操作: ") if choice == "1": self.add_book() # 代码略(至少十行)... # 代码略(至少十行)... elif choice == "6": self.logout() break else: print("无效选择,请重新选择。")
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 图书 ” 获取,拿来即用。👈👈👈
- admin_menu:显示管理员菜单,提供各项操作选项。
- add_book:录入新图书信息。
- modify_book:修改已有图书信息。
- delete_book:删除图书信息。
- query_book:查询图书信息,通过编号或名称查询。
- statistics:统计图书总数量、已借阅数量和可用数量。
4. 用户功能
功能描述:提供普通用户借阅图书、查询图书和修改密码功能。
def user_menu(self): while True: print("\n用户菜单") # 显示用户操作选项 choice = input("请选择操作: ") if choice == "1": self.borrow_book() elif choice == "2": self.query_book() elif choice == "3": self.change_password() elif choice == "4": self.logout() break else: print("无效选择,请重新选择。")
user_menu
:显示用户菜单,提供各项操作选项。borrow_book
:用户借阅图书,更新图书的借阅信息。change_password
:用户修改密码。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 图书 ” 获取,拿来即用。👈👈👈
5. 主程序运行
功能描述:主程序入口,提供系统操作的主菜单。
def run(self): while True: print("\n欢迎使用学生图书管理系统") # 显示系统操作选项 choice = input("请选择操作: ") if choice == "1": # 代码略(至少十行)... # 代码略(至少十行)... break else: print("无效选择,请重新选择。") if __name__ == "__main__": system = LibrarySystem() system.run()
run
:主程序入口,提供用户注册、登录和退出系统选项。- 主程序启动
LibrarySystem
实例并运行。
- 系统初始化:设置图书和用户数据结构。
- 用户注册和登录:提供注册、登录和登出功能。
- 管理员功能:录入、修改、删除、查询图书及统计功能。
- 用户功能:借阅图书、查询图书和修改密码功能。
- 主程序运行:提供系统操作的主菜单,启动系统。
通过上述设计,该代码实现了一个功能完整的学生图书管理系统,具有良好的用户交互体验和易于维护的代码结构。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 图书 ” 获取,拿来即用。👈👈👈
三、可视化分析
管理员——账号注册
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 图书 ” 获取,拿来即用。👈👈👈
管理员——录入图书
管理员——查询图书
管理员——统计功能
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 图书 ” 获取,拿来即用。👈👈👈
管理员——删除图书
管理员——修改图书信息
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 图书 ” 获取,拿来即用。👈👈👈
用户——注册
用户——登录
用户——查询图书
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 图书 ” 获取,拿来即用。👈👈👈
用户——借阅图书
用户——修改密码
用户——用户登出
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 图书 ” 获取,拿来即用。👈👈👈