zoukankan      html  css  js  c++  java
  • uml视频系列(二)——uml的概述

                 在与uml进行了第一次的接触后,就被uml的博学多才给迷住了,uml居然可以做这么多的东西。才思敏捷的uml是设计软件的好帮手。

            你还在为自己的类图不会设计而感到无助吗?你还在为你的对象不好确定而感到苦恼吗?你还在为软件各个对象之间的交互屡不清而睡不着觉吗?你还在为软件的部署而感到上愁吗?——去使用uml吧,帮你快速的搞清楚所有软件设计的困扰,你还在等什么!!

            据说这是有人为uml专门设计的广告词,我看可能性不大——uml的便捷几乎让所有设计人员倾倒,哪里还需要什么广告呢?

            好的,书归正传,我们来说一下uml的概述。

            老规矩,先来张图:

                                          

          概述主要为我们介绍了什么是uml;uml的构成;uml与面向对象的关系以及uml的各种图的应用。

          先来看一下uml是啥:

                                                     

            uml全称unified modeling language 统一建模语言。uml并不是方法,也不是一堆图片,而是一个建模语言。

            它是面向对象的程序设计催生的,他的历史就像是中国的历史上的文化一样,先是诸子百家,百花齐放的时代,那时uml只是其中的一种,再往后就是儒家、法家、墨家等几位大家的出现,uml在这个时期还是booch和omt这两个分开的建模工具。再往后就是罢黜百家,独尊儒术。uml在这个时期正式形成。当真是一个分久必合的过程啊。

            uml有一个作用,就是建模,那么问题就来了:啥是模型呢?为啥要建模?模型又怎么去建立?他需要遵循什么原则呢?

            模型是什么呢?我们都叠过纸飞机,纸飞机就是飞机的模型。那么模型有啥用呢,为什么要去建立模型?模型可以用较少的成本,让我们对事物有个很好的了解。模型的建立遵循抽象、分解、形式化的原则。

            uml有了大概的了解后,咱么就说说当下最火的面向对象。

            

    说面向对象的第一步,就是要明了啥是对象?什么又是面向对象的概念?面向对象的设计涉及什么关系?它有什么特性?如何评测?

            先说啥是对象?简单的说,我们生活中的名词差不多都是对象,比如:鸡、鸭、鱼、鸟等等。面向对象就是把现实生活中的东西用代码表示出来。如何描述呢?我们在描述一个人的时候,一般会这么说:这个人叫啥、有多高、住在哪、有啥特长等。面向对象的设计同样也是如此,只不过我们是描述给计算机听的。因为电脑不能自己去寻找信息,只能接收我们的输入信息,所以我们要说的比较详细一点:

            首先,我们要告诉电脑,存在这样一个种类,我们称之为人类,他们都有名字、有身高、有住址、特长等。电脑就会把我们的输入记录下来。

            然后,我们接着跟电脑说:现在我要说人类里面的一个具体的人了。电脑就会把我们之前告诉他的人类的记录调出来,人类都有名字、身高、住址、特长等属性。然后就会给你个提示:你之前告诉我说人类都有名字、身高、住址、特长。那么你说的这个人的名字、身高、住址、特长分别是啥啊?

            我们就像填空题一样告诉电脑他的名字叫张三、身高一米七三、住在第三大街、特长是睡觉。前面所说的人类就是类,而后面的具体的那个叫做张三的人就是实例化的对象。涉及到面向对象的概念还有很多,比如:消息、封装、继承、多态、聚合等。

              那么它们之间涉及的关系呢?都有啥?

              面向对象中的关系有:依赖、继承、关联、实现。

             面向对象有啥特征吗?有的。他的特征就是:封装、继承和多态。这三个特征的含义如下:

            封装:张三有身高、体重、年龄、配偶、住址、等等属性。平时也用不到所有的,所以就把这些属性都写好后,放起来,大家不必知道这个类都有啥属性,只是在使用的时候可以通过接口去调用。这就是封装。

            继承:我们刚才说的人类,人类都有身高。人类又可以分为男人类和女人类,那么男人类和女人类也都会有身高这个属性。这就是继承。

           多态:张三走在路上,被人打了一下,张三就哭了;李四走在路上,被人打了一下,李四就把打他的人揍哭了。同样都是被人打了一下,张三的回应是哭,李四的回应是把打他的人揍哭。这种在相同的条件下的不同反应就是多态。

           面向对象的发展,催生了uml。uml又是如何构成的呢?

           先来看着张图:

           uml的组成分为:构造块、规则和机制。

           构造块分为事物,关系,和图。

          具体的内容,还要在学习各种图的时候才能详细的了解。

          规则就简单了,就是人定的一些约定。便于统一的开发应用。uml的机制有:1.修饰2.注释3.规格说明4.扩展机制。修饰就是下划线啊、斜体啊等。注释和规格说明都是比较常见的就不在赘述了。扩展机制是允许uml使用人员自定义一些构成造型、标记值和约束。为元素添加新的定义。

           uml的概述可以让我们对uml有一个大概的了解,便于后面的学习。

  • 相关阅读:
    实体ip 虚拟ip 固定ip 动态ip
    mysql数据库性能调优总结积累
    Java项目相关监控与调优
    线程锁与避免线程锁 线程锁检测
    在Eclipse中使用JUnit4进行单元测试(高级篇)
    MySQL性能优化的21条最佳经验【转】
    在Eclipse中使用JUnit4进行单元测试(中级篇)
    在Eclipse中使用JUnit4进行单元测试(初级篇)
    Windbg学习使用
    性能测试积累总结
  • 原文地址:https://www.cnblogs.com/zhangyuhang3/p/6900974.html
Copyright © 2011-2022 走看看