소프트웨어 품질
US DoD: 개발된 소프트웨어가 사용자의 요구 사항을 만족할 수 있는 능력
IEEE: 소프트웨어가 필요한 속성을 보유하고 있는 정도, 사용자의 기대 수준을 만족할 수 있는 정도를 결정하는 특성
ISO: 요구사항을 만족하는 소프트웨어 제품의 능력
프로젝트 관리자 관점의 좋은 소프트웨어
- 추가 부담이 발생하지 않는 소프트웨어
개발자 관점의 좋은 소프트웨어
- 개발하기 쉽고 내용 추가 및 코드 수정이 쉬운
- 코딩 표준에 맞게 개발된 프로그램
유지보수자 관점의 좋은 소프트웨어
- 작성된 코드가 코딩 규칙 및 표준을 따르고 주석이 많이 포함된
- 가독성이 높고 쉽게 이해할 수 있는
- 변경 영향이 한 부분으로 국한되는
- 코드와 일관성 있는 문서가 제공되는
사용자 관점의 좋은 소프트웨어
- 기능이 정확히 동작하는
- 배우기 쉽고 편리하고 다양한 기능, 응답시간이 빠른
- 첫 사용자나 숙련된 사용자 모두 만족하는
스폰서 관점의 좋은 소프트웨어
- 비즈니스 과정에서 이득이 되는
- 적은 비용으로 개발되는
- 기존 컴포넌트를 재사용하여 개발되는
품질 좋은 소프트웨어를 개발하기 위해서는?
- 처음부터 품질을 고려한 계획을 수립
- 품질 요구 사항에 대한 명세서 작성
- 단계별로 생산되는 산출물도 검사 항목에 따라 철저히 점검
- 품질을 보증할 수 있는 프로세스를 마련
품질 목표
- 정확성
- 신뢰성
- 효율성
- 무결성
- 사용성
- 유지보수 용이성
- 테스트 용이성
- 유연성
- 이식성
- 재사용성
- 상호운용성
품질 평가 표준 모델
1. 제품 품질 특성 평가
- 완성된 제품에 대한 평가
- 개발된 최종 산출물 SW제품이 사용자의 의도대로 기능하는지 평가
- ISO/IEC 9126: 기능성, 신뢰성, 사용성, 효율성, 유지보수 용이성, 이식성
-ISO/IEC 25000: 사용자에게 유용하도록 여러 표준 문서를 통합하고 재구성하여 만든 국제 표준 문서
2. 프로세스 품질 특성 평가
- 소프트웨어 제품의 개발 프로세스를 평가
- 개발 과정의 각 단계마다 평가
- ISO 9000: SDLC과정에 대한 품질 보증 모델, SW개발을 목표로 구체화되지 않음
- ISO 12207
CMMI(Capability Maturity Model Integration)
-조직의 프로세스 개선을 위해 개발
-기업에 표준 프로세스를 만들 수 있는 지침을 제시하고, 그 기준이 됨
- 능력과 성숙도로 조직의 프로세스를 측정 및 평가
소프트웨어 개발에서 내비게이션 역할
- 조직원들이 헤매는 시간을 줄이고 생산성 높임
- 기준과 목표, 방향을 제시하므로 프로세스가 명확하고 계획적이며 결과예측 가능하게 됨
CMMI의 5단계 (성숙단계)
1 초기단계
2. 관리단계: 프로젝트별 프로세스 존재
3. 정의 단계: 조직 차원의 표준 프로세스 존재
4. 정량적 관리 단계: 측정 가능한 정량적 프로세스
5. 최적화 단계: 프로세스를 지속적으로 개선
CMMI의 평가 방법
1. 단계적 표현 방법 maturity level
조직에서 해당 업무를 얼마나 체계적으로 수행하고 있는지 나타내며 1~5 다섯단계 사용
2. 연속적 표현 방법의 capability level
SPICE 모델(ISO 15504)
소프트웨어 프로세스 평가를 위한 프레임워크 제공
품질 관리
-개발의 각 단계에서 일어나는 모든 활동과 활동 중 생산되는 여러 산출물을 통제하고 보증하여 품질ㅇ르 관리
- 품질 통제+ 품질 보증
품질 통제: 프로세스를 정의하고 규정을 만드는 것
품질 보증: 개발 단계 전역에 걸쳐 품질이 영향에 미치는 문제점을 조기ㅔㅇ 발견하여 제거. 개발된 소프트웨어 품질이 목표한 수준에 있다는 것을 보증.
'2023-2 > 소프트웨어 공학' 카테고리의 다른 글
8. 유지보수 (1) | 2023.12.18 |
---|---|
7. testing (1) | 2023.12.18 |
6. Implementation (0) | 2023.12.17 |
5. 설계 (0) | 2023.12.17 |
4. 요구 사항 분석 (0) | 2023.12.17 |
댓글