728x90
반응형

SW 유지보수

정의

  • S/W 생명주기의 폐기 전 단계로 오류를 수정하고 사용자의 요구사항을 정정하며 기능과 수행력을 증진시키기 위한 활동

S/W의 효율적 운영의 핵심

  • 관련 오브젝트: ITSM, ITIL
  • 키워드: 수정유지보수, 적응유지보수, 완전화 유지보수, SCR(SW Change Report), MRF(Modification Request Form), CR(Change Request)

S/W 유지보수의 중요성

  • 관리적 중요성: SW 기능 복잡화에 따른 문서화 등 관리업무 증가
  • 비용적 중요성: SDLC의 70~80% 차지

S/W 유지보수의 목적

  • S/W 생명주기의 폐기 전 단계로 오류를 수정하고 사용자의 요구사항을 정정하며 기능과 수행력을 증진시키기 위한 활동
  • 원인/시점/대상의 분류, SW 생명 연장, 유지보수 성과 및 신뢰성 향상

유지보수 유형

  1. 수정 유지보수: 기존 시스템의 오류를 수정
  2. 적응 유지보수: 새로운 환경에 적응하기 위해 시스템을 변경
  3. 완전화 유지보수: 시스템의 성능이나 유지보수성을 향상시키기 위한 변경

유지보수 절차

  • SCR(SW Change Report): 소프트웨어 변경 보고서
  • MRF(Modification Request Form): 수정 요청서
  • CR(Change Request): 변경 요청서

유지보수의 원리

Lehman의 SW 변화 원리

  1. Continuing Change (지속적 변화):
    • 소프트웨어는 환경의 변화에 따라 지속적으로 변경되어야 함.
    • 그렇지 않으면 점차 유용성을 잃게 됨.
  2. Increasing Complexity (증가하는 복잡성):
    • 소프트웨어가 변경될수록 복잡성이 증가함.
    • 복잡성을 관리하지 않으면 유지보수가 어려워짐.
  3. Self-Regulation (자기 조절):
    • 소프트웨어 시스템은 자체적으로 조절되는 경향이 있음.
    • 개발 및 유지보수 과정에서 일정한 패턴을 따름.
  4. Conservation of Organizational Stability (조직 안정성 보존):
    • 소프트웨어의 변화 속도는 일정하게 유지됨.
    • 조직의 안정성을 보존하기 위해 급격한 변화는 피함.
  5. Conservation of Familiarity (친숙성 보존):
    • 소프트웨어의 변경은 기존 시스템과의 친숙성을 유지해야 함.
    • 사용자와 개발자가 시스템에 익숙해지도록 함.
  6. Continuing Growth (지속적 성장):
    • 소프트웨어는 지속적으로 성장하고 기능이 추가됨.
    • 사용자의 요구사항을 충족시키기 위해 확장됨.
  7. Declining Quality (품질 저하):
    • 소프트웨어가 변경될수록 품질이 저하될 가능성이 있음.
    • 품질을 유지하기 위해 지속적인 유지보수가 필요함.
  8. Feedback System (피드백 시스템):
    • 소프트웨어 개발 및 유지보수는 피드백 시스템을 통해 이루어짐.
    • 사용자와 개발자 간의 피드백을 통해 개선됨.

생산성과 효율적 유지보수

  • 3R 적용: Refactoring, Reengineering, Reverse Engineering

비교 항목

  • 비용: 유지보수에 소요되는 총 비용
  • 특성: 유지보수의 종류와 특성
  • 테스트 기간: 유지보수 후 테스트에 소요되는 시간
  • 적용 범위 산정: 유지보수의 적용 범위와 영향도 평가
  • 베이스라인: 유지보수 전후의 기준선 설정
  • 변경 관리: 변경 요청 및 승인 절차
  • 관리 기술/기법: 유지보수에 사용되는 관리 기술 및 기법
  • 생명주기 비용: 소프트웨어 생명주기 전체에 걸친 비용

SW 유지보수는 소프트웨어 개발의 필수적인 부분으로, 체계적인 관리와 효율적인 운영을 통해 프로젝트의 성공을 보장합니다. 이를 통해 SW의 무결성과 정합성을 유지하며, 변경 관리와 추적성을 확보할 수 있습니다.

728x90
반응형

+ Recent posts