UML建模之

来源:互联网 发布:mysql 基数低 不走索引 编辑:程序博客网 时间:2024/05/18 02:28

简介

  • 简介
    ?
    1
    2
    3
    UML是面向对象开发中一种通用的图形化建模语言
     
    UML建模技术就是用模型元素来组建整个系统的模型,模型元素包括系统中的类、类和类之间的关联、类的实例相互配合实现系统的动态行为等
    • UML建模工具
      ?
      1
      2
      3
      4
      5
      6
      7
      8
      9
      Rational Rose: 是直接从UML发展而诞生的设计工具,常用建模工具
       
      Power Designer: 是对数据库建模而发展起来的一种数据库建模工具
       
      Microsoft Visio:是一种画图工具,Visio 2010才开始引入UML建模,不是很专业
       
      Star UML: 开源轻量级建模工具,v6.0后支持linux
       
      UMLet: 是一个开放源代码轻量级UML建模工具(免费)

      类图

      ?
      1
      2
      3
      类图用于描述系统中所包含的类以及它们之间的相互关系,帮助人们简化对系统的理解,它是系统分析和设计阶段的重要产物,也是系统编码和测试的重要模型依据
       
      类图显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等,是最常用的UML图
      • 类的UML图示
        ?
        1
        在UML中,类使用包含类名、属性和操作且带有分隔线的长方形来表示
        ?
        1
         
        Others Note Url 4 1.jpg

        类与类之间的关系

        ?
        1
        2
        3
        4
        5
        6
        7
        1.关联关系
         
        2.依赖关系
         
        3.泛化关系
         
        4.实现关系

        关联关系

        • 关联关系
          ?
          1
          2
          3
          4
          5
          用于表示一类对象与另一类对象之间有联系
           
          在UML类图中,用实线连接有关联关系的对象所对应的类
           
          实现关联关系时,通常将一个类的对象作为另一个类的成员变量
          • 关联关系分类
            ?
            1
             
            Others Note Url 4 2.jpg
            • 关联关系– 双向关联
              ?
              1
               
              Others Note Url 4 3.jpg
              • 关联关系– 单向关联
                ?
                1
                2
                3
                4
                5
                类的关联关系是单向的
                 
                一般以成员变量来实现
                 
                单向关联用带箭头的实线表示
                ?
                1
                 
                Others Note Url 4 4.jpg
                • 关联关系– 自关联
                  ?
                  1
                  在系统中可能会存在一些类的属性对象类型为该类本身
                  ?
                  1
                   
                  Others Note Url 4 5.jpg
                  • 关联关系– 多重性关联
                    ?
                    1
                    多重性关联关系又称为重数性关联关系,表示两个关联对象在数量上的对应关系
                    ?
                    1
                     
                    Others Note Url 4 6.jpg
                    • 关联关系– 聚合关系(孙悟空和金箍棒)
                      ?
                      1
                      2
                      3
                      4
                      5
                      6
                      7
                      聚合(Aggregation)关系表示整体与部分的关系
                       
                      在聚合关系中,成员对象是整体对象的一部分,但是可以脱离整体对象独立存在
                       
                      是一种强关联关系
                       
                      实现聚合关系时,成员对象通常作为构造方法、Setter等方法参数注入到整体对象中
                      ?
                      1
                       
                      Others Note Url 4 8.jpg
                      • 关联关系– 组合关系(人和身体)
                        ?
                        1
                        2
                        3
                        4
                        5
                        6
                        7
                        组合(Composition)关系也表示类之间整体和部分的关系
                         
                        组合关系中整体对象可以控制成员对象的生命周期,一旦整体对象不存在,成员对象也将不存在,成员对象与整体对象之间具有同生共死的关系
                         
                        是一种比聚合强的关联关系
                         
                        实现组合关系时,通常在整体类的构造方法中直接实例化成员类
                        ?
                        1
                         
                        Others Note Url 4 9.jpg

                        依赖关系

                        • 依赖关系
                          ?
                          1
                          2
                          3
                          4
                          5
                          6
                          7
                          依赖(Dependency)关系是一种使用关系
                           
                          比关联关系更弱
                           
                          大多数情况下,依赖关系体现在某个类的方法使用另一个类的对象作为参数
                           
                          依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方
                          ?
                          1
                           
                          Others Note Url 4 11.jpg

                          泛化关系 - 继承

                          • 泛化关系-继承
                            ?
                            1
                            2
                            3
                            4
                            5
                            泛化(Generalization)关系也就是继承关系
                             
                            用于描述父类与子类之间的关系
                             
                            泛化关系用带空心三角形的直线来表示
                            ?
                            1
                             
                            Others Note Url 4 13.jpg

                            实现关系

                            • 实现关系
                              ?
                              1
                              2
                              3
                              接口和类之间的(Realization)关系
                               
                              类与接口之间的实现关系用带空心三角形的虚线来表示
                              Others Note Url 4 16.jpg
                              ?
                              1
                               
                              Others Note Url 4 15.jpg

                              时序图

                              ?
                              1
                              时序图(Sequence Diagram)是显示对象之间交互的图,这些对象是按时间顺序排列的,图中显示的是参与交互的对象及其对象之间消息交互的顺序
                              • 简介
                                ?
                                1
                                2
                                3
                                时序图是显示对象之间交互的图,这些对象是按时间顺序排列的
                                 
                                图中显示的是参与交互的对象及其对象之间消息交互的顺序
                                • 元素
                                  ?
                                  1
                                  时序图中包括的建模元素主要有:对象(Actor)、生命线(Lifeline)、控制焦点(Focus of control)、消息(Message)等
                                  • 元素—对象
                                    ?
                                    1
                                    2
                                    3
                                    4
                                    5
                                    对象包括三种命名方式:
                                     
                                    第一种方式包括对象名和类名
                                    第二中方式只显示类名不显示对象名,即表示他是一个匿名对象
                                    第三种方式只显示对象名不显示类名
                                    ?
                                    1
                                     
                                    Others Note Url 4 17.jpg
                                    • 元素—生命线
                                      ?
                                      1
                                      生命线在顺序图中表示为从对象图标向下延伸的一条虚线,表示对象存在的时间
                                      ?
                                      1
                                       
                                      Others Note Url 4 18.jpg
                                      • 元素—控制焦点
                                        ?
                                        1
                                        2
                                        控制焦点是顺序图中表示时间段的符号,在这个时间段内对象将执行相应的操作
                                        用小矩形表示
                                        ?
                                        1
                                         
                                        Others Note Url 4 19.jpg
                                        • 元素—消息
                                          ?
                                          1
                                          2
                                          3
                                          4
                                          5
                                          6
                                          7
                                          同步消息:消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制
                                           
                                          异步消息:消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制
                                           
                                          返回消息:返回消息表示从过程调用返回
                                           
                                          自关联消息:表示方法的自身调用以及一个对象内的一个方法调用另外一个方法
                                          ?
                                          1
                                           
                                          Others Note Url 4 20.jpg

                                          实例

                                          • Android - Settings简单类图
                                            ?
                                            1
                                             
                                            Others Note Url 4 demo 1.jpg
                                            • Android - Settings启动流程
                                              ?
                                              1
                                               
                                              Others Note Url 4 demo 2.jpg

                                               

原创粉丝点击