Está en la página 1de 12

Universidad Mariano Gálvez de Guatemala

Facultad de Ingeniería en Sistemas de Información y Ciencias de la Computación

Curso Algoritmos
Lic. YOONG HARIM RENE ESTRADA URIZAR

Clases y objetos.

Integrantes del grupo:

Dilan Carlos Alberto Lux Tojin No de Carnet: 1090-22-20776


Henry Alejandro Pineda Barrios No de Carnet: 1090-21-12094
Hendrick Alexandre de León Ajpacajá No de Carnet: 1090-22-1890
Jorge Gabriel De Paz Ajpacajá No de Carnet: 1090-22-1892

Santa cruz del Quiché, El Quiché, 27 de octubre de 2022


Introducción
Clases y objetos

¿Qué es un diagrama de clases en UML?


El Lenguaje Unificado de Modelado (UML, por sus siglas en inglés) puede ayudarte a
modelar sistemas de diversas formas. Uno de los tipos más populares en el UML es el
diagrama de clases. Popular entre los ingenieros de software para documentar
arquitectura de software, los diagramas de clases son un tipo de diagrama de estructura
porque describen lo que debe estar presente en el sistema que se está modelando.
El UML se estableció como un modelo estandarizado para describir un enfoque de
programación orientada a objetos (POO). Como las clases son los componentes básicos
de los objetos, los diagramas de clases son los componentes básicos del UML. Los
diversos componentes en un diagrama de clases pueden representar las clases que se
programarán en realidad, los objetos principales o la interacción entre clases y objetos.
La figura de clase en sí misma consiste en un rectángulo de tres filas. La fila superior
contiene el nombre de la clase, la fila del centro contiene los atributos de la clase y la
última expresa los métodos o las operaciones que la clase puede utilizar. Las clases y las
subclases se agrupan para mostrar la relación estática entre cada objeto.
Componentes básicos de un diagrama de clases
El diagrama de clases estándar está compuesto por tres partes:
 Sección superior: Contiene el nombre de la clase. Esta sección siempre es
necesaria, ya sea que se esté hablando del clasificador o de un objeto.
 Sección central: Contiene los atributos de la clase. Se usa esta sección para
describir cualidades de la clase. Esto solo es necesario al describir una instancia
específica de una clase.
 Sección inferior: Incluye operaciones de clases (métodos). Esto está organizado
en un formato de lista. Cada operación requiere su propia línea. Las operaciones
describen cómo una clase puede interactuar con los datos
Modificadores de acceso a miembros
Todas las clases poseen diferentes niveles de acceso en función del modificador de
acceso (visibilidad). A continuación, se encuentran los accesos con sus símbolos
correspondientes:

 Público (+)
 Privado (-)
 Protegido (#)
 Paquete (~)
 Derivado (/)
 Estático (subrayado)
Alcance de los miembros
Hay dos alcances para los miembros: clasificadores e instancias: Los clasificadores son
miembros estáticos, mientras que las instancias son las instancias específicas de la clase.
Componentes adicionales del diagrama de clases
En función del contexto, las clases de un diagrama de clases pueden representar los
objetos principales, las interacciones en la aplicación o las clases que se programarán.
Para responder la pregunta "¿Qué es un diagrama de clases en UML?”, primero se debe
comprender su composición básica.
 Clases: Una plantilla para crear objetos e implementar un comportamiento en un
sistema. En UML, una clase representa un objeto o un conjunto de objetos que
comparte una estructura y un comportamiento comunes. Se representan con un
rectángulo que incluye filas del nombre de la clase, sus atributos y sus
operaciones. Al dibujar una clase en un diagrama de clases, solo se debe
cumplimentar la fila superior. Las otras son opcionales y se usan si deseas
agregar más detalles.
o Nombre: La primera fila en una figura de clase.

o Atributos: La segunda fila en una figura de clase. Cada atributo de una


clase está ubicado en una línea separada.
o Métodos: La tercera fila en una figura de clase. También conocidos como
"operaciones", los métodos se organizan en un formato de lista donde cada
operación posee su propia línea.
 Señales: Símbolos que representan comunicaciones unidireccionales y
asincrónicas entre objetos activos.
 Tipos de datos Clasificadores que definen valores de datos. Los tipos de datos
pueden modelar tanto enumeraciones como tipos primitivos.
 Paquetes: Figuras diseñadas para organizar clasificadores relacionados en un
diagrama. Se simbolizan con una figura de un gran rectángulo con pestañas.
 Interfaces: Una recopilación de firmas de operaciones o de definiciones de atributo
que define un conjunto uniforme de comportamientos. Las interfaces son similares
a una clase, excepto por que una clase puede tener una instancia de su tipo, y una
interfaz debe poseer, como mínimo, una clase para implementarla.
 Enumeraciones: Representaciones de tipos de datos definidos por el usuario. Una
enumeración incluye grupos de identificadores que representan valores de la
enumeración.
 Objetos: Instancias de una clase o clases. Los objetos se pueden agregar a un
diagrama de clases para representar instancias prototípicas o concretas.
 Artefactos: Elementos modelo que representan las entidades concretas de un
sistema de software, como documentos, bases de datos, archivos ejecutables,
componentes de software y más.
Interacciones
El término "interacciones" se refiere a múltiples relaciones y enlaces que pueden existir en
diagramas de objetos y de clases. Algunas de las interacciones más comunes incluyen:
 Herencia: El proceso en el que una subclase o clase derivada recibe la
funcionalidad de una superclase o clase principal, también se conoce como
"generalización". Se simboliza mediante una línea de conexión recta con una
punta de flecha cerrada que señala a la superclase.

En este ejemplo, el objeto "Auto" heredaría todos los atributos (velocidad, números de


pasajeros, combustible) y los métodos (arrancar (), frenar (), cambiar Dirección ()) de la
clase principal ("Vehículo"), además de los atributos específicos (tipo de modelo, número
de puertas, fabricante del auto) y métodos de su propia clase (Radio (), limpiaparabrisas
(), aire acondicionado/calefacción ()). La herencia se muestra en un diagrama de clases
por medio de una línea continua con una flecha cerrada y vacía.
 Asociación bidireccional: La relación predeterminada entre dos clases. Ambas
clases están conscientes una de la otra y de la relación que tienen entre sí. Esta
asociación se representa mediante una línea recta entre dos clases.

En el ejemplo anterior, la clase Auto y la clase Viaje están interrelacionadas. En un


extremo de la línea, el Auto recibe la asociación de "autoasignado" con el valor de
multiplicidad de 0...1, de modo que cuando la instancia de Viaje existe, puede tener una
instancia de Auto asociada a ella o no tener instancias de Autos asociadas a ella. En este
caso, una clase Casa Rodante separada con un valor de multiplicidad de 0...* es
necesaria para demostrar que un Viaje puede tener múltiples instancias de Autos
asociadas a ella. Dado que una instancia de Auto podría tener múltiples asociaciones
"iniciar Viaje", en otras palabras, un auto podría realizar múltiples viajes, el valor de
multiplicidad se establece en 0...*
 Asociación unidireccional: Una relación un poco menos común entre dos
clases. Una clase está consciente de la otra e interactúa con ella. La asociación
unidireccional se dibuja con una línea de conexión recta que señala una punta de
flecha abierta desde la clase "knowing" a la clase "known".

Como ejemplo, en tu viaje por Arizona, podrías encontrarte con una trampa de velocidad
donde un radar de tráfico registra la velocidad a la que conducías, pero no lo sabrás hasta
que recibas la notificación por correo. Esto no está dibujado en la imagen, pero en este
caso, el valor de multiplicidad sería 0..* en función de cuántas veces hayas conducido
frente al radar de tráfico.
Beneficios de los diagramas de clases
Los diagramas de clases ofrecen una serie de beneficios para toda organización. Usa los
diagramas de clases UML para:
 Ilustrar modelos de datos para sistemas de información, sin importar qué tan
simples o complejos sean.
 Comprender mejor la visión general de los esquemas de una aplicación.
 Expresar visualmente cualesquier necesidades específicas de un sistema y
divulgar esa información en toda la empresa.
 Crear diagramas detallados que resalten cualquier código específico que será
necesario programar e implementar en la estructura descrita.
 Ofrecer una descripción independiente de la implementación sobre los tipos
empleados en un sistema que son posteriormente transferidos entre sus
componentes.
Objeto
Los Diagramas de Objetos están ligados con los Diagramas de Clases. Un objeto es una
instancia de una clase, por lo cual un diagrama de objetos puede ser observado como una
instancia de un diagrama de clases. Los diagramas de objetos describen la composición
estática de un sistema en un rato especial y son utilizados para probar la exactitud de los
diagramas de clases.

 Nombre Objeto: Clase


Nombre de los objetos Cada objeto es representado como un rectángulo, que contiene
el nombre del objeto y su clase subrayadas y separadas por dos puntos.

Nombre Objeto: Clase


Atributo tipo = ´Valor´
Atributo tipo = ´Valor´
Atributo tipo = ´Valor´
Atributo tipo = ´Valor´

 Atributos: Como con las clases, los atributos se listan en un área inferior. Sin
embargo, los atributos de los objetos deben tener un valor asignado. (Cátedra de
Proyecto, p.5)
Un diagrama de Objeto se puede tener en cuenta un caso particular de un diagrama de
clase. Los diagramas de objetos utilizan un sub grupo de recursos de un diagrama de
clase para enfatizar la interacción en medio de las instancias de las clases en cualquier
punto en la era. Dichos son útiles para comprender los diagramas de clases. Dichos no
presentan nada distinto en su arquitectura a los diagramas de sucesión, sin embargo,
reflejan multiplicidad y papeles.
Los diagramas de objetos de UML representan un exclusivo ejemplo de una clase y se
aplican para ilustrar un punto de datos en su aplicación. Una vez que sospecha un objeto
nuevo, denominado explicación de instancia, UML le posibilita dedicar una clase ya que
existe representada por la instancia. UML da automáticamente al objeto instancias de las
características pertinentes a partir de la clase y el cliente puede insertar valores de
muestras para el objeto.

 Objeto = Identidad + Estado + Comportamiento


 El estado está representado por los valores estado está representado por los
valores de los atributos los atributos
 Un atributo toma atributo toma un valor en un valor en un dominio concreto
dominio concreto Identidad ( Identidad (Object Identifier Object Identifier):
 Constituye un identificador único y global para cada Constituye un identificador
único y global para cada objeto dentro del sistema. objeto dentro del sistema.
 Es determinado en el momento de la creación del objeto. Es determinado en el
momento de la creación del objeto.
 Es independiente de la localización física del objeto. Es independiente de la
localización física del objeto.
 Es independiente de las propiedades del objeto, lo cual Es independiente de las
propiedades del objeto, lo cual implica independencia de valor y de estructura
implica independencia de valor y de estructura
 No cambia durante toda la vida del objeto. No cambia durante toda la vida del
objeto.
 No se tiene ningún control sobre los No se tiene ningún control sobre los oidos y
su manipulación resulta transparente manipulación resulta transparent (Daniel
Riesco, 2019, p.39-40)
Beneficios de la Tecnología de Beneficios de la Tecnología de Objetos Objetos

 Reutilización de elementos Reutilización de elementos


 Desarrollo más veloz Desarrollo más veloz
 Mejor calidad Mejor calidad
 Composición descompuesta Composición descompuesta, mantenimiento más
simple
 Más sencillos de adaptar y escala

 Proximidad de los conceptos los conceptos de modelado respecto de las


entidades las entidades de todo el mundo real
 Optimización captura y validación de requisitos
 Acerca el “espacio del problema” y el “espacio de la solución
 Modelado incluido Modelado incluido de características fijas características
fijas y dinámicas del entorno del problema
 Permite creación Permite creación, mantenimiento y reutilización
Los diagramas de objetos son fáciles de generar: se conforman de objetos, representados
por rectángulos, conectados por medio de líneas. Echa un vistazo a los recursos
primordiales de un diagrama de objetos.
Objetos
Los objetos son instancias de una clase. Ejemplificando, si "carro" es una clase, un Altima
2007 de Nissan es un objeto de una clase.
Aplicaciones del diagrama de objetos

 A un inventor le resultarán útiles los diagramas de objetos en varios de los casos.


Estos casos integran:
 Revisión de una iteración específica de un sistema general.
 Obtención de una vista de grado elevado del sistema que desarrollarás.
 Prueba de un diagrama de clases que creaste para la composición general del
sistema, mediante diagramas de objetos para casos de uso específicos.

Otros ejemplos de diagramas de objetos UML


Las especificaciones UML principalmente no cambian una vez que explicamos un
diagrama de objetos en diferentes idiomas de programación. El fin del UML es que los
desarrolladores planifiquen programa independientemente de las plataformas concretas.
En seguida, se hallan 2 de los tipos de diagramas de objetos más habitualmente utilizados
en diferentes idiomas de programación.
Diagrama de objetos en Objective C
Objective C se ha vuelto muy popular desde el lanzamiento de "Objective C 2.0" de Apple,
y ahora es el lenguaje de programación preferido para las aplicaciones de la tienda virtual
de Apple. La mayoría de las personas que usen diagramas de objetos en Objective C
están intentando mostrar instancias para una aplicación de iPhone.
Diagrama de objetos en Java
Hay diagramas de objetos que se pueden usar en UML para describir instancias que se
programarían en Java en última instancia y hay diagramas que describen objetos Java
que no tienen nada que ver con UML. Ya sea que busques los primeros o los últimos,
Lucidchart puede ayudarte a trazar la estructura que necesites crear. (Lucid Software Inc,
2022, S.p)
Ejemplo:
Se hace la inicialización de los atributos de los objetos de la clase.
En este ejemplo mostramos los constructores de las clases Tienda y Producto, así como
la manera de pedir la creación de un objeto de cualquiera de esos dos tipos.

public Producto(Tipo pTipo, String pNombre, double


pValorUnitario, int pCan

tidadBodega, int pCantidad


CONCLUSIÓN
Tenemos la posibilidad de mencionar que los idiomas de programación orientados a
objetos tratan a los programas como conjuntos de objetos que se ayudan entre ellos para
hacer actividades, entendiendo como objeto a las entidades que tienen dentro datos y
permitiendo que los programas sean más simples de redactar, conservar y reutilizar.

Por otro lado, la programación dirigida a objetos representa un enorme desarrollo en la


programación, entre sus ventajas más relevante se hallan un importante incremento de la
productividad del programador y de la solidez de los programas.
Bibliografía
 (Cátedra de Proyecto, p.5)
https://www.teatroabadia.com/es/uploads/documentos/iagramas_del_uml.pdf
 (Daniel Riesco, 2019, p.39-40)
http://www.sel.unsl.edu.ar/licenciatura/ingsoft2/ConceptosObjetos.pdf
 (Altova, 2005-2022, S.p) https://www.altova.com/es/umodel/object-diagrams
 (Lucid Software Inc, 2022, S.p) https://www.lucidchart.com/pages/es/diagrama-de-
objetos-uml
Lucid Content Team
https://www.lucidchart.com/pages/es/tutorial-de-diagrama-de-clases-uml

También podría gustarte