Dominando la Ingeniería de Software: Conceptos Fundamentales


Conceptos Fundamentales en Ingeniería de Software

Este documento aborda una serie de preguntas y respuestas clave sobre diversos aspectos de la ingeniería y el desarrollo de software, cubriendo temas desde la complejidad del código hasta los patrones de diseño y las metodologías de prueba. Es una referencia esencial para comprender los pilares de la construcción de sistemas robustos y eficientes.

  1. 26. La complejidad ciclomática de un segmento de código indica:

    El número de caminos base de ese segmento de código.

  2. 27. Entre las actividades habituales de un proceso de desarrollo están:

    Especificación, desarrollo y validación.

  3. 28. La Ingeniería del Software:

    Aplica técnicas rigurosas al desarrollo de sistemas de software para mejorar el proceso de desarrollo.

  4. 29. En el modelo en cascada:

    No se inicia una fase hasta tener completamente terminada la anterior.

  5. 30. Un requisito de seguridad, como la necesidad de cifrar las comunicaciones por red:

    Es un requisito no funcional.

  6. 31. Desde el punto de vista arquitectónico, un navegador web:

    Ejecuta la función de cliente, que se conecta a un servidor remoto.

  7. 32. Uno de los inconvenientes del modelo en cascada es que:

    Puede haber problemas graves de integración al final del desarrollo.

  8. 33. Si el analista detecta que dos requisitos son incoherentes entre sí:

    Debe discutir con el cliente cuál será el requisito que se elimine.

  9. 34. Un requisito no funcional de alto nivel de abstracción (conocido como meta) sirve para:

    Transmitir las prioridades de los clientes y usuarios.

  10. 35. En el patrón Modelo-Vista-Controlador, la función principal del modelo es:

    Almacenar los datos que se guardan de manera persistente en el sistema.

  11. 36. El principio de inversión de dependencias:

    Permite reducir el acoplamiento de clases de alto nivel de abstracción respecto a clases más concretas.

  12. 37. El objetivo básico del patrón Singleton es:

    Controlar el número de instancias que se crean de una clase.

  13. 38. Los requisitos funcionales sirven, entre otras cosas, para:

    Indicar cómo reaccionará el sistema frente a un evento externo.

  14. 39. Un caso de uso:

    Es una descripción detallada de la interacción entre el usuario y el sistema.

  15. 40. En las metodologías iterativas:

    Se recomienda no hacer cambios en los requisitos durante una iteración.

  16. 41. Una forma de extender un módulo que cumple el principio de abierto/cerrado:

    Es añadir una clase que implemente una interfaz usada por una clase cliente.

  17. 42. La arquitectura Map-Reduce está especialmente indicada para:

    Resolver problemas que se pueden resolver en paralelo.

  18. 43. Un requisito no funcional de fiabilidad:

    Puede afectar al diseño exigiendo redundancia de elementos.

  19. 44. En una prueba de caja negra, solo:

    Se ejecutan pruebas del funcionamiento del sistema sin conocer el diseño ni la implementación.

  20. 45. Un caso de prueba es:

    Un conjunto de condiciones que ayuda a determinar si se cumplen o no los requisitos.

  21. 46. La cohesión de un sistema:

    Es conveniente mantenerla alta para que los módulos tengan una función específica.

  22. 47. Si un programa pasa todas las pruebas a las que se le somete:

    No podemos afirmar que esté libre de errores.

  23. 48. En el patrón Modelo-Vista-Controlador, se usa el patrón Observador:

    Para que el modelo pueda avisar de sus cambios con el menor acoplamiento posible.

  24. 49. Los criterios de calidad del software:

    Definen aspectos que permiten evaluar si un diseño es bueno o no.

  25. 50. Si una clase viola el principio de responsabilidad única:

    Es conveniente dividirla en varias clases distintas.

  26. 51. Las pruebas de regresión son las que se ejecutan:

    Cuando el código ha sufrido alguna modificación, corrección o ampliación.

  27. 52. Un síntoma que puede indicar que es conveniente segregar interfaces es:

    Que haya clases que implementen métodos que no necesitan.

  28. 53. Los cambios en los requisitos de los clientes:

    Se pueden abordar en los desarrollos, pero es importante seguir una metodología apropiada.

  29. 54. Las pruebas de aceptación las ejecuta:

    El cliente para aceptar la entrega de una nueva versión del sistema por parte del equipo de desarrollo.

  30. 55. Un proceso de desarrollo de software indica:

    Las actividades y el orden en el que se deben hacer en el desarrollo.

  31. 56. Un módulo con un acoplamiento alto con otros muchos módulos:

    Hace más difícil que se pueda reutilizar ese módulo en otro entorno.

  32. 57. En la terminología de pruebas, los caminos base son:

    Las posibles secuencias fundamentales de ejecución de un código.

  33. 58. Un prototipo puede usarse para:

    Dividir el desarrollo en miniproyectos, de los que cada uno resulta una versión parcial funcional.

  34. 59. Entre las actividades habituales de un proceso de desarrollo están:

    Especificación, desarrollo y validación.

  35. 60. En el patrón Singleton:

    El constructor se define privado para que solo pueda instanciar la misma clase.

  36. 61. En el diagrama de secuencia ABC:

    La clase A tiene un atributo de la clase B y otro atributo de la clase C.

  37. 62. Si pensamos en la búsqueda de información en la web en un buscador como Google como un problema MapReduce:

    La operación Map consiste en buscar la ocurrencia de los términos buscados en las páginas indexadas por el buscador.

  38. 63. Los requisitos no funcionales:

    Suelen indicar cuestiones relacionadas con los criterios de calidad del sistema.

  39. 64. En la terminología de pruebas, los caminos base son:

    Las posibles secuencias fundamentales de ejecución de un código.

  40. 65. El patrón Estrategia ayuda a cumplir el principio de:

    Responsabilidad Única.

  41. 66. El software:

    No se desgasta por el uso, pero puede dejar de ser útil por cambios en los requisitos de los clientes.

  42. 67. El principio de responsabilidad única establece que:

Dejar un Comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *