En la era de la información en la que estamos inmersos el desarrollo de software de calidad es un factor esencial y muy importante en las ciencias de la computación. Desarrollar software de calidad implica conocer los modelos que dan lugar a dicho software. Una Ingeniería del Software avanzada debe de estar fundamentada -como toda Ingeniería- en modelos conceptuales expresivos, claros y fáciles de entender y gestionar. Para que esa gestión eficiente de modelos sea una realidad, los lenguajes de modelado se convierten en una herramienta imprescindible.
El "Lenguaje de Modelado Unificado" (UML, en inglés "Unified Modeling Language") es un estándar que permite abordar ese problema del modelado de software en todos sus niveles desde una perspectiva integral que el estándar en su conjunto proporciona.
Entre todos los modelos UML el modelado estructural destaca por el papel básico que juega en todo proceso de desarrollo de software. El correcto diseño conceptual de un sistema software es fundamental. De la mano de un equipo dirigido por un instructor conocedor de UML desde sus orígenes y con una gran experiencia en su uso, en el curso en línea aprenderás a realizarlo y conocerás las primitivas de modelado que son relevantes junto con los diagramas asociados que UML pone a tu alcance (centrados en el diagrama de clases, el diagrama de objetos y el diagrama de paquetes). La determinación de esa dimensión "estructural" del software es normalmente el primer paso y el más importante en el proceso de producción de software, porque determina qué datos van a usarse y como van a relacionarse entre ellos. Sin unos buenos "cimientos" que delimiten el soporte estructural del sistema software resultante, la ingeniería del software corre el riesgo de quedarse en un mero ejercicio de "artesanía".
Con el objetivo fundamental de potenciar una ingeniería del software de calidad, este curso de informática introduce y desarrolla todas estas ideas explicando qué modelos hay que construir, con qué herramientas conceptuales, y como hay que construirlos, todo ello desde una perspectiva práctica acompañando los conceptos teóricos con ejemplos y casos prácticos.
¿Queremos ser ingenieros de software o artesanos del software?