1. 소프트웨어 유지보수의 개념과 유형
1) 소프트웨어 유지보수의 정의
- 소프트웨어 유지보수는 SDLC(Software Development Life Cycle)의 마지막 단계로 소프트웨어의 생명을 연장시키는 운영중심의 작업 단계
- 오류의 수정, 원래의 요구를 정정, 기능과 수행력을 증진시키는 일련의 작업
- 소프트웨어가 고객에게 납품된 후 결함의 제거, 성능항상, 변화된 환경에 적응하도록 처리하는 일련의 모든 소프트웨어 공학적 작업
2) 소프트웨어 유지보수의 목적 및 필요성
소프트웨어 유지보수의 목적
- 소프트웨어의 성능 개선 및 하자보수
- 새로운 환경에서 동작할 수 있도록 이식 및 수정과 오류를 예방
소프트웨어 유지보수 필요성
- 소프트웨어 개발 및 유지 전체 예산에서 기존 개발 비용보다 유지보수 비용이 현격히 증가
- 소프트웨어 복잡화에 따라 문서화 등의 관리업무가 증가
- 개발 기간에 비해 사용 기간이 길기 때문에 관리의 중요성이 강조
- 용역 개발보다 패키지 개발이 확산됨에 따라 유지보수 부문이 증가
3) 소프트웨어 유지보수의 종류
분류기준 | 종류 | 내용 |
사유에 의한 유지보수 | 수정 유지보수(Collective) | 오류로 인한 유지보수. 처리, 수행 구현 오류 식별 |
적응 유지보수(Adaptive) | 데이터 환경과 인프라 환경 변화적응을 위한 처리 | |
완전화 유지보수(Perfective) | 새로운 기능추가, 변경, 품질을 위한 유지보수 | |
시간에 의한 유지보수 | 계획 유지보수(Scheduled) | 주기적 유지보수 |
예방 유지보수(Preventive) | 예방차원의 유지보수 | |
응급 유지보수(Emergent) | 유지보수의 사후 승인 필요 시 | |
대상에 의한 유지보수 | 데이터/프로그램 보수 | 데이터의 Conversion등 필요 시 처리 |
문서화 유지보수 | 문서 표준의 변경이나 기타 필요 시 처리 유지보수 | |
시스템 유지보수 | 시스템의 유지보수 |
2. 소프트웨어 유지보수 활동
1) 소프트웨어 유지보수 절차 및 요소
소프트웨어 유지보수 절차
유지보수절차 | 내용 |
현행 S/W 이해 | 프로그램 구조 분석, 변수/자료구조, 응용분야, 업무지식 |
요구사항 분석 | 유지보수 유형, 전략수립(수정/신규) 변경 프로그램 등 대상 파악 |
영향범위 파악 및 수정 | SW 변경으로 인한 기존 기능 영향 프로그램 변경.수정 |
테스트/유지보수 | 문서수정 형상관리. 유지보수 수행 |
유지보수 용의성
이용 용이성 | 애플리케이션이나 프로그램이 얼마나 이해하기 용이한가를 나타내는 특성 |
수정 용이성 | 애플리케이션이나 프로그램을 수정하는데 얼마나 용이한가를 나타내는 특성 |
시험 용이성 | 애플리케이션이나 프로그램의 정확성을 보여주는 과정이 얼마나 용이한가를 나타내는 특성 |
- 유지보수 용이성은 소프트웨어 유지보수의 난이도를 나타내는 특성
유지보수 용의성 개선 활동
활동 | 설명 |
분석활동(Analysis Activities) | 고객의 요구사항과 제약사항을 결정하며 개발하려는 제품의 타당성을 밝힘 |
표준 및 지침(Standard and Guidelines) | 소프트웨어 유지보수가 용이하도록 다양한 종류의 표준 및 지침 제정 |
설계 활동(Design Activities) | 명확성, 모듈성, 변경 용이성을 강조하여 활용함 |
구현 활동(Implementation Activities) | 표준 구조와 코딩 스타일을 적용해야 함 |
보조 문서(Supporting Documents) | 유지보수 활동에 필요한 지침서와 테스트 설명서가 필요함 |
- 향후에 환경이 변화하더라도 사용자 또는 고객의 요구사항을 지속적으로 충족시키면서, 급격히 증가하는 유지보수 비용에 경제적으로 대응
- IEEE/EIA 12207은 유지보수 담당자를 유지보수 활동을 수행하는 조직으로 정의
2) 소프트웨어 유지보수 조직
유지보수 활동별 주체
단계 | 활동 | 활동주체 |
요청 | MRF(Modification Request Form) 작성 CR(Change Request) 작성 |
사용자, 고객 |
분석 | 유지보수 유형 분류, 심각성 판단 유지보수 요청 내용 분석, 영향도 분석 유지보수 우선순위 결정 |
분석자 |
승인 | 분석 내수에 따라 유지보수 진행 여부 승인 유지보수 실행에 대한 승인 |
유지보수관리 위원회 |
실행 | 유지보수 대상에 대한 유지보수 실행 소프트웨어 변경 보고서(SCR) 작성 관련문서 변경 |
유지보수 담당자 |
소프트웨어 유지보수 조직 유형
유형 | 내용 |
작업의 형태에 따른 조직 | 사용자의 요구를 분석하고 시스템을 설계, 구현하고 테스트 각 팀은 서로 분리된 책임과 역할 수행 프로그래밍 지식과 기술에 대해 전문화되나, 분석가와 프로그래머 간 조정 비용 필요 |
애플리케이션 분야에 따른 조직 | 응용 애플리케이션에 따라서 조직을 분류 응용지식의 개발에 대해 전문성을 가짐 |
생명주기에 따른 조직 | 개발과 유지보수로 조직을 구분 개발과 유지보수 기술의 전문화 개발/유지보수 조직 간 조정 비용 필요 |
- 가장 많이 적용되는 유형은 어플리케이션 분야에 따른 조직으로 응용업무에 대한 지식이 필요한 분야에 주로 적용
'TOPCIT > TOPCIT교재' 카테고리의 다른 글
XI. 동시성제어-윤정우 (0) | 2022.07.25 |
---|---|
VI.데이터베이스 물리설계 - 손선희 (0) | 2022.07.24 |
소프트웨어 형상관리 - 권준호 (0) | 2022.07.18 |
소프트웨어 요구관리 - 황선환 (1) | 2022.07.18 |
소프트웨어 테스팅과 리팩토링 - 안혜진 (0) | 2022.07.18 |