Requirements Engineering (요구공학)
시스템 요구사항 문서를 생성, 검증, 관리하기 위하여 수행되는 구조화된 활동의 집합
- 요구사항 생성 및 관리를 체계적, 반복적으로 수행함.
- 요구사항 관리에 포함되는 모든 생명주기(SDLC)활동과 이를 지원하는 프로세스를 포함함.
- 요구사항 명세서(SRS)를 최종 산출물로 생성함.
Requirements Engineering Processes (요구공학 프로세스)
- Requirements Elicitation and Analysis (요구사항 도출 및 분석)
- Requirements Discovery (요구사항 발견): 이해관계자와 상호작용하여 그들의 요구사항을 발견하는 과정. 도메인 요구사항도 이 단계에서 발견됨.
- Requirements Classification and Organization (요구사항 분류 및 조직화): 관련된 요구사항을 그룹화하고 일관된 클러스터로 조직화하는 과정
- Prioritization and Negotiation (우선순위 설정 및 협상): 요구사항의 우선순위를 정하고 요구사항 간의 충돌을 해결하는 과정
- Requirements Specification (요구사항 명세): 요구사항을 문서화하고 나선형 모델의 다음 단계로 입력하는 과정
- Requirements Specification (요구사항 명세): 사용자 및 시스템 요구사항을 요구사항 문서에 작성하는 과정
- 사용자 요구사항은 기술적 배경이 없는 최종 사용자와 고객이 이해할 수 있어야 함
- 시스템 요구사항은 더 자세한 요구사항이며 기술적 정보가 포함될 수 있음
- 요구사항은 시스템 개발 계약의 일부일 수 있음
- 요구사항은 시스템이 무엇을 해야 하는지를 명시하고, 설계는 그것을 어떻게 구현할지를 설명해야 함
- 실제로는 요구사항과 설계가 분리되지 않고 긴밀하게 연관됨
- Requirements Validation (요구사항 검증): 요구사항이 고객이 원하는 시스템을 제대로 정의하는지 확인하는 과정
- Requirements Checking (요구사항 검토)
- Validity (유효성: 시스템이 고객의 요구를 가장 잘 지원하는 기능을 제공하는가?)
- Consistency (일관성: 요구사항 간에 충돌이 없는가?)
- Completeness (완전성: 고객이 요구한 모든 기능이 포함되어 있는가?)
- Realism (현실성: 주어진 예산과 기술로 요구사항을 구현할 수 있는가?)
- Verifiability (검증 가능성: 요구사항을 확인할 수 있는가?)
- Requirements Checking (요구사항 검토)
- Requirements Change Management (요구사항 변경 관리): 요구사항이 변경되는 것을 관리하는 ( 변경을 수락할지 여부를 결정하는) 과정. 요구공학 프로세스와 시스템 개발 중, 그리고 시스템이 납품된 이후에도 진행됨.
- 개별 요구사항을 추적하고, 의존하는 요구사항 간의 연결을 유지하여 요구사항 변경의 영향을 평가할 수 있어야 함
- 변경 제안서를 작성하고 이를 시스템 요구사항과 연계하는 공식적인 프로세스를 확립해야 함
- 요구사항 변경 관리 도구가 시스템 개발 과정에서 요구사항이 코드와 테스트 케이스까지 어떻게 연결되는지를 추적하는 기능을 제공함
- CTIP (Continuous Testing and Integration Platform: 지속적 테스트 및 통합 플랫폼)이 유용하게 사용됨
'전공 공부 > 소프트웨어공학' 카테고리의 다른 글
[소프트웨어공학] Requirement, Goal (1) | 2024.10.18 |
---|---|
[소프트웨어공학] CMMI (능력 성숙도 모델) (1) | 2024.10.17 |
[소프트웨어공학] 소프트웨어 V&V (검증 및 확인) (0) | 2024.10.17 |
[소프트웨어공학] 절차지향, 객체지향 (0) | 2024.10.17 |
[소프트웨어공학] DevOps, XP (eXtreme Programming) (0) | 2024.10.17 |