이 접근법을 사용하면 시스템에 대해 설명하는 상세하고 시멘틱이 풍부한 UML 개념적 모델 세트를 개발하는 강력한 관리 문화가 조직에 제공됩니다.
설계자는 이러한 모델로부터 코드를 생성하고 모델이 전개됨에 따라 재생성할 수 있습니다. UML을 사용하여 자세한 클래스 레벨 모델을 작성한 후 개발자는 직접 이 개념적 모델에 변환을 적용하여 응용프로그램에 대해 코드 구조(대부분의 경우 실제 컴파일 코드)를 생성할 수 있습니다.
그런 다음 개발자는 UML 표기법 다이어그램에서 또는 코드 편집기를 사용하여 시각적으로 코드를 편집하는 방법으로 새 코드 모델의 구조적 가이드라인 내에서 구현을 개발합니다. 코드 모델의 구조를 수정해야 하거나 개발자가 시스템의 상위 레벨 디자인을 고려하는 경우 설계자는 제안된 변경을 검토하여 이를 직접 UML 모델에서 구현할 수 있습니다.
역방향 변환이 전개 중인 코드에 적용되어 원래 UML 모델의 전개 중 상태와 비교되거나 이 상태로 조정되는 임시 UML 모델이 생성됩니다. 이 비교는 또한 조정이라고도 합니다. 이 접근법을 통해 구현이 디자인 계약에서 벗어나는 시기를 쉽게 확인할 수 있고 설계자가 변경사항을 작성할 수 있는 기회를 제공합니다.
역방향 변환은 개발 주기에서 여러 번 발생할 수 있으며 디자인 계약 상에 엄격한 제어를 제공합니다. UML 모델은 개발 프로세스 전체에서 계속하여 발전하기 때문에 마스터 모델로 표시될 수 있습니다.
설계자가 UML 모델 변환을 재적용하면 기존 코드가 겹쳐써지며 이 경우 설계자는 개발자의 자세한 작업을 겹쳐쓰지 않도록 미리 주의를 기울여야 합니다. 이 워크플로우에서 설계자는 하나 이상의 응용프로그램에서 디자인 측면을 생성하며 구조적으로 중요하거나 디자인 계약에 위반되는 사항을 변경하는 나머지 수작업 코딩 활동의 여지를 남겨두지 않습니다.
조정된 모델링은 매우 중요한 응용프로그램과 요구사항 및 준수 문서가 매우 엄격한 경우에 가장 적합합니다. 이 프로토콜은 설계자가 인터페이스를 광범위하게 지정하고 개발자가 해당 스펙을 엄격하게 준수하는 구조적 제어에 강한 조직에 가장 유용합니다.
이 접근법은 구조적으로 중요한 구현의 모든 측면이 모델 스펙에서 파생되는 경우와 자동화된 변환 및 미리 정의된 디자인 패턴(일부 경우)으로 고도의 가치를 확보하는 경우 사용할 수 있습니다. 이 워크플로우는 디자인 작업은 사내에서 수행되지만 구현은 외부 인력에 의해 수행되는 경우 또는 여러 응용프로그램에서 공통의 구조적 프레임워크(예: SOA) 프로젝트를 대상으로 하여 하나의 응용프로그램, 기능 또는 서비스에서 다음으로 상당한 부분의 공통성을 이양하는 경우에 특히 적합합니다.
조정된 모델링을 사용하면 설계자가 응용프로그램의 구조적 의도에 대한 완전하고 자세한 표현식을 보유할 수 있습니다. 조정된 모델링에서는 개발자의 창의성을 일부 허용하지만 이를 확인하기 위해 설계자가 밀접하게 모니터하며 요구사항에서 벗어난 사항은 신속하게 해결되거나 수정됩니다. 모델은 원래 디자인에서 바뀌지 않으므로 설계자에게는 디자인을 코드와 비교 및 대조하는 도구가 있습니다. 조정된 모델링에서는 이름이 의미하는 바와 같이 구조적 변경의 관리에 필요한 강력한 오퍼레이션 모델을 제공합니다.
조정된 모델링에서는 개발자의 창의성을 허용하지 않습니다. 조정 모델링에서 모델을 유지보수하는 데 큰 비용이 들 수 있습니다. 코드를 시작 시 설정한 디자인 목표와 비교하기 위한 구현 코드의 역변환 또한 큰 비용이 들 수 있습니다. 이 접근법을 선택하는 조직에서는 UML 시맨틱을 잘 이해하고 자세한 UML 구문을 사용하여 전체 응응프로그램을 디자인할 수 있는 설계자를 고용해야 합니다.