最近了解到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. 添加部件

  1. 泛化(继承) 
    泛化关系是类元的一般描述和具体描述之间的关系,具体描述建立在一般描述的基础之上,并对其进行了扩展。具体描述完全拥有一般描述的特性、成员和关系, 并且包含补充的信息。在Java中用“extend”来表示此关系。举个计算机的例子来说:冯诺依曼结构是最初的计算机结构,无论是个人计算机,服务器,还是超级计算机,都具有该特性,并在此特性上进行了扩展。 
    UML图中实现泛化管理的描述,在类图中使用带空心三角箭头的实线表示,箭头从子类、子接口指向父类、父接口。具体如图所示。 

  2. 实现 
    实现指的是一个class类实现interface接口(可以是多个)的功能,实现是类与接口之间最常见的关系。在类图中使用带空心三角箭头的虚线表示,箭头从实现类指向接口。如图。

 
3. 依赖 
类A的实现需要引用类B,这就是依赖,这种使用关系是具有偶然性的、临时性的、非常弱的,而B类的变化会影响到A,则A与B存在依赖关系,依赖关系是弱的关联关系。例如:人依赖计算机去做软件开发。在UML类图设计中,依赖关系用由类A指向类B的带箭头虚线表示。如图所示。 

  1. 聚合 
    聚合是关联关系的一种特例,它体现的是整体与部分的关系,是has-a的关系,此时整体与部分之间是可分离的,即没有了整体,局部也可单独存在。就比如我们航母战斗群:驱逐舰,巡洋舰,护卫舰,航空母舰等。在UML类图设计中,聚合关系以空心菱形加实线箭头表示如图所示。

 
5. 组合 
是一种contains-a的关系,部分不能脱离整体存在。这是一种比聚合更强的关系,又称强聚合。整体的生命周期即为组成部分的生命周期。例如:人和人的构成部分大脑,心脏等。在UML类图设计中,组合关系以实心菱形加实线箭头表示。 如图所示。

 
StarUML制作用例图 
该软件最常用的功能就是制作用例图,时序图,序列图等,本节以用例图为基础讲解基本使用。 
单击Model选择Add Diagram 会出现许多模型,选择你想要使用的,如我想要使用:用例图,则我选择Use Case Diagram如图所示。选择后,tool box会产生相应的变化,更新出配套的功能组件,如图所示。 
 
Tool box工具盒中有用例图的参与者(Actor)、用例 (Use Case)、系统边界、箭头等工具组成。我们可以根据需要选择恰当的工具。模拟制作图书馆的一部分用例:学生借书的操作如图所示。 

StarUML使用简明教程的更多相关文章

  1. 2013 duilib入门简明教程 -- 第一个程序 Hello World(3)

    小伙伴们有点迫不及待了么,来看一看Hello World吧: 新建一个空的win32项目,新建一个main.cpp文件,将以下代码复制进去: #include <windows.h> #i ...

  2. 2013 duilib入门简明教程 -- 部分bug (11)

     一.WindowImplBase的bug     在第8个教程[2013 duilib入门简明教程 -- 完整的自绘标题栏(8)]中,可以发现窗口最大化之后有两个问题,     1.最大化按钮的样式 ...

  3. 2013 duilib入门简明教程 -- 部分bug 2 (14)

        上一个教程中提到了ActiveX的Bug,即如果主窗口直接用变量生成,则关闭窗口时会产生崩溃            如果用new的方式生成,则不会崩溃,所以给出一个临时的快速解决方案,即主窗口 ...

  4. 2013 duilib入门简明教程 -- 自绘控件 (15)

        在[2013 duilib入门简明教程 -- 复杂控件介绍 (13)]中虽然介绍了界面设计器上的所有控件,但是还有一些控件并没有被放到界面设计器上,还有一些常用控件duilib并没有提供(比如 ...

  5. 2013 duilib入门简明教程 -- 事件处理和消息响应 (17)

        界面的显示方面就都讲完啦,下面来介绍下控件的响应.     前面的教程只讲了按钮和Tab的响应,即在Notify函数里处理.其实duilib还提供了另外一种响应的方法,即消息映射DUI_BEG ...

  6. 2013 duilib入门简明教程 -- FAQ (19)

        虽然前面的教程几乎把所有的知识点都罗列了,但是有很多问题经常在群里出现,所以这里再次整理一下.     需要注意的是,在下面的问题中,除了加上XML属性外,主窗口必须继承自WindowImpl ...

  7. Mac安装Windows 10的简明教程

    每次在Mac上安装Windows都是一件非常痛苦的事情,曾经为了装Win8把整台Mac的硬盘数据都弄丢了,最后通过龟速系统恢复模式恢复了MacOSX(50M电信光纤下载了3天才把系统下载完),相信和我 ...

  8. Docker简明教程

    Docker简明教程 [编者的话]使用Docker来写代码更高效并能有效提升自己的技能.Docker能打包你的开发环境,消除包的依赖冲突,并通过集装箱式的应用来减少开发时间和学习时间. Docker作 ...

  9. 2013 duilib入门简明教程 -- 总结 (20)

        duilib的入门系列就到尾声了,再次提醒下,Alberl用的duilib版本是SVN上第个版本,时间是2013.08.15~       这里给出Alberl最后汇总的一个工程,戳我下载,效 ...

随机推荐

  1. Eigen库和STL容器冲突问题

    博客参考:https://blog.csdn.net/huajun998/article/details/54311561 在程序中想使用类似于如下的容器 std::vector<Eigne:: ...

  2. CentOS7下NFS服务安装及配置

    系统环境:CentOS Linux release 7.4.1708 (Core) 3.10.0-693.el7.x86_64 软件版本:nfs-utils-1.3.0-0.48.el7_4.x86_ ...

  3. Word直接发布新浪博客(以Word 2010为例)

    目前大部分的博客作者在用Word写博客这件事情上都会遇到以下3个痛点: 1.所有博客平台关闭了文档发布接口,用户无法使用Word,Windows Live Writer等工具来发布博客.使用Word写 ...

  4. Duplicate Symbol链接错误的原因总结和解决方法[转]

    from:http://www.cocoachina.com/bbs/read.php?tid=177492 duplicate symbol是一种常见的链接错误,不像编译错误那样可以直接定位到问题的 ...

  5. swift学习之-- UIAlertVIewController - uiactionsheet

    // //  ViewController.swift //  actionsheet // //  Created by su on 15/12/7. //  Copyright © 2015年 t ...

  6. POJ2031 Building a Space Station 2017-04-13 11:38 48人阅读 评论(0) 收藏

    Building a Space Station Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 8572   Accepte ...

  7. java并发编程实战:第六章----任务执行

    任务:通常是一些抽象的且离散的工作单元.大多数并发应用程序都是围绕"任务执行"来构造的,把程序的工作分给多个任务,可以简化程序的组织结构便于维护 一.在线程中执行任务 任务的独立性 ...

  8. tar.gz 解压

    tar -xzvf .tar.gz tar [-cxtzjvfpPN] 文件与目录 .... 参数: -c :建立一个压缩文件的参数指令(create 的意思): -x :解开一个压缩文件的参数指令! ...

  9. 指定的 LINQ 表达式包含对与不同上下文关联的查询的引用

    解决方法是分两次查询. 报错的原因是在涉及到内存中的对象与EF里的对象混合查询时,内存中的对象要是基元类型. 第一次查询实际上会因为EF的延时加载,不会立即将数据查询到内存中. 解决方法是对第一次查询 ...

  10. spring boot maven多模块打包部署到tomcat

    @SpringBootApplication(scanBasePackages = {"com.xxx.*"}) public class ApiApplication exten ...