zoukankan      html  css  js  c++  java
  • python逆向工程:通过代码生成类图

    python逆向工程:通过代码生成类图

    大致过程

    现在有一个core包,里面有python的代码。

    通过core包,生成python的类图,如下:

    实施步骤:

    1、首先安装graphviz,一个画图工具,地址为:
    http://www.graphviz.org/pub/graphviz/stable/windows/graphviz-2.28.0.msi

    或者百度下载中心,下载graphviz


    2、pyreverse能方便的生成uml类图,pylint里自带了pyreverse这个工具。使用pip安装pylint
    pip install pylint


    3、使用,可以参考的命令为,core为存放代码的目录
    pyreverse -ASmy -o png -p _002 core/

    这样就会在和core同级的目录生成2张png图片。

    一张类图,一张包图

    参考:

    http://blog.csdn.net/u013920085/article/details/53285288

    延伸:

    1、包图图解:

    包图中,实线箭线表示python模块之间的引用关系。

    A用实线箭线指向B时,表示A模块中import(导入)了B模块。

    python模块可以是一个文件(*.py),也可以是一个包(含有__init__.py的Python包)。

    注意:基础模块(os、sys等)不会再包图中显示。

    2、类图图解:

    类图中,实线空心三角表示继承基类(父类)。

    A用实线空心三角指向B时,表示A类继承了B类。(如果改为虚线,则表示继承接口,java中常见)

    类图中,实线实菱形表示组合关系,如人体的各个部位,不可分割。(如果改为空菱形,则表示聚合关系,如团队由人员组成,可以分割)

    A用实线实菱形指向B时,表示A是属于B的、不可分割的组成部分。此时应在实线上标注出B的什么属性来接收A这个单位,作为B的组成部分。

  • 相关阅读:
    Mat类型at问题-opencv-bug调试
    计算机视觉牛人博客和代码汇总(全)-转载
    程序运行时间c++/matlab
    配置海康相机SDK文件
    matlab与vs混合编程/matlab移植
    一步步入门log4cpp
    批量解帧视频文件cpp
    判断颜色信息-RGB2HSV(opencv)
    向量非零区域块
    海康抓拍机SDK开发
  • 原文地址:https://www.cnblogs.com/andy9468/p/8353613.html
Copyright © 2011-2022 走看看