Vous êtes sur la page 1sur 18

UNIVERSIDAD PRIVADA TELESUP

38

UNIVERSIDAD PRIVADA TELESUP

Introduccin

a) Presentacin y contextualizacin:
En esta unidad el alumno aprender a definir un proyecto, los posibles riesgos, y
las mtricas con el fin de medir el progreso y as conocer la calidad o productividad
de dicho proyecto. Asimismo comprender el rol que cumplen los ingenieros de
software en cuanto a la recopilacin y evaluacin de la informacin entendiendo la
importancia de los indicadores, que brindan la visin necesaria para mejorar la
calidad y productividad de un proyecto.

b) Competencia:
Analiza las funciones de las mtricas de procesos para estimar el tamao del
proyecto, planificando el progreso objetivo y las mejoras necesarias de dicho
proyecto.

c) Capacidades:
1. Describe los procesos de aplicacin de las mtricas para la determinacin del
tamao de un proyecto.
2. Reconoce los principales factores que influyen en los procesos de desempeo
organizacional.
3. Analiza las tendencias de un proyecto para planificar las mejoras
correspondientes, evaluando la informacin adquirida.
4. Evala la productividad mediante el tamao del software a travs de las lneas
de cdigo y la calidad de una aplicacin a travs de los puntos de funcin.

d) Actitudes:
Muestra inters por mejorar la precisin en las estimaciones de tiempo, costo y
recursos.
Acta con responsabilidad personal ante las funciones mtricas de un proyecto.

e) Presentacin de Ideas bsicas y contenidos esenciales de la Unidad:


La Unidad de Aprendizaje 02: Mtricas para Procesos y Proyectos de TI,
comprende el desarrollo de los siguientes temas:
TEMA 01: Introduccin a las Mtricas.
TEMA 02: Mtricas de Proceso.
TEMA 03: Mtricas de Proyecto.
TEMA 04: Mtricas Orientadas al Tamao.

39

UNIVERSIDAD PRIVADA TELESUP

Introduccin
a las
Mtricas

TEMA 1

Competencia:
Describir los procesos de aplicacin de las
mtricas para la determinacin del tamao
de un proyecto.

40

UNIVERSIDAD PRIVADA TELESUP

Desarrollo de los Temas

Tema 01: Introduccin a las Mtricas


La medicin permite obtener la visin del proceso y el proyecto
pues proporciona un mecanismo para lograr una evaluacin
objetiva. Lord Kevin dijo una vez:
Cuando puede medir aquello de lo que est hablando y
expresarlo en nmeros sabe algo acerca de ello, pero cuando
no puede medir, cuando no puede expresarlo en nmeros, su conocimiento es escaso,
deficiente; puede ser el comienzo del conocimiento, pero, en sus pensamientos,
apenas est avanzando el mbito de la ciencia.

La comunidad de la ingeniera del software ha


tomado en serio las palabras de Lord Kelvin.
Ms no sin frustracin y algo ms que un poco
de controversial. La medicin se aplica al
proceso

de

software

con

la

finalidad

de

mejorarlo de manera continua. La medicin se utiliza a lo largo de un proyecto de


software como apoyo en la estimacin, el control de calidad, la valoracin de la
productividad y el control del proyecto. Finalmente, la medicin la aplican los
ingenieros de software como auxiliar en la evaluacin de la calidad de los productos de
trabajo y para apoyar la toma de decisiones conforme avanza en un proyecto.

En su gua acerca de la medicin de software, Park, Goethert y Florac apuntan las


razones por las que se mide: 1) para caracterizar en un esfuerzo por comprender
acerca de los procesos, productos, y entornos, y para establecer lneas base para
comparaciones con evaluaciones futuras; 2) para evaluar determinando el estado
con respecto a los planes; 3) para predecir mediante la compresin de relaciones
entre procesos y productos y construir modelos de dichas relaciones; y 4) para
mejorar al identificar barricadas, causas raz, ineficiencias y otras oportunidades para
mejorar la calidad del producto y el desempeo del proceso.

41

UNIVERSIDAD PRIVADA TELESUP

La medicin es una herramienta de gestora. Si se lleva a cabo gradualmente


proporciona visin al gestor del proyecto. Y, como resultado, apoya al gestor del
proyecto y al equipo de software a tomar decisiones que conducirn a un proyecto
exitoso. Una mtrica es una metodologa de planificacin, desarrollo y mantenimiento
de sistemas de informacin. Esta metodologa propia est basada en el modelo de
procesos del ciclo de vida de desarrollo

Procesos principales de la mtrica

Planificacin de Sistemas de Informacin (PSI).

Desarrollo de Sistemas de Informacin (DSI). Debido a su complejidad, est a su


vez dividido en cinco procesos:
Estudio de Viabilidad del Sistema (EVS).
Anlisis del Sistema de Informacin (ASI).
Diseo del Sistema de Informacin (DSI).
Construccin del Sistema de Informacin (CSI).
Implantacin y Aceptacin del Sistema (IAS).
Mantenimiento de Sistemas de Informacin (MSI).

Interfaces de las Mtricas


Las mtricas proporcionan tambin cuatro interfaces que definen actividades
orientadas a la mejora y perfeccionamiento de los procesos principales para garantizar
la consecucin del objetivo del desarrollo.
Los procesos principales de una mtrica son:

Gestin de proyectos (GP).

Seguridad (SEG).

Aseguramiento de la Calidad (CAL).

Gestin de la Configuracin (GC).

Tcnicas de las Mtricas


Las mtricas se distinguen entre:

Tcnicas de desarrollo (Casos de Uso, Diagramas de Clases, Diagrama de flujo


de datos, etc.).

Tcnicas de gestin de proyectos (Tcnicas de estimacin, Staffing Size,


Planificacin, etc.)

Prcticas (Anlisis de impacto, Presentaciones, Prototipado, etc.)

42

UNIVERSIDAD PRIVADA TELESUP

Perfiles de una mtrica


Una mtrica establece los siguientes perfiles para los participantes en el proceso de
desarrollo de un sistema de informacin:
Directivo (Comit de Direccin, Directores de Usuarios,...).
Jefe de Proyecto (Responsable de Implantacin, Responsable de
Seguridad,...).
Consultor (Consultor Informtico, Tcnico de Sistemas).
Analista (Analista, Administrador de Bases de Datos,...).
Programador.

Mtricas en los dominios del proceso y el proyecto


Las mtricas del proceso se recopilan en el curso de todos
los proyectos durante largos periodos. Su objetivo es
proporcionar un conjunto de indicadores de proceso que
conduzcan a la mejora de los procesos de software de largo
plazo.

Las mtricas del proyecto permiten que un gestor de proyecto de software 1) valor el
estado de un proyecto en curso; 2) rastree los riegos potenciales; 3) descubra las
reas problema antes de que se vuelvan crticas; 4) ajusto el flujo de trabajo o las
tareas, y 5) evale la habilidad del equipo del proyecto para controlar la calidad de los
productos de trabajo del software.

Las medidas que recopila un equipo de proyecto y las que


convierte en mtricas para emplearlas durante un proyecto
tambin

se

pueden

transmitir

quienes

tienen

la

responsabilidad de mejorar el proceso de software. Por esta


razn, muchas de las mismas mtricas se usan tanto en el
dominio del proceso como en el del proyecto.

43

UNIVERSIDAD PRIVADA TELESUP

TEMA 2

Mtricas de
Proceso
Competencia:
Reconocer los principales factores que
influyen en los procesos de desempeo
organizacional.

44

UNIVERSIDAD PRIVADA TELESUP

Tema 02: Mtricas de Proceso


La nica forma racional de mejorar cualquier proceso es
medir sus atributos especficos, desarrollar un conjunto
de mtricas significativas con base en dichos atributos y
luego emplear las mtricas de software y su impacto en la
mejora del proceso del software es importante destacar que el
proceso slo es uno de varios factores controlables en la mejora de la calidad del
software y el desempeo organizacional.

La eficacia de un proceso de software se mide indirectamente. Esto es, se deduce un


conjunto de mtricas basadas en los resultados que derivan del proceso. Los
resultados incluyen medidas de los defectos que se detectan y reportan los usuarios
finales, los productos de trabajo entregados (productividad), el esfuerzo humano
gastado, el tiempo consumido de la planificacin, concordancia con la planificacin y
otras medidas. Tambin se deducen mtricas de proceso al medir las caractersticas
de tareas especificadas de ingeniera de software.

Grady argumenta que existen usos privados y pblicos para diferentes tipos de datos
de proceso. Como es natural que los ingenieros de software especiales sean sensibles
al uso de las mtricas recopiladas sobre una base particular, dichos datos deben de
ser privados para el individuo y funcionar como un indicador slo para l. Los ejemplos
de mtricas privadas incluyen ndices de defecto por individuo, ndices de defecto por
componente de software y errores encontrados durante el desarrollo.

45

UNIVERSIDAD PRIVADA TELESUP

La filosofa de datos de proceso privados se ajusta bien al enfoque de proceso


personal del software que propone Humphrey. Humphrey reconoce que la mejora en el
proceso de software puede y debe comenzar en el nivel individual. Los datos de
proceso privados pueden funcionar como un importante promotor para que el trabajo
individual del ingeniero de software mejore.

Algunas mtricas de proceso son privadas para el


equipo del proyecto de software, pero pblicas
para todos los miembros del equipo. Los ejemplos
incluyen defectos que reportan las grandes
funciones de software (las cuales desarrollaron
varios profesionales), errores detectados durante
las revisiones tcnicas formales y lneas de cdigo
o puntos de funcin por mdulo o funcin. Dichos datos los revisa el equipo para
descubrir indicadores que mejoren su desempeo.

Las mtricas pblicas por lo general asimilan informacin que originalmente era
privada para los individuos y equipos. Los ndices de defecto al nivel del proyecto (que
no se atribuyen por ningn motivo a un individuo), esfuerzo, planificacin y datos
relacionados se recopilan y evalan con la finalidad de descubrir indicadores que
pueden mejorar el desempeo del proceso organizacional.

46

UNIVERSIDAD PRIVADA TELESUP

Las mtricas del proceso de software ofrecen beneficios significativos conforme una
organizacin que trabaja en mejorar su grado global de madurez del proceso. Sin
embargo, como todas las mtricas, stas pueden emplearse mal y crear ms
problemas de los que solucionan. Grady sugiere un conjunto de reglas de etiqueta
para las mtricas del software, adecuado tanto para gestores como para
profesionales conforme instituyen un programa de mtricas del proceso:

Aplique sentido comn y sensibilidad organizativa cuando interprete dichos datos


mtricos.

Ofrezca retroalimentacin regular a los individuos y equipos que recopilan


medidas y mtricas.

No utilice las mtricas para evaluar a los individuos.

Trabaje con los profesionales y equipos para


establecer metas claras y las mtricas que se
emplearn para conseguirlas.

Nunca use mtricas para amenazar a los


individuos o equipos.

Los datos mtricos que indican un rea


problema no deben considerarse negativos. Dichos datos slo son un indicador
de la mejora del proceso.

No se obsesione con una sola mtrica y excluya otras mtricas importantes.

Conforme una organizacin se siente ms cmoda con la


recopilacin y el empleo de las mtricas de proceso, la
deduccin de indicadores simples da la pauta para un
enfoque ms riguroso llamado mejora estadstica del
proceso del software (MEPS). En esencia, el MEPS aplica
el anlisis de la falla del software para recopilar informacin acerca de todos los
errores y defectos que se encuentran al desarrollar y utilizar una aplicacin, sistema o
producto.

47

UNIVERSIDAD PRIVADA TELESUP

Mtricas

TEMA 3

de

Proyecto
Competencia:
Analizar las tendencias de un proyecto para
planificar las mejoras correspondientes,
evaluando la informacin adquirida.

48

UNIVERSIDAD PRIVADA TELESUP

Tema 03: Mtricas de Proyecto


A diferencia de las mtricas del proceso de software que se utilizan con propsitos
estratgicos, las mtricas del proyecto de software son tcticas. Es decir, un gerente
de proyecto y un equipo de software emplean las mtricas del proyecto y los
indicadores que se deducen de ellas para adaptar el flujo de trabajo del proyecto y las
actividades tcnicas.

La primera aplicacin de las mtricas del proyecto en la


mayora de proyectos de software ocurre durante la
estimacin. Las mtricas recopiladas de los proyectos
previos se aprovechan para el trabajo de software actual.
Conforme el proyecto avanza, las medidas de esfuerzo y
tiempo utilizadas se comparan con las estimaciones originales
(y la planificacin del proyecto). El gestor del proyecto emplea dichos datos para
supervisar y controlar el progreso.

Mientras comienza el trabajo tcnico, las otras medidas del proyecto comienzan a
tener significado. Se miden los ndices de produccin representados en trminos de
modelos creados, horas de revisin, puntos de funcin y lneas fuente entregadas.

49

UNIVERSIDAD PRIVADA TELESUP

Adems se les da seguimiento a los errores descubiertos


durante cada tarea de ingeniera del software. Conforme el
software evoluciona desde los requisitos hasta el diseo, se
recopilan mtricas tcnicas para valorar la calidad del
diseo y mejorar los indicadores que influirn en el enfoque
que se adopte para la generacin y prueba del cdigo. La
finalidad de las mtricas del proyecto es doble. Primero, se emplean para minimizar el
tiempo de desarrollo haciendo los ajustes necesarios para evitar demoras y reducir los
problemas y riesgos potenciales. Segundo, se utilizan para valorar la calidad del
producto sobre una base actual y, cuando es necesario, modificar el enfoque tcnico
para mejorar la calidad. Conforme la calidad mejora los defectos se minimizan, y
mientras eso sucede tambin se reduce la cantidad de reelaboracin requerida
durante el proyecto. Esto conduce una reduccin en el costo global del proyecto.

MEDICIN EL SOFTWARE
La medicin de software se clasifica en dos categoras 1) medidas directas del
proceso de software (por ejemplo, costo y esfuerzo aplicados) y del producto (por
ejemplo, lneas de cdigo producidas, rapidez de ejecucin y defectos reportados a lo
largo de cierto periodo establecido) y 2) medidas indirectas del producto que incluyen
funcionalidad,

calidad,

complejidad,

eficiencia,

confiabilidad,

facilidad

de

mantenimiento y otras habilidades. Las mtricas del proyecto se consolidan con el fin
de crear mtricas del proceso que sean pblicas para la organizacin de software
como un todo. Pero cmo combina una organizacin las mtricas provenientes de
diferentes individuos o proyectos?
Con fines ilustrativos, considrese un ejemplo simple. Los integrantes de dos
diferentes equipos de proyecto registran y categorizan los errores que encuentran
durante el proceso del software. Luego, las mediciones individuales se combinan para
desarrollar medidas de equipo. El equipo A encontr 342 errores durante el proceso
del software previo al lanzamiento. El equipo B encontr 184 errores. Si todas las
dems cosas se mantienen iguales, qu equipo es ms eficiente al descubrir errores
a lo largo del proceso? Puesto que no se conoce ni el tamao ni la complejidad de los
proyectos, no se puede responder esta pregunta. Sin embargo, si las mediciones se
normalizan, es posible crear mtricas de software que posibiliten la comparacin a
promedios organizacionales ms amplios. De esta forma, las mtricas orientadas tanto
al tamao como a la funcin estn normalizadas.

50

UNIVERSIDAD PRIVADA TELESUP

Mtricas
Orientadas
al Tamao

TEMA 4

Competencia:
Evaluar la productividad mediante el
tamao del software a travs de las lneas de
cdigo y la calidad de una aplicacin a travs
de los puntos de funcin.

51

UNIVERSIDAD PRIVADA TELESUP

Tema 04: Mtricas Orientadas al Tamao


Las

mtricas

del software

orientadas al tamao

preceden de la normalizacin de las medidas de calidad


o productividad considerando el tamao del software
que se ha producido. Si una organizacin de software
mantiene registros simples es factible crear una tabla de
medidas orientadas al tamao, como se muestra en la
siguiente tabla a continuacin. En dicha tabla se menciona cada proyecto de desarrollo
de software que se ha completado en aos pasados, as como las medidas
correspondientes para dichos proyectos. Como se advierte en la entrada de la tabla,
para el proyecto Alfa: 12 100 lneas de cdigo se desarrollaron con 24 personas-mes
de esfuerzo a un costo de 168 000 dlares.

Se debe notar que el esfuerzo y el costo


registrados en la tabla representan todas las
actividades de ingeniera de software (anlisis,
diseo, cdigo y prueba), no slo codificacin.
Informacin adicional del proyecto Alfa indica que
se desarrollaron 365 pginas de documentacin,
se registraron 134 errores antes de que el software fuese liberado y se encontraron 29
defectos despus de la liberacin al cliente dentro del primer ao de operacin. Tres
personas trabajaron en el desarrollo del software para el proyecto alfa.

El desarrollo de mtricas que se asimilen con las mtricas similares procedentes de


otros proyectos requiere elegir lneas de cdigo como valor de normalizacin. A partir
de los datos rudimentarios de la tabla se desarrolla un conjunto de mtricas simples
orientadas al tamao para cada proyecto: errores por KLDC (miles de lneas de
cdigo), defectos por KLDC, costo por KLDC, pginas de documentacin por KLDC.
Adems se pueden calcular otras mtricas interesantes: errores por persona-mes,
KLDC por persona-mes, costo por pgina de documentacin.

52

UNIVERSIDAD PRIVADA TELESUP

MTRICAS ORIENTADAS AL TAMAO


Proyecto
Alfa
Beta
Gamma

LDC
12100
27200
20200

Esfuerzo
24
62
43

$(000)
168
440
314

Pg. Doc.
365
1224
1050

Errores
134
321
256

Defectos
29
86
64

Personal
3
5
6

Las mtricas orientadas al tamao no se aceptan universalmente como la mejor forma


de medir el proceso del software. La mayor parte de la controversia gira en torno al
uso de lneas de cdigo como medida clave. Los partidarios de la medida LDC afirman
que stas son un artefacto de todos los proyectos de desarrollo de software que
pueden fcilmente contarse, que muchos modelos de estimacin de software
existentes usan LDC o KLDC como entrada clave, y que ya existe un gran cuerpo de
bibliografa y datos publicados para LDC.

Por otra parte, los detractores argumentan que las medidas LDC dependen del
lenguaje de programacin, que, cuando se considera la productividad, castigan los
programas bien diseados, pero ms cortos, que no pueden amoldar con facilidad
lenguajes que no provienen del proceso y cuyo empleo en la estimacin requiere un
nivel de detalle que sera difcil de lograr (es decir, el planificador debe estimar que las
LDC se producirn mucha antes que el anlisis y el diseo se hayan completado).

MTRICAS ORIENTADAS A LA FUNCIN


Las mtricas de software orientadas a la funcin 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).
El clculo del punto de funcin se basa en caractersticas del
dominio de informacin y la complejidad del software.

53

UNIVERSIDAD PRIVADA TELESUP

El punto de funcin, al igual que la medida LDC, es controversial. Los partidarios


afirman que el PF es independiente del lenguaje de programacin, caracterstica que
lo hace ideal para aplicaciones que utilizan lenguajes convencionales y no
procedimentales, y que se basa en datos que es ms probable que se conozcan
temprano en la evolucin de un proyecto, lo que hace al PF ms atractivo como
enfoque de estimacin. Los detractores afirman que el mtodo requiere cierta
prestidigitacin en cuanto a que el clculo se basa en los datos subjetivos ms que
objetivos, que el conteo del dominio de informacin (y otras dimensiones) puede ser
difcil de recopilar despus del hecho, y que el PF no tiene significado directo: es slo
un nmero.

RECONCILIACIN DE LAS MTRICAS LDC Y PF


La relacin entre lneas de cdigo y puntos de funcin
depende del lenguaje de programacin en que se
implementen el software y la calidad del diseo. Varios
estudios han intentado relacional las medidas de PF y
LDC. Por ejemplo Albrecth y Gaffney: La tesis de este
trabajo es que la calidad de funcin que se ofrecer por medio de la aplicacin
(programa) se puede estimar a partir de pormenorizar los grandes componentes de
datos que se emplearn o proporcionarn. Ms an, est estimacin de la funcin
debe estar correlacionada tanto con la cantidad de LDC que se desarrollar como con
el esfuerzo de desarrollo necesario.

La tabla siguiente ofrece estimaciones burdas del nmero promedio de lneas de


cdigo que se requieren para construir un punto de funcin en varios lenguajes de
programacin Una revisin de estos datos indica que una LDC de C++ proporciona
aproximadamente 2.4 veces la funcionalidad al menos cuatro veces la funcionalidad
de una LDC de un lenguaje de programacin convencional como Ada, COBOL o C. La
utilizacin de la informacin contenida en la tabla permite tomar como contrafuego el
software existe para estimar el nmero de puntos de funcin, una vez que se conozca
el nmero total de enunciados del lenguaje de programacin. Se ha encontrado que
las mtricas basadas en puntos de funcin y LDC son indicadoras relativamente
precisas del esfuerzo y el costo del desarrollo del software. Sin embargo, emplear LCD
y PF en la estimacin requiere establecer una lnea de referencia histrica de
informacin.

54

UNIVERSIDAD PRIVADA TELESUP

En el contexto del proceso y las mtricas del proyecto, la preocupacin


principal la generan la productividad y la calidad: medidas de la salida
de desarrollo de software como funcin del esfuerzo y el tiempo
aplicado y medidas de la aptitud para el uso de los productos de
trabajo obtenidos. Respecto a propsitos de mejora del proceso y planeacin del
proyecto, el inters es histrico. Cul fue la productividad de desarrollo del software
en los proyectos pasados? Cul fue la calidad del software que se produjo? Cmo
se pueden extrapolar al presente la productividad y la calidad pasadas? Cmo puede
ayudar a mejorar el proceso y planificar nuevos proyectos con mayor precisin?
LNEAS DE COMANDOS
Lenguaje de
programacin
Access
Ada
APS
ASP 69
Ensamblador
C
C++
Clipper
COBOL
Cool: Gen/IEF
Culprit
DBase IV
Easytrieve 1
Excel 47
Focus
FORTRAN
Foxpro
Ideal
IEF/Cool:Gen
Informix
Java
JavaScript
JCL
JSP
Lotus Notes
Mantis
Mapper
Natural
Oracle
PeopleSoft
Perl
PL/1
PowerBuilder
REXX
RPG II/III
SAS
Smalltalk
SQL
VBScript36
Visual Basic

LDC por punto de funcin


Promedio
35
154
86
62
337
162
66
38
77
38
51
52
33
46
43
32
66
38
42
63
58
91
59
21
71
118
60
30
33
60
78
32
67
61
40
26
40
34
47

Mediana
38
83
315
109
53
39
77
31
34
42
35
52
31
31
53
63
123
22
27
81
52
35
32
67
31
49
41
19
37
27
42

Bajo
15
104
20
32
91
33
29
27
14
10
25
31
32
25
34
10
24
77
42
26
15
22
16
22
4
30
22
11
24
33
10
7
50
16

Alto
47
205
184
127
127
704
178
70
400
180
41
63
56
35
203
180
57
75
150
25
250
245
141
217
40
263
105
155
49
55
110
158

55