플로차트 (Flowchart) — 최초의 설계 도구
플로차트 (Flowchart) — 최초의 설계 도구
1. 요약
플로차트는 알고리즘이나 처리 과정의 흐름을 시각화 하는 가장 오래된 소프트웨어 설계 도구다. 1947년 Goldstine과 von Neumann이 Planning and Coding of Problems for an Electronic Computing Instrument 에서 "flow diagram" 이라는 이름으로 도입했고, 이후 80년 가까이 형태와 표준은 변했지만 흐름을 그림으로 설계한다 라는 본질은 변하지 않았다. 본 강의의 시작점.
2. 배경 (이전 도구의 한계)
1940년대 ENIAC·EDVAC 시대에는 기계어 코드만 존재했다. 프로그래머는 메모리 주소·레지스터·비트 연산을 직접 다뤘고, 다른 사람이 코드를 읽어 의도를 파악하는 일 은 거의 불가능했다. Goldstine과 von Neumann은 수학적 문제를 컴퓨터에서 풀기 위한 절차 를 논리적으로 완전하고 정확한 표기법 으로 표현할 필요를 느꼈고, 그 표기법이 flow diagram 이었다.
3. 핵심 개념·표기법
| 표기 | 의미 |
|---|---|
| 타원 | 시작·종료 (terminator) |
| 직사각형 | 처리 (process) |
| 마름모 | 판단 (decision, Yes/No 분기) |
| 평행사변형 | 입출력 (I/O) |
| 화살표 | 제어 흐름 (control flow) |
| 원 | 연결자 (connector, 페이지 분리 시) |
ANSI는 1960년대에 이 기호 집합을 ANSI X3.5 (1970) 로 표준화했고, ISO는 ISO 5807 (1985) 로 국제 표준을 따랐다. 두 표준 모두 현재까지 살아있다.
4. 언어·OS 매핑 (★ 강의 핵심)
플로차트는 특정 언어에 종속되지 않는다. 1950년대 Assembly · FORTRAN · COBOL 모두 동일한 플로차트로 설계할 수 있었고, 1970년대 Pascal · C 시대에도 그대로 통용됐다. 이것이 플로차트가 최초의 일반 목적 설계 도구 가 된 이유다 — 언어가 바뀌어도 설계 도구는 살아남는다 의 첫 사례.
운영체제 측면에서도 batch 처리 (1950s) → 대화형 (1960s) → 멀티태스킹 (1970s) → 분산 (1980s) 모든 시대에 플로차트가 사용됐다.
5. 현대까지의 영향
- Nassi-Shneiderman diagram (1972) — GOTO 없는 플로차트의 진화
- UML Activity Diagram (1997) — 객체지향 시대의 플로차트 후예
- BPMN 2.0 (2011) — 비즈니스 프로세스 표준
- Mermaid · PlantUML — 텍스트 기반 플로차트 생성 (DevOps 시대)
- draw.io · Lucidchart · Miro — 협업 도식화 도구
플로차트는 단순함이 곧 보편성 의 증거다. 80년이 지나도 컴퓨터공학 교과서 1장에 등장한다.
6. 주요 인물·사건
| 연도 | 사건 |
|---|---|
| 1921 | Frank Gilbreth, ASME 학회에서 flow process chart 발표 (산업공학) |
| 1947 | Goldstine·von Neumann, flow diagram 을 stored-program computer 설계 표기법으로 도입 |
| 1947 | ASME가 Operation and Flow Process Charts 표준 채택 |
| 1960s | ANSI X3.5 표준화 (소프트웨어 플로차트) |
| 1970 | ISO가 ANSI 기호 채택 |
| 1972 | Nassi-Shneiderman 이 GOTO 없는 structured flowchart 로 진화 |
7. 강의 활용
본 도구는 강의 INT (도입) 단원에서 "설계 도구의 시작" 으로 기록한다. 1947년 von Neumann의 flow diagram 사진 1장 → "처음부터 코드만 있었던 게 아니다. 처음부터 설계도 가 있었다" 의 증거. 언어가 바뀌어도 설계 도구는 항상 있었다 라는 강의 핵심 명제의 제 1 증거.
출처
- Flowchart — Wikipedia
- Goldstine & von Neumann, Planning and Coding (1947)
- Flow Diagrams: Rise and Fall of the First Software Engineering Notation
- Flow Chart Symbols: History — Saylor Academy
그룹 시리즈
→ synthesis/group-se_g1 (시대 그룹 종합 카드)