Patrones de Diseño 1
Patrones de Diseño 2
Pruebas Unitarias
Programación Concurrente
Sorpresa
100

Permite a un objeto alterar su comportamiento cuando su estado interno cambia

State

100

Es el rey de los patrones compuestos

MVC

100

¿Qué es la especificación de una función?

Describe el comportamiento de entrada y salida de la función

100

Operaciones atómicas y mutuamente exclusivas de un semáforo

- acquire()  ||  P()

- realease()  ||  V()

100

Nombre completo de la profesora y los ayudantes

- Rosa Victoria Villa Padilla

- Alvaro Ramírez López

- Gael García Aguilera

200

Verdadero o Falso

Los patrones de diseño son dependientes de los lenguajes de programación y de los detalles de implementación

Falso

200

Patrón que se podría utilizar en un restaurante de hamburguesas donde la receta varía sólo en unos cuantos pasos

Template

200

¿Para qué sirven las pruebas de desempeño?

Estimar de manera precisa el desempeño de un componente de software respecto a diversos tipos de recursos

200

¿Qué es exclusión mutua?

Solo un proceso puede entrar a la sección crítica en un momento dado.

200

4 tipos de diagramas en UML

- Diagrama de Clases

- Diagrama de Casos de Uso

- Diagrama de Estados

- Diagrama de Actividades

- Diagrama de Secuencias

300

Clasificación de los patrones

- Patrones creacionales

- Patrones estructurales

- Patrones de comportamiento

300

3 patrones de comportamiento

Iterator, observer, state, strategy, template

300

¿En qué consisten las pruebas de Caja Negra?

Elegir casos de prueba solo a partir de la especificación, no de la implementación de la función

300

Dos problemas clásicos de sincronización

- Productor-Consumidor

- Lectores-Escritores

- Filósofos Comensales

300

Clasificación de los paradigmas de programación

- Imperativo: Procedural, Orientado a Objetos

- Declarativo: Funcional, Lógico, Bases de Datos

400

2 beneficios de los patrones

- Favorecen la reutilización de diseños y arquitecturas a gran escala

- Capturan el conocimiento de los expertos y lo hacen accesible a toda la comunidad software

- Establecer terminología en común

- Software con buena estructura (flexible, mantenible, reutilizable)

400

Este patrón provee un sustituto para otro objeto para controlar el acceso a este

Menciona sus componentes

- Proxy

- Proxy, Sujeto(Interfaz), Sujeto Real

400

4 tipos de pruebas que existen

Unitarias, de integración, automatizadas, de regresión, de sistema, de desempeño, de usabilidad, de seguridad, de localización...

400

¿Qué es una sección crítica?

Parte del código que verifica/modifica un recurso compartido

400

¿Qué es fragilidad?

El software falla en muchos lugares al insertar un cambio

500

Menciona algún otro tipo de patrón que exista

De programación concurrente, de interfaz gráfica, de organización de código, de optimización de código, de robustez de código, guiados por prueba

500

1 problema de los patrones

- La integración aún se hace de forma manual

- El número de patrones identificados es cada vez más grande

- El número de combinaciones patrones estilos y atributos que se dan en la práctica son incontables

- Se validan por la experiencia y el debate, no mediante la aplicación de técnicas formales

500

¿Qué es Coverage y cuáles son sus tipos?

Técnica para asegurarse de que las pruebas realmente estén probando su código o la cantidad de código que cubre al ejecutar la prueba

Cobertura de estado, de ramas y de ruta

500

¿Qué indica la Ley de Amdahl?

El límite máximo de mejora (speedup) que puede obtenerse al paralelizar un programa.

500

Comandos para:

- Inicializar un repositorio

- Clonar un repositorio 

- Crear y cambiar de rama

- git init

- git clone URL

- git checkout -b <rama>   ||   git branch <nombre>, git checkout <rama>