案例分析--图书管理系统._第1页
案例分析--图书管理系统._第2页
案例分析--图书管理系统._第3页
案例分析--图书管理系统._第4页
案例分析--图书管理系统._第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、图书管理系统的分析与设计图书管理系统的分析与设计 系统中要为每个借阅者建立一个账户,账户中存储借系统中要为每个借阅者建立一个账户,账户中存储借阅者个人信息、借阅信息以及预定信息。拥有账户的借阅阅者个人信息、借阅信息以及预定信息。拥有账户的借阅者可以借阅书刊、还书刊、预定书目并取消预定,但这些者可以借阅书刊、还书刊、预定书目并取消预定,但这些操作都是通过图书管理员进行的,也即借阅者不直接与系操作都是通过图书管理员进行的,也即借阅者不直接与系统交互,而是图书管理员充当借阅者的代理与系统交互。统交互,而是图书管理员充当借阅者的代理与系统交互。借阅书刊时需要输入借阅书刊索引号,然后输入借阅者的借阅书刊

2、时需要输入借阅书刊索引号,然后输入借阅者的账号和姓名,完成后提交,系统验证书刊的可借阅性,若账号和姓名,完成后提交,系统验证书刊的可借阅性,若可外借,存储节约纪录,借阅者还书后,删除关于所还书可外借,存储节约纪录,借阅者还书后,删除关于所还书刊的纪录。若借阅者所想借的书目无可外借的书刊,可预刊的纪录。若借阅者所想借的书目无可外借的书刊,可预订此书目。不考虑所借书刊的数目和时间限制。订此书目。不考虑所借书刊的数目和时间限制。功能性需求功能性需求 图书管理员作为借阅者的代理人借书、还书、预图书管理员作为借阅者的代理人借书、还书、预定书刊、取消预定定书刊、取消预定 图书管理员创建新的借阅者账户、删除

3、已有的借图书管理员创建新的借阅者账户、删除已有的借阅者账户、修改借阅者账户信息阅者账户、修改借阅者账户信息 图书管理员添加书目种类、删除书目、修改书目图书管理员添加书目种类、删除书目、修改书目信息信息 图书管理员添加书刊信息、删除书刊信息、修改图书管理员添加书刊信息、删除书刊信息、修改书刊信息书刊信息需求分析需求分析 用例驱动的方法,任务:识别参与者和用例,建立用例驱动的方法,任务:识别参与者和用例,建立用例模型。用例模型。1 1 识别参与者识别参与者借阅者参与者借阅者参与者 BorrowerActor描述:借阅者可以借阅、归还书刊、预定书目,可以描述:借阅者可以借阅、归还书刊、预定书目,可以

4、取消预定取消预定图书管理员参与者图书管理员参与者 LibrarianActor描述:图书管理员维护系统,创建、修改、删除借阅描述:图书管理员维护系统,创建、修改、删除借阅者信息,添加、编辑、删除书目信息,添加、编辑、者信息,添加、编辑、删除书目信息,添加、编辑、删除书刊信息删除书刊信息2 2 识别用例识别用例(1)Borrow Book 借书借书(2)Return Book 还书还书(3)Reserve Title 预定书目预定书目(4)Cancel Reservation 取消预定取消预定(5) Maintain Borrower Info 维护借阅者信息维护借阅者信息(6) Maintai

5、n Title Info 维护书目信息维护书目信息(7) Maintain book Info 维护书刊信息维护书刊信息(8) Log In 登录登录3 3 识别参与者、用例间关系识别参与者、用例间关系 参与者参与者BorrowerActor通过通过参与者参与者 LibrarianActor参与用参与用例例Borrow Book 借书、借书、Return Book 还书、还书、Reserve Title 预定书目、预定书目、 Cancel Reservation 取消预定取消预定 参与者参与者BorrowerActor与与参与者参与者 LibrarianActor之间存在之间存在依赖关系依赖关

6、系 参与者参与者 LibrarianActor参与用例参与用例Maintain Borrower Info 维护借阅者信息、维护借阅者信息、 Maintain Title Info 维护书目信息、维护书目信息、 Maintain book Info 维护书刊信息维护书刊信息 参与者参与者 LibrarianActor参与用例参与用例Log In 登录登录系统用例图系统用例图BorrowerActorReturn BookReserve TitleBorrower BookCancel ReservationLog InMaintain Borrower InfoMaintain Title I

7、nfoLibrarianActorMaintain Book Info用例的事件流用例的事件流1 1借阅书刊借阅书刊前置条件前置条件:用例开始前,管理员必须登录导系统中:用例开始前,管理员必须登录导系统中后置条件后置条件:若用例成功,在系统中建立并存储借阅记:若用例成功,在系统中建立并存储借阅记录,否则系统状态不变录,否则系统状态不变扩充点扩充点:有预定的话删除预定记录:有预定的话删除预定记录事件流事件流基流:基流:当借阅者从图书馆借阅书刊时用例启动。如果当借阅者从图书馆借阅书刊时用例启动。如果直接借书,执行分支流直接借书,执行分支流S-1S-1借阅书刊;如果借书是借阅书刊;如果借书是通过预定

8、的,执行分支流通过预定的,执行分支流S-2S-2通过预定借阅书刊。通过预定借阅书刊。分支流:分支流:S-1S-1:借阅书刊:借阅书刊(1 1)提供书刊的索引号)提供书刊的索引号(2 2)确定所借书刊是否可外借()确定所借书刊是否可外借(E-1E-1)(3 3)提供借阅者信息)提供借阅者信息(4 4)图书馆将书借给借阅者)图书馆将书借给借阅者(5 5)创建借阅者纪录)创建借阅者纪录(6 6)存储借阅记录)存储借阅记录S-2S-2:通过预定借阅书刊:通过预定借阅书刊(1 1)提供书刊的索引号)提供书刊的索引号(2 2)提供借阅者信息)提供借阅者信息(3 3)确定所借书刊是否可外借()确定所借书刊是

9、否可外借(E-1E-1)(4 4)图书馆将书刊借给借阅者)图书馆将书刊借给借阅者(5 5)创建借阅者纪录)创建借阅者纪录(6 6)存储借阅记录)存储借阅记录(7 7)删除预定记录)删除预定记录替代流:替代流: E E1 1:书刊被其他借阅这预定,系统显示提示信:书刊被其他借阅这预定,系统显示提示信息,用例终止息,用例终止2 2 维护书目维护书目前置条件前置条件:用例开始前,管理员必须登录导系统中:用例开始前,管理员必须登录导系统中后置条件后置条件:若用例成功,系统添加、修改或删除书目信息,否:若用例成功,系统添加、修改或删除书目信息,否则系统没有变化则系统没有变化扩充点扩充点:没有:没有事件流

10、事件流基流:基流:当图书管理员想维护书目信息时用例启动。系统要求管当图书管理员想维护书目信息时用例启动。系统要求管理员选择想执行的活动理员选择想执行的活动 如果所选活动是如果所选活动是“添加书目添加书目”,则执行分支流,则执行分支流S-1S-1添加书目信添加书目信息;息; 如果选择活动是如果选择活动是“删除书目删除书目”,执行分支流,执行分支流S-2S-2删除书目信息;删除书目信息; 如果选择活动是如果选择活动是“修改书目修改书目”,则执行分支流,则执行分支流S-3S-3修改书目信修改书目信息。息。分支流:分支流:S-1S-1:添加书目信息:添加书目信息(1 1)提供书目的书名、作者、)提供书

11、目的书名、作者、ISBN/ISSNISBN/ISSN号等信息号等信息(2 2)在系统中添加该书目信息()在系统中添加该书目信息(E-1E-1)S-2S-2:删除书目信息:删除书目信息(1 1)提供所要删除的书目的信息)提供所要删除的书目的信息(2 2)查询所要删除的书目()查询所要删除的书目(E-2E-2)(3 3)删除该书目的所有书刊信息()删除该书目的所有书刊信息(E-3E-3)(4 4)删除书目信息以及相关的预定信息)删除书目信息以及相关的预定信息S-3S-3:修改书目信息:修改书目信息(1 1)提供所要删除的书目的信息)提供所要删除的书目的信息(2 2)查询查询并显示书目信息()查询查

12、询并显示书目信息(E-2E-2)(3 3)修改相应的信息)修改相应的信息(4 4)更新系统中的书目信息)更新系统中的书目信息替代流:替代流:E-1E-1:若书目信息已存在,系统显示提示信息,用:若书目信息已存在,系统显示提示信息,用例终止例终止E-2E-2:若查不到该书目,系统显示提示信息,用例:若查不到该书目,系统显示提示信息,用例终止终止E-3E-3:若有书刊借出,系统显示提示信息,用例终:若有书刊借出,系统显示提示信息,用例终止止系统分析与设计系统分析与设计1识别系统对象,抽象出类识别系统对象,抽象出类借阅者借阅者 Borrower书目书目 Title书刊书刊 Book借阅记录借阅记录

13、Loan预定记录预定记录ReservationPersistent OIDTitle和和Book一对多的关一对多的关联关系联关系Title和和Reservation一对一对多的关联关系多的关联关系Borrower和和Reservation一对多的关联关系一对多的关联关系Borrower和和Loan一对多一对多的关联关系的关联关系Book和和Loan一对多的关一对多的关联关系联关系2 定义用户界面类定义用户界面类类类MainWindow类类BorrowDialog类类ReturnDialog类类BorrowerDialog类类FindBwrDialog类类TitleDialog类类FindTDi

14、alog类类RsvDialog类类LoginDialog类类MessageWindowBorrowDialog,ReturnDialog,BorrowerDialog,TitleDialog,FindTDialog,RsvDialog,MessageWindow和和FindBwrDialog与与MainWindow之间是组合关系之间是组合关系LoginDialog与与MainWindow是是一对一的关联关系一对一的关联关系FindBwrDialog和和BorrowerDialog是是一对一的一对一的关联关系关联关系FindTDialog和和TitleDialog是是一对一的关联关系一对一的关联

15、关系2 建立类图建立类图将系统分为将系统分为3个包:个包:GUI包、包、Library包和包和DB包包GUILibraryDB包包Library中实体类的类图中实体类的类图BookTitleLoanReservationBorrower+1.n+0.n+0.n+0.n+0.n包包GUIGUI中用户界面类的类图中用户界面类的类图LoginDialogBorrowerDialogMessageWindowReturnDialogRsvDialogBorrowDialogTitleDialogFindTDialogMainWindowFindBwrDialog实体类与界面类的依赖关系(部分)实体类与

16、界面类的依赖关系(部分)TitleLoanReservationBorrower+0.n+0.n+0.nBook+1.n+0.nRsvDialog(from GUI)建立描述用例的交互图建立描述用例的交互图借阅书刊的时序图借阅书刊的时序图相关对象:相关对象:MainWindow类的对象、类的对象、BorrowDialog类的对象、类的对象、 Title类的对象、类的对象、 Book类的对象、类的对象、 Borrower类的对象、类的对象、 Loan类的对象、类的对象、 LibrarianActor类对象类对象 : Librarian : MainWindow : BorrowDialog :

17、Title : Book : Borrower : Loan1: borrow()2: createDialog()3: borrow()4: findTitle(string)5: getTitle(OID)6: getAvaliableBook()7: findBorrower(string)8: newLoan(OID,OID,Date)9: store()10: getBorrower(OID)11: update()12: addLoan(OID)13: getObject(OID)14: setLoan(OID)15: update()维护书目(添加书目)的时序图维护书目(添加书目

18、)的时序图相关对象:相关对象:MainWindow类的对象、类的对象、TitleDialog类类的对象、的对象、 Title类的对象、类的对象、 Book类的对象、类的对象、 LibrarianActor类对象类对象 : Librarian : MainWindow : TitleDialog : Title : Book1: addTitle()2: createDialog()3: addTitle()4: findTitle(isbn:string)5: newTitle(string,string,string,Integer)6: newBook(Integer,OID)7: sto

19、re()8: addBook(OID)9: store()建立描述对象的状态图建立描述对象的状态图状态变化对系统有重要影响的对象:书刊状态变化对系统有重要影响的对象:书刊Book类的类的对象、书目对象、书目Title类的对象类的对象书刊书刊Book类的状态图类的状态图LoanedUnloanedborrow() / loan.store()return() / loan.delete()UnreservedReservedreserve() / reservation.store()delReservation() NumofRsv=1 / reservation.delete()reserv

20、e() / reservation.store()delReservation NumofRsv1 / reservation.delete()书目书目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():IntergergetLoan(index:Integer):LoandelLoan(Loan: OID)addReservation(rsv:OID)getNum

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论