架构设计之UML建模详解

          Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。UML建模最常用的有三种:用例图、类图、和时序图等。

       先给大家介绍一款模型图的工具,工欲善其事必先利其器。今天为大家推荐的是PowerDesigner这个画图工具,大家可以到网上搜到这个软件,下载使用。这个软件的打开界面如下图。

架构设计之UML建模详解_第1张图片

  第一、先来讲解什么是用例图,以及用例图的使用。

用例图主要用来描述“用户、需求、系统功能单元”之间的关系。他展示了一个外部用户能够使用的系统功能模型图。用例图主要用于静态建模阶段(主要是业务建模和需求建模),帮助开发团队在开发初期以一种可视化的方法来理解系统的需求功能。

   1、用例图的第一个分类:参与者(Actor)

     参与者是系统外部与系统直接交互的人或事物,需要注意一下两点:

    1)参与者是角色而不是具体的人,它代表了与系统打交道过程中的角色。所以在系统实际运作中,一个实际用户可能对应系统的多个参与者。比如(一个微信用户对应了多个其他的用户,还可能对应了很多的公司公众号)。不同的用户也可以只对应一个参与者,从而代表同一参与者的不同实例。比如(一个公司可能有很多的用户,对于系统而言,这些用户都是这个公众号的不同实例)。

     2)参与者作为外部用户(而不是内部)与系统发生交互作用,是它的主要特征。

  新建用例图的步骤

  架构设计之UML建模详解_第2张图片

  在UML中,参与者使用如图所示的一个小人来表示:

  架构设计之UML建模详解_第3张图片

  2、用例图的第二个分类:用例

     系统外部可见的一个系统功能单元。用椭圆表示,椭圆中的文字描述简述单元的功能。

    架构设计之UML建模详解_第4张图片

 3、用例图的第三个分类:关系

   关系图包括:包含、泛华、关联、扩展、

   关联:表示参与者与用例之间的关系,通讯途径。任何一方都可以发送或接受消息,并不是只有参与者才可以。箭头指向的方向是消息的接收方:

架构设计之UML建模详解_第5张图片

   鼠标单击线条,右键:format,弹出格式选择框,可以修改线条的样式:

    架构设计之UML建模详解_第6张图片

   泛化:实际就是表示继承关系:实线线条,空心箭头,箭头指向父类:(线条一直画不直,懂得童靴可以来评论一下咋搞)

    架构设计之UML建模详解_第7张图片

  包含:包含是把较复杂的用例功能分解为较小的步骤:点击线条右键选择Properties。输入线条属性

   架构设计之UML建模详解_第8张图片

架构设计之UML建模详解_第9张图片

 扩展:其实扩展和包含很类似,一个功能有其他的功能,虚线线条,箭头和包含相反:

  架构设计之UML建模详解_第10张图片

 

   第二部分、讲解类图

   在UML类图中,常见的有一下几种方法。泛华、实现、关联、聚合、组合、依赖。

   1)泛华:实际是一种继承关系,它指定了子类如何持有父类的所有特征和行为。

    架构设计之UML建模详解_第11张图片

 2)实现表示类与接口的关系:

  架构设计之UML建模详解_第12张图片

    3)关联:表示一种拥有关系,带实线的普通箭头架构设计之UML建模详解_第13张图片

    4)自身关联

 架构设计之UML建模详解_第14张图片

  5)聚合:整体与部分的关系,切部分可以离开整体单独存活。例如汽车和轮胎的关系:

   架构设计之UML建模详解_第15张图片

   7)依赖:一个类的实现要依赖另一个类的实现。所以最好不要使用双向的依赖关系。

第三类、时序图。

  时序图是显示对象之间的调用关系,这些对象是按照时间顺序排列的。顺序图中显示的是参与交互的对象及其对其他对象之间消息交互的顺序。时序图中的元素主要有:角色、对象、生命线、控制点、消息等等。

   角色:系统角色,可以是人,及其其他的系统或子系统。

   对象:对象包括三种,第一种方式包括对象名和类,第二种方式只显示类名不显示对象名,及匿名对象。第三种方式只显示对象名不显示类名。

 

生命线(Lifeline

生命线在顺序图中表示为从对象图标向下延伸的一条虚线,表示对象存在。

建立时序图:

 架构设计之UML建模详解_第16张图片

架构设计之UML建模详解_第17张图片


博客已经移步:chaodongyang.com

关注微信公众号获取更多资讯:

架构设计之UML建模详解_第18张图片

 

你可能感兴趣的:(设计模式,uml,架构设计)