图书馆管理系统UML建模分析和设计一、图书馆管理系统的需求分析系统的功能需求主要包括以下几点:1.借阅者可以通过网络查询书籍信息和预定信息;2.借阅者能够借阅书籍和还书;3.图书管理员能够处理借阅者的借阅和还书请求;4.系统管理员可以对系统的数据进行维护,如增加、删除和更新书目,增加、删除和更新借阅者的账户,增加和删除书籍。二、系统的用例图1.借阅者请求服务的用例图extendreturnwithfinesearchforbookreservethebooklogonthesystemqueryinfoborrowthebookborrowerreturnthebookuseuse用例图说明:searchfoebook:书籍查询用例。reservethebook:书籍预定用例。loginthesystem:登录系统,用户可以登录系统以便进行借阅信息查询以及预定书籍等操作。queryinfo:查询借阅信息。loginthesystem:借阅书籍。returnthebook:归还书籍。returnwithfine:还书时交纳罚金,如果借阅者所借书籍超过借阅期限未还,还书时候就要交纳罚金。2.图书馆管理员处罚借书、还书等的用例图getwithfinecheckuseraccountgetbooklendbooklibrarianremovereservationextendincludeuse用例图说明Getbook:书籍归还处理。lendbook:书籍借阅处理。removereservation:删除书籍预定信息。getwithfine:还书时收取罚金。checkusercount:检查用户借阅凭证的合法性。图书馆管理员在借阅者借书时候要检查用户借阅凭证的合法性。3.系统管理员进行系统维护的用例图用例图说明:removeorupdateborrower:删除或更新借阅者账户信息。addborrower:添加借阅者账户。removebook:删除书籍。addbook:增加书籍。removeorupdatetitle:删除或更新书目。addtitle:增加书目。querybookinfo:书籍信息查询。queryborrowerinfo:查询读者信息。queryborrowerinfoquerybookinfoaddtitleremoveorupdatetitleaddbookremovebookaddborroweradministratorremoveorupdateborrower三、系统的时序图1.系统管理员添加书籍的时序图:administrator:administrator:MaintenanceWindow:MaintenanceWindow:Title:Title:Item:Item1:additem()2:find(string)3:returntrue4:creat(integer,title)checkifcorrespondingtitleexist时序图说明:Additem():添加书籍函数。find(string):根据书籍查找相应书目的函数。Creat(integer,title):修改书籍数目的函数。2.系统管理员添加借阅者账户的时序图:administrator:administrator:MaintenanceWindow:MaintenanceWindowBorrowerBorrower1:creatborrower()2:creat(string,string)时序图说明creat(string,string):添加新的借阅者的账户的函数。3.系统管理员删除书目的时序图:librarian:librarian:MaintenanceWindow:MaintenanceWindow:Title:Title:Item:Itemremoveallitemsfirst1:removeitem()2:find(string)3:findontitle(Title)4:destroy()5:destroy()时序图说明:find(string):书目类的查找函数。findontitle(Title):查找此类书目下书籍信息的函数。destroy():删除书籍信息的函数。destroy():删除书目信息的函数。4.图书馆管理员处理书籍借阅的时序图:librarian:librarian:LendWindow:LendWindow:Title:Title:Borrower:Borrower:Loan:Loan:Item:Item1:findtitle()2:find(string)3:finditem()4:findontitle(Title)5:identifyborrower()6:find(string)7:creat(borroewr,item)时序图说明:find(string):查找书目的函数。finditem():查找所要书籍的函数。findontitle(Title):根据书目名从数据库中找到书目信息的函数。identifyborrower():验证借阅者身份的函数。find(string):根据借阅者的登录帐号找到借阅者信息的函数。creat(borroewr,item):修改借阅信息的函数。5.图书馆管理员处理书籍归还的时序图时序图说明:check():检查书籍状况的函数。update():更新书籍类信息的函数。update():更新借阅者借阅信息的函数。:borrower:borrower:librarian:librarian:ReturnWindow:ReturnWindow:Item:Item:Loan:Loan1:givethebook2:returnitem()3:check()4:ok5:update()6:update()6.借阅者查询书籍信息的时序图:borrower:borrower:MaintenanceWindow:MaintenanceWindow:Item:Item1:querybook()2:findontitle(Title)时序图说明:findontitle(Title):根据书目查找到相应的书籍信息。7.借阅者预订书籍的时序图时序图说明:Login:登录系统的函数。find(string):查找相应书目的函数。Reserve():预订书籍的函数。:borrower:borrower:WebApplication:WebApplicationtheTitle:TitletheTitle:Title1:login2:find(string)3:returntrue4:reserve()四、系统的协作图1.系统管理员添加书籍的协作图协作图说明:Additem():添加书籍的函数。Find(string):根据书籍名查找相应书目的函数。Update():修改某类书目下书籍数量的函数。2、系统管理员删除书籍的协作图协作图说明:Remove_item():删除书籍的函数。Find(string):根据书籍名查找相应书目的函数。Update():修改某类书目下书籍数量的函数。3、图书管理员处理借书的协作图:Librarian:LendWindow:Title:Item:Reservation:Loan2:findreservation()7:check_if_max()1:identifyborrower()4:borrow()3:find(Borrower,Title)6:borrow()5:update()协作图说明:Identify_borrower():验证借阅者身份的函数。Find_reservation():查找预订信息的函数。Find(borrower,title):根据借阅者借阅的书籍名查找相应预订信息的函数。Borrow():处理借书的函数。Updat():更新某一书目下书籍数量的函数。Check_if_max():检查借阅凭证所借书籍数目是否已经超过最大限额的函数。4、图书管理员处理书籍归还的协作图:Librarian:ReturnWindow:Title:Loan:Item1:findBorrower()3:returnBack()2:find(String)5:returnBack()4:update()协作图说明:Find_borrower():查找借阅者的信息的函数.Find(string):根据借阅者查找借阅信息的函数。Return_back():处理还书的函数。Update():更新书记数目的函数。五、系统的状态图1、书的状态图newbookavaiabledeletereservedborrowerdborrowborrowreservetimeoutcancelreturnback状态图说明:newbook:还未进库的新书。Avaiable:书籍处于可用状态。Delete:已从书库删除的书。Reserved:预定状态。Borrowerd:借出状态。2.借阅者账户的状态图newborroweraccountavaiableaccountunavailabledeleteaccountthenumberofbookextendsthelimitreturnsomebooksthenumberofbookisok状态图说明:newborrower:新加入的借阅者的账户。accountavaiable:借阅账户为可用状态,即未达到所规定的书籍借阅数目的上限。accountunavailable:借阅账户为不可用状态,即已达到所规定的书籍借阅数目的上限,不能再借书了deleteaccount:个人账户被删除的状态。六、系统的活动图1、借阅者的活动图活动图说明:Self-helpService:打开图书馆负责自助服务的计算机。Searchforbooks:查询需要的书籍。Login登录管理系统。Viewbookinformation:查看书籍信息。Reservethebook:预订书籍。ExitSystem:退出系统。LeaveComputer:离开自助服务的计算机。2.图书管理员的活动图活动图说明:Loginthesystem:图书管理员登录系统。Getbook:处理还书操作。Lendbook:处理借书操作。Updateborrower’sinformation:更新借阅者借阅凭证的信息。Acceptmoney:收取罚金。3.系统管理员的活动图系统管理员要处理的内容比较多,活动图也比较大,所以将其分为3个图。(1)系统管理员维护借阅者账户的活动图(2)系统管理员进行书目信息维护的活动图(3)系统管理员维护书籍信息的活动图活动图说明:Loginthesystem:登录系统。Operationonborrower:对借阅者账户操作。Operationontitle:对书目进行操作。Operationonbook:对书籍进行操作Queryborrowerinfo:查询借阅者信息。Newborrower:添加新的借阅者账户。RemoveorUpdateborrower:删除或更新借阅者账户。Querytitle:查询书目信息。Newtitle:增加新的书目。Removeorupdatetitle:删除或更新书目。Addbook:增加书籍信息。Removebook:删除书籍信息。Exitthesystem:退出系统。七、类图的生成在图书馆管理系统中用到的主要类有7个:Item,Title,Loan,Reservation,Borrower,Administrator,Librarian,前5个类有一定的关系。1.参和者相关的类说明:borrow类是借阅者的类。Librarian类是图书管理员的类。Administrator类是系统管理员的类。2.系统中用到的其他类Item类是具体某本书的类。Title类记录书目信息的类。Loan类是某本书的借阅信息类。Reservation类是预订信息类