728x90
반응형
요구공학: 시스템이 풀어야 할 문제를 이해하는 작업
시스템이 해결해야 할 문제를 이해하고, 이해관계자들의 요구를 체계적으로 수집, 분석, 명세화, 검증하는 과정이다. 이를 통해 정확하고 명확한 요구사항을 도출하고, 개발 프로세스 전반에서 요구사항을 관리한다.
정의 및 개념
- 요구공학(Requirements Engineering): 시스템의 요구사항을 이해하고 조정하여 명확하게 정의하는 공정 및 학문
- 주요 과정: 타당성 분석, 요구사항 추적 및 분석, 요구사항 명세화, 요구사항 검증
요구사항 개발 프로세스 (타추명검)
- 타당성 분석: 타당성 보고서를 작성하여 프로젝트 수행 가능성을 평가
- 요구사항 추적 및 분석: 시스템 모델을 기반으로 요구사항을 추적하고 분석
- 요구사항 명세화: 시스템 요구사항을 문서화하여 명확한 기준 설정
- 요구사항 검증: 요구사항 문서를 기반으로 검증 수행
요구사항 관리(협기변확)
- 요구사항 협상: 이해관계자 간 의견 조정 및 요구사항 조율
- 요구사항 기준선 설정: 개발 진행 중 변경을 최소화하기 위한 기준선 설정
- 요구사항 변경 관리: 요구사항 변경 발생 시 체계적으로 관리
- 요구사항 확인 및 검증: 문서화된 요구사항이 실제 시스템과 일치하는지 검증
요구사항 명세서 평가 기준(수완이의 개명 추정일 우검)
- 정확성: 요구사항이 올바르게 기술되었는가?
- 명확성: 요구사항이 혼동 없이 이해될 수 있는가?
- 완전성: 모든 요구사항이 포함되었는가?
- 수정 용이성: 요구사항 변경이 용이한가?
- 추적 가능성: 요구사항의 변경 이력이 관리되는가?
- 이해 용이성: 문서가 이해하기 쉬운가?
- 일관성: 요구사항 간 충돌이 없는가?
- 개발 후 이용성: 유지보수 및 확장이 용이한가?
- 우선순위 포함 여부: 요구사항 간 중요도가 명확한가?
- 검증 가능성: 요구사항이 객관적으로 검증될 수 있는가?
요구공학 프로세스 및 구성요소
flowchart TB
subgraph RE["요구공학 (Requirements Engineering)"]
direction TB
A[요구사항 도출\nElicitation] --> B[요구사항 분석\nAnalysis]
B --> C[요구사항 명세\nSpecification]
C --> D[요구사항 검증\nValidation]
D --> E[요구사항 관리\nManagement]
A <-.-> F[이해관계자 식별\nStakeholder Identification]
F <-.-> G[문제 영역 이해\nProblem Domain Understanding]
B <-.-> H[요구사항 모델링\nRequirements Modeling]
H <-.-> I[요구사항 분류\nRequirements Classification]
C <-.-> J[기능 요구사항\nFunctional Requirements]
C <-.-> K[비기능 요구사항\nNon-functional Requirements]
D <-.-> L[요구사항 검토\nRequirements Review]
L <-.-> M[프로토타이핑\nPrototyping]
E <-.-> N[요구사항 추적\nRequirements Traceability]
E <-.-> O[변경 관리\nChange Management]
end
subgraph Tools["도구 및 기법"]
T1[인터뷰\nInterviews]
T2[설문조사\nSurveys]
T3[워크샵\nWorkshops]
T4[유스케이스\nUse Cases]
T5[사용자 스토리\nUser Stories]
T6[요구사항 문서\nRequirements Document]
end
subgraph Challenges["도전 과제"]
C1[요구사항 불완전성\nIncomplete Requirements]
C2[요구사항 모호성\nAmbiguous Requirements]
C3[이해관계자 의견 불일치\nStakeholder Disagreements]
C4[범위 확장\nScope Creep]
end
RE -->|활용| Tools
RE -->|직면| Challenges
요구공학은 시스템이 해결해야 할 문제를 이해하고 정의하는 체계적인 프로세스.
요구공학의 핵심 요소
프로세스 단계:
- 요구사항 도출(Elicitation): 이해관계자로부터 요구사항을 수집
- 요구사항 분석(Analysis): 수집된 요구사항을 분석하고 모델링
- 요구사항 명세(Specification): 요구사항을 문서화하고 형식화
- 요구사항 검증(Validation): 요구사항이 이해관계자의 필요를 충족하는지 확인
- 요구사항 관리(Management): 요구사항 변경사항을 관리하고 추적
주요 기법:
- 인터뷰, 설문조사, 워크샵을 통한 정보 수집
- 유스케이스와 사용자 스토리를 활용한 요구사항 모델링
- 프로토타이핑을 통한 요구사항 검증
도전 과제:
- 불완전하거나 모호한 요구사항
- 이해관계자 간의 의견 불일치
- 범위 확장(Scope Creep)
핵심 가치:
- 시스템 개발 초기에 문제를 정확히 이해함으로써 후속 개발 비용 절감
- 이해관계자와 개발팀 간의 명확한 의사소통 기반 제공
- 올바른 시스템을 개발하기 위한 기초 확립
요구공학은 "무엇을"(what) 구축할지에 집중하여 "어떻게"(how) 구축할지 결정하기 전에 문제 도메인을 철저히 이해하는 것을 목표로 합니다.
마무리
요구공학은 성공적인 시스템 개발을 위해 필수적인 과정이다. 정확한 요구사항 분석과 체계적인 관리를 통해 프로젝트 리스크를 줄이고 품질을 향상시킬 수 있다.
Keywords
요구공학, 요구사항 분석, 요구사항 명세화, 요구사항 검증, 요구사항 관리, 타당성 분석, 시스템 요구사항, 요구사항 기준선, 요구사항 변경 관리, 소프트웨어 개발
728x90
반응형
'IT Professional Engineering > SW' 카테고리의 다른 글
SOW: SLA의 세부 작업 명세서 (0) | 2025.02.27 |
---|---|
SLA: IT 서비스 수준 협약서 (0) | 2025.02.27 |
PoC와 BMT: 사전 성능 테스트를 통한 검증 (0) | 2025.02.27 |
FDD (Feature Driven Development): 기능 중심의 체계적인 개발 방법론 (0) | 2025.02.26 |
TDD (Test Driven Development): 코드 품질과 안정성을 높이는 개발 방법론 (0) | 2025.02.26 |