El desarrollo de software es un proceso que requiere una planificación y una previsión precisas. Hay varias técnicas disponibles para documentar el desarrollo de software. El lenguaje de modelado unificado (UML) es un método estándar que se utiliza para documentar los artefactos necesarios para el desarrollo de software.
UML es una colección de mejores prácticas de diseño que se han utilizado durante muchos años en la comunidad de desarrollo de software. El lenguaje de modelado unificado fue introducido por primera vez en 1996 por el Object Management Group (OMG). La versión inicial de UML fue creada por un grupo de expertos en desarrollo de software a los que a menudo se hace referencia como los tres amigos.
Los tres amigos son Grady Booch, James Rumbaugh e Ivar Jacobson. Se les considera los líderes y fundadores del proyecto de unificación de métodos estándar en 1996 que condujo a la creación de Unified Modeling Language. Este esfuerzo de unificación tomó los mejores enfoques para el diseño y desarrollo de software y creó un marco reutilizable que se podía entender fácilmente.
El enfoque de diseño UML utiliza notaciones gráficas como un dispositivo de comunicación para proyectos de software y la comunidad de usuarios. Estas notaciones gráficas ayudan al equipo de desarrollo de software a explorar posibles diseños y trampas. El lenguaje de modelado unificado se utiliza normalmente como modelo para el diseño de una aplicación de software. Este plano explica cómo se creará una aplicación de software.
El modelado ágil (AM) es un ejemplo de un enfoque de diseño de software que utiliza UML. AM es una colección de prácticas y principios para diseñar software. El proceso UML a menudo se critica por ser oneroso para el equipo de desarrollo, especialmente en el área de gestión de documentos. Agile Modeling intenta tomar las piezas necesarias de UML y simplificarlas en un marco de diseño ágil. Agile Modeling utiliza los documentos UML como borradores del diseño en lugar de los planos finales o el documento formal. Esto elimina la necesidad de actualizaciones periódicas de los documentos UML.
Las pruebas basadas en modelos (MBT) son un proceso en el que las pruebas se completan en función de diseños definidos. Estos diseños se crean a partir de los requisitos de un sistema. Los requisitos definidos se utilizan luego para generar casos de prueba, que se escriben como scripts de prueba. A continuación, los artefactos MBT pueden generar la información necesaria para explicar el estado esperado de un sistema.
Uno de los procesos más complejos dentro del desarrollo de software es la integración de componentes. La integración basada en modelos (MDI) es un proceso diseñado para simplificar el esfuerzo de integración de una aplicación. Dentro de MDI, se crea un diseño en lenguaje de modelado unificado para representar el control de las rutas de intercambio en el software.