图书馆图书管理系统_第1页
图书馆图书管理系统_第2页
图书馆图书管理系统_第3页
图书馆图书管理系统_第4页
图书馆图书管理系统_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

图书馆图书管理系统一、系统简介图书管理系统是图书馆的重要组成部分,一般分为两大部分,流通系统和采购系统。采购系统分为订单管理、图书入库、图书著录、图书上架、新书上报和书目审查、系统设置。流通系统分为图书管理、读者管理、借阅证管理、图书借阅、图书归还、系统设置等模块。其中,核心模块为采购系统:图书入库、图书上架;流通系统:图书管理、读者管理、借阅证管理、图书借阅、图书归还等。二、系统功能分析流程图三、系统功能1) 图书采购(订单查询、查询订单、新书通报)2) 图书入库(图书著录、图书入库)3) 图书流通(图书借阅、图书归还、预约登记、图书暂停、图书催还)4) 读者管理(读者登记、读者管理、核发借阅证、暂停借阅证、挂失借阅证补发借阅证、罚款缴纳登记、借阅证注销)5) 统计查询(读者查询、借阅统计、借阅查询、罚款统计、记帐查询记帐统计)6) 系统设置(馆藏位置、用户借阅规定管理、用户管理、系统用户管理供书单位设置)四、 程设计实现功能要求因为课程设计时间较短,学生分析设计能力还不熟练,故不要求学生实现以上全部功能,可以对系统进行简化,省去图书采购、上架、分类、馆藏等步骤,基本实现功能要求如下:1、图书证管理读者注册、图书证暂停、挂失、补发、注销管理2、 图书流通管理读者借书、还书、图书预约3、 统计查询图书查询读者查询借阅统计借阅查询罚款统计以上的东西自己改改吧,还可以用到报告中的。/* (#)BookManager.java* Have classes:BookManager Book Borrower * Copyright 2005 Fane. All rights reserved.* author Fane* version , 09/05/05* since JDK 1.4*/package person.fane.test;import java.io.BufferedReader;import java.io.InputStreamReader;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Collection;import java.util.Date;import java.util.Iterator;public class LibraryManager private ArrayList bookList = new ArrayList(); private ArrayList userList = new ArrayList(); public final int maxBorrower = 100; public final int maxBook = 100; public static void main(String args) /System.out.println(欢迎来到图书管理系统!); LibraryManager newLibraryManager = new LibraryManager(); BookManagerThread myBookManagerThread = new BookManagerThread(newLibraryManager); new Thread(myBookManagerThread).start(); /* * return 返回 bookList。 */ public ArrayList getBookList() return bookList; /* * return 返回 userList。 */ public ArrayList getUserList() return userList; /* * param userList 要设置的 userList。 */ public void setUserList(ArrayList userList) this.userList = userList; class Book /* * Book类包含的属性 */ private String bookName; private float bookPrice; private int bookType; private Date publishDate; private boolean isBorrowed; private Date borrowedDate; /* * return 返回 bookName。 */ public String getBookName() return bookName; /* * param bookName 要设置的 bookName。 */ public void setBookName(String bookName) this.bookName = bookName; /* * return 返回 bookPrice。 */ public float getBookPrice() return bookPrice; /* * param bookPrice 要设置的 bookPrice。 */ public void setBookPrice(float bookPrice) this.bookPrice = bookPrice; /* * return 返回 bookType。 */ public int getBookType() return bookType; /* * param bookType 要设置的 bookType。 */ public void setBookType(int bookType) this.bookType = bookType; /* * return 返回 borrowDate。 */ public Date getBorrowedDate() return borrowedDate; /* * param borrowDate 要设置的 borrowDate。 */ public void setBorrowedDate(Date borrowDate) this.borrowedDate = borrowDate; /* * return 返回 isBorrowed。 */ public boolean isBorrowed() return isBorrowed; /* * param isBorrowed 要设置的 isBorrowed。 */ public void setBorrowed(boolean isBorrowed) this.isBorrowed = isBorrowed; /* * return 返回 publishDate。 */ public Date getPublishDate() return publishDate; /* * param publishDate 要设置的 publishDate。 */ public void setPublishDate(Date publishDate) this.publishDate = publishDate; public String toString() StringBuffer myStringBuffer = new StringBuffer(); myStringBuffer.append(书名:+this.getBookName()+ #); myStringBuffer.append(价格:+this.getBookPrice()+ # ); myStringBuffer.append(类型:+this.getBookType()+ n); myStringBuffer.append(出版日期:+this.getPublishDate()+ n); myStringBuffer.append(借阅日期:+this.getBorrowedDate()+ n); return myStringBuffer.toString(); class Borrower private String name = user; private int age = 1; private int borrowerId; private ArrayList borrowedBook = new ArrayList(); public Borrower() public Borrower(String name,int age,int borrowId) this.setName(name); this.setAge(age); this.setBorrowerId(borrowId); /* * return 返回 age。 */ public int getAge() return age; /* * param age 要设置的 age。 */ public void setAge(int age) this.age = age; /* * return 返回 borrowBook。 */ public Collection getBorrowedBook() return borrowedBook; /* * return 返回 borrowerId。 */ public int getBorrowerId() return borrowerId; /* * param borrowerId 要设置的 borrowerId。 */ public void setBorrowerId(int borrowerId) this.borrowerId = borrowerId; /* * return 返回 name。 */ public String getName() return name; /* * param name 要设置的 name。 */ public void setName(String name) = name; /* * 输出用户基本信息和借阅信息 * (非 Javadoc) * see java.lang.Object#toString() */ public String toString() StringBuffer myStringBuffer = new StringBuffer(); myStringBuffer.append(用户名:+ name + # ); myStringBuffer.append(年龄:+ age + # ); myStringBuffer.append(用户编号:+ borrowerId + # n); myStringBuffer.append(借阅书籍如下: n); Iterator myIterator = this.getBorrowedBook().iterator(); while(myIterator.hasNext() Book myBook = (Book)myIterator.next(); myStringBuffer.append(书名:+myBook.getBookName()+ ); myStringBuffer.append(价格:+myBook.getBookPrice()+ n); myStringBuffer.append(出版日期:+myBook.getPublishDate()+ n); myStringBuffer.append(借阅日期:+myBook.getBorrowedDate()+ n); return myStringBuffer.toString(); class BookManagerThread implements Runnable private boolean isOut = false; private int mainFrame = 0; private int subFrame = 0; private BufferedReader keyboardInput; private LibraryManager myLibraryManager; private SimpleDateFormat mySimpleDateFormat = new SimpleDateFormat(yyyy-MM-dd HH:mm:ss); public BookManagerThread(LibraryManager myLibraryManager) this.myLibraryManager = myLibraryManager; /* * 图书管理系统的运行进程 * (非 Javadoc) * see java.lang.Runnable#run() */ public void run() while(!isOut) logicProcess(); private void displayMain() System.out.println( 欢迎来到图书管理系统! ); System.out.println(1:用户管理 ); System.out.println(2:图书管理 ); System.out.println(3:借阅管理 ); System.out.println(Exit:退出 ); private void dispalyUserManager() System.out.println( 欢迎来到图书管理系统! ); System.out.println(1:增加用户 ); System.out.println(2:修改用户 ); System.out.println(3:删除用户 ); System.out.println(Up:返回上一级 ); private void dispalyBookManager() System.out.println( 欢迎来到图书管理系统! ); System.out.println(1:增加图书 ); System.out.println(2:修改图书 ); System.out.println(3:删除图书 ); System.out.println(Up:返回上一级 ); private void dispalyBorrowManager() System.out.println( 欢迎来到图书管理系统! ); System.out.println(1:借阅图书 ); System.out.println(2:归还图书 ); System.out.println(3:浏览用户借阅信息 ); System.out.println(Up:返回上一级 ); private void dispalyAllUsers() Iterator myIterator = this.getMyLibraryManager().getUserList().iterator(); int i = 0; while(myIterator.hasNext() System.out.println(该用户序列号是:+ i); System.out.println(Borrower)myIterator.next().toString(); i+; private void displayAllBooks() Iterator myIterator = this.getMyLibraryManager().getBookList().iterator(); int i = 0; while(myIterator.hasNext() System.out.println(该书籍序列号是:+ i); System.out.println(Book)myIterator.next().toString(); i+; public void logicProcess() String operateCode = ; /* * 以下是菜单选择 */ if(mainFrame = 0) displayMain(); try keyboardInput = new BufferedReader(new InputStreamReader(System.in); operateCode = keyboardInput.readLine(); if(operateCode.equalsIgnoreCase(U) mainFrame = 1; if(operateCode.equalsIgnoreCase(B) mainFrame = 2; if(operateCode.equalsIgnoreCase(L) mainFrame = 3; if(operateCode.equalsIgnoreCase(Exit) isOut = true; catch(Exception ex) System.out.println(输入错误!); if(mainFrame = 1) & (subFrame = 0) dispalyUserManager(); try keyboardInput = new BufferedReader(new InputStreamReader(System.in); operateCode = keyboardInput.readLine(); if(operateCode.equalsIgnoreCase(A) subFrame = 1; if(operateCode.equalsIgnoreCase(M) subFrame = 2; if(operateCode.equalsIgnoreCase(D) subFrame = 3; if(operateCode.equalsIgnoreCase(Up) mainFrame = 0; subFrame = 0; catch(Exception ex) System.out.println(输入错误!); if(mainFrame = 2) & (subFrame = 0) dispalyBookManager(); try keyboardInput = new BufferedReader(new InputStreamReader(System.in); operateCode = keyboardInput.readLine(); if(operateCode.equalsIgnoreCase(A) subFrame = 1; if(operateCode.equalsIgnoreCase(M) subFrame = 2; if(operateCode.equalsIgnoreCase(D) subFrame = 3; if(operateCode.equalsIgnoreCase(Up) mainFrame = 0; subFrame = 0; catch(Exception ex) System.out.println(输入错误!); if(mainFrame = 3) & (subFrame = 0) dispalyBorrowManager(); try keyboardInput = new BufferedReader(new InputStreamReader(System.in); operateCode = keyboardInput.readLine(); if(operateCode.equalsIgnoreCase(B) subFrame = 1; if(operateCode.equalsIgnoreCase(L) subFrame = 2; if(operateCode.equalsIgnoreCase(V) subFrame = 3; if(operateCode.equalsIgnoreCase(Up) mainFrame = 0; subFrame = 0; catch(Exception ex) System.out.println(输入错误!); /* * 以下是个小块功能实现 */ if(mainFrame = 1) & (subFrame = 1) try Borrower newBorrower = new Borrower(); System.out.println(请输入用户名:(up返回上一级); keyboardInput = new BufferedReader(new InputStreamReader(System.in); String nameTemp = keyboardInput.readLine(); if(up.equalsIgnoreCase(nameTemp) subFrame = 0; else System.out.println(请输入年龄:); String ageTemp = keyboardInput.readLine(); newBorrower.setAge(Integer.parseInt(ageTemp); newBorrower.setName(nameTemp); if(this.getMyLibraryManager().getUserList() = null) newBorrower.setBorrowerId(1); else newBorrower.setBorrowerId(this.getMyLibraryManager().getUserList().size()+1); getMyLibraryManager().getUserList().add(newBorrower); subFrame = 0; catch(Exception ex) /ex.printStackTrace(); System.out.println(输入错误!); if(mainFrame = 1) & (subFrame = 2) try dispalyAllUsers(); System.out.println(请输入序列号来修改:(up返回上一级); String idTemp = keyboardInput.readLine(); if(up.equalsIgnoreCase(idTemp) subFrame = 0; else Borrower modifiedBorrower = (Borrower)this.getMyLibraryManager().getUserList().get(Integer.parseInt(idTemp); System.out.println(请输入用户名:); keyboardInput = new BufferedReader(new InputStreamReader(System.in); String nameTemp = keyboardInput.readLine(); System.out.println(请输入年龄:); String ageTemp = keyboardInput.readLine(); modifiedBorrower.setAge(Integer.parseInt(ageTemp); modifiedBorrower.setName(nameTemp); subFrame = 0; catch(Exception ex) /ex.printStackTrace(); System.out.println(输入错误!); if(mainFrame = 1) & (subFrame = 3) try dispalyAllUsers(); System.out.println(请输入序列号来删除:(up返回上一级); String idTemp = keyboardInput.readLine(); if(up.equalsIgnoreCase(idTemp) subFrame = 0; else if(Borrower)this.getMyLibraryManager().getUserList().get(Integer.parseInt(idTemp).getBorrowedBook().size() = 0) this.getMyLibraryManager().getUserList().remove(Integer.parseInt(idTemp); else System.out.println(该用户仍有借书,不能删除!); subFrame = 0; catch(Exception ex) /ex.printStackTrace(); System.out.println(输入错误!); if(mainFrame = 2) & (subFrame = 1) try Book newBook = new Book(); System.out.println(请输入书名:(up返回上一级); keyboardInput = new BufferedReader(new InputStreamReader(System.in); String bookNameTemp = keyboardInput.readLine(); if(up.equalsIgnoreCase(bookNameTemp) subFrame = 0; else System.out.println(请输入价格:); String bookPriceTemp = keyboardInput.readLine(); System.out.println(请输入类型:1-计算机 2-数学 3-自然科学); String bookTypeTemp = keyboardInput.readLine(); System.out.println(请输入出版日期:(格式yyyy-MM-dd HH:mm:ss); String publishDateTemp = keyboardInput.readLine(); newBook.setBookName(bo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论