Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porTeresa Iglesias Maidana Modificado hace 7 años
1
DISEÑO DE SISTEMAS Diagrama de clases UNIDAD III:
Ing. Patricia Ontiveros Ing. Laura Zeligueta
2
Clases La clase define el ámbito de definición de un conjunto de objetos Cada objeto pertenece a una clase Los objetos se crean por instanciación de las clases
3
Clases: Notación Gráfica
Cada clase se representa en un rectángulo con tres compartimientos: nombre de la clase atributos de la clase operaciones de la clase - Un atributo es semánticamente equivalente a una composición (composite aggreation). La sintaxis por defecto para los atributos es: visibilidad nombre [multiplicidad] : tipo = valor-inicial {propiedades} - tipo es una especificación dependiente del lenguaje de implementación - Para indicar que un atributo es constante se puede poner la propiedad frozen - Ejemplos usando multiplicidad: colores [3]: Color puntos [2..*]: Punto nombre [0..1]: String - Un atributo de clase (del ámbito de clase y no de objeto) se indica subrayándolo
4
Concepto de Clase
5
Clases del Análisis Las clases del análisis:
Se focalizan sobre la manipulación de los requerimientos funcionales, y pospone los no funcionales. Existen tres estereotipos de clases de análisis: Interfaz Control Entidad
6
– Recepción y presentación de información.
• Clase interfaz: modela la interacción entre el sistema y el actor – Recepción y presentación de información. – Separan la interfaz del usuario o comunicación con el usuario. – Representan abstracciones de ventanas, forms, paneles, sensores, API (sistemas externos). – No describe cómo la interacción es realizada físicamente. – Está relacionada con al menos un actor, y un actor está relacionado con al menos una clase límite.
7
– En la mayoría de los casos son derivadas directamente de las clases
• Clase entidad: modela información persistente. – En la mayoría de los casos son derivadas directamente de las clases entidad del negocio o dominio. Estos pueden capturar información que no es manipulada dentro del sistema. – Muestran una estructura de datos lógica y contribuyen a entender que información manipular.
8
• Clase control: representa coordinación, secuencia, transacción y control de otros objetos.
– Son usadas para encapsular el control relacionado a un CU. – Usadas para representar derivaciones y cálculos complejos, tal como lógica del negocio, que no puede ser representada por ninguna clase entidad específica. – La dinámica del sistema son modeladas por las clases control, dado que manejan y coordinan los flujos de control y acciones principales y delegan trabajo a otros objetos (clases entidad y límite).
9
Diagrama de Clases El Diagrama de Clases es el diagrama principal para el análisis y diseño del sistema El Diagrama de Clases modela los datos persistentes del sistema. Un diagrama de clases presenta las clases del sistema con sus relaciones estructurales y de herencia
10
Relaciones entre Clases
Los enlaces entre objetos pueden representarse como relaciones entre las respectivas clases Formas de relación entre clases: Asociación, Agregación y Composición (vistas como un caso particular de asociación) Generalización/Especialización Las relaciones de Agregación y Generalización forman jerarquías de clases
11
Asociación La asociación expresa una conexión bidireccional entre objetos Una asociación es una abstracción de la relación existente en los enlaces entre los objetos
12
… Asociación Especificación de multiplicidad (mínima...máxima)
1 Uno y sólo uno 0..1 Cero o uno M..N Desde M hasta N (enteros naturales) * Cero o muchos 0..* Cero o muchos 1..* Uno o muchos (al menos uno) La multiplicidad mínima >= 1 establece una restricción de existencia
13
… Asociación Ejemplo:
14
… Ejemplos (Asociación)
15
… Ejemplos (Clase Asociación)
16
Agregación La agregación representa una relación parte – todo entre objetos Podemos decir que la parte sin el todo sigue teniendo sentido y el todo sin la parte también. Es decir que uno sin el otro pueden subsistir. 1 n Red PC parte todo
17
Composición La composición representa una relación parte todo entre objetos Es una relación más fuerte que la Agregación. Podemos decir que la parte sin el todo se destruye y el todo sin la parte también. Es decir que uno sin el otro no es nada. 1 n Factura Detalle parte todo
18
Generalización Permite gestionar la complejidad mediante un ordenamiento jerárquico de clases Se obtiene usando los mecanismos de abstracción de Generalización y/o Especialización La Generalización consiste en factorizar las propiedades comunes de un conjunto de clases en una clase más general. Las clases hijas heredan propiedades de sus clases padre, es decir, atributos y operaciones.
19
... Generalización
20
... Generalización La especialización es una técnica muy eficaz para la extensión y reutilización
21
… Ejemplos (Generalización)
22
… Ejemplos Avión militar Avión comercial Avión de carga
Avión de pasajeros Motor Vendedor de billetes Avión 1..4 1 Piloto Reserva n Línea aérea Vuelo 1..2 { disjunta, completa }
23
... Generalización Ejemplo: varias especializaciones a partir de la misma clase padre, usando discriminadores: Comercial Militar uso Vehículo Aéreo estructura Avión Helicóptero
24
Clasificación Múltiple (herencia múltiple)
Se presenta cuando una subclase tiene más de una superclase La herencia múltiple debe manejarse con precaución. Algunos problemas son el conflicto de nombre y el conflicto de precedencia Se recomienda un uso restringido y disciplinado de la herencia. Java y Ada 95 simplemente no ofrecen herencia múltiple
25
… Herencia Múltiple Uso disciplinado de la herencia múltiple: clasificaciones disjuntas con clases padre en hojas de jerarquías alternativas Bípedo Cuadrúpedo nro patas nro patas Herbívoro Con Pelos cubertura comida Animal Con Plumas cobertura comida cobertura Carnívoro Con Escamas Conejo
26
Polimorfismo El término polimorfismo se refiere a que una característica de una clase puede tomar varias formas El polimorfismo representa en nuestro caso la posibilidad de desencadenar operaciones distintas en respuesta a un mismo mensaje Cada subclase hereda las operaciones pero tiene la posibilidad de modificar localmente el comportamiento de estas operaciones
27
… Polimorfismo Ejemplo: todo animal duerme, pero cada clase lo hace de forma distinta ? dormir ?
28
… Polimorfismo Animal dormir() León Oso Tigre dormir() dormir()
{ dormir() } León Oso Tigre dormir() dormir() dormir() Dormir() Dormir() Dormir() { { { sobre el vientre sobrela espalda en un árbol } } }
29
Clases: Encapsulación
La encapsulación presenta dos ventajas básicas: Se protegen los datos de accesos indebidos El acoplamiento entre las clases se disminuye Favorece la modularidad y el mantenimiento Los atributos de una clase no deberían ser manipulables directamente por el resto de objetos
30
… Clases: Encapsulación
Los niveles de encapsulación son: (-) Privado : es el más fuerte. Esta parte es totalmente invisible (excepto para clases friends en terminología C++) (#) Los atributos/operaciones protegidos están visibles para las clases friends y para las clases derivadas de la original (+) Los atributos/operaciones públicos son visibles a otras clases (cuando se trata de atributos se está transgrediendo el principio de encapsulación)
31
… Clases: Encapsulación
Ejemplo:
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.