로봇 작업 시나리오 작성
📌 개요
- "로봇이 서빙을 한다"는 한 줄의 요구를 소프트웨어로 만들려면 → 시작부터 끝까지 구체적인 이야기(누가·무엇을·언제·어떻게)로 풀어써야 함
- 이것이 작업 시나리오 — 환경·하드웨어·사용자 분석 결과가 모두 합류하는 지점
- 시험 출제 포인트: 시나리오의 구성 요소(사전 조건·정상 흐름·대안/예외 흐름·사후 조건), 유스케이스와의 관계, 예외 시나리오의 중요성, 시나리오→시험 케이스의 추적성
📖 핵심 개념
작업 시나리오란
- 작업 시나리오 = 로봇이 수행할 작업을 시간 순서에 따라 구체적으로 서술한 것
- 추상적 요구사항("음료를 배달한다")과 실행 가능한 소프트웨어 설계 사이의 다리 역할
앞선 분석들이 시나리오의 재료다:
- 환경 분석 → 시나리오의 무대 (통로, 장애물, 조명) (→ 로봇 작업환경 분석)
- 하드웨어 특성 → 로봇이 할 수 있는 동작의 한계 (→ 로봇 구성요소)
- 사용자 분석 → 시나리오의 등장인물과 상호작용 방식 (→ 사용자 특성의 분석)
시나리오의 구성 요소 (시험 단골)
잘 쓰인 시나리오에는 다음이 들어간다.
- 목적(Goal): 이 작업으로 달성하려는 것
- 행위자(Actor): 로봇, 사용자, 관제 시스템, 환경 요소 등 참여자
- 사전 조건(Precondition): 시작 전에 성립해야 하는 상태 — "배터리 30% 이상, 지도 보유, 픽업대에 물품 존재"
- 트리거(Trigger): 시나리오를 시작시키는 사건 — "주문 접수"
- 정상 흐름(Main Flow): 아무 문제 없을 때의 단계별 진행 — 번호 매긴 목록
- 대안 흐름(Alternative Flow): 정상은 아니지만 계속 진행 가능한 갈래 — "엘리베이터가 만원이면 다음 차를 기다린다"
- 예외 흐름(Exception Flow): 작업을 계속할 수 없는 상황과 대응 — "장애물 지속 → 재계획, 통신 두절 → 안전 정지 후 재접속 시도"
- 사후 조건(Postcondition): 종료 후 보장되는 상태 — "물품 전달 완료, 로봇 대기 위치 복귀"
- 성공 기준: 완료를 판정하는 측정 가능한 기준 — "5분 이내 전달, 흘림 없음"
유스케이스와 시나리오의 관계
- 유스케이스(Use Case): 행위자가 시스템으로 달성하는 하나의 목표 단위 ("음료 배달", "충전하기") — 유스케이스 다이어그램으로 시스템 기능 전체를 조망 (→ 객체지향 소프트웨어 설계)
- 시나리오: 유스케이스의 구체적인 한 실행 경로. 하나의 유스케이스는 정상 1개 + 대안·예외 여러 개의 시나리오를 가진다
예외 시나리오가 절반이다 (로봇의 특수성)
- 사무용 SW의 예외는 오류 메시지로 끝나지만, 로봇의 예외는 물리적 사고로 이어질 수 있다
- 그래서 로봇 시나리오 작성의 실질적 무게는 예외 쪽에 있다
반드시 검토할 예외 목록:
- 환경 예외: 경로 막힘, 낙하 위험(계단), 바닥 상태 변화
- 하드웨어 예외: 배터리 부족, 센서 고장, 모터 과열
- 통신 예외: Wi-Fi 두절, 관제 서버 무응답
- 사용자 예외: 조작 실수, 물품 미수령, 어린이의 접근·장난
- 안전 예외: 비상정지 버튼, 충돌 감지 — 어떤 상태에서도 안전 상태(safe state)로 수렴해야 한다
각 예외에 "감지 방법 → 대응 → 복구(또는 안전 정지)"를 정의한다.
시나리오의 표현 방법
- 자연어 서술: 이해관계자 누구나 읽을 수 있는 이야기 — 출발점
- 구조화 표: 단계 번호, 행위자, 행동, 시스템 반응의 표 — 누락 점검 용이
- 다이어그램: 흐름·분기가 복잡해지면 활동 다이어그램(순서도), 상태 변화가 중심이면 상태 다이어그램으로 표현 (→ 로봇 소프트웨어 설계 도구)
시나리오는 시험의 근거가 된다
- 시나리오의 정상·예외 흐름 하나하나가 시험 케이스의 원천 — "통신 두절 예외 흐름"은 곧 "통신 차단 후 안전 정지 확인" 시험이 된다
- 요구사항 ↔ 시나리오 ↔ 시험 케이스의 추적성을 유지하면 시험 누락이 없다 (→ 로봇 시스템 평가절차)
📊 다이어그램 · 수식
시나리오 구성 요소의 골격
flowchart LR
P["사전 조건"] --> T["트리거"] --> M["정상 흐름
(단계 1..n)"] --> PO["사후 조건·성공 기준"]
M -. 갈래 .-> ALT["대안 흐름
(계속 진행)"] -.-> M
M -. 문제 .-> EXC["예외 흐름
(복구 또는 안전 정지)"]서빙 로봇 시나리오 예 (정상 + 예외)
flowchart TD
S["주문 접수(트리거)"] --> A["픽업대 이동"] --> B["적재 확인"] --> C["테이블 주행"] --> D["전달·확인"] --> E["복귀·대기"]
C -- "경로 막힘" --> X1["재계획 → 대체 경로"] --> C
C -- "배터리 부족" --> X2["작업 인계 후 충전소 복귀"]
D -- "미수령 3분 경과" --> X3["관제 알림 → 회수 귀환"]🎯 핵심 요약 · 암기 포인트
✏️ 예상문제
1. 작업 시나리오에서 "배터리 30% 이상, 지도 보유"처럼 시나리오 시작 전에 성립해야 하는 상태를 가리키는 용어는?
① 사후 조건 ② 사전 조건 ③ 트리거 ④ 성공 기준
정답 및 해설
정답: ② 사전 조건(precondition)은 시작의 전제, 트리거는 시작시키는 사건(주문 접수), 사후 조건은 종료 후 보장 상태, 성공 기준은 완료 판정 기준이다.
2. 유스케이스와 시나리오의 관계에 대한 설명으로 옳은 것은?
① 시나리오는 유스케이스의 상위 개념이다 ② 하나의 유스케이스는 하나의 시나리오만 가진다 ③ 시나리오는 유스케이스의 구체적인 한 실행 경로이며, 유스케이스는 정상·대안·예외의 여러 시나리오를 가진다 ④ 유스케이스는 예외 상황만 다룬다
정답 및 해설
정답: ③ 유스케이스("음료 배달")는 목표 단위이고, 그 실행 경로 각각(정상 배달, 경로 막힘 대응, 미수령 회수)이 시나리오다.
3. 주행 중 경로가 일시적으로 막혔을 때 대체 경로로 우회해 작업을 계속하는 갈래는 시나리오 구성 요소 중 무엇에 해당하는가?
① 정상 흐름 ② 대안 흐름 ③ 사전 조건 ④ 사후 조건
정답 및 해설
정답: ② 목표 달성을 포기하지 않고 다른 길로 계속 진행하므로 대안 흐름이다. 작업을 계속할 수 없어 안전 정지·인계로 가는 경우(배터리 방전 임박 등)가 예외 흐름이다.
4. 로봇 작업 시나리오 작성에 대한 설명으로 옳지 않은 것은?
① 예외 상황별로 감지 방법과 대응·복구를 정의한다 ② 어떤 예외 상태에서도 안전 상태로 수렴하도록 설계한다 ③ 정상 흐름만 상세히 쓰면 예외 흐름은 구현 단계에서 알아서 처리된다 ④ 시나리오의 흐름들은 시험 케이스 도출의 근거가 된다
정답 및 해설
정답: ③ 예외를 설계 단계에서 정의하지 않으면 구현자마다 임의로 처리하거나 누락되며, 로봇에서는 이것이 물리적 사고로 이어진다. 로봇 시나리오 작성의 실질적 무게는 예외 쪽에 있다.
5. 시나리오 작성의 재료가 되는 선행 분석으로 가장 거리가 먼 것은?
① 작업환경 분석 — 시나리오의 무대 ② 하드웨어 특성 분석 — 가능한 동작의 한계 ③ 사용자 분석 — 등장인물과 상호작용 ④ 경쟁사 주가 분석 — 시장 동향
정답 및 해설
정답: ④ 시나리오는 환경(무대)·하드웨어(능력)·사용자(인물) 분석이 합류하는 지점이다. 주가 분석은 사업 기획의 영역이지 작업 시나리오의 재료가 아니다.
🔗 관련 노트
- 작업 시나리오별 소프트웨어 구현기술 — 시나리오를 구현하는 기술
- 로봇 작업환경 분석 · 로봇 구성요소 · 사용자 특성의 분석 — 시나리오의 3대 재료
- 로봇 시스템 평가절차 — 시나리오→시험 케이스 추적성
- 객체지향 소프트웨어 설계 — 유스케이스 다이어그램
- 작업 요구사항 분석 — 지능 SW 쪽의 요구 분석
- _MOC 로봇소프트웨어구조설계