다섯 살도 알 수 있게 · 소프트웨어 설계
다이얼로그 맵이 뭐예요?
앱 화면 사이를 어떻게 오가는지 그리는 다이얼로그 맵(Dialog Map)을, 방과 문이 있는 집 이야기로 풀어봤어요.
앱은 방이 많은 집이에요.화면 하나가 방 하나예요.
문을 안 그려두면 길을 잃어요.들어갔는데 나가는 문이 없는 방이 생겨요.
다이얼로그 맵은 방과 문을 그린 지도예요.상자는 방, 화살표는 문. 누르면 어디로 가는지.
상자 = 방화면, 메뉴, 팝업
화살표 = 문버튼을 누르거나, 시간이 다 되거나
레시피가 아니라 지도예요.순서도는 '다음에 뭘 하나', 다이얼로그 맵은 '어디로 갈 수 있나'.
그려보면 빠진 문이 보여요.'취소' 문이 없는 계산대. 집을 짓기 전에 종이 위에서 고치면 싸요.
한 줄로
다이얼로그 맵 = 앱의 방(화면)과 문(이동)을 그린 지도. 짓기 전에 길 잃을 곳을 찾아요.
칼 위거스(Karl Wiegers)가 『소프트웨어 요구사항』에서 소개한 기법. 방 안의 가구(화면 레이아웃)는 그리지 않아요 — 그건 다른 그림이에요.
어른들은 이렇게 불러요
- 상태
State - 방. 웹페이지, 메뉴, 대화상자 — 지금 사용자가 서 있는 화면.
- 전이
Transition - 문. 버튼을 누르거나, 시스템이 어떤 일을 하면 다른 방으로 가는 것.
- 상태 전이도
State-transition diagram - 이 지도의 어른 이름. 다이얼로그 맵은 그걸 화면에 쓴 것.
- 순서도
Flowchart - 레시피. 순서와 갈림길을 그려요. 지도와는 다른 질문에 답해요.
- 취소 경로
Cancel path - 나가는 문. 지도를 그리면 제일 자주 빠져 있는 문.
- 요구사항
Requirements - 집 짓기 전 설계 종이. 여기서 고치면 싸고, 지은 뒤 고치면 비싸요.
- 칼 위거스
Karl Wiegers - 이 지도를 알린 사람. Software Requirements, 3rd ed.