리만의 법칙, 유지보수 유형 |
I. 소프트웨어 생명연장, 소프트웨어 유지보수의 개요
가. 소프트웨어 유지보수의 정의 (TCO 관점을 항상 생각)
- 소프트웨어의 생명 연장을 위해, 결함제거, 성능향상 등 변화된 환경에 적응을 위한 운영 중심의 단계
나. 소프트웨어 유지보수의 필요성
- 버그제거, 운영환경의 변화, 정부 정책의 변화, 비즈니스 절차의 변화, 미래 문제 대비
II. 소프트웨어 진화의 법칙 및 유지보수 유형
가. 리만(Lehman)의 법칙
원리 |
설명 |
지속적인 변경의 원칙 (Continuing Change) |
- 소프트웨어는 변경됨 - 시스템이 릴리즈 된 후, 그 시스템이 대체 될 때까지 계속 변경 |
프로그램 진화의 법칙 (Large Program Evolution) |
- 프로그램 별 변경되는 고유한 추세가 있음 |
엔트로피, 복잡도 증가의 법칙 (Increasing Complexity) |
- 변경이 가해질수록 구조는 복잡해짐 - 변경이 오류를 유발하고, 더 많은 변경을 요구하면서 구조 악화 |
안정성 유지의 법칙 (Conversation of Organization Stability)) |
- 조직의 개발 생산성이 조직 변화에 민감하지 않고 안정됨 - 진화하는 시스템 유지보수는 소멸 전까지 일정한 평균 작업량 유지 |
친근성 유지의 원리 (Conversation of Familiarity) |
- 소프트웨어 각 버전의 변화는 일정함 - 시스템의 평균 성장률은 소멸 시까지 일정함 |
지속적 성장의 법칙 (Continuing Growth) |
- 진화하는 시스템은 사용자를 만족시키기 위해 기능적 성장을 계속 진행 |
품질 저하의 법칙 (Declining Quality)) |
- 진화하는 시스템의 품질은 운영 환경의 변화에 완전히 적응하지 못하는 한 저하 |
피드백 시스템의 법칙 (Feedback Systems) |
- 진화 프로세스는 여러 단계의 여러 번 반복, 중요한 역할을 담당하는 여러 관련자들의 피드백으로 구성 |
나. 유지보수의 유형
유지보수 유형 |
설명 |
사례 |
수정 유지보수 (Corrective) |
발견된 오류의 원인을 찾아 문제 해결 오류와 결함의 수정 부분 |
A/S 시점 |
적응 유지보수 (Adaptive) |
새로운 자료나 운영체제, 하드웨어 환경으로 이식 |
SW 환경 변경으로 Porting |
완전 유지보수 (Perfective) |
오류가 아닌 부족한 부분, 불완전 부분 유지보수 |
신규 비즈니스 프로세스 발생 |
예방 유지보수 (Preventive) |
유지보수성, 신뢰성 향상 위한 구조 변경 등 향후 발생 가능성 사전에 처리 유지보수 |
Refactoring |
'IT기술노트 > 소프트웨어공학' 카테고리의 다른 글
역공학, 재공학, 재사용 (0) | 2021.02.04 |
---|---|
3R(Reverse Eng. Re-Eng. Reuse Eng) (0) | 2021.02.04 |
정형기술검토(FTR, Formal Technical Review) (0) | 2021.02.03 |
소프트웨어 형상관리(Software Configuration Management) (0) | 2021.02.03 |
테스트 종류 (0) | 2021.02.03 |
탐색적 테스팅 (0) | 2021.02.03 |
경험 기반 테스트 (0) | 2021.02.03 |
리스크 기반 테스트 (0) | 2021.02.03 |
댓글