상위 호환성

상위 호환성(上位互換性, forward/upward compatibility)은 나중에 나올 버전을 위해 고안된 입력을 받아들이는 시스템의 기능을 말한다. 확장성과는 구별된다.

상위 호환성 기술의 목적은 데이터가 새로운 장치를 위해 생성된 시기를 구형 장치들이 인식하도록 하는 것이다.

나중에 나온 프로그램들은 과거에 나온 기능에 대한 하위 호환성을 보장하기 쉬운 반면, 오래된 프로그램의 상위 호환성은 하위 호환성에 비해 실현 가능성이 높지 않다. 알 수 없는 데이터 포맷을 처리해야 하거나 알 수 없는 미래의 기능의 요청이 있을 수 있기 때문이다. 하위 호환성은 잘 알려진 데이터 포맷을 받아들이기 때문에 이러한 문제가 일어나지 않는다.

오래된 운영 체제 버전에서 하위 호환성을 제공하는 응용 소프트웨어는 정의된 운영 체제과 상호 작용하는 데에 쓰이는 소프트웨어 알고리즘을 되도록 지켜야 한다. 하위 호환성은 이전의 운영체제 버전이 정의될 때 제공되기도 하며, 이전 버전에 맞춰 저마다 특별한 동작이 수행되기도 한다. 일부 응용 프로그램의 경우 운영 체제 버전을 정의할 수 없을 때 중단되어 종료될 수 있는데 이를 "오류 후 종료"(Error and exit)라고 한다.

수많은 응용 소프트웨어 시스템은 튼튼한 시스템 아키텍처로 설계되어 있으며 상위의 버전에 대한 입력이 들어갈 때 올바르게 수행할 수 있다.

응용 소프트웨어 시스템이 입력 데이터를 받아들이거나 운영 체제를 예측하지 못하면, 사용자로 하여금 정확하게 문제를 알아낼 수 있게 하는 출력을 생산한다.

같이 보기 
 하위 호환성
 확장성
 컴퓨터 호환

각주

외부 링크 
  Rule of Extensibility: Design for the future, because it will be here sooner than you think, in The Art of Unix Programming

소프트웨어 공학
상호운용성
하위 호환성