10. 유지보수 & 역공학과 재공학

2021. 1. 28. 23:05Topcit 정리/기술영역 - 소프트웨어 개발

반응형

 

소프트웨어 유지보수 

유지보수는 sw 라이프사이클의 마지막 단계로 소프트웨어의 생명을 연장시키는 운영단계이다.

 

목적

성능 개선 및 하자보수, 새로운 환경에서 동작할 수 있도록 이식 및 수정이다.

라이프사이클에서 유지보수 기간이 제일 길고 비용도 나가기 때문에 효율이 정말 중요하다.

 

종류

사유에 의한,

수정 유지보수 : 오류로 인한 버그 잡기

적응 유지보수 : 데이터 환경 변화 적응 처리

완전화 유지보수 : 새로운 기능 추가, 변경

 

시간에 의한,

계획 유지보수 : 주기적 유지보수

예방 유지보수 : 뭔일 터지기 전에 유지보수

응급유지보수 : 일 터지고 급히 메꾸기

 

대상에 의한,

데이터 유지보수 : 데이터 conversion등 필요시 처리

문서화 유지보수 : 문서 표준 변경

시스템 유지보수 : 시스템을 유지보수

 

 

SW 유지보수 절차

현재 sw이해 -> 요구사항 분석 -> 바꿨을때 영향 예측 및 수정 -> 테스트

 

 

 

역공학과 재공학

소프트웨어 3R

3R은 역공학 (Reverse), 재공학 (Re-Engineering), 재사용(Reuse)를 통해 생산성을 올리는 기법이다.

 

필요성

- 비용 절감

- 개발 생산성 향상

- 테스트 용이 및 신속한 대처 가능

 

역공학 : 구현된 소프트웨어를 분석 -> 설계 단계 -> 요구사항 분석. 말그대로 순공학 반대

이미 만들어진 시스템을 다시 역으로 추적하여 설계 기법등의 자료들을 얻어낸다.

 

재공학 : 역공학으로 재구조시킨 소프트웨어를 기반으로 다시 추상화

역공학을 바탕으로 구조를 다시만들거나 모듈을 다시 만든다.

 

재사용 : 재공학을 통해 구현 및 사용중인 소프트웨어 다시 사용

재공학된 소프트웨어는 신뢰적이고, 확장이 쉬우며 유지보수하기 편하다.

반응형