본문 바로가기
배워야 산다

문항별 관련 주제_1~11

by 인라인타지마 2025. 8. 25.

문항1 (K게임사 모니터링) 관련 학습 내용, 예상 문제 및 해설

본 문서는 첨부된 PDF 파일 내 문항1("K게임사 서버 상태 모니터링 경계값 분석")와 관련하여 학습하여야 할 주제 및 내용을 상세히 정리하고, 해당 주제를 기반으로 한 예상 문제 3개를 제시합니다. 문제의 해설, 출제 영역, 출제 의도를 종합적으로 분석하여 관련 학습 주제, 예상 문제, 그리고 해설을 상세히 정리합니다. 문제와 직접적으로 관련되었다고 파악한 사항은 강조하여 기술합니다. 예상 문제는 문제와 해설을 이어서 제시합니다.

1. 문제 분석 및 관련 학습 주제 파악

  • 문제 내용: K게임사가 서버의 초당 요청건수를 색깔로 표시하는 서비스를 도입하며, 이를 검증하기 위해 **[색깔 표시 기준]**에 경계값 분석 기법을 적용합니다. 이때 도출되는 테스트 케이스의 총 개수를 묻는 문제입니다.
    • [색깔 표시 기준]: 초당 요청 건수 구간별 표시 색깔 명시 (0~49999 BLUE, 50000~79999 GREEN, 80000~99999 ORANGE, 100000~ RED).
  • 해설: 총 12개의 테스트 케이스가 도출된다고 명시하며, 각 테스트 케이스 입력 값 목록(-1, 0, 1, 49999, 50000, 50001, 79999, 80000, 80001, 99999, 100000, 100001)과 그에 대한 예상 결과(오류, BLUE, GREEN, ORANGE, RED)를 제시합니다. 이는 경계값 분석 기법이 어떻게 적용되어 테스트 케이스가 도출되는지를 보여줍니다.
  • 출제 영역: 프로세스 모델링 – 설계 > 단위테스트 케이스 설계 (⬅️ 주된 출제 영역)
  • 출제 의도: 경계값 분석 기법을 적용한 단위 테스트 케이스를 도출할 수 있는지 검증 (⬅️ 문제와 직접 관련)

종합적으로 볼 때, 이 문제는 소프트웨어 테스팅 분야 중 테스트 케이스 설계 능력, 특히 블랙박스 테스트 기법인 **경계값 분석(Boundary Value Analysis)**을 다중 구간으로 나뉜 조건에 정확히 적용하여 테스트 케이스를 도출하는 능력에 초점을 맞추고 있습니다. 출제 영역이 '단위테스트 케이스 설계'로 명시된 것은, 이 기법이 주로 개별 컴포넌트(단위) 테스트 단계에서 활용됨을 시사합니다.

따라서 이 문제를 해결하고 관련 주제에 대한 대비를 하기 위해서는 다음 내용들을 학습해야 합니다.

2. 소프트웨어 테스팅 개요

  • 개념: 소프트웨어 제품의 품질을 확인하고 요구사항이 충족되었는지 검증하기 위한 활동입니다. 오류(Bug)를 발견하고 시스템의 신뢰성을 높이는 것을 목적으로 합니다.
  • 테스트 프로세스: 계획 -> 분석/설계 -> 구현/실행 -> 평가/보고 -> 종료 단계.
  • 테스트 레벨: 소프트웨어를 테스트하는 다양한 수준 (단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트). 문항1은 단위 테스트 케이스 설계 영역에 속합니다. (⬅️ 문제 출제 영역 언급)
    • 단위 테스트 (Unit Testing): 개별 모듈, 컴포넌트, 함수 등 소프트웨어의 가장 작은 단위가 올바르게 작동하는지 개발자 등에 의해 검증.

3. 테스트 케이스 설계 기법

  • 개념: 시스템의 기능 및 비기능 요구사항을 효과적으로 검증하기 위해 입력값, 실행 조건, 예상 결과 등을 구체적으로 정의한 테스트 케이스를 체계적으로 만드는 방법론입니다.
  • 분류:
    • 블랙박스 테스트 기법: (⬅️ 경계값 분석의 상위 개념) 시스템 내부 구조/코드를 보지 않고 요구사항, 명세서, 기능 정의 등을 기반으로 입력-출력 동작을 테스트.
    • 화이트박스 테스트 기법: 시스템 내부 구조/코드를 보고 코드 실행 경로, 조건 등을 테스트.

4. 블랙박스 테스트 기법

  • 동치 분할 (Equivalence Partitioning): 입력 데이터를 시스템이 동일하게 처리할 것으로 예상되는 그룹(동치 클래스)으로 분할하고 각 그룹에서 대표 값을 선정하여 테스트 케이스 수를 줄이는 기법. 경계값 분석과 함께 사용하면 효과적입니다. (⬅️ 경계값 분석과 연관)
  • 경계값 분석 (Boundary Value Analysis - BVA): (⬅️ 문항1 핵심 주제 및 출제 의도) 입력 값 또는 조건의 '경계'에서 오류가 자주 발생한다는 경험에 기반한 테스트 기법입니다. 프로그램이 경계 조건(이상, 이하, 초과, 미만 등)을 처리할 때 실수가 발생하기 쉽기 때문입니다.
    • 주된 목적: 경계 값 및 그 주변 값들을 집중적으로 테스트하여 오류를 효율적으로 발견합니다. (⬅️ 출제 의도와 연결)
    • 적용 방법: 유효 범위나 구간의 최소값(Min), 최대값(Max), 그리고 이 값들의 **바로 옆 값(Min+1, Max-1)**을 테스트 케이스로 도출하는 것이 일반적입니다. 때로는 유효 범위를 벗어나는 가장 가까운 무효 값(Min-1, Max+1)도 포함합니다. 문항1처럼 여러 구간이 존재하면, 각 구간의 경계(시작 값과 끝 값)마다 이 규칙을 적용하여 테스트 케이스를 도출합니다.
      • 예시 (문항1): 0 ~ 49999 구간 -> 경계 0, 49999. 테스트 값: 0, 1, 49998, 49999 (+ 무효값 -1)
      • 50000 ~ 79999 구간 -> 경계 50000, 79999. 테스트 값: 50000, 50001, 79998, 79999
      • 80000 ~ 99999 구간 -> 경계 80000, 99999. 테스트 값: 80000, 80001, 99998, 99999
      • 100000 ~ 구간 -> 경계 100000. 테스트 값: 100000, 100001 (상한 없음)
      • 문제 해설에 제시된 목록은 이러한 경계값 및 인접 값들을 포함하고 있습니다.
    • 적용 대상: 숫자 범위, 길이, 크기 등 순서가 있는 데이터에 특히 유용합니다. 문항1의 '초당 요청 건수'와 같이 특정 값 범위에 따라 결과가 달라지는 경우에 적합합니다.
  • 결정 테이블 테스트 (Decision Table Testing): 여러 조건의 복합적인 조합에 따른 결과를 체계적으로 테스트하기 위한 기법.
  • 상태 전이 테스트 (State Transition Testing): 시스템의 상태 변화와 이벤트에 따른 전이를 테스트하는 기법.
  • 유스케이스 테스트 (Use Case Testing): 사용자 관점에서 시스템의 기능(유스케이스 시나리오)을 테스트하는 기법.

5. 문제 해결 전략 (문항1)

문항1과 같은 유형의 문제를 해결하기 위해서는 다음 단계를 따릅니다.

  1. [색깔 표시 기준] 분석: 초당 요청 건수 입력 값이 어떤 구간들로 나뉘고, 각 구간이 어떤 경계 값을 가지는지 정확히 파악합니다. (0, 49999, 50000, 79999, 80000, 99999, 100000)
  2. 경계값 분석 규칙 적용: 각 구간의 경계 값과 그 바로 옆의 유효한 값, 그리고 필요한 경우 무효값 경계 근처 값에 대해 테스트 케이스 입력 값을 도출합니다. 문제 해설에 제시된 테스트 케이스 목록의 패턴(-1, Min, Min+1, Max-1, Max 등)을 참고하여 적용합니다.
    • 경계 0: -1, 0, 1
    • 경계 49999/50000: 49999, 50000, 50001
    • 경계 79999/80000: 79999, 80000, 80001
    • 경계 99999/100000: 99999, 100000, 100001
  3. 도출된 테스트 케이스 개수 합산: 중복 없이 도출된 모든 테스트 케이스 입력 값의 개수를 세어 총 개수를 계산합니다. (-1, 0, 1, 49999, 50000, 50001, 79999, 80000, 80001, 99999, 100000, 100001 -> 총 12개)
  4. 보기 선택: 계산된 총 개수에 해당하는 보기를 선택합니다.

6. 예상 문제 3개 (테스트 케이스 설계 - 경계값 분석)

문항1과 유사한 유형 및 수준의 예상 문제 3개를 제시합니다. 문제 풀이 및 해설은 문제 아래에 바로 이어서 제공합니다.

예상 문제 1-1) 어떤 시스템은 사용자로부터 시험 점수(0점부터 100점까지)를 입력받아 처리합니다. 이 입력값에 대해 경계값 분석 기법을 적용할 때, 유효 범위 내에서 도출되는 테스트 케이스 입력 값들을 모두 작성하시오. [4점]

답: ____________________, ____________________, ____________________, ____________________


/ 필수 문항 정보 /

  • 문제 유형: 단답형 (복수 정답)
  • 출제 영역: 소프트웨어 테스팅 - 테스트 케이스 설계 > 블랙박스 테스트 기법 (경계값 분석)
  • 문제 제목: 시험 점수 입력 경계값 분석
  • 출제 의도: 단순 유효 범위에 대한 경계값 분석 테스트 케이스 도출 능력 검증

해설: 유효 범위는 [0, 100]입니다. 경계값 분석은 최소값(0), 최소값+1(1), 최대값-1(99), 최대값(100)을 테스트 케이스로 도출합니다.


예상 문제 1-2) 온라인 상점에서 구매 금액에 따라 할인 쿠폰을 지급하는 정책은 다음과 같습니다.

[쿠폰 지급 정책]

  • 구매 금액 1만원 미만: 쿠폰 없음
  • 구매 금액 1만원 이상 ~ 5만원 미만: 5천원 쿠폰
  • 구매 금액 5만원 이상: 1만원 쿠폰

위 정책에 대해 경계값 분석 기법을 적용하여 도출할 수 있는 '구매 금액' 입력값 테스트 케이스는 총 몇 개입니까? (단, 구매 금액은 0원 이상 정수라고 가정합니다.) [5점]

① 6개 ② 7개 ③ 8개 ④ 9개 ⑤ 10개


/ 필수 문항 정보 /

  • 문제 유형: 선다형
  • 출제 영역: 소프트웨어 테스팅 - 테스트 케이스 설계 > 블랙박스 테스트 기법 (경계값 분석)
  • 문제 제목: 쿠폰 정책 경계값 분석
  • 출제 의도: 다중 구간에 걸친 경계값 분석 테스트 케이스 도출 능력 검증

해설: 구매 금액 구간은 [0, 9999], [10000, 49999], [50000, 무한대)입니다.

  • [0, 9999]: 0, 1, 9998, 9999 (4개)
  • [10000, 49999]: 10000, 10001, 49998, 49999 (4개)
  • [50000, 무한대): 50000, 50001 (2개) 총 4 + 4 + 2 = 10개입니다.

예상 문제 1-3) 경계값 분석(Boundary Value Analysis) 기법을 사용하는 주된 이유(목적)는 무엇입니까? [3점]

답: ____________________


/ 필수 문항 정보 /

  • 문제 유형: 단답형 (서술형)
  • 출제 영역: 소프트웨어 테스팅 - 테스트 케이스 설계 > 블랙박스 테스트 기법
  • 문제 제목: 경계값 분석 사용 이유
  • 出題意図: 경계값 분석 기법의 주된 목적 이해도 검증

해설: 경계값 분석은 입력 값이나 조건의 경계 근처에서 오류가 자주 발생한다는 경험적 사실에 기반하여, 이 부분을 집중적으로 테스트함으로써 적은 수의 테스트 케이스로도 오류를 효율적으로 발견하기 위해 사용됩니다.

  • 정답: 입력 값의 경계 근처에서 오류가 자주 발생하기 때문에, 이 부분을 집중 테스트하여 오류를 효율적으로 발견하기 위해 사용된다. (또는 유사 내용 서술)

 

문항2 (전력설비 자동제어시스템) 관련 학습 내용, 예상 문제 및 해설

본 문서는 첨부된 PDF 파일 내 문항2("전력설비 자동제어시스템 최대 전력량 테스트 케이스 도출")와 관련하여 학습하여야 할 주제 및 내용을 상세히 정리하고, 해당 주제를 기반으로 한 예상 문제 3개를 제시합니다. 문제의 해설, 출제 영역, 출제 의도를 종합적으로 분석하여 관련 학습 주제, 예상 문제, 그리고 해설을 상세히 정리합니다. 문제와 직접적으로 관련되었다고 파악한 사항은 강조하여 기술합니다. 예상 문제는 문제와 해설을 이어서 제시합니다.

1. 문제 분석 및 관련 학습 주제 파악

  • 문제 내용: 전력설비 자동제어시스템의 **[요구 조건]**과 **[결정 테이블]**을 참조하여, 특정 상황([사업장별 최대 전력량]의 충주 사업장)에 대한 1)테스트 케이스(Decision Table Case)와 2)기대 결과(최대 전력량)를 작성하는 문제입니다.
    • [요구 조건]: 근무 직원 수, 하절기, 휴일 여부에 따른 최대 전력량 및 보정률 기준 명시.
    • [결정 테이블]: 근무 직원 수, 하절기 여부, 휴일 여부 조건 조합에 따른 Case A~E 정의. (파일 해설에 Case D에 대한 기대 결과 계산 과정 포함)
    • [사업장별 최대 전력량]: 청주/충주 사업장의 직원 수 및 테스트 대상 기간(9월 추석 연휴) 명시.
  • 해설: 충주 사업장(직원 수 1.2만 명), 추석 연휴(하절기 아님, 휴일) 조건을 분석하여, 해당 조건에 맞는 결정 테이블 Case가 D임을 식별합니다. Case D에 정의된 조건 및 보정률(직원 수 1만~5만 미만 -> 200만 kWh, 하절기 아님, 휴일 -> 휴일 보정률 60%)을 적용하여 기대 결과(200만 * 60% = 120만 kWh)를 계산합니다.
  • 출제 영역: 프로세스 모델링 – 설계 > 단위테스트 케이스설계 (⬅️ 주된 출제 영역)
  • 출제 의도: 주어진 조건에 알맞은 결정 테이블을 도출할 수 있는지 여부 검증 (⬅️ 문제와 직접 관련, 원 문제는 도출된 결정 테이블을 활용하는 문제임)

종합적으로 볼 때, 이 문제는 소프트웨어 테스팅 분야 중 테스트 케이스 설계 능력, 특히 블랙박스 테스트 기법인 **결정 테이블 테스트(Decision Table Testing)**를 이해하고 주어진 요구 조건 및 결정 테이블을 분석하여 특정 상황에 대한 테스트 케이스(조건 조합)를 식별하고 그에 따른 **기대 결과(예상 출력)**를 도출하는 능력에 초점을 맞추고 있습니다. 출제 의도는 결정 테이블 자체를 도출하는 능력이라고 명시되어 있지만, 실제 문제는 도출된 테이블을 보고 활용하는 유형입니다.

따라서 이 문제를 해결하고 관련 주제에 대한 대비를 하기 위해서는 다음 내용들을 학습해야 합니다.

2. 소프트웨어 테스팅 개요

  • 개념: 소프트웨어 제품의 품질 확인, 요구사항 충족 검증, 오류 발견 활동.
  • 테스트 레벨: 문항2는 단위 테스트 케이스 설계 영역에 속합니다. (⬅️ 문제 출제 영역 언급)
    • 단위 테스트 (Unit Testing): 개별 모듈, 컴포넌트 등 최소 단위의 올바른 작동 검증. 결정 테이블 테스트는 복잡한 단위 기능 내부의 로직 테스트에 활용될 수 있습니다.

3. 테스트 케이스 설계 기법

  • 개념: 효과적인 테스트 케이스(입력, 실행 조건, 예상 결과)를 체계적으로 만드는 방법론.
  • 분류: 블랙박스 테스트 기법, 화이트박스 테스트 기법.

4. 블랙박스 테스트 기법

  • 개념: 시스템 내부 구조/코드를 보지 않고 요구사항, 명세서 기반으로 입력-출력 동작 테스트.
  • 종류: 동치 분할, 경계값 분석, 결정 테이블 테스트, 상태 전이 테스트, 유스케이스 테스트 등.

5. 결정 테이블 테스트 (Decision Table Testing) 상세 학습 (⬅️ 문항2 핵심 주제 및 출제 의도)

  • 개념: 여러 개의 **조건(Conditions)**과 그 조건들의 가능한 조합(Combinations), 그리고 각 조건 조합에 따라 시스템이 수행하여야 할 동작(Actions) 또는 **결과(Results)**를 표 형태로 정리한 **결정 테이블(Decision Table)**을 사용하여 테스트 케이스를 설계하는 기법입니다. (⬅️ 문제에 [결정 테이블] 제시)
  • 구성 요소 (결정 테이블):
    • 조건 영역 (Condition Stubs): 시스템의 동작에 영향을 미치는 모든 조건을 나열합니다. (예: 근무 직원 수, 하절기 여부, 휴일 여부)
    • 조건 엔트리 (Condition Entries): 각 조건이 가질 수 있는 값 또는 상태(예: Y/N, True/False, 특정 값)를 각 규칙(Rule) 열에 기술합니다. 모든 가능한 조건 조합이 규칙으로 표현되어야 합니다. (⬅️ 문제의 [결정 테이블] Case A~E 부분)
    • 동작 영역 (Action Stubs): 각 조건 조합에 따라 시스템이 수행해야 할 모든 동작 또는 결과를 나열합니다. (예: 최대 전력량 값, 특정 메시지 출력) (⬅️ 문제의 [결정 테이블] 하단 결과 부분)
    • 동작 엔트리 (Action Entries): 특정 규칙에 해당하는 동작이 수행되는지(X 또는 Y 표시) 또는 결과 값(예: 최대 전력량 숫자)을 기술합니다.
    • 규칙 (Rules): 각 열은 하나의 유효한 조건 조합과 그에 해당하는 동작/결과를 나타내며, 이것이 하나의 테스트 케이스가 됩니다. (⬅️ 문제의 [결정 테이블] Case A~E 각 열)
  • 주된 목적: 여러 조건이 복합적으로 작용하여 결과가 달라지는 복잡한 비즈니스 로직이나 요구사항을 체계적으로 분석하고, 발생 가능한 모든 조건 조합에 대한 테스트 케이스를 누락 없이 도출하는 데 유용합니다. (⬅️ 출제 의도와 연결)
  • 문제 해결에서의 활용: 문항2와 같은 문제에서는 이미 도출된 결정 테이블이 주어지므로, 주어진 **특정 상황(충주 사업장, 9월 추석 연휴)**에 해당하는 조건 조합이 결정 테이블의 어떤 **규칙(Case)**에 해당하는지 정확히 식별하고, 해당 규칙에 정의된 결과 값을 찾아내는 능력이 중요합니다. (⬅️ 문항2 풀이 핵심)

6. 문제 해결 전략 (문항2)

문항2와 같은 유형의 문제를 해결하기 위해서는 다음 단계를 따릅니다.

  1. [요구 조건] 및 [사업장별 최대 전력량] 분석: 문제에서 요구하는 특정 상황(충주 사업장, 9월 추석 연휴)의 조건을 정확히 파악합니다.
    • 충주 사업장 직원 수: 1.2만 명 (-> [요구 조건]에 따라 '1만명 이상~ 5만명 미만' 근무 직원 수 구간에 해당)
    • 9월 추석 연휴: 하절기(6~8월) 아님, 휴일임. (-> [요구 조건]에 따라 하절기 아님, 휴일 조건에 해당)
  2. [결정 테이블] 분석: 파악된 조건('1만명 이상~ 5만명 미만', '하절기 아님', '휴일')을 만족하는 조건 조합을 [결정 테이블]의 조건 엔트리 영역에서 찾습니다.
    • '근무 직원 수 1 만명 이상 ~ 5 만명 미만'이 Y인 규칙
    • '하절기(6 ~ 8 월)'이 N인 규칙
    • '휴일'이 Y인 규칙 세 조건을 모두 만족하는 규칙은 Case D 뿐입니다.
  3. 테스트 케이스 식별: 파악된 규칙(Case)이 테스트 케이스가 됩니다. 충주 사업장, 9월 추석 연휴의 테스트 케이스는 Case D입니다. (⬅️ 1) 테스트 케이스 답)
  4. 기대 결과 도출: 식별된 규칙(Case D)의 동작 엔트리에 정의된 결과 값을 찾아냅니다.
    • Case D에 해당하는 '근무 직원 수' 구간 기준 최대 전력량: 200만 kWh.
    • Case D에 해당하는 '하절기 아님', '휴일' 조건에 따른 보정률: 휴일 보정률 60% ([요구 조건] 참조). 하절기 중 휴일인 경우 하절기 보정률과 휴일 보정률 모두 적용하지만, 이 경우는 하절기가 아니므로 휴일 보정률만 적용합니다.
    • 기대 결과 계산: 200만 kWh * 60% = 120만 kWh.
  5. 기대 결과 작성: 계산된 결과 값이 기대 결과가 됩니다. 충주 사업장, 9월 추석 연휴의 기대 결과는 120만 kWh입니다. (⬅️ 2) 기대 결과 답)

7. 예상 문제 3개 (테스트 케이스 설계 - 결정 테이블)

문항2 및 결정 테이블 테스트 주제를 기반으로 한 예상 문제 3개를 제시합니다. 문제 풀이 및 해설은 문제 아래에 바로 이어서 제공합니다.

예상 문제 2-1) 어떤 시스템은 사용자의 등급(일반, 우수)과 구매 금액(10만원 이상 여부)에 따라 할인 쿠폰 지급 여부를 결정합니다. 아래 [결정 테이블]을 참조하여, 우수 등급 사용자구매 금액 10만원 이상 구매한 경우 지급되는 쿠폰 종류를 작성하시오. [4점]

[결정 테이블]

규칙Rule 1Rule 2Rule 3Rule 4

조건 (Conditions)        
등급: 일반 Y Y N N
등급: 우수 N N Y Y
구매 금액: 10만원 미만 Y N Y N
구매 금액: 10만원 이상 N Y N Y
동작 (Actions)        
쿠폰 없음 X      
5천원 쿠폰   X X  
1만원 쿠폰       X

* Y: 조건 만족, N: 조건 불만족, X: 해당 동작 수행

답: ____________________


/ 필수 문항 정보 /

  • 문제 유형: 단답형
  • 출제 영역: 소프트웨어 테스팅 - 테스트 케이스 설계 > 블랙박스 테스트 기법 (결정 테이블 테스트)
  • 문제 제목: 구매 할인 쿠폰 결정 테이블 해석
  • 출제 의도: 결정 테이블을 이해하고 특정 조건 조합에 따른 결과를 식별하는 능력 검증

해설: 우수 등급 사용자(등급: 우수 - Y)가 구매 금액 10만원 이상(구매 금액: 10만원 이상 - Y) 구매한 경우에 해당하는 조건 조합은 Rule 4입니다. Rule 4의 '동작 (Actions)' 영역에서 'X'가 표시된 동작은 '1만원 쿠폰'입니다.


예상 문제 2-2) 결정 테이블 테스트 기법을 사용하여 테스트 케이스를 설계하는 주된 목적은 무엇입니까? [3점]

답: ____________________


/ 필수 문항 정보 /

  • 문제 유형: 단답형 (서술형)
  • 출제 영역: 소프트웨어 테스팅 - 테스트 케이스 설계 > 블랙박스 테스트 기법
  • 문제 제목: 결정 테이블 테스트 목적
  • 出題意図: 결정 테이블 테스트 기법의 주된 목적 이해도 검증

해설: 결정 테이블 테스트는 여러 조건의 복잡한 조합에 따라 시스템 결과가 달라지는 경우, 발생 가능한 모든 조건 조합을 체계적으로 분석하고 각 조합에 대한 테스트 케이스를 누락 없이 도출하기 위해 사용됩니다.

  • 정답: 여러 조건의 복잡한 조합에 따른 시스템 동작/결과를 체계적으로 분석하고, 모든 조건 조합에 대한 테스트 케이스를 누락 없이 도출하기 위해 사용된다. (또는 유사 내용 서술)

예상 문제 2-3) 어떤 시스템 기능은 '사용자가 로그인 상태인가?' (조건 A)와 '장바구니에 상품이 있는가?' (조건 B), '결제 수단이 유효한가?' (조건 C) 세 가지 조건에 따라 다르게 동작합니다. 이 기능을 결정 테이블 테스트 기법으로 설계할 때, 발생 가능한 모든 조건 조합에 대한 테스트 케이스(규칙)의 총 개수는 몇 개입니까? [4점]

① 3개 ② 6개 ③ 8개 ④ 9개 ⑤ 12개


/ 필수 문항 정보 /

  • 문제 유형: 선다형
  • 출제 영역: 소프트웨어 테스팅 - 테스트 케이스 설계 > 블랙박스 테스트 기법 (결정 테이블 테스트)
  • 문제 제목: 결정 테이블 규칙 개수 계산
  • 出題意図: 주어진 조건의 개수를 바탕으로 결정 테이블 규칙 개수 계산 능력 검증

해설: 세 가지 조건(A, B, C)이 있고, 각 조건은 일반적으로 '만족' 또는 '불만족' 두 가지 상태를 가질 수 있습니다. 따라서 발생 가능한 모든 조건 조합의 개수는 2 (조건 A 상태 수) * 2 (조건 B 상태 수) * 2 (조건 C 상태 수) = 8가지입니다. 결정 테이블의 각 규칙(열)은 하나의 고유한 조건 조합을 나타내므로, 총 8개의 테스트 케이스(규칙)가 도출됩니다.

 

문항3 (으뜸다방 홈페이지 개선 요구사항) 관련 학습 내용, 예상 문제 및 해설

본 문서는 첨부된 PDF 파일 내 문항3("으뜸다방 홈페이지 개선 요구사항")과 관련하여 학습하여야 할 주제 및 내용을 상세히 정리하고, 해당 주제를 기반으로 한 예상 문제 3개를 제시합니다. 문제의 해설, 출제 영역, 출제 의도를 종합적으로 분석하여 관련 학습 주제, 예상 문제, 그리고 해설을 상세히 정리합니다. 문제와 직접적으로 관련되었다고 파악한 사항은 강조하여 기술합니다. 예상 문제는 문제와 해설을 이어서 제시합니다.

1. 문제 분석 및 관련 학습 주제 파악

  • 문제 내용: A사가 으뜸다방 홈페이지 개선을 위해 수행한 고객 인터뷰 내용을 바탕으로 도출된 요구사항 목록을 제시하고 있습니다. 각 요구사항에 맞는 **'유형'**을 올바르게 작성한 보기를 고르는 문제입니다. 고객 인터뷰 내용에는 소셜 로그인, 검색 기능, 메뉴 글자 크기 변경, 홈페이지 속도 개선에 대한 요청이 포함되어 있습니다.
  • 해설: 보기 4번이 정답이며, 해설은 특정 요구사항(C: 메뉴 폰트 크기 변경, D: 대규모 사용 환경 성능 개선)을 예시로 들어, C는 사용성 개선을 위한 항목이고 D는 성능 요구사항에 해당하므로 비기능 요구사항이라고 명시합니다. 이는 나머지 항목(소셜 로그인, 메뉴 검색 기능)은 비기능 요구사항이 아님을 시사하며, 문맥상 기능 요구사항임을 추론할 수 있습니다.
  • 출제 영역: 프로세스 모델링 – 분석 > 요구사항 정의 (⬅️ 문제와 직접 관련)
  • 출제 의도: 주어진 요구사항 정의서에서 기능 요구사항과 비기능 요구사항을 식별할 수 있는지 검증 (⬅️ 문제와 직접 관련)

종합적으로 볼 때, 이 문제는 요구사항 공학 분야 중 요구사항 분석 단계의 핵심 활동인 요구사항 분류 능력을 평가하며, 특히 기능 요구사항비기능 요구사항이라는 요구사항의 두 가지 주요 유형을 정확히 식별하고 구분하는 것에 초점을 맞추고 있습니다. 문제의 출처인 '고객 인터뷰'는 요구사항 도출 활동의 한 예시이며, 도출된 요구사항을 분류하는 것은 요구사항 정의분석, 나아가 검증 활동의 일부입니다.

따라서 이 문제를 해결하고 관련 주제에 대한 대비를 하기 위해서는 다음 내용들을 학습해야 합니다.

2. 요구사항 공학 (Requirements Engineering) 개요

  • 개념: 사용자의 필요를 파악하고, 시스템의 요구사항으로 정의하며, 이를 문서화, 분석, 관리하는 체계적인 프로세스입니다.
  • 주요 활동: 요구사항 도출(Elicitation), 요구사항 분석(Analysis), 요구사항 명세(Specification), 요구사항 검증(Validation), 요구사항 관리(Management).
  • 요구사항 도출: 사용자 인터뷰, 설문 조사 등을 통해 사용자의 필요 파악. (⬅️ 문제의 고객 인터뷰 관련)
  • 요구사항 분석: 도출된 요구사항의 의미 명확화, 모호성/불일치 해결, 분류, 우선순위 결정 등. (⬅️ 문제의 '유형' 식별 관련)
  • 요구사항 명세: 분석된 요구사항을 명확하고 정확하게 문서화. (⬅️ 문제의 '요구사항 정의서' 관련)
  • 요구사항 검증: 명세된 요구사항이 사용자의 의도대로 잘 정의되었는지 확인. (⬅️ 문제의 '올바르게 작성한 것을 고르시오' 관련)

3. 요구사항의 종류 (유형) (⬅️ 문제의 핵심 출제 포인트)

요구사항은 시스템이 "무엇을 할 것인가"와 "어떻게 작동할 것인가"에 대한 측면으로 구분됩니다.

  • 기능 요구사항 (Functional Requirements): (⬅️ 문제 출제 의도 및 해설 언급)
    • 개념: 시스템이 "무엇을 해야 하는가", 즉 시스템이 사용자에게 제공해야 하는 기능(Functionality), 서비스(Service), 특정 동작(Behavior)에 대한 요구사항입니다. 사용자가 시스템을 통해 수행할 수 있는 작업이나 시스템이 입력에 대해 어떤 출력을 내야 하는지를 정의합니다.
    • 예시 (문항3 관련):
      • "소셜 로그인 기능을 제공해주었으면 좋겠어요." -> 사용자가 소셜 계정으로 인증하는 기능.
      • "내가 원하는 메뉴를 쉽게 찾을 수 있도록 검색 기능이 있으면 좋겠어요." -> 사용자가 원하는 정보를 시스템 내에서 찾는 기능.
      • "상품을 장바구니에 담을 수 있어야 한다."
      • "회원 가입 기능을 제공해야 한다."
      • "주문 내역을 조회할 수 있어야 한다."
  • 비기능 요구사항 (Non-functional Requirements): (⬅️ 문제 출제 의도 및 해설 언급)
    • 개념: 시스템이 "어떻게" 작동해야 하는가, 즉 시스템의 품질 속성(Quality Attributes) 또는 **제약 조건(Constraints)**에 대한 요구사항입니다. 기능 자체의 구현보다는 기능이 수행되는 품질이나 제한 사항을 다룹니다.
    • 주요 비기능 요구사항 범주:
      • 성능 (Performance): (⬅️ 문항3 해설 언급) 응답 시간, 처리량, 자원 사용량(CPU, 메모리 등), 확장성(Scalability) 등. (예: "홈페이지가 항상 빠르게 이용할 수 있으면 좋겠어요."는 성능 요구사항입니다.)
      • 사용성 (Usability): (⬅️ 문항3 해설 언급) 배우기 쉬움, 사용하기 쉬움, 효율성, 만족도, 접근성(Accessibility - 장애인, 노년층 등 다양한 사용자의 사용 편의성) 등. (예: "메뉴의 글자가 너무 작아서 잘 보이지 않아요. 사용자 입장에서 글자 크기를 변경해주면 좋겠어요."는 사용성/접근성 관련 요구사항입니다.)
      • 보안 (Security): 접근 통제, 인증, 인가, 데이터 암호화, 취약점 방어 등. (예: "개인 정보는 안전하게 암호화되어야 한다.")
      • 신뢰성 (Reliability): 오류 발생 빈도, 시스템 장애 시 복구 능력, 가용성(시스템이 사용 가능한 시간 비율) 등. (예: "시스템은 연중무휴 99.9%의 가용성을 가져야 한다.")
      • 유지보수성 (Maintainability): 시스템 변경, 수정, 개선, 확장 용이성. (예: "새로운 상품 카테고리를 쉽게 추가할 수 있도록 설계되어야 한다.")
      • 이식성 (Portability): 다른 환경(OS, 하드웨어 등)으로 시스템을 옮기기 쉬운 정도.
      • 제약 조건 (Constraints): 사용 기술 제약, 운영 환경 제약, 법규 준수 등.

4. 문제 해결 전략 (문항3)

문항3과 같은 유형의 문제를 해결하기 위해서는 다음 단계를 따릅니다.

  1. [고객 인터뷰] 내용 및 [요구사항 목록] 분석: 고객이 요청한 내용과 이를 정리한 요구사항 목록을 하나씩 매칭합니다.
    • A: 소셜 로그인 추가 (고객 인터뷰: 소셜 로그인 기능)
    • B: 메뉴 검색 기능 추가 (고객 인터뷰: 검색 기능)
    • C: 메뉴 폰트 크기 변경 (고객 인터뷰: 글자 크기 변경)
    • D: 대규모 사용 환경의 성능 개선 (고객 인터뷰: 홈페이지가 너무 느려서)
  2. 각 요구사항이 시스템의 '무엇'에 대한 것인지 '어떻게'에 대한 것인지 판단:
    • A (소셜 로그인 추가): 시스템이 소셜 로그인을 '해야 하는' 특정 기능. -> 기능 요구사항
    • B (메뉴 검색 기능 추가): 시스템이 메뉴를 '검색해야 하는' 특정 기능. -> 기능 요구사항
    • C (메뉴 폰트 크기 변경): 시스템 UI의 '글자 크기를 조절할 수 있어야 하는' 품질(사용성, 접근성)에 대한 요구. -> 비기능 요구사항
    • D (대규모 사용 환경의 성능 개선): 시스템이 '빠르게 작동해야 하는' 품질(성능)에 대한 요구. -> 비기능 요구사항
  3. 보기와 비교하여 올바른 조합 선택: 판단 결과 (A: 기능, B: 기능, C: 비기능, D: 비기능)와 일치하는 보기를 선택합니다.

5. 예상 문제 3개 (요구사항 유형 분류)

문항3과 유사한 유형 및 수준의 예상 문제 3개를 제시합니다. 문제 풀이 및 해설은 문제 아래에 바로 이어서 제공합니다.

예상 문제 3-1) 다음 [시스템 개선 요청 사항 목록] 중 비기능 요구사항에 해당하는 항목을 모두 고르시오. [4점] 가. 사용자는 비밀번호 변경 시 기존 비밀번호를 입력해야 합니다. 나. 시스템은 초당 1000건 이상의 요청을 처리할 수 있어야 합니다. 다. 모든 사용자 인터페이스는 웹 표준을 준수하여 접근성을 높여야 합니다. 라. 관리자는 회원 정보를 검색하고 수정할 수 있어야 합니다. 마. 시스템은 네트워크 장애 발생 시에도 데이터 손실 없이 복구되어야 합니다.

① 가, 나, 라 ② 나, 다, 마 ③ 가, 라 ④ 나, 다, 라, 마 ⑤ 가, 나, 다, 라, 마


/ 필수 문항 정보 /

  • 문제 유형: 선다형
  • 출제 영역: 요구사항 정의
  • 문제 제목: 기능 vs 비기능 요구사항 식별
  • 출제 의도: 주어진 요구사항 목록에서 비기능 요구사항 식별 능력 검증

해설: 가. 비밀번호 변경 기능의 일부 절차 (기능) 나. 초당 처리량 (성능 - 비기능) 다. 웹 표준 준수 및 접근성 (사용성 - 비기능) 라. 관리자의 검색 및 수정 기능 (기능) 마. 장애 시 데이터 손실 없이 복구 (신뢰성 - 비기능) 비기능 요구사항은 나, 다, 마입니다.


예상 문제 3-2) 시스템이 제공해야 하는 특정 기능이나 서비스에 대한 요구사항을 무엇이라고 합니까? [3점]

답: ____________________ 요구사항


/ 필수 문항 정보 /

  • 문제 유형: 단답형 (빈칸 채우기)
  • 출제 영역: 요구사항 정의
  • 문제 제목: 기능 요구사항 정의
  • 출제 의도: 기능 요구사항의 개념 이해도 검증

해설: 시스템이 '무엇을 해야 하는가'에 대한 특정 기능/서비스 요구사항을 기능 요구사항이라고 합니다.


예상 문제 3-3) 시스템의 성능, 보안, 사용성, 신뢰성 등 시스템이 갖춰야 할 품질 속성이나 제약 조건에 대한 요구사항을 무엇이라고 합니까? [3점]

답: ____________________ 요구사항


/ 필수 문항 정보 /

  • 문제 유형: 단답형 (빈칸 채우기)
  • 출제 영역: 요구사항 정의
  • 문제 제목: 비기능 요구사항 정의
  • 출제 의도: 비기능 요구사항의 개념 이해도 검증

해설: 시스템이 '어떻게 작동해야 하는가'에 대한 품질 속성이나 제약 조건 요구사항을 비기능 요구사항이라고 합니다.

문항4 (쇼핑몰 인터페이스 유형) 관련 학습 내용, 예상 문제 및 해설

본 문서는 첨부된 PDF 파일 내 문항4("쇼핑몰에서 발생하는 이벤트를 처리하기 위한 인터페이스 유형 중, 실시간 처리 방식으로 적합하지 않은 것을 고르시오.")와 관련하여 학습하여야 할 주제 및 내용을 상세히 정리하고, 해당 주제를 기반으로 한 예상 문제 3개를 제시합니다. 문제의 해설, 출제 영역, 출제 의도를 종합적으로 분석하여 관련 학습 주제, 예상 문제, 그리고 해설을 상세히 정리합니다. 문제와 직접적으로 관련되었다고 파악한 사항은 강조하여 기술합니다. 예상 문제는 문제와 해설을 이어서 제시합니다.

1. 문제 분석 및 관련 학습 주제 파악

  • 문제 내용: 쇼핑몰에서 발생하는 다양한 **이벤트(요청)**들을 처리하기 위한 인터페이스 유형 중, 실시간 처리 방식에 적합하지 않은 것을 고르는 문제입니다. 보기에는 사용자의 직접적인 상호작용이나 주기적인 대량 데이터 처리와 관련된 쇼핑몰 시나리오들이 제시되어 있습니다.
  • 해설: 보기 4번이 정답이며, "4 번은 배치처리 방식이고, 나머지 보기는 실시간 처리 방식이다."라고 명시합니다. 이를 통해 문제의 핵심 분류 기준이 실시간 처리 배치 처리이며, 4번 보기 시나리오가 배치 처리의 예시임을 명확히 알려줍니다.
  • 출제 영역: 프로세스 모델링 – 분석 > 인터페이스 정의 (⬅️ 문제와 직접 관련)
  • 출제 의도: 통신유형에 따른 인터페이스의 이해 검증 (⬅️ 문제와 직접 관련)

종합적으로 볼 때, 이 문제는 시스템 설계 시 발생하는 사용자 요청이나 시스템 작업에 대해, 요구되는 처리 방식의 실시간성(Real-time) 여부를 판단하고, 이에 따라 적합한 인터페이스 통신 유형을 선택하는 능력에 초점을 맞추고 있습니다. 특히 실시간 처리와 **배치 처리(Batch Processing)**의 개념 및 특징을 명확히 구분하고, 특정 시나리오가 어떤 처리 방식에 더 적합한지 식별하는 능력을 평가합니다. 문제의 출제 영역은 '인터페이스 정의'이며, 출제 의도는 '통신 유형'에 따른 인터페이스의 이해를 검증하는 것이므로, 처리 방식과 통신 유형 간의 관계를 이해하는 것이 중요합니다.

따라서 이 문제를 해결하고 관련 주제에 대한 대비를 하기 위해서는 다음 내용들을 학습해야 합니다.

2. 인터페이스 개념 및 중요성

  • 개념: 시스템이나 컴포넌트 간에 데이터를 주고받거나 상호작용하는 접점 및 규약입니다. 데이터 형식, 프로토콜, 호출 방식 등을 정의합니다.
  • 인터페이스 정의 (Specification): (⬅️ 문제 출제 영역) 시스템 간 또는 컴포넌트 간 데이터 교환 및 상호작용 방식을 문서화하는 활동입니다. 입력/출력 데이터의 항목, 타입, 의미, 필수 여부 등을 상세히 정의합니다.

3. 인터페이스 통신 유형 (⬅️ 문제 출제 의도 핵심)

시스템 간 데이터 교환 방식을 분류하는 기준이며, 이는 데이터 처리 방식과 밀접하게 연결됩니다.

  • 동기 통신 (Synchronous Communication):
    • 개념: 요청을 보낸 시스템(클라이언트)이 요청에 대한 응답이 돌아올 때까지 기다리는 방식입니다. 요청과 응답이 실시간으로 이루어지며, 하나의 트랜잭션처럼 동작하는 경우가 많습니다.
    • 특징: 구현이 비교적 단순하고 요청-응답 관계가 명확합니다. 하지만 호출 시스템이 응답 대기 중 다른 작업을 수행할 수 없는 Blocking 특성이 있으며, 응답 지연이나 상대방 시스템의 장애가 호출 시스템의 지연/장애로 이어지기 쉽습니다.
    • 예시: REST API 요청 후 응답 대기, 웹 페이지에서 서버 요청 후 응답 받을 때까지 대기.
  • 비동기 통신 (Asynchronous Communication):
    • 개념: 요청을 보낸 시스템이 응답을 기다리지 않고 즉시 자신의 작업을 계속 진행하며, 요청에 대한 결과나 응답은 나중에 다른 메커니즘(메시지 큐, 이벤트 브로커, 콜백 등)을 통해 전달받는 방식입니다.
    • 특징: 호출 시스템이 Blocking 되지 않아 유연하고 다른 작업을 계속 수행할 수 있습니다. 서비스 간 결합도를 낮추고 확장성이 좋습니다. 하지만 구현이 복잡해지고 메시지 순서 보장, 결과 추적 및 디버깅이 어려워질 수 있습니다.
    • 예시: 메시지 큐에 메시지 발행, 이벤트 브로커에 이벤트 발행, 요청 후 비동기 응답을 위한 콜백 주소 전달.

4. 데이터 처리 방식 (⬅️ 문제의 핵심 분류 기준 및 해설 언급)

요구되는 실시간성 수준에 따라 시스템이 데이터를 처리하는 방식이 구분됩니다.

  • 실시간 처리 (Real-time Processing): (⬅️ 문제의 분류 기준)
    • 개념: 데이터나 요청이 발생하는 즉시 또는 매우 짧은 지연 시간(시스템 특성에 따라 수 밀리초 ~ 수 초) 내에 처리되는 방식입니다. 요청 발생 후 결과가 즉시 필요한 경우나 시스템의 상태가 실시간으로 반영되어야 하는 경우에 사용됩니다.
    • 특징: 응답 속도가 가장 중요한 고려 사항입니다. 사용자의 직접적인 상호작용이나 시스템의 즉각적인 반응이 필요한 대화형 서비스에 적합합니다. 주로 동기 통신 또는 이벤트 발생 즉시 처리되는 비동기 통신을 통해 구현됩니다.
    • 적합 시나리오 (문항4 보기 관련):
      • 사용자가 특정 상품을 선택하여 상세페이지를 요청한 경우: 사용자가 상품 정보를 보기 위해 페이지 로딩이 즉시 이루어져야 합니다. (실시간)
      • 본인 인증을 위해 SMS 인증 번호를 요청한 경우: 사용자가 인증 번호를 즉시 받아 시스템에 입력해야 하므로 즉각적인 응답이 필수적입니다. (실시간)
      • 사용자가 ID와 패스워드를 입력하고 로그인 버튼을 클릭한 경우: 로그인 결과를 즉시 확인하고 시스템에 접근해야 합니다. (실시간)
  • 배치 처리 (Batch Processing): (⬅️ 문제의 분류 기준 및 해설에서 4번 보기 분류)
    • 개념: 데이터를 일정 시간(예: 하루, 한 시간) 또는 일정량(예: 1000건)만큼 모아서(배치 단위) 한꺼번에 처리하는 방식입니다. 데이터 발생 즉시 처리가 필요 없거나, 대량의 데이터를 효율적으로 처리하여 시스템 부하를 분산하는 것이 목적인 경우에 사용됩니다.
    • 특징: 응답 속도보다는 **처리량(Throughput)**과 안정성이 중요합니다. 주로 시스템 자원 사용량이 적은 시간대에 정해진 스케줄에 따라 자동으로 수행되거나, 사용자의 특정 요청에 의해 시작되지만 완료까지 시간이 소요될 수 있는 작업에 사용됩니다. 비동기 통신이나 파일 전송 등 일괄 전송 방식이 주로 사용됩니다.
    • 적합 시나리오 (문항4 보기 관련):
      • 매일 자정에 지난 24시간 동안 쇼핑몰에서 발생한 트랜잭션 로그를 분석하여 분석 리포트를 생성하는 경우: 하루 동안 쌓인 대량의 로그 데이터를 모아서 정해진 시간(자정)에 일괄적으로 분석하고 리포트를 생성하는 작업입니다. 실시간성이 요구되지 않으며, 효율적인 대량 데이터 처리가 목적입니다. (배치 처리)
      • (문항4의 다른 보기 중 '사용자가 화면에 조회된 구매내역을 파일로 받기 위해 다운로드 버튼을 클릭한 경우'가 해설에서 배치 처리로 분류된 것으로 보입니다.) -> 파일 생성 및 다운로드는 서버 부하를 고려하여 요청 즉시 완료되기 어렵고, 파일 생성이라는 일괄 작업에 시간이 소요될 수 있으므로 배치 처리 또는 비동기 처리가 적합하다고 판단될 수 있습니다.

5. 통신 유형과 처리 방식의 관계 심화 (⬅️ 문제 출제 의도 핵심)

  • 실시간 처리는 일반적으로 동기 통신을 통해 구현되지만, 비동기 통신을 활용하여도 가능합니다 (예: 요청 후 응답을 기다리지 않지만, 서버에서 즉시 작업을 처리하고 결과를 빠르게 콜백으로 전달). 핵심은 요청 발생 후 결과가 필요한 시점까지의 지연 시간이 매우 짧아야 한다는 것입니다.
  • 배치 처리는 대량 데이터를 모아서 처리하므로 비동기 통신이 더 적합합니다 (요청 서비스가 일괄 작업 완료를 기다릴 필요 없음). 요청 발생 즉시 결과가 필요하지 않으며, 처리 완료 후 알림을 받는 형태로 진행되는 경우가 많습니다.
  • 문항4에서는 작업의 성격이 '실시간 처리'에 적합한지 아닌지를 묻는 것이며, 이는 해당 작업에 대해 요구되는 실시간성 수준을 파악하는 능력을 평가합니다. 통신 메커니즘(동기/비동기) 자체보다는 업무 시나리오의 요구 사항이 주된 판단 기준이 됩니다.

6. 문제 해결 전략 (문항4)

문항4와 같은 유형의 문제를 해결하기 위해서는 다음 단계를 따릅니다.

  1. 제시된 각 보기의 시나리오 상세 분석: 각 보기가 설명하는 상황에서 어떤 작업이 수행되는지, 그리고 그 작업의 결과를 얼마나 빠르게(즉시 vs 나중에) 필요로 하는지(요구되는 실시간성)를 파악합니다. 사용자의 직접적인 상호작용 여부, 결과의 즉시 필요 여부, 작업의 성격(단일 요청 vs 대량 데이터 일괄 처리) 등을 중요한 판단 기준으로 삼습니다.
  2. 각 시나리오의 처리 방식 판단: 파악된 요구되는 실시간성 수준과 작업의 성격에 따라 각 시나리오가 실시간 처리에 적합한지, 아니면 데이터를 모아서 처리하는 배치 처리에 더 적합한지를 판단합니다.
  3. 실시간 처리 방식에 적합하지 않은 시나리오 선택: 판단 결과, 배치 처리 방식에 더 적합하거나, 실시간 처리가 필수적이지 않은 시나리오를 고릅니다. 해설에서 4번 보기가 배치 처리로 분류되었음을 참고합니다.

7. 예상 문제 3개 (인터페이스 통신 유형/처리 방식)

문항4와 유사한 유형 및 수준의 예상 문제 3개를 제시합니다. 문제 풀이 및 해설은 문제 아래에 바로 이어서 제공합니다.

예상 문제 4-1) 다음 중 실시간 처리 방식에 적합한 시스템 운영 시나리오는 무엇입니까? [4점] ① 데이터베이스에 쌓인 대량의 로그 데이터를 분석하여 주간 시스템 부하 보고서를 생성하는 경우 ② 고객이 온라인 뱅킹 시스템에서 자신의 현재 계좌 잔액을 조회하는 경우 ③ 사용자 요청을 받아 수백만 건의 이메일을 일괄 발송하는 경우 ④ 매월 말일에 모든 회원에 대한 월별 구매 통계를 산출하는 경우


/ 필수 문항 정보 /

  • 문제 유형: 선다형
  • 출제 영역: 인터페이스 정의 (통신 유형)
  • 문제 제목: 실시간 처리 적합 시나리오 식별
  • 출제 의도: 다양한 시나리오 중 실시간 처리 적합한 경우 식별 능력 검증

해설: ①, ③, ④는 대량 데이터 또는 일괄 작업을 모아서 처리하는 배치 처리 시나리오입니다. ② 고객이 계좌 잔액을 조회하는 것은 요청 발생 즉시 최신 정보를 확인해야 하므로 실시간 처리 시나리오입니다.


예상 문제 4-2) 시스템 간 통신에서 요청을 보낸 시스템이 응답이 돌아올 때까지 대기하는 통신 방식을 무엇이라고 합니까? [3점]

답: ____________________ 통신


/ 필수 문항 정보 /

  • 문제 유형: 단답형 (빈칸 채우기)
  • 출제 영역: 인터페이스 정의 (통신 유형)
  • 문제 제목: 응답 대기 통신 방식 명칭
  • 출제 의도: 동기 통신 개념 이해도 검증

해설: 요청 후 응답을 기다리는 통신 방식을 동기 통신(Synchronous Communication)이라고 합니다.


예상 문제 4-3) 시스템 인터페이스를 통한 데이터 처리 방식 중, 데이터를 일정 시간 또는 일정량만큼 모아서 한꺼번에 처리하는 방식으로 대량 데이터 처리나 주기적인 작업에 적합한 방식은 무엇입니까? [3점]

답: ____________________ 처리


/ 필수 문항 정보 /

  • 문제 유형: 단답형 (빈칸 채우기)
  • 출제 영역: 인터페이스 정의 (처리 방식)
  • 문제 제목: 일괄 처리 방식 명칭
  • 出題意図: 배치 처리 개념 이해도 검증

해설: 데이터를 모아서 한꺼번에 처리하는 방식을 배치 처리(Batch Processing)라고 합니다.

 

문항5 (Agile 개발방법론) 관련 학습 내용 상세 정리

첨부된 PDF 파일 내 문항5는 애자일 개발 방법론의 핵심 개념인 **'짧고 반복적인 개발 주기'**를 설명하고, 이 주기를 지칭하는 용어를 묻는 문제입니다. 문제의 해설, 출제 영역, 출제 의도를 종합적으로 분석하여 관련 학습 주제들을 상세히 정리합니다.

1. 문제 분석 및 관련 학습 주제 파악

  • 문제 내용: 애자일 방법론의 특징(짧은 개발 주기, User Story 기반 개발, 주기별 Demo 및 회고, 지속적인 피드백 및 개선 추구)을 설명하고, 이러한 개발 주기를 부르는 명칭을 묻습니다.
  • 해설: 정답이 'Sprint(스프린트)'이며, 스프린트가 애자일 방법론에서 기획, 개발, 출시와 같은 개발 주기를 일컫는 용어라고 설명합니다.
  • 출제 영역: 프로세스 모델링 – 분석 > 개발방법론
  • 출제 의도: Agile 개발방법론의 이해

종합적으로 볼 때, 이 문제는 소프트웨어 개발 방법론 중 하나인 애자일(Agile) 방법론에 대한 기본적인 이해를 평가하며, 특히 애자일 방법론의 실천 프레임워크인 **스크럼(Scrum)**에서 사용되는 짧고 반복적인 개발 주기의 명칭을 정확히 아는지를 묻고 있습니다.

따라서 이 문제를 해결하고 관련 주제에 대한 대비를 하기 위해서는 다음 내용들을 학습해야 합니다. 문제와 직접적으로 관련되었다고 파악한 사항은 강조하여 기술합니다.

2. 소프트웨어 개발 방법론 개요

  • 개념: 소프트웨어를 개발하는 과정(분석, 설계, 구현, 테스트, 배포 등)을 체계적으로 관리하고 수행하기 위한 접근 방식 또는 프레임워크입니다.
  • 개발 방법론의 종류: 다양한 방법론이 존재하며, 프로젝트 특성, 팀 문화, 환경 등에 따라 적합한 방법론을 선택합니다.
    • 폭포수 모델 (Waterfall Model): 전통적인 순차적 방법론. 요구사항 정의 -> 설계 -> 구현 -> 테스트 -> 유지보수 단계를 순서대로 진행합니다. 각 단계가 완료되어야 다음 단계로 넘어갈 수 있습니다.
      • 장점: 구조가 명확하고 관리 용이.
      • 단점: 요구사항 변경에 취약, 피드백 반영 어려움, 초기 단계 오류 발견 시 수정 비용 큼.
    • 애자일 방법론 (Agile Methodology): (⬅️ 문제의 핵심 주제) 변화에 유연하게 대응하고 고객과의 지속적인 소통 및 협력을 중요시하는 반복적, 점진적 방법론입니다.

3. Agile 개발 방법론 상세 학습 (⬅️ 문제와 직접 관련)

  • 개념: '민첩한', '기민한'이라는 뜻처럼, 계획을 사전에 완벽하게 세우기보다 변화에 빠르게 반응하고, 고객에게 작동하는 소프트웨어를 일찍, 자주 전달하여 피드백을 반영하는 것에 초점을 맞춥니다.
  • 등장 배경: 폭포수 모델의 단점(변화 대응 어려움, 긴 개발 기간, 최종 결과물 만족도 불확실성)을 극복하기 위해 등장했습니다.
  • 애자일 선언문 (Agile Manifesto): 애자일 개발의 근본 철학을 담고 있는 4가지 핵심 가치와 12가지 원칙입니다. (⬅️ Agile 이해에 중요)
    • 4가지 가치:
      • 개인과 상호작용이 프로세스와 도구보다 우선한다.
      • 작동하는 소프트웨어가 포괄적인 문서보다 우선한다.
      • 고객과의 협력이 계약 협상보다 우선한다.
      • 변화에 대한 대응이 계획을 따르는 것보다 우선한다.
    • 12가지 원칙: 짧은 개발 주기, 지속적인 고객 참여, 작동하는 소프트웨어 전달, 변화 수용, 팀원 간 신뢰 및 지원, 대면 소통 강조 등. (⬅️ 문제 설명 내용과 연결)
  • 애자일 방법론의 특징:
    • 반복적, 점진적 개발: 전체 시스템을 한 번에 만들지 않고, 짧은 주기로 부분을 개발하고 통합하며 점진적으로 완성해 나갑니다. (⬅️ 문제 설명의 '짧은 주기로 ... 개발'과 연결)
    • 지속적인 피드백: 각 반복 주기가 끝날 때마다 이해관계자로부터 피드백을 받아 다음 주기에 반영합니다. (⬅️ 문제 설명의 'Demo와 회고를 통해... 피드백'과 연결)
    • 변화 수용: 개발 과정 중에 발생하는 요구사항 변경을 환영하고 적극적으로 반영합니다. (⬅️ 애자일 핵심 가치와 연결)
    • 고객 참여: 개발 과정에 고객이나 이해관계자가 적극적으로 참여합니다. (⬅️ 애자일 핵심 가치와 연결)

4. 애자일 실천 프레임워크 (Scrum, XP 등)

애자일 방법론은 추상적인 철학이며, 이를 실제로 프로젝트에 적용하기 위한 다양한 구체적인 프레임워크들이 있습니다. 파일 문제의 해설에서 '스크럼'을 언급하므로 스크럼에 대해 자세히 학습해야 합니다. (⬅️ 문제 해설에 명시)

  • 스크럼 (Scrum):
    • 개념: 애자일 방법론을 구현하기 위한 가장 널리 사용되는 프레임워크입니다. 반복적이고 점진적인 방식으로 제품을 개발하고 관리하기 위한 규칙과 역할, 이벤트를 정의합니다.
    • 스크럼의 3가지 기둥: 투명성(Transparency), 점검(Inspection), 적응(Adaptation). (⬅️ 스크럼의 기본 철학)
    • 스크럼의 5가지 가치: 확약(Commitment), 집중(Focus), 열린 마음(Openness), 존중(Respect), 용기(Courage). (⬅️ 스크럼 팀원들의 마음가짐)
    • 스크럼 팀의 3가지 역할: 프로덕트 오너(Product Owner), 스크럼 마스터(Scrum Master), 개발팀(Development Team). (⬅️ 팀 구성 이해에 중요)
    • 스크럼의 이벤트: (⬅️ 문제 설명 내용과 직접 관련) 스크럼 팀이 규칙적으로 수행하는 활동들입니다. 모두 시간 제한(Time-boxed)이 있습니다.
      • 스프린트 (Sprint): (⬅️ 문제의 빈칸에 들어갈 답) 스크럼의 심장 박동이며, 규칙적이고 반복적인 짧은 개발 주기 그 자체를 의미합니다. 일반적으로 1주일에서 4주일 사이의 고정된 길이를 가집니다. 스크럼의 다른 모든 이벤트(플래닝, 일일 스크럼, 검토, 회고)는 스프린트 내에서 발생합니다. 문제 설명의 '짧은 주기로 프로젝트를 진행하며... 개발 주기'가 바로 스프린트입니다.
      • 스프린트 플래닝 (Sprint Planning): 스프린트 시작 시, 이번 스프린트 동안 무엇을 할 것인지(스프린트 목표 및 스프린트 백로그) 계획하는 회의.
      • 일일 스크럼 (Daily Scrum): 매일 같은 시간에 짧게 모여 스프린트 목표 달성을 위한 진행 상황 공유 및 계획 수립.
      • 스프린트 검토 (Sprint Review): 스프린트 종료 시, 스프린트 결과물(제품 증분)을 이해관계자에게 보여주고 피드백을 받는 회의. (⬅️ 문제 설명의 'Demo'와 연결)
      • 스프린트 회고 (Sprint Retrospective): 스프린트 검토 후, 팀원들이 모여 프로세스 및 협업 방식에 대한 개선점을 논의하고 다음 스프린트에 반영할 액션 아이템 도출. (⬅️ 문제 설명의 '회고'와 연결)
    • 스크럼의 산출물: 제품 백로그(Product Backlog), 스프린트 백로그(Sprint Backlog), 제품 증분(Increment). (⬅️ 결과물 이해에 중요) 제품 백로그는 User Story 형태로 작성되기도 합니다. (⬅️ 문제 설명 언급)
  • 기타 애자일 프레임워크: 익스트림 프로그래밍(XP), 칸반(Kanban), Lean 등.

5. 문제 해결 전략 (문항5)

문항5와 같은 유형의 문제를 해결하기 위해서는 다음 단계를 따릅니다.

  1. 문제 설명 내용 분석: 문제에서 애자일 방법론의 어떤 특징(짧은 주기, 피드백, 회고 등)을 설명하고 있는지 파악합니다.
  2. 빈칸에 들어갈 용어의 정의 파악: 문제의 마지막 문장에서 빈칸이 어떤 개념을 지칭하는지 ("이렇게 짧은 주기로 프로젝트를 진행하며... 개발 주기") 정의를 정확히 파악합니다.
  3. 애자일/스크럼 관련 용어 지식 활용: 학습한 애자일 및 스크럼 관련 용어들(Sprint, Scrum, Release, Planning, Testing 등 보기에 제시된 용어들)의 정의를 떠올립니다.
  4. 정의와 일치하는 용어 선택: 파악한 빈칸의 정의와 정확히 일치하는 용어를 보기에서 선택합니다. 문제 설명은 스크럼의 '스프린트' 개념을 정확하게 기술하고 있습니다.

 

문항5 (Agile 개발방법론) 관련 학습 내용, 예상 문제 및 해설

1. 예상 문제 목록 및 해설

본 섹션에서는 문항5와 관련된 학습 주제를 기반으로 도출된 예상 문제 3개를 제시하고, 각 문제의 해설을 바로 이어서 제공합니다.

예상 문제 5-1) 스크럼 프레임워크에서 제품의 가치를 극대화하고, 제품 백로그의 관리(정의, 우선순위 결정, 투명성 확보)에 대한 책임을 가지는 역할은 무엇입니까? [3점]

답: ____________________


/ 필수 문항 정보 /

  • 문제 유형: 단답형
  • 출제 영역: 프로세스 모델링 - 개발 방법론
  • 문제 제목: 스크럼 팀 역할 (제품 가치 책임자)
  • 출제 의도: 스크럼 프레임워크의 주요 역할 이해도 검증

해설: 스크럼 프레임워크의 세 가지 역할(프로덕트 오너, 스크럼 마스터, 개발팀) 중, 제품의 가치를 극대화하고 제품 백로그를 관리하는 책임을 가진 역할은 프로덕트 오너(Product Owner)입니다.


예상 문제 5-2) 스크럼 프레임워크에서 스프린트 종료 시점에, 개발팀이 스프린트 동안 완료한 제품 증분(Increment)을 검토하고 이해관계자로부터 피드백을 받으며 제품 백로그를 점검하는 이벤트(회의)는 무엇입니까? [3점]

답: ____________________ 검토


/ 필수 문항 정보 /

  • 문제 유형: 단답형 (빈칸 채우기)
  • 출제 영역: 프로세스 모델링 - 개발 방법론
  • 문제 제목: 스크럼 이벤트 (제품 증분 검토)
  • 출제 의도: 스크럼 프레임워크의 주요 이벤트 이해도 검증

해설: 스프린트 종료 시점에 완료된 제품 증분을 검토하고 피드백을 받는 스크럼 이벤트는 스프린트 검토(Sprint Review)입니다. 문제 설명에 언급된 'Demo' 활동이 일반적으로 스프린트 검토의 일부로 수행됩니다.


예상 문제 5-3) 스크럼 프레임워크에서 스프린트 종료 시점에, 팀원들이 모여 프로세스 및 협업 방식에 대해 논의하고 다음 스프린트에서 개선할 액션 아이템을 도출하는 이벤트(회의)는 무엇입니까? [3점]

답: ____________________


/ 필수 문항 정보 /

  • 문제 유형: 단답형
  • 출제 영역: 프로세스 모델링 - 개발 방법론
  • 문제 제목: 스크럼 이벤트 (프로세스 개선 논의)
  • 출제 의도: 스크럼 프레임워크의 주요 이벤트 이해도 검증

해설: 스프린트 종료 시점에 팀의 프로세스 및 협업 방식 개선을 논의하는 스크럼 이벤트는 스프린트 회고(Sprint Retrospective)입니다. 문제 설명에 언급된 '회고' 활동이 바로 이 이벤트입니다.


2. 문제 분석 및 관련 학습 주제 파악

  • 문제 내용: 애자일 개발 방법론의 특징(짧은 개발 주기, User Story 기반 개발, 주기별 Demo 및 회고, 지속적인 피드백 및 개선 추구)을 설명하고, 이러한 개발 주기를 지칭하는 용어를 보기에서 고르는 문제입니다.
  • 해설: 정답이 'Sprint(스프린트)'이며, 스프린트가 애자일 방법론에서 기획, 개발, 출시와 같은 개발 주기를 일컫는 용어라고 설명합니다.
  • 출제 영역: 프로세스 모델링 – 분석 > 개발방법론 (⬅️ 문제와 직접 관련)
  • 출제 의도: Agile 개발방법론의 이해 (⬅️ 문제와 직접 관련)

종합적으로 볼 때, 이 문제는 소프트웨어 개발 방법론 중 하나인 애자일(Agile) 방법론에 대한 기본적인 이해를 평가하며, 특히 애자일 방법론의 실천 프레임워크인 **스크럼(Scrum)**에서 사용되는 짧고 반복적인 개발 주기의 명칭을 정확히 아는지를 묻고 있습니다. 문제의 설명 내용은 스크럼 프레임워크의 핵심 이벤트들을 포함하고 있습니다.

따라서 이 문제를 해결하고 관련 주제에 대한 대비를 하기 위해서는 다음 내용들을 학습해야 합니다.

3. 소프트웨어 개발 방법론 개요

  • 개념: 소프트웨어를 개발하는 전 과정(요구사항 분석, 설계, 구현, 테스트, 배포 등)을 체계적으로 수행하고 관리하기 위한 접근 방식 또는 프레임워크입니다.
  • 주요 방법론:
    • 폭포수 모델 (Waterfall Model): 순차적, 단계별 진행.
    • 애자일 방법론 (Agile Methodology): (⬅️ 문제의 핵심 주제) 변화에 유연하게 대응하고 고객과의 협력 및 작동하는 소프트웨어의 조기 전달을 중시하는 반복적, 점진적 방법론.

4. Agile 개발 방법론 상세 학습 (⬅️ 문제와 직접 관련)

  • 개념: '민첩한', '기민한'이라는 의미처럼, 계획 중심보다는 변화 수용과 소통에 초점을 맞추어 효율적인 개발을 추구합니다.
  • 애자일 선언문 (Agile Manifesto): (⬅️ Agile 이해의 기반) 애자일 개발의 4가지 핵심 가치("개인과 상호작용" vs 프로세스와 도구, "작동하는 소프트웨어" vs 포괄적인 문서, "고객과의 협력" vs 계약 협상, "변화에 대한 대응" vs 계획 따르기)와 12가지 원칙. 문제 설명의 '지속적인 피드백과 개선을 추구'나 '짧은 주기' 등은 애자일 원칙과 연결됩니다.
  • 애자일 방법론의 특징:
    • 반복적, 점진적 개발: 전체 시스템을 짧은 주기로 나누어 개발하고, 개발된 부분을 통합하며 점진적으로 완성. (⬅️ 문제 설명의 '짧은 주기로 ... 개발'과 연결)
    • 지속적인 피드백 및 개선: 반복 주기가 끝날 때마다 결과물을 검토하고 피드백을 받아 다음 주기에 반영. (⬅️ 문제 설명의 'Demo와 회고를 통해 ... 피드백과 개선'과 연결)
    • 변화 수용: 개발 과정 중 발생하는 요구사항 변경을 긍정적으로 받아들임.

5. 애자일 실천 프레임워크 (Scrum 등)

애자일 방법론은 추상적인 철학이며, 이를 구체적으로 실행하기 위한 다양한 프레임워크가 존재합니다. 스크럼이 가장 대표적이며, 문제 해설에서 언급됩니다. (⬅️ 문제 해설에 명시)

  • 스크럼 (Scrum):
    • 개념: 애자일 방법론을 구현하기 위한 프레임워크. 역할, 이벤트, 산출물을 정의.
    • 스크럼 팀 역할: 프로덕트 오너, 스크럼 마스터, 개발팀.
    • 스크럼의 이벤트: (⬅️ 문제 설명 내용과 직접 관련) 스크럼 팀이 규칙적으로 수행하는 활동들. 모두 시간 제한(Time-boxed)이 있습니다.
      • 스프린트 (Sprint): (⬅️ 문제의 빈칸에 들어갈 답이자 핵심 개념) 스크럼의 핵심이며, 규칙적이고 반복적인 짧은 개발 주기 그 자체를 의미합니다. 일반적으로 1주일에서 4주일 사이의 고정된 길이를 가집니다. 스크럼의 다른 모든 이벤트(플래닝, 일일 스크럼, 검토, 회고)는 스프린트 내에서 발생합니다. 문제 설명의 '이렇게 짧은 주기로 프로젝트를 진행하며 ... 개발 주기'가 바로 스프린트입니다.
      • 스프린트 플래닝 (Sprint Planning): 스프린트 시작 시 계획 수립.
      • 일일 스크럼 (Daily Scrum): 매일 짧게 진행 상황 공유.
      • 스프린트 검토 (Sprint Review): 스프린트 종료 시 제품 증분 검토 및 피드백. (⬅️ 문제 설명의 'Demo'와 연결)
      • 스프린트 회고 (Sprint Retrospective): 스프린트 종료 시 프로세스 개선 논의. (⬅️ 문제 설명의 '회고'와 연결)
    • 스크럼의 산출물: 제품 백로그 (User Story 형태 포함), 스프린트 백로그, 제품 증분. (⬅️ 문제 설명 언급)

6. 문제 해결 전략 (문항5)

문항5와 같은 유형의 문제를 해결하기 위해서는 다음 단계를 따릅니다.

  1. 문제 설명 내용 분석: 애자일 방법론의 특징(짧은 주기, 피드백, 회고 등)을 파악합니다.
  2. 빈칸에 들어갈 용어의 정의 파악: 문제의 마지막 문장에서 빈칸이 어떤 개념을 지칭하는지 ("이렇게 짧은 주기로 프로젝트를 진행하며 ... 개발 주기") 정의를 정확히 파악합니다.
  3. 애자일/스크럼 관련 용어 지식 활용: 학습한 애자일 및 스크럼 관련 용어들(Sprint, Scrum, Release, Planning, Testing 등 보기에 제시된 용어들)의 정의를 떠올립니다.
  4. 정의와 일치하는 용어 선택: 파악한 빈칸의 정의와 정확히 일치하는 용어를 보기에서 선택합니다. 문제 설명은 스크럼의 '스프린트' 개념을 정확하게 기술하고 있습니다.

문항6, 7 (맞춤형 제품 서비스) 관련 학습 내용 상세 정리

첨부된 PDF 파일 내 문항6("맞춤 제작 서비스 업무흐름도 – 역할자") 및 문항7("맞춤 제작 서비스 업무흐름도 – 역할자 오류 식별")은 제시된 요구사항 정의서업무 흐름도를 참조하여 문제를 해결하는 유형입니다. 문항6은 업무 흐름도에 누락된 역할자를 식별하는 문제이며, 문항7은 업무 흐름도에 잘못 할당된 **프로세스(활동)**를 식별하는 문제입니다.

두 문제의 해설, 출제 영역, 출제 의도를 종합적으로 분석하여 관련 학습 주제들을 상세히 정리합니다. 문제와 직접적으로 관련되었다고 파악한 사항은 강조하여 기술합니다.

1. 문제 분석 및 관련 학습 주제 파악

  • 문제 내용: 공통 지문에서 "맞춤형 제품 제작 서비스" 개발에 대한 **[요구사항 정의서]**와 **[업무흐름도]**를 참조하여 문항 6과 7에 답하라고 지시합니다.
    • 문항6: 업무 흐름도에 명시된 역할자 빈칸 채우기.
    • 문항7: 업무 흐름도에서 잘못된 역할자에 할당된 프로세스(활동) 식별.
  • 해설 (문항6): 요구사항 정의서에서 역할자(고객, 제조사, 서비스센터)를 추출하고 업무 흐름도의 프로세스를 고려하여 역할자를 매핑합니다.
  • 해설 (문항7): '설치기사배정' 프로세스는 '서비스센터'가 수행하는 것이므로 업무 흐름도 상 '서비스센터' 위치에 작성되어야 함을 설명합니다.
  • 출제 영역: 프로세스 모델링 – 분석 > 프로세스 분석 (⬅️ 문제와 직접 관련)
  • 출제 의도 (문항6): 주어진 요구사항 정의서에서 역할자를 추출할 수 있는지 검증. (⬅️ 문제와 직접 관련)
  • 출제 의도 (문항7): 작성된 업무흐름도의 오류를 올바르게 수정할 수 있는지 검증. (⬅️ 문제와 직접 관련)

종합적으로 볼 때, 두 문제는 프로세스 모델링 분야의 프로세스 분석 능력을 평가하며, 특히 요구사항 정의서업무 흐름도를 이해하고, 역할자프로세스(활동) 간의 관계를 정확히 파악하며, 업무 흐름도 상의 논리적/구조적 오류를 식별하는 것에 초점을 맞추고 있습니다.

따라서 이 문제를 해결하고 관련 주제에 대한 대비를 하기 위해서는 다음 내용들을 학습해야 합니다.

2. 프로세스 모델링 (Process Modeling) 개요

  • 개념: 비즈니스 프로세스 또는 시스템 프로세스가 어떻게 수행되는지를 시각적이고 체계적인 형태로 표현하는 활동입니다. 프로세스의 흐름, 참여자, 활동, 결정 지점 등을 명확하게 나타냅니다.
  • 목적:
    • 프로세스 이해 및 분석: 현재 프로세스(As-Is)를 명확히 파악하여 문제점, 비효율, 병목 현상 등을 식별합니다. (⬅️ 문제의 '프로세스 분석'과 연결)
    • 프로세스 설계 및 개선: 개선된 프로세스(To-Be)를 설계하고 시뮬레이션하여 최적의 프로세스를 도출합니다.
    • 의사소통: 이해관계자 간에 프로세스를 쉽게 공유하고 이해하며 논의할 수 있도록 돕습니다.
    • 자동화: 모델링된 프로세스를 기반으로 시스템 개발 또는 자동화를 추진합니다.
  • 프로세스 모델링 표기법: 프로세스를 표현하기 위한 다양한 표준 표기법이 존재합니다.
    • 업무 흐름도 (Flowchart): (⬅️ 문제에 제시된 형태) 가장 기본적인 프로세스 모델링 도구 중 하나입니다. 활동, 시작/종료, 결정, 흐름 선 등을 사용하여 프로세스의 순차적인 흐름을 나타냅니다. 문제에서는 역할자(Lane)가 구분된 형태의 업무 흐름도가 사용되었습니다.
    • BPMN (Business Process Model and Notation): 비즈니스 프로세스를 모델링하기 위한 표준 표기법입니다. 활동(Task), 이벤트(Event), 게이트웨이(Gateway), 풀(Pool), 레인(Lane - 역할자), 연결선 등을 사용하여 복잡한 비즈니스 프로세스를 표현할 수 있습니다. 업무 흐름도보다 더 다양한 요소와 표현력을 가집니다. (⬅️ 관련 학습에 유용)

3. 프로세스 분석 (Process Analysis) (⬅️ 문제와 직접 관련)

  • 개념: 모델링된 프로세스를 검토하고 평가하여 문제점, 비효율성, 병목 현상, 오류 등을 식별하고 개선 기회를 찾는 활동입니다.
  • 분석 관점:
    • 흐름 분석: 프로세스 단계의 순서, 분기, 반복 등이 논리적으로 올바른지 분석합니다. (⬅️ 문항7의 오류 식별과 연결)
    • 역할 분석: 각 활동이 어떤 역할자에게 할당되어 있는지, 역할자 간의 책임과 협업은 적절한지 분석합니다. (⬅️ 문항6, 7의 핵심)
    • 시간/비용 분석: 각 활동의 수행 시간, 전체 프로세스 소요 시간 및 비용 등을 분석합니다.
    • 자원 분석: 프로세스 수행에 필요한 자원(인력, 시스템, 장비 등)이 적절한지 분석합니다.
  • 문제점/오류 유형 식별:
    • 논리적 오류: 프로세스 흐름이 논리적으로 맞지 않는 경우 (예: 결제 전 배송 시작, 조건 분기 오류). (⬅️ 문항7과 같은 유형)
    • 비효율: 불필요한 단계, 반복적인 작업, 병목 현상 발생 지점.
    • 역할 할당 오류: 활동이 부적절한 역할자에게 할당된 경우. (⬅️ 문항7의 핵심)
    • 누락: 필수적인 활동이나 역할자가 누락된 경우. (⬅️ 문항6과 같은 유형)

4. 요구사항 정의서 (⬅️ 문제에 제시된 정보 출처) 및 업무 흐름도 (⬅️ 문제에 제시된 정보 표현) 이해

  • 요구사항 정의서: 시스템이 제공해야 할 기능 및 비기능 요구사항을 상세하게 기술한 문서입니다. 프로세스 분석의 중요한 입력 정보가 됩니다. 문항6의 해설에서처럼, 요구사항 정의서에서 업무에 참여하는 주체(역할자)나 수행되어야 할 활동들을 추출할 수 있습니다.
  • 업무 흐름도: 프로세스의 활동, 결정 지점, 흐름 선 등을 사용하여 업무 수행 절차를 시각적으로 표현한 다이어그램입니다. 문제에서는 역할자 구분을 위해 레인(Lane)이 사용된 형태로 제시되었습니다. 업무 흐름도를 통해 프로세스의 전체적인 절차와 각 단계별 수행 주체를 파악할 수 있습니다.

5. 프로세스 모델링 요소 (업무 흐름도/BPMN)

업무 흐름도나 BPMN과 같은 표기법에서 사용되는 기본적인 요소들을 이해하는 것이 문제 해결에 필수적입니다.

  • 활동 (Activity / Task): 프로세스 내에서 수행되는 특정 작업 단위입니다. (예: 제품 주문, 재고 확인, 결제 처리, 설치기사배정) (⬅️ 문항7의 대상)
  • 이벤트 (Event): 프로세스 흐름에 영향을 미치는 발생 사건입니다. 시작 이벤트, 종료 이벤트, 중간 이벤트 등이 있습니다. (예: 주문 접수, 결제 완료, 제작 완료)
  • 게이트웨이 (Gateway): 프로세스 흐름이 분기되거나 합쳐지는 지점입니다. 조건에 따른 분기(Exclusive Gateway), 병렬 분기(Parallel Gateway) 등이 있습니다. (⬅️ 문항7 오류 분석과 간접 연결)
  • 연결선 (Sequence Flow): 활동, 이벤트, 게이트웨이 간의 흐름 순서를 나타냅니다.
  • 풀 (Pool) / 레인 (Lane): (⬅️ 문항6, 7의 핵심) 프로세스 참여자(조직, 역할, 시스템)를 시각적으로 구분하는 요소입니다. 풀은 프로세스 자체나 큰 참여자 그룹을, 레인은 풀 내에서 특정 역할자(Role)나 부서를 나타냅니다. 문항에서는 레인이 역할자를 구분하는 데 사용되었습니다.

6. 문제 해결 전략 (문항6, 7)

문항6, 7과 같은 유형의 문제를 해결하기 위해서는 다음 단계를 따릅니다.

  1. [요구사항 정의서] 분석: 요구사항 정의서를 꼼꼼히 읽고 업무에 참여하는 **모든 역할자(주체)**와 수행되어야 할 **주요 활동(프로세스)**들을 식별합니다. (⬅️ 문항6 해결의 핵심)
  2. [업무흐름도] 분석: 업무 흐름도에 표현된 프로세스의 흐름과 각 프로세스가 어떤 **역할자(레인)**에게 할당되어 있는지 파악합니다.
  3. 요구사항과 업무 흐름도 비교 (문항6): 요구사항 정의서에서 식별한 역할자들이 업무 흐름도에 모두 제대로 표시되어 있는지 확인하고, 누락된 역할자가 있다면 빈칸에 해당하는 역할자를 식별합니다.
  4. 요구사항과 업무 흐름도 비교 (문항7): 요구사항 정의서에서 특정 활동이 어떤 역할자의 책임으로 정의되어 있는지 확인하고, 업무 흐름도 상에서 해당 활동이 잘못된 역할자의 레인에 배치되어 있는 경우를 식별합니다. (⬅️ 문항7 해결의 핵심) 또한, 업무 흐름 자체의 논리적인 비약이나 오류 가능성도 함께 검토합니다.

 

문항6, 7 (맞춤형 제품 서비스) 관련 학습 내용, 예상 문제 및 해설

본 문서는 첨부된 PDF 파일 내 문항6("맞춤 제작 서비스 업무흐름도 – 역할자") 및 문항7("맞춤 제작 서비스 업무흐름도 – 역할자 오류 식별")의 공통 지문 내용을 분석하고, 해당 문제들에 대해 공부해야 할 관련 주제 및 내용을 상세히 정리합니다. 문제의 해설, 출제 영역, 출제 의도를 종합적으로 분석하여 관련 학습 주제, 예상 문제, 그리고 해설을 상세히 정리합니다. 문제와 직접적으로 관련되었다고 파악한 사항은 강조하여 기술합니다. 예상 문제는 각 문항별로 3개씩 도출하여 문제와 해설을 이어서 제시합니다.

1. 예상 문제 목록 및 해설

본 섹션에서는 문항6, 7과 관련된 학습 주제를 기반으로 도출된 예상 문제 6개(문항별 3개)를 제시하고, 각 문제의 해설을 바로 이어서 제공합니다.

예상 문제 6-1) 업무 프로세스 모델링에서 프로세스의 시작이나 끝 지점, 또는 프로세스 흐름에 영향을 미치는 사건(Event)을 나타내는 모델링 요소는 무엇입니까? [3점]

답: ____________________


/ 필수 문항 정보 /

  • 문제 유형: 단답형
  • 출제 영역: 프로세스 모델링 - 프로세스 분석/설계
  • 문제 제목: 업무 프로세스 시작/종료/사건 표현 요소
  • 출제 의도: 업무 프로세스 모델링 기본 요소(이벤트) 이해도 검증

해설: 업무 프로세스에서 특정 사건의 발생(시작/종료 포함)을 나타내는 요소는 이벤트(Event)입니다. BPMN에서는 원 모양으로 표현됩니다.


예상 문제 6-2) 업무 프로세스 모델링에서 프로세스 내에서 수행되는 특정 작업 단위를 나타내는 모델링 요소는 무엇입니까? [3점]

답: ____________________


/ 필수 문항 정보 /

  • 문제 유형: 단답형
  • 출제 영역: 프로세스 모델링 - 프로세스 분석/설계
  • 문제 제목: 업무 프로세스 작업 단위 표현 요소
  • 출제 의도: 업무 프로세스 모델링 기본 요소(활동) 이해도 검증

해설: 업무 프로세스 내에서 수행되는 특정 작업 단위는 활동(Activity) 또는 태스크(Task)라고 합니다. BPMN에서는 둥근 모서리 사각형으로 표현됩니다.


예상 문제 6-3) 업무 프로세스 모델링 시, 각 활동(Activity)을 누가 또는 무엇이 수행하는지를 명확하게 구분하기 위해 사용되는 모델링 요소는 무엇입니까? (BPMN의 Pool 또는 Lane에 해당) [3점]

답: ____________________


/ 필수 문항 정보 /

  • 문제 유형: 단답형
  • 출제 영역: 프로세스 모델링 - 프로세스 분석/설계
  • 문제 제목: 업무 프로세스 활동 수행 주체 표현 요소
  • 출제 의도: 업무 프로세스 모델링 기본 요소(역할자) 이해도 검증

해설: 업무 프로세스에서 활동을 수행하는 주체(개인, 부서, 시스템 등)를 역할자(Role) 또는 참여자(Participant)라고 하며, BPMN에서는 풀(Pool) 또는 레인(Lane)으로 표현하여 구분합니다.


예상 문제 7-1) 업무 프로세스 모델링 검토 시, 프로세스의 흐름이 특정 조건에 따라 여러 갈래로 나뉘거나 다시 하나의 흐름으로 합쳐지는 지점을 나타내는 모델링 요소가 잘못 사용되거나 누락되어 논리적 오류가 발생하는 경우를 무엇과 관련된 오류라고 할 수 있습니까? [4점]

답: ____________________ 오류


/ 필수 문항 정보 /

  • 문제 유형: 단답형 (빈칸 채우기)
  • 출제 영역: 프로세스 모델링 - 프로세스 분석
  • 문제 제목: 업무 흐름도 논리적 오류 (분기/합류) 식별
  • 출제 의도: 업무 흐름도 분석 시 논리적 분기/합류 오류 식별 능력 검증

해설: 업무 프로세스 흐름이 특정 조건에 따라 분기되거나(나뉘거나) 합쳐지는 지점을 나타내는 요소는 게이트웨이(Gateway)입니다. 게이트웨이가 잘못 사용되거나 누락되면 프로세스 흐름에 논리적 오류가 발생합니다.


예상 문제 7-2) 업무 프로세스 모델링 시, 특정 활동(Activity)이 해당 활동을 수행할 수 없는 부적절한 주체(역할자)에게 할당되는 오류를 무엇과 관련된 오류라고 할 수 있습니까? [3점]

답: ____________________ 할당 오류


/ 필수 문항 정보 /

  • 문제 유형: 단답형 (빈칸 채우기)
  • 출제 영역: 프로세스 모델링 - 프로세스 분석
  • 문제 제목: 업무 프로세스 활동 수행 주체 할당 오류 식별
  • 출제 의도: 업무 흐름도 분석 시 역할자 할당 오류 식별 능력 검증

해설: 업무 프로세스에서 활동을 수행하는 주체를 역할자라고 합니다. 활동이 해당 역할자의 책임이나 역량에 맞지 않게 할당된 경우 역할자 할당 오류가 발생합니다.


예상 문제 7-3) 업무 프로세스 모델링을 수행하는 주된 목적 두 가지를 서술하시오. [4점]

답: 목적 1: ____________________, 목적 2: ____________________


/ 필수 문항 정보 /

  • 문제 유형: 단답형 (서술형)
  • 출제 영역: 프로세스 모델링 - 프로세스 분석/설계
  • 문제 제목: 업무 프로세스 모델링 목적 서술
  • 출제 의도: 업무 프로세스 모델링의 근본적인 목적 이해도 검증

해설: 업무 프로세스 모델링은 비즈니스 프로세스를 명확히 파악하고 분석하며 개선하기 위해 수행됩니다.

  • 목적 1: 현재 비즈니스 프로세스(As-Is)를 명확하게 이해하고 문제점(비효율, 병목, 오류 등)을 식별한다.
  • 목적 2: 개선된 비즈니스 프로세스(To-Be)를 설계하고 이해관계자 간에 효과적으로 소통하며 분석/자동화를 위한 기반을 마련한다.

2. 문제 분석 및 관련 학습 주제 파악

  • 문제 내용 (공통 지문): C전자의 맞춤형 주문제작 서비스 개발에 대한 **[요구사항 정의서]**와 **[업무흐름도]**를 제시하고, 이를 참조하여 질문에 답하도록 합니다.
    • [요구사항 정의서]: 주문, 제작, 설치 등 서비스의 각 단계에서 고객, 서비스센터, 제조사 등 누가 무엇을 수행하는지 텍스트로 상세 기술. (예: 고객 주문 -> 서비스센터 제조 가능 여부 확인 -> 제조사 제작 여부 판단 -> ... 서비스센터 설치기사 배정 ...)
    • [업무흐름도]: 요구사항 정의서 내용을 바탕으로 프로세스 흐름을 활동, 결정 지점 등으로 시각화. 좌측에 역할자(Lane)가 구분되어 있음.
  • 문제 내용 (문항6): 업무 흐름도 좌측에 명시된 역할자 빈칸 1), 2)를 완성하는 문제입니다. 요구사항 정의서에 언급된 역할자들과 업무 흐름도에 표현된 활동들을 보고 누락된 역할자를 식별해야 합니다.
  • 해설 (문항6): 요구사항 정의서에서 역할자(고객, 제조사, 서비스센터)를 추출하고, 업무 흐름도에 이미 표시된 역할자 외 나머지 역할자(제조사, 서비스센터)를 식별하여 빈칸에 채워 넣습니다. (⬅️ 역할자 추출 및 매핑 능력 평가)
  • 출제 영역 (문항6): 프로세스 모델링 – 분석 > 프로세스 분석 (⬅️ 문제와 직접 관련)
  • 출제 의도 (문항6): 주어진 요구사항 정의서에서 역할자를 추출할 수 있는지 검증. (⬅️ 문제와 직접 관련)
  • 문제 내용 (문항7): 업무 흐름도를 검토하던 중 **잘못된 역할자에 할당된 프로세스(활동)**를 발견했으며, 해당 프로세스명을 기술하는 문제입니다. 요구사항 정의서와 업무 흐름도를 비교하여 특정 활동의 수행 주체가 요구사항과 다르게 업무 흐름도에 그려져 있음을 식별해야 합니다.
  • 해설 (문항7): '설치기사배정' 프로세스가 요구사항 정의서에 따르면 '서비스센터'에서 수행하는 것이므로 업무 흐름도 상 '서비스센터' 레인에 있어야 함을 명시하며, 실제 업무 흐름도에서는 다른 역할자 레인에 잘못 배치되었음을 시사합니다. (⬅️ 활동과 역할자 간 할당 오류 식별 능력 평가)
  • 출제 영역 (문항7): 프로세스 모델링 – 분석 > 프로세스 분석 (⬅️ 문제와 직접 관련)
  • 출제 의도 (문항7): 작성된 업무흐름도의 오류를 올바르게 수정할 수 있는지 검증. (⬅️ 문제와 직접 관련, 오류 식별 및 올바른 할당 파악 능력)

종합적으로 볼 때, 문항6과 7은 모두 프로세스 모델링 분야의 프로세스 분석 능력을 평가하며, 특히 요구사항 정의서라는 텍스트 정보와 업무 흐름도라는 시각적 정보 두 가지를 상호 참조하여, 업무에 참여하는 역할자와 그들이 수행하는 프로세스(활동) 간의 관계를 정확히 파악하고, 이 관계의 누락(문항6) 또는 **잘못된 할당(문항7)**과 같은 모델링 오류를 식별하는 것에 초점을 맞추고 있습니다.

따라서 이 문제를 해결하고 관련 주제에 대한 대비를 하기 위해서는 다음 내용들을 학습해야 합니다.

3. 프로세스 모델링 개요

  • 개념: 비즈니스 프로세스 또는 시스템 프로세스가 어떻게 수행되는지를 시각적이고 체계적인 형태로 표현하는 활동.
  • 목적: 프로세스 이해/분석, 설계/개선, 의사소통, 자동화 기반 마련.

4. 프로세스 분석 (Process Analysis) (⬅️ 문항6, 7 출제 영역)

  • 개념: 모델링된 프로세스를 검토하고 평가하여 문제점(비효율, 병목, 오류 등), 비효율성, 개선 기회를 찾는 활동.
  • 분석 관점:
    • 흐름 분석: 프로세스 단계의 순서, 분기, 반복 등의 논리적 정확성 분석.
    • 역할 분석: 각 활동이 어떤 역할자에게 할당되었는지, 책임과 협업의 적절성 분석. (⬅️ 문항6, 7 핵심)
    • 시간/비용/자원 분석 등.
  • 문제점/오류 유형 식별:
    • 논리적 오류 (분기 오류, 순환 오류 등). (⬅️ 문항7과 같은 유형 분석)
    • 역할 할당 오류: 활동이 부적절한 역할자에게 할당된 경우. (⬅️ 문항7 핵심)
    • 누락: 필수적인 활동이나 역할자가 모델에 빠져 있는 경우. (⬅️ 문항6 핵심)
    • 불일치: 요구사항 등 원본 정보와 모델 내용이 다른 경우. (⬅️ 문항6, 7 공통 해당)

5. 요구사항 정의서 (⬅️ 문제에 제시된 정보 출처) 및 업무 흐름도 (⬅️ 문제에 제시된 정보 표현) 이해

  • 요구사항 정의서: 시스템이 제공해야 할 기능 및 비기능 요구사항을 상세 기술한 문서. 프로세스 분석의 중요한 입력 정보. **업무에 참여하는 주체(역할자)**와 **수행되어야 할 활동(프로세스)**에 대한 정보를 얻을 수 있습니다. (⬅️ 문항6, 7 해결의 필수 정보원)
  • 업무 흐름도: 프로세스의 활동, 결정 지점, 흐름 선 등으로 업무 수행 절차를 시각적으로 표현. 문제에서는 **역할자(Lane)**가 구분된 형태로 제시되어 있습니다. 업무 흐름도를 통해 프로세스의 전체적인 절차와 각 단계별 수행 주체를 파악할 수 있습니다. (⬅️ 문항6, 7 해결의 필수 정보원)

6. 프로세스 모델링 요소 (업무 흐름도/BPMN)

업무 흐름도나 BPMN과 같은 표기법에서 사용되는 기본적인 요소들을 이해하는 것이 문제 해결에 필수적입니다.

  • 활동 (Activity / Task): 프로세스 내에서 수행되는 특정 작업 단위. (예: 제품 주문, 재고 확인, 설치기사배정) (⬅️ 문항7의 대상)
  • 이벤트 (Event): 프로세스 흐름에 영향을 미치는 발생 사건.
  • 게이트웨이 (Gateway): 프로세스 흐름이 분기되거나 합쳐지는 지점.
  • 연결선 (Sequence Flow): 요소 간의 흐름 순서.
  • 풀 (Pool) / 레인 (Lane): (⬅️ 문항6, 7의 핵심) 프로세스 참여자(조직, 역할자, 시스템)를 시각적으로 구분하는 요소. 문제에서는 레인이 역할자를 구분하는 데 사용되었습니다.

7. 문제 해결 전략 (문항6, 7)

문항6, 7과 같은 유형의 문제를 해결하기 위해서는 다음 단계를 따릅니다.

  1. [요구사항 정의서] 분석: 요구사항 정의서 텍스트를 꼼꼼히 읽고, 업무에 참여하는 **모든 역할자(주체)**와 그들이 수행하는 모든 활동(프로세스) 목록을 추출합니다. (⬅️ 문항6, 7 해결의 핵심 정보 추출 단계)
  2. [업무흐름도] 분석: 업무 흐름도에 표현된 프로세스의 흐름과, 각 프로세스가 어떤 **역할자(레인)**에 할당되어 있는지, 업무 흐름도에 표시된 역할자 목록은 무엇인지 파악합니다. (⬅️ 문항6, 7 해결의 핵심 정보 추출 단계)
  3. 요구사항 역할자와 업무 흐름도 역할자 목록 비교 (문항6): 요구사항 정의서에서 추출한 전체 역할자 목록과 업무 흐름도에 표시된 역할자 목록을 비교합니다. 업무 흐름도 빈칸에 들어가야 할 누락된 역할자를 식별합니다. (⬅️ 문항6 해결 전략)
  4. 요구사항 활동-역할자 매핑과 업무 흐름도 활동-역할자 매핑 비교 (문항7): 요구사항 정의서에서 특정 활동이 어떤 역할자의 책임으로 정의되어 있는지 파악합니다. 업무 흐름도 상에서 해당 활동이 요구사항과 다른 잘못된 역할자의 레인에 배치되어 있는 경우를 식별합니다. (⬅️ 문항7 해결 전략)

문항8 (챗봇 시스템 인터페이스) 관련 학습 내용, 예상 문제 및 해설

첨부된 PDF 파일 내 문항8은 챗봇 시스템의 인터페이스 명세 및 예시 상황을 제시하고, 이를 기반으로 JSON 형식의 요청(Request) 데이터를 완성하는 문제입니다. 문제의 해설, 출제 영역, 출제 의도를 종합적으로 분석하여 관련 학습 주제, 예상 문제, 그리고 해설을 상세히 정리합니다. 문제와 직접적으로 관련되었다고 파악한 사항은 강조하여 기술합니다.

1. 문제 분석 및 관련 학습 주제 파악

  • 문제 내용: 챗봇 시스템의 **[인터페이스 입력 명세]**와 **[예시 상황]**을 참조하여 JSON 형식의 Request 데이터에서 빈칸 1)과 2)에 들어갈 내용을 완성합니다.
  • 해설: 빈칸 1)에는 "role", 2)에는 "text"가 들어가는 이유를 설명합니다. Message 객체는 role과 contents를 전달하고, 예시 상황에서 "user" 값이 주어졌으므로 키는 "role"이며, 사용자가 입력한 프롬프트는 "text" 타입에 해당한다고 기술합니다.
  • 출제 영역: 프로세스 모델링 – 설계 > 인터페이스 설계 (⬅️ 문제와 직접 관련)
  • 출제 의도: JSON 타입의 인터페이스 이해 (⬅️ 문제와 직접 관련)

종합적으로 볼 때, 이 문제는 인터페이스 설계 분야의 인터페이스 명세 이해 능력을 평가하며, 특히 JSON 데이터 표준으로 표현된 인터페이스 구조를 이해하고 주어진 상황에 맞춰 올바른 값이나 키를 식별하는 것에 초점을 맞추고 있습니다.

따라서 이 문제를 해결하고 관련 주제에 대한 대비를 하기 위해서는 다음 내용들을 학습해야 합니다.

2. 인터페이스 설계 (⬅️ 문제와 직접 관련)

  • 개념: 시스템 컴포넌트 간, 또는 시스템과 외부 시스템 간에 정보를 주고받는 방식과 데이터 형식을 정의하는 활동입니다. 시스템의 기능이 확정된 후, 각 기능 구현에 필요한 컴포넌트 간의 통신 방법을 설계합니다.
  • 인터페이스 명세서: (⬅️ 문제에 제시된 정보 형태) 인터페이스를 통해 어떤 정보가 교환되는지, 정보의 이름, 데이터 타입, 형식, 필수 여부 등을 상세하게 기술한 문서입니다. **인터페이스 입력 명세(Request Spec)**와 **인터페이스 출력 명세(Response Spec)**로 구분될 수 있습니다. 문항8에서는 입력 명세가 주어졌습니다.

3. JSON 데이터 표준 (⬅️ 문제와 직접 관련)

  • 개념: JavaScript Object Notation의 약자로, 경량(Lightweight)의 데이터 교환 형식입니다. 사람이 읽고 쓰기 쉬우며, 기계가 파싱(Parsing)하고 생성하기도 용이합니다. 웹 애플리케이션에서 서버와 클라이언트 간의 데이터 전송이나 마이크로 서비스 간의 통신에 널리 사용됩니다.
  • 기본 구조:
    • 객체 (Object): 중괄호 {}로 표현되며, **키(Key)**와 **값(Value)**의 쌍(Pair)들로 구성됩니다. 각 키-값 쌍은 쉼표 ,로 구분됩니다. 키는 문자열이어야 합니다. (예: {"name": "Value", "age": 30})
    • 배열 (Array): 대괄호 []로 표현되며, 값들의 순서 있는 목록입니다. 값들은 쉼표 ,로 구분됩니다. 값의 타입은 서로 달라도 됩니다. (예: [ "apple", "banana", "cherry" ], [ 10, "text", true ])
    • 값 (Value): 문자열(String), 숫자(Number), 불리언(Boolean - true 또는 false), 배열(Array), 객체(Object), Null 중 하나입니다.
  • 문자열 (String): 큰따옴표 ""로 묶입니다.
  • 숫자 (Number): 정수 또는 부동소수점 수입니다. 큰따옴표로 묶지 않습니다.
  • 불리언 (Boolean): true 또는 false 값입니다. 큰따옴표로 묶지 않습니다.
  • Null: null 값입니다. 큰따옴표로 묶지 않습니다.

4. 인터페이스 명세와 JSON 연결

문항8은 인터페이스 명세가 JSON 구조로 표현될 때, 명세에 정의된 데이터 구조와 예시 상황에 주어진 데이터를 조합하여 실제 JSON 메시지를 완성하는 능력을 요구합니다.

  • 인터페이스 명세 해석: 명세의 Name, Type, Value 정보를 보고 JSON 객체의 키(Name), 값의 데이터 타입(Type), 그리고 값의 예시나 설명(Value/Description)을 연결해야 합니다.
    • 예시: 명세에서 role String user 또는 agent 는 JSON에서 "role": "user" 또는 "role": "agent" 형태가 될 것임을 알려줍니다.
    • 예시: 명세에서 messages Message[] 는 JSON에서 "messages": [...] 형태로, 배열 안에 Message 타입의 객체들이 올 것임을 알려줍니다.
    • 예시: Message 명세의 role String user 또는 agent 는 Message 객체 안에 "role": "user" 또는 "role": "agent" 형태가 올 것임을 알려줍니다.
    • 예시: Content 명세의 type String text 또는 image  value String type에 해당하는 상세 값 은 Content 객체 안에 "type": "text", "value": "..." 또는 "type": "image", "value": "..." 형태가 올 것임을 알려줍니다.
  • 예시 상황 분석: 예시 상황에 제시된 구체적인 데이터를 파악하고, 이 데이터가 인터페이스 명세의 어떤 항목에 해당하는 값인지 연결합니다.
    • 예시: "[예시 상황] - 프롬프트: “사진 속에 있는 빨간 물체가 뭐야?”" -> 이 문자열은 Content 명세의 value 항목에 해당하는 값임을 알 수 있습니다.
    • 예시: "[예시 상황] - '이미지에 대한 질문 프롬프트'와 '이미지 경로'를 전송한다" -> 프롬프트는 text 타입, 이미지 경로는 image 타입임을 알 수 있습니다.

5. 문제 해결 전략 (문항8)

문항8과 같은 유형의 문제를 해결하기 위해서는 다음 단계를 따릅니다.

  1. [인터페이스 입력 명세] 구조 이해: 명세에 정의된 객체(model, messages, Message, Content)의 구조, 포함하는 하위 항목(Name), 각 항목의 데이터 타입(Type)을 파악합니다. 특히 배열([]) 형태를 주의 깊게 봅니다.
  2. [예시 상황] 분석: 예시 상황에서 시스템으로 전달되는 구체적인 데이터(프롬프트 내용, 이미지 경로 등)를 식별합니다.
  3. 예시 상황 데이터를 명세 항목과 매핑: 식별된 예시 상황 데이터가 인터페이스 명세의 어떤 항목(Value)에 들어갈 값인지 연결합니다. (예: 프롬프트 내용은 Content의 value)
  4. JSON 데이터 구조와 비교: 문제에 제시된 JSON Request 데이터의 구조가 명세와 일치하는지 확인하고, 빈칸이 어떤 명세 항목에 해당하는지 파악합니다.
  5. 빈칸에 들어갈 내용 완성: 파악된 명세 항목과 예시 상황 데이터를 바탕으로 빈칸에 들어갈 올바른 키(Name) 또는 값(Value)을 JSON 표준에 맞게 작성합니다.
    • 빈칸 1)은 Message 객체 내에서 "user"라는 값이 들어갈 **키(Name)**를 묻습니다. 명세에서 String 타입으로 user 또는 agent 값을 가지는 키는 'role'입니다.
    • 빈칸 2)는 Content 객체 내에서 사용자가 입력한 프롬프트("사진 속에 있는 빨간 물체가 뭐야?") 값이 들어갈 때, 해당 값(value)의 **타입(Type)**을 묻습니다. 명세에서 value 항목의 타입은 String이며, 이 String 값이 어떤 종류의 내용인지 'type' 항목으로 구분합니다. 예시 상황의 프롬프트는 텍스트 형태이므로 'type' 값은 "text"가 됩니다.

6. 예상 문제 3개 (인터페이스 설계 - JSON)

문항8과 유사한 유형 및 수준의 예상 문제 3개를 제시합니다. 문제 풀이 및 해설은 문제 아래에 바로 이어서 제공합니다.

예상 문제 1) 어떤 주문 조회 시스템의 인터페이스 출력 명세는 JSON 데이터 표준을 사용합니다. 아래 [인터페이스 출력 명세 일부]를 참조하여, 주문 목록을 담는 "order_list" 항목에 들어갈 가장 적절한 데이터 타입을 고르시오. [4점]

[인터페이스 출력 명세 일부]

구분NameType

기본 result_code String (S: 성공, F: 실패)
order_list ______  

[Order 객체 구조] Order:

  • order_id (Int)
  • order_date (String)
  • total_amount (Int)

① String ② Order ③ Order[] ④ String[] ⑤ Int


/ 필수 문항 정보 /

  • 문제 유형: 선다형
  • 출제 영역: 프로세스 모델링 - 설계 > 인터페이스 설계
  • 문제 제목: 주문 목록 인터페이스 출력 타입 식별
  • 출제 의도: 인터페이스 명세에서 목록 형태 데이터의 타입 표기 방법 이해도 검증

해설: "order_list"는 여러 개의 Order 객체를 담는 '목록'입니다. JSON에서 목록은 배열([])로 표현되며, 배열 안에는 Order 타입의 객체들이 들어갑니다. 따라서 가장 적절한 타입은 Order[]입니다.


예상 문제 2) 아래 [회원 정보 조회 API 출력 명세 일부]와 [예시 응답]을 참조하여, [출력 명세]의 빈칸 1)에 들어갈 'user_info' 항목의 Type을 작성하시오. [3점]

[회원 정보 조회 API 출력 명세 일부]

NameTypeDescription

result String 결과 코드
user_info ______ 사용자 정보 객체

[예시 응답 (JSON)]

json

{
  "result": "success",
  "user_info": {
    "user_id": 123,
    "user_name": "김철수",
    "email": "kim@example.com"
  }
}

답: ____________________


/ 필수 문항 정보 /

  • 문제 유형: 단답형
  • 출제 영역: 프로세스 모델링 - 설계 > 인터페이스 설계
  • 문제 제목: API 출력 명세 타입 추론 (객체)
  • 출제 의도: JSON 응답 예시를 보고 인터페이스 명세 항목의 객체 타입 추론 능력 검증

해설: [예시 응답]에서 "user_info" 항목은 중괄호 {}로 둘러싸인 JSON 객체 형태로 데이터를 담고 있습니다. 인터페이스 명세에서 이러한 객체 구조를 Type으로 표현할 때는 해당 객체의 이름을 사용합니다. 예시 응답의 객체는 사용자 정보 객체이므로, Type은 일반적으로 객체의 성격을 나타내는 이름 (예: User 또는 UserInfo)이 사용됩니다. 명세 Description에 "사용자 정보 객체"라고 명시되어 있으므로, Type은 해당 객체 타입을 나타내는 이름이 됩니다. 여기서는 UserInfo 또는 User와 같이 객체를 지칭하는 이름이 들어갈 수 있습니다. (문제의 [인터페이스 출력 명세 일부]와 [예시 응답]만 보고 유추할 수 있는 가장 직접적인 Type은 명시된 Description에 기반한 객체 이름입니다. 예를 들어, 해당 객체의 구조가 User 타입이라면 Type은 User가 됩니다. 만약 명세 자체에 User라는 객체 타입 정의가 있다면 그것을 따릅니다. 문제에서는 객체 이름이 직접 주어지지 않았으므로, 일반적으로 JSON 객체를 나타낼 때 사용되는 추상적인 타입 이름 (예: Object)이나 해당 객체의 역할을 나타내는 이름 (예: UserInfo)으로 판단해야 합니다. 문제 의도는 JSON 객체 구조를 이해하고 명세의 Type 항목과 연결하는 것이므로, 객체를 의미하는 타입 이름(예: UserInfo 또는 Object)이 적절합니다. 해설을 간결하게 하기 위해 객체를 의미하는 타입을 UserInfo로 가정합니다.)


예상 문제 3) 아래 [상품 정보 API 입력 명세 일부]와 [예시 요청]을 참조하여, [예시 요청]의 빈칸에 들어갈 올바른 JSON **키(Key)**를 작성하시오. [3점]

[상품 정보 API 입력 명세 일부]

NameTypeDescriptionRequired

product_id Int 상품 고유 번호 O
quantity Int 주문 수량 O
options String 선택 옵션 정보 X

[예시 요청 (JSON)]

json

{
  "product_id": 987,
  "________": 5
}

답: ____________________


/ 필수 문항 정보 /

  • 문제 유형: 단답형
  • 출제 영역: 프로세스 모델링 - 설계 > 인터페이스 설계
  • 문제 제목: API 입력 명세 JSON 키 식별
  • 출제 의도: 인터페이스 입력 명세와 JSON 요청 예시를 보고 누락된 키 식별 능력 검증

해설: [예시 요청] JSON 데이터를 보면 "product_id": 987이라는 키-값 쌍이 있습니다. 빈칸 뒤의 값은 5입니다. [상품 정보 API 입력 명세 일부]를 보면 product_id와 quantity 두 개의 필수 입력 항목이 있습니다. product_id는 이미 JSON에 있으므로, 빈칸에 들어갈 키는 나머지 필수 입력 항목인 quantity가 됩니다. 값 5는 주문 수량을 의미하는 quantity 항목의 값으로 적절합니다.

 

문항9 (키워드 조회 화면) 관련 학습 내용, 예상 문제 및 해설

첨부된 PDF 파일 내 문항9는 키워드 조회 화면 개발에 대한 **[요구사항 정의서]**와 **[화면 정의서]**를 제시하고, 요구사항 정의서 내용이 화면 정의서에 잘못 반영된 항목을 식별하는 문제입니다. 이는 시스템 개발 초기 단계인 요구사항 분석화면 설계의 일관성을 검증하는 능력과 관련된 주제입니다. 문제의 해설, 출제 영역, 출제 의도를 종합적으로 분석하여 관련 학습 주제, 예상 문제, 그리고 해설을 상세히 정리합니다. 문제와 직접적으로 관련되었다고 파악한 사항은 강조하여 기술합니다.

1. 문제 분석 및 관련 학습 주제 파악

  • 문제 내용: 키워드 조회 화면 개발을 위해 **[요구사항 정의서]**와 **[화면 정의서]**를 제시합니다. 요구사항에 명시된 내용 중 화면 정의서에 잘못 반영된 항목이 있는 보기를 고르는 문제입니다.
  • 해설: 보기 ④번이 정답이며, '나)' 요구사항과 '라)' 요구사항이 화면 정의서에 잘못 반영되었다고 설명합니다.
    • '나)' 요구사항: "키워드는 필수 입력 항목이며, 웹사이트, 업종, 시즌 테마는 선택 입력 항목이다. 필수 입력 항목은 조건명 우측에 별표(*)문자로 표시한다."
    • '라)' 요구사항: "조회결과는 PC를 기본으로 표시하되, 전체를 선택한 경우만 PC와 모바일 결과를 함께 보여준다." 해설은 이 두 요구사항이 화면 정의서 내용과 불일치함을 암시합니다. (원본 파일에는 화면 정의서 이미지가 포함되어 있어 해설에 해당하는 구체적인 불일치 내용을 확인할 수 있습니다.)
  • 출제 영역: 프로세스 모델링 – 분석 > 화면정의 (⬅️ 문제와 직접 관련)
  • 출제 의도: 작성된 화면 정의서의 오류를 발견할 수 있는지 검증 (⬅️ 문제와 직접 관련)

종합적으로 볼 때, 이 문제는 시스템 개발 문서 간의 일관성 검증 능력을 평가하며, 특히 요구사항 정의서화면 정의서라는 두 가지 산출물을 비교하여 요구사항이 화면 설계에 제대로 반영되었는지 확인하고 오류를 식별하는 것에 초점을 맞추고 있습니다.

따라서 이 문제를 해결하고 관련 주제에 대한 대비를 하기 위해서는 다음 내용들을 학습해야 합니다.

2. 요구사항 공학 (Requirements Engineering)

  • 요구사항 정의서 (Requirements Specification): (⬅️ 문제에 제시된 정보 형태) 시스템이 사용자에게 제공해야 할 기능 및 비기능 요구사항을 상세하고 명확하게 기술한 공식 문서입니다. 시스템 개발의 가장 중요한 기준선(Baseline) 역할을 합니다. 요구사항 정의서는 이후 설계, 구현, 테스트 등 모든 개발 활동의 출발점이 됩니다. 문항9에서는 화면 설계의 기준이 됩니다.

3. 화면 설계 (UI/UX Design)

  • 개념: 사용자가 시스템과 상호작용하는 인터페이스(UI: User Interface)의 시각적인 구성 요소, 배치, 레이아웃, 화면 간 이동 흐름 등을 설계하는 활동입니다. 사용자의 편의성(Usability)과 만족도(UX: User Experience)를 높이는 데 목표를 둡니다.
  • 화면 정의서 (Screen Specification): (⬅️ 문제에 제시된 정보 형태) 설계된 화면의 상세 내용을 기술한 문서입니다. 화면별 UI 요소(입력 필드, 버튼, 목록, 레이블 등)의 종류, 이름, 설명, 필수 여부, 기본값, 제약 조건 등을 명세합니다. 문항9에서는 키워드 조회 화면의 입력 조건 항목(키워드, 웹사이트, 업종, 시즌 테마) 및 이벤트(조회 버튼 클릭, 물음표 아이콘 클릭)에 대한 정의가 포함되어 있습니다.
  • 화면 설계 산출물: 화면 정의서 외에 와이어프레임(Wireframe), 목업(Mockup), 스토리보드(Storyboard), 프로토타입(Prototype) 등 다양한 형태로 표현될 수 있습니다.

4. 문서 간 일관성 검증 (⬅️ 문제의 핵심 활동)

  • 개념: 소프트웨어 개발 과정에서 생성되는 여러 산출물(요구사항 정의서, 설계서, 테스트 케이스 등)의 내용이 서로 일관되고 모순이 없는지 확인하는 활동입니다.
  • 중요성: 산출물 간 불일치는 설계 오류, 구현 오류, 테스트 오류로 이어져 결국 프로젝트 실패의 원인이 될 수 있습니다. 개발 단계 후반에 발견될수록 수정 비용이 기하급수적으로 증가합니다.
  • 검증 방법:
    • 수동 검토: 문서 내용을 사람이 직접 읽고 비교하며 불일치 부분을 찾아냅니다. (문항9에서 요구하는 능력)
    • 체크리스트 활용: 사전에 정의된 체크리스트를 사용하여 누락되거나 잘못된 부분을 체계적으로 확인합니다.
    • 자동화 도구 활용: 요구사항 관리 도구 등을 사용하여 요구사항과 다른 산출물 간의 추적성(Traceability)을 관리하고 일관성을 확인하는 데 도움을 받습니다.

5. 문제 해결 전략 (문항9)

문항9와 같은 유형의 문제를 해결하기 위해서는 다음 단계를 따릅니다.

  1. [요구사항 정의서] 상세 분석: 요구사항 정의서에 명시된 각 요구사항('가)', '나)', '다)', '라)' 등)의 내용을 정확히 이해합니다. 특히 화면에 표시되어야 하는 요소(필수 입력 항목, 아이콘, 표시 기준 등)와 관련된 요구사항에 집중합니다.
  2. [화면 정의서] 상세 분석: 화면 정의서에 표현된 화면의 구성 요소, 항목별 정의(필수 여부 등), 이벤트 설명 등을 정확히 파악합니다. (원본 파일의 화면 정의서 이미지를 통해 UI 요소들의 실제 배치 및 속성들을 확인해야 합니다.)
  3. 요구사항과 화면 정의서 내용 비교: 요구사항 정의서의 각 요구사항 내용이 화면 정의서에 정확하게 반영되었는지 하나씩 비교하며 불일치하는 부분을 찾아냅니다.
    • 예시: 요구사항 '나)'에서 "키워드는 필수, 웹사이트/업종/시즌 테마는 선택" 그리고 "필수 항목은 별표() 표시"라고 했는데, 화면 정의서의 필수 여부 표시나 별표() 표시가 요구사항과 다른지 확인합니다.
    • 예시: 요구사항 '다)'에서 "용어 옆에 물음표 아이콘 추가, 클릭 시 말풍선 설명"이라고 했는데, 화면 정의서에 해당 아이콘 및 이벤트 처리가 명시되어 있는지 확인합니다.
    • 예시: 요구사항 '라)'에서 "PC 기본, 전체 선택 시 PC+모바일 결과 함께 표시"라고 했는데, 화면 정의서의 조회 결과 표시 방식 설명이 요구사항과 일치하는지 확인합니다.
  4. 잘못 반영된 항목 조합 식별: 비교 결과 불일치하는 요구사항 항목(예: '나)'와 '라)')을 식별하고, 이 항목들로만 구성된 보기를 선택합니다.

6. 예상 문제 3개 (화면 설계 일관성)

문항9와 유사한 유형 및 수준의 예상 문제 3개를 제시합니다. 문제 풀이 및 해설은 문제 아래에 바로 이어서 제공합니다.

예상 문제 1) 아래 [요구사항]과 [화면 정의]를 참조하여, 화면 정의에 잘못 반영된 항목으로만 구성된 보기를 고르시오. [5점]

[요구사항] 가) 회원 가입 시 사용자 이름(Name)과 이메일(Email)은 필수 입력 항목이다. 나) 이메일 입력 필드는 이메일 형식(@ 포함)을 검증해야 한다. 다) 필수 입력 필드 옆에는 빨간색 별표(*)를 표시해야 한다.

[화면 정의 일부]

NameLabelTypeRequiredValidation RuleHint Text

username 사용자 이름 Text Y None 이름을 입력하세요
useremail 이메일 Text Y None 이메일 주소 입력
password 비밀번호 Password N Minimum 8 chars 비밀번호 입력

* 화면 디자인 상 사용자 이름과 비밀번호 필드 옆에 빨간색 별표(*)가 표시되어 있음

① 가, 나 ② 나, 다 ③ 가, 다 ④ 가, 나, 다 ⑤ 해당 없음


/ 필수 문항 정보 /

  • 문제 유형: 선다형
  • 출제 영역: 프로세스 모델링 - 화면 정의
  • 문제 제목: 회원 가입 화면 요구사항 불일치
  • 출제 의도: 요구사항과 화면 정의서 내용을 비교하여 불일치 항목 식별 능력 검증

해설: 가) 요구사항: 사용자 이름(Name)과 이메일(Email) 필수. 화면 정의에서 username(Y), useremail(Y)로 필수 반영됨. (일치) 나) 요구사항: 이메일 형식 검증 필요. 화면 정의에서 useremail Validation Rule이 None으로 되어 있음. (불일치) 다) 요구사항: 필수 항목 옆에 빨간 별표(*). 화면 디자인상 사용자 이름(필수) 옆에 별표 있음 (요구사항대로). 하지만 화면 정의에서 비밀번호(선택) 옆에 별표가 표시되어 있다고 함 (요구사항과 다름). (불일치) 요구사항 '나)'와 '다)'가 화면 정의에 잘못 반영되었습니다. 따라서 잘못 반영된 항목은 나, 다로 구성된 보기 ②번입니다.


예상 문제 2) 아래 [요구사항]과 [화면 정의]를 참조하여, 화면 정의에 누락된 항목(요구사항에는 있지만 화면 정의에 없는 내용)을 모두 포함하는 보기를 고르시오. [4점]

[요구사항] 가) 검색 버튼 클릭 시 입력된 키워드를 검증해야 한다. (빈 값 허용 안 함) 나) 검색 결과 목록은 한 페이지에 최대 10개씩 표시된다. 다) 검색 결과가 없을 경우 "검색 결과가 없습니다."라는 메시지를 표시해야 한다.

[화면 정의 일부]

  • 검색 입력 필드: 키워드 (Text)
  • 검색 버튼: 클릭 시 API 호출
  • 검색 결과 영역: 상품 목록 (최대 10개 표시)

① 가, 나 ② 나, 다 ③ 가, 다 ④ 가, 나, 다 ⑤ 해당 없음


/ 필수 문항 정보 /

  • 문제 유형: 선다형
  • 출제 영역: 프로세스 모델링 - 화면 정의
  • 문제 제목: 검색 화면 요구사항 누락
  • 출제 의도: 요구사항과 화면 정의서 내용을 비교하여 누락된 요구사항 식별 능력 검증

해설: 가) 요구사항: 키워드 빈 값 검증. 화면 정의에는 검색 버튼 클릭 시 API 호출한다는 내용은 있지만, 입력값 검증에 대한 명시는 없습니다. (누락) 나) 요구사항: 검색 결과 목록 10개 표시. 화면 정의에 상품 목록 (최대 10개 표시)로 반영되어 있습니다. (누락 아님) 다) 요구사항: 검색 결과 없을 때 메시지 표시. 화면 정의에는 검색 결과 영역에 목록을 표시한다는 내용은 있지만, 결과가 없을 때 어떤 메시지를 표시하는지에 대한 명시는 없습니다. (누락) 요구사항 '가)'와 '다)'가 화면 정의에 누락되었습니다. 따라서 누락된 항목은 가, 다로 구성된 보기 ③번입니다.


예상 문제 3) 화면 설계서 검토 시, 요구사항 정의서와 화면 정의서의 내용이 불일치하는 경우 발생할 수 있는 문제점 두 가지를 서술하시오. [4점]

답: 문제점 1: ____________________, 문제점 2: ____________________


/ 필수 문항 정보 /

  • 문제 유형: 단답형 (서술형)
  • 출제 영역: 프로세스 모델링 - 화면 정의
  • 문제 제목: 화면 설계서 불일치 문제점
  • 출제 의도: 개발 문서 간 불일치로 인한 문제점 이해도 검증

해설: 요구사항 정의서와 화면 정의서가 불일치하면, 개발자는 잘못된 화면 정의서를 기반으로 코딩하게 되어 요구사항을 제대로 반영하지 못한 기능이 구현될 수 있습니다 (기능 오류). 또한, 테스트 담당자는 어떤 문서(요구사항 또는 화면 정의서)를 기준으로 테스트해야 할지 혼란을 겪거나, 발견된 오류가 요구사항 위반인지 설계 오류인지 명확히 판단하기 어려워 테스트 과정에 비효율이 발생합니다. 결과적으로 재작업이 발생하여 개발 일정 지연 및 비용 증가를 초래합니다.

  • 문제점 1: 요구사항이 제대로 반영되지 않은 기능 구현 (기능 오류 발생)
  • 문제점 2: 테스트 과정의 비효율성 및 혼란 (요구사항 vs 설계 기준 불명확) 또는 재작업 발생으로 인한 개발 일정/비용 증가

 

문항10 (사내 카페 API 인터페이스) 관련 학습 내용, 예상 문제 및 해설

첨부된 PDF 파일 내 문항10은 사내 카페 시스템의 [샘플 요청/응답] (JSON 형식)을 참조하여 **[인터페이스 출력 명세]**를 올바르게 작성한 보기를 고르는 문제입니다. 이는 인터페이스 설계 분야 중 JSON 형식의 인터페이스 명세를 이해하고 작성하는 능력과 관련된 주제입니다. 문제의 해설, 출제 영역, 출제 의도를 종합적으로 분석하여 관련 학습 주제, 예상 문제, 그리고 해설을 상세히 정리합니다. 문제와 직접적으로 관련되었다고 파악한 사항은 강조하여 기술합니다.

1. 문제 분석 및 관련 학습 주제 파악

  • 문제 내용: 사내 카페 API의 **[샘플 요청/응답]**을 JSON 형태로 제시하고, 이 응답 구조를 가장 올바르게 표현한 [인터페이스 출력 명세] 보기를 선택합니다. 특히 응답 데이터 내에 객체 및 배열([]) 형태로 포함된 'menu', 'coffees', 'breads' 항목의 타입을 올바르게 명세하는 것이 핵심입니다.
  • 해설: 원본 파일에는 문항10에 대한 해설이 직접적으로 포함되어 있지 않지만, 유사한 유형의 문항1(파일 상 첫 번째 문제)의 해설("메뉴는 하나의 메뉴 객체만 전달하므로 데이터 타입은 Menu 이다. breads 는 여러 개의 Bread 정보를 담고 있기 때문에 배열인 Bread[]이다.")을 통해 이 문제의 의도를 파악할 수 있습니다. 즉, JSON 응답 구조를 보고 단일 객체는 해당 객체 타입으로, 객체 목록(배열)은 객체 타입 뒤에 []를 붙여 명세해야 함을 이해하는지 묻는 문제입니다.
  • 출제 영역: 프로세스 모델링 – 설계 > 인터페이스 설계 (⬅️ 문제와 직접 관련)
  • 출제 의도: 인터페이스 명세서를 작성할 수 있는지 확인 (⬅️ 문제와 직접 관련)

종합적으로 볼 때, 이 문제는 인터페이스 설계 분야의 인터페이스 명세 이해 및 작성 능력을 평가하며, 특히 **JSON 데이터 구조(객체, 배열)**를 이해하고 이를 인터페이스 명세의 Type 항목으로 올바르게 변환하여 표기하는 것에 초점을 맞추고 있습니다.

따라서 이 문제를 해결하고 관련 주제에 대한 대비를 하기 위해서는 다음 내용들을 학습해야 합니다.

2. 인터페이스 설계 (⬅️ 문제와 직접 관련)

  • 개념: 시스템 컴포넌트 간 또는 시스템과 외부 시스템 간에 정보를 주고받는 방식, 통신 규약, 데이터 형식 등을 정의하는 활동입니다.
  • 인터페이스 명세서: (⬅️ 문제에 제시된 정보 형태) 인터페이스를 통해 교환되는 데이터의 상세 내용(이름, 타입, 설명 등)을 기술한 문서입니다.
    • 인터페이스 입력 명세: 시스템이 외부로부터 받는 데이터의 구조 및 내용을 정의합니다.
    • 인터페이스 출력 명세: 시스템이 외부로 보내는 데이터의 구조 및 내용을 정의합니다. (⬅️ 문제의 대상)
  • API (Application Programming Interface): 시스템이 다른 시스템과 상호작용하기 위해 정의해 놓은 규약 집합입니다. 문제에서는 HTTP 기반 API의 요청/응답 인터페이스를 다룹니다.

3. JSON 데이터 표준 (⬅️ 문제에 제시된 정보 형태)

  • 개념: 경량의 데이터 교환 형식으로, 웹 API 통신에 널리 사용됩니다.
  • 기본 구조:
    • 객체 (Object): {}로 표현, 키(Key): 값(Value) 쌍의 집합. 키는 문자열.
    • 배열 (Array): []로 표현, 값들의 순서 있는 목록.
    • 값 (Value): 문자열, 숫자, 불리언, 배열, 객체, Null.

4. 인터페이스 명세 (출력) 작성 및 JSON 구조 매핑 (⬅️ 문제와 직접 관련)

  • 문제는 JSON 응답 [샘플 요청/응답]을 보고, 인터페이스 출력 명세 테이블을 작성하는 방식을 이해하는지 묻습니다.
  • 인터페이스 출력 명세 테이블의 Type 컬럼에는 해당 Name 항목이 어떤 종류의 데이터 구조를 가지는지 명시합니다. JSON 구조와 매핑되는 Type 표기 방법은 다음과 같습니다.
    • 단순 값: String, Int, Boolean 등 JSON의 기본 타입 이름 사용. (예: result_code는 "S" 또는 "F" 문자열이므로 Type은 String)
    • JSON 객체: 해당 객체의 구조를 대표하는 객체 타입 이름 사용. (예: 응답 JSON의 menu 항목은 {} 형태의 객체이고, 그 안에 coffees와 breads가 있습니다. 이는 '메뉴'라는 개념을 나타내는 객체이므로 Type은 'Menu'와 같은 객체 타입 이름이 됩니다. 문제 하단에 Menu, Coffee, Bread 객체 구조가 별도로 정의되어 있음을 참고합니다.)
    • JSON 배열: 해당 배열이 담고 있는 객체 또는 값의 타입 이름 뒤에 **배열 기호 []**를 붙여 사용. (예: 응답 JSON의 coffees 항목은 [] 형태의 배열이고, 배열 안에는 {} 형태의 Coffee 객체들이 있습니다. 이는 'Coffee 객체의 목록'이므로 Type은 Coffee[]가 됩니다. 응답 JSON의 breads 항목은 [] 형태의 배열이고, 배열 안에는 {} 형태의 Bread 객체들이 있습니다. 이는 'Bread 객체의 목록'이므로 Type은 Bread[]가 됩니다.)
  • [샘플 요청/응답] 분석:
    • 응답 최상위는 {} 형태의 JSON 객체입니다.
    • result_code: "S" 또는 "F" 문자열. Type은 String.
    • menu: {} 형태의 JSON 객체. 문제 하단에 Menu 객체 구조 정의가 있으므로 Type은 Menu.
    • coffees: [] 형태의 JSON 배열. 배열 안에 {} 형태의 Coffee 객체들이 있음. Type은 Coffee[]. (이 항목은 menu 객체 안에 포함되어 있습니다. 인터페이스 명세 작성 시 계층 구조를 표현해야 할 수 있습니다.)
    • breads: [] 형태의 JSON 배열. 배열 안에 {} 형태의 Bread 객체들이 있음. Type은 Bread[]. (이 항목은 menu 객체 안에 포함되어 있습니다.)
  • [인터페이스 출력 명세] 구조:
    • result_code: Name, Type(String), Description.
    • menu: Name, Type(1)), Description.
    • breads: Name, Type(2)), Description.
    • 문제는 menu와 breads 항목의 Type을 묻고 있으며, 이들이 어떤 객체 안에 포함되는지 계층 구조는 명시되어 있지 않습니다. 다만 JSON 샘플에서 coffees와 breads는 menu 객체의 하위 항목입니다. 인터페이스 명세 작성 시에는 이 계층 구조를 반영하여 menu 객체 안에 coffees(Coffee[])와 breads(Bread[])가 포함됨을 표현하는 것이 일반적입니다.
    • 하지만 문제의 출력 명세 테이블 형태를 보면 menu와 breads가 동일 레벨로 나열되어 있습니다. 이는 문제에서 묻는 1)과 2)가 테이블 구조 자체의 빈칸이 아니라, 예시 보기 (a)~(e)에서 menu와 breads에 할당될 타입을 고르는 것임을 시사합니다. (실제 파일의 문항10 보기는 [인터페이스 출력 명세] 테이블 아래에 별도로 제시되어 있으며, "1) 2) / a String Bread / ... / c Menu Bread[] / ..." 형태로 구성되어 있습니다. 이는 출력 명세 테이블의 1)과 2) 빈칸에 들어갈 Type을 보기에서 찾아 매칭하는 문제입니다.)

5. 문제 해결 전략 (문항10)

문항10과 같은 유형의 문제를 해결하기 위해서는 다음 단계를 따릅니다.

  1. [샘플 요청/응답] (JSON) 구조 상세 분석: 응답 JSON 데이터의 전체적인 구조(객체 안에 객체, 객체 안에 배열 등), 각 키(Name)에 해당하는 값의 형태(단순 값, 객체, 배열), 그리고 배열 안에 어떤 타입의 데이터가 들어있는지(객체 목록인지, 단순 값 목록인지)를 정확히 파악합니다.
  2. [인터페이스 출력 명세] 테이블 구조 이해: 문제에서 제시하는 출력 명세 테이블의 Name, Type 컬럼의 의미를 파악합니다.
  3. 정의된 객체 구조 확인: 문제 하단에 별도로 정의된 객체 구조(Menu, Coffee, Bread)를 확인하고 각 객체가 어떤 속성을 가지는지 파악합니다.
  4. JSON 구조와 명세 Type 표기 규칙 매핑: 분석한 JSON 구조와 인터페이스 명세 Type 표기 규칙(단일 값, 객체 타입 이름, 배열 타입 이름[])을 연결합니다.
    • 샘플 JSON의 menu는 {} 객체이고, 하단에 Menu 객체 구조가 정의되어 있으므로 Type은 Menu.
    • 샘플 JSON의 coffees는 [] 배열 안에 {} Coffee 객체들이 있으므로 Type은 Coffee[].
    • 샘플 JSON의 breads는 [] 배열 안에 {} Bread 객체들이 있으므로 Type은 Bread[].
  5. 보기 선택: 파악된 menu와 breads 항목에 대한 올바른 Type 조합을 문제 하단에 제시된 보기 (a)~(e)에서 찾아 선택합니다. (문제 1)은 menu의 Type, 2)는 breads의 Type을 의미합니다. 따라서 조합은 1): Menu, 2): Bread[]가 됩니다.)

6. 예상 문제 3개 (인터페이스 설계 - JSON)

문항10과 유사한 유형 및 수준의 예상 문제 3개를 제시합니다. 문제 풀이 및 해설은 문제 아래에 바로 이어서 제공합니다.

예상 문제 1) 어떤 사용자 목록 조회 API의 [샘플 응답]을 참조하여, [인터페이스 출력 명세]의 빈칸 1)과 2)에 들어갈 Type 조합을 올바르게 고르시오. [4점]

[샘플 응답 (JSON)]

json

{
  "status": "OK",
  "users": [
    {
      "id": 101,
      "name": "홍길동"
    },
    {
      "id": 102,
      "name": "성춘향"
    }
  ]
}

[인터페이스 출력 명세 일부]

구분NameType

기본 status String
users 1)____  

[User 객체 구조] User:

  • id (Int)
  • name (String)

a. User b. User[] c. Object d. String[]


/ 필수 문항 정보 /

  • 문제 유형: 선다형
  • 출제 영역: 프로세스 모델링 - 설계 > 인터페이스 설계
  • 문제 제목: 사용자 목록 API 인터페이스 출력 타입 식별
  • 출제 의도: JSON 배열 구조와 객체 타입 정의를 보고 인터페이스 명세 타입 표기 방법 이해도 검증

해설: [샘플 응답]에서 "users" 항목은 대괄호 []로 시작하는 JSON 배열입니다. 배열 안에는 중괄호 {} 형태의 User 객체들이 있습니다 (하단에 User 객체 구조 정의됨). 따라서 "users" 항목의 Type은 User 객체들의 배열을 의미하는 User[]가 됩니다.


예상 문제 2) 아래 [샘플 응답]을 참조하여, [인터페이스 출력 명세]의 빈칸에 들어갈 올바른 Type을 작성하시오. [3점]

[샘플 응답 (JSON)]

json

{
  "product": {
    "name": "노트북",
    "price": 1200000
  }
}

[인터페이스 출력 명세 일부]

NameTypeDescription

product ______ 상품 정보 객체

[Product 객체 구조] Product:

  • name (String)
  • price (Int)

답: ____________________


/ 필수 문항 정보 /

  • 문제 유형: 단답형
  • 출제 영역: 프로세스 모델링 - 설계 > 인터페이스 설계
  • 문제 제목: 상품 정보 API 인터페이스 출력 타입 추론 (단일 객체)
  • 출제 의도: JSON 객체 구조와 객체 타입 정의를 보고 인터페이스 명세 타입 표기 방법 이해도 검증

해설: [샘플 응답]에서 "product" 항목은 중괄호 {}로 시작하는 JSON 객체입니다. 하단에 Product 객체 구조가 정의되어 있습니다. 인터페이스 명세에서 단일 객체의 Type은 해당 객체의 이름을 사용합니다. 따라서 "product" 항목의 Type은 Product가 됩니다.


예상 문제 3) 아래 [샘플 응답]과 [인터페이스 출력 명세 일부]를 참조하여, [인터페이스 출력 명세]에 잘못 작성된 항목을 포함하는 보기를 고르시오. [5점]

[샘플 응답 (JSON)]

json

{
  "item_id": "A101",
  "item_name": "의자",
  "tags": ["가구", "사무용", "편안함"],
  "in_stock": true
}

[인터페이스 출력 명세 일부]

NameTypeDescription

item_id Int 아이템 ID
item_name String 아이템 이름
tags String 아이템 태그 목록
in_stock String 재고 여부

① item_id, item_name ② item_name, tags ③ tags, in_stock ④ item_id, in_stock ⑤ item_id, tags, in_stock


/ 필수 문항 정보 /

  • 문제 유형: 선다형
  • 출제 영역: 프로세스 모델링 - 설계 > 인터페이스 설계
  • 문제 제목: 인터페이스 출력 명세 불일치 식별 (JSON 기반)
  • 출제 의도: JSON 응답 샘플을 보고 인터페이스 명세의 데이터 타입 오류 식별 능력 검증

해설: [샘플 응답]의 JSON 데이터를 보고 각 항목의 실제 데이터 타입을 파악합니다.

  • "item_id": "A101" -> 실제 타입은 String. 명세는 Int. (불일치)
  • "item_name": "의자" -> 실제 타입은 String. 명세는 String. (일치)
  • "tags": ["가구", "사무용", "편안함"] -> 실제 타입은 String 값들의 배열 (String[]). 명세는 String. (불일치)
  • "in_stock": true -> 실제 타입은 Boolean. 명세는 String. (불일치) 실제 타입과 명세의 Type이 불일치하는 항목은 item_id, tags, in_stock입니다. 이 항목들로만 구성된 보기는 ⑤번입니다.

 

문항11 (보험금 청구 화면 In/Out 데이터) 관련 학습 내용, 예상 문제 및 해설

첨부된 PDF 파일 내 문항11은 A생명 보험금 청구 화면의 **[화면정의서]**를 제시하고, [신청] 버튼 클릭 시 전달되는 In/Out 데이터가 올바르게 작성된 보기를 고르는 문제입니다. 이는 프로세스 모델링 분야 중 화면 정의서를 분석하여 시스템 간 인터페이스의 입/출력 데이터를 식별하는 능력과 관련된 주제입니다. 문제의 해설, 출제 영역, 출제 의도를 종합적으로 분석하여 관련 학습 주제, 예상 문제, 그리고 해설을 상세히 정리합니다. 문제와 직접적으로 관련되었다고 파악한 사항은 강조하여 기술합니다.

1. 문제 분석 및 관련 학습 주제 파악

  • 문제 내용: A생명 보험금 청구 화면의 [화면정의서] 내용을 읽고, 사용자가 [신청] 버튼을 클릭했을 때 시스템으로 입력(In)되는 데이터와 시스템에서 출력(Out)되는 데이터가 올바르게 짝지어진 보기를 고르는 문제입니다. 화면 정의서에는 사용자 입력 항목(라디오 버튼, 체크박스, 파일 첨부 등)과 시스템 동작(팝업, 데이터 전송, 서버 응답)에 대한 설명이 포함되어 있습니다.
  • 해설: 정답이 4번 보기이며, 해설은 In 데이터로 '보험금 청구 대상 정보인 회원번호, 입원수술여부, 통원여부, 기타여부, 첨부파일 정보'가 전송되고, 첨부파일은 여러 개일 수 있으므로 '리스트 형태'이어야 한다고 설명합니다. Out 데이터로는 '서버의 응답으로 처리결과코드를 리턴 받으므로' 처리결과 코드라고 명시합니다. '병원 방문 여부'는 저장하는 값이 아니므로 전송하지 않는다고 덧붙입니다.
  • 출제 영역: 프로세스 모델링 – 분석 > 화면정의서, 프로세스 모델링 – 설계 > 인터페이스 설계 (⬅️ 두 영역 모두 문제와 직/간접적으로 관련)
  • 출제 의도: 화면정의서의 In/Out 데이터 정의 (⬅️ 문제와 직접 관련)

종합적으로 볼 때, 이 문제는 화면 정의서라는 시스템 설계 산출물을 분석하여, 특정 사용자 액션(버튼 클릭) 발생 시 시스템 간에 어떤 데이터가 입력되고 출력되는지를 식별하고, 데이터의 특성(단일 값 vs 목록/배열)에 따라 올바른 형태로 표현하는 능력을 평가하는 것에 초점을 맞추고 있습니다. 이는 요구사항 분석인터페이스 설계의 기초가 되는 중요한 역량입니다.

따라서 이 문제를 해결하고 관련 주제에 대한 대비를 하기 위해서는 다음 내용들을 학습해야 합니다.

2. 프로세스 모델링: 화면 정의서 (⬅️ 문제에 제시된 정보 형태)

  • 개념: 시스템의 사용자 인터페이스(UI) 화면이 어떻게 구성되고 동작하는지를 상세하게 기술한 문서입니다. 화면의 레이아웃, 각 UI 요소(입력 필드, 버튼, 체크박스 등)의 속성, 사용자 액션(클릭, 입력 등) 발생 시 시스템 동작, 화면 간 이동 흐름 등을 명세합니다.
  • 화면 정의서의 주요 내용:
    • UI 요소 목록 및 설명: 각 화면에 포함되는 입력 필드, 버튼, 라벨 등의 목록과 그 용도, 속성(데이터 타입, 길이, 필수 여부 등)을 기술합니다.
    • 화면 흐름 및 사용자 액션 정의: 특정 버튼 클릭, 링크 이동 등 사용자 액션 발생 시 어떤 화면으로 이동하거나 어떤 시스템 동작이 수행되는지 명세합니다. (⬅️ 문제의 '신청 버튼 클릭 시' 시나리오 관련)
    • In/Out 데이터 정의: (⬅️ 문제의 핵심) 특정 화면 진입 시 시스템에서 받아오는 데이터(Out)와, 사용자가 화면에서 입력하거나 선택한 후 다음 단계로 전달되는 데이터(In)를 정의합니다.

3. 프로세스 모델링: 인터페이스 설계 (⬅️ 문제와 간접 관련)

  • 개념: 시스템 컴포넌트 간 또는 시스템과 외부 시스템 간에 데이터를 주고받는 방식과 데이터 형식을 정의하는 활동입니다. 화면에서 발생한 사용자 입력은 보통 백엔드 시스템의 API 인터페이스를 통해 전달됩니다.
  • 인터페이스 입력 명세 (In Data): 특정 인터페이스로 들어오는 데이터의 구조, 이름, 타입, 필수 여부 등을 정의합니다. 문항11의 In 데이터는 화면에서 백엔드로 전달되는 데이터를 의미하므로 인터페이스 입력 명세에 해당합니다.
  • 인터페이스 출력 명세 (Out Data): 특정 인터페이스에서 나가는 데이터의 구조, 이름, 타입 등을 정의합니다. 문항11의 Out 데이터는 백엔드 처리 후 화면으로 되돌아오는 데이터를 의미하므로 인터페이스 출력 명세에 해당합니다.
  • 데이터 타입 및 형태: 인터페이스 명세 시 데이터의 타입(String, Int, Boolean 등)과 형태(단일 값, 객체, 배열/리스트 등)를 올바르게 표기하는 것이 중요합니다. 여러 개의 동일한 데이터 목록은 배열 또는 리스트 형태로 표현됩니다. (예: 첨부파일 목록 -> File[])

4. 문제 해결 전략 (문항11)

문항11과 같은 유형의 문제를 해결하기 위해서는 다음 단계를 따릅니다.

  1. [화면정의서] 상세 분석: 화면정의서 내용을 꼼꼼히 읽고, 특히 [신청] 버튼 클릭이라는 특정 사용자 액션과 관련된 설명에 집중합니다.
  2. 전달되는 입력(In) 데이터 식별: 화면정의서 설명 중, [신청] 버튼 클릭 시 서버로 **"전송되는 데이터"**가 무엇인지 모두 찾아냅니다. 각 데이터 항목의 특성(단일 값, 여러 개일 수 있는 값 등)을 파악합니다.
    • 예시: "보험금 청구 대상" 설정 -> 대상 정보(회원번호 등)가 In 데이터가 될 수 있습니다.
    • 예시: "보험금 청구 유형은 각 항목(입원/수술, 통원, 기타)을 체크박스로 선택할 수 있다." -> 각 항목의 선택 여부가 In 데이터가 될 수 있습니다.
    • 예시: "서류 첨부에서 파일을 선택하고 [첨부] 버튼을 클릭하면, 첨부된 파일 수와 파일명 목록이 하단에 표시된다. 최대 20개 파일까지 첨부 가능하며, 보험금 청구 신청 시점에 일괄 전송된다." -> 첨부된 파일 정보가 In 데이터가 될 수 있으며, "최대 20개", "일괄 전송"이라는 표현에서 여러 파일이 목록/배열 형태로 전달될 가능성을 추론합니다.
    • 예시: "'[사용자의 이름]님이 병원에 방문하셨나요?'에 해당하는 라디오 버튼은 초기에 '네'가 선택되어 있으며, 이 값은 보험금 청구 시 저장되지 않는다." -> 저장되지 않는 값은 일반적으로 서버로 전송될 필요가 없습니다. (해설에서 "병원 방문 여부는 저장하는 값이 아니기 때문에 전송하지 않는다"고 확인됩니다.)
  3. 전달되는 출력(Out) 데이터 식별: 화면정의서 설명 중, [신청] 버튼 클릭 후 서버에서 화면으로 **"반환되는 데이터"**가 무엇인지 찾아냅니다.
    • 예시: "서버로 전송되고, 서버는 처리결과코드를 반환한다." -> 처리 결과 코드가 Out 데이터가 됨을 명확히 알 수 있습니다.
  4. 식별된 In/Out 데이터를 보기와 비교: 화면정의서 분석을 통해 식별된 In 데이터 목록과 형태, 그리고 Out 데이터 목록이 보기의 In/Out 데이터 조합과 가장 정확하게 일치하는 보기를 선택합니다. 해설에서처럼 첨부파일이 '리스트 형태'로 표현되었는지 등을 확인합니다.

5. 예상 문제 3개 (화면 정의서 - In/Out 데이터)

문항11과 유사한 유형 및 수준의 예상 문제 3개를 제시합니다. 문제 풀이 및 해설은 문제 아래에 바로 이어서 제공합니다.

예상 문제 1) 아래 회원 가입 화면의 [화면 정의서 일부]를 참조하여, [가입] 버튼 클릭 시 서버로 전달되는 주된 In 데이터 항목으로 적절한 것을 모두 고르시오. [4점]

[화면 정의서 일부]

  • 사용자 이름 (필수 입력 필드)
  • 이메일 주소 (선택 입력 필드)
  • 비밀번호 (필수 입력 필드)
  • 비밀번호 확인 (비밀번호와 일치하는지 확인 용도)
  • 약관 동의 (필수 체크박스 - 동의 시 'Y' 값 전송)
  • [가입] 버튼: 클릭 시 입력된 사용자 정보 및 약관 동의 여부를 서버로 전송.

① 사용자 이름, 비밀번호, 약관 동의 ② 사용자 이름, 이메일 주소, 비밀번호 ③ 사용자 이름, 이메일 주소, 비밀번호, 비밀번호 확인, 약관 동의 ④ 사용자 이름, 이메일 주소, 비밀번호, 약관 동의 ⑤ 비밀번호, 비밀번호 확인


/ 필수 문항 정보 /

  • 문제 유형: 선다형
  • 출제 영역: 프로세스 모델링 - 화면 정의
  • 문제 제목: 회원 가입 화면 In 데이터 식별
  • 출제 의도: 화면 정의서 분석을 통해 서버로 전달되는 입력 데이터 항목 식별 능력 검증

해설: [가입] 버튼 클릭 시 "입력된 사용자 정보 및 약관 동의 여부를 서버로 전송"한다고 명시되어 있습니다. 입력된 사용자 정보는 사용자 이름, 이메일 주소, 비밀번호입니다. 비밀번호 확인은 서버 전송용 데이터가 아니라 화면 내에서 비밀번호 일치 여부를 확인하기 위한 용도입니다. 약관 동의는 동의 시 'Y' 값이 서버로 전송됩니다. 따라서 서버로 전달되는 In 데이터 항목은 사용자 이름, 이메일 주소, 비밀번호, 약관 동의입니다.


예상 문제 2) 온라인 쇼핑몰에서 상품 구매 시 발생하는 [결제 완료] 화면의 [화면 정의서 일부]를 참조하여, 화면 진입 시 서버로부터 받는 Out 데이터로 적절한 것을 모두 고르시오. [4점]

[화면 정의서 일부]

  • [결제 완료] 화면: 결제 처리 성공 후 진입하는 화면.
  • 화면 표시 내용: 주문 번호, 총 결제 금액, 결제 수단 정보, 구매 감사 메시지.
  • [확인] 버튼: 클릭 시 마이페이지로 이동.

① 주문 번호, 총 결제 금액, 결제 수단 정보, 구매 감사 메시지 ② 총 결제 금액, 결제 수단 정보, 마이페이지 이동 URL ③ 주문 번호, 총 결제 금액, 결제 수단 정보 ④ 주문 번호, 구매 감사 메시지, [확인] 버튼 클릭 이벤트 ⑤ 결제 수단 정보, 마이페이지 이동 URL


/ 필수 문항 정보 /

  • 문제 유형: 선다형
  • 출제 영역: 프로세스 모델링 - 화면 정의
  • 문제 제목: 결제 완료 화면 Out 데이터 식별
  • 출제 의도: 화면 정의서 분석을 통해 화면 표시를 위해 서버로부터 받는 출력 데이터 항목 식별 능력 검증

해설: [결제 완료] 화면은 결제 처리 성공 후 "진입하는 화면"이며, 화면에 "표시 내용"이 명시되어 있습니다. 화면 표시에 필요한 데이터는 서버로부터 받아와야 하는 Out 데이터입니다. 화면 표시 내용은 주문 번호, 총 결제 금액, 결제 수단 정보, 구매 감사 메시지입니다. 마이페이지 이동 URL은 화면 진입 시 받는 데이터가 아니라 버튼 클릭 시 이동할 경로에 대한 정보이며, [확인] 버튼 클릭 이벤트는 사용자 액션에 대한 정의입니다.


예상 문제 3) 화면 정의서에서 In/Out 데이터를 명확하게 정의하는 주된 이유 두 가지를 서술하시오. [4점]

답: 이유 1: ____________________, 이유 2: ____________________


/ 필수 문항 정보 /

  • 문제 유형: 단답형 (서술형)
  • 출제 영역: 프로세스 모델링 - 화면 정의
  • 문제 제목: 화면 정의서 In/Out 정의의 중요성
  • 출제 의도: 화면 정의서에서 In/Out 데이터를 명세하는 목적 이해도 검증

해설: 화면 정의서에서 In/Out 데이터를 명확하게 정의하면, 해당 화면과 백엔드 시스템 간의 인터페이스 사양이 명확해져 개발자가 해당 화면의 기능 구현에 필요한 입/출력 데이터를 정확히 파악하고 백엔드 개발자와의 협업을 원활하게 할 수 있습니다 (개발 효율성 및 협업 증진). 또한, 테스터는 어떤 데이터가 입력되고 출력되어야 하는지 정확히 알 수 있어 테스트 케이스를 명확하게 설계하고 테스트를 효율적으로 수행할 수 있습니다 (테스트 용이성).

  • 이유 1: 개발자에게 필요한 입/출력 데이터 명세를 제공하여 기능 구현 및 백엔드 개발자와의 협업을 원활하게 한다.
  • 이유 2: 테스트 케이스 설계 및 테스트 수행에 필요한 데이터 정보를 제공하여 테스트의 정확성 및 효율성을 높인다.

 

 

 

 

 

 

 

 

반응형