본문 바로가기
TechNote/소프트웨어 공학(SW)

008. 소프트웨어 유지보수

by 도지웅 2022. 9. 30.
반응형

1. SW의 효율적인 운영을 위한 S/W유지보수

가. SW 유지보수의 정의

  • SDLC(Software Develop Life Cycle)의 마지막 단계로 소프트웨어의 생명을 연장시키는 운영 중심의 작업 단계
  • 소프트웨어가 개발되어 폐기 때까지 이루어지는 일련의  SW 변경과 수정 작업
  • 소프트웨어가 납품된 후 결합의 제거, 성능 향상, 변화된 환경에 적응토록 처리하기 위한 일련의 모든 소프트웨어 공학적 작업 

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

  • 소프트웨어 성능개선, 하자보수
  • 새로운 환경에서 동작할 수 있도록 이식 및 수정과 일련의 예방적 조치

다. 소프트웨어 유지보수의 중요성

중요성 설명
관리적 SW기능의 복잡화에 따라 문서화 등의 관리업무 증가
운영적 유지보수 운영비용이 전체 비용의 70~80% 차지
기술적 SW신규인력이 기술적으로 중요한 신규 프로젝트보다 유지보수에 투입되는 낭비요소 발생
시간적 개발기간에 비해 사용기간이 길기 때문

2. 소프트웨어 유지보수의 절차와 종류

가. 소프트웨어 유지보수의 절차

나. 소프트웨어 유지보수의 절차

  • 유지보수 요구 > 현 시스템의 이해 요구사항 분석 > 수정 및 시험 / 검증 및 확인 > 승인 > 결과보고 사용 또는 폐지
  • 유지보수 기간에 사용자 요구사항이 시스템에 반영되기까지 단계

다. 유지보수 종류

분류 기준 종류 내용
사유에 의한
유지보수

교정  -오류로 인한 유지보수 발생
-처리오류, 수행오류, 구현오류 등의 식별과 처리
적응 데이터 환경과 인프라 환경 변화 적응을 위한 처리
완전화 새로운 기능 추가, 변경, 품질을 위한 유지보수
시간에 의한
유지보수

계획된 주기적인 유지보수
예방 미리 예방차원의 유지보수(예 : 보안관련)
응급 유지보수의 사후 승인 필요시
대상에 의한
유지보수

데이터/프로그램 데이터의 conversion 등 필요시 처리
문서화 문서표준의 변경이나 기타 필요시 처리

다. 유지보수의 단계별 활동

구분 내용 주체
요청 -MRF(Modification Request From) 작성
-CR(change Request) 작성
사용자
분석 유지보수 유형 분류, 심각성 판단, 내용/영향도   분석, 우선순위 결정 분석 전문가
승인 분석내용에 따라 유지보수 여부 승인, 실행에대한 승인 유지보수 관리위원회
실행 유지보수 대상에 대한 유지보수 실행 유지보수 담당자

3. 소프트웨어 유지보수 발생 요인과 문제점 및 해결방안

가. 소프트웨어 유기적 측면

  • 소프트웨어 시스템에 대한 사용자 참여 및 만족도 미흡
  • 개발된 시스템의 문서화 , 유연성, 신뢰성 저하

나. 개발 환경적 측면

  • 소프트웨어 유지보수보다는 신규 프로젝트에 치중
  • 표준화된 방법론 및 개발도구 적용의 부재
  • 분석, 설계 시 유지보수성 및 재사용성 요인 반영 미흡

다. 소프트웨어 유지보수 문제점 및 해결방안

문제점 해결방안
- 유지보수에 따른 코드, 자료, 문서상 불일치 발생
- 시스템의 신뢰성 저하 발생
- 유지보수 비용 및 인력의 증가
- 유지보수 절차, 조직 및 운영방법이 비체계적
- 표준화된 개발방법론 및 개발도구 적용
- 소프트웨어 재공학 도구활용 : 분석, 재구조화, 역공학
- 유지보수 요인에 대한 예방활동 실시
- 변경관리, 형상관리 등 적절한 프로젝트관리기법 도입

 

반응형

댓글