UML se puede utilizar tanto o tan poco como desee. Martin Fowler describe tres formas comunes en que las personas tienden a usar UML:
- UML como boceto : use UML para hacer bocetos breves para transmitir puntos clave. Estos son bocetos desechables que podrían escribirse en una pizarra o incluso en un posavasos de cerveza en un crujido. En las primeras etapas de desarrollo, el uso de UML como boceto es muy eficaz y se puede utilizar como una herramienta de colaboración en la que los desarrolladores pueden intercambiar ideas sobre el diseño del sistema.
- UML como modelo : proporcione una especificación detallada de un sistema con diagramas UML. Estos diagramas no serían desechables sino que se generarían con una herramienta UML. UML se puede usar como modelo y los desarrolladores pueden seguirlo para producir código. Usar bocetos simples no sería suficiente para ellos, porque les obligaría a completar los espacios en blanco. Este enfoque generalmente se asocia con los sistemas de software y, por lo general, implica el uso de ingeniería directa e inversa para mantener el modelo sincronizado con el código.
- UML como lenguaje de programación : esto va directamente de un modelo UML a un código ejecutable (no solo partes del código como con la ingeniería avanzada), lo que significa que se modela cada aspecto del sistema. Teóricamente, puede mantener su modelo indefinidamente y usar transformaciones y generación de código para implementar en diferentes entornos. Fowler cree que la productividad de UML como lenguaje de programación actual no es mejor que la productividad de usar cualquier otro lenguaje, por lo que será difícil que UML se generalice. También cree que los planos muy detallados no son efectivos porque son difíciles de hacer y retrasarían el desarrollo.
Resumen
El enfoque utilizado depende del tipo de aplicación que esté creando, con qué rigurosidad se revisará el diseño, si está desarrollando un sistema de software y, si es software, el proceso de desarrollo de software que está utilizando.
En ciertas industrias, como la médica y la defensa, los proyectos de software tienden a inclinarse hacia UML como modelo porque se exige un alto nivel de calidad. El diseño del software se revisa mucho, ya que podría ser de misión crítica: no desea que su máquina de monitoreo cardíaco muestre repentinamente la «pantalla azul de la muerte».
Algunos proyectos pueden salirse con la suya con menos modelado. De hecho, algunas industrias comerciales encuentran que demasiado modelado es engorroso y ralentiza la productividad. Para tales proyectos, tiene sentido usar UML como un boceto y hacer que su modelo contenga algunos diagramas arquitectónicos y algunos diagramas de clases y secuencias para ilustrar los puntos clave.
Referencias UML recomendadas