摘 要:图书管理系统是信息化时代有效管理图书的重要手段,根据不同的权限,读者、管理员、系统管理员可以完成各自的操作。文中借助UML技术对图书管理系统进行了面向对象分析与设计,在需求分析阶段给出了系统用例图,在类设计阶段给出了系统类图,在交互性设计阶段给出了借书时序图。
关键词:图书管理系统;UML;分析;设计
中图分类号:TP311.5 文献标识码:A
1 引言(Introduction)
随着信息技术的飞速发展,电子化的管理方法逐步取代了传统的手工管理方法,图书的信息化管理系统成为提高图书馆工作效率,有效管理图书的重要手段[1]。基于此,本文借助UML技术,对图书管理系统进行了分析和设计。
2 需求分析(Requirement analysis)
(1)分析系统参与者
遵循识别参与者的方法,可以分析出“图书管理系统”中的参与者有:Administrator(系统管理员)、Librarian(图书管理员)、Reader(读者)[2]。
Administrator:通过使用系统进行用户管理。
Librarian:通过使用系统进行读者管理、图书管理、借阅管理等。
Reader:通过使用系统进行读者信息查询、预订图书、取消预订等。
(2)分析系统用例
针对分析出的系统主要参与者(系统管理员、图书管理员、读者),可以分析出“图书管理系统”中主要用例包括:Manage User(用户管理)、Manage Book(图书管理)、Manage Reader(读者管理)、Borrow-Lend(借阅管理)等[3],详细说明如下。
Manage User:完成系统用户的增加、删除、修改、查询等功能。
Manage Book:完成基本信息设置(图书类型设置、借阅种类设置)和图书信息管理(图书信息设置、图书信息查询)功能。
Manage Reader:完成读者办证、读者信息查询、读者证挂失功能。
Borrow-Lend:完成借书、还书、续借、超期罚款、图书预订、取消预订、图书挂失等功能。
用例图是需求分析阶段主要采用的UML图示[4]。根据以上分析,借助Rational Rose工具绘制出“图书管理系统”用例图,如图1所示。
图1 系统用例图
Fig.1 System use-case diagram
3 类设计(Design of class)
在“图书管理系统”的用例图中已经知道,系统需要为每个读者建立一个账户,并给读者发放读者证(读者证可以提供读者证号、读者姓名),账户中存储读者的个人信息、借阅信息以及预订信息等[5],持有读者证的读者可以借阅书刊、返还书刊、查询书刊信息、预订书刊并取消预订。
在借阅书刊时,需要输入所借阅的书刊名、书刊的ISBN号,然后输入读者的读者证号和读者姓名,完成后提交所填表格,系统验证读者是否有效。若读者有效,借阅请求被接受,系统查询读者所借阅的书刊是否存在,若存在,则读者可借出书刊,系统记录借阅记录;如果读者所借书刊已被借出,读者还可预订该书刊。读者如期还书后,系统清除借阅记录,否则需缴纳罚金。
同时,以上部分操作可能还需要系统管理员和图书管理员进行参与。
结合以上分析,遵循前面叙述的识别类的方法,暂时可以识别出“图书管理系统”中的类有:Admin、Administrator、Librarian、Reader、ReaderType、Book、BookType、Borrow、BorrowType、Store、Reserve、Fine,其详细说明见表1,类之间的关系详见图2。
表1 “图书管理系统”中的类
Tab.1 Classes of “book management system”
序号 类名称 类说明
1 Admin 抽象出来的管理员
2 Administrator 进行系统管理的管理员
3 Librarian 进行读者管理、图书管理、借阅管理的图书管理员
4 Reader 读者基本信息
5 ReaderType 读者类别信息
6 Book 图书基本信息
7 BookType 图书类别信息
8 Borrow 读者借阅图书信息
9 BorrowType 读者借阅类型信息
10 Store 图书在图书馆中的存放位置信息
11 Reserve 读者预订图书信息
12 Fine 读者罚款信息
图2 实体类及其关系
Fig.2 Entity classes and relations
以上各个类默认情况下都属于实体类,可以参照绘制实体类的方法绘制系统的边界类和控制类。接下来依次添加Main、SystemManage、ReaderManage、BookManage、BorrowManage、FineManage等边界类,如图3所示。
图3 边界类及其关系
Fig.3 Boundary classes and relations
4 交互性设计(Interactive design)
以“借书”场景为例,使用Rational Rose工具实现“BorrowBook”时序图如图4所示。
图4 “BorrowBook”时序图
Fig.4 “BorrowBook”sequence diagramendprint
该时序图中涉及到的对象说明如下:
(1)Librarian对象:Librarian类即图书管理员类创建的一个对象。
(2)Reader对象:读者对象。
(3)Book对象:图书对象。
(4)ReaderType对象:读者类型对象。
(5)BorrowManage对象:借阅管理对象。
该时序图中涉及的消息说明如下:
(1)getReaderInfo消息:获取读者基本信息,如办证日期、借阅数量、挂失标志,用处理图书证过期、借阅数量已满等问题
(2)getReaderType消息:获取读者类型信息。
(3)getBookFlag消息:获取图书借阅标志,用于判断图书是否可借阅。
(4)InputBorrowInfo消息:输入借阅信息,如读者编号、图书编号、借还日期等。
(5)modifyBookFlag消息:修改图书借阅标志。
(6)addBorrowBook消息:增加读者已借阅图书数量。
5 结论(Conclusion)
本文借助UML技术对图书管理系统进行了需求分析、类设计和交互性设计。在需求分析阶段,按照捕获参与者、捕获用例以及捕获关系的步骤,完成用例图;在类设计阶段,按照捕获实体类、捕获边界类、捕获关系的步骤,完成类图;在交互性设计阶段,以图书管理系统中的“借书”场景
为例,按照捕获对象、捕获消息的步骤,完成时序图。进一步的工作就是在分析和设计的基础上,搭建开发环境、使用编程语言进行代码实现,此处不再细述。
参考文献(References)
[1] 杜洋.图书馆图书管理系统的设计与实现[D].成都:电子科技
大学,2013.
[2] 张广泉,刘艳.基于UML的图书管理系统提携结构模型及实
现[J].重庆师范大学学报(自然科学版),2005(2):1-4.
[3] 唐红杰.UML基础与Rose建模实训教程[M].北京:清华大学
出版社,2011.
[4] Craig Larman.李洋,郑,译.UML和模式应用[M].北京:机械
工业出版社,2009.
[5] 李春雷,陈萍.基于.net平台的图书管理系统[J].职大学报,
20011(4):84-86.
作者简介:
唐红杰(1979-),女,硕士,讲师.研究领域:网络与通信,
Web技术.endprint
该时序图中涉及到的对象说明如下:
(1)Librarian对象:Librarian类即图书管理员类创建的一个对象。
(2)Reader对象:读者对象。
(3)Book对象:图书对象。
(4)ReaderType对象:读者类型对象。
(5)BorrowManage对象:借阅管理对象。
该时序图中涉及的消息说明如下:
(1)getReaderInfo消息:获取读者基本信息,如办证日期、借阅数量、挂失标志,用处理图书证过期、借阅数量已满等问题
(2)getReaderType消息:获取读者类型信息。
(3)getBookFlag消息:获取图书借阅标志,用于判断图书是否可借阅。
(4)InputBorrowInfo消息:输入借阅信息,如读者编号、图书编号、借还日期等。
(5)modifyBookFlag消息:修改图书借阅标志。
(6)addBorrowBook消息:增加读者已借阅图书数量。
5 结论(Conclusion)
本文借助UML技术对图书管理系统进行了需求分析、类设计和交互性设计。在需求分析阶段,按照捕获参与者、捕获用例以及捕获关系的步骤,完成用例图;在类设计阶段,按照捕获实体类、捕获边界类、捕获关系的步骤,完成类图;在交互性设计阶段,以图书管理系统中的“借书”场景
为例,按照捕获对象、捕获消息的步骤,完成时序图。进一步的工作就是在分析和设计的基础上,搭建开发环境、使用编程语言进行代码实现,此处不再细述。
参考文献(References)
[1] 杜洋.图书馆图书管理系统的设计与实现[D].成都:电子科技
大学,2013.
[2] 张广泉,刘艳.基于UML的图书管理系统提携结构模型及实
现[J].重庆师范大学学报(自然科学版),2005(2):1-4.
[3] 唐红杰.UML基础与Rose建模实训教程[M].北京:清华大学
出版社,2011.
[4] Craig Larman.李洋,郑,译.UML和模式应用[M].北京:机械
工业出版社,2009.
[5] 李春雷,陈萍.基于.net平台的图书管理系统[J].职大学报,
20011(4):84-86.
作者简介:
唐红杰(1979-),女,硕士,讲师.研究领域:网络与通信,
Web技术.endprint
该时序图中涉及到的对象说明如下:
(1)Librarian对象:Librarian类即图书管理员类创建的一个对象。
(2)Reader对象:读者对象。
(3)Book对象:图书对象。
(4)ReaderType对象:读者类型对象。
(5)BorrowManage对象:借阅管理对象。
该时序图中涉及的消息说明如下:
(1)getReaderInfo消息:获取读者基本信息,如办证日期、借阅数量、挂失标志,用处理图书证过期、借阅数量已满等问题
(2)getReaderType消息:获取读者类型信息。
(3)getBookFlag消息:获取图书借阅标志,用于判断图书是否可借阅。
(4)InputBorrowInfo消息:输入借阅信息,如读者编号、图书编号、借还日期等。
(5)modifyBookFlag消息:修改图书借阅标志。
(6)addBorrowBook消息:增加读者已借阅图书数量。
5 结论(Conclusion)
本文借助UML技术对图书管理系统进行了需求分析、类设计和交互性设计。在需求分析阶段,按照捕获参与者、捕获用例以及捕获关系的步骤,完成用例图;在类设计阶段,按照捕获实体类、捕获边界类、捕获关系的步骤,完成类图;在交互性设计阶段,以图书管理系统中的“借书”场景
为例,按照捕获对象、捕获消息的步骤,完成时序图。进一步的工作就是在分析和设计的基础上,搭建开发环境、使用编程语言进行代码实现,此处不再细述。
参考文献(References)
[1] 杜洋.图书馆图书管理系统的设计与实现[D].成都:电子科技
大学,2013.
[2] 张广泉,刘艳.基于UML的图书管理系统提携结构模型及实
现[J].重庆师范大学学报(自然科学版),2005(2):1-4.
[3] 唐红杰.UML基础与Rose建模实训教程[M].北京:清华大学
出版社,2011.
[4] Craig Larman.李洋,郑,译.UML和模式应用[M].北京:机械
工业出版社,2009.
[5] 李春雷,陈萍.基于.net平台的图书管理系统[J].职大学报,
20011(4):84-86.
作者简介:
唐红杰(1979-),女,硕士,讲师.研究领域:网络与通信,
Web技术.endprint