나씨-슈나이더만

나씨-슈나이더만 차트(Nassi-Shneiderman Chart, NS 차트)는 논리의 기술에 중점을 둔 도형식 표현 방법이다. 1972년 이삭 나씨(Isaac Nassi)와 벤 슈나이더만(Ben Shneiderman)이 제안했으며, 연속·선택·반복 등 구조적 프로그래밍의 제어 논리 구조를 중첩된 직사각형 블록으로 표현한다.

기본 구조 블록

제어 구조표기
연속(Sequence)위에서 아래로 블록 나열
선택(If/Else)상단에 조건, 하단을 두 영역으로 분할
다중 선택(Case)상단에 조건, 하단을 N개로 분할
반복(While/For)조건 블록이 본문을 감싸는 형태

순서도(Flowchart)와의 차이

관점순서도NS 차트
표현화살표로 흐름 연결중첩 박스로 구조 표현
무제약 분기(goto)표현 가능표현 불가능
구조적 프로그래밍강제하지 않음강제됨
가독성흐름은 명확구조는 명확

NS 차트는 goto 없는 구조적 프로그래밍을 강제한다. 이것이 단점이자 장점이다.

장점

  • 논리 구조의 시각화: 중첩 조건을 시각적으로 명확히 식별
  • 구조적 프로그래밍 강제: 스파게티 흐름을 원천 차단
  • 공간 효율: 화살표 없이 박스만으로 표현
  • 교육 효과: 제어 구조의 계층을 직관적으로 전달

단점

  • 수정의 어려움: 중간 삽입 시 전체 박스를 다시 그려야
  • 복잡한 로직에 불리: 중첩이 깊어지면 박스가 좁아짐
  • 도구 지원 부족: 현대 IDE·설계 도구에서 지원이 제한적

사용 맥락

  • 국내 정보처리기사 시험에서 다뤄지는 대표적 설계 표현
  • 알고리즘 교육의 시각 자료
  • 법규·문서화 요구가 있는 프로젝트의 설계서

관련 노트