pag python 标记 点击_python pag.moverel()的使用 - CSDN
精华内容
参与话题
  • 工作需要将微信号中的所有好友微信号保存下来,因为涉及到多个微信号且每个微信好友上千,使用人工方式需要耗费大量精力,因而考虑使用程序模拟点击的方式来获取。 基本思路 使用手机登陆微信电脑版,然后通过程序...

    业务场景

    工作需要将微信号中的所有好友微信号保存下来,因为涉及到多个微信号且每个微信好友上千,使用人工方式需要耗费大量精力,因而考虑使用程序模拟点击的方式来获取。

    基本思路

    使用手机登陆微信电脑版,然后通过程序模拟点击鼠标来复制信息。复制的信息即时保存到Excel中
    定位关键点
    需要解决的第一个问题是定位关键点,比如好友列表位置、比如顶部位置、底部位置、微信ID位置等等。可以通过pyautogui所带的locateOnScreen功能实现,也就是对比图片位置,因此程序运行之前需要先截图以下图片:
    定位图
    上图中,各个图片的功能依次为:
    A.png:用来定位第一个用户位置

    botttom.png:定位底部用户的位置

    contact.png/contact2.png:定位联系人图标位置,初始时点击该按钮

    dis.png/dis2.png:定位地区关键词位置,用来复制信息

    male.png/female.png:用来判断性别

    from.png/from2.png:用来判断好友来源方式

    sep.png:用来定位签名位置

    top.png:用来定位顶部位置

    wx-id.png/wx-cn-id.png:用来定位微信号位置

    其中,有两张图片的是为了兼容中英文不同模式,实际使用中只需要截图自己微信语言的图片就行。

    模拟点击、移动、复制、粘贴
    模拟点击、移动、选择使用的是pyautogui库里的函数:

    import pyautogui as pag
    pag.moveTo(x,y,time) # 移动
    pag.click() # 点击
    pag.dragTo(x,y,time) # 按下左键拖动
    pag.hotkey('ctrl', 'c') # 复制
    

    获取剪贴板内容使用的是clipboard的功能:

    clipboard.paste()
    

    接下来就是循环点击滚动直到程序到达最底部。结果会通过pandas的DataFrame保存到Excel。

    代码

    将程序完整封装,代码如下:

    # -*- coding:utf-8 -*-
    
    # 引入依赖库
    import pyautogui as pag
    import clipboard as cb
    import pandas as pd
    import os
    import sys
    
    
    def locate():
        """定位关键点"""
        tbox = pag.locateOnScreen("data/top.png")
        cbox = pag.locateOnScreen("data/contact.png") if pag.locateOnScreen("data/contact.png") else pag.locateOnScreen(
            "data/contact2.png")
        bbox = pag.locateOnScreen("data/bottom.png")
        abox = pag.locateOnScreen("data/A.png")
    
        return tbox, cbox, bbox, abox
    
    
    def cal_pos(cbox, bbox, abox):
        """计算点击位置"""
        # 联系人图标位置
        cc = pag.center(cbox)
        # 第一个联系人位置
        if abox is None:
            print("Guess contact from contact icon.")
            acx = cc[0] + 40
            acy = cc[1] - 50
        else:
            acx, acy = pag.center(abox)
        fc = (acx + 20, acy + 50)
        # 底部点击位置
        bc = pag.center(bbox)
        return cc, fc, bc
    
    
    def is_bottom(cur_y, bom_y):
        """判断是否到达底部"""
        return cur_y > (bom_y + 80)
    
    
    def gender():
        """获取性别"""
        if pag.locateOnScreen("data/female.png"):
            return 'female'
        elif pag.locateOnScreen("data/male.png"):
            return 'male'
        else:
            return ""
    
    
    def nick_name_and_signature(tc, drag_speed):
        """获取微信昵称和签名"""
        box = pag.locateOnScreen("data/sep.png")
        rx, ry = pag.center(box)
        tcx, tcy = tc[0], tc[1]
        pag.moveTo(rx, ry, 0.1)
        pag.dragTo(tcx + 50, tcy + 50, drag_speed)
        text = copy()
    
        pag.click()
        if text:
            li = text.split("\n")
            if len(li) > 1:
                return li[0], li[1]
            else:
                return text, ""
        else:
            return "", ""
    
    
    def copy():
        """复制内容:非重复性拷贝"""
        ori_text = str(cb.paste()) if cb.paste() else ""
        pag.hotkey('ctrl', 'c')
        text = str(cb.paste()) if cb.paste() else ""
        if text != ori_text:
            return text
        else:
            return ""
    
    
    def district(drag_speed):
        """获取地区"""
        box = pag.locateOnScreen("data/dis.png") if pag.locateOnScreen("data/dis.png") else pag.locateOnScreen(
            "data/dis2.png")
        if box:
            cx, cy = pag.center(box)
            pag.moveTo(cx, cy, 0.1)
            pag.dragTo(cx + 400, cy + 20, drag_speed)
            text = copy()
            pag.click()
            if text:
                return text
            else:
                return ""
        else:
            return ""
    
    
    def from_(drag_speed):
        """好友来源"""
        box = pag.locateOnScreen("data/from.png") if pag.locateOnScreen("data/from.png") else pag.locateOnScreen(
            "data/from2.png")
        if box:
            cx, cy = pag.center(box)
            pag.moveTo(cx, cy, 0.1)
            pag.dragTo(cx + 400, cy + 20, drag_speed)
            pag.hotkey("ctrl", "c")
            text = cb.paste()
            pag.click()
            if text:
                return text
            else:
                return ""
        else:
            return ""
    
    
    def wx_id(drag_speed):
        """获取微信id"""
        box = pag.locateOnScreen("data/wx-id.png") if pag.locateOnScreen("data/wx-id.png") else pag.locateOnScreen(
            "data/wx-cn-id.png")
        if box:
            cx, cy = pag.center(box)
            pag.moveTo(cx, cy, 0.1)
            pag.dragTo(cx + 400, cy + 20, drag_speed)
            pag.hotkey("ctrl", "c")
            text = cb.paste()
            pag.click()
            if text:
                return text
            else:
                return ""
        else:
            return ""
    
    
    def click(tbox, cbox, bbox, abox, gap, drag_speed, out, is_all):
        """模拟点击"""
        cc, fc, bc = cal_pos(cbox, bbox, abox)
        # 点击联系人图标
        pag.click(cc)
        # 循环点击用户列表
        btm_y = bc[1]
        # 当前工作位置
        curr_x = fc[0]
        curr_y = fc[1]
        # 循环滚动点击
        cnt = 0
        IDs = []  # 记录ID列表
        scroll_flag = True  # 滚动标记
        same_list = []  # 记录入库值
        Info = {"WechatID": [],
                "From": [],
                "District": [],
                "Gender": [],
                "NickName": [],
                "Signature": [], }  # 存储用户信息
        while not is_bottom(curr_y, btm_y):
            pag.moveTo(curr_x, curr_y, 0.1)
            pag.click()
            _id = wx_id(drag_speed)
            if _id != "":
                IDs.append(_id)
                Info["WechatID"].append(_id)  # id
                if is_all:
                    _from = from_(drag_speed)  # 来源
                    Info["From"].append(_from)
                    dis = district(drag_speed)  # 地区
                    Info["District"].append(dis)
                    g = gender()  # 性别
                    Info["Gender"].append(g)
                    tc = pag.center(tbox)
                    nick_name, signature = nick_name_and_signature(tc, drag_speed)  # 昵称、签名
                    Info["NickName"].append(nick_name)
                    Info["Signature"].append(signature)
                else:
                    Info["From"].append("")
                    Info["District"].append("")
                    Info["Gender"].append("")
                    Info["NickName"].append("")
                    Info["Signature"].append("")
                save(out, Info, "contacts")
                cnt += 1
                print("{} WechatID:{}".format(cnt, Info["WechatID"][-1]))
            else:  # 未找到信息,滚动
                print("Nothing found.")
                pag.moveTo(curr_x, curr_y, 0.1)
                pag.scroll(int(-1 * gap * 1.2))
                continue
            # 获取信息完毕,滚动
            if scroll_flag:
                if len(same_list) < 3:
                    same_list.append(_id)
                elif len(set(same_list)) == 1:
                    scroll_flag = False
                else:
                    same_list.pop(0)
                    same_list.append(_id)
            if scroll_flag:  # 滚动状态
                pag.moveTo(curr_x, curr_y, 0.1)
                pag.scroll(int(-1 * gap * 1.2))
            else:  # 结束滚动
                curr_y += gap
    
    
    def save(out, data, sheet):
        """保存结果"""
        writer = pd.ExcelWriter(out)
        df = pd.DataFrame(data)
        df2 = df.drop_duplicates(subset=None, keep='first', inplace=False)
        df2.to_excel(writer, sheet, index=False)
        writer.save()
        return True
    
    
    def main(out, is_all):
        """主程序执行入口"""
        # 执行文件判重,重复则序号增1
        file_name, rear = os.path.splitext(out)
        cnt = 1
        while os.path.isfile(out):
            out = file_name + "_" + str(cnt) + rear
            cnt += 1
        print("Locating...")
        tbox, cbox, bbox, abox = locate()  # 定位
        if tbox is None or cbox is None or bbox is None:
            print("tbox:{} cbox:{} bbox:{} abox:{} .\nCould not locate box position.Try again.".format(tbox,
                                                                                                       cbox,
                                                                                                       bbox,
                                                                                                       abox))
            return
        click(tbox, cbox, bbox, abox, 100, 0.4, out, is_all)  # 开始运行
        print("All done.")
    
    
    if __name__ == "__main__":
        out = "contacts.xlsx"  # 保存地址
        out = os.path.abspath(out)
        args = sys.argv
        if len(args) < 2:
            main(out, False)
        elif args[1] == "all":
            main(out, True)
        else:
            main(out, False)
    
    

    程序用法

    python auto_click.py all
    

    all参数代表程序会去获取所有可获取的信息,包括来源、昵称、签名、地区等。如果没有这个参数那么程序只会获取微信号,速度会更快一些。

    注意:程序运行之后不能移动鼠标,需要提前结束程序的话将鼠标移动到左上角悬停几秒即可。

    您的浏览器不支持html5视频播放

    结果示意:
    结果示意

    获得帮助

    作者博客地址:http://www.yooongchun.com

    展开全文
  • 收集了世界上最全的UML工具

    万次阅读 2010-03-05 18:31:00
    UML相关工具一览(截止2010年1月) 整理本文的PDF版本在此下载>>以下总结了全世界的各种UML相关工具,按工具名称字母排序。 工具(最新版本)厂商&地址版权UML版本支持代码环境XMI平台备注 

    UML相关工具一览(截止20101月)

     整理

    本文的PDF版本在此下载>>

    以下总结了全世界的各种UML相关工具,按工具名称字母排序。

     

     

    工具(最新版本)

    厂商&地址

    版权

    UML

    版本

    支持代码环境

    XMI

    平台

    备注

     

     

     

     

     

     

     

     

     

     

    Acceleo 2.5.0

     

    法国

    http://www.acceleo.org/pages/accueil/fr

    GPL

     

    C#, Java, PHP, Python

     

    Java

    法语工具。与EclipseEMF集成。

     

    AmaterasUML 1.3.1

     

    日本

    http://amateras.sourceforge.jp/cgi-bin/fswiki_en/wiki.cgi?page=AmaterasUML

    开源

    2

    Java

    Java

    Eclipse插件,其中的类图、序列图分析是其特色,可以从代码分析出序列图。

     

    Ameos 9.2

     

     

    Anoix

    http://www.aonix.com/ameos.html

    开源

    2

    Java, C, C++, Ada95

    Linux, Solaris, Windows

    实时嵌入式系统建模工具。

     

     

    AndroMDA 4.0

     

     

    http://www.andromda.org

    开源

    2

    J2EE/EJB,

    Spring, Hibernate, Struts, .NET, Web Services

     

    支持UML2和基于EMF的工具(MagicDraw 11.6RSM…

     

    Apollo for Eclipse 2.0

     

    Gentleware AG

    http://www.gentleware.com/

    30天试用

    2.1

    Java

     

    Java

    Eclipse下的UML扩展。支持Java 5双向工程。

     

    ArcStyler 5.5

     

    Interactive Objects Software(德国)

    http://www.io-software.com/products/arcstyler_overview.jsp

    有试用版

    2

    Java, C#, Web Accessors, EJB 1.1, EJB 2.0, BEA WebLogic 7.0 (EJB 2.0), JBoss 2.4.4,, ASP .NET

     

     

    覆盖J2EE/.NET系统开发工作流程的套件,遵循RUP,有针对IBM RSM的插件。

     

     

    ArgoUML v0.26.2

     

    推荐√

    Tigris.org

    http://argouml.tigris.org/

    BSD

     

    Java, C#

    Java

    最早的开源UML工具,支持OCL,支持认知式开发,不再只是画图,例如可以自动评价设计、自动更正等等。

     

    ARTiSAN Studio 6.2

     

    ARTiSAN

    http://www.artisansw.com

    有试用版

    2.1

    C++, Java双向工程, 状态机模拟。

    Ada83, Ada95, C, SQL-DDL

    Windows, Solaris(服务器端安装)

    支持UML2.1SysML,可以和PVCSVSSClearCaseCM Synergy结合。

     

    Astade 0.10.1

     

    http://astade.tigris.org/

    开源

     

     

     

     

    UML-C++转换工具

     

    BOUML 4.9.1

     

    Bruno Pagès(法国)

    http://bouml.free.fr

    免费

    2

    C++, Java, IDL

     

    Unix/Linux/Solaris, MacOS X ,  Windows

    支持C++Java编写的插件。

     

    Case Complete 2009

     

    推荐√

    Serlio Software

    http://www.casecomplete.com

    30天试用

     

     

     

     

    用例管理工具。支持用例重构。

     

    Cadifra UML Editor 1.3.1

     

    Adrian & Frank Buehlmann瑞士

    http://www.cadifra.com/

    30天试用

     

     

     

    Windows

     

     

    Codagen Architect 3.2

     

    Codagen

    http://www.manyeta.com/en/Technology/codagen_architect_v3.2/frequently_asked_questions

    15天评估

     

    VB, C#, C++, Java

     

    Windows

    遵循MDA流程,能产生超过90%J2EE.Net平台代码。2003年获得Jolt Productivity Award

    支持Rational Rose 2000e或更新版本,Rational XDE 2003Borland Together ControlCenter 6.0, 或带VisioVisual Studio .NET for Enterprise Architects

     

    Cohesion 1.0.2

     

    Team Synergy(澳大利亚)

    http://cohesion.it.swin.edu.au/teamb/cohesion.shtml

    开源

     

     

     

    Java

    元模型建模工具,可以使用UMLOCL,或者其他喜欢的建模符号。

     

    Cradle 5.7

     

    3SL(英国)

    http://www.threesl.com/

     

     

     

     

     

    强有力的需求管理和基于模型的系统工程环境,支持UML

     

    Creately

     

    Cinergix Pty. Ltd

    http://creately.com/

     

     

     

     

     

    在线画各种软件建模图形。

     

    Developer-EP

     

    EmbeddedPlus PolySpace

    http://www.embeddedplus.com/UMLVeriBroc.php

     

     

    C++

     

     

    基于需求的UML/SysML/C++验证试环境,提供基于模型的验证。

     

    Dia 0.96.1

     

    Alexander Larsson

    http://live.gnome.org/Dia

    开源

     

    C++, Java, CORBA IDL,

     

    Linux(Debian, Redhat),Windows

    类似Visio的工具。还支持E-R

     

    Diagrammer

     

    http://www.diagrammr.com

    免费

     

     

     

     

    通过文本输入,在线画UML图。

     

    EclipseUML 3.4.1

     

    Omondo

    http://www.eclipsedownload.com/

    有免费版

    2.2

    J2EE

    Java

    EclipseCVS集成的UML工具。可以从字节码逆向工程到类图和序列图。

     

    Edraw UML Diagram 4.6

     

    EdrawSoft

    http://www.edrawsoft.com/Software-Diagrams.php

    可以试用

     

     

     

    Windows

     

     

    Eiffel Studio 6.3

     

    Eiffel Software

    http://www.eiffel.com/products/studio/

    有试用版

     

    Eiffel

     

    Linux, MacOS, Windows, FreeBSD

    按契约设计的工具,基于简化版本的UMLEiffel语言,作为Visual Studio 2005的插件。

     

    Enterprise Architect 7.5

     

    推荐√

    Sparx Systems澳大利亚

    http://www.sparxsystems.com.au/

    有试用版

    2.2

    C++, Java, C#, Delphi, SQL-DDL, VB.NET, VB

    WindowsLinux

    便宜又好货。还包含需求管理、项目估算、测试支持。与VS2008集成。团队建模支持。

     

    eUML2 for Java

     

    松亚科技

    http://www.soyatec.cn/main.php

    有免费版

    2.1

    Java

    Java

    这个产品实际上是Eclipse UML产品的分支。 松亚科技公司的创始人曾是Omondo公司的共同创始人和首席技术官, 他以"julien"为代名,设计和实现了该产品的主要基本结构. 他在20065月离开公司时享有该产品的版权. 整个技术团队也跟随着他,并于20065月推出eUML2eBPMN第一版本.

     

    Fujaba Tool Suite 5.0.4

     

    University of Paderborn Software Engineering Group(德国)

    http://www.uni-paderborn.de/cs/fujaba/

    开源

     

    Java

     

    Java

    学院派作品,支持Patterns

     

    GModeler

     

    Grant Skinner

    http://www.gskinner.com/gmodeler/app/run.html

    免费

     

    AS2.0

    浏览器支持Flash

    线上的Flash UML工具。

     

    Gaphor 0.13.0

     

    http://gaphor.devjavu.com/

    GPL

    2

     

     

    GTK+

    Python写成。

     

    Green 3.1

     

    Alphonce

    http://green.sourceforge.net/index.html

    有试用版

     

     

     

    Windows

    类图工具。结合Eclipse 3.3。适合教学用。

     

    IntelliUML Teresa 2.1.1

    Beto Software

    http://www.betosoftware.com/

    30天试用

    1.5

     

    Java

    IntelliJ IDEA紧密集成。2008年以后不再更新。

     

    IRIS 2.0

     

    Osellus

    http://www.osellus.com/

     

     

     

     

     

    提供RUP桥接(RUP-Bridge)技术,RUP剪裁和部署工具。

     

    Javelin 7.3.0.2

     

    Step Ahead

    http://www.stepaheadsoftware.com/javelin.htm

    30天试用

     

    Java

     

    Windows

    基于UML的图形编程环境,自动保持类图和Java代码同步。支持Hibernate

     

    JDeveloper 10g 10.1.3.2

     

    Oracle

    http://www.oracle.com/tools/jdev_home.html

     

     

    Java

     

    Java

    结合了UMLJ2EE工具

     

    Jude 5.5.2

     

    推荐√

    Change Vision(日)http://jude.change-vision.com/jude-web/index.html

    Community版免费

    2

    JavaC#C++

     

    Java

    Java双向工程。支持思维导图(Mind Map),可以从思维导图中转换内容到用例图或者类图。

     

    Kant & Plato 2008

     

    楚凡科技(中国)

    http://www.trufun.net/

    有免费版

    2

    EclipseVS2005/2008

    Windows

     

     

    MacA&D 7.4

    Excel Software

    http://www.excelsoftware.com/macosxproducts.html

     

    2

    C++JavaDelphi

    Mac

    支持UML建模,结构化建模,数据建模。

     

    MagicDraw 16.6

     

    推荐√

    No Magic, Inc.

    http://www.magicdraw.com/

    有试用版

    2.2

    C++JavaC#IDL

    Java

    EclipseVS2005/2008集成,支持多国语言。支持RUPWAE设计模式,支持DoDAF框架。支持SysML

     

    MetaEdit+ 4.5

    MetaCase Consulting芬兰

    http://www.metacase.com/

    有试用版

     

    SmalltalkC++JavaDelphi (Object Pascal)SQLCORBA IDL

     

    LinuxWindows

    领域特定建模(DSM)工具。

     

    Metamill 4.2

     

    Metamill(卢森堡)

    http://www.metamill.com/

     

    30天试用

    2

    C++JavaC#

    LinuxWindows

    多用户建模支持。国内无法访问该网站。

     

    Modelio

     

    Modeliosoft

    http://www.modeliosoft.com

    有免费版

    2

    C#Java

     

     

     

    Modelmaker 10.04

     

    Model Maker荷兰

    http://www.modelmakertools.com/

    demo

    2

    Delphi 4Delphi 2009C#VS 2003VS2005VS2008

     

    Windows

    DelphiC#重构和UML建模,支持某些“自适应”的方法学。

     

    MyUML 091116

     

    http://en.myuml.net

     

     

     

    C++JavaC#PythonRubyPHP5Perl

     

    Windows

     

     

    NetBeans UML 6.5

     

    NetBeans

    http://www.netbeans.org

    开源

    2

     

     

     

     

     

    Nucleus BridgePoint

    Accelerated Technology http://www.mentor.com/products/embedded_software/nucleus_modeling/index.cfm

    有评估版

    2

    C, C++

     

    Windows, Solaris

    专门针对嵌入式系统的MDA工具,使用XT UMLUML2的一个子集),可直接运行模型。

     

    Object Domain R3

     

    Object Domain Systems

    http://www.objectdomain.com/

    有试用版

     

    JavaC++IDLJPython

    Java

    支持多用户,支持Swing,使用JPython 2.1作为脚本语言。客户有Alcatel等大公司。

     

    Objecteering 6.0

     

    SOFTEAM(法国)

    http://www.objecteering.com/

    有试用版

    2

    JavaC++C#IDLSQLOracle

    Windows, LinuxSolaris

    自动模式支持,产生测试脚本..有专门支持极限编程(XP)的配置。支持MDASPEM。支持跟踪管理。

     

    objectiF 5.0

     

    microTOOL(德国)

    http://www.microtool.de/objectiF/de/index.htm

     

    Demo

     

    Visual C++, JBuilder, Visual Café, IDL, SQL, Visual Basic

    Windows

    VS.NETEclipse结合。

     

    openArchitectureWare 4.3.1

     

    http://www.openarchitectureware.org

    开源

     

     

     

    Java

    MDA/MDD生成器框架,支持MagicDraw, Eclipse UML2, Enterprise Architet等多种工具。相关书籍:

    http://www.china-pub.com/44194

    已经成为Eclipse Modeling Project的一部分

     

    Open ModelSphere 3.1

     

    magna solutions

    http://www.modelsphere.org/open_modelsphere.html

    开源

     

    Java

    Java

    支持业务流程建模、数据建模、UML建模。

     

    Papyrus UML 1.12

     

    http://www.papyrusuml.org

    开源

    2

     

     

    Java

    基于Eclipse的建模工具,可自行添加图形,代码生成器。

     

    Poseidon for UML 6.0

     

    Gentleware AG(德国)

    http://www.gentleware.com/

    Community Edition免费,其他版本试用

    2.1

    Java

    Java

    基于开源项目ArgoUML的商业产品,支持多国语言。集成到Eclipse,使得Poseidon利用其他工具的方便性大大增加,减少了许多import/export的工作。序列图、状态图的全屏幕编辑。

     

    PowerDesigner 15.0

     

    推荐√

    Sybase

    http://www.sybase.com/products/powerdesigner/

    有试用版

    2

    C++, Java, C#, VB.Net,XML

     

    Windows

    企业建模、对象建模、数据建模相结合。

     

    ProVision EnterprisePro 5.0

    Avoka

    http://www.avoka.com/proforma/EnterprisePro.shtml

    有试用版

     

    C++, Smalltalk, ERWin, VB, SQL

     

    Windows

    集成业务建模、需求建模和对象建模工具。

     

    PROSA UML 2007

     

    Insoft Oy(芬兰)

    http://www.insoft.fi/eng/

     

     

    C++, Java, C#, COM, SQL

     

    Unix, Windows

    可以把状态图和活动图转变成可执行的C++, Java代码。支持移动设备开发。最近更新时间2007年。

     

    PyUt

     

    C.Dutoit

    http://pyut.sourceforge.net/index.html

    GPL

     

    Python

     

     

     

     

    QuickUML 2.0

     

    Excel Software

    http://www.excelsoftware.com/

     

     

     

     

     

    Windows, Linux, Mac OS X

    多平台原生支持的UML工具。网站在国内无法访问。

     

    RAPID RMA

     

    Tri-Pacific

    http://www.tripac.com/html/prod-toc.html

     

    有试用版

     

     

     

     

    Rose Real-timei-Logix Rhapsody结合

     

    Rhapsody 7.5

     

    推荐√

    IBM Rational

    http://www-01.ibm.com/software/awdtools/rhapsody

    30天完整试用

    2.1

    IDL, Java, C++, Ada, C, C166, M16C, COM

    Linux, Windows, Solaris

    聚焦于实时嵌入系统开发的模型驱动开发(Model-Driven DevelopmentMDD)工具,能从状态图、活动图生成代码。支持SysML。支持DoDAF框架。

     

    Real Time Developer Studio 4.0

     

    http://www.pragmadev.com

     

     

     

     

     

    聚焦于实时嵌入系统开发的模型驱动开发工具

     

    Rational Software Architect 7.5

     

    推荐√

    IBM Rational

    http://www.rational.com/

    可以试用

    2.1

    Java, C++, VB,Ada, IDL, Delphi, SQL, Oracle

    Windows, Linux, Unix

     

     

    Select Solution for MDA

     

    Select Business Solutions

    http://www.selectbs.com/products/select-solution-for-mda.htm

     

     

    IDL, C++, Java, C#, Delphi, Forte, Oracle-DDL, SQL, SQL Server-DDL, VB, Peoplesoft

    Windows

    可以和ERWin, Caliber-RM协同工作,Rose输入输出。

     

     

    SequenceViz 0.11

    Nleghari

    http://sequenceviz.codeplex.com

    开源

     

     

     

     

    序列图和代码双向工程

     

    SmartDraw 2010

     

    SmartDraw

    http://www.smartdraw.com

    30天试用

    2

     

     

    Windows

    支持包括UML在内的各种软件设计图形,支持UML2.0

     

    SmartState 4.1

     

    ApeSoft(印度)

    http://www.smartstatestudio.com

    有试用版

     

    C++, Java, C, C# , XML.

     

    Windows

    状态图工具,100%的代码生成。

     

    StarUML 5.0

    推荐√

    StarUML Development Group

    http://staruml.sourceforge.net

    开源

    2

    C++, Java, C#

    Windows

    MDA支持,在可用性上下了工夫。

     

    Structure101

     

    Headway

    http://www.headwaysoftware.com/

     

    有试用版

     

     

    Java, C++

     

     

    强大的逆向工程工具,帮助分析软件结构。

     

    System Architect

     

    推荐√

    IBM Rational

    http://www-01.ibm.com/software/awdtools/systemarchitect

    15天试用

     

    IDL, C/C++, Java, C#, Delphi, HTML, PowerBuilder, Smalltalk, VB

     

    Windows

    能够把数据模型转成类模型,支持流行的工业架构框架,如Zachman Framework, DoDAF (C4ISR Framework)TOGAF (The Open Group Architecture Framework).  。值得注意的是增加了两种针对管理层的图形作为原有图形的补充:Enterprise Explorer Diagram用于帮助了解企业的全貌、Enterprise Direction Diagram帮助形成企业的目标和战略。

     

    Tangible Architect 4.0 for VS2005

    tangible engineering GmbH(德国)

    http://www.tangible.de/

    30天试用

     

    C#

     

    Windows

    直接在VS.NET中根据UML模型生成业务对象和数据库,并把业务对象和表示层绑定。内嵌DSL建模器。

     

    TextUML Toolkit

     

    abstratt.technologies

    http://abstratt.com

    开源

     

     

     

     

    键入脚本,得到UML模型。

     

    Together 2008

     

    Borland

    http://www.borland.com/together/index.html

    15天试用

    2

    CORBA IDL, C++, Java, C#, COM IDL, EJB, Visual Studio .NET, SAP, WebSphere

    Java

    强有力的工具。支持DSLOCL2.0PEL4WS

     

     

    Topcased 3.1.0

     

    http://www.topcased.org(法国)

    开源

    2.1

    Java

     

    Java

    EclipseUML插件,随Eclipse升级。

     

    Trace Modeler 1.6.4

     

    TraceModeler.com(比利时)

    http://www.tracemodeler.com

    30天试用

    2

     

     

    Java

    UML序列图专用工具

     

    UML Diagrammer 6.20

     

    Pacestar Software

    http://www.pacestar.com/uml/index.html

    30天试用

    2

     

    Windows

    除支持UML2.0外,还支持传统流程图。

     

    Umbrello UML Modeller 2.0

     

    Umbrello Project Team

    http://uml.sourceforge.net/index.php

     

    开源

     

    PHP5, Ada2005, Perl

    Linux/KDE

     

     

    UMLAUT NG

    Triskell Project(法国)

    http://www.irisa.fr/pampa/UMLAUT/

    免费

     

    Eiffel, CDIF, OCL

    Linux, Solaris, Windows

    一个研究项目的一部分,支持许多新特性。可以读取mdl,可以作模型检查。支持面向方面开发。

     

    UMLGraph 5.2

     

    Diomidis D. Spinellis

    http://www.umlgraph.org

    开源

     

    Java

     

    Java

    由《代码阅读方法与实践》作者Diomidis Spinellis编写。受到Martin Fowler推荐。

     

    UMLet 10.3

    M. Auer, T. Tschurtschenthaler, L. Meyer, G. Rainer, U. Beyer.

    http://www.umlet.com

    GPL

     

    Java

     

     

    轻量建模工具。可以通过Eclipse和别的工具共享图形。

     

    UML Pad 3.2

     

    Luigi Bignami意大利

    http://web.tiscali.it/ggbhome/umlpad/umlpad.htm

    GPL

     

     

     

    Windows

     

     

    UMLStudio 8.0

     

    PragSoft

    http://www.pragsoft.com/

    可以试用

    2.1

    C++, C#, Java, CORBA IDL, PHP 5, Ada 95

     

    Windows

     

     

    UModel 2010

     

    推荐√

    Altova美国澳大利亚

    http://www.altova.com/products/umodel/uml_tool.html

    30天试用

    2.2

    JavaC#, VB.NET

    Windows

    强大双向工程能力。特别是序列图逆向工程。

     

    USE 2.5.0

     

    Lars Hamann

    http://www.db.informatik.uni-bremen.de/projects/USE/

    免费

     

     

     

     

    从文本得到UML模型

     

    Violet UML Editor

    Alexandre de Pellegrin

    alexdp.free.fr/violetumleditor/page.php

     

    开源

     

     

     

     

     

     

    Visio 2007

     

    Microsoft

    http://www.microsoft.com/office/visio/

     

     

    IDL, C++, C#, VB

    Windows

    微软的绘图工具,支持UML

     

    Visual Classworks 7.0.4

     

    Step Ahead Software(澳大利亚)

    http://www.stepaheadsoftware.com/products/vcw/vcw.htm

    可以试用

     

    C++Java

     

    Windows

    类图设计工具。

     

    Visual Case 2.14.0

     

    Artiso(加拿大)

    http://www.visualcase.com/

    30天试用

     

    C#, VB, Java,  Access, Pervasive SQL, Interbase, PostgreSQL, Oracle9

     

    Windows, Linux, Solaris, Mac OS X

    强力的UML-数据库双向工程。

     

    VisualSTATE 6.2

     

    推荐√

    IAR Systems瑞典

    http://www.iar.com

    可以试用

     

    C/C++

     

    Windows

    使用UML进行嵌入式系统开发。包括设计、测试。自动生成C/C++代码和全套文档。

     

    Visual Paradigm for UML 7.1

    推荐√

    Visual Paradigm(香港)

    http://www.visual-paradigm.com/

    Community Edition免费

    2.2

    Java, C++, CORBA IDL, PHP, XML Schema, C#, VB .NET, Object Definition Language (ODL), Flash ActionScript 3.0, Delphi, Perl, Python, Objective-C

    Java

    支持用例文档。支持文本分析和CRC卡能。支持Robustness Analysis。支持自定义形状或导入Visio的图形。

    有需求管理功能。

    可用性好,图形漂亮。

    报表生成。

    影响分析。

     

    Visual UML 5.3

     

    Visual Object Modelers

    http://www.visualuml.com/products.htm

    30天试用

    2

    IDL, C++, Java, C#, Visual FoxPro, VB, VB.Net, Access, SQL Server, SQL Anywhere, Oracle, MySQL, VS.NET, VBScript/JScript, VBA, UML Web扩展

    Windows

    VS.NET2002-2003VS2005插件。支持GoF模式。支持Robustness建模,业务对象建模。

     

    Visual Use Case 2009

     

    推荐√

    TechnoSolutions

    http://www.visualusecase.com/index.html

    30天试用

     

     

     

    Windows

    可视化用例建模。

     

    WinA&D 4.1

     

    Excel Software

    http://www.excelsoftware.com/

     

     

    C++, Java, Delphi,SQL

     

    Linux, Mac, Windows

    支持UMLCRC、数据流图、ER图。

     

    XCoder 1.1.0

    Liantis(德国)

    http://sourceforge.net/projects/xcoder

    GPL

     

    Java, C++, C#

     

    Java

    支持极限建模。支持MDA标准。

     

    yUML

     

    http://www.yuml.me

    免费

     

     

     

     

    在线建模,分享模型。支持类图、活动图、用例图

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     MDA

     


    *有一些上一次总结曾经列出的软件因没有更新而被废弃。

     

     

    AllFusion Component Modeler 4.1

    Computer Associates

    http://www3.ca.com/Solutions/Product.asp?ID=1003

     

     

    JavaVisual studioFortePowerBuilderC++IDLVBDDL-SQLSmalltalk

    Windows

    就是以前的Paradigm Plus。支持Catalysis方法,和BPwinErwinModelMartJasmine实时集成,支持过程建模。

     

     

    alma 0.39

    欧洲Alma Team

     

    http://www.memoire.com/guillaume-desnoix/alma/index-en.html

    开源

     

    Java, C, C++, BDL,Delphi, Eiffel, Python, IDL, ODL, SQL, Lisp, HTML, XML, XMI, Fortran

     

    Java

    可以读取Rosemdl文件

     

     

    AnyStates 3.0

    XJ Technologies(俄罗斯)

     

    http://www.xjtek.com/products/anystates/

    有评估版下载

     

    C++, C#, Java, J#, gcc/pgcc(Linux)

    ×

    Windows, Windows CE

    UML状态图编辑器和调试器。可以和Visual Studio集成。

     

     

    AP Studio

    Kedar Patankar, Binoy Samuel and the Demeter GroupNortheastern University

    http://www.ccs.neu.edu/research/demeter/APStudio/ap-ad.htm

     

     

    Demeter/Java

     

    Windows, Solaris

    开发Demeter/Java程序的UML工具

     

     

    ARIS 6.1

    IDS Scheer(德国)

     

    http://www.ids-scheer.com/english/index.php

     

     

    OracleSAP

    ×

    基于Web,平台无关

    强有力的业务流程套件,为业务流程设计引入UML

     

     

    BetterState 6.1

    WindRiver

     

    http://www.windriver.com/products/betterstate/index.html

    Lite

     

    C, C++, Java

     

    Windows

    UML状态图或PetriNet和代码双向工程,可直接运行在嵌入式操作系统如VxWorksOSEKWorks平台上

     

     

    Bold 3.2

    BoldSoft(Borland)

     

    http://www.borland.com/

     

     

    Delphi, C++, COM, XML, SOAP

     

    Windows

    BoldSoft原为瑞典公司,2002/10已被Borland收购。功能已并入Borland DelphiBorland C++ Builder

     

     

     

     

     

     

     

     

     

     

     

     

    Code Logic 2.1

     

    Logic Explorers

    http://www.logicexplorers.com/products/codelogic/details.html

     

    有试用版

     

    Java, C#

     

    Java

    强有力的、动态的双向工程,特别是从代码到顺序图的自动生成。已经停止更新。

     

    CodeModeler 1.6

     

    Aruba Development

    http://www.arubadev.com/

    30天试用版

     

     

     

    Windows

    已停止更新。

     

    Describe 6.1.6

     

    Embarcadero

    http://www.embarcadero.com/products/describe/dedatasheet.asp

    15天试用

    2

    C++, Java, C#, VB, CORBA IDL,

    Windows, Solaris

    自称为“IMDE”(集成建模和开发环境)。双向工程以垃圾代码少而颇受好评。提供对Visual Studio .NET 2003Sun One Studio Java开发平台的集成支持。还可以和ER/Studio, Caliber, DOORS集成,支持协作开发。

     

     

     

     

     

     

     

     

     

     

    Development Accelerators

    Blueprint Technologies

     

    http://www.blueprinttech.com/Products/Accelerators.asp

     

     

     

     

     

    模式&框架工具,与Rose整合,支持GammaBuschmannFowlerHay的模式,也可以自定义模式和框架,支持模式的模糊查询。

     

     

    devine

    Tom Jones

    http://www.tojosoft.de/Produkte/dvine/dvine.html

    有试用版

     

    Delphi

     

    Windows

    Delphi代码和UML之间转换

     

     

    Delphia Object ModelerD·OM

    Atos Origin法国

    http://www.si.fr.atosorigin.com/rhone-alpes/Dom/

     

     

     

     

    Windows, Unix (Solaris, Linux, AIX,  HP-UX)

    UML原型工具,支持到目标架构的转换规则。支持HTMLRTF文档化。

     

     

    DocExpress 3.3

     

    Telelogic

    http://www.telelogic.com/products/additional/docexpress/index.cfm

     

     

     

     

     

    Telelogic套件的一部分,可以与TauRoseParadigm PlusAonix StP结合产生可裁剪的WordInterleafRTFFramemakerHTML文档。

     

    Documentator

    Henk Rippen德国

    http://www.rippen.de/de/produkte/documentator.htm

     

     

     

     

    Windows

    可以从RoseSelect Enterprise产生Word文档。

     

    DOME (the DOmain Modeling Environment) 5.3

     

    Honeywell

    http://www.htc.honeywell.com/dome/index.htm

    开源

     

     

    ×

    Linux, MacOS, Windows, Solaris

    元模型工具,如果需要添加你自己的标记法时很有用。有ftp站点供大家交换模型。

     

    EctoSet Modeller 2.2

     

    EctoSet(澳大利亚)

    http://www.ectoset.com/

    有试用版

     

    Delphi/Kylix, C++ Builder, Java, VB

    Windows, Linux

    强有力的内嵌工具

     

     

    Ensemble Glider

     

    Ensemble Systems

    http://www.ensemble-systems.com/products.html

    有试用版

     

    Java

     

    Java

    RoseEclipse/WSADXDE插件,支持BEA, Weblogic, Tuxedo, SAP

     

    Elixir CASE 1.2.4

    Elixir Technology(新加坡)

    http://www.elixirtech.com/

    有试用版

     

    Java

     

     

     

     

    Enterprise FrameWork

    Ptech Inc

     

    http://www.ptechinc.com/

     

     

     

     

     

     

    基于知识库的业务流程建模、BPR工具。

     

     

    FL 0.4.12

     

    Novosoft(俄罗斯)

    http://www.novosoft.us/solutions/tools.shtml

    免费

     

    DB/2, Oracle, Interbase, Microsoft SQL Server, MSAccess, PostgressSQL

     

    Java

    Rose插件,简化基于Java的关系数据库应用开发。简化持久对象的生成,使用OQL(对象查询语言)访问数据库。

     

    FreeCASE

    FreeCASE Project

    http://www.freecase.seul.org/details.html

    开源

     

     

     

    Windows, Linux

    一个开源项目,已经停止了。

     

     

    GRADE Modeler 4.0

     

    GRADE Development Group(拉脱维亚)

    http://www.gradetools.com/default.htm

    有试用版

     

     

     

    Windows

    业务分析和系统分析工具,擅长复杂模型图的界面显示、界面操作,为你自动整理纷乱巨大的图―还带语音功能。可以和Rose交互。

     

    HAT

    E2S(比利时)

    http://www.hoora.org/

     

    1.3

    C++

    ×

    Windows

    HOORAHierarchical Object Oriented Analysis)方法原来是为欧洲太空总署(ESA)开发的一种面向对象方法m,提供了如何使用UML来开发软件的清晰指南。HAT严格遵循HOORA,可以和Rose交互

     

    Ideogramic UML 2.3.3

    Ideogramic ApS(丹麦)

    http://www.ideogramic.com/products/uml/

    有试用版

     

    JavaC/C++

    Windows, Linux

    关注“用手建模”的UML建模工具,强调创造性和弹性。支持电子白板,支持在桌面、可移动物体上建模。(似乎已经停止更新)

     

     

    Holocentric Modeler

    Prism International

    http://www.holocentric.com/HolocentricModeler.html

     

     

     

     

     

    业务建模工具

     

    INNOVATOR 8

     

    MID GmbH(德国)

    http://www.mid.de/de/innovator/object/

     

     

    JavaC/C++SmalltalkForteObject COBOLIDLVB

    AIXDEC VMSHP-UXLinuxOS/2SolarisWindows

    可以和BPR工具集成,良好集成版本控制工具(PVCS, Clearcase…),自动产生Word, FrameMakerPS文档。

     

    ISFxIAR

    Projexion Netsoft(法国)

    http://www.projexion.com/index.php?lang=fr&ID=10

     

     

    Java

     

     

     

     

     

    Iss-UML

    Halstenbach(德国)

    http://www.halstenbach.com/home.php3

     

     

     

    Eiffel

     

     

    Rose插件,提供Eiffel双向工程支持。

     

    JVISION 2.1

    object-insight

    http://www.object-insight.com/product/

    有试用版

     

    Java

     

    LinuxSolarisWindows

     

     

     

    JUMLi 1.4

     

    Kreditwerk(德国)

    http://www.jumli.de/

     

     

    C++JavaC#

     

    Java

     

     

    Konesa 2.2

     

    Canyonblue

    http://www.canyonblue.com/products.htm

    免费

    1.4

    Java, C++

     

    Java

    基于InternetUML建模实时协作工具,支持协作建模和知识共享。

     

    kUML

     

    kUML

    http://sourceforge.net/projects/kuml/

    开源

     

     

     

    Linux

    200010月后没有更新。

     

    MasterCraft Component Modeler

     

    MasterCraft(印度)

    http://www.tata-mastercraft.com/overview.asp

     

     

     

     

     

    基于UML的构件建模工具

     

    MiUML 0.98

     

    SoftwareFarm

    http://www.swfm.com/miuml.htm

    免费

     

     

    Java

    此项目目前已停止

     

     

    Modelistic 1.1

     

    Modelistic(英国)

    http://www.modelistic.com/

     

    demo

     

    Java

     

    Java

    Eclipse遵循XP原则来进行Java开发。

     

    Model Prototyper

    ObjeXion(法国)

    http://www.objexion.com/

     

     

     

     

    UML模型产生SQLGUI原型

     

     

    OCL Parse 0.3

    IBM

    http://www-306.ibm.com/software/awdtools/library/standards/ocl-download.html

    开源

     

     

     

    Java

    支持语法检查和部分类型检查,无IBM官方支持。

     

    ROCASE 1.0

     

    "BABES-BOLYAI" University Computer Science Research Laboratory(罗马尼亚)

    http://lci.cs.ubbcluj.ro/rocase.htm

    免费

     

    C++, VC++, BC++

     

    Windows

    支持OCLMFC。已经停止升级。

     

     

    Simply Objects 3.4

    Adaptive Arts(澳大利亚)

    http://www.hallogram.com/simobjdelphi/

    有试用版

     

    C++, C#, Delphi, Smalltalk, Java, VB, Eiffel, OO COBOL, Bullant

    Windows

     

     

     

    SiSy Developer 2.16

     

    SiSy(德国)

    http://www.rms-deutschland.de/produkte/produkt_haupt.php

     

     

    C/C++, Delphi, Pascal, Java, C#, 汇编

     

     

     

     

    SoftModeler 3.6

    Softera(以色列)

    http://www.softera.com/products.htm

     

    30天试用

     

    Java

     

    Java

    专门针对JavaEJBUML工具。

     

     

    Software through Pictures(Stp/UML) 8.3

    Aonix

    http://www.aonix.com/

    有试用版

     

    IDL, C/C++, Java, Ada95, COM, EJB

     

    Windows

    擅长在异种开发环境下工作。

     

     

    Tengger

    IBM

    http://www.alphaworks.ibm.com/tech/tengger

    90天试用

     

    Java

     

    读取任何一种工具的XMI,产生Java代码。

    已经废止。

     

     

    Trice

    Protos(德国)

    http://www.protos.de

     

     

    CORBA IDL, C++, C, COM, Microcontroller(C166, 8051,…)

     

    Windows

    遵循ROOM的嵌入式和实时系统开发

     

    UmlNICE 1.0

     

    Intecs Sistemi(意大利)

    http://www.etruscan.li.it/UmlNICE/HTML/features.htm

     

    有试用版

     

    IDL, Java, Ada

    Java

    已经停止更新

     

     

    Unimodeler 1.4

     

    Unimodeler

    http://www.unimodeler.com/

     

    免费

     

     

     

    Linux

     

     

    VB CASE

    VB CASE Project

    http://www.quitetheberries.com/vbcase/

    开源

     

    VB

     

    Windows

    专用于VBCASE工具。现在已经停止开发。

     

     

    WithClass 2000 v6

     

    MicroGOLD

    http://www.microgold.com/

     

     

     

    C++, Java, Delphi, VB, IDL, Perl, PHP, C#, VB.NET, VBA, PHP, ODBC, Smalltalk, VDHL

     

    Windows

     

     

     

    XDE

    IBM Rational

    http://www.rational.com/products/xde/xdedev.jsp

     

    可以试用

     

    C#, Java

     

    Windows

    完全整合到VS.NetWebsphere Studio J2EE平台中。支持模式。

     

     

     

     

     

     

     

     

     

     

     

                                       

     

     

     

    ClassBuilder 2.4

    Jimmy Venema(荷兰)

    http://members.lycos.nl/JimmyVenema/ClassBuilder/ClassBuilder.htm

    免费

     

    C++

    ×

    Windows

    专门针对C++用户。精细的顺序图编辑器。可以以RTFHTML格式产生文档。

     

    UML2COM

     

    Arion(希腊)

    http://www.arion.gr/uml2com/index.htm

     

    有试用版

     

    C++, VC

     

    Windows

    Rose插件,把C++VC代码转成COM/COM+组件

     

     

     

     

     

     

     

     

     

     

    Toolkit for Conceptual Modeling (TCM) 2.20

     

    Twente大学(荷兰)

    http://wwwhome.cs.utwente.nl/~tcm/

     

    开源

     

     

     

    Linux, Windows

    已经很久没有更新。

     

    Flywheel 7.2

     

    Velocitis

    http://www.velocitis.com/

    30天试用

     

    C#VB.Net

    Windows

    UML.NET代码的映射,完全结合VS.Net 2003。可视化重构。

     

    ProxyDesigner 1.0

     

    ProxySource

    http://www.proxysource.com/Home.asp

    免费

     

     

     

     

    支持Patterns。而且把ProxySource

    社区集中联合起来,分享各自的模式、架构、设计。

     

    ObjectMaker

     

    Mark V Systems

    http://www.markv.com/products.html

     

    有试用版

     

     

     

     

    支持大多数建模符号。已停止更新。

     

    O32 1.3

     

    blue river software(德国)

    http://www.blue-river-software.com/products/o32/o32.htm

     

     

     

    C/C++

     

    Windows

    2004年停止更新。

     

    ObjectArtist 0.1.1

     

    Sven Daumann德国

    http://www.objectartist.org/

    开源

     

    Java

    Java

    支持设计模式。已停止更新。

     

    Novosoft UML Library

    Novosoft(俄罗斯)

    http://gemini.novosoft.ru/NS2B.nsf/w1/UML_Library

    开源

     

    Java

    Java

    元数据框架。

     

    Composum 2.0

     

    IST

    http://www.ist-dresden.de/products/Composum/index.html

    community edition免费

     

     

    Java

    可以导入Rose模型。2005年以后没有再更新。

     

    ESS-MODEL 2.2

     

    Eldean AB(瑞典)

    http://essmodel.sourceforge.net/

    开源

     

    Delphi/Kylix, Java

    Windows

    支持Delphi/Kylix, Java双向工程。2003年后不再更新。

     

    iUML 2.x

     

    Kennedy Carter

    http://www.kc.com/products/iuml.php

    有试用版

     

     

     

    Windows

    xUML建模工具。开发、执行和模拟xUML模型。自动禁止“无效”模型。支持MDA。可以和DOORS集成。

     

    J2U 1.3.3

     

    NASRA(法国)

    http://www.nasra.fr/flash/NASRA.html

    有试用版

     

    Java

    Java

    顺序图双向工程,从可执行Java代码到XMI,可以直接输出到Together,也可以间接输出到任何兼容XMIUML工具。

     

    JSequence 1.0A

    Objective Ideas(瑞典)

    http://www.aptrio.com/Development/Java/jsequence-5652.html

    有试用版

     

    Java

     

    Java

    自动从Java代码中产生顺序图。

     

    MEGA 6.1

    MEGA Intenational法国

    http://www.mega.com/us/product/overview/

     

    有试用版

     

    JavaVBC++

    Windows

    系列套件,从业务流程分析到构件设计,基于UML

     

    Mia-Generation 4.5

     

    Mia-Software(法国)

    http://www.mia-software.com/index.php?lang=en&theme=prod-miagen

    有试用版

    2

     

     

     

    模型到代码的转换器。专注可裁减的代码生成。覆盖现在使用的各种主流语言。

     

     

    Mia- Transformation 3.5

     

     

    Mia-Software(法国)

    http://www.mia-software.com/index.php?lang=en&theme=prod-miatrans

    有试用版

    2

     

     

     

    模型到模型的转换器

     

     

    ObjectPlant 4.1.4

     

    http://www.arctaedius.com/ObjectPlant/

    共享软件

     

    C++, Java, Objective-C

     

    Mac OS X

    Mac上的UML工具。

     

    OCL Compiler 1.0

     

    Cybernetic Intelligence GmbH

    http://www.cybernetic.org/prodocl.htm

     

    免费

     

     

     

     

    OCL检查工具,可以整合到SELECT EnterpriseRational Rose中。

     

    OptimalJ 4.2

     

    http://www.compuware.com/products/optimalj/

    有试用版

    2

    Java

     

    Java

    模式驱动的MDA工具。结合MagicDraw2008年以后停止更新。

     

    OSCAR

     

    WildeTechnologies

    http://www.wildetechnologies.com/

    开源

     

    XML Web Services, .NET components, COM components.

     

    Windows

    基于UML的可视化组件装配。用C#编写。

     

    Sequence Diagram Editor 1.7

    Effexis Software

    http://www.effexis.com/sde/index.htm

    14天试用

    2

     

     

     

    专注于序列图和call flow图。

     

     

     

     

     

     

     

     

     

     

    Tablet UML 1.5

     

    Martin L. Shoemaker

    http://www.tabletuml.com/home.aspx

    无限期试用

     

     

     

    Windows

    发挥TableletPC的特点,手绘建模。

     

    Tau G2

     

    Telelogic AB(瑞典)

    http://www.telelogic.com/

     

    2

    CORBA IDL, C/C++, Java, COM+ IDL, EJB, Ada, Delphi, PB, Forte. NewAge, Eiffel

    HP-UX, Solaris,

    Windows

    支持UML2.0,支持MDA。支持DoDAF框架。支持SysML

     

    展开全文
  • UML 工具一览

    千次阅读 2010-11-30 11:50:00
    留备后查 转自:http://www.umlchina.com/Tools/Newindex1.htm<br />  <br />UML相关工具一览(截止2010年10月)  整理 本文的PDF版本在此下载>> 以下总结了全世界的各种UML相关...

    留备后查

    转自:http://www.umlchina.com/Tools/Newindex1.htm

     

    UML相关工具一览(截止201010月)

    logo 整理

    本文的PDF版本在此下载>>

    以下总结了全世界的各种UML相关工具,按工具名称字母排序。

     

     

    工具(最新版本)

    厂商&地址

    版权

    UML

    版本

    支持代码环境

    XMI

    平台

    备注

     

     

     

     

     

     

     

     

     

     

    Acceleo 2.7

    法国

    http://www.acceleo.org/pages/accueil/fr

    GPL

     

    C#, Java, PHP, Python

     

    Java

    法语工具。与EclipseEMF集成。

     

    AmaterasUML 1.3.2

    日本

    http://amateras.sourceforge.jp/cgi-bin/fswiki_en/wiki.cgi?page=AmaterasUML

    开源

    2

    Java

    Java

    Eclipse插件,其中的类图、序列图分析是其特色,可以从代码分析出序列图。

     

    AndroMDA 3.4

     

    http://www.andromda.org

    开源

    2.2

    J2EE/EJB,

    Spring, Hibernate, Struts, .NET, Web Services

     

    支持UML2和基于EMF的工具(MagicDraw 11.6RSM…

     

    Apollo for Eclipse 2.0

    Gentleware AG

    http://www.gentleware.com/

    30天试用

    2.1

    Java

     

    Java

    Eclipse下的UML扩展。支持Java 5双向工程。

     

    Architexa

    Architexa

    http://www.architexa.com

    30天试用

     

    Java

       

    Eclipse下的新型UML工具,专注于帮助程序员理解代码。

     

    ArgoUML v0.30.2

    推荐√

    Tigris.org

    http://argouml.tigris.org/

    BSD

     

    Java, C#

    Java

    最早的开源UML工具,支持OCL,支持认知式开发,不再只是画图,例如可以自动评价设计、自动更正等等。

     

    ARTiSAN Studio 6.2

    ARTiSAN

    http://www.artisansw.com/

    有试用版

    2.1

    C++, Java双向工程状态机模拟。

    Ada83, Ada95, C, SQL-DDL

    Windows, Solaris(服务器端安装)

    支持UML2.1SysML,可以和PVCSVSSClearCaseCM Synergy结合。

     

    Astade 0.10.1

    http://astade.tigris.org/

    开源

     

     

     

     

    UML-C++转换工具

     

    Astah 6.2.1

    推荐√

    Change Vision(日)

    http://astah.change-vision.com/ja/product/astah-uml.html

    Community版免费

    2.1

    JavaC#C++

     

    Java

    Java双向工程。支持思维导图(Mind Map),可以从思维导图中转换内容到用例图或者类图。曾用名:JUDE

     

    BOUML 4.22

    Bruno Pagès(法国)

    http://bouml.free.fr

    免费

    2

    C++, Java, IDL, PHP

     

    Unix/Linux/Solaris, MacOS X , Windows

    支持C++Java编写的插件。

     

    Case Complete 2010

    推荐√

    Serlio Software

    http://www.casecomplete.com

    30天试用

     

     

     

     

    用例管理工具。支持用例重构。

     

    CASE Spec

    Goda Software(美国)

    http://www.casespec.net/UMLUsecases.htm

     

     

     

     

     

    用例和需求管理工具

     

    Cadifra UML Editor 1.3.2

    Adrian & Frank Buehlmann瑞士

    http://www.cadifra.com/

    30天试用

     

     

     

    Windows

     

     

    CoFluent Studio

    CoFluent Design(法国)

    http://www.cofluentdesign.com

     

     

    CC++

     

     

    UML/SysML软件硬件固件一体化开发

     

    Cohesion 1.0.2

    Team Synergy(澳大利亚)

    http://cohesion.it.swin.edu.au/teamb/cohesion.shtml

    开源

     

     

     

    Java

    元模型建模工具,可以使用UMLOCL,或者其他喜欢的建模符号。

     

    Cradle 6.2

    3SL(英国)

    http://www.threesl.com/

     

     

     

     

     

    强有力的需求管理和基于模型的系统工程环境,支持UML

     

    Creately

    Cinergix Pty. Ltd

    http://creately.com/

     

     

     

     

     

    在线画各种软件建模图形。

     

    Developer-EP

    EmbeddedPlus PolySpace

    http://www.embeddedplus.com/UMLVeriBroc.php

     

     

    C++

     

     

    基于需求的UML/SysML/C++验证试环境,提供基于模型的验证。

     

    Dia 0.97

    Dia

    Alexander Larsson

    http://live.gnome.org/Dia

    开源

     

    C++, Java, CORBA IDL,

     

    Linux(Debian, Redhat),Windows

    类似Visio的工具。还支持E-R

     

    Diagrammer

    http://www.diagrammr.com

    免费

     

     

     

     

    通过文本输入,在线画UML图。

     

    EasyUML

    LMD Systems

    http://www.easyumleditor.com/easyumlhome.htm