图书管理系统论文.docx

上传人:b****8 文档编号:11442413 上传时间:2023-03-01 格式:DOCX 页数:77 大小:5.70MB
下载 相关 举报
图书管理系统论文.docx_第1页
第1页 / 共77页
图书管理系统论文.docx_第2页
第2页 / 共77页
图书管理系统论文.docx_第3页
第3页 / 共77页
图书管理系统论文.docx_第4页
第4页 / 共77页
图书管理系统论文.docx_第5页
第5页 / 共77页
点击查看更多>>
下载资源
资源描述

图书管理系统论文.docx

《图书管理系统论文.docx》由会员分享,可在线阅读,更多相关《图书管理系统论文.docx(77页珍藏版)》请在冰豆网上搜索。

图书管理系统论文.docx

图书管理系统论文

重庆邮电大学

Java程序设计报告书

题目小型图书管理系统

二级学院计算机科学与技术学院

专业名称计算机科学与技术专业

班级

小组成员

姓名学号

姓名学号

姓名学号

姓名学号

姓名学号

指导教师(职称学位)

二010年12月

 

一、课程设计目的

1、进一步熟悉数据库设计过程和一些开发工具的使用。

在设计数据库过程中使用的是mysql数据库,这个数据库虽然小巧好用,但是因为不占领主要市场,只适合小型数据库使用,所以介绍的书比较少,给学习使用造成了一定的困难。

虽然像Oracle、DB2介绍的书比较多,也比较系统,但是考虑到自己的软硬件资源有限,且开发规模不会很大,最终选择了MySql数据库。

经过长时间的努力收集资料,查找图书,虽然没有找到什么系统的详细的资料,已经足够使用了。

后来找到了图像化开发工具,workbench和QueryBrowser使得建模和测试变得容易很多。

也熟悉了JBuilder、MyEclipse、NetBeans的使用。

对于初学者而言,我一点也不推荐使用Eclipse.一个字慢。

并且很耗内存,不方便。

JBuilder更不用说。

相对来说NetBeans要好一些,我现在编写比较小的程序都是用TextPad,这个工具快捷,不好内存。

只生成字节码文件和java源文件,不过少了比较常用的功能使他在某些方面非常不便。

好像也不支持多文件编译与连接。

中和考虑还是使用NetBeans比较好。

大家可以试试。

我个人认为,一种好的开发工具,一本好的教材,和优秀的老师,是学习快速成功的三大法宝。

 

2、掌握用java连接数据库方法的并与数据库进行交互。

要与数据进行沟通,首先就要知道如何连接数据库。

要连接就要有驱动。

据书上介绍,主要有四种连接方式。

TYPE1,TYPE2TYPE3,TYPE4。

目前MySQL使用的是connector-j驱动。

连接也比较容易,操作也比较容易上手。

问题主要出在数据库上。

数据库的概念模式是不依赖于软硬件的,但是从概念模式转换成内部模式后就会出问题。

因为内部模式是依赖于DBMS的。

不同的DBMS具有细微上的差异,容易出错。

Java与数据库进行交互也有一套语法,不过不多,本程序开发只需要掌握基本的就行了。

如果在精力和时间允许的情况下,再将将系统进行完善扩充,不断扩大,以进一步提高。

 

3、将java应用程序理论运用于实践,加深对知识的理解和提高实际操作能力

计算是一门理论和实践相结合的学科。

对于初学编程的学生来说,要先看书然后亲自动手做一遍。

即使是照抄也会出现许多错误,通过对错误的分析与修改就会不断的积累经验。

就会越学越有兴趣,不断取得进步。

通过实践检验过的知识会变得牢固而深刻。

编程本来就是一间很苦的事情,脑力和体力消耗都比较大。

只有在不断的编辑、运行与修改当中,才会量变引起质变。

通过本次项目的开发我相信我们的编程能力会有很大的提升。

 

4、能够进行基本的图形界面设计与优化,能够设计比较友好的界面。

设计优美而友好的界面,是一门艺术。

艺术需要修炼、琢磨、领悟与灵感的完美结合,才能创造出然人陶醉的艺术作品。

图形界面之所流行,主要有两个原因,一是界面的优美给人一种美感。

有一句话叫做爱美之心人皆有之。

第一印象靠的就是外表。

二是图形界面形象生动,易于学习和操作。

友好的界面对软件来说也是很重要的。

设计友好的界面,能体现出一个人的审美情趣和艺术细胞。

也能够提升美学欣赏与设计能力。

这对于图形界面窗口编程来说是一个很好的实践方式。

 

5、设计一个界面友好简单易用的小型图书管理系统

本项目设计的是一个小图书管理系统的应用程序。

旨在明确图书管理的主要操作流程,用java实现与数据库进行交互(这是最主要的目的,考虑到以后几乎每一种编程都会与数据库打交道,有必要打一下基础)。

此外,为了扩充其他方面的知识,在图书管理系统的基础上增加了附加功能模块,比如万年历,浏览器等功能,提高了管理的人性化。

这对于增长其他方面的知识是非常重要的。

在开发这个项目之初就考虑到系统的可扩展性。

只要有时间,有精力就可也把其他的程序组件挂到图书管理系统这个主框架上。

虽然不一定与图书管理操作密切相关,但是这与开发这个项目的初衷——将java理论运用于实践,巩固知识,提高能力,是一致的。

 

6、整个开发过程基本按照软件工程的开发过程进行,体验软件工程的开发模式和思想

我们在学习java的同时也在学习软件工程。

因此将软件工程的思想运用于本项目的开发将具有重大意义,这是理论与实践相结合的具体体现。

这对加深软件工程思想的认识是非常重要的。

 

7、加强小组团队合作能力,提高开发效率

通过本次项目的开发。

体验了团队开发的环境。

通过队员之间的分工合作,减轻了个人工作负担,使工作效率得到了提高,也可以发挥个人优势,比如有的擅长写文档就分配他写文档,擅长编程擅长编程的就让他编程。

这样能合理分配人力资源,取长补短,能够加快工作进度。

团队之间团结合作的气氛对于组员保持较高的工作热情有很大的促进作用。

有一句好话叫做合作愉快,说的就是这个道理。

就像打篮球一样,要有配合才会打得精彩,才会打得有激情。

增强团队合作的能力,有助于在以后的竞争中立于不败之地。

 

二、课程设计内容

1、课程设计简介

本课程设计是以设计小图书管理系统为主要内容,以客户/服务器的模式在一台PC机上通过应用程序实现与数据库进行交互,实现管理员和读者的基本操作,比如图书信息查询,图书增、删、改等。

以及一些增加管理人性化的附加功能。

本系统界面设计优美,功能比较齐全,扩充性和易用性都很好。

由于是第一次用java开发项目,经验十分不足,在此过程中涉及了很多技术问题。

查看了很多参考文献,由于时间、经历和能力有限,不足之处难以避免,敬请读者批评与指正,我们将会在以后的过程中不断予以改进和扩充。

 

2、设计说明

1、开发语言

Java、sql

2、开发平台

WindowsXPPC机

3、开发环境

JBbuilder、TextPad

4、辅助开发工具

mysqlGUI,workbench,rationalrose_2003

5、数据库服务器

MySQLSever

6、参考文献

参考书籍

《JDBC数据库程序设计》中国铁道出版社

《JAVA图形用户界面设计与实例》冶金工业出版社

《java数据库编程》电子工业出版社

《java醒目开发与实践》中国铁道出版社

其他文献

java数据库编程宝典

rational_rose_2003j基础教程

MySQL入门

MySQL_workbench使用教程

java数据库编程

java项目开发

数据库设计、实现与管理

java窗口图形界面编程

7、设计思想与方法

采用软件工程设计思想和完全面向对象的设计方法

 

3、设计流程

 

4、实现功能

(1)登陆窗口实现的功能

(2)管理员窗口实现的功能

(3)读者信息管理与管理员信息管理窗口实现的功能

(4)读者操作窗口

(5)读者更改密码窗口实现的功能

(6)万年例窗口实现的功能

(7)简单浏览器窗口实现的功能

(8)围棋窗口实现的功能

(9)借还信息查询窗口实现的功能

 

5、概要设计

(1)数据库设计

(2)系统层次划分

(3)软件体系结构

(4)存储策略

采用关系型数据库存储数据,并使用MySQL数据库作为数据库服务器

(5)部署子系统

说明:

本程序是在一个PC机上模拟客户/服务器模式。

也就是说在一台机器上同时运行应用程序和数据库服务器,并且分别模拟管理员和用户角色。

在实际生活中,应该在管理员PC上运行与管理员相应的应用程序,而在读者进行查询的PC机上运行与读者查询相关的应用程序。

 

6、详细设计

(1)方法与属性建模

说明:

这是读者登陆类窗口属性与方法建模设计实例

(2)状态建模

(3)关系建模

说明:

由于时间和空间有限的关系,上面都只演示其中具有代表性的一个截图。

(4)分解说明

3.1模块分解与说明

本软件将模块分解为以下三个大模块

管理员模块

3.1.1图书信息查询模块可以分别按图书编号、书名、类型查找图书。

3.1.2图书管理模块主要对图书进行插入、删除、更新操作。

3.1.3借阅信息管理模块主要对读者借阅信息进行管理

3.1.4管理员信息管理包括添加管理员、删除管理员,密码修改。

3.1.5浏览器模块网页浏览器

3.1.6娱乐模块提高管理人性化,较少管理员的寂莫

3.1.7日历模块方便管理员查看时间与日期

读者模块

3.1.1图书信息查询提供按书名、作者、类型的查询

3.1.2读者本人借阅信息查询只能查阅本人借书情况有助于保护隐私

3.1.3读者密码修改读者个人可以更具自己的喜好设置自己的密码

数据库模块

3.1.1数据库连接模块负责java应用程序与数据库连接。

3.2并发进程说明

进程并发受数据库并发访问限制。

本机设置MySQL数据库并发访问为15.

读者进程和管理员进程可以并发执行。

3.3数据分解

本软件采用java完全面向对象的设计方法数据与行为完全封装。

每一个模块都有自己独立于其他模块的数据。

只有数据库数据是共享的。

(5)依赖关系说明

4.1模块间依赖关系

本程序严格按照模块设计的高内聚低耦合的设计理念进行设计。

每一个模块只需提供一个简单接口,被启动之后可以独立运行。

软件复用程度很高,可扩展空间也很大,其他模块很容添加到主框架上。

4.2进程间依赖关系

当管理员主进程启动之后其他子进程之间的运行可以独立运行,互不干扰,提高了进程间并发程度。

4.3数据依赖关系

由于采用的是完全面向对象程序设计,所有的数据(属性)与行为(方法)都被封装在对象当中。

除了内部类会引用其对应外部内成员之外。

各个对象之间不存在数据的依赖关系。

(6)接口说明

5.1模块接口

模块之间的借口主要有三种:

构造方法,初始化方法,公用方法。

并且这三种方法有一定的调用顺序。

调用默认构造方法建立接口对象,然后调用初始化方法初始对象,然后调用对象一般方法实现功能。

5.2进程接口

进程之间的接口主要通过各种事件触发来建立或关闭新的进程。

比如打开,关闭,点击等。

(7)模块详细设计

说明:

这是读者窗口的详细设计截图,其他设计过程与此大体相同,这里不再一一列举。

 

7、界面预览与测试

(1)界面预览

首先提醒读者一点,以下界面可能因为Word宽度有限的原因,只能显示其中一部分,或者是尺寸有所减小。

这可能会影响视觉效果。

如果要看全图,请参看附带的javatupian\jietu文件夹里面的图片文件,也可以将word比例放大就可以看得清晰一些。

(1-1)登录窗口

此登陆窗口实现管理员的登陆或者读者的登陆。

他们的数据都被存放在数据库之中,若密码与用户名一致,则进入对应主窗口。

则弹出警告对话框。

超过四次警告则系统自动退出,体现了系统的安全性。

(1-2)警告对话框

警告对话框主要就是输出一些警告或提示信息,这对增强交互性和系统的友好性有一定的作用。

确定表示知道了,退出会退出系统。

(1-3)管理员窗口主界面

本界面是管理员进行操作的主界面,主要分为四大部分,菜单部分,图书信息查询部分,图书管理部分和借还书登记部分。

菜单部分用于打开其他窗口,包括浏览器窗口、读者管理信息管理与管理员信息管理窗口、日历窗口和五子棋等。

图书信息查询可以按编号、书名、类型进行查询。

在图书管理部分,管理员可以对图书进行删除,插入更新操作。

借还书部分用于管理员对读者借还书的登记操作。

(1-4)读者信息管理与管理员信息管理窗口

读者信息管理与管理员信息管理窗口。

主要用来对管理员信息的管理和读者信息的管理。

对读者信息而言,包括添加、删除、查询操作。

管理员信息而言,包括添加、删除、查询、改密码操作。

(1-5)时间日历窗口

时间日历窗口能够显示2010年到9999年的时间。

可以通过上方的下拉列表查看某年某月的时间。

这样方便管理员查看时间。

按时下班。

(1-6)浏览器窗口

此简单浏览器能够实现简单的浏览功能。

以上图片显示的是输入后显示的情形。

第一个按钮式后退,第二个按钮式前进,第三个按钮式刷新,第四个按钮(Go)表示确定,第七个表示默认空白主页。

菜单栏的收藏具有收藏网址,删除网址记录的功能。

管理员可也通过浏览器上网查询信息,发送电子邮件提醒读者还书等活动。

(1-7)围棋窗口

围棋窗口设计的主要目的是用来给管理员消磨时间。

进行自我挑战。

下棋让时间过得很快,我对这个深有体会。

高中的时候爱下象棋,一会儿几个小时就不在了。

后来被老师收了,严禁这种智力活动,因为它的确在无形之中夺取了许多学习的时间。

对于管理员而言,要是没有一点消耗时间的东西,一天干坐几个小时,可能没有人受得了。

这个娱乐模块的设计,增添了管理的人性化,我们要体现以人为本的思想。

(1-8)读者操作窗口

读者操作窗口主要实现图书信息查询和读者本人借阅信息查询的功能。

图书信息查询部分可以按书名、类型、作者进行查询。

通过查询可以获得图书相关信息,知道还有那些书可以借,避免了到图书馆查找的麻烦。

借阅信息查询只能查询本人借阅信息,这通过身份验证来实现。

这有利于保护个人隐私,避免一些狗仔队查看别人的借阅信息。

这也体现了以人为本的思想。

这是一个服务型的社会,一切都要站在用户的角度考虑问题。

才能赢用户的支持,从而赢得市场。

客户就是上帝,你获得成功的上帝。

(1-9)读者修改密码窗口

读者修改密码窗口,用于读者修改密码。

这主要有两个方面的作用。

一是提高安全性,二是提高人性化。

读者可以按照自己的喜好设定自己密码。

(2)功能测试

(2-1)登陆测试

测试用例

用例编号

测试目的

测试用例

预期结果

1

测试在正确输入管理员编号和密码的情况下能否成功登陆

管理员编号:

1

管理员密码:

1111

成功登陆,打开管理员窗口主界面。

2

测试在正确输入读者编号和密码之后能否成功登陆。

读者编号:

1

读者密码:

11

成功登陆,打开读者窗口主界面

3

在错误输入管理员编号或密码的情况下是否会出现警告对话框,以及点击超过四次以后是否会自动退出系统。

管理员编号:

00

管理员密码:

1111

登陆失败,出现警告对话框,超过四次后自动退出系统

4

在错误输入读者编号和密码的情况下是否会弹出警告,以及点击超过四次以后是否会自动退出系统。

读者编号:

5

读者密码:

333

登陆失败,出现警告对话框,草果四次后自动退出系统

测试结果

用例编号

测试结果

是否与预期结果相符

1

成功登陆,打开管理员窗口主界面。

相符

2

成功登陆,打开读者窗口主界面

相符

3

登陆失败,弹出警告对话框。

点击超过四次之后自动退出系统

相符

4

登陆失败,弹出警告对话框,点击超过四次之后自动退出系统

相符

用例1测试截图

输入正确管理员正确ID和密码

打开管理员窗口主界面

用例2测试截图

正确输入读者ID和密码

打开读者窗口主界面

用例3测试截图

错误输入管理员ID或密码,出现警告对话框

超过四次后自动退出

用例4测试截图

错误输入读者ID和密码,出现警告对话框

超过四次后自动退出

(2-2)管理员窗口图书信息查询测试

图书信息表用MySQlQueryBrowser执行查询结果

测试用例

用例编号

测试目的

测试用例

预期结果

1

测试程序能否按编号正确执行查询功能并显示查询结果

1

图书编号1

书名java_1

出版商e_industry

作者james

翻译者baichi

出版日期1850-04-02

版本1

图书总数10

可借数量9

图书类型develop_language

图书备注goodfornewer

2

测试程序的健壮性

50

文本区显示“对不起,不具有此编号的图书!

3

测试程序能否按书名正确执行查询功能,并显示查询结果

flash

图书编号10

书名flash

出版商xin_hua

作者liu_bi

翻译者zhao_yun

出版日期2000-02-29

版本1

图书总数10

可借数量9

图书类型animation

图书备注null

4

测试程序健壮性

antushengtonghua

文本区显示“对不起,不存在你所输入的书名”

5

测试程序能否按图书类型正确执行查询功能,并显示查询结果。

database

图书编号13

书名high_level_database

出版商da_dong_gua

作者li_yu_cun

翻译者zhang_fei

出版日期1852-01-04

版本1

图书总数10

可借数量10

图书类型database

图书备注howtohandl,queryandstoredata

6

测试程序健壮性

graphic

文本区显示“对不起,不存在你所输入的图书类型!

测试结果

用例编号

测试结果

是否与预期结果相符

1

成功按编号执行查询并输出结果

相符

2

文本区输出提示

相符

3

成功按书名执行查询并输出结果

相符

4

文本区输出提示

相符

5

成功按类型查找,并输出结果

相符

6

文本区输出提示

相符

用例1测试截图

 

用例2测试截图

 

用例3测试截图

 

用例4测试截图

 

用例5测试截图

 

用例6测试截图

(2-3)管理员窗口图书操作测试

测试用例

用例编号

测试目的

测试用例

预期结果

1

测试能否正确执插入操作

图书编号20

书名heaven

出版商ha_xi

作者cui_niu

翻译者xiaozhu

出版日期1999-07-06

版本3

图书总数10

可借数量10

图书类型literture

图书备注aexcellentbookofliterature

在图书信息表的查询结果中多了一条图书编号为20的记录

2

测试在允许条件下能否正确执行删除操作

图书编号:

20

在图书信息表的查询结果中少了了一条图书编号为20的记录

3

测试在不允许删除条件下能否显示提示

图书编号:

1

弹出警告对话框

4

更新图书信息

图书编号:

1

图书总数:

11

可用数量:

10

编号1图书的总分数变成11,可用数量变成10

测试结果

用例编号

测试结果

与预期结果是否相符

1

在查询结果中多了一条记录

相符

2

记录被删除

相符

3

显示提示信息

相符

4

编号为1的图书信息变成11和10

相符

用例1测试截图

用例2测试截图

用例3测试截图

用例4测试截图

(2-4)管理员窗口借还书登记测试

借还书记录表初始数据用MySQLQueryBrouwser查询结果截图

测试用例

用例编号

测试目的

测试用例

预期结果

1

测试能否正确实现登记借书功能

读者编号:

9

借书编号:

10

借书时间:

2010-12-1

借书数量:

1

还书数量:

0

借还书表记录中增加一条输入的记录

2

防止误操作

读者编号:

9

借书编号:

10

弹出对话框,提示不能删除

3

测试能否正确实现登记还书功能

读者编号:

9

借书编号:

10

还书数量:

1

超期天数:

0

罚款金额:

0

读者编号为9,借书编号为10的记录的还书数量变成1,超期天数编成0

罚款金额变成0

4

测试能否正确实现删除借书记录功能

读者编号:

9

借书编号:

10

成功删除

测试结果

用例编号

测试结果

与预期结果是否相符

1

正确插入借书记录

相符

2

显示警告

相符

3

正确登记还书

相符

4

正确删除

相符

用例1测试截图

 

用例2截图

用例3测试截图

用例4测试截图

(2-5)、读者信息管理测试

测试用例

用例编号

测试目的

测试用例

预期结果

1

测试添加读者功能是否能正确执行

读者编号:

11

读者姓名:

li_bo

读者密码:

1111

读者性别:

man

读者年龄:

20

读者邮:

test@

读者电:

11111111122

读者地址:

xinjiapo

读者备注:

test

读者表中增加一条编号为11的记录

2

测试参照完整性是否能正常实现

1

捕获到异常,输出警告

3

测试查询功能

读者编号11

读者编号:

11

读者姓名:

li_bo

读者密码:

1111

读者性别:

man

读者年龄:

20

读者邮:

test@

读者电:

11111111122

读者地址:

xinjiapo

读者备注:

test输出如下结果

4

测试在允许删除情况下能否正常执行删除功能

读者编号11

读者表中五编号11的记录

测试结果

用例编号

测试结果

是否与预期结果相符

1

成功添加读者

相符

2

输出警告

相符

3

正确显示查询信息

相符

4

正确删除

相符

用例1测试截图

用例2截图

用例3截图

 

用例4截图

(2-6)管理员信息管理测试

测试用例

用例编号

测试目的

测试用例

预期结果

1

测试添加管理员功能是否能正常执行

管理员编号3

管理员姓名test

管理员密码3333

管理员电话22222222223

管理员邮件momo@

管理员地址chongqing

管理员备注Test

管理员表中增加了一条管理员编号为3记录

2

测试删除功能是否能正常执行

管理员编号3

管理员表中少了一条管理员编号为3的记录

3

测试查询功能是否能正常执行

管理员编号1

输出管理员编号为1的查询结果

4

测试修改密码功能是否能正常执行

管理员编号1

管理员密码1234

读者密码被更改

测试结果

用例编号

测试结果

是否与预期结果相符

1

正确添加管理员

相符

2

正确删除管理员

相符

3

正确显示查询结果

相符

4

正确修改密码

相符

用MySqlQueryBrowser查询的管理员表初始数据

用例1测试截图

 

 

用例2测试截图

用例3测试截图

用例4测试截图

(2-7)读者操作窗口图书信息查询测试

测试用例

用例序号

测试目的

测试用例

预期结果

1

在图书存在的情况下,测试按书名查找功能是否能正确执行

Java_1

图书编号1

书名java_1

出版商e_industry

作者james

翻译者baichi

出版日期1850-04-02

版本1

图书总数11

可借数量10

图书类型develop_language

图书备注goodfornewer

2

测试在

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

当前位置:首页 > 解决方案 > 其它

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

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