🧭 요구공학 (Requirements Engineering)
**요구공학(要求工學)**이란
소프트웨어 개발에서 사용자의 요구사항을 체계적으로 도출·분석·명세·검증·관리하는 과정과
그에 필요한 기법, 절차, 원리를 연구하는 공학적 활동이다.
쉽게 말하면,
“사용자가 원하는 것을 정확히 찾아내고,
그걸 개발자가 이해할 수 있는 언어로 바꾸는 기술”이 바로 요구공학이다.
1. 개념 설명
소프트웨어 개발의 실패 원인 중 가장 큰 비중을 차지하는 것이 요구사항 오류다.
요구가 잘못 정의되면, 설계·구현·테스트가 모두 틀어진다.
그래서 요구공학은 이런 문제를 막기 위해
요구사항을 수집하고, 분석하고, 명확히 문서화하며, 변경될 때마다 관리하는 전 과정을 말한다.
이 개념은 단순한 분석이 아니라,
“요구사항 생명주기(Requirements Life Cycle)” 전반을 다루는 공학적 체계다.
2. 요구공학의 목적
요구공학의 핵심 목적은 세 가지로 요약된다.
첫째, 요구사항을 명확히 이해하고 합의한다.
둘째, **요구사항의 품질(정확성, 완전성, 일관성)**을 확보한다.
셋째, 요구 변경에 유연하게 대응하고 추적할 수 있는 체계를 갖춘다.
즉, 요구공학은 “요구의 혼란을 공학적으로 통제하는 기술”이다.
3. 요구공학의 주요 활동 단계
요구공학은 일반적으로 다음 네 단계로 구성된다.
① 요구사항 도출(要求事項導出, Requirements Elicitation)
사용자, 이해관계자(Stakeholder)와 인터뷰, 설문, 워크숍 등을 통해 요구사항을 찾아내는 과정이다.
→ ‘무엇을 원하는가?’를 이끌어내는 단계.
② 요구사항 분석(要求事項分析, Requirements Analysis)
도출된 요구를 정리하고, 상충되거나 중복된 내용을 조정한다.
→ 요구의 타당성과 우선순위를 판단한다.
③ 요구사항 명세(要求事項明細, Requirements Specification)
요구사항을 개발자가 이해할 수 있는 형태로 문서화한다.
→ 요구사항 명세서(SRS, Software Requirements Specification)를 작성한다.
④ 요구사항 검증(要求事項檢證, Requirements Validation/Verification)
정의된 요구사항이 정확하고 일관성 있게 기술되었는지 확인한다.
→ 사용자 요구와 개발자 해석이 일치하는지 검토한다.
⑤ 요구사항 관리(要求事項管理, Requirements Management)
개발 중 요구 변경이 발생하면 추적하고 통제한다.
→ 요구 변경 이력, 버전, 영향도 등을 관리한다.
4. 요구공학의 특징
- 사용자 중심(User-Oriented): 기술보다 요구에 초점을 맞춘다.
- 체계적(Systematic): 공학적 절차와 원칙에 따라 진행된다.
- 지속적(Continuous): 개발 초기뿐 아니라 유지보수 단계까지 이어진다.
- 변경 추적 가능(Traceable): 요구의 출처와 변화를 기록하고 관리한다.
5. 정처기 실기 정의 문장
“요구공학은 소프트웨어 개발 과정에서 사용자의 요구사항을
체계적으로 도출·분석·명세·검증·관리하기 위한 공학적 접근 방법을 말한다.”
시험에서 자주 묻는 키워드:
도출, 분석, 명세, 검증, 관리 (이 다섯 단계를 반드시 암기해야 함).
🪶 단어 정리 (한국식 한자 + 영어 어원 + 뜻풀이)
요구(要求) / Requirement
구할 요(要), 구할 구(求)
: 어떤 일을 이루기 위해 필요하거나 바라는 것. 영어 require는 라틴어 requirere(다시 찾다, 요구하다)에서 유래.
공학(工學) / Engineering
장인 공(工), 배울 학(學)
: 과학적 원리를 실제 문제 해결에 적용하는 학문. 영어 engineer는 라틴어 ingenium(기술, 재능)에서 유래.
도출(導出) / Elicitation
이끌 도(導), 날 출(出)
: 숨어 있는 것을 이끌어냄. 영어 elicit은 라틴어 elicere(밖으로 끌어내다)에서 유래.
분석(分析) / Analysis
나눌 분(分), 쪼갤 석(析)
: 복잡한 것을 세분화하여 본질을 파악하는 행위.
명세(明細) / Specification
밝을 명(明), 자세할 세(細)
: 구체적인 항목을 자세히 적는 것. 영어 specify는 라틴어 specere(보다)에서 유래.
검증(檢證) / Verification
검사할 검(檢), 증거 증(證)
: 결과나 진술이 정확한지 확인하는 일. 영어 verify는 라틴어 verus(참된) + facere(만들다)에서 유래.
관리(管理) / Management
벼슬 관(官) 대신 지킬 관(管), 다스릴 리(理)
: 정해진 절차에 따라 통제하고 유지하는 행위. 영어 manage는 라틴어 manus(손) + agere(이끌다)에서 유래.
추적성(追跡性) / Traceability
쫓을 추(追), 좇을 적(跡), 성품 성(性)
: 요구가 변경될 때 그 원인과 결과를 따라갈 수 있는 성질. 영어 trace는 라틴어 tractare(끌다)에서 유래.
'자격증 > 정보처리기사 실기' 카테고리의 다른 글
요구사항 명세 기법 (Requirements Specification Techniques) (0) | 2025.10.11 |
---|---|
기능 요구사항과 비기능 요구사항 (0) | 2025.10.11 |
하드웨어 구성 파악과 이중화(二重化) – 서버는 왜 ‘복제’를 두려워하지 않는가 (0) | 2025.10.11 |
현행 시스템을 파악하는 과정 – 구조를 읽고, 논리를 해부하다 (0) | 2025.10.11 |
XP(eXtreme Programming) 개발방법론: “극단의 단순함으로 품질을 높이다” (0) | 2025.10.11 |