Chatpter 09 품질 01 품질의 이해 02 품질 요소와 품질 평가 모델 03 제품 품질 특성 평가 모델

Slides:



Advertisements
Similar presentations
CI(Continuous Integration) 이학성. C ontinuous I ntegration? 2 지속적으로 품질관리 를 적용하는 과정 개발자가 기존 코드의 수정 작업 을 시작할 때, 코드 베이스의복사본을 받아서 작업을 시작하면서 코드의 변경.
Advertisements

신진영 현지 조사 방법 및 보고서 작성법 제 7 강 - 자료 수집과 설문지 작성 -
Popcon 이규태 김준수 강예진. 목차  Popcon 이란  개발동기 및 목적  필요성  차별성  설계  개발일정  기대효과 및 향후 계획.
SNS ! 건대 ▶ 오리 정보 제공 : 해당 지역에서 이슈화 되고 있는 서비스, 제품의 기업에게 정보 제공.
항공 예약 시스템 1 조 ( 김민철, 김영주, 이혜림, 장유정, 조윤주, 문하늘 ). 목차 차세대 전산시스템 도입의 필요성 현재 항공 시스템 ( 대한항공 ) 항공 시스템의 변화 미래항공 시스템.
컴퓨터 종합설계 2012 년 2 학기 Syllabus 개요 (1/2) 목표  실 세계의 문제를 제시하고, 이에 대한 해결책을 컴퓨터 공학적인 방법으로 해결하기 위하여 팀을 주축으로 소프트웨어 개발 프로젝트 수행  프로젝트 계획에서부터 구현까지.
대표자명 / 연락처 / 이메일 ( 기 창업인 경우 회사 명칭 ) 지원하려는 사업 명칭 사업계획서 작성양식.
KPC 자격 강원지역센터 사업계획서 OO. OO. 제안사 명칭.
컴퓨터와 인터넷.
Secure Coding 이학성.
Power Java 제3장 이클립스 사용하기.
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
최윤정 Java 프로그래밍 클래스 상속 최윤정
Entity Relationship Diagram
Samsung Electronics 5 forces
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
프로젝트 품질관리 품질 계획 품질 보증 품질 관리.
Windows Server 장. 사고를 대비한 데이터 백업.
객체지향 소프트웨어공학 12 장 품 질.
10장: 품질 보증 - Software Engineering -.
MOS 자격증 Word-Expert 2003.
시스템 설계와 산업디자인 개발.
Error Detection and Correction
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
건축설계사 임동진.
1장. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
DMAIC Template (제조).
V. 인류의 건강과 과학 기술 Ⅴ-1. 식량자원 3. 식품 안전성.
‘2012년 정보화 사업 교육 버그추적시스템(BTS) 사용 절차 2012, 02.
Technology Strategy : An Evolutionary Process Perspective
제 10 장 의사결정이란 의사결정은 선택이다.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
2018년 11월 05일 박성진 Web & Internet [08] 레이아웃 P1 2018년 11월 05일 박성진
ERP의 구축방법과 장·단점 1조 김두환 김수철 가민경 김정원.
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
제 15 장 직무설계 15.1 노동인력관리 목적 최대의 성과 만족스러운 성과 의사결정 직무설계 충원수준 선발 훈련과 경력개발
부서 QI 및 지표 담당자 모임 2012년 8월 2차 QI 활동 방법 지표 관리 회의록 작성법
소프트웨어 공학 Chapter #1: 소개 1.
20장. 객체지향 프로그래밍 01_ 객체지향 프로그래밍의 시작.
AUTODESK AUTOCAD ELECTRICAL 전기제어 2D 설계 소프트웨어 표준기반 설계 생산성 도구 구조도 설계
공급사슬 성과평가 차시명을 입력합니다..
데이터 베이스 DB2 관계형 데이터 모델 권준영.
판매 교육 발표자: [이름].
웹사이트 분석과 설계 (화면 설계) 학번: 성명: 박준석.
논문작성을 위한 연구모형 설정 양동훈.
경영정보시스템(MIS) management information system.
소프트웨어 중심에 존재하는 복잡성 에 도전장을 내밀다
3장, 마케팅조사의 일번적 절차 마케팅 조사원론.
뇌를 자극하는 Solaris bible.
주요 프로그램 고객 요청에 의거 품질/개발 분야 각 3개 과정으로 구분하여 교육 계획을 수립 하였으며,
창의적 공학 설계 < 사용자 중심의 공학설계 > : Creative Engineering Design
Part 2 개념적 데이터 모델 Copyright © 2006 by Ehan Publishing Co. All rights reserved.
조직화란 조직의 목표를 최상의 방법으로 실현할 수 있도록 인적자원과 물적자원을 결합하는 과정
웹 사이트 분석과 설계 학과: e-biz (2-1) 학번:
사회과 서술형 평가 문항 자료집 -중학교 일반사회 영역 -.
웹 애플리케이션 보안 Trend 인포섹㈜ 신수정 상무
(Adjustment to New Pressures) (New Self-Expectations)
웹 사이트 분석과 설계 [디자인 리서치] 학번: 이름 : 홍지애.
비교분석 보고서 Template 2015.
.Net FrameWork for Web2.0 한석수
'클럽 상담자'로 봉사 국제협회  지대위원장 연수.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
교량 구조물의 개념 설계 및 프로토타입 제작 과정
6시그마및품질관리 과제 – Define의 적용.
7 생성자 함수.
6 객체.
Part 7 호텔 식음료 직원의 인적관리 Ch 01 호텔 식음료의 인사관리 Ch 02 호텔 식음료부서의 교육훈련.
이 은 Tyler 교육과정 개발 모형 이 은
1 제조 기술의 세계 3 제품의 개발과 표준화 제품의 개발 표준화 금성출판사.
생산성 증대 효율성 향상 측정 수행 능력.
Presentation transcript:

Chatpter 09 품질 01 품질의 이해 02 품질 요소와 품질 평가 모델 03 제품 품질 특성 평가 모델 04 프로세스 품질 특성 평가 모델 05 대표적인 프로세스 능력 평가 모델 06 품질 관리 요약 연습문제

품질의 개념에 대해 알아본다. 제품 품질 특성에 따른 평가 모델에 대해 알아본다. 프로세스 품질 특성에 따른 평가 모델에 대해 알아본다. 품질 관리에 대해 알아본다.

Section 01 품질의 이해

1. 품질과 소프트웨어 품질(1) 품질 하드웨어 품질 물건이 얼마나 좋은지, 나쁜지를 나타내는 정도 사용자의 요구 사항을 규격서에 서술하고, 이 규격서대로 만들면 큰 문제가 없다. 만든 제품이 규격서대로 작동하는지 테스트하는 것도 비교적 용이 개발된 제품이 규격서대로 만들어지면 사용자가 만족할 만한, 품질이 좋은 하드웨어

1. 품질과 소프트웨어 품질(2) 소프트웨어 소프트웨어 품질 정의 HW(규격서) vs SW(요구 분석 명세서) 하드웨어의 규격서보다 소프트웨어의 요구 분석 명세서를 작성하는 것이 훨씬 어렵다. 소프트웨어 품질 정의 ‘사용자의 요구와 부합되는 정도’ 개발자 관점에서의 좋은 소프트웨어 결함 없는 프로그램 요구 분석 명세서대로 만든 소프트웨어 • US DoD: 개발된 소프트웨어가 사용자의 요구 사항을 만족할 수 있는 능력 • IEEE: - 소프트웨어가 필요한 속성을 보유하고 있는 정도 - 사용자의 기대 수준을 만족할 수 있는 정도를 결정하는 소프트웨어의 특성

2. 관점에 따른 품질(1)

2. 관점에 따른 품질(2) 프로젝트 관리자 관점의 좋은 소프트웨어 개발자 관점의 좋은 소프트웨어 추가 부담(기간, 비용)이 발생하지 않는 소프트웨어 개발자 관점의 좋은 소프트웨어 개발하기 쉽고 사용 중 내용 추가 및 코드 수정이 쉽고 편리하게 변경 가능한 소프트웨어 코딩 표준에 맞게 개발된 프로그램 유지보수자 관점의 좋은 소프트웨어 작성된 코드가 코딩 규칙 및 표준을 따르고 주석문이 많이 포함된 소프트웨어 가독성이 높고 쉽게 이해할 수 있게 개발된 소프트웨어

2. 관점에 따른 품질(3) 구매 담당자 관점의 좋은 소프트웨어 사용자 관점의 좋은 소프트웨어 값이 싼 소프트웨어 배우기 쉽고, 사용하기 편리하며, 다양한 기능을 제공하고, 응답 시간이 빠른 소프트웨어 첫 사용자나 숙련된 사용자 모두 만족하는 소프트웨어

3. 품질 목표(1) 품질 좋은 소프트웨어가 되려면 처음부터 품질을 고려한 계획을 세운다. 품질 요구 사항에 대한 명세서가 작성되어야 한다. 단계별로 생산되는 산출물도 검사 항목에 따라 철저히 점검해야 한다. 품질을 보증할 수 있는 프로세스를 마련해, 품질을 체크할 수 있는 과정을 명확히 한다.

3. 품질 목표(2)

Section 02 품질 요소와 품질 평가 모델

0. 품질 특성

1. McCall의 품질 요소

1-1 제품 운영 제품 운영product operation ① 정확성correctness ② 효율성efficiency 개발된 SW가 고객이 사용해도 될 만큼 적합한지의 여부를 판단할 수 있는 품질 요소 ① 정확성correctness 개발된 소프트웨어가 사용자의 기능적 요구 사항을 담은 프로그램 명세서와 얼마나 일치하는지를 나타낸다. ② 효율성efficiency 사용자가 요구하는 기능을 수행하는 데CPU와 메모리 같은 자원을 얼마나 사용하는가와 관련된 특성이다 ③ 무결성integrity 허가 받지 않은 사용자가 데이터 접근을 통해 변경을 시도했을 때 얼마나 보호할 수 있는지를 나타낸다.

1-2 제품 개선 제품 개선product revision ① 유지보수성maintainability 소프트웨어를 변경하기 쉽고 편하게 만든 정도를 나타내는 품질 요소 ① 유지보수성maintainability 사용 중인 소프트웨어를 얼마나 쉽게 변경할 수 있는지, 또 변경한 후에도 문제없이 안정적으로 운영되는지를 나타낸다. ② 유연성flexibility 운영 환경의 변화에 따라 새로운 기능을 쉽게 추가할 수 있는지, 다른 환경에 적용할 수 있도록 운용되는 프로그램을 얼마나 쉽게 수정할 수 있는지를 나타낸다. ③ 테스트 용이성testability 사용자가 요구하는 기능을 만족할 만큼 잘 수행하고 있는지에 대해 얼마나 쉽고, 철저하게 테스트할 수 있는지를 나타낸다.

1-3 제품 변환 제품 변환product transition ① 상호운용성interoperability 개발된 소프트웨어의 활용도를 높이려 할 때, 쉽게 할 수 있는 정도를 나타내는 품질 요소 ① 상호운용성interoperability 다른 소프트웨어와 얼마나 쉽게 연계 또는 결합하여 정보를 교환할 수 있는지를 나타낸다. ② 재사용성reusability 시스템의 일부나 전체를 다른 애플리케이션에서도 얼마나 쉽게 사용할 수 있는지를 나타낸다. ③ 이식성portability 하드웨어 또는 운영체제와 같은 환경에서 또 다른 환경으로 옮겨도 환경 변화에 무리 없이 잘 작동할 수 있도록 프로그램을 수정하여 이식하는 것이 얼마나 쉬운가를 나타낸다

2. 품질 평가 표준 모델(1) ① 제품 품질 특성 평가 ② 프로세스 품질 특성 평가 완성된 제품에 대한 평가 ISO/IEC 9126에서 제시하는 모델이 소프트웨어 품질에 대한 표준적인 모델 ② 프로세스 품질 특성 평가 소프트웨어 제품의 개발 프로세스를 평가 소프트웨어 개발 과정의 각 단계마다 평가

2. 품질 평가 표준 모델(2)

Section 03 제품 품질 특성 평가 모델

1. 제품 품질 특성 평가 제품 품질 특성 평가 모델 개발된 최종 산출물인 소프트웨어 제품이 사용자의 의도대로 기능을 수행하는지 평가

1-1 ISO/IEC9126 모델(1) 품질 특성과 용도 분류

1-1 ISO/IEC9126 모델(2) ① ISO/IEC 9126-1(품질 모델) ② ISO/IEC 9126-2(외부 품질) 6가지 품질 특성과 소프트웨어 제품의 품질 평가를 위한 프레임워크를 정의 ② ISO/IEC 9126-2(외부 품질) 개발자를 위한 표준 개발자/평가자/구매자가 품질 특성에 대해 사용할 수 있는 external metrics 제공 사용자/평가자/구매자/개발자들이 테스트 단계와 운영 중에 SW를 평가하고 보고서를 작성할 수 있도록 도와준다. 완성된 소프트웨어의 성능, 오류 발생, 사용 용이성 등이 여기에 해당

1-1 ISO/IEC9126 모델(3) ③ ISO/IEC 9126-3(내부 품질) ④ ISO/IEC 9126-4(사용 품질) 구매자를 위한 표준 개발자/평가자/구매자가 제품 품질을 평가할 수 있도록 도와주며, 제품 완성 전 미리 품질의 문제점들을 지적해준다. 품질 특성에 대하여 사용할 수 있는 내부 메트릭스(internal metrics)를 제공 ④ ISO/IEC 9126-4(사용 품질) 사용자를 위한 표준으로 사용 품질(quality in use)을 정의 제품이 특정 환경에서 사용될 때 사용자의 작업 효율성, 생산성, 안정성, 만족도 등 사용자의 요구를 충족시키는 정도 제품이 고객에게 인도된 후 소프트웨어 자체의 특성보다 사용해본 결과를 토대로 사용자가 측정

1-2 ISO/IEC9126의 품질 특성 및 하위 특성(1)

1-2 ISO/IEC9126의 품질 특성 및 하위 특성(2) ① 기능성functionality 개발된 소프트웨어가 특정 조건에서 사용될 때 개발 전에 의도했던 대로 정확하게 사용자의 요구를 만족하는 기능을 제공하는지 여부를 나타낸다.

1-2 ISO/IEC9126의 품질 특성 및 하위 특성(3) ② 신뢰성reliability 소프트웨어를 믿고 사용할 수 있는지 여부를 나타낸다.

1-2 ISO/IEC9126의 품질 특성 및 하위 특성(4) ③ 사용성usability 편리한 기능을 제공하는 정도를 나타낸다.

1-2 ISO/IEC9126의 품질 특성 및 하위 특성(5) ④ 효율성efficiency

1-2 ISO/IEC9126의 품질 특성 및 하위 특성(6) ⑤ 유지보수 용이성maintainability

1-2 ISO/IEC9126의 품질 특성 및 하위 특성(7) ⑥ 이식성portability

2. ISO/IEC 14598 모델 ISO/IEC 14598information technology-software product evaluation 소프트웨어 공급자와 구매자 사이에서 소프트웨어 개발 과정 또는 개발된 제품의 품질을 객관적으로 평가하기 위한 방법과 절차를 정의한 국제 표준 규격

2-1 ISO/IEC 14598의 특성 ISO/IEC 14598의 특성 • 반복성repeatability : 특정 제품을 동일한 평가자(기관)가 동일 기준을 적용하여 평가 했을 때 동일 한 결과가 나와야 한다. • 재생산성reproducibility : 특정 제품을 다른 평가자(기관)가 동일 기준을 적용하여 평 가했을 때 동 일한 결과가 나와야 한다. • 공정성impartiality : 평가가 특정한 결과를 내기 위해 불공정한 편견이 없어야 한다. • 객관성: 평가는 주관적 판단을 최소화하고 객관적 자료를 근거로 해야 한다. • ISO/IEC 9126 표준 준수: ISO/IEC 9126에 규정한 표준을 준수한다. • 규정하지 않는 내용: 품질 평가의 측정 기술, 측정 결과의 해석 방법 등은 규정하고 있 지 않다

2-2 ISO/IEC 14598의 제품 품질 측정 및 평가 방법(1) 소프트웨어 제품의 품질 평가를 수행하기 위한 일반적인 개요로 범위와 용어를 정의 ISO/IEC 14598과 ISO/IEC 9126의 관계 설명 개발자/평가자/구매자가 사용할 수 있는 평가 프로세스와 평가 모듈에 대한 로드맵 제공 ② 계획과 관리(ISO/IEC 14598-2) 품질 평가 척도를 프로젝트 성격에 따라 선정하고 적용하기 위한 제품 품질 측정 계획의 준비와 구현에 대해 다루고 있다. 제품 평가 기능을 지원하기 위한 요구 사항과 안내 지침을 포함한 전체적인 사항을 제공 ③ 개발자를 위한 프로세스(ISO/IEC 14598-3) 소프트웨어 개발 단계에서 알아야 할 개발자 준수 사항으로, 개발자가 개발 과정 및 최종 소프트웨어 제품의 품질 평가에 사용할 수 있는 방법을 제공

2-2 ISO/IEC 14598의 제품 품질 측정 및 평가 방법(2) 소프트웨어 제품을 구매하기 위한 계획을 수립할 때 사용하는 구매자용 프로세스 구매자가 상용 소프트웨어 제품을 구매하는 과정에서 소프트웨어 제품의 품질 평가에 사용할 수 있는 방법 제공 ⑤ 평가자를 위한 프로세스(ISO/IEC 14598-5) 품질 전문가를 위한 프로세스로, 평가자가 개발 과정 및 최종 소프트웨어 제품의 품질 평가를 수행할 때 사용 ⑥ 평가 모듈(ISO/IEC 14598-6) 개발자/구매자/평가자가 소프트웨어 제품의 품질을 평가할 때 사용할 수 있도록 평가 모델에 대한 기본적인 가이드와 이론적인 모델 제공 평가 모듈을 개발하여 문서화하고 검증하는 지침 제공

2-3 ISO/IEC 14598의 제품 품질 평가 절차

3. ISO/IEC 12119 모델(1) ISO/IEC 12119information technology-software packages-quality requirements and testing 패키지 소프트웨어의 일반적인 제품 품질 요구 사항 및 테스트를 위한 국제 표준 규격 규격 내용: 품질, 지침, 세부 인증 요건 사항: 명확화, 유사 문서 정의, 변경(가능)성, 환경 명세, 보안성 구성: 제품 설명서, 사용자 문서, 실행 프로그램 첫 번째 평가 대상: - 패키지 소프트웨어 - 제품 문서, 사용자 문서, 프로그램/데이터에 명시된 요구 사항 두 번째 평가 대상: 패키지 SW와 최종 제품 및 중간 산출물을 포함하는 수주 개발 SW 셋째 평가 대상: 패키지 SW와 최종 제품 및 개발/유지보수 과정을 포함한 수주 개발 SW 테스트 대상: 소프트웨어 제품 명세서, 사용자 매뉴얼, 사용자 요구 테스트 결과서 등 주요 테스트 평가 항목: 기능성, 신뢰성, 사용성, 이식성 등 평가 척도: ISO 9126-2, ISO 9126-3(품질 메트릭), ISO 12119(테스트 방법)

3. ISO/IEC 12119 모델(2) 평가 절차와 SW 패키지 품질 요구사항 및 테스트 모델

4. ISO/IEC 25000 모델(1) ISO/IEC 25000, SQuaRESoftware Quality and Requirement Evaluation 사용자들에게 유용하도록 여러 표준 문서를 통합하고 재구성하여 만든 국제 표준 문서 소프트웨어 품질 평가 모델로부터 시작해 전체적인 품질 평가를 위한 표준 방안 제시

4. ISO/IEC 25000 모델(2) ISO/IEC 25000 구성도

Section 04 프로세스 품질 특성 평가 모델

0. 프로세스 품질 제품 품질의 비유 프로세스 품질의 비유 프로세스 품질 좋은 수돗물을 마시려면 무엇보다 수질 자체가 좋아야 한다. 프로세스 품질의 비유 가정까지 오는 수도관이 오래되어 녹슬거나 파손되었으면 깨끗한 물을 마실 수 없다. 프로세스 품질 소프트웨어 제품의 최종 품질에 영향을 줄 수 있는 소프트웨어 개발과정에 대한 품질 • 품질 시스템 보증을 위한 ISO 9000 모델 • 소프트웨어 생명주기 프로세스 표준을 위한 ISO 12207 모델 • 소프트웨어 프로세스 능력 평가를 위한 CMMI와 SPICE(ISO 15504) 모델

1. ISO/IEC 9000 모델의 품질 요소(1) ISO 9000 국제 표준화 기구ISO가 정한 품질 관리와 품질 보증을 위한 모델 해당 제품이나 서비스 설계에서부터 생산 시설, 시험 검사 등 전반에 걸쳐 규격준수 여부를 확인해 인증 목적: 제품의 품질을 객관적으로 인증 받아 사용자에게 신뢰감을 주는 것

1. ISO/IEC 9000 모델의 품질 요소(2) ISO 9000 모델의 특징 • SDLC의 과정에 대한 품질 보증 모델이다. • 소프트웨어 개발을 목표로 구체화되지 않았다. • 소프트웨어에 적용할 수 있는 일반 원리를 설정한다. • 품질 프로세스의 다양한 측면을 기술한다. • 기업이 정의해야 하는 조직의 표준과 절차를 나열한다. • 조직의 품질 매뉴얼로 문서화한다. • 사용되어야 하는 품질 프로세스를 정의하지 않는다. • 공급자와 구매자 간의 관리 책임을 명시한다.

2. 프로세스 표준을 위한 ISO 12207 모델(1) ISO 12207 소프트웨어 개발 생명주기 프로세스인 소프트웨어 생성부터 폐기까지의 프로세스에 해당 구성: 기본 생명주기, 지원 생명주기, 조직 생명주기 기본 생명주기 프로세스: 소프트웨어의 획득, 공급, 개발, 운영, 유지보수 프로세스를 체계적으로 관리하기 위한 life cycle process standard를 제공 실무자들에게 공통 사항에 대한 프레임워크를 제공

2. 프로세스 표준을 위한 ISO 12207 모델(2)

Section 05 대표적인 프로세스 능력 평가 모델

1. 표준 프로세스의 필요성(1) 표준 프로세스 소프트웨어 개발에서 레시피, 하나의 매뉴얼, 내비게이션과 같은 역할 조직원들이 우왕좌왕 해매는 시간을 줄여주고 생산성을 높인다. 기준과 목표, 방향을 제시해주기 때문에 업무 처리 프로세스가 명확하고 계획적이며 결과를 충분히 예측할 수 있다.

1. 표준 프로세스의 필요성(2) CMMICapability Maturity Model Integration 조직의 프로세스 개선을 위해 개발 기업에 표준 프로세스를 만들 수 있는 지침을 제시하고, 그 기준이 된다. 어떤 조직이 표준 프로세스를 사용하고 지속적으로 개선한다면 조직의 업무 수행 능력 및 품질 향상 현재 조직의 표준 프로세스 수준을 잘 파악 향후 개선 방향 판단 가능 프로젝트의 정량적 목표 및 계획 수립 가능 최종 목표 달성 예측 가능 → 소프트웨어 공학의 목표인 개발의 생산성 향상과 품질 향상을 꾀할 수 있다.

2. CMMI 모델(1) C: 능력Capability M: 성숙도Maturity M: 모델Model 능력: 개발 목표(주어진 기간, 정해진 비용, 고품질 등)를 달성할 수 있는 힘 M: 성숙도Maturity 성숙(사전적 의미): ‘생물의 발육이 완전히 이루어짐’, ‘몸과 마음이 자라서 어른스럽게 됨’, ‘경험이나 습관을 쌓아 익숙해짐’ 등으로, 다 자라서(완성되어) 책임감이 있는 느낌을 준다. 성숙도가 높은 조직: 책임감이 있는 조직으로서 개발 과정에서 객관적이고 정량적인 근거에 따라 프로세스가 측정되고 지속적인 개선이 이루어지는 조직 M: 모델Model 프로세스를 감사(audit)하는 의미로 사용, 기준대로 하고 있는지, 그렇지 않은지를 검사 CMMI는 그 기준을 제시하고 있는데 그것이 ‘수행 지침(best practice)’이라는 모델

2. CMMI 모델(2) I: 통합Integration CMMI 여러 가지 프로세스의 기준을 하나로 통합했다는 의미 소프트웨어 개발 생명주기의 각 단계를 통합한 모델이라는 의미 CMMI 조직의 프로세스에 대한 가이드이자 기준 ‘능력’과 ‘성숙도’로 조직의 프로세스를 측정하고 평가하는 모델의 통합 버전인 프로세스 개선 성숙도 모델

2. CMMI 모델(3) 성숙도가 높은 조직과 낮은 조직의 특징

3. CMMI의 구성(1) CMMI 5단계

3. CMMI의 구성(2)

3. CMMI의 구성(3) CMMI 프로세스 영역의 구조도

3. CMMI의 구성(4) 일반 목표와 수행 지침 세부 목표와 수행 지침 목표: 모든 프로세스 영역에 공통으로 적용되는 목표 일반 목표 달성: 해당 프로세스의 활동들이 조직에 내재화되어 자연스럽게 수행될 수 있음 수행 지침: 일반적인 목표를 만족시키기 위해 수행해야 하는 활동이 무엇인지를 설명 세부 목표와 수행 지침 목표: 특정 프로세스 영역에만 적용되는 좁은 의미의 구체적인 목표 수행 지침: 세부적인 목표를 만족시키기 위해 수행해야 하는 활동이 무엇인지를 설명

3. CMMI의 구성(5) 필수 구성 요소 예상 구성 요소 정보 제공 구성 요소 조직이 프로세스 영역을 만족시키기 위해 무엇을 성취해야 하는지를 기술하는 구성 요소 세부 목표와 일반 목표가 이에 해당 예상 구성 요소 조직이 필수 구성 요소를 성취하기 위해 전형적으로 무엇을 구현해야 하는지를 기술 이 구성 요소들은 누가 평가를 수행하고 개선을 구현하는지를 가이드 일반 수행 지침과 세부 수행 지침이 이에 해당 정보 제공 구성 요소 필수 구성 요소와 예상 구성 요소에 접근할 수 있도록 돕는 세부 내용을 제공 예제 작업 산출물, 하위 지침, 일반 수행 지침의 정책, 입문 노트, 관련 프로세스 영역 등이 이에 해당

4. CMMI의 평가 방법 단계적 표현staged representation 방법의 성숙 단계maturity level 평가 방법 연속적 표현continuous representation 방법의 능력 단계capability level

4-1 단계적 표현 방법의 성숙 단계(1) 성숙 단계 조직에서 해당 업무를 얼마나 체계적으로 수행하고 있는지를 나타내며, 지표로는 1에서 5까지 5단계로 구분하여 사용

4-1 단계적 표현 방법의 성숙 단계(2) 성숙도 단계별 프로세스 영역

4-1 단계적 표현 방법의 성숙 단계(3) CMMI 모델의 단계적 표현

4-1 단계적 표현 방법의 성숙 단계(4) 초기initial 단계 : 프로세스 없음

4-1 단계적 표현 방법의 성숙 단계(5) 초기initial 단계 : 프로세스 없음 ① 프로세스가 정확히 정의 안됨 개발자 임의로 프로세스 정의 및 수시로 바꿈 통제가 불가능하고 비공식적이며 수행 결과도 예측하기 어렵다. 프로젝트 리더의 능력에 따른 프로젝트 성공, 실패 개인 역량이 뛰어난 한두 명에 의해 프로젝트의 결과가 결정 ② 개발 조직: 팀 협업 안됨, 적시에 교육 훈련 제공 안됨, 체계적 관리 안됨, 개발과 유지보수를 위한 조직 환경의 뒷받침이 불안정 ③ 개발 과정: 무질서, 계획과 일정 구별 못함, 진척 상황 측정 안됨 제품개발 과정 추적 및 통제 안됨 임시방편으로 처리. 계획된 절차 없이 개발 시간에 쫓김 분석/설계 없이 바로 코딩

4-1 단계적 표현 방법의 성숙 단계(6) 관리managed 단계: 프로젝트 별로 프로세스 존재

4-1 단계적 표현 방법의 성숙 단계(7) 관리managed 단계: 프로젝트 별로 프로세스 존재 ① 기본 프로세스 확립 프로젝트 예산, 일정, 기능에 대해 추적 및 예측이 가능 문제가 발생 시: 규칙화되고 훈련된 프로세스에 따라 움직임 결과물에 대해 사용자의 요구를 만족시키는지 확인 가능 프로세스 원칙이 잘 지켜짐 개인 경험보다는 과거의 축적된 데이터를 참조함 ② 개발 조직: 프로젝트 관리를 위한 정책을 세우고 절차들을 실행 ③ 개발 과정: 기본 프로젝트 관리 통제 체계가 확립 됨 요구 사항이 명확하게 문서로 작성 프로젝트 계획과 진행 상황 추적 가능

4-1 단계적 표현 방법의 성숙 단계(8) 정의defined 단계 : 조직 차원의 표준 프로세스 존재

4-1 단계적 표현 방법의 성숙 단계(9) 정의defined 단계 : 조직 차원의 표준 프로세스 존재 ① 표준화된 프로세스 존재 개별 프로젝트: 제공된 가이드를 참조로 표준 프로세스를 수정하여 활용 조직 전체: 표준 프로세스를 따름 ② 조직 내: 소프트웨어 프로세스를 전담하기 위한 SEPG 존재 SEPG: 관리자를 위한 기술 교육 실시 ③ 개발 과정: 표준 프로세스를 사용하여 개발 공정, 비용, 일정 등을 통제 가능 소프트웨어 품질 또한 추적 가능하여 관리 활동이 전반적으로 안정적 잘 지켜지는 표준화와 일관성으로 프로세스 안정화

4-1 단계적 표현 방법의 성숙 단계(10) 정량적 관리(quantitatively managed) 단계: 측정 가능한 정량적 프로세스 SW 프로세스 수치화, 계량화 철저한 관리 성과 예측 가능 제품의 품질

4-1 단계적 표현 방법의 성숙 단계(11) 최적화optimizing 단계 : 프로세스를 지속적으로 개선 지금까지 조직 차원에서 사용해오던 표준 프로세스를 개선하여 최적화 표준 프로세스 검토 후 보완 및 최신 기술 반영 지속적 프로세스 개선 개선된 프로세스를 전 조직이 사용

4-2 연속적 표현 방법의 능력 단계(1) 능력 단계 프로세스 영역 능력 수준을 측정하는 연속적 표현 모델 해당 조직의 각 프로세스 영역에 대한 능력이 얼마나 되는지를 나타냄 프로세스 영역별 능력 수준을 확인 잘되는 영역, 떨어지는 영역 구별 파악 가능

4-2 연속적 표현 방법의 능력 단계(2) 프로세스 영역별 능력 수준 점검의 이점 떨어지는 프로세스 영역: 집중 관리 가능 중요한 프로세스 영역: 집중적으로 자원 투입 능력 수준 향상

5. SPICE(ISO 15504) 모델(1) SPICE 모델 소프트웨어 프로세스 평가를 위한 프레임워크를 제공 정보 시스템 분야에 특화된 품질 표준이자 인증 규격의 역할

5. SPICE(ISO 15504) 모델(2) SPICE 모델의 프로세스 수행 능력 단계

Section 06 품질 관리

0. 품질 관리 품질 관리quality management 품질 통제quality control 개발의 각 단계에서 일어나는 모든 활동과 활동 중에 생성되는 여러 산출물을 통제하고 보증하여 품질을 관리하기 위한 활동 품질 통제 품질 관리 품질 보증 품질 통제quality control 품질 절차와 표준을 개발자들이 준수하도록 프로세스를 정의하고 규정을 만드는 것 목적: 품질 좋은 소프트웨어를 만들기 위함

1. 품질 보증(1) IEEE 정의 품질 보증quality assurance 정의 • 개발된 소프트웨어가 사용자의 요구를 만족시킨다는 것을 보장하는 데 필요한 계획적이고 체계적인 활동 • 개발된 소프트웨어가 기술적인 요구 사항과 일치하는가를 적절하게 확인하는 데 필요한 체계적이고도 계획적인 유형의 활동 소프트웨어의 결함을 줄여 품질 좋은 소프트웨어를 만들기 위해, 사용자가 요구하는 품질 수준을 파악하고 이를 어떻게 달성할 수 있는지를 정의하는 개발 단계 전역에 걸친 체계적인 작업

1. 품질 보증(2) 품질 보증 활동 개발 과정 전·후의 품질 보증 작업 개발 단계 전역에 걸쳐 품질에 영향을 미치는 문제점을 조기에 발견하여 제거하는 것 개발된 소프트웨어의 품질이 목표한 수준에 있다는 것을 보증 소프트웨어 개발 단계 전역에 걸쳐 적용되는 보호 활동umbrella activity 개발 과정 전·후의 품질 보증 작업

1. 품질 보증(3) 품질 보증의 기대 효과 품질 보증의 문제점 • 개발 체계 및 품질 환경 적립 - 명확한 요구 사항 정립 및 검토와 개발 기법의 표준화로 프로그램의 이해도 증진 - 문서 작성의 표준화 유도와 품질 정보의 체계적 관리로 유사 문제점 재발 방지 • 개발 시스템 품질 향상 - 개발 초기 단계에서 문제점 발견 및 보완 - 객관적 품질 평가로 사용성 증대 • 품질 보증에 대한 인식 부족 • 품질 요원을 중요시하지 않는 시각에 따른 경험 많은 품질 보증 요원의 부족 • 품질 보증에 대한 제도의 표준화와 절차 확립의 부족

1. 품질 보증(4) IEEE의 품질 보증 계획서