Diagrama de clases y objetos.pptx

Preview:

Citation preview

Modelos estructuralesDiagrama de clasesDiagrama de objetos

Jose Alberto Palomino Aguirre

ANTES QUE NADAMODELO ESTRUCTURAL

MODELO ESTRUCTURAL

Visión del sistema que describe la estructura de los objetos, incluyendo su clasificación, relaciones, atributos y operaciones– Desarrollado por analistas, diseñadores

y programadores

MODELO ESTRUCTURAL

Muestra la estructura estática del sistema– Las entidades que existen (clases,

interfaces, componentes, nodos, etc.)• Captura el vocabulario del sistema

– La estructura interna– La relación con otras entidades

MODELO ESTRUCTURAL

Se define mediante:– Diagramas estructurales estáticos

• Diagrama de clases• Diagrama de objetos

– Diagramas de implementación• Diagrama de componentes• Diagrama de implantación

CONCEPTOSDIAGRAMA DE CLASES

Diagrama de Clases

Es una representación grafica de la vista estática que muestra una colección de elementos de modelado declarativos.

Elementos de modelado declarativos Clases Interfaces Relaciones (asociación, agregación,

composición, dependencia, realización) Notas (Opc.) Limitaciones (Opc.) Colaboraciones (Opc.) Paquetes (Opc.)

Requiere

Diagramas de interacción (Se pueden crear al mismo tiempo con los diagramas de clase).

Modelo conceptual.

Elementos

Clase – Descripción de un conjunto de objetos

que comparten los mismos atributos, operaciones, relaciones y semántica.

– Unidad básica que encapsula un objeto

Clase

Clase

Atributos:– Describen a una clase

Operaciones o métodos– Describen la forma en la cual la clase

interactúa con su entorno.

Clase

Nombre

Atributos

Operaciones

Atributo: tipo de dato

Operación(parámetros:Tipo de dato):valor deretorno

Clase

Atributos y Métodos:– + Public

• Atributo visible dentó y fuera de la clase. Accesible desde cualquier lugar.

– - Private• Atributo solo accesible desde dentro de la clase

(únicamente sus métodos lo pueden accesar)– # Protected

• No será accesible desde fuera de la clase, pero si podría ser accesados por métodos de la clase además de las subclases que se deriven (herencia)

– Package (~) permite el acceso a los otros objetos en el mismo paquete.

Elemento Ejemplo

Nombre del atributo compañía

Tipo de dato compañía:character

Valor de default (si hay) compañía:character = espacios

Restricciones compañía:character = espacios {1 a 30}

Caracteres compañía:character = espacios{1 a 30 alfabéticos, espacios, puntuación, no especiales}

Visibilidad - compañía:character = espacios {1 a 30 alfabéticos, …….

Atributos

Elemento EjemploNombre totalOrderAmount

Definir argumentos/Parámetros, corresponden a una instancia de Order

totalOrderAmount (order: integer)

Definir el tipo de dato de retorno

totalOrderAmount (order: integer) : Dollar

Identificar y describir restricciones

totalOrderAmount (order: integer) : {El total es la suma de cada item (p.u. x cantidad)

Visibilidad + totalOrderAmount (order: integer) : {El total es la suma ….

Metodos

Interfaz

Son clases que definen un juego de operaciones externas accesibles pero sin métodos. Se usan para modelar una serie de operaciones que definen un servicio que puede ser ofrecido por diferentes clases.

Se representan como clases pero con el estereotipo <<interface>>.

Solo contienen operaciones públicas

Interfaz

PaquetesEs un elemento organizador que

proporciona UML al dividir el sistema en paquetes lo hace más fácil de entender.

AsociacionesSe indica el rol y la multiplicidad. Un vuelo está asociado con un avión

y un avión puede tener asociados ninguno ó varios números de vuelo.

Clase asociacion

Cuando se modela una asociación entre clases, a veces es necesario incluir otra clase que contiene información valiosa acerca de la relación.

Se representa como una clase normal solo que la línea que la une con la línea que conecta las asociaciones primarias es punteada.

La asociación entre la clase Flight y FrequentFlyer es a través de una clase llamada MileageCredit. Esto significa que debe haber una instancia en esta clase cuando alguna instancia de la clase Flight se asocie con una instancia de la clase FrequentFlyer

Asociación recursiva

Una clase puede asociarse con sí misma. Una clase Empleado puede relacionarse con sí misma a través del rol gerente/dirige.

No significa que una instancia está relacionada consigo misma, sino que una instancia de la clase está relacionada con otra instancia de la misma clase.

Asociación recursiva

Una instancia de Employee puede ser el gerente de otras instancias de Employee. Como el rol manages tiene una multiplicidad de 0…*, significa que puede no tener otros empleados a quien dirigir. Una instancia de Employee tiene 1 sólo gerente ó un solo director.

Asociación cualificador

Un cualificador es un atributo de la clase en el lado opuesto de la asociación, que permite hacer una búsqueda en función a su valor. Por ejemplo “El cliente usa el numOrden para buscar una orden”.

Un tipo de objeto usa el cualificador para accesar el otro tipo de objeto.

cliente ordennumOrden:int

DIAGRAMA DE OBJETOSConcepto

Diagrama de clases

Modelan las instancias de elementos contenidos en los diagramas de clases

Muestra un conjunto de objetos y sus relaciones en un momento concreto, se utilizan para visualizarlos aspectos estáticos del sistema desde las instancias y relaciones

Caracteristicas

Utilizan un subconjunto de los elementos de un diagrama de clase

No muestran la multiplicidad No muestran los rolesRepresenta una escena estática

Relación entre objetos:

Cordialidad– Uno a uno– Uno a muchos– Muchos a muchos

Direccionalidad– Unidireccional– bidireccional

nombre edad

Juan 32

Luis 25

nombre Ayuda

Andrómeda 256

Anubis 128

Bibliografía

GUTIERREZ LAZARO JUAN CARLOS. UNIVERSIDAD COMPLUTENSE MADRID. Uml, Diagramas de Clases y Casos de uso. Encontrado en el link: http://www.fdi.ucm.es/profesor/jcgutierrez/Tema%202/02UML-1.pdf el día 13 de febrero del 2013

UNIVERSIDAD DEL VALLE, Diagramas de clases del diseño. Encontrado en el link: http://eisc.univalle.edu.co/cursos/web/material/750091M/1/DIAGRAMAS_DE_CLASES_DEL_DISENO.pdf el día 13 de febrero del 2013

Recommended