Tema5_Seccion1_UML_POO Flashcards

(54 cards)

1
Q

¿Qué significa UML?

A

UML significa Unified Modeling Language, que en español se traduce como Lenguaje de Modelado Unificado.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

¿Cuál es el propósito principal de UML?

A

UML se utiliza para visualizar, especificar, construir y documentar los componentes de un sistema de software, especialmente en el diseño orientado a objetos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

¿Qué organizaciones estandarizan UML?

A

UML es un estándar definido por la OMG (Object Management Group) y también está estandarizado por ISO/IEC bajo la norma ISO/IEC 19505.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

¿Qué es la OMG en el contexto de UML?

A

La OMG (Object Management Group) es un consorcio internacional que desarrolla estándares tecnológicos, incluyendo UML, para sistemas basados en objetos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

¿Qué es la norma ISO/IEC 19505?

A

Es una norma internacional que define formalmente el estándar de UML. Fue creada en conjunto por la Organización Internacional de Normalización (ISO) y la Comisión Electrotécnica Internacional (IEC).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

¿En qué se diferencia UML de otros lenguajes de modelado?

A

UML es un lenguaje de modelado gráfico ampliamente aceptado y estandarizado, diseñado para ser independiente de lenguajes de programación y plataformas tecnológicas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

¿Qué tipos de diagramas se pueden crear con UML?

A

UML permite crear varios tipos de diagramas, entre ellos: diagramas de clases, de casos de uso, de secuencia, de actividades, de estados, de componentes y de despliegue, entre otros.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

¿Cómo se estructura la especificación de UML 2.x?

A

La especificación de UML 2.x se compone de cuatro partes principales: Superestructura, Infraestructura, OCL y UML Data Interchange.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

¿Qué es la Superestructura en UML 2.x?

A

La Superestructura define la notación y la semántica de los elementos del lenguaje UML, incluyendo todos los tipos de diagramas que se pueden utilizar.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

¿Qué es la Infraestructura en UML 2.x?

A

La Infraestructura proporciona el metamodelo de soporte que define los conceptos fundamentales sobre los que se construyen los elementos de UML.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

¿Qué significa OCL y cuál es su función en UML?

A

OCL significa Object Constraint Language. Es un lenguaje formal usado en UML para definir restricciones y reglas que no se pueden expresar gráficamente en los diagramas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

¿Qué es UML Data Interchange?

A

UML Data Interchange define mecanismos para intercambiar modelos UML entre diferentes herramientas de modelado.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

¿Qué es XMI en el contexto de UML?

A

XMI significa XML Metadata Interchange. Es un estándar basado en XML que se utiliza para el intercambio de modelos UML entre herramientas compatibles.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

¿Por qué es importante la separación entre Superestructura e Infraestructura en UML?

A

Porque permite distinguir entre la representación visual y semántica de los elementos (superestructura) y su base conceptual y técnica (infraestructura), facilitando la extensibilidad y comprensión del lenguaje.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

¿Qué son los mecanismos de extensión en UML?

A

Son elementos que permiten adaptar UML a dominios específicos o necesidades particulares, sin modificar su metamodelo base.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

¿Qué es un estereotipo en UML y para qué se usa?

A

Un estereotipo es un mecanismo de extensión que añade semántica específica a un elemento UML. Se representa entre dobles signos de menor y mayor, por ejemplo: «UI» para indicar una interfaz de usuario.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

¿Qué son las restricciones en UML?

A

Son condiciones o reglas que limitan el comportamiento o la estructura de los elementos UML. Se escriben entre llaves, por ejemplo: {ordered} indica que los elementos de una colección están ordenados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

¿Qué son los valores etiquetados en UML?

A

Son pares nombre-valor asociados a un estereotipo para añadir información adicional. Ejemplo: {procesadores = 3} indica que un componente usa tres procesadores.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

¿Qué es un perfil en UML?

A

Un perfil es un conjunto de estereotipos, restricciones y valores etiquetados agrupados para modelar un dominio específico, como sistemas embebidos o aplicaciones web.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

¿Por qué se utilizan perfiles en UML?

A

Porque permiten adaptar UML a un entorno particular sin necesidad de crear un nuevo lenguaje de modelado, manteniendo la compatibilidad con las herramientas UML.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Da un ejemplo de un uso práctico de estereotipos en UML.

A

En un modelo de arquitectura, «Entity», «Service» o «Controller» pueden utilizarse como estereotipos para indicar el rol de una clase en un patrón como MVC.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

¿Qué es una clase en Programación Orientada a Objetos (POO)?

A

Es una estructura que define el conjunto de atributos y métodos que caracterizan a un tipo de entidad. Funciona como plantilla para crear objetos.

23
Q

¿Qué es un objeto en POO?

A

Un objeto es una instancia concreta de una clase. Tiene identidad, estado (a través de sus atributos) y comportamiento (a través de sus métodos).

24
Q

¿Qué significa que un objeto tiene “identidad”?

A

Significa que cada objeto es único y distinguible de otros, incluso si tienen el mismo estado o contenido.

25
¿Qué es el estado de un objeto?
Es el conjunto de valores almacenados en los atributos de un objeto en un momento determinado.
26
¿Qué es un atributo en POO?
Un atributo es una variable dentro de una clase que representa una propiedad de los objetos creados a partir de esa clase. Puede ser un dato o una referencia a otro objeto.
27
¿Qué es un método en POO?
Es una función definida dentro de una clase que especifica un comportamiento que los objetos de esa clase pueden realizar.
28
¿Qué es un mensaje en POO?
Es una forma de comunicación entre objetos que consiste en invocar un método de un objeto desde otro.
29
¿Qué es la sobrecarga de métodos?
Es la capacidad de definir múltiples versiones de un método con el mismo nombre, diferenciados por el número o tipo de sus parámetros.
30
¿En qué se diferencian clase y objeto?
Una clase es una definición abstracta, mientras que un objeto es una entidad concreta creada a partir de esa definición.
31
¿Qué es la abstracción en Programación Orientada a Objetos?
Es el principio que consiste en identificar y modelar solo los aspectos esenciales de una entidad del mundo real, ignorando los detalles irrelevantes. Se suele empezar identificando los objetos y luego agrupándolos en clases.
32
¿Qué ventaja ofrece la abstracción en el desarrollo de software?
Permite enfocarse en los requisitos de negocio clave, simplificando el diseño y facilitando el mantenimiento del sistema.
33
¿Qué es el encapsulamiento en POO?
Es el principio que consiste en ocultar el estado interno de un objeto y exponer solo lo necesario a través de una interfaz pública. Esto reduce el acoplamiento entre componentes.
34
¿Por qué es importante el encapsulamiento?
Porque protege la integridad del objeto, evita dependencias innecesarias y facilita cambios internos sin afectar a otros componentes.
35
¿Qué es el polimorfismo en POO?
Es la capacidad de diferentes clases para responder al mismo mensaje (método) de distintas formas. Permite que objetos de clases distintas se comporten como si fueran del mismo tipo.
36
¿Qué es la ligadura dinámica (late binding)?
Es el mecanismo mediante el cual, en tiempo de ejecución, el sistema determina a qué objeto y método debe enviarse un mensaje, permitiendo el polimorfismo.
37
¿Qué es la herencia en POO?
Es el principio que permite crear nuevas clases a partir de clases existentes, heredando sus atributos y métodos, y pudiendo añadir o modificar funcionalidades.
38
¿Qué beneficio aporta la herencia al diseño orientado a objetos?
Fomenta la reutilización del código, facilita la extensión del sistema y promueve una jerarquía lógica de clases.
39
¿Cómo se relacionan polimorfismo y herencia?
El polimorfismo suele apoyarse en la herencia, ya que permite que una clase hija sobrescriba métodos de la clase padre, ofreciendo comportamientos específicos.
40
¿Qué es un Diagrama de Clases en UML?
Es un diagrama estructural que muestra las clases del sistema, sus atributos, métodos y relaciones (asociaciones, herencias, dependencias). Es central en el modelado estático y se relaciona con el Diagrama de Objetos como su instancia.
41
¿Qué es un Diagrama de Componentes en UML?
Es un diagrama estructural que representa cómo los componentes del sistema (módulos, bibliotecas, servicios) están organizados y cómo se relacionan. Se relaciona con el diagrama de despliegue, que muestra dónde se ejecutan estos componentes.
42
¿Qué es un Diagrama de Objetos en UML?
Es un diagrama estructural que muestra instancias concretas de clases en un momento dado. Se usa para representar escenarios de ejemplo o estados del sistema y se basa en el diagrama de clases.
43
¿Qué es un Diagrama de Estructura Compuesta en UML?
Es un diagrama estructural que muestra la estructura interna de una clase, incluyendo sus partes, puertos y conectores. Es útil para modelar el comportamiento interno de componentes complejos.
44
¿Qué es un Diagrama de Despliegue en UML?
Es un diagrama estructural que muestra la arquitectura física del sistema: nodos (hardware) y artefactos (software) desplegados. Se complementa con el diagrama de componentes.
45
¿Qué es un Diagrama de Paquetes en UML?
Es un diagrama estructural que organiza los elementos del modelo en grupos (paquetes). Ayuda a modularizar el sistema y puede contener clases, diagramas o componentes.
46
¿Qué es un Diagrama de Perfil en UML?
Es un diagrama estructural de extensión, que permite definir estereotipos, etiquetas y restricciones personalizadas agrupadas en un perfil. Se usa para adaptar UML a contextos específicos como UML-RT o SysML.
47
¿Qué es un Diagrama de Actividad en UML?
Es un diagrama de comportamiento que representa flujos de trabajo o procesos con decisiones, concurrencia y actividades. Es útil para modelar lógica de procesos, como algoritmos o flujos de negocio.
48
¿Qué es un Diagrama de Casos de Uso en UML?
Es un diagrama de comportamiento que representa las interacciones entre actores externos y el sistema a través de casos de uso. Se utiliza para capturar requisitos funcionales desde el punto de vista del usuario.
49
¿Qué es un Diagrama de Máquina de Estado en UML?
Es un diagrama de comportamiento que muestra los estados posibles de un objeto y las transiciones entre ellos. Es especialmente útil para modelar comportamiento reactivo de clases con estados definidos.
50
¿Qué es un Diagrama de Interacción en UML?
Es una categoría de diagramas de comportamiento centrada en cómo los objetos interactúan en el tiempo. Incluye diagramas como secuencia, comunicación, tiempos e interacción global.
51
¿Qué es un Diagrama de Secuencia en UML?
Es un diagrama de interacción que muestra el orden cronológico de los mensajes entre objetos. Se usa para modelar escenarios y casos de uso dinámicamente.
52
¿Qué es un Diagrama de Comunicación en UML?
Es un diagrama de interacción que enfatiza las relaciones entre objetos y el flujo de mensajes, pero sin centrarse en el tiempo como el diagrama de secuencia.
53
¿Qué es un Diagrama de Tiempos en UML?
Es un diagrama de interacción que representa los cambios de estado de los objetos a lo largo del tiempo. Es útil para sistemas embebidos o de tiempo real.
54
¿Qué es un Diagrama Global de Interacción en UML?
Es un diagrama de interacción que permite modelar flujos de control entre varios diagramas de interacción, como secuencia o comunicación. Actúa como un diagrama de alto nivel.