Tema_5_UML Y PATRONES Flashcards

1
Q

¿Cuales son las partes del desarrollo de un sistema de información?

A
  • ESTUDIO DE VIABILIDAD (EVS)
  • ANÁLISIS DEL SISTEMA DE INFORMACIÓN (ASI)
  • DISEÑO DEL SISTEMA DE INFORMACIÓN (DSI)
  • CONSTRUCCIÓN DEL SISTEMA DE INFORMACIÓN (CSI)
  • IMPLANTACIÓN Y ACEPTACIÓN DEL SISTEMA (IAS)
  • MANTENIMIENTO DE SISTEMAS DE INFORMACIÓN (MSI)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Di algunos antipatrones de DOO.
O “MALAS PRÁCTICAS

A
  • Modelo de Dominio Anémico → Clases de dominio (sin funciones) sin lógica de negocio.
  • Objeto Todopoderoso (God Object, BLOB) → Concentrar demasiada funcionalidad en una sola clase.
  • Código espagueti→ Código enmarañado, lioso.
  • Objeto Sumidero → Reutilizar objetos para un fin inadecuado.
  • Poltergeist → Es una clase efímera, que llama a métodos.
  • Singletonitis → Abuso del patrón Singleton
  • YAFL o Código Lasaña → Añadir capas innecesarias
  • Llamar a Super → Obligar a las subclases a llamar a un método de la superclase que ha sido sobrescrito.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

¿Qué es POLIMORFISMO?

A

Definición formal:

Un mismo objeto, responde de maneras diferentes a un mismo mensaje.

Definición más correcta:

Un mismo TIPO DE OBJETO, reacciona de forma diferente a un mismo método.

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

¿Qué es sobrecarga?

A

Cuando tenemos dentro de una clase, MÉTODOS CON EL MISMO NOMBRE, pero con distinto número o parámetros.

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

Símbolos de Diagrama de Estado

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

En UML, señala los conceptos (componentes) de la programación orientada a objetos.

A
  • Clase→ Determina el comportamiento (Métodos) y Estructura (Atributos).
  • Método → Comportamiento de ese objeto. “Sobrecarga”.
  • Atributo → Datos de negocio o referencia a otros objetos.
  • Objeto→ Tiene Estado, que es el conjunto de valores que toman sus atributos e Identidad.
  • Mensaje → Llamada a un método, sobre un objeto.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

¿Qué tres elementos forman una clase?

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

¿Qué es PERFIL o PROFILE en UML?

A

Es agrupar en un paquete, los mecanismos de extensión.

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

Mecanismos de EXTENSIÓN de UML.

A
  • ESTEREOTIPOS → Para añadir/modificar la semántica a un elemento. Va entre <<***>>. Es decir que le podemos especificar que tipo de clase es, como por ejemplo, una interfaz de usuario, etc..
  • RESTRICCIONES → Va entre llaves {restricción}
  • VALORES ETIQUETADOS. También entre llaves {“Aquí establecemos un valor”}
  • PERFILES → Es agrupar estereotipos, restricciones, personalizados, de un tema concreto.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

¿Que es XMI?

A

También conocido como XML Metadata Interchange, es un lenguaje en XML, utilizado para compartir diagramas entre aplicaciones de modelado.

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

¿Cual es la versión actual de UML?

A

La 2.5.1, de 2015.

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

Modificadores de los atributos y los métodos en las clases.

A
  • + → pública
  • - → privada
  • # → protegida
  • / → derivada
  • ~ → paquete
  • * → aleatoria
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

¿Como se representa una relación de AGREGACIÓN?

A

Una relación de Agregación, es también llamada de Composición Débil.

Puede ser compartida por otros objetos complejos y la desaparición de estos objetos, no implica la desaparición, del objeto agregado.

Con una flecha con punta de ROMBO VACÍO.

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

¿Como se representa la relación de COMPOSICIÓN?

A

La relación de composición o COMPOSICIÓN FUERTE, se representa con una flecha con la punta en forma de ROMBO NEGRO.

Los componentes no pueden compartirse y la destrucción del objeto compuesto, implica la destrucción de todos los componentes.

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

¿Qué es un ESTEREOTIPO?

A

Sirve para añadir o modificar la semántica a un elemento.

Es una cadena de texto encerrada entre comillas francesas (<< >>).

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

Relaciones en diagramas de CLASES:

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

¿Qué es la Infraestructura?

A

Es un PDF, donde aparecen la reglas básicas de construcción.

Define el metalenguaje principal o núcleo, que puede luego ser reutilizado.

Alineado con UML, MOF y XMI, por lo que se puede exportar a otras herramientas.

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

¿Como se representa una relación de ASOCIACIÓN?

A

Con una línea.

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

¿Como se representa la relación de dependencia estereotipada?

A

<< estereotipo >>

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

¿Qué podemos definir mediante OCL?

A

Object Constraint Language:

Invariantes

Precondiciones

Postcondiciones

Estados

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

¿Cual es el Estandar de UML?

A

Object Managment Group

OMG / ISO-IEC 19505

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

Diagramas Estructurales de UML:
Son 7

A

Como en Amazon, buscas la CLASE, de OBJETO. Miras su ESTRUCTURA COMPUESTA, sus COMPONENTES. Cuando te decides, vas a tu PERFIL. Compruebas el DESPLIEGUE y compras el PAQUETE.

  • CLASES
  • OBJETOS
  • ESTRUCTURA COMPUESTA
  • COMPONENTES
  • PERFIL
  • DESPLIEGUE
  • PAQUETES
23
Q

¿Cuales son las relaciones en los casos de uso?

A

De GENERALIZACIÓN → Entra en juego la herencia. El caso hijo es una especialización del caso Padre
INCLUDE → Indica un comportamiento OBLIGATORIO.
EXTEND → Indica un comportamiento OPCIONAL.

24
Q

¿Que es la Superestructura?

A

Es una de las 4 partes que forman la estructura de UML.

Es donde se definen los tipos de diagramas y su semántica.

25
Q

¿Que es OCL?

A

Object Constraint Language

Lenguaje de restricción de objetos.

26
Q

¿Qué es una INVARIANTE?

A

Es una condición que se cumple SIEMPRE.

27
Q

Diagramas de COMPORTAMIENTO:

Son 7.

A
  • Actividad
  • Casos de uso
  • Máquina de Estados
  • Interacción, que se subdivide en:

=>Secuencia
=>Comunicación
=>Tiempos
=>Diagrama Global

28
Q

¿Qué son los objetos en UML?

A

Es la clase, ya con datos concretos. Por ejemplo con datos de una factura.

29
Q

Principios de POO y ADOO

A
  • Abstracción-Capturar los detalles del negocio.
  • Encapsulamiento-Ocultación de los detalles del objeto y no se pueden modificar o añadir datos a ese objeto.
  • Polimorfismo
  • Herencia-Capacidad de definir unas clases en terminos de otras.
30
Q

¿Como se representa una INTERFACE?

A

Poniendo el nombre de la clase entre << >>

<< interface >>

31
Q

¿Cual es la estructura de la especificación 2.x en UML?

A
  • INFRAESTRUCTURA
  • SUPERESTRUCTURA
  • OCL (Restricciones)
  • UML Data Interchange, que usa el lenguaje XMI (Intercambio entre herramientas CASE)
32
Q

¿Cómo se representa la HERENCIA?

A

Con una flecha con la punta triángular, hueca. Va desde la subclase a la superclase. La subclase, además de tener su propio comportamiento, copia también el de la superclase.

33
Q

¿Como se representa la relación de RELACIÓN/IMPLEMENTACIÓN?

A

Con una flecha de líneas discontinuas y la punta triángular, vacía.

34
Q

¿Como se representa una relación de DEPENDENCIA?

A

Con una línea discontinua con flecha simple abierta.
No es esclusivo de UML.
Tiene que ir estereotipada.
Se usa, para dar semántica a la relación entre dos clases.

35
Q

¿UML es un lenguaje extensible?

A

SI, por medio de Estereotipos, Restricciones, Valores etiquetados y Perfiles.

36
Q

¿En la Herencia, que tipos nos podemos encontrar?

A

Completa/Incompleta: Si especificamos o no todas las subclases posibles.

Disjunta/No disjunta(Dinámica): Si puede la superclase, ser una cosa u otra, pero no ámbas a la vez(Disjunta) y dinámica, cuando puede pertenecer a más de una subclase.

37
Q

¿Qué dos tipos de diagramas principales hay en UML?

A

De ESTRUCTURA y de COMPORTAMIENTO.
YO ME SE LOS DE ESTRUCTURA

38
Q

¿Qué es UML?

A

UML significa Lenguaje Unificado de Modelado.
Es un lenguaje de modelado de sistemas de software, respaldado por el OMG.(Object Management Group)

39
Q

¿Qué es un metamodelo en UML?

A

Esto es teoría.
Es un modelo genérico, en el que tenemos atributos, clases y nombres.
Es lo que la Infraestructura define.

40
Q

¿Como se llaman las condiciones que van entre corchetes?

A

GUARDAS

41
Q

Casos de uso

A
  • Tiene ACTORES, que son los que participan del caso de uso.
  • Los casos de uso, no explotan
  • Tienen TRES relaciones importantes, HERENCIA, EXTEND e INCLUDE.
42
Q

¿Para qué se usan los patrones de diseño?

A

Para tipificar 1 problema junto con su solución.

43
Q

¿Qué son patrones de arquitectura?

A

Son las grandes líneas organizativas del proyecto.

44
Q

Patrones de arquitectura:

A

Layered Client, que es un Master en Pipas, y un Broker de Peertopeer y se coge el EventBus, para ver el ModelVC, mientras Interprter en su Blackboard
1.Layered
2.Client-server
3.Master-slave
4.Pipe-filter
5.Broker
6.Peer-to-peer
7.Event-bus
8.Model-view-controller
9.Blackboard
10.Interpreter

45
Q

¿Qué son GOF, GRASP Y SOLID?

A

Son diferentes teorías aportadas por diferentes personas, para patrones de diseño.

46
Q

¿Qué es el concepto de responsabilidad en protocolos de diseño?

A

Es el concepto de asignar un método a una clase, porque ese método pega más, por funcionalidad, con esa clase

47
Q

Principio SOLID de Segregación de Interfaces (I)

A
  • Buscar bajo acoplamiento entre clases de distintos subsistemas.
  • Para ello, se separan las interfaces, para hacer varias, que hagan funciones relacionadas con el mismo trabajo.
  • Habrá subsistemas Cliente y Servidor.
  • Las Interfaces, son funciones, que no tienen código. Ese código, lo tendrán que poner las clases que implementen esas funciones de las interfaces. En el ejemplo, f y g no tienen código. Ya habrá una clase, que por medio de Implements, le ponga código a su propia f o g
48
Q

¿Qué persiguen los patrones de diseño?

A

El MANTENIMIENTO.

49
Q

¿Que significa GOF?

A

Gangs of four

50
Q

¿Cuales son los 5 principios SOLID?

A
  • S =>Single Responsibility Principle, un solo método para cada clase.
  • O => Open / Closed Principle
  • L => Liskov Substitution Principle
  • I => Interface Segregation Principle,
  • D => Dependency Inversion Principle
51
Q

Categorias de Patrones de diseño de GOF

A
  • CREACIONAL
  • ESTRUCTURAL
  • COMPORTAMIENTO
52
Q

Patrones de diseño GOF, CREACIONAL:
AB FPS

A
  1. Abstract Factory
  2. Builder Patterns
  3. Factory Method
  4. Prototype
  5. Singleton
53
Q

Patrones de diseño GOF, ESTRUCTURAL:

A
  1. Bridge
  2. Composite
  3. Decorator
  4. Facade
  5. Flyweight
  6. Proxy
  7. Adapter
54
Q

Patrones GRASP

A
  1. Information expert
  2. Creator
  3. Controller
  4. Indirection
  5. Low coupling
  6. High cohesion
  7. Polymorphism
  8. Protected variations
  9. Pure fabrication