Logo Studenta

Actividad06_MoralesDaniela (1) - Daniela Morales

¡Estudia con miles de materiales!

Vista previa del material en texto

Actividad 
6 
Universidad Veracruzana 
 
Principios de construcción de 
software 
 
Itzel Alessandra Reyes Flores 
 
Resumen del Capítulo 4 Class 
Diagram del libro UML at Classroom 
 
Daniela Morales Sixto 
 
Viernes 24 de febrero de 2023 
El diagrama de clase 
 
El diagrama de clases visualiza las clases que un sistema de software consiste en 
y las relaciones entre estas clases, este visualiza las instancias de las clases que 
se modelan en un diagrama de clases. En UML, representamos los objetos 
concretos de un sistema y sus relaciones (enlaces) mediante diagramas de objetos. 
Un objeto tiene una identidad única y una serie de características que lo describen 
con más detalle. Rara vez aparece aislado en un sistema; En cambio, suele 
interactuar y comunicarse con otros objetos. Las relaciones entre los objetos se 
denominan enlaces. El carácter de un enlace de un objeto incluye sus 
características estructurales (atributos) y su comportamiento (en forma de 
operaciones). 
Las operaciones son idénticas para todos los objetos de una clase, por lo que suelen 
describirse exclusivamente para la clase, el diagrama de objetos siempre representa 
sólo una instantánea de los objetos en un momento y los objetos pueden 
evolucionar y cambiar a medida que pasa el tiempo. Si determinados objetos no 
están representados en el diagrama de objetos, esto no significa que no existan; 
simplemente expresa que los objetos no registrados no son importantes por el 
momento. 
Por otro lado, tenemos las clases, una clase es el plan de construcción de un 
conjunto de objetos similares que aparecen en el sistema que se va a especificar. 
Las clases pueden caracterizar, por ejemplo, personas (por ejemplo, estudiantes), 
cosas (por ejemplo, edificios), eventos (por ejemplo, cursos o exámenes), o incluso 
conceptos abstractos como los grupos. Los objetos representan las formas 
concretas de las clases y se denominan instancias. Las características relevantes 
de las instancias de una clase clases se describen mediante la definición de 
características estructurales (atributos) y de comportamiento (operaciones). Las 
operaciones permiten a los objetos comunicarse entre sí y actuar y reaccionar. 
En un diagrama de clases, una clase se representa mediante un rectángulo que 
puede subdividirse en varios compartimentos. El primer compartimento debe 
contener el nombre de la clase, que generalmente comienza con una letra 
mayúscula y se sitúa en el centro en negrita. De acuerdo con las convenciones de 
nomenclatura habituales, los nombres de las clases son sustantivos singulares. El 
nombre de la clase debe describirla utilizando el vocabulario típico del dominio de 
la aplicación. El segundo compartimento del rectángulo contiene los atributos de la 
clase, y el tercer compartimento las operaciones de la clase. El contenido de estos 
compartimentos se coloca justificado a la izquierda y es opcional. En general, el 
nivel de detalle de estos compartimentos refleja la fase respectiva del proceso de 
desarrollo de software en la que se está examinando la clase. 
Dentro de las clases un atributo tiene al menos un nombre. El tipo del atributo puede 
especificarse después del nombre utilizando: Tipo. Los posibles tipos de atributos 
incluyen tipos de datos primitivos, como el entero y el String, tipos de datos 
compuestos, por ejemplo, una fecha, una enumeración o clases definidas por el 
usuario 
Las operaciones se caracterizan por su nombre, sus parámetros y el tipo de tipo de 
su valor de retorno. Cuando se llama a una operación en un programa, se ejecuta 
el comportamiento asignado a esta operación. En los lenguajes de programación, 
una operación corresponde a una declaración de método. El diagrama de clases no 
es adecuado para describir el comportamiento de los objetos en detalle ya que sólo 
modela las firmas de las operaciones que los objetos proporcionan. 
En un diagrama de clases, el nombre de la operación va seguido de una lista de 
parámetros entre paréntesis. La propia lista puede estar vacía. Un parámetro se 
representa de forma similar a un atributo. La única información obligatoria es el 
nombre del parámetro. 
La visibilidad de los atributos y las operaciones especifica quién tiene y quién no 
tiene puede acceder a ellos. Si un atributo u operación no tiene especificada una 
visibilidad, no se asume ninguna visibilidad por defecto. Los atributos suelen 
definirse a nivel de instancia. Si, por ejemplo, una clase se realiza en un lenguaje 
de programación, se reserva memoria para cada atributo de un objeto cuando se 
crea. Estos atributos también se denominan variables de instancia o atributos de 
instancia. Estas variables también se denominan atributos estáticos o atributos de 
clase. Los contadores del número de instancias de una clase o constantes como π 
se realizan a menudo como atributos estáticos. En el diagrama de clase, los 
atributos estáticos están subrayados, al igual que las operaciones estáticas. Una 
asociación binaria nos permite asociar las instancias de dos clases entre sí. Las 
relaciones se muestran como aristas (línea continua) entre las clases asociadas. 
Una asociación binaria nos permite asociar las instancias de dos clases entre sí. 
Las relaciones se muestran como aristas (línea continua) entre las clases asociadas 
implicadas. La arista puede etiquetarse con el nombre de la asociación seguido 
opcionalmente de la dirección de lectura, un pequeño triángulo negro. Existen 
multiplicidades para las asociaciones n-arias no hay direcciones de navegación para 
las asociaciones n-arias; sin embargo, las multiplicidades de asociaciones y 
nombres de roles son posibles. Las multiplicidades definen cuántos objetos de un 
rol/clase pueden ser asignados a una (n - 1)-tupla fija de objetos de los otros 
roles/clases. 
Dentro de las clases de asociación si desea asignar atributos u operaciones a la 
relación entre una o más clases una o más clases en lugar de a una clase en sí, 
puede hacerlo utilizando una clase de asociación. 
Si en una relación intervienen más de dos objetos asociados, puede modelarla 
mediante una asociación n-aria. Una asociación n-aria se representa con un 
diamante hueco en el centro. El diamante está conectado con todos los socios de 
la relación mediante una arista no dirigida. El nombre de la asociación se especifica 
junto al diamante. No hay direcciones de navegación para las asociaciones n-arias; 
sin embargo, las multiplicidades y los nombres de los roles son posibles. Las 
multiplicidades definen cuántos objetos de un rol/clase pueden ser asignados a una 
(n - 1)-tupla fija de objetos de los otros roles/clases. 
Una agregación es una forma especial de asociación que se utiliza para expresar la 
agregación que las instancias de una clase son partes de una instancia de otra 
clase. UML distingue entre dos tipos: la agregación compartida y la composición. 
Ambas se representan con un diamante en el extremo de la asociación de la clase 
que representa el "todo". La diferenciación entre composición Relación parte-todo y 
la agregación compartida se indica mediante un diamante sólido para una 
composición y un diamante hueco para una agregación compartida. 
Herencia de la relación de generalización expresa que las características (tributos y 
operaciones de la superclase a la subclase) y asociaciones que se especifican para 
una clase general (superclase) se transmiten a sus subclases. 
Las clases que no pueden ser instanciadas se modelan como abstractas. Se trata 
de clases para las que no hay objetos, sólo se pueden instanciar sus subclases 
pueden ser instanciadas. Las clases abstractas se utilizan exclusivamente para 
destacar características comunes de sus subclases 
Los atributos, parámetros y valores de retorno de las operaciones tienen un tipo que 
especifica las formas concretas que pueden adoptar. Por ejemplo, el nombre de una 
persona tieneel tipo String. Un tipo puede ser una clase o un tipo de datos. Las 
instancias de los tipos de datos también se conocen como sus valores. A diferencia 
de las instancias de las clases (objetos), los valores no tienen identidad propia. Si 
dos valores son idénticos, no se pueden diferenciar. 
Los diagramas de clases suelen crearse con la intención de implementar los 
elementos modelados en un lenguaje de programación orientado a objetos. Como 
muchos de los conceptos del diagrama de clases están disponibles de forma 
idéntica o forma idéntica o similar en lenguajes de programación orientados a 
objetos como Java C#, o C++, en muchos casos la traducción puede realizarse 
automáticamente y sólo requiere una intervención manual mínima. 
Referencia 
Kappel, G., Huemer, C., Scholz, M., & Seidl, M. (2015). UML @ Classroom. Springer.

Otros materiales

Materiales relacionados

12 pag.
Práctica 7 V2

UNAM

User badge image

Jorge Luis Tellez

34 pag.
POO1-2006 - Laura Rentería

User badge image

Desafio PASSEI DIRETO

24 pag.