Font size
WorksheetsRepaso Diseño Software
Total questions: 30
Worksheet time: 29mins
La funcionalidad y los atributos de calidad son:
Independientes
Ortogonales
Codependientes
Necesarios
¿Cuál de los siguientes no es un tipo común de atributo de calidad?
Fuera de tiempo de ejecución
Presentación
Ejecución
Usuario
¿Qué es un patrón de diseño?
Técnicas para resolver problemas comunes en el desarrollo de software
Aquellos que expresan un esquema organizativo estructural fundamental para sistemas de software.
Patrones de bajo nivel específicos para un lenguaje de programación o entorno concreto.
¿Cómo se puede definir un patrón de diseño?
Un patrón de diseño es un modelo de solución a problemas que casi nunca se presentan en el desarrollo de un software
Un patrón de diseño describe un problema que ocurre una y otra vez en un ambiente de desarrollo de software, y luego describe el núcleo de su solución en forma tal que es posible usarla un millón de veces sin elaborarla dos veces de la misma forma
Un patrón de diseño tiene en cuenta la longitud y complejidad del modelo de requerimientos o especificaciones escritas del sistema y de su interfaz, las cuales dan indicaciones de la cantidad de aprendizaje requerido por los usuarios del sistema
Un patrón de diseño es aquel formato que sirve para describir un problema con todas sus características, pero no siempre da una solución para el problema que plantea
¿Qué son los patrones creacionales?
Los patrones creacionales se centran en la corrección de estructuras que hayan sido mal ubicadas en el software
Los patrones creacionales se centran en la descripción de procesos y búsqueda de patrones que los describan
Los patrones creacionales se centran en la "creación, composición y representación" de objetos
Los patrones creacionales se centran en la forma en la que se organizan e integran las clases y objetos para diseñar estructuras más grandes
¿Cuál de las siguientes respuestas es correcta respecto al Factory Method?
Factory Method proporciona una interfaz para crear objetos en una superclase, mientras permite a las subclases alterar el tipo de objetos que se crearán
Factory Method permite la colaboración entre objetos con interfaces incompatibles
Factory Method se describe con mucha formalidad para que las personas puedan reproducirlos en muchos contextos
Factory Method se utiliza para identificar condiciones de error y problemas en el código
Una forma de implementar prototype es:
Cuando se crea la interfaz del prototipo y se declara el método clonar en ella, o simplemente se añade el método a todas las clases de una jerarquía de clase existente
Cuando se quiere ahorrar recursos del sistema mediante la reutilización de objetos existentes
Cuando no se conoce de antemano las dependencias y los tipos exactos de los objetos con los que deba funcionar tu código
Cuando se construyen objetos complejos paso a paso
Los patrones de diseño se utilizan para ahorrar tiempo y evitar volver a la etapa de desarrollo
Verdadero
Falso
Prototype es un patron de diseño creacional que proporciona una interfaz para crear objetos en una super clase
Verdadero
Falso
Los patrones creacionales permiten varios mecanismos de creación de objetos que permiten la flexibilidad y la reutilización de códigos existentes
Verdadero
Falso
Los Patrones de Diseño son útiles porque:
Validar código
lenguaje común
ahorra tiempo
Todas las anteriores
Algunos ejemplos de patrones estructurales...
Factory Method, Layers, MVC
Adapter, Bridge, Composite
Prototype, Builder, Facade
El objetivo del patrón ________ es garantizar que una clase sólo tenga una instancia única en toda la aplicación y que sólo se pueda acceder a la clase a través de dicha instancia
Factory
Singleton
Builder
Adapter
Un anti-patrón de diseño es una solución común, bien documentada, de malas soluciones para un problema.
Verdadero
Falso
¿Cuál de estos autores aporto su idea muy significativa para aplicar en los sistemas, utilizando principios de diseño?
Edward Yourdon
Christofer Alexander
Ivar Jacobson
James Rumbauhg
¿Cuál de las siguientes caracteristicas debe ser considerada importante para que una técnica se defina como un principio de diseño?
Alcanzable
Reutilizable
Considerable
Reseteable
¿Qué principio se ve afectado directamente si toda la funcionalidad queda en una clase y se agregan nuevas?
Inversión de dependencia
Segregación de interfaces
Sustitución de Liskov
Unica responsabilidad
¿Qué cosa nos ayuda a desacoplar módulos entre sí?
Herencia
Polimorfismo
Asociatividad
Interfaces
La flexibilidad nos permite añadir nuevos mecanismos de forma fácil, sin tener que modificar lo que ya funciona. ¿A qué principio me estoy refiriendo?
Segregación de interfaces
Sustitución Liskov
Unica responsabilidad
Abierto/Cerrado
Las precondiciones no pueden ser reforzadas por un subtipo. ¿En qué principio se postuló este argumento?
Interface segregation
Dependency inversion
Open/Close
Liskov Subtitution
Según lo explicado en clase, ¿Cuáles de las siguientes son características recomendadas para los nombres de las variables?
Cortos
Concisos
Auto-explicativos
Divertidos
Según lo explicado en clase ¿cuáles son características recomendadas para las funciones (functions) dentro de un programa?
Deben tener argumentos bandera
Deben tener un nombre descriptivo
Siempre deben recibir al menos un argumento
No deben sobrepasar las 20 líneas de extensión
Según lo visto en clase ¿Cuáles NO son buenos tipos de comentarios dentro del código?
Comentarios de copyright
Comentarios de cierre de llaves y paréntesis
Comentarios de To do (por hacer)
Comentarios con mucha información
Según lo explicado en clase ¿Cuál de las siguientes es una recomendación de formato?
Evitar dejar espacios en blanco entre bloques de código
Permitir que cada programador tenga su estilo
Tener más de 120 caracteres por línea
Uso de comas para acentuar los parámetros
¿Cuál es la Segunda Ley de TDD?
La prueba es escrita hasta que falla (no compilar, es fallar)
Nunca se debe escribir código sin antes haber escrito su respectiva prueba
Solo se escribe el código necesario para hacer que la prueba sea superada
Siempre se escribe primero el código producto y luego su respectiva prueba
Según lo visto en clase ¿cuáles son recomendaciones para clases (classes) de programación?
Las clases más pequeñas deben ser implementadas primero
Las clases deben tener un número pequeño de instancias
Las variables públicas se colocan antes que las privadas
Debemos evitar la encapsulación de clases
Según lo visto en clase ¿Cuáles de las siguientes son habilidades necesarias para hacer uso de la técnica Pair Programming?
Trabajo en equipo
Cooperación
Comunicación
Seguir las reglas
Según lo visto en clase ¿Qué palabra reservada se puede usar para evitar que un método sea sobre escrito cuando se hereda la clase?
Isolated
Protected
Final
Eso es imposible
¿Cuál de los siguientes no es un Patrón Estructural?
Composite
Builder
Bridge
Adapter
¿Cuál de los siguientes informáticos no pertenece a GoF?
Richard Helm
Jeff Sutherland
John Vlissides
Erich Gamma
