uml y diagramas dee clases
TRANSCRIPT
UML
Qué es UML
UML (Unified Modeling Language) es un lenguaje utilizado para describir modelos. Un modelo es una descripción abstracta de un sistema, una representación simplificada que permite comprender y simular un sistema
UML es un lenguaje, una notación que permite especificar, construir, visualizar y documentar los elementos que componen un sistema de software
No es una metodología de desarrollo de software orientado a objetos sino una notación para describir modelos de objetos
Nace como unificación de las notaciones utilizadas por Booch, Rumbaugh y Jacobson
UML define una serie de diagramas o representaciones gráficas de elementos interconectados
Entre otros, UML permite representar diagramas de clases. Un diagrama de clases describe la estructura estática de un modelo, es decir, las clases que lo componen y las relaciones que existen entre ellas
Notación UML para las clases
Notación UML para los objetos
miArchivo:Archivo
tuArchivo:Archivo miArchivo
Relaciones entre clases
a) Asociaciones – Representan una conexión semántica entre objetos de varias clases.
Ej. Un “avión” aterriza en un “aeropuerto”. Hay una relación entre los objetos de la clase Avión y los objetos de la clase Aeropuerto.
a.1 ) Agregación – es un tipo especial de asociación asimétrica que representa una relación todo-parte. Uno de los extremos juega un papel predominante en la relación, representa el todo, el otro extremo es la parte. La clase agregadora (el contenedor), contiene a la otra parte, la clase agregada. Ej. una universidad consta de varias facultades, un equipo tiene varios jugadores.
a.1.1.) Composición – es un tipo especial de agregación “más fuerte”. Son relaciones del tipo “es parte de”. Si desaparece el todo desaparecen las partes. Hay un alto grado de pertenencia entre el todo y la parte. Ej. Una ventana gráfica contiene varios botones, un avión consta de un motor y 4 alas. En la composición el todo es el responsable de las partes, si desaparece el todo desaparecen las partes.
:Archivo
b) Generalización/Especialización (herencia) – Es la relación entre una clase más general y otra más particular. Modelizan relaciones del tipo “es un”, “es un tipo de “
Representación de los mensajes en UML
Diseño de diagramas de clase
Dado un problema hay que:
despegar
: Avión : TorreControl
identificar las clases y las asociaciones entre ellas (agregaciones, composición, ...)
identificar atributos y operaciones (métodos)
organizar las clases en términos de generalización (identificar jerarquías)