# 面向对象大作业-图书馆管理系统设计方案
选题信息
- 选题名称:图书馆管理系统
- 组员名单:组长:吴雨桦
组员:宫静茹、黄一华 - 技术栈:Java + 控制台界面 + 文件存储
- 开发工具:IntelliJ IDEA Community Edition 2025.2.1
-deepseek辅助编写
1. 选题与前期调查
想要做什么
我们计划开发一个图书馆管理系统,主要用于模拟图书馆的日常管理工作。系统将实现图书的借阅、归还、查询等核心功能,帮助图书馆管理员高效管理图书资源和学生借阅信息。
别人是怎么做的
我们参考了以下已有的图书馆管理系统:
-
网络17-购物车-面向对象设计
- 特点:清晰的类分层,良好的面向对象设计
[https://www.cnblogs.com/liu601525221/p/9786482.html]
- 特点:清晰的类分层,良好的面向对象设计
-
图书馆管理系统案例
-
学校图书馆实际系统
- 观察学校图书馆管理系统的功能模块和操作流程
[https://lib-443.webvpn.jmu.edu.cn/]
- 观察学校图书馆管理系统的功能模块和操作流程
准备实现哪几部分
基于我们的技术水平和时间限制,我们计划分阶段实现:
核心功能:
- 图书信息管理(添加、删除、修改、查询)
- 学生信息管理
- 图书借阅功能
- 图书归还功能
- 数据持久化(文件存储)
2. 系统功能设计
系统所要实现的功能
功能1:图书管理模块
- 添加新图书(图书编号、书名、作者、出版社)
- 删除图书(按编号删除)
- 修改图书信息
- 查询图书(按书名、作者、编号查询)
功能2:学生管理模块
- 学生信息注册
- 学生信息维护
- 学生借阅情况查询
功能3:借阅管理模块
- 图书借出(检查图书是否可借)
- 图书归还(更新图书状态)
- 借阅记录生成与维护
数据如何存储
存储方案:
- 主要存储:使用txt文件进行数据持久化
- 内存缓存:程序运行时在内存中维护数据对象
- 文件结构:
books.txt- 存储图书信息students.txt- 存储学生信息records.txt- 存储借阅记录
界面设计
界面类型:控制台界面(Console UI)
菜单结构:
=== 图书馆管理系统 ===
图书管理
→ 1.1 添加图书
→ 1.2 删除图书
→ 1.3 修改图书
→ 1.4 查看所有图书
学生管理
→ 2.1 添加学生
→ 2.2 查看所有学生
借书操作
还书操作
查询图书
查看借阅记录
退出系统
3. 面向对象设计
核心类设计
我们决定设计6个核心类来体现面向对象思想:
-
Book类 - 图书实体类
- 职责:封装图书属性和基本操作
- 属性:编号、书名、作者、出版社、借阅状态
- 方法:getter/setter、toString重写
-
Student类 - 学生实体类
- 职责:管理学生信息和借阅关系
- 属性:学号、姓名、班级、已借图书列表
- 方法:借书、还书、借阅检查
-
BorrowRecord类 - 借阅记录类
- 职责:记录借还书操作
- 属性:记录号、学号、图书号、借书时间、还书时间
- 方法:日期格式化显示
-
LibraryManager类 - 业务逻辑类
- 职责:实现核心业务规则
- 方法:借书、还书、查询、数据验证
-
LibrarySystem类 - 用户界面类
- 职责:处理用户交互
- 方法:菜单显示、输入处理、功能调用
-
FileUtil类 - 数据持久化类
- 职责:文件读写操作
- 方法:数据保存、数据加载、格式转换
4. 团队分工计划
分工原则
- 工作量均衡:每个成员负责2个核心类
- 技术难度相当:数据模型+功能类的组合
- 协作紧密:成员间有明确的接口依赖
具体分工
宫静茹 - 界面与数据模型
- 负责类:
Book、LibrarySystem - 具体任务:
- 设计图书数据模型和属性
- 实现主菜单系统和用户界面
- 处理用户输入和输出显示
- 系统整体集成和测试
- IntelliJ IDEA相关:配置项目结构,创建主类
吴雨桦 - 业务逻辑核心
- 负责类:
Student、LibraryManager - 具体任务:
- 设计学生数据模型和借阅关系
- 实现借书还书的核心业务逻辑
- 编写数据验证和错误处理
- 定义业务规则和状态管理
- IntelliJ IDEA相关:配置JUnit测试,代码调试
黄一华 - 数据持久化与记录管理
- 负责类:
BorrowRecord、FileUtil - 具体任务:
- 设计借阅记录数据结构
- 实现文件读写和数据持久化
- 处理数据格式转换和异常
- 管理借阅历史记录
- IntelliJ IDEA相关:Git版本控制管理,代码规范检查
浙公网安备 33010602011771号