La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

DISEÑO DE SISTEMAS Diagrama de clases UNIDAD III:

Presentaciones similares


Presentación del tema: "DISEÑO DE SISTEMAS Diagrama de clases UNIDAD III:"— Transcripción de la presentación:

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:


Descargar ppt "DISEÑO DE SISTEMAS Diagrama de clases UNIDAD III:"

Presentaciones similares


Anuncios Google