요구 공학: Difference between revisions

From IT Wiki
(새 문서: ;Requirements engineering, RE == 요구 공학의 필요성 == # 요구사항 도출의 어려움 #* 도메인에 대한 이해 부족 #* 의사소통에 관한 일반적인 문제 #...)
 
(요구사항 개발 프로세스 분석 영어 수정)
 
(12 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[분류:소프트웨어 공학]]
[[분류:프로젝트 관리]]
;Requirements engineering, RE
;Requirements engineering, RE
;시스템 요구사항 문서를 생성, 검증, 관리하기 위하여 수행되는 구조화된 활동의 집합
==요구 공학의 필요성==
{| class="wikitable"
|-
!문제점!!설명!!해소 방안
|-
|요구사항 도출의 어려움
||
*도메인에 대한 이해 부족
*의사소통에 관한 일반적인 문제
||[[시나리오 기법]], [[유즈케이스]], [[프로토타이핑]]
|-
|요구사항과 기대의 차이
||
*묵시적인 요구사항
*기능/비기능 요구사항
||최소 구비조건, 요구사항 명세서, [[SLA]]
|-
|요구사항 변화관리의 어려움
||
*무분별한 요구사항 변경
*변경 추적 및 대응 체계 필요
||CCB, 요구사항 추적표
|}
== 요구공학 레퍼런스 ==
{| class="wikitable"
!문헌
!레퍼런스
!주요 내용
|-
|[[PMBOK]]
|
* 범위 관리 - 요구사항 수집
|
* 요구사항 수집 도구 및 기법, 산출물
|-
|[[CMM]]
|
* Level 2 PA
* Level 3 PA
|
* 요구사항 개발
* 요구사항 관리
|-
|[[SWEBOK|SEBOK]]
|
* 요구사항 개발
|
* 요구사항 개발 프로세스
|}
==요구사항 개발 절차 및 구성(CMM 기준)==
[[파일:요구공학.png]]
===요구사항 개발 절차===
{| class="wikitable"
|-
!절차!!세부 내용
|-
|타당성 조사
||
*시스템 개발 프로세스 진행이 충분히 가치있는지 조사
|-
|요구사항 추출 및 분석
||
*비즈니스/사용자 요구사항 도출
*요구사항 타당성 분석
|-
|요구사항 명세화
||
*요구사항 상세화/구체화
*요구사항 상호 협의
|-
|요구사항 검증
||
*요구사항이 정확하고 필요한 내용을 포괄하는지 확인
*리뷰, 프로토타입, 테스트케이스, 시나리오 등 활용
|}
===요구사항 관리===
{| class="wikitable"
|-
!관리 항목!!설명
|-
|요구사항 협상||수용가능한 수준에서 구현 가능한 범위 협상
|-
|요구사항 기준선||공식적으로 검토되고 합의된 명세서
|-
|요구사항 변경관리||기준선을 기반으로 변경 통제
|-
|요구사항 확인 및 검증||구축된 시스템과 이해관계자의 요구에 부합되는지 확인
|}
== 요구사항 개발 프로세스(SWEBOK 기준) ==
{| class="wikitable"
!프로세스 단계
!설명
|-
|요구사항 도출
(Elicitation)
|
* 요구사항 소스(Require Source)
* 도출기법(Elicitation Technique)
|-
|분석
(Analysis)
|
* 요구사항 분류(Classification)
* 개념 모델링(Conceptual Modeling)
* 기술 구조 설계 및 요구사항 할당(Architectural design & Requirement allocation)
|-
|명세
(Specification)
|
* 시스템 정의서(System Definition Document)
* 시스템 요구사항 명세서(System Requirement Specification)
* 소프트웨어 요구사항 명세서(Software Requirement Specification)
|-
|확인
(Validation)
|
* 검토(Review)
* 프로토타이핑(Prototyping)
* 모델검증(Model Verification)
* 인수 테스트(Acceptance Test)
|-
|요구사항 관리
(Management)
|
* 요구사항 도출, 분석, 명세, 확인단계에서의 모든 요구사항 개발 프로세스의 주요 이슈 관리
|}
<br />
==요구사항의 분류==
{| class="wikitable"
!구분
!내용
|-
|비즈니스
요구사항
|
*왜(Why)에 해당하는 정보
*발주기관에서 프로젝트를 추진하는 배경
*시스템을 개발함으로써 얻어지는 효과
|-
|사용자
요구사항
|
*무엇(What)에 해당하는 정보
*시스템을 통하여 달성되는 "무엇"을 설명
*발주기관 현업에서 수행하려는 시스템
|-
|기능
요구사항
|
*개발해야 하는 기술 행위 요구사항(Behavior Requirements)
*시스템이 수행해야 하거나 시스템을 이용해 발주기관에서 할 수 있어야 하는 것들
|}
==[[제안 요청서]]==


== 요구 공학의 필요성 ==
==[[요구사항 명세서]]==
# 요구사항 도출의 어려움
#* 도메인에 대한 이해 부족
#* 의사소통에 관한 일반적인 문제
#* 방안: [[시나리오 기법]], [[유즈케이스]], [[프로토타이핑]]
# 요구사항과 기대의 차이
#* 묵시적인 요구사항
#* 기능/비기능 요구사항
#* 방안: 최고 구비조건, 요구사항 명세서, SLA
# 요구사항 변화관리의 어려움
#* 무분별한 요구사항 변경
#* 변경 추적 및 대응 체계 필요
#* 방안: CCB, 요구사항 추적표


== 요구사항 개발 절차 ==
==같이 보기==
# 요구사항 유도
#* 비즈니스 요구사항 도출
#* 사용자 요구사항 도출
# 요구사항 분석
#* 요구사항 상세화/구체화
#* 요구사항 타당성 분석
# 요구사항 정의(문서화)
#* 요구사항 모델링
#* 요구사항 체계적 분류, 정리
# 요구사항 검증/확인
#* 요구사항 결정·합의·확정


== 요구사항 관리 ==
*[[소프트웨어 공학]]
# 요구사항 관리 계획 수립
*[[제안요청서]]
# 요구사항 변경 관리
*[[요구사항 표현법]]
# 요구사항 추적 관리
*[[요구사항 추적성 매트릭스]]
# 요구사항 일치화
*[[요구사항 명세서]]

Latest revision as of 01:21, 14 February 2024


Requirements engineering, RE
시스템 요구사항 문서를 생성, 검증, 관리하기 위하여 수행되는 구조화된 활동의 집합

요구 공학의 필요성[edit | edit source]

문제점 설명 해소 방안
요구사항 도출의 어려움
  • 도메인에 대한 이해 부족
  • 의사소통에 관한 일반적인 문제
시나리오 기법, 유즈케이스, 프로토타이핑
요구사항과 기대의 차이
  • 묵시적인 요구사항
  • 기능/비기능 요구사항
최소 구비조건, 요구사항 명세서, SLA
요구사항 변화관리의 어려움
  • 무분별한 요구사항 변경
  • 변경 추적 및 대응 체계 필요
CCB, 요구사항 추적표

요구공학 레퍼런스[edit | edit source]

문헌 레퍼런스 주요 내용
PMBOK
  • 범위 관리 - 요구사항 수집
  • 요구사항 수집 도구 및 기법, 산출물
CMM
  • Level 2 PA
  • Level 3 PA
  • 요구사항 개발
  • 요구사항 관리
SEBOK
  • 요구사항 개발
  • 요구사항 개발 프로세스

요구사항 개발 절차 및 구성(CMM 기준)[edit | edit source]

요구공학.png

요구사항 개발 절차[edit | edit source]

절차 세부 내용
타당성 조사
  • 시스템 개발 프로세스 진행이 충분히 가치있는지 조사
요구사항 추출 및 분석
  • 비즈니스/사용자 요구사항 도출
  • 요구사항 타당성 분석
요구사항 명세화
  • 요구사항 상세화/구체화
  • 요구사항 상호 협의
요구사항 검증
  • 요구사항이 정확하고 필요한 내용을 포괄하는지 확인
  • 리뷰, 프로토타입, 테스트케이스, 시나리오 등 활용

요구사항 관리[edit | edit source]

관리 항목 설명
요구사항 협상 수용가능한 수준에서 구현 가능한 범위 협상
요구사항 기준선 공식적으로 검토되고 합의된 명세서
요구사항 변경관리 기준선을 기반으로 변경 통제
요구사항 확인 및 검증 구축된 시스템과 이해관계자의 요구에 부합되는지 확인

요구사항 개발 프로세스(SWEBOK 기준)[edit | edit source]

프로세스 단계 설명
요구사항 도출

(Elicitation)

  • 요구사항 소스(Require Source)
  • 도출기법(Elicitation Technique)
분석

(Analysis)

  • 요구사항 분류(Classification)
  • 개념 모델링(Conceptual Modeling)
  • 기술 구조 설계 및 요구사항 할당(Architectural design & Requirement allocation)
명세

(Specification)

  • 시스템 정의서(System Definition Document)
  • 시스템 요구사항 명세서(System Requirement Specification)
  • 소프트웨어 요구사항 명세서(Software Requirement Specification)
확인

(Validation)

  • 검토(Review)
  • 프로토타이핑(Prototyping)
  • 모델검증(Model Verification)
  • 인수 테스트(Acceptance Test)
요구사항 관리

(Management)

  • 요구사항 도출, 분석, 명세, 확인단계에서의 모든 요구사항 개발 프로세스의 주요 이슈 관리


요구사항의 분류[edit | edit source]

구분 내용
비즈니스

요구사항

  • 왜(Why)에 해당하는 정보
  • 발주기관에서 프로젝트를 추진하는 배경
  • 시스템을 개발함으로써 얻어지는 효과
사용자

요구사항

  • 무엇(What)에 해당하는 정보
  • 시스템을 통하여 달성되는 "무엇"을 설명
  • 발주기관 현업에서 수행하려는 시스템
기능

요구사항

  • 개발해야 하는 기술 행위 요구사항(Behavior Requirements)
  • 시스템이 수행해야 하거나 시스템을 이용해 발주기관에서 할 수 있어야 하는 것들

제안 요청서[edit | edit source]

요구사항 명세서[edit | edit source]

같이 보기[edit | edit source]