第9章图书馆管理系统9.1软件需求分析9.2图书馆管理系统的需求分析9.3系统的UML基本模型9.4系统中的类9.5系统的配置与实现9.1软件需求分析9.1.1软件需求的定义9.1.2软件需求的层次9.1.1软件需求的定义IEEE软件工程标准词汇表中需求的定义:①用户解决问题或达到某种目的所需要的条件或权能。②系统或系统组件要满足合同、标准、规范或其他正式规定的文档所需要的条件或权能。③反映以上(1)或(2)中描述的条件或权能的文档说明。9.1.2软件需求的层次软件需求包括三个层次:业务需求:反映了组织机构或客户对系统高层次的目标要求。用户需求:描述了用户使用产品所能完成的任务。功能需求:说明了软件的功能,用户使用这些功能以完成任务。9.1.2软件需求的层次需求层次图:业务需求项目视图与范围文档用户需求质量属性用例文档功能需求系统需求非功能需求约束条件软件需求说明书9.2图书馆管理系统的需求分析9.2.1系统功能需求9.2.2基本数据维护模块9.2.3基本业务模块9.2.4数据库模块9.2.5信息查询模块9.2.1系统功能需求系统的功能需求主要包括以下几个方面:①借阅者可以通过网络查询书籍信息和预定书籍。②借阅者能够借阅书籍和还书。③图书管理员能够处理借阅者的借阅和还书请求。④系统管理员可以对系统的数据进行维护,如增加、删除和更新书目,增加、删除和更新借阅者帐户,增加和删除书籍。9.2.1系统功能需求系统主要包括以下几个模块:①基本数据维护模块②基本业务模块③数据库管理模块④信息查询模块9.2.2基本数据维护模块基本数据维护模块包括的主要功能模块:①添加借阅者帐户②修改更新借阅者帐户信息③添加书目④修改和更新书目信息⑤添加书籍⑥删除书籍9.2.3基本业务模块基本业务模块包含的功能:①借书②还书③书籍预留④取消书籍预定9.2.4数据库模块数据库模块的功能:①借阅信息管理②书籍信息管理③帐户信息管理④书籍预留信息管理9.2.5信息查询模块信息查询模块主要是查询数据库中的相关信息:①查询书籍信息②查询借阅者信息9.3系统的UML基本模型9.3.1UML初始模型9.3.2系统的用例图9.3.3系统的时序图9.3.4系统的协作图9.3.5系统的状态图9.3.6系统的活动图9.3.1建立UML初始模型选择J2SE模式9.3.2系统的用例图创建用例图之前首先需要确定参与者。系统的参与者主要有三类:①读者(也可称为借阅者)②图书馆管理员③图书馆管理系统维护者9.3.2系统的用例图1.借阅者请求服务的用例图2.图书馆管理员处理借书、还书等的用例图3.系统管理员进行系统维护的用例图1.借阅者请求服务的用例图2.图书馆管理员处理借书、还书等的用例图3.系统管理员进行系统维护的用例图9.3.3系统的时序图1.系统管理员添加书籍的时序图2.系统管理员添加借阅者帐户的时序图3.系统管理员删除书目的时序图4.图书管理员处理书籍借阅的时序图5.图书管理员处理书籍归还的时序图6.借阅者查询书籍信息的时序图7.借阅者预留书籍的时序图1.系统管理员添加书籍的时序图:Item:Administrator:MaintenanceWindow:Title1:additem()4:create(Integer,Title)Checkifcorrespondingtitleexist2:find(String)3:returntrue2.系统管理员添加借阅者帐户的时序图:Borrower:Administrator:MaintenanceWindow1:createborrower()2:create(String,String)3.系统管理员删除书目的时序图4.图书管理员处理书籍借阅的时序图5.图书管理员处理书籍归还的时序图:Borrower:Librarian:ReturnWindow:Item:Loan1:givethebook2:returnitem()3:check()4:ok5:update()6:update()6.借阅者查询书籍信息的时序图:Borrower:MaintenanceWindow:Item1:QueryBook()2:find_on_title(Title)7.借阅者预留书籍的时序图theBorrower:BorrowerWebApplicationtheTitle:Title1:Login2:find(String)3:Returntrue4:reserve()9.3.4系统的协作图1.系统管理员添加书籍的协作图2.系统管理员删除书籍的协作图3.图书管理员处理借书的协作图4.图书管理员处理还书的协作图5.借阅者预留书籍的协作图1.系统管理员添加书籍的协作图:Administrator:MaintenanceWindow:Item:Title1:additem()3:update()2:find(String)2.系统管理员删除书籍的协作图:Administrator:MaintenanceWindow:Title:Item1:removeitem()2:find(String)3:create(Integer,Title)3.图书管理员处理借书的协作图:Administrator:LendWindow2:findreservation():Reservation:Title:Item:Loan7:check_if_max()1:identifyborrower()3:find(Borrower,Title)4:borrow()6:borrow()5:update()4.图书管理员处理还书的协作图:Librarian:ReturnWindow:Loan:Title:Item1:findborrower()2:find(String)5:return_back()3:return_back()4:update()5.借阅者预留书籍的协作图:Borrower:ReservationWindow:Title:Item:Reservation1:identifyborrower()3:reservetitle()2:find(String)4:reserve()5:create(Title,Borrower)9.3.5系统的状态图1.书的状态图2.借阅者帐户的状态图1.书的状态图2.借阅者帐户的状态图9.3.6系统的活动图1.借阅者的活动图2.图书管理员的活动图3.系统管理员的活动图1.借阅者的活动图2.图书管理员的活动图3.系统管理员的活动图①系统管理员维护借阅者帐户的活动图②系统管理员进行书目信息维护的活动图③系统管理员维护书籍信息的活动图(1)系统管理员维护借阅者帐户的活动图(2)系统管理员进行书目信息维护的活动图(3)系统管理员维护书籍信息的活动图9.4系统中的类9.4.1系统中主要的类9.4.2各个类之间的关系9.4.1系统中主要的类①参与者相关的类②系统中用到的其他类(1)参与者相关的类(2)系统中用到的其他类9.4.2各个类之间的关系9.5系统的配置与实现9.5.1系统的组件图9.5.2系统的配置图1业务对象组件图2.用户界面的组件图UpdateBorrowerFrame.javaBorrowerFrame.javaCancelReservationFrame.javaBrowseWindow.javaMainWindow.javaReservationFrame.javaFindBorrowerDialog.javaReturnItemFrame.javaTitleInfoWindow.javaLendItemFrame.javaFindTitleDialog.javaBorrowerInfoWindow.javaUpdateTitleFrame.javaTitleFrame.javaAboutDialog.javaMessageBox.javaQuitDialog.javaResultOfFindBorrower.javaResultOfFindTitle.java9.5.2系统的配置图DatabaseApplicationServerBusinessOperationInformationMaintenanceWebApplication结合自己的题目,画本章所涉及的各种UML基本模型图。作业