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

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

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

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

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

  • 相关阅读:
    SZU:B47 Big Integer II
    Plan : 破晓
    C程序设计语言(第二版)习题:第二章
    Linux : fedora 安装 vnc server
    Linux系统编程:客户端-服务器用FIFO进行通信
    Linux系统编程:dup2()重定向
    Vijos: P1046观光旅游
    FLOYD 求最小环
    uva 401.Palindromes
    codeforces Educational Codeforces Round 5 A. Comparing Two Long Integers
  • 原文地址:https://www.cnblogs.com/zgynhqf/p/10253900.html
Copyright © 2011-2022 走看看