2011-01-06 7 views
4

저는 Python 용 SimPy 모듈을 사용하고 있습니다. 이산 이벤트 시뮬레이션을 수행하고 있습니다. 이제 코드는 상당히 커졌으며 서로 상호 작용하는 병렬 프로세스로 진행되는 프로세스가 상당합니다.병렬 프로세스로 시뮬레이션을 문서화하는 방법은 무엇입니까?

문서화 측면에서이를 어떻게 보여줄 수 있습니까? 클래스 계층 구조는 프로세스 간의 상호 작용을 적절하게 포착하지 못하고 거의 모든 자동 생성 소프트웨어가 모든 코드가 SimPy 모듈에서 효과적으로 상속된다는 사실에 고착되어 각 클래스에 대해 전체 SimPy 문서가 생성됩니다.

UML과 같은 것이 유용 할 수 있다고 상상하지만, 나는 그것에 너무 열중하지 않습니다. 그것은 캡처해야합니다 : 채울 수 있습니다 배열과 같은 자원을 기다리는 프로세스를 포함

  • 큐 (... :
  • 자원 (/ 과소 등
  • 이벤트

    • 처리하고 있습니다 특정 용량)

    기본적으로 모든 깔끔한 시뮬레이션 코드는 도구를 문서화합니까?

    건배

  • 답변

    2

    UML은 상태도와 activitiy 다이어그램뿐만 아니라 시퀀스 다이어그램을 갖는다. 이들 중 어느 것이 적절할 것입니다. 일반적으로 다이어그램의 조합이 필요합니다.

    개체의 각 클래스에 대한 상태 다이어그램 하나. http://en.wikipedia.org/wiki/State_diagram

    개체 간의 특정 상호 작용 또는 공동 작업을 보여주는 활동 다이어그램 또는 시퀀스 다이어그램. http://www.agilemodeling.com/artifacts/activityDiagram.htmhttp://www.ibm.com/developerworks/rational/library/3101.html

    클래스 다이어그램은 클래스의 정적 기능과 그 관계를 표시하는데도 적합합니다. http://en.wikipedia.org/wiki/Class_diagram

    "전체적인 것"은 종종 문서화하기 어렵습니다.

    0

    다이어그램과 자기 소개 문구를 조합하여 사용하십시오.

    이호, 당신은 UML을 사용할 필요가 없습니다. 비 UML이 메시지를 더 명확하고 단순하게 전송하는 경우 원하는 것을 사용하십시오.

    또한 모든 기본 개념을 간략하게 요약하여 독자가 시스템의 의도와 기본 구성 요소가 무엇인지에 대한 일반적인 아이디어를 얻을 수 있도록하십시오.

    그런 다음 각 구성 요소에 대한 자세한 기사를 작성하고 다른 기사와 상호 참조하십시오.

    제이콥 카플란 모스 (Jacob Kaplan-Moss)의 기사 시리즈 Writing Great Documentation이 나에게 많은 도움이되었습니다.

    관련 문제