2.1.1 La importancia de modelar

¿Qué es un modelo?

Un modelo es una simplificación de la realidad.

De acuerdo a Grady Booch, un modelo proporciona los planos de un sistema. Pueden existir modelos muy detallados, así como modelos que den un vistazo de alto nivel del sistema que se construirá. Un buen modelo incluye aquellos elementos que son relevantes al nivel de abstracción seleccionado. Cada sistema puede ser descrito desde diferentes perspectivas utilizando diferentes modelos. Un modelo puede ser estructural enfatizando la organización del sistema, o puede ser de conducta, enfatizando los aspectos dinámicos.

 

¿Por qué modelamos?

De acuerdo a Booch en “The Unified Modeling Language Use Guide”, el modelaje nos apoya en cuatro cosas:

  1. Nos ayuda a visualizar un sistema como deseamos que sea diseñado. Un modelo ayuda al equipo de trabajo a comunicar la visión del sistema que se está construyendo. Es muy difícil compartir una misma visión si solo se cuenta con especificaciones textuales.
  2. Nos permite especificar la estructura y conducta del sistema. Un modelo permite documentar la estructura y conducta de un sistema antes de que sea codificado.
  3. Nos da una plantilla que guía el proceso de construcción. Un modelo es una herramienta invaluable durante la construcción, sirve como guía para el programador. ¿Alguna vez ha tenido la experiencia de que un programador codifique la funcionalidad incorrecta debido a que confundió la descripción textual de un requerimiento? El modelado ayuda a aliviar esta situación.
  4. Documenta las decisiones que hemos tomado. Los modelos son herramientas que apoyan al proyecto a largo plazo, ya que documentan las decisiones de diseño tomadas y ya no solo se depende de la memoria.