INGENIERÍA DE SOFTWARE
CURSO 2005
PRÁCTICA 4
Parte Uno = Costeo
Algunas consideraciones: ciertos ejercicios que se plantean a continuación requieren
la elaboración por parte del alumno. En teoría se brinda el conocimiento base
necesario el cual ampliado desde Internet o generando discusiones entre los alumnos
permitirá llegar a la resolución de cada problema.
1. Una importante dependencia de gobierno desea contratar una
empresa dedicada al desarrollo de soft para un proyecto de
aproximadamente 40000 líneas de código. Suponiendo que el
trabajo es considerado de complejidad “simple o intermedia”.
Podría calcular el esfuerzo hombre mes y el tiempo necesario para
su desarrollo? Qué información necesita? Intente resolver el
problema utilizando COCOMO 81 y luego COCOMO II
2. Un administrador de software está a cargo del desarrollo de un
sistema de software de seguridad crítico que se diseña para
controlar una máquina de radioterapia para tratar a los pacientes
que sufren de cáncer. Este sistema está embebido en la máquina
y debe ejecutarse en un procesador de propósito especial con una
cantidad fija de memoria (8Mb). La máquina se comunica con un
sistema de BD de pacientes para obtener los detalles del paciente,
y después del tratamiento, automáticamente registra la dosis de
radiación suministrada y otros detalles de tratamiento en la base
de datos.
El método COCOMO se utiliza para estimar el esfuerzo requerido
para desarrollar este sistema y se calcula un estimado de 26
persona-mes. Todos los multiplicadores conductores de costos se
establecen a uno cuando se hace la estimación.
Explique por qué esta estimación debe ajustarse para tomar en
cuenta al proyecto, al personal, al producto y a los factores
organizacionales. Sugiera cuatro factores que podrían tener
efectos importantes en la estimación inicial de COCOMO y
proponga valores posibles de estos factores. Justifique por qué se
incluye cada factor.
3. Muchos gerentes de proyecto establecen sus cronogramas
basándose en la productividad de los programadores en proyectos
anteriores. Esta productividad suele medirse en términos de una
unidad de tamaño por una unidad de tiempo. Por ejemplo, una
organización puede producir 300 líneas de código por día o 1200
puntos función por mes. ¿Resulta apropiado medir la
productividad de esta forma? Discutir las mediciones de la
productividad en términos de los siguientes aspectos:
a. Diferentes lenguajes pueden producir cantidades diferentes
de líneas de código para la implementación del mismo
diseño.
b. La productividad en líneas recién puede medirse cuando
comienza la implementación
c. Los programadores pueden estructurar el código para
satisfacer metas de productividad.
Parte Dos = Mantenimiento
4. Pfleeger plantea tres tipos de sistemas:
a. Sistemas-S: que tienen un mundo real sujeto a cambio,
pero el problema, la especificación de requerimientos, el
sistema y la información que manejan permanece constante
b. Sistema-P: donde el mundo real es valiable, el problema es
constante, la abstracción, especificación de requerimientos, sistema e información están sujetos a cambio
c. Sistemas-E: donde todo está sujeto a cambios.
Sin tener en cuenta el ejercicio 5, ejemplifique con un sistema de
cada clase
5. Categorizar los siguientes sistemas como S, P o E. Para cada uno
explicar por qué pertenece a esa categoría. Identificar los aspectos
que pueden cambiar.
a. Sistema de control de tráfico aéreo
b. Sistema operativo para PC
c. Sistema de cálculo matricial
d. Sistema para gestión de BD
e. Sistemas para encontrar factores primos de un número
6. Recuerda las prácticas anteriores? El software del Ariane-5 como
lo clasificaría S, P o E.
7. Plantee un ejemplo concreto donde se puedan observar las cuatro
clases de mantenimiento discutidas en clase: correctivo,
perfectivo, preventivo y adaptativo.
8. Suponga que ante un sistema resuelto por UD, recibe un llamado
del cliente indicando que ciertas partes de la organización
cambiaron su política y, por lo tanto, el sistema deberá ser
modificado para cubrirlas. Qué tipo de mantenimiento realizará?
9. Suponga que como resultado del ejercicio 8, un nuevo sistema
entra en operación y que se produce un error en una parte del
proceso que no sufrió modificación. Este error puede haber sido
producido por el cambio, porque antes funcionaba correctamente.
Qué clase de mantenimiento deberá hacer? El costo del mismo
por quien debería correr.
10. Investigue los conceptos de Ingeniería Inversa y Reingeniería. En
que casos conviene aplicarla y por qué?
Descargar

INGENIERÍA DE SOFTWARE CURSO 2005 PRÁCTICA 4 Parte Uno = Costeo