架构师UML建模之道

01. UML软件

  • StarUML Version
    StarUML-v2.8.1.msi
  • Crack
    // 修改的文件为:
    // $StarUML_HOME/www/licence/node/LicenseManagerDomain.js
    
    function validate(PK, name, product, licenseKey) {
        var pk, decrypted;
        // 修改内容,直接返回json
        return { 
                name: "username",            // 用户名
                product: "StarUML",          // 产品,固定为StarUML
                licenseType: "vip",          // license类型,固定为vip
                quantity: "www.example.com", // quantity
                licenseKey: "licenseKey"     // licenseKey
        };
    }
    
  • Enter License
    Help -> Enter License
  • View License
    Help -> Abort StarUML

02. UML图分类

  • 分类

    Class Diagram(类图)
    Package Diagram(包图)
    Object Diagram(对象图)
    Composite Structure Diagram(复合组件图)
    Component Diagram(组件图)
    Deployment Diagram(部署图)
    Use Case Diagram(用例图)
    Sequence Diagram(时序图)
    Communication Diagram(通信图)
    Statechart Diagram(状态机图)
    Activity Diagram(活动图)
    Profile Diagram(配置文件图)
    ER Diagram(E-R图)
    Flowchart Diagram(流程图)

  • StarUML分类导航
    在这里插入图片描述

03. 类图

3.1. 分类

Generalization(泛化)
Realization(实现) && Interface Realization(接口实现)
Association(关联)
Aggregation(聚合)
Composition(组合)
Dependency(依赖)

3.2. 关系

  • Generalization(泛化)
    关系:继承关系,类、接口的继承关系。
    箭头:带三角箭头的实线,箭头指向父类或父接口,如:
    在这里插入图片描述
  • Realization(实现) && Interface Realization(接口实现)
    描述:Interface Realization是Realization的一种省略表示方法。
    关系:类与接口之间的实现关系。
    箭头:带三角箭头的虚线, 箭头指向接口; 或者实线。
    在这里插入图片描述
  • Association(关联)
    关系:关联关系,即类成员变量为关联类对象,这种使用关系是具有偶然性的、临时性的、非常弱的。关联可以是双向的,也可以是单向的;双向的可以有2个箭头或者没有箭头,单向的只有一个箭头。
    箭头:带箭头的实心线, 指向被拥有者。
    在这里插入图片描述
  • Aggregation(聚合)
    关系:整体与部分的关系, 部分可以离开整体单独存在。聚合是一种强的关联关系,语法上无法区分,必须考察具体的逻辑关系。如汽车与轮胎的关系,轮胎可以脱离汽车而单独存在。
    箭头:带空心的菱形实心线, 菱形指向整体。
    在这里插入图片描述
  • Composition(组合)
    关系:整体与部分的关系,部分不能离开整体而存在。组合关系,比聚合还要强的关联关系。即部分对象的生命周期依赖于整体对象而存在。
    箭头:带实心菱形的实线,菱形指向整体。
    在这里插入图片描述
  • Dependency(依赖)
    关系:类之间的连接,表示一个类依赖于另一个类的定义,其中一个类的变化将影响另外一个类。
    箭头:带箭头的虚线, 指向被使用者。
    在这里插入图片描述

04. Package Diagram(包图)

4.1. Definition(定义)

维护和控制中型-大型项目中模型元素之间的布置和组织关系,以及子系统或模块之间的结构和相关性。

4.2. Funtion(作用)

包图用于表现包和其所包含元素的组织关系。当用来代表类元素时,包图提供了命名空间的可视化。包图最常用的用途是用来组织用例图和类图。

4.3. RelationShip(关系)

  • Dependency(依赖)
    关系:一个包引入另一个包的元素。
    箭头:带箭头的虚线,指向被依赖的包。
    在这里插入图片描述
  • Containment(遏制)
    在这里插入图片描述

05. Use Case Diagram(用例图)

5.1. Description(描述)

主要用来描述用户, 需求, 系统功能单元之间的关系。

5.2. Structure(构件)

在这里插入图片描述

  • Package(包)
  • Use Case Subject(用例主题)
    描述:表示一个模块。
  • Use Case(用例)
    描述:外部可见的系统功能, 对系统提供的服务进行描述。
  • Actor(参与者)
    描述:与系统交互的人或物。
    图标:
    在这里插入图片描述
  • Frame
    类似于"Sequence Diagram的Frame "

5.3. Relationship(关系)

在这里插入图片描述

  • Association(关联)
    关系:表示参与者与用例之间的通信, 任何一方均可发送或接收消息。
    箭头:无箭头实线。
    在这里插入图片描述
  • Directed Association(直接关联)
    关系:表示参与者与用例之间的通信, 单向接收消息。
    箭头:带箭头实线, 箭头指向接收方。
    在这里插入图片描述
  • Generalization(泛化)
    关系:继承关系。父用例一般为抽象用例。
    箭头:带三角箭头的实线, 指向父用例。
    在这里插入图片描述
  • Dependency(依赖)
    关系:表示一个用例依赖于另一个用例,被依赖用例的变化将影响到依赖用例。
    箭头:带箭头的虚线。指向被依赖项。
    在这里插入图片描述
  • Include(包含)
    关系:复杂用例表示的功能分解到多个用例中。
    箭头:带箭头的虚线, 并且有<>注释。指向分解出来的功能用例。
    在这里插入图片描述
  • Extend(拓展)
    描述:指用例功能的延伸,相当于为基础用例提供一个附加功能。
    箭头:带箭头的虚线,并且有<>注释。箭头指向基础用例。
    在这里插入图片描述

06 Sequence Diagram(时序图)

6.1. Description(描述)

描述对象间信息传递的顺序。
用一个二维图描述对象之间的交互关系,纵轴为时间轴; 横轴代表参与交互的对象。
消息用从一个对象到另一个对象生命线的箭头表示,箭头以时间顺序从上到下排序。

6.2. Structure(构件)

6.2.1. Lifeline(对象)

在这里插入图片描述

  • 对象+类
    在这里插入图片描述
  • 类名
    描述:符合对象的命名规范。
    在这里插入图片描述

6.2.2. 对象

描述:小写字母开头。
在这里插入图片描述

6.2.3. 生命线

描述:对象的生命周期。
在这里插入图片描述

6.2.4. 激活

描述:箭头指向对象处于执行状态的时间段。
在这里插入图片描述

6.3. Message(消息)

在这里插入图片描述

  • Message(同步消息)
    区别:实心三角箭头为同步消息。
  • Self Message(自关联消息)
  • Async Message(异步消息)
    区别:只是一个箭头代表异步消息。
  • Reply Message(返回消息)
  • Create Message(创建对象消息)
    箭头:箭头指向被创建者,标注为被创建者生成对象的方法
    在这里插入图片描述
  • Delete Message(删除对象消息)
    在这里插入图片描述
  • Async Signal Message(异步信号消息)
  • Found Message(拾取消息)
    描述:收到来自未知发送者/没有显示在当前图中的发送者的消息。
    表明:来自一个终点元素。
  • Lost Message(迷路消息)
    描述:发送却没有到达指定接收者, 或者到达的接收者不再当前图中。
    表明:去往一个终点元素。

6.4. Composite Fragment(复合片段)

6.4.1. for & while

在这里插入图片描述

6.4.2. mutiple thread

在这里插入图片描述

6.4.3. if…else…

在这里插入图片描述

6.4.4. if

在这里插入图片描述

6.5. State invariant(状态不变)

在这里插入图片描述

6.6. Continuation

在这里插入图片描述

6.7. Frame(框架)

引入另一个顺序图的引用。

  • Sequence Diagram(顺序图)
    在这里插入图片描述
  • Interaction(交互)
    在这里插入图片描述

07. ER Diagram(E-R图)

7.1. Description(描述)

E-R模型,亦者实体-联系模型。
E-R图主要用来描述现实世界的概念模型,表示实体及实体间的关系图,广泛应用于数据库的设计。

7.2. Structure(构件)

在这里插入图片描述

  • Entity(实体) - 客观存在可以相互区分的事物。
  • Entry Set(实体集) - 具有共性的一类实体。
  • Attribute(属性) - 实体具有的特征,称其为实体属性。
  • Relationship(联系) - 实体间的关系。
  • 注意:

    联系不能脱离实体,必须有实体连接,可以是实体的自身联系。
    属性既可以连接实体,也可以连接联系。但一个属性只能有唯一的连接对象。

7.3. Relationship(关系)

  • One to One Relationship
    在这里插入图片描述
  • One to Many Relationship
    在这里插入图片描述
  • Many to Many Relationship
    在这里插入图片描述

08. Flowchart Diagram(流程图)

在这里插入图片描述 在这里插入图片描述

  • Flow
  • Process(处理)
    描述:代表流程图中的一个处理或步骤。
  • Terminator(起始和终止)
    描述:此图标表示流程的开始和结束。
  • Decision(判断)
    描述:对一个条件进行判断抉择。
  • Delay(推迟)
    描述:代表没有活动, 延迟一定的周期。
  • Predefined Process(预定义流程)
    描述:引入其他流程或者子流程, 从而减少流程图内容过多问题。
    在这里插入图片描述
  • Alternate Process(事件)
  • Data
    描述:调用外部数据
  • Document(文档)
  • Muti-Document(多重进程/文档)
  • Preparation(准备)
  • Display(显示内容)
  • Manual Input(手动输入)
  • Manual Operation(手动操作)
  • Card(卡)
  • Punched Tape(纸带)
  • Connector(连接点/页面内引用)
    描述:页面内多个流程图连接引用。
  • Off-Page Connector(离页引用)
  • Or(或)
  • Summing Junction(求和)
  • Collate(校验)
  • Sort(排序)
  • Merge(合并)
  • Extract(提取)
  • Stored Data(存储数据)
    描述:存储数据, 或输出到外部存储。
  • Database(数据库)
  • Direct Access Storage(直接访问存储)
  • Internal Storage(内部存储器)
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值