四种关系九种图看UML

       强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan

       38集的UML视频,看完后画图特别纠结,感觉无从下手,究其原因,视频上讲的都是原理,在学习的时候要先学原理但不能只止步于原理的层次(这或许就是纸上谈兵吧~),还要结合具体项目去实战。故重新打开尘封已久的机房收费系统,温故一下同时又瞄了瞄刚刚写过软工文档,这时再画图的时候才找到了点感觉,总而言之学习要在原理的基础上多多去实践。

         UML是一种支持模型化和软件开发图形化语言,说到图我们都知道从数学的角度来看,再复杂的图都是由结点和线这二个基本的元素构成的。其中关系是就好比组成一个图的线。

        A.UML中四种关系:

         (一)关联

          有二种关联分别是聚合和组合,在学习这块儿的时候刚开始分不清它二个后来看到一个很形象的例子来区别它们:一群大雁组成雁群,雁群和大雁就是聚合关系。而一只大雁的一个组成部分是雁翅,大雁和雁翅就是组合关系。另外可以看出组合相对于聚合来说一种强关联,组合中的二个对象是不能独立存在的,而聚合中的二个对象生命周期不同二者可以独立存在。

        (二)依赖

          依赖关系式类与类之间的连接,表示一个类依赖于另一个类的定义。其中一个类元素是独立的,另一个类元素不是独立的,它依赖与独立的那个类。如果独立的类改变,将影响依赖与它的那个类。依赖是相比于关联来说对象之间的关系较弱。

        (三)泛化

         泛化是一种继承关系,子类在继承父类的基础上还增加自己的新功能。一个生活中很常见的例子:儿子继承财产问题,假设儿子原有自己的财产2000元,父亲的财产10000元,当儿子继承父亲财产后,儿子现有的财产=继承父亲财产+自己原有财产即12000元。继承是类与类或者接口与接口之间最常见的关系之一。

        (四)实现

          实现关系指的是一个class类实现interface接口(可以是多个)的功能;实现是类与接口之间最常见的关系

        四种关系表示方法:

              四种关系九种图看UML_第1张图片

          B.UML九种图:

             (一)用例图   

              谁使用该系统以及使用该系统可以做什么。主要是在需求分析阶段描述需求,其次还用于系统测试阶段测试系统功能。 

             (二)活动图  

               它能够演示出系统中哪些地方存在功能,以及这些功能和系统中其他组件的功能。

             (三)状态图   

               它是描述系统静态,同时也可以看出哪些事件会改变系统的状态。

             (四)顺序图  

                展示对象之间是如何交互的,必须有一个消息相应的有一个回馈,达到交互的效果。

             (五)类图,  

               将系统中的具有相同特点的事物进行抽象,它应用于分析阶段描述静态结构,在实现阶段用某个面向对象来实现类 ,以及在单元测试时使用。从而可以让开发人员对系统有一个全面的认识。

             (六)对象图 

        它和类图极为相似,我的理解是它是类图的实例,它可以显示类的多个对象的实例描述的不是类之间的关系而是对象之间的关系。

             (七)协作图  

                它和序列图极为相似,强调时间先后顺序用序列图,强调上下级关系用协作图,另外协作图描述建模对象或者角色,以及它们彼此的通信方式。

             (八)组件图:

                软件组织以及相互之间的关系。在集成与交付阶段,集成测试阶段用到该图。

             (九)部署图:

                我的感觉是它是物理层次如何连接的,比如:机房机器如何部署等。主要应用于集成与交付阶段。

 

       这是第一次与这些图相逢,有些地方理解还不到位,不过相信在以后还会多次相遇,正所谓一回生二回熟嘛!相信下次遇到他们会亲切许多。其实学习就应该反复,第一次肯定不能完全将它完全理解,就和了解一个人一样,第一次不可能完全了解这个人,需要多次去接触才能逐渐了解 。                

你可能感兴趣的:(●,架构之路,#,【UML】)