前些日子整理文档,需要补充程序结构流程图,一直没有想到怎么样能够清晰直观描述清楚现在的解决方法,直到我知道了 UML 语言。最早对于 UML 的了解也只是停留在一本书上,他们开发使用 UML 分解任务,做成任务卡片,好分析开发时间。

现在才发现原来 UML 很强大。

StarUML 是个开源软件,画基本的 UML 图是基本够用了,而且可以保存工程以便后续修改,还可以自动导入现有工程进行分析,感觉用来辅助编写文档再合适不过了。

1.下载安装

网址:http://staruml.io/

安装选择评估就行

2.界面说明

基本界面可以被分为 6 块:

[1] 菜单栏

[2] 显示你已经打开的所有设计图

[3] 是绘图模块,鼠标选中,直接点到 [4] 上就可以放到画布上了

[4] 画布

[5] 是工程,右键可以添加删除设计图和模块

[6] 绘图模块属性,可以重命名和修改属性

软件自带工程:C:\Program Files (x86)\StarUML\samples 下

3.结构图

3.1.继承

class B extends A

使用 Generalization

3.2.实现

class A extends I

使用 Interface Realization

3.3.依赖

import A;

使用 Dependency,在 stereotype 属性中可以填写一些说明,比如 use,create 等。

3.4.连接

从上到下依次关系越来越紧密,分别是 Directed Association,Aggregation 和 Composition。

参考:http://developer.51cto.com/art/201007/209616.htm

4.时序图

水平方向列出所有对象,垂直方向从上到下表示时间增长。

各对象之间通过消息传递信息,消息包括同步和异步之分。

使用 CombinedFragment 可以表示逻辑,包括选择,循环,并行等。

参考:http://m.blog.csdn.net/blog/pashanhuxp/41982285

5.快捷键

5.1.导入工程

安装相应语言的工具,Tools->Extension Manager->Java->install

安装成功后 Tools 下就会多出你刚刚安装语言的选项。

Tools->Java->Configure 配置载入或生成代码的规则。

载入工程,Tools->Java->Reverse Code,选择你的工程,StarUML会自动分析。

5.2.格式

Format->…

连线样式:斜线「Ctrl+B」,直线「Ctrl+L」

文字颜色:Font->…

[工具]StarUML的更多相关文章

  1. Ubuntu 16.04安装UML工具StarUML 2

    StarUML 2是一个商业软件,但是没有时间限制,就像Sublime Text 3一样.而且具有跨平台,支持Mac.Windows. 这个软件曾经08年的时候在老D的博客上有推荐过,参考:http: ...

  2. 强大的UML建模工具——StarUML

    用例图: usecase          生成时序图,协作图,活动图等            生成的时序图:           反向工程以及生成代码:          类图:           ...

  3. UML工具-1-StarUML下载及破解

    UML工具-StarUML   下载地址   http://staruml.io/  

  4. Java程序员拥有这些工具,还怕干不出好活

    老话说,工欲善其事,必先利其器. 那么,作为编程人员,你都用过哪些“兵器”呢?你的”兵器“够”锋利”吗? 近期,有很多新朋友问,都有什么画流程图的工具,给推荐推荐? 索性,就静下来,好好梳理一下,从事 ...

  5. [Design Patterns] 3. Software Pattern Overview

    When you're on the way which is unknown and dangerous, just follow your mind and steer the boat. 软件模 ...

  6. java设计模式类图大全

    近来在看书实现GoF的23个设计模式,自己一点点地用建模工具按照自己的理解画出类图(是比较符合我个人思考理解的,个人觉得比通用类图更详细些),碰巧找到了一个挺好用的UML建模工具StarUML,也刚好 ...

  7. 2017-2018-1 Java演绎法 第八周 作业

    团队任务:UML设计 团队组长:袁逸灏 本次编辑:刘伟康 团队分工 第一次使用泳道图,感觉非常方便,从图中的箭头和各个活动框中可以清晰地看出分工流程: 不过既然是博客园,分工就不能只贴图,markdo ...

  8. 20135119_涂文斌 实验二 Java面向对象程序设计

    北京电子科技学院(BESTI) 实  验  报  告 课程: Java        班级:1351           姓名:涂文斌          学号:20135119 成绩:         ...

  9. [Arch] 03. Practice UML in project

    参考列表: 搜索:跟我学UML建模工具StarUML 系列文章 第一部分,下载和安装及破解StarUML工具软件 第二部分,StarUML工具软件的主要功能界面和UML图的创建示例 [Design P ...

随机推荐

  1. LoRa术语

    ADR      Adaptive Data Rate          自适应数据率 AES      Advanced Encryption Standard        高级加密标准 AFA  ...

  2. 如何通过DataGridView 实现单元格合并和二维表头

    先看下实现出来的效果(这里随便写了几组数据,用来测试) 先初始一个DataGridView 设置哪几列 DataGridView 里男女这两列的 AutoSizeMode 可以设置Fill. publ ...

  3. 求解方程A5+B5+C5+D5+E5=F5

    方程A5+B5+C5+D5+E5=F5刚好有一个满足0<A≤B≤C≤D≤E≤F≤75的整数解.请编写一个求出该解的程序: using System; namespace ReverseTheEx ...

  4. 查找具有特定属性的元素 (XPath-LINQ to XML)

    XElement doc = XElement.Parse( @"<Root> <Child1>1</Child1> <Child2 Select= ...

  5. Code Signal_练习题_extractEachKth

    Given array of integers, remove each kth element from it. Example For inputArray = [1, 2, 3, 4, 5, 6 ...

  6. JS代理模式实现图片预加载

    ---恢复内容开始--- 刚刚说了懒加载,现在我们来搞搞预加载吧 预加载的核心: 图片等静态资源在使用前提前请求. 资源后续使用可以直接从缓存中加载,提升用户体验. 几个误区: 预加载不是为了减少页面 ...

  7. 【读书笔记】iOS-网络-同步请求,队列式异步请求,异步请求的区别

    一,同步请求的最佳实践. 1,只在后台过程中使用同步请求,除非确定访问的是本地文件资源,否则请不要在主线程上使用. 2,只有在知道返回的数据不会超出应用的内存时才使用同步请求.记住,整个响应体都会位于 ...

  8. VBoxManage翕令

    VBoxManage list vms VBoxManage startvm dcsvr08 -type vrdp VBoxHeadless -startvm "dcsvr08" ...

  9. Android 状态栏开发

    又好久没写了...还是记个笔记吧.这次关于Android手机App状态栏的各种处理做一个笔记. 场景一:需要做全屏,不看到手机状态栏信息(手机电量,信号等) 这种需求一般用的比较多的地方是App的Sp ...

  10. python 日志打印之logging使用介绍

    python 日志打印之logging使用介绍 by:授客QQ:1033553122 测试环境: Python版本:Python 2.7   简单的将日志打印到屏幕 import logging lo ...