- 유지 보수 유형
- 수정형 유지보수
: 발견된 결함을 고치기 위해 소프트웨어 제품을 수정하는 유지보
- 적응형 유지보수
: 변경된 환경에서도 계속 사용할 수 있도록 소프트웨어를 이식하거나 변경하는 유지보수
- 완전형 유지보수
: 성능이나 유지보수성을 개선하기 위해 실시하는 유지보수
- 예방형 유지보수
: 오류 발생을 방지하기 위해 수행하는 유지보수
- Lehman의 진화 법칙이 각각 무엇을 의미하는지 알아야함
- 지속적인 변경의 법칙 : 시스템이 변경될 때까지 변경
- 엔트로피, 복잡도 증가의 법칙
: 시스템이 변경될수록 구조는 복잡해지고 결합도는 증가
- 자기 통제의 법칙
: 시스템 진화는 지속적인 피드백 과정을 가짐
(안전성 유지, 친근성 유지, 지속적 성장 규칙을 일반화)
- 안전성 유지의 법칙 : 소멸될 때까지 일정한 평균 작업량을 보임
- 친근성 유지의 법칙 : 소멸될 때까지 버전의 변화는 거의 일정
- 지속적 성장의 법칙 : 사용자 만족을 위해 기능적 성장을 지속
- 품질 저하의 법칙 : 운영 환경의 변화에 적응하지 못하면 저하
- 피드백 시스템의 법칙
: 진화 프로세스는 중요한 역할의 관련자들의 피드백으로 구성
- 유지보수 작업의 순서
- 현재 프로그램의 이해
- 변경 파악과 분석 (필요한 변경을 파악, 분석)
- 변경 영향 파악 (변경의 이해 당사자들에게 알리고 피드백 받음)
- 변경 구현, 테스트, 설치
- 형상관리란?
: 개발 주기 동안 생성된 문서를 관리하고, 소프트웨어 시스템과 컴포넌트의 상태를 추적하는 작업
- 형상 관리 절차
- 소프트웨어 형상 파악
( : 베이스 라인과 형상 항목을 구분하기 위한 명명 체계 정의)
- 형상 변경 제어 ( : 변경 관리)
- 소프트웨어 형상 감사 ( : 변경 여부 확인 후 검증)
- 소프트웨어 형상 상태 보관
- 베이스 라인이란?
: 소프트웨어 결과물인 형상 항목의 집합으로 프로젝트의 중요한 상태를 정의한다.
- 역공학, 리엔지니어링 설명
- 역공학
: 대상 시스템을 분석하여 시스템의 컴포넌트와 관계를 찾아내어 같은 수준의 다른 표현이나 더 높은 수준의 표현으로 만드는 작업
- 리엔지니어링
: 소프트웨어의 특정 측면을 개선하기 위해 시스템 도는 컴포넌트를 재구조화하는 과정을 의미한다.
- 역공학의 재구조화, 설계 복구에 대해 설명
- 재구조화
: 같은 추상 수준을 가진 표현을 생성하는 작업으로 현재 보유한 문서를 개선시키고 새로 수정된 프로그램을 문서화한다.
- 설계 복구
: 원시코드를 자세히 검토하여 의미있는 추상성 높은 표현을 찾아내고 추출하는 작업으로, 복구된 설계는 원시코드 이해에 도움이 되고, 향후 유지보수 또는 리엔지니어링을 위한 베이스라인으로 사용될 수 있다.