다음을 통해 공유


기존 응용 프로그램 업데이트

팀에서 기존 응용 프로그램을 업데이트하는 경우 처음 수행할 작업 중 하나는 코드에 대해 배우는 것입니다. 팀에서 수행할 작업을 예측할 수 있으려면 변경이 필요한 코드의 부분을 식별한 다음 변경 내용의 영향이 전파될 범위를 확인해야 합니다.

팀에서는 단위 테스트와 시스템 테스트를 만들고 실행하여 변경 내용이 부정적인 영향을 미치지 않는지 확인할 수 있습니다. 이러한 테스트가 없는 경우에는 팀에서 만들어야 합니다. 그러나 기존 응용 프로그램에 대한 단위 테스트와 시스템 테스트의 광범위한 집합을 만들 필요는 없습니다. 코드의 기존 구조와 변경할 내용을 이해함으로써 팀에서는 해당 변경 내용이 응용 프로그램에 부정적인 영향을 미치지 않는지 확인하는 데 필요한 테스트를 만드는 작업에 집중할 수 있습니다.

다음 작업과 도구는 기존 코드를 업데이트해야 할 때 권장됩니다.

  • 기존 구조에 대해 이해합니다. 아키텍처 탐색기, 방향이 지정된 그래프 및 생성된 시퀀스 다이어그램을 사용하여 주요 구성 요소와 해당 종속성을 찾습니다. 자세한 내용은 기존 코드 시각화을 참조하십시오.

  • 기존 동작과 필요한 변경에 대해 이해합니다. 팀에서 새로운 스토리에 대해 자세히 논의할 때 기존 동작을 이해해야 합니다. 기존 스토리에 "as-is"라는 태그를 지정하고 새 스토리에 "to-be"라는 태그를 지정합니다. 그런 다음 이러한 태그를 파일, 폴더 및 모델 이름의 일부로 사용합니다.

    모델을 사용하여 사용자 스토리를 명확히 지정할 수 있습니다. 자세한 내용은 사용자 스토리 모델링을 참조하십시오.

  • 테스트를 사용하여 동작을 안정화합니다. 자동화된 테스트나 수동 테스트를 추가하면 다음을 달성할 수 있습니다.

    • 제품의 기존 동작에 대한 이해를 돕습니다.

    • 변경될 제품 동작의 측면을 강조 표시합니다.

    • 변경 내용이 기존 기능을 손상시키지 않는지 확인합니다.

    자세한 내용은 초기에 자주 테스트를 참조하십시오.

  • 레이어 다이어그램을 사용하여 아키텍처를 안정화합니다. 레이어 다이어그램을 만들면 다음을 달성할 수 있습니다.

    • 기존 코드의 구조에 대한 이해를 돕습니다.

    • 기존 코드의 변경 영역을 강조 표시합니다.

    • 변경에 따라 의도하지 않은 종속성이 도입되거나 적절하지 않은 위치에 함수가 삽입되어 기존 아키텍처가 방해를 받지 않는지 확인합니다.

    자세한 내용은 레이어 다이어그램을 사용하여 응용 프로그램 구조 안정화를 참조하십시오.

  • 필요한 변경 내용을 스토리로 작성하고, 스토리의 비용을 예측하고, 스토리를 제품 백로그에 배치합니다. 비용을 예측할 때 기존 코드를 업데이트한다는 사실을 당연히 고려하게 됩니다. 각 예측에는 기존 디자인을 이해하고 자동화된 테스트를 작성하는 데 필요한 시간이 포함되어야 합니다.

    자세한 내용은 우수한 제품 백로그 만들기를 참조하십시오.

추가 정보

Working Effectively with Legacy Code, Michael Feathers; Prentice Hall, 2004.