图书信息管理系统说明书【精华版】_第1页
图书信息管理系统说明书【精华版】_第2页
图书信息管理系统说明书【精华版】_第3页
图书信息管理系统说明书【精华版】_第4页
图书信息管理系统说明书【精华版】_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、*实践教学*兰州理工大学计算机与通信学院2012年秋季学期Java课程设计题 目: 图书信息管理系统 专业班级: 软件基地1班 姓 名: * 学 号: * 指导教师: * 成 绩: I摘 要本软件从工大现有图书管理平台得到灵感,分别从读者和管理员的角度进行了分析和设计,最终实现了该图书信息系统管理的多种功能。主要包括:图书信息添加、图书信息修改与删除、图书类别添加、图书类别修改、读者信息添加修改、用户信息添加修改等功能。关键词:图书信息,管理系统, java语言, 面向对象, 界面设计IIII目 录摘 要II序 言1第一章 分析与设计2第二章 详细设计4第三章 系统测试10第四章 软件使用说明

2、书14设计总结16参考文献17致 谢18I序 言工大图书信息管理系统是智能移动平台开发实验室专为兰州理工大学图书管理开发的一款管理软件。软件界面清新自然,美观大方,参考工大现有图书管理平台得到灵感,分别从读者和管理员的角度进行了分析和设计,最终实现了图书信息系统管理的功能。主要包括:图书信息添加、图书信息修改与删除、图书类别添加、图书类别修改、读者信息添加修改、用户信息添加修改等功能。18第一章 分析与设计参考工大现有图书管理平台得到灵感,分别从读者和管理员的角度进行了分析和设计,首先在程序功能上,主要包括图书信息添加、图书信息修改与删除、图书类别添加、图书类别修改、读者信息添加修改、用户信息

3、添加修改等功能。他们之间的关系展示在下图所示的程序功能结构图中。程序从功能上,主要分为基础数据维护和系统数据维护。基础数据维护功能由图书类别管理、图书信息管理和读者信息管理这三项子功能组成,每项又分为添加和修改删除;系统数据维护功能包括更改口令和修改用户信息。功能结构图:另外从界面上进行设计,按照要求设计为菜单式工作方式。除菜单栏外,又增加了工具栏,可视界面美观大方且方便用和使用和查看。界面设计结构主要由下面的界面设计结构图展示,分两栏,菜单栏中设有程序的全部功能菜单项,工具栏中设有常用工具的快捷按钮,每个菜单项或按钮对应一个程序功能的界面。设计结构图:第二章 详细设计 工程根据结构图建包,分

4、别创建main,iframe,methods,util和model这五个包。main包中放置程序主界面及主界面上各菜单项和按钮的监听事件。Iframe包中放置所有的子功能界面及界面上的功能实现代码。Methods、util和model这三个包中放置的是程序的各方法类。其中methods包中只有一个与数据库对接的核心方法类,util中放置程序的各个公共方法类,详细的结构如下图工程目录显示。下面主要详细介绍main和iframe包中的各个类的设计与实现。main包中仅包含了一个主界面类和一个主界面上各菜单项和按钮的监听类。主界面Library.java构造出主界面的布局及主界面上的菜单项和工具栏。

5、菜单栏分为基础数据维护、新书订购管理、借阅管理、系统维护和关于我们这5项,每项又分出几个子项,菜单栏中囊括了软件的全部功能。工具栏内设有9个按钮,分别对应9个常用的功能界面,可使软件主界面美观且使用方便。Library.java的核心代码及详细注释展示如下:下面通过构造函数,构造主界面窗体,设置窗口大小、布局、标题等属性,嵌套主窗体背景, 添加菜单栏和工具栏。 布局选用BorderLayout,背景图片添加到DESKTOP_PANE中,工具栏和菜单栏加到布局顶部。public Library() super();setDefaultCloseOperation(WindowConstants.

6、EXIT_ON_CLOSE);/setModalExclusionType(ModalExclusionType.APPLICATION_EXCLUDE);setLocationByPlatform(true);setSize(800, 600);setTitle("图书馆管理系统");JMenuBar menuBar = createMenu(); / 调用创建菜单栏的方法setJMenuBar(menuBar);JToolBar toolBar = createToolBar(); / 调用创建工具栏的方法getContentPane().add(toolBar, Bo

7、rderLayout.NORTH);final JLabel label = new JLabel();label.setBounds(0, 0, 0, 0);label.setIcon(null); / 窗体背景DESKTOP_PANE.addComponentListener(new ComponentAdapter() public void componentResized(final ComponentEvent e) Dimension size = e.getComponent().getSize();label.setSize(e.getComponent().getSize(

8、);label.setText("<html><img width=" + size.width + " height="+ size.height + " src='"+ this.getClass().getResource("/main_bg.png")+ "'></html>"););DESKTOP_PANE.add(label,new Integer(Integer.MIN_VALUE);getContentPane().add(DE

9、SKTOP_PANE);工具栏创建方法,用于被构造函数调用创建工具栏。工具栏中添加9个JButton,为每个按钮添加一张图片,所有按钮的监听方法都放在MenuActions.java中便于管理,并且方便重复代码的编写。private JToolBar createToolBar() / 创建工具栏的方法JToolBar toolBar = new JToolBar();toolBar.setFloatable(false);toolBar.setBorder(new BevelBorder(BevelBorder.RAISED);JButton bookAddButton=new JButto

10、n(MenuActions.BOOK_ADD); ImageIcon icon=new ImageIcon(Library.class.getResource("/bookAddtb.jpg");/添加菜单栏图标bookAddButton.setIcon(icon);bookAddButton.setHideActionText(true);toolBar.add(bookAddButton);/在工具栏中添加图书修改与删除图标JButton bookModiAndDelButton=new JButton(MenuActions.BOOK_MODIFY);ImageIco

11、n bookmodiicon=CreatecdIcon.add("bookModiAndDeltb.jpg");/创建图标方法bookModiAndDelButton.setIcon(bookmodiicon);bookModiAndDelButton.setHideActionText(true);toolBar.add(bookModiAndDelButton);JButton bookTypeAddButton=new JButton(MenuActions.BOOKTYPE_ADD);ImageIcon bookTypeAddicon=CreatecdIcon.ad

12、d("bookTypeAddtb.jpg");/创建图标方法bookTypeAddButton.setIcon(bookTypeAddicon);bookTypeAddButton.setHideActionText(true);toolBar.add(bookTypeAddButton);9个JButton的添加方法是基本一样的,这里将其他按钮的添加方法略去,如果需要完整方法,请到源代码中的相应类的文件中进行查看。return toolBar; 菜单栏创建方法,用于被构造函数调用来创建菜单栏。菜单采用多级菜单嵌套,菜单栏中分5个主菜单,分别是基础数据维护、新书订购管理、借

13、阅管理、系统维护和关于我们。基础数据维护又分为读者信息管理、图书类别管理、图书信息管理和退出系统。读者信息管理分为读者信息添加和读者信息修改与删除,图书类别管理分为图书类别添加和图书类别修改,图书信息管理分为图书信息添加和图书修改。新书订购管理分为新书订购和验收新书。借阅管理分为图书借阅、图书归还和图书搜索。系统维护分为更改口令和用户管理,其中用户管理又分为用户添加和用户修改与删除。最后是关于我们,只有关于我们这一个菜单。先将菜单项添入子菜单,子菜单添入主菜单,再将主菜单按顺序添入菜单栏。每个菜单项的监听方法同样是写在MenuActions.java中。private JMenuBar cre

14、ateMenu() / 创建菜单栏的方法JMenuBar menuBar = new JMenuBar();JMenu baseMenu = new JMenu();/ 初始化基础数据维护菜单baseMenu.setIcon(CreatecdIcon.add("jcsjcd.jpg");JMenu readerManagerMItem = new JMenu("读者信息管理");readerManagerMItem.add(MenuActions.READER_ADD);readerManagerMItem.add(MenuActions.READER_

15、MODIFY);JMenu bookTypeManageMItem = new JMenu("图书类别管理");bookTypeManageMItem.add(MenuActions.BOOKTYPE_ADD);bookTypeManageMItem.add(MenuActions.BOOKTYPE_MODIFY);JMenu menu = new JMenu("图书信息管理");menu.add(MenuActions.BOOK_ADD);menu.add(MenuActions.BOOK_MODIFY);baseMenu.add(readerMana

16、gerMItem);baseMenu.add(bookTypeManageMItem);baseMenu.add(menu);baseMenu.addSeparator();baseMenu.add(MenuActions.EXIT);这里略去其他几个菜单的相同添加方法,如果需要完整方法,请到源代码中的相应类的文件中进行查看。menuBar.add(baseMenu); / 添加基础数据维护菜单到菜单栏menuBar.add(bookOrderMenu); / 添加新书订购管理菜单到菜单栏menuBar.add(borrowManageMenu); / 添加借阅管理菜单到菜单栏menuBar.

17、add(sysManageMenu); / 添加系统维护菜单到菜单栏menuBar.add(aboutMenu); / 添加关于我们菜单到菜单栏return menuBar;Iframe包中16个类分别对应16个功能界面及其监听方法和调用数据库增删改查的方法。16项功能分别是系统登录、图书信息添加、图书信息修改与删除、图书类别添加、图书类别修改、读者信息添加、读者信息修改与删除、用户信息添加、用户信息修改与删除、新书订购、新书验收、图书借阅管理、图书归还管理、图书信息查询、更改密码和关于我们。类项太多,这里不再一一给出代码,我们这里取图书信息查询BookSearchIFrame.java类来详

18、细解释界面实现和与数据库对接的实现,核心代码如下:下面是图书查询构造函数,构造出窗体组件和按钮的功能监听。public BookSearchIFrame() super();setIconifiable(true);setClosable(true);setTitle("图书查询");setBounds(100, 100, 500, 400);setVisible(true);前半段就略去了,都是一些窗口组件的构造过程,方法基本一致,下面主要看两个按钮的添加和触发后的功能。查询按钮点击后,首先获取JComboBox中的选项是按书名查询还是按作者查询,然后获取后面文本框中的字

19、段,最后选择调用Methods中的selectbookmohuwriter方法还是selectbookmohu方法。在Methods中写出连接调用数据库的方法,并通过sql查询语句将要查询的结果按顺序查询出来,并将查询出的进行处理后返回当前类,当前类获取到查询结果,并将结果显示在下面的JScrollPane中,从而完成了整个图书搜索和排序顺序显示的功能,详细代码如下。final JButton button = new JButton();button.setText("查询");panel_2_1.add(button);/添加查询按钮监听button.addAction

20、Listener(new ActionListener()public void actionPerformed(ActionEvent arg0) String name=(String)choice.getSelectedItem();if(name.equals("图书名称")Object results=getselect(Methods.selectbookmohu(textField_1.getText();table_2 = new JTable(results,booksearch);scrollPane_1.setViewportView(table_2)

21、;else if(name.equals("图书作者")Object results=getselect(Methods.selectbookmohuwriter(textField_1.getText();table_2 = new JTable(results,booksearch);scrollPane_1.setViewportView(table_2); );final JButton button_1 = new JButton();button_1.setText("退出");panel_2_1.add(button_1);button_1

22、.addActionListener(new CloseActionListener();setVisible(true);final JPanel panel_2 = new JPanel();tabbedPane.addTab("显示图书全部信息", null, panel_2, null); scrollPane = new JScrollPane();scrollPane.setPreferredSize(new Dimension(450, 250);panel_2.add(scrollPane);Object results=getselect(Methods.

23、selectbookserch();String booksearch = "编号", "分类", "名称", "作者", "译者","出版社", "出版日期", "单价" ;table_1 = new JTable(results,booksearch);scrollPane.setViewportView(table_1);这里主要取了图书信息查询BookSearchIFrame.java类来详细解释界面实现和与数据库对接的实现,其

24、他的15个类跟BookSearchIFrame.java结构相同,都是先写界面,再写触发事件,然后调用Methods中的相应的查询或修改方法,最后将结果返回调用该方法的类,在该类中将结果显示出来,最后调用JOptionPane.showMessageDialog方法,显示添加、修改、删除、查询功能的成功。详细程序设计就介绍这么多,更多内容请详细查看源代码,下面介绍系统测试结果和使用说明书。第三章 系统测试 图书信息修改功能测试:图书类别修改测试:读者信息修改测试:图书查询通过书名模糊查询:图书查询通过姓名模糊查询:显示全部图书信息,并按编号排序:第四章 软件使用说明书 程序登陆界面开始,输入正

25、确的管理员用户名和密码后即可进入主界面。程序主界面由5个菜单和9个工具按钮组成,个菜单项和按钮的功能即对应各个子功能界面。各菜单项和功能按钮展示如下: 基础数据维护功能菜单:借阅管理菜单:系统维护菜单:最后来张全部窗口集:设计总结这次课程设计使我有了如下诸多的收获:巩固和加深了对Java的理解,提高综合运用Java多方面知识的能力。培养了我选用参考书,查阅手册及文献资料的能力。培养独立思考,深入研究,分析问题、解决问题的能力。通过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法和工程设计方法。通过课程设计,培养了我严肃认真的工作作风,逐步建立正确的生产观念、经济观念和全局观念。根据我在

26、实习中遇到得问题,我将在以后的学习过程中注意以下几点: 1、认真上好专业实验课,多在实践中锻炼自己。2、写程序的过程中要考虑周到,严密。3、在做设计的时候要有信心,有耐心,切勿浮躁。4、认真的学习课本知识,掌握课本中的知识点,并在此基础上学会灵活运用。5、在课余时间里多写程序,熟练掌握在调试程序的过程中所遇到的常见错误,以便能节省调试程序的时间。本次课程设计终于结束了。通过这次课程设计,我加深了对Java这门面向对象语言的理解,并能够熟练地将它们运用到实际操作中。虽然系统的基本功能都已实现,但还是存在一些小的细节问题尚待解决。我正在做系统的过程中遇到了很多问题,有的是知识存储不足,有的是考虑不够周全,之所以能够顺利实现基本功功能,离不开老师和同学的大力相助。事实证明,只靠自己是不能顺利完成一套功能完整的系统的,必须充分利用团队的力量。开发一套系统,最重要的是细心,并不是一定要做到面面俱到,但也要充分考虑到客户的需求和现实意义,不管什么系统,只用运用到实际

温馨提示

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

评论

0/150

提交评论