资源描述
基于UML的图书管理系统模型
19
2020年4月19日
文档仅供参考
基于UML的图书管理系统模型
一、系统功能描述
1.系统功能需求分析
(1)读者管理:读者信息的制定、输入、修改、查询,包括种类、性别、借书数量、借书期限、备注等。
(2)书籍管理:书籍基本信息制定、输入、修改、查询,包括书籍编号、类别、关键词、备注。
(3)借阅管理:包括借书,还书,预订书籍,续借,查询书籍,过期处理和书籍丢失后的处理。
(4)系统管理:包括用户权限管理,数据管理和自动借还书机的管理。
满足以上需求的系统主要包含有一下几个子系统:
(1)基本业务功能子系统:该系统中主要包含了借书还书和预订等功能。
(2)基本数据录入功能子系统:该子系统主要包含有书籍信息和读者信息录入功能。
(3)信息查询子系统:包含了多功能的查询书籍信息和读者信息。
(4)数据库管理功能子系统:主要包含了借阅信息管理功能,书籍信息管理功能和预订信息管理功能。
(5)帮助功能子系统。
下图为该图书馆管理系统的主要功能模块图:
图书馆管理系统
数据
库管理功能
基本
数据
录入
功能
帮助功能
信 息 查 询 功 能
还 书
借 书
基 本 业 务 功 能
借 阅 者 信 息 录 入
预 订 信 息 管 理
书 籍 信 息 管 理
借 阅 信 息 管 理
读 者 信 息 查 询
书 籍 信 息 查 询
书 籍 信 息 录 入
预 订
2.功能描述
(1)借书。处理借书业务。
(2)还书。处理还书业务。
(3)书籍预订。借阅者能够经过网络进行书籍预订。
(4)书籍信息录入。处理书籍个类信息录入业务。
(5)借阅者信息录入。对读者信息进行录入。
(6)书籍信息查询。负责书籍信息的查询。
(7)读者信息查询。负责数据信息的查询。
(8)借阅信息管理。书籍借阅信息包括所借书的书名、ISBN以及借书的时间等。
(9)书籍信息管理。书籍信息包括书籍的名字、ISBN、作者、入库时间以及书籍在相应书目下的编号等。
(10)预订信息管理。负责管理书籍预订信息。
3.图书馆管理系统的数据流图。如下:
有效用户及密码
处理借\还书命令
显示结果
处理用户名与密码
处理修改密码
显示系统界面
用户
处理命令
书籍入库及修改信息
输入用户名及密码
反馈给用户
输入有效命令
修改用户表
修改用户名及密码
书籍修改命令
借.还书
修改书籍信息表
修改借、还书表
图书馆管理系统的数据流图
二、系统的UML建模设计
1.UML简介
UML是一种功能强大的、面向对象的可视化系统分析的建模语言,它采用一整套成熟的建模技术,广泛地适用于各个应用领域。它的各个模型能够帮助开发人员更好地理解业务流程,建立更可靠、更完善的系统模型。从而使用户和开发人员对问题的描述达到相同的理解,以减少语义差异,保障分析的正确性。
2.该图书馆管理系统的用例图如下:
管理员
借书
登陆
自动借还书机
书籍增删改
《extend》
续借
逾期处理
读者
书籍预订
还书
书籍查询
读者增删改
密码修改
读者管理
书籍丢失处理
书籍增删改
《include》
《include》
《include》
图书馆管理系统的用例图
从用例图中我们能够看出管理员和读者之间对本系统所具有的用例。
管理员所包含的用例有:
(1)登录系统:管理员能够经过登录该系统进行各项功能的操作。
(2)书籍管理:包括对书籍的增删改等。
(3)书籍借阅管理:包括借书、还书、预订、书籍逾期处理和书籍丢失处理等等。
(4)读者管理:包含对读者的增删改等操作。
(5)自动借书机的管理。
读者所包含的用例有:
(1)登录系统。
(2)借书:进行借书业务。
(3)还书:读者具有的还书业务。
(4)查询:包含对个人信息和书籍信息的查询业务。
(5)预订:读者对书籍的预订业务。
(6)逾期处理:就是书籍过期后的缴纳罚金等。
(7)书籍丢失处理:对书籍丢失后的不同措施进行处理。
(8)自动借书机的使用等。
books
3.图书馆管理系统的类图
item
Book_id:integer
Title:String
Author:String
Type:String
Items:item
Reservations:reservation
Price:Double
borrow
Item_id:intger
title:Object
borrowed:borrow
Item:item
Borrow:readers
Item()
Gettittle()
Getid()
Setborrowed()
Getborrowed()
Isborrowed()
Write()
Read()
Borrow()
Getborrow()
Gettittle()
Getitem()
Write()
Read()
Book()
Querybyboo_id()
Querybytitle()
Querybyauthor()
Gettitle()
Getauthor
Getbook_id()
Gettype()
Getprice()
Setbook_id()
Settitle()
Settype()
Setauthor()
Setprice()
Additem()
Deleteitem()
reaers
Reader_id : intger
Reader_name: String
Sex: byte
Age: intger
Class:String
College:String
Tell_phone: intger
Address: String
Borrowed:books
Reservation: resevation
Persistent store
Object_id: intger
Persistent()
Getobject_id()
Store()
Add()
Update()
Write()
Read()
Reader_id()
Getreaders()
Addborrowed()
Deleteborrowed()
Getborrowed()
Addreservation()
Deletereservation()
Getreservation()
Querybyname()
Querybyreader_id()
Setname()
Setaddress()
Setsex()
Setage()
Setclass()
Settle_phone()
Getname()
Getsex()
Getage()
Getclass()
Write()
Read()
reservation
Title: books
Reservation: readers
Reservation()
Gettitle()
Getborrow()
Write()
Read()
图书馆管理系统的类图
【类图说明】
(1)reader类是借阅者的类,它的属性很多,包括借阅者的账户ID(reader_id)、姓名(reader_Name)、地址(Address)、班级(class)、所借书籍的书目(borrowed)等。 其中主要操作有借书(addborrowed)和还书(deleteborrowed)和预订(reservation)等。
(2)admin类是管理员类,她有编号和姓名属性,操作主要是书籍的增删改和读者的增删改等等。
(3)Title 类是记录书目信息的类,包括书籍的名字(name)、作者(author)、book_id等属性。
(4)Item 类是具体某本书的类,属性包括书籍号(id)。操作包括预订(reserve)、按书目查找(find_on_title)等。
(5)borrow类是某本书的借阅信息类,包括所借阅书籍的ISBN、借阅的时间(date)等。
(6)Reservation类是预订信息类,每个预订信息包括预订日期(date)、所预订书籍的ISBN、预订书籍的用户ID(UserID)等属性。
(7) persistent store类是书籍永久的存储类,在数据库中的存储数据,其它对与书籍有关的活动都要经过其存储类。
4.图书馆管理系统之间的E-R图
借阅
学生
属于
管理
管理
学生
学生
学生
图书馆管理系统的E-R图
5.图书馆管理系统的状态图
图书馆的书籍状态图如下图所示。
【状态图说明】
书籍在未变成图书馆在库书籍时,为新加书籍状态。书籍处于在库状态时既能够预订也能够外借,外借后变为借出状态。处于预订状态时也能够外借,超出预订时间期限则从预订状态直接转为可用状态。借阅者在规定的预订时间内也能够考虑取消预订,取消预订后书籍的状态转为可用。外借书籍归还后变为可用状态。
还书
在库书籍
增加书籍
增加书籍
增加书籍
删除书籍
增加书籍
书籍借出
增加书籍
借书
预订
借书
取消预订
预订
图书馆的书籍状态图
6.系统的活动图
活动图描述的是某流程中的任务的执行,活动图描述活动是如何协同工作的,当一个操作必须完成一系列事情,而又无法确定以什么样的顺序来完成这些事情时,活动图能够更清晰地描述这些事情。。在本图书馆管理系统中,我们主要描述了图书馆系统的借书、还书和预订的活动图。
6.1借书活动图
【借书活动图说明】
管理员首先要扫描读者的借书证,检验证件是否符合图书馆借书条件,若该读者的借书数量还未达到最大规定数量,而且其所借书籍均未属于过期范围,则符合借书条件。则再扫描书籍条形码,检查书籍是否是不可借书籍或者已经被预订,若被预订,则取消预订,方可借书。在这些条件都符合时则更新书籍信息和读者的借阅信息,记录好借书的时间。
有过期书未还
提示不可借
扫描借书证
Y
是否正确
N
进入系统
显示读者信息
已借图书5本
N
N
Y
Y
Y
扫描条形码
该书籍为不
可借书籍
显示书籍信息
更新书籍信息
和读者信息
借书成功
图书馆管理系统的借书活动图
6.2 还书活动图
【还书活动图说明】
图书管理员对书籍进行扫描,若书籍已经过期,则要求读者还请欠款才能还书,读者缴应交罚款后,更新书目信息和读者信息。
扫描条形码
显示书籍图书
交纳罚金
是否过期
Y
N
更新读者信息
和书籍信息
还书成功
图书馆管理系统的还书活动图
6.3 预订图书活动图
【预订书籍活动图说明】
读者先进入系统查询自己所需要的书籍,显示书籍信息,检验书籍是否属于可预订书籍,若符合条件则检查书籍是否已经被预订或已经被外借,若都未成立,则读者登录系统,并对该书籍进行预订。
该书是否在库
预订
选择书籍
查询书籍
进入系统
N
N
Y
显示查询
书籍列表
预订成功
Y
显示书籍
详细信息
该书是否为
不可借资源
该书是否已被预订
N
Y
图书馆管理系统预订书籍活动图
7.系统的顺序图
顺序图是显示对象之间交互的图,这些对象是按时间顺序排列的。该图书馆管理系统主要含有以下几个重要的顺序图,其它对象的顺序图和这些也类似。
(1)借书顺序图
(2)还书顺序图
(3)罚款顺序图
7.1 借书顺序图
: reservation
: readers
:borrow
: item
: books
: 借书界面
管理员
1:login()
3:showinformation
2:cheackstu_card
Getreaders()
Get title()
return valid
borrow
Create(borrower,item)
Check_reservation()
Getnoreservation()
显示借书成功
图书馆管理系统借书顺序图
【顺序图说明】
(1) login():登录系统。
(2) checkstu_card():对读者信息进行验证,检查是否符合本图书馆借书条件。
(3) showinformation():显示该读者的基本信息函数。
(4) borrow():读者借书函数。
(5)getreaders():取得读者信息函数。看该读者是否符合借书条件,若符合,则返回可借信息。
(6) gettitle():取得书目信息。
(7) getreservation():检验书籍是否被预订函数。
(8) getnoreservation():书籍没被预订或取消预订函数。
(9) create(borrower,item):创立书籍外借函数。
借书时,读者先将书拿予管理员,管理员对书籍和读者进行检验,若书籍和读者都符合借书条件,则借书成功。
7.2 还书顺序图
: borrow info
: item
: borrow
还书界面
管理员
读者
交给
Login()
Getitem
扫描书籍条形码
确认
Update()
Update()
还书成功
图书馆管理系统还书顺序图
【顺序图说明】
(1) login():登录系统。
(2) getitem():取得书籍条目信息。
(3) update():对图书馆书籍条目和借阅者信息进行更新条目。
还书时,读者先将书交给管理员,由管理员扫描书籍,若书籍没有过期等违规现象,则对书目和读者借阅信息进行更新,同时还书成功。
7.3 罚款顺序图
: borrow
: borrow info
管理员
读者
扫描显示
显示过期书籍
提示应交罚款金额
交罚金
Update()
Update()
图书馆管理系统罚款顺序图
【顺序图说明】
管理员对书籍进行扫描,若发现书籍已经超过了图书馆规定的还书期限,则按每天一定金额进行罚款,过期天数和罚款金额由系统自动计算。用户交完罚金后,则对读者借阅信息进行更新。
展开阅读全文