Simulador EGEL Ingeniería de Software

🖱️ Diseño de interfaces

Diseño de interfaces: usabilidad, accesibilidad y contratos

La norma ISO 9241-11:2018 define la usabilidad como el grado en que un sistema, producto o servicio puede ser usado por usuarios específicos para lograr objetivos específicos con eficacia, eficiencia y satisfacción en un contexto de uso especificado. En el modelo de calidad del producto ISO/IEC 25010:2011, la usabilidad es una de las 8 características y se subdivide en 6 subcaracterísticas: reconocibilidad de la adecuación, aprendizaje, operabilidad, protección contra errores del usuario, estética de la interfaz y accesibilidad. Nielsen, por su parte, descompone la usabilidad en cinco componentes medibles: facilidad de aprendizaje, eficiencia, memorabilidad, baja tasa de errores y satisfacción.

Para evaluar interfaces, la referencia clásica son las 10 heurísticas de Jakob Nielsen (Nielsen & Molich): visibilidad del estado del sistema, correspondencia con el mundo real, control y libertad del usuario, consistencia y estándares, prevención de errores, reconocer antes que recordar, flexibilidad y eficiencia, diseño estético y minimalista, ayudar a reconocer y recuperarse de errores, y ayuda y documentación. Se complementan con las 8 Reglas de Oro de Ben Shneiderman (consistencia, usabilidad universal, retroalimentación informativa, diálogos con cierre, prevención de errores, reversión sencilla de acciones, control interno del usuario y reducir la carga de memoria a corto plazo).

La accesibilidad se rige por las WCAG del W3C, que organizan sus criterios bajo cuatro principios POUR: Perceptible, Operable, Comprensible y Robusto, con tres niveles de conformidad (A, AA, AAA). Puntos memorizables:

El Diseño Centrado en el Usuario se apoya en el prototipado de baja fidelidad (bocetos, wireframes) y alta fidelidad (maquetas interactivas) para iterar. Dos leyes cuantitativas guían la interacción: la Ley de Fitts (MT = a + b·log2(2D/W)) para dimensionar controles según distancia y tamaño, y la Ley de Hick-Hyman (RT = a + b·log2(n+1)) que justifica limitar opciones en menús.

Para las interfaces de componentes y contratos, el Diseño por Contrato de Bertrand Meyer especifica precondiciones (obligación del cliente), postcondiciones (obligación del proveedor) e invariantes de clase. El Principio de Sustitución de Liskov (LSP) refina estos contratos: un subtipo debe ser sustituible por su tipo base sin alterar la corrección, por lo que las precondiciones no pueden reforzarse y las postcondiciones no pueden debilitarse.

Practica el banco completo y haz simulacros gratis

Preguntas de muestra (35)

1. De acuerdo con la norma ISO 9241-11:2018, la usabilidad de un sistema, producto o servicio se define en función de tres medidas evaluadas en un contexto de uso específico. ¿Cuáles son esas tres medidas?

  1. Eficacia, eficiencia y satisfacción
  2. Eficiencia, accesibilidad y seguridad
  3. Eficacia, aprendizaje y estética
  4. Satisfacción, consistencia y flexibilidad

ISO 9241-11:2018 define la usabilidad mediante eficacia, eficiencia y satisfacción en un contexto de uso especificado; las demás combinaciones mezclan atributos de otros modelos de calidad de software. (ISO 9241-11:2018, Ergonomics of human-system interaction — Parte 11: Usabilidad)

2. ¿Cuántas heurísticas de usabilidad integran la lista clásica propuesta por Jakob Nielsen para la evaluación heurística de interfaces?

  1. 8
  2. 10
  3. 6
  4. 5

Nielsen (1994) propuso 10 heurísticas de usabilidad; 8 corresponde a las reglas de oro de Shneiderman, 6 a las subcaracterísticas de usabilidad de ISO/IEC 25010 y 5 a los componentes de calidad de usabilidad del propio Nielsen. (Nielsen, J. (1994), 10 Usability Heuristics for User Interface Design)

3. Nielsen descompone la usabilidad, entendida como atributo de calidad, en cinco componentes medibles. ¿Cuál de las siguientes listas corresponde exactamente a esos cinco componentes?

  1. Eficacia, eficiencia, satisfacción, accesibilidad y seguridad
  2. Aprendizaje, operabilidad, estética, accesibilidad y protección contra errores
  3. Facilidad de aprendizaje, eficiencia, memorabilidad, errores y satisfacción
  4. Consistencia, retroalimentación, flexibilidad, minimalismo y documentación

Nielsen (2012) descompone la usabilidad en facilidad de aprendizaje, eficiencia, memorabilidad, (baja tasa de) errores y satisfacción; la opción de eficacia/eficiencia/satisfacción corresponde a ISO 9241-11 y la de operabilidad/estética a las subcaracterísticas de ISO/IEC 25010. (Nielsen, J. (2012), Usability 101: Introduction to Usability)

4. Según el modelo de calidad de producto de la norma ISO/IEC 25010:2011, la característica de usabilidad se descompone en seis subcaracterísticas. ¿Cuál de las siguientes pertenece a esa lista?

  1. Tolerancia a fallos del sistema
  2. Capacidad de recuperación ante fallos
  3. Operabilidad
  4. Utilización eficiente de recursos

'Operabilidad' es una de las seis subcaracterísticas de la característica Usabilidad en ISO/IEC 25010:2011 (junto con reconocibilidad de la adecuación, aprendizaje, protección contra errores del usuario, estética y accesibilidad); la tolerancia a fallos y la capacidad de recuperación pertenecen a Confiabilidad, y la utilización de recursos a Eficiencia de desempeño. (ISO/IEC 25010:2011, modelo de calidad del producto — característica Usabilidad)

5. ¿Cuántas 'reglas de oro' para el diseño de interfaces propuso Ben Shneiderman en su obra Designing the User Interface?

  1. 8
  2. 6
  3. 10
  4. 5

Shneiderman formuló 8 reglas de oro (entre ellas buscar la consistencia y ofrecer retroalimentación informativa); 10 corresponde a las heurísticas de Nielsen y 6 a las subcaracterísticas de usabilidad de ISO/IEC 25010. (Shneiderman, B. et al., Designing the User Interface: Strategies for Effective Human-Computer Interaction)

6. Un equipo aplica la Ley de Fitts (MT = a + b·log2(2D/W)) para analizar el tiempo de adquisición de un botón. Si la distancia D entre el puntero y el botón se duplica y el ancho W del botón no cambia, ¿qué ocurre con el valor del término log2(2D/W)?

  1. El valor del logaritmo se duplica
  2. El valor del logaritmo aumenta en una unidad
  3. El valor del logaritmo se reduce a la mitad
  4. El valor del logaritmo permanece igual

Dado que log2(2·(2D)/W) = log2(2D/W) + 1, duplicar la distancia D solo añade una unidad al valor del logaritmo; suponer que el término se duplica confunde el crecimiento logarítmico del modelo con uno lineal. (Fitts, P. M. (1954), The information capacity of the human motor system in controlling the amplitude of movement)

7. ¿Cuál de las siguientes opciones NO forma parte de las 10 heurísticas de usabilidad de Nielsen?

  1. Diseño estético y minimalista
  2. Prevención de errores
  3. Retroalimentación informativa
  4. Ayuda y documentación

'Retroalimentación informativa' es el nombre de una regla de oro de Shneiderman; la heurística equivalente en la lista de Nielsen se denomina 'visibilidad del estado del sistema'. Las otras tres sí pertenecen a las 10 heurísticas de Nielsen. (Nielsen, J. (1994) vs. Shneiderman, B., Designing the User Interface)

8. Un menú de navegación pasa de tener 3 opciones a tener 15 opciones. Usando la Ley de Hick-Hyman (RT = a + b·log2(n+1)) y los valores log2(4) = 2 y log2(16) = 4, ¿qué sucede con el factor log2(n+1) al pasar de 3 a 15 opciones?

  1. Se cuadruplica, de 2 a 8
  2. Aumenta cinco veces, de 2 a 10
  3. Permanece sin cambios notables
  4. Se duplica, de 2 a 4

Con n=3, log2(3+1)=log2(4)=2; con n=15, log2(15+1)=log2(16)=4: el factor se duplica, y no aumenta en la misma proporción que el número de opciones (error típico de confundir n con log2(n+1)). (Hick, W. E. (1952) / Hyman, R. (1953), Ley de Hick-Hyman)

9. En una aplicación de mensajería, el ícono para 'archivar una conversación' es una flecha hacia abajo en la pantalla principal, pero en la pantalla de conversaciones grupales la misma acción se representa con un ícono de caja y la etiqueta 'Guardar'. ¿Qué heurística de usabilidad se está incumpliendo?

  1. Consistencia y estándares
  2. Control y libertad del usuario
  3. Diseño estético y minimalista
  4. Ayuda y documentación

Usar íconos y etiquetas distintos para la misma acción en pantallas diferentes viola la heurística de consistencia y estándares, que exige representar de manera uniforme las acciones equivalentes en toda la interfaz. (Nielsen, J. (1994) — Consistencia y estándares)

10. Un equipo de diseño decide que la terminología usada en los menús, la ayuda en línea y los mensajes del sistema será exactamente la misma en todas las pantallas de la aplicación. Esta decisión aplica directamente cuál de las reglas de oro de Shneiderman?

  1. Ofrecer retroalimentación informativa
  2. Buscar la consistencia
  3. Diseñar diálogos que produzcan un cierre
  4. Permitir una fácil reversión de las acciones

'Buscar la consistencia' pide unificar terminología, menús y procedimientos en toda la aplicación; las otras reglas se refieren a informar sobre el resultado de acciones, cerrar secuencias de tareas y permitir deshacer, respectivamente. (Shneiderman, B., Designing the User Interface — Strive for consistency)

11. En el principio de consistencia aplicado al diseño de interfaces se distingue la consistencia interna de la consistencia externa. ¿A qué se refiere específicamente la consistencia externa?

  1. A que todos los formularios del sistema validen los datos con el mismo algoritmo
  2. A que el código fuente de todos los módulos siga el mismo estándar de programación
  3. A que la interfaz respete las convenciones ya establecidas en otras aplicaciones o plataformas
  4. A que un mismo usuario reciba la misma sesión de trabajo en distintos dispositivos

La consistencia externa se refiere a que la interfaz respete convenciones ya conocidas por el usuario en otras aplicaciones o en la plataforma, mientras que la consistencia interna se limita a la uniformidad dentro del propio sistema. (Nielsen, J. (1994) — Consistencia y estándares (consistencia interna y externa))

12. De las siguientes situaciones, ¿cuál NO representa una violación de la heurística de consistencia y estándares?

  1. Un ícono de impresora que en una pantalla imprime el documento y en otra pantalla lo elimina
  2. La palabra 'Enviar' usada en un formulario y 'Aceptar' en otro formulario idéntico para la misma acción
  3. Un botón de confirmación ubicado a la izquierda en una ventana y a la derecha en otra ventana equivalente
  4. La combinación de teclas Ctrl+S ejecutando la acción de guardar en los distintos módulos del sistema

Que Ctrl+S ejecute la misma acción de guardar en los distintos módulos del sistema es precisamente lo que exige la consistencia y estándares; las demás opciones describen incoherencias típicas que sí violan esta heurística. (Nielsen, J. (1994) — Consistencia y estándares)

13. Una empresa diseña la versión web y la versión móvil de su aplicación bancaria y decide colocar el ícono de 'transferencias' en la misma posición relativa y con el mismo símbolo que usan la mayoría de las aplicaciones bancarias del país. ¿Qué aspecto de la interfaz busca reforzar principalmente esta decisión?

  1. La consistencia externa con las convenciones de la plataforma y del sector
  2. La flexibilidad y eficiencia de uso para usuarios expertos
  3. La visibilidad del estado del sistema durante la transferencia
  4. La protección contra errores del usuario al confirmar la operación

Adoptar símbolos y posiciones ya usados por aplicaciones similares del mismo sector es un ejemplo de consistencia externa, que reduce la curva de aprendizaje al aprovechar convenciones ya conocidas por el usuario. (Nielsen, J. (1994) — Consistencia y estándares (consistencia externa))

14. En un proceso de compra en línea de tres pasos, el botón para avanzar se llama 'Continuar' en el paso 1, 'Siguiente' en el paso 2 y 'Avanzar' en el paso 3, aunque las tres acciones son idénticas. ¿Qué problema de experiencia de usuario ejemplifica este escenario?

  1. Falta de retroalimentación sobre el estado del pedido
  2. Falta de consistencia en la terminología de la interfaz
  3. Falta de prevención de errores en el formulario de pago
  4. Falta de ayuda y documentación en el proceso de compra

Usar tres etiquetas distintas para la misma acción en un mismo flujo es un caso claro de inconsistencia terminológica, que obliga al usuario a reinterpretar el significado del botón en cada paso. (Nielsen, J. (1994) — Consistencia y estándares)

15. En un sistema administrativo, el mensaje de error que recibe el usuario al fallar una operación es 'Excepción no controlada: NullReferenceException en el objeto 0x4F2A', sin ninguna explicación adicional. Este mensaje incumple específicamente la heurística de...

  1. Correspondencia entre el sistema y el mundo real
  2. Reconocer antes que recordar
  3. Reconocer, diagnosticar y recuperarse de errores
  4. Ayuda y documentación

Esta heurística exige que los mensajes de error se expresen en lenguaje llano, indiquen con precisión el problema y sugieran una solución; la correspondencia con el mundo real es un principio más general sobre el uso de conceptos y lenguaje familiares en toda la interfaz, no específico de los mensajes de error. (Nielsen, J. (1994) — Ayudar a los usuarios a reconocer, diagnosticar y recuperarse de errores)

16. Un usuario envía un formulario extenso y, tras hacer clic en 'Enviar', la pantalla no muestra ningún indicador de carga ni confirmación durante varios segundos, por lo que el usuario no sabe si el envío se está procesando. ¿Qué heurística de usabilidad no se está cumpliendo?

  1. Consistencia y estándares
  2. Diseño estético y minimalista
  3. Flexibilidad y eficiencia de uso
  4. Visibilidad del estado del sistema

La heurística de visibilidad del estado del sistema exige mantener informado al usuario en todo momento mediante retroalimentación adecuada y oportuna; su ausencia genera incertidumbre sobre si la acción se está procesando. (Nielsen, J. (1994) — Visibilidad del estado del sistema)

17. Antes de eliminar de forma permanente una carpeta con archivos importantes, el sistema muestra un cuadro de diálogo que solicita al usuario confirmar la acción y advierte que no podrá deshacerse. ¿Qué heurística de usabilidad se está aplicando?

  1. Prevención de errores
  2. Reconocer antes que recordar
  3. Ayuda y documentación
  4. Diseño estético y minimalista

La heurística de prevención de errores busca, mediante confirmaciones y advertencias, evitar que el usuario cometa una acción destructiva antes de que ocurra, en lugar de solo ayudarlo a recuperarse después de cometerla. (Nielsen, J. (1994) — Prevención de errores)

18. Entre las reglas de oro de Shneiderman se distinguen 'ofrecer retroalimentación informativa' y 'diseñar diálogos que produzcan un cierre'. ¿En qué se diferencian principalmente estas dos reglas?

  1. La primera se refiere a permitir deshacer acciones, y la segunda a limitar el número de opciones del menú
  2. La primera se refiere a informar el resultado de cada acción, y la segunda a señalar con claridad el fin de una secuencia de tareas
  3. La primera se refiere a la consistencia visual, y la segunda a la accesibilidad del sistema
  4. La primera se refiere al control interno del usuario, y la segunda a la reducción de la carga de memoria

'Ofrecer retroalimentación informativa' pide informar al usuario del resultado de cada acción, mientras que 'diseñar diálogos que produzcan un cierre' pide señalar con claridad el inicio, desarrollo y fin de una secuencia de tareas. (Shneiderman, B., Designing the User Interface — Golden Rules)

19. Un usuario mueve accidentalmente varios archivos a una carpeta equivocada dentro de un administrador de archivos. El sistema permite deshacer la acción con un solo comando ('Ctrl+Z') y restaurar los archivos a su ubicación original. ¿Qué regla de oro de Shneiderman ejemplifica esta funcionalidad?

  1. Ofrecer retroalimentación informativa
  2. Reducir la carga de memoria a corto plazo
  3. Permitir una fácil reversión de las acciones
  4. Ofrecer un control interno del usuario

'Permitir una fácil reversión de las acciones' busca reducir la ansiedad del usuario al saber que un error puede deshacerse; las demás reglas se refieren a informar resultados, aligerar la memoria y dar sensación de control, no específicamente a deshacer. (Shneiderman, B., Designing the User Interface — Permit easy reversal of actions)

20. Dentro de las seis subcaracterísticas de usabilidad del modelo de calidad de ISO/IEC 25010:2011, ¿cuál se refiere directamente a que la interfaz evite y ayude a corregir las equivocaciones del usuario?

  1. Reconocibilidad de la adecuación
  2. Estética de la interfaz de usuario
  3. Operabilidad
  4. Protección contra errores del usuario

'Protección contra errores del usuario' es la subcaracterística de ISO/IEC 25010 orientada a que el sistema evite errores del usuario y facilite su corrección; las otras subcaracterísticas se refieren a si el usuario reconoce la utilidad del sistema, a su apariencia visual y a su facilidad operativa. (ISO/IEC 25010:2011, modelo de calidad del producto — subcaracterísticas de Usabilidad)

21. Según la norma ISO 9241-11:2018, la usabilidad de un sistema, producto o servicio se define como el grado en que puede ser usado por usuarios específicos para lograr objetivos específicos, medido mediante tres atributos en un contexto de uso determinado. ¿Cuáles son estos tres atributos?

  1. Confiabilidad, mantenibilidad y portabilidad
  2. Aprendizaje, memorabilidad y errores
  3. Eficacia, eficiencia y satisfacción
  4. Funcionalidad, rendimiento y compatibilidad

ISO 9241-11:2018 define la usabilidad mediante eficacia, eficiencia y satisfacción; las demás opciones mezclan características de otros modelos de calidad (como ISO/IEC 25010) o componentes de Nielsen (2012), que no son los tres atributos de esta norma. (ISO 9241-11:2018, Ergonomics of human-system interaction — Part 11: Usability: Definitions and concepts)

22. Un equipo de UX pide a un grupo de usuarios completar una tarea en una aplicación bancaria. Registra si cada usuario logró completarla sin ayuda (sí o no), mide el tiempo que tardó en hacerlo y, al finalizar, aplica una encuesta sobre qué tan agradable le pareció la experiencia. De acuerdo con ISO 9241-11:2018, ¿qué atributos de usabilidad corresponden, en ese orden, a estas tres mediciones?

  1. Eficacia, eficiencia y satisfacción
  2. Eficiencia, eficacia y aprendizaje
  3. Aprendizaje, eficiencia y satisfacción
  4. Eficacia, satisfacción y eficiencia

Completar la tarea corresponde a eficacia, el tiempo empleado corresponde a eficiencia y la percepción de la experiencia corresponde a satisfacción, en ese orden según ISO 9241-11:2018; las demás opciones alteran el orden o sustituyen un atributo por 'aprendizaje', que no forma parte de esta tríada. (ISO 9241-11:2018, Ergonomics of human-system interaction — Part 11: Usability: Definitions and concepts)

23. Las Pautas de Accesibilidad para el Contenido Web (WCAG) del W3C organizan todos sus criterios de éxito bajo cuatro principios fundamentales. ¿Cuáles son estos cuatro principios?

  1. Visible, accesible, navegable y compatible
  2. Perceptible, usable, adaptable y seguro
  3. Operable, eficiente, robusto y consistente
  4. Perceptible, operable, comprensible y robusto

Las WCAG se organizan en los cuatro principios POUR: perceptible, operable, comprensible y robusto; las demás combinaciones mezclan términos generales de usabilidad que no forman parte del acrónimo oficial del W3C. (W3C, Web Content Accessibility Guidelines (WCAG) 2.1/2.2, principios fundamentales (POUR))

24. Una organización afirma públicamente que su sitio web 'cumple con el nivel AA de las WCAG'. Un auditor revisa el sitio y confirma que cumple todos los criterios de éxito de nivel AA, pero detecta que dos criterios de nivel A no se cumplen. De acuerdo con el modelo de niveles de conformidad de las WCAG, ¿la afirmación de la organización es válida?

  1. Sí, porque los niveles A y AA son independientes y no dependen uno del otro
  2. No, porque para declarar conformidad en el nivel AA deben cumplirse también todos los criterios del nivel A
  3. No, porque el nivel AA solo aplica a contenido multimedia y no a criterios de navegación
  4. Sí, porque cumplir el nivel AA no requiere revisar los criterios de nivel A

Las WCAG definen niveles progresivos (A, AA, AAA) en los que declarar conformidad en un nivel exige cumplir también los criterios de los niveles inferiores; por eso, omitir criterios de nivel A invalida la declaración de conformidad AA. (W3C WCAG 2.1/2.2, Conformance (niveles A, AA, AAA))

25. El criterio de éxito 1.4.3 'Contraste (mínimo)' de las WCAG, de nivel AA, establece una relación de contraste mínima entre el texto normal y su fondo. ¿Cuál es este valor mínimo?

  1. 4.5:1
  2. 3:1
  3. 7:1
  4. 2:1

El criterio 1.4.3 exige 4.5:1 para texto normal en nivel AA; 3:1 corresponde al mismo criterio pero solo para texto grande, y 7:1 corresponde al nivel AAA del criterio 1.4.6. (W3C WCAG 2.1, Criterio de éxito 1.4.3 Contrast (Minimum), Nivel AA)

26. Un diseñador revisa un párrafo de texto normal (no texto grande) cuya relación de contraste medida contra el fondo es de 4.2:1. La organización busca cumplir, como mínimo, el nivel AA de las WCAG en el criterio de contraste. ¿Qué debe concluir el diseñador?

  1. El texto cumple el nivel AA, porque 4.2:1 supera el mínimo de 3:1 exigido a cualquier texto
  2. El texto cumple el nivel AAA, porque 4.2:1 se acerca al umbral de 7:1
  3. El texto no cumple el nivel AA, porque el mínimo requerido para texto normal es 4.5:1
  4. El texto no cumple, porque las WCAG no distinguen entre texto normal y texto grande para efectos de contraste

Para texto normal el criterio 1.4.3 (AA) exige 4.5:1, por lo que 4.2:1 no lo alcanza; el umbral de 3:1 aplica únicamente a texto grande, no a cualquier texto, lo que descarta la primera opción. (W3C WCAG 2.1, Criterio de éxito 1.4.3 Contrast (Minimum), Nivel AA)

27. Un equipo de desarrollo diseña un botón táctil de 20 × 20 píxeles CSS para una aplicación móvil, sin que exista ningún control equivalente cercano ni alguna excepción aplicable. Según el criterio de éxito 2.5.8 'Tamaño del objetivo (mínimo)' de las WCAG 2.2, nivel AA, ¿cumple este botón el tamaño mínimo requerido?

  1. Sí, porque el mínimo exigido en nivel AA es de 18 × 18 píxeles CSS
  2. No, porque el mínimo exigido en nivel AA es de 44 × 44 píxeles CSS
  3. Sí, porque las WCAG no establecen un tamaño mínimo para objetivos táctiles en nivel AA
  4. No, porque el mínimo exigido en nivel AA es de 24 × 24 píxeles CSS

El criterio 2.5.8 (AA) exige 24 × 24 píxeles CSS, por lo que un botón de 20 × 20 no lo cumple; 44 × 44 corresponde al criterio 2.5.5 de nivel AAA, un umbral más exigente con el que suele confundirse. (W3C WCAG 2.2, Criterio de éxito 2.5.8 Target Size (Minimum), Nivel AA)

28. En el modelo de calidad de producto de la norma ISO/IEC 25010:2011, la usabilidad se subdivide en varias subcaracterísticas, entre ellas una relacionada directamente con la inclusión de personas con discapacidad. ¿Cómo se denomina esta subcaracterística?

  1. Operabilidad
  2. Accesibilidad
  3. Aprendizaje
  4. Fiabilidad

ISO/IEC 25010:2011 incluye la accesibilidad como una de las seis subcaracterísticas de usabilidad; operabilidad y aprendizaje son otras subcaracterísticas del mismo grupo, mientras que la fiabilidad es una característica de calidad distinta, no una subcaracterística de usabilidad. (ISO/IEC 25010:2011, SQuaRE — modelo de calidad del producto)

29. El enfoque de 'Diseño por Contrato' (Design by Contract) propuesto por Bertrand Meyer especifica el comportamiento de un componente mediante tres tipos de aserciones formales. ¿Cuáles son?

  1. Precondiciones, postcondiciones e invariantes de clase
  2. Entradas, salidas y excepciones
  3. Interfaces, implementaciones y pruebas unitarias
  4. Requisitos, casos de uso y diagramas de secuencia

Meyer define el contrato de un componente mediante precondiciones (obligación del cliente), postcondiciones (obligación del proveedor) e invariantes de clase; las demás opciones nombran artefactos generales de ingeniería de software que no constituyen las aserciones formales del contrato. (Meyer, B., Object-Oriented Software Construction / Design by Contract (lenguaje Eiffel))

30. La interfaz de un componente documenta que, para invocar el método 'procesarPago', el monto recibido debe ser mayor que cero, y que al finalizar la ejecución exitosa el saldo de la cuenta habrá disminuido exactamente en ese monto. En términos de Diseño por Contrato, ¿qué representa cada una de estas dos condiciones, respectivamente?

  1. Postcondición y precondición
  2. Invariante y precondición
  3. Precondición y postcondición
  4. Precondición e invariante

La condición que debe cumplirse antes de invocar el método es una precondición (obligación del cliente), y la garantía sobre el resultado tras la ejecución es una postcondición (obligación del proveedor). (Meyer, B., Object-Oriented Software Construction / Design by Contract (lenguaje Eiffel))

31. El Principio de Sustitución de Liskov (LSP) establece reglas sobre cómo un subtipo puede modificar el contrato heredado de su tipo base para seguir siendo sustituible sin alterar la corrección del programa. ¿Cuál de las siguientes describe correctamente esta regla?

  1. Las precondiciones no pueden debilitarse y las postcondiciones no pueden reforzarse en el subtipo
  2. Las precondiciones y las postcondiciones pueden reforzarse libremente en el subtipo
  3. Las precondiciones y las postcondiciones deben ser idénticas entre el tipo base y el subtipo
  4. Las precondiciones no pueden reforzarse y las postcondiciones no pueden debilitarse en el subtipo

LSP exige que el subtipo no exija más de lo que exigía el tipo base (no reforzar precondiciones) y que garantice al menos lo que garantizaba el tipo base (no debilitar postcondiciones); la primera opción invierte ambas reglas, un error conceptual frecuente. (Liskov, B. & Wing, J. (1994), A Behavioral Notion of Subtyping)

32. Una clase base 'Repositorio' define un método 'buscar(id)' cuya precondición es que 'id' sea un entero no negativo. Una subclase 'RepositorioSeguro' redefine el mismo método exigiendo, además, que 'id' pertenezca a un rango previamente autorizado por el usuario. Según el Principio de Sustitución de Liskov, ¿qué problema presenta esta redefinición?

  1. Debilita la postcondición del método heredado, lo que reduce las garantías ofrecidas al cliente
  2. Refuerza la precondición del método heredado, por lo que la subclase deja de ser sustituible por la clase base
  3. No presenta ningún problema, porque las subclases pueden agregar validaciones adicionales al método heredado
  4. Viola el invariante de clase, porque introduce un atributo no declarado en la clase base

Exigir una condición adicional sobre 'id' hace más estricta la precondición del subtipo respecto a la del tipo base, lo que impide sustituir 'Repositorio' por 'RepositorioSeguro' sin riesgo de rechazar llamadas antes válidas, violando el LSP. (Liskov, B. & Wing, J. (1994), A Behavioral Notion of Subtyping)

33. De las siguientes afirmaciones sobre las obligaciones del Diseño por Contrato en una interfaz de componente, ¿cuál de ellas es INCORRECTA?

  1. El invariante de clase es responsabilidad exclusiva del cliente que invoca el método
  2. La precondición establece las condiciones que el cliente debe garantizar antes de invocar el método
  3. La postcondición establece lo que el proveedor garantiza al finalizar la ejecución del método
  4. El invariante de clase debe cumplirse antes y después de cada invocación pública del método

El invariante de clase es responsabilidad del proveedor (la implementación de la clase), que debe mantenerlo antes y después de cada método público, no una obligación del cliente; las demás afirmaciones describen correctamente el reparto de obligaciones del Diseño por Contrato. (Meyer, B., Object-Oriented Software Construction / Design by Contract (lenguaje Eiffel))

34. Las heurísticas de usabilidad propuestas por Jakob Nielsen, referencia clásica para la evaluación heurística de interfaces, incluyen principios como 'visibilidad del estado del sistema' y 'prevención de errores'. ¿Cuántas heurísticas integran este conjunto?

  1. 8
  2. 7
  3. 10
  4. 12

Nielsen (1994) propuso un conjunto fijo de 10 heurísticas de usabilidad; el número 8 corresponde, en cambio, a las 'reglas de oro' de Shneiderman, un conjunto distinto con el que suele confundirse. (Nielsen, J. (1994), 10 Usability Heuristics for User Interface Design (Nielsen Norman Group))

35. Al probar un formulario de registro, un usuario llena todos los campos y presiona 'Enviar', pero la interfaz no muestra ninguna indicación de que la solicitud se está procesando ni confirma si esta tuvo éxito. ¿Cuál de las heurísticas de usabilidad de Nielsen está siendo violada principalmente en este caso?

  1. Consistencia y estándares
  2. Reconocer antes que recordar
  3. Estética y diseño minimalista
  4. Visibilidad del estado del sistema

La heurística 'visibilidad del estado del sistema' exige que la interfaz informe al usuario, mediante retroalimentación oportuna, qué está ocurriendo; las demás heurísticas listadas se refieren a uniformidad, memoria y minimalismo, no a la falta de retroalimentación. (Nielsen, J. (1994), 10 Usability Heuristics for User Interface Design (Nielsen Norman Group))

Comienza gratis