首页 > 编程知识 正文

uml基础案例与应用pdf,uml项目实例

时间:2023-05-04 07:56:42 阅读:149586 作者:966

一UML简介

统一建模语言(UML )是一种定义好、表达简单、功能强大、普遍适用的视觉建模语言。 它吸取了软件工程领域的新思想、新方法、新技术。 它不仅支持面向对象的分析和设计,而且支持从需求分析开始的软件开发的全过程。 在系统分析阶段,一般使用UML画很多图。 主要包括用例图、状态图、类图、活动图、序列图、合作图、生成图、部署图等,具体绘制哪些图取决于具体情况。 其实简单的理解,也是个人的理解。 UML的作用是用很多图从静态和动态方面全面描述我们要开发的系统。

二用例建模简介

用例建模是UML建模的一部分,也是UML最基本的部分。 用例建模最重要的功能是表达系统的功能需求和行为。 用例建模分为用例图和用例描述。 用例图由参与者(Actor )、用例)、系统边界、箭头构成,通过绘图的方法完成。 用例描述用于详细描述用例图中的每个用例,并在文本文档中完成。

1 用例图

参加者不是特指人,而是指系统以外的、在使用系统或与系统对话中使用范围很广的香菇。 因此,参与者可以是人、事物、时间或其他系统等。 另一个需要注意的是,参与者并不是人或物本身,而是人或物代表当时广泛到达的香菇。 例如,xqdgk是图书馆的管理员,他参与了图书馆管理系统的对话。 此时,他可以以管理员的身份参与管理,也可以以借阅者的身份从图书馆借书。 在这里xqdgk扮演了两个角色,是两个不同的参与者。 参加者在画中用简单的人物画表示,在人物下面用参加者的名字命名。

用例是一系列操作序列的说明,其中包含系统执行这些操作并生成可观察结果以传达特定参与者的价值的变量。 这是UML用例的正式定义,对我们初学者来说可能有点难懂。 用例可以理解为参与者想在系统中做的事情。 关于用例的命名,可以给用例起一个简单而描述性的名称。 一般是有动作性的词。 例句在图中用椭圆表示,在椭圆的下方附有例句的名称。

系统边界用于表示建模系统的边界。 边界内表示系统的构成要素,边界外表示系统的外部。 系统边界在画中用方形表示,同时以系统的名字命名,参加者画在边界的外侧,用例画在边界的内侧。 因为系统边界的作用有时不明显,所以我个人理解画画的时候可以省略。

箭头表示参与者和系统通过相互发送信号或消息而相互作用的关联关系。 箭头的末尾表示启动交互的一方,箭头的开头表示启动的一方,用例始终由参与者启动。

2 用例描述

用例图只是在图上简单地说明了系统,但每个用例都需要详细的说明。 这样,别人就可以对这个系统有更详细的理解,需要写用例的说明。

关于用例描述的内容,一般没有硬性规则的格式,但是一些必须或者重要的内容必须写在用例描述中。 用例的说明一般包括简单的说明(说明)、前置)条件、基本事件流程、其他事件流程、异常事件流程、后置)条件等。 说一下各部分的意思吧:

简要说明:用例的作用、目的的简要说明;

前提条件:在运行用例之前,系统必须处于或必须满足的条件;

基本事件流:描述用例的基本过程。 指在每个进程“正常”运行时发生的情况。 没有备用流或异常流,只有最可能发生的事件流。

其他事件流:表示此行为或进程是可选或替代的,并不总是运行。

异常的事件流(表示发生异常时要执行的进程。

后置条件:用例运行后的系统状态;

三 用例图和用例描述设计实例

这里使用我开发的家教网站,简单分析用例图的写法和用例描述的写法。 尝试用UML全面分析这个网站。 以下提取了用例图和用例图中说明的部分。 该家教网站分为前台客户系统和后台管理系统。

前台客户系统的用例图如下。

后台管理系统的用例图如下。

关于用例的说明,篇幅有限。 这里只是后台管理系统的网站公告发表了这个用例的说明。 如下所示。

用例名称:网站公告发表

trong>用例标识号:202参与者:负责人简要说明

负责人用来填写和修改家教网站首页的公告,公告最终显示在家教网站的首页上。前置条件:

负责人已经登陆家教网站管理系统基本事件流:

1.负责人鼠标点击“修改公告”按钮

2.系统出现一个文本框,显示着原来的公告内容

3.负责人可以在文本框上修改公告,也可以完全删除,重新写新的公告

4.负责人编辑完文本框,按“提交”按钮,首页公告就被修改

5.用例终止其他事件流A1

在按“提交”按钮之前,负责人随时可以按“返回”按钮,文本框的任何修改内容都不会影响网站首页的公告异常事件流

1.提示错误信息,负责人确认

2.返回到管理系统主页面后置条件

网站首页的公告信息被修改注释:无 四. 总结

其实用例建模并不是这么简单,它涉及到的知识还有很多,这里只是简单的介绍一下。

感谢:http://www.51cto.com 2006-01-13 10:10 出处:51CTO.com整理




补充:

用例之间也可以存在包含、扩展和泛化等关系:

  (1)包含关系:用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为做为自身行为的一部分,这被称作包含关系。

  (2)扩展关系:扩展关系是从扩展用例到基本用例的关系,它说明为扩展用例定义的行为如何插入到为基本用例定义的行为中。它是以隐含形式插入的,也就是说,扩展用例并不在基本用例中显示。在以下几种情况下,可使用扩展用例:

  a.表明用例的某一部分是可选的系统行为(这样,您就可以将模型中的可选行为和必选行为分开);

  b.表明只在特定条件(如例外条件)下才执行的分支流; 

  c.表明可能有一组行为段,其中的一个或多个段可以在基本用例中的扩展点处插入。所插入的行为段和插入的顺序取决于在执行基本用例时与主角进行的交互。

  图2.3给出了一个扩展关系的例子,在还书的过程中,只有在例外条件(读者遗失书籍)的情况下,才会执行赔偿遗失书籍的分支流。


(3)泛化关系:用例可以被特别列举为一个或多个子用例,这被称做用例泛化。当父用例能够被使用时,任何子用例也可以被使用。如在图2.4中,订票是电话订票和网上订票的抽象。


------------------------------------------------------------

泛化、包含和扩展

泛化(Generalization)在面向对象的技术中无处不在,它的另一个名字也许更为著名,就是“继承”。下图给出了一个使用泛化的用例图:


可知,在用例图中,角色和用例都能够泛化。角色的泛化/继承很容易理解,因为角色本来就是类(Class),它是一种版型(stereotype)为Actor的类,所以角色的继承直观而自然。但是用例的继承实际上分为两种情况,并不是简单的使用泛化,而是使用扩展(extended)和包含(include)两种泛化的特例。

扩展用于子用例的动作步骤基本上和父用例的动作步骤相同,只是增加了另外的一些步骤的情况下。包含用于子用例包含了所有父用例的动作,它将父用例作为了自己的一个大步骤,子用例常常包含一个以上的父用例。如下图:

 


转自:http://blog.csdn.net/dl88250/article/details/1826713

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。