UML

  • 협업을 위해 UML을 그릴 때는 API(public 필드, 메소드)만 명시하는 버전이 있으면 좋다.
    • 클래스의 모든 멤버를 명시하면 복잡하고, 결국 협업하는데 중요한건 내부 구현이 아니라 외부로 공개한 API이기 때문

 

UML Tool

  • plant UML은 source code 작성하듯이 쓰면 된다는 장점이 있는데... 익숙하지 않으면 문법을 따로 보면서 해야해서 좀 불편할 것 같고.
  • starUML은 쓰다보면 속터진다. UX가 엉망... 그래도 무료중에 이거만한게 없긴 함.
  • https://www.websequencediagrams.com/  
  • https://www.draw.io  강추!!
 

python

  • epydoc
    사실 doc을 만들어주는 목적인데, 코드를 기반으로 UML형태의 html / pdf 보고서를 만들어준다.
 

aggregation VS composition

[Coding/CodingNote] - [코딩 노트] 객체 지향 패러다임   

 

자주 쓰는 diagram으로 sequence, class, flowchart, erd가 있는데, 여기에 state machine도 추가한다.

FSM이 상태 전이를 표현하는데 아주 도움이 된다.

유한 상태 기계 (finite-state machine, FSM)