나씨-슈나이더만
나씨-슈나이더만 차트(Nassi-Shneiderman Chart, NS 차트)는 논리의 기술에 중점을 둔 도형식 표현 방법이다. 1972년 이삭 나씨(Isaac Nassi)와 벤 슈나이더만(Ben Shneiderman)이 제안했으며, 연속·선택·반복 등 구조적 프로그래밍의 제어 논리 구조를 중첩된 직사각형 블록으로 표현한다.
기본 구조 블록
| 제어 구조 | 표기 |
|---|---|
| 연속(Sequence) | 위에서 아래로 블록 나열 |
| 선택(If/Else) | 상단에 조건, 하단을 두 영역으로 분할 |
| 다중 선택(Case) | 상단에 조건, 하단을 N개로 분할 |
| 반복(While/For) | 조건 블록이 본문을 감싸는 형태 |
순서도(Flowchart)와의 차이
| 관점 | 순서도 | NS 차트 |
|---|---|---|
| 표현 | 화살표로 흐름 연결 | 중첩 박스로 구조 표현 |
| 무제약 분기(goto) | 표현 가능 | 표현 불가능 |
| 구조적 프로그래밍 | 강제하지 않음 | 강제됨 |
| 가독성 | 흐름은 명확 | 구조는 명확 |
NS 차트는 goto 없는 구조적 프로그래밍을 강제한다. 이것이 단점이자 장점이다.
장점
- 논리 구조의 시각화: 중첩 조건을 시각적으로 명확히 식별
- 구조적 프로그래밍 강제: 스파게티 흐름을 원천 차단
- 공간 효율: 화살표 없이 박스만으로 표현
- 교육 효과: 제어 구조의 계층을 직관적으로 전달
단점
- 수정의 어려움: 중간 삽입 시 전체 박스를 다시 그려야 함
- 복잡한 로직에 불리: 중첩이 깊어지면 박스가 좁아짐
- 도구 지원 부족: 현대 IDE·설계 도구에서 지원이 제한적
사용 맥락
- 국내 정보처리기사 시험에서 다뤄지는 대표적 설계 표현
- 알고리즘 교육의 시각 자료
- 법규·문서화 요구가 있는 프로젝트의 설계서