案例分析图书管理系统.ppt
《案例分析图书管理系统.ppt》由会员分享,可在线阅读,更多相关《案例分析图书管理系统.ppt(33页珍藏版)》请在冰豆网上搜索。
图书管理系统的分析与设计图书管理系统的分析与设计系统中要为每个借阅者建立一个账户,账户中存储借系统中要为每个借阅者建立一个账户,账户中存储借阅者个人信息、借阅信息以及预定信息。
拥有账户的借阅阅者个人信息、借阅信息以及预定信息。
拥有账户的借阅者可以借阅书刊、还书刊、预定书目并取消预定,但这些者可以借阅书刊、还书刊、预定书目并取消预定,但这些操作都是通过图书管理员进行的,也即借阅者不直接与系操作都是通过图书管理员进行的,也即借阅者不直接与系统交互,而是图书管理员充当借阅者的代理与系统交互。
统交互,而是图书管理员充当借阅者的代理与系统交互。
借阅书刊时需要输入借阅书刊索引号,然后输入借阅者的借阅书刊时需要输入借阅书刊索引号,然后输入借阅者的账号和姓名,完成后提交,系统验证书刊的可借阅性,若账号和姓名,完成后提交,系统验证书刊的可借阅性,若可外借,存储节约纪录,借阅者还书后,删除关于所还书可外借,存储节约纪录,借阅者还书后,删除关于所还书刊的纪录。
若借阅者所想借的书目无可外借的书刊,可预刊的纪录。
若借阅者所想借的书目无可外借的书刊,可预订此书目。
不考虑所借书刊的数目和时间限制。
订此书目。
不考虑所借书刊的数目和时间限制。
功能性需求功能性需求图书管理员作为借阅者的代理人借书、还书、预定图书管理员作为借阅者的代理人借书、还书、预定书刊、取消预定书刊、取消预定图书管理员创建新的借阅者账户、删除已有的借阅图书管理员创建新的借阅者账户、删除已有的借阅者账户、修改借阅者账户信息者账户、修改借阅者账户信息图书管理员添加书目种类、删除书目、修改书目信图书管理员添加书目种类、删除书目、修改书目信息息图书管理员添加书刊信息、删除书刊信息、修改书图书管理员添加书刊信息、删除书刊信息、修改书刊信息刊信息需求分析需求分析用例驱动的方法,任务:
识别参与者和用例,建立用例驱动的方法,任务:
识别参与者和用例,建立用例模型。
用例模型。
11识别参与者识别参与者借阅者参与者借阅者参与者BorrowerActor描述:
借阅者可以借阅、归还书刊、预定书目,可以描述:
借阅者可以借阅、归还书刊、预定书目,可以取消预定取消预定图书管理员参与者图书管理员参与者LibrarianActor描述:
图书管理员维护系统,创建、修改、删除借阅描述:
图书管理员维护系统,创建、修改、删除借阅者信息,添加、编辑、删除书目信息,添加、编辑、者信息,添加、编辑、删除书目信息,添加、编辑、删除书刊信息删除书刊信息22识别用例识别用例
(1)BorrowBook借书借书
(2)ReturnBook还书还书(3)ReserveTitle预定书目预定书目(4)CancelReservation取消预定取消预定(5)MaintainBorrowerInfo维护借阅者信息维护借阅者信息(6)MaintainTitleInfo维护书目信息维护书目信息(7)MaintainbookInfo维护书刊信息维护书刊信息(8)LogIn登录登录33识别参与者、用例间关系识别参与者、用例间关系参与者参与者BorrowerActor通过通过参与者参与者LibrarianActor参与用参与用例例BorrowBook借书、借书、ReturnBook还书、还书、ReserveTitle预定书目、预定书目、CancelReservation取消预定取消预定参与者参与者BorrowerActor与与参与者参与者LibrarianActor之间存在之间存在依赖关系依赖关系参与者参与者LibrarianActor参与用例参与用例MaintainBorrowerInfo维护借阅者信息、维护借阅者信息、MaintainTitleInfo维护书目信息、维护书目信息、MaintainbookInfo维护书刊信息维护书刊信息参与者参与者LibrarianActor参与用例参与用例LogIn登录登录系统用例图系统用例图用例的事件流用例的事件流11借阅书刊借阅书刊前置条件前置条件:
用例开始前,管理员必须登录导系统中:
用例开始前,管理员必须登录导系统中后置条件后置条件:
若用例成功,在系统中建立并存储借阅记:
若用例成功,在系统中建立并存储借阅记录,否则系统状态不变录,否则系统状态不变扩充点扩充点:
有预定的话删除预定记录:
有预定的话删除预定记录事件流事件流基流:
基流:
当借阅者从图书馆借阅书刊时用例启动。
如果当借阅者从图书馆借阅书刊时用例启动。
如果直接借书,执行分支流直接借书,执行分支流S-1S-1借阅书刊;如果借书是借阅书刊;如果借书是通过预定的,执行分支流通过预定的,执行分支流S-2S-2通过预定借阅书刊。
通过预定借阅书刊。
分支流:
分支流:
S-1S-1:
借阅书刊:
借阅书刊(11)提供书刊的索引号)提供书刊的索引号(22)确定所借书刊是否可外借()确定所借书刊是否可外借(E-1E-1)(33)提供借阅者信息)提供借阅者信息(44)图书馆将书借给借阅者)图书馆将书借给借阅者(55)创建借阅者纪录)创建借阅者纪录(66)存储借阅记录)存储借阅记录S-2S-2:
通过预定借阅书刊:
通过预定借阅书刊(11)提供书刊的索引号)提供书刊的索引号(22)提供借阅者信息)提供借阅者信息(33)确定所借书刊是否可外借()确定所借书刊是否可外借(E-1E-1)(44)图书馆将书刊借给借阅者)图书馆将书刊借给借阅者(55)创建借阅者纪录)创建借阅者纪录(66)存储借阅记录)存储借阅记录(77)删除预定记录)删除预定记录替代流:
替代流:
EE11:
书刊被其他借阅这预定,系统显示提示信:
书刊被其他借阅这预定,系统显示提示信息,用例终止息,用例终止22维护书目维护书目前置条件前置条件:
用例开始前,管理员必须登录导系统中:
用例开始前,管理员必须登录导系统中后置条件后置条件:
若用例成功,系统添加、修改或删除书目信息,否:
若用例成功,系统添加、修改或删除书目信息,否则系统没有变化则系统没有变化扩充点扩充点:
没有:
没有事件流事件流基流:
基流:
当图书管理员想维护书目信息时用例启动。
系统要求管当图书管理员想维护书目信息时用例启动。
系统要求管理员选择想执行的活动理员选择想执行的活动如果所选活动是如果所选活动是“添加书目添加书目”,则执行分支流,则执行分支流S-1S-1添加书目信添加书目信息;息;如果选择活动是如果选择活动是“删除书目删除书目”,执行分支流,执行分支流S-2S-2删除书目信息;删除书目信息;如果选择活动是如果选择活动是“修改书目修改书目”,则执行分支流,则执行分支流S-3S-3修改书目信修改书目信息。
息。
分支流:
分支流:
S-1S-1:
添加书目信息:
添加书目信息(11)提供书目的书名、作者、)提供书目的书名、作者、ISBN/ISSNISBN/ISSN号等信息号等信息(22)在系统中添加该书目信息()在系统中添加该书目信息(E-1E-1)S-2S-2:
删除书目信息:
删除书目信息(11)提供所要删除的书目的信息)提供所要删除的书目的信息(22)查询所要删除的书目()查询所要删除的书目(E-2E-2)(33)删除该书目的所有书刊信息()删除该书目的所有书刊信息(E-3E-3)(44)删除书目信息以及相关的预定信息)删除书目信息以及相关的预定信息S-3S-3:
修改书目信息:
修改书目信息(11)提供所要删除的书目的信息)提供所要删除的书目的信息(22)查询查询并显示书目信息()查询查询并显示书目信息(E-2E-2)(33)修改相应的信息)修改相应的信息(44)更新系统中的书目信息)更新系统中的书目信息替代流:
替代流:
E-1E-1:
若书目信息已存在,系统显示提示信息,用:
若书目信息已存在,系统显示提示信息,用例终止例终止E-2E-2:
若查不到该书目,系统显示提示信息,用例:
若查不到该书目,系统显示提示信息,用例终止终止E-3E-3:
若有书刊借出,系统显示提示信息,用例终:
若有书刊借出,系统显示提示信息,用例终止止系统分析与设计系统分析与设计1识别系统对象,抽象出类识别系统对象,抽象出类借阅者借阅者Borrower书目书目Title书刊书刊Book借阅记录借阅记录Loan预定记录预定记录ReservationPersistentOIDTitle和和Book一对多的关一对多的关联关系联关系Title和和Reservation一对一对多的关联关系多的关联关系Borrower和和Reservation一对多的关联关系一对多的关联关系Borrower和和Loan一对多一对多的关联关系的关联关系Book和和Loan一对多的关一对多的关联关系联关系2定义用户界面类定义用户界面类类类MainWindow类类BorrowDialog类类ReturnDialog类类BorrowerDialog类类FindBwrDialog类类TitleDialog类类FindTDialog类类RsvDialog类类LoginDialog类类MessageWindowBorrowDialog,ReturnDialog,BorrowerDialog,TitleDialog,FindTDialog,RsvDialog,MessageWindow和和FindBwrDialog与与MainWindow之间是组合关系之间是组合关系LoginDialog与与MainWindow是是一对一的关联关系一对一的关联关系FindBwrDialog和和BorrowerDialog是是一对一的一对一的关联关系关联关系FindTDialog和和TitleDialog是是一对一的关联关系一对一的关联关系2建立类图建立类图将系统分为将系统分为3个包:
个包:
GUI包、包、Library包和包和DB包包包包Library中实体类的类图中实体类的类图包包GUIGUI中用户界面类的类图中用户界面类的类图实体类与界面类的依赖关系(部分)实体类与界面类的依赖关系(部分)建立描述用例的交互图建立描述用例的交互图借阅书刊的时序图借阅书刊的时序图相关对象:
相关对象:
MainWindow类的对象、类的对象、BorrowDialog类的对象、类的对象、Title类的对象、类的对象、Book类的对象、类的对象、Borrower类的对象、类的对象、Loan类的对象、类的对象、LibrarianActor类对象类对象维护书目(添加书目)的时序图维护书目(添加书目)的时序图相关对象:
相关对象:
MainWindow类的对象、类的对象、TitleDialog类类的对象、的对象、Title类的对象、类的对象、Book类的对象、类的对象、LibrarianActor类对象类对象建立描述对象的状态图建立描述对象的状态图状态变化对系统有重要影响的对象:
书刊状态变化对系统有重要影响的对象:
书刊Book类的类的对象、书目对象、书目Title类的对象类的对象书刊书刊Book类的状态图类的状态图书目书目Title类的状态图类的状态图确定类的属性和行为确定类的属性和行为1类类Borrower属性:
属性:
Name:
string账户主人的名字账户主人的名字Address:
string账户主人的地址账户主人的地址zipCode:
string账户主人的邮政号码账户主人的邮政号码borrowerID:
string账户主人的身份证号账户主人的身份证号teleNumber:
string账户主人的电话号码账户主人的电话号码Loan:
OID借阅记录借阅记录Reservations:
OID预定记录预定记录操作操作:
newBorrower(name:
string,address:
string,zip:
string,id:
string,telNum:
string)findBorrower(id:
string):
OIDgetBorrower(oid:
OID):
BorroweraddLoan(loan:
OID)getNumLoan():
Intergerge