프로젝트 품질관리
소프트웨어 품질 정의
: 사용자의 요구와 부합되는 정도
프로젝트 관리자 관점의 좋은 소프트웨어
: 추가 부담(기간,비용)이 발생하지 않는 소프트웨어
개발자 관점의 좋은 소프트웨어
: 개발하기 쉽고 사용 중 내용 추가 및 코드 수정이 쉽고 편리하게 변경 가능한 소프트웨어
è 코딩 표준에 맞게 개발된 프로그램
유지보수자 관점의 좋은 소프트웨어
: 작성된 코드가 코딩 규칙 및 표준을 따르고 주석문이 많이 포함된 소프트웨어
è 가독성이 높고 쉽게 이해할 수 있게 개발된 소프트웨어
구매 담당자 관점의 좋은 소프트웨어
: 값이 싼 소프트웨어
사용자 관점의 좋은 소프트웨어
: 배우기 쉽고, 사용하기 편리하며, 다양한 기능을 제공하고, 응답 시간이 빠른 소프트웨어
è 첫 사용자나 숙련된 사용자 모두 만족하는 소프트웨어
소프트웨어 품질 목표
1. 정확성
2. 신뢰성
3. 효율성
4. 무결성
5. 사용성
6. 유지보수 용이성
7. 테스트 용이성
8. 유연성
9. 이식성
10. 재사용성
11. 상호운용성
제품 운영 ( Product Operation )
: 개발된 SW가 고객이 사용해도 될 만큼 적합한지의 여부를 판단할 수 있는 품질 요소
1. 정확성 (Correctness) : 개발된 소프트웨어가 사용자의 기능적 요구사항을 담은 프로그램 명세서와 얼마나 일치하는지를 나타낸다.
2. 효율성 (Efficiency) : 사용자가 요구하는 기능을 수행하는 데 CPU와 메모리 같은 자원을 얼마나 사용하는가와 관련된 특성이다
3. 무결성 ( Integrity ) : 허가 받지 않은 사용자가 데이터 접근을 통해 변경을 시도했을 때 얼마나 보호할 수 있는지를 나타낸다.
제품 개선 ( Product Revision )
: 소프트웨어를 변경하기 쉽고 편하게 만든 정도를 나타내는 품질 요소
1. 유지보수성 ( Maintainability ) : 사용 중인 소프트웨어를 얼마나 쉽게 변경할 수 있는지, 또 변경한 후에도 문제없이 안정적으로 운영되는지를 나타낸다.
2. 유연성 (Flexibility ) : 운영 환경의 변화에 따라 새로운 기능을 쉽게 추가할 수 있는지, 다른 환경에 적용할 수 있도록 운용되는 프로그램을 얼마나 쉽게 수정할 수 있는지를 나타낸다.
3. 테스트 용이성 ( Testability ) : 사용자가 요구하는 기능을 만족할 만큼 잘 수행하고 있는지에 대해 얼마나 쉽고, 철저하게 테스트할 수 있는지를 나타낸다.
제품 변환 ( Product Transition )
: 개발된 소프트웨어의 활용도를 높이려 할 때, 쉽게 할 수 있는 정도를 나타내는 품질 요소
1. 상호운용성 ( Interoperability ) : 다른 소프트웨어와 얼마나 쉽게 연계 또는 결합하여 정보를 교환할 수 있는지를 나타낸다.
2. 재사용성 (Reusability ) : 시스템의 일부나 전체를 다른 애플리케이션에서도 얼마나 쉽게 사용할 수 있는지를 나타낸다.
3. 이식성 ( Portability ) : 하드웨어 또는 운영체제와 같은 환경에서 또 다른 환경으로 옮겨도 환경 변화에 무리 없이 잘 작동할 수 있도록 프로그램을 수정하여 이식하는 것이 얼마나 쉬운가를 나타낸다.
ISO/IEC9126의 품질 특성 및 하위 특성
1. 기능성
2. 신뢰성
3. 사용성
4. 효율성
5. 유지보수 용이성
6. 이식성
ISO/IEC 14598
: 소프트웨어 공급자와 구매자 사이에서 소프트웨어 개발 과정 또는 개발된 제품의 품질을 객관적으로 평가하기 위한 방법과 절차를 정의한 국제 표준 규격
1. 반복성
2. 재생산성
3. 공정성
4. 객관성
5. 품질 평가의 측정 기술, 측정 결과의 해석 방법은 규정하고 있지 않다
CMMI ( Capability Maturity Model Integration )
: 조직의 프로세스 개선을 위해 개발
: 기업에 표준 프로세스를 만들 수 있는 지침을 제시하고, 그 기준이 된다
: 조직의 프로세스에 대한 가이드이자 기준
: 능력 + 성숙도로 조직의 프로세스를 측정하고 평가하는 모델의 통합 버전인 프로세스 개선 성숙도 모델
: C = 능력 ( 개발 목표 = 주어진 기간, 정해진 비용, 고품질 등을 달성할 수 있는 힘
: M =성숙도 ( 성숙도가 높은 조직 = 책임감이 있는 조직 )
: M = 모델 ( 기준대로 하고 있는지 , 그렇지 않은지를 검사 )
: I = 통합 ( 여러 가지 프로세스의 기준을 하나로 통합했다는 의미 )
CMMI 5단계
1. 초기 단계 : 프로세스 없음 , 예측/통제 불가능
2. 관리 단계 : 규칙화된 프로세스 , 기본적인 프로젝트 관리 체계 수립
3. 정의 단계 : 표준화된 프로세스 , 조직 차원의 표준 프로세스를 통한 프로젝트 지원
4. 정량적 관리 단계 : 예측 가능한 프로세스 , 정량적으로 프로세스가 측정/통제됨
5. 최적화 단계 : 지속적 개선 프로세스, 프로세스 개선 활동
CMMI 프로세스 영역의 구조도
일반 목표와 수행 지침
1. 목표 : 모든 프로세스 영역에 공통으로 적용되는 목표
2. 일반 목표 달성 : 해당 프로세스의 활동들이 조직에 내재화되어 자연스럽게 수행될 수 있음
3. 수행 지침 : 일반적인 목표를 만족시키기 위해 수행해야 하는 활동이 무엇인지를 설명
세부 목표와 수행 지침
1. 목표 : 특정 프로세스 영역에만 적용되는 좁은 의미의 구체적인 목표
2. 수행 지침 : 세부적인 목표를 만족시키기 위해 수행해야 하는 활동이 무엇인지를 설명
필수 구성 요소
- 조직이 프로세스 영역을 만족시키기 위해 무엇을 성취해야 하는지를 기술하는 구성 요소
- 세부 목표와 일반 목표가 이에 해당
예상 구성 요소
- 조직이 필수 구성 요소를 성취하기 위해 전형적으로 무엇을 구현해야 하는지를 기술
- 이 구성 요소들은 누가 평가를 수행하고 개선을 구현하는지를 가이드
- 일반 수행 지침과 세부 수행 지침이 이에 해당
정보 제공 구성 요소
- 필수 구성 요소와 예상 구성 요소에 접근할 수 있도록 돕는 세부 내용을 제공
- 예제 작업 산출물, 하위 지침, 일반 수행 지침의 정책, 입문 노트, 관련 프로세스 영역 등이 이에 해당
SPICE 모델
: 소프트웨어 프로세스 평가를 위한 프레임워크를 제공
: 정보 시스템 분야에 특화된 품질 표준이자 인증 규격의 역할
SPICE 모델의 프로세스 수행 능력 단계
1. 불완전 단계 : 미구현 또는 미달성
2. 수행 단계 : 프로세스 수행 및 목적 달성
3. 관리 단계 : 프로세스 수행 계획 및 관리
4. 확립 단계 : 정의된 표준 프로세스 사용
5. 예측 단계 : 프로세스의 정량적 이해 및 통제
6. 최적화 단계 : 프로세스를 지속적으로 개선
품질 관리 ( Quality management )
: 개발의 각 단계에서 일어나는 모든 활동과 활동 중에 생성되는 여러 산출물을 통제하고 보증하여 품질을 관리하기 위한 활동
품질 관리 = 품질 통제 + 품질 보증
품질 통제 ( Quality Control )
: 품질 절차와 표준을 개발자들이 준수하도록 프로세스를 정의하고 규정을 만드는 것
: 목적 = 품질 좋은 소프트웨어를 만들기 위함
품질 보증
1. IEEE 정의 : 개발된 소프트웨어가 사용자의 요구를 만족시킨다는 것을 보장하는 데 필요한 계획적이고 체계적인 활동
2. 개발된 소프트웨어가 기술적인 요구 사항과 일치하는가를 적절하게 확인하는 데 필요한 체계적이고도 계획적인 유형의 활동
품질 보증 정의
1. 소프트웨어의 결함을 줄여 품질 좋은 소프트웨어를 만들기 위해, 사용자가 요구하는 품질 수준을 파악하고 이를 어떻게 달성할 수 있는지를 정의하는 개발 단계 전역에 걸친 체계적인 작업
'학부공부 > 프로젝트관리론' 카테고리의 다른 글
비용산정방법 (0) | 2019.06.17 |
---|---|
간트차트-에이유아이 프로젝트 (0) | 2019.05.07 |
정보처리기사 기출문제(16/03-17/08) (0) | 2019.04.20 |
프로젝트 범위 관리 (0) | 2019.04.19 |
프로젝트 이해관계자 관리 (0) | 2019.04.18 |
#IT #먹방 #전자기기 #일상
#개발 #일상