zoukankan      html  css  js  c++  java
  • UML建模

    1、开发工具

     starUML

    2、UML的定义

    UML的组成,由视图、图、模型元素和通用机制等几个部分组成。

    UML的建模机制,静态建模和动态建模,静态包括用例图、类图、对象图、包、组件图和配置图,动态建模包括消息、状态图、时序图、协作图、活动图。

    3、UML的中的关系

    关联关系

    光联关系是一种结构化的关系,指一种对象和另一种对象有联系。给定关联的两个类,可以从其中一个类的对象访问到另一个类的相关对象。用一条实线表示。

    比如,乘车人和车票之间就是一种关联关系;学生和学校就是一种关联关系;

    关联关系默认不强调方向,表示对象间相互知道;如果特别强调方向,如下图,表示A知道B,但 B不知道A;

    聚合关系

    聚合关系用一条带空心菱形箭头的直线表示,如下图表示A聚合到B上,或者说B由A组成;

    聚合关系用于表示实体对象之间的关系,表示整体由部分构成的语义;例如一个部门由多个员工组成;与组合关系不同的是,整体和部分不是强依赖的,即使整体不存在了,部门仍然存在;例如, 部门撤销了,人员不会消失,他们依然存在;

    组合关系

    组合关系是在聚合关系之上的更紧密的耦合关系,它同样是描述元素之间部分与整体的关系。组合关系用一条带实心菱形箭头直线表示。但组合关系是一种强依赖的特殊聚合关系,如果整体不存在了,则部分也不存在了;例如, 公司不存在了,部门也将不存在了;

    依赖关系

    依赖关系是用一套带箭头的虚线表示的;如下图表示手机依赖于充电器;他描述一个对象在运行期间会用到另一个对象的关系;

    泛化关系 

     类的继承结构表现在UML中为:泛化(generalize)与实现(realize):

    eg:自行车是车、猫是动物

    泛化关系用一条带空心箭头的直接表示;如下图表示(A继承自B); 

    注:最终代码中,泛化关系表现为继承非抽象类;

    实现关系

    实现关系用一条带空心箭头的虚线表示;

    eg:”车”为一个抽象概念,在现实中并无法直接用来定义对象;只有指明具体的子类(汽车还是自行车),才 可以用来定义对象,最终代码中,实现关系表现为继承抽象类;

    4、UML视图

    用例图

    用列是对一个系统或一个应用的一种单一的使用方式所做的描述,是关于单个活动者在与系统对话中所执行的处理行为的陈述序列。

    参与者与用例之间的关系,关联关系、泛化关系、包含关系(include)、扩展关系(Extend)。

    实例——图书馆管理

                      

    类图 

    类图是描述类、接口、协作以及它们之间关系的图,用来显示系统中各个类的静态结构。类图包含7个元素:类、接口、协作、依赖关系、泛化关系、实现关系以及关联关系。 

     

      

    对象图

    对象图表示在某一时刻一组对象以及它们之间关系图。对象图可以被看作是类图在系统某一时刻的实例。

    如下图c是类Company的对象,这个对象与d1,d2,d3连接,d1,d2,d3,d4都是类Department的对象,它们具有不同属性值,即有不同名字,d1和d4连接,d4是d1的一个实例。

     

    包图

    包图由包和包之间的关系构成,它是维护和控制系统总体结构的重要建模工具。

     

    【Title】: 标题 类;【 Item】: 书目 类;【 Reservation】: 预约 类;【 Borrower】: 借阅 者 类;【 Loan】: 借阅 记录 类;

    时序图

    时序图描述对象之间传递消息的时间顺序,它用来表示用例中的行为顺序,是强调消息时间顺序的交互图。时序图描述类系统中类和类之间的交互,它将这些交互建模成消息交换。时序图包括了4个元素,分别是对象( Object)、 生命线(Lifeline)、 激活( Activation) 和 消息( Message)。借用了一下SDWebImage中的时序图:

    协作图

    协作图是动态图的另一种表现形式,它强调参加交互的各对象结构的信息。

    转载:http://design-patterns.readthedocs.io/zh_CN/latest/read_uml.html

    吴建; 郑潮; 汪杰. UML基础与Rose建模案例(第3版) (Kindle 位置 1958-1959). 人民邮电出版社. Kindle 版本.

     

      

  • 相关阅读:
    Javascript DMO 编程艺术
    PHPExcel
    MYSQL
    AJAX全接触
    正则表达式
    常用知识
    PHP 常用函数
    thinkphp5 公共函数的使用与调用
    thinkphp 使用phpExcel 导入和导出
    php 判断是pc端还是移动端
  • 原文地址:https://www.cnblogs.com/baidaye/p/8746688.html
Copyright © 2011-2022 走看看