Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Alejandro Soto

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 10

Estimación de

costos de software

Alejandro Soto - Ingenieria de sistemas


INSTITUTO UNIVERSITARIO POLITECNICO SANTIAGO MARIÑO
Introducción

La estimación de costos en el desarrollo de software es un factor realmente importante


para el análisis de los proyectos, constituye un tema estratégico contar con métricas para
medir el costo de un proyecto de software garantizando la eficiencia, competitividad,
eficacia y excelencia. Un elemento indispensable en cualquier sistema económico
constituye el asegurar el papel del costo en la planificación del país y fundamentalmente
en la correcta dirección de la empresa mediante mecanismos ágiles que permitan un
elevado grado de confiabilidad.

Cuando se trate de software, la clave es entender la duración y el costo para realizar


decisiones estratégicas de negocios y esta es la verdad ya sea que estás creando una
nueva empresa, ejecutando una nueva oportunidad de negocios, o habilitando tu negocio
para obtener mejores resultados.

El análisis de costo no solo ayuda a determinar el costo del proyecto y su mantenimiento,


sino que también sirve para determinar si es viable. Se debe medir el software para
evaluar los beneficios en términos de productividad y de calidad derivados del uso de
nuevos métodos y herramientas de ingeniería del software estableciendo una línea base
para la estimación.

Una estimación lo suficientemente exacta permite a la empresa una mejor planificación


de los proyectos que maneja, así como una mejor asignación de los recursos necesarios
para cada proyecto, en cambio los errores en la estimación pueden suponer que la
planificación del proyecto acabe sufriendo más problemas de los esperados inicialmente,
una disminución de la calidad, retrasos en la fecha de entrega, exceso de recursos
reservados al proyecto lo cual conlleva a un presupuesto excesivo.

Se mostrará a continuación el desarrollo del contenido para mayor información de lo que


vendría siendo la Estimación de Costos de Software.
➢ Factores en el costo del software, (capacidad programador).

La estimación de lo que costara el desarrollo de un software es una de las actividades


de planeación que reviste especial importancia, y aun una de las características que debe
tener un producto de software es que su costo sea adecuado, de lo contrario el proyecto
puede fracasar.

➢ Los factores que afectan al costo del software son:

1. Capacidad del programador


2. Complejidad del producto
3. Tamaño del programa
4. Tiempo disponible
5. Confiabilidad requerida.

➢ Productos, tiempo disponible, confiabilidad, tecnológico, productividad,


métricas técnicas, orientadas al tamaño, orientadas a personas.
1. Producto:
• Programas de aplicación (procesamientos de datos y programas de datos).
• Programas de apoyo (compiladores, ligadores y sistemas de inventarios),
• Programas de sistemas (sistemas de base de datos, sistemas operativos y
sistemas para tiempo real).
2. Tiempo disponible

El esfuerzo total del proyecto se relaciona con el calendario de trabajo asignado para la
terminación del proyecto.

3. Confiabilidad

La confiabilidad puede expresarse en términos de exactitud, firmeza, cobertura y


consistencias de código fuente.
4. Tecnológico:

El nivel de tecnología empleado en un proyecto de programación se refleja en el lenguaje


utilizado.

5. Métricas técnicas

Se centran en las caractericas del software.

6. Orientadas al tamaño

Es para saber en qué tiempo voy a terminar el software y cuantas personas voy a
necesitar.

7. Orientadas a personas

Proporcionan medidas e información sobre la forma que la gente desarrolla el


software de computadoras y sobre todo el punto de vista humano de la efectividad de
las herramientas y métodos.

➢ Mediciones del software.

Entre las medidas directas del proceso de la ingeniería del software se incluyen el
coste y el esfuerzo aplicados. Entre las medidas directas del producto se incluyen las
líneas de código (LDC) producidas, velocidad de ejecución, tamaño de memoria, y
los defectos informados durante un período de tiempo establecido. Entre las medidas
indirectas se incluyen la funcionalidad, calidad, complejidad, eficiencia, fiabilidad,
facilidad de mantenimiento y muchas otras «capacidades.
➢ Métricas orientadas al tamaño.

Las métricas del software orientadas al tamaño provienen de la normalización de las


medidas de calidad y/o productividad considerando el «tamaño» del software que se
haya producido. Si una organización de software mantiene registros sencillos, se puede
crear una tabla de datos orientados al tamaño, como la que muestra la Figura 4.4. La
tabla lista cada proyecto de desarrollo de software de los últimos años y las medidas
correspondientes de cada proyecto. Debe tenerse en cuenta que el esfuerzo y el coste
registrados en la tabla incluyen todas las actividades de ingeniería del software (análisis,
diseño, codificación y prueba) y no sólo la codificación

➢ Métricas orientadas a la función

Utilizan una medida de la funcionalidad; ésta no se puede medir directamente, se


debe derivar indirectamente por medio de medidas directas. Las primeras fueron
propuestas por Albrecht, que sugirió una medida llamada “Punto de Función” para un
sistema de software, la idea es que examinemos una especificación del sistema,
estas se derivan con una relación empírica según las 33 medidas contables (directas)
del dominio de información del software y las evaluaciones de la complejidad de
software. [Charles R. Symons, ‘98]

➢ Factores que inciden en la productividad del software.


• Factores humanos: El tamaño y la experiencia de la organización de
desarrollo.
• Factores del problema: La complejidad del problema que se debe resolver y el
número de cambios en las restricciones o los requisitos del diseño.
• Factores del proceso: Técnicas del análisis y diseño qué se utilizan, lenguajes
y herramientas CASE y técnicas de revisión.
• Factores del producto: Fiabilidad y rendimiento del sistema basado en
computadora.
• Factores del recurso: Disponibilidad de herramientas CASE, y recursos
(hardware y software).

➢ Técnicas de descompensación
La técnica de descomposición basada en el problema, se basa en la descomposición del
producto en funciones y estimar el tamaño del software, por tanto, la primera estimación
que sirve de base para todas las demás, es la estimación del tamaño del software.

Podemos considerar que dos tamaños del software:


• Tamaño en LDC
• Tamaño en PF.

➢ Estimación de esfuerzo.

Son modelos que se han establecido en base a análisis de regresión a partir de datos
históricos de grupo de sistemas.

Y ¿qué métricas utilizan la mayoría de estos modelos? Y ¿por qué?

Estos modelos se basan en una métrica de tamaño/ complejidad e intentan deducir el


esfuerzo. Las métricas que utilizan son:

• PON
• PF
• LDC

Y se utilizan cuando no se tiene como dato la productividad de los ingenieros.


➢ Modelos de estimación (Empírica)

Un modelo empírico de estimación para software puede utilizar fórmulas derivadas


empíricamente para predecir el esfuerzo como una función de LDC y PF. Los datos
empíricos que soportan la mayoría de los modelos de estimación se obtienen de una
muestra limitada de proyectos. Es por eso que estos modelos de estimación no son
adecuados para todas clases de software y en todos los entornos de desarrollo. Por
consiguiente, los resultados obtenidos de dichos modelos se deben utilizar con
prudencia.

➢ Modelos de recurso

Recursos Humanos

Cantidad de personas y capacidades necesarias para completar el Proyecto.

Recursos reusables.

Componentes ya desarrollados, componentes experimentados, componentes de


experiencia parcial, componentes nuevos.

Recursos de entorno.

Que debe estar disponible para el equipo durando el proceso de su desarrollo.

➢ Modelos de simple – variable – estático.

Modelo simple
Relativamente pequeños y sencillos, en los que trabajan pequeños equipos con experiencia,
sobre un conjunto de requisitos poco rígidos.
Modelo variable
Proyectos intermedios (en complejidad y tamaño) en los que participan equipos con variados
niveles de experiencia y que deben satisfacer requisitos poco o medio rígidos.
Modelo Estático
Proyectos que se deben ser desarrollados en un conjunto de hardware y software y restricciones
operativas muy restringidas.
• Modelo multivariable dinámico

Es un modelo multivariable dinámico que asume una distribución especifica del esfuerzo
a lo largo de la vida de un proyecto de desarrollo de software.

• Modelo de cocomo

El modelo COCOMO original está compuesto de tres modelos:

• Básico: Calcula el esfuerzo en función del tamaño estimado (KLDC).


• Intermedio: Calcula el esfuerzo en función del tamaño estimado y de
“conductores de coste”. Los conductores de coste evalúan un conjunto de
atributos del producto, del hardware, del personal y del proyecto.
• Avanzado: Modificación del modelo intermedio para considerar el impacto de los
conductores de coste en cada fase del proyecto.

Se usa uno u otro en función del conocimiento que se tenga del proyecto.

Estos tres modelos se definen para tres tipos de proyectos:

• Modo orgánico: proyectos pequeños y medianos, mucha experiencia, pocas


restricciones, realizado por equipos pequeños, entorno familiar.
• Modo semiacoplado: proyectos intermedios en tamaño y complejidad, varios
niveles de experiencia.
• Modo empotrado: proyectos complejos y muy restrictivos. Proyectos
innovadores. Desarrollados dentro de un conjunto estricto de hardware, de
software y restricciones operativas.

El modo determina los valores que tendrán las constantes y los exponentes de las
ecuaciones.
COCOMO es el modelo empírico más completo para la estimación del software publicado
hasta la fecha.

COCOMO II constituye una mejora y avance importante sobre el COCOMO original,


también llamado COCOMO 81.

• Modelo de estimación de tiempo

La gestión de tiempos reúne todos aquellos procesos necesarios para asegurar el


correcto desarrollo de las distintas tareas, dentro de los plazos especificados, así como
de las herramientas para el control y seguimiento de la planificación temporal y la
programación del proyecto.
Conclusiones

Con el desarrollo de trabajo aprendí que la estimación de costo de software debe


considerar cuatro aspectos antes de que sea realizado:

1. Cuando debe de durar


2. Cuanto esfuerzo se necesidad
3. Costo requerido (de lo contrario no será un gran proyecto).
4. Y por último cuantas personas estarán implicadas en el desarrollo de este
software.

Los modelos a pesar de sus perfeccionamientos sobre diferentes entradas para la


estimación de esfuerzo, costo y tiempo no modelan de manera exacta, ya que es
necesario compara con otros modelos para no cometer errores en la estimación que a la
larga puede causar pérdidas de tiempo.

El cálculo de los costos en el desarrollo de software constituye una herramienta


necesaria para garantizar el éxito en la gestión del producto informático aportándole
calidad al servicio desde su planificación hasta la entrega final.

Las métricas propuestas instituyen un novedoso instrumento para calcular el precio de


venta del producto de software, partiendo de costos que miden, lo intangible, el
conocimiento, la comunicación del equipo de especialistas, el ambiente de trabajo,
aportándole valor agregado al producto final.

Estimar el esfuerzo que nos requiere la realización de un proyecto debería ser siempre
el primer paso que demos para acometerlo. En Ingeniería del Software una adecuada
estimación es la base de toda planificación creíble y útil, por lo que debemos conocer las
distintas técnicas existentes y usarlas como medio para elaborar un plan de proyecto
orientado hacia el éxito.
Bibliografia.

• Estimacion
• Estimacion de proyectos de software Andres Felipe Montaya Rios
• Tecnicas de estimacion de costos de proyecto de software Jennifer Andrea Cano
Guevara
• Estimacion de proyectos de software Wikipedia
• Productividad de estimacion de proyectos de software
• Modelos Empiricos de estimacion
• Estimacion para proyectos de software Johanna Caragolla y Alex Pujota

También podría gustarte