一、系统说明
本系统主要是用于对图书馆的读者以及馆内的图书的管理
二、模块说明
读者所有模块
1. 个人信息管理:
查看个人信息:查看读者自己的个人信息
修改个人信息:修改读者的个人信息,在修改之前必须输入旧密码,防止别人
篡改
2. 个人借阅管理:
查找图书:读者可以根据书的ID、书名以及作者对图书进行查询
借阅图书;读者可以借阅图书馆的书目,不在馆的图书不能借况,每本书的借阅期限为30天
归还图书:读者可以归还自己所借的图书
借阅统计:统计读者个人所借的书目
管理员所有模块
1. 个人信息管理:
查看个人信息:查看管理员自己的个人信息
修改个人信息:修改管理员的个人信息,在修改之前必须输入旧密码,防止别人篡改
2. 图书信息管理:
已有书目:显示当前图书馆的所有书目
增加图书:增加书目到馆内
修改图书:修改在馆的图书信息
删除图书:删除在馆的图书
3.读者信息管理:
查看已有读者:查看当前已在图书馆内注册的所有读者
增加读者信息:增加一个新读者到馆内
修改读者信息:修改馆内的某一个读者的信息
删除读者信息:删除一个馆内的读者
4.管理员信息管理:
已有管理员:查看当前馆内的已有管理员
添加管理员:添加一个新管理员到馆内(非超级管理员无法操作)
修改管理员:修改某一个管理员的信息(非超级管理员无法操作)
删除管理员:删除一个管理员(非超级管理员无法操作)
三、结果显示
1. 部分核心代码
package cn.zld.dao;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.List;
import cn.zld.pojo.Constants;
import cn.zld.pojo.ManagerInfo;
/**
* 管理员数据处理
*
* @author 张立冬
* @project:图书管理系统 2010-8-30
*
*/
public class ManagerDao {
public static List<ManagerInfo> managers;
/**
* 增加一个新管理员
*
* @param manager
*/
public static boolean registerNewManager(ManagerInfo manager) {
try {
if (managers == null) {
managers = getAllManager();
}
for(int i=0;i<managers.size();i++){
if(managers.get(i).getManagerName().equals(manager.getManagerName())){
javax.swing.JOptionPane.showMessageDialog(null, "管理员的名字已存在,无法添加!");
return false;
}
}
managers.add(manager);
File file = new File(Constants.MANAGERFILEPATH);
FileOutputStream fout = new FileOutputStream(file);
// 将文件流转成对象流
ObjectOutputStream objectOutputStream = new ObjectOutputStream(fout);
objectOutputStream.writeObject(managers);
fout.close();
return true;
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return false;
}
/**
* 获取所有的管理员
*
* @param managers
*/
@SuppressWarnings("unchecked")
public static List<ManagerInfo> getAllManager() {
managers = new ArrayList<ManagerInfo>();
ManagerInfo manager=new ManagerInfo();//初始化一个管理员,并使得该管理员为超级管理员
manager.setManagerName("admin");
manager.setPwd("admin");
manager.setId(Constants.ID);
manager.setAge(20);
manager.setLevel("超级管理员");
manager.setSex("男");
managers.add(manager);
try {
File file = new File(Constants.MANAGERFILEPATH);
if (!file.exists()) {// 初始化文件不存在的话则创建该文件
System.out.println("文件不存在,创建新初始化文件!");
file.getParentFile().mkdirs();
file.createNewFile();
FileOutputStream fout = new FileOutputStream(file);
// 将文件流转成对象流,并写入初始化对象
ObjectOutputStream objectOutputStream = new ObjectOutputStream(
fout);
objectOutputStream.writeObject(managers);
}
FileInputStream fin = new FileInputStream(file);
// 将文件流转成对象流
ObjectInputStream objectOutputStream = new ObjectInputStream(
fin);
managers = (List) objectOutputStream.readObject();
fin.close();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return managers;
}
/**
* 更新管理员的信息
*
* @param reader:要更新的管理员对象
* @return:操作成功返回true,操作失败返回false
*/
public static boolean updateManager(ManagerInfo manager) {
// 对其进行异常处理
try {
if (managers == null) {
managers = getAllManager();
}
for (int i=0;i<managers.size();i++) {
ManagerInfo managerinfo=managers.get(i);
if (managerinfo.getId() == manager.getId()) {
managers.remove(managerinfo);// 将旧对象删除
managers.add(manager);// 将新对象加入
File file = new File(Constants.MANAGERFILEPATH);
FileOutputStream fout = new FileOutputStream(file);
// 将文件流转成对象流
ObjectOutputStream objectOutputStream = new ObjectOutputStream(
fout);
objectOutputStream.writeObject(managers);
fout.close();
managers=getAllManager();
}
}
return true;
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return false;
}
}
/**
* 删除一个管理员
*
* @param manager:要删除的管理员对象
* @return:操作成功返回true,操作失败返回false
*/
public static boolean deleteManager(ManagerInfo manager) {
// 对其进行异常处理
try {
if (managers == null) {
managers = getAllManager();
}
for (int i=0;i<managers.size();i++) {
ManagerInfo managerinfo=managers.get(i);
if (managerinfo.getId() == manager.getId()) {
managers.remove(managerinfo);// 将旧对象删除
File file = new File(Constants.MANAGERFILEPATH);
FileOutputStream fout = new FileOutputStream(file);
// 将文件流转成对象流
ObjectOutputStream objectOutputStream = new ObjectOutputStream(
fout);
objectOutputStream.writeObject(managers);
fout.close();
}
}
return true;
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return false;
}
}
}
2. 最终运行结果
用户登陆入口:角色可选管理员和读者,用户名及密码通过即可进入
读者主界面
管理员主界面
这个系统由于最近比较忙,花的时间也就那么几天,所以也只是实现了一些比较基本的功能
源码在附件中可下载
- 大小: 16 KB
- 大小: 117.1 KB
- 大小: 134.9 KB
- 大小: 28 KB
- 大小: 174.2 KB
- 大小: 186.6 KB
分享到:
相关推荐
在本"RFID课程设计之 图书管理系统"项目中,我们将深入探讨如何运用RFID技术构建一个高效、智能化的图书管理系统。 首先,RFID系统主要由三部分组成:RFID标签(Tag)、读写器(Reader)和后端信息系统(Backend ...
"C语言课程设计之图书管理系统" 本文档介绍了一个基于C语言的图书管理系统的设计和实现。该系统旨在为用户提供一个友好的图书管理平台,实现图书的入库、出库、查询等功能。 软件功能描述 该图书管理系统软件为...
【C++课程设计】图书管理系统的项目旨在提供一个在控制台上运行的图书信息管理平台,让学生熟悉C++编程语言,并掌握面向对象编程的基本概念。这个系统可以实现对图书的添加、删除、查询以及借阅等操作,对于学习C++...
c++ 面向对象 图书管理系统 课程设计
《数据库课程设计之图书管理系统》是一个典型的数据库应用案例,旨在让学生在实践中掌握数据库设计、开发和管理的基本技能。在这个系统中,主要目标是实现图书借阅管理的自动化,提高图书馆的工作效率。以下是系统...
5. **源码结构**:在“课程设计PHP图书管理系统”这个项目中,源码可能按照MVC(模型-视图-控制器)架构组织,这是一种常见的Web开发模式,有利于代码的组织和复用。目录结构可能包括`views`(视图,前端展示)、`...
"数据库课程设计报告图书管理系统" 本资源是关于数据库课程设计报告图书管理系统的详细报告,涵盖了系统的设计、开发和实现过程。报告从系统的概述开始,详细介绍了系统的需求分析、概念设计、逻辑设计、物理设计、...
C语言课程设计之图书管理系统(源码+说明) 功能描述: (1)新进图书基本信息的输入。 (2)图书基本信息的查询。 (3)对撤消图书信息的删除。 (4)为借书人办理注册。 (5)办理借书手续。 (6)办理还书手续
c++毕业课程设计-图书管理系统源码分享~亲测可用,有需要的朋友拿去 c++毕业课程设计-图书管理系统源码分享~亲测可用,有需要的朋友拿去 c++毕业课程设计-图书管理系统源码分享~亲测可用,有需要的朋友拿去 c++毕业...
Android课程设计-图书管理系统.zipAndroid课程设计-图书管理系统.zipAndroid课程设计-图书管理系统.zipAndroid课程设计-图书管理系统.zipAndroid课程设计-图书管理系统.zipAndroid课程设计-图书管理系统.zipAndroid...
图书管理系统课程设计 本课程设计的主题是基于 Spring + Spring MVC + MyBatis 的图书管理系统。该系统主要功能包括图书查询、图书管理、图书编辑、读者管理、图书的借阅与归还以及借还日志记录等。系统的设计目标...
《图书管理系统 jsp 课程设计》 图书管理系统是IT领域中常见的项目实践,尤其是在高校的计算机专业课程设计中,常常被选为课题。本系统基于jsp(JavaServer Pages)技术,利用其动态网页生成能力,为用户提供了一种...
在设计图书管理系统时,通常会涉及到如下的实体:图书(Book)、作者(Author)、出版社(Publisher)、读者(Reader)以及借阅记录(BorrowRecord)。图书实体可能包含书名、ISBN号、出版日期、作者、出版社等属性...
JAVA开发项目软件工程课程设计图书借阅管理系统源代码JAVA开发项目软件工程课程设计图书借阅管理系统源代码JAVA开发项目软件工程课程设计图书借阅管理系统源代码JAVA开发项目软件工程课程设计图书借阅管理系统源代码...
本项目"图书管理系统"是针对C++初学者或进阶者的一次课程设计实践,旨在提升学生对C++编程语言的理解和应用能力,同时培养数据库操作和软件工程的基本技能。 图书管理系统的核心功能包括图书的添加、删除、查询、...
"SQL数据库图书管理系统课程设计" 本课程设计的主要目的是设计一个图书管理系统,使用SQL数据库来存储和管理图书信息、读者信息、借阅记录等数据。该系统的设计目标是掌握计算机管理信息系统设计的一般方法,关系型...
《图书管理系统Web课程设计报告》是一份详尽的实践项目报告,主要涵盖了在Web环境下构建一个图书管理系统的全过程。这份报告对于理解Web应用开发、数据库管理和信息系统设计具有很高的学习价值。以下将对其中的关键...
《C语言图书管理系统课程设计详解》 在计算机科学的学习过程中,课程设计是理论与实践相结合的重要环节。本项目“C语言图书管理系统”就是一个典型的应用型课程设计实例,它旨在帮助学生掌握C语言编程技巧,理解...
课程设计JavaWeb图书管理系统源码+数据库脚本课程设计JavaWeb图书管理系统源码+数据库脚本课程设计JavaWeb图书管理系统源码+数据库脚本课程设计JavaWeb图书管理系统源码+数据库脚本课程设计JavaWeb图书管理系统源码+...