SlideShare una empresa de Scribd logo
9
Lo más leído
12
Lo más leído
20
Lo más leído
TECNOLÓGICO NACIONAL DE MÉXICO
Centro Nacional de Investigación y
Desarrollo Tecnológico
MSI. José Antonio Sandoval Acosta
Seminario Técnico
Diagrama de Clases
Febrero de 2023
UML
El lenguaje UML (en inglés, Unified Modeling Language) es un lenguaje
para:
• Especificación,
• Visualización,
• Construcción, y
• Documentación de las partes de un sistema de software.
Consiste en una colección de las mejores prácticas de ingeniería que han
mostrado ser exitosas en el modelado de sistemas complejos.
DIAGRAMA DE CLASES
Las clases son dibujadas con un rectángulo, dividido en tres partes:
• El nombre de la clase.
• Los atributos.
• Las operaciones correspondientes.
• Opcionalmente las responsabilidades que cada clase tiene.
Además, el diagrama contiene:
• Las relaciones entre clases y características de esas relaciones.
Representación de una clase
• El nombre de la clase debe ser lo menos ambiguo posible,
usualmente un sustantivo.
• Atributos: Los atributos describen las características de los
objetos.
• Poseen un tipo, que nos indica qué clase de atributo es. Si bien
existen ciertos tipos primitivos, como enteros, booleanos y
reales, cualquier tipo puede ser usado, incluso otras clases.
Sintaxis:
nombre<:tipo> <=valor_inicial >
ubicacion : Cadena
responsable : Cadena
CajeroAutomatico
La restricción más importante es que los atributos son
generalmente visibles únicamente por la clase que los contiene.
Las operaciones son utilizadas para manipular los atributos o
realizar consultas.
• La sintaxis para describir una operación es la siguiente:
nombre_operación(<parámetros>) <:tipo_resultado>
Cuenta
+ accountNum:int
- name:string
~ retiro():double
• Las responsabilidades son las obligaciones de una clase y son
definidas por el usuario.
• Si bien, existe un compartimiento dentro de la clase para la
especificación de las responsabilidades, éstas son de carácter
opcional.
• Dependiendo del nivel de detalle que queremos alcanzar en el
modelo, se pueden obviar algunas de las divisiones del gráfico de
clases.
• Esto permite simplificar el diagrama completo, de acuerdo al
nivel de abstracción necesario. Puede utilizarse, por ejemplo
Notas en el diagrama de clases
• A los gráficos de clases se les puede agregar notas o comentarios
sobre algún aspecto interesante de la clase.
• Estas notas pueden incluir observaciones sobre la clase, alguna
restricción de uso, e incluso el pseudo-código de algunas
operaciones.
• Se grafican por medio de un rectángulo con la esquina superior
derecha plegada, como si fuera una hoja, y se une con una línea
al elemento de la clase al cual corresponde la nota.
Representación de las Notas
Las relaciones más importantes entre clases son:
Asociación
Herencia
Agregación
Composición
Realización
Dependencia
Asociación (Conexión entre clases)
• Una asociación es una conexión entre clases. Significa que los
objetos de dos clases tendrán un vínculo bidireccional en
común, el cual puede interpretarse como “para cada X existe un
Y”.
• Se representa por medio de una línea continua entre dos clases.
Multiplicidad
• Se utiliza multiplicidad cuando no necesariamente los vínculos
entre objetos son de uno a uno.
• Se especifica en cada extremo del vínculo, a través de un rango,
cuántos objetos pueden estar vinculados.
Rangos
• Algunos ejemplos de rangos son los siguientes:
Cuando no se especifica ningún rango, se asume el valor uno (1) por defecto.
Puede agregarse una flecha a la línea, indicando la dirección del vínculo:
• Supongamos que los requerimientos para un sistema de cajero automático
precisan que desde una transacción del cajero se pueda recuperar la
información de la cuenta del cliente.
• La dirección en las flechas de la asociación determinan en que dirección puede
recorrerse una asociación en el momento de la ejecución.
• Una asociación sin flechas significa que se puede ir de un objeto a otro y
viceversa.
1 0..*
Agregaciones (Posee/contiene)
• Agregación es un caso especial de asociación. Indica que una o más
clases (clases componentes) forman parte de otra clase (clase
agregada).
• Se denota con un rombo en uno de los extremos del vínculo, aquél
que corresponde a la clase agregada.
• Puede interpretarse como “posee (o contiene) un”.
Composición
• En la composición el rombo es relleno con color e implica que si
la clase compuesta se elimina, las clases que lo componen
también serán eliminadas.
Generalizaciones (Herencia/Especificación/Especialización)
• La generalización es la relación entre una clase más general y un
clase más específica.
• La clase más especifica (denominada subclase o clase hija) es
consistente con la clase más general (denominada superclase o
clase padre), y contiene información adicional.
• La generalización permite la especialización de las clases, es decir,
en este caso la superclase hereda todas sus características a la
subclase.
Generalizaciones Se denota con un triángulo en el extremo del
vínculo correspondiente al elemento más general. La relación
puede interpretarse informalmente como “es un”.
• El diagrama indica que un taxi es una clase particular de autos,
con una patente (placa) extra y un código utilizado por la
empresa. Son heredados de la clase Auto todos los demás
atributos, como la patente oficial, el modelo, el motor, etc.
• Cuando una clase posee más de una subclase, pueden organizarse
en forma de árbol de la siguiente manera:
Ejemplo de diagrama de clases de una biblioteca:
Construyendo el diagrama de clases
1. Identificar las clases, nombrarlas y definirlas con lo que sabes que
son parte del modelo.
2. Identificar, nombrar y definir las asociaciones entre pares de clases,
asignar multiplicidad.
3. Evaluar cada asociación para determinar si debe ser una agregación
y cada agregación para ver si se trata de una composición
4. Evaluar las clases para aplicar posibles generalizaciones (herencia).
¡Gracias!

Más contenido relacionado

PPTX
Diagrama de clases UML
PDF
3. modelo entidad relación extendido
PPT
Modelos De Datos (Segunda Parte)
DOCX
Normalización 1 fn,2fn,3fn,4fn,
PDF
Uml clase 04_uml_clases
PPTX
Diagrama de clases
PDF
11 Curso de POO en java - métodos constructores y toString()
PPTX
Introducción a PHP
Diagrama de clases UML
3. modelo entidad relación extendido
Modelos De Datos (Segunda Parte)
Normalización 1 fn,2fn,3fn,4fn,
Uml clase 04_uml_clases
Diagrama de clases
11 Curso de POO en java - métodos constructores y toString()
Introducción a PHP

La actualidad más candente (20)

PPTX
Modelo relacional
PPSX
Modelo Entidad Relación
PPTX
Los 13 diagramas UML y sus componentes
PDF
Diagramas de implementacion
PDF
Unidad 2. modelo entidad relacion
PPTX
Diagramas estados
PDF
Clase 4 MER Extendido
PPTX
Polimorfismo ppt
PPTX
Diagrama UML de Clases
PPTX
Diagramas clases presentacion
PPT
Modelo relacional
PPTX
DIAGRAMAS DE CLASE
PPT
Modelo de datos.
PPTX
UML - Casos de Uso y Diagramas de Clase
PDF
Integridad de base de datos
PPTX
Conceptos basicos POO
PPS
Modelo objeto semántico
PPT
Normalizacion boyce codd_4_fn
PPTX
Conceptos de POO (Programacion Orientada a Objetos)
Modelo relacional
Modelo Entidad Relación
Los 13 diagramas UML y sus componentes
Diagramas de implementacion
Unidad 2. modelo entidad relacion
Diagramas estados
Clase 4 MER Extendido
Polimorfismo ppt
Diagrama UML de Clases
Diagramas clases presentacion
Modelo relacional
DIAGRAMAS DE CLASE
Modelo de datos.
UML - Casos de Uso y Diagramas de Clase
Integridad de base de datos
Conceptos basicos POO
Modelo objeto semántico
Normalizacion boyce codd_4_fn
Conceptos de POO (Programacion Orientada a Objetos)
Publicidad

Similar a Introducción al Diagrama de Clases UML (20)

PPTX
Diagrama de Clases basado a los casos UML.pptx
PPTX
diagrama de clases en ejecucion de los actores
PDF
2.2.3 Diagramas de clases (Diagrama de clases)
PPTX
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
PPTX
Diagrama de clases
PPT
Diagramas UML (Unified Modeling Language) - Parte 1
PPTX
Diagramas de clase.pptx
PDF
Diagrama de clases
PPTX
DIAGRAMAS DE CLASES para no expertos y fácil de entender
PDF
U1 s3 introducción a uml parte 1
PPTX
Clase 17
DOCX
encuesta
PPTX
D Iagramas U Ml
PPTX
D Iagramas U Ml
PPTX
UML.pptx
PDF
3. Clases y Objetos.pdf
DOCX
Trabajo2
PDF
Diagramas Analisis
PPTX
Diagrama de Clases basado a los casos UML.pptx
diagrama de clases en ejecucion de los actores
2.2.3 Diagramas de clases (Diagrama de clases)
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
Diagrama de clases
Diagramas UML (Unified Modeling Language) - Parte 1
Diagramas de clase.pptx
Diagrama de clases
DIAGRAMAS DE CLASES para no expertos y fácil de entender
U1 s3 introducción a uml parte 1
Clase 17
encuesta
D Iagramas U Ml
D Iagramas U Ml
UML.pptx
3. Clases y Objetos.pdf
Trabajo2
Diagramas Analisis
Publicidad

Más de José Antonio Sandoval Acosta (20)

PPTX
Diapositivas Mejora SIG del Instituto Tecnológico Superior de Guasav
PPTX
Gestión de la Calidad Total (UNIDAD 2) UAIM
PPTX
Taller de ética U1 El sentido de aprender sobre etica.pptx
PPTX
Comunidad Tepeca - Proyecto Final UAIM-Los Mochis
PPTX
Linea del tiempo de la inteligencia artificial.pptx
PPTX
Ing. Mecatronica Prog. Básica, U5 Módulos
PPTX
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
PPTX
Ing. Mecatrónica, Prog. Básica U3 control de flujo
PPTX
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
PPTX
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
PDF
Manual de prácticas y antología para POO
PPTX
Aplicaciones móviles intro.
PPTX
Plantilla presentación.pptx
PPTX
PPTX
Diagrama de Casos de Uso UML
PPTX
Diagrama UML Casos de Uso
PDF
Tema 3 - Comandos básicos.pdf
PDF
Tema 1 - Intro.pdf
DOCX
Receta de albóndigas de res
DOCX
Receta de pico de gallo
Diapositivas Mejora SIG del Instituto Tecnológico Superior de Guasav
Gestión de la Calidad Total (UNIDAD 2) UAIM
Taller de ética U1 El sentido de aprender sobre etica.pptx
Comunidad Tepeca - Proyecto Final UAIM-Los Mochis
Linea del tiempo de la inteligencia artificial.pptx
Ing. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Manual de prácticas y antología para POO
Aplicaciones móviles intro.
Plantilla presentación.pptx
Diagrama de Casos de Uso UML
Diagrama UML Casos de Uso
Tema 3 - Comandos básicos.pdf
Tema 1 - Intro.pdf
Receta de albóndigas de res
Receta de pico de gallo

Último (6)

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

Introducción al Diagrama de Clases UML

  • 1. TECNOLÓGICO NACIONAL DE MÉXICO Centro Nacional de Investigación y Desarrollo Tecnológico MSI. José Antonio Sandoval Acosta Seminario Técnico Diagrama de Clases Febrero de 2023
  • 2. UML El lenguaje UML (en inglés, Unified Modeling Language) es un lenguaje para: • Especificación, • Visualización, • Construcción, y • Documentación de las partes de un sistema de software. Consiste en una colección de las mejores prácticas de ingeniería que han mostrado ser exitosas en el modelado de sistemas complejos.
  • 3. DIAGRAMA DE CLASES Las clases son dibujadas con un rectángulo, dividido en tres partes: • El nombre de la clase. • Los atributos. • Las operaciones correspondientes. • Opcionalmente las responsabilidades que cada clase tiene. Además, el diagrama contiene: • Las relaciones entre clases y características de esas relaciones.
  • 5. • El nombre de la clase debe ser lo menos ambiguo posible, usualmente un sustantivo. • Atributos: Los atributos describen las características de los objetos. • Poseen un tipo, que nos indica qué clase de atributo es. Si bien existen ciertos tipos primitivos, como enteros, booleanos y reales, cualquier tipo puede ser usado, incluso otras clases. Sintaxis: nombre<:tipo> <=valor_inicial > ubicacion : Cadena responsable : Cadena CajeroAutomatico
  • 6. La restricción más importante es que los atributos son generalmente visibles únicamente por la clase que los contiene.
  • 7. Las operaciones son utilizadas para manipular los atributos o realizar consultas. • La sintaxis para describir una operación es la siguiente: nombre_operación(<parámetros>) <:tipo_resultado> Cuenta + accountNum:int - name:string ~ retiro():double
  • 8. • Las responsabilidades son las obligaciones de una clase y son definidas por el usuario. • Si bien, existe un compartimiento dentro de la clase para la especificación de las responsabilidades, éstas son de carácter opcional.
  • 9. • Dependiendo del nivel de detalle que queremos alcanzar en el modelo, se pueden obviar algunas de las divisiones del gráfico de clases. • Esto permite simplificar el diagrama completo, de acuerdo al nivel de abstracción necesario. Puede utilizarse, por ejemplo
  • 10. Notas en el diagrama de clases • A los gráficos de clases se les puede agregar notas o comentarios sobre algún aspecto interesante de la clase. • Estas notas pueden incluir observaciones sobre la clase, alguna restricción de uso, e incluso el pseudo-código de algunas operaciones. • Se grafican por medio de un rectángulo con la esquina superior derecha plegada, como si fuera una hoja, y se une con una línea al elemento de la clase al cual corresponde la nota.
  • 12. Las relaciones más importantes entre clases son: Asociación Herencia Agregación Composición Realización Dependencia
  • 13. Asociación (Conexión entre clases) • Una asociación es una conexión entre clases. Significa que los objetos de dos clases tendrán un vínculo bidireccional en común, el cual puede interpretarse como “para cada X existe un Y”. • Se representa por medio de una línea continua entre dos clases.
  • 14. Multiplicidad • Se utiliza multiplicidad cuando no necesariamente los vínculos entre objetos son de uno a uno. • Se especifica en cada extremo del vínculo, a través de un rango, cuántos objetos pueden estar vinculados.
  • 15. Rangos • Algunos ejemplos de rangos son los siguientes: Cuando no se especifica ningún rango, se asume el valor uno (1) por defecto. Puede agregarse una flecha a la línea, indicando la dirección del vínculo:
  • 16. • Supongamos que los requerimientos para un sistema de cajero automático precisan que desde una transacción del cajero se pueda recuperar la información de la cuenta del cliente. • La dirección en las flechas de la asociación determinan en que dirección puede recorrerse una asociación en el momento de la ejecución. • Una asociación sin flechas significa que se puede ir de un objeto a otro y viceversa. 1 0..*
  • 17. Agregaciones (Posee/contiene) • Agregación es un caso especial de asociación. Indica que una o más clases (clases componentes) forman parte de otra clase (clase agregada). • Se denota con un rombo en uno de los extremos del vínculo, aquél que corresponde a la clase agregada. • Puede interpretarse como “posee (o contiene) un”.
  • 18. Composición • En la composición el rombo es relleno con color e implica que si la clase compuesta se elimina, las clases que lo componen también serán eliminadas.
  • 19. Generalizaciones (Herencia/Especificación/Especialización) • La generalización es la relación entre una clase más general y un clase más específica. • La clase más especifica (denominada subclase o clase hija) es consistente con la clase más general (denominada superclase o clase padre), y contiene información adicional. • La generalización permite la especialización de las clases, es decir, en este caso la superclase hereda todas sus características a la subclase.
  • 20. Generalizaciones Se denota con un triángulo en el extremo del vínculo correspondiente al elemento más general. La relación puede interpretarse informalmente como “es un”. • El diagrama indica que un taxi es una clase particular de autos, con una patente (placa) extra y un código utilizado por la empresa. Son heredados de la clase Auto todos los demás atributos, como la patente oficial, el modelo, el motor, etc.
  • 21. • Cuando una clase posee más de una subclase, pueden organizarse en forma de árbol de la siguiente manera:
  • 22. Ejemplo de diagrama de clases de una biblioteca:
  • 23. Construyendo el diagrama de clases 1. Identificar las clases, nombrarlas y definirlas con lo que sabes que son parte del modelo. 2. Identificar, nombrar y definir las asociaciones entre pares de clases, asignar multiplicidad. 3. Evaluar cada asociación para determinar si debe ser una agregación y cada agregación para ver si se trata de una composición 4. Evaluar las clases para aplicar posibles generalizaciones (herencia).