본문 바로가기
etc/컴퓨터공학

소프트웨어공학 #5-2프로젝트 품질관리

by lazy_nyoung 2024. 4. 6.


소프트웨어공학
5-2 프로젝트 품질관리

 

단원 목표

1. 프로젝트의 구성원으로서 품질관리를 성공적으로 진행하기
2. 소프트웨어 품질요인과 정형 기술을 검토하고 활용하기
3. 품질계획을 수립하고 품질보증 및 품질통제를 이해하고 활용하기

 

 

 

품질관리 정의
IEEE - 개발된 소프트웨어가 사용자의 요구를 만족시키는가/기술적인 요구사항과 일치하는가는 것을 보장하는데 필요한 계획적이고 체계적인 활동

품질보증 

-개발단계 전역 - 문제점 조기 발견/제거 하는 것
*사용자의 요구 만족시키기/목표 수준 보증

품질관리 활동

품질관리 절차 : 계획 수립 -> 계획 실행 -> 유지/통제

계획수립 
-처음 요구사항 -최종 목적물 기능차이 무 (품질보증절차 작성)
-품질유지/통제/품질검사조직(QA) 운영 절차 정의 - 품질관리 체크리스트 작성

계획 실행
-프로젝트 산출물 검토 - 계획대로 진행되고 있는지 조사
-품질 떨어질수 있는 사항 사전 예방조치(ex개발자 교육강화)
-프로젝트 절차 수시 점검
-고객에게 수시로 검토/피드백 요청

유지/통제
-품질결과 모니터링/수시로 계획된 품질 수준과의 차이 분석
-필요 시, 수정계획 수립, 수정활동-문서화, 계획은 항상 최신상태로 유지





소프트웨어 품질요인
소프트웨어 운영
1. 정확성(Correctness): 사용자의 요구 정도를 충족시키느 정도
2. 신뢰성(Reliability) : 옳고 일관된 결과를 얻기 위해 요구된 기능을 수행할 수 있는 정도( 사용자, 발주자, 유지보수자가 공통으로 관심을 보이는 항목 )
3. 사용용이성(Usability): 쉽게 사용할 수 있는 정도
4. 유용성(Utility): 사용자의 요구에 맞는 소프트웨어인가를 평가하는 척도
5. 무결성(Integrity): 허용되지 않는 사용이나 자료의 변경을 허용하지 않는 정도
6. 효율성(Efficiency): 최소의 시간과 기억용량을 소비하여 요구되는 기능을 수행할 수 있는 정도


소프트웨어 개조
1. 유지보수성(Maintainability): 오류가 발견되었을 때 쉽게 교정되는 정도
2. 유연성(Flexibility): 기능의 추가나 다른환경에서 적응하기 위해 쉽게 수정될  수 있는 정도
3. 검사요이성(Testability): 쉽고 철처하게 테스트 될 수 있는 정도

소프트웨어 전이 *기존 소프트웨어 활용(솔루션, 패키지)
1. 이식성(Portability): 여러 환경에서도 운용 가능하도록 쉽게 수정될 수 있는 정도
2. 재사용성(Reusability): 전체나 일부가 다른 응용목적으로 사용될 수 있는 정도
3. 상호운영성(Interoperability): 다른 소프트웨어와 정보를 교환 할 수 있는 정도
4. 강건성(Robustness): 부적절한 입력 등에도 견뎌내는 정도, 요구 명세서에 표시되지 않은 상황에서도 소프트웨어가 제대로 동작하는 성질

 


정형기술 검토(FTR: Formal Technical Review) 
-소프트웨어 품질을 보증을 위한 가장 일반적인 활동
-기능과 로직의 오류를 발견하고 사용자 요구사항 확인 등을 함
-검토회의(Work Through)심사(Inspection)가 있음

정형기술 검토 시 유의사항 (일반 회의와 비슷)
-의제의 제한성, 논쟁과 반박의 제한성
-제품 검토의 집중성, 참가인원의 제한성
-검토자료의 사전 준비성

검토회의 (Work Through)
-소프트웨어 품질검토를 위한 기술적 검토회의
-제품 개발자가 주최
-발견 오류는 문서화
-오류 검출에 초점. 해결책은 추후 진행
-검토를 위한 자료 사전배포 하여 검토
-오류의 조기 검출을 목적으로 함.


심사(Inspection)
-검토회의를 발전시킨 형태
-공식 기술 검토or테스트 수행 전, 설계문서/코드 작성자가 아닌 전문가나 동료가 오류 찾아내는조직화 되고 형식을 감춘 검토방식
-검열자는 심사항목에 대한 체크리스트를 이용하여 검열 작업을 수행


ISO(국제표준화 기구) 9000모델  *필수는 아님
-ISO가 품질관리와 품질보증을 위한 모델 - 만족하면 해당 제품, 소프트웨어, 조직 등에 대하여 인증을 해주는 제도(KS, UL,...)
-ISO9000 은 해당 제품이나 서비스의 설계에서부터 생산 시설, 테스트 검사 등 전반에 걸쳐 규격 준수 여부를 확인해주는것.
-객관적 인증 / 사용자에게 신뢰.
-소프트웨어의 개발 공급, 유지보수에 있어서 품질보증은 ISO 9000-3으로 구성되어 있다.

ISO 9000모델의 특징
-SDLC 의 과정에 대한 품질보증 모델
-구체화 되지 않음/일반 원리를 설정
-품질 프로세스의 다양한 측면 기술
-기업이 정의해야하는 조직의 표준과 절차를 나열
-조직의 품질 메뉴얼로 문서화
-사용되어야 하는 품질 프로세스를 정의하지 않음
-공급자와 구매자 간의 관리 책임을 명시


품질계획 수립
작성 순서
현황분석->방침(정책) 설정 -> 활동 목표 설정 -> 달성 방안 수립 -> 타당성 검토 -> 실시계획 수립 -> 예산 및 자원 계획 수립


품질 측정 대상 및 방법 정의
-계약 시 합의한 품질 관리 수준에 따라 품질 측정의 대상 수준도 달라짐
-제품 수준의 품질 관리는 프로젝트 단위 품질 측정과
서브프로젝트 단위 품질 측정 및 점증 단위 품질 측정으로 구분됨
-단계 수준의 품질관리는 분석, 설계, 구현, 테스트, 전개 단계 등으로 구분됨
-단위 활동 수준의 품질 관리는 각 단위활동의 산출물 에대한 품질 측정으로 구분 됨

제품수준의 품질관리/ 단계 수준의 품질 관리 / 단위 활동 수준의 품질관리
                      
품질 측정 checklist 작성
품질 측정 지표-품질 활동 투입 공수율/재작업 투입 공수율/ 변경작업 투입 공수율
체크리스트 - 요구사항 정의서 / 유스케이스 명세서 / 요구사항 추적서

설계 단계 점검표
품질측정지표-동일
체크리스트 - 클래스 설계서, 인터페이스 설계서, 컴포넌트 설계서,
시스템 인터페이스 설계서, 아키텍처 설계서, 시스템 테스트 시나리오 등등

구현 단계
품질측정지표-동일
체크리스트-프로그램소스/단위테스트결과
수행산출물-품질 관리계획서, 활동내역, 결과보고서

테스트 단계
품질측정지표,수행산출물 동일
체크리스트 - 통합 테스트 시나리오, 단위 테스트 케이스, 데이터베이스 테이블,
통합 테스트 결과, 시스템 테스트 결과

 

 


품질보증 과정
테스트실행관리->품질측정관리/배포표준준수->형상관리/실행관리->품질달성평가(정량적 지표 작성 후 평가)

품질 통제 프로세스 구축
통제조직 : 발주사 / 감리 (제 3자적 관점)
개선 대상 조직 : 사업자로 정의
-발주사의 통제 조직은 프로젝트 수행 사업자 품질을 통제하고, 지속적으로 통제

품질 개선 활동 관리
-품질에 대한 중요성과 내재화로 품질 마인드를 향상시킴
-다양한 품질 검토방안을 활용하여 체계적인 품질 개선 활동을 시행
-검토회의,(검토회의준비->수행->후속조치), 검사수행
-결함 관리 및 결함 관리 프로세스 구축 (결함 검출->결함조치->결함예방)

 



*** *** ***  *** ***  *** ***  *** ***  *** ***  *** *** 핵심정리 *** ***  *** ***  *** ***  *** ***  *** ***  *** **
품질관리 정의 
-프로젝트의 최종 목적물이 요구수준의 맞는 품질이 나올 수 있도록, 프로젝트 수행과정 전반에 걸쳐 어떠한 계획을 가지고 
실행하는지 통제하는 전반적 관리 활동
-품질 관리 활동은 프로젝트 계획단계에서 종료단계까지 지속적으로 진행됨

품질 관리 활동
-소프트웨어 운영, 개조, 전이 시 소프트웨어 품질에 영향을 주는 요인을 고려하여야 함
-정형기술 검토를 통하여 기능과 로직의 오류를 발견하고, 사용자 요구사항 확인 등을 하며,, 검토방법으로는 검토회의와 심사가 있음

품질관리 절차
-품질계획 술비은 품질 계획 작성->측정 대상 및 방법 정의 -> 품질 표준 제정 순으로