软件设计师考试备考之UML
UML
统一建模语言是面向对象软件的标准化建模语言。
事务
结构事务
UML模型中的名称,它们通常是模型的静态部分,描述概念或物理元素
图形表示:

行为事务
UML模型中的动态部分。它们是模型中的动词,描述了跨越时间和空间的行为
图形表示:

分组事务
UML模型的组织部分,是一些模型分解成的“盒子”。最主要的分组事务是包
图形表示:

注释事务
UML模型的解释部分。这些注释事务用阿里描述、说明和标注模型的任何元素。
图形表示:

关系
依赖
两个事物间的语义关系,其中一个事物(独立事物)发生变化会影响另一个事物(依赖事物)的语义
图形表示:

关联
一种结构关系,它描述了一组链,链是对象之间的链接。
图形表示:

聚集
一种特殊类型的关联,它描述了整体和部分简的结构关系
图形表示:

泛化
泛化是一种特殊/一般关系,特殊元素(子元素)的对象可替代一般元素(父元素)的对象。用这种方法,子元素共享了父元素的结构和行为
图形表示:

补充:
泛化是继承的反关系,即:子类继承父类,父类是之类的泛化!
实现
类元之间的语义关系,其中一个类元指定了由另一个类元保证执行的契约。
图形表示:

图
类图
展现了一组对象、接口、协作和它们之间的关系
例图:

对象图
展现了某一时刻一组对象以及它们之间的关系,描述了在类图中所建立的事物的实例的静态快照
例图:

用例图
展现了一组用例、参与者以及它们之间的关系。
例图:

交互图
用户对系统的动态方面进行建模。一张交互图表现的是一个交互,由一组对象和它们之间的关系组成,包含它们之间可能传递的消息。表现为序列图、通信图、交互概览图和计时图,每种针对不同的目的,能适用于不同情况。
序列图
是场景的图形化表示,描述以时间顺序组织的对象之间的交互活动。
例图:

通信图
强调收发消息的对象的结构组织,也被称作协作图,强调参加交互的对象的组织。
例图:

交互概览图
活动图的变体,描述业务过程中的控制流概览,软件过程中的详细逻辑概览,以及将多个图进行链接,抽象掉了消息和生命线。
例图:

计时图
是一种新增的、特别适合实时和嵌入式系统建模的交互图,关注沿着线性时间轴、生命线内部的和生命线之间的条件改变。它描述对象状态随着时间改变的情况,很像示波器,适合分析周期和非周期性任务。
例图:

状态图
展现了一个状态机,它有状态、转换、时间和活动组成。状态图关注系统的动态视图,对于接口、类和协作的行为建模尤为重要,强调对象行为的事件顺序。
例图:

活动图
一种特殊的状态图,它展现了在系统内从一个活动到另一个活动的流程。它专注于系统的动态视图,它对于系统的功能建模特别重要,并强调对象间的控制流程。
例图:

构件(组件)图
展现了一组构件之间的组织和依赖。它专注于系统的静态实现视图。它与类图相关,通常把构件映射到一个或多个类、接口或协作。

组合结构图
用于描述一个分类器(如类、构件或用例)的内部结构,分类器与系统中其他组件部分之间的交互端口,展现一组相互协作的实例如何完成特定的任务,描述设计、架构模式或策略。
例图:
内部结构组合结构图:

协作使用组合结构图:

部署图
用来对面向对象系统的物理方面建模的方法。展现了运行时处理结点以及其中构建(制品)的配置。
例图:

包图
用于把模型本身组织成层次结构的通用机制,不能执行,展现由模型本身分解而成的组织单元以及其间的依赖关系。
例图:

软件设计师考试备考之UML的更多相关文章
- 软件设计师考试计算机系统知识——CPU
第一章: 计算机系统知识 1.1.1计算机系统硬件的基本组成 运算器.控制器.存储器.输入设备.输出设备 1.1.2 中央处理器 ①CPU的功能: a.程序控制:CPU通过执行指令来控制程序执行的顺序 ...
- 职位-IT:软件设计师
ylbtech-职位-IT:软件设计师 软件设计师是指能根据软件开发项目管理和软件工程的要求,按照系统总体设计规格说明书进行软件设计,编写程序设计规格说明书等相应的文档的实用性人才.还能够组织和指导程 ...
- 软件设计师.NET认证考试测试卷(试题及答案)
软件设计师.NET认证考试测试卷 注意事项:用蓝.黑色钢笔答题.保持卷面整洁. 得分 阅卷人 一.单项选择(40分,每小题1分) 1.以下标识符中不全是关键字的是(D ) A.case for in ...
- 2、软件设计师要阅读的书籍 - IT软件人员书籍系列文章
软件设计师在项目组中的地位比软件工程师相对要高一些.但是他们所要阅读的书籍差别还是比较大的.同样的,软件设计师也要阅读比较多的书籍,以能够完成项目的任务为目的,同时还要提高自身在项目组中的竞争地位,而 ...
- 软件设计师真题试题&&答案
软件设计师2013上半年上午试题及答案详解 下午试题 2013下半年上午答案 试题 下午答案 试题 2014上半年上午答案 2015上半年上午答案 2016上半年上午试题
- 《软件设计师》——UML
包含和扩展的区别,在于是否“必须”,如果是必须则是包含,如果不是必须则是扩展. 粗横线表示产生多个并行的任务.
- 软件设计师【UML】
一.概述 二.核心概念 1.用例图 1.包含关系 当可以从两个或两个以上的用例中提取公共行为时,应该使用包含关系来表示他们.其中这个提取出来的公共用例称为抽象用例,而把原始用例称为基本用例或基础用例. ...
- 软件开发学习笔记 <一> UML
UML http://www.uml-diagrams.org http://www.umlchina.com/index.htm 统一建模语言(UML)始于1997年的一个OMG(对象管理组织)标准 ...
- 编程学习笔记(第三篇)面向对象技术高级课程:绪论-软件开发方法的演化与最新趋势(3)软件开发的现状、UML扩展
一.软件开发的现状 软件领域正在发生一个巨变,特别是近几年来,软件领域正在发生翻天覆地的变化. 这一变化主要以这个云 + 端大数据, 这些是随着目前最先进的一些技术的产生而产生的. 随着这些新的技术以 ...
- 《软件建模与分析》——UML基本概念
UML-基本概念 UML本质上是一种语言,语言的学习离不开基本的单词(元素)和语法(视图.模型)的学习,今天我们就从它们开始. 元素 类图中的关系 控制权限 继承 实现 依赖:一个类A使用到了另一个类 ...
随机推荐
- 如何安装Visual Studio Community2022
如何安装Visual Studio Community2022 Visual Studio是一款强大的IDE(集成开发环境),对于初学者可以选择使用社区版,下面是Visual Studio Commu ...
- 解决manjaro无法连接github问题
修改/etc/hosts文件 1.查看连接ip地址: https://ping.chinaz.com 2.在hosts文件下增加: vim /etc/hosts 需要管理员权限 140.82.113. ...
- python安装dlib库报错
问题描述 我是debain 系的linux系统没遇到这个问题,在centos系统遇到的 Collecting dlib Downloading http://mirrors.cloud.aliyunc ...
- Java手写一个批量获取数据工具类
1. 背景 偶尔会在公司的项目里看到这样的代码 List<Info> infoList = new ArrayList<Info>(); if (infoidList.size ...
- 【数据结构与算法】希尔排序 python和c++实现
算法思路 每一次:固定间隔把数据分组,每一组进行排序 每次比上次选取更小的间隔分组,再每组排序,直到间隔为1 代码 c++:(越看越不明白了,后看) int gap = length;//length ...
- 高性能 Jsonpath 框架,Snack3 3.2.50 发布
Snack3,一个高性能的 JsonPath 框架 借鉴了 Javascript 所有变量由 var 申明,及 Xml dom 一切都是 Node 的设计.其下一切数据都以ONode表示,ONode也 ...
- python -m pip install --upgrade pip报No module named pip解决方法
解决方法: 1. python -m ensurepip 2. python -m pip install --upgrade pip 注意:添加pip环境变量 在python安装目录下搜索pip3或 ...
- [攻防世界][江苏工匠杯]unseping
打开靶机对应的url 上来就是代码审计 <?php highlight_file(__FILE__); class ease{ private $method; private $args; f ...
- Go语言使用场景 | go语言与其它开源语言比较 | Go WEB框架选型
一.Go语言使用场景 1. 关于go语言 2007年,受够了C++煎熬的Google首席软件工程师Rob Pike纠集Robert Griesemer和Ken Thompson两位牛人,决定创造一种新 ...
- 手把手教你玩转 Excel 数据透视表
1. 什么是数据透视表 数据透视表是一种可以快速汇总.分析大量数据表格的交互式分析工具.使用数据透视表可以按照数据表格的不同字段从多个角度进行透视,并建立交叉表格,用以查看数据表格不同层面的汇总信息 ...