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的组成部分。

  • 相关阅读:
    SpringCloud----分布式事务
    ps----基础
    DVWA靶场之XSS(Stored)通关
    DVWA靶场之XSS(Reflected)通关
    DVWA靶场之SQL injection(blind)通关
    CentOS6与CentOS7的几点区别
    DVWA靶场之SQL Injection通关
    DVWA靶场之File Upload(文件上传)通关
    DVWA靶场之File Inclusion(文件包含)通关
    DVWA靶场之CSRF(跨站请求伪造)通关
  • 原文地址:https://www.cnblogs.com/andy9468/p/8353613.html
Copyright © 2011-2022 走看看