728x90
반응형
SMALL
유지보수(Maintenance)
개발된 소프트웨어의 품질을 항상 최상의 상태로 유지하기 위한 것으로, 소프트웨어 개발 단계 중 가장 많은 노력과 비용이 투입되는 단계
- 소프트웨어가 사용자에게 인수되어 설치된 후 발생하는 모든 공학적 작업
- 소프트웨어 유지보수를 용이하게 하려면 시험 용이성, 이해성, 수정용이성, 이식성 등이 고려되어야 함
- 소프트웨어의 수명을 연장시키는 작업
분류
- 수정보수
(Corrective) - 적응보수
(Adaptive) - 완전화 보수
(Perfective) - 예방보수
(Preventive)
수정보수란?
- 시스템을 운영하면서 검사 단계에서 발견하지 못한 잠재적인 오류를 찾아 수정하는 활동으로 오류의 수정과 진단을 포함함
적응보수
- 소프트웨어의 수정기간 중에 발생하는 환경의 변화(하드웨어, 운영체제 등)을 기존의 소프트웨어 반영하기 위하여 수행하는 활동
- 운영체제나 컴파일러와 같은 프로그래밍 환경의 변화와 주변장치 또는 다른 시스템 요소가 향상되거나 변경될 때 대처할 수 있는 유지보수 활동
완전화 보수
- 소프트웽어 본래 기능에 새로운 기능을 추가하거나, 성능을 개선하기 위해 소프트웨어를 확장시키는 활동
- 유지보수 활동 중 가장 큰 업무 및 비용을 차지 하는 활동
예방보수
- 미래에 유지보수를 용이하게 하거나 기능을 향상시키기 위해 소프트웨어를 변경하는 활동
- 소프트웨어 재공학이라고도 함 - 예방!!
유지보수 요구 | 유지보수 활동이 필요한 경우 이에 대한 요구를 수행함 |
현 시스템에 대한 이해 | 요구된 유지보수 활동을 수행하기 위해서는 먼저 현재 시스템에 대한 이해를 필요로 함 현재 시스템에 대해 이해하지 못한 상태에서 유지보수 활동을 수행하면 오류가 발생할 수 있음 |
수정 및 시험 | 유지보수 활동을 수행하고, 유지보수 활동을 수행한 후에도 정상적으로 기능이 수행되는지를 확인하기 위해 테스트함 -> 유지보수 요구, 현 시스템에 대한 이해, 수정 및 시험 순으로 반복해서 일어남 |
문제점
개발된 소프트웨어에 대한 전문적인 설명을 들을 수가 없음
- 다른 사람이 개발한 소프트웨어는 이해하기가 어려울 뿐만아니라 소프트웨어 개발자들의 이직률이 높기 때문이다.
내용을 문서화 하지 않을 경우 추적하기 어려움
- 소프트웨어에 대한 변경이 자주 발생하기 때문이다.
소프트웨어에 대한 적절한 문서가 없거나 문서의 질이 형편 없을 수 있다.
대부분의 소프트웨어는 변경 가능하도록 설계되지 않는다.
유지보수의 부작용
유지보수 활동을 통해 예기치 못한 부작용이 발생될 수 있다.
종류
코딩 부작용 | 코딩 내용의 변경으로 인해 발생하는 부작용 |
자료 부작용 | 자료나 자료 구저의 변경으로 인해 발생하는 부작용 |
문서화 부작용 | 자료 코드에 대한 변경이 설계문서나 사용자가 사용하는 메뉴얼에 적용되지 않을 때에 발생하는 부작용 |
외계인코드?? (Elien code)
- 아주 오래전에 개발되어 유지보수 작업이 매우 어려운 프로그램
- 일반적으로 15년 전 또는 그전에 개발된 프로그램을 의미하며, 문서화(Documentation)를 철저하게 해 두면 외계인 코드를 방지할 수 있다.
728x90
반응형
LIST
'전공공부 > 소프트웨어공학' 카테고리의 다른 글
CASE와 정보저장소 (0) | 2021.11.22 |
---|---|
소프트웨어공학의 발전적 추이 (0) | 2021.11.22 |
소프트웨어 위험 관리 (0) | 2021.11.16 |
소프트웨어 품질 보증 (0) | 2021.11.15 |
검사 (0) | 2021.11.09 |
댓글