소프트웨어 공학 3R 역공학 Reverse Engineering : 기존 개발 시스템 > CASE 도구 이용 > 문서 추출 재공학 Re-engineering : 기존 시스템 성능 업그레이드 재사용 Reuse : 기존 소프트웨어 전체/일부분 다시 사용 합성 중심, 생성 중심 소프트웨어 개발 단계 계획 - 요구사항 분석 - 설계 - 구현 - 테스트 - 유지보수 소프트웨어 개발 모델 폭포수 모델 - 선형 순차모델, 추가 요구사항 반영 어려움 프로토타이핑 모델 나선형 모델 : 위험분석, 점증적 개발 RAD 모델 : 매우 짧은 개발 주기 강조 V 모형 : 분석-설계-구현-단위-통합-시스템-인수테스트 4세대 기법 : 자동화도구 사용, 원시코드 자동 생성 애자일 방법론 XP : 핵심가치 - 용기(변화능동적대처), 존..