Segundo Parcial del 18/06/08 (Ingeniería II)
Por favor responda las preguntas en forma concisa
Ejercicio 1
Relacione el weaving dinamico de Aspectos con los atributos de calidad vistos en la primera parte de la materia. Que atributos puede beneficiar y que atributos puede afectar negativamente el weaving dinamico?
Rta :
Un atributo beneficiado es la mantenibilidad, pues tener el codigo factorizado por concerns permite encontrar y modificar mas facilmente el area que me interesa como desarrollador. Sin embargo, puede perjudicar la performance, dado que ahora la ejecucion de un metodo requiere pasar por varias clases, trayendo overhead.
Ejercicio 2
Sugiera una medicion que indique la performance de un proceso de revisiones por pares y que Ud. considere que puede ser usada para poner este proceso (o una parte del proceso) bajo control estadístico. Cuando diría que ese proceso o sub-proceso esta bajo control estadístico.
Rta :
Propondria:
- cantidad de problemas reportados durante la inspeccion
- efectividad para remover defectos
- costo de remocion de defectos
Usando esto puedo determinar si el proceso esta bajo control estadistico cuando se comporta dentro de los limites de control, estos los tengo que obtener por tecnicas estadisticas y mediciones previas y si encuentro un outlier tengo un plan para actuar.
Ejercicio 3
Pensando en un "mapeo" entre Scrum y CMMI: En que nivel de madurez se encuentran la mayoria de las practicas recomendadas por Scrum? Justifique.
Rta :
La metodologia Scrum aplicada al proceso de desarrollo de software propone practicas de planificacion y seguimiento de proyectos, con lo cual alcanza el nivel 2 de CMMI.
Ejercicio 4
Pensando en un "mapeo" entre Extreme Programming (XP) y CMMI: En que nivel de madurez se encuentran la mayoria de las practicas recomendadas por Extreme Programming? Justifique.
Rta :
XP es una metodologia que tiene practicas tecnicas como verificacion, validacion o product integration, con lo cual alcanza el nivel 3 de CMMI.
Ejercicio 5
Identifique una "regla de oro" de la usabilidad que deba implementarse (al menos parcialmente) a través de la arquitectura de un sistema, y otra que deba implementarse en un nivel "no arquitectonico".
Rta :
Arq: Manejo y Deteccion de Errores, ya que este aspecto requiere conocer y manipular el flujo de informacion del programam y esto posiblemente influya en la arq del mismo.
No Arq: Lenguaje del Usuario, a nivel arq las pantallas y su semantica estan establecidas y el vocabulario utilizado en ellas es un aspecto de presentacion.
Verdadero o Falso
Indique si la siguientes frases son V o F y justifique su respuesta (no se otorgan puntos si la respuesta es incorrecta)
Ejercicio 6
El Software Configuration Managment es muy importante durante el proceso de desarrollo pero no es de gran ayuda en la etapa productiva de un producto de Software.
Rta :
FALSO. Pues alli se iran almacenando no solo las revisiones y variaciones del codigo, sino que permite establecer los branches donde se trabajara en la modificaciones que al hacer merge se convertiran en las nuevas versiones.
Ejercicio 7
Para poder implementar Test Driven Development (TDD) en forma efectiva, es necesario contar con una herramienta automática de Integración Continua.
Rta :
FALSO. TDD se basa en la construccion de las unidades del programa junto con sus casos de test, empezando en las mas elementales hasta las unidades mayores, pero no es necesaria dicha herramienta pues el proceso puede hacerse manualmente.
Ejercicio 8
En Nivel 4 de CMMI se intenta poner todo el proceso de desarrollo bajo control cuantitativo, dado que el proceso de desarrollo completo es ideal para este tipo de analisis.
Rta :
VERDADERO. En la mayoria de las etapas del proceso de desarrollo se pueden determinar metricas para cuantificarlas y establecer su capacidad.
Ejercicio 9
La preparación previa de los revisores es un factor crítico para las revisiones por pares del tipo "Inspección".
Rta :
FALSO. No es imprescindible, si bien es recomendable por ej. que los asistentes lean el codigo en una peer review, ya que se familiarizarian con el y podria conseguirse un review mas sustancioso.
VERDADERO. En una inspeccion es ESENCIAL que todo el equipo se prepare para la revision. Donde no es esencial es por ejemplo, en los walkthroughs.
Ejercicio 10
La preparación de casos de prueba encuentra defectos en las especificaciones.
Rta :
VERDADERO. Cuando el desarrollador piensa una salida esperada para cierto caso de test, se da cuenta que esta mal (o ni contemplada) en la especif. actual.