基于UML的图书管理系统分析与设计 下载本文

内容发布更新时间 : 2024/9/20 7:32:01星期一 下面是文章的全部内容请认真阅读。

龙源期刊网 http://www.qikan.com.cn

基于UML的图书管理系统分析与设计

作者:唐红杰

来源:《软件工程师》2014年第11期

摘 要:图书管理系统是信息化时代有效管理图书的重要手段,根据不同的权限,读者、管理员、系统管理员可以完成各自的操作。文中借助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:完成系统用户的增加、删除、修改、查询等功能。

龙源期刊网 http://www.qikan.com.cn

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 抽象出来的管理员

龙源期刊网 http://www.qikan.com.cn

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 该时序图中涉及到的对象说明如下: