Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
INTRODUCCIN
1.1. Qu es un proyecto de Sistema o Software?
Es el Proceso de gestin para la creacin de un Sistema o software, la cual encierra un conjunto de actividades, una de las cuales es la estimacin.
FUNCIN RENDIMIENTO RESTRICCIONES INTERFACES FIABILIDAD
1.2. Objetivos de la Planificacin del Proyecto. El objetivo de la Planificacin del proyecto de Software es proporcionar un marco de trabajo que permita al gestor hacer estimaciones razonables de recursos costos y planificacin temporal.
PLANIFICACIN
EXPERIENCIA
ESTIMACIN
RIESGO
DATOS HISTRICOS
2.3 Tamao del Producto.Un proyecto grande de programacin es obviamente mas cara en su desarrollo que un o pequeo.
2.4 Tiempo Disponible.El esfuerzo total del proyecto se relaciona con el calendario de trabajo asignado para la terminacin del proyecto
2.5 Nivel de Confiabilidad Requerido.La confiabilidad puede expresarse en trminos de exactitud, firmeza, cobertura y consistencia de cdigo fuente.
Categora Muy Baja Baja Nominal Alta Muy Alta Consecuencia de la falla Algunas molestias menor Las perdidas son fciles de recuperar Dificultad relativa en la recuperacin Gran perdida financiera Riesgo de una vida 0.75 0.88 1.00 1.15 1.40 Factor
normalizacin orientada al tamao Por lneas de cdigo normalizacin orientada a la funcin Por puntos funcin
Ejemplo de LOC
Hay que desarrollar un software CAD que aceptar datos geomtricos de 2 o 3 dimensiones por parte del ingeniero. ste controlar el sistema CAD por medio de una interfaz que debe tener un diseo de buena calidad. Una base de datos CAD contiene todos los datos geomtricos y la informacin de soporte. Se desarrollarn mdulos de anlisis de diseo para producir la salida requerida que se va a visualizar en varios dispositivos grficos. El software se disear para controlar e interconectar diversos perifricos, como un ratn, un digitalizador y una impresora lser.
Funciones identificadas: interfaz de usuario y facilidades de control (IUFC) anlisis geomtrico de dos dimensiones (AG2D) anlisis geomtrico de tres dimensiones (AG3D) gestin de base de datos (GBD) facilidades de la interfaz grfica (FIG) control perifricos (CP) mdulos de anlisis del diseo (MAD)
descomposicin de funciones
LDC estimada 2300 5300 6800 3350 4950 2100 8400 33200
Puntos de funcin: relacin emprica basada en medidas cuantitativas del dominio de informacin del software y valoraciones subjetivas acerca de la complejidad del software
Grado de importancia de factores externos Fi tales como reuso, concurrencia, SO,... Puntos funcin = (conteo x peso) x C
donde:
Factor de complejidad: C = (0.65 + 0.01 x N)
Grado de influencia: N = Fi
# de entradas de usuario
# de salidas de usuario # de consultas
X 3
X 4 X 3 X 7 X 5
4
5 4 10 7
6
7 6 15 10
=
= = = =
# de archivos
# of interfaces ext. conteo-total factor de complejidad puntos funcin
Considerar la Complejidad
Los factores se tasan en una escala 0 (sin importancia) 5 (muy importante)
comunicaciones de datos funciones distribuidas configuracin pesada tasa de transaccin entrada de datos en lnea eficiencia para el usuario actualizacin en lnea procesamiento complejo facilidad de instalacin facilidad operacional sites mltiples facilidad de cambios
Ejemplo FP
Valor dominio informacin Num. entradas Num. salidas Num. peticiones Num. archivos Num. interfaces ext. Cuenta total Opt. Probable Pesimista 20 12 16 4 2 24 15 22 4 2 30 22 28 5 3 Cuenta est 24 16 22 4 2 Peso 4 5 4 10 7 Cuenta PF 96 80 88 40 14 318
Copia de seguridad y recuperacin Comunicaciones Proceso distribuido Rendimiento crtico Entorno operativo existente Entrada de datos online Transacciones entrada en varias pant. Archivos maestros actualizados online Complejidad valores dominio informacin Complejidad procesamiento interno Cdigo diseado para reutilizacin Conversin en diseo Instalaciones mltiples Aplicacin diseada para cambios
4 2 0 4 3 4 5 3 5 5 4 3 5 5
PF estimado = 372
Coste total proyecto: 457000 $ mtricas de proyectos anteriores Datos histricos: productividad media de la organizacin en proyectos similares: 6,5 PF/pm Esfuerzo estimado: 58 personas-mes
LDC/PF (media)
320 128 105 105 90 70 30 20 4
4.-TECNICAS DE ESTIMACION
La estimacin se utiliza para definir si el presupuesto del proyecto y el producto se ajusta para que las cifras del presupuesto se cumplan.
Se desarrolla un modelo utilizando informacin histrica de costos que relaciona alguna mtrica de software (por lo general, su tamao) con el costo del proyecto. Se consultan varios expertos en las tcnicas de desarrollo de software propuestas y en el dominio de aplicacin. Cada uno de ellos estima el costo del proyecto. Estas estimaciones se comparan y discuten. El proceso de estimacin se itera hasta que se acuerda una estimacin. Esta tcnica es aplicable cuando otros proyectos en el mismo dominio de aplicacin se han completado. Se estima el costo de un nuevo proyecto por analoga con estos proyectos completados. La Ley de Parkinson establece que el trabajo se extiende para llenar el tiempo disponible. El costo se determina por los recursos disponibles ms que por los objetivos logrados. El costo del software se estima dependiendo de lo que el cliente est dispuesto a pagar por el proyecto. El esfuerzo estimado depende del presupuesto del cliente y no de la funcionalidad del software
Opinin de expertos
Ley de Parkinson
MODELO 1 (COCOMO bsico) calcula el esfuerzo y el coste del desarrollo en funcin del tamao estimado del programa (LDC). Se utiliza para una aproximacin rpida al principio del ciclo de vida.
ESFUERZO: TIEMPO:
E = ab KLDCbb D = cb Edb
MODELO 2 (COCOMO intermedio) calcula el esfuerzo y el coste en funcin del tamao estimado del programa y de un conjunto de guas de coste que incluyen una evaluacin subjetiva del producto, hardware, personal y atributos del producto
Tres tipos de proyectos: Orgnicos: relativamente pequeos y sencillos, en los que trabajan pequeos equipos con experiencia, sobre un conjunto de requisitos poco rgidos. Semiacoplados: proyectos intermedios (en tamao y complejidad) en los que participan equipos con variados niveles de experiencia, y que deben satisfacer requisitos poco o medio rgidos. Empotrados: proyectos que deben ser desarrollados en un conjunto de hardware, software y restricciones operativas muy restringido. MODELO COCOMO BSICO Proyecto Orgnico ab 2,4 bb 1,05 1,12 1,20 cb 2,5 2,5 2,5 db 0,38 0,35 0,32
MODELO 3 (COCOMO avanzado) incorpora las caractersticas del mod. 2 y evala el impacto de los FAE en cada fase del desarrollo.
Ejemplo COCOMO
Por ejemplo, si sabemos que en el proyecto se trabajar con un nivel alto de utilizacin de herramientas de desarrollo, el factor de coste tendr un valor de 0,91. Por lo tanto, si el esfuerzo nominal calculado es de 40 personas-mes, la estimacin de coste final (suponiendo el resto de factores a nivel medio) ser E = 40x0,91 = 36,4 personas-mes Se trata de estimar el esfuerzo de desarrollo de un sistema de comunicaciones de 30 KDLC, de alta complejidad. Afortunadamente podremos emplear personal de muy alta cualificacin con una gran experiencia especfica en este tipo de software. El coste del salario mensual de cada persona es de 1.350 _/mes Si aplicamos COCOMO, podemos ver que el esfuerzo estimado ser: Esfuerzo nominal = 3,2 x (30)1,05 = 113,79 personas-mes.
riesgo
rotacin de personal
tipo de riesgo
descripcin
proyecto, producto personal con experiencia abandona el proyecto antes de que y negocio finalice proyecto proyecto proyecto y producto proyecto y producto proyecto y producto producto negocio
cambio de administracin
no disponibilidad del hardware cambios de requerimientos retrasos en la especificacin subestimacin del tamao
las herramientas CASE que ayudan al proyecto no tienen el rendimiento y las funcionalidades esperadas
la tecnologa fundamental sobre la que se est construyendo el sistema es sustituida por una nueva un producto competitivo se pone en venta antes de que el sistema se complete
negocio
8 Conclusiones
En conclusin la planificacin del Proyecto de Software tiene que estimar tres cosas antes de que comience el proyecto: cuanto durara, cuanto esfuerzo requerir y cuanta gente estar implicada. Adems el planificador debe predecir los recursos de hardware y software que va a requerir y el riesgo implicado
Cualquier cosas que necesites cuantificar debe ser medido y de alguna forma es superior a no medirlo del todo Tom Gilb