zoukankan      html  css  js  c++  java
  • 如何分析一个复杂系统

    最近要分析好几个系统。简单总结一个学习和分析系统的方法,供大家参考。

    如何去了解一个庞大的现有软件系统:

    • 先从业务角度出发,了解产品、客户、功能、价值。
    • 业务架构:了解这个产品中都有哪些业务组件,以及相互之间的关系如何。了解这个产品还与外部哪些业务应用有何种关系。
    • 逻辑架构:了解整个系统划分为哪些子系统或模板。这些子系统间是什么关系。
    • 物理/部署架构:了解整个系统(含子系统),分为哪些物理的部署组件,以及这些组件如何部署在各物理机上,以及它们的调用关系是怎样的。
    • 开发架构:从开发人员视角,了解各子系统的开发架构,如分层逻辑、划分模块、调用关系等。
    • 领域模型:在深入了解业务子系统或业务模块时,重点需要对内部的业务进行领域建模,绘制出相应的领域模型图。
    • 数据架构:了解子系统内部的领域模型是以何种方式来存储的。
    • 关键模块设计:先了解此模块的使用方法、对外的接口,然后再了解此模块的内部结构。一边看代码的同时,一边绘制相应的包图、类图、序列图。

    整个分析过程,我觉得至少必备的工具:思维导图、UML。

  • 相关阅读:
    03-树3 Tree Traversals Again
    Utuntu下Xshell使用+vi使用
    CSDN总结的面试中的十大算法
    EDM(邮件营销)
    腾讯CDC谈扁平化设计
    Graph Search图谱搜索
    LBS 与 GPS 定位之间的区别
    中间件的理解
    夏梦竹谈Hive vs. HBase的区别
    维基百科上—数据仓库、数据挖掘、OLAP三者之间的区别
  • 原文地址:https://www.cnblogs.com/zgynhqf/p/10253900.html
Copyright © 2011-2022 走看看