프로젝트 관리 및 생명주기 모형
05. 테일러링을 위한 품질 관리
1) ISO 12207 표준
1. ISO 12207 표준의 개념
- ISO 12207 표준은 소프트웨어 개발 프로세스를 정의하고 향상시키기 위한 프로세스
- ISO 12207 표준은 기본 공정, 지원 공정, 조직 공정으로 구성
- 기본 공정 : 공급, 획득, 개발, 운영, 유지보수
- 지원 공정 : 문서화, 형상 관리, 문제 해결, 품질 보증, 검증, 확인, 함동 검토, 감리
- 조직 공정 : 관리, 기반 구조, 개선, 교육 훈련
- 소프트웨어와 관련된 조직과 사람, 소프트웨어 획득자, 공급자, 개발자, 운영자, 유지보수자, 품질보증 관리자, 사용자 등의 이해관계자들이 각자의 입장에서 수행해야할 일을 정의하고 지속적으로 개선시키기 위한 활동
2. 기본 공정 프로세스
- 공급 : 서비스를 제공하는 공급자 또는 공급 조직이 수행할 활동을 정의
- 획득 : 서비스를 획득하는 획득자 또는 획득 조직이 수행할 활동을 정의
- 개발 : 소프트웨어를 개발하는 개발자 또는 개발 조직이 수행할 활동을 정의
- 운영 : 서비스를 제공하는 운영자 또는 운영 조직이 수행할 활동을 정의
- 유지보수 : 유지보수를 제공하는 보수자 또는 조직이 수행할 활동을 정의
3. 지원 공정 프로세스
- 문서화 : 산출되는 정보의 기록을 위한 활동을 정의
- 형상 관리 : 구성 관리 활동을 정의
- 문제 해결 : 문제점을 분석하고 제거하기 위한 프로세스를 정의
- 품질 보증 : 객관적으로 보증하기 위한 활동을 정의
- 검증 : 소프트웨어 제품을 검증하기 위한 활동을 정의
- 확인 : 소프트웨어 제품을 확인하기 위한 활동을 정의
- 합동 검토 : 활동의 상태 및 제품을 평가하기 위한 활동을 정의
- 감리 : 요구사항에 대하여 적합성을 결정하기 위한 활동을 정의
4. 조직 공정 프로세스
- 관리 : 프로젝트 관리를 포함한 기본적인 관리 활동을 정의
- 기반 구조 : 프로세스의 기반 구조를 확립하기 위한 기본 활동을 정의
- 개선 : 프로세스의 확립, 측정, 통제, 개선을 위하여 수행하는 활동을 정의
- 교육 훈련 : 적절하게 훈련된 요원을 제공하기 위한 활동을 정의
2) ISO/IEC
- ISO(International Organization for Standardization, 국제 표준화 기구)
- 과학, 기술, 경제 활동 분야에서 세계 상호 간의 협력을 위해 설립한 국제기구
- 공업 상품이나 서비스의 국제 교류를 원활히 하기 위해 이들의 표준화를 도모하는 세계적인 기구
- IEC(International Electronical Commission)
- 전기 기술에 관한 표준의 국제적 통일과 조정을 목적으로 설립된 국제전기표준회의
- ISO/IEC 9126 : 소프트웨어 품질 특성과 척도에 관한 표준 지침서
- ISO/IEC 12219 : 패키지 소프트웨어의 일반적인 제품 품질 요구사항 및 테스트를 위한 국제 표준
- ISO/IEC 12509 : OSI 7계층의 관리 기능에 대한 공통된 정보를 명세화하는 규격으로 폐지된 규격
- ISO/IEC 29119 : 소프트웨어 테스트 관련 국제 표준
1. 기능성(Functionality) : 명시된 요구사항과 내재된 요구사항을 만족하는가를 평가
- 적합성(Suitability) : 지정된 작업이 사용자의 목적에 따라 적절한 기능으로 구현되는지 평가
- 정확성(Accuracy) : 올바른 결과나 합의된 결과가 출력되는지 평가
- 상호 운용성(Interoperability) : 하나 이상의 다른 시스템과 상호 작용할 수 있는지 평가
- 보안성(Security) : 권한이 없으면 정보를 읽거나 변경하지 못하게 하고, 권한이 있으면 정보에 대한 접근이 거부되지 않도록 정보를 보호하는지 평가
- 준수성(Compliance) : 표준, 관례 또는 법적 규제 및 유사한 규정을 준수할 수 있는지 평가
2. 신뢰성(Reliability) : 정의된 성능 수준을 유지할 수 있는가를 평가
- 성숙성(Maturity) : 소프트웨어 내의 결함으로 인한 고장을 피해갈 수 있는지 평가
- 결함 허용성(Fault Tolerance) : 소프트웨어 결함이 발생했을 때, 원하는 성능 수준으로 유지할 수 있는지 평가
- 복구성(Recoverability) : 소프트웨어 결함 발생 시 직접적으로 영향을 받은 데이터를 복구할 수 있는지 평가
3. 사용성(Usability) : 사용자에 의해 이해, 학습, 선호될 수 있는지 평가
- 이해성(Understandability) : 특정 작업과 조건에서 사용자가 어떻게 사용할 수 있는가를 평가
- 학습성(Learnability) : 사용자가 소프트웨어의 응용 학습이 되는지 평가
- 운용성(Operability) : 사용자가 소프트웨어를 운영하고 제어할 수 있는지 평가
- 선호도(Attractiveness) : 사용자에 의해 선호되는 소프트웨어인가를 평가
- 준수성(Compliance) : 표준, 관례 또는 법적 규제 및 유사한 규정을 준수할 수 있는지 평가
4. 효율성(Efficiency) : 사용되는 자원의 양에 따라 요구된 성능을 발휘하는가를 평가
- 시간 반응성(Time Behaviour) : 기능을 수행할 때 적절한 반응 및 처리 시간과 처리율이 확보되는지 평가
- 자원 활용성(Resource Utilization) : 기능을 수행할 때 적절한 자원의 양을 사용하는지 평가
- 준수성(Compliance) : 표준, 관례 또는 법적 규제 및 유사한 규정을 준수할 수 있는지 평가
5. 유지보수성(Maintainability) : 소프트웨어의 환경 변화와 요구사항 및 기능적 명세에 따라 소프트웨어가 수정, 개선이 되었는지 평가
- 분석성(Analyzability) : 결함이나 고장 혹은 변경된 부분들을 식별할 수 있는지 평가
- 변경성(Changeability) : 변경딘 내용이 쉽게 구현될 수 있는지 평가
- 안정성(Stability) : 변경으로 인한 예상치 않은 결과가 최소화되는지 평가
- 시험성(Testability) : 변경된 소프트웨어를 테스트할 수 있는지 평가
- 준수성(Compliance) : 표준, 관례 또는 법적 규제 및 유사한 규정을 준수할 수 있는지 평가
6. 이식성(Portability) : 다른 환경으로 전이되었을 때를 평가
- 적응성(Adaptability) : 원래 목적이 아닌 다른 환경의 기능으로 변경될 수 있는지 평가
- 설치성(Installability) : 다른 환경에 설치될 수 있는지 평가
- 공존성(Co-existence) : 공통 자원을 공유하는 환경에서 다른 소프트웨어와 문제없이 운용될 수 있는지 평가
- 대체성(Replaceability) : 다른 소프트웨어 제품을 대신하여 사용될 수 있는지 평가
- 준수성(Compliance) : 표준, 관례 또는 법적 규제 및 유사한 규정을 준수할 수 있는지 평가
3) CMM(Capability Maturity Model)
1. CMM의 개념
- 소프트웨어 개발과 유지보수에 대한 프로세스 개선과 능력(Capability) 향상을 위한 프레임워크이며 실용화된 모델
- 소프트웨어 프로세스의 신뢰적이고 일관성 있는 능력 평가 기반 구조
- 소프트웨어 개발과 유지보수 능력의 증개 요인들을 준수하도록 함
- 소프트웨어 개발 조직의 프로세스 성숙도 개선 및 측정을 위해 정부와 산업계에서 사용
2. CMM의 특징
- 조직, 작업 순서, 관리 방법, 기법, 도구, 환경 등을 프로세스의 요소로 정의
- 레벨(Level)이 높을수록 소프트웨어 개발 프로세스의 품질이 좋아짐
- 프로세스를 평가하고 개선하기 위해서는 프로세스가 가지는 기술적, 인간적 측면을 모두 고려함
3. CMM의 5가지 성숙 단계와 핵심 프로세스
성숙 단계 | 정의 | 핵심 프로세스 |
---|---|---|
1. 초기 단계(Initial) | - 소프트웨어 개발 관리 부재 - 프로세스 성과를 예측 불가 |
없음 |
2. 반복 단계(Repeatable) | - 성공 프로젝트 반복 사용 - 통계적 관리가 가능 |
요구 관리, 계획, 추적, 감시, 형상 관리, 품질 보증 |
3. 정의 단계(Defined) | - 프로세스 작업 정의와 이해 가능 - 데이터로 프로젝트 관리 - 발전되는 상태 |
조직 프로세스 관리, 교육 훈련 프로그램, 통합 소프트웨어 관리, 생산 공학, 동료 검토, 그룹 간 조정, 중간 심사 |
4. 관리 단계(Managed) | - 프로세스 성과 측정, 분석 가능 - 프로세스 성과 개선, 관리 가능 |
정량적 프로세스 관리, 소프트웨어 품질 관리 |
5. 최적 단계(Optimizing) | 질적, 양적 개선이 지속적인 상태 | 결함 예방, 기술 변화 관리, 프로세스 변경 관리 |
4. CMM 모델 프로세스 평가 기준
Level | 관리 명칭 | 주요 내용 | 평가 |
---|---|---|---|
Level 1 | 혼돈적 관리 | 순서의 일관성이 없음 | 위험성 |
Level 2 | 경험적 관리 | 일정, 비용의 경험적 법칙 적용 | ↑ |
Level 3 | 정성적 관리 | 경험 공유, 공식적 프로세스 관리 | |
Level 4 | 정량적 관리 | 통계적 방법과 조직적 분석 | ↓ |
Level 5 | 최적화 관리 | 위험 예측, 최적화 도구 이용 | 생상성, 품질 |
4) SPICE(Software Process Improvement and Capability dEtermination) 모델
1. SPICE 모델의 개념
- 소프트웨어의 품질 및 생산성 향상을 위해 소프트웨어 프로세스를 평가 및 개선하는 국제 표준
- 소프트웨어 프로세스에 대한 개선 및 능력 측정 기준에 대한 국제 표준
- 미 국방성의 CMM과 비슷한 프로세스 평가를 위한 모델을 제시
2. SPICE모델의 프로세스 수행 능력 수준 6단계
- ISO 12207 소프트웨어 생명주기 프로세스를 참고로 하며, 1995년에 ISO/IEC 155504라는 규격을 완성
- 수준 0, 불안정 단계 : 프로세스가 구현되지 않았거나, 프로세스가 그 목적을 달성하지 못한 단계
- 수준 1, 수행7 단계 : 프로세스의 목적이 전반적으로 이루어진 단계
- 수준 2, 관리 단계 : 정의된 자원의 한도 내에서 그 프로세스가 작업 산출물을 인도
- 수준 3, 확립 단계 : 소프트웨어공학 원칙에 기반을 두어 정의된 프로세스가 수행
- 수준 4, 예측 단계 : 프로세스가 목적 달성을 위해 통제되고, 양적인 측정을 통해서 일관되게 수행
- 수준 5, 최적화 단계 : 프로세스 수행을 최적화하고, 지속적으로 업무 목적을 만족
3. SPICE의 목적
- 개발 기관이 프로세스 개선을 위하여 스스로 평가하는 것
- 기관에서 정한 요구조건을 만족하는지 개발 조직 스스포 평가하는 것
- 계약을 맺기 위하여 수탁 기관의 프로세스를 평가하는 것
4. SPICE의 CMM 단점 개선
- CMM은 조직을 평가하므로 제품의 품질과는 직접적인 연관성이 없음
- CMM은 조직 전체에 대한 등급 판정이 비효율적, 비현실적
- CMM은 소규모 업체에서는 적용이 곤란함
5) CMMI 모델
1. CMMI 모델의 특징
- CMM의 후속 모델
- 조직의 개발 프로세스 역량 성숙도를 평가
- 미국 카네기멜런대학의 소프트웨어 기술 연구소가 제안한 통합 모델
- 어떤 모델이라도 조직의 업무 목적에 맞게 수정하여 사용할 필요가 있음
- 개발을 위한 CMMI, 발주를 위한 CMMI, 서비스를 위한 CMMI 순으로 발표
2. CMMI의 프로세스 영역(PA: Process Areas)
- 프로세스 관리 영역 : 조직의 프로세스 정의, 조직의 프로세스 초점, 조직의 훈련, 조직의 프로세스 성과, 조직의 혁신과 배치로 구성
- 프로젝트 관리 영역 : 프로젝트 계획 수립, 프로젝트 모니터링과 통제, 공급자와의 합의 관리, 통합된 프로젝트 관리, 위험 관리, 통합된 팀 구성, 정량적인 프로젝트 관리로 구성
- 엔지니어링 영역 : 요구사항 관리, 요구사항 개발, 기술적 해결책, 제품 통합, 증명, 검증으로 구성
- 지원 영역 : 형상 관리, 프로세스와 제품의 품질 경영, 측정과 분석, 의사 결정과 해결책, 통합을 위한 조직의 환경, 임시 분석과 해결책으로 구성
3. CMMI 모델의 종류
종류 | 내용 |
---|---|
SW-CMM | 소프트웨어 능력 성숙도 모델 |
SECM | 시스템 엔지니어링 능력 모델 |
IPD-CMM | 통합 제품 개발 능력 성속도 모델 |
People-CMM | 인력의 개발과 관리 |
SA-CMM | 소프트웨어 획득 |
SECAM | 시스템 엔지니어링 능력 심사 모델 |
'정보처리기사 > 소프트웨어 설계' 카테고리의 다른 글
요구사항 확인 2 (0) | 2023.04.17 |
---|---|
요구사항 확인 1 (0) | 2023.04.17 |
소프트웨어 종류 및 개발 방법론 7 (0) | 2023.04.17 |
소프트웨어 종류 및 개발 방법론 6 (0) | 2023.04.17 |
소프트웨어 종류 및 개발 방법론 5 (0) | 2023.04.17 |