(原创)UML要点总结

今天我们总结要点:

我们就从这张图慢慢讲。

一。类图部分

基础

  类图→长方形表示。类名在最上栏,下面是数据,第三栏是方法。其存在两种关系:关联和泛化

  属性

    全形:  可见性  名:类型     重数=默认{特性串} 例子: -名:String[]="Untlitled"{readOnly}(+ - 表示公                     用和私用)

  关联:是两个类之间的一条实线,方向从源类到目标类。一般来说,小事用属性,较大的类用关联

    特殊的双向关联:例如人和车的关系。

  操作:是类知道要去施行的动作。UML全集操作语法:

       可见性 名(参数表):回送类型{特性串}例子: balanceOn (date:Date):Money(关于财务的操作)

     操作和方法的区别:操作是对对象提出的事。而方法却是过程体。

  泛化:一个通用的类,几个子类继承通用类。

  注文与注释:可以用一条虚线将它与其注释的成分相链接。

  依赖:如果改动一方,另一方也有改动。这两方就存在依赖。通则是使依赖减到极少。依赖关系越多改动的系统越复杂。

  约束规则:就像如此医{}隔开,例子:{不许乱伦:夫妇一定不能是同胞兄弟}

类图基本讲完,但是注意,你可能全神贯注于结构而忽略行为,这是不对的。

下面补充类图的高级概念

  基词:通常为两个双重尖括号之间的正文。可缩写,例子《I》表示《interface》 UML接口是一个只有公用操作,不具方法体的类。

  职责:在类中自己的隔间里给出注释行。

  静态操作与静态属性:把施于类而不是给实例的操作。静态特征有带下划线,例子:

    

  

  聚合 : 关联线 靠更大的整体一旁有个 ◇ 表示 (表明一个对象是一个更大整体的一部分,但是呈现 一 对 多的关系)

  组合: 关联线 所属于整体一旁有个 实心◇ 表示  (表明一个对象属于一个更大整体,但是呈现 一 对 一的关系)

  抽象类与接口

    抽象类是不能直接被初启的类,抽象操作是不具实现的操作。纯粹的说明,因而客户可定绑于抽象类。用斜线,例子:  利用标号 :{abstract}

  接口亦是一个不具实现的抽象类,用前面说的基词《interface》标记

  

  任何类都是一个接口和一个实现的结合体。

  

  {readOnly}只读  {frozen}冻结

  

  指引对象:例如客户  值对象: 例如日期

  

  受限关联:是关联数组,映像等不同称呼,就相当于关联 用了一个限定符,例如订单与订单行之间。

  

  多重分类与动态分类:分类指的是对象及其类型之间的关系。

  

  

  而动态分类则允许对象在子类型以内改动类。因此,单一的静态类应该是你的默认。

  关联类:使你能对关联添加属性,操作以及其他特征。其实把管理类实现成犹如它在那里是一个全类,但要提供一些方法以便获得尤其关联类连接的各个类的信息。

  模板类在这里就不多说了,字面意思很明确。

  

 

二。顺序图

  交互图:表各组对象如何依某种行为进行协作的模型。

  优点:对图示无须解释。

  交互方式:集中式控制和分布式控制

  创建:画一个消息框箭头,通常来标个“new”

  删除:用大写 × 指出

  同步调用:实心箭头      异步调用:实线箭头

  对象图

  意思明确,就是一个时间点上系统各个对象的快照。

  包图:包图很简单明了在这也不详细说了。

  活动图:基本上Jbpm搞定了。

 

  对于UML:今天抽点时间阅读了下,理出这么多给大家参考。我觉得做一个项目,一个好的需求分析应该占百分之80的时间,那样不会刻意的去在demoing中重蹈覆辙。愿大家在UML总结中找到快乐

 

转载于:https://www.cnblogs.com/Alandre/p/3262393.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/400285.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android - Okhttp拦截器

Okhttp-wiki 之 Interceptors 拦截器转载于:https://www.cnblogs.com/qlky/p/7298470.html

PHP 函数 - 返回值

<?php function sum($x,$y) {$z$x$y;return $z; }echo "5 10 " . sum(5,10) . "<br>"; echo "7 13 " . sum(7,13) . "<br>"; echo "2 4 " . sum(2,4); ?> http://www.w3school.com.cn/php/php_f…

Docker解析及轻量级PaaS平台演练(一)--Docker简介与安装

版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 https://blog.csdn.net/qq1010885678/article/details/46290985 Container技术&#xff1a; 传统的虚拟化技术&#xff1a; 通过对硬件层模拟&#xff0c;从而实现了能够在一套硬件上面运行多个操作…

杭电4639

居然在最后的输出形式那里卡了很久&#xff0c;忘记除10007&#xff0c;忘记输出Case 希望下次不要犯这种错误 #include "iostream" #include "string.h" using namespace std; int f[10100][100],maxb0; char list[110][10100]; int max(int a,int b){ret…

【RK3399Pro学习笔记】十、ROS服务端Server的编程实现

目录如何实现一个服务器C编写程序配置CMakeLists.txt编译并运行python创建并编写脚本运行平台&#xff1a;华硕 Thinker Edge R 瑞芯微 RK3399Pro 固件版本&#xff1a;Tinker_Edge_R-Debian-Stretch-V1.0.4-20200615 记录自【古月居】古月ROS入门21讲 | 一学就会的ROS机器人入…

通过WordPress内置函数批量添加文章

http://www.php.cn/blog/detail/2482.html 最近业务需要在网站上批量添加大量的文章。一篇一篇地手动添加绝对会搞死我&#xff0c;所以&#xff0c;我就开始寻找批量添加的方法。其实&#xff0c;文章的相关内容都已经在本地的数据库里了。我最先想到的方法是通过sql语句直接…

关于Unity3D中函数说明

Camera.SetReplacementShader(Shader shader , String replacementTag); 说明&#xff1a; 根据replacementTag设置以后的相机渲染用哪个shader Camera.RenderWithShader(Shader shader , String replacementTag); 说明: 根据replacementTag设置立即使用shader渲染&#xff0…

团队作业-第二周-测试计划

第1章引言 1.1目的 本测试计划文档作为指导此测试项目循序渐进的基础&#xff0c;帮助我们安排合适的资源和进度&#xff0c;避免可能的风险。本文档有助于实现以下目标&#xff1a; 1) 确定现有项目的信息和应测试的软件结构。 2) 列出推荐的测试需求 3) 推荐可采用的测试策略…

【RK3399Pro学习笔记】十一、ROS服务数据的定义与使用

目录自定义服务数据定义srv文件在package.xml中添加功能包依赖在CMakeLists.txt添加编译选项编译生成语言相关文件使用C编写程序person_server.cppperson_client.cpp配置CMakeLists.txt编译并运行python编写程序person_server.pyperson_client.py运行平台&#xff1a;华硕 Thin…

iBATIS存储过程

使用iBATIS配置来调用存储过程。为了理解这一章&#xff0c;首先需要了解我们是如何在MySQL中创建一个存储过程。 在继续对本章学习之前&#xff0c;可以通过MySQL存储过程。 我们已经在MySQL下有EMPLOYEE表&#xff1a; 123456CREATE TABLE EMPLOYEE (id INT NOT NULL auto_i…

WordPress 如何通过ID获取文章标题、内容等信息

原文链接&#xff1a;http://www.isyeo.com/wordpress/wordpress-getpost.html# 在非single.php页面中我们有时候想要调用当前文章的标题、内容等信息&#xff0c;而Wordpress在生成文章页的时候在各个页面中唯一不变的只有当前的文章ID&#xff0c;那么如何这个ID获取到当前文…

Windows server 2012 之路由功能

今天给大家介绍的是Windows服务器的软路由功能&#xff0c;那么什么事软路由呢&#xff1f;软路由&#xff1a;就是将Windows 系统配置成一个路由器下面我们通过一个示例来给大家介绍软路由先说一下实验环境&#xff0c;三台服务器&#xff0c;server02&#xff08;ip地址为192…

【51单片机快速入门指南】8:看门狗定时器(WDT)

目录硬知识测试程序main.c现象普中51-单核-A2 STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 硬知识 摘自《STC89C52系列单片机器件手册》 适用型号: STC89C51,STC89C52,STC89C53,STC89C14,STC89LE51,STC89LE52,STC89LE53,STC89LE14,STC89C54,…

java 的 == 和equals()区别

先看一个列子&#xff1a; public class Equivalence {public static void main(String[] args) {Integer n1 new Integer(47);Integer n2 new Integer(47);System.out.println(n1 n2);System.out.println(n1 ! n2);} } 通常我们都以为结果是 第一个true第二个false&#xf…

wordpress 文章页面 (single.php)

<?php $id get_the_ID();// 文章当前的 id $title get_post($id)->post_title; $my_data get_the_time(Y-m-d);$my_content get_post($id)->post_content;?>

[转]带花树,Edmonds's matching algorithm,一般图最大匹配

看了两篇博客&#xff0c;觉得写得不错&#xff0c;便收藏之。。 首先是第一篇&#xff0c;转自某Final牛 带花树……其实这个算法很容易理解&#xff0c;但是实现起来非常奇葩&#xff08;至少对我而言&#xff09;。 除了wiki和amber的程序我找到的资料看着都不大靠谱 比如昨…

linux下cat命令详解

简略版&#xff1a; cat主要有三大功能&#xff1a;1.一次显示整个文件。$ cat filename2.从键盘创建一个文件。$ cat > filename 只能创建新文件,不能编辑已有文件.3.将几个文件合并为一个文件&#xff1a; $cat file1 file2 > file参数&#xff1a;-n 或 --number 由 …

firstVue

这是生成的第一个VUE的列子&#xff0c;目录如上所示。config目录里主要表示配置目录&#xff0c;包括端口号等&#xff0c;其中配置文件中dev.env.js&#xff0c;出现了webpack-merge模块&#xff0c;可以把分开配置的config合并&#xff0c;分开生产环境和调试环境 node_modu…

【51单片机快速入门指南】9:省电模式(低功耗)

目录硬知识实验正常工作掉电模式空闲模式普中51-单核-A2 STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 硬知识 摘自《STC89C52系列单片机器件手册》 仅支持掉电模式&#xff0c;不支持空闲模式 STC89C52系列单片机可以运行2种省…

怎样为wordpress主题的文章列表添加无插件分页?

测试时间 2019.04.05 测试版本: wordpress 5.1.1 中文版 测试步骤&#xff1a;共 4 1. 在主题的 functions.php 中&#xff0c;添加分页函数&#xff0c;代码如下 /** * 数字分页函数 * 因为wordpress默认仅仅提供简单分页 * 所以要实现数字分页&#xff0c;需要自定义函数…