课程设计

news/2025/11/10 16:04:13/文章来源:https://www.cnblogs.com/vvX1nJ/p/19207306

面向对象大作业课程设计初步选题

选题名称:简易图书借阅管理系统

**博客链接****:https://www.cnblogs.com/vvX1nJ/p/19207306

组员名单:王鑫杰


博客内容

1. 我使用了什么AI工具辅助选题

在本次选题过程中,我主要使用了 DeepSeek 辅助完成。

  • DeepSeek:基于"需要包含管理员和学生角色"的要求,生成了多个方案选项,如"图书借阅系统"、"实验室设备借用系统"等。最终选定"简易图书借阅管理系统",因为它角色清晰、业务流程明确,且能很好地体现面向对象中的继承、多态、封装等概念。

2. 选题与前期调查

想要做什么
我想要开发一个简易图书借阅管理系统。该系统模拟小型图书馆的基本业务流程,包含管理员和学生两种角色。管理员负责管理图书信息和学生账户,学生可以查询图书、借阅图书、归还图书。

别人是怎么做的

  • 大学图书馆系统:功能完善但复杂,如汇文系统。我将参考其核心的借还书流程。
  • 小型图书管理软件:如"晨光图书管理系统",功能相对简单,适合小规模使用。
  • 开源项目:GitHub上有许多简单的图书馆管理系统,大多使用Spring Boot开发,但我的版本会更简化。
    • 参考链接:https://github.com/topics/library-management-system

准备实现哪几部分
考虑到单人开发,我专注于最核心的功能:

  1. 用户管理模块:学生注册登录、管理员账户管理。
  2. 图书管理模块:图书信息的增删改查。
  3. 借阅管理模块:借书、还书、查看借阅记录。

3. 系统功能设计

系统角色

  • 学生(Student):查询图书、借阅图书、归还图书、查看个人借阅记录
  • 管理员(Admin):管理所有图书(添加、删除、修改)、管理学生账户、查看所有借阅记录

系统所要实现的功能

  • 功能1:用户认证与权限管理

    • 学生使用学号和密码登录
    • 管理员使用管理员账号登录
    • 根据不同角色显示不同的功能菜单
  • 功能2:图书信息管理(管理员)

    • 添加新书(书号、书名、作者、出版社、总数、可借数)
    • 修改图书信息
    • 删除图书
    • 查看所有图书
  • 功能3:学生账户管理(管理员)

    • 查看所有学生账户
    • 重置学生密码
    • 禁用/启用学生账户
  • 功能4:图书查询与借阅(学生)

    • 按书名、作者查询图书
    • 查看图书详情和可借状态
    • 借阅图书(检查可借数、更新库存)
    • 归还图书(更新库存)
  • 功能5:借阅记录查询

    • 学生查看自己的借阅记录
    • 管理员查看所有借阅记录

4. 准备使用哪些Java生态的的第三方工具

  • 构建工具:Maven
  • JSON处理:Jackson(用于数据序列化到文件)
  • 密码加密:Apache Commons Codec(用于MD5加密密码)
  • 单元测试:JUnit 5
  • 代码质量:阿里巴巴Java开发规范插件

5. 数据如何存储

使用文件存储方式,分为多个JSON文件:

  • students.json - 存储学生信息(学号、密码、姓名、状态等)
  • admins.json - 存储管理员信息
  • books.json - 存储图书信息(书号、书名、作者、总数、可借数等)
  • borrow_records.json - 存储借阅记录(记录ID、学号、书号、借书时间、应还时间、状态等)

程序启动时加载所有数据到内存,操作在内存中进行,退出时保存到文件。

6. 界面

采用控制台(Console) 界面,通过清晰的菜单导航:

=== 图书借阅管理系统 ===
1. 学生登录
2. 管理员登录
3. 退出请选择:

7. 开发工具

  • IDE:IntelliJ IDEA
  • 版本控制:Git (Gitee)
  • 测试工具:JUnit 5
  • 代码规范:阿里巴巴Java开发规范IDE插件
  • AI工具:DeepSeek (辅助代码编写和调试)

核心类设计预览

// 用户基类
abstract class User {private String username;private String password;private String role;// getter/setter...
}// 学生类
class Student extends User {private String studentId;private String name;private boolean active;// getter/setter...
}// 管理员类  
class Admin extends User {private String adminId;// getter/setter...
}// 图书类
class Book {private String bookId;private String title;private String author;private int totalCount;private int availableCount;// getter/setter...
}// 借阅记录类
class BorrowRecord {private String recordId;private String studentId;private String bookId;private Date borrowDate;private Date dueDate;private String status; // "借阅中"/"已归还"// getter/setter...
}

课程设计规范自查表

序号 自查项目 负责人
1 代码:编码规范(类、属性、方法、变量命名)、代码格式化 王鑫杰
2 代码:是否去除了IDE中的警告、包的划分 王鑫杰
3 代码:代码是否滥用了super() 王鑫杰
4 代码:如果使用了Map,请说明为何使用Map 王鑫杰
5 代码:说明如何管理借阅记录的状态变更 王鑫杰
6 博客、PPT:UML图、功能结构图与流程图的绘制 王鑫杰
7 设计:按照面向对象设计建议进行检查 王鑫杰

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/961501.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年尼龙共挤膜直销厂家权威推荐:五层共挤膜/洁净尼龙多层共挤膜/无菌设备保护套厂家精选

在高端包装材料领域,尼龙共挤膜凭借其高阻隔性、强韧度与优良的耐穿刺性能,已成为医疗器械无菌包装、食品保鲜、精密电子防护等行业不可替代的关键材料。行业数据显示,高性能多层共挤膜的应用可使产品保质期延长30%…

2025年全封闭超声波清洗机制造企业权威推荐榜单:零排放清洗机/蒸馏回收机/双溶剂清洗机源头厂家精选

在工业清洗环保要求日益严格与清洁度标准持续提升的背景下,全封闭超声波清洗技术凭借其高效洁净、溶剂回收与环保合规等优势,正成为精密制造领域的关键工艺装备。根据市场调研数据显示,全球工业清洗设备市场规模正以…

【RK3568 NPU实战】别再闲置你的NPU!手把手带你用迅为资料跑通Android AI检测Demo,附完整流程与效果

【RK3568 NPU实战】别再闲置你的NPU!手把手带你用迅为资料跑通Android AI检测Demo,附完整流程与效果【RK3568 NPU实战】别再闲置你的NPU!手把手带你用迅为资料跑通Android AI检测Demo,附完整流程与效果 各位大佬们…

智能守护绿水青山:视频融合平台EasyCVR在森林防火监控中的实战应用

森林火灾突发性强、破坏性大,传统人工巡检方式效率低、风险高。随着“智慧林业”建设的推进,技术防控成为关键。本文将深入解析EasyCVR视频融合平台如何通过强大的设备接入、视频整合与AI智能分析能力,构建全天候、…

微算法科技(NASDAQ MLGO)将租赁权益证明(LPoS)共识算法与零知识证明结合,实现租赁代币的隐私保护

在私有区块链生态的演进中,租赁权益证明(LPoS)通过代币租赁模式打破了传统权益证明(PoS)的参与壁垒,使中小持有者得以介入共识体系。然而随着应用场景向金融清算、供应链金融等敏感领域延伸,租赁过程中的数据隐…

在 Java 中实现插件化:使用 PF4J 的实战指南

当应用需要“按需扩展、低耦合演进、隔离第三方代码、甚至在线启停模块”时,插件化是最直接有效的架构手段。本文将以 PF4J(Plugin Framework for Java)为主线,从概念到实践、从工程结构到最佳实践,带你快速落地一…

【SKILL】Layer Size

通常对一个Via做处理,如果是长孔改小孔,可以直接改bBox,那如果是方孔改大小,可以用如下函数 1:dbLayerSize(cv “VIA1” list(css()) 0.01)其中argu3必须是个List,同步会生成一个新的VIA1,再删除原来的shape,…

中标喜报 | 璞华大数据中标成都苑东生物项目:制药设备管理数字化再树标杆

继 2025 年 10 月斩获双重行业重磅认可 —— 当选中国技术市场协会数智技术专业委员会委员单位,且基于 HawkEye 设备智能维保平台(璞华易维)的制药行业应用获评数智化转型优秀案例后,武汉璞华大数据技术有限公司再…

胶粘剂行业PLM是什么?一文读懂胶粘剂(粘合剂)PLM系统的功能、价值、解决方案等

在胶粘剂行业,配方是企业的核心竞争力,而研发创新则是保持市场优势的关键。然而,传统研发管理模式正面临着三大痛点:配方数据混乱导致研发效率低下、环保法规日益严格带来合规风险、跨部门协作不畅形成信息孤岛。在…

非常简单的基于 Docker 自建 RustDesk 远程桌面教程

说在前面 提到远程桌面,向日葵、ToDesk 肯定都知道,这两款我都使用过,我个人使(白)用(嫖)体验来看 ToDesk 把向日葵压着打,向日葵的免费通道极其不稳定,经常用着用着就掉线,连接使用体验卡顿感明显,ToDesk 就会…

2025年云南geo推广公司权威推荐榜单:GEO优化/geo/geo推广源头公司精选

在生成式AI技术重塑搜索生态的背景下,GEO(生成式引擎优化)已成为企业抢占智能流量入口的核心战略。据行业数据显示,2025年中国GEO市场规模已突破200亿元,年复合增长率高达67%,超过78%的企业将其纳入核心增长战略…

基于STM32F407与LAN8720A实现以太网通信

一、硬件连接方案(RMII模式) graph LRA[STM32F407] -->|RMII接口| B[LAN8720A]A -->|GPIO| Bsubgraph STM32F407ETH_MDC --> GPIOC1ETH_MDIO --> GPIOA2ETH_RMII_REF_CLK --> GPIOA1ETH_RMII_CRS_DV …

python-3.10.11安装

1.安装包下载 # Windows 64位https://www.python.org/ftp/python/3.10.11/python-3.10.11-amd64.exe # macOShttps://www.python.org/ftp/python/3.10.11/python-3.10.11-macos11.pkg # Linux通常用包管理器安装2.安装…

实用指南:微信PC版本4.0后小程序目录变更

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年水泥砖纤维托板直销厂家权威推荐:水泥砖托板/水泥砖纤维托板/纤维托板源头厂家精选

在建筑建材行业不断创新的今天,水泥砖纤维托板作为混凝土砌块生产过程中不可或缺的辅助材料,其质量直接影响砖块的生产效率和成本控制。传统钢制托板笨重易腐蚀,竹木托板则易吸水变形,基于这些痛点,新型纤维托板应…

2025年北京地漏防臭治理服务权威推荐榜单:家政服务/小便池防臭治理/浴缸防臭治理服务供应商精选

地漏反味是许多家庭及商业场所常见的环境问题,不仅影响居住体验,还可能对室内空气质量造成影响。据调查,超过70%的家庭曾遇到因地漏问题导致的异味困扰。随着技术进步,专业治理服务已成为解决这一问题的有效途径。…

CompletableFuture常见的java场景

CompletableFuture 是 Java 8 引入的一个非常强大的工具,用于编写异步、非阻塞的代码。它代表了未来某个时刻会完成的计算结果,并提供了丰富的 API 来组合、转换和处理异步任务。 核心场景一:执行耗时任务(避免阻塞…

D - Deductive Snooker Scoring

[https://qoj.ac/contest/2567/problem/14709] 题意: 斯诺克台球,给出最后的选手A和选手B的得分,以及最后到谁打了,构造一个合法操作序列使得最后结果为给出结果 思路: 记忆化搜索:f[i][j][lft][k][op] 表示 选手…

MySQL性能优化|InnoDB存储引擎深度解析:从表空间到数据行的设计哲学 - 指南

MySQL性能优化|InnoDB存储引擎深度解析:从表空间到数据行的设计哲学 - 指南2025-11-10 15:42 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-…

2025年次氯酸钠储罐订做厂家权威推荐榜单:K方箱/废酸储罐/酸碱储罐源头厂家精选

面对市场上众多的储罐供应商,如何选择一家质量可靠、专业高效的次氯酸钠储罐订做厂家成为许多企业的核心关切。 在现代工业体系中,次氯酸钠储罐作为化工、环保、水处理等领域的关键基础设施,其性能和质量直接关系到…