《图书还借系统uml建模设计实验报告》.docx

上传人:b****3 文档编号:4977361 上传时间:2022-12-12 格式:DOCX 页数:11 大小:142.56KB
下载 相关 举报
《图书还借系统uml建模设计实验报告》.docx_第1页
第1页 / 共11页
《图书还借系统uml建模设计实验报告》.docx_第2页
第2页 / 共11页
《图书还借系统uml建模设计实验报告》.docx_第3页
第3页 / 共11页
《图书还借系统uml建模设计实验报告》.docx_第4页
第4页 / 共11页
《图书还借系统uml建模设计实验报告》.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

《图书还借系统uml建模设计实验报告》.docx

《《图书还借系统uml建模设计实验报告》.docx》由会员分享,可在线阅读,更多相关《《图书还借系统uml建模设计实验报告》.docx(11页珍藏版)》请在冰豆网上搜索。

《图书还借系统uml建模设计实验报告》.docx

《图书还借系统uml建模设计实验报告》

 

图书还借系统uml建模

设计实验报告

姓名:

王敏明

班级:

计算机022

学号:

02095206

日期:

2005.06.11

[引言]

UML目前已近成为面向对象技术领域内占主导地位的标准建模语言,已经被越来越多的接受和使用。

另一方面,应用软件系统,就其本质来说,是使用计算机对现实世界进行的数字化模拟。

应用软件的制造过程,按照UML的方法,就是建立这一系列模型的过程。

本文将用UML建模的方法设计一个图书还借系统,使用rationalrose工具,通过用例图实现用户的需求;类图描述系统的类及类之间的关联、添加系统中类的属性和操作;顺序图和协作图表达系统的对象和类之间的交互,从而建立一种通用的图书还借系统模型。

 

[正文]

一、实验名称:

图书还借系统UML建模设计。

二、实验环境:

[硬件环境]:

微处理器:

Pentium®90MHz或更高

硬盘空间:

至少4G

内存:

32M或者更高

[软件环境]:

操作系统:

中文Windows98/2000/XP平台

开发软件:

RationalRose2003

三、设计内容及过程:

[问题描述]:

图书还借系统的基本业务包括:

对一本书的借阅、归还、预定以及取消预定等等。

设计一个图书还借系统,并用rationalrose工具画出各用例图、类图、顺序图以及协作图来描述各个业务活动。

[基本需求]:

关于这个图书馆系统,基本的需求比较简单,就是允许读者可以在图书馆借阅、归还、预定以及取消预定图书。

为了简化系统,我并没有把图书馆中的人员作细分。

图书馆里面的角色确认为图书馆管理人员(Librarian)和读者(Reader)。

图书馆管理人员是图书馆的员工,他们是系统的使用者,他们的工作就是和读者打交道并在软件系统的支持下工作。

而读者则是是客户,客户是指那些从图书馆借阅图书的人。

读者不直接地与系统互动,他们的行为由图书馆人员来代为工作。

另一方面,每种书的登记内容至少包括书号、现存量、总库存量等三项。

综合分析,系统应实现的操作及其功能定义如下:

a)借阅:

如果一种书的现存量大于零,则借出一本,登记借阅者的图书证号和归还期限。

b)归还:

勾销对借阅者的登记,改变该书的现存量。

c)预定:

读者可以预定当前没有的图书和杂志。

这样,当读者所预定的图书和杂志归还回来或购进时,就通知预定读者。

d)取消预定:

当预定了某书的读者者借阅了该书后预定就取消;或者通过显式独立的取消过程强行取消预定。

[用例模型]:

用例模型描述了图书还借系统在功能方面提供了什么的功能,是系统需求的获取。

总体上由“角色”和“用例”组成。

在这个图书馆系统中,我们可以识别出的角色有读者和图书管理员。

整个用例模型包含的用例有:

借书、还书、预订、取消预定。

用例模型可以用用例图表示如下:

图书馆还借系统分析的结果做成UML用例图,如图-所示。

图一图书还借系统用例图

其中,图书还借系统的用例有:

--[if!

supportLists]-->      

--[endif]-->借书(Borrow)

--[if!

supportLists]-->      

--[endif]-->返书(Return)

--[if!

supportLists]-->      

--[endif]-->约定(Reservation)

--[if!

supportLists]-->      

--[endif]-->取消预定(CancelReservation)

而每个用例的描述则更详细地描述用例和角色之间的交互。

由于用例比较多,这里仅对借书这个用例来做描述:

●名称:

借书”。

●说明:

读者在图书馆挑选好需要的图书后,通过图书管理员把书借出去。

●参与者:

读者,图书管理员

●频率:

每天可能会有很多次。

最繁忙的情况是,借书的人非常多,按照现在的速度,大约每分钟完成一个人的结束工作。

●前置条件:

●后置条件:

修改所借出的图书的剩余数量。

●假设:

借书者总是从图书馆找到书,然后才能拿书办理借书手续,因此,总是有足够的书可以出借。

●基本操作流程:

借书成功。

1)学生将所借图书和借书证交给图书管理员

2)图书管理员将学生借书证号码和所借图书输入系统

3)系统校对借书信息,比对该学生以往借书情况和当前借书情况,如果不存在不允许借书的情况,则记录借书交易的信息,并且修改相应的馆藏图书的数量信息。

4)如果该学生已经预订了这本图书,则撤销该预定。

5)报告交易成功。

●可选操作流程:

所借图书超出最大借书数量。

1)学生将所借图书和借书证交给图书管理员

2)图书管理员将学生借书证号码和所借图书输入系统

3)系统校对借书信息,比对该学生以往借书情况和当前借书情况,发现已超出最大借书数量,则停止当前交易,并且提示用户错误原因。

4)图书管理员可以应学生的意见,减少借书数量,并重新提交系统。

[静态模型]:

首先来分析借书这个用例。

在这个用例中,我们首先可以识别出一些直接的对象,包括图书管理员(Librarian)、读者(Reader),然后,稍作分析,发现需要一个实体对象来记录图书的借还信息(BorrowInfo)。

随后,在借书的过程中,我们会使用到预定图书的信息(ReservedInfo)。

到这一步,我们基本完成了实体对象的识别。

然后,我们发现我们需要一个借书的控制类(Borrow)来执行借书的动作。

这样,初步的模型就可以建立了。

在此模型中,也需要识别出类的一些属性和方法。

例如,对于Reader类,我们需要Name、CardID、Password和BorrowNo属性,对于Book,我们只需要BooKID、CountNo、ReservedFlag等属性。

现在,我们为我们的类图添加上述属性,就可以得到下面的结果:

图二图书还借系统类图

以此类推,我们把还书、预定、撤销预定这些用例一并分析后,我们就能够得到整个系统的静态分析模型。

[动态模型]:

在面向对象的系统中,业务流程表现为对象之间的交互。

有了上面分析的得到的对象后,就可以来描述他们是怎么进行交互和协作的了。

在UML中,我们可以使用顺序图、或者协作图来建模这些动态的过程。

同样的,看借书这个用例。

在借书这个用例中,有两个事件流:

借书成功(正常事件流)和所借图书超出最大借书数量(非正常事件流)。

这里以“借书成功”这个事件流为例,下面是这个事件流的顺序图及其协作图:

●借书顺序图及其协作图:

图三借书顺序图

Operation:

1:

Login()-----登陆

2:

Borrow()-----借书

3:

CheckCanBorrow()-----检查是否可借

4:

GetBorrowedNo()-----得到读者已借书的数量

5:

ValidMax()-----读者可借书的最大数量

6:

BorrowOper()-----进行借书操作

7:

UpdateCurrentNo()-----更新库存书数量

8:

CancelReservedOper()-----取消预定操作

9,10,11:

OKMessage-----成功的消息返回

图四借书协作图

同样的,我们也可以为其他三个用例的事件流创建动态模型,顺序图及其协作图如下所示:

●还书顺序图及其协作图:

图五还书顺序图

Operation:

1:

Login()-----登陆

2:

Return()-----还书

3:

CheckOverdue()-----检查是否过期

4:

ReturnOper()-----进行还书操作

5:

UpdateCurrentNo()-----更新库存书数量

6:

GetBorrowedNo()-----得到读者已借书的数量

7:

UpdateValidMax()-----更新读者可借书的最大数量

8,9:

OKMessage-----成功的消息返回

 

图六还书协作图

●预定顺序图及其协作图:

图七预定顺序图

Operation:

1:

Login()-----登陆

2:

Reserved()-----预定

3:

ReservedOper()----预定操作

4:

SetFlagOn()-----预定书籍标记置1

5,6:

OKMessage-----成功的消息返回

图八预定协作图

●取消预定顺序图及其协作图

图九撤销预定顺序图

Operation:

1:

Login()-----登陆

2:

CancelReserved()-----取消预定

3:

CancelReservedOper()----取消预定操作

4:

SetFlagOff()-----预定书籍标记置0

5,6:

OKMessage-----成功的消息返回

图十撤销预定协作图

四、实验总结:

初次接触RationalRose,发现是比较容易上手,非常的usefriendly。

Rose真是一个不错的辅助工具。

动态模型和静态模型的建立是一个交互的过程。

在建立动态模型的过程中,有可能会发现一些新的类,也会为已有的类找到一些新的属性和方法,这样,在这个过程中就需要去修改与设计的类图,反之亦然。

由于是第一次设计建模,我选了在功能上较易理解的“图书还接系统”的建模实例,在设计中由于经验不足,对系统的设计完成的功能也比较简单,以后随着经验的累积,想必应该可以不断的完善。

[结束语]

在本文中,我亲手设计了一个简单的图书还借系统。

使用RationalRose来为系统进行UML建模,这实际上是一个非常自然的过程,只要我们按照既定的合理步骤,采用合理的方法,一步一步的进行深入的分析,就能够很好的完成设计任务。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机软件及应用

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1