38차시. 미니프로젝트 ① 주제 선정과 설계
4. 실습 ① — 요구사항 정의서
출처: 원본 PDF 38차시_미니프로젝트주제선정.pdf 9~10쪽 · 쪽 그림 9쪽 10쪽
코드를 짜기 전에 무엇을 만들지 한 장으로 정리합니다.
📝 docs/requirements.md
# 미니프로젝트 요구사항 정의서
## 1. 개요
- 프로젝트명: 사내 인사규정 Q&A 시스템
- 대상 문서: 2026_취업규칙.pdf (42페이지)
- 사용자: 인사 문의를 자주 하는 직원
- 목적: 인사팀 반복 문의를 줄인다
## 2. 사용 시나리오
직원이 "육아휴직 얼마나 쓸 수 있어?"라고 물으면
규정에서 근거를 찾아 조항과 함께 답변한다.
## 3. 기능 요구사항 (반드시)
- [ ] F1. 문서 기반 질의응답이 동작한다
- [ ] F2. 답변에 출처(조항·페이지)를 표시한다
- [ ] F3. 규정에 없는 질문에 "확인할 수 없다"고 답한다
- [ ] F4. 인사말·범위 밖 질문을 구분해 처리한다
- [ ] F5. 검색 실패 시 질의를 재작성해 재시도한다
- [ ] F6. 오류가 나도 프로그램이 종료되지 않는다
## 4. 품질 목표 (37차시 루브릭 기준)
| 지표 | 목표 | 측정 |
|---|---|---|
| Correctness | ≥ 85% | 평가셋 30문항 |
| Faithfulness | ≥ 0.95 | LLM 심판 |
| Abstention | 100% | 부재 질문 8건 |
| 루브릭 총점 | ≥ 1.7 / 2.0 | 자동 채점 |
| P95 응답 | ≤ 10초 | 로그 |
## 5. 하지 않을 것 (범위 밖)
- 대화 맥락 유지 (매번 독립 질문으로 처리)
- 웹 UI (터미널 인터페이스로 충분)
- 다중 문서 (취업규칙 1종만)
- 사용자 인증·권한 관리
## 6. Definition of Done
- 기능 요구사항 F1~F6 모두 동작
- 품질 목표 5개 중 4개 이상 달성
- 평가 리포트와 구조도 제출🎯 5번 "하지 않을 것"이 가장 중요합니다
프로젝트가 실패하는 가장 흔한 이유는
Scope Creep입니다.
"웹 화면도 붙일까?"
"대화 기억도 되면 좋겠는데?"
"문서 몇 개 더 넣을까?"
→ 하나도 완성 못 하고 시간이 끝납니다
안 할 것을 미리 적어두면
유혹이 올 때 문서를 보고 넘길 수 있습니다.