java版图书管理系统课程设计报告.docx

上传人:b****5 文档编号:6720831 上传时间:2023-01-09 格式:DOCX 页数:84 大小:1.63MB
下载 相关 举报
java版图书管理系统课程设计报告.docx_第1页
第1页 / 共84页
java版图书管理系统课程设计报告.docx_第2页
第2页 / 共84页
java版图书管理系统课程设计报告.docx_第3页
第3页 / 共84页
java版图书管理系统课程设计报告.docx_第4页
第4页 / 共84页
java版图书管理系统课程设计报告.docx_第5页
第5页 / 共84页
点击查看更多>>
下载资源
资源描述

java版图书管理系统课程设计报告.docx

《java版图书管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《java版图书管理系统课程设计报告.docx(84页珍藏版)》请在冰豆网上搜索。

java版图书管理系统课程设计报告.docx

java版图书管理系统课程设计报告

 

数据库原理及应用

课程设计说明书

 

题目:

图书馆管理系统

 

院系:

计算机学院

专业班级:

10计科2

学号:

1010311120

学生姓名:

xxx

指导教师:

xxx  

 

 

第一章系统概述

当今时代是飞速发展的信息时代。

在各行各业中离不开信息处理,这正是计算机网被广泛应用于管理信息系统的外部环境。

计算机的最大好处在于利用它

能够进行信息管理。

使用计算机进行信息处理,不仅提高了工作效率,而且大大的提高了其安全性.尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。

计算机进行信息管理与管理信息系统的开发密切相关,系统的开发是系统管理的前提。

本系统就是为了管理好图书馆信息而设计的。

图书馆作为一种信息资源的

集聚地,图书和用户借阅资料繁多,包含很多的信息数据的管理。

该软件最终的使用者是学校,公司,图书馆管理者,并提供以下的功能:

1.默认页提供关于图书馆管理系统的基本信息;

2.图书馆管理者可以根据读者信息创建读者的帐户;

3.如果读者输入的ID在数据库不存在,系统将显示错误页;

4.图书馆管理者必须先登录才能在了解图书馆的详细信息和自己的基本信息,并可以对图书进行添加、查找、修改、注销等的操作,还可对读者进行管理与归类;

5.读者必须先登录才能对图书进行借阅、归还、续借等操作.

第二章需求分析

2.1需求

2。

1.1功能需求

2。

1.1。

1登录界面

为了方便进行管理,我们设置了一个统一的登陆界面。

对于不同身份的人由系统自动判断。

 

2。

1.1.1。

1用户登录

(1)用户信息

此模块包括用户的姓名、密码、年龄和性别。

(2)图书信息

此模块包括图书的类别、名称、作者、出版社、以及图书馆里的现有数量.

(3)借阅图书

此模块包括借阅图书的用户、借阅的时间。

(4)密码的更改

管理员可根据自己的喜好更改自己的登录密码.

 

 

 

登录界面流程图

2.1.1。

2图书信息管理

2。

1。

1.2.1图书清单

1.图书名2.图书编号3.类型4.作者

5。

已借出的本数6.所剩本数

2。

1。

1。

2.2新进图书信息

2。

1.1.2.3图书查询

(1)按作者

(2)按图书名

2.1。

1。

2。

4图书信息的更新及删除

对图书信息进行修改,添加或删除。

 

2.1。

1.3用户信息管理

用户自己可以查看的基本信息,通过用户的信息便于管理员有效的管理用户的借阅信息,可以让自己了解自己的借阅情况。

2。

1。

1。

3。

1个人基本信息

1.学号2.姓名3。

密码4.年龄5.性别6.生日7.电话号码

2。

1。

1.3.2功能

1。

能借阅的书本数量

2.已借书数量

3。

曾经借过的书及所借时间

4.用户信息的更改

2。

1.1。

3.3查询

1.管理查询

管理员可以查询图书馆里的藏书情况,用户的基本信息情况

2。

用户查询

用户可以查询图书馆里的藏书情况和自己的借阅信息

2。

1。

1.3。

4注销和修改用户信息

 

用户信息管理流程图

2。

1。

1.4图书借阅管理

2.1.1。

4.1图书借书管理

(1)读者查询方式

按类型(如小说类、专业类、杂志类)或按出版日期等查询,系统给与提示,若按其中一种查询系统会给出这类查询的所有信息。

(2)图书的借阅

查找到读者所需的书本,若该书没有被借阅或还有库存,则借阅成功,记录借阅的图书的基本信息,借阅的日期和借阅者的详细信息.

 

借书管理流程图

2。

1.1.4.2图书还书管理

(1)退还图书的详细信息

如退还信息,图书信息

(2)还书读者的详细信息

(3)罚款计算方式

设定归还期限,超过归还期限不退还图书者按超过天数增加借阅费用;若没有超期就无需罚款。

(4)赔偿方式

针对退还时图书损坏或丢失者,照原价赔偿。

 

还书管理流程图

2。

1。

2数据需求

n

m

n

m

n

总体E-R属性图

图书属性图

借阅信息属性图

用户信息属性图

2.1.3性能需求

[说明程序对运行时间、存储空间和计算精度的特殊要求]

2。

1。

3。

1运行时间

1。

用户登录请求、个人信息填写完毕后的提交、个人信息更改、删除的操作,响应时间应该在1。

5s之内-—用户不应感到系统有延迟的时间;

2。

管理者对图书进行信息查询,返回记录在100行之内的,响应时间应不超过2s,超过100行记录的情况,应该进行分页显示结果信息;

3.统计分析涉及的数据表众多且数据量大,统计分析时要求系统响应速度快.

2。

1。

3。

2存储空间

存储过程要是存储已经编译好并经过优化的放置于数据库服务器端SQL语句,这些语句可供应用程序直接调用。

因为存储过程是为各功能模块提供能访问的数据接口。

2。

1.3。

3计算精度

1、个人信息:

真实,准确。

2、对图书和读者进行信息查询,应执行不完全匹配的模糊查询;

2。

2环境

2.2.1运行环境

描述运行软件系统所需的软、硬件环境。

2.2.1.1软件环境:

操作系统:

WindowsXP

数据库:

SQL2000

前台环境:

java

设计软件:

Eclipse3.7PowerDesigner1。

5

2.2。

1。

2硬件环境:

Cpu:

Pentium166MHz以上,内存至少128MB,硬盘空间80M,显示器800*600或更高分辨率。

数据库服务器硬件需求:

具有PentiumIII处理器且满足以下要求的计算机:

最低256MB内存

最小20GB硬盘

鼠标

键盘

接口:

系统之间不提供应用程序级别的接口,数据共享通过SQL2000数据库表的公共访问来实现。

2。

2。

2开发环境

描述开发软件系统所需的软、硬件环境。

2。

2。

2.1软件环境:

操作系统:

WindowsXP

开发软件:

本系统需用SQL2000和java平台,以java为编程语言,PowerDesigner1。

5作为数据库辅助设计软件

2。

2。

2。

2硬件环境:

Cpu:

Pentium166MHz以上,内存至少128MB,硬盘空间80M,显示器800*600或更高分辨率。

数据库服务器:

具有PentiumIII处理器且满足以下要求的计算机:

最低256MB内存

最小20GB硬盘

鼠标

键盘

接口:

系统之间不提供应用程序级别的接口,数据共享通过SQL2000数据库表的公共访问来实现。

 

第三章软件设计

3.1总体设计

3。

1.1软件结构设计

 

《图书馆管理系统》总体结构设计

3.1.2数据库设计

[将ERD模型导成关系模型,并进行数据的规范化(达到3范式)。

最后以表单的形式给出数据库中的具体表的结构以及字段的说明。

设计数据库的索引,数据库的视图等对象。

表2-1XX表

字段名

类型

长度

约束

说明

XH

Char

6

主键

学号

XM

Char

20

姓名

数据库关系表

对程序当中所采用的数据库相关的名称和标识符、在数据库当中的位置、定义、度量单位、格式和值域、敏感程度、数据项名、缩写词和代码,包括用于数据库的规格说明等进行定义。

]

3。

1。

3其它

3.1.3.1故障处理维护要求

1.在数据访问、增改时,用户输入一些不合理的数据的时候,能够进行一些合理的提示信息,不能因为输入错误而导致系统的错误,或者窗口关闭;

2.数据库要求有备份机制,以防止数据的全部丢失;

3。

1。

3.2安全保密要求

1.安全性

进行图书跟读者的信息查询和信息的修改,必须是已经登录的用户。

2.可扩充性

系统在开发完毕以后,应允许在后续的改进中进行功能的扩展或者功能的重新解释和实现。

c.健壮性

系统应该保证在一次开机三个月之内稳定运行,数据库在一些事故中能够在系统安装好之后,两小时内恢复.

3。

2模块详细设计

3.2。

1读者模块设计

借阅者(borrower):

主要以自助服务为主,读者通过客户端浏览器登录系统,进行一些权限之内的自主操作,服务器端对其操作进行反馈。

读者第一次登录系统需阅读图书馆管理系统操作手册,并按规定进行后续操作,以方便管理和操作。

读者在操作中遇到困难,可随时阅读我们的在线帮助手册,并可提交意见,以便我们对系统改进。

借阅者可在线进行以下操作:

a.查询图书信息(未登录也可)

b.修改自身资料

c.预定图书

d.对系统进行反馈(给出建议和意见)

借阅者的活动图

3.2。

2图书管理员模块设计

图书管理员(Librarian):

管理员需登录系统,经过系统认证后,获取对系统的操作权限。

图书管理员的操作一般是是由借阅者先提出请求,得到认可后完成请求,并将结果反馈给借阅者,是双方的一个互动的过程.图书管理员一般可进行以下操作:

a.借书

b.还书

c.图书续借

d.超期罚款

图书管理员的活动图

3。

2。

3管理员模块设计

管理员(Administrator):

系统管理员具有系统操作的最高权限,其操作也具有不可逆性,所以系统管理员的操作一定要慎之又慎,以防对系统或数据产生致命性损坏.系统管理员的操作一般是自主操作,当然有时也会收到图书管理员的一些操作请求,并给予其一定帮助,以保证图书管理员操作的效率。

系统管理员一般可进行以下操作:

a.图书管理:

包括新书入库、修改图书信息、删除图书、查询图书信息等

b.读者管理:

包括读者登记、修改读者信息、读者注销、查询读者信息等

c.数据库管理:

包括数据库的备份和恢复等

d.系统设置:

包括对系统信息的设置和图书管理员的管理等

馆长进行读者和图书信息维护的活动图

第四章系统实现

4。

1登录模块

4。

1。

1模块界面

1。

用户登陆

2.系统主窗口

3.操作员窗口

4.读者添加窗口

4。

1。

2功能说明

扼要说明本模块(或本组模块)的功能,需要输入/输出的数据项,描述输入数据的输入形式和验证手段,以及对界面操作过程需要特别注意的地方进行说明.

4.1.3原代码清单

1.登录窗口

packagecom.wsy;

importjava.awt.BorderLayout;

importjava.awt.Dimension;

//importjava.awt。

Dialog。

ModalExclusionType;

importjava。

awt。

event.ComponentAdapter;

importjava.awt.event.ComponentEvent;

importjava。

net.URL;

importjavax。

swing。

ImageIcon;

importjavax.swing。

JButton;

importjavax。

swing.JDesktopPane;

importjavax.swing。

JFrame;

importjavax.swing.JInternalFrame;

importjavax.swing.JLabel;

importjavax.swing。

JMenu;

importjavax.swing。

JMenuBar;

importjavax。

swing.JToolBar;

importjavax.swing.UIManager;

importjavax。

swing。

WindowConstants;

importjavax.swing。

border.BevelBorder;

importcom.wsy.iframe.BookLoginIFrame;

importcom。

wsy。

util.CreatecdIcon;;

/**

*主窗体

*/

publicclassLibraryextendsJFrame{

privatestaticfinalJDesktopPaneDESKTOP_PANE=newJDesktopPane();

publicstaticvoidmain(String[]args){

try{

UIManager。

setLookAndFeel(UIManager

getSystemLookAndFeelClassName());

newBookLoginIFrame();//登录窗口

}catch(Exceptionex){

ex。

printStackTrace();

}

}

publicstaticvoidaddIFame(JInternalFrameiframe){//添加子窗体的方法

DESKTOP_PANE。

add(iframe);

}

publicLibrary(){

super();

setDefaultCloseOperation(WindowConstants。

EXIT_ON_CLOSE);

//setModalExclusionType(ModalExclusionType。

APPLICATION_EXCLUDE);

setLocationByPlatform(true);

setSize(800,600);

setTitle(”图书馆管理系统");

JMenuBarmenuBar=createMenu();//调用创建菜单栏的方法

setJMenuBar(menuBar);

JToolBartoolBar=createToolBar();//调用创建工具栏的方法

getContentPane()。

add(toolBar,BorderLayout。

NORTH);

finalJLabellabel=newJLabel();

label。

setBounds(0,0,0,0);

label。

setIcon(null);//窗体背景

DESKTOP_PANE.addComponentListener(newComponentAdapter(){

publicvoidcomponentResized(finalComponentEvente){

Dimensionsize=e.getComponent().getSize();

label。

setSize(e。

getComponent().getSize());

label。

setText("〈html〉〈imgwidth="+size.width+”height="

+size。

height+"src='"

+this。

getClass().getResource("/backImg.jpg”)

+"'>〈/html>");

}

});

DESKTOP_PANE。

add(label,newInteger(Integer。

MIN_VALUE));

getContentPane().add(DESKTOP_PANE);

/**

*创建工具栏

*

*@returnJToolBar

*/

privateJToolBarcreateToolBar(){//创建工具栏的方法

JToolBartoolBar=newJToolBar();

toolBar。

setFloatable(false);

toolBar.setBorder(newBevelBorder(BevelBorder。

RAISED));

JButtonbookAddButton=newJButton(MenuActions.BOOK_ADD);

//ImageIconicon=CreatecdIcon.add("bookAdd.bmp”);//创建图标方法

ImageIconicon=newImageIcon(Library.class.getResource("/bookAddtb。

jpg”));//添加菜单栏图标

bookAddButton。

setIcon(icon);

bookAddButton。

setHideActionText(true);

//bookAddButton.setToolTipText(”fjdkjfk”);//图片上提示字

toolBar。

add(bookAddButton);

//toolBar。

add(MenuActions.BOOK_MODIFY);

//在工具栏中添加图书修改与删除图标

JButtonbookModiAndDelButton=newJButton(MenuActions。

BOOK_MODIFY);

ImageIconbookmodiicon=CreatecdIcon。

add("bookModiAndDeltb。

jpg");//创建图标方法

bookModiAndDelButton。

setIcon(bookmodiicon);

bookModiAndDelButton.setHideActionText(true);

toolBar。

add(bookModiAndDelButton);

JButtonbookTypeAddButton=newJButton(MenuActions.BOOKTYPE_ADD);

ImageIconbookTypeAddicon=CreatecdIcon。

add(”bookTypeAddtb。

jpg”);//创建图标方法

bookTypeAddButton。

setIcon(bookTypeAddicon);

bookTypeAddButton。

setHideActionText(true);

toolBar.add(bookTypeAddButton);

JButtonbookBorrowButton=newJButton(MenuActions。

BORROW);

ImageIconbookBorrowicon=CreatecdIcon.add(”bookBorrowtb。

jpg”);//创建图标方法

bookBorrowButton.setIcon(bookBorrowicon);

bookBorrowButton.setHideActionText(true);

toolBar。

add(bookBorrowButton);

JButtonbookOrderButton=newJButton(MenuActions.NEWBOOK_ORDER);

ImageIconbookOrdericon=CreatecdIcon.add(”bookOrdertb。

jpg");//创建图标方法

bookOrderButton.setIcon(bookOrdericon);

bookOrderButton。

setHideActionText(true);

toolBar.add(bookOrderButton);

JButtonbookCheckButton=newJButton(MenuActions.NEWBOOK_CHECK_ACCEPT);

ImageIconbookCheckicon=CreatecdIcon.add("newbookChecktb。

jpg");//创建图标方法

bookCheckButton.setIcon(bookCheckicon);

bookCheckButton.setHideActionText(true);

toolBar。

add(bookCheckButton);

JButtonreaderAddButton=newJButton(MenuActions。

READER_ADD);

ImageIconreaderAddicon=CreatecdIcon。

add("readerAddtb.jpg”);//创建图标方法

readerAddButton.setIcon(readerAddicon);

readerAddButton.setHideActionText(true);

toolBar.add(readerAddButton);

JButtonreaderModiAndDelButton=newJButton(MenuActions。

READER_MODIFY);

ImageIconreaderModiAndDelicon=CreatecdIcon.add(”readerModiAndDeltb。

jpg");//创建图标方法

readerModiAndDelButton。

setIcon(readerModiAndDelicon);

readerModiAndDelButton。

setHideActionText(true);

toolBar。

add(readerModiAndDelButton);

JButtonExitButton=newJButton(MenuActions.EXIT);

ImageIconExiticon=CreatecdIcon.add("exittb。

jpg");//创建图标方法

ExitButton。

setIcon(Exiticon);

ExitButton。

setHideActionText(true);

toolBar。

add(ExitButton);

returntoolBar;

/**

*创建菜单栏

*/

privateJMenuBarcreateMenu(){//创建菜单栏的方法

JMenuBarmenuBar=newJMenuBar();

JMenubookOrderMenu=newJMenu();//初始化新书订购管理菜单

bookOrderMenu。

setIcon(CreatecdIcon。

add("xsdgcd.jpg"));

bookOrderMenu.add(MenuActions.NEWBOOK_ORDER);

bookOrderMenu。

add(MenuActions.NEWBOOK_CHECK_ACCEPT);

JMenubaseMenu=newJMenu();//初始化基础数据维护菜单

baseMenu.setIcon(CreatecdIcon.add("jcsjcd.jpg”));

JMenureaderManagerMItem=newJ

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1