StarUML使用简明教程
最近了解到StarUML比较多,所以写一篇教程供大家参考,不足支持,请见谅。
StarUML(简称SU),是一种创建UML类图,生成类图和其他类型的统一建模语言(UML)图表的工具。StarUML是一个开源项目之一发展快、灵活、可扩展性强(zj).
StarUML官方下载地址: http://staruml.io/download
安装教程:
安装步骤很简单,省略。
注意:付费软件,如需破解网上很多教程,不破解不影响使用
安装之后的主界面简介如图所示:
2.创建工程
在启动star UML时,系统会默认帮我们创建一个工程
如果这个工程不是你想要的工程,你可以点击File–》new from template中修改为你需要的工程类型。如图所示。
3.介绍类与类之间的关系
既然介绍类图,我们首先了解,什么是类?
类图: 类图是面向对象系统建模中最常用和最重要的图,是定义其它图的基础。类图主要是用来显示系统中的类、接口以及它们之间的静态结构和关系的一种静态模型。
类图的3个基本组件:类名、属性、方法。
类的几个主要关系:实现,关联,泛化,聚合,组合,依赖
在StarUML中默认打开的“toolbox”工具中就是类相关的一下基础功能组件,以及组件的功能简介基础组件中有类实例,以及描述类的各个功能组件。如图所示。
类组件的基本操作介绍:
单击选择Class,至工作区域内单机左键,即可创建一个class实例。创建实例后,周围会出现一堆,功能按钮,去描述这个类,如图所示。图后会有介绍各个租价功能的介绍。
功能介绍:
1. 用来标识Class的可见性(默认为public)
2. 用来添加note的,比如:类的说明
3. 增加类的属性
4. 增加类的操作方法。
5. 增加Reception
6. 增加子类
7. 增加父类
8. 添加已有的接口
9. 添加需要的接口
10. 添加关联
11. 添加聚合
12. 添加组合
13. 添加端口
14. 添加部件
泛化(继承)
泛化关系是类元的一般描述和具体描述之间的关系,具体描述建立在一般描述的基础之上,并对其进行了扩展。具体描述完全拥有一般描述的特性、成员和关系, 并且包含补充的信息。在Java中用“extend”来表示此关系。举个计算机的例子来说:冯诺依曼结构是最初的计算机结构,无论是个人计算机,服务器,还是超级计算机,都具有该特性,并在此特性上进行了扩展。
UML图中实现泛化管理的描述,在类图中使用带空心三角箭头的实线表示,箭头从子类、子接口指向父类、父接口。具体如图所示。实现
实现指的是一个class类实现interface接口(可以是多个)的功能,实现是类与接口之间最常见的关系。在类图中使用带空心三角箭头的虚线表示,箭头从实现类指向接口。如图。
3. 依赖
类A的实现需要引用类B,这就是依赖,这种使用关系是具有偶然性的、临时性的、非常弱的,而B类的变化会影响到A,则A与B存在依赖关系,依赖关系是弱的关联关系。例如:人依赖计算机去做软件开发。在UML类图设计中,依赖关系用由类A指向类B的带箭头虚线表示。如图所示。
- 聚合
聚合是关联关系的一种特例,它体现的是整体与部分的关系,是has-a的关系,此时整体与部分之间是可分离的,即没有了整体,局部也可单独存在。就比如我们航母战斗群:驱逐舰,巡洋舰,护卫舰,航空母舰等。在UML类图设计中,聚合关系以空心菱形加实线箭头表示如图所示。
5. 组合
是一种contains-a的关系,部分不能脱离整体存在。这是一种比聚合更强的关系,又称强聚合。整体的生命周期即为组成部分的生命周期。例如:人和人的构成部分大脑,心脏等。在UML类图设计中,组合关系以实心菱形加实线箭头表示。 如图所示。
StarUML制作用例图
该软件最常用的功能就是制作用例图,时序图,序列图等,本节以用例图为基础讲解基本使用。
单击Model选择Add Diagram 会出现许多模型,选择你想要使用的,如我想要使用:用例图,则我选择Use Case Diagram如图所示。选择后,tool box会产生相应的变化,更新出配套的功能组件,如图所示。
Tool box工具盒中有用例图的参与者(Actor)、用例 (Use Case)、系统边界、箭头等工具组成。我们可以根据需要选择恰当的工具。模拟制作图书馆的一部分用例:学生借书的操作如图所示。
StarUML使用简明教程的更多相关文章
- 2013 duilib入门简明教程 -- 第一个程序 Hello World(3)
小伙伴们有点迫不及待了么,来看一看Hello World吧: 新建一个空的win32项目,新建一个main.cpp文件,将以下代码复制进去: #include <windows.h> #i ...
- 2013 duilib入门简明教程 -- 部分bug (11)
一.WindowImplBase的bug 在第8个教程[2013 duilib入门简明教程 -- 完整的自绘标题栏(8)]中,可以发现窗口最大化之后有两个问题, 1.最大化按钮的样式 ...
- 2013 duilib入门简明教程 -- 部分bug 2 (14)
上一个教程中提到了ActiveX的Bug,即如果主窗口直接用变量生成,则关闭窗口时会产生崩溃 如果用new的方式生成,则不会崩溃,所以给出一个临时的快速解决方案,即主窗口 ...
- 2013 duilib入门简明教程 -- 自绘控件 (15)
在[2013 duilib入门简明教程 -- 复杂控件介绍 (13)]中虽然介绍了界面设计器上的所有控件,但是还有一些控件并没有被放到界面设计器上,还有一些常用控件duilib并没有提供(比如 ...
- 2013 duilib入门简明教程 -- 事件处理和消息响应 (17)
界面的显示方面就都讲完啦,下面来介绍下控件的响应. 前面的教程只讲了按钮和Tab的响应,即在Notify函数里处理.其实duilib还提供了另外一种响应的方法,即消息映射DUI_BEG ...
- 2013 duilib入门简明教程 -- FAQ (19)
虽然前面的教程几乎把所有的知识点都罗列了,但是有很多问题经常在群里出现,所以这里再次整理一下. 需要注意的是,在下面的问题中,除了加上XML属性外,主窗口必须继承自WindowImpl ...
- Mac安装Windows 10的简明教程
每次在Mac上安装Windows都是一件非常痛苦的事情,曾经为了装Win8把整台Mac的硬盘数据都弄丢了,最后通过龟速系统恢复模式恢复了MacOSX(50M电信光纤下载了3天才把系统下载完),相信和我 ...
- Docker简明教程
Docker简明教程 [编者的话]使用Docker来写代码更高效并能有效提升自己的技能.Docker能打包你的开发环境,消除包的依赖冲突,并通过集装箱式的应用来减少开发时间和学习时间. Docker作 ...
- 2013 duilib入门简明教程 -- 总结 (20)
duilib的入门系列就到尾声了,再次提醒下,Alberl用的duilib版本是SVN上第个版本,时间是2013.08.15~ 这里给出Alberl最后汇总的一个工程,戳我下载,效 ...
随机推荐
- cocos2dx中使用tolua++使lua调用c++函数
一直想学学cocos2dx中如何使用tolua++工具使得lua脚本调用C++函数,今天就来搞一下,顺便记录下来: 首先,我们打开cocos2dx-2.2.4中projects下的test的VS工程, ...
- 20172325 2018-2019-2 《Java程序设计》第三周学习总结
20172325 2018-2019-2 <Java程序设计>第三周学习总结 教材学习内容总结 一.什么是队列? 队列是一种线性集合,其元素从一端加入,从另一端删除: 队列的元素按照FIF ...
- C++友元函数、友元类
1.什么是友元函数? 友元函数就是可以直接访问类的成员(包括私有数据)的非成员函数,也就是说他并不属于这个类,他是一种外部的函数. 一个外部函数只能通过类的授权成为这个类友元函数,这就涉及到一个关键字 ...
- windows下Apache的虚拟主机配置
1.Apache虚拟主机: 在Apache上有关于虚拟主机的具体说明,具体可以参考Apache手册,这里简单的说一下虚拟主机主要分为两种: 1.基于主机名的虚拟主机(一个IP地址,多个网站) 2.基于 ...
- java文件的读写程序代码
package textopen; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutp ...
- Transform动画初解 in Swift
创建一个界面,就像这样的: 顶部是一个UISegmentControl,用来制定transform的类型.分别是:CGAffineTransformMakeTranslation.CGAffineTr ...
- GPS原理及其应用
第一章 绪论 GPS定位原理: 卫星轨道未知情况下,通过几个已知站点观测卫星,利用卫星信号的多普勒效应,就可以确定卫星轨道. 卫星轨道已知情况下,用户观测卫星信号,就可以确定用户的位置. 这原来是在海 ...
- .NET基础 (12)时间的操作System.DateTime
时间的操作System.DateTime1 DateTime如何存储时间2 如何在DateTime对象和字符串对象之间进行转换3 什么是UTC时间,如何转换到UTC时间 时间的操作System.Dat ...
- MSP430 G2553 Launchpad实现电容测量
一.基本原理 对于Source-Free RC电路,其电容放电的特性可以描述为: 其中V0是电容的初始电压,t是放电时间,R是串接的电阻阻值,C是电容值,v(t)是t时刻电容上的电压.因此,若已知V0 ...
- Android 属性动画实现一个简单的PopupWindow
1.今天看到一个PopupWindow的效果如图: 2.其实就是属性动画的一个简单实用就ObjectAnimator就可以的,想实现更多,更灵活的可以用ValueAnimator 3.直接上代码: p ...