티스토리 뷰
반응형
📘 요구 분석(Requirement Analysis)이란?
– 제대로 만들기 위해, 먼저 ‘제대로 이해하는’ 과정
✅ 요구 분석의 정의
요구 분석(Requirement Analysis)은 소프트웨어 개발의 가장 첫 단계로, 사용자와 이해관계자가 원하는 것(요구사항, Requirements)을 명확히 파악하고, 문서화하고, 검증하는 활동입니다.
“시작이 반이다”라는 말은, 요구 분석에서는 “시작이 거의 전부다”로 바꿔도 무방합니다.
💡 왜 요구 분석이 중요한가?
이유 | 상세 설명 |
---|---|
🎯 방향 설정 | 무엇을 개발할지 방향을 잡지 않으면, 아무리 잘 만들어도 의미 없음 |
💰 비용 절감 | 요구사항 오류는 개발 이후 발견 시, 수정 비용이 10~100배 증가 |
🤝 사용자 만족 | 고객이 진짜 원하는 것을 만들어야 성공적인 프로젝트가 됨 |
🧩 팀 내 소통 | 분석 결과는 디자이너, 개발자, 테스터가 공통으로 보는 기준 문서가 됨 |
🧭 요구 분석은 무엇을 하느냐에 따라 다섯 가지 활동으로 나뉩니다
1. 🔍 요구 추출 (Requirement Elicitation)
“고객이 말하지 않은 것도 끌어낸다”
- 고객, 사용자, 이해관계자와 인터뷰
- 워크숍, 관찰, 시나리오 분석, 유사 시스템 분석 등 수행
- 숨겨진 니즈, 모순된 요구, 비현실적 기대까지도 추출
2. 🧪 요구 분석 (Requirement Analysis)
“그냥 말한 걸 받아 적는 게 아니라, 정제한다”
- 수집된 요구를 분류하고, 중복/충돌/모호함 제거
- 기능/비기능 구분, 우선순위 설정
- 사용자, 시스템, 외부 시스템 간의 경계 정의
3. 🏷 도메인 분석 (Domain Analysis)
“이 시스템이 속한 업계/영역이 어떤 특성을 가지는가?”
- 예: 병원, 항공, 금융 등 산업마다 요구사항 패턴이 다름
- 도메인 모델링 (용어 정의, 제약 조건, 규칙 등)
- 현행 시스템 분석을 통해 요구 도출 보조
4. 📄 요구 명세 (Requirement Specification)
“개발자가 보고 구현할 수 있을 정도로 명확히 문서화해야 한다”
- SRS (Software Requirements Specification) 문서 작성
- 텍스트 기반 + 다이어그램 기반(UML, ERD 등)
- 추적 가능성, 일관성, 완전성 확보
5. ✅ 요구 검증 (Requirement Validation)
“이게 정말 맞는 요구인지 사용자와 최종 확인하는 단계”
- 사용자 피드백, 리뷰, 시뮬레이션, 프로토타입 등을 통해
- 잘못된 요구나 누락된 요구를 찾아 수정
📚 요구사항의 종류
📌 1. 기능적 요구사항 (Functional Requirements)
시스템이 무엇을 해야 하는가?
예시 |
---|
사용자는 이메일로 로그인할 수 있어야 한다 |
관리자는 게시물을 삭제할 수 있어야 한다 |
주문 시 결제 API를 호출해야 한다 |
📌 2. 비기능적 요구사항 (Non-functional Requirements)
시스템이 어떻게 동작해야 하는가?
항목 | 예시 |
---|---|
성능 | 페이지 로딩 시간은 2초 이내여야 한다 |
보안 | 사용자 정보는 암호화되어 저장되어야 한다 |
안정성 | 시스템은 연속 24시간 운영 가능해야 한다 |
확장성 | 향후 사용자 수 증가에 대응할 수 있어야 한다 |
⚠️ 요구 분석 시 자주 발생하는 실수
실수 | 설명 |
---|---|
❌ 사용자의 말만 ‘그대로’ 적는다 | 본질적 요구가 아니라 표현만 남게 됨 |
❌ 비기능 요구를 빼먹음 | “동작은 하는데 못 쓰는 시스템”이 됨 |
❌ 우선순위 없이 나열 | 자원과 일정의 비효율적 사용 |
❌ 중복되거나 충돌되는 요구를 방치 | 설계 단계에서 갈등 발생 |
❌ 문서화 없이 구두 전달 | 개발자가 다르게 이해함 |
✏️ 요구 분석의 주요 산출물
문서명 | 설명 |
---|---|
요구사항 명세서(SRS) | 요구사항을 정리한 공식 문서 |
요구사항 목록 | 기능/비기능 요구사항을 구조화한 표 |
요구사항 추적 매트릭스(RTM) | 요구사항 ↔ 구현 간 연결 관계 문서 |
사용자 스토리 / 유스케이스 | 사용자의 행위를 중심으로 시나리오화 |
🧠 실생활 비유: 맞춤 정장 주문
“추상적으로 ‘정장 하나 만들어주세요’라는 요구는 실패 확률이 높다.”
요구 분석이란, 다음과 같은 질문을 사용자에게 던지는 일입니다:
- 무슨 색을 원하시나요?
- 겨울용인가요? 여름용인가요?
- 정장은 어떤 목적으로 입으시나요? (면접, 결혼식 등)
- 체형에 맞게 맞추시겠어요?
→ 이 질문들을 다 듣고, 정리해서, 디자이너가 재단할 수 있게 도면으로 만들어주는 것
→ 이게 바로 요구 분석입니다.
✅ 요약 정리
항목 | 설명 |
---|---|
정의 | 사용자/이해관계자의 요구를 수집·정리·검증하는 과정 |
단계 | 추출 → 분석 → 도메인 분석 → 명세 → 검증 |
요구 유형 | 기능적 요구, 비기능적 요구 |
결과물 | 요구사항 명세서(SRS), 추적표, 유스케이스 등 |
성공 조건 | 명확성, 일관성, 완전성, 추적 가능성 |
🧩 마무리하며
요구 분석은 “무엇을 만들 것인가”에 대한 논의입니다.
이 단계가 부실하면,
이후의 설계, 개발, 테스트, 유지보수 모두 헛수고가 될 수 있습니다.
요구 분석에 시간을 투자하는 것은, 전체 프로젝트를 위한 가장 저렴하고 강력한 보험입니다.
반응형
'자격증 > 정보처리기사' 카테고리의 다른 글
검증과 확인의 차이 - 소프트웨어 테스트의 핵심 (0) | 2025.05.04 |
---|---|
마스터-슬레이브 프로세스란? 쉽게 이해하는 분산 시스템 구조 (0) | 2025.05.04 |
추상화(Abstraction)란? (0) | 2025.05.04 |
DoS(Denial of Service) 공격이란? (0) | 2025.05.03 |
V 모델(V-Model)이란? 소프트웨어 개발 방법 (0) | 2025.05.03 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 윤성우
- Python
- 열혈프로그래밍
- 파이썬
- 유통관리사
- 통계
- 회계
- 정보처리기사
- 조건형성
- 오블완
- 류근관
- 통계학
- 행동심리학
- C
- 일본어문법무작정따라하기
- 일문따
- 백준
- c++
- 학습이론
- 심리학
- 보세사
- 강화학습
- 학습심리학
- 티스토리챌린지
- 물류관리사
- 행동주의
- 데이터분석
- 코딩테스트
- 인지부조화
- K-MOOC
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
글 보관함
반응형