《图书管理系统uml实验报告文档.doc》由会员分享,可在线阅读,更多相关《图书管理系统uml实验报告文档.doc(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 面向对象分析与设计大作业学院:计算机科学与工程学院班 级: 计算机软件3学生姓名: *学号: 2174指导老师: *提交日期:1 华南理工大学面向对象分析与设计大作业课程实验报告实验题目:_图书管理系统uml图_姓名:_陈俊伟_ 学号:_ 2174_班级: _09软件3班_ 组别: _合作者: _苏锦钿指导教师: _实验概述【实验目的及要求】一 目的2 1. 掌握面向对象技术的基本原理和各种相关概念;2. 熟练掌握UML的基本知识和9种常见的UML图形,并能够利用Rational Rose 2003、IBM Software Architecture、或trufun UML 工具进行建模;3
2、. 根据问题进行学习,拓广、深化;4. 独立完成一个应用程序的分析、设计和建模,为以后软件项目的开发打下实践基础。 【实验原理】UML 建模,就是用模型元素来组建整个系统的模型,模型元素包括系统中的类、类和类之间的关联、类的实例相互配合实现系统的动态行为等。UML 提供了多种图形可视化会出现在多个图中对应多个图形来考察模型。UML 建模主要分为结构建模、动态建模和模型管理建模 3 个方面,第1 个方面是从系统的内部结构和静态角度来描述系统的,在静态视图、用例视图、实施视图和配置视图中适用,采用了类图、用例图、组件图和配置图等图形。例如类图用于描述系统中各类的内部结构(类的属性和操作)及相互间的
3、关联、聚合和依赖等关系,包图用于描述系统的分层结构等;第2 个方面是从系统中对象的 组成对象间的相互作用、消息传递来描述系统的,在状态机视图、活动视图和交互视图中适用,采用了状态机图、活动图、顺序图和合作图等图形,例如状态机图用于一个系统或对象从束或从构造到清除所处 的一系列不同的状态;第3 个方面描述如何将模型自身组织到高层单元,在模型管理视图中适用,采用的图形 。建模的工作集中在前两描述模型元素,同一个模型元素可能元素,人们可以从多个视图动态行为和产生到结是类图方面,而且并非所有图形元素都适用或需要采用需求阶段:用例图、领域模型(类图)分析阶段:用例详细详细说明 、协作图或顺序图、类图设计
4、阶段:详细类图、包设计、(建议不要做详细的协作图或顺序图-很难维护)实施阶段:3 部署视图【实验环境】Rational Rose 2003Windows Xp实验内容【实验方案设计】三、步骤1 软件需求分析三、功能需求分析系统的功能需求主要包括以下几个方面: 借阅者可以通过网络查询书籍信息和预定书籍。 借阅者能够借阅书籍和还书,书过期的话要罚款。 图书管理员能够处理借阅者的借阅和还书请求。 系统管理员可以对系统的数据进行维护,如增加、删除和更新书目,4 增加、删除和更新借阅者帐户,增加和删除书籍。2 图书馆管理系统的需求分析用户提出的需求包括下列内容:1. 这是一个图书馆支持系统;2. 图书馆
5、将图书和杂志借给借书者。借书者已经预先注册,图书和杂志也预先注册;3. 图书馆负责新书的购买。每一本图书都购进多本书。当旧书超期或破旧不堪时,从图书馆中去掉。4. 图书管理员是图书馆的员工。他们的工作就是和读者打交道并在软件系统的支持下工作。5. 借阅人可以预定当前没有的图书和杂志。这样,当他所预定的图书和杂志归还回来或购进时,就通知预定人。当预定了某书的借书者借阅了该书后,预定就取消。或者通过显式的取消过程强行取消预定。6. 图书馆能够容易地建立、修改和删除标题、借书者、借阅信息和预定信息。7. 系统能够运行在所有流行的技术环境中,包括Unix, Windows和 Linux,并应有一个良好
6、的人机交互图形用户界面(GUI)。8. 系统容易扩展新功能。系统可以不必考虑预定的图书到达后通知预定人的功能。9.如果读者还书超过期限(本科生1个月,研究生2个月,教师3个月),需扣款。3 系统的UML基本模型4 系统中的类5 系统的配置与实现 软件需求的定义 软件需求的层次软件需求包括三个层次:5 业务需求:反映了组织机构或客户对系统高层次的目标要求。用户需求:描述了用户使用产品所能完成的任务。功能需求:说明了软件的功能,用户使用这些功能以完成任务。2 图书馆管理系统的需求分析 系统功能需求 基本数据维护模块 基本业务模块 数据库模块 信息查询模块系统功能需求系统的功能需求主要包括以下几个方
7、面: 借阅者可以通过网络查询书籍信息和预定书籍。 借阅者能够借阅书籍和还书。 图书管理员能够处理借阅者的借阅和还书请求。 系统管理员可以对系统的数据进行维护,如增加、删除和更新书目,增加、删除和更新借阅者帐户,增加和删除书籍。 基本数据维护模块基本数据维护模块包括的主要功能模块: 添加借阅者帐户 修改更新借阅者帐户信息 添加书目 修改和更新书目信息 添加书籍 删除书籍 基本业务模块6 基本业务模块包含的功能:借书还书书籍预留取消书籍预定 数据库模块数据库模块的功能:借阅信息管理书籍信息管理帐户信息管理书籍预留信息管理 信息查询模块信息查询模块主要是查询数据库中的相关信息:查询书籍信息查询借阅者
8、信息3 系统的UML基本模型 UML初始模型 系统的用例图 系统的时序图 系统的协作图 系统的状态图 系统的活动图 系统的用例图创建用例图之前首先需要确定参与者。7 系统的参与者主要有三类:读者(也可称为借阅者)图书馆管理员图书馆管理系统维护者借阅者请求服务图 书管理员处理借书还书系统管理员进行系统维护 系统的用例图1. 借阅者请求服务的用例图2. 图书馆管理员处理借书、还书等的用例图3. 系统管理员进行系统维护的用例图1. 借阅者请求服务的用例图8 Search the bookReserve the bookQueryInfoLogon the systemBorrowerBorrow t
9、he bookReturn the bookReturnwithfine2.图书馆管理员处理借书、还书等的用例图Get bookGetWithFineLend bookCheck user accoutLibrarianRemove reservation3.系统管理员进行系统维护的用例图9 系统的时序图1. 系统管理员添加书籍的时序图2. 系统管理员添加借阅者帐户的时序图3. 系统管理员删除书目的时序图4. 图书管理员处理书籍借阅的时序图5. 图书管理员处理书籍归还的时序图6. 借阅者查询书籍信息的时序图7. 借阅者预留书籍的时序图1. 系统管理员添加书籍的时序图10 : Maintenan
10、ceWindow: Title: Item:Administrator1: addItem2: find(String)3: return():true4: create(Integer,Title)2.系统管理员添加借阅者帐户的时序图 : MaintenanceWindow : : BorrowerAdministrator1: createBorrower2: create(String,String)3.系统管理员删除书目的时序图11 : MaintenanceWindow : Title : Item : Administrator1: removeTitle2: find3: fin
11、d_on_title4: destroy5: destroy4.图书管理员处理书籍借阅的时序图 : LendWindow : Title : Loan : Item : Librarian : Borrower1: findTitle2: find(String)3: findItem4: findonTitle(Title)5: identifyBorrower6: find(String)7: create(Borrower,Item)5.图书管理员处理书籍归还的时序图12 : ReturnWindow : Item : Loan : Borrower : Librarian1: give
12、theBook2: returnItem3: check4: return():OK5: update6: update6. 借阅者查询书籍信息的时序图7. 借阅者预留书籍的时序图: MaintenanceWindow: Item: Borrower1: QueryBook2: findonTitle7. 借阅者预留书籍的时序图13 : MaintenanceWindow: Item: Borrower1: QueryBook2: findonTitle 系统的协作图1. 系统管理员添加书籍的协作图2. 系统管理员删除书籍的协作图3. 图书管理员处理借书的协作图4. 图书管理员处理还书的协作图
13、5. 借阅者预留书籍的协作图1. 系统管理员添加书籍的协作图3: update()1: addItem(): MaintenanceWindow: Item: Administrator2: find(String): Title2. 系统管理员删除书籍的协作图14 2: removeItem()3: create(Integer,Title): MaintenanceWindow : Item : Administrator1: find(String) : Title3.图书管理员处理借书的协作图 : Item2: find reservation()5: update()1: ident
14、ify borrower()4: borrow() : LendWindow : Title : Librarian6: borrow()7: check_if_max() : Loan3: find(Borrower,Title) : Reservation4.图书管理员处理还书的协作图3: returnBack()1: findBorrower(): ReturnWindow: Title: Librarian4: update()2: find(String)5: returnBack(): Item: Loan5.借阅者预留书籍的协作图15 : Title2: find(String)
15、1: identifyBorrower()3: reserveTitle()4: reserve(): ReservationWindow: Item: Borrower5: create(Title,Borrower): Reservation 系统的状态图1. 书的状态图2. 借阅者帐户的状态图1. 书的状态图16 New bookAvailableBorrowTime outReserveBorrowReservedBorrowedCancleReturn backDelete2.2. 借阅者帐户的状态图the number of book is ok书的数目超过限度AccountAva
16、ilableAccountunavailableNewBorrower还书DeleteAccount 系统的活动图17 1. 借阅者的活动图2. 图书管理员的活动图3. 系统管理员的活动图1. 借阅者的活动图18 Self-help serviceLoginSearch for booksReserve the bookView book informationLogin?Exit the systemLeave the computer2.图书管理员的活动图19 Login thesystemLend bookGet bookOut of date?Accept moneyIs number
17、limit?Update borrowers information3.系统管理员的活动图1.系统管理员维护借阅者帐户的活动图2.系统管理员进行3.系统管理员维护书目信息维护的活动图书籍信息的活动图(1) 系统管理员维护借阅者帐户的活动图20 Login the systemOperation on borrowerremove or update norrowerQuery borrower informationNew borrowerExit the system(2)系统管理员进行书目信息维护的活动图21 Login the systemOperation on titlequeryt
18、itlenew titleremove or update titleexit thesystem(3)系统管理员维护书籍信息的活动图22 Login the systemOperation on bookAdd bookremove bookExit the system4 系统中的类 系统中主要的类(1) 参与者相关的类23 (2)系统中用到的其他类 各个类之间的关系 ItemLoanhasBorrower1.*1.*copyofhas0.*TitleReservation*5 系统的配置与实现 系统的组件图 系统的部署图1 业务对象组件图BorrowerInformation.javaL
19、oan.javaItem.javaTitle.javaReservation.java23. 用户界面的组件图25 UpdateBorrowerFrame.javaBorrowerFrame.javaMainWindow.javaReservationFrame.javaCancelResevationFrame.javaBorrowerWindow.javaReturnItemFrame.javaTitleInfoWindow.javaFindBorrowerDialog.javaBorrowerInfoWindow.javaFindTitleDialog.javaLendItemFrame
20、.javaTitleFrame.javaUpdateTitleFrame.java4.系统的部署图DatabaseApplication ServiceBussiness OperationWeb ApplicationInformation maintenance【结论】26 1.经过这次大作业,让更了解软件需求建模的过程,让我学会了画uml 4+1视图。用 UML 建模时,对软件开发过程是有要求的,必须是用例驱动,以架构为中心,迭代和递增的开发,如果软件开发组织的软件开发过程不能满足这三点要求,那么 UML的使用效果就会大打折扣。 小结27 指导教师评语及成绩评语:成绩:指导教师签名:批阅日期:28