Está en la página 1de 23

UNIVERSIDAD AUTNOMA JUAN MISAEL SARACHO

FACULTAD DE CIENCIAS Y TECNOLOGA


INGENIERA DE
INGENIERA INFORMTICA SOFTWARE I

CAPTULO III

EL PROCESO DE SOFTWARE Y MTRICAS DEL PROYECTO

3.1. INTRODUCCIN

La existencia de medidas numricas facilita el conocimiento de un fenmeno. Las


mtricas del software miden el software de computadora. Estas mtricas sirven para:
Utilizarlas en el proyecto para ayudar en la estimacin, control de calidad,
evaluacin de la productividad y control de proyectos.
Que el desarrollador de software evale la calidad de los productos y trabajos
tcnicos.
Ayudar en la toma de decisiones tcticas segn avanza el proyecto.
Aplicarlas al proceso con la idea de mejorarlo.

Existen cuatro razones para medir:


Caracterizar.
Evaluar.
Predecir.
Mejorar.

3.2. MEDIDAS, MTRICAS E INDICADORES

Medida: Proporciona una indicacin cuantitativa de la extensin, cantidad,


dimensiones, capacidad o tamao de algunos atributos de un proceso o producto.
(Ejm.: Un programa tiene 10.000 LDC (lneas de cdigo). La medicin es el acto de
determinar una medida (se puede medir las lneas de cdigo de cada mdulo o
sistema). Es un valor asignado a un atributode una entidad mediante una
medicin. Por ejemplo:

La productividad del proyecto A fue de 500 LDC/persona-mes.La medicin es el


acto de determinar una medida, por ejemplo: Ana ser la encargada de medir las
LDC de cada mdulo del sistema.

Mtrica: Es una medida cuantitativa del grado en que un sistema, componente o


proceso posee un atributo dado (IEEE, 1993). Incluye el mtodo de medicin. Por
ejemplo:

21
UNIVERSIDAD AUTNOMA JUAN MISAEL SARACHO
FACULTAD DE CIENCIAS Y TECNOLOGA
INGENIERA DE
INGENIERA INFORMTICA SOFTWARE I

En el pas A ganan 1000 Bs./persona mes), y en el pas B ganan 1500 Bs./persona


mes).
Viven mejor en el pas B que en el pas A?
Un Hamburguesa cuesta 3 Bs. en el pas A, y en el pas B cuesta 5Bs.

Si hacemos cuentas:
Pas A:
1000(Bs./persona mes)/3(Bs/Hamburguesa) = 333,33(Hamburguesa/persona
mes)
Pas B:
1500(Bs./persona mes)/5(Bs/ Hamburguesa) = 250 (Hamburguesa /persona
mes)

En conclusin no sabemos dnde se vive mejor, pero en el pas A una persona


durante un mes puede comer un 33% ms de hamburguesa que en el pas B

Indicador: Es una mtrica o combinacin de mtricas, se obtiene de la recopilacin


de medidas y desarrollo de mtricas. Proporciona una visin profunda del proceso
de software, del proyecto de software o del producto en s. Por ejemplo:

En el pas A, no han aumentado los sueldos en los ltimos tres aos, pero el
ndice Hamburguesa se ha duplicado en ese periodo.
La productividad media de nuestra empresa es de 500(LDC/persona mes) y en el
ltimo proyecto ha sido de 250(LDC/persona mes.

Entonces, la medida captura una caracterstica individual, la medicin permite


capturar dicha caracterstica, la mtrica permite relacionar y comparar mediciones.
Por tanto las mtricas son el fundamento de los indicadores.

3.3. MTRICAS EN EL PROCESO DE SOFTWARE Y EN EL PROYECTO.

Mtrica de Software: Una mtrica es una medida efectuada sobre algn aspecto
del sistema en desarrollo o del proceso empleado, que permite, previa
comparacin con unos valores (medidas) de referencia, obtener conclusiones sobre
el aspecto medido con el fin de adoptar las decisiones necesarias.

21
UNIVERSIDAD AUTNOMA JUAN MISAEL SARACHO
FACULTAD DE CIENCIAS Y TECNOLOGA
INGENIERA DE
INGENIERA INFORMTICA SOFTWARE I

Las razones para medir el producto son:


Para indicar la calidad del producto.
Para evaluar la productividad de la gente que desarrolla el producto.
Para evaluar los beneficios en trminos de productividad y de calidad,
derivados del uso de nuevos mtodos y herramientas de la ingeniera de
software.
Para establecer una lnea de base para la estimacin
Para ayudar a justificar el uso de nuevas herramientas o de formacin adicional.

Para poder aplicar mtricas en el proceso y en el proyecto hay que tomar en cuenta
que los objetivos son establecer los indicadores del proyecto y los indicadores del
proceso.

En este sentido los indicadores del proyecto permiten al gestor:


Evaluar el estado del proyecto en curso.
Seguir la pista de riesgos potenciales.
Detectar reas problemticas antes de que se conviertan en crticas.
Ajustar el flujo y las tareas de trabajo.
Evaluar la habilidad del equipo del proyecto en controlar la calidad de los
productos de trabajo de la Ingeniera de Software.

Los indicadores del proceso permiten:


Al gestor evaluar lo que funciona y lo que no.
A la organizacin, tener una visin profunda de la eficacia de un proceso ya
existente.

Tcnicamente no existe gran diferencia entre las mtricas del proyecto y del
proceso. Se pueden concebir las mtricas del proceso como recopilaciones de
mtricas del proyecto. Es importante mejorar el proceso ya que es un factor clave y
controlable para mejorar la calidad del software y el rendimiento de la organizacin.

21
UNIVERSIDAD AUTNOMA JUAN MISAEL SARACHO
FACULTAD DE CIENCIAS Y TECNOLOGA
INGENIERA DE
INGENIERA INFORMTICA SOFTWARE I

Proceso de Recopilacin de Mtricas del Software


3.3.1. MTRICAS DEL PROCESO.

La eficiencia de un proceso de software se mide indirectamente, se extrae un juego


de mtricas segn los resultados que provienen del proceso. Entre los resultados se
incluyen:
Errores detectados antes de la entrega del software.
Defectos detectados e informados por los usuarios finales.
Esfuerzo humano y tiempo consumido.
Ajuste con la planificacin.
Caractersticas de tareas especficas de la ingeniera del software.
Para diferentes tipos de datos de proceso existen mtricas de uso privado y uso
pblico. Las mtricas de uso privado (privadas del individuo) son los ndices de
defectos, ndices de errores encontrados durante el desarrollo. Las mtricas de uso
pblico (pblicas para todos los miembros del equipo) son los defectos informados
de funciones importantes del software, errores encontrados durante revisiones
tcnicas formales y lneas de cdigo o puntos de funcin por mdulo y funcin.

Las mtricas del proceso pueden ser muy tiles, siempre que tomen en cuenta las
normas bsicas de interpretacin, que son:
Utilizar el sentido comn al interpretar los datos.
Proporcionar una realimentacin regular a particulares y equipos.
No utilizar mtricas para evaluar a particulares.
Establecer mtricas claras y objetivos para alcanzarlas.
No utilizar mtricas para amenazar a particulares o equipos.
Si una mtrica identifica un rea problemtica no se debera considerar como
negativa.

21
UNIVERSIDAD AUTNOMA JUAN MISAEL SARACHO
FACULTAD DE CIENCIAS Y TECNOLOGA
INGENIERA DE
INGENIERA INFORMTICA SOFTWARE I

Hay que interpretar todas las mtricas en su conjunto y no primar una en


particular.

La utilizacin de mtricas e indicadores fiables dan lugar a una mejora estadstica del
proceso del software: Esta mejora se basa en un anlisis de fallos que identifica la
causa y origen de errores y defectos para varios proyectos de software.

Un error, es un fallo en un producto generado durante el proceso de Ingeniera de


Software que es detectado antes de la entrega al cliente. Mientras que un Defecto,
es un fallo detectado despus de la entrega al cliente.

El anlisis de fallos funciona, si se toma en cuenta lo siguiente:


1. Se categorizan por origen todos los errores y defectos de varios proyectos.
2. Se registra el costo de corregir cada error o defecto.
3. El nmero de errores y de defectos de cada categora se cuentan y se ordenan
de forma decreciente.
4. Se computa el costo global de errores y defectos de cada categora.
5. Los datos resultantes se analizan para detectar las categoras que producen el
costo ms alto para la organizacin.
6. Se desarrollan planes para modificar el proceso con el intento de eliminar (o
reducir la frecuencia de apariciones de) la clase de errores y defectos que sean
ms costosos.

Aplicando los pasos 1 y 2 se puede desarrollar una distribucin de fallos, como se


muestra en la siguiente figura:

21
UNIVERSIDAD AUTNOMA JUAN MISAEL SARACHO
FACULTAD DE CIENCIAS Y TECNOLOGA
INGENIERA DE
INGENIERA INFORMTICA SOFTWARE I

Distribucin del anlisis de fallos

3.3.2. MTRICAS DEL PROYECTO

Se deben recopilar mtricas de proyectos anteriores que se utilizan como base para
estimaciones (medidas de esfuerzo y tiempo).
Se miden ndices de produccin.
Se miden horas de revisin.
Los puntos de funcin.
Lneas fuentes entregadas.
Se sigue la pista de los errores detectados.
Se recopilan las mtricas tcnicas para evaluar la calidad del diseo.

La primera aplicacin de las mtricas del proyecto ocurre durante la estimacin


(datos histricos), a medida que avanza el proyecto, las medidas del esfuerzo y el
tiempo se comparan con la planificacin. El gestor utiliza estos datos para
supervisar y controlar el avance, la utilizacin fundamental de las mtricas del
proyecto son: Minimizar la planificacin de desarrollo y evaluar la calidad de los
productos en el momento actual

Otro modelo de mtricas sugiere que en todos los proyectos se deberan medir:

21
UNIVERSIDAD AUTNOMA JUAN MISAEL SARACHO
FACULTAD DE CIENCIAS Y TECNOLOGA
INGENIERA DE
INGENIERA INFORMTICA SOFTWARE I

Entradas: La dimensin de los recursos (personas, entorno) que se requieren


para realizar el trabajo.
Salidas: Medidas de las entregas o productos creados durante el proceso de
ingeniera del software.
Resultados: Medidas que indican la efectividad de las entregas.
Este modelo se puede aplicar tanto al proceso como al proyecto, las salidas de una
actividad se convierten en las entradas de las siguientes actividades.

3.4. MEDICIONES DEL SOFTWARE

Es el proceso por el cual se asignan nmeros (o smbolos) a los atributos de


entidades del mundo real, de forma que la descripcin de los atributos sea
significativa, para caracterizar, evaluar, predecir y mejorar. Existen medidas
directas e indirectas.

Las medidas directas del proceso, incluyen el costo y el esfuerzo aplicado.


Mientras que las medidas directas del producto, incluyen las lneas de cdigo
producidas, velocidad de ejecucin, tamao de memoria y los defectos.

Las medidas indirectas, incluyen la funcionalidad, calidad, complejidad, eficiencia,


fiabilidad, facilidad de mantenimiento. Las mtricas del software se dividen en
mtricas de:
- Proceso.
- Proyecto.
- Producto.
3.5. MTRICAS PARA LA CALIDAD DEL SOFTWARE

Una mtrica de software es una correspondencia entre uno o ms atributos del


entorno de desarrollo del software, y cualquier otro atributo [Fenton, 1997].

El objetivo primordial de la ingeniera del software es producir un sistema,


aplicacin o producto de alta calidad. Los factores de calidad evalan al software
desde tres puntos de vista distintos:
Operacin del producto, haciendo uso del mismo.
Revisin del producto, cambindolo.
Transicin del producto, modificndolo para que funcione en un entorno
diferente.

21
UNIVERSIDAD AUTNOMA JUAN MISAEL SARACHO
FACULTAD DE CIENCIAS Y TECNOLOGA
INGENIERA DE
INGENIERA INFORMTICA SOFTWARE I

La relacin entre estos factores es llamada marco de trabajo.

Las medidas de calidad proporcionan indicadores tiles:


Correccin, es el grado en el que el software lleva a cabo su funcin requerida.
La medida ms comn de correccin son los defectos de miles de lneas de
cdigo (KLDC), en donde se define como una falta verificada de conformidad
con los requisitos.
Facilidad de mantenimiento, es la facilidad con la que se puede corregir un
programa si se encuentra un error. Se puede adaptar si su entorno cambia, o
mejorar si el cliente desea un cambio de requisitos.
Facilidad de uso, es un intento de cuantificar lo amigable que puede ser con el
usuario y se puede medir en funcin de 4 caractersticas:
Habilidad intelectual y/o fsica requerida para aprender el sistema.
El tiempo requerido para llegar a ser moderadamente eficiente en el uso del
sistema.
Aumento neto en productividad medida cuando alguien usa el sistema
moderadamente y eficientemente.
Valoracin subjetiva de la disposicin de los usuarios hacia el sistema.

Integridad, ste atributo mide la habilidad de un sistema para resistir ataques


contra su seguridad. Para medir la integridad, se deben definir amenaza y
seguridad. Amenaza es la probabilidad de que un ataque, de un tipo
determinado, ocurra en un tiempo determinado. La seguridad es la probabilidad
de que se pueda repeler el ataque de un tipo determinado.

3.6. INTEGRACIN DE LAS MTRICAS DENTRO DEL PROCESO DEL


SOFTWARE

La mayora de los que desarrolladores de software no miden y el intentar reunir


medidas donde nadie las ha reunido anteriormente se tornan una tarea difcil.
Es importante medir el proceso de ingeniera de software y el producto de software
que produce. Si no se mide, no hay forma de determinar las mejoras.
Para llevar a cabo la medicin del software se debe establecer una lnea base de
mtricas. Una lnea base de mtricas consiste de datos recopilados en proyectos previos de
desarrollo de software. Con el establecimiento de una lnea base se obtienen
beneficios en el proceso, el proyecto y el producto.

21
UNIVERSIDAD AUTNOMA JUAN MISAEL SARACHO
FACULTAD DE CIENCIAS Y TECNOLOGA
INGENIERA DE
INGENIERA INFORMTICA SOFTWARE I

Para que sea una ayuda efectiva en la planificacin estratgica y/o en las
estimaciones de costo y esfuerzos, los datos de la lnea base tienen que poseer los
siguientes atributos:

Los datos deben ser razonablemente precisos, han de evitarse las suposiciones
sobre proyectos anteriores.
Los datos deben obtenerse de tantos proyectos como sea posible (considerando
que sean de la misma rea).
Las medidas tienen que ser consistentes (por Ej. Las LDC tienen que ser
interpretadas de igual forma para todos los proyectos de los que se hayan
obtenidos datos).
Las aplicaciones deben ser similares a la que vaya a ser estimada (no se podrn
comparar proyectos del rea de multimedia con proyectos del rea de
inteligencia artificial).

3.6.1. RECOPILACIN, CLCULO Y EVALUACIN DE MTRICAS

El proceso con el que se establece una lnea base de mtricas es el siguiente:


Primero se deben recopilar datos de proyectos previos, as se obtienen las medidas,
las cuales se utilizan para calcular las mtricas. Dichas mtricas deben evaluarse y
aplicarse durante la estimacin del trabajo tcnico, produciendo as un conjunto de
indicadores que guan el proceso o proyecto. Este proceso de recopilacin, clculo
y evaluacin se puede observar en la siguiente figura:

Proceso de recopilacin, clculo y evaluacin

3.7. CLASIFICACIN DE MTRICAS DEL SOFTWARE.

Son las que estn relacionadas con el desarrollo del software como funcionalidad,
complejidad, eficiencia.

21
UNIVERSIDAD AUTNOMA JUAN MISAEL SARACHO
FACULTAD DE CIENCIAS Y TECNOLOGA
INGENIERA DE
INGENIERA INFORMTICA SOFTWARE I

MTRICAS ORIENTADAS AL TAMAO. Permiten saber en qu tiempo se va a


terminar el software y cuantas personas se necesitan. Son medidas directas al
software y el proceso por el cual se desarrolla, si una organizacin de software
mantiene registros sencillos, se puede crear una tabla de datos orientados al
tamao como se muestra en la siguiente figura:

Estos datos permitirn calcular la productividad, calidad, costo y


documentacin, de la siguiente forma:
Productividad = KLDC/esfuerzo
Calidad = Errores/KLDC
Costo = $/KLDC
Documentacin = Pags. doc/KLDC

MTRICAS ORIENTADAS A LA FUNCIN. Son medidas indirectas del


software y del proceso. Se centran en la funcionalidad o utilidad del programa.
Emplean como un valor de normalizacin una medida de la funcionalidad que
entrega la aplicacin. La mtrica orientada a la funcin utilizada con mayor
amplitud es el punto de funcin (PF).

Los puntos de funcin que obtienen utilizando una funcin emprica basada en
medidas cuantitativas del dominio de informacin del software y valoraciones
subjetivas de la complejidad del software.

21
UNIVERSIDAD AUTNOMA JUAN MISAEL SARACHO
FACULTAD DE CIENCIAS Y TECNOLOGA
INGENIERA DE
INGENIERA INFORMTICA SOFTWARE I

Tabla del dominio de informacin

MTRICAS TCNICAS: Se centran en las caractersticas de software por ejemplo: la


complejidad lgica, el grado de modularidad. Mide la estructura del sistema, el
cmo est hecho.

MTRICAS DE CALIDAD: proporcionan una indicacin de cmo se ajusta el software


a los requisitos implcitos y explcitos del cliente. Es decir cmo voy a medir para
que mi sistema se adapte a los requisitos que me pide el cliente. Ejemplo de
Mtricas de Calidad ISO/IEC 9126:

21
UNIVERSIDAD AUTNOMA JUAN MISAEL SARACHO
FACULTAD DE CIENCIAS Y TECNOLOGA
INGENIERA DE
INGENIERA INFORMTICA SOFTWARE I

MTRICAS DE PRODUCTIVIDAD. Se centran en el rendimiento del proceso de la


ingeniera del software. Es decir que tan productivo va a ser el software que voy a
disear.

MTRICAS ORIENTADAS A LA PERSONA. Proporcionan medidas e informacin


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 mtodos. Son
las medidas que voy a hacer de mi personal que va har el sistema.

El proceso de software y las mtricas del proyecto son medidas cuantitativos que
proporcionan a los ingenieros de software una amplia visin del proceso y un
conocimiento detallado acerca del proyecto que se lleva a cabo utilizando el
proceso como marco de trabajo.

21
UNIVERSIDAD AUTNOMA JUAN MISAEL SARACHO
FACULTAD DE CIENCIAS Y TECNOLOGA
INGENIERA DE
INGENIERA INFORMTICA SOFTWARE I

La medicin permite destacar las tendencias (ya sean buenas o malas) y hacer
mejores estimaciones que conducirn a un proyecto exitoso; comienza definiendo
un conjunto limitado de medidas del proceso y del proyecto, las cuales por lo
general se normalizan empleando mtricas orientadas al tamao o la funcin, el
resultado se analiza y compara con promedios pasados, luego se valoran las
tendencias y se generan conclusiones.

3.8. EJERCICIOS

Ejercicio 1: Mtrica orientadas al tamao


A continuacin se muestra una tabla que contiene informacin acerca de cuatro proyectos.

PROYECT LDC ESFUERZO $us PAG. ERRORE DEFECTOS PERSONA


O (pm) DOC S S
P1 25500 41 150 500 357 77 5
P2 19100 39 72 950 210 39 6
P3 10700 6 60 150 100 86 3
P4 100000 55 180 1250 2200 400 11

Se pide: Calcular la calidad, productividad, costo y documentacin.


CALIDAD = Error/KLDC
PRODUCTIVIDAD=KLDC/Esfuerzo
COSTO= $us/KLDC
DOCUMENTACION=Pag.doc/KLDC

PROYECTO CALIDAD PRODUCTIVIDAD COSTO DOCUMENTACION


P1 14 0,63 5,88 19,61
P2 10,99 0,49 3,77 99,74
P3 9,35 1,78 5,61 14,02
P4 22 1,82 0,55 12,5

Ejercicio 2: Puntos de funcin ajustados tomando en cuenta


JAVA como lenguaje de desarrollo.

Proporcione un valor que represente la funcionalidad de un sistema con 30


entradas de usuario simples, 40 salidas de usuario simples, 25 peticiones de

21
UNIVERSIDAD AUTNOMA JUAN MISAEL SARACHO
FACULTAD DE CIENCIAS Y TECNOLOGA
INGENIERA DE
INGENIERA INFORMTICA SOFTWARE I

usuario simples, 5 archivos medios y 2 interfaces externas medias. Adems las


importancias de las copias de seguridad es media, la comunicacin de datos es
incidental, no existen funciones de procesamiento distribuido, el rendimiento tiene
una importancia moderada, es esencial que se ejecute en un sistema operativo
existente, requiere una significativa entrada de datos interactiva, sobre una
cantidad moderada de pantallas, los archivos se almacenan en memoria, los
archivos de entrada y salidas se pueden considerar como de moderada
importancia, el procesamiento interno es moderadamente complejo, ha sido
esencial la reusabilidad del cdigo durante su diseo y tiene una importancia
moderada el hecho de incluir en el diseo la conversin de instalacin, el soporte
de mltiples organizaciones y la facilidad de uso por parte del usuario.

FACTOR DE PONDERACION
PARAMETRO DE CUENT
SIMPL MEDI COMPLEJ SUBTOTAL
MEDICIN A
E O O

Entrada de usuario 30 3 4 6 90
Salida de usuario 40 4 5 7 160
Peticiones de usuario 25 3 4 6 75
Archivos 5 7 10 15 50
Interfaces externas 2 5 7 10 14
CUENTA TOTAL 389

SUMA (fi) 27
PF = CUENTA_TOTAL * [0,65 + 0,01 * SUMA (fi)]
PF = 389 * [0,65 + 0,01 * 27]
PF = 357,88

INFLUENC
CARACTERSTICA IA
Copias de seguridad 3
Comunicacin de datos 1
Funciones de procesamiento distribuido 0
Rendimiento 2
Ejecucin en un sistema operativo existente 5
Entrada de datos interactivo 4
Cantidad de pantallas 2

21
UNIVERSIDAD AUTNOMA JUAN MISAEL SARACHO
FACULTAD DE CIENCIAS Y TECNOLOGA
INGENIERA DE
INGENIERA INFORMTICA SOFTWARE I

Archivos de entrada y salida 2


Procesamiento interno 2
Reusabilidad del cdigo 5
Diseo de conversin 2
NIVEL DE INFLUENCIA 28
Factor de ajuste = (Nivel de influencia * 0,01) + 0,65
Factor de ajuste = (28 * 0,01) + 0,65
Factor de ajuste = 0,93

Puntos de funcin = Puntos de funcin sin ajustar * Factor de ajuste


Puntos de funcin = 357,88 * 0,93
Puntos de funcin = 332,83
Lenguaje o entorno de programacin LDC/P
F
Java 53

17640 LDC/PF

Ejercicio 3: Complejidad ciclomtica

Calcule la complejidad ciclomtica, y verificar si esto


coincide con la cantidad de caminos independientes en el grafo.

Mientras x! = 0 hacer
Si a = 1:
m: = a / x
Sino m = 0

21
UNIVERSIDAD AUTNOMA JUAN MISAEL SARACHO
FACULTAD DE CIENCIAS Y TECNOLOGA
INGENIERA DE
INGENIERA INFORMTICA SOFTWARE I

fin si
fin mientras
fin

Clculo de la complejidad ciclomtica: Caminos independientes:


V(G) = 8 7 + 2 = 3 C1: 1, 2, 3, 5, 1, 6
V(G) = 3 C2: 1, 2, 4, 5, 1, 6
V(G) = 2 + 1 = 3 C3: 1, 6

21
Ejercicio 4. Ejemplos de Tablas de Mtricas de Software

Organizadas por caracterstica y sub-caracterstica, cada mtrica contiene:


Nombre
Propsito
Mtodo de aplicacin
Medida, frmula y cmputo de datos
Interpretacin del valor medido
Tipo de escala
Tipo de medida
Fuente de medicin
Referencia a ISO/IEC 12207 SLCP
Audiencia

Ejercicio 4.1 Mtricas de Funcionalidad: Adecuidad


Ejercicio 4.2. Mtricas de Fiabilidad: Madurez
Ejercicio 4.3 Mtricas de Usabilidad: Entendibilidad
Ejercicio 4.4 Mtricas de Eficiencia: Comportamiento en el tiempo
Ejercicio 4.5 Mtricas de Mantenibilidad: Cambiabilidad
Ejercicio 4.6 Mtricas de la Transportabilidad: Conformidad de
transportabilidad

También podría gustarte