소프트웨어를 설계할 때 여러가지 그림을 그리게 되는데요... 그 중 가장 우리에게 친숙한 것은 아래와 같은 흐름도(순서도?)일 것입니다. 일명 FlowChart라고 하죠.
출처 : 인터넷 (http://www.breezetree.com/flow-charts/basic-flowchart.png)
이런 흐름도는 직관적이고 이해하기 편하다는 장점이 있지만, 통상적으로 여러 모듈간의 상호작용으로 이루어지는 최근의 S/W에 적용하기에는 좀 부족한 감이 없지 않습니다. 그래서 UML이나 DFD 등 여러가지 방법들을 사용하게 됩니다만...
Flow Chart를 약간 변형해서 그리게 되면 여러 모듈간의 상호작용과 각 모듈 내에서의 동작 구조를 그림 한장으로 한눈에 알아보기 쉽게 정리할 수 있습니다. 이른바 kuaaan's Diagram이라고 하는데요. (저 이름은 제가 붙인겁니다. 제가 만들어낸 방식이라서요 ㅋㅋ)
그리는 방법은 간단합니다.
1. 일반 Flow Chart처럼 Y축은 시간(논리)의 흐름을 나타낸다.
2. UML의 Sequence Diagram처럼 X축은 각 모듈을 나타낸다.
말하자면 각 모듈별로 여러 장의 순서도를 그려서 한장에 붙여놓은 식입니다. Flow Chart를 Sequence Diagram 스타일로 그렸다고 보시면 됩니다.
이렇게 그리면 한장의 그림으로 전체 시스템의 논리적 흐름을 일목요연하게 나타낼 수 있습니다.
단 한가지 문제라면 그림이 좀 커진다는 건데요... 그래서 저는 이런 그림을 그릴때 Microsoft Excel을 주로 이용합니다.
가로/세로 용지의 사이즈 제한같은 게 없거든요.
아래 그림은 NDIS 5.1에서의 SendPacket 과정을 Excel을 이용해 그림 한장에 표현한 예입니다. (확대해서 보세요. ^^)
참고하시기 바랍니다.
'C++' 카테고리의 다른 글
IP Help API Reference Page (0) | 2011.05.02 |
---|---|
File 의 변경사항을 모니터링할 수 있는 Win32 API (0) | 2011.04.22 |
Visual Studio 2005 단축키 (3) | 2011.01.06 |
VirualStudio Profiler를 이용한 Application 성능 튜닝 (병목 찾기) (4) | 2010.07.21 |
Side-by-Side 문제 관련 (4) | 2010.02.11 |