martes, 19 de octubre de 2010

Métricas del SW



 Métricas Orientadas al tamaño



 Es para saber en que tiempo voy a terminar el software y cuantas personas voy a necesitar. Son medidas directas al software y el proceso por el cual se desarrolla, si una organización de software mantiene registros sencillos, se puede crear una tabla de datos orientados al tamaño como se muestra en la siguiente figura:





La tabla lista cada proyecto del desarrollo del software de los últimos años correspondientes, datos orientados al tamaño de c/u. Refiriéndonos a la entrada de la tabla del proyecto 999-01 se desarrollaron 12.1 KLDC (miles de líneas de código) con un esfuerzo de 24 personas mes y un costo de 168 mil dólares. Debe tenerse en cuenta que el esfuerzo y el costo registrados en la tabla incluyen todas las actividades de la ingeniería de software como son análisis, diseño, codificación y prueba. Otra información del proyecto 222-01 indica que se desarrollaron 365
paginas mientras que se encontraron 29 errores tras entregárselo al cliente, dentro del primer año de utilización también sabemos que trabajaron 3 personas en el desarrollo del proyecto. 
En los rendimientos del sistema y los rudimentarios datos contenidos en la tabla se puede
desarrollar, para cada proyecto un conjunto de métricas sencillas de productividad y calidad orientadas al tamaño. Se obtienen las siguientes formulas:


Productividad = KLDC/persona-mes
Calidad = errores/KLDC
Documentación = pags. Doc/ KLDC
Costo = $/KLDC
persona-mes es el esfuerzo



Métricas Orientadas a la función

Son medidas indirectas del software y del proceso por el cual se desarrolla. En lugar de calcularlas las LDC, las métricas orientadas a la función se centran en la funcionalidad o utilidad del programa. Las métricas orientadas a la función fueron el principio propuestas por Albercht quien sugirió un acercamiento a la medida de la productividad denominado método del punto de función. Los puntos de función que obtienen utilizando una función empírica basando en medidas cuantitativas del dominio de información del software y valoraciones subjetivos de la complejidad del software. Los puntos de función se calculan rellenando la tabla como se muestra en la siguiente figura:


Calculo de métricas de punto de función.





Se determinan 5 características del ámbito de la información y los cálculos aparecen en la posición apropiada de la tabla. Los valores del ámbito de información están definidos de la siguiente manera.

1. Números de entrada de usuario: se cuenta cada entrada del usuario que proporcione al software diferentes datos orientados a la aplicación. Las entradas deben ser distinguidas de las peticiones que se contabilizan por separado.
2. Numero de salida del usuario: se encuentra cada salida que proporciona la usuario información orientada ala aplicación. En este contexto las salidas se refieren a informes, pantalla, mensajes de error. Los elementos de datos individuales dentro de un informe se encuentran por separado.
3. Números de peticiones al usuario: una petición esta definida como una entrada interactiva que resulta de la generación de algún tipo de respuesta en forma de salida interactiva. Se cuenta cada petición por separado.
4. Numero de archivos: se cuenta cada archivo maestro lógico, o sea una agrupación lógica de datos que puede ser una parte en una gran base de datos o un archivo independiente.
5. Numero de interfaces externas: se cuentan todas las interfaces legibles por la maquina por ejemplo: archivos de datos, en cinta o discos que son utilizados para transmitir información a otro sistema.

Cuando han sido recogidos los datos anteriores se asocian el valor de complejidad a cada cuenta. Las organizaciones que utilizan métodos de puntos de función desarrollan criterios para determinar si una entrada es denominada simple, media o compleja. No obstante la determinación de la complejidad es algo subjetivo.

Para calcular los puntos de función se utiliza la siguiente relación.

PF = CUENTA_TOTAL * [0.65 + 0.01 * SUM(fi)]
Donde CUENTA_TOTAL es la suma de todas las entradas de PF obtenidas de la tabla anterior.
Fi donde i puede ser de uno hasta 14 los valores de ajuste de complejidad basados en las
respuestas a las cuestiones señaladas de la siguiente tabla.
Evaluar cada factor en escala 0 a 5.




Los valores constantes de la ecuación anterior y los factores de peso aplicados en las encuestas de los ámbitos de información han sido determinados empíricamente. Una vez calculado los puntos de función se usan de forma analógica a las LDC como medida de la productividad, calidad y otros productos del software.

Productividad = PF / persona-mes
Calidad = Errores / PF
Costo = Dólares / PF
Documentación = Pags. Doc / PF

La medida de puntos de función se diseño originalmente para ser utilizadas en aplicación de sistemas de información de gestión. Sin embargo, algunas aplicaciones se les denomina puntos de características. La medida del punto de característica da cabida a aplicaciones cuya complejidad algoritmica es alta. Las aplicaciones de software de tiempo real de control de procesos y de sistemas que encontrados tienden a tener una complejidad algoritmica alta y por tanto fácilmente tratables por puntos de características.


Métricas ampliadas de punto de función


Los puntos de función fueron diseñados originalmente para sistemas de información y por eso le da más importancia a los datos y menos a los aspectos de control y funcionales. Para subsanar esto, se han propuesto los puntos de característica y los puntos de función 3D.

Puntos de característica.

Se calcula igual que el punto de función y solo agrega la cuenta de algoritmos. En este contexto se define un algoritmo como un problema de cálculo limitado que se incluye dentro de un programa de computadora específico. Invertir una matriz, decodificar un string o manejar una interrupción son ejemplos de algoritmos.

Puntos de función 3D.

donde:

    * Estructuras internas de datos. Son arreglos, listas ligadas, pilas, colas, etc.
    * Datos externos.
    * Entradas de usuario. Definidas igual que para el punto de función.
    * Salidas de usuario. Definidas igual que para el punto de función.
    * Peticiones de usuario. Definidas igual que para el punto de función.
    * Transformaciones. Son las operaciones internas requeridas para transformar datos de entrada en datos de salida. Multiplicar dos matrices cuenta como una transformación. Leer datos de un archivo y guardarlos en memoria no.
    * Transiciones. Ocurre cuando el software pasa de un estado a otro como resultado de algún suceso. En un sistema de altas, bajas y cambios, al tomar la opción de altas, pasa del estado "menú principal" al estado "procesa altas" y puede ser que en ese momento pida datos para dar la alta.

Indicaciones:

    * Para cada medida, contar por separado, de acuerdo a algún criterio de asignación de complejidad, las veces que aparezca con complejidad baja, media y alta.
    * Para cada medida, multiplicar cada cuenta por el factor de complejidad correspondiente, sumar las tres cantidades y escribir el total en la columna de la extrema derecha.
    * Sumar la columna de la extrema derecha y obtener el punto de función 3D.


Métricas Orientadas a la  Calidad


Corrección: medir la funcionalidad del software(para lo que fue hecho).

Facilidad de Mantenimiento: facilidad para corregir errores y adaptarse a los cambios.

Integridad: medir la capacidad del sistema para resistir ataques accidentales o intencionales en su seguridad.

Integridad= 1-(amenaza*(1-seguridad)

Amenaza =probabilidad que un ataque suceda en un tiempo determinado.
Seguridad = probabilidad de que se repela la amenaza.

Facilidad de uso: se mide en términos de interfaz de usuario.

Eficacia en la eliminacion de defectos


Cuando se considera un proyecto como un todo se define:

EED=  E/ (E+D)
E: numero de errores encontrados antes de entregar el software al usuario final
D: numero de defectos encontrados después de la entrega.

Nota: El valor ideal de EDD es 1

Al aplicarla antes de que ocurra una  actividad  se define como:

EEDi= Ei/(Ei+Ei+1)

Ei: numero de errores encontrados durante la actividad
Ei+1: numero de errores encontrados durante la actividad i+1 de ingeniería del software.


Métricas para las pequeñas organizaciones


  • Tiempo transcurrido desde el momento en que se hizo la solicitud hasta que la evaluación esta completa
  • Esfuerzo para realizar la evaluación.
  • Tiempo transcurrido desde que se completa la evaluación hasta la asignación del pedido de cambio de personal.
  • Esfuerzo requerido para hacer el cambio.
  • Tiempo requerido para hacer el cambio.
  • Errores descubiertos durante el trabajo para hacer el cambio.
  • Defectos descubiertos después de que el cambio es liberado a la base de cliente.
Programa de métricas y planificación


Aplicación de métricas Orientadas al Tamaño y Orientadas a la función a los casos de estudio

Caso FES


1.Objetivos del Negocio.
Automatizar sus actividades a fin de mejorar la Gestión de Fondos asignados a los diversos programas.

2.Nuevos saberes/Aprendizajes.

La Fundación Friedrich Ebert (FES) fue creada en 1925 como legado político de Friedrich Ebert, el primer presidente alemán elegido democráticamente. La Fundación es una institución político-cultural privada, sin fines de lucro, comprometida con los principios y los valores fundamentales de la democracia social.

El trabajo de la Fundación tiene como objetivo fomentar la participación, el pluralismo y la justicia social así como fortalecer el estado de derecho y promover la búsqueda de soluciones pacíficas de conflictos en la esfera estatal y en la sociedad civil. La FES trabaja con partidos políticos, sindicatos, instituciones de investigación y enseñanza, movimientos cívicos y organizaciones de la sociedad civil; igualmente, con entidades estatales y organismos internacionales.

En sus prioridades de trabajo, las oficinas de la FES se orientan por sus cometidos principales, los grandes retos políticos globales y por las necesidades de sus respectivas contrapartes. La asesoría política, la formación socio-política y el intercambio internacional de experiencias se realizan mediante consultorías, conferencias, seminarios y talleres.


El trabajo internacional de la FES es financiado, en su mayor parte, con fondos proporcionados por el Ministerio Federal de Cooperación Económica y Desarrollo y el Ministerio Federal de Relaciones Exteriores. Con recursos de otros organismos, entre ellos de la Unión Europea, se financian numerosos proyectos específicos.

3.Subojetivos.

Mejorar la  Gestión de Fondos asignados a los programas Nicas y control de:

Agenda de Eventos:
    Lugar.
    Fecha
    Participantes
        Invitaciones.
        Confirmación.
        Llenado de datos.
Exponencias
    Temas.
    Documentos.
    Materiales de Apoyo.
    Informes.
    Publicación.
Refrigerios y Alimentos.


4.Entidades y atributos de los Subojetivos


5.Objetivos de Medición.

Nuestros objetivos con respecto a la medición del Software es tratar de que el mismo trabaje con gran funcionalidad y eficiencia del cual tratamos de que se realice con gran calidad para que no haya problemas en el momento de la implementación. Así como que tenga la facilidad de darle mantenimiento o control de errores para que no haya ningún tipo de problema. Todo esto con el fin de crear un software que se ha muy fiable y de gran particularidad y que se ha de agrado a la Fundación.

6. Preguntas Cuantitativas e Indicadores relacionados.

1. ¿Requiere el sistema copias de seguridad y de recuperación fiables?
2. ¿Se requiere comunicación de datos?
3. ¿Existen funciones de procesamiento distribuido?
4. ¿Es crítico el rendimiento?
5. ¿Se ejecutaría el sistema en un entorno operativo existente y fuertemente utilizado?
6. ¿Requiere el sistema entrada de datos interactiva?
7. ¿Requiere la entrada de datos interactiva que las transacciones de entrada se lleven a cabo sobre múltiples pantallas u operaciones?
8. ¿Se actualizan los archivos maestros de forma interactiva?
9. ¿Son complejas las entradas, las salidas, los archivos o las peticiones?
10. ¿Es complejo el procesamiento interno?
11. ¿Se ha diseñado el código para ser reutilizable?
12. ¿Están incluidas en el diseño la conversi6n y la instalaci6n?
13. ¿Se ha diseñado el sistema para soportar múltiples instalaciones en diferentes organizaciones?
14. ¿Se ha diseñado la aplicaci6n para facilitar los cambios y para ser fácilmente utilizada por el usuario?

Cada una de las preguntas anteriores es respondida usando una escala con rangos desde 0 (no importante o aplicable) hasta 5 (absolutamente esencial).


7.Recolecta de datos y cálculos de indicadores.


 Según el modo y el modelo, mis constantes tienen los valores siguientes:


Esto es para determinar los Factores ∑ F


PF= CUT * (0.65 + 0.01 * ∑ F)

PF=714 * (0.65 + 0.01 * 54)
    =714*(0.65 + 0.54)
    =714*(1.19)
    =849.66
   =850

P= a (Kl) b
P=3 * (0.85)
  = 2.50

TD= C * Pd
    = 2.5 * (2.5)0.35
    =3.44
   

CT= P/TD * Salario Prom.del personal
   = (2.50)/(3.44) * U$ 200
   = U$ 145.34




M(x)=





M(X): ∑pesos

Atributos de Software:
3.40

Atributos de Hardware:
4

Atributo de Personal:
1.53

Atributo del Proyecto:
3.44

∑pesos
3.40
4
1.53
3.44
_______
12.37



Medidas a usar.

Definición Operativa de Resultados:

PF (Punto de función)= Esto quiere decir que en el punto de función tiene 850 líneas de código o sea 0.85 Kl.

P= Equivalente al número de personas que van a desarrollar el software osea como máximo 3 integrantes.

TD= Tiempo de desarrollo (meses) En este caso son 3 mese y medio para desarrollar un software complejo.

CT= Ganancia o costo total del software total en este caso es de U$145.

M(x)= Es un multiplicador que depende de 15 o 17 atributos y del peso cualitativo.


Acciones de Mejora.

  • Aumentar el personal capacitado para el desarrollo del software.
  • Es recomendable comenzar por automatizar las pruebas de aquellos procesos que aporten mayor valor, aunque la labor sea a priori más compleja.
  • Es necesario decidir qué mostrar, cuándo y a quién, fijando diferentes niveles de abstracción o agrupación de datos.
 
 
Caso Agencia de viajes Sky Light Tours


1-Objetivo del Negocio:

Realizar una mercadotecnia defensiva para promocionar sus servicios  en los diferentes medios de comunicación.

2-Nuevos saberes /aprendizaje

 
Sky Light tour Operadora  fue fundada en febrero de 2004, por su Gerente General Lic. Ivania Sequeira, como un proyecto familiar con el objetivo de unificar los ingresos dentro del entorno familiar y dejar herramientas de trabajo a sus hijos.

Es una empresa turística que brinda los servicios en venta de boletos aéreos, paquetes turísticos, renta de automóviles, en todo el territorio nacional e internacional.
Brindan  servicios personalizados a los organismos internacionales, empresas  privadas y público en general

Todas las transacciones de los servicios turísticos son realizadas vía internet, telefónicamente o visitas personales a los diferentes clientes.

3- Sub-objetivos:

Sitio Web
Mapa País:
    Ciudades:
    Hoteles
    Descripción
    Servicios: Habitaciones,  Piscina, restaurante, recreaciones (Alquiler vehicular).
    Promociones: paquetes turísticos, viajes.
Aerolíneas:
    Clase
    Origen
    Destino
    Promociones
Clientes:
    Información: paquetes turísticos ,  Promoción de boletos aéreos
    Encuesta
    Sugerencias


4- Entidades y atributos de los Sub-objetivos
 
 
 
5- Objetivos de medición:

Mejorar el proceso de software, ya que ayudan a  la planificación, seguimiento y control del proyecto.
Evaluar la calidad del software que se va a producir
Analizar los indicadores
Realizar guías y acciones de gestión y técnicas
Tener una visión en cuanto a la efectividad del proceso de desarrollo


6- Preguntas Cuantitativas  e indicadores relacionados.



1. ¿Requiere el sistema copias de seguridad y de recuperación fiables?
2. ¿Se requiere comunicación de datos?
3. ¿Existen funciones de procesamiento distribuido?
4. ¿Es crítico el rendimiento?
5. ¿Se ejecutaría el sistema en un entorno operativo existente y fuertemente utilizado?
6. ¿Requiere el sistema entrada de datos interactiva?
7. ¿Requiere la entrada de datos interactiva que las transacciones de entrada se lleven a cabo sobre múltiples pantallas u operaciones?
8. ¿Se actualizan los archivos maestros de forma interactiva?
9. ¿Son complejas las entradas, las salidas, los archivos o las peticiones?
10. ¿Es complejo el procesamiento interno?
11. ¿Se ha diseñado el código para ser reutilizable?
12. ¿Están incluidas en el diseño la conversión y la instalación?
13. ¿Se ha diseñado el sistema para soportar múltiples instalaciones en diferentes organizaciones?
14. ¿Se ha diseñado la aplicación para facilitar los cambios y para ser fácilmente utilizada por el usuario?


7- Recolecta de datos y  Cálculos de indicadores relacionados.

Según el modo y el modelo seleccionado, las  constantes tienen los valores siguientes:



Esto es para determinar los Factores ∑ F




PF= CUT * (0.65 + 0.01 * ∑ F)
PF=  726   * (0.65 + 0.01 * 59 )
    =   726 *(0.65 + 0.59 )
    =   726 *(1.24)
    =   900
  

P= a (Kl) b
P=3 * (0.9)1.12
  = 2.66= 3 personas
 

TD= C * Pd
    = 2.5 * (2.6)0.35
    = 3.49
     
CT= P/TD * Salario Prom.del personal
   = (2.66)/(3.49) * U$ 200
   = U$ 152.43



 M(X): ∑pesos

Atributos de Software:
3.40

Atributos de Hardware:
4

Atributo de Personal:
5.41

Atributo del Proyecto:
3.2

∑Pesos
3.40
4
5.41
3.2
_______
16.01


8- Medidas  a usar (definición Operativa de resultados).


PF (Punto de función)= Esto quiere decir que en el punto de función tiene  900  líneas de código o sea 0.9 Kl.

P= Equivalente al número de personas que van a desarrollar el software osea como máximo  3 integrantes.

TD= Tiempo de desarrollo (meses) En este caso son 3  meses y medio para desarrollar un software complejo.

CT= Ganancia o costo total del software total en este caso es de U$ 152.43.

M(x)= Es un multiplicador que depende de 15 o 17 atributos y del peso cualitativo.Prototipo de Interfaz
 
 
Interfaz de Agencia de Viajes





Interfaz de Hoteles



Interfaz de Aerolínea



Interfaz de Alquiler de Vehículos



Interfaz para Cliente
 




 

No hay comentarios:

Publicar un comentario