데이터 흐름도 레벨
데이터 흐름도는 레벨에 따라 구분되기도 합니다. 가장 기본적인 DFD는 레벨 0이며, 다이어그램이 복잡해질수록 레벨 번호도 높아집니다.
레벨 0 DFD는 컨텍스트 다이어그램이라고도 하며, 가장 기본적인 형태의 데이터 흐름도입니다. 세부 정보는 최소화하고 쉽게 이해할 수 있는 개괄적인 보기를 제공합니다. 레벨 0 데이터 흐름도는 하나의 프로세스 노드와 외부 개체 간의 연결 관계를 보여 줍니다.
레벨 1 DFD 역시 전체적인 개요를 제공하지만, 컨텍스트 다이어그램보다 더 상세한 정보를 담고 있습니다. 레벨 1 DFD에서는 컨텍스트 다이어그램의 단일 프로세스 노드를 여러 하위 프로세스로 세분화합니다. 이러한 프로세스가 추가되면 서로를 연결하기 위해 더 많은 데이터 흐름과 데이터 저장소가 필요합니다.
레벨 2 이상 DFD는 프로세스를 더욱 세부적인 하위 프로세스로 분해한 것입니다. 이론적으로는 DFD를 레벨 3 이상으로 계속 확장할 수 있지만, 실제로는 드문 편입니다. 레벨 2 이상 데이터 흐름도는 이미 충분히 상세하기 때문에 더 세분화할 필요가 없는 경우가 많습니다.
데이터 흐름도 표기법 및 기호
데이터 흐름도에 사용되는 대표적인 표기법에는 Yourdon-Coad 표기법과 Gane-Sarson 표기법이 있습니다. 두 표기법 모두 DFD 방법론 발전에 기여한 전문가인 Ed Yourdon, Peter Coad, Chris Gane, Trish Sarson의 이름을 따서 명명되었습니다.
두 표기법의 표현 방식에는 약간의 차이가 있습니다. 예를 들어 Yourdon-Coad 표기법에서는 프로세스를 원으로 나타내는 반면, Gane-Sarson 표기법에서는 모서리가 둥근 직사각형으로 표시합니다. 데이터 저장소를 나타내는 기호도 다릅니다. Yourdon-Coad 표기법에서는 평행선을 사용하고, Gane-Sarson 표기법에서는 한쪽이 열린 직사각형을 사용합니다.
DFD 기호는 표기법에 따라 달라질 수 있으므로, 혼동을 방지하려면 선택한 표기법을 일관되게 사용하는 것이 중요합니다. DFD 소프트웨어를 사용하는 경우에는 사용할 수 있는 기호 체계가 미리 정해져 있는 경우가 많습니다.
모든 데이터 흐름도는 개체, 프로세스, 데이터 저장소, 데이터 흐름의 네 가지 주요 요소로 구성됩니다.
외부 개체: 행위자, 소스, 싱크, 터미네이터라고도 하는 외부 개체는 자신과 다이어그램으로 표현된 시스템 사이를 흐르는 데이터를 생성하거나 소비합니다. 이러한 데이터 흐름은 DFD의 입력과 출력을 나타냅니다. 분석 대상 시스템 외부에 존재하기 때문에 일반적으로 다이어그램의 경계에 배치됩니다.
프로세스: 데이터 흐름을 변경하는 모든 활동을 의미합니다. 프로세스는 입력 데이터를 출력 데이터로 변환하므로, DFD에서 프로세스는 반드시 입력과 출력을 모두 가져야 합니다. 다이어그램에서는 단순히 '프로세스'라고 표시하지 않고, '주문 배송'과 같이 해당 기능을 나타내는 간단한 이름을 사용합니다. Gane-Sarson 표기법에서는 직사각형 상자를 사용하며, 프로세스 참조 번호, 시스템 내에서 해당 프로세스가 수행되는 위치, 그리고 기능을 설명하는 짧은 제목이 함께 표시될 수 있습니다. 데이터 흐름도에서 프로세스는 일반적으로 위에서 아래로, 왼쪽에서 오른쪽으로 배치됩니다.
데이터 저장소: 데이터 저장소는 작업을 수행하지 않고 단순히 데이터를 보관하여 나중에 사용할 수 있도록 하는 요소입니다. 데이터 저장소에는 장기간 보관되는 파일이 포함될 수도 있고, 처리를 기다리는 동안 일시적으로 저장된 문서 묶음이 포함될 수도 있습니다. 데이터 저장소로 들어오는 입력 흐름에는 저장된 데이터를 변경하는 정보나 작업이 포함됩니다. 출력 흐름은 저장소에서 가져온 데이터를 의미합니다.
데이터 흐름: 외부 개체, 프로세스 및 데이터 저장소 간의 데이터 이동은 화살표 기호로 표현되며, 화살표는 데이터 흐름의 방향을 나타냅니다. 데이터는 전자적 형태일 수도 있고, 문서 형태이거나 구두로 전달되는 정보일 수도 있습니다. 입력 및 출력 데이터 흐름은 데이터의 유형 또는 관련된 프로세스나 데이터 저장소를 기준으로 이름이 지정되며, 해당 이름은 화살표 옆에 표시됩니다.
| | Yourdon-Coad | Gane-Sarson |
| 외부 개체 |  |  |
| 프로세스 |  |  |
| 데이터 저장소 |  |  |
| 데이터 흐름 |  |  |
데이터 흐름도를 그리는 방법
Lucidchart는 직관적인 템플릿을 통해 설계 과정을 간소화하여 사용자 지정 데이터 흐름도를 쉽게 만들 수 있도록 지원합니다. 라이브러리에서 업계 표준 기호를 문서로 직접 끌어다 놓기만 하면 가장 복잡한 시스템도 손쉽게 시각화할 수 있습니다. 또한 Lucidchart는 클라우드 기반 플랫폼으로서 팀이 실시간으로 협업하고 시스템 아키텍처에 대한 단일 정보 소스를 유지할 수 있도록 지원합니다.
Lucidchart를 사용하면 온라인에서 데이터 흐름도를 손쉽게 만들 수 있습니다. 맞춤 다이어그램을 만들고 다른 사람들과 공유해 보세요.