图书信息管理系统说明书【精华版】

  • 格式:doc
  • 大小:2.29 MB
  • 文档页数:21

*******************实践教学*******************兰州理工大学计算机与通信学院2012年秋季学期Java课程设计题目:图书信息管理系统专业班级:软件基地1班姓名:***学号:***指导教师:***成绩:摘要本软件从工大现有图书管理平台得到灵感,分别从读者和管理员的角度进行了分析和设计,最终实现了该图书信息系统管理的多种功能。

主要包括:图书信息添加、图书信息修改与删除、图书类别添加、图书类别修改、读者信息添加修改、用户信息添加修改等功能。

关键词:图书信息,管理系统, java语言, 面向对象, 界面设计目录摘要 ................................................................................................................................................. II 序言 .. (1)第一章分析与设计 (2)第二章详细设计 (4)第三章系统测试 (10)第四章软件使用说明书 (14)设计总结 (16)参考文献 (17)致谢 (18)序言工大图书信息管理系统是智能移动平台开发实验室专为兰州理工大学图书管理开发的一款管理软件。

软件界面清新自然,美观大方,参考工大现有图书管理平台得到灵感,分别从读者和管理员的角度进行了分析和设计,最终实现了图书信息系统管理的功能。

主要包括:图书信息添加、图书信息修改与删除、图书类别添加、图书类别修改、读者信息添加修改、用户信息添加修改等功能。

第一章分析与设计参考工大现有图书管理平台得到灵感,分别从读者和管理员的角度进行了分析和设计,首先在程序功能上,主要包括图书信息添加、图书信息修改与删除、图书类别添加、图书类别修改、读者信息添加修改、用户信息添加修改等功能。

他们之间的关系展示在下图所示的程序功能结构图中。

程序从功能上,主要分为基础数据维护和系统数据维护。

基础数据维护功能由图书类别管理、图书信息管理和读者信息管理这三项子功能组成,每项又分为添加和修改删除;系统数据维护功能包括更改口令和修改用户信息。

功能结构图:另外从界面上进行设计,按照要求设计为菜单式工作方式。

除菜单栏外,又增加了工具栏,可视界面美观大方且方便用和使用和查看。

界面设计结构主要由下面的界面设计结构图展示,分两栏,菜单栏中设有程序的全部功能菜单项,工具栏中设有常用工具的快捷按钮,每个菜单项或按钮对应一个程序功能的界面。

设计结构图:第二章详细设计工程根据结构图建包,分别创建main,iframe,methods,util和model 这五个包。

main包中放置程序主界面及主界面上各菜单项和按钮的监听事件。

Iframe包中放置所有的子功能界面及界面上的功能实现代码。

Methods、util 和model这三个包中放置的是程序的各方法类。

其中methods包中只有一个与数据库对接的核心方法类,util中放置程序的各个公共方法类,详细的结构如下图工程目录显示。

下面主要详细介绍main和iframe包中的各个类的设计与实现。

main包中仅包含了一个主界面类和一个主界面上各菜单项和按钮的监听类。

主界面Library.java构造出主界面的布局及主界面上的菜单项和工具栏。

菜单栏分为基础数据维护、新书订购管理、借阅管理、系统维护和关于我们这5项,每项又分出几个子项,菜单栏中囊括了软件的全部功能。

工具栏内设有9个按钮,分别对应9个常用的功能界面,可使软件主界面美观且使用方便。

Library.java的核心代码及详细注释展示如下:下面通过构造函数,构造主界面窗体,设置窗口大小、布局、标题等属性,嵌套主窗体背景,添加菜单栏和工具栏。

布局选用BorderLayout,背景图片添加到DESKTOP_PANE中,工具栏和菜单栏加到布局顶部。

public Library() {super();setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//setModalExclusionType(ModalExclusionType.APPLICATION_EXCLUDE);setLocationByPlatform(true);setSize(800, 600);setTitle("图书馆管理系统");JMenuBar menuBar = createMenu(); // 调用创建菜单栏的方法setJMenuBar(menuBar);JToolBar toolBar = createToolBar(); // 调用创建工具栏的方法getContentPane().add(toolBar, BorderLayout.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());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(DESKTOP_PANE);}工具栏创建方法,用于被构造函数调用创建工具栏。

工具栏中添加9个JButton,为每个按钮添加一张图片,所有按钮的监听方法都放在MenuActions.java中便于管理,并且方便重复代码的编写。

private JToolBar createToolBar() { // 创建工具栏的方法JToolBar toolBar = new JToolBar();toolBar.setFloatable(false);toolBar.setBorder(new BevelBorder(BevelBorder.RAISED));JButton bookAddButton=new JButton(MenuActions.BOOK_ADD);ImageIcon icon=newImageIcon(Library.class.getResource("/bookAddtb.jpg"));//添加菜单栏图标bookAddButton.setIcon(icon);bookAddButton.setHideActionText(true);toolBar.add(bookAddButton);//在工具栏中添加图书修改与删除图标JButton bookModiAndDelButton=new JButton(MenuActions.BOOK_MODIFY);ImageIcon bookmodiicon=CreatecdIcon.add("bookModiAndDeltb.jpg");//创建图标方法bookModiAndDelButton.setIcon(bookmodiicon);bookModiAndDelButton.setHideActionText(true);toolBar.add(bookModiAndDelButton);JButton bookTypeAddButton=new JButton(MenuActions.BOOKTYPE_ADD);ImageIcon bookTypeAddicon=CreatecdIcon.add("bookTypeAddtb.jpg");//创建图标方法bookTypeAddButton.setIcon(bookTypeAddicon);bookTypeAddButton.setHideActionText(true);toolBar.add(bookTypeAddButton);9个JButton的添加方法是基本一样的,这里将其他按钮的添加方法略去,如果需要完整方法,请到源代码中的相应类的文件中进行查看。

return toolBar;}菜单栏创建方法,用于被构造函数调用来创建菜单栏。

菜单采用多级菜单嵌套,菜单栏中分5个主菜单,分别是基础数据维护、新书订购管理、借阅管理、系统维护和关于我们。

基础数据维护又分为读者信息管理、图书类别管理、图书信息管理和退出系统。

读者信息管理分为读者信息添加和读者信息修改与删除,图书类别管理分为图书类别添加和图书类别修改,图书信息管理分为图书信息添加和图书修改。

新书订购管理分为新书订购和验收新书。

借阅管理分为图书借阅、图书归还和图书搜索。

系统维护分为更改口令和用户管理,其中用户管理又分为用户添加和用户修改与删除。

最后是关于我们,只有关于我们这一个菜单。

先将菜单项添入子菜单,子菜单添入主菜单,再将主菜单按顺序添入菜单栏。

每个菜单项的监听方法同样是写在MenuActions.java中。

private JMenuBar createMenu() { // 创建菜单栏的方法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_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(readerManagerMItem);baseMenu.add(bookTypeManageMItem);baseMenu.add(menu);baseMenu.addSeparator();baseMenu.add(MenuActions.EXIT);}这里略去其他几个菜单的相同添加方法,如果需要完整方法,请到源代码中的相应类的文件中进行查看。