---
title: "3단계. 명세와 모델링"
description: "질문에 맞는 표현 형식을 선택하고 서로 모순되지 않게 연결한다."
---

<Panel title="이 단계에서 해결할 질문">
요구를 문장·시나리오·스토리·모델과 유형별 명세로 어떻게 표현하는가?

**완료 결과:** 질문에 맞는 표현 형식을 선택하고 서로 모순되지 않게 연결한다.
</Panel>

<Badge variant="accent">난이도 · 중급</Badge> <Badge variant="success">10개 주제</Badge>

## 권장 학습 순서

1. **15장. 좋은 요구사항을 작성하는 법**

    한 문장을 구현·시험·검토할 수 있는 요구사항으로 어떻게 작성하는가? [읽기](/learn/specification-modeling/chapter-15)

2. **16장. 좋은 요구사항의 품질**

    정확성·명확성·완전성·일관성·검증 가능성을 어떤 증거로 판단하는가? [읽기](/learn/specification-modeling/chapter-16)

3. **17장. 자연어 요구사항 명세**

    자연어의 장점을 살리면서 모호성과 과도한 설계 지정을 어떻게 줄이는가? [읽기](/learn/specification-modeling/chapter-17)

4. **18장. 유스케이스와 시나리오**

    사용자 목표와 정상·대안·예외 흐름을 유스케이스로 어떻게 명세하는가? [읽기](/learn/specification-modeling/chapter-18)

5. **19장. 사용자 스토리와 백로그**

    가치를 작은 전달 단위로 나누면서 업무 규칙과 품질 요구를 어떻게 잃지 않는가? [읽기](/learn/specification-modeling/chapter-19)

6. **20장. 모델로 표현하는 요구사항**

    경계·상태·순서·데이터·결정의 질문에 맞는 모델을 어떻게 선택하는가? [읽기](/learn/specification-modeling/chapter-20)

7. **21장. 기능 요구사항**

    시스템이 제공해야 할 동작과 예외를 기능 요구사항으로 어떻게 명확히 하는가? [읽기](/learn/specification-modeling/chapter-21)

8. **22장. 비기능 요구사항**

    성능·보안·사용성 같은 품질을 측정 가능한 조건으로 어떻게 표현하는가? [읽기](/learn/specification-modeling/chapter-22)

9. **23장. 데이터 요구사항**

    데이터의 의미·품질·생명주기·보호 책임을 요구사항으로 어떻게 다루는가? [읽기](/learn/specification-modeling/chapter-23)

10. **24장. 인터페이스 요구사항**

    시스템 경계를 넘는 계약과 실패 대응을 인터페이스 요구사항으로 어떻게 정의하는가? [읽기](/learn/specification-modeling/chapter-24)

## 이 단계의 학습 페이지

<CardGroup cols={2}>
<Card title="15장. 좋은 요구사항을 작성하는 법" href="/learn/specification-modeling/chapter-15">
한 문장을 구현·시험·검토할 수 있는 요구사항으로 어떻게 작성하는가?
</Card>
<Card title="16장. 좋은 요구사항의 품질" href="/learn/specification-modeling/chapter-16">
정확성·명확성·완전성·일관성·검증 가능성을 어떤 증거로 판단하는가?
</Card>
<Card title="17장. 자연어 요구사항 명세" href="/learn/specification-modeling/chapter-17">
자연어의 장점을 살리면서 모호성과 과도한 설계 지정을 어떻게 줄이는가?
</Card>
<Card title="18장. 유스케이스와 시나리오" href="/learn/specification-modeling/chapter-18">
사용자 목표와 정상·대안·예외 흐름을 유스케이스로 어떻게 명세하는가?
</Card>
<Card title="19장. 사용자 스토리와 백로그" href="/learn/specification-modeling/chapter-19">
가치를 작은 전달 단위로 나누면서 업무 규칙과 품질 요구를 어떻게 잃지 않는가?
</Card>
<Card title="20장. 모델로 표현하는 요구사항" href="/learn/specification-modeling/chapter-20">
경계·상태·순서·데이터·결정의 질문에 맞는 모델을 어떻게 선택하는가?
</Card>
<Card title="21장. 기능 요구사항" href="/learn/specification-modeling/chapter-21">
시스템이 제공해야 할 동작과 예외를 기능 요구사항으로 어떻게 명확히 하는가?
</Card>
<Card title="22장. 비기능 요구사항" href="/learn/specification-modeling/chapter-22">
성능·보안·사용성 같은 품질을 측정 가능한 조건으로 어떻게 표현하는가?
</Card>
<Card title="23장. 데이터 요구사항" href="/learn/specification-modeling/chapter-23">
데이터의 의미·품질·생명주기·보호 책임을 요구사항으로 어떻게 다루는가?
</Card>
<Card title="24장. 인터페이스 요구사항" href="/learn/specification-modeling/chapter-24">
시스템 경계를 넘는 계약과 실패 대응을 인터페이스 요구사항으로 어떻게 정의하는가?
</Card>
</CardGroup>

## 함께 쓰는 도구

<CardGroup cols={2}>
<Card title="요구사항 문장 패턴" href="/toolkit/sentence-patterns">
이 단계의 판단을 실제 산출물에 적용할 때 사용합니다.
</Card>
<Card title="요구사항 품질 점검표" href="/toolkit/quality-checklist">
이 단계의 판단을 실제 산출물에 적용할 때 사용합니다.
</Card>
<Card title="요구사항 정의서 예제" href="/toolkit/requirements-specification">
이 단계의 판단을 실제 산출물에 적용할 때 사용합니다.
</Card>
<Card title="요구사항 리뷰 체크리스트" href="/toolkit/review-checklist">
이 단계의 판단을 실제 산출물에 적용할 때 사용합니다.
</Card>
</CardGroup>
