본문 바로가기
자격증/정보처리기사실기

소프트웨어 개발 표준

by J._.cobb 2022. 4. 29.

소프트웨어 개발 표준

  • 소프트웨어 개발 표준은 소프트웨어 개발 단계에서 수행하는 품질 관리에 사용되는 국제 표준을 의미한다.
  • 주요 소프트웨어 개발 표준
    • ISO/IEC 12207
    • CMMI(능력 성숙도 통합 모델)
    • SPICE(소프트웨어 처리 개선 및 능력 평가 기준)

ISO/IEC 12207

  • ISO/IEC 12207은 ISO(국제표준화기구)에서 만든 표준 소프트웨어 생명 주기 프로세스이다.
  • 소프트웨어의 개발, 운영, 유지보수 등을 체계적으로 관리하기 위한 소프트웨어 생명 주기 표준을 제공한다.
  • ISO/IEC 12207 구분
    • 기본 생명 주기 프로세스 : 획득, 공급, 개발, 운영, 유지보수 프로세스
    • 지원 생명 주기 프로세스 : 품질 보증, 검증, 확인, 활동 검토, 감사, 문서화, 형상 관리, 문제 해결 프로세스
    • 조직 생명 주기 프로세스 : 관리, 기반 구조, 훈련, 개선 프로세스

CMMI(Capability Maturity Model Integration)

  • CMMI는 소프트웨어 개발 조직의 업무 능력 및 조직의 성숙도를 평가하는 모델이다.
  • 미국 카네기멜론 대학교의 소프트웨어 공학연구소(SEI)에서 개발하였다.
  • CMMI의 소프트웨어 프로세스 성숙도
    • 초기(Initial)
      • 정의된 프로세스 없음
      • 작업자 능력에 따라 성공 여부 결정
    • 관리(Managed)
      • 규칙화된 프로세스
      • 특정한 프로젝트 내의 프로세스 정의 및 수행
    • 정의(Defined)
      • 표준화된 프로세스
      • 조직의 표준 프로세스를 활용하여 업무 수행
    • 정량적 관리(Quantitatively Managed)
      • 예측 가능한 프로세스
      • 프로젝트를 정량적으로 관리 및 통제
    • 최적화(Optimizing)
      • 지속적 개선 프로세스
      • 프로세스 역량 향상을 위해 지속적으로 프로세스 개선

SPICE(Software Process Improvement and Capability dEtermination)

  • SPICE는 정보 시스템 분야에서 소프트웨어의 품질 및 생산성 향상을 위해 소프트웨어 프로세스를 평가 및 개선하는 국제 표준이다.
  • 공식 명칭은 ISO/IEC 15504이다.

SPICE의 구성

  • 고객-공급자(Customer-Supplier) 프로세스
    • 소프트웨어를 개발하여 고객에게 전달하는 것을 지원하고, 소프트웨어의 정확한 운용 및 사용을 위한 프로세스로 구성됨
    • 구성 요소 : 인수, 공급, 요구 도출, 운영
    • 프로세스 수 : 10개
  • 공학(Engineering) 프로세스
    • 시스템과 소프트웨어 제품의 명세호, 구현, 유지보수를 하는데 사용되는 프로세스로 구성됨
    • 구성 요소 : 개발, 소프트웨어 유지보수
    • 프로세스 수 : 9개
  • 지원(Support) 프로세스
    • 소프트웨어 생명 주기에서 다른 프로세스에 의해 이용되는 프로세스로 구성됨
    • 구성 요소 : 문서화, 형상, 품질 보증, 검증, 확인, 리뷰, 감사, 품질 문제 해결
    • 프로세스 수 : 8개
  • 관리(Management) 프로세스
    • 소프트웨어 생명 주기에서 프로젝트 관리자에 의해 사용되는 프로세스로 구성됨
    • 구성 요소 : 관리, 프로젝트 관리, 품질 및 위험 관리
    • 프로세스 수 : 4개
  • 조직(Organization) 프로세스
    • 조직의 업무 목적 수립과 조직의 업무 목표 달성을 위한 프로세스로 구성됨
    • 구성 요소 : 조직 배치, 개선 활동 프로세스, 인력 관리, 기반 관리, 측정 도구, 재사용
    • 프로세스 수 : 9개

SPICE의 프로세스 수행 능력 단계

  • 불완전(Incomplete)
    • 프로세스가 구현되지 않았거나 목적을 달성하지 못한 단계
  • 수행(Performed)
    • 프로세스가 수행되고 목적이 달성된 계기
  • 관리(managed)
    • 정의된 자원의 한도 내에서 그 프로세스가 작업 산출물을 인도하는 단계
  • 확립(Established)
    • 소프트웨어 공학 원칙에 기반하여 정의된 프로세스가 수행되는 단계
  • 예측(Predictable)
    • 프로세스가 목적 달성을 위해 통제되고, 양적인 측정을 통해서 일관되게 수행되는 단계
  • 최적화(Optimizing)
    • 프로세스 수행을 최적화하고, 지속적인 개선을 통해 업무 목적을 만족시키는 단계

'자격증 > 정보처리기사실기' 카테고리의 다른 글

데이터베이스 설계  (0) 2022.04.29
데이터 베이스 개요  (0) 2022.04.29
수학적 산정 기법  (0) 2022.04.29
S/W 공학의 발전적 추세  (0) 2022.04.29
패키지(Package) 다이어그램  (0) 2022.04.29