맨위로가기

ISO/IEC 12207

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

ISO/IEC 12207은 소프트웨어의 생명 주기 프로세스를 정의하는 국제 표준이다. 1995년에 최초 발행된 이후 여러 차례 개정을 거쳐, 2017년에는 ISO/IEC/IEEE 12207:2017이 최신 버전으로 발행되었다. 이 표준은 소프트웨어 개발 및 유지보수와 관련된 다양한 이해 관계자 간의 의사소통을 원활하게 하기 위해 공통의 구조를 제공하며, 획득, 공급, 개발, 운영, 유지보수 등 4개의 주요 프로세스 그룹으로 구성된다. ISO/IEC 12207은 특정 소프트웨어 수명 주기 모델을 규정하지 않고, 소프트웨어 수명 주기를 관리하기 위한 일련의 프로세스를 정의하며, 모듈성과 유연성을 갖춰 필요한 부분만 선택하여 적용할 수 있다. 이 표준은 "전체 적합성" 또는 "맞춤형 적합성"을 통해 준수할 수 있다.

더 읽어볼만한 페이지

  • 소프트웨어 개발 프로세스 - 버전 관리
    버전 관리는 파일 변경 이력을 체계적으로 관리하는 시스템이며, 다양한 구조와 소스 관리 모델을 통해 협업을 지원하고, 비즈니스 등 다양한 분야에서 활용된다.
  • 소프트웨어 개발 프로세스 - 소프트웨어 개발 수명 주기
    소프트웨어 개발 수명 주기(SDLC)는 시스템 설계자와 개발자가 따르는 일련의 단계로, 예비 분석부터 폐기까지 여러 단계를 거치며, 폭포수 모델, 시스템 분석 및 설계(SAD), 객체 지향 분석 및 설계(OOAD) 등 다양한 방법론을 포함한다.
  • ISO/IEC 표준 - 프로젝트 관리
    프로젝트 관리는 제한된 자원 내에서 특정 목표를 달성하기 위해 상호 연관된 작업들을 계획, 실행, 모니터링 및 종료하는 일시적인 활동으로, 범위, 시간, 비용, 품질, 리스크 관리가 중요하며, 프로젝트 관리자는 표준 및 방법론을 활용하여 프로젝트의 성공을 책임진다.
  • ISO/IEC 표준 - ISO/IEC 646
    ISO/IEC 646는 ASCII 기반의 7비트 문자 인코딩 표준으로, 국가별 변형이 존재했으나, 최종 개정판은 ASCII와 호환되도록 정의되었고, 현재는 ITU-T 권고 T.50 IRA가 현행 표준으로 유지되고 있다.
  • ISO 표준 - 국제 표준화 기구
    국제 표준화 기구(ISO)는 167개국 국가 표준 기구를 회원으로 둔 비정부 기구로서, 상품 및 서비스 관련 국제 표준을 제정하며, 국제전기기술위원회(IEC)와 협력하고 대한민국은 기술표준원을 통해 정회원으로 활동한다.
  • ISO 표준 - ISO 3166-1
    ISO 3166-1은 국가 식별을 위한 국제 표준으로 숫자 코드, 알파벳 두 글자(alpha-2), 세 글자(alpha-3) 코드 시스템을 제공하며, 유엔의 통계적 분류와 정치적 상황을 고려하여 코드가 할당되고 필요에 따라 업데이트된다.
ISO/IEC 12207
개요
이름ISO/IEC/IEEE 12207
원래 이름ISO/IEC 12207
종류국제 표준
분야소프트웨어 공학
관리 기관국제 표준화 기구(ISO), 국제전기기술위원회(IEC), 전기 전자 기술자 협회(IEEE)
상태발행됨
2017
이전 판ISO/IEC 12207:2008
대체 표준ISO/IEC/IEEE 15288
상세 정보
설명소프트웨어 수명 주기 프로세스를 다루는 표준

2. 역사적 배경

ISO/IEC 12207 표준은 소프트웨어 생명 주기 프로세스에 대한 국제 표준으로, 여러 차례의 개정을 거쳐 발전해 왔다.

ISO/IEC/IEEE 12207 개정 이력
명칭발행 연도대응 JIS비고
[https://www.iso.org/standard/21208.html ISO/IEC 12207:1995]1995-07최초 버전
[https://www.iso.org/standard/35263.html ISO/IEC 12207:1995/AMD 1:2002]2002-05
[https://www.iso.org/standard/40183.html ISO/IEC 12207:1995/AMD 2:2004]2004-11
[https://www.iso.org/standard/43447.html ISO/IEC 12207:2008]2008-02JIS X 0160:2012
[https://www.iso.org/standard/63712.html ISO/IEC/IEEE 12207:2017]2017-11JIS X 0160:2021IEEE 컴퓨터 학회 참여, ISO/IEC 15288과 통합



표준의 최신 버전은 2017년 11월에 발행된 ISO/IEC/IEEE 12207:2017이다.[1] 이 버전에서는 IEEE 컴퓨터 학회가 편집 과정에 참여하여 ISO/IEC 15288 프로세스 모델과 통합되었다.[1] 그 결과, 프로세스 수가 줄고, 품질 관리품질 보증 프로세스 등에 변화가 있었다.[2][3][4]

IEEE는 독자적인 12207 버전을 유지하다가, 2008년부터 ISO/IEC JTC 1/SC 7과 협력하여 표준을 통합하였다.[12] 또한, 1998년에는 IEEE/EIA 12207이 미국 국방부MIL-STD-498을 대체하기도 했다.[9][11]

2. 1. 초기 버전 (1995)

1995년 7월에 최초 버전인 ISO/IEC 12207:1995가 발행되었다.[1] 초기 버전은 획득, 공급, 개발, 운영, 유지보수의 5가지 주요 프로세스와 8개의 지원 프로세스, 4개의 조직 라이프 사이클 프로세스로 구성되었다.

2. 2. IEEE 버전 (1996-2008)

IEEE는 자체적으로 ISO/IEC 12207 버전을 유지했으며, 초기에는 EIA과 공동으로 수정 작업을 거쳤다.[10][11][12] 2008년 업데이트와 함께 "ISO/IEC JTC 1/SC 7과 IEEE가 각 표준 모음을 조화시키기 위한 공유 전략"이 나와 이후 동일한 표준이 적용되었지만, 이름은 약간 달랐다.[12]

해당 IEEE 버전은 다음과 같다.

  • IEEE Std. 12207-2008: "ISO/IEC 12207:1995를 두 번의 수정 사항과 통합했으며, ISO/IEC 15288:2002(시스템 생명 주기 프로세스)의 병렬 개정과 조정하여 구조, 용어 및 관련 조직 및 프로젝트 프로세스를 일치시켰다.";[13] ISO/IEC/IEEE 12207:2017로 대체됨
  • IEEE/EIA 12207.2-1997: "IEEE/EIA 12207.0의 규범적 조항에 대한 구현 고려 사항 지침을 제공한다.";[14] IEEE Std. 12207-2008에 의해 대체/사용 중단되었으며, 이후 ISO/IEC/IEEE 12207:2017로 대체됨
  • IEEE/EIA 12207.1-1997: "IEEE/EIA 12207.0의 생명 주기 프로세스에서 발생하는 생명 주기 데이터 기록에 대한 지침을 제공한다.";[15] ISO/IEC/IEEE 15289:2011에 의해 대체되었으며, 이후 ISO/IEC/IEEE 15289:2017로 대체됨
  • IEEE/EIA 12207.0-1996: "IEEE와 EIA이 두 조직의 공동 프로젝트에서 공식화한 [산업 구현을 위한 ISO/IEC 12207:1995에 대한] 명확화, 추가 및 변경 사항으로 구성된다.";[10] IEEE Std. 12207-2008에 의해 대체되었으며, 이후 ISO/IEC/IEEE 12207:2017로 대체됨


또한 IEEE/EIA 12207은 1998년 5월 27일 DoD 소프트웨어 시스템 개발을 위해 공식적으로 MIL-STD-498 (1994년 12월 출시)[11]를 대체했다.[9][11]

2. 3. 개정 및 통합 버전 (2002-현재)

ISO/IEC/IEEE 12207:2017은 2017년 11월에 발행된 최신 버전이다.[1] 이 버전을 편집할 때 IEEE 컴퓨터 학회가 ISO/IEC JTC 1/SC 7/WG 7에 직접 참여했다. 중요한 변화는 ISO/IEC/IEEE 15288:2015 프로세스 모델과 동일한 프로세스 모델을 채택했다는 것이다(15288의 "시스템 요구사항 정의" 프로세스가 "시스템/소프트웨어 요구사항 정의" 프로세스로 이름이 변경되었다). 이 두 표준을 통일하면서 별도의 소프트웨어 개발 및 소프트웨어 재사용 프로세스가 없어졌고, 12207의 총 43개 프로세스 수가 15288에 정의된 30개 프로세스로 줄었다. 또한 품질 관리품질 보증 프로세스 활동과 결과에도 변화가 있었다. 그리고 "감사"와 관련된 감사 활동에 대한 정의가 업데이트되었다.[2][3][4] ISO/IEC/IEEE 12207:2017의 부록 I은 2017년 버전과 이전 버전 간의 프로세스 매핑을 제공하며, 두 버전 간의 주요 프로세스 정렬을 포함한다. 이는 추적성을 확보하고 이전 버전 사용자가 쉽게 전환할 수 있도록 돕는다.

이전 버전은 다음과 같다.

  • ISO/IEC 12207:2008, 2008년 2월에 발행됨[5]
  • ISO/IEC 12207:1995/Amd 2:2004, 2004년 11월에 발행됨[6]
  • ISO/IEC 12207:1995/Amd 1:2002, 2002년 5월에 발행됨[7]


ISO/IEC/IEEE 12207의 개정 이력은 다음과 같다.

표. 개정 이력
명칭발행 연도대응 JIS
[https://www.iso.org/standard/63712.html ISO/IEC/IEEE 12207:2017 Systems and software engineering — Software life cycle processes]2017-11JIS X 0160:2021
[https://www.iso.org/standard/43447.html ISO/IEC 12207:2008 Systems and software engineering — Software life cycle processes]2008-02JIS X 0160:2012
[https://www.iso.org/standard/40183.html ISO/IEC 12207:1995/AMD 2:2004 Information technology — Software life cycle processes — Amendment 2]2004-11
[https://www.iso.org/standard/35263.html ISO/IEC 12207:1995/AMD 1:2002 Information technology — Software life cycle processes — Amendment 1]2002-05


3. 주요 특징

ISO/IEC/IEEE 12207 표준은 소프트웨어 수명 주기를 관리하기 위한 프로세스들을 정의하며, 시스템 서비스 획득 및 구성 관련 활동도 포함한다. 이 표준은 23개 프로세스, 95개 활동, 325개 태스크, 224개 출력(성과물)을 정의한다.

이 표준은 특정 단계 집합을 규정하지 않지만, ISO/IEC TS 24748-1의 시스템 수명 주기 단계(개념, 개발, 생산, 활용, 지원, 폐기)나 소프트웨어의 일반적인 단계(개념 탐색, 개발, 유지 관리, 폐기)를 예시로 든다. 수명 주기 프로세스는 특정 단계에 얽매이지 않으며, 계획, 수행, 평가는 "모든 단계에서 고려해야 한다".

프로세스는 다음 세 가지로 분류된다.

기본 프로세스지원 프로세스조직 프로세스



이 표준은 각 프로세스의 신뢰성을 확립하고, 프로젝트에 여러 사람이 참여할 수 있도록 돕는다.

3. 1. 프로세스 중심 접근

표준은 특정 소프트웨어 수명 주기 모델, 개발 방법론, 방법, 모델링 접근 방식 또는 기법을 규정하지 않는다.[1] 대신, 소프트웨어 수명 주기를 관리하기 위한 일련의 프로세스를 정의한다. "단계"와 "프로세스"를 구별하는데, 단계는 수명 주기 내의 기간을, 프로세스는 입력을 출력으로 변환하는 상호 관련된 활동 집합으로 정의한다. 프로세스는 모든 단계에서 필요할 때마다 발생한다.

3. 2. 모듈성 및 유연성

이 표준은 유연하고 모듈성을 갖춘 구조를 제공하여, 필요한 사람이 필요한 부분만 채택할 수 있도록 되어 있다. 이 표준의 두 가지 기본 원칙은 모듈성과 신뢰성이다. 모듈성이란 정의된 프로세스 간의 결합도가 최소이고 응집도가 최대가 되도록 하는 것을 의미한다.

3. 3. 공통 언어 제공

이 표준의 주요 목적은 소프트웨어 개발 및 유지보수와 관련된 다양한 이해 관계자(구매자, 제공자, 개발자, 유지보수자, 운영자, 관리자, 기술자)에게 공통의 구조를 제공하여 상호 간의 의사소통을 원활하게 하는 것이다. 이러한 공통 언어는 잘 정의된 프로세스를 통해 확립된다.

4. 프로세스 구성

ISO/IEC/IEEE 12207 표준은 소프트웨어 생명 주기 프로세스를 정의하며, 각 프로세스는 그 출력을 명확히 정의해야 한다. 이 표준은 23가지 프로세스, 95가지 활동, 325가지 태스크, 그리고 224가지 출력(성과물)을 정의하고 있다.[1][4]

이 표준의 주요 목적은 소프트웨어 개발 및 유지보수와 관련된 다양한 이해 관계자(구매자, 제공자, 개발자, 유지보수자, 운영자, 관리자, 기술자)에게 공통의 구조를 제공하여 상호 간의 의사소통을 원활하게 하는 것이다. 이러한 공통 언어는 잘 정의된 프로세스를 통해 확립된다.

표준 자체는 유연하고 모듈화되어 있어, 필요한 사람이 필요한 부분만 채택할 수 있도록 설계되었다. 표준의 두 가지 기본 원칙은 모듈성과 신뢰성이다. 모듈성은 정의된 프로세스 간의 결합도를 최소화하고 응집도를 최대화하는 것을 의미한다. 신뢰성은 각 프로세스의 신뢰성을 확립하고, 표준을 적용한 프로젝트에 많은 사람들이 법적으로 참여할 수 있도록 하는 것이다.

프로세스는 기본, 지원, 조직 프로세스로 분류된다.

4. 1. 프로세스 그룹

표준은 소프트웨어 생명 주기 프로세스를 4개의 주요 프로세스 그룹으로 나눈다. 4개의 프로세스 그룹은 다음과 같다.[1][4]

  • 합의
  • 조직 프로젝트 지원
  • 기술 관리
  • 기술


각 프로세스 그룹에는 획득 및 공급(합의), 구성(기술 관리), 운영, 유지 보수 및 폐기(기술)와 같은 다양한 하위 범주가 있다.[1][16]

프로세스는 다음과 같이 3가지 종류로 분류된다.

  • 기본 프로세스: 획득 프로세스(발주 프로세스), 제공 프로세스, 개발 프로세스, 운영 프로세스, 유지보수 프로세스
  • 지원 프로세스: 문서화 프로세스, 형상 관리 프로세스, 품질 보증 프로세스, 검증 프로세스, 평가 프로세스, 합동 검토 프로세스, 보고 프로세스, 문제 해결 프로세스
  • 조직 프로세스: 관리 프로세스, 기반 프로세스, 개선 프로세스, 훈련 프로세스

4. 2. 주요 프로세스 (예시)

ISO/IEC 12207 표준은 소프트웨어의 개발 및 유지보수와 관련된 다양한 이해 관계자 간의 의사소통을 원활하게 하기 위해 공통의 구조를 제공한다. 이 표준은 프로세스를 통해 공통 언어를 확립하며, 유연하고 모듈화된 구조를 갖추고 있어 필요한 부분만 채택할 수 있다.

표준에 정의된 프로세스는 세 가지 주요 그룹으로 분류된다.

프로세스 그룹설명세부 프로세스
기본 프로세스소프트웨어 생명 주기의 핵심적인 활동획득, 제공, 개발, 운영, 유지보수 프로세스
지원 프로세스기본 프로세스를 지원하고 품질을 보장하는 활동문서화, 형상 관리, 품질 보증, 검증, 평가, 합동 검토, 보고, 문제 해결 프로세스
조직 프로세스조직 차원에서 프로세스를 관리하고 개선하는 활동관리, 기반, 개선, 훈련 프로세스


4. 2. 1. 합의 프로세스

ISO/IEC/IEEE 12207:2017은 조달 및 공급 프로세스를 포함하며,[1][2][16] 이는 공급자와 획득자 간의 계약을 설정하는 것과 관련된 활동이다. 획득은 프로젝트를 시작하는 데 관련된 모든 활동을 포괄하며, 획득 단계는 시간 순으로 완료되는 다양한 활동 및 결과물로 나눌 수 있다. 공급 단계 동안에는 도달해야 하는 다양한 이정표와 같은 프로젝트에 대한 정보가 포함된 프로젝트 계획이 개발된다.

4. 2. 2. 조직 프로젝트 지원 프로세스

생명 주기 모델 관리, 인프라 관리, 포트폴리오 관리, 인적 자원 관리, 품질 관리, 지식 관리 프로세스에 대한 자세한 설명이다.[1][2][16] 이러한 프로세스는 기업이나 조직이 시스템 생명 주기와 관련 프로젝트를 활성화, 제어, 지원하는 데 도움이 된다. 생명 주기 모델 관리는 획득 및 공급 노력을 지원하며, 인프라 및 포트폴리오 관리는 전체 시스템 생명 주기 동안 비즈니스 및 프로젝트별 이니셔티브를 지원한다. 나머지는 비즈니스의 프로젝트와 시스템 노력을 지원하기 위해 필요한 자원과 품질 관리가 이루어지도록 한다. 조직에 적절한 조직 프로세스 세트가 없으면, 조직에서 실행되는 프로젝트는 해당 프로세스를 프로젝트에 직접 적용할 수 있다.[1]

4. 2. 3. 기술 관리 프로세스

ISO/IEC/IEEE 12207:2017은 다음 8가지 프로세스를 포함한다.[1][2][16]

이러한 프로세스는 소프트웨어 및 기타 프로젝트의 수명 주기 동안 계획, 평가 및 관리를 다루며, 그 과정에서 품질을 보장한다.

4. 2. 4. 기술 프로세스

ISO/IEC/IEEE 12207:2017의 기술 프로세스는 14가지 서로 다른 프로세스를 포함하며,[1][2][16] 이 중 일부는 2008년 버전에서 폐지된 이전의 소프트웨어 관련 프로세스에서 비롯되었다.[2]

목록은 다음과 같다.[1][2][16]

  • 비즈니스 또는 미션 분석
  • 이해관계자 요구 사항 정의
  • 시스템/소프트웨어 요구 사항 정의
  • 아키텍처 정의
  • 설계 정의
  • 시스템 분석
  • 구현
  • 통합
  • 검증
  • 전환
  • 유효성 검사
  • 운영
  • 유지보수
  • 폐기


이러한 프로세스는 운영 전, 후 및 운영 중에 기술 활동과 인력(정보기술, 문제 해결사, 소프트웨어 전문가 등)을 포함한다. 초기 분석 및 정의 프로세스는 소프트웨어 및 프로젝트 구현 방식의 토대를 마련한다. 통합, 검증, 전환 및 유효성 검사의 추가 프로세스는 품질과 준비성을 보장하는 데 도움이 된다. 운영 및 유지보수 단계는 동시에 발생하며, 운영 단계는 사용자가 구현된 소프트웨어 제품을 사용하는 것을 지원하고, 유지보수 단계는 제품을 계속 가동시키는 유지보수 작업으로 구성된다. 폐기 프로세스는 필요에 따라 시스템/프로젝트가 어떻게 폐기되고 정리될 것인지 설명한다.[1]

5. 적합성

ISO/IEC 12207 표준 준수는 "전체 적합성" 또는 "맞춤형 적합성"으로 가능하다. 전체 적합성은 작업이나 결과에 대한 전체 적합성을 주장할 수 있으며, 맞춤형 적합성은 문서에 정의된 맞춤화 프로세스를 통해 특정 조항을 선택하거나 수정하여 선언할 수 있다.[1]

5. 1. 전체 적합성

선언된 프로세스의 활동 및 작업의 모든 요구 사항을 충족하는 경우 "작업에 대한 전체 적합성"을 주장할 수 있다. 선언된 프로세스의 모든 필수 결과가 충족되면 "결과에 대한 전체 적합성"을 주장할 수 있다.[1]

5. 2. 맞춤형 적합성

문서에 정의된 맞춤화 프로세스를 통해 특정 조항을 선택하거나 수정하는 경우 "맞춤형 적합성"을 선언할 수 있다.[4]

참조

[1] 웹사이트 ISO/IEC/IEEE 12207:2017 https://www.iso.org/[...] International Organization for Standardization 2017-11
[2] 웹사이트 New or Improved! Software Engineering Standards for Quality http://asq509.org/ht[...] American Society for Quality 2017-06-27
[3] 웹사이트 ISO/IEC 12207 Updated and Renumbered as ISO/IEC/IEEE 12207 http://standardsforu[...] Document Center, Inc 2017-12-12
[4] 웹사이트 INCITS/SSE - Software and Systems Engineering Annual Report - April 2017 to March 2018 http://www.incits.or[...] INCITS 2018-03
[5] 웹사이트 ISO/IEC 12207:2008 https://www.iso.org/[...] International Organization for Standardization 2008-02
[6] 웹사이트 ISO/IEC 12207:1995/Amd 2:2004 https://www.iso.org/[...] International Organization for Standardization 2004-11
[7] 웹사이트 ISO/IEC 12207:1995/Amd 1:2002 https://www.iso.org/[...] International Organization for Standardization 2002-05
[8] 웹사이트 ISO/IEC 12207:1995 https://www.iso.org/[...] International Organization for Standardization 1995-07
[9] 웹사이트 Overview of IEEE/EIA 12207: Standard for Information Technology http://sepo.spawar.n[...] SSC San Diego Process Asset Library 1998-07-30
[10] 웹사이트 IEEE 12207.0-1996 - Standard for Information Technology - Software Life Cycle Processes https://standards.ie[...] IEEE Standards Association 1998-03
[11] 웹사이트 ISO/IEC 12207:2008, IEEE Std 12207-2008 Systems and Software Engineering — Software Life Cycle Processes https://pdfs.semanti[...] 2009-12-07
[12] 웹사이트 1SO/IEC 12207:2008(en) Systems and software engineering — Software life cycle processes: IEEE Introduction https://www.iso.org/[...] International Organization for Standardization 2008-02
[13] 웹사이트 IEEE Std. 12207-2008 - Systems and software engineering -- Software life cycle processes https://standards.ie[...] IEEE Standards Association 2008-01
[14] 웹사이트 IEEE 12207.2-1997 - Guide for Information Technology - Software Life Cycle Processes - Implementation Considerations https://standards.ie[...] IEEE Standards Association 1998-04
[15] 웹사이트 IEEE 12207.1-1997 - Guide for Information Technology - Software Life Cycle Processes - Life Cycle Data https://standards.ie[...] IEEE Standards Association 1998-04
[16] 웹사이트 Proceso: Ingeniería de Software I https://repositorio.[...] Universidad de Salamanca 2017



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com