基于UML的图书馆管理系统建模研究设计.docx
- 文档编号:8158883
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:19
- 大小:320.17KB
基于UML的图书馆管理系统建模研究设计.docx
《基于UML的图书馆管理系统建模研究设计.docx》由会员分享,可在线阅读,更多相关《基于UML的图书馆管理系统建模研究设计.docx(19页珍藏版)》请在冰豆网上搜索。
基于UML的图书馆管理系统建模研究设计
一、摘要
面向对象的软件工程,同传统的面向过程的软件工程相比,在需求的获取、系统分析、设计和实现方面都有着很大的区别。
UML是OOA和OOD的常用工具。
使用UML来构建软件的面向对象的软件工程的过程,就是一个对系统进行不断精化的建模的过程。
这些模型包括用例模型、分析模型、设计模型,然后,我们需要使用具体的计算机语言来建立系统的实现模型。
当然,在整个软件工程中,我们还需要建立系统的测试模型,以保证软件产品的质量。
使用面向对象的工具来构建系统,就应该使用面向对象的软件工程方法。
然而,我们经常会发现,在实际的开发过程中,很多开发人员虽然能够理解UML的所有图形,却仍然不能得心应手的使用UML来构建整个项目,其很大的原因,是仍然在使用原有的软件工程方法,而不清楚如何使用UML来建立系统的这些模型,不清楚分析和设计的区别,以及他们之间的转化。
应用软件系统,就其本质来说,是使用计算机对现实世界进行的数字化模拟。
应用软件的制造过程,按照UML的方法,就是建立这一些列模型的过程。
关于这个图书馆系统,基本的需求比较简单,就是允许学生可以在图书馆借阅和归还图书,另外,也可以通过网络或者图书馆的终端来查阅和预订书。
当然,图书馆管理员也可以对图书进行管理。
为了简化系统,我们没有把图书馆中的人员作细分。
本文只是对使用UML的过程做一个探讨,着眼于使用UML进行建模的过程,说明各个层次的模型之间的区别和联系,展示系统演进的过程,而不会深入UML的细节方面。
对于更加复杂的系统,其分析和设计的方法是相通的,可以举一反三。
二、图书管理系统可行性分析
随着政府机关与广大企事业单位内部网络的广泛建立,在通用信息平台上构筑高效实用的协同工作和自动化办公应用系统,满足信息高度共享和即时发布的需求,有效实现内部知识管理,已成为众多用户的共同需求。
图书管理系统,为政府机关与广大企事业单位自动化办公提供了一个较好的解决方案。
在开发过程中,按照软件工程的步骤,从设计到开发采用了面向对象的思想和技术,采用了SQLSERVER2008数据库,使得本系统可以方便的和其他子系统进行数据交换。
同时,注意从软件的图形应用界面上优化软件质量,使得本系统具有很强的可操作性。
三、图书管理系统需求分析
(一)系统开发的总目标
系统开发的总目标是实现内部图书借阅管理的系统化、规范化和自动化。
(1)能够对图书进行注册登记,也就是将图书的基本信息(如:
书的编号、书名、作者、价格等)预先存入数据库中,供以后检索。
(2)能够对借阅人进行注册登记,包括记录借阅人的姓名、编号、班级、年龄、性别、地址、电话等信息。
(3)提供方便的查询方法。
如:
以书名、作者、出版社、出版时间(确切的时间、时间段、某一时间之前、某一时间之后)等信息进行图书检索,并能反映出图书的借阅情况;以借阅人编号对借阅人信息进行检索;以出版社名称查询出版社联系方式信息。
(4)提供对书籍进行的预先预订的功能。
(5)提供旧书销毁功能,对于淘汰、损坏、丢失的书目可及时对数据库进行修改。
(6)能够对使用该管理系统的用户进行管理,按照不同的工作职能提供不同的功能授权。
(7)提供较为完善的差错控制与友好的用户界面,尽量避免误操作。
(二)系统功能需求分析
1.功能分析
(1)图书管理系统能够为一定数量的借阅者提供服务。
每个借阅者能够拥有唯一标识其存在的编号。
图书馆向每一个借阅者发放图书证,图书证中包含每一个借阅者的编号和个人信息。
系统通过一个单独的程序为借阅者提供服务,不需要管理人员的干预,这些服务包括提供查询图书信息、查询个人信息服务和预定图书服务等。
(2)当借阅者需要借阅书籍、归还书籍时需要通过图书管理员进行,即借阅者不直接与系统交互,而是图书管理员充当借阅者的代理与系统交互。
当借阅者借阅的图书数量超过限制时,不允许借阅者再进行借阅。
当借阅者借阅的图书超过一定的期限时,需要对其进行处罚。
借阅图书时需要图书证作为凭据,归还时不需要。
(3)系统管理员负责系统的管理维护工作,维护工作包括图书的添加、删除和修改;书目的添加和删除;借阅者的添加、删除和修改,并且系统管理员能够查询借阅者、图书和图书管理员的信息。
(4)可以通过图书的名称或图书的ISBN/ISSN号对图书进行查找。
2.满足以上需求的系统主要包含有一下几个子系统
(1)基本业务处理子系统:
基本业务处理模块主要用于实现图书管理员对借阅者借阅图书和归还图书的处理。
图书管理员通过合法的认证登录到该系统中,从而管理借阅者的借阅和归还等活动。
(2)基本数据录入功能子系统:
该子系统主要包含有书籍信息和读者信息录入功能。
(3)信息查询子系统:
信息查询子系统主要用于实现借阅者对信息的查询,包括图书信息的查询、自身信息的查询和书籍的预订等功能。
(4)数据库管理功能子系统:
主要包含了借阅信息管理功能,书籍信息管理功能和预订信息管理功能。
(5)系统维护(帮助功能)子系统:
系统维护模块主要用于实现系统管理员对系统的管理和对数据库的维护,系统的管理包括对借阅者信息、图书信息、图书管理员信息和书目信息等信息的维护。
数据库的维护包括数据库的备份、恢复等数据库管理操作。
下图为该图书馆管理(子系统)系统的主要功能模块图:
图1:
图书管理系统功能模块图
3.功能描述
(1)借书。
处理借书业务。
(2)还书。
处理还书业务。
(3)书籍预订。
借阅者可以通过网络进行书籍预订。
(4)书籍信息录入。
处理书籍个类信息录入业务。
(5)借阅者信息录入。
对读者信息进行录入。
(6)书籍信息查询。
负责书籍信息的查询。
(7)读者信息查询。
负责数据信息的查询。
(8)借阅信息管理。
书籍借阅信息包括所借书的书名、ISBN以及借书的时间等。
(9)书籍信息管理。
书籍信息包括书籍的名字、ISBN、作者、入库时间以及书籍在相应书目下的编号等。
(10)预订信息管理。
负责管理书籍预订信息。
四、图书管理系统分析与设计阶段
(一)系统用例分析
创建系统用例模型
进行系统分析和设计的第一步就是创建系统的用例模型。
做为描述系统的用户或参与者所能操作的图,它在需求分析阶段有着重要作用,,整个开发过程都是围绕系统的需求用例表述的问题和问题模型进行的。
创建系统用例的第一步试确定系统的参与者。
图书管理系统的参与者包含以下三种。
A:
借阅者(Borrower)图书借阅者能够通过该系统进行借阅图书、查询书籍信息、预定图书和归还图书等操作。
B:
图书管理员(Librarian)对于系统来说,借阅者借阅图书和归还图书都需要图书管理员来进行处理。
C:
系统管理员(Administrator)系统管理员负责图书、借阅者、书目等信息的维护,并且系统管理员还需要对数据库进行维护操作。
因此,根据参与者的不同分别画出各个参与者的用例图。
1.借阅者用例图
借阅者能够通过该系统进行如下活动:
a.查找图书:
借阅者可以通过图书名称或者ISBN/ISSN号查找图书的详细信息
b.登录系统:
借阅者能够根据图书证编号和相关密码登录自助机器,查询图书信息、个人信息和图书预定
c.查询个人信息:
每一个借阅者都可以通过自助机器在登录后查询自己的信息,但是不允许在未授权的情况下查询其他人的信息
d.预定图书:
在登录自助机器后,借阅者可以预定相关的书籍内容
e.借阅图书:
借阅者可以通过图书管理员借阅相关书籍
f.归还图书:
借阅者通过图书管理员归还书籍,如果未按时归还,需要缴纳罚金
通过上述活动,获得的借阅者用例图如下图所示:
2.图书管理员用例图
图书管理员能够通过该系统进行如下活动:
a.处理借阅:
借阅者可以通过图书管理员借阅书籍。
当图书管理员处理借阅时,需要检查用户的合法性,如果不合法,不允许借阅书籍。
如果之前该图书已经被该借阅者预定,需要删除该图书的预订信息
b.处理归还:
借阅者可以通过图书管理员归还书籍。
当借阅者借阅的书籍超过一定的期限时,图书管理员需要收取罚金
通过上述活动,获得的图书管理员用例图如下图所示:
3.系统管理员用例图
系统管理员能够通过该系统进行如下活动:
a.查询书籍信息:
系统管理员有权限去查询各种图书的信息
b.添加书籍:
书籍的添加是通过系统管理员进行的,图书添加时要输入书籍的详细信息
c.删除书籍:
书籍的删除也是通过系统管理员进行的,图书删除时书籍的所有信息都将被删除
d.修改书籍:
书籍的信息可以被系统管理员修改
e.查询读者信息:
系统管理员有权限去查询读者的信息
f.添加读者:
读者的添加是通过系统管理员进行的,读者被添加时要输入读者的详细信息
g.删除读者:
读者的删除也是通过系统管理员进行的,读者被删除时读者的所有信息都将被删除
h.修改读者信息:
读者的信息可以被系统管理员修改
i.添加书目:
书目的添加是通过系统管理员进行的,书目被添加时要输入书目的描述信息
j.删除书目:
书目的删除也是通过系统管理员进行的,书目被删除时所有关于该书目的图书信息都将被清空
通过上述这些活动,获得的系统管理员用例图如下图所示:
(二)创建系统静态模型
在获得系统的基本需求的用例模型后,可通过考察系统对象的各种属性创建系统的静态模型。
首先,确定系统参与者的属性。
系统管理员登录系统时,需要提供系统管理员的用户名和密码,因此每一个系统管理员应该拥有用户名和密码属性,命名为administratorName和passwords。
同理,图书管理员也是一样的,命名为librarianName和passwords。
对于每一个借阅者而言,图书证中包含借阅者的名称、地址等,不同类型的借阅者可以借阅不同数目的图书,并且不同的借阅者允许借阅和预定的天数也是不一样的。
借阅者登录系统时需要密码,因此可以创建借阅者编号userId、借阅者名称name、借阅者地址address、最大允许借阅书籍书目maxBooks、最长借阅日期maxBorrowDays、密码passwords和最大预定天数maxReserveDays。
根据这些属性可以建立参与者(系统管理员、图书管理员和借阅者)的基本类图模型,如下图所示:
其次,可以确定在系统中的主要业务实体类,这些类通常需要在数据库中进行存储,如需要存储图书的信息,因此需要一个图书类,同样,预订信息可以确定预定类;借阅信息可以确定借阅类;对于书目信息的存储同样需要一个书目类,在确定需要的这些存储类后需要确定这些类的主要属性。
每一本图书拥有一个和其他图书相区别的编号、目录名称编号、ISBN名称、作者名称、出版社名称、书名称以及出版日期。
(读者)借阅书籍时,借阅信息存储书籍的编号、读者的编号以及借阅日期。
预定图书信息存储书籍的编号、读者的编号以及预定日期。
书目信息包含书目的编号和书目的名称。
这些业务实体类的表示如下图所示:
最后,还可以通过关系链接将这些类连接起来。
在关系表示中要标明类与类之间一对多或者多对多等数量关系,如一个书目的图书可以是很多本。
一个借阅者可以有0或者多个借阅(或者是预定)。
每一个借阅和预订都和多本书籍相联系。
根据这些信息,连接起来的类图如下所示:
(三)创建系统动态模型
根据系统的用例模型还可以通过对象之间的相互作用来考察系统对象的行为。
这种交互作用通过两种方式进行考察,一种是通过相互作用的一组对象为中心考察,即通过交互图进行,包括序列图和协作图;另一种是通过以独立的对象为中心进行考察,包括活动图和状态图。
对象之间的相互作用构成系统的动态模型。
序列图描绘了系统中的一组对象在时间上交互的整体行为。
协作图描绘了系统中一组对像在几何排列上的交互行为。
在图书管理系统中,通过上述的用例可以获得以下的交互行为:
●借阅者查找图书
●借阅者查询个人信息
●借阅者预定图书
●图书管理员处理借阅
●图书管理员处理还书
●系统管理员查询书籍
●系统管理员添加书籍
●系统管理员删除书籍
●系统管理员修改书籍
●系统管理员查询读者信息
●系统管理员添加读者
●系统管理员删除读者
●系统管理员修改读者信息
●系统管理员添加书目
●系统管理员删除书目
1.借阅者查找图书用例
借阅者查找图书的工作流程如下所示:
a.借阅者希望通过系统查询图书的信息
b.借阅者通过自助系统的用户界面SearchBookWindow录入图书的ISBN/ISSN号,请求查找图书信息
c.用户界面SearchBookWindow根据图书的ISBN/ISSN号将Book类实例化,并请求图书信息
d.Book类实例化对象根据图书的ISBN/ISSN号加载图书信息,并提供给用户界面SearchBookWindow
e.用户界面SearchBookWindow向读者显示图书信息
根据基本流程,创建借阅者查找图书的序列图如下图所示:
与序列图等价的协作图如下图所示:
2.借阅者查询个人信息
借阅者查询个人信息的工作流程如下所示:
a.借阅者希望通过系统查询个人信息
b.借阅者通过自助系统的用户登陆界面LoginWindow录入图书证编号,请求查找个人信息
c.用户登陆界面LoginWindow根据图书证编号将Borrower类实例化,并返回给用户信息显示界面PersonInfoWindow
d.用户信息显示界面PersonInfoWindow向借阅者显示借阅者信息
根据基本流程,创建借阅者查询个人信息的序列图如下图所示:
与序列图等价的协作图如下图所示:
3.借阅者预定图书
借阅者预定图书的基本工作流程如下:
a.借阅者希望通过系统预定某图书
b.借阅者通过自助系统的预订界面ReserverWindow录入图书的名称或ISBN/ISSN号请求查找该图书
c.预订界面ReserverWindow根据图书的名称或ISBN/ISSN号将Book类实例化,并返回图书信息
d.预订界面ReserverWindow将图书信息添加到预定中,并返回是否预订成功的信息
e.预订界面ReserverWindow向读者显示是否预订成功的信息
根据基本流程,创建借阅者预定图书的序列图如下图所示:
与序列图等价的协作图如下图所示:
4.图书管理员处理借阅
图书管理员处理借阅的工作流程如下所示:
a.借阅者希望通过图书管理员借阅某图书
b.借阅者将图书证和图书交给图书管理员
c.图书管理员将读者图书证编号录入借阅图书界面LendBookWindow,根据图书的ISBN/ISSN号将Book类实例化,并显示图书信息
d.借阅图书界面LendBookWindow根据图书的ISBN/ISSN号将Book类实例化并加载图书信息
e.借阅图书界面LendBookWindow将图书信息和读者信息添加到借阅实例中
f..借阅实例检查读者的借书数目,并添加借阅信息,返回借阅是否成功
g.借阅图书界面LendBookWindow显示是否成功
h.图书管理员将图书证和图书归还给借阅者
根据基本流程,创建图书管理员处理借阅的序列图如下图所示:
与序列图等价的协作图如下图所示:
5.图书管理员处理还书
图书管理员处理还书的工作流程如下所示:
a.借阅者希望通过图书管理员归还所借书籍
b.借阅者将所借图书交给图书管理员
c.图书管理员通过归还图书界面SearchBookWindow并根据图书的ISBN/ISSN号将Book类实例化,从而请求图书信息
d.Book类实例化对象根据图书的编号请求Loan对象删除借阅信息
e.Loan对象检查借阅图书是否超期
f.Loan对象删除借阅信息
g.Loan对象返回是否成功删除借阅信息
h.归还图书界面SearchBookWindow提示归还是否成功
根据基本流程,创建图书管理员处理还书的序列图如下图所示:
与序列图等价的协作图如下图所示:
6.系统管理员查询书籍
系统管理员查询书籍的工作流程如下所示:
a.系统管理员在登录后希望通过管理系统查询某图书的信息
b.系统管理员通过查询图书界面SearchBookWindow录入图书的ISBN/ISSN号,请求查找图书信息
c.查询图书界面SearchBookWindow根据图书的ISBN/ISSN号将Book类实例化并请求图书信息
d.Book类实例化对象根据图书的ISBN/ISSN号加载图书信息,并提供给查询图书界面SearchBookWindow
e.查询图书界面SearchBookWindow向系统管理员显示图书信息
根据基本流程,创建系统管理员查询书籍信息的序列图如下所示:
与序列图等价的协作图如下所示:
7.系统管理员添加书籍
系统管理员添加书籍的工作流程如下所示:
a.系统管理员希望通过系统添加某些图书
b.系统管理员通过添加书籍界面AddBookWindow添加图书信息
c.系统管理员通过添加书籍界面AddBookWindow添加图书的书目信息
d.系统管理员通过添加书籍界面AddBookWindow添加图书的其他描述信息
e.添加书籍界面AddBookWindow通过Book实例添加到数据库中
f.Book实例返回图书是否添加成功
g.添加书籍界面AddBookWindow显示图书是否添加成功
根据基本流程,创建系统管理员添加书籍的序列图如下图所示:
与序列图等价的协作图如下所示:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 UML 图书馆 管理 系统 建模 研究 设计