今年苹果公司推出的iPhone4和iPad继续大获成功,国内想在苹果的平台下开发软件赚钱的开发人员越来越多。那么,在苹果的平台下开发软件有哪些UML建模工具可用呢?虽然不如Windows平台下那么多的工具可以选择,还是可以列出一些的。

Mac平台下原生的UML建模工具,功能最强的就是Excel Software出品的MacA&D。MacA&D支持绝大多数UML2.2图形,支持C++、Objective-C、SQL、Java、PHP和REALbasic的代码生成,还支持结构化分析设计里的数据流图。可惜MacA&D是收费的,即使是学生版,也要49美元。如果想用免费的,CanvasUML就是一个免费的、基于Cocoa的UML工具,不过它只能画类图。

MagicDraw和Visual Paradigm也声称有for Mac的版本,但看看界面截图,再仔细研究产品页面上的系统安装要求:JRE 1.4.2 or later,其实还是Java编写的“跨平台”产品。

The Omni Group出品的OmniGraffle是Mac OS X平台下相当受欢迎的绘图工具,相当于Windows下面的Visio,可以导入和导出Visio的文件。和Visio一样,OmniGraffle可以通过UML的stencil,画出非常好看的UML图。这个商业工具要比MacA&D更贵,不同版本的价格在99-299美元之间。随着iPad风行,OmniGraffle也与时俱进,提供了for iPad的版本,充分利用平板电脑的优势来绘图。如果只是为了画“UML形状”的图,并不需要建模工具的正向逆向工程、验证、管理等功能,选用OmniGraffle再合适不过了。

如果不追求原生的苹果味道,Java开发的一些UML建模工具都可以尝试。开源或免费的工具有ArgoUML、BOUML、NetBeans IDE、TopCoder UML Tool等,特别是BOUML,版本更新非常积极。商业工具有Astah、MagicDraw和Visual Paradigm等,还可以选择在线的UML工具,如easyumleditor.com 、creately.com 、gliffy.com、yuml.me、lucidchart.com 、diagrammr.com等。

遗憾的是,Windows下面几个典型的工具都不能直接在Mac下使用,包括贵且强大的Rational序列(包括RSM、RSA和Rhapsody)、性价比高的Enterprise Architect和开源的StarUML。而且,绝大多数的UML工具一开始就是为Windows平台编写的,即使后来成功移植(包括Java的“跨平台”)到Mac下,依然摆脱不了原来Windows界面风格的痕迹。如果有人能编写出一款能发挥出Cocoa视感(特别是感)的、真正的UML建模工具,不知道是不是有市场呢?

http://www.macfans.com.cn/forum.php?mod=viewthread&tid=76883

http://www.baidu.com/link?url=jd-zeG8XjvrnVWWPnYXR7S9bc4zWHOxiSReIK7Rb0muyJCm7eIlDLYzXi9PF3G0mtxvgwnloAcdWQyNCTWro5a

 

UML for mac的更多相关文章

  1. Runway for Mac(UML 流程图绘图工具)破解版安装

    1.软件简介    Runway 是 macOS 系统上一款强大实用的软件开发工具,Runway for Mac 是一个界面简单功能强大的UML设计师.此外,Runway for Mac 带给你所有你 ...

  2. IntelliJ IDEA For Mac 快捷键

    Mac键盘符号和修饰键说明 ⌘ Command ⇧ Shift ⌥ Option ⌃ Control ↩︎ Return/Enter ⌫ Delete ⌦ 向前删除键(Fn+Delete) ↑ 上箭头 ...

  3. UML 学习

    推荐书籍:<面向对象分析与设计(第3版)>.<UML精粹:标准对象建模语言简明指南(第3版)> 推荐一: http://amateras.sourceforge.jp/cgi- ...

  4. Mac OS X 软件推荐

    ​1. 前言 每个操作系统都有自己的一套软件系统,但是不同的用户却会有不同的需求,系统虽会为用户提供一些基础软件,不过为了能无碍的进入自己的学习和工作状态,总有一些软件是必须安装的,同时这些软件也可以 ...

  5. Mac 生产力探究

    转载自:http://devtian.me/2015/04/15/about-my-productivity-tool-in-MacOSX/ ##密码管理器 1Password 1Password 是 ...

  6. Mac下PyCharm快捷键大全

    Mac键盘符号和修饰键说明 ⌘ Command ⇧ Shift ⌥ Option ⌃ Control ↩︎ Return/Enter ⌫ Delete ⌦ 向前删除键(Fn+Delete) ↑ 上箭头 ...

  7. Python入门之PyCharm的快捷键与常用设置和扩展(Mac系统)

    1. 快捷键 2 . PyCharm的常用设置和扩展 ------------------------------------------------------------------------- ...

  8. 【UML 建模】在线UML建模工具 ProcessOn 使用详解

    总结 : -- 推荐理由 : 最近从 Windows 操作系统 转到 MAC 上, 正在看设计模式 和 重构, 找不到好用的 UML 工具, 因此在网上找了一款可以在线使用的 UML 工具, 用起来发 ...

  9. 环境与工具2:建立高效的mac环境

    你的工作与生活离不开电脑,电脑是一个工具,也是一个环境.环境是不是绿水青山,是不是得心应手,这是很重要的事情.小程平时使用macbook来学习跟娱乐,最近重装了系统,很多环境与工具都需要重新组建. 那 ...

随机推荐

  1. 洛谷——P1416 攻击火星

    P1416 攻击火星 题目描述 一群外星人将要攻击火星. 火星的地图是一个n个点的无向图.这伙外星人将按照如下方法入侵,先攻击度为0的点(相当于从图中删除掉它),然后是度为1的点,依此类推直到度为n- ...

  2. 2017 Hackatari Codeathon C. Arcade(DP)(滚动数组)

    C. Arcade time limit per test 1 second memory limit per test 256 megabytes input standard input outp ...

  3. 微软移除Visual Studio 2015中的UML

    微软已经在Visual Studio 2015中移除了UML(Unified Modeling Language,统一建模语言),原因是该语言使用率过低.因此微软要优化产品结构,把好钢用在刀刃上. V ...

  4. 桌面笔记工具KeepNote

    桌面笔记工具KeepNote   在渗透测试过程中,安全人员经常需要记录各种数据,如输出结果.运行截图.测试心得.这类信息格式多样,可能是图片.文字.文件等.为了便于管理这些内容,Kali Linux ...

  5. CSS3选择器、低版本解决方案及各浏览器私有前缀

    一.基本选择器 通配选择器:* 元素选择器:div.p… ID选择器:#id 类选择器:.className 群组选择器:选择器1,选择器2 主流浏览器全部支持 二.层次选择器 后代选择器: div ...

  6. [Codeforces 1053C] Putting Boxes Together

    Link: Codeforces 1053C 传送门 Solution: 先推出一个结论: 最后必有一个点不动且其为权值上最中间的一个点 证明用反证证出如果不在中间的点必有一段能用代价少的替代多的 这 ...

  7. [BZOJ5267]特工

    一个套路题...但还是得写一下这个套路避免以后忘了 题目中的运算$f(i,j)=(i|j)\text^i$对单位二进制满足$f(0,0)=f(1,0)=f(1,1)=1,f(0,1)=0$ 先考虑求正 ...

  8. 【贪心】【后缀自动机】XIII Open Championship of Y.Kupala Grodno SU Grodno, Saturday, April 29, 2017 Problem E. Enter the Word

    题意:给你一个串,让你从左到右构造这个串,一次操作可以直接在当前串后面添加一个任意字符,或者拷贝当前串的任意一个子串到当前串的后面.问你最少要多少次操作才能构造出这个串. 从前向后贪心,从当前已构造的 ...

  9. python基础之数据类型之数字、字符串、列表

    数据类型及内置方法 一.数字类型 整数型(int) 1.用途:年龄,号码等 2.定义:age = 10   age = int(10) x = int(’11’)   int只能转换纯数字的字符串 3 ...

  10. lib_chan库学习

    -module(lib_chan_cs). %% 实现服务器端结构和机制的模块 -export([start_raw_server/4, start_raw_client/3]). -export([ ...