2021. 1. 28. 23:05ㆍTopcit 정리/기술영역 - 소프트웨어 개발
소프트웨어 유지보수
유지보수는 sw 라이프사이클의 마지막 단계로 소프트웨어의 생명을 연장시키는 운영단계이다.
목적
성능 개선 및 하자보수, 새로운 환경에서 동작할 수 있도록 이식 및 수정이다.
라이프사이클에서 유지보수 기간이 제일 길고 비용도 나가기 때문에 효율이 정말 중요하다.
종류
사유에 의한,
수정 유지보수 : 오류로 인한 버그 잡기
적응 유지보수 : 데이터 환경 변화 적응 처리
완전화 유지보수 : 새로운 기능 추가, 변경
시간에 의한,
계획 유지보수 : 주기적 유지보수
예방 유지보수 : 뭔일 터지기 전에 유지보수
응급유지보수 : 일 터지고 급히 메꾸기
대상에 의한,
데이터 유지보수 : 데이터 conversion등 필요시 처리
문서화 유지보수 : 문서 표준 변경
시스템 유지보수 : 시스템을 유지보수
SW 유지보수 절차
현재 sw이해 -> 요구사항 분석 -> 바꿨을때 영향 예측 및 수정 -> 테스트
역공학과 재공학
소프트웨어 3R
3R은 역공학 (Reverse), 재공학 (Re-Engineering), 재사용(Reuse)를 통해 생산성을 올리는 기법이다.
필요성
- 비용 절감
- 개발 생산성 향상
- 테스트 용이 및 신속한 대처 가능
역공학 : 구현된 소프트웨어를 분석 -> 설계 단계 -> 요구사항 분석. 말그대로 순공학 반대
이미 만들어진 시스템을 다시 역으로 추적하여 설계 기법등의 자료들을 얻어낸다.
재공학 : 역공학으로 재구조시킨 소프트웨어를 기반으로 다시 추상화
역공학을 바탕으로 구조를 다시만들거나 모듈을 다시 만든다.
재사용 : 재공학을 통해 구현 및 사용중인 소프트웨어 다시 사용
재공학된 소프트웨어는 신뢰적이고, 확장이 쉬우며 유지보수하기 편하다.
'Topcit 정리 > 기술영역 - 소프트웨어 개발' 카테고리의 다른 글
12. 소프트웨어 형상 관리 (0) | 2021.02.02 |
---|---|
11. 소프트웨어의 요구사항 관리 (0) | 2021.02.02 |
9. 소프트웨어 테스팅 (0) | 2021.01.26 |
8. 프로그래밍 언어 특성 & 코드 재사용과 리팩토링 (0) | 2021.01.26 |
7. 사용자 인터페이스 설계 원리 (0) | 2021.01.25 |