요구 공학: Difference between revisions

From CS Wiki
(요구사항 개발 프로세스 분석 영어 수정)
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[분류:소프트웨어 공학]][[분류:프로젝트 관리]]
[[분류:소프트웨어 공학]]
[[분류:프로젝트 관리]]
 
;Requirements engineering, RE
;Requirements engineering, RE
;시스템 요구사항 문서를 생성, 검증, 관리하기 위하여 수행되는 구조화된 활동의 집합
;시스템 요구사항 문서를 생성, 검증, 관리하기 위하여 수행되는 구조화된 활동의 집합


== 요구 공학의 필요성 ==
==요구 공학의 필요성==
{| class="wikitable"
{| class="wikitable"
|-
|-
! 문제점 !! 설명 !! 해소 방안
!문제점!!설명!!해소 방안
|-
|-
| 요구사항 도출의 어려움  
|요구사항 도출의 어려움
||
||
* 도메인에 대한 이해 부족
*도메인에 대한 이해 부족
* 의사소통에 관한 일반적인 문제
*의사소통에 관한 일반적인 문제
|| [[시나리오 기법]], [[유즈케이스]], [[프로토타이핑]]
||[[시나리오 기법]], [[유즈케이스]], [[프로토타이핑]]
|-
|-
| 요구사항과 기대의 차이
|요구사항과 기대의 차이
||
||
* 묵시적인 요구사항
*묵시적인 요구사항
* 기능/비기능 요구사항
*기능/비기능 요구사항
|| 최소 구비조건, 요구사항 명세서, [[SLA]]
||최소 구비조건, 요구사항 명세서, [[SLA]]
|-
|-
| 요구사항 변화관리의 어려움  
|요구사항 변화관리의 어려움
||
||
* 무분별한 요구사항 변경
*무분별한 요구사항 변경
* 변경 추적 및 대응 체계 필요
*변경 추적 및 대응 체계 필요
|| CCB, 요구사항 추적표
||CCB, 요구사항 추적표
|}
 
== 요구공학 레퍼런스 ==
{| class="wikitable"
!문헌
!레퍼런스
!주요 내용
|-
|[[PMBOK]]
|
* 범위 관리 - 요구사항 수집
|
* 요구사항 수집 도구 및 기법, 산출물
|-
|[[CMM]]
|
* Level 2 PA
* Level 3 PA
|
* 요구사항 개발
* 요구사항 관리
|-
|[[SWEBOK|SEBOK]]
|
* 요구사항 개발
|
* 요구사항 개발 프로세스
|}
|}


== 요구사항 개발 절차 및 구성 ==
==요구사항 개발 절차 및 구성(CMM 기준)==
[[파일:요구공학.png]]
[[파일:요구공학.png]]
=== 요구사항 개발 절차 ===
===요구사항 개발 절차===
{| class="wikitable"
{| class="wikitable"
|-
|-
! 절차 !! 세부 내용
!절차!!세부 내용
|-
|-
| 타당성 조사  
|타당성 조사
||
||
* 시스템 개발 프로세스 진행이 충분히 가치있는지 조사
*시스템 개발 프로세스 진행이 충분히 가치있는지 조사
|-
|-
| 요구사항 추출 및 분석  
|요구사항 추출 및 분석
||  
||
* 비즈니스/사용자 요구사항 도출
*비즈니스/사용자 요구사항 도출
* 요구사항 타당성 분석
*요구사항 타당성 분석
|-
|-
| 요구사항 명세화
|요구사항 명세화
||
||
* 요구사항 상세화/구체화
*요구사항 상세화/구체화
* 요구사항 상호 협의
*요구사항 상호 협의
|-
|-
| 요구사항 검증
|요구사항 검증
||
||
* 요구사항이 정확하고 필요한 내용을 포괄하는지 확인
*요구사항이 정확하고 필요한 내용을 포괄하는지 확인
* 리뷰, 프로토타입, 테스트케이스, 시나리오 등 활용
*리뷰, 프로토타입, 테스트케이스, 시나리오 등 활용
|}
|}


=== 요구사항 관리 ===
===요구사항 관리===
{| 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"
{| class="wikitable"
! 구분
!구분
! 내용
!내용
|-
|-
| 비즈니스
|비즈니스
요구사항
요구사항
|
|
* 왜(Why)에 해당하는 정보
*왜(Why)에 해당하는 정보
* 발주기관에서 프로젝트를 추진하는 배경  
*발주기관에서 프로젝트를 추진하는 배경
* 시스템을 개발함으로써 얻어지는 효과
*시스템을 개발함으로써 얻어지는 효과
|-
|-
| 사용자
|사용자
요구사항
요구사항
|
|
* 무엇(What)에 해당하는 정보
*무엇(What)에 해당하는 정보
* 시스템을 통하여 달성되는 "무엇"을 설명
*시스템을 통하여 달성되는 "무엇"을 설명
* 발주기관 현업에서 수행하려는 시스템
*발주기관 현업에서 수행하려는 시스템
|-
|-
| 기능
|기능
요구사항
요구사항
|
|
* 개발해야 하는 기술 행위 요구사항(Behavior Requirements)
*개발해야 하는 기술 행위 요구사항(Behavior Requirements)
* 시스템이 수행해야 하거나 시스템을 이용해 발주기관에서 할 수 있어야 하는 것들
*시스템이 수행해야 하거나 시스템을 이용해 발주기관에서 할 수 있어야 하는 것들
|}
|}


== [[제안 요청서]] ==
==[[제안 요청서]]==
 
==[[요구사항 명세서]]==


== [[요구사항 명세서]] ==
==같이 보기==


== 같이 보기 ==
*[[소프트웨어 공학]]
* [[소프트웨어 공학]]
*[[제안요청서]]
* [[제안요청서]]
*[[요구사항 표현법]]
* [[요구사항 표현법]]
*[[요구사항 추적성 매트릭스]]
*[[요구사항 명세서]]

Latest revision as of 11:21, 13 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]