图书管理系统.pdf
图书管理系统 UML 面向对象分析与设计 云南工商学院 丁勇 Email: 第 1 页,共 33 页 目录目录 1、前言.3 2、系统需求分析.4 2.1、系统功能需求.4 2.2、基本数据维护模块.4 2.3、基本业务模块.4 2.4、数据库模块.5 2.5、信息查询模块.5 3、功能模块图.6 4、用例图.8 4.1、借阅者请求服务的用例图.8 4.2、图书馆管理员处理借书和还书等的用例图.8 4.3、系统管理员进行系统维护的用例图.9 5、时序图.10 5.1、系统管理员添加书籍的时序图.10 5.2、系统管理员添加借阅者帐户的时序图.10 5.3、系统管理员删除书目的时序图.11 5.4、图书管理员处理书籍借阅的时序图.11 5.5、图书管理员处理书籍归还的时序图.12 5.6、借阅者查询书籍信息的时序图.12 5.7、借阅者预留书籍的时序图.13 6、协作图.14 6.1、系统管理员添加书籍的协作图.14 6.2、系统管理员删除书籍的协作图.14 6.3、图书管理员处理借书的协作图.15 6.4、图书管理员处理还书的协作图.15 6.5、借阅者预留书籍的协作图.16 7、状态图.17 图书管理系统 UML 面向对象分析与设计 云南工商学院 丁勇 Email: 第 2 页,共 33 页 7.1、书的状态图.17 7.2、借阅者帐户的状态图.17 8、活动图.18 8.1、借阅者的活动图.18 8.2、图书管理员的活动图.18 8.3、系统管理员的活动图.19 8.3.1、系统管理员维护借阅者帐户的活动图.19 8.3.2、系统管理员进行书目信息维护的活动图.19 8.3.3、系统管理员维护书籍信息的活动图.20 9、组件图.21 9.1、业务对象组件图.21 9.2、用户界面的组件图.21 10、类图.22 10.1、读者借还书类图.24 10.2、借阅管理类图.25 10.3、系统管理类图.26 11、配置图.27 12、E-R 图.28 13、Java 代码框架生成.30 13.1、Administrator 类代码.30 13.2、Borrower 类代码.30 13.3、Item 类代码.31 图书管理系统 UML 面向对象分析与设计 云南工商学院 丁勇 Email: 第 3 页,共 33 页 1、前言前言 图书管理系统是一种基于集中统一规划的数据库数据管理新模式。在对图书、读者的管理,其实是对图书、读者数据的管理。读者将要借的书和借阅证交给工作人员,工作人员将每本书上附带的描述书的信息的卡片和读者的借阅证放在一个小格栏里,并在借阅证和每本书贴的借阅条上填写借阅信息。借书过程就完成了。还书时,读者将要还的书交给工作人员,工作人员根据图书信息找到相应的书卡和借阅证,并填好相应的还书信息,还书过程就完成了。本次设计题目:“图书管理系统的 UML 建模”主要目的是利用建模工具 Visio对图书管理系统进行建模,用以实现图书、读者以及日常工作等多项管理。同时画出类图、用例图、时序图、协作图、状态图、活动图、组件图、配置图等,更好的被用户所理解。图书管理系统 UML 面向对象分析与设计 云南工商学院 丁勇 Email: 第 4 页,共 33 页 2、系统需求分析系统需求分析 2.1、系统功能需求系统功能需求 借阅者可以通过网络查询书籍信息和预定书籍。借阅者能够借阅书籍和还书。图书管理员能够处理借阅者的借阅和还书请求。系统管理员可以对系统的数据进行维护,如增加、删除和更新书目,增加、删除和更新借阅者帐户,增加和删除书籍。系统主要包括以下几个模块:基本数据维护模块 基本业务模块 数据库管理模块 信息查询模块 2.2、基本数据维护模块基本数据维护模块 基本数据维护模块包括的主要功能模块:添加借阅者帐户 修改更新借阅者帐户信息 添加书目 修改和更新书目信息 添加书籍 删除书籍 2.3、基本业务模块基本业务模块 基本业务模块包含的功能:借书 图书管理系统 UML 面向对象分析与设计 云南工商学院 丁勇 Email: 第 5 页,共 33 页 还书 书籍预留 取消书籍预定 2.4、数据库模块数据库模块 数据库模块的功能:借阅信息管理 书籍信息管理 帐户信息管理 书籍预留信息管理 2.5、信息查询模块信息查询模块 信息查询模块主要是查询数据库中的相关信息:查询书籍信息 查询借阅者信息 系统的参与者主要有三类:读者(也可称为借阅者)、图书馆管理员、图书馆管理系统维护者。图书管理系统 UML 面向对象分析与设计 云南工商学院 丁勇 Email: 第 6 页,共 33 页 3、功能模块图功能模块图 图书馆管理系统的软件架构图如下图所示:图书馆管理系统的主要功能模块如下图所示:图书管理系统 UML 面向对象分析与设计 云南工商学院 丁勇 Email: 第 7 页,共 33 页 图 书 馆 管 理 系 统基本业务功能基 本数 据录 入功 能信息查询功能数 据库 管理 功能帮助功能借书还书预订书籍信息录入借阅者信息录入书籍信息查询读者信息查询借阅信息管理书籍信息管理预订信息管理 图书管理系统 UML 面向对象分析与设计 云南工商学院 丁勇 Email: 第 8 页,共 33 页 4、用例图用例图 4.1、借阅者请求服务的用例图借阅者请求服务的用例图 4.2、图书馆管理员处理借书和还书等的用例图图书馆管理员处理借书和还书等的用例图 图书管理系统 UML 面向对象分析与设计 云南工商学院 丁勇 Email: 第 9 页,共 33 页 4.3、系统管理员进行系统维护的用例图、系统管理员进行系统维护的用例图 图书管理系统 UML 面向对象分析与设计 云南工商学院 丁勇 Email: 第 10 页,共 33 页 5、时序图时序图 5.1、系统管理员添加书籍的时序图系统管理员添加书籍的时序图 5.2、系统管理员添加借阅者帐户的时序图系统管理员添加借阅者帐户的时序图 图书管理系统 UML 面向对象分析与设计 云南工商学院 丁勇 Email: 第 11 页,共 33 页 5.3、系统管理员删除书目的时序图系统管理员删除书目的时序图 5.4、图书管理员处理书籍借阅的时序图图书管理员处理书籍借阅的时序图 图书管理系统 UML 面向对象分析与设计 云南工商学院 丁勇 Email: 第 12 页,共 33 页 5.5、图书管理员处理书籍归还的时序图图书管理员处理书籍归还的时序图 5.6、借阅者查询书籍信息的时序图借阅者查询书籍信息的时序图 图书管理系统 UML 面向对象分析与设计 云南工商学院 丁勇 Email: 第 13 页,共 33 页 5.7、借阅者预留书籍的时序图借阅者预留书籍的时序图 图书管理系统 UML 面向对象分析与设计 云南工商学院 丁勇 Email: 第 14 页,共 33 页 6、协作图协作图 6.1、系统管理员添加书籍的协作图系统管理员添加书籍的协作图 6.2、系统管理员删除书籍的协作图系统管理员删除书籍的协作图 图书管理系统 UML 面向对象分析与设计 云南工商学院 丁勇 Email: 第 15 页,共 33 页 6.3、图书管理员处理借书的协作图图书管理员处理借书的协作图 6.4、图书管理员处理还书的协作图图书管理员处理还书的协作图 图书管理系统 UML 面向对象分析与设计 云南工商学院 丁勇 Email: 第 16 页,共 33 页 6.5、借阅者预留书籍的协作图借阅者预留书籍的协作图 图书管理系统 UML 面向对象分析与设计 云南工商学院 丁勇 Email: 第 17 页,共 33 页 7、状态图状态图 7.1、书的状态图书的状态图 7.2、借阅者帐户的状态图借阅者帐户的状态图 图书管理系统 UML 面向对象分析与设计 云南工商学院 丁勇 Email: 第 18 页,共 33 页 8、活动图活动图 8.1、借阅者的活动图借阅者的活动图 8.2、图书管理员的活动图图书管理员的活动图 图书管理系统 UML 面向对象分析与设计 云南工商学院 丁勇 Email: 第 19 页,共 33 页 8.3、系统管理员的活动图系统管理员的活动图 8.3.1、系统管理员维护借阅者帐户的活动图系统管理员维护借阅者帐户的活动图 8.3.2、系统管理员进行书目信息维护的活动图系统管理员进行书目信息维护的活动图 图书管理系统 UML 面向对象分析与设计 云南工商学院 丁勇 Email: 第 20 页,共 33 页 8.3.3、系统管理员维护书籍信息的活动图系统管理员维护书籍信息的活动图 图书管理系统 UML 面向对象分析与设计 云南工商学院 丁勇 Email: 第 21 页,共 33 页 9、组件图组件图 9.1、业务对象组件图业务对象组件图 9.2、用户界面的组件图用户界面的组件图 图书管理系统 UML 面向对象分析与设计 云南工商学院 丁勇 Email: 第 22 页,共 33 页 10、类图类图 reader 类是借阅者的类,它的属性很多,包括借阅者的账户 ID(reader_id)、姓名(reader_Name)、地址(Address)、班级(class)、所借书籍的书目(borrowed)等。其中主要操作有借书(addborrowed)和还书(deleteborrowed)和预订(reservation)等。admin 类是管理员类,他有编号和姓名属性,操作主要是书籍的增删改和读者的增删改等等。Title 类是记录书目信息的类,包括书籍的名字(name)、作者(author)、book_id 等属性。Item 类是具体某本书的类,属性包括书籍号(id)。操作包括预订(reserve)、按书目查找(find_on_title)等。borrow 类是某本书的借阅信息类,包括所借阅书籍的 ISBN、借阅的时间(date)等。Reservation 类是预订信息类,每个预订信息包括预订日期(date)、所预订书籍的 ISBN、预订书籍的用户 ID(UserID)等属性。persistent store 类是书籍永久的存储类,在数据库中的存储数据,其他对与书籍有关的活动都要经过其存储类。图书管理系统 UML 面向对象分析与设计 云南工商学院 丁勇 Email: 第 23 页,共 33 页 图书管理系统 UML 面向对象分析与设计 云南工商学院 丁勇 Email: 第 24 页,共 33 页 10.1、读者借读者借还书类图还书类图 图书管理系统 UML 面向对象分析与设计 云南工商学院 丁勇 Email: 第 25 页,共 33 页 10.2、借阅管理类图、借阅管理类图 图书管理系统 UML 面向对象分析与设计 云南工商学院 丁勇 Email: 第 26 页,共 33 页 10.3、系统管理类图、系统管理类图 图书管理系统 UML 面向对象分析与设计 云南工商学院 丁勇 Email: 第 27 页,共 33 页 11、配置图配置图 图书管理系统 UML 面向对象分析与设计 云南工商学院 丁勇 Email: 第 28 页,共 33 页 12、E-R 图图 通过对图书管理系统的分析,可以得出该系统涉及三个实体:读者、图书、管理员。通过对各实体数据关系的整理,我们可以画出如下 ER 图:读者借阅图书编号图书名称索引号ISNB号作者出版社图书类别价格出版日期读者编号读者姓名读者类别备注备注图书归还管理员管理姓名编号备注类别 采用 PowerDesigner 进行数据建模,数据库概念数据模型 CDM 对象如下图,该图显示了各实体的属性及各实体之间的关系。图书管理系统 UML 面向对象分析与设计 云南工商学院 丁勇 Email: 第 29 页,共 33 页 0,n0,n管理书籍0,n0,n0,n0,nbooktypebooksbook_idtitletype_idauthorpricebook concernaddtimeamountremain IntegerCharacters(20)IntegerCharacters(40)Money(20)Characters(50)Date&TimeIntegerIntegerIdentifier_1 readerreader_idreader_namesexageclassaddressmemomaxborrowedreader_passwordright IntegerCharacters(20)Characters(2)Byte(100)Characters(15)TextTextIntegerCharacters(16)IntegerIdentifier_1 borrow_informationborrow_timeend_timeamountreturn_time.Date&TimeDate&TimeIntegerDate&Timeadminadmin_idadmin_namepasswordloginslast_loginright IntegerCharacters(20)Characters(16)IntegerIntegerIdentifier_1 reversationreservation_timereservationcancel.Date&TimeDate&Timeloginright Integerbooktypetype_id Integer图书管理系统 UML 面向对象分析与设计 云南工商学院 丁勇 Email: 第 30 页,共 33 页 13、Java 代码框架生成代码框架生成 13.1、Administrator 类代码类代码 public class Administrator private int WorkID;/*roseuid 469BCB9C03A9 */public Administrator()13.2、Borrower 类代码类代码 public class Borrower private String name;private String address;private String city;private String state;private String zip;private int maxlay;private String userID;private int borrow_number;/*roseuid 469BC637004E */public Borrower()/*图书管理系统 UML 面向对象分析与设计 云南工商学院 丁勇 Email: 第 31 页,共 33 页 roseuid 469BC6BD036B */public void find()/*roseuid 469BC6C20399 */public void destroy()/*roseuid 469BC6CB0157 */public void borrow()/*roseuid 469BC6D10213 */public void return_back()/*roseuid 469BC6DC0186 */public void check_if_max()13.3、Item 类代码类代码 public class Item 图书管理系统 UML 面向对象分析与设计 云南工商学院 丁勇 Email: 第 32 页,共 33 页 private int id;public Title theTitle;/*roseuid 469BA6B901C5 */public Item()/*roseuid 469BA714000F */public void find_on_title()/*roseuid 469BA722008C */public void create()/*roseuid 469BA7290203 */public void destroy()/*roseuid 469BA73103A9 */public void find()/*图书管理系统 UML 面向对象分析与设计 云南工商学院 丁勇 Email: 第 33 页,共 33 页 roseuid 469BA73901D4 */public void check()/*roseuid 469BA74202DE */public void update()/*roseuid 469BA74700BB */public void reserve()