软件工程形考三基于UML的图书馆管理系统方案.docx
《软件工程形考三基于UML的图书馆管理系统方案.docx》由会员分享,可在线阅读,更多相关《软件工程形考三基于UML的图书馆管理系统方案.docx(17页珍藏版)》请在冰豆网上搜索。
![软件工程形考三基于UML的图书馆管理系统方案.docx](https://file1.bdocx.com/fileroot1/2023-1/29/ffff13f6-35e2-4cde-81ec-31fb20126ade/ffff13f6-35e2-4cde-81ec-31fb20126ade1.gif)
软件工程形考三基于UML的图书馆管理系统方案
基于UML的大学图书馆图书
信息管理系统设计实验
系统简介
本系统为一个小型的图书管理系统,需完成以下工作:
(1)借书、还书
(2)在图书馆中增加或删除一本书
(3)按照作者或者专业领域查找一批书
(4)找出被某位读者借出的一批书
(5)找出最近借出某本书的读者
系统的用户有两类:
图书管理员和普通读者。
功能
(1)
(2)(5)只供图书管理员使用,功能(4)只能供读者查找自己借出的书,功能(3)为管理员和读者的共同功能。
本系统需满足以下限制:
(1)图书馆中所有未借出的书可供读者随时借阅
(2)在同一时刻,一本书不能既被借出又可供阅读
(3)一个读者一次借出图书的数目不能超过预定值
1、用例分析与设计
从以上系统简介容中可以看出,本系统有以下几类参与者:
图书管理员Admin
读者Reader
读卡器CardReader
服务器System
在上述参与者中,图书管理员和读者与系统进行交互,通过对交互场景进行归类和抽象,本系统应具有以下用例:
借书lendBook
还书returnBook
增加图书addBook
删除图书delBook
按作者、专业检索图书findBook_Author
按读者检索图书findBook_Reader
按书检索读者findReader_Book
2.1生成用例图
由以上用例分析可生成用例图,如图2.1所示
图2.1系统用例图
2.2用例的顺序图
为了使每个用例的操作流程更简洁明了,本系统采用UML的顺序图来对每个用例进行细化,如下所示。
1、借书
图2.2借书顺序图
函数说明:
InsertCard():
刷卡
ReadCard():
读卡
ifMax()判断借书数量是否达到上限
ReturnReaderInfo()返回读者信息
Return(true):
该读者可继续借书
lendBook():
输入借书信息
Update()更新数据库
2、还书
图2.3还书顺序图
函数说明:
BookInfo():
输入还书信息
Update():
更新数据库
ReturnReaderInfo():
返回读者信息
3、增加图书
图2.4增加图书顺序图
函数说明:
addBook():
输入增加的图书信息
ifAllowsAdd():
判断是否允许添加
Update():
更新图书信息
Return(true):
返回添加成功
4、删除图书
图2.5删除图书顺序图
函数说明:
delBook():
输入删除的图书信息
ifAllowsDel():
判断是否可以删除
ifSure():
是否确定删除
Return(true)5:
确定删除
Update():
更新图书信息
Return(true)7:
返回删除成功
5、按作者检索图书
图2.6按作者或专业检索图书顺序图
函数说明:
findBook_Author():
管理员或读者选择按作者或专业检索图书
Author(String):
输入作者或专业信息
returnBookInfo():
返回图书信息
6、按读者检索图书
管理员部分:
图2.7按读者检索图书顺序图
读者部分
图2.8读者检索个人借阅图书顺序图
函数说明:
findBook_Reader():
选择按读者检索图书
ReaderId():
输入读者编号
ReaderIdandPass():
输入读者编号密码
returnBookInfo():
返回书籍信息
7、按书检索读者
图2.9按图书检索读者顺序图
函数说明:
findReader_Book():
选择按图书检索读者
BookID():
输入图书编号
returnReaderInfo():
返回读者信息
2、概念模型和顶层架构设计
3.1概念模型设计
图3.1系统概念模型——分析类图
说明:
表示控制类表示实体类表示边界类
3.2顶层架构设计
图3.2系统顶层架构
3、用户界面设计
4.1界面变化分析
根据管理员的功能分析,与管理员相关的主要界面有以下10个:
AdminWelcome:
管理员主界面
findReader_Book:
按读者检索图书界面
lendBook:
借书界面
returnBook:
还书界面
addBook:
增加图书界面
delBook:
删除图书界面
findBook_Author:
按作者或专业查找图书界面
findBook_Reader:
按读者检索图书界面
UserInfo:
显示读者信息界面
BookInfo:
显示图书信息界面
各界面之间的转换如状态图4.1所示
图4.1管理员屏幕变化状态图
根据读者的功能分析,与读者相关的主要界面有以下5个:
ReaderWelcome:
读者主界面
findBook_Author:
按作者或专业查找图书界面
findBook_Reader:
按读者检索图书界面
InputPass:
读者验证账户名密码界面
BookInfo:
显示图书信息界面
各界面之间的转换如状态图4.2所示
图4.2读者屏幕变化状态图
4.2界面的类图表示
针对每个屏幕的结构及功能,采用类图对其进行详细说明,如下所示。
1、借书界面
此界面包含一个图书编号文本框、一个读者编号文本框、一个借书按钮以及一个取消按钮,如图4.3所示
图4.3借书界面的结构类图
2、还书界面
此界面包含一个图书编号文本框、一个还书按钮以及一个取消按钮,如图4.4所示
图4.4还书界面结构类图
3、增加图书界面
此界面包含一个图书编号文本框、一个图书名称文本框、一个图书作者文本框、一个增加按钮以及一个取消按钮,如图4.5所示
图4.5增加图书界面结构类图
4、删除图书界面
此界面包含一个图书编号文本框、一个删除按钮以及一个取消按钮,如图4.6所示
图4.6删除图书界面结构类图
5、按作者或专业查找图书界面
此界面包含一个作者本框、一个查找按钮以及一个取消按钮,如图4.7所示
图4.7按作者或专业查找图书界面结构类图
6、按图书查找读者界面
此界面包含一个图书编号文本框、一个查找按钮以及一个取消按钮,如图4.8所示
图4.8按图书查找读者界面结构类图
7、按读者查找图书界面
此界面包含一个读者编号文本框、一个查找按钮以及一个取消按钮,如图4.9所示
图4.9按读者查找图书界面结构类图
8、读者验证账户名密码界面
此界面包含一个读者编号文本框、一个读者密码文本框、一个查找按钮以及一个取消按钮,如图4.10所示
图4.10读者验证账户名密码界面结构类图
4.3界面包图的设计
1、管理员界面包图
图4.11管理员界面包图
2、读者界面包图
图4.12读者界面包图
4、类设计
5.1类的属性和操作设计
经过分析,系统主要的类、类的属性及操作以及它们之间的关系如图5.1所示。
图5.1系统类图
5.2类的行为模型设计
单单用类图对类进行描述并不能表示各实体类的动态行为,在这里我们进一步用状态图对书籍和读者两个实体类进行分析
1、书籍的类的状态图
图5.2书籍类状态图
状态图说明:
NewBook:
新书状态;书籍在新增后进入此状态
Available:
可借阅状态
Lened:
已借出状态
Delete:
已删除状态
书籍在刚增加后进入新书状态,可供借阅;在发生借阅事件后进入已借出状态;当书籍归还,又转化为可供借阅状态;删除后进入已删除状态。
图5.2读者类状态图
状态图说明:
NewReader:
新读者账户
Available:
可借阅状态
UnAvilable:
不可借阅状态
Delete:
已删除状态
新增的读者为新读者账号状态,可借阅图书;当借书数量达到最大值时转化为不可借阅状态;当有图书归还后又进入可借阅状态;当账号被删除,转化为已删除状态。
5、小结
以上就是本小组经过详细分析、精心设计的一个图书管理系统。
经过小组的讨论以及分工合作,使得我们每个人对该系统有了比较全面的了解。
我们采用UML分析方法对系统进行分析设计,通过对用例的分析、概念模型和顶层架构的分析、界面设计以及类的分析设计让整个系统的架构更加清晰明了。
在描述各个架构及功能时我们采用了各种图,包括状态图,类图,包图,顺序图等等,全面而详细的将图书管理系统整体到部分功能形象地展示出来。
UML统模课程是我们组成员设计的知识基础,通过对rose软件的实践应用,成功地完成本次软件设计的具体工作。