Introducción a la Ingeniería de Software - Curso 2019 - Segundo Parcial 27/06/2019
Cada pregunta múltiple opción contestada correctamente tiene un valor de 2 puntos. Cada pregunta incorrecta de
la múltiple opción resta 0,66 puntos.
La evaluación es de carácter individual y la duración es de 2 horas.
El puntaje total del parcial es de 48 puntos.
Múltiple Opción
1. Respecto al proceso de evolución del software:
a) Las etapas del proceso de evolución de software generalmente varían dependiendo de si el cambio a implementar
es urgente o no.
b) a) y en el caso de un cambio urgente lo más común es que el proceso no pase por todas las etapas de ingeniería de
software.
c) Las etapas del proceso de evolución prácticamente no varían dependiendo de si el cambio a implementar es
urgente o no.
d) c) y la única diferencia es que cuando los cambios son urgentes las etapas de ingeniería de software se cumplen
siguiendo un enfoque ágil sin importar el enfoque (tradicional o ágil) aplicado durante el desarrollo.
2. Respecto a la gestión de conflictos:
a) La técnica “Suavizar/Reconciliar” hace hincapié en los puntos de acuerdo más que en las diferencias,
b) (a) pero no resuelve el problema.
c) La técnica “Suavizar/Reconciliar” incorpora múltiples puntos de vista y visiones a partir de perspectivas diversas;
conduce al consenso y al compromiso,
d) (c) por lo que resuelve el problema.
3. Respecto a la predicción de cambios en el software:
I. Resulta muy difícil determinar si una aplicación que está en uso va a requerir cambios en el futuro.
II. Si un sistema es mantenible, es muy probable que sin importar cuántos y qué cambios se realicen, éste no va a
resultar degradado.
III. La cantidad y complejidad de las interfaces del sistema influye en su mantenibilidad y por lo tanto es un aspecto a
tener en cuenta en la predicción de cambios en el sistema.
IV. La refactorización del código de un sistema se utiliza para mejorar el código y solamente se aplica cuando se
decide realizar una reingeniería del sistema.
V. En general, la reingeniería de un sistema reduce riesgos (como por ejemplo: atraso en el cronograma y errores en
la especificación de requisitos) en comparación con desarrollar el sistema desde cero. Cuando no existe
documentación actualizada del sistema original, la ingeniería inversa es un mecanismo útil para generarla.
Seleccione la opción correcta:
a) Solo (III), (IV) y (V) son correctas.
b) Solo (II), (IV) y (V) son correctas.
c) Solo (III) y (V) son correctas.
d) Todas las opciones son correctas.
4. La línea base de un proyecto
a) Debe involucrar todos los artefactos generados y aprobados durante el proyecto de desarrollo
b) Debe ir evolucionando conforme a los procedimientos de gestión de la configuración definido
c) b), donde cada cambio de versión corresponde a cada cambio aceptado
d) a) y un elemento de configuración se convierte en línea base cuando fue revisado y aprobado por el Jefe de
Proyecto
5. En relación a la organización de las actividades de testing, seleccione la afirmación correcta.
a) Dentro de los roles que pueden participar en la gestión, diseño y ejecución de pruebas se encuentran: el diseñador
de pruebas, el líder de testing, el automatizador de pruebas y el tester. Estos roles pueden ser compartidos y com-
patibles con otros roles dentro del equipo (por ejemplo: ser desarrollador y tester)
b) La planificación de las actividades de verificación se realiza de forma independiente al proceso de desarrollo lle-
vado a cabo ya que son tareas que pueden ser llevadas a cabo en paralelo.
c) Cuando se construye el cronograma del proceso de pruebas no debe suponerse que se encuentran fallas ya que eso
no incide en el personal asignado ni el tiempo reservado.
d) Considerar que los desarrolladores son los que realizan las pruebas no es una forma válida de organizar el testing
y va en contra del principio de psicología de las pruebas
Letra A 1
Introducción a la Ingeniería de Software - Curso 2019 - Segundo Parcial 27/06/2019
Ejercicio: Usted es el encargado de la liberación del siguiente software ya construido y probado.
• Un software de alarmas que servirá para que los jubilados puedan configurar las horas en las que tienen que tomar
sus medicamentos. Los directivos de su empresa deciden realizar una primera versión del aplicativo que considere
las principales necesidades de quienes la utilizarán. Se piensa distribuir en todo el país y que su uso sea mediante
las tablets entregadas por el estado uruguayo a los jubilados o a través de los teléfonos móviles de los usuarios.
6. Sobre el proceso de liberación en este contexto
a) Debe contemplar solamente dejar disponible el software para que las personas lo descarguen del market place o
del app store.
b) Debe tener en cuenta, entre otras cosas, realizar una capacitación presencial a cada usuario, para minimizar los
riesgos de que usen mal el producto.
c) Debe tener en cuenta, entre otras cosas, el apoyo a los usuarios ya que como deben pasar a utilizar únicamente el
nuevo software para controlar la toma de sus medicamentos existe cierto riesgo de que lo usen mal o el software
falle.
d) Ninguna de las anteriores es correcta.
7. Dadas las siguientes estrategias de liberación para el software presentado.
I. Big-bang – se deja disponible el software para descargar desde todo el país luego de realizar capacitaciones y
entrenamientos a los futuros usuarios a través de la red de formadores del plan Ibirapitá del estado uruguayo.
II. Paulatina – se deja disponible el software en primer lugar para un grupo reducido de jubilados los cuales son
monitoreados para ver si lo utilizan bien y se recogen dudas y sugerencias. No se realiza entrenamiento ni
capacitación pues no se cree necesario.
Seleccione la opción correcta:
a) La estrategia (I) mitiga el riesgo de que los usuarios no entiendan cómo usar el software.
b) Si se quiere contar con un producto con una gran facilidad de uso la estrategia (II) no parece buena para validar
ese requisito de calidad.
c) No es posible encarar la liberación de este software utilizando Procesamiento en paralelo.
d) Ninguna de las anteriores es correcta.
8. Sobre la gestión de la configuración para este proyecto.
a) La versión del software a liberar debe incluir código ejecutable, archivos de configuración y documentación
asociada.
b) a) y la documentación asociada puede ser la lista de cambios que tiene la nueva versión o un tutorial que se puede
acceder desde el software.
c) La gestión de versiones en este caso debería permitir realizar el seguimiento de las diferentes versiones de los
componentes de software y asegurar que los cambios realizados por distintos desarrolladores a estas versiones
interfieran entre sí.
d) Todas las anteriores son correctas
9. Dadas las siguientes afirmaciones:
I. Luego de que se realiza un plan del proyecto este se mantiene inmutable durante todo el proyecto, no se puede
cambiar.
II. Cuando se construye la EDT - estructura de desglose de trabajo (WBS por sus siglas en inglés), el foco deben ser
las actividades a realizar y no los entregales.
III. Algunos factores determinantes en la gestión de proyectos son: la cultura organizacional, el tamaño de la empresa,
los procesos que aplican, el cliente, entre otros.
IV. La gestión de un proyecto de software no tiene grandes diferencias con la de otras industrias.
V. Un director de proyectos debe tener amplios conocimientos en la temática del proyecto y si es técnico, mejor.
Seleccione la opción correcta:
a) Solo una afirmación es correcta
b) solo dos afirmaciones son correctas
c) Solo tres afirmaciones son correctas
d) Todas las afirmaciones son incorrectas
10. Podemos identificar distintos niveles de pruebas. Acerca de las estrategias asociadas puede decirse que:
a) En el nivel de pruebas de componentes las técnicas estáticas permiten experimentar que el comportamiento del
componente es el esperado.
b) (a) y una técnica dinámica es la técnica de caja negra, la cual está basada en la especificación del programa.
c) El segundo nivel de pruebas comprende las pruebas de integración donde para elegir una estrategia se debe consi-
derar optimizar el tiempo requerido y el costo del entorno de pruebas.
d) c) y una estrategia incremental es top-down, en la que deben utilizarse stubs para poder realizar las pruebas.
Letra A 2
Introducción a la Ingeniería de Software - Curso 2019 - Segundo Parcial 27/06/2019
11. Dadas las siguientes afirmaciones:
I. La jerarquía de maslow presenta 5 niveles de necesidades, donde luego de satisfacer las necesidades de un nivel
inferior se puede pasar al siguiente nivel.
II. La teoría de Herzberg plantea 3 posibles estados que son: Insatisfacción, no satisfacción y satisfacción; y lo que
determina el moverse dentro de esos estados son los factores de higiene y los de motivación.
III. La teoría de X e Y presenta dos visiones contrapuestas que se pueden tener sobre las personas.
IV. Al comunicarnos, no es suficiente decir lo que queremos comunicar con las palabras, el tono con el que lo deci-
mos así como el lenguaje corporal deben ser consistentes.
V. La teoría de tuckamn presenta 5 etapas de desarrollo de un equipo. Se plantea que un equipo siempre arranca por
una etapa y pasa por todas las siguientes hasta llegar a Disolución.
Seleccione la opción correcta
a) Todas las afirmaciones son correctas
b) Solo 4 afirmaciones son correctas
c) Solo 3 afirmaciones son correctas
d) Solo 2 afirmaciones son correctas
12. De las técnicas de caja blanca podemos afirmar que:
I. Los casos de prueba se derivan de la estructura del código del programa a probar.
II. Las que son basadas en el flujo de control del programa expresan los cubrimientos del testing en términos de las
asociaciones definición-uso del programa.
III. El cubrimiento de sentencias asegura que el conjunto de casos de prueba ejecuta al menos una vez cada instruc-
ción de código.
IV. Los criterios de cubrimiento de caja blanca pueden usarse como un indicador de la calidad de un conjunto de ca-
sos de prueba, cuya medida es el grado de cubrimiento del código
V. Las técnicas de caja blanca no pueden usarse en conjunto con las de caja negra
Seleccione la opción correcta:
a) I y V son correctas.
b) II, III y IV son correctas.
c) Ninguna es correcta.
d) I, III y IV son correctas.
13. Un entorno de pruebas (test environment) puede comprender:
I. Entorno de desarrollo (dependencias de librerías o ítems de desarrollo)
II. Datos específicos en una o varias bases de datos
III. Especificación de los componentes de código
IV. Programas (y versiones de los programas) instalados tanto en servidores, clientes u otros nodos físicos que estén
involucrado en las pruebas
V. Estado en el cual se encuentra el sistema bajo pruebas (por ejemplo: variables de contexto)
VI. Tipos de dispositivos (marca, modelo) y versión del sistema operativo
Seleccione la opción correcta:
a) II, IV y VI son correctas.
b) I, II, III y IV son correctas.
c) I, II, IV, V y VI son correctas
d) Todas son correctas
14. En el marco del Obligatorio 3 del Laboratorio:
a) Se solicitó definir las actividades a realizar para la liberación del Sistema de Transmisión de Resultados (STR).
En relación a esto, alguna de las actividades viables a incluir son: la instalación y configuración del software y la
validación de los requisitos finales.
b) En cuanto a la estimación de Planning Poker, "tomar una historia de referencia" y "triangular estimaciones" son
algunas de las actividades típicas del proceso de estimación.
c) (a) y a su vez, a partir del Sprint Burndown Chart indicado, se concluyó que el proyecto estaba atrasado.
d) Todas las opciones son correctas.
15. Respecto a valor ganado:
a) Si CPI < 1, el proyecto está costando más de lo planificado
b) a) y el proyecto está atrasado
c) Si CPI < 1 el proyecto está costando menos de lo planificado
d) c) y si SPI < 1, el proyecto está atrasado
Letra A 3
Introducción a la Ingeniería de Software - Curso 2019 - Segundo Parcial 27/06/2019
16. En relación a los principios del testing:
I. Por lo general los defectos no están distribuidos uniformemente. La mayoría de los defectos se encuentran agrupa-
dos en algunos objetos de prueba. Por lo tanto, si muchos defectos son detectados en un lugar, es probable que
haya más defectos cercanos a dicho lugar (por ejemplo: en el mismo objeto de prueba o componentes relaciona-
dos).
II. Las pruebas deben adaptarse a los riesgos específicos de cada sistema. Por lo tanto, no se deben probar dos siste-
mas distintos de igual forma. La intensidad de las pruebas así como los criterios de salida de las pruebas deben de-
cidirse de acuerdo a cada sistema de software. Por ejemplo, sistemas críticos para la seguridad requieren diferen-
tes pruebas que los juegos de aplicaciones móviles.
III. La eficacia en la detección de defectos de un mismo conjunto de casos de prueba disminuye con el paso del tiem-
po. Esto se conoce comunmente como “la paradoja del pesticida”. Por tal motivo, las pruebas tienen que evolucio-
nar y adaptarse para seguir siendo útiles.
IV. Por lo general se recomienda que las actividades de verificación comiencen lo más temprano que se pueda en el
ciclo de vida del software. Esto contribuye a que se comiencen a detectar defectos en forma temprana.
V. El testing no puede demostrar que un programa no tiene defectos.
Seleccione la opción correcta:
a) II, IV y VI son correctas.
b) I, II, III y IV son correctas.
c) I, II, IV, V y VI son correctas
d) Todas son correctas
17. En el Laboratorio se planteó la construcción de una aplicación para conectar a las empresas con los estudiantes que
quieran trabajar en algo relacionado con su carrera. En relación a esto:
I. Al identificar los componentes del sistema y la interacción con sistemas externos fue necesario identificar la inte-
gración con un sistema externo para la autenticación y la necesidad de contar con ciertos componentes transversa-
les (de carácter general).
II. Se solicitó escribir los casos de prueba para la historia de usuario de “Aplicar a una oferta de empleo”. Para la ela-
boración de dichos casos de prueba fue necesario considerar los criterios de aceptación y evaluar si habían otros
casos que no estaban descritos explícitamente en la historia de usuario.
III. Se solicitó que se armara un cronograma con fechas y recursos necesarios a partir del WBS.
IV. Fue necesario explicar el proceso de estimación seguido al utilizar Planning Poker.
V. Se solicitó que se indiquen cuáles serían las actividades para realizar la liberación de este sistema.
Seleccione la opción correcta:
a) Todas las opciones son correctas.
b) Sólo (II), (III) y (IV) son correctas.
c) Sólo (I), (II) y (V) son correctas.
d) Sólo (I), (II) y (IV) son correctas.
18. En relación a las pruebas de aceptación, marque la afirmación incorrecta:
a) Las pruebas de aceptación pueden ser ejecutadas a lo largo de los diferentes niveles de pruebas (componentes, in-
tegración y sistema)
b) Las pruebas de campo llamadas dogfood tests tienen como objetivo que clientes externos denominados “beta tes-
ters” realicen pruebas de aceptación antes de liberar el producto a todos los clientes de forma generalizada
c) Las pruebas de aceptación operacionales intentan asegurar la aceptación del sistema por parte de los usuarios ad -
ministradores del mismo
d) En las pruebas de aceptación contractuales (contract acceptance testing) los criterios de aceptación se encuentran
escritos en el contrato de desarrollo y debe estar establecido de la forma menos ambigua posible para poder llevar-
se a cabo de forma exitosa
19. Respecto a la nivelación de recursos:
a) Solo se realiza si el cliente pide acortar el cronograma.
b) Generalmente se realiza antes de determinar el camino crítico, para tener en cuenta qué actividades pueden reali-
zarse de forma paralela.
c) El camino crítico no cambia al realizar nivelación de recursos.
d) Ninguna opción es correcta.
20. [Ciclo de charlas] Según Gabriel Ledesma (Orador de la charla de Fundamentos de Scrum).
a) Especificar el product backlog con historias de usuario no es obligatorio en Scrum. Se puede escribir de otras
formas, por ejemplo, utilizando lenguaje natural.
b) Es recomendable tener un sprint cero que, aunque no entregue valor al cliente al no producir software, permita
realizar actividades previas de ajuste antes de iniciar los sprints de desarrollo de software.
c) a) y b) son correctas.
Letra A 4
Introducción a la Ingeniería de Software - Curso 2019 - Segundo Parcial 27/06/2019
d) Ninguna de las anteriores es correcta.
21. Respecto al siguiente grafo de precedencia:
I. Existe sólo un camino crítico y está compuesto por las actividades G y F.
II. La duración del camino crítico es 12.
III. La actividad G es de gran importancia técnica.
IV. La holgura de la actividad A es 2.
V. Si la duración de la actividad C fuera 3 en lugar de 1, entonces habrían tres caminos críticos.
Seleccione la opción correcta:
a) Sólo dos opciones son correctas.
b) Sólo (I), (II) y (IV).
c) Sólo (II), (IV) y (V).
d) Sólo (III), (IV) y (V).
22. [Ciclo de charlas] Sobre la gestión de los requisitos en el proyecto de SIIF2
a) Uno de los mayores desafíos que reportaron los oradores fue gestionar un sano equilibrio entre la producción de
documentación y la producción de software
b) a) y para poder lograr esto fue necesario llegar a un acuerdo entre los desarrolladores (que querían documentar la
solución para luego tener material para mantenerla mejor) y lo usuarios (que querían tener el producto en el menor
tiempo posible).
c) a) y para poder lograr esto fue muy importante la identificación y compromiso de los actores clave en el
relevamiento de los requerimientos.
d) Todas las anteriores son correctas.
23. [Ciclo de charlas] Según Daniela y Juan de VUCE el rol de Analista Funcional:
a) En VUCE es desempeñado únicamente por integrantes del equipo que no tienen perfil tecnológico (ingenieros,
analistas, etc).
b) Es un rol útil para: entender al cliente, disminuir la incertidumbre, organizar y priorizar los requisitos.
c) Luego de la introducción de Scrum en VUCE fue sustituido por el rol de Product Owner. Ambos roles son
sustancialmente distintos y no compatibles.
d) Dos de las anteriores son correctas.
24. [Ciclo de charlas] En relación a PSP y TSP, Diego nos decía que:
a) Son procesos que requieren trabajar con cierta disciplina. Por ejemplo, llevando un registro de tiempo y de
defectos.
b) a) y los defectos se deben registrar en el momento en el cual se introducen
c) b) y estos registros permiten estimar y planificar mejor. Además se puede, por ejemplo, predecir la cantidad de
defectos que va a tener el software que se produce.
d) Ninguna de las anteriores es correcta
Letra A 5