반응형
-
소프트웨어 유지보수 개념
-
정의
- SDLC의 마지막 단계로 소프트웨어의 생명을 연장 시키는 작업
- 소프트웨어가 개발되어 폐기될 때까지 이루어지는 일련의 소프트웨어 변경과 수정 작업
- 소프트웨어 인도 후 결함 제거, 성능 향상, 변화된 환경에 적응하도록 소프트웨어를 변경하는 작업
- 개발은 코딩 중심의 작업, 유지보수는 이해 중심의 작업
-
소프트웨어 유지보수의 중요성
- 유지보수 비용증가(개발 비용의 2~4배)
- 신규 프로젝트보다 기존 제품 유지보수에 더 많은 인력과 비용 소모
- 유지보수 기간이 개발 기간보다 김(개발 : 1~2년, 유지보수 : 5~10년)
-
기존 시스템의 수정 작업 증가(원인 : 새로운 Biz 요구 충족)
-
-
소프트웨어 유지보수 유형
-
목적에 따른 분류
- 수정 유지보수 : 오류 정정(하자(오류) → 처리 오류, 수행 오류, 구현 오류)
- 적응 유지보수 : 환경 변화에 적응(하드웨어 변화, 소프트웨어 변화, DB 적용 등)
- 완전 유지보수 : 기능 및 성능 개선(유지보수의 대부분을 차지)
- 예방 유지보수 : 기능 예상/예측되는 오류 수정
-
대상에 의한 분류자료/프로그램, 문서, 시스템 유지보수
-
시간에 의한 분류계획, 예방, 응급, 지연 유지보수
-
- 소프트웨어 유지보수 절차
절차 | 내용 |
현존 소프트웨어 이해 |
|
변경 요구 분석(유지보수 종류 파악) |
|
변경 및 효과 예측 |
|
테스트 및 유지보수 |
|
-
소프트웨어 유지보수의 문제점 및 해결 방안
-
부작용(역효과) 발생
- 코딩 역효과 : 잘못된 입력 결과로 인해 오류를 발생
- 데이터 역효과 : 소프트웨어 정보 구조에 가해진 결과로 인해 발생
- 문서화 역효과 : 프로그램 변경 후 문서에 반영하지 않아 발생
-
부가적 문제점
- 시스템의 신뢰성 저하 가능성이 상존
- 유지보수 비용 및 인력 증가
- 비체계적인 유지보수로 인한 장애 유발
- 유지보수 요원 기술 부족이나 경험 부족
- 다른 사람의 프로그램은 이해하기 어려움
- 대부분의 소프트웨어는 유지보수(변화)를 고려하지 않고 설계
-
해결 방안
- 개발 방법론과 개발 도구 적용
- 유지보수의 자동화(재공학 도구 활용)
- SDLC 단계 품질 보증 활동 강화
- 유지보수 요인에 대한 예방 활동 실시
- 적절한 프로젝트 관리 기법 도입
-
지원 도구 활용(저장소(Repository)이나 자동화된 라이브러리의 활용)
-
-
소프트웨어 유지보수성 향상 방안
- 소프트웨어 유지 보수의 자동화 : 소프트웨어 리엔지니어링
- 표준화된 품질 요소의 적용
- 규격화된 문서화의 시행;
- 자동화 도구의 사용 : CASE 또는 4세대 언어의 활용
반응형
'밥벌이 > 소프트웨어 공학' 카테고리의 다른 글
소프트웨어 제품 품질 표준 (0) | 2011.01.03 |
---|---|
소프트웨어 프로세스 품질 표준 (0) | 2011.01.03 |
아웃소싱(Outsourcing) (0) | 2010.12.30 |
ITIL(Information Technology Infrastructure Library) ver. 3.0 (0) | 2010.12.30 |
SLA(Service Level Agreement) (0) | 2010.12.30 |