Story Transcript
PLANIFICACIÓN Y ORGANIZACIÓN DE SISTEMAS INFORMÁTICOS (01-07-2.004) 1. El diagrama de red que representa la herramienta Microsoft Project coincide con el llamado diagrama de precedencias que hemos visto en la teoría. Indique las diferencias y similitudes existentes entre los diagramas de precedencias y las redes PERT. Para que queden perfectamente reflejadas las diferencias entre los dos tipos de diagramas, comenzaremos viendo un ejemplo. Para ello, vamos a representar el diagrama de precedencias y la red PERT correspondientes a la siguiente tabla de actividades: Actividad A B C D E Predecesoras - - A A, B C, D Red PERT
Diagrama de precedencias A
C
A
D B
B
C E D
D
Una vez apreciadas gráficamente las diferencias, vamos a establecer una tabla comparativa con las diferencias y similitudes más significativas: Diagrama de precedencias Red PERT Las actividades se representan mediante Las actividades se representan mediante flechas rectángulos Diferencias Las relaciones entre actividades se representan Los círculos representan acontecimientos, que mediante flechas relacionan las actividades No existen actividades ficticias o simuladas Existen actividades ficticias o simuladas Ambos se utilizan para representar la planificación temporal de un proyecto Similitudes Ninguno admite bucles en su representación Ambos representan exclusivamente las relaciones de dependencia entre actividades
2. Supongamos un proyecto que consta de 5 actividades con la siguiente tabla de precedencias (se incluyen también la duración de cada actividad y los recursos que necesita): Actividad Precedencias Duración Recursos de tipo 1 Recursos de tipo 2 A 2 1 1 B 3 3 2 C B 2 2 1 D B 3 1 1 E D 2 1 2
a) Construir el diagrama de Gantt de este proyecto. Sabiendo que la disponibilidad máxima de recursos del tipo 1 es 3 y la de recursos del tipo 2 es 2, representar la gráfica de utilización de recursos a lo largo del proyecto y detectar los intervalos de conflicto. b) Ajustar el diagrama de Gantt construido anteriormente para evitar que se utilicen más recursos de los disponibles en un momento determinado. Representar la gráfica de utilización de recursos e indicar el retraso que se introduce en la duración del proyecto al realizar el ajuste de recursos. a) Inicialmente, tenemos las siguientes gráficas de Gantt y de utilización de recursos: Gráfica de Gantt E D C B A
Gráficas de utilización de recursos
1 / 2 1 / 1 2 / 1 3 / 2 1 / 1
Recursos de tipo 1 4 3 2 1
3 2 1 1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
Recursos de tipo 2
1 2 3 4 5 6 7 8
Encontramos un intervalo de conflicto en el periodo 0-2 (durante las dos primeras unidades de tiempo). En este caso, el conflicto se produce en el mismo periodo tanto para los recursos de tipo 1 como para los recursos de tipo 2, pero bastaría con que se produjera para uno de los tipos de recursos para tener que aplicar los criterios con el fin de resolverlo. El conflicto se produce entre las actividades A y B. Al aplicar el primer criterio, comprobamos que B es crítica y A no lo es, por lo que retraso la actividad A. Para evitar demasiados pasos intermedios, retraso 3 unidades de tiempo la actividad A, puesto que cualquier conflicto entre A y B a partir de este momento supondrá el retraso de A. El retraso de la actividad A no afecta a ninguna otra actividad puesto que no hay ninguna actividad que dependa de A. La gráfica de Gantt y las gráficas de utilización de recursos quedarían así: Gráfica de Gantt E D C B A
Gráficas de utilización de recursos
1 / 2 1 / 1
Recursos de tipo 1 4 3 2 1
2 / 1 3 / 2 1 / 1
Recursos de tipo 2 3 2 1
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
Encontramos un intervalo de conflicto en el periodo 3-5 (durante las unidades de tiempo cuarta y quinta). En este caso, el conflicto se produce en el mismo periodo tanto para los recursos de tipo 1 como para los recursos de tipo 2, pero bastaría con que se produjera para uno de los tipos de recursos para tener que aplicar los criterios con el fin de resolverlo. El conflicto se produce entre las actividades A, C y D. Al aplicar el primer criterio, comprobamos que D es crítica y A y C no lo son, por lo que de momento sabemos que la actividad D la dejamos donde está (no la retrasamos). Como la actividad D necesita un recurso de cada tipo, nos quedarían disponibles dos recursos de tipo 1 y un recurso de tipo 2, siendo éstos suficientes para realizar cualquiera de las otras dos actividades, A o C (en este punto podríamos considerar el aprovechamiento máximo de los recursos, que conseguiríamos realizando la actividad C y, por tanto, retrasando la A; pero como el ejercicio no nos dice nada al respecto, nos limitamos a aplicar los criterios que hemos visto). Para decidir la actividad que retrasamos (entre A y C), pasamos a aplicar el segundo criterio (retrasar la actividad que tenga mayor primera fecha de inicio); la primera fecha de inicio de la actividad A es 0, mientras que la de la actividad C es 3, luego retrasamos esta última actividad. Para ahorrarnos un paso intermedio, retraso 2 unidades de tiempo la actividad C, puesto que cualquier conflicto entre A, C y D a partir de este momento supondrá el retraso de C. El retraso de la actividad C no afecta a ninguna otra actividad puesto que no hay ninguna actividad que dependa de C. La gráfica de Gantt y las gráficas de utilización de recursos quedarían así: Gráficas de utilización de recursos
Gráfica de Gantt E D C B A
1 / 2 1 / 1
Recursos de tipo 1 2 / 1
3 / 2 1 / 1
4 3 2 1
Recursos de tipo 2 3 2 1
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
Encontramos un intervalo de conflicto en el periodo 6-7 (durante la séptima unidad de tiempo). En este caso, el conflicto se produce sólo para los recursos de tipo 2, pero es suficiente para tener que aplicar los criterios con el fin de resolverlo. El conflicto se produce entre las actividades C y E. Aunque al aplicar el primer criterio, comprobamos que E es crítica y C no lo es, debemos tener en cuenta por encima de todo que una actividad no se puede dividir. De esta forma, como C ya ha comenzado en el momento en que se produce el conflicto, no podemos retrasarla para resolverlo (supondría dividir la actividad C) y será E la que tengamos que retrasar (a pesar de ser crítica). El retraso de la actividad E no afecta a ninguna otra actividad puesto que
no hay ninguna actividad que dependa de E. La gráfica de Gantt y las gráficas de utilización de recursos quedarían así: Gráficas de utilización de recursos
Gráfica de Gantt E D C B A
1 / 2 1 / 1
Recursos de tipo 1
Recursos de tipo 2
4 3 2 1
2 / 1 3 / 2 1 / 1
3 2 1 1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
Como podemos apreciar en las gráficas de utilización de recursos, ya están resueltos todos los conflictos para los dos tipos de recursos. Por tanto, podemos concluir la respuesta del ejercicio indicando que el retraso que se introduce en la duración del proyecto al realizar el ajuste de recursos es de una unidad de tiempo. 3. La estructura de la jerarquía de producto correspondiente a un proyecto software es la siguiente: Sistema software
Subsistema A
Subsistema B
Subsistema C
Subsistema CA
Subsistema D
Subsistema CB
Y la estructura de la jerarquía de actividades (proceso) correspondiente al mismo proyecto es: Sistema software
Análisis
Diseño
Codificación
Prueba
Siguiendo los criterios establecidos en las prácticas 6 y 7 de la asignatura, obtenga la lista de las actividades correspondientes al citado proyecto así como las dependencias (relaciones de precedencia) entre ellas. (Ayuda: La lista debe contener 20 actividades). La lista de actividades para la planificación temporal del proyecto se obtiene a partir del diagrama WBS, por lo que habrá que comenzar representando este diagrama como paso intermedio para la resolución del ejercicio. Para construir el diagrama WBS, se parte de la jerarquía de producto y se van añadiendo actividades de la jerarquía de proceso según los siguientes criterios (vistos en las prácticas de la asignatura): 1) La actividad de Análisis sólo se añade en el nivel inmediatamente inferior al nodo raíz de la jerarquía de producto. 2) En el nivel inmediatamente inferior a cada nodo hoja de la jerarquía de producto se le añaden las actividades Diseño, Codificación y Prueba. 3) En el nivel inmediatamente inferior a cada nodo no hoja de la jerarquía de producto se le añaden las actividades Diseño o Codificación (realmente sería más correcto asignar el nombre Integración a este tipo de actividades, pero como no aparece en la jerarquía de actividades ningún nodo con este nombre, debemos utilizar Diseño o Codificación) y Prueba. Aplicando estos criterios, obtenemos el siguiente diagrama WBS:
Sistema software
Subsistema A
Dis.
Cod.
Subsistema C
Subsistema B
Pr.
Dis.
Cod.
Subsistema CB
Subsistema CA
Pr.
Dis.
Cod.
Subsistema D
Pr.
Dis.
Cod.
Cod.
Pr.
Dis.
Cod.
Anál.
Cod.
Pr.
Pr.
Pr.
Cada nodo hoja del diagrama WBS (nodos sombreados en el diagrama anterior) constituye una actividad de la lista que tenemos que generar como resultado del ejercicio, por lo que ya estamos en condiciones de elaborar la lista de actividades. Sólo nos faltaría aplicar los criterios necesarios para establecer las dependencias entre ellas; estos criterios son los siguientes: 1) La primera actividad que se realiza es el Análisis, por lo que esta actividad no dependerá de ninguna otra. 2) La actividad de Diseño de cada subsistema que aparezca como nodo hoja en la jerarquía de producto depende del Análisis. 3) Las actividades de Diseño, Codificación y Prueba correspondientes a cada Subsistema que aparezca como nodo hoja en la jerarquía de producto se deben realizar secuencialmente. Esto significa que la Codificación depende del Diseño y la Prueba depende de la Codificación. 4) La actividad de Codificación (Integración) de cada nodo no hoja de la jerarquía de producto depende de las actividades de Prueba correspondientes a los nodos del nivel inmediatamente inferior. 5) Las actividades de Codificación y Prueba correspondientes a cada nodo no hoja de la jerarquía de producto de deben realizar secuencialmente. Esto significa que la Prueba depende de la Codificación. De esta forma, aplicando todos los criterios anteriores, obtenemos la siguiente lista de actividades con las dependencias que se indican en la tabla: Actividades Precedencias A – Análisis B – Diseño del Subsistema A A C – Codificación del Subsistema A B D – Prueba del Subsistema A C E - Diseño del Subsistema B A F - Codificación del Subsistema B E G - Prueba del Subsistema B F H - Diseño del Subsistema CA A I - Codificación del Subsistema CA H J - Prueba del Subsistema CA I K - Diseño del Subsistema CB A L - Codificación del Subsistema CB K M - Prueba del Subsistema CB L N - Diseño del Subsistema D A O - Codificación del Subsistema D N P - Prueba del Subsistema D O Q - Codificación del Subsistema C J, M R - Prueba del Subsistema C Q S - Codificación del Sistema Global D, G, P, R T - Prueba del Sistema Global S (En esta lista puede variar el orden en que se muestran las actividades, pero siempre tendrán que aparecer todas las de la tabla anterior y con las dependencias que se indican en la misma)
4. Se está intentando comparar la calidad de dos productos software A y B. En ambos casos se utilizan las mismas 3 características de alto nivel, cada una de las cuales se desglosa en las mismas 5 características primitivas de más bajo nivel. Sabemos que para el producto A, todas las características primitivas tienen valor 3 excepto dos de ellas que tienen valores 2 y 4, respectivamente. Y para el producto B sabemos que todas las características primitivas tienen valor 3 excepto dos de ellas que tienen valores 2 y 4, respectivamente. A pesar de que la suma de los valores de las características primitivas para ambos productos software es la misma (45 en ambos casos), no podemos asegurar que ambos tengan la misma calidad. ¿Cómo justificarías esta afirmación? (Ayuda: Piensa que el enunciado del ejercicio puede estar incompleto). La única justificación posible está en considerar que las tres características de alto nivel tienen distintos pesos (siempre tienen que sumar 3 los pesos asignados a las tres características de alto nivel). Veamos un ejemplo: Consideremos un peso 2 para la primera característica de alto nivel y un peso 0,5 para las otras dos características de alto nivel (la suma de los 3 valores es 3: 2 + 0,5 + 0,5 = 3) y consideremos también el siguiente reparto en los valores de las características primitivas:
Producto software A Producto software B
Característica de alto nivel 1 (peso 2) Subcaracterísticas 1 2 3 4 5 3 3 3 3 4 3
3
3
3
2
Característica de alto nivel 2 (peso 0,5) Subcaracterísticas 1 2 3 4 5 3 3 3 3 3 3
3
3
3
3
Característica de alto nivel 3 (peso 0,5) Subcaracterísticas 1 2 3 4 5 3 3 3 3 2 3
3
3
3
4
De esta forma, la calidad de ambos productos se obtendría de la siguiente forma: Calidad (A) = 2*(3+3+3+3+4)+0,5*(3+3+3+3+3)+0,5*(3+3+3+3+2) = 2*16+0,5*15+0,5*14 = 32+7,5+7 = 46,5 Calidad (B) = 2*(3+3+3+3+2)+0,5*(3+3+3+3+3)+0,5*(3+3+3+3+4) = 2*14+0,5*15+0,5*16 = 28+7,5+8 = 43,5
Como ambos productos tienen exactamente las mismas características primitivas, ya podemos asegurar que sus calidades son distintas. No es necesario, por tanto, normalizar los resultados (recuérdese que para normalizar hay que dividir los valores anteriores entre el máximo valor posible para la calidad, es decir, el valor de la calidad suponiendo que cada característica primitiva tiene su valor máximo, 5; en este caso concreto, como tenemos 15 características primitivas, el valor máximo posible sería 15 * 5 = 75), pero si lo hacemos obtenemos lo siguiente: Calidad normalizada (A) = 46,5 / 75 = 0,62 Calidad normalizada (B) = 43,5 / 75 = 0,58
Por lo que deducimos definitivamente que las calidades son distintas y, por tanto, que los datos que nos indica el enunciado del ejercicio no nos garantizan que la calidad de ambos productos software sea la misma. Puntuación de las preguntas:
1. 2 ptos.
NOTAS DEL EXAMEN: 07/07/2004
2. 3 ptos.
3. 2,5 ptos.
4. 2,5 ptos.
REVISIÓN: 08/07/2004 (de 11:00 a 14:00)