Top Banner
I. II. III. Organización del Proyecto III.1. Equipo de desarrollo Alumno s ROL E- MAIL Jefe de Proyecto Analista/ Programador Programador/ Testeador Analista/ Diseñador
18

Estimacion de proyectos

Jan 18, 2016

Download

Documents

Este documento trata sobre como estimar los precios en el desarrollo de un proyecto de software
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Estimacion de proyectos

I. II.

III. Organización del ProyectoIII.1. Equipo de desarrollo

Alumnos ROL E- MAIL

Jefe de Proyecto

Analista/ Programador

Programador/Testeador

Analista/Diseñador

Page 2: Estimacion de proyectos

III.2. Calendario de tareas (diagrama de Gantt descomposición del trabajo WBS) (utilice el MS-Proyect 2010)

Page 3: Estimacion de proyectos
Page 4: Estimacion de proyectos

III.3. Diagrama de actividades PERT/CPMLISTA DE ACTIVIDADES

ACTIVIDAD DESCRIPCION PRODECESORES INMEDIATOS

TIEMPO (DIAS)

A Verificar la estructura de la organización - 2

B Seleccionar áreas estratégicos A 3

C Inspeccionar las áreas y funcionalidades B 5

D Verificar documentos manuales B 2

E Definir las acciones del personal en las áreas de objetivo para el sistema

C 2

F Verificar los recursos necesario para el sistema y los servicios a utilizar

C 3

G Determinar los equipos para el desarrollo del software F 1

H Generación de propuestas para el desarrollo de software G 2

I Determinar los procesos en el software C,D,E 4

J Verificar los requerimientos del cliente C 2

K Definir la estructura del sistema para ser implementada al software

I 4

L Diseñar el software K 5

M Programar el software del sistema L,K 7

<A3O Definir prototipos para identificación de errores M 2

P Analizar los errores dado por los prototipos O 3

Q Analizar las políticas de seguridad H 3

R Elaboración de manual de seguridad y control del software P,Q 3

S Documentación de procesos y configuraciones realizadas M,O 5

T Entrega del software e informes R,S 2

Page 5: Estimacion de proyectos

III.4. Proceso de SoftwareIII.5. Modelo de desarrolloIII.6. Metodología de desarrolloIII.7. Herramientas utilizadas (lenguaje de

programación/Case/Base de Datos, Utilitarios, etc.)Para el desarrollo del sistema utilizaremos herramientas para la programación, para la Base de Datos y para el modelado del sistema. Las herramientas a utilizarse son las siguientes:

Lenguaje de programación Visual Studio.Net: Esta herramienta servirá para la para la programación o desarrollo del software. Visual Studio.Net: Es un lenguaje de programación orientado a objetos que se puede considerar una evolución de Visual Basic implementada sobre el framework.NET. Para mantener eficacia en el desarrollo de las aplicaciones. La gran mayoría de programadores de VB.NET utilizan el entorno de desarrollo integrado Microsoft Visual Studio en alguna de sus versiones (desde el primer Visual Studio .NET hasta Visual Studio .NET 2013, que es la última versión de Visual Studio para la plataforma .NET)

SQL Server 2008 R2: Esta herramienta servirá para la base de datos del sistema que nos ayudara en el manejo de información de una forma ordenada.SQL SERVER: Es un sistema para la gestión de bases de datos producido por Microsoft basado en el modelo relacional. Sus lenguajes para consultas son Transact-Sql y ANSI SQL.

Rational Rose Enterprise Edition: esta herramienta nos servirá para el modelamiento del sistema. Rational Software es actualmente conocida como una familia de software de IBM para el despliegue, diseño, construcción, pruebas y administración de proyectos en el proceso desarrollo de software.

III.8. Modelo de estimación del tamaño del proyecto III.8.1. Puntos de función

Componentes:EI: Procesos en los que se introducen datos y que suponen la actualización de cualquier archivo interno.EO: Procesos en los que se envía datos al exterior de la aplicación.EQ: Procesos consistentes en la combinación de una entrada y una salida, en el que la entrada no produce ningún cambio en ningún archivo y la salida no contiene información derivada.ILF: Grupos de datos relacionados entre sí internos al sistema.EIF: Grupos de datos que se mantienen externamente.

Page 6: Estimacion de proyectos

Tabla de ponderaciones para EI, EQ y EO

Tabla de ponderaciones para ILF y EIF

Page 7: Estimacion de proyectos

Cálculo de los Puntos de Función Sin Ajustar

PFSA = PFTe + PFTo + PFTq + PFTif + PFTef

Definición de los Componentes del Sistema

Entradas: 9 entradas de complejidad alta para el subsistema de medicamentos, 3 entradas de complejidad alta para el subsistema consultas médicas, 2 entradas de complejidad baja y 4 entradas de complejidad media para el subsistema administración y 4 entradas de complejidad baja para el subsistema configuración.Salidas: 9 salidas de complejidad alta y 1 de complejidad media para el subsistema de medicamentos, 3 salidas de complejidad alta y 1 de complejidad baja para el subsistema consultas médicas, 2 salidas de complejidad baja, 4 salidas de complejidad media y 3 salidas de complejidad alta para el subsistema administración y sólo una salida de complejidad baja para el subsistema configuración.Consultas: 2 consultas de complejidad baja para el subsistema de medicamentos , 3 consultas de complejidad baja para el subsistema consultas médicas, 1 consulta de complejidad baja y 3 de complejidad alta para el subsistema administración y finalmente una consulta de complejidad baja para el subsistema configuración.Ficheros Lógicos Internos: 8 almacenes intermedios de datos de complejidad alta.Ficheros Externos: No se utilizaron almacenes externos de datos.

Componente Bajo Medio Alto TotalEI 6 * 3 = 18 4 * 4 = 16 12 * 6 = 72 106EO 4 * 4 = 16 5 * 5 = 25 15 * 7 = 105 146EQ 7 * 3 = 21 0 * 4 = 0 3 * 6 = 18 39ILF 0 * 7 = 0 0 * 10 = 0 1 * 15 = 15 15EIF 0 * 5 = 0 0 * 7 = 0 0 * 10 = 0 0

306

PFSA = 106 + 146 + 39 + 15 + 0 = 306 PF

Page 8: Estimacion de proyectos

Obtener los Puntos de Función Ajustados

Actividad PuntajeFactor de Ajuste Min Max

Comunicación de Datos 0 5Proceso Distribuido 0 5Objetivos de Rendimiento 0 5Configuración de Explotación Compartida 0 4Tasa de transacciones 0 5Entrada de Datos en Línea 0 5Eficiencia con el Usuario Final 0 5Actualizaciones en Línea 0 5Lógica de Proceso Interno Compleja 0 5Reusabilidad del Código 0 5Conversión e Instalación contempladas 0 5Facilidad de Operación 0 5Instalaciones Múltiples 0 5Facilidad de Cambios 0 5

PFSA = 306 PFA=PFSA* [0.65+ [0.01*ACT]]

N° de factor Min Valor 0..51 Comunicación de Datos 42 Proceso Distribuido 43 Objetivos de Rendimiento 14 Configuración de Explotación Compartida 15 Tasa de transacciones 36 Entrada de Datos en Línea 57 Eficiencia con el Usuario Final 28 Actualizaciones en Línea 39 Lógica de Proceso Interno Compleja 1

10 Reusabilidad del Código 111 Conversión e Instalación contempladas 012 Facilidad de Operación 113 Instalaciones Múltiples 214 Facilidad de Cambios 4

Ajuste de complejidad técnica (ACT) 32

PFA=PFSA* [0.65+ [0.01*ACT]]PFA=306* [0.65+ [0.01*23]]PFA= 296.82

Page 9: Estimacion de proyectos

Calculo del Esfuerzo

EsfuerzoEntorno y Lenguaje Líneas de código por

PFHoras por PF

Lenguajes 2GL: Ensamblador, C,… 300 20 – 30Lenguajes 3GL: Cobol 100 10 – 20Lenguajes 4GL: Visual Studio 2010 20 5 -10

Líneas de código = PFA * (LINEAS POR PF)Líneas de código = 296.82 * 20Líneas de código = 5936.4

Esfuerzo horas/persona = PFA / [1 / 8 persona / hora)] Esfuerzo horas/persona = 296.82 / 0.125Esfuerzo horas/persona = 2374.5 horas/persona

Cálculo de la Duración del Proyecto

Horas por persona = 2374.5 Duración del proyecto en horas = 2374.5 horas/persona / 5 personas Duración del proyecto en horas = 474.91 horas por miembro

Duración en meses = 474.91 horas / 100 horas/mes Duración en meses = 4 meses 15 días

Cálculo del Presupuesto del Proyecto

Costo Total del Proyecto = sueldos 1 participante del Proyect * 5 Part. * 5 meses + Otros costos necesarios en la realización del proyecto

Costo Total del Proyecto = 2000 * 5 * 5 Costo Total del Proyecto = 50000

III.8.2. COCOMO básico e intermedioa. Básico

Las fórmulas que usaremos serán las siguientes: E = Esfuerzo = a KLDC e (persona x mes)• T = Tiempo de duración del desarrollo = c Esfuerzod (meses)• P= Personal = E/T (personas)

Page 10: Estimacion de proyectos

LENGUAJE LDC/PFEnsamblador 320C 150COBOL 105Pascal 91Prolog/LISTP 64C++ 64Visual Basic 32SQL 12

Para calcular el Esfuerzo, necesitaremos hallar la variable KDLC (Kilo-líneas de código), donde los PF son 261,36 (dato conocido) y las líneas por cada PF equivalen a 32 según vemos en la tabla anterior. Por lo que tenemos que: KLDC= (PF * Líneas de código por cada PF)/1000(261,36*32)/1000= 8,363 KDLC

En nuestro caso el tipo orgánico será el más apropiado ya que el número de líneas de código no supera los 50 KLDC los coeficientes que usaremos serán las siguientes:

PROYECTO DE SOFTWARE a e c dOrgánico 3,2 1,05 2,5 0,38Semi-acoplado 3,0 1,12 2,5 0,35Empotrado 2,8 1,20 2,5 0,32

Cálculo del esfuerzo del desarrollo: E = a KLDC e = 3,2 * (8.363)1,05 = 29,76 personas /mes

Cálculo tiempo de desarrollo: T = c Esfuerzod = 2,5 * (29,76)0,38 = 9,08 meses

Personal promedio: P = E/T = 29,76/9,08= 3,28 personas

Según estas cifras será necesario un equipo de 3 personas trabajando alrededor de 10 meses, pero puesto que el desarrollo del proyecto debe realizarse en un plazo 3 meses, incrementaremos a 10 personas el número de personas del equipo de proyecto (ya que 29,76/3 nos da alrededor de este resultado). Así pues tendremos un equipo formado por 1 Jefe de proyecto, 3 Analistas, 4 programadores y 2 Responsable de calidad

b. IntermedioLas fórmulas que usaremos serán las siguientes:

E = Esfuerzo = a KLDC e * FAE (persona x mes)• T = Tiempo de duración del desarrollo = c Esfuerzod (meses)• P= Personal = E/T (personas)

Page 11: Estimacion de proyectos

LENGUAJE LDC/PFEnsamblador 320C 150COBOL 105Pascal 91Prolog/LISTP 64C++ 64Visual Basic 32SQL 12

Para calcular el Esfuerzo, necesitaremos hallar la variable KDLC (Kilo-líneas de código), donde los PF son 261,36 (dato conocido) y las líneas por cada PF equivalen a 32 según vemos en la tabla anterior. Por lo que tenemos que:

KLDC= (PF * Líneas de código por cada PF)/1000(261,36*32)/1000= 8,363 KDLC

En nuestro caso el tipo orgánico será el más apropiado ya que el número de líneas de código no supera los 50 KLDC los coeficientes que usaremos serán las siguientes:

PROYECTO DE SOFTWARE a e c dOrgánico 3,2 1,05 2,5 0,38Semi-acoplado 3,0 1,12 2,5 0,35Empotrado 2,8 1,20 2,5 0,32

Además también hallaremos la variable FAE, la cual se obtiene mediante la multiplicación de los valores evaluados en los diferentes 15 conductores de coste.

CONDUCTORES DE COSTE

VALORACIÓN

Muy bajo Bajo Nominal

Alto Muy alto Extr. alto

Fiabilidad requerida del software 0,75 0,88 1.00 1,15 1,40 -

Tamaño de la base de datos - 0,94 1.00 1,08 1,16 -

Complejidad del producto 0,70 0,85 1.00 1,15 1,30 1,65

Restricciones del tiempo de ejecución - - 1.00 1,11 1,30 1,66

Restricciones del almacenamiento principal - - 1.00 1,06 1,21 1,56

Volatilidad de la máquina virtual-

0,87 1.00 1,15 1,30 -

Page 12: Estimacion de proyectos

Tiempo de respuesta del ordenador - 0,87 1.00 1,07 1,15 -

Capacidad del analista 1,46 1,19 1.00 0,86 0,71 -

Experiencia en la aplicación 1,29 1,13 1.00 0,91 0,82 -

Capacidad de los programadores 1,42 1,17 1.00 0,86 0,70 -

Experiencia en S.O. utilizado 1,21 1,10 1.00 0,90 - -

Experiencia en el lenguaje de programación 1,14 1,07 1.00 0,95 - -

Prácticas de programación modernas 1,24 1,10 1.00 0,91 0,82 -

Utilización de herramientas software 1,24 1,10 1.00 0,91 0,83 -

Limitaciones de planificación del proyecto 1,23 1,08 1.00 1,04 1,10 -

FAE =1,15*1,00*0.85*1,11*1,00*0.87*1,07*0,86*0,82*0.86*1,00*1,00*1,00*0,91*1,08 FAE = 0,60203075

Justificación de los valores:

Atributos de software Fiabilidad requerida del software: Si se produce un fallo por el pago de

una venta, o fallo en alguna consulta, etc... puede ocasionar grandes pérdidas a la empresa (Valoración Alta).

Tamaño de la base de datos: La base de datos de nuestro producto será de tipo estándar (Valoración Nominal).

Complejidad del producto: La aplicación va a realizar cálculos de complejidad intermedia (Valoración baja).

Atributos de hardware Restricciones del tiempo de ejecución: En los requerimientos se exige alto

rendimiento (Valoración Alta). Restricciones del almacenamiento principal: No hay restricciones al

respecto (Valoración Nominal). Volatilidad de la máquina virtual: Se usarán sistemas de la “Familia

Windows” (Valoración baja). Tiempo de respuesta del ordenador: Deberá ser interactivo con el usuario

(Valoración Alta).

Atributos del personal Capacidad del analista: Capacidad alta relativamente, debido a la

experiencia en análisis en proyecto similar (Valoración Alta) Experiencia en la aplicación: Se tiene cierta experiencia en aplicaciones de

esta envergadura (Valoración muy alta). Capacidad de los programadores: se tiene una capacidad intermedia

porque se ha tenido poca experiencia en proyectos similares (Valoración baja).

Page 13: Estimacion de proyectos

Experiencia en S.O. utilizado: Con Windows 7 Professional la experiencia es a nivel usuario (Valoración Nominal).

Experiencia en el lenguaje de programación: Es un poco media, dado que se controlan las nociones básicas y las propias del proyecto (Valoración Nominal).

Atributos del proyecto Prácticas de programación modernas: Se usarán prácticas de

programación mayormente convencional (Valoración Nominal). Utilización de herramientas software: Se usarán herramientas estándar

que no exigirán apenas formación, de las cuales se tiene cierta experiencia (Valoración Alta).

Limitaciones de planificación del proyecto: Existen pocos límites de planificación. (Valoración Baja).

Cálculo del esfuerzo del desarrollo E = a KLDC e * FAE = 3,2 * (8.363)1,05 * 0,60203075= 17,92 personas

/mes

Cálculo tiempo de desarrollo: T = c Esfuerzod = 2,5 * (17,92)0,38 = 7,49 meses

Productividad:

PR = LDC/Esfuerzo = 8363/17,92 = 466 ,69 LDC/personas mes

Personal promedio:

P = E/T = 17,92/7,49 = 2,39 personas

Según estas cifras será necesario un equipo de 3 personas trabajando alrededor de 8 meses, pero puesto que el desarrollo del proyecto debe realizarse en un plazo 3 meses, incrementaremos a 6 personas el número de personas del equipo de proyecto (ya que 17,92/3 nos da alrededor de este resultado). Así pues tendremos un equipo formado por 1 Jefe de proyecto, 2 Analistas, 2 programadores y 1 Responsable de calidad

III.8.3. Modelo SLIMPara el desarrollo de este modelo utilizaremos las siguientes fórmulas:

Page 14: Estimacion de proyectos

Donde:Tamaño: Es el tamaño del producto. Putnam usa líneas de código para la medición del tamaño El término β: Es un valor escalar y está en función del tamaño. Para programas pequeños (KLDC= 5 a 15), B = 0.16. Para programas mayores de 70 KLDC, B = 0.39.Productividad: es la productividad del proceso en una organización de desarrollo en particular a una tasa de defectos generados específica.

Esfuerzo: Es el total de esfuerzo aplicado al proyecto, en años/hombre.Tiempo: Es el calendario total de implementación, dado en años.

La Ecuación de Software

P = 10.000 Estimación de las LDC = 20.000

Tmin = 8,14 (24.000 / 10.000)0.43

Tmin = 8,14 (20.000 / 10.000)0.43

Tmin = 10,9 meses

E = 180 * 0,16 *(0,11)3

E = 39 personas/mes

Parámetro de productividad Tipo de softwareP = 2.000 Software empotrado en tiempo real

P = 10.000 Telecomunicaciones y software de sistemasP = 28.000 Aplicaciones comerciales de sistema