图书馆借还书系统实验报告.doc_第1页
图书馆借还书系统实验报告.doc_第2页
图书馆借还书系统实验报告.doc_第3页
图书馆借还书系统实验报告.doc_第4页
图书馆借还书系统实验报告.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

图书还借系统uml建模设计实验报告 姓名:班级:计算机022学号:02095206日期:2005.06.11引言UML目前已近成为面向对象技术领域内占主导地位的标准建模语言,已经被越来越多的接受和使用。另一方面,应用软件系统,就其本质来说,是使用计算机对现实世界进行的数字化模拟。应用软件的制造过程,按照UML的方法,就是建立这一系列模型的过程。本文将用UML建模的方法设计一个图书还借系统,使用rational rose工具,通过用例图实现用户的需求;类图描述系统的类及类之间的关联、添加系统中类的属性和操作;顺序图和协作图表达系统的对象和类之间的交互,从而建立一种通用的图书还借系统模型。正文一、实验名称: 图书还借系统UML建模设计。二、实验环境:硬件环境:微处理器:Pentium90MHz或更高硬盘空间:至少4G内存:32M或者更高软件环境:操作系统:中文Windows 98/2000/XP平台开发软件:Rational Rose 2003三、设计内容及过程:问题描述:图书还借系统的基本业务包括:对一本书的借阅、归还、预定以及取消预定等等。设计一个图书还借系统,并用rational rose工具画出各用例图、类图、顺序图以及协作图来描述各个业务活动。基本需求:关于这个图书馆系统,基本的需求比较简单,就是允许读者可以在图书馆借阅、归还、预定以及取消预定图书。为了简化系统,我并没有把图书馆中的人员作细分。图书馆里面的角色确认为图书馆管理人员(Librarian)和读者(Reader)。图书馆管理人员是图书馆的员工,他们是系统的使用者,他们的工作就是和读者打交道并在软件系统的支持下工作。而读者则是是客户,客户是指那些从图书馆借阅图书的人。读者不直接地与系统互动,他们的行为由图书馆人员来代为工作。另一方面,每种书的登记内容至少包括书号、现存量、总库存量等三项。综合分析,系统应实现的操作及其功能定义如下:a) 借阅:如果一种书的现存量大于零,则借出一本,登记借阅者的图书证号和归还期限。b) 归还:勾销对借阅者的登记,改变该书的现存量。c) 预定:读者可以预定当前没有的图书和杂志。这样,当读者所预定的图书和杂志归还回来或购进时,就通知预定读者。d) 取消预定:当预定了某书的读者者借阅了该书后预定就取消;或者通过显式独立的取消过程强行取消预定。 用例模型:用例模型描述了图书还借系统在功能方面提供了什么的功能,是系统需求的获取。总体上由“角色”和“用例”组成。在这个图书馆系统中,我们可以识别出的角色有读者和图书管理员。整个用例模型包含的用例有:借书、还书、预订、取消预定。用例模型可以用用例图表示如下:图书馆还借系统分析的结果做成UML用例图,如图所示。图一 图书还借系统用例图其中,图书还借系统的用例有:l 借书(Borrow)l 返书(Return)l 约定(Reservation)l 取消预定(Cancel Reservation)而每个用例的描述则更详细地描述用例和角色之间的交互。 由于用例比较多,这里仅对借书这个用例来做描述:l 名称:借书”。 l 说明:读者在图书馆挑选好需要的图书后,通过图书管理员把书借出去。 l 参与者:读者,图书管理员l 频率:每天可能会有很多次。最繁忙的情况是,借书的人非常多,按照现在的速度,大约每分钟完成一个人的结束工作。 l 前置条件:无l 后置条件:修改所借出的图书的剩余数量。l 假设:借书者总是从图书馆找到书,然后才能拿书办理借书手续,因此,总是有足够的书可以出借。 l 基本操作流程:借书成功。1)学生将所借图书和借书证交给图书管理员2) 图书管理员将学生借书证号码和所借图书输入系统3)系统校对借书信息,比对该学生以往借书情况和当前借书情况,如果不存在不允许借书的情况,则记录借书交易的信息,并且修改相应的馆藏图书的数量信息。4) 如果该学生已经预订了这本图书,则撤销该预定。5) 报告交易成功。l 可选操作流程:所借图书超出最大借书数量。1) 学生将所借图书和借书证交给图书管理员2) 图书管理员将学生借书证号码和所借图书输入系统3)系统校对借书信息,比对该学生以往借书情况和当前借书情况,发现已超出最大借书数量,则停止当前交易,并且提示用户错误原因。4)图书管理员可以应学生的意见,减少借书数量,并重新提交系统。静态模型: 首先来分析借书这个用例。在这个用例中,我们首先可以识别出一些直接的对象,包括图书管理员(Librarian)、读者(Reader),然后,稍作分析,发现需要一个实体对象来记录图书的借还信息(BorrowInfo)。随后,在借书的过程中,我们会使用到预定图书的信息(ReservedInfo)。到这一步,我们基本完成了实体对象的识别。然后,我们发现我们需要一个借书的控制类(Borrow)来执行借书的动作。这样,初步的模型就可以建立了。在此模型中,也需要识别出类的一些属性和方法。例如,对于Reader类,我们需要Name、CardID、Password和BorrowNo属性,对于Book,我们只需要BooKID、CountNo、ReservedFlag等属性。现在,我们为我们的类图添加上述属性,就可以得到下面的结果:图二 图书还借系统类图以此类推,我们把还书、预定、撤销预定这些用例一并分析后,我们就能够得到整个系统的静态分析模型。动态模型:在面向对象的系统中,业务流程表现为对象之间的交互。有了上面分析的得到的对象后,就可以来描述他们是怎么进行交互和协作的了。在UML中,我们可以使用顺序图、或者协作图来建模这些动态的过程。同样的,看借书这个用例。在借书这个用例中,有两个事件流:借书成功(正常事件流)和所借图书超出最大借书数量(非正常事件流)。这里以“借书成功”这个事件流为例,下面是这个事件流的顺序图及其协作图:l 借书顺序图及其协作图:图三 借书顺序图 Operation:1:Login()-登陆 2:Borrow()-借书 3:CheckCanBorrow()-检查是否可借 4:GetBorrowedNo()-得到读者已借书的数量 5:ValidMax()-读者可借书的最大数量 6:BorrowOper()-进行借书操作 7:UpdateCurrentNo()-更新库存书数量 8:CancelReservedOper()-取消预定操作 9,10,11:OKMessage-成功的消息返回 图四 借书协作图 同样的,我们也可以为其他三个用例的事件流创建动态模型,顺序图及其协作图如下所示:l 还书顺序图及其协作图:图五 还书顺序图 Operation:1:Login()-登陆 2:Return()-还书 3:CheckOverdue ()-检查是否过期 4:ReturnOper()-进行还书操作 5:UpdateCurrentNo()-更新库存书数量 6:GetBorrowedNo()-得到读者已借书的数量 7:UpdateValidMax()-更新读者可借书的最大数量 8,9:OKMessage-成功的消息返回图六 还书协作图l 预定顺序图及其协作图:图七 预定顺序图 Operation:1:Login()-登陆 2:Reserved()-预定 3:ReservedOper ()-预定操作 4:SetFlagOn() -预定书籍标记置1 5,6:OKMessage-成功的消息返回图八 预定协作图l 取消预定顺序图及其协作图图九 撤销预定顺序图 Operation:1:Login()-登陆 2:CancelReserved()-取消预定 3:CancelReservedOper ()-取消预定操作 4:SetFlagOff() -预定书籍标记置0 5,6:OKMessage-成功的消息返回图十 撤销预定协作图四、实验总结:初次接触Rational Rose,发现是比较容易上手,非常的use friendly。Rose 真是一个不错的辅助工具。动态模型和静态模型的建立是一个交互的过程。在建立动态模型的过程中,有可能会发现一些新的类,也会为已有的类找到一些新的属性和方法,这样,在这个过程中就需要去修改与设计的类图,反之亦然。由于是第一次设计建模,我选了在功能上较易理解的“图书还接系统”的建模实例,

温馨提示

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

评论

0/150

提交评论