您的位置:首页 > 其它

初识UML

2015-10-25 08:48 197 查看
    正在看UML视频,从前几集中了解到UML基础知识,总结如下:

    UML(Unified Modeling Language)不是程序设计语言,不是形式化语言,它是可视化的建模语言。UML是支持模块化和软件系统开发的图形化语言,用“图”的形式来表达含义,贯穿于软件开发的各个阶段,用简洁的方式描述需求、功能结构,因此是用户、开发人员和维护人员的沟通桥梁。UML是面向对象提供开发建模的,核心就是抽象、封装、继承、多态。下面文章分面向对象技术和UML结构两部分。

   

 一、面向对象技术

      1.面向对象的基本原则:

         抽象:就是系统中有哪些对象,进行抽象,进而得到类。

         封装:静态信息和动态信息的结合,将类的属性和方法封装到黑盒子里,隐藏实现

         模块性:分成若干个子系统,高内聚低耦合

         层次性:在抽象的过程中,注意分层

      2.面向对象技术的基本概念

         对象:概念广泛,可以是物理实体,可以是抽象的概念实体,也可以是软件实体。

         类:有相同的行为、关系和语义的对象描述,对象是类的实例化。

         接口:描述了一个类或构件的一个服务的操作集。只定义操作规范,具体实现要看连接的模块了。

         多态:接收相同的命令后结果不一样。例如:指挥发出一个动作,不同的乐器会发出不同的声音。

         包:逻辑组织单位。抽象时根据层次性原则,包就是比较高层的抽象,比如,package animal 动物包里可以包含狗,猫之类的具体动物。

        关系:关联、依赖、泛化、实现

                *关联:用直线表示,直线上下端可以标明对象之间的关系

                *依赖:用带箭头的虚线表示。依赖就表示“使用”的关系。箭头指向被使用对象,注意箭头的方向。

                *泛化:用带空心三角的实线表示,就是继承,子元素共享父元素的结构和行为,箭头指向父类

                *实现:用带空心箭头的虚线表示,是一种类与接口的关系,表示类是接口所有特征和行为的实现。箭头指向接口

二、UML结构

      1.基本构造块

          *UML中的事物:结构事物、行为事物、分组事物、注记事物

                 结构事物:描述UML模型的静态部分,描述概念或物理元素。包括:类、接口、协作、用例、主动类、构件、节点

                            * 协作:描述了一组事物间的相互作用的集合。

                            * 用例:代表了一个系统或系统的一部分行为,是一组动作序列的集合。

                            * 主动类:是这样的类,其对象至少拥有一个进程或线程,因此它能启动控制活动。

                            * 构件:系统中物理存在,可替换的部件。

                            * 节点:运行时存在的物理元素。
                 行为事物:UML模型的动态部分,包括交互和状态机

                 分组事物:描述事物组织结构,主要是包(把元素组织成组的机制)

                 注记事物:UML模型的解释部分

            **UML中的关系:关联、依赖、泛化、实现

                        (同上面向对象关系)

                                  


                   (聚合和组合关系:是关联关系的一种。聚合关系是整体与部分的关系,且部分可以离开整体而单独存在。比如,汽车和轮胎是整体和部分的关系,轮胎离开汽车依然可以存在;组合关系也是表示整体与部分的关系,但是部分不能离开整体而单独存在。比如,部门是公司的一部分,没有公司部门也不存在了。)

            ***UML图

                 九种图:类图、对象图、状态图、构建图、部署图、协作图、序列图、活动图、用例图

                 搜到一篇文章介绍UML图清晰完整,上链接《UML的九种图+包图》

      2.UML规则

           *命名为事物、关系、图起名

           *范围给一个名称以特定含义的语境

           *可见性怎样让其他人使用或看见名称

           *完整性事物如何正确、一致的相互联系

           *执行运行或模拟动态模型的含义是什么

    小结:敲了一段代码,功能实现了,特别激动,而后学习了编码规则,才发现以前自己敲的代码太不规范;敲完一个系统,学习了软件工程,才发现系统中漏洞百出;文档写完了学习UML后才发现画图工具Rational rose要比word自带工具好用。 大约学习就是不断地推翻自己,更新自己的过程吧。游戏不更新都没人玩,人的知识不更新就会落后,UML学习中。

      
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: