西华大学数据结构与算法B综合课程设计图书馆管理系统_第1页
西华大学数据结构与算法B综合课程设计图书馆管理系统_第2页
西华大学数据结构与算法B综合课程设计图书馆管理系统_第3页
西华大学数据结构与算法B综合课程设计图书馆管理系统_第4页
西华大学数据结构与算法B综合课程设计图书馆管理系统_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1 数学与计算机学院 课程设计说明书 课 程 名 称:数据结构与算法 B 综合课程设计 课 程 代 码: 题 目: 图书管理系统 年级/专业/班: 2011/计算机科学与技术/04 班 学 生 姓 名: 学 号: 开 始 时 间: 2011 年 12 月 08 日 完 成 时 间: 2011 年 12 月 24 日 课程设计成绩: 学习态度及平 时成绩(30) 技术水平与实际 能力(20) 创新 (5) 说明书撰写质量(45) 总 分 (100) 指导教师签名: 年 月 日 2 2 目 录 摘要 1 前言.1 1.1 问题的提出 .1 1.2 任务与分析 .1 2.软件总体设计.3 2.1 开发工具 .3 2.2 系统框图 .3 2.3 模块功能 .5 2.3.1 图书入库.5 2.3.2 清楚图书.5 2.3.3 显示库存.5 2.3.4 读者借阅.5 2.3.5 读者归还.5 2.3.6 借阅查询.5 3 软件界面设计.6 3.1 控件介绍 .6 3.2 窗体 .6 3.3 文本编辑框 .6 3.4 下拉列表框 .6 3.5 密码框 .6 3.6 表格 .6 3.7 菜单栏组件 .7 4 功能详细设计.8 4.1 界面登陆 .8 4.2 新书录入 .9 4.3 清楚图书库存 .10 图书馆管理系统 3 3 4.4 图书借阅 .11 4.5 图书归还 .13 4.6 借阅显示 .15 4.7 软件使用说明 .15 5 软件测试.17 结 论.28 致 谢.29 参考文献.30 西华大学数计学院课程设计说明书 4 4 摘摘 要要 随着计算机及网络技术的飞速发展,Internet/Intranet 应用在全球范围内日益普 及,当今社会正快速向信息化社会前进,信息自动化的作用也越来越大。从而使我们 从繁杂的事务中解放出来,提高了我们的工作效率。 目前学校图书馆的借阅工作部分还是手工管理,工作效率很低,并且不能及时了 解图书的种类和学生们比较需求的图书等,不能更好的适应当前学生的借阅要求。手 工管理还存在这许多弊端,由于不可避免的人为因素,造成数据的遗漏、误报。计算机 信息化管理有着储存量大,速度快等许多优点,提供给我们的处理信息及时快捷,因 此我们利用计算机提供给我们的信息对学生们的借阅过程形成一整套动态的管理。 本系统将会涉及到图书馆日常管理工作的基本常见细节,诸如新图书的入库登记, 图书馆所有书籍的分类管理,图书的查询,图书的借阅、退还手续的登记,费旧图书 的清理撤除等,本系统所要实现的这些功能基本上涵盖了图书馆的日常管理工作,基 本能够满足校园图书馆的工作人员的管理需要。 在对本系统的具体开发过程当中,将采用 Java 语言进行开发,以文本文件实现后 台数据库,本系统是完全基于图形化用户界面(GUI)的单机版本。 关键词:关键词:信息化 软件工程 软件生命周期 图形化用户界面 AbstractAbstract The full name of our System is: TheThe ManagementManagement InformationInformation SystemSystem ofof CampussCampuss Library.Library. At present, the computer technology is developing ever-growing, and the campuss information construction also have pushing on, by contrast, the method of management in many university library is still by man, the libraryworkers must face to the large number of books, and also face to fall into the trouble. Actually, the work can be done by the computer which have a management information system. Then the heavy work will not be done by people, the libraryworkers can use computer to manage the books, and the everyday work will be easy. This is the goal which our system want to achieve finally. The principle of development to our system will be following with Software Engineering, we use the traditional model which be called Waterfall, and the course of development will be divided into six stage. We will develop the system in sequence. Our system contains many operations about librarys everyday work, such as Register New Books, Classify Books according to 图书馆管理系统 5 5 their subjects, Find Books, Dispose old books, and so on, our system can finish all of the work, and can meet the requirements of the librarysworkers. During the development of our system, we use the tool of JAVA to develop it, our system is on the basis of the Access Database. 西华大学数计学院课程设计说明书 6 6 1 前言 1.1 问题的提出 首先,图书馆的管理直接关系到我们大学生如何更好的使用图书,更充分的利用 现有资源学习,提高自身素质。针对当今的大学图书馆藏书越来越多,学生借书越来 越频繁,图书管理较为繁琐,图书馆管理工作人员付出的工作时间越来越多,得到的 效率却很低这个现状。为提高工作效率,减轻图书馆工作人员的工作负担,决定开发 学校图书馆管理系统软件,以帮助更好的实现图书馆的管理,让我们能更便捷的借阅 图书,让老师能花最少的时间办理好借阅图书手续。 开发此图书馆管理系统软件,也是对实现数字化图书馆管理的支持,现今各大学 普遍存在着一个现象,图书的借阅手续都是由专门的老师来实现办理的,每当借阅高 峰期时,排队借书的场面屡见不鲜,这样即耗费时间又使原本不太大的借书大厅拥挤 不堪。图书馆管理系统的实现,可以着眼于数字化借阅,简化学生图书查询流程,简 化图书外借登记手续,即提高借阅效率又可实现图书借阅的完整进出记录,保证图书 的合理使用,让广大师生受益。 1.2 任务与分析 本课题主要的任务是设计一个图书管理系统,实现对图书的采编入库,清除,查 找,借阅,归还以及显示功能 1.基于图形用户界面(GUI)的标准“Windows” 应用程序。 2.初始输入数据:自由输入。 3.基本要求: (1)每种书的登记内容至少包括书号、书名、著者、现存量和总库存量等五项。 (2)由于图书管理的基本业务活动都是通过书号(即关键字)进行的,所以要 用对书号 索引,以获得高效率。 系统应实现的基本功能有: (1)采编入库:新购入一种书,经分类和确定书号之后登记到图书帐目中去。 如果这两种书在帐中已有,则只将总库存量增加。 (2)清除库存:某种书已无保留价值,将它从图书帐目中注销。 (3)借阅:如果一种书的现存量大于零,则借出一本,登记借阅者的图书证号 和归还期限。 (4)归还:注销对借阅者的登记,改变该书的现存量。 (5)显示:以凹入表的形式显示 B 树。这个操作是为了调试和维护的目的而设 置的。 图书馆管理系统 7 7 4.界面设计总要求 (1)操作流程简便合理,操作界面美观自然,符合用户一般操作习惯。 (2)界面简洁美观,配色和谐,比例合适,符合大多数人的审美趣向。 5.菜单设置“使用说明” ,介绍本软件开发者、特色、各项功能以及如何使用。 西华大学数计学院课程设计说明书 8 8 2.系统总体设计 2.1 开发工具 eclipse 优点: 1,从编写、查错、编译、帮助等等各方面为 Java 语言贴身定做。 2,可无限扩展的强大插件功能。 3,众多公司、厂商、组织的鼎立支持。 4,开放,自由,免费。 开发环境:Win7 运行环境:Win7。 2.2 系统框图 (1)系统组成框图:如图 2-1 所示 图 2-1 系统组成框图 图书管理系统 图 书 借 阅 图 书 归 还 借 阅 查 询 管理员 新 书 入 库 学生 清 除 库 存 图书馆管理系统 9 9 (2) 系统流程图: 如图 2-2-1,图 2-2-2 所示 图 2-2-1 系统流程图 图 2-2-1 系统流程图 西华大学数计学院课程设计说明书 10 10 2.3 模块功能 2.3.1 图书入库 输入编采入库图书的书号,书名,著作,现存量,以及总入库量,入库成功后,将其图 书信息保存在文本文档中 2.3.2 清除图书 输入图书的编号对其进行删除,删除成功后,将其文本文档中的现存量和中库存量 置为 0 2.3.3 显示库存 罗列出所有库存图书的书号,书名,著作,现存量,以及总库存量 2.3.4 读者借阅 输入所需借阅图书的编号,书名和借书日期,借阅成功后,将其借阅信息保存值文本 文档中 2.3.5 读者归还 输入所归还图书的书号,归还成功后,将其以前借阅信息中的借阅日期置为 0-0-0 2.3.5 借阅查询 罗列出读者所借阅图书的记录 图书馆管理系统 11 11 3 人机界面设计 3.1 控件介绍 控件是对数据和方法的封装。控件可以有自己的属性和方法。属性是控件数据 的简单访问者。事件则是控件的一些简单而可见的功能。 所有的控件都有很多属性,用于处理控件的操作 3.2 窗体(以下逐个阐述:你选用的控件的截图、特点、选用理由) 窗口 JFrame 一个底层容器,其他组件必须添加到底层容器中,以便借助这个底层 容器和操作系统进行信息交互. 使用了菜单条,菜单与菜单项,实现窗口间的切换. 3.3 文本编辑框 文本框特点是允许用户在文本框中输入单行文本 3.4 密码框 文本密码框允许用户在密码框内输入单行密码,密码框的回显字符是*. 3.5 按钮与标签 西华大学数计学院课程设计说明书 12 12 在按钮上设置点击事件. 3.6 表格 表格以行和列的形势显示数据,允许对表格的数据进行编辑,表格的模型功能强大,灵活 并易于执行 3.7 菜单组件(必须有菜单,在此讲述菜单组件及其设计) 窗口中的菜单条,菜单,菜单项是非常熟悉的组件,菜单放在菜单条里面,菜单项放在菜 单里面 图书馆管理系统 13 13 4 功能详细设计 4.1 登录界面 用户从登录界面输入用户名与密码,输入管理员的用户与密码,并验证密码正确后, 进入管理员管理板块.输入学生的用户名与密码,并验证正确后,进入学生板块. 核心代码: jbn2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent arg0) System.exit(0); ); jbn1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) String usernameinput = jtf1.getText(); String pwdstrinput = String.valueOf(jpf.getPassword(); if (usernameinput.equals(username) new ListenGUI2(); setVisible(false); jtf1.grabFocus(); jpf.grabFocus(); return; else if (usernameinput.equals(username2) new ListenGUI1(); setVisible(false); jtf1.grabFocus(); jpf.grabFocus(); return; else if (pwdstrinput = null | .equals(pwdstrinput) JOptionPane.showMessageDialog(null, 密码不能为空); jpf.grabFocus(); return; else if (pwdstrinput.length() 6) JOptionPane.showMessageDialog(null, 密码不能小于6位); jpf.grabFocus(); return; else 西华大学数计学院课程设计说明书 14 14 JOptionPane.showMessageDialog(null, 登陆失败!); ); 4.2 新书的录入 管理员输入所需录入新书的编号,书名,著作,现存量和中库存量后,点击录入,则 系统自动将录入的新书信息保存在文本文档中. 用文本文档操作不方面管理员的后台管理,查看书的信息不能直接打开文本文档 进行查看,而是必须进入管理界面才能进行查看. 核心代码: public void actionPerformed(ActionEvent e) / TODO Auto-generated method stub if(f.exists() FileInputStream fi; try fi = new FileInputStream(f); ObjectInputStream oi=new ObjectInputStream(fi); bookslist=(LinkedList)oi.readObject(); fi.close(); oi.close(); Books books=new Books(); String s1=no.getText(); String s2=name.getText(); String s3=actor.getText(); String s4=save.getText(); String s5=allsave.getText(); while(ibookslist.size() Books bo=(Books)bookslist.get(i); if(s1.equals(bo.getNo() a=Integer.parseInt(bo.getAllsave()+Integer.parseInt(s5); b=Integer.parseInt(bo.getSave()+Integer.parseInt(s5); bo.setAllsave(String.valueOf(a); bo.setSave(String.valueOf(b); break; 图书馆管理系统 15 15 i+; if(i=bookslist.size() books.setNo(s1); books.setName(s2); books.setActor(s3); books.setSave(s4); books.setAllsave(s5); bookslist.add(books); FileOutputStream fo=new FileOutputStream(f); ObjectOutputStream out=new ObjectOutputStream(fo); out.writeObject(bookslist); out.close(); catch (Exception ee) else try f.createNewFile(); Books books=new Books(); books.setNo(no.getText(); books.setName(name.getText(); books.setActor(actor.getText(); books.setSave(save.getText(); books.setAllsave(allsave.getText(); bookslist.add(books); FileOutputStream fo=new FileOutputStream(f); ObjectOutputStream out=new ObjectOutputStream(fo); out.writeObject(bookslist); out.close(); catch(Exception e1) 4.3 清除图书库存 管理员输入所需删除图书的编号,如库存中有此编号的书,则将此书的现存量与总 库存量赋值为零. 主要用到的数据结构是链表,方便对其的删除操作.其确实是从链表的头依次遍历, 直到找到所需的图书编号或者到链表尾部.这样遍历的时间效率比较低,对于大量的图 西华大学数计学院课程设计说明书 16 16 书需要遍历的话,此算法的时间效率低 核心代码: public void actionPerformed(ActionEvent e) if(file.exists() try fi = new FileInputStream(file); ObjectInputStream oi=new ObjectInputStream(fi); bookslist1=(LinkedList)oi.readObject(); fi.close(); oi.close(); Books books=new Books(); String s=no.getText(); while(ibookslist1.size() Books bo=(Books)bookslist1.get(i); if(s.equals(bo.getNo() int a,b; a=0; b=0; bo.setAllsave(String.valueOf(a); bo.setSave(String.valueOf(b); JOptionPane.showMessageDialog(null, 删除成功!); break; i+; FileOutputStream fo=new FileOutputStream(file); ObjectOutputStream out=new ObjectOutputStream(fo); out.writeObject(bookslist1); fo.close(); out.close(); catch (Exception ee) 4.4 图书的借阅 学生输入所需借阅图书的编号,书名和借阅日期,如果此书的现存量大于零,则将其 现存量减一,读者借书成功.并且在读者信息中记录读者借阅了此图书,将借阅信息写入 文本文件. 主要的数据结构是链表,从链表的头依次遍历,直到找到所需的图书编号或者到链 图书馆管理系统 17 17 表尾部.这样遍历的时间效率比较低,对于大量的图书需要遍历的话,此算法的时间效率 低 核心代码: public void actionPerformed(ActionEvent e) try FileInputStream fi=new FileInputStream(file); ObjectInputStream oi=new ObjectInputStream(fi); bookslist1=(LinkedList)oi.readObject(); fi.close(); oi.close(); Books books=new Books(); books.setNo(rno.getText(); while(i0) int a; a=Integer.parseInt(bo.getSave()-1; bo.setSave(String.valueOf(a); JOptionPane.showMessageDialog(null, 借阅成功!); break; if(Integer.parseInt(bo.getSave()=m System.exit(0); i+; if(i=bookslist1.size() JOptionPane.showMessageDialog(null, 此书图书馆无库存!); System.exit(0); FileOutputStream fo=new FileOutputStream(file); ObjectOutputStream out=new ObjectOutputStream(fo); out.writeObject(bookslist1); out.close(); if(file1.exists() try FileInputStream fi1 = new FileInputStream(file1); ObjectInputStream oi1=new ObjectInputStream(fi1); 西华大学数计学院课程设计说明书 18 18 readerlist1=(LinkedList)oi1.readObject(); fi1.close(); oi1.close(); Reader readers=new Reader(); String s1=rno.getText(); String s2=rname.getText(); String s3=borrowdate.getText(); readers.setRno(s1); readers.setRname(s2); readers.setBorrowdate(s3); readerlist1.add(readers); FileOutputStream fo1=new FileOutputStream(file1); ObjectOutputStream out1=new ObjectOutputStream(fo1); out1.writeObject(readerlist1); out1.close(); catch(Exception ee) else try file1.createNewFile(); Reader readers=new Reader(); String s1=rno.getText(); String s2=rname.getText(); String s3=borrowdate.getText(); readers.setRno(s1); readers.setRname(s2); readers.setBorrowdate(s3); readerlist1.add(readers); FileOutputStream fo1=new FileOutputStream(file1); ObjectOutputStream out1=new ObjectOutputStream(fo1); out1.writeObject(readerlist1); out1.close(); catch(Exception e1) catch(Exception ee) 4.5 图书的归还 学生输入需要归还图书的编号,如果归还成功则将读者的借书日期置为 0-0-0. 主要的数据结构是链表,从链表的头依次遍历,直到找到所需的归还图书的编号或 者到链表尾部.这样遍历的时间效率比较低,对于大量的图书需要遍历的话,此算法的时 图书馆管理系统 19 19 间效率低 核心代码: public void actionPerformed(ActionEvent e) try FileInputStream fi=new FileInputStream(file); ObjectInputStream oi=new ObjectInputStream(fi); bookslist1=(LinkedList)oi.readObject(); fi.close(); oi.close(); Books books=new Books(); books.setNo(rno.getText(); while(ibookslist1.size() Books bo=(Books)bookslist1.get(i); if(books.getNo().equals(bo.getNo() int a; a=Integer.parseInt(bo.getSave()+1; bo.setSave(String.valueOf(a); JOptionPane.showMessageDialog(null, 归还成功!); i+; FileOutputStream fo=new FileOutputStream(file); ObjectOutputStream out=new ObjectOutputStream(fo); out.writeObject(bookslist1); out.close(); FileInputStream fi1 = new FileInputStream(file1); ObjectInputStream oi1=new ObjectInputStream(fi1); readerlist1=(LinkedList)oi1.readObject(); fi1.close(); oi1.close(); Reader readers=new Reader(); readers.setRno(rno.getText(); while(jreaderlist1.size() Reader bo1=(Reader)readerlist1.get(j); if(readers.getRno().equals(bo1.getRno() bo1.setBorrowdate(0-0-0); j+; FileOutputStream fo1=new FileOutputStream(file1); 西华大学数计学院课程设计说明书 20 20 ObjectOutputStream out1=new ObjectOutputStream(fo1); out1.writeObject(readerlist1); out1.close(); catch(Exception ee) 4.6 借阅显示 显示出所有学生借阅的书籍,并能得知这些书籍时候归还. 核心代码: public void actionPerformed(ActionEvent e) if(e.getSource()=显示) try FileInputStream fi=new FileInputStream(file); ObjectInputStream oi=new ObjectInputStream(fi); LinkedList readerList=(LinkedList)oi.readObject(); fi.close(); oi.close(); int length=readerList.size(); 表格单元=new Objectlength3; table=new JTable(表格单元,列名); pCenter.removeAll(); pCenter.add(显示,new JScrollPane(table); pCenter.validate(); Iterator iter=readerList.iterator(); int i=0; while(iter.hasNext() Reader read =iter.next(); 表格单元i0= read.getRno(); 表格单元i1=read.getRname(); 表格单元i2=read.getBorrowdate(); i+; table.repaint(); catch(Exception ee) 4.7 软件使用说明 结合运行过程截图说明本软件的使用步骤等 (1).系统登录界面,用户名输入黄朋,密码输入,代表教室管理员登录,进行图书管理. 图书馆管理系统 21 21 用户名输入黄,密码输入,代表学生登录,进行图书的借阅. (2)管理员界面,点击入库 西华大学数计学院课程设计说明书 22 22 (3)管理员界面,输入相应的信息点击录入. (4).管理员界面,点击显示,则显示所有库存图书的信息. (5)点击清除 图书馆管理系统 23 23 (6).输入书号,点击删除. (7).显示出删除后的图书库存信息. 西华大学数计学院课程设计说明书 24 24 (8)学生管理界面,点击借阅 (9).学生借阅,输入图书的书号,书

温馨提示

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

评论

0/150

提交评论