ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 소프트웨어 품질 관리
    Topcit/소프트웨어 개발 2018. 6. 11. 23:05
      1. 소프트웨어 품질 관리
        1. 소프트웨어 품질관리의 정의
          1. 어플리케이션 생명 주기 동안에 이루어지는 모든 활동 결과로 작성되는 산출물에 대한 품질을 통제, 보증하기 위한 활동
          2. 구성
            1. 소프트웨어 품질 보증
            2. 소프트웨어 품질 통제
          3. 소프트웨어의 품질 목표, 정책, 책임, 역할을 결정
        2. 품질관리 목적
          1. 기술 평가
            1. 적합한 추정 기준, 소프트웨어 품질 예측
          2. 자원 평가
            1. 적절한 자원, 비용 산정
          3. 프로세스 평가
            1. 어플리케이션 생명 주기 프로세스 통제
          4. 제품 확인
            1. 검수 시험, 산출물 확인, 제품과의 비교
        3. 소프트웨어 품질 요소
          1. 운용
            1. 정확성, 신뢰성, 효율성, 확장성, 사용 용이성, 무결성, 유지보수성
          2. 수정
            1. 유지보수성, 이식성
          3. 적응
            1. 시험성, 재사용성, 상호 운영성, 유지성
      2. 소프트웨어 품질 관점
        1. 사용자 관점
          1. 소프트웨어의 사용, 성능, 사용 효과에 관심을 가짐
          2. 소프트웨어의 내부적인 , 어떻게 개발되었는지 모르고 소프트웨어를 평가
        2. 개발자 관점
          1. 중간 제품 품질에도 관심을 가짐
          2. 개발 주기 단계에서의 품질 평가를 위해 단계마다 다른 척도를 사용
          3. 소프트웨어를 유지보수 하는 사람들이 필요로 하는 품질특성의 관점 포함
        3. 관리자 관점
          1. 전반적인 품질에 관심을 가짐
          2. 특성에 사업상 요구를 반영하는 가중치 부여 필요
          3. 관리 기준과 품질 향상을 조화시킬 필요가 있음
      3. 소프트웨어 품질 특성 주요 소프트웨어 품질 모델
        1. 소프트웨어 품질 특성
          1. 기능성
            1. 명시된 요구와 묵시된 요구를 만족하는 기능을 제공하는 소프트웨어 제품 능력
            2. 부특성 : 적합성, 정확성, 상호 호환성, 유연성, 보안성
          2. 신뢰성
            1. 규정된 조건에 사용될 규정된 성능 수준을 유지할 있는 능력
            2. 사용자가 오류를 방지할 있도록 하는 SW 제품의 능력
            3. 부특성 : 성숙성, 오류 허용성, 회복성
          3. 사용성
            1. 사용자에 의해 쉽게 이해되고 학습되며, 선호 있게 하는 SW 제품의 능력
            2. 부특성 : 이해성, 운용성, 습득성
          4. 효율성
            1. 투입된 자원에 대하여 제공되는 성능의 정도
            2. 요구되는 기능을 수행 하기 위해 필요한 자원의 소요 정도
            3. 부특성 : 실행 효율성, 자원 효율성
          5. 유지보수성
            1. 운영 환경, 요구 사항, 기능적 사양에 따른 SW 수정, 개선 변경될 있는 능력
            2. 부특성 : 해석성, 안정성. 변경 용이성. 시험성
          6. 이식성
            1. SW 다른 HW, SW등의 환경으로 옮겨질 있는 능력
            2. 다른 환경으로 이전되는 SW능력의 정도
            3. 부특성 : 적응성, 일치성, 이식 작업성, 치환성
        2. 주요 소프트웨어 품질 모델
          1. 대표적인 소프트웨어 품질 모델
            1. 구분

              제품 관점

              프로세스 관점

              특징

              제품 측정, 제품 검증, 제품 확인

              소프트웨어 프로세스 향상과 심사

              방법

              기능성, 신뢰성, 사용성, 효율성, 유지보수성, 이식성 평가

              프로세스 준수 여부 평가

              표준 모델

              ISO/IEC9126, 14598, 12119, 25000SQuaRE

              ISO 9000, ISO/IEC 12207, SPICE, CMM, CMMI

              장점

              모든 종류의 소프트웨어에 적용

              전문적 판단의 객관화

              많은 종류의 제품에 적용

              검사 기간이 짧고 인증 비용이 절감됨

              단점

              전수 시험의 비용 시간 소모

              최신 소프트웨어 평가가 어려움

              상대적으로 품질을 보증 못함

              혁신적 소프트웨어에 적용 곤란

      4. 소프트웨어 품질 측정 방법
        1. 정의
          1. 소프트웨어 측정 : 소프트웨어의 코드, 개발 프로세스를 수치화하여 정량적으로 나타낸 방법
        2. 방법
          1. 직접 측정
            1. 하나의 묶음으로 소프트웨어의 크기를 측정하는 방법
            2. 비용, 일정, 공수, LOC, 메모리 크기, 에러 등을 측정
          2. 간접 측정
            1. 직접 측정 값을 계산해 소프트웨어의 품질을 측정하는 방법
            2. 기능, 품질, 복잡도, 신뢰도, 유지보수성, 효율성 등을 측정
        3. 소프트웨어 측정 종류
          1. 품질 척도 : 사용자 요구사항에 대한 소프트웨어의 품질 척도를 명시적, 묵시적 표시
          2. 생산성 척도 : 소프트웨어 엔지니어링 절차에 대한 출력에 초점을 둔다.
          3. 기술적 척도 : 논리적 복잡도, 모듈화 정도 소프트웨어의 특성에 초점을 둔다.
          4. 크기 중심 척도 : 소프트웨어 엔지니어링 절차에 따른 산출물 크기를 직접 측정하여 수집한다.
          5. 인간 중심 척도 : 개발자의 태도, , 방법의 효율성에 대한 정보 수집
          6. 기능 중심 척도 : 간접 측정에 의한 정보
      5. 소프트웨어 품질 관리
        1. 소프트웨어 품질 관리
        1. 소프트웨어 품질 관리 구분과 주요 활동
          1. 품질 계획
            1. 실행할 품질의 표준을 식별하고, 실행 방법을 결정
            2. 활동
              1. 품질 시스템 요구사항 파악
              2. 품질 보증 절차 파악
              3. 품질 통제 절차 파악
              4. 운영 절차 정의
              5. 품질 관리 체크리스트 작성
              6. 품질 관리 계획 작성
          2. 품질 보증
            1. 소프트웨어 제품과 요구사항의 일치 여부를 3자의 입장에서 수행
            2. 활동
              1. 프로젝트 산출물 검토
              2. 품질 사고 예방조치 강구
              3. 프로젝트 정차 검토
          3. 품질 통제
            1. 소프트웨어 생명 주기에서 자체적으로 품질 활동을 수행하는
            2. 활동
              1. 품질 경과 모니터링
              2. 계획된 품질 수준과 차이 분석
              3. 필요시 수정 계획 수립
              4. 수정 활동의 문서화, 계획의 최신 상태 유지
      1. 소프트웨어 품질 보증 활동
        1. 정의
          1. 특정 소프트웨어가 이미 정의된 요구사항과 일치하는지를 확인하는 작업
          2. 소프트웨어의 특성, 요구사항을 파악하여 품질 목표를 설정, 품질 목표의 달성 여부 확인, 디버깅, 테스팅
          3. 장점
            1. 사용자 요구사항 최대 만족을 통한 생산성 향상
            2. 개발 과정에서 품질문제점 조기 발견, 제거
            3. 납기 준수, 제품의 견고성, 제품의 확장성
            4. 비용 노력 절감, 생산성 향상, 재사용성 증가
        2. 소프트웨어 품질 보증 기법
          1. 공식 기술 검토
            1. 소프트웨어 품질 보증의 대표적인 기법
            2. 개발자들에 의해 수행되는 소프트웨어 품질 보증 활동
            3. 유형
              1. 워크스루
                1. 소프트웨어 개발 단계에서 수행 가능한 기술 평가 회의
                2. 소프트웨어의 모듈, 소스코드 등의 작은 단위를 검토
                3. 결함의 조기 검출을 목적으로 하며, 발견된 결함은 문서화한다.
              2. 인스펙션
                1. 검토회의를 보다 공식화, 정형화 시킨 형태
                2. 프트웨어 개발 단계의 산출물의 품질을 검토
        3. 소프트웨어 품질 보증 절차 활동
          1. 수행 절차를 정의하여 체계적으로 수행하는 것이 필요
          2. 소프트웨어 생명 주기 전반에 걸쳐 체계적으로 수행되어야
          3. 소프트웨어 품질 활동 종류
            1. 검증
              1. 소프트웨어 분석, 설계의 과정이 올바른지 검사
              2. 소스 코드에 결함이 있지 않은가 검사
            2. 확인
              1. 요구 정의, 분석이 되었는지 검사
            3. 인증
              1. 소프트웨어의 품질을 공식적으로 확인하는 활동
            4. 소프트웨어 테스트
              1. 결함을 발견하기 위하여 프로그램을 수행시키는 활동
            5. 결함 수정
              1. 발견된 결함의 원인을 정확히 진단하고 수정하는 활동
            6. 품질 실사
              1. 프로젝트 품질 실사를 통해 프로젝트의 표준 프로세스, 요구사항 정의서, 프로젝트 계획서 등에 대한 적합성을 평가.
              2. 표준, 계획과의 불일치점을 관찰하고 필요 시정조치를 요구
        4. 소프트웨어 품질 통제, 평가 활동
          1. 소프트웨어 품질 통제
            1. 소프트웨어의 개발, 운영, 유지보수 과정에서 기대하는 소프트웨어의 품질 수준을 유지하기 위해서 반드시 필요한 기본 프로세스
            2. 소프트웨어 개발 조직, 운영 조직, 유지보수 조직 내에서 자체적으로 수행
          2. 소프트웨어 품질 보증
            1. 관련 이해당사자에게 소프트웨어의 신뢰성을 보장해주기 위해 품질 통제 프로세스를 지원해 주는 프로세스
            2. 객관적인 입장을 가진 3자가 수행

    'Topcit > 소프트웨어 개발' 카테고리의 다른 글

    모바일 컴퓨팅  (0) 2018.06.11
    애자일 개발  (0) 2018.06.11
    소프트웨어 형상 관리  (0) 2018.06.11
    소프트웨어의 요구사항 관리  (0) 2018.06.11
    소프트웨어 유지보수, 역공학, 재공학  (0) 2018.06.11

댓글