图书管理系统1

更新时间:2023-11-10 14:31:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1. 引言

书籍是人类不可缺少的精神食粮,图书管理已成为学校不可缺少的一部分。目前学校图书馆的借阅工作部分还是手工管理,工作效率很低,并且不能及时了解图书的种类和学生们比较需求的图书等,不能更好的适应当前学生的借阅要求。手工管理还存在着许多弊端,由于不可避免的人为因素,造成数据的遗漏、误报。

图书管理信息化是信息发展的必然趋势。图书的管理直接关系到学生如何更好的使用图书,更充分的利用现有资源学习,提高自身素质。针对当今的学校图书馆藏书越来越多,学生借书越来越频繁,图书管理较为繁琐,图书馆管理工作人员付出的工作时间越来越多,得到的效率却很低这个现状。为提高工作效率,减轻图书馆工作人员的工作负担,决定开发学校图书馆管理系统软件,以帮助更好的实现图书馆的管理,让学生能更便捷的借阅图书,让老师能花最少的时间办理好借阅图书手续。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已经被人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对图书资源信息进行管理,具有手工管理无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、成本低等。这些优点能够极大地提高图书管理的效率,也是企业、学校的科学化、正规化管理和与世界接轨的重要条件。因此,开发这样一套管理系统已成为很有必要的事情。

1

2. 需求分析与用例建模

2.1可行性分析

可行性分析的任务是明确应用项目开发的必要性和可行性。必要性来自实现开发任务的迫切性,而可行性则取决于实现应用系统的资源和条件。我们从以下几个方面进行可行性分析。 1. 经济可行性

此系统可由在校大学生开发的学校图书馆管理信息系统。由于学校图书馆的借阅无商业利益,所以系统设计开发的周期要短,在短时间内完成,减少开发成本,提高开发效率,方便、简单、实用是作为系统开发的指导思想。本系统完全能够在校园图书馆管理工作中发挥重要作用,而作为个人,能在软件开发能力方面得到锻炼和提高也是十分重要的,本系统在此不注重任何社会经济目标。所以,从经济的角度来看,该系统可行。 2. 技术可行性

开发者根据客户对系统功能、性能及实现该系统的制约因素,分析该项目开发在技术上可能承担的风险,在硬件软件配置以及开发技术均已可行的情况下,能够开发出易理解、易操作、易实现、易维护的系统。因此该系统在技术上是可行的。 3. 法律可行性

经过分析,该系统的开发没有违背国家相关法律,在知识产权方面也不能对他人构成侵权行为。因此该系统在法律角度看是可行的。 4. 可行性分析结论

通过以上可行性分析,图书管理系统的开发在经济上、技术上、法律上都是可行的,可以立即开发。

2.2系统功能需求分析

图书馆的藏书种类多、数量多,将藏书准确地分门别类,快速检索,手工进行非常困难,图书馆的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性地进行,藏书的知识结构得不到良好地控制。

图书管理系统主要用于对图书馆日常工作的管理,主要任务是用计算机对读者、图书等各种信息进行日常管理,如查询、修改、增加、删除、图书借阅和归还的管理等。本系统实现了图书馆的信息化管理,完成了图书馆管理系统的基本功能。

2

2.3系统非功能分析

为了保证系统能够长期、安全、稳定、可靠、高效的运行,本系统应该满足以下的需求: 1. 准确性和及时性

系统处理的准确性和及时性是系统的必要性能。系统应能及时而且准确地根据用户权限及所输入的信息做出响应。准确性和及时性很大程度上决定了系统的成败。在系统开发过程中,必须采用一定的方法保证系统的准确性和及时性。 2. 易用性

所开发的系统要能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面,从而保证系统的易用性。 3. 安全性

系统要提供方便的手段供系统管理员进行数据备份、日常安全管理、以及系统意外崩溃时数据的恢复等工作。同时系统还要保证对数据库进行及时更新,保证数据一致性。

2.4用例模型

根据系统需求分析中客户对系统的功能要求,我们已经确定了系统和子系统的边界、执行者和用例。该系统采用分层绘制用例图的方法建立系统的用例模型。 1. 最高层用例图

根据客户对“图书管理系统”的整体业务功能要求,可以绘制如图2-1所示的最高层用例图。

3

图书管理系统<<依赖>>系统管理<<依赖>>用户设置图书管理员信息查询读者管理<<依赖依赖>>>>图书管理系统管理员<<依赖>>借阅管理读者图2-1 图书管理系统最高层用例图

在最高层用例图中,实线方框表示系统边界,在系统边界内有6个用例。系统内的“信息查询”和“借阅管理”依赖“读者管理”的读者信息和依赖“图示管理”的图书信息,“用户设置”依赖“系统管理”的用户管理信息。

系统外有3个人执行者:

“系统管理员”执行者参与“系统管理”、“读者管理”、“图书管理”用例的业务运作。

“图书管理员”执行者可以在“用户设置”用例中修改自己的登录密码、重新登录系统,还可参与“借阅管理”和“信息查询”用例的操作。

“读者”执行者也可以在“用户设置”用例中修改自己的登录密码、重新登录系统,还可参与“借阅管理”和“信息查询”用例的操作。 2. 第2层用例图

“图书管理系统”内的用例还可以作为第二层用例图之一加以展开,由“系统管理”用例展开形成的“系统管理子系统”用例图如图2-2所示。

4

系统管理子系统用户管理系统管理员系统初始化

图2-2 第2层用例图——系统管理子系统

在“系统管理子系统”用例图中,实现边框表示系统边界。系统内有2个用例,即“用户管理”用例和“系统初始化”用例。系统外有1个人执行者:

“系统管理员”执行者参与“用户管理”、“系统初始化”用例的操作,可以添加用户信息、修改用户信息、删除用户信息,对系统初始化。

由“读者管理”用例展开形成的“读者管理子系统”用例图如图2-3所示。

读者管理子系统修改读者信息<<依赖>>增加读者信息<<依赖>>系统管理员删除读者信息

图2-3 第2层用例图——读者管理子系统

5

在“读者管理子系统”用例图中,实现边框表示系统边界。系统内有3个用例,“修改读者信息”、“删除读者信息”用例依赖“增加读者信息”用例添加的读者信息。系统外有1个人执行者:

“系统管理员”执行者可以进行添加用户信息、修改用户信息、删除用户信息等操作。“图书管理子系统”与“读者管理子系统”结构相同,因此不再一一说明。

由“图书管理”用例展开形成的“图书管理子系统”用例图如图2-4所示。

图书管理子系统修改图书信息<<依赖>>增加图书信息<<依赖>>系统管理员删除图书信息

图2-4 第2层用例图——图书管理子系统

“图书管理子系统”与“读者管理子系统”结构相同,因此不再一一说明。 由“借还管理”用例展开形成的“借还管理子系统”用例图如图2-5所示。

6

借还管理子系统<<依赖>>借书续借还书<<依赖>>预约图书管理员图书丢失处理读者

图2-5 第2层用例图——借还管理子系统

在“借还管理子系统”用例图中,实现边框表示系统边界。系统内有5个用例,“续借”依赖“借书”用例,“图书丢失处理”依赖“还书”用例。系统外有2个人执行者:

“图书管理员”执行者可以进行对用户的借书、续借、还书、图书预约、图书挂失信息的处理等操作。

“读者”执行者乐意进行借书、续借、还书、图书预约、图书挂失等操作。 由“信息查询”用例形成的“信息查询子系统”用例图如图2-6所示。

7

信息查询子系统图书查询系统管理员读者查询读者

图2-6 第2层用例图——信息查询子系统

在“信息查询子系统”用例图中,实现边框表示系统边界。系统内有2个用例,即“图书查询”和“读者查询”用例。系统外有2个人执行者:

“图书管理员”执行者可以进行对图书、读者信息的查询等操作。 “读者”执行者可以进行对图书、读者信息的查询等操作。

由“用户设置”用例形成的“用户设置子系统”用例图如图2-7所示。

用户设置子系统修改密码图书管理员重新登录读者

图2-7 第2层用例图——用户设置子系统

在“用户设置子系统”用例图中,实现边框表示系统边界。系统内有2个用例,即“修改密码”和“重新登录”用例。系统外有2个人执行者:

“图书管理员”执行者可以对自己的密码进行修改以及重新登录等操作。 “读者”执行者可以对自己的密码进行修改以及重新登录等操作。

8

3. 系统分析与对象类建模

3.1建立对象类

根据已经建立的用例图和用户业务需求,采用CRC卡的方法确定对象类及其属性和操作。通过检查类的定义、分析问题的需求和运用该领域知识来完善和确定类的属性。根据系统功能要求和系统设计需要完善和确定类的操作。

下面将“图书管理系统”中的对象类及其属性和操作的定义简介如下: (1)图书 ?类名:图书。

?类的编号:ABC010101。

?类的类型:该类创建的对象为持久对象,存储在服务器上的数据库中,可以共享。

?功能:对图书进行图书信息处理。

?属性:图书编号,图书名,图书类别,作者,出版社,是否借出,是否预约,备注等。

?操作:添加图书信息()、修改图书信息()、删除图书信息()、查询图书信息等。

(2)读者 ?类名:读者。

?类的编号:ABC010101。

?类的类型:该类创建的对象为持久对象,存储在服务器上的数据库中,可以共享。

?功能:对读者进行读者信息处理。

?属性:读者编号,姓名,密码,性别,班级,可借图书数目,已借图书数目,逾期罚款,备注等。

?操作:添加读者信息()、修改读者信息()、删除读者信息()、查询读者信息等。

(3)借书 ?类名:借书。

?类的编号:ABC0000001。

?类的类型:该类创建的对象为持久对象,存储在服务器上的数据库中,可以共享。

?功能:进行读者的借书信息处理。

?属性:借书编号,读者编号,图书编号,借书日期,借书天数,续借天数,到期日期,逾期天数,罚金,备注等。

9

?操作:借阅()、归还()等。 (4)图书预约 ?类名:图书预约。 ?类的编号:ABC00000001。

?类的类型:该类创建的对象为持久对象,存储在服务器上的数据库中,可以共享。

?功能:对读者预约图书信息处理。

?属性:预约编号,读者编号,图书编号,预约日期,备注等。 ?操作:预约图书()。 (5)图书丢失 ?类名:图书丢失。 ?类的编号:ABC00000001。

?类的类型:该类创建的对象为持久对象,存储在服务器上的数据库中,可以共享。

?功能:对读者丢失图书信息处理。

?属性:丢失编号,读者编号,图书编号,丢失日期,备注等。 ?操作:增加()、删除()等。 (6)管理员 ?类名:管理员。 ?类的编号:ABC010101。

?类的类型:该类创建的对象为持久对象,存储在服务器上的数据库中,可以共享。

?功能:对管理员进行管理员信息处理。 ?属性:编号,姓名,密码,备注等。

?操作:添加管理员信息()、修改管理员信息()、删除管理员信息()等。

3.2类图

根据类与类之间的关系,可以得出该系统的类图如图3-1所示。

10

在借书时,读者首先在借书窗口进行借书,借书窗口向图书管理员发送借书请求,图书管理员向读者数据库中输入该读者编号,读者数据库将该读者的信息返回给图书管理员,图书管理员核对该读者可以借书,然后向图书数据库中输入图书编号,图书数据库将该图书的信息返回给图书管理员,图书管理员核对该图书可以借出,然后向借书数据库中创建新的借书信息,删除该图书的预约信息,并标记该图书已借出,同时增加读者的已借图书数目,向读者返回借阅成功信息。绘制“借书”用例的顺序图如图4-6所示。

预约数据库借书数据库图书管理员读者图书数据库读者数据库借书窗口借书()发送借书请求输入读者编号()返回读者信息()经过核对,该读者可以借书输入图书编号()返回图书信息()经过核对,该图书可以借出创建新借书信息()返回借书信息()标记图书已借出()删除预约信息()增加读者已借图书数量()返回借阅成功信息()图4-6“借书”用例的顺序图

在还书时,读者首先在还书窗口进行还书,还书窗口向图书管理员发送还书请求,图书管理员向借书数据库中输入借书编号、读者编号、图书编号,借书数据库将该借书的信息返回给图书管理员,图书管理员删除该借书信息,然后减少读者的已借图书数目,并标记该图书未借出,向读者返回还书成功信息。绘制“还书”用例的顺序图如图4-7所示。

16

借书数据库图书管理员图书数据库读者数据库还书窗口读者还书()发送借书请求()输入图书编号、读者编号()返回借书信息()删除借书信息()返回删除成功()输入读者编号()减少读者已借图书数目()返回读者信息()输入图书编号()标记图书未借出()返回图书信息()返回还书成功信息()图4-7“还书”用例的顺序图

在图书预约时,读者首先在图书预约窗口进行预约,图书预约窗口向图书管理员发送预约请求,图书管理员向图书预约数据库中创建新的图书预约信息,图书预约数据库将预约成功信息返回给图书管理员,图书管理员通过图书预约窗口向读者返回预约成功信息。绘制“图书预约”用例的顺序图如图4-8所示。

17

读者图书预约窗口图书预约()图书管理员图书预约数据库发送预约请求()创建新图书预约信息()返回图书预约成功()返回预约信息()返回预约信息()

图4-8“图书预约”用例的顺序图

在图书丢失处理时,读者首先在图书预约窗口输入图书编号和读者编号,图书丢失处理窗口向图书管理员发送图书丢失请求,图书管理员向图书丢失数据库中创建新的图书丢失信息,图书丢失数据库将创建成功信息返回给图书管理员,图书管理员通过图书丢失处理窗口向读者返回处理成功信息。绘制“图书丢失处理”用例的顺序图如图4-9所示。

读者图书丢失处理窗口图书管理员图书丢失数据库输入图书编号和读者编号()发送图书丢失请求()创建图书丢失信息()返回创建成功()返回创建成功信息()返回创建成功信息()

图4-9“图书丢失处理”用例的顺序图

18

5. 数据库设计

5.1 关系模型

系统管理员(编号,姓名,密码,备注) 图书管理员(管理员编号,姓名,密码,备注)

图书(图书编号,图书名,图书类别,作者,出版社,是否借出,是否预约,备注)

读者(读者编号,姓名,密码,性别,班级,可借图书数目,已借图书数目,逾期罚款,备注)

借书(借书编号,读者编号,图书编号,借书日期,借书天数,续借天数,到期日期,逾期天数,罚金,备注)

图书预约(预约编号,读者编号,图书编号,预约日期,备注) 图书丢失(丢失编号,读者编号,图书编号,丢失日期,备注)

5.2 E-R图

在图书管理系统中设计的实体有系统管理员、图书管理员、读者、图书。该系统的E-R图如图5-1所示。

管理 1 系统管理员 1 管理 M M 图书管理员 M 借还管理 N 图书 N M P 读者 M 1 管理 查询 图5-1 E-R图

数据结构

通过系统分析与设计,数据库中共有7个表,系统管理员表的结构,如表5-1所示。

19

表5-1 系统管理员表

字段名 ID name code Bremark

描述 编号 姓名 密码 备注

类型 Int Varchar Varchar Varchar

长度 5 30 20 50

是否为空 Not null null Not null null

图书管理员表的结构,如图5-2所示。

表5-2 图书管理员表

字段名 UID Uname Ucode Bremark

描述 管理员编号 姓名名 密码 备注

类型 Varchar Varchar Varchar Varchar

长度 20 30 20 50

是否为空 Not null null Not null null

图书信息表的结构,如图5-3所示。

表5-3 图书信息表

字段名 BID Bname Btype Bpublish Bauthor Bout Border Bremark

描述 图书编号 图书名称 图书类别 出版社 作者 是否借出 是否预约 备注

类型 Varchar Varchar Varchar Varchar Varchar bool bool Varchar

长度 20 50 30 50 30 2 2 50

是否为空 Not null null null null null Not null Not null null

读者信息表的结构,如图5-4所示。

表5-4 读者信息表

字段名 RID Rname Rcode Rsex Rclass Rcount Raccount Rmoney Rremark

描述 读者编号 姓名 密码 性别 班级 可借书数目 已借书数目 逾期罚款 备注

类型 Varchar Varchar char Varchar Varchar Int Int Float Varchar

长度 20 50 20 30 50 2 2 4 50

是否为空 Not null null Not null null null Not null Not null Not null null

借书信息表的结构,如图5-5所示。

表5-5 借书信息表

字段名 OID RID

描述 借书编号 读者编号

类型 Varchar Varchar

20

长度 10 20

是否为空 Not null Not null

本文来源:https://www.bwwdw.com/article/rpzv.html

Top