Curso UML
Curso UML
Introducción
Visión general
Herramientas de diseño UML
Diagramas UML
Diagrama de Actividades
Diagrama de Secuencia
Diagrama de Colaboración (UML 1.0)/Comunicación (UML 2.0)
Diagrama de Estados
Diagrama de clases
Casuística típica del trabajo con diagramas
Tipos de relaciones
Diagramas de Clases
Relaciones de asociación específicas
Subtipos de asociaciones Interfaces
Otros diagramas menos usados
Modelado de casos de uso
Ciclo de vida del software y diagramas
Realización del caso de uso: Ficha
Casos de uso más complejos
Patrones de diseño
Colecciones de patrones de diseño
Patrones GoF
Singleton
AbstractFactory
Proxy
Patrones JEE
Business Delegate
Data Access Object (DAO)
Value List Handler
Introducción Este artículo son los apuntes que escribí durante el curso de UML que impartió Grupo PA en
RBC Dexia IS en Enero de 2011. Todo fue escrito usando Google Docs y UMLet mientras el
profesor daba la clase, así que fue escrito practicamente en
tiempo real
. Hay algunas
modificaciones como por ejemplo una correcta implementación del patrón
Singleton
, que aunque en clase se dio una políticamente correcta, no era una buena implementación hecha
en Java que es lo que nos interesa. También se eliminó el patrón
SessionFaçade
por
ValueListHandler
que me parecía más interesante. Además de ciertas licencias que me he
tomado para dar más sentido a las explicaciones del profesor.
Visión general
¿Qué es UML?, es un lenguaje de modelado. Con él podemos describir especificaciones funcionales, algoritmos, diagramas de estado, la arquitectura de un sistema, etc.
La especificación de UML se puede descargar de
http://www.omg.org
.
Herramientas de diseño UML
Hay multitud de herramientas para diseñar diagramas UML:
● UMLet
(
http://www.umlet.com/changes.htm
): Es software libre, muy sencillo y
extremadamente ligero, pero no por ello deja de ser completo. A pesar de su sencillez se puede dibujar cualquier diagrama UML con él. Está disponible como versión
standalone
o como
plugin
de Eclipse. Hay que destacar que este documento se
escribió durante un curso de UML como apuntes del mismo mientras el profesor
impartía la clase, y los diagramas se fueron dibujando en
tiempo real
.
● Magic Draw
(
http://www.magicdraw.com/
): Software comercial. Muy completo y muy pesado, consume muchos recursos y está disponible para cualquier plataforma.
● Star UML
(
http://staruml.sourceforge.net
): Es software libre, y bastante completo. La
pega es que sólo es para Windows, por lo tanto no se recomienda su uso.
Diagramas UML
Casos de Uso
Representan la funcionalidad del sistema. Hay dos elementos, actores y funcionalidades. Los actores pueden ser personas o sistemas externos.
Hay que seguir la norma KISS (Keep It Simple Stupid), ya que los diagramas se deben
mantener inteligibles, complicarlos demasiado los vuelve inmantenibles, como todo.
Diagrama de Actividades
Se utiliza para modelar etapas de un proceso. Es decir, es lo que era un DFD (Diagrama de
Flujo de Datos) con el que se pueden representar algoritmos, o el funcionamiento de cualquier proceso, método, etc.
Se usan cuando el caso de uso es complejo, no hace falta hacer un diagrama de actividad
para cada caso de uso, algunos son obvios y no se suelen hacer, aunque es muy
recomendable.
Diagrama de Secuencia
Modela la interacción entre objetos durante el ciclo de ejecución de un proceso. Es decir, la
secuencia de llamadas entre objetos en un periodo de tiempo.
No se deben mostrar caminos alternativos, si no un único flujo, es decir, no se muestra la
secuencia de cuando todo va bien, y de cuando hay otras bifurcaciones durante la ejecución,
si no sólo una de ellas.
Diagrama de Colaboración (UML 1.0)/Comunicación (UML 2.0)
Es similar al de secuencia pero no visualiza la línea temporal. Es decir, muestra los objetos, y ...
Regístrate para leer el documento completo.