-
정보처리기사[실기 핵심 정리] - 소프트웨어 유지 보수용어 정리 2024. 4. 14. 20:02
소프트웨어 유지보수
1) 소프트웨어 유지보수의 개념
- 정의 : 개발 완료 이후부터 폐기될 때까지 지속적으로 수행되는 작업
- 목적 : 소프트웨어의 수명 연장, 기능 개선, 하자 보수, 환경 적응 및 예방 조치
- 특징 : 소프트웨어 생명주기 동안 가장 많은 비용이 소요되는 단계
2) 유지보수의 중요성
- 유지보수 비용이 소프트웨어 예산에서 차지하는 비중이 점차 증가하고 있다
- 신규 프로젝트보다 기존 소프트웨어 개선에 더 많은 투자가 이루어지는 경향이 있다.
- 소프트웨어 기술 발전에 따라 용역 개발에서 패키지 구매로 변화하는 추세이다.
3) 유지보수가 어려운 이유
- 업무 프로세스와 구축된 시스템에 대한 이해가 필요하다.
- 유지보수 업체와 개발 업체가 다른 경우, 소프트웨어 구조 파악과 가독성이 어려워진다.
유지보수의 구분
구분 설명 수정 보수
(Corrective Maintenance)● 소프트웨어의 잠재적 오류 수정
● 테스트 단계에서 발견되지 않은 오류를 찾아 수정적응 보수
(Adaptive Maintenance)● 운영체제, 하드웨어 등 환경 변화에 맞추어 소프트웨어를 수정 향상 보수
(Perfective Maintenance)● 기존 기능 개선 및 새로운 기능 추가
● 많은 자원이 소모되는 활동으로, 소프트웨어 확장 및 리모델링에 해당한다.예방 보수
(Preventive Maintenance)● 장래의 유지보수성과 신뢰성을 보장하기 위한 선제적 조치
● 소프트웨어의 잠재적 오류에 대비하여 미리 예방 수단을 강구한다.
● 소프트웨어 재공학과 관련된 유지보수유지보수 관련 용어
1) 레거시 시스템(Legacy System)
- 오래된 기술, 방법론 컴퓨터 시스템, 소프트웨어를 의미한다.
- 현대 기술에 영향을 미칠 수 있음에도 불구하고, 업데이트나 유지보수가 어렵다.
2) 외계인 코드(Alien Code)
- 오래되었거나 참고 문서 ,개발자가 없어 유지보수가 어려운 코드
- 해결책 : 프로그램 문서화를 통해 이해도를 높이고 유지보수를 용이하게 한다.
3) 스파게티 코드(Spaghetti Code)
- 복잡하게 얽힌 프로그래밍 소스코드
- 코드가 작동하긴 하지만, 유지보수가 매우 어렵다
4) 코드스멜(Code Smell)
- 소스코드 내에 존재하는, 잠재적인 문제를 나타내는 구조적 문제점들을 지칭한다.
- 장기적으로 볼 때 유지보수나 확장성에 문제를 일으킬수 있다
'용어 정리' 카테고리의 다른 글
정보처리기사[실기 핵심 정리] - 제품 소프트웨어 패키징 (0) 2024.04.15 정보처리기사[실기 핵심 정리] - 국제 표준 제품 품질 특성 (0) 2024.04.14 정보처리기사[실기 핵심 정리] - 애플리케이션 성능 분석 (0) 2024.04.14 정보처리기사[실기 핵심 정리] - 애플리케이션 통합테스트 (0) 2024.04.14 정보처리기사[실기 핵심 정리] - 애플리케이션 테스트케이스 설계 (0) 2024.04.13