UML y POO Flashcards
(31 cards)
¿Cuál es el estándar de UML (Unified Modeling Language)?
Estandar de la OMG / ISO-IEC 19505
Estructura de la especificación 2.x
- Superestructura
- Infraestructura
- OCL
- XMI
¿Qué se define en la superestructura?
notación y semántica de los diagramas
¿Qué se define en la infraestructura?
metamodelo de soporte
¿Qué es OCL?
Parte de UML que consiste en una sintaxis que permite definir restricciones/reglas, como invariables, precondiciones, postcondiciones, etc
¿Qué es XMI?
Es una parte del estándar que permite interoperatividad entre herramientas (UML Data Interchange)
¿Cuáles son los mecanismos de extensión en UML?
- Estereotipos : añade semántica, información. Ej. «UI»
- Restricciones. Ej. {ordered}
- Valores etiquetados: Ejemplo: {procesadores=3}
- Perfiles : conjunto de estereotipos, restricciones, etc de un tema
¿Cuáles son los principios de la Programación Orientada a Objetos (POO)?
- Encapsulación : ocultación de los detalles internos del objeto. Reducir acoplamiento.
- Herencia/Jerarquía : capacidad para definir unas clases en términos de otras.
- Polimorfismo : capacidad para que objetos de distintas clases se hagan pasar por el mismo tipo.
- Abstracción : capturar los detalles de negocio a modelar. Primero objetos, segundo clases.
¿Cuáles son los conceptos de la Programación Orientada a Objetos (POO)?
- Clase : estructura de programación que define estructura y comportamiento de una entidad dada.
- Objeto : elemento donde almacenar información. Tiene identidad y estado. Instancia de una clase.
- Método : implementación de un determinado comportamiento.
- Atributo : datos de negocio o referencias a otros objetos.
- Mensaje : llamada a un método
¿Qué es sobrecarga?
Varias versiones de un mismo método variando el nº y/o tipo de parámetros de entrada.
¿Qué se conoce como ligadura dinámica o late binding?
Es un mecanismo de programación que, en función del tipo de objeto instanciado, permite determinar qué versión de un método va a ser llamado en tiempo de ejecución
Enumerar diagramas estructurales
- Diagrama de Clases
- Diagrama de Objetos
- Diagrama de Componentes
- Diagrama de Paquetes
- Diagrama de Despliegue
- Diagrama de Perfiles
- Diagrama de estructura compuesta
Enumerar diagramas de comportamiento
- Diagramas de casos de uso
- Diagramas de estado de máquina
- Diagramas de actividad
- Diagramas de interacción
- Diagrama de interacción - de secuencia
- Diagrama de interacción - de comunicación o colaboración
- Diagrama de interacción - de tiempos
- Diagrama de interacción - de overview
Dentro del diagrama de clases, ¿como se indica una relación de asociación?
Por una línea sin flechas ni nada. Con una flecha puede ser asociación unidereccional.
¿Qué dos tipos de asociaciones de contención existen en el diagrama de clases?
- de agregación (rombo sin relleno)
- de composición (rombo con relleno)
¿En qué tipo de relación es obligatorio poner un estereotipo en el diagrama de clases?
En la relación de dependencia (línea discontínua)
¿Qué relación hay entre clase e interface?
Relación de implementación/realización (línea discontínua, flecha cerrada)
¿Cómo se representa la relación de herencia o generalización?
Línea contínua y con flecha cerrada al final
En el diagrama de objetos, ¿Mediante qué se conectan los objetos?
Mediante enlaces
¿Qué representa un diagrama de objetos?
Un ejemplo de arbol de objetos en memoria. Son útiles para realizar ciertas partes del diagrama de clases, dado que es más abstracto.
¿Qué es un componente en UML?
Un componente en UML es un elemento encapsulado que define su comportamiento en términos de interfaces provistas y requeridas
¿Qué representa un diagrama de despliegue?
Representa la arquitectura física de un sistema de información sobre la que se distribuyen los distintos artefactos
¿Qué representa el diagrama de estructura compuesta?
Representa la estructura interna (parte/objeto, conectores,…) de un clasificador (concepto de UML para varios elementos, ej. Componente, Clase, etc)
¿Para qué sirve un diagrama de perfil?
Nos sirve para poder extender o “dar de alta” nuevos “conceptos” que no vienen con UML y nos resultan útiles en un diagrama cuyo contexto de negocio/técnico es tan especifico que con lo básico de UML nos quedamos cortos de semántica/representación