SlideShare una empresa de Scribd logo
1
Diagramas UML
René Guamán-Quinche
Facultad de la Energía, las Industrias y los Recursos Naturales No Renovables
Carrera de Ingeniería en Sistemas/Computación
Mayo, 2020
Loja, Ecuador
3
1. Diagramas Estructurales

Diagrama de Clases

Clases

Atributos

Multiplicidad

Operaciones

Modificadores de acceso

Asociaciones

Agregación

Composición

Generalización

Herencia mútliple

Polimorfismo

Ejemplos

Diagrama de Objetos
Agenda
4
Diagrama de Clases
Describe la definición de cada uno de los posibles objetos pertenecientes al
sistema
Usamos el diagrama de clases para modelar la estructura estática de un sistema
Muestra las clases del sistema, sus atributos, operaciones (o métodos), y las
relaciones entre los objetos
Diagrama cercano a la implementación, construido y refinado a través del
desarrollo
Desarrollado por analistas, diseñadores y desarrolladores
Utilidad

Organizar el sistema, describiendo sus diferentes entidades, así como sus
características y relaciones entre ellas

Permite ver los esquemas lógicos de las estructuras de datos
5
Clases
Cada clase se representa por un rectángulo con tres compartimentos

Nombre de la clase

Atributos de la clase

Operaciones de la clase
6
Clases
7
Atributos
Un atributo tiene al menos un nombre
El tipo de atributo se puede especificar después del nombre usando: Tipo
Los posibles tipos de atributos incluyen tipos de datos primitivos, como
enteros y cadenas, tipos de datos compuestos, por ejemplo, una fecha, una
enumeración o clases definidas por el usuario
8
Multiplicidad
La multiplicidad de un atributo indica cuántos valores puede contener un
atributo
La multiplicidad se muestra como un intervalo entre corchetes en la forma
[mínimo ... máximo]

El valor del mínimo debe ser menor o igual al valor del máximo

Si no hay límite superior para el intervalo, se expresa con un asterisco∗
Combinar las propiedades {no único} y {único}, que definen si se permiten o no
duplicados, y {ordenado} y {no ordenado}, que fuerzan o cancelan un orden
fijo de los valores de atributo
9
Multiplicidad
10
Operaciones
Se caracterizan por su nombre, sus parámetros y el tipo de valor de retorno
Cuando se llama a una operación en un programa, se ejecuta el comportamiento
asignado a esta operación
El diagrama de clases no es adecuado para describir el comportamiento de
los objetos en detalle, ya que solo modela las firmas de las operaciones que
proporcionan los objetos; no modela cómo se implementan realmente estas
operaciones
11
Operaciones
En un diagrama de clases, el nombre de la operación va seguido de una lista de
parámetros entre paréntesis
Un parámetro se representa de manera similar a un atributo. La única
información obligatoria es el nombre del parámetro
El valor de retorno opcional de una operación se especifica con el tipo de valor
de retorno
12
Modificadores de acceso
PREGUNTA: ¿Qué es la encapsulación?

Ocultamiento de los datos de un objeto de tal forma que solo sean
accesibles mediante operaciones definidas por el propio objeto
La encapsulación presenta una serie de ventajas

Se protegen los datos privados del objeto de lecturas y escrituras no
permitidas

Permite una mejor estructuración y manipulación de los datos
Los atributos de un objeto no deberían ser manipulables directamente por
el resto de los objetos. En caso de querer hacerlos manipulables, se debe
implementar los procedimientos Set y Get
13
Modificadores de acceso
Encapsulación
En UML, los niveles de encapsulación vienen heredados de C++

- Privado: Atributo o proceso totalmente invisible

# Protegido: Visibles para las clases amigas (friends) o para clases
derivadas de la original

+ Públicos: Visibles a otras clases
14
Asociaciones
La asociación expresa una conexión entre elementos, esto es, que existe
algún tipo de relación entre ambos
Se representa mediante una línea que une ambas clases. Se puede indicar
el tipo de asociación y el sentido de la misma
Se indica la multiplicidad de cada clase, que representa con cuantos
objetos de la clase unida por la asociación se puede relacionar un objeto
determinado

1

0..1

M..N

*

0..*

1..*
La multiplicidad >= 1 establece una restricción de existencia
15
Asociaciones
Asociación con restricciones. Indica que sólo se realiza la asociación si
se cumple una determinada condición
Asociación excluyente. Indica que 2 posibles asociaciones no se pueden
realizar a la vez
16
Asociaciones
Navegación de las asociaciones:
Aunque las asociaciones suelen ser
bidireccionales (se pueden recorrer en
ambos sentidos), en ocasiones es
deseable hacerlas unidireccionales
(restringir su navegación en un único
sentido). Gráficamente, cuando la
asociación es unidireccional, la línea
termina en una punta de flecha que
indica el sentido de la asociación:
17
Asociaciones
Clase de asociación. Si desea asignar atributos u operaciones a la relación entre
una o más clases en lugar de a una clase en sí, puede hacerlo utilizando una clase
de asociación
Una clase de asociación está representada por una clase y una asociación que
están conectadas por una línea discontinua
La asociación puede ser binaria o n-aria
18
Asociaciones
En la figura a, un estudiante solo se le puede otorgar una reunión de examen
para discutir el resultado del examen escrito del estudiante una vez
En la figura b, muestra un modelo más amigable para los estudiantes. Allí, el
uso de {non-unique} permite que un estudiante tenga más de una reunión de
examen
19
Asociaciones
20
Agregación
Agregación
Una clase puede ser puede estar relacionada por un conjunto de clases que
la representen y, sin las cuales, no tenga sentido.
A esta relación se le llama Agregación o Composición débil, y se
representa mediante un rombo blanco
21
Agregación
Agregación - ejemplo
Un ordenador posee, como mínimo, los siguientes elementos:

1 Torre

1 Teclado

1 Monitor

1 Ratón
Una torre se compone por:

1 o varias unidades de disco duro

Varios módulos de memoria RAM

1 unidad óptica

1 tarjeta gráfica
22
Agregación
Agregación - ejemplo

23
Composición
Composición
La Composición o Composición fuerte es una relación entre clases
similar a la agregación, pero en la que las clases que componen a la
principal no tienen sentido sin dicha clase principal
Se representa mediante un rectángulo de color negro
24
Agregación y Composición
25
Generalización
Generalización
Consiste en factorizar las propiedades comunes de un conjunto de clases
en una clase más general. Herencia
Las subclases heredan propiedades de sus clases padre, esto es, los
atributos, operaciones y asociaciones de la clase padre están disponible en
sus clases hijas
Existen 2 conceptos complementarios: Generalización y Especialización
En la fase de análisis nos movemos desde la generalización hacia la
especialización
26
Generalización
Generalización
La generalización se expresa mediante una flecha hueca
27
Generalización
Generalización
Representar mediante un diagrama de clases la clasificación de los seres
vivos:

Los animales se deben organizar por su alimentación, esto es: Carnívoros,
Herbívoros y Omnívoros

Las plantas se deben clasificar por su tipo: Árboles, Arbustos y Hierbas

Para los animales, se ponen 3 ejemplos: Conejo, León y Vaca
28
Generalización
Generalización
29
Generalización
Generalización y conjuntos
Se puede equiparar el concepto de clase al de conjunto, de forma que
ambos sirven para clasificar distintos elementos
Generalización y especialización expresan relaciones entre conjuntos
30
Generalización
a) Diagrama sin generalización b) Diagrama con generalización
31
Herencia múltiple
Se produce cuando una subclase tiene más de una superclase
No se suele recomendar, ya que puede dar conflictos de nombre y
procedencia
Algunos lenguajes de programación como Java o Ada95 no permiten
herencia múltiple
32
Polimorfismo
Principio de Sustitución
El principio de sustitución (Liskow 1987) dice:
Debe ser posible utilizar cualquier objeto instancia de una subclase en el
lugar de cualquier objeto instancia de su superclase sin que la semántica
del programa escrito en los términos de la superclase se vea afectado.
Este principio debe seguirse siempre que se utilice el Polimorfismo
33
Polimorfismo
Polimorfimo
El término polimorfismo se encuentra ligado al concepto de herencia e
indica que una característica de una clase padre puede tomar diferentes
formas dependiendo de la clase hija que la ejecute
Permite que, ante un mismo estímulo, se desencadene una respuesta
distinta dependiendo de la clase que la ejecute
Este concepto permite dotar de flexibilidad al conjunto de clases
implementado, siendo uno de los mecanismos mas potentes que posee el
uso de herencia
34
Polimorfismo
Qué comen los animales?
35
Ejemplo
El dueño de un hotel te pide a desarrollar un programa para consultar sobre las habitaciones disponibles y reservar
habitaciones de su hotel
El hotel posee tres tipos de habitaciones: simple, doble y matrimonial, y dos tipos de clientes: habituales y esporádicos.
Una reserva almacena datos del cliente, de la habitación reservada, la fecha de comienzo y el número de días que será
ocupada la habitación
El recepcionista del hotel debe poder hacer la siguientes operaciones:

Obtener un listado de las habitaciones disponible de acuerdo a su tipo

Preguntar por el precio de una habitación de acuerdo a su tipo

Preguntar por el descuento ofrecido a los clientes habituales

Preguntar por el precio total para un cliente dado, especificando su numero de DNI, tipo de habitación y número de
noches.

Dibujar en pantalla la foto de un habitación de acuerdo a su tipo

Reservar una habitación especificando el número de la habitación, DNI y nombre del cliente.

Eliminar una reserva especificando el número de la habitación
El administrador puede usar el programa para:

Cambiar el precio de una habitación de acuerdo a su tipo

Cambiar el valor del descuento ofrecido a los clientes habituales

Calcular las ganancias que tendrán en un mes especificado (considere que todoslos meses tienen treinta días).
El hotel posee información sobre que clientes son habituales. El diseño a desarrollar debe facilitar la extensibilidad de
nuevos tipos de habitación o clientes y a su vez permitir agregar nuevas consultas
36
Ejemplo
37
Diagrama de Objetos
Un sistema contiene numerosos individuos diferentes, no solo personas, sino
también animales, plantas, objetos inanimados, artefactos, etc.que pueden
identificarse de manera única
Muestra una vista completa o parcial de los objetos de un sistema en un instante
de ejecución determinado
Comparte la misma notación que los diagramas de clases. El nombre del objeto
se representa subrayado, a diferencia del nombre de las clases
Utilidad.

Ilustrar las estructuras de datos/objetos del sistema

Especificar detalles del modelo

Obtener una “foto” del sistema en un determinado punto
38
Diagrama de Objetos
Ejemplo
39
Diagrama de Objetos
Ejemplo
40
Cŕeditos
• Transparencias basadas por:
• Christopher Exposito Izquierdo & AiRam Exposito Marquez & otros
• Libro: Martina Seidl · Marion Scholz, Christian Huemer · Gerti
Kappel, UML @ Classroom, An Introduction to Object-Oriented
Modeling
Networking académico:
Correo electrónico: rguaman@unl.edu.ec
Twitter: @rene5254
SlideShare: https://es.slideshare.net/rene5254
41
Gracias

Más contenido relacionado

PDF
Diagramas de actividades
PDF
Diagramas de secuencia
PDF
Diagrama de clases
PDF
Diagrama de Casos de uso
PDF
Diagramas componentes
PPTX
Diagrama de clases
PPT
Uml presentacion
PPTX
Diagramas de actividades
Diagramas de secuencia
Diagrama de clases
Diagrama de Casos de uso
Diagramas componentes
Diagrama de clases
Uml presentacion

La actualidad más candente (20)

PDF
Diagramas de estado
PDF
Casos de uso
PDF
Diagramas UML
PPTX
Diagrama de Componentes
PPTX
UML - Casos de Uso y Diagramas de Clase
PPTX
Modelado del sistema
PPTX
Diagrama de actividades
PPSX
Uml (presentación 6)
PDF
Modelo relacional
PPTX
Diagramas estados
PDF
Fundamentos ingeniería de requisitos.pdf
PPT
Tm03 modelo de casos de uso
PDF
Metodologia orientada a objeto
PPTX
Modelado basados en escenarios
PPTX
tipos de requisitos
PDF
Clases y objetos de java
PDF
Requisitos funcionales
PPTX
Diagramas de secuencia
PPTX
Tipos de pruebas de software
PPTX
Diagramas de estados
Diagramas de estado
Casos de uso
Diagramas UML
Diagrama de Componentes
UML - Casos de Uso y Diagramas de Clase
Modelado del sistema
Diagrama de actividades
Uml (presentación 6)
Modelo relacional
Diagramas estados
Fundamentos ingeniería de requisitos.pdf
Tm03 modelo de casos de uso
Metodologia orientada a objeto
Modelado basados en escenarios
tipos de requisitos
Clases y objetos de java
Requisitos funcionales
Diagramas de secuencia
Tipos de pruebas de software
Diagramas de estados
Publicidad

Similar a Diagrama de clases y objetos (20)

PDF
Diagrama de clases
PDF
Diagrama de clases
PPTX
Introducción a la progrogramación orientada a objetos - UML
PDF
3. Clases y Objetos.pdf
PPTX
Paradigma POO.pptx
PDF
Uml clase 04_uml_clases
PPTX
Resumen Programación Orientada a Objetos 20_06_2023 (1).pptx
PDF
Clase 12a uml_clases
PPTX
Diagrama de Clases basado a los casos UML.pptx
PPTX
DIAGRAMAS DE CLASE
PPTX
Diagrama de clases
PPTX
Clase 17
PDF
Diagramas Analisis
PPT
Diagramadeclase 20090223
PPTX
diapositivas_basicas_sobre_la_notacion_uml.pptx
PPTX
Diagrama de clases UML
PPTX
Introducción al Diagrama de Clases UML
PPTX
BD_05_Diagrama_clases_y_TIC e. El análisis y desarrollo s.pptx
Diagrama de clases
Diagrama de clases
Introducción a la progrogramación orientada a objetos - UML
3. Clases y Objetos.pdf
Paradigma POO.pptx
Uml clase 04_uml_clases
Resumen Programación Orientada a Objetos 20_06_2023 (1).pptx
Clase 12a uml_clases
Diagrama de Clases basado a los casos UML.pptx
DIAGRAMAS DE CLASE
Diagrama de clases
Clase 17
Diagramas Analisis
Diagramadeclase 20090223
diapositivas_basicas_sobre_la_notacion_uml.pptx
Diagrama de clases UML
Introducción al Diagrama de Clases UML
BD_05_Diagrama_clases_y_TIC e. El análisis y desarrollo s.pptx
Publicidad

Más de Rene Guaman-Quinche (20)

PDF
interfaces.pdf
PDF
Paradigma Programación Orientada a Objetos
PDF
replicacion heterogenea.pdf
PDF
Elicitación de requerimientos
PDF
Arquitectura sw varios niveles.pdf
PDF
Hilos con Posix
PDF
Introducción a los sistemas distribuidos
PDF
C4model - Arquitectura de Software
PDF
Sistema de Archivos Distribuidos
PDF
Unidad 2 diseño orientado a objetos
PDF
Tiempo, causalidad y estado global
PDF
Tiempo, causalidad y estado global Alberto Lafuente Teorìa
PDF
Tiempo, causalidad y estado global Alberto Lafuente Transparencias
PDF
Ciclo de vida software
PDF
Comunicacion intra procesos con socket
PDF
Modelo paso de mensajes
PDF
Requisitos no Funcionales
PDF
Caracterizacion del paralelismo
interfaces.pdf
Paradigma Programación Orientada a Objetos
replicacion heterogenea.pdf
Elicitación de requerimientos
Arquitectura sw varios niveles.pdf
Hilos con Posix
Introducción a los sistemas distribuidos
C4model - Arquitectura de Software
Sistema de Archivos Distribuidos
Unidad 2 diseño orientado a objetos
Tiempo, causalidad y estado global
Tiempo, causalidad y estado global Alberto Lafuente Teorìa
Tiempo, causalidad y estado global Alberto Lafuente Transparencias
Ciclo de vida software
Comunicacion intra procesos con socket
Modelo paso de mensajes
Requisitos no Funcionales
Caracterizacion del paralelismo

Último (6)

PPTX
sistemas de informacion.................
DOCX
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
PPTX
Conceptos basicos de Base de Datos y sus propiedades
PDF
Su punto de partida en la IA: Microsoft 365 Copilot Chat
PPTX
Derechos_de_Autor_y_Creative_Commons.pptx
PDF
AutoCAD Herramientas para el futuro, Juan Fandiño
sistemas de informacion.................
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
Conceptos basicos de Base de Datos y sus propiedades
Su punto de partida en la IA: Microsoft 365 Copilot Chat
Derechos_de_Autor_y_Creative_Commons.pptx
AutoCAD Herramientas para el futuro, Juan Fandiño

Diagrama de clases y objetos

  • 1. 1
  • 2. Diagramas UML René Guamán-Quinche Facultad de la Energía, las Industrias y los Recursos Naturales No Renovables Carrera de Ingeniería en Sistemas/Computación Mayo, 2020 Loja, Ecuador
  • 3. 3 1. Diagramas Estructurales  Diagrama de Clases  Clases  Atributos  Multiplicidad  Operaciones  Modificadores de acceso  Asociaciones  Agregación  Composición  Generalización  Herencia mútliple  Polimorfismo  Ejemplos  Diagrama de Objetos Agenda
  • 4. 4 Diagrama de Clases Describe la definición de cada uno de los posibles objetos pertenecientes al sistema Usamos el diagrama de clases para modelar la estructura estática de un sistema Muestra las clases del sistema, sus atributos, operaciones (o métodos), y las relaciones entre los objetos Diagrama cercano a la implementación, construido y refinado a través del desarrollo Desarrollado por analistas, diseñadores y desarrolladores Utilidad  Organizar el sistema, describiendo sus diferentes entidades, así como sus características y relaciones entre ellas  Permite ver los esquemas lógicos de las estructuras de datos
  • 5. 5 Clases Cada clase se representa por un rectángulo con tres compartimentos  Nombre de la clase  Atributos de la clase  Operaciones de la clase
  • 7. 7 Atributos Un atributo tiene al menos un nombre El tipo de atributo se puede especificar después del nombre usando: Tipo Los posibles tipos de atributos incluyen tipos de datos primitivos, como enteros y cadenas, tipos de datos compuestos, por ejemplo, una fecha, una enumeración o clases definidas por el usuario
  • 8. 8 Multiplicidad La multiplicidad de un atributo indica cuántos valores puede contener un atributo La multiplicidad se muestra como un intervalo entre corchetes en la forma [mínimo ... máximo]  El valor del mínimo debe ser menor o igual al valor del máximo  Si no hay límite superior para el intervalo, se expresa con un asterisco∗ Combinar las propiedades {no único} y {único}, que definen si se permiten o no duplicados, y {ordenado} y {no ordenado}, que fuerzan o cancelan un orden fijo de los valores de atributo
  • 10. 10 Operaciones Se caracterizan por su nombre, sus parámetros y el tipo de valor de retorno Cuando se llama a una operación en un programa, se ejecuta el comportamiento asignado a esta operación El diagrama de clases no es adecuado para describir el comportamiento de los objetos en detalle, ya que solo modela las firmas de las operaciones que proporcionan los objetos; no modela cómo se implementan realmente estas operaciones
  • 11. 11 Operaciones En un diagrama de clases, el nombre de la operación va seguido de una lista de parámetros entre paréntesis Un parámetro se representa de manera similar a un atributo. La única información obligatoria es el nombre del parámetro El valor de retorno opcional de una operación se especifica con el tipo de valor de retorno
  • 12. 12 Modificadores de acceso PREGUNTA: ¿Qué es la encapsulación?  Ocultamiento de los datos de un objeto de tal forma que solo sean accesibles mediante operaciones definidas por el propio objeto La encapsulación presenta una serie de ventajas  Se protegen los datos privados del objeto de lecturas y escrituras no permitidas  Permite una mejor estructuración y manipulación de los datos Los atributos de un objeto no deberían ser manipulables directamente por el resto de los objetos. En caso de querer hacerlos manipulables, se debe implementar los procedimientos Set y Get
  • 13. 13 Modificadores de acceso Encapsulación En UML, los niveles de encapsulación vienen heredados de C++  - Privado: Atributo o proceso totalmente invisible  # Protegido: Visibles para las clases amigas (friends) o para clases derivadas de la original  + Públicos: Visibles a otras clases
  • 14. 14 Asociaciones La asociación expresa una conexión entre elementos, esto es, que existe algún tipo de relación entre ambos Se representa mediante una línea que une ambas clases. Se puede indicar el tipo de asociación y el sentido de la misma Se indica la multiplicidad de cada clase, que representa con cuantos objetos de la clase unida por la asociación se puede relacionar un objeto determinado  1  0..1  M..N  *  0..*  1..* La multiplicidad >= 1 establece una restricción de existencia
  • 15. 15 Asociaciones Asociación con restricciones. Indica que sólo se realiza la asociación si se cumple una determinada condición Asociación excluyente. Indica que 2 posibles asociaciones no se pueden realizar a la vez
  • 16. 16 Asociaciones Navegación de las asociaciones: Aunque las asociaciones suelen ser bidireccionales (se pueden recorrer en ambos sentidos), en ocasiones es deseable hacerlas unidireccionales (restringir su navegación en un único sentido). Gráficamente, cuando la asociación es unidireccional, la línea termina en una punta de flecha que indica el sentido de la asociación:
  • 17. 17 Asociaciones Clase de asociación. Si desea asignar atributos u operaciones a la relación entre una o más clases en lugar de a una clase en sí, puede hacerlo utilizando una clase de asociación Una clase de asociación está representada por una clase y una asociación que están conectadas por una línea discontinua La asociación puede ser binaria o n-aria
  • 18. 18 Asociaciones En la figura a, un estudiante solo se le puede otorgar una reunión de examen para discutir el resultado del examen escrito del estudiante una vez En la figura b, muestra un modelo más amigable para los estudiantes. Allí, el uso de {non-unique} permite que un estudiante tenga más de una reunión de examen
  • 20. 20 Agregación Agregación Una clase puede ser puede estar relacionada por un conjunto de clases que la representen y, sin las cuales, no tenga sentido. A esta relación se le llama Agregación o Composición débil, y se representa mediante un rombo blanco
  • 21. 21 Agregación Agregación - ejemplo Un ordenador posee, como mínimo, los siguientes elementos:  1 Torre  1 Teclado  1 Monitor  1 Ratón Una torre se compone por:  1 o varias unidades de disco duro  Varios módulos de memoria RAM  1 unidad óptica  1 tarjeta gráfica
  • 23. 23 Composición Composición La Composición o Composición fuerte es una relación entre clases similar a la agregación, pero en la que las clases que componen a la principal no tienen sentido sin dicha clase principal Se representa mediante un rectángulo de color negro
  • 25. 25 Generalización Generalización Consiste en factorizar las propiedades comunes de un conjunto de clases en una clase más general. Herencia Las subclases heredan propiedades de sus clases padre, esto es, los atributos, operaciones y asociaciones de la clase padre están disponible en sus clases hijas Existen 2 conceptos complementarios: Generalización y Especialización En la fase de análisis nos movemos desde la generalización hacia la especialización
  • 27. 27 Generalización Generalización Representar mediante un diagrama de clases la clasificación de los seres vivos:  Los animales se deben organizar por su alimentación, esto es: Carnívoros, Herbívoros y Omnívoros  Las plantas se deben clasificar por su tipo: Árboles, Arbustos y Hierbas  Para los animales, se ponen 3 ejemplos: Conejo, León y Vaca
  • 29. 29 Generalización Generalización y conjuntos Se puede equiparar el concepto de clase al de conjunto, de forma que ambos sirven para clasificar distintos elementos Generalización y especialización expresan relaciones entre conjuntos
  • 30. 30 Generalización a) Diagrama sin generalización b) Diagrama con generalización
  • 31. 31 Herencia múltiple Se produce cuando una subclase tiene más de una superclase No se suele recomendar, ya que puede dar conflictos de nombre y procedencia Algunos lenguajes de programación como Java o Ada95 no permiten herencia múltiple
  • 32. 32 Polimorfismo Principio de Sustitución El principio de sustitución (Liskow 1987) dice: Debe ser posible utilizar cualquier objeto instancia de una subclase en el lugar de cualquier objeto instancia de su superclase sin que la semántica del programa escrito en los términos de la superclase se vea afectado. Este principio debe seguirse siempre que se utilice el Polimorfismo
  • 33. 33 Polimorfismo Polimorfimo El término polimorfismo se encuentra ligado al concepto de herencia e indica que una característica de una clase padre puede tomar diferentes formas dependiendo de la clase hija que la ejecute Permite que, ante un mismo estímulo, se desencadene una respuesta distinta dependiendo de la clase que la ejecute Este concepto permite dotar de flexibilidad al conjunto de clases implementado, siendo uno de los mecanismos mas potentes que posee el uso de herencia
  • 35. 35 Ejemplo El dueño de un hotel te pide a desarrollar un programa para consultar sobre las habitaciones disponibles y reservar habitaciones de su hotel El hotel posee tres tipos de habitaciones: simple, doble y matrimonial, y dos tipos de clientes: habituales y esporádicos. Una reserva almacena datos del cliente, de la habitación reservada, la fecha de comienzo y el número de días que será ocupada la habitación El recepcionista del hotel debe poder hacer la siguientes operaciones:  Obtener un listado de las habitaciones disponible de acuerdo a su tipo  Preguntar por el precio de una habitación de acuerdo a su tipo  Preguntar por el descuento ofrecido a los clientes habituales  Preguntar por el precio total para un cliente dado, especificando su numero de DNI, tipo de habitación y número de noches.  Dibujar en pantalla la foto de un habitación de acuerdo a su tipo  Reservar una habitación especificando el número de la habitación, DNI y nombre del cliente.  Eliminar una reserva especificando el número de la habitación El administrador puede usar el programa para:  Cambiar el precio de una habitación de acuerdo a su tipo  Cambiar el valor del descuento ofrecido a los clientes habituales  Calcular las ganancias que tendrán en un mes especificado (considere que todoslos meses tienen treinta días). El hotel posee información sobre que clientes son habituales. El diseño a desarrollar debe facilitar la extensibilidad de nuevos tipos de habitación o clientes y a su vez permitir agregar nuevas consultas
  • 37. 37 Diagrama de Objetos Un sistema contiene numerosos individuos diferentes, no solo personas, sino también animales, plantas, objetos inanimados, artefactos, etc.que pueden identificarse de manera única Muestra una vista completa o parcial de los objetos de un sistema en un instante de ejecución determinado Comparte la misma notación que los diagramas de clases. El nombre del objeto se representa subrayado, a diferencia del nombre de las clases Utilidad.  Ilustrar las estructuras de datos/objetos del sistema  Especificar detalles del modelo  Obtener una “foto” del sistema en un determinado punto
  • 40. 40 Cŕeditos • Transparencias basadas por: • Christopher Exposito Izquierdo & AiRam Exposito Marquez & otros • Libro: Martina Seidl · Marion Scholz, Christian Huemer · Gerti Kappel, UML @ Classroom, An Introduction to Object-Oriented Modeling
  • 41. Networking académico: Correo electrónico: rguaman@unl.edu.ec Twitter: @rene5254 SlideShare: https://es.slideshare.net/rene5254 41 Gracias