ImageVerifierCode 换一换
格式:DOCX , 页数:34 ,大小:2.08MB ,
资源ID:14680180      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-14680180.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(uml自己总结.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

uml自己总结.docx

1、uml 自己总结浅谈UML的概念和模型之UML九种图UML的全称,统一建模语言(UML是 Unified Modeling Language的缩写)是用来对软件系统进行可视化建模的一种语言。UML为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言1、 模型?模型是对现实世界的形状或状态的抽象模拟和简化。2、 为什么要建模?最简单的理由:为了能够更好地理解正在开发的系统。通过建模,可以达到四个目的:有助于按照需求对系统进行可视化的分析;能够系统的结构或行为;给出了知道构造系统的模板;对做出的决策进行文档化。3、 UML七种视图二、UML的九种图1、用例图(usecase diag

2、rams)【概念】描述用户需求,从用户的角度描述系统的功能【描述方式】椭圆表示某个用例;人形符号表示角色【目的】帮组开发团队以一种可视化的方式理解系统的功能需求【用例图】2、静态图(1)、类图(classdiagrams)【概念】显示系统的静态结构,表示不同的实体是如何相关联的【描述方式】三个矩形【目的】表示一个逻辑类或实现类,逻辑类通常是用户的业务所涉及的事物;实现类是程序员处理的实体【类图】(2)、对象图(object diagrams)【概念】类图的一个实例,描述系统在具体时间点上所包含的对象以及各个对象的关系【对象图】3、交互图用来描述对象之间的交互关系(1)、序列图(顺序图)【概念】

3、描述对象之间的交互顺序,着重体现对象间消息传递的时间顺序【描述方式】横跨图的顶部,每个框表示每个类的实例或对象;类实例名称和类名称使用冒号分开【目的】显示流程中不同对象之间的调用关系,还可以显示不同对象的不同调用。【序列图】(2)、协作图(Collaboration diagrams)【概念】描述对象之间的合作关系,侧重对象之间的消息传递4、行为图:描述系统的动态模型和对象之间的交互关系(1)、状态图(Statechartdiagrams)【概念】描述对象的所有状态以及事件发生而引起的状态之间的转移【描述方式】起始点:实心圆;状态之间的转换:使用开箭头的线段;状态:圆角矩形;判断点:空心圆;一

4、个或多个终止点:内部包含实心圆的圆【目的】表示某个类所处的不同状态以及该类在这些状态中的转换过程(2)、活动图(Activity diagrams)【概念】描述满足用例要求所要进行的活动以及活动时间的约束关系【描述方式】1. 起始点:实心圆2. 活动:圆角矩形3. 终止点:内部包含实心圆的圆4. 泳道:实际执行活动的对象【目的】表示两个或多个对象之间在处理某个活动时的过程控制流程【活动图】活动图和状态图区别:4、 实现图(1)、构件图(Component diagrams)【概念】描述代码构件的物理结构以及各构件之间的依赖关系【描述方式】构件【目的】提供系统的物理视图,根据系统的代码构件显示系

5、统代码的整个物理结构【构架图】(2)、部署图(Deployment diagrams)【概念】系统中硬件的物理体系结构【描述方式】1. 三维立方体表示部件2. 节点名称位于立方体上部【目的】显示系统的硬件和软件的物理结构【部署图】用例图UML中使用最多的表述方式就是用例图。1、 用例图是由参与者、用例以及它们之间的关系构成的用于描述系统功能的动态视图。用例是系统中的一个功能单元,描述一个系统做什么(what)的信息,并不是怎么(how)做。用例图的作用是描述参与者和用例的关系,表示系统的用户使用了系统中的哪些用例。2、 组成:用例图组成的概念,我们通过一张图学习:3、 用例之间的关系(1)、包

6、含【表示方式】虚线箭头 + include;箭头由基础用例指向被包含用例【作用】提高用例模型的可维护性;简化描述避免多个用例中重复描述同一段行为或对同一段行为描述不一致【包含图】(2)、扩展【表示方式】虚线箭头 + extend;箭头指向基础用例【作用】一定条件下,扩展用例为基础用例增加新的行为【扩展图】扩展和包含的区别:扩展关系和包含关系的比较:1、扩展关系:基础用例提供一个或多个插入点,扩展用例为插入点提供需要插入的行为;包含关系中只有一个插入点2、扩展关系:基础用例执行,扩展不一定执行;包含关系:基础用例执行,包含用例必须执行3、扩展关系:即使没有扩展用例,基础用例本身是完整的包;含关系

7、:没有包含用例,基础用例本身不完整 为大家简单的举一个机房收费系统的小例子:(3)、泛化【表示方式】实线空三角箭头;箭头指向父用例【作用】子用例继承父用例所有的结构、行为和关系,是父用例的一种特殊形式【泛化图】UML类图关系 类与类之间的关系通常有4种,即依赖关系(Dependency)、泛化关系(Generalization)、关联关系(Association)、实现关系(Realization)。1、 依赖关系:【概念】表示两个或多个模型元素之间语义上的连接关系【绘图方式】虚线箭头,箭头指向被使用者【依赖图】2、 泛化关系(继承)【概念】描述类的一般和具体之间的关系,描述的“is akin

8、d of ”的关系【绘图方式】实线空心三角箭头,箭头指向父类【继承方式】单继承:一个类只有一个父类多继承:一个类可以有多个父类,可以从每一个父类中获得允许继承的信息【泛化图】3、 关联关系【概念】表示一个事物的对象与另一个事物的对象之间的语义上连接,简单的理解为两个类或类与接口之间的强依赖关系【绘图方式】实线箭头,双向箭头或无箭头【包括】(1)、聚焦【概念】描述的是部分与整体关系,描述了“has a”的关系,部分离开整体可以单独存在【绘图方式】空菱形的实线,头部指向整体【聚集关系图】(2)、组成【概念】一种更强形式的关联,在整体中拥有管理部分特有的职责,也被称为强聚合关系,部分不能脱离整体存在

9、【绘图方式】实菱形的实线,头部指向整体【组成关系图】4、 实现关系【概念】将一种模型关系与另一种模型关系连接起来,从而说明和其实现之间的关系,简单的理解为一个类或多个类实现一个接口【绘图方式】封闭空箭头的虚线,箭头指向接口【实现关系图】 泛化和实现关系的区别: 泛化关系是指同一语义层的元素连接起来,通常在同一模型内;实现关系将不同语义层内的元素连接起来,通常在不同模型内。类图1、 类图显示了系统的静态结构。类图就是用于对系统中的各种概念进行建模,并描绘它们之间关系的图。再简单一点,类就是一组具有相同结构、行为、关系的一群对象。2、1、公有类型(public):允许在类的外面使用或查看该属性2、

10、受保护类型(protected):允许子类访问父类中受保护类型的属性3、私有类型(private):只有类本身能够访问,外部一概不能4、Implementation:该属性仅仅在被定义的包中才能够可见2、 接口接口是一种特殊的类,所有接口都是有构造型的类。 表示方式:实线小圆圈 + 名称接口关系:接口同样具有依赖和泛化的关系依赖:一个类通过依赖关系与接口相连接,仅仅依赖于接口中的操作泛化:跟类之间泛化关系同理序列图、协作图1、 序列图和协作图都是交互图,彼此等价,可以相互转化。序列图是对对象之间传送消息的时间顺序的可视化表示。序列图用于表现交互,侧重于强调时间顺序。序列图将交互关系表示为一个二

11、维图虚线表示,此时对象不处于激活状态,双道线,表示对象处于激活状态;消息使用从一个对象的生命线到另一个对象的生命线的箭头表示。序列图的作用是:1. 确认和丰富一个使用语境的逻辑表达2. 细化用例,将用例表达的需求进一步精细表达3. 有效地描述各个类的职责以及各类具有相应职责的原因2、协作图协作:在一定的语境中一组对象以及实现某些行为的对象间的相互作用。协作图就是表现对象协作关系的图。2.1协作图的作用:1、与序列图第一个相同2、显示对象及其交互关系的空间组织结构3、表现一个类操作的实现2.2协作图的组成:协作图是由对象、消息和链等构成的。对象和消息的概念与序列图中的概念是相同的,我重点讲链。链

12、:两个或多个对象之间的独立连接,是对象引用元组,是关联的实例。链的表示形式:一个或多个相连的线或弧。3、序列图和协作图的对比:协作图和序列图表达的信息一样,只是方法不同,可通过适当的方式进行转化。协作图和序列图的不同点:1、协作图明确表示了角色关系,通过协作角色来限定协作中的对象或链。2、协作图不将时间作为单独的维来表示,必须使用顺序号来判断消息的顺序以及并行线程。3、序列图和协作图都表示对象间的交互作用,序列图侧重时间顺序,协作图侧重对象间的关系,时间顺序可以从对象流经的顺序编号中获得。4、序列图被用于表示方案,而协作图被用于过程的详细设计。状态图和活动图1、 在日常生活中,状态机,我们理解

13、为记录下给定时刻状态的机器,根据不同的输入对每个给定的变化而改变其状态或引发一个动作。UML中,状态机由对象的各个状态和连接这些状态的转换组成,是展示状态与状态转换的图。状态图本质上就是一个状态机或是状态机的特殊情况。由表示状态的节点和表示状态之间转换的带箭头的直线组成。状态图的概念:状态图的组成:2、 活动图活动图是另一个种动态视图,描述动作和动作导致对象状态改变的结果,而不用考虑引发状态改变的事件。1、起点【作用】描述活动图的开始状态【表示方式】黑的实心圆2、终止点【作用】描述活动图的终止状【表示方式】实心圆的空心圆3、活动【作用】可以是手动也可以自动的执行任务【表示方式】圆角矩形4、状态

14、【作用】活动的所处状态【表示方式】椭圆矩形5、转换【作用】描述一个活动转向另一个活动【表示方式】带箭头的实线段,指向转向的活动活动图的组成:3、状态图的作用:1、清晰描述状态之间的转换顺序,通过转换顺序可以清晰看出事件的执行顺序2、清晰的事件顺序有利于程序员在开发程序时避免出现事件错序的情况3、清晰地描述了状态转换时所必须触发德尔事件、监护条件和动作等影响转换的因素,有利于程序员汇总非法事件的进入4、通过判断更好地描述工作流因为不同的条件发生的分支活动图的作用:5、活动图和状态图的区别:1、目的不同 活动图的主要目的是描述动作及对象的改变结果,而状态图则是描述对象、子系统、系统在生命周期中的各

15、种行为2、活动图中的状态转换不需要任何触发事件,状态图则需要触发事件3、活动图种的动作可以放在泳道中,状态图不可以构件图和部署图用来表示实现单元。1、 构件将系统中可重用的模块封装为具有可替代性的物理单元,称为构件。构件的特征:1、代码特征:包含和封装了实现系统功能的类、其他元素的实现代码以及某些构成系统状态的实例对象2、身份特征:构件拥有身份和状态,用于定位在其上的物理对象2、构件图构件图是用来表示系统中构件与构件之间、类或接口与构件之间的关系图2.1构件之间的依赖关系与类图中类间依赖关系相同,都是使用虚线箭头表示2.2构件和接口之间的依赖关系一个构件使用了其他元素的接口,依赖关系可以用箭头

16、的虚线表示,箭头指向接口符号3、部署图部署图描述一个系统运行时的硬件节点、在这些节点上运行的软件构件将在何处物理运行以及它们将如何彼此通信的静态视图UML用例图总结用例图主要用来描述“用户、需求、系统功能单元”之间的关系。它展示了一个外部用户能够观察到的系统功能模型图。【用途】:帮助开发团队以一种可视化的方式理解系统的功能需求。用例图所包含的元素如下:1.参与者(Actor)表示与您的应用程序或系统进行交互的用户、组织或外部系统。用一个小人表示。2.用例(Use Case)用例就是外部可见的系统功能,对系统提供的服务进行描述。用椭圆表示。3. 子系统(Subsystem)用来展示系统的一部分功

17、能,这部分功能联系紧密。4.关系用例图中涉及的关系有:关联、泛化、包含、扩展。如下表所示:a. 关联(Association)表示参与者与用例之间的通信,任何一方都可发送或接受消息。【箭头指向】:指向消息接收方b. 泛化(Inheritance)就是通常理解的继承关系,子用例和父用例相似,但表现出更特别的行为;子用例将继承父用例的所有结构、行为和关系。子用例可以使用父用例的一段行为,也可以重载它。父用例通常是抽象的。【箭头指向】:指向父用例c. 包含(Include)包含关系用来把一个较复杂用例所表示的功能分解成较小的步骤。【箭头指向】:指向分解出来的功能用例d. 扩展(Extend)扩展关系

18、是指用例功能的延伸,相当于为基础用例提供一个附加功能。【箭头指向】:指向基础用例e. 依赖(Dependency)以上4种关系,是UML定义的标准关系。但VS2010的用例模型图中,添加了依赖关系,用带箭头的虚线表示,表示源用例依赖于目标用例。【箭头指向】:指向被依赖项5. 项目(Artifact)用例图虽然是用来帮助人们形象地理解功能需求,但却没多少人能够通看懂它。很多时候跟用户交流甚至用Excel都比用例图强,VS2010中引入了“项目”这样一个元素,以便让开发人员能够在用例图中链接一个普通文档。用依赖关系把某个用例依赖到项目上:然后把项目-属性的Hyperlink设置到你的文档上;这样当

19、你在用例图上双击项目时,就会打开相关联的文档。6. 注释(Comment)包含(include)、扩展(extend)、泛化(Inheritance)的区别:条件性:泛化中的子用例和include中的被包含的用例会无条件发生,而extend中的延伸用例的发生是有条件的;直接性:泛化中的子用例和extend中的延伸用例为参与者提供直接服务,而include中被包含的用例为参与者提供间接服务。对extend而言,延伸用例并不包含基础用例的内容,基础用例也不包含延伸用例的内容。对Inheritance而言,子用例包含基础用例的所有内容及其和其他用例或参与者之间的关系;一个用例图示例:牢骚:感觉用例图

20、还不成熟,并不能很好地表达系统的需求,没有UML背景的用户几乎不知道画的是些什么。其次,包含关系、扩展关系的箭头符号竟然是同样的箭头,仅靠上方写个文字来加以区别,翻译成其他语言的话,几乎就不知道代表什么意思。扩展关系的箭头朝向也很难理解,为何要指向基用例,而不指向扩展用例。VS2010添加的“项目”元素,是个很好的创新,能够在用例图中关联word, excel这些文档。但为什么不把这些功能直接集成到用例里面,双击用例就弹出一份文档岂不更容易理解,非要画蛇添足地加一个元件,仅仅为了提供个链接功能。用例描述表:鉴于用列图并不能清楚地表达功能需求,开发中大家通常用描述表来补充某些不易表达的用例,下图

21、的表给大家提供一个参考:UML整体概括UML (Unified Modeling Language)为面向对象软件设计提供统一的、标准的、可视化的建模语言。适用于描述以用例为驱动,以体系结构为中心的软件设计的全过程。UML的定义包括UML语义和UML表示法两个部分。 (1) UML语义:UML对语义的描述使开发者能在语义上取得一致认识,消除了因人而异的表达方法所造成的影响。 (2) UML表示法:UML表示法定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准UML模型图的构成事物(Things):UML模型中最基本的构成元素,是具有代表性的成分的抽象关系(

22、Relationships):关系把事物紧密联系在一起图(Diagrams ):图是事物和关系的可视化表示UML事物:UML包含4种事物:构件事物 行为事物分组事物 注释事物(1)构件事物:UML模型的静态部分,描述概念或物理元素它包括以下几种:类:具有相同属性相同操作相同关系相同语义的对象的描述。接口:描述元素的外部可见行为,即服务集合的定义说明协作:描述了一组事物间的相互作用的集合用例:代表一个系统或系统的一部分行为,是一组动作序列的集合构件:系统中物理存在,可替换的部件节点:运行时存在的物理元素另外,参与者、信号应用、文档库、页表等都是上述基本事物的变体(2)、 行为事物:UML模型图的

23、动态部分,描述跨越空间和时间的行为:交互:实现某功能的一组构件事物之间的消息的集合,涉及消息、动作序列、链接状态机:描述事物或交互在生命周期内响应事件所经历的状态序列 (3)、分组事物:UML模型图的组织部分,描述事物的组织结构。包:把元素组织成组的机制(4)、 注释事物:UML模型的解释部分,用来对模型中的元素进行说明,解释。注解 :对元素进行约束或解释的简单符号UML关系依赖(dependency)是两个事物之间的语义关系,其中一个事物(独立事物)发生变化,会影响到另一个事物(依赖事物)的语义关联(association)是一种结构关系,它指明一个事物的对象与另一个事物的对象间的联系泛化(

24、generalization)是一种特殊/一般的关系。也可以看作是常说的继承关系实现(realization)是类元之间的语义关系,其中的一个类元指定了由另一个类元保证执行的契约UML中的九种图(简单介绍,后期会发表具体的有关九中图的博客) 用例图(Use Case Diagram ):用例图是从用户角度描述系统功能, 是用户所能观察到的系统功能的模型图,用例是系统中的一个功能单元 类图(Class Diagram):类图描述系统中类的静态结构.不仅定义系统中的类,表示类之间的联系,如关联、依赖、聚合等,也包括类内部结构(类的属性和操作);类图是以类为中心来组织的,类图中的其他元素或属于某个类

25、或与类相关 对象图(ObjectDiagram):对象图是类图的实例几乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实际的类. 顺序图(Squenece Diagram):顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;顺序图的一个用途是用来表示用例中的行为顺序,当执行一个用例行为时,顺序图中的每条消息对应了一个操作或引起状态转换的触发事件 协作图(Collaboration Diagram):协作图描述对象间的协作关系,协作图跟顺序图相似,显示对象间的动态合作关系。除显示信息交换外,协作图还显示对象以及他们之间的关系;协

26、作图的一个用途是表示一个类的操作的实现。 状态图(State Chart Diagram):状态图是一个类对象所可能经历的所有历程的模型图;状态图由对象的各个状态和链接这些状态的转换组成 活动图(Activity Diagram):活动图是状态图的一个变体,用来描述执行算法的工作流程中设计的活动;活动图描述了一组顺序的或并发的活动。 构件图(Component Diagram):构件图为系统的构建建模型,构建即构造应用的软件单元,还包括各种构建之间的依赖关系,以便通过这些依赖关系来估计对系统构建的修改给系统可能带来的影响。部署图(Depoyment Diagram):部署视图描述位于节点实例上

27、的运行构建实例的安排,节点是一组运行资源,如计算机、设备或存储器。 简单整理UML:类是一组具有相同属性、相同操作、相同关系和相同语义的对象的描述对象属性:对象名/类名/接口是描述了一个类或构件的一个服务操作集协作定义了一个交互,它是由一组共同工作以提供某种协作行为的角色和其他元素构成的群体用例是一对一组动作序列的描述主动类对象至少拥有一个进程或线程的类构件在系统外部与系统直接交互的人或事物节点是在运行时存在的物理元素交互它由在特定语境中共同完成一定任务的一组对象间交互的消息组成状态机它描述了一个对象或一个交互在生命周期内响应时间所经历的状态序列包把元素组织成组的机制注释事物是UML模型的解释

28、部分依赖一条可能有方向的虚线关联一条实线,可能有方向泛化一条带有空心箭头的实线实现一条带有空心箭头的虚线参与者在系统外部与系统更直接交互的人或事物UML 的九种模型图一、作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分。UML语义:描述基于UML的精确元模型定义。UML表示法:定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例。二、标准建模语言UML可以由下列5类图来定义。用例图:从用户角度描述系统功能,并指出各功能的操作者。静态图:包括类图和对象图。类图描述系统中

29、类的静态结构,不仅定义系统中的类,表示类之间的联系,如关联、依赖、聚合等,也包括类的属性和操作,类图描述的是一种静态关系,在系统的整个生命周期都是有效的。对象图是类图的实例,几乎使用与类图完全相同的标识。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。行为图:描述系统的动态模型和组成对象间的交互关系,包括状态图和活动图。状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件,状态图是对类图的补充,活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并进行活动。交互图:描述对象间的交互关系,包括时序图和协作图。时序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;协作图描述对象间的协作关系,协作图跟时序图相似,显示对象间的动态合作关系。除显示信息交换外,协作图还显示对象以及它们之间的关系。如果强调时间和顺序,则使用时序图;如果强调上下级关系,则选择协作图。实现图:包括组件图和部署图。组件图描述代码部件的物理结构及各部件之间的依赖关系,组件图有助于分析和理解部件之间的相互影响程度;部署图定义系统中软硬件的物理体系结构。采用UML来设计系统时,第一步是描述需求;第二步根据需求建立系统

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2