1. 소프트웨어 유지보수의 개념과 유형

1) 소프트웨어 유지보수의 정의

  • 소프트웨어 유지보수는 SDLC(Software Development Life Cycle)의 마지막 단계로 소프트웨어의 생명을 연장시키는 운영중심의 작업 단계
  • 오류의 수정, 원래의 요구를 정정, 기능과 수행력을 증진시키는 일련의 작업
  • 소프트웨어가 고객에게 납품된 후 결함의 제거, 성능항상, 변화된 환경에 적응하도록 처리하는 일련의 모든 소프트웨어 공학적 작업

2) 소프트웨어 유지보수의 목적 및 필요성

소프트웨어 유지보수의 목적

  • 소프트웨어의 성능 개선 및 하자보수
  • 새로운 환경에서 동작할 수 있도록 이식 및 수정과 오류를 예방

소프트웨어 유지보수 필요성

  • 소프트웨어 개발 및 유지 전체 예산에서 기존 개발 비용보다 유지보수 비용이 현격히 증가
  • 소프트웨어 복잡화에 따라 문서화 등의 관리업무가 증가
  • 개발 기간에 비해 사용 기간이 길기 때문에 관리의 중요성이 강조
  • 용역 개발보다 패키지 개발이 확산됨에 따라 유지보수 부문이 증가

3) 소프트웨어 유지보수의 종류

분류기준 종류 내용
사유에 의한 유지보수 수정 유지보수(Collective) 오류로 인한 유지보수. 처리, 수행 구현 오류 식별
적응 유지보수(Adaptive) 데이터 환경과 인프라 환경 변화적응을 위한 처리
완전화 유지보수(Perfective) 새로운 기능추가, 변경, 품질을 위한 유지보수
시간에 의한 유지보수 계획 유지보수(Scheduled) 주기적 유지보수
예방 유지보수(Preventive) 예방차원의 유지보수
응급 유지보수(Emergent) 유지보수의 사후 승인 필요 시
대상에 의한 유지보수 데이터/프로그램 보수 데이터의 Conversion등 필요 시 처리
문서화 유지보수 문서 표준의 변경이나 기타 필요 시 처리 유지보수
시스템 유지보수 시스템의 유지보수

 

2. 소프트웨어 유지보수 활동

1) 소프트웨어 유지보수 절차 및 요소

소프트웨어 유지보수 절차

유지보수절차 내용
현행 S/W 이해 프로그램 구조 분석, 변수/자료구조, 응용분야, 업무지식
요구사항 분석 유지보수 유형, 전략수립(수정/신규)
변경 프로그램 등 대상 파악
영향범위 파악 및 수정 SW 변경으로 인한 기존 기능 영향
프로그램 변경.수정
테스트/유지보수 문서수정 형상관리. 유지보수 수행

유지보수 용의성

이용 용이성 애플리케이션이나 프로그램이 얼마나 이해하기 용이한가를 나타내는 특성
수정 용이성 애플리케이션이나 프로그램을 수정하는데 얼마나 용이한가를 나타내는 특성
시험 용이성 애플리케이션이나 프로그램의 정확성을 보여주는 과정이 얼마나 용이한가를 나타내는 특성

- 유지보수 용이성은 소프트웨어 유지보수의 난이도를 나타내는 특성

유지보수 용의성 개선 활동

활동 설명
분석활동(Analysis Activities) 고객의 요구사항과 제약사항을 결정하며 개발하려는 제품의 타당성을 밝힘
표준 및 지침(Standard and Guidelines) 소프트웨어 유지보수가 용이하도록 다양한 종류의 표준 및 지침 제정
설계 활동(Design Activities) 명확성, 모듈성, 변경 용이성을 강조하여 활용함
구현 활동(Implementation Activities) 표준 구조와 코딩 스타일을 적용해야 함
보조 문서(Supporting Documents) 유지보수 활동에 필요한 지침서와 테스트 설명서가 필요함

- 향후에 환경이 변화하더라도 사용자 또는 고객의 요구사항을 지속적으로 충족시키면서, 급격히 증가하는 유지보수 비용에 경제적으로 대응

- IEEE/EIA 12207은 유지보수 담당자를 유지보수 활동을 수행하는 조직으로 정의

2) 소프트웨어 유지보수 조직 

유지보수 활동별 주체

단계 활동 활동주체
요청 MRF(Modification Request Form) 작성
CR(Change Request) 작성
사용자,
분석 유지보수 유형 분류, 심각성 판단
유지보수 요청 내용 분석, 영향도 분석
유지보수 우선순위 결정
분석자
승인 분석 내수에 따라 유지보수 진행 여부 승인
유지보수 실행에 대한 승인
유지보수관리 위원회
실행 유지보수 대상에 대한 유지보수 실행
소프트웨어 변경 보고서(SCR) 작성
관련문서 변경
유지보수 담당자

소프트웨어 유지보수 조직 유형

유형 내용
작업의 형태에 따른 조직 사용자의 요구를 분석하고 시스템을 설계, 구현하고 테스트
팀은 서로 분리된 책임과 역할 수행
프로그래밍 지식과 기술에 대해 전문화되나, 분석가와 프로그래머 간 조정 비용 필요
애플리케이션 분야에 따른 조직 응용 애플리케이션에 따라서 조직을 분류
응용지식의 개발에 대해 전문성을 가짐
생명주기에 따른 조직 개발과 유지보수로 조직을 구분
개발과 유지보수 기술의 전문화
개발/유지보수 조직 간 조정 비용 필요

- 가장 많이 적용되는 유형은 어플리케이션 분야에 따른 조직으로 응용업무에 대한 지식이 필요한 분야에 주로 적용

 

+ Recent posts