Estimación de Proyectos de Software

Andrés Felipe Montoya Ríos
Andrés Felipe Montoya RíosIngeniero de Software en Indra um Indra
Estimación de
proyectos de software
Andrés Felipe Montoya Ríos
re.vu/AndresMontoya
@montoya118

Edwar Andrés Ruiz Medina
@EdwarRuiz324
¿Que es la estimación?

Estimación
 “Apreciar, poner precio, evaluar algo”

Estimación de proyectos de software
 “Actividad de la planificación del proyecto de sw
 que intenta determinar cuánto dinero, esfuerzo,
 recursos y tiempo tomará construir un sistema o
 producto sw”.
¿En qué consiste la estimación
         de proyectos software?

 «Aplicación continua de
  técnicas basadas en las
  medidas de los procesos
  de desarrollo del software
  y sus productos, para
  producir una información
  de gestión significativa y a
  tiempo. Esta información
  se utilizará para mejorar
  esos      procesos       los
  productos que se obtienen
  de ellos» (SYMONS, C.,
  1998).
¿Cuál es el objetivo de la
          estimación?

 Predecir las variables involucradas en el proyecto con
  cierto grado de certeza.
 Trata de aportar una predicción de algún indicador
  importante para la gestión de proyectos de
  software tiempo, esfuerzo, cantidad de defectos
  esperados entre otros.
 Es razonable conocer, antes de comenzar a desarrollar
  el SW, cuánto se va a invertir, qué tareas se deben
  realizar y cuánto tiempo se necesitará.
¿Quién es y cuál es el objetivo del
estimador de un proyecto software?


 El estimador debe ser un profesional que no tenga
  ningún interés, directo o indirecto, en los resultados del
  proceso de estimación y que este únicamente guiado
  por su profesionalismo.

 El principal objetivo del estimador es obtener
  estimaciones de calidad, las cuales no tienen siempre
  por qué coincidir con las expectativas de la empresa
  en términos de costo y tiempo.
Requisitos que debe cumplir
    un buen estimador…
 Formación y experiencia profesional adecuada.

 Una posición en la organización que le permita adoptar un
  juicio independiente.

 Debe basarse en un método que pueda ser explicado,
  cuestionado, discutido y auditado.

 Debe poder describir su experiencia en cada estimación.

 Debe documentar su estimación, incluyendo los resultados
  obtenidos y cualquier información necesaria para hacer el
  proceso de estimación repetible y verificable.
¿Cuándo se debe llevar a cabo?


La estimación es un proceso continuo. A
 medida que el proyecto avanza, más se conoce
 de él, y por lo tanto más parámetros están
 disponibles para introducir en un modelo de
 estimación.

La estimación continua nos permite el uso de un
 único modelo coherente que pueda capturar y
 utilizar la información sobre el proyecto a
 medida que éste se conozca.
El proceso de estimación comienza usando
 unas pocas variables claves para proveer las
 «macrocaracterísticas» de un proyecto, y
 evoluciona incorporando información de más
 bajo nivel para producir las «micro-
 características» del proyecto.
Ejemplo con un MCVS en
        cascada
TÉCNICAS DE ESTIMACIÓN…
Técnicas de estimación…


 La opinión de los expertos
  Esta técnica se basa en la experiencia profesional de
  los Participantes en el proyecto de estimación.
 La analogía
o Se basa en la comparación directa de uno o más
  proyectos pasados.
o Para poder utilizar esta técnica es necesario disponer
  de una base de datos histórica de proyectos finalizados
  con la que poder realizar la comparación.
o Los proyectos deben tener muchas similitudes en
  cuanto a su esquema.
Técnicas de estimación…

 La descomposición
o Consiste en la descomposición de un producto en
  componentes más pequeños, o descomponer un
  proyecto en tareas de nivel inferior.
o La estimación se hace a partir del esfuerzo requerido
  para producir los componentes más pequeños o para
  realizar las tareas de nivel inferior.
 Las ecuaciones de estimación:
o Son fórmulas matemáticas que establecen la relación de
  algunas medidas de entrada (que normalmente es la
  medida del tamaño del producto) y determinan el
  esfuerzo que se requerirá.
MÉTODOS DE ESTIMACIÓN…
Método de puntos de casos de uso


método de estimación y cálculo de tamaño del software basado en
cuentas hechas sobre los casos de uso para un sistema de
software.

   Cuantificación de características funcionales del Sistema:
o   Clasificación de Actores,
o   Clasificación de los Casos de Uso
o   Obtención del Peso o Puntos de Casos de Uso

   Cuantificación de características no funcionales del Sistema:
o   Clasificación de Factores de Complejidad Técnica (FCT)
o   Clasificación de Factores Ambientales (FA)
o   Cálculo de Puntos de Casos de Uso Ajustados (PCU)
Clasificación de Actores...

Todos los actores del sistema deben ser clasificados como
Simple, Promedio y Complejo:

 Actor Simple: Se trata de otro sistema interactuando a
  través de una interfaz de programación definida y
  conocida (API).
 Actor Promedio: Es otro sistema interactuando a través
  de un protocolo (como TCP/IP).
 Actor Complejo: se trata de una persona interactuando
  con el sistema a través de una interfaz gráfica de
  usuario (GUI) o página Web.
 Se cuentan los actores de acuerdo a su clasificación o
 grado de complejidad, multiplicando cada subtotal por
 su factor de complejidad y sumando cada producto
 obteniéndose el peso de los actores sin ajustar (PASA).
Clasificación de Casos de Uso a
      partir de las Transacciones

Teniendo el modelo de casos de uso, cada uno de ellos
debe clasificarse como Simple, Medio o Complejo, de
acuerdo al número de transacciones descritas en el caso
de uso. Se clasifican desacuerdo a lo siguiente:

 Casos de Uso Simple: Tres o menos transacciones (o
  pasos).
 Casos de Uso Promedio: entre 4 o 7 Transacciones.
 Casos de Uso Complejos: Más de 7 Transacciones.
Se cuentan los casos de uso de acuerdo a su
 clasificación por numero de transacciones,
 multiplicando cada subtotal por su factor de
 complejidad y sumando cada producto
 obteniéndose el peso de los actores sin ajustar
 (PTSA).
Obtención de Factores de Peso
o Puntos de Casos de Uso Sin Ajustar
             (PCUSA).

 Es la suma del Peso de los Actores Sin ajustar
 más el Peso de las Transacciones Sin Ajustar, es
 decir:

 PCUSA = PASA + PTSA
Clasificación de Factores de
    Complejidad Técnica (FCT)

Son los factores de peso que incorporan la complejidad
técnica del sistema y algunas características no
funcionales, el peso se representa de la siguiente manera:

 0: Sin influencia
 3: Promedio
 5: Fuerte influencia
Para obtener el factor final se debe multiplicar cada item (T1 a
T13) por el grado de influencia sobre el sistema y se obtiene la
suma llamada FactorT, de acuerdo a la siguiente Fórmula:
 FCT = 0.6 + (0.01*FactorT)
Clasificación de Factores
         Ambientales (FA)

Corresponden en términos generales, las
características del equipo de desarrollo en cuanto
a perfiles, experiencia y capacidad técnica. Se
clasifican de la siguiente manera

0: Sin influencia
3: Promedio
5: Fuerte influencia
Para obtener el factor final se debe multiplicar cada item (F1 a
F8) por el grado de influencia sobre el sistema y se obtiene la
suma llamada FactorA, de acuerdo a la siguiente Fórmula:

 FA = 1.4 + (-0.03*FactorA)
Cálculo de Puntos de Casos de Uso
         Ajustados (PCU)




Finalmente, se obtiene la siguiente fórmula que
representa los puntos de casos de uso ajustados:

PCU = PCUSA* FCT*FA
MÉTODO DE ESTIMACIÓN
          COCOMO


Cuando un ingeniero está ante un proyecto a
 estimar, lo primero que debe hacer para aplicar
 el COCOMO es situar su proyecto en el espacio
 de dos dimensiones (modo, modelo).

Según COCOMO existen tres modos de
 desarrollo, a cada uno de estos modos se le
 pueden aplicar tres métodos de estimación
 diferentes
Modo orgánico…


 El proyecto se desarrolla en equipos relativamente
  pequeños
 Muchas personas relacionadas con el proyecto tienen
  amplia experiencia trabajando en sistemas similares y
  tienen un buen conocimiento de cómo el sistema que se
  está desarrollando contribuirá a los objetivos de la
  organización.
 Se desarrolla en un entorno generalmente estable, con
  muy pequeña probabilidad de coincidencia en el desarrollo
  de un nuevo hardware u operaciones desconocidas.
 Proyectos de tamaño relativamente pequeño. Como
  máximo 50 KDSI (miles de instrucciones).
Modo semilibre…


El equipo del proyecto tiene un nivel medio de
 experiencia en proyectos similares.

El equipo es una combinación de personal
 experto e inexperto.

El tamaño del producto llega a las 300 KDSI.
Modo rígido…

 Proyectos que deben desarrollarse dentro de unas
  limitaciones muy estrictas.

 El producto debe explotarse dentro de un entorno muy
  acoplado de hardware, software, normativa y
  procedimientos operativos

 Estos proyectos se desarrollan en áreas generalmente
  desconocidas, lo cual lleva inicialmente a equipos
  pequeños de analistas y, a una sobrecarga de
  comunicación importante durante el desarrollo.

 Se aplica a proyectos de cualquier tamaño.
Modelo básico…

 Se suele aplicar en los desarrollos de productos
  pequeños/medios Las ecuaciones de estimación de
  esfuerzo y tiempo de desarrollo para cada modo de
  desarrollo:

 Orgánico: MM = 2,4 (KDSI)1,05
  TDEV = 2,5 (MM)0,38
 Semilibre: MM = 3,0 (KDSI)1,12
 TDEV = 2,5 (MM)0,35
 Rígido: MM = 3,6 (KDSI)1,20
 TDEV = 2,5 (MM)0,32
“KDSI = número de instrucciones de código en
  miles.
 MM = esfuerzo medido en meses/hombre.
 TDEV = duración en meses”
Modelo intermedio…

Atributos del producto software:
 RELY: Fiabilidad requerida del software
 DATA: Tamaño de la base de datos.
 CPLX: Complejidad del producto.
 TIME: Limitaciones en el tiempo de ejecución
 STOR: Limitaciones de memoria principal.
 VIRT: Volatilidad de la máquina virtual
 TURN: Frecuencia de cambio en el modelo de
  explotación del ordenador.
Atributos de personal
 ACAP: Capacitación de los analistas
 AEXP: Experiencia en aplicaciones.
 PCAP: Capacitación de los programadores
 VEXP: Experiencia en la máquina virtual.
 LEXP: Experiencia en el lenguaje de programación.
Atributos del proyecto
 MODP: Prácticas Modernas de programación.
 TOOL: Uso de herramientas para el desarrollo de
  software.
 SCED: Limitaciones en la planificación.
Estimación de Proyectos de Software
La estimación de esfuerzo aplicando este
 modelo es:

Modo orgánico: MM = 3,2 (KDSI) 1,05

Modo semilibre: MM = 3,0 (KDSI) 1,12

Modo rígido: MM = 2,8 (KDSI) 1,20
Modelo detallado…

 Multiplicadores de esfuerzo por fases
  En el modelo COCOMO intermedio, la distribución de
  esfuerzo por fase se determina únicamente por el tamaño del
  producto. En la práctica, factores como la fiabilidad
  requerida, la experiencia en aplicaciones y desarrollos
  interactivos afectan a unas fases más que a otras. El modelo
  detallado proporciona un conjunto de multiplicadores de
  esfuerzo para cada atributo en cada fase.
 Descomposición Jerárquica del producto a tres niveles:
 Nivel módulo.
 Nivel subsistema.
 Nivel sistema.
Modelo SLIM

 Está basado en la curva de Rayleigh, que describe la necesidad
  de personal al desarrollar proyectos complejos.
 Fue desarrollada para estimar los costes de los grandes
  proyectos de software. En proyectos pequeños haría falta
  ajustar la ecuación.




o T= Tamaño en LDC
o C= factor dependiente del entorno ( (vale 2.000 para entornos poco
  productivos, 8.000 para entornos buenos, 11.000 para entornos
  excelentes)
o K= Esfuerzos de personas año
o Td= tiempo para completar el proyecto en años.
Conclusiones!!!
Estimación de Proyectos de Software
Estimación de Proyectos de Software
1 von 39

Recomendados

Planificacion De Proyectos De Software von
Planificacion De Proyectos De SoftwarePlanificacion De Proyectos De Software
Planificacion De Proyectos De SoftwareIván Sanchez Vera
27K views120 Folien
Proyecto de software von
Proyecto de softwareProyecto de software
Proyecto de softwaremonik1002
33.6K views11 Folien
Métricas de Proceso y proyecto de software von
Métricas de Proceso y proyecto de softwareMétricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de softwareLorena Quiñónez
54.3K views33 Folien
Tecnicas de estimacion de costos de proyecto software von
Tecnicas de estimacion de costos de proyecto softwareTecnicas de estimacion de costos de proyecto software
Tecnicas de estimacion de costos de proyecto softwareJennifer Andrea Cano Guevara
85K views81 Folien
Ingeniería de requisitos e ingeniería de requerimientos von
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosCesar Prado
9.4K views16 Folien
25 Estandares - IEEE Calidad de Software von
25 Estandares - IEEE Calidad de Software25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de SoftwareCamila Arbelaez
30K views7 Folien

Más contenido relacionado

Was ist angesagt?

tecnicas de revisión del software von
tecnicas de revisión del softwaretecnicas de revisión del software
tecnicas de revisión del softwareMARCO POLO SILVA SEGOVIA
19.5K views16 Folien
Proceso del Software von
Proceso del Software Proceso del Software
Proceso del Software Ares Atzarel Hernández Rodríguez
5.6K views28 Folien
Unidad 4 von
Unidad 4Unidad 4
Unidad 4Xochitl Saucedo Muñoz
3.7K views52 Folien
MODELO COCOMO (INGENIERA DE SOFTWARE) von
MODELO COCOMO (INGENIERA DE SOFTWARE)MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)Yadith Miranda Silva
31K views36 Folien
Gestion De Proyecto De Desarrollo De Software von
Gestion De Proyecto De Desarrollo De SoftwareGestion De Proyecto De Desarrollo De Software
Gestion De Proyecto De Desarrollo De SoftwareDecimo Sistemas
12.9K views37 Folien
Iso 25000 von
Iso 25000Iso 25000
Iso 25000Miguel Angel Marin Naranjo
11.6K views19 Folien

Was ist angesagt?(20)

Gestion De Proyecto De Desarrollo De Software von Decimo Sistemas
Gestion De Proyecto De Desarrollo De SoftwareGestion De Proyecto De Desarrollo De Software
Gestion De Proyecto De Desarrollo De Software
Decimo Sistemas12.9K views
Desarrollo iterativo e incremental von noriver
Desarrollo iterativo e incrementalDesarrollo iterativo e incremental
Desarrollo iterativo e incremental
noriver42.2K views
Ventajas y desventajas de moprosoft von Chuyito Alvarado
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoft
Chuyito Alvarado17.3K views
Tabla comparativa- metodologías de desarrollo von itsarellano
Tabla comparativa-  metodologías de desarrolloTabla comparativa-  metodologías de desarrollo
Tabla comparativa- metodologías de desarrollo
itsarellano15K views
Calidad Del Producto Software von albert317
Calidad Del Producto SoftwareCalidad Del Producto Software
Calidad Del Producto Software
albert31751.4K views
Atributos de calidad en el desarrollo de software von Joan Manuel Zabala
Atributos de calidad en el desarrollo de software Atributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de software
Joan Manuel Zabala36.6K views
Tecnicas de estimacion de software von Ades27
Tecnicas de estimacion de softwareTecnicas de estimacion de software
Tecnicas de estimacion de software
Ades273.6K views
IEEE 1471-2000: Documento de arquitectura de software von Jesús Navarro
IEEE 1471-2000: Documento de arquitectura de softwareIEEE 1471-2000: Documento de arquitectura de software
IEEE 1471-2000: Documento de arquitectura de software
Jesús Navarro7K views

Destacado

Gestion de proyectos - Estimación del Esfuerzo von
Gestion de proyectos - Estimación del EsfuerzoGestion de proyectos - Estimación del Esfuerzo
Gestion de proyectos - Estimación del EsfuerzoMarta Silvia Tabares
30.4K views36 Folien
Grupo alfa von
Grupo alfaGrupo alfa
Grupo alfanassra_zajia
1.5K views7 Folien
Tema 3 estimacion von
Tema 3 estimacionTema 3 estimacion
Tema 3 estimacioneverfavi0
4.4K views24 Folien
Tecnicas de estimacion de costos de proyecto software von
Tecnicas de estimacion de costos de proyecto softwareTecnicas de estimacion de costos de proyecto software
Tecnicas de estimacion de costos de proyecto softwareantonio
73.9K views41 Folien
PERT - CPM von
PERT - CPMPERT - CPM
PERT - CPMAdrian Sigueñas Calderon
152.3K views40 Folien
The Metrology Journey towards an 8th Base Quantity for Software: How Far or H... von
The Metrology Journey towards an 8th Base Quantity for Software: How Far or H...The Metrology Journey towards an 8th Base Quantity for Software: How Far or H...
The Metrology Journey towards an 8th Base Quantity for Software: How Far or H...COSMIC - Common Software Measurement International Consortium
1.3K views66 Folien

Destacado(13)

Tema 3 estimacion von everfavi0
Tema 3 estimacionTema 3 estimacion
Tema 3 estimacion
everfavi04.4K views
Tecnicas de estimacion de costos de proyecto software von antonio
Tecnicas de estimacion de costos de proyecto softwareTecnicas de estimacion de costos de proyecto software
Tecnicas de estimacion de costos de proyecto software
antonio73.9K views
Using the COSMIC Method to Estimate Agile User Stories von Luigi Buglione
Using the COSMIC Method to Estimate Agile User StoriesUsing the COSMIC Method to Estimate Agile User Stories
Using the COSMIC Method to Estimate Agile User Stories
Luigi Buglione3.2K views
La medición total del software von Software Guru
La medición total del softwareLa medición total del software
La medición total del software
Software Guru2.1K views
Estimación del esfuerzo y costo necesarios para el desarrollo de un proyecto ... von Software Guru
Estimación del esfuerzo y costo necesarios para el desarrollo de un proyecto ...Estimación del esfuerzo y costo necesarios para el desarrollo de un proyecto ...
Estimación del esfuerzo y costo necesarios para el desarrollo de un proyecto ...
Software Guru3K views
Estimación por puntos de función von Luisa Sanchez
Estimación por puntos de funciónEstimación por puntos de función
Estimación por puntos de función
Luisa Sanchez13.5K views

Similar a Estimación de Proyectos de Software

Estimación de costo de software von
Estimación de costo de softwareEstimación de costo de software
Estimación de costo de softwareJhoseph Lugo
44 views13 Folien
Estimación para proyectos de software cap26 von
Estimación para proyectos de software cap26Estimación para proyectos de software cap26
Estimación para proyectos de software cap26DEBANI SALAS
2.2K views35 Folien
Tecnicas de estimacion de software von
Tecnicas de estimacion de softwareTecnicas de estimacion de software
Tecnicas de estimacion de softwareClare Rodriguez
537 views41 Folien
Estimación para proy_soft-caja_b_y_n von
Estimación para proy_soft-caja_b_y_nEstimación para proy_soft-caja_b_y_n
Estimación para proy_soft-caja_b_y_nLuis Manuel Enrique Díaz Pereyra
479 views16 Folien
Procesos de Ingenieria de Software von
Procesos de Ingenieria de SoftwareProcesos de Ingenieria de Software
Procesos de Ingenieria de SoftwareAngel Macas
6.3K views31 Folien
Cocomo von
CocomoCocomo
Cocomoarteaga22
183 views13 Folien

Similar a Estimación de Proyectos de Software(20)

Estimación de costo de software von Jhoseph Lugo
Estimación de costo de softwareEstimación de costo de software
Estimación de costo de software
Jhoseph Lugo44 views
Estimación para proyectos de software cap26 von DEBANI SALAS
Estimación para proyectos de software cap26Estimación para proyectos de software cap26
Estimación para proyectos de software cap26
DEBANI SALAS2.2K views
Tecnicas de estimacion de software von Clare Rodriguez
Tecnicas de estimacion de softwareTecnicas de estimacion de software
Tecnicas de estimacion de software
Clare Rodriguez537 views
Procesos de Ingenieria de Software von Angel Macas
Procesos de Ingenieria de SoftwareProcesos de Ingenieria de Software
Procesos de Ingenieria de Software
Angel Macas6.3K views
Análisis & diseño de sistemas von pokirene11
Análisis & diseño de sistemasAnálisis & diseño de sistemas
Análisis & diseño de sistemas
pokirene11156 views
Estimacion De Proyecto von javier
Estimacion De ProyectoEstimacion De Proyecto
Estimacion De Proyecto
javier2.2K views
AnáLisis De Sistemas von nera24mx
AnáLisis De SistemasAnáLisis De Sistemas
AnáLisis De Sistemas
nera24mx226 views
Presupuesto Software, victor mamani catachura, boreasH von victor mamani
Presupuesto Software, victor mamani catachura, boreasHPresupuesto Software, victor mamani catachura, boreasH
Presupuesto Software, victor mamani catachura, boreasH
victor mamani9.3K views
Analisis y diseño de un sistema de informacion von paredes1983
Analisis y diseño de un sistema de informacionAnalisis y diseño de un sistema de informacion
Analisis y diseño de un sistema de informacion
paredes1983726 views
Estimacion de proyectos de software von Martin Perez
Estimacion de proyectos de softwareEstimacion de proyectos de software
Estimacion de proyectos de software
Martin Perez2.5K views
Jessika parica. planificación de un proyecto de software von Jessika Parica
Jessika parica. planificación de un proyecto de softwareJessika parica. planificación de un proyecto de software
Jessika parica. planificación de un proyecto de software
Jessika Parica161 views
Ing.Software New von carolina
Ing.Software NewIng.Software New
Ing.Software New
carolina913 views
Trabajo de Christian Oblitas von Christian1705
Trabajo de Christian OblitasTrabajo de Christian Oblitas
Trabajo de Christian Oblitas
Christian1705128 views

Más de Andrés Felipe Montoya Ríos

Patron de Arquitectura Broker von
Patron de Arquitectura BrokerPatron de Arquitectura Broker
Patron de Arquitectura BrokerAndrés Felipe Montoya Ríos
9.4K views34 Folien
La creatividad, ¿de quien depende? von
La creatividad, ¿de quien depende?La creatividad, ¿de quien depende?
La creatividad, ¿de quien depende?Andrés Felipe Montoya Ríos
882 views6 Folien
Seo Para Principiantes von
Seo Para PrincipiantesSeo Para Principiantes
Seo Para PrincipiantesAndrés Felipe Montoya Ríos
1.8K views20 Folien
Todo sobre HTML5 von
Todo sobre HTML5Todo sobre HTML5
Todo sobre HTML5Andrés Felipe Montoya Ríos
10.6K views25 Folien
La Importancia De Aprender A Investigar von
La Importancia De Aprender A InvestigarLa Importancia De Aprender A Investigar
La Importancia De Aprender A InvestigarAndrés Felipe Montoya Ríos
11.5K views4 Folien
Resolver Problemas Por Medio De La Ingeniería De Sistemas von
Resolver Problemas Por Medio De La Ingeniería De SistemasResolver Problemas Por Medio De La Ingeniería De Sistemas
Resolver Problemas Por Medio De La Ingeniería De SistemasAndrés Felipe Montoya Ríos
13.3K views4 Folien

Más de Andrés Felipe Montoya Ríos(17)

Último

1701704307_UpdWfY.pdf von
1701704307_UpdWfY.pdf1701704307_UpdWfY.pdf
1701704307_UpdWfY.pdfWilliam Henry Vegazo Muro
83 views1 Folie
textos y visiones 07 dgo von
textos y visiones 07 dgotextos y visiones 07 dgo
textos y visiones 07 dgoExamenes Preparatoria Abierta
105 views3 Folien
DEPORTES DE RAQUETA .pdf von
DEPORTES DE RAQUETA .pdfDEPORTES DE RAQUETA .pdf
DEPORTES DE RAQUETA .pdfMiguel Lopez Marin
34 views11 Folien
Fase 4- Estudio de la geometría analítica.pptx von
Fase 4- Estudio de la geometría analítica.pptxFase 4- Estudio de la geometría analítica.pptx
Fase 4- Estudio de la geometría analítica.pptxblogdealgebraunad
39 views15 Folien
PLANO CARTESIANOPARA NIÑOS.pptx von
PLANO CARTESIANOPARA NIÑOS.pptxPLANO CARTESIANOPARA NIÑOS.pptx
PLANO CARTESIANOPARA NIÑOS.pptxCarlos Campaña Montenegro
148 views28 Folien
Proyectos Elementos Basicos - 2023.pdf von
Proyectos Elementos Basicos - 2023.pdfProyectos Elementos Basicos - 2023.pdf
Proyectos Elementos Basicos - 2023.pdfJose Luis Jimenez Rodriguez
55 views15 Folien

Último(20)

Fase 4- Estudio de la geometría analítica.pptx von blogdealgebraunad
Fase 4- Estudio de la geometría analítica.pptxFase 4- Estudio de la geometría analítica.pptx
Fase 4- Estudio de la geometría analítica.pptx
PPT TECNOLOGIAS PARA LA ENSEÑANZA VIRTUAL.pptx von CarlaFuentesMuoz
PPT TECNOLOGIAS PARA LA ENSEÑANZA VIRTUAL.pptxPPT TECNOLOGIAS PARA LA ENSEÑANZA VIRTUAL.pptx
PPT TECNOLOGIAS PARA LA ENSEÑANZA VIRTUAL.pptx
CarlaFuentesMuoz37 views
Meta 1.1 Identificar el contenido històrico de la Lengua de Señas. von IvanLechuga
Meta 1.1 Identificar el contenido històrico de la Lengua de Señas.Meta 1.1 Identificar el contenido històrico de la Lengua de Señas.
Meta 1.1 Identificar el contenido històrico de la Lengua de Señas.
IvanLechuga76 views
FORTI-DICIEMBRE.2023.pdf von El Fortí
FORTI-DICIEMBRE.2023.pdfFORTI-DICIEMBRE.2023.pdf
FORTI-DICIEMBRE.2023.pdf
El Fortí187 views
Intranet y extranet cuadro comparativo.pdf von UPTVT
Intranet y extranet cuadro comparativo.pdfIntranet y extranet cuadro comparativo.pdf
Intranet y extranet cuadro comparativo.pdf
UPTVT32 views
DEBER DE RESOLUCION DE PROBLEMAS DE FUERZA (3°).pdf von Victor Hugo Caiza
DEBER DE RESOLUCION DE PROBLEMAS DE FUERZA (3°).pdfDEBER DE RESOLUCION DE PROBLEMAS DE FUERZA (3°).pdf
DEBER DE RESOLUCION DE PROBLEMAS DE FUERZA (3°).pdf

Estimación de Proyectos de Software

  • 1. Estimación de proyectos de software Andrés Felipe Montoya Ríos re.vu/AndresMontoya @montoya118 Edwar Andrés Ruiz Medina @EdwarRuiz324
  • 2. ¿Que es la estimación? Estimación “Apreciar, poner precio, evaluar algo” Estimación de proyectos de software “Actividad de la planificación del proyecto de sw que intenta determinar cuánto dinero, esfuerzo, recursos y tiempo tomará construir un sistema o producto sw”.
  • 3. ¿En qué consiste la estimación de proyectos software?  «Aplicación continua de técnicas basadas en las medidas de los procesos de desarrollo del software y sus productos, para producir una información de gestión significativa y a tiempo. Esta información se utilizará para mejorar esos procesos los productos que se obtienen de ellos» (SYMONS, C., 1998).
  • 4. ¿Cuál es el objetivo de la estimación?  Predecir las variables involucradas en el proyecto con cierto grado de certeza.  Trata de aportar una predicción de algún indicador importante para la gestión de proyectos de software tiempo, esfuerzo, cantidad de defectos esperados entre otros.  Es razonable conocer, antes de comenzar a desarrollar el SW, cuánto se va a invertir, qué tareas se deben realizar y cuánto tiempo se necesitará.
  • 5. ¿Quién es y cuál es el objetivo del estimador de un proyecto software?  El estimador debe ser un profesional que no tenga ningún interés, directo o indirecto, en los resultados del proceso de estimación y que este únicamente guiado por su profesionalismo.  El principal objetivo del estimador es obtener estimaciones de calidad, las cuales no tienen siempre por qué coincidir con las expectativas de la empresa en términos de costo y tiempo.
  • 6. Requisitos que debe cumplir un buen estimador…  Formación y experiencia profesional adecuada.  Una posición en la organización que le permita adoptar un juicio independiente.  Debe basarse en un método que pueda ser explicado, cuestionado, discutido y auditado.  Debe poder describir su experiencia en cada estimación.  Debe documentar su estimación, incluyendo los resultados obtenidos y cualquier información necesaria para hacer el proceso de estimación repetible y verificable.
  • 7. ¿Cuándo se debe llevar a cabo? La estimación es un proceso continuo. A medida que el proyecto avanza, más se conoce de él, y por lo tanto más parámetros están disponibles para introducir en un modelo de estimación. La estimación continua nos permite el uso de un único modelo coherente que pueda capturar y utilizar la información sobre el proyecto a medida que éste se conozca.
  • 8. El proceso de estimación comienza usando unas pocas variables claves para proveer las «macrocaracterísticas» de un proyecto, y evoluciona incorporando información de más bajo nivel para producir las «micro- características» del proyecto.
  • 9. Ejemplo con un MCVS en cascada
  • 11. Técnicas de estimación…  La opinión de los expertos Esta técnica se basa en la experiencia profesional de los Participantes en el proyecto de estimación.  La analogía o Se basa en la comparación directa de uno o más proyectos pasados. o Para poder utilizar esta técnica es necesario disponer de una base de datos histórica de proyectos finalizados con la que poder realizar la comparación. o Los proyectos deben tener muchas similitudes en cuanto a su esquema.
  • 12. Técnicas de estimación…  La descomposición o Consiste en la descomposición de un producto en componentes más pequeños, o descomponer un proyecto en tareas de nivel inferior. o La estimación se hace a partir del esfuerzo requerido para producir los componentes más pequeños o para realizar las tareas de nivel inferior.  Las ecuaciones de estimación: o Son fórmulas matemáticas que establecen la relación de algunas medidas de entrada (que normalmente es la medida del tamaño del producto) y determinan el esfuerzo que se requerirá.
  • 14. Método de puntos de casos de uso método de estimación y cálculo de tamaño del software basado en cuentas hechas sobre los casos de uso para un sistema de software.  Cuantificación de características funcionales del Sistema: o Clasificación de Actores, o Clasificación de los Casos de Uso o Obtención del Peso o Puntos de Casos de Uso  Cuantificación de características no funcionales del Sistema: o Clasificación de Factores de Complejidad Técnica (FCT) o Clasificación de Factores Ambientales (FA) o Cálculo de Puntos de Casos de Uso Ajustados (PCU)
  • 15. Clasificación de Actores... Todos los actores del sistema deben ser clasificados como Simple, Promedio y Complejo:  Actor Simple: Se trata de otro sistema interactuando a través de una interfaz de programación definida y conocida (API).  Actor Promedio: Es otro sistema interactuando a través de un protocolo (como TCP/IP).  Actor Complejo: se trata de una persona interactuando con el sistema a través de una interfaz gráfica de usuario (GUI) o página Web.
  • 16.  Se cuentan los actores de acuerdo a su clasificación o grado de complejidad, multiplicando cada subtotal por su factor de complejidad y sumando cada producto obteniéndose el peso de los actores sin ajustar (PASA).
  • 17. Clasificación de Casos de Uso a partir de las Transacciones Teniendo el modelo de casos de uso, cada uno de ellos debe clasificarse como Simple, Medio o Complejo, de acuerdo al número de transacciones descritas en el caso de uso. Se clasifican desacuerdo a lo siguiente:  Casos de Uso Simple: Tres o menos transacciones (o pasos).  Casos de Uso Promedio: entre 4 o 7 Transacciones.  Casos de Uso Complejos: Más de 7 Transacciones.
  • 18. Se cuentan los casos de uso de acuerdo a su clasificación por numero de transacciones, multiplicando cada subtotal por su factor de complejidad y sumando cada producto obteniéndose el peso de los actores sin ajustar (PTSA).
  • 19. Obtención de Factores de Peso o Puntos de Casos de Uso Sin Ajustar (PCUSA). Es la suma del Peso de los Actores Sin ajustar más el Peso de las Transacciones Sin Ajustar, es decir: PCUSA = PASA + PTSA
  • 20. Clasificación de Factores de Complejidad Técnica (FCT) Son los factores de peso que incorporan la complejidad técnica del sistema y algunas características no funcionales, el peso se representa de la siguiente manera:  0: Sin influencia  3: Promedio  5: Fuerte influencia
  • 21. Para obtener el factor final se debe multiplicar cada item (T1 a T13) por el grado de influencia sobre el sistema y se obtiene la suma llamada FactorT, de acuerdo a la siguiente Fórmula:  FCT = 0.6 + (0.01*FactorT)
  • 22. Clasificación de Factores Ambientales (FA) Corresponden en términos generales, las características del equipo de desarrollo en cuanto a perfiles, experiencia y capacidad técnica. Se clasifican de la siguiente manera 0: Sin influencia 3: Promedio 5: Fuerte influencia
  • 23. Para obtener el factor final se debe multiplicar cada item (F1 a F8) por el grado de influencia sobre el sistema y se obtiene la suma llamada FactorA, de acuerdo a la siguiente Fórmula:  FA = 1.4 + (-0.03*FactorA)
  • 24. Cálculo de Puntos de Casos de Uso Ajustados (PCU) Finalmente, se obtiene la siguiente fórmula que representa los puntos de casos de uso ajustados: PCU = PCUSA* FCT*FA
  • 25. MÉTODO DE ESTIMACIÓN COCOMO Cuando un ingeniero está ante un proyecto a estimar, lo primero que debe hacer para aplicar el COCOMO es situar su proyecto en el espacio de dos dimensiones (modo, modelo). Según COCOMO existen tres modos de desarrollo, a cada uno de estos modos se le pueden aplicar tres métodos de estimación diferentes
  • 26. Modo orgánico…  El proyecto se desarrolla en equipos relativamente pequeños  Muchas personas relacionadas con el proyecto tienen amplia experiencia trabajando en sistemas similares y tienen un buen conocimiento de cómo el sistema que se está desarrollando contribuirá a los objetivos de la organización.  Se desarrolla en un entorno generalmente estable, con muy pequeña probabilidad de coincidencia en el desarrollo de un nuevo hardware u operaciones desconocidas.  Proyectos de tamaño relativamente pequeño. Como máximo 50 KDSI (miles de instrucciones).
  • 27. Modo semilibre… El equipo del proyecto tiene un nivel medio de experiencia en proyectos similares. El equipo es una combinación de personal experto e inexperto. El tamaño del producto llega a las 300 KDSI.
  • 28. Modo rígido…  Proyectos que deben desarrollarse dentro de unas limitaciones muy estrictas.  El producto debe explotarse dentro de un entorno muy acoplado de hardware, software, normativa y procedimientos operativos  Estos proyectos se desarrollan en áreas generalmente desconocidas, lo cual lleva inicialmente a equipos pequeños de analistas y, a una sobrecarga de comunicación importante durante el desarrollo.  Se aplica a proyectos de cualquier tamaño.
  • 29. Modelo básico…  Se suele aplicar en los desarrollos de productos pequeños/medios Las ecuaciones de estimación de esfuerzo y tiempo de desarrollo para cada modo de desarrollo:  Orgánico: MM = 2,4 (KDSI)1,05 TDEV = 2,5 (MM)0,38  Semilibre: MM = 3,0 (KDSI)1,12 TDEV = 2,5 (MM)0,35  Rígido: MM = 3,6 (KDSI)1,20 TDEV = 2,5 (MM)0,32
  • 30. “KDSI = número de instrucciones de código en miles. MM = esfuerzo medido en meses/hombre. TDEV = duración en meses”
  • 31. Modelo intermedio… Atributos del producto software:  RELY: Fiabilidad requerida del software  DATA: Tamaño de la base de datos.  CPLX: Complejidad del producto.  TIME: Limitaciones en el tiempo de ejecución  STOR: Limitaciones de memoria principal.  VIRT: Volatilidad de la máquina virtual  TURN: Frecuencia de cambio en el modelo de explotación del ordenador.
  • 32. Atributos de personal  ACAP: Capacitación de los analistas  AEXP: Experiencia en aplicaciones.  PCAP: Capacitación de los programadores  VEXP: Experiencia en la máquina virtual.  LEXP: Experiencia en el lenguaje de programación. Atributos del proyecto  MODP: Prácticas Modernas de programación.  TOOL: Uso de herramientas para el desarrollo de software.  SCED: Limitaciones en la planificación.
  • 34. La estimación de esfuerzo aplicando este modelo es: Modo orgánico: MM = 3,2 (KDSI) 1,05 Modo semilibre: MM = 3,0 (KDSI) 1,12 Modo rígido: MM = 2,8 (KDSI) 1,20
  • 35. Modelo detallado… Multiplicadores de esfuerzo por fases En el modelo COCOMO intermedio, la distribución de esfuerzo por fase se determina únicamente por el tamaño del producto. En la práctica, factores como la fiabilidad requerida, la experiencia en aplicaciones y desarrollos interactivos afectan a unas fases más que a otras. El modelo detallado proporciona un conjunto de multiplicadores de esfuerzo para cada atributo en cada fase.  Descomposición Jerárquica del producto a tres niveles:  Nivel módulo.  Nivel subsistema.  Nivel sistema.
  • 36. Modelo SLIM  Está basado en la curva de Rayleigh, que describe la necesidad de personal al desarrollar proyectos complejos.  Fue desarrollada para estimar los costes de los grandes proyectos de software. En proyectos pequeños haría falta ajustar la ecuación. o T= Tamaño en LDC o C= factor dependiente del entorno ( (vale 2.000 para entornos poco productivos, 8.000 para entornos buenos, 11.000 para entornos excelentes) o K= Esfuerzos de personas año o Td= tiempo para completar el proyecto en años.