Está en la página 1de 37

Área : Tecnologías de Información y Ciberseguridad

Carrera : Ingeniería en Informática / Analista Programador


Asignatura : Programación Orientada a Objeto
Código : TI2021

Unidad I:
Pilares De La Programación
Orientada a Objeto
Semana 1
Docente: Miguel Angel López Jerez
Asignatura: Programación Orientada a Objeto
(UML)
Diagrama De Clases
UML (Lenguaje de Modelamiento Unificado)
UML Corresponde a un estándar para documentar proyectos de software,
otorgando una suite de utilidades para la diagramación de los distintos
niveles de detalles de un software.

Diagrama De Diagrama De Diagrama De Diagrama De


Casos De Uso Clases Secuencia Estados

Cada uno de los diagramas tiene una finalidad diferente, sin embargo, se complementan
para entregar información más específica respecto a un proceso en particular.
Diagrama De Clases
Para la presente unidad, el eje central estará en la generación de Diagramas de Clases.
Piensa en lo siguiente, la mayoría de las cosas que se conocen están formadas por varias
partes las cuales se complementan para realizar una tarea específica, la cual no podría ser
realizada por ninguna de las partes por separado. Esta idea conceptual se aplica en la
generación de los diagramas de clases.
Diagrama De Clases
Por ejemplo, cuando se quiere encender el televisor se tiene la tendencia natural a utilizar
el control remoto. Ahora bien, si analiza con mayor profundidad, para lograr encender el
televisor, el objeto Persona, estás interactuando con el Control Remoto (otro objeto), el
cual a su vez envía una señal al Televisor (otro objeto) y finalmente el televisor se enciende.
Diagrama De Clases
Al analizar el comportamiento que tienen los objetos, notará que existe
cierto grado de interacción entre ellos, ya que, el objeto Persona envía un
mensaje al objeto Control Remoto, el cual a su vez se comunica con el
objeto Televisor para realizar una acción (La persona no enciende el
televisor directamente, sino más bien, es el control remoto el que solicita al
televisor que se encienda).

Es en este punto donde entra en juego el diagrama de clases, ya que su


finalidad es representar los componentes de un software dentro de un
problema, el cual no cambiará en el tiempo. Es por esta razón que se le
conoce como también con el nombre “Diagrama Estático De Clases”.
El Diagrama De Clases Permite:
Mostrar la forma en que los diferentes componentes del
software interactúan entre si.

Definir la forma en que los objetos se componen, es decir


sus características y la forma en que se comportan

Analizar la forma en que las clases se relacionan.

Tener una vista estática del problema el cual no va a


cambiar con el tiempo.
¿Qué Es Una Clase?
Clases
Es una plantilla para la creación de objetos, ya que, es la unidad básica que encapsula toda
la información de un objeto.

Define el plano o el patrón para poder construir objetos.

Esta compuesta por 3 partes, el nombre o identificador de la clase, los atributos o


características y los métodos o comportamientos.
Clase (Representación Básica)

En primer lugar se debe indicar el nombre de la clase, la cual en


este caso es «Cliente». Luego se deben declarar los atributos (rut
y nombre), seguidos por los comportamientos (guardar y buscar),
los cuales logran ser identificados por el uso de paréntesis.
Clase (Accesibilidad)

Se debe establecer la accesibilidad de los atributos y


comportamientos, donde el signo «+» es público y el signo «-»
privado.

Público significa que los atributos y comportamientos pueden ser


accedidos desde otras clases, mientras que los privados solo
desde la misma clase.
Clase (Tipos de Datos)

A cada atributo se le asigna un tipo de dato, el cual permite


entender que tipo de dato almacenará dentro del programa, es
decir, si corresponde a un número entero, flotante, booleano,
texto (String), entre otros.
Clase (Constructores y Comportamientos)

Se genera el constructor, junto con los getter y setters


correspondientes para obtener y establecer datos.
Clase (Comportamientos Con Parámetros)

En algunos casos se pueden complementar los


comportamientos, indicando si para realizar su función es
necesario que reciba parámetros o no.

Entiéndase por parámetro a un dato que es recibido por un


comportamiento o método, como en el ejemplo del buscar.
Actividad
Actividad
A partir de lo aprendido, realice el diagrama de clase que represente la estructura del caso
visto anteriormente que involucra al usuario, al televisor y al control remoto.

Recuerde aplicar la asociación existente entre las clases a través de una línea, ya que eso
facilita la lectura y la comprensión de lo que se pretende representar.
Relación Entre Clases
Relación Entre Clases
Las clases no funcionan solas, sino que establecen relaciones entre ellas, estas relaciones,
permiten definir la forma en que las clases interactúan en el mundo real cuando se
transformen en objetos

Por lo tanto para lograr un objetivo mayor, un objeto solicita a otro objeto que realice una
acción mediante la comunicación utilizando mensajes, estos mensajes permiten que los
objetos colaboren y así los objetos pueden lograr especificidad y hacerse especialistas en
una o varias operaciones.
Relación De Asociación
La relación de asociación, se define cuando una clase se asocia con otra para lograr un
objetivo, este tipo de relación es el más básico, en este caso cada una de las clases tiene
una instancia de la otra.
Relación De Asociación - Restricción
Las restricciones son básicamente anotaciones con instrucciones o con características que
no pueden ser escritas en el diagrama de otra forma. Las restricciones suelen encerrarse
entre llaves { }.
Multiplicidad o Cardinalidad
La cardinalidad o multiplicidad en una relación establece el grado y nivel de dependencia,
de esta forma podemos determinar que existen varios tipos de cardinalidad:

1a1

muchos a
1 a muchos
muchos

numéricamente
opcional
especificada
Asociación 1 a 1 (1..1).
En una relación de asociación uno a uno, ésta es en ambas direcciones, por lo mismo los
objetos de ambas clases están asociados sólo a un objeto de la otra clase, por ejemplo la
relación de exclusividad que existe entre el gerente de una empresa y la empresa, así desde
el punto de vista clásico, el gerente sólo puede ser gerente de una empresa y la empresa
sólo puede tener un gerente.
Asociación 1 a muchos (1..*).
En esta relación, se produce una relación uno a muchos en una dirección y en la otra una
relación uno a uno, por ejemplo la relación entre el héroe y la cantidad de balas que puede
disparar, haciendo una analogía, en las películas de acción los héroes tienen cargadores
infinitos de balas, nunca sabemos cuándo se van a acabar. De esta forma, el héroe tiene un
cargador con muchas balas (no sabemos el número exacto) y esas balas pertenecen sólo al
héroe.
Asociación Numéricamente Especificada.
En este caso la asociación se realiza un número de veces especificado, por ejemplo en un
equipo de voleibol, la cantidad mínima de jugadores es 6 y la máxima 12, fíjate que las
cotas mínimas y máximas están bien definidas y no pueden ser mayores o menores es decir
un equipo no puede tener 5 o 4 jugadores como tampoco puede tener 13 o 14 pero si
puede tener 8.
Asociación Opcional (0..*).
En este caso, la relación no establece obligatoriedad de existencia en la relación, por
ejemplo la relación que se da entre el dueño de una cuenta de banco y las tarjetas de
crédito que este posee. No todos los dueños de las cuentas de banco poseen tarjeta de
crédito.
Asociación de Muchos a Muchos (*..*).
En este caso la relación se establece entre clases con una asociación de uno a muchos en
ambas direcciones, por ejemplo la relación que se establece entre los alumnos y las
asignaturas que inscriben en el semestre, si te fijas un alumno tiene muchas asignaturas
inscritas y cada asignatura a su vez tiene muchos alumnos.
Relación De Herencia, Agregación y
Composición
Relación de Herencia
La asociación de herencia permite que las clases que se relacionan, lo puedan hacer en un
nivel de especificidad, es decir que las clases que se están asociando son clases iguales
salvo que una de ellas es más específica, es decir implementa más métodos o los mismos
métodos pero con una implementación distinta.
Relación de Agregación
La agregación es un tipo de relación en dónde el TODO esta compuesto de PARTES pero la
existencia de las PARTES no está definida por la existencia del TODO.
Relación de Composición
La composición es un tipo de relación más fuerte que la agregación. La composición es
también una relación entre instancias. Así los objetos que participan en la relación, nacen,
viven y mueren relacionados con el todo.
Actividad
Ejercicio 01
Generar diagrama de clases para representar un programa que permita digitar el nombre
y el apellido de una persona, para luego mostrar los datos en pantalla:
La clase “Principal” será quien posea la especificación completa.

La clase “Principal” cuenta con los atributos “nombre” y “apellido” para la lectura de los
datos correspondientes, además de poseer los métodos “digitarDatos” y “mostrarDatos”.

Considere que para ejecutar el programa, debe crear un objeto para llamar primero al
método “digitarDatos” y luego al método “mostrarDatos”.

Una vez generado el diagrama de clases, codifique el algoritmo correspondiente.


Ejercicio 02
Generar diagrama de clases para representar un programa que permita digitar 3 números
y luego mostrarlos en pantalla una vez finalizado el ingreso de dichos números:
• La clase “Principal” depende de la clase “Metodos” para su funcionamiento.

• La clase “Principal” cuenta con un objeto que instancia hacia la clase “Metodos”, además
posee un método llamado “EjecutarPrograma” el cual realizará las llamadas de los
métodos “digitarNumeros” y “mostrarNumeros” que son parte de la clase llamada
“Metodos”.

• La clase “Metodos” cuenta con un atributo para la lectura de números digitados y otro
atributo (lista) para almacenar los números digitados. Además, también posee los
métodos: “digitarNumeros” y “mostrarNumeros”.
Ejercicio 03
Generar diagrama de clases para representar la relación entre las clases de una
institución educacional: Profesores, Alumnos y Cursos.
• Los Profesores y los Alumnos deben asociarse a los cursos, donde dichos cursos cuentan
con un identificador numérico y un nombre. Además, cabe destacar que, los cursos se
componen de alumnos para poder existir, mientras que por otra parte, dependen de la
tutoría de los distintos profesores de institución para la realización de las clases.

• Los Profesores disponen de años de experiencia y sueldo, mientras que los Alumnos
disponen de número de matrícula y semestre que cursa.

• Se entiende que los Profesores y los Alumnos comparten atributos en común (rut,
nombre y apellido), ya que, son especificaciones de Personas.
Ejercicio 04
Generar diagrama de clases para representar la relación entre los clientes de un restaurante, junto con los
pedidos que pueden hacer a los garzones y las correspondientes boletas asociadas:

• Los garzones se encargan de tomar el pedido de los clientes, donde cada pedido debe ser identificado y debe
contar con una descripción detallada de lo que se consume.
• Los Clientes pueden realizar el pago del monto total del pedido solicitado.
• Como datos adicionales se indica que los Clientes poseen rut, nombre, apellido y formas de pago asociadas,
siendo capaces de solicitar pedidos, mientras que los Garzones poseen comisiones, siendo capaces de tomar
pedidos como también de anularlos.
• La boleta debe incluir el número de boleta, junto con la fecha de emisión de ella y el total que pagará el
cliente.
• Se entiende que los Clientes y los Garzones comparten atributos en común (id, nombre y apellido), ya que, son
especificaciones de Personas.
Ejercicio 05
Generar diagrama de clases reconociendo todos los elementos involucrados en la situación planteada de una
Mediateca.

• Una Mediateca de la cual se conoce el id y el nombre, está compuesta por varios Socios inscritos, los cuales
pueden consultar o solicitar distintos tipos soportes, por ejemplo Libros o Películas, dependiendo de lo que
requieran en determinados momentos.
• Como datos adicionales se indica que los Socios poseen un identificador para la membresía, nombre y
apellido.
• Los Libros por su parte poseen la cantidad de páginas, mientras que las películas cuentan con el dato de la
duración.
• Se entiende que los Libros y las Películas comparten atributos en común (id, titulo y autor) al ser
especificaciones de Tipos de Soporte.

También podría gustarte