StarUML之七、StarUML的Class Diagram(类图)示例
UML 类图中的概念
类图关系:泛化(继承)、实现、聚合、组合、关联、依赖
类图的详解可在网上查询(推荐https://zhuanlan.zhihu.com/p/24576502)
它描述了在一个系统中的对象和他们的关系,能够让我们在正确编写代码以前对系统有一个全面的认识。
一个单独的类图描述系统的一个具体方面,收集类图表示整个系统。基本上,类图表示系统的静态视图。
1:新建项目,或者根据模板创建(刚开始可以New一个新项目),
2:在右侧ModelExplorer中顶级节点或者model节点,右键Add Diagram选择添加Class Diagram
3:在左侧的WorkingDiagrams点击激活需要建模的画布(一个项目中一般会有多个Diagram,需要确定是那个模型在进行设计)
4:在Toolbox中选择Class,在绘图区双击或者拖拽绘制视图元素
5:如下图绘制了一个Class的视图元素,增加了一个类型为string 属性,方法1有一个string参数,方法2有一个string 参数同时需要返回一个string结果.

现在我们要实现一个类图设计,需求如下
1:接口-车; 2:实现类-汽车、自行车; 3:轮胎、发动机类组成汽车; 4:BMW是汽车的一种;5:学生需要骑自行车; 6:每个学生都有身份证; 7:每个学生都有班级;
根据需求设计一个类图。
新建空白项目,增加Class Diagram,
接口车--------拖拽一个Interface为视图元素,name属性为车,视图元素车添加属性方法,和说明

实现类汽车、自行车---同上操作拖拽两个视图元素Class,增加连接线Interface,指向车的接口,表示接口的实现;
视图元素线的样式在线属性中可以调整

实现类轮胎、发动机---同上操作拖拽两个视图元素Class,增加连接线composition,组合关系线可以设置两端关系

实现类BMW---同上操作拖拽视图元素Class,增加连接线Generalization

其它需求的实现操作基本一致,仅连接线表示差异,下图是实现模型后的整体图

技巧关联的重数:
1: 0..*或*---在视图元素的关系中连接线表示0到多个;
2: 0..1---在视图元素的关系中连接线表示0到1个;
3: 1----在视图元素的关系中连接线表示1个;
StarUML之七、StarUML的Class Diagram(类图)示例的更多相关文章
- 类图示例-订单系统 / Class Diagram - Order System
类图示例-订单系统 / Class Diagram - Order System 什么是类图? 类图通过显示它的类和它们之间的关系来概述系统.类图是静态的 - 它们显示交互的内容,但不显示交互时会发生 ...
- UML类图示例
- 北风设计模式课程---20、UML类图介绍
北风设计模式课程---20.UML类图介绍 一.总结 一句话总结: 不仅要通过视频学,还要看别的博客里面的介绍,搜讲解,搜作用,搜实例 设计模式都是对生活的抽象,比如用户获得装备,我可以先装备工厂先生 ...
- UML精粹3 - 类图,序列图,CRC
类图Class diagram 类图描述系统中的对象类型,以及它们之间的各种静态关系.类图也展示类的性质和操作,以及应用于对象连接方式的约束.UML中的特性feature,涵盖了性质property和 ...
- 练习UML类图中的类的表示
第一部分:UML类图(class diagram) 类图用来展现一组类.类的特性以及其类相互之间的关系,一个类图由一组类以及它们之间的关系构成,类图用来对系统的领域概念以及静态结构进行建模. 在软件模 ...
- 类图uml
画类图或时序的软件类图astah-community-6_9_0-b4c6e9-jre-setup 先写总体架构再写流程图 即先写类图再流程图 b ^ | a a继承b 工具类是us ...
- 转载:UML学习(二)-----类图(silent)
原文:http://www.cnblogs.com/huiy/p/8552607.html 1.什么是类图 类图(Class diagram)主要用于描述系统的结构化设计.类图也是最常用的UML图,用 ...
- 如何用Rational rose创建类图
UML中各种图形概要: 图名 对照 说明 用例图 use case diagram 用例图表明系统做什么,与谁交互.用例是系统提供的功能,参与者是系统与谁交互,参与者可以是人.系统或其他实体.一个系统 ...
- [.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图
[.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图 1.UML简介 Unified Modeling Language (UML)又称统 ...
随机推荐
- es7中数组如何判断元素是否存在
const arr = [1,2,3,4,5,6] console.log(arr.includes(4)) //true
- SpingMvc复杂参数传收总结
上一篇文章[javaWeb传收参数方式总结]总结了简单传收参数,这一篇讲如何传收复杂参数,比如Long[] .User(bean里面包含List).User[].List.List<Map< ...
- 程序员你为什么这么累【三】:编码习惯之Controller规范
作者:晓风轻本文转载自:https://zhuanlan.zhihu.com/p/28717374 第一篇文章中,我贴了2段代码,第一个是原生态的,第2段是我指定了接口定义规范,使用AOP技术之后最终 ...
- 在动作方法中生成输出URL (Generating Outgoing URLs in Action Methods) |
- BOZJ-2590 优惠券
BOZJ-2590 优惠券 题目: 约翰需要买更多的奶牛!交易市场上有n头奶牛等待出售,第ii头奶牛的原价是\(p_i\)元,使用优惠券之后,折扣价为\(c_i\)元.约翰有m元钱和k张优惠券.请问约 ...
- Java 添加、读取、删除Excel形状
本文介绍通过java程序在excel中操作形状(图形)的方法,包括: 1. 添加形状(如设置形状类型/位置/大小.形状颜色填充(单色/渐变色/纹理/图片填充).形状显示或隐藏.形状倾斜角度.添加文本到 ...
- redis缓存数据库及Python操作redis
缓存数据库介绍 NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库,随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站, 特 ...
- STM8上电默认电平不对的解决
首先,手册上说的是对的,STM8/32上电后所有未被初始化的引脚电平全部是浮空的.但是我的程序却出现了一个奇怪的现象 void main(void){ init();//这里初始化时钟,IO ... ...
- Realm及相关对象(四)
Shiro Realm 1.UserRealm 父类 AuthorizingRealm 将获取 Subject 相关信息分成两步:获取身份验证信息(doGetAuthenticationInfo)及授 ...
- Oracle监听器
Oracle 监听器 Listener 是一个重要的数据库服务器组件,在整个 Oracle 体系结构中,扮演着重要的作用.它负责管理 Oracle 数据库和客户端之间的通讯,它在一个特定的网卡端口(默 ...