标题 | 基于UML的图书管理系统分析与设计 |
范文 | 摘 要:图书管理系统是信息化时代有效管理图书的重要手段,根据不同的权限,读者、管理员、系统管理员可以完成各自的操作。文中借助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 diagram 该时序图中涉及到的对象说明如下: (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技术. 该时序图中涉及到的对象说明如下: (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技术. 该时序图中涉及到的对象说明如下: (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技术. |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。