Admon. Centros de Computo

29
UNICAH – I Periodo 2015 Facultad de Ing. en Ciencias de la Computación. Cat. Claudia Elizabeth Morales.

description

Centros de Computo

Transcript of Admon. Centros de Computo

UNICAH – I Periodo 2015Facultad de Ing. en Ciencias de la Computación.Cat. Claudia Elizabeth Morales.

“Medimos para mejorar”Las mejoras en el proceso de desarrollo de software y sistemas de calidad nopueden ser evaluadas sin un esfuerzo efectivo de medición.Cada organización desea mejorar sus procesos de desarrollo de software debidoa que existe un tangible beneficio con la construcción de un mejor software.

A continuación se enumeran las siguientes necesidades de medición:• Mejoras en la calidad y productividad.• Planificación y estimación de proyectos con alguna precisión.• Disposición del personal adecuado, bien utilizado y motivado.• Existencia de una adecuada estructura organizacional.• Uso de técnicas y herramientas efectivas para el proceso.• Obtención de un espacio físico y ambiente de trabajo óptimo.

Caracterizar

Evaluar

Predecir

Mejorar

Razones por la que medimos:

Caracterizamos: para comprender mejor los procesos, los

productos, los recursos y los entornos y para establecer las

líneas base para las comparaciones con evaluaciones

futuras.

Evaluamos: para determinar el estado con respecto al diseño. Las

medidas utilizadas son los sensores que nos permiten conocer cuándo

nuestros proyectos y nuestros procesos están perdiendo la pista, de

modo que podamos ponerlos bajo control.

Razones por la que medimos:

Predecimos para poder planificar. Realizar mediciones para la

predicción implica aumentar la comprensión de las relaciones entre losprocesos y los productos y la construcción de modelos de estasrelaciones, por lo que los valores que observamos para algunosatributos pueden ser utilizados para predecir otros.

Medimos para mejorar cuando recogemos la información

cuantitativa que nos ayuda a identificar obstáculos, problemas deraíz, ineficiencias y otras oportunidades para mejorar la calidad delproducto y el rendimiento del proceso.

Razones por la que medimos:

Procesos o tareas a ejecutar (especificaciones, modelado, diseño, prueba).

Productos entregados durante el proceso (documentación de diseño, código fuente, registro de pruebas)

Recursos que permiten realizar el proceso

(personal, computadoras, dinero)

¿Qué medimos en ingeniería de Software?

Una medida proporciona una indicación cuantitativa de la extensión, cantidad,dimensiones, capacidad o tamaño de algunos atributos de un proceso o producto.Ejemplo: Un programa tiene 10,000 LDC (líneas de código).

La medición es el acto de determinar una medidaEjemplo: Se necesita de medir las LDC de cada módulo del sistema.

Medidas Métricas e indicadores:

Una métrica es una medida cuantitativa del grado en que un sistema, componente o proceso posee un atributo dado.Ejemplo: la productividad de este proyecto fue de 500 (LDC/persona-mes)

Un indicador es una métrica o combinación de métricas que

proporcionan una visión profunda del proceso del software, del

proyecto de software o del producto en si.

• La medida captura una característica individual.

• La medición permite capturar dicha característica.

• La métrica permite relacionar y comparar mediciones.

• Las métricas son el fundamento de los indicadores

Medidas Métricas e indicadores:

Cada una de estas entidades puede ser medida definiendo sus atributos internoso externos.

• Un atributo interno es medido directamente desde la entidad. Por ejemplo,una medida interna del código fuente es el tamaño medido por las líneas decódigo.

• Un atributo externo es una medida de la entidad con relación a una necesidadexterna definida por el ambiente en el cual es desarrollada o utilizada. Porejemplo, la mantenibilidad del código fuente (medición externa), representa lahabilidad de una entidad específica de un producto (código fuente) dealcanzar los requerimientos de acomodarse a los cambios fácilmente

En general, las mediciones que se realizan son pocas y simples.

Para el proceso éstas corresponden a costo y esfuerzo incurridos a lo largo deltiempo necesario en el desarrollo hasta el fin del proyecto.

Para el producto, líneas de código o puntos de función producidos, páginas dedocumentación escritas, velocidad de ejecución de los programas, tamaño dememoria requerida y defectos reportados en un período dado.

Para los recursos, cantidad de personal involucrado, tamaño, experiencia delequipo de desarrollo, costo y disponibilidad de las herramientas utilizadas.

De las estadísticas que generan los proyectos realizados se puede obtener algunosindicadores o métricas de calidad y productividad:

Productividad: LDC/PM ó PF/PM

Calidad: defectos/LDC

Documentación: páginas de documentación/LDC

Donde:LDC= Lineas de CódigoPM = Personas mes destinados al proyecto.

No es una medida fiable de productividad personal. Penaliza a lenguajes de alto nivel. La complejidad de un software no depende de su tamaño

En general las mediciones asociadas a las LOC están en permanente discusión, ya queson dependientes del lenguaje de programación, no son fáciles de utilizar en lenguajesno procedurales y su uso en estimaciones requiere de mucho detalle en losrequerimientos.

En todo proyecto existe un presupuesto asignado, el cual debe ser controlado yrespetado.

Para estimar recursos, costo y tiempo en un proyecto de software se necesita• Experiencia,• acceso a información histórica y• hacer uso de métricas cuantitativas cuando existen los datos para ello.

Los componentes principales de costos son:• Hardware.• Entrenamiento.• Esfuerzo

Existen siete técnicas posibles para estimar los costos del Software

1. Modelos algorítmicos. Se utiliza un modelo basado en información histórica

2. Juicio experto. El costo es obtenido por consenso de expertos en el desarrollo.

3. Estimación por analogía. Se basa en el desarrollo previo de proyectos similares.

4. Ley de Parkinson. El trabajo se expande hasta llenar todo el tiempo disponible.

5. Precio para ganar. El costo se estima según el presupuesto disponible.

6. Estimación top down. El costo se estima considerando la funcionalidad total delproducto y cómo ésta es provista por las subfunciones interactuantes. El costose basa en las funciones lógicas.

7. Estimación bottom up. Se estima el costo de cada componente para luegoagregarse en un costo total.

Variables para medir costos en un proyecto de IT

Estimación de Recursos:

Recursos Humanos: Determinar el personal necesario, la posición dentro de laorganización y la especialidad requerida. El número de personas sólo puede serdeterminado después de hacer una estimación de esfuerzo.

Recursos de Hardware: Durante la planificación del proyecto de software, se debenconsiderar básicamente tres categorías de HW; el sistema de desarrollo, la máquinaobjetivo y los demás elementos de HW del nuevo sistema. Sistemas de desarrollo, es el HWdonde se desarrolla el proyecto, máquina objetivo es el HW que utilizará nuestro cliente yel sistema, lo demás serán los periféricos asociados.

Recursos de Software: Se utilizan distintas herramientas que ayudan en el desarrollo delnuevo sistema, estas herramientas tienen diferentes propósitos como: gestión deproyectos, soporte, análisis y diseño, programación, mantenimiento, entre otros.

La estimación del costo y del esfuerzo del software nunca será a ciencia algoexacto. Son demasiadas las variables humanas, técnicas, de entorno, políticas quepueden afectar al costo final del software y al esfuerzo aplicado para desarrollarlo.

Para realizar estimaciones seguras de costos y esfuerzos tenemos variasopciones posibles: Utilizar “técnicas de descomposición” relativamente sencillas para generar las

estimaciones de costo y de esfuerzo del proyecto. Desarrollar un modelo empírico para el cálculo de costos y esfuerzos. Adquirir una o varias herramientas automáticas de estimación.

Dejar las estimaciones para más adelante o retrasarlas no es una opción yaque estas se necesitan de antemano.

Las tres opciones restantes son métodos viables para la estimación delproyecto.

• Las técnicas de descomposición utilizan un enfoque divide y vencerás.• Los modelos empíricos son utilizables como complemento de las

técnicas de descomposición donde cada modelo se basa en laexperiencia (datos históricos).

• Por ultimo las herramientas automáticas de estimación ponen enejecución una o varias técnicas de descomposición o modelos empíricos.

LDC y PF son técnicas de estimación distintas, a pesar de que ambas tienenvarias características en común.

La estimación comienza con un enfoque limitado para el ámbito del software ydesde esta sentencia intenta descomponer el software en funciones que sepueden estimar, individualmente.

Para cada función entonces se estima las LDC y el PF (la variable de estimación).

En la actualidad las métricas más usadas para dimensionar un

producto de software son las Líneas de Código (LDC) y los

Puntos de Función (PF). Ambos poseen ventajas y desventajas que serán discutidas a continuación.

Las LINEAS DE CODIGOmiden en forma directa el tamaño del producto de software. Se calculansimplemente contando las instrucciones de código fuente de cada componente delproducto de software excluyendo, generalmente, los comentarios y blancos.

Los Puntos de función:

• Permiten medir el tamaño del software cuantificando la funcionalidadproporcionada al usuario basándose únicamente en un diseño lógico y enespecificaciones funcionales

• Método para cuantificar el tamaño y la complejidad de un sistema de software en términos de las funciones que el sistema entrega al usuario.

Método independiente de:• Lenguaje de programación• Proceso de desarrollo• Tecnología• Capacidad del equipo de desarrollo