반응형
-
소프트웨어 품질 보증의 개념
-
품질 보증의 정의
-
ISO 8402어떤 물건이 품질 요구 사항을 만족하고 있다는 것에 대해 충분한 신뢰성을 주기 위해 품질 시스템 중에서 실시되고 필요에 따라 실증되는 모든 계획적이고 체계적인 활동
-
ANSI/IEEE물품 또는 제품을 정해진 기술적 요구 사항에 적합하게 함으로써 충분한 신뢰를 얻는 데 필요한 모든 계획적이고 체계적인 활동의 유형
-
일반적 정의소비자가 만족하는 제품 또는 서비스의 품질을 보증하기 위한 조직적.체계적 활동
-
- 품질 보증의 특성
-
소프트웨어 특징 | 품질 보증 관점 | 방법 |
논리의 대규모 집합체 |
|
|
비가시성 |
|
|
다양한 사용자 요구 |
|
|
개인 생산성 |
|
|
-
소프트웨어 품질 보증의 필요성
- 사용자 요구 사항의 최대 만족을 통한 생산성 향상
- 개발 과정에서 품질 문제점 조기 발견 및 제거
- 납기 준수, 제품의 견고성 제품의 확장성 지원
- 비용 및 노력 절감, 생산성 향상, 재사용성 증가
-
품질 측정
- 제품 평가(Product Evaluation) : 의도한 기능
-
공정 평가(Process Assessment) : 최적의 방법 이용
-
검증(Verification)와 Validation) : ANSI/IEEE
-
검증
- 소프트웨어 개발 사이클의 각 과정에서의 성과가 그 전반의 과정에서 확립된 요구 사항을 만족 시키고 있는가를 결정하는 과정(Build the Product Right)
- 검증은 각 개발 공정이 바르게 실시되고 있는지 아닌지를 해당 공정이 종료되기 전에 검토나 테스트 수단을 통해 검사하는 것
-
확인
- 소프트웨어 개발 과정의 최후에 소프트웨어가 요구 사항에 따랐는지를 확인하기 위해 소프트웨어를 평가하는 과정(Build the Right Product)
-
확인은 최종 테스트나 최종 공정에서 소프트웨어 제품이 사용자의 요구 사항 정의를 충족시키는지의 여부를 사용자 입장에서 확인하는 것
-
- 검증(Verification) - 제품을 올바르게 만들고 있는가를 평가하는 것
-
확인(Validation) - 올바른 제품을 만들고 있는가, 즉 개발 과정의 종료 시 소프트웨어가 요구 사항에 맞게 제작되었는가를 평가 하는 것
-
소프트웨어 품질 보증 기법
-
소프트웨어 검토 개념
-
소프트웨어 검토의 의미소프트웨어 공학 과정에서의 여과기로서, 개발 기간 중 제거할 수 있는 결점들을 찾는 과정
-
검토의 필요성(Freedman and Weinberg)
- 기술적인 일은 당연히 검토를 필요로 하며 오류의 원인은 사람
- 개발자가 자신의 몇몇 오류를 찾아내는데 능숙하지만 대부분의 오류는 다른 사람들보다 오히려 찾기 어려움
-
소프트웨어 오류의 비용 영향
- 기술 검토의 이익은 후속 단계 이전에 오류를 조기에 발견하는 것
- 설계 활동이 모든 오류의 50~60%를 차지하며, 기술 검토는 설계 오류의 75% 지적 효과를 가져옴(설계 시 오류 수정에 1$가 소요된다며 유지보수 시 발견된 오류 수정에 평균 67$ 소요)
- 결함 증폭 모델 : 소프트웨어 공학 과정의 설계 및 코딩 단계에서 결함의 발생과 검출을 나타내는 데 이용
-
-
정형적 기술 검토(FTR; Formal Technical Reviews)
-
FTR의 정의FTR이란 검사 리스트(Check List)를 미리 작성하고, 검사 리스트에 근거하여 검토자와 함께 산출물이 정확하게 작성되었는지를 검증하는 방법
- FTR - 소프트웨어 공학 실무자에 의해 수행되는 소프트웨어 품질 보증 활동으로, 요구사항과 일치하는지, 미리 정의된 표준에 따라 표현되었는지, 균일한 방식으로 개발되고 있는지, 철저한 관리가 이루어지고 있는지를 검토 하는 것
-
FTR의 목적
- 소프트웨어 표현을 위한 기능, 논리,구현의 결함 도출
- 소프트웨어가 요구 사항과 일치하는지 검증
- 정의된 표준에 따라 표현되었는지 보증
- 균일한 방식의 소프트웨어 개발 지원
- 프로젝트의 효과적 관리 지원
-
FTR의 종류
-
검토(Review)
- 부적절한 정보나 누락되거나 관련 없는 정보의 발견
- 요구 명세서와의 일치성 검토
- 시스템 개발 요원, 관리자, 사용자, 외부 전문가 참여
-
워크스루(Walk-through)
- 결함을 찾고 대안을 시험하는 수단
- 비공식적인 검토 과정
-
개발에 참여한 팀들로 구성
- 워크스루(Walk-through) - 이미 작성된 산출물의 결함을 발견하기 위해 개발 업무에 관련된 여러 동료 집단이 수행하는 재검토 작업으로 문제점의 조기 발견을 목적으로 운영되며, 분석가가 주체가 되어 적은 인원으로 짧은 시간 내에 검토하는 것
-
검사(Inspection)
- 소프트웨어 구성 요소들의 결함을 찾고 해결책 검증 및 정확한 평가
- 검토보다 엄격하고 정형화 됨
- 검사 리스트(Check List) 등을 사용
-
전문 지식을 가진 팀으로 구성
- 검사(Inspection) - 워크스루와 비슷하나 결함을 발견하여 수정하기 위한 것으로, 각 과정의 산출물에 대한 완성 기준을 정해 놓고 각 과정이 끝날 때마다 제대로 안성 되었는지를 확인
중재자가 주체가 되고 검열팀이 구성될 수 있으며, 검사 리스트를 사용
- 검사(Inspection) - 워크스루와 비슷하나 결함을 발견하여 수정하기 위한 것으로, 각 과정의 산출물에 대한 완성 기준을 정해 놓고 각 과정이 끝날 때마다 제대로 안성 되었는지를 확인
-
-
-
-
소프트웨어 품질 보증 프로세스
- 소프트웨어 품질 보증 절차
순서 | 활동 내역 |
품질 보증 계획 수립 |
|
엔지니어링 활동 검토 |
|
품질 측정 평가 |
|
문서화 |
|
숭인 |
|
보고 및 통보 |
|
- 소프트웨어 품질 보증 활동
품질 보증 활동 | 세부 내용 |
형상관리 | 형상 항목 식별, 변경사항 관리 |
문서관리 | 문서 관리 절차 수립, 문서 작성 / 보관 / 폐기 |
품질 기록 | 품질 보증 계획 / 수행 / 결과 기록 |
합동 검토 | 마일스톤에 따라 프로젝트의 진행 상황을 공동 검토 |
검증 및 확인 | 단계별 검증 및 테스트 |
시정 조치 | 해결 방안 수립 및 조치 |
위험 관리 | 예상 위험 발견 / 평가 / 통제 |
쟁점 관리 | 고객 요구 사항 변경 등의 쟁점 분석 대안 설정 및 실행 |
-
소프트웨어 형상 관리
-
소프트웨어 형상 관리의 개요
-
정의
- 소프트웨어 라이프사이클 단계의 산출물을 체계적으로 관리하고, 소프트웨어 가시성 및 추적성을 부여하여 품질 보증을 향상시키는 기법
- 소프트웨어를 이루는 부품의 기준선을 정하고 변경을 철저히 통제하는 것
-
필요성
- 소프트웨어 개발 및 유지보수 통제의 어려움
- 소프트웨어 추적의 결여 및 무절제한 변경
- 소프트웨어 가시성(Visibility)의 결핍
-
목표
- 소프트웨어 형상 관리의 효율성 제고
- 소프트웨어의 가시성 및 통합 정보 제공
- 소프트웨어 재사용성 향상
- 소프트웨어 유지 보수성 향상
-
- 소프트웨어 형상 관리의 업무는 식별, 형상통제(변경 관리), 형상 감사, 형상 기록 등인데, 이 중 가장 중요한 것은 형상 통제(변경 관리) 이다.
-
CCB[Configuration Control Board, 협상 통제 위원회] - 협상 기준선의 승인과 변경 승인 등의 역할을 수행
-
소프트웨어 형상 관리 기본 용어
-
형상항목(Configuration Item)소프트웨어 라이프사이클 중 공식적으로 정의되어 기술되는 관리 기본 대상
-
형상 관리 기준선
- 각 형상 항목들의 기술적 통제 시점
- 모든 변경을 통제하는 시점의 기준
-
형상물(Configuration Product)소프트웨어 라이프사이클 중 공식적으로 구현되는 형체가 실현된 형상 관리의 대상으로 기술 문서, 하드웨어 제품 소프트웨어 제품 등이 있음
-
형상 정보(Configuration Information)형상 정보 = 형상 항목 + 형상물
-
-
소프트웨어 형상 관리 개념도 및 관리 활동
-
소프트웨어 형상 관리 개념도
- 소프트웨어 형상 관리 활동
-
-
절차 | 내역 |
형상 식별 |
|
형상 통제 (변경 관리) |
|
형상 감사 |
|
형상 기록 |
|
-
소프트웨어 변경 관리
-
변경 관리의 정의소프트웨어 라이프사이클 각 단계에서 형상 항목을 변경 시 효과적이고 체계적으로 통제와 관리를 위한 제반 활동
-
변경 관리/형상 관리 조직
-
분석가
- 사용자와 협의를 통한 문제점 도출
- 기능 향상 및 변경 사항 결정
-
프로그래머변경의 형태와 내용을 알아내고, 실제 프로그램을 수정
-
프로그램 Librarian문서와 코드에 대한 변경을 계속 보관 및 관리
-
형상(변경) 통제 위원회(CCB; Configuration or Change Control Board)
- 개발 요청자와 개발 수행자로 구성
- 소프트웨어 형상 기준선 승인
- 소프트웨어 변경 승인
- 소프트웨어 변경 후 무결성 감사
-
-
변경 관리 제문서사고 보고서 / 변경 요청서
-
변경 관리 절차
-
-
소프트웨어 형상 관리의 효과
-
프로젝트 측면
- 프로젝트의 체계적이고 효율적인 관리의 기준을 제공
- 프로젝트의 원활한 통제 가능
- 프로젝트에 대한 가시성과 추적성 보장
-
소프트웨어 측면
- 소프트웨어의 무절제한 변경 예방
- 소프트웨어 변경에 따른 부작용 최소화 및 관리의 용이성
- 소프트웨어의 품질 보증
- 소프트웨어의 적절한 변경 관리 기능
- 소프트웨어의 유지보수성 향상
- 소프트웨어의 유연한 외주 관리 가능
-
-
소프트웨어 형상 관리의 문제점 및 해결 방안
-
소프트웨어 형상 관리의 문제점
- 형상 항목의 불명확 및 형식적인 식별 관리, 관행적인 통제 수행
- 형상 상태의 기록 및 형상 변경 관리 등의 절차 미비
- 형상 보고 활동의 미흡 및 간과
- 관리 조직의 부재 및 형상 관리 적용의 비 현실화
- 형상 관리가 너무 많으면 제품 생산성 저하, 너무 적으면 제품 품질 저하
-
소프트웨어 형상 관리의 해결 방안
- 적절한 형상 관리 도구의 활용
- 소규모 프로젝트 일수록 형상 관리 정도를 적절히 조정
- 형상 항목을 정하고 모든 변경사항은 공식적인 합의에 의해 실시
- 가동중인 소프트웨어의 변경은 신중을 기해야 함
-
-
소프트웨어 형상 관리의 동향
- 형상 관리는 효율적인 프로젝트 진행, 소프트웨어 개발, 유지보수 관리를 위해 반드시 필요 → 전체적인 TCO 절감
- 효율적인 형상 관리를 위해서는 적절한 조직 구성, 관리 도구 활용, 지속적인 관리 및 명확한 관리 기준 설정 등이 필요
-
형상 관리 자동화를 위한 도구 분야의 발전과 지능화가 진행 중
-
TCO[Total Cost of Ownership, 총 소유 비용] - 투자 의사 결정을 도와주기 위해서 사용되는 TCO는 초기 비용이나 구매 가격만이 아니라 형상 항목을 소유하는 모든 수명 주기 비용을 평가함
-
-
소프트웨어 신뢰도
-
소프트웨어 신뢰도의 개념
- 소프트웨어를 믿고 사용할 수 있는 정도로 모든 품질 가운데 가장 중요한 요소
- 주어진 시간 동안 주어진 환경하에서 프로그램이 고장(Failure) 없이 운영될 확률
- 고장은 소프트웨어 요구 사항에의 불일치
- 신뢰도가 낮으면 소프트웨어 품질도 낮음
-
소프트웨어 고장의 분류
-
초기 고장계산 오류, 논리 오류, 인터페이스 오류 등과 같이 설계나 코딩의 잘못으로 발생되는 오류
-
우발 고장사용자의 요구 사항 변화, 운용 조건의 변화 등으로 인한 오류
-
-
소프트웨어 신뢰도의 척도
-
신뢰도 측정
- 고장들 사이의 평균 시간(MTBF; Mean Time Between Failure)
- MTBF = MTTF + MTTR
-
-
MTTF ; Mean Time To Failure → 평균 가동 시간 | |
MTTR ; Mean Time To Repair → 평균 복구 시간 |
-
유효성(Availability)
- 프로그램이 주어진 시점에서 요구 사항에 따라 작동되는 비율
-
유효성 = MTTF / (MTTF + MTTR) * 100%
- MTBF는 고장과 고장 사이의 평균 시간으로 클수록, 좋고, MTTR은 고장이 나서 복구하는데 사용된 평균 시간으로 적을수록 좋음
-
소프트웨어 신뢰도의 측정 모델
-
고장들 간의 시간 모델(Time between Failure Models)
- 고장 시간 간격 모델화
- 오류를 제거하면 고장 간격이 길어진다고 기대하는 모델
-
오류 계수 모델(Error Count Models)
- 시간 간격도안의 오류 수를 모델화
- 오류가 제거되면 시간 간격당 오류 수는 감소
-
오류 파종 모델(Error Seeding Models)
- 임의의 오류를 삽입
- 주어진 시간 동안 잔재 오류와 파종된 오류의 확률은 동일
-
입력 영역 모델(Input Domain Models)하나의 입력에 대해 고장 없이 정상 작동하는 확률을 측정
-
반응형
'밥벌이 > 소프트웨어 공학' 카테고리의 다른 글
UML Diagram (0) | 2011.08.19 |
---|---|
소프트웨어 품질의 개요 (0) | 2011.01.03 |
소프트웨어 품질 표준 (0) | 2011.01.03 |
소프트웨어 제품 품질 표준 (0) | 2011.01.03 |
소프트웨어 프로세스 품질 표준 (0) | 2011.01.03 |