Qué hay de nuevo en UML 2.0 -a partir del libro de Fowler- (I)
Books by Martin Fowler: UML Distilled
Me centro en diferencias entre UML1 y UML2 -alguna cosa se me escapará, claro ;)-
Cuando ya leí la segunda edición, me gustó mucho cómo empezaba el libro: de qué diferentes maneras puede ser utilizado UML:
1. Sketch: comunicación entre profesionales. Nada serio, sencillamente una muy eficaz forma de comunicación.
2. Blueprint: este es el diseño detallado del proceso unificado. Diseño a lo bestia, prácticamente la implementación -aunque algunas clases y/o algoritmos pueden verse añadidos/modificados posteriormente-.
3. Lenguaje de programación: traducción automática de modelo a código, al cuál se le añade después la "chicha".
Dónde usar UML
Fowler comenta, en cada una de los "workflows" principales, qué diagramas son susceptibles de ser utilizados:
Propiedades
Son características estructurales de una clase: atributos y asociaciones.
A los atributos se le pueden añadir un {property-string}, que indica propiedades adicionales al atributo, como por ejemplo {readOnly}.
Multiplicidad
UML1 admitía multiplicidad discontínua -p.e. un vehículo puede tener entre 2 y 8 ruedas-. UML2 no lo permite ya.
Dependencias
Existe una serie de palabras clave a utilizar para nombrar las dependencias entre clases:
Restricciones
UML permite, en el diagrama de clases, la indicación de diferentes restricciones. Se puede utilizar lenguaje natural, lenguaje de programación, u OCL (Object Constraint Language) -cálculo de predicados-.
Me centro en diferencias entre UML1 y UML2 -alguna cosa se me escapará, claro ;)-
Cuando ya leí la segunda edición, me gustó mucho cómo empezaba el libro: de qué diferentes maneras puede ser utilizado UML:
1. Sketch: comunicación entre profesionales. Nada serio, sencillamente una muy eficaz forma de comunicación.
2. Blueprint: este es el diseño detallado del proceso unificado. Diseño a lo bestia, prácticamente la implementación -aunque algunas clases y/o algoritmos pueden verse añadidos/modificados posteriormente-.
3. Lenguaje de programación: traducción automática de modelo a código, al cuál se le añade después la "chicha".
Dónde usar UML
Fowler comenta, en cada una de los "workflows" principales, qué diagramas son susceptibles de ser utilizados:
- Requisitos:
- Diagrama de casos de uso
- Diagrama de clases, desde la perspectiva conceptual
- Diagrama de actividad
- Diagrama de estado
- Diseño:
- Diagrama de clase, desde perspectiva sw -blueprint o implementación-
- Diagrama de secuencia
- Diagrama de paquetes
- Diagrama de estado
- Diagrama de despliegue
Propiedades
Son características estructurales de una clase: atributos y asociaciones.
A los atributos se le pueden añadir un {property-string}, que indica propiedades adicionales al atributo, como por ejemplo {readOnly}.
Multiplicidad
UML1 admitía multiplicidad discontínua -p.e. un vehículo puede tener entre 2 y 8 ruedas-. UML2 no lo permite ya.
Dependencias
Existe una serie de palabras clave a utilizar para nombrar las dependencias entre clases:
- call
- create
- derive
- instantiate
- permit
- realize
- refine
- substitute
- trace
- use
Restricciones
UML permite, en el diagrama de clases, la indicación de diferentes restricciones. Se puede utilizar lenguaje natural, lenguaje de programación, u OCL (Object Constraint Language) -cálculo de predicados-.
Comments