상세 컨텐츠

본문 제목

[개미의 걸음 ADsP 2과목 심화] 소프트웨어 품질성숙도 모델(CMMI, SPICE)

자격증/ADsP

by IT개미 데이터 2020. 7. 7. 17:17

본문

728x90

① 소프트웨어 프로세스 품질

  •  개발자의 개발 경험이 부족한 경우, 제대로 된 소프트웨어 개발 프로세스 및 관리 체계가 없어 소프트웨어 품질 저하를 초래
       → 개발 비용 상승, 납기일을 맞추지 못하고 지연 등 프로젝트 실패 초래
       → 소프트웨어는 인력*기술*절차*도구가 어우러져 통합된 프로세스를 바탕으로 개발 경험이 잘 반영되야만 높은 품질의 소프트웨어를 개발 가능
  • 대표적인 소프트웨어 개발 표준
       → 미 국방성의 CMM과 ISO의 SPICE 그리고 ISO/IEC 12207
       → 최근에는 소프트웨어 개발 모델에 한정된 영역을 가지는 CMM대신
         시스템과 소프트웨어 영역을 하나의 프로세스 개설 툴로 통합시킨 CMMI를 많이 사용

 

② 소프트웨어 개발 방법론

 소프트웨어 개발, 유지보수 등에 필요한 여러가지 일들의 수행방법과 이러한 일들을 효율적으로 수행하는 과정에서 필요한 각종 기법 및 도구를 체계적으로 정리해 표준화 한 것

  • 소프트웨어 개발 방법론의 목적은 소프트웨어 생산성과 품질 향상

    소프트웨어 개발 방법론 결정의 개요

프로젝트 관리와 재사용 현황을 소프트웨어 개발 방법론에 반영하고 확정된 소프트웨어 생명주기와 개발 방법론에 맞춰 소프트웨어 개발 단계, 활동, 작업, 절차 등을 정의하는 것

 

    프로젝트 관리 유형 및 주요 내용

일정 관리  작업순서, 작업기간설정, 일정개발, 일정통제
비용 관리 비용산정, 비용예산편성, 비용통제
인력 관리  프로젝트팀편성, 프로젝트팀관리, 프로젝트팀개발, 프로젝트조직정의, 자원산정, 자원통제
위험 관리 위험식별, 위험평가, 위험대처, 위험통제
품질 관리 품질계획, 품질보증수행, 품질통제수행

 

③ 소프트웨어 개발 표준

소프트웨어 개발 단계에서 수행하는 품질 관리에 사용하는 국제 표준

대표적인 소프트웨어 개발 표준에는 CMMI, SPICE, ISO/IEC 12207 등이 있다.

    CMMI[Capability Maturity Model Integration]

소프트웨어 개발조직의 업무 능력 및 조직의 성숙도를 평가하는 모델로 CMM 후속 모델

미국 카네기멜론 대학교의 소프트웨어 공학연구소[SEI]에서 개발

CMMI는 소프트웨어 프로세스 성숙도를 초기, 관리, 정의, 정량적관리, 최적화 5단계로 구분

단    계 프로세스 특    징
초기[Initial] 정의된 프로세스 없음 작업자 능력에 따라 성공 여부 결정
소프트웨어 개발 프로세스는 거의 없는 상태
관리[Managed] 규칙화된 프로세스 특정한 프로젝트 내의 프로세스 정의 및 수행
일정*비용 등과 같은 관리 프로세스 중심
정의[Defined] 표준화된 프로세스 조직의 표준 프로세스를 활용해 업무 수행
정량적 관리
[Quantitatively Managed]
예측 가능한 프로세스 프로젝트를 정량적으로 관리 및 통제
소프트웨어 프로세스 및 품질에 대한 정량적인 측정이 가능해짐
최적화[Optimizing] 지속적 개선 프로세스 프로세스 역량 향상을 위해 지속적인 프로세스 개선

 

    SPICE[Software Process Improvement and Capability dEtermination]

정보 시스템분야에서 소프트웨어의 품질 및 생산성 향상을 위해 소프트웨어 프로세스를 평가 및 개선하는 국제 표준

SPICE[공식명칭 : ISO/IEC 15504]의 목적

  • 프로세스 개선을 위해 개발기관이 스스로 평가할 수 있도록 하는 것
  • 기관에서 지정한 요구조건의 만족 여부를 개발조직이 스스로 평가할 수 있도록 하는 것
  • 계약 체결을 위해 수탁기관의 프로세스를 평가하는 것

SPICE는 5개의 프로세스 범주와 40개의 세부 프로세스로 구성

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

SPICE는 프로세스 수행능력단계를 분완전, 수행, 관리, 확립, 예측, 최적화의 6단계로 구분

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

    ISO/IEC 12207

ISO[International Organization for Standardization]에서 만든 표준 소프트웨어 생명 주기 프로세스

소프트웨어의 개발, 운영, 유지보수 등을 체계적으로 관리하기 위한 소프트웨어 생명주기 표준을 제공

기본생명주기 프로세스, 지원생명주기 프로세스, 조직생명주기 프로세스로 구분

기본 생명주기 프로세스 획득, 공급, 개발, 운영, 유지보수 프로세스
지원 생명주기 프로세스 품질보증, 검증, 확인, 활동 검토, 감사, 문서화, 형상관리, 문제해결 프로세스
조직 생명주기 프로세스 관리, 기반구조, 훈련, 개선 프로세스

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90

관련글 더보기

댓글 영역