Anda di halaman 1dari 48

Ingeniera de Software

Unidad I

Gestin de Proyectos de Software

Semana 5
Tema

Planificacin de la gestin de proyectos


de software

Objetivos Generales:
Comprender correcta y eficientemente los

conceptos y principios del espectro de


tcnicas de Ingeniera de Software que
puedan ser aplicadas en proyectos de
software.
Desarrollar una cultura de ingeniera de

software.

Objetivos Especficos:
Aplicar

correctamente los conceptos y


principios relacionados a la Ingeniera de
Software en la resolucin de casos
prcticos para la gestin de proyectos de
software de calidad.

Utilizar herramientas para el modelado y

gestin de proyectos de software.

Utilizar metodologas agiles en el

desarrollo de software.

Objetivos Instruccionales:
Realizar estimaciones del trabajo a

realizar, de los recursos necesarios y


del tiempo que transcurrir desde el
comienzo hasta el final de su
realizacin.
Analizar los riesgos para analizar y
determinar la probabilidad de que
pueda ocurrir.

Planificacin de proyectos de software

Objetivos de la planificacin del proyecto


Proporcionar un marco de trabajo que permite al
gerente de software hacer una estimacin razonable de
recursos, costo y planificacin temporal.
Las estimaciones deberan definir los escenarios del
mejor caso y peor caso de forma que los resultados
del proyecto puedan limitarse.
Poner al da las estimaciones as como los progresos
del proyecto.

Planificacin de proyectos de software

Actividades de la planificacin del proyecto


de software

1. Determinar el mbito del software


2. Estimacin de los recursos
requeridos

Planificacin de proyectos de software


- AMBITO

mbito del software


Es la primera actividad de la planificacin del
proyecto de software en la cual:
1. Se describe el control y los datos a procesar, la
funcin, el rendimiento, las restricciones, las interfaces
y la fiabilidad.
2. Se evalan las funciones descritas en la declaracin
del mbito, y en algunos casos se refinan para dar
mas detalle antes del comienzo de la estimacin.
3. Las restricciones identifican los limites del software
originados por el hardware externo, por la memoria
disponible y por otros sistemas existentes.

Planificacin de proyectos de software


- AMBITO

Obtencin de la informacin necesaria


para el mbito
Es importante para:
1. Determinar las metas globales del cliente para el
sistema propuesto y expectativas por los beneficios.
2. Determinar las percepciones del cliente acerca de la
naturaleza de una buena solucin al problema.
3. Evaluar la efectividad de la reunin con el cliente.

Planificacin de proyectos de software


- AMBITO

Obtencin de la informacin necesaria


para el mbito
Como empezar:
1. Establecer una reunin o una entrevista preliminar.
2. Realizando una serie de preguntas que lleven a:

Un entendimiento bsico del problema,


Determinar porque las personas que estn interesadas en
la solucin,
Conocer la naturaleza de la solucin que se desea.

Planificacin de proyectos de software


- AMBITO

Obtencin de la informacin necesaria


para el mbito
Preguntas centradas en el cliente, en los
objetivos globales y en los beneficios:
1. Quien esta detrs de la solicitud de trabajo?
2. Quin utilizara la solucin?
3. Cul ser el beneficio econmico de una buena
solucin?
4. Hay otro camino para la solucin?

Planificacin de proyectos de software


- AMBITO

Obtencin de la informacin necesaria


para el mbito
Preguntas centradas en comprender mejor el
problema y que el cliente exprese sus
percepciones sobre una solucin:
1. Cmo caracterizara (el cliente) un resultado correcto
que se generara con una solucin satisfactoria?
2. Con que problema(s) se afrontara esta solucin?
3. Puede mostrarme (o describirme) el entorno en el
que se utilizara la solucin?
4. Hay aspectos o limitaciones especiales de
rendimiento que afecten a la forma en que se aborda
la solucin?

Planificacin de proyectos de software


- AMBITO

Obtencin de la informacin necesaria


para el mbito
Preguntas centradas en la efectividad de la
reunin:
1. Es Usted la persona apropiada para responder a
estas preguntas? Son oficiales sus respuestas?
2. Son relevantes mis preguntas para su problema?
3. Estoy realizando muchas preguntas?
4. Hay alguien mas que pueda proporcionar
informacin adicional?
5. Hay algo mas que deba preguntarle?

Planificacin de proyectos de software


- AMBITO

La Viabilidad
Una vez identificado el mbito, es razonable
preguntarse:
1. Podemos construir el software de acuerdo a este
mbito?
2. Es factible el proyecto?

Planificacin de proyectos de software


- AMBITO

La Viabilidad
Dimensin

Incertidumbre

Tecnologa

Es factible un proyecto tcnicamente?


Esta dentro del estado actual de la tcnica?

Financiera

Es factible financieramente?
Puede realizarse a un coste asumible por la
empresa de software y el cliente?

Tiempo

Pueden los proyectos adelantarse a los de la


competencia?

Recursos

La organizacin cuenta con los recursos


suficientes para tener xito?

Planificacin de proyectos de software


- AMBITO

La Viabilidad

Una vez que se ha comprendido el


mbito, tanto el equipo de desarrollo
como el resto deben trabajar para
determinar si puede ser construido
dentro de las dimensiones
especificadas.

MOVIMIENTO DE LA CINTA
TRANSPORTADORA

1
2

N ID

N ID

N ID

N ID

N ID

N ID

3
4
CODIGO DE
BARRAS

ESTACION
DE
TRABAJO

MECANISMO DE
CONTROL

5
6

Lectura de la entrada del cdigo de barras

CONEXIN DE CONTROL

Lectura del tacmetro de pulsos

FUNCIONES

Planificacin de proyectos de software


- AMBITO

Ejemplo de mbito

Descodificacin de los datos del cdigo de pieza


Bsqueda en la base de datos
Determinar la posicin del compartimiento
Produccin de la seal de control para el mecanismo de maniobra
Mantener una lista de los destinos de las cajas

Planificacin de proyectos de software


- RECURSOS

Estimacin de Recursos
Es la segunda actividad de la planificacin del
proyecto de software:
Cada recurso queda especificado
mediante cuatro caractersticas:
Personas
Componentes
de Software
reutilizables
Herramientas
Hardware/Software
Recursos del Proyecto

Descripcin del recurso


Informe de disponibilidad
Fecha cronolgica en la
que se requiere el recurso
Tiempo durante el que
ser aplicado el recurso.

Planificacin de proyectos de software


- RECURSOS

Estimacin de Recursos
A. Recursos humanos:
Se debe tener en cuenta:
Las habilidades que se requieren para llevar a cabo el
desarrollo, especificando la posicin dentro de la
organizacin (gestor, Ing. de software experimentado, etc.) como la
especialidad (telecomunicaciones, base de datos, etc.).
El nmero de personas requeridas para un proyecto de
software (personas-mes).

Planificacin de proyectos de software


- RECURSOS

Estimacin de Recursos
B. Recursos de software reutilizables:
Se debe tener en cuenta:
1. Componentes ya desarrollados. Puede provenir de la
adquisicin a un tercero o de uno desarrollado internamente
para un proyecto anterior.
2. Componentes ya experimentados. Especificaciones,
diseos, cdigo o datos de prueba existentes
desarrollados para proyectos anteriores que son similares al
software que se va a construir.
3. Componentes con experiencia parcial. Especificaciones,
diseos, cdigo o datos de prueba existentes desarrollados
para proyectos anteriores que se relacionan con el software
que se va a construir, pero requerir una modificacin
sustancial.
4. Componentes nuevos. El equipo de software debe construir
especficamente para las necesidades del proyecto actual.

Planificacin de proyectos de software


- RECURSOS

Estimacin de Recursos
Directrices a tener en cuenta si se especifican
componentes reutilizables:
1. Componentes ya desarrollados. Es preferible adquirirlos si
cumplen los requisitos del proyecto. El coste de adquisicin
e integracin es menor al costo de desarrollo.
2. Componentes ya experimentados. Los riesgos asociados a
la modificacin y a la integracin generalmente se aceptan.
El plan de proyecto debe reflejar la utilizacin de estos
componentes.
3. Componentes con experiencia parcial. Su uso se debe
analizar con detalle. El coste de modificar los componentes
algunas veces puede ser mayor que el coste de desarrollar
componentes nuevos.

Planificacin de proyectos de software


- RECURSOS

Estimacin de Recursos
C. Recursos de entorno:
Se debe tener en cuenta:
1. La incorporacin de hardware y software
requeridos. El hardware proporciona una
plataforma con las herramientas (software)
requeridas para producir los productos que
son el resultado de una buena practica de la
ingeniera de software.
2. El equipo de software puede requerir acceso
a los elementos en desarrollo por otros
equipos de ingeniera.

Estimacin de proyectos

Observaciones sobre la estimacin


Cul es la caracterstica mas importante que
debe tener un gestor de proyectos?
La estimacin de recursos, costes y planificacin temporal
de un esfuerzo en el desarrollo de software requiere:
Experiencia.
Acceder a una buena informacin.
Confiar en las predicciones (medidas) cuantitativas
cuando solo existen datos cualitativos.

La estimacin conlleva a un riesgo inherente y es


este riesgo el que lleva a la incertidumbre

Observaciones sobre la estimacin


Estimacin de proyectos

Se debe de tener en cuenta:

La complejidad del Proyecto:


1. Tiene un gran efecto en la incertidumbre, que es inherente
en la planificacin.
2. Sin embargo, La complejidad es una medida relativa que se
ve afectada por la familiaridad con esfuerzos anteriores.

El tamao del proyecto.


1. Afecta a la precisin y a la eficiencia de las estimaciones.
2. Si aumenta el tamao, se acenta la interdependencia entre
varios elementos de software.
3. El problema de la descomposicin se hace mas difcil
porque los elementos descompuestos pueden todava
excesivamente grandes.

Observaciones sobre la estimacin


Estimacin de proyectos

Se debe de tener en cuenta:

El grado de incertidumbre estructural:


1. El grado en que los requisitos se han definido.
2. La facilidad con la que pueden subdividirse funciones
3. La naturaleza jerrquica de la informacin que debe
procesarse.

La disponibilidad de informacin histrica.


1. Se pueden hacer estimaciones con mayor seguridad.
2. Establecer planificaciones para evitar dificultades
anteriores, y as reducir el riesgo total.

Estimacin de proyectos

Variables inmersas
La estimacin del coste y del esfuerzo del
software no es exacta, y esta involucra
demasiadas variables como:

Humanas,
Tcnicas,
Entorno,
Polticas,

Que pueden afectar al coste final del software y


al esfuerzo aplicado para desarrollarlo.

Estimacin de proyectos

Para realizar estimaciones seguras tenemos las siguientes


opciones:
1. Dejar la estimacin para ms adelante. No es prctica.
2. Basar las estimaciones en proyectos similares ya
terminados.. Funciona bien si el proyecto actual es bastante
similar a los esfuerzos pasados.

3. Utilizar tcnicas de descomposicin relativamente


sencillas para generar las estimaciones de coste de
esfuerzo del software.. Divide y vencers
4. Utilizar uno o ms modelos empricos para la
estimacin del coste y el esfuerzo del software.
d=f(vi) donde d es uno de los valores estimados (esfuerzo, coste,etc) y
los vi determinados parmetros independientes (LDC, PF
estimados).

Estimacin de proyectos

Estimacin orientada al Tamao del


software
Se basa en:
1. El grado en que el planificador ha estimado
adecuadamente el tamao del producto a construir.
2. La habilidad para traducir la estimacin del tamao en
esfuerzo humano, tiempo y dinero.
3. El grado en que el plan del proyecto refleja las habilidades
del equipo de software.
4. La estabilidad de los requisitos del software y el entorno
que soporta el esfuerzo de la ingeniera de Software.

Estimacin de proyectos

Estimacin orientada al Tamao del


software
Enfoques para una cuantificacin razonable:
1. Tamao en lgica difusa. Tcnicas aproximadas de
razonamiento. El planificador debe identificar el tipo de
aplicacin, establecer su magnitud en una escala cuantitativa y
refinarla dentro del rango original.
2. Tamao en punto de funcin. El planificador desarrolla
estimaciones de caractersticas del dominio de informacin.
3. Tamao de componente estndar. Se compone de un numero de
componentes estndar que son genricos para un rea en
particular (pantallas, informes, archivos, LDC).
4. Tamao del cambio. Se utiliza cuando un proyecto comprende la
utilizacin de software existente que se debe de modificar de
alguna manera como parte de un proyecto.

Estimacin de proyectos

Estimacin basada en el problema


El planificador comienza con un visin limitada
para el mbito del software y desde este
estado descompone el software en funciones
que se pueden estimar individualmente.
Enfoques:
1. Lneas de cdigo (LDC). Esta enfocada en que las funciones
pueden dividirse en subfunciones que podrn asemejarse a
entradas de una base de datos histrica.

2. Puntos de Funcin (PF).

Esta enfocada en las


caractersticas del dominio de la informacin (entradas, salidas,
archivos).

Estimacin de proyectos

Ejemplo: Estimacin basada en LDC


Funcin

LDC estimada

Interfase del usuario y facilidad de control (IUFC)

2300

Anlisis geomtrico de dos dimensiones (AG2D)

5300

Anlisis geomtrico de tres dimensiones (A32D)

6700

Gestin de base de datos (GBD)

3350

Facilidades de presentacin grafica de computadora


(FPGC)

4950

Control de perifricos (CP)

2100

Mdulos de anlisis del diseo (MAD)

8400

Lneas de cdigo estimadas

33200

LDC optimista = 4600


LDC probable = 6900
LDC pesimista = 8000

LDC estimado = (4600 + 4 x 6900 + 8000 ) / 6 = 6700

Estimacin de proyectos

Ejemplo: Estimacin basada en LDC


Una revisin histrica de los datos indica:
La productividad media es de 620 LDC/pm
La tarifa laboral es de US$ 8000 por persona-mes

Entonces el coste por LDC es :


8000/620 = 12.90 13.00 US$

El coste total es : 13 x 33200 = 431,600 US$


El esfuerzo estimado es : 33200 / 620 = 54

personas-mes

Estimacin de proyectos

Ejemplo: Estimacin basada en PF


VALOR DE DOMINIO DE INFORMACION

CUENTA

PESO

CUENTA PF

Numero de entradas

24

96

Numero de salidas

16

80

Numero de peticiones

22

88

Numero de archivos

10

40

Numero de interfases externas

14

Cuenta total

318

Estimacin de proyectos

Ejemplo: Estimacin basada en PF


FACTOR (Fi)

VALOR

Copia de seguridad y recuperacin

Comunicacin de datos

Proceso distribuido

Rendimiento critico

Entorno operativo existente

Entrada de datos en lnea

Transacciones de entrada en mltiples pantallas

Archivos maestros actualizados en lnea

Complejidad de valores del dominio de informacin

Complejidad del procesamiento interno

Cdigo diseado para la reutilizacin

Conversin / instalacin en diseo

Instalaciones mltiples

Aplicacin diseada para el cambio

PF estimado = cuenta total x ( 0,65 + 0.01 x sumatoria Fi ) => PF = 318 x 1.17 = 375

Estimacin de proyectos

Ejemplo: Estimacin basada en PF


Una revisin histrica de los datos indica:
La productividad media es de 6.5 PF/pm
La tarifa laboral es de US$ 8000 por persona-mes

Entonces el coste por PF es : 8000/6.5 = 1,230 US$

El coste total es : 1230 x 375 = 461,250 US$


El esfuerzo estimado es : 375 / 6.5 = 58

personas-mes

Modelos empricos de estimacin

La estructura de los modelos de estimacin


Tpicamente derivado del anlisis de la regresin sobre los
datos de proyecto de software histricos, con las personameses estimados como la variable dependiente y LDC o
PF como las variables independientes.
E = A + B x (ev)C
Donde:
E = es el esfuerzo persona-mes
A, B y C son constantes obtenidas empricamente.
ev es la variable de estimacin de LDC o PF

Modelos empricos de estimacin

La estructura de los modelos de estimacin


Frmula

Modelo

E = 5.2 x (MLDC)0.91

Walson Felix

E = 5.5 + 0.73 x (MLDC)1.16

Bailey Basili

E = 3.2 x (MLDC)1.05
E = -13.39 + 0.0545 PF
E = 60.62 x 7.728 x 10-8 PF3
E = 585.7 +15.12 PF

Boehm
Alfrech y Gaffney
Kemerer
Matson, Barnett y Mellichamp

Modelos empricos de estimacin

Realizar un trabajo de investigacin en


lo concerniente al modelo COCOMO y
COCOMO II

Decisin de Desarrollar - Comprar

Puede ser ms eficaz en trminos costo-beneficio


adquirir un bloque de software en lugar desarrollarlo.
El anlisis de rbol de decisin proporciona una manera
sistemtica de ordenar la decisin de desarrollarcomprar.
En el nivel estratgico, los gestores tienen en
consideracin si una parte importante de todo el trabajo
de software puede ser contratado a otros.
En el nivel tctico, un jefe de proyecto determina si
algunas partes o todo el proyecto es aconsejable
realizarlo mediante subcontratacin.

Decisin de Desarrollar - Comprar

rbol de decisiones
US$ 380,000

SIMPLE (0.30)

DIFICIL (0.70)
US$ 450,000
CONSTRUCCION
CAMBIOS MENORES (0.40)

US$ 275,000
SIMPLE (0.20)

US$ 310,000

CAMBIOS IMPORTANTES (0.60)


REUTILIZACION
COMPLEJO (0.80)

SISTEMA X

US$ 490,000

COMPRA
CAMBIOS MENORES (0.70)

US$ 210,000
CAMBIOS IMPORTANTES (0.30)
CONTRATO
US$ 400,000
SIN CAMBIOS (0.60)
US$ 350,000
CON CAMBIOS (0.40)
US$ 500,000

Decisin de Desarrollar - Comprar

rbol de decisiones
Coste esperado Construccin = 0.30 x 380000 + 0.70 x 450000 = 429,000

Coste esperado reutilizacin = 0.40 x 275000 + 0.60( 0.20 x 310000 +0.80


x 490000) = 382,000

Coste esperado Compra = 0.70 x 210000 + 0.30 x 400000 = 267,000

Coste esperado Contrato = 0.60 x 350000 + 0.40 x 500000 = 410,000

Segn la probabilidad y los costes proyectados, el


coste mas bajo es para la opcin de compra

Herramientas automticas de estimacin


Funciones genricas:

Herramientas

1. Dimensionamiento de las entregas del proyecto. Se


estima el tamao de uno o mas productos de software, incluyen la
representacin externa del software (pantallas, informes), el
software en si (MLDC), su funcionalidad y la informacin
descriptiva (documentos).

2. Seleccin de las actividades del proyecto. Se selecciona


el marco de trabajo del proceso adecuado y se especifica el
conjunto de tareas de IS.

3. Prediccin de los niveles de la plantilla. Se especifica el


numero de personas disponibles para realizar el trabajo. Dado que
la relacin entre las personas disponibles y el trabajo no es muy
lineal.

Herramientas automticas de estimacin


Funciones genricas:

Herramientas

4. Prediccin del esfuerzo del software. Utiliza uno o mas


modelos que relacionan el tamao de las entregas del proyecto
con el esfuerzo necesario para producirlas.

5. Prediccin del coste del software. Dado los resultados del


paso anterior, los costes pueden calcularse asignando
proporciones del trabajo a las actividades del proyecto sealadas
en el paso 2.

6. Prediccin de la planificacin del software. Cuando se


conoce el esfuerzo, los niveles de plantilla y las actividades del
proyecto, se puede realizar un borrador de la planificacin
asignando el trabajo a travs de actividades de IS basados en
modelos recomendados para la distribucin del esfuerzo.

Herramientas

Herramientas automticas de estimacin

SISTEMA COSTAR
COmputer
STored
Ambulatory
Record

La Ingeniera de Sistemas es difcil. Nunca habr una

respuesta fcil en la solucin de problemas de desarrollo


de sistemas complejos.

Resumen

Los Ingenieros de Software no tienen respuesta a todas

las preguntas, pero entienden el funcionamiento del


sistema.

Se debe de reconocer el papel que juega cada disciplina y

cooperar entre todas en el proceso de Ingeniera de


Sistemas.

La Ingeniera de Sistema involucra a mltiples disciplinas.


El Proceso de I.S sigue a menudo el modelo de cascada.

Resumen

La planeacin del software involucra estimaciones en


cunto a tiempo, esfuerzo, dinero, y recursos para
construir un sistema de software especfico.
Despus de que el alcance del proyecto es determinado
y el problema se descompone en problemas ms
pequeos, los gerentes del software usan los datos de
proyectos histricos (as como la experiencia personal e
intuicin) para determinar las estimaciones para cada
uno.
Las estimaciones finales se ajustan tpicamente tomando
en cuenta la complejidad del proyecto y los riesgos.
El producto resultante del trabajo se llama plan de
direccin de proyecto.

Ingeniera de Software
Unidad I

Gestin de Proyectos de Software

Semana 5
Tema

Planificacin de la gestin de proyectos


de software