Está en la página 1de 18

escuela tcnica superior de ingeniera informtica

Tema 5: Gestin de Proyectos Software Mtricas


Departamento de Lenguajes y Sistemas Informticos

Ingeniera del Software de Gestin III

ndice
Introduccin Conceptos bsicos Clasificacin Recogida de datos Atributos internos del producto Medidas sobre sistemas OO Medidas sobre sistemas web

Introduccin - Motivacin
Las Frases: Debemos recordar que otras disciplinas cientficas ya han aplicado los conceptos bsicos de la medicin. En Ingeniera del Software no hay que reinventar demasiado, simplemente aplicar y adaptar la teora ya existente a las mtricas del software [Dolado00, pag 39] No se puede controlar lo que no se puede medir [DeMarco, 1982] No se puede predecir lo que no se puede medir [Fenton y Pfleeger, 1997]

Motivacin
Cuntas de estas preguntas puede contestar estando seguro? En cunto podra ser mejorada la productividad si no tuviese que gastar tiempo en mantenimiento? Cunto tiempo le cost el ltimo ao adaptar su presupuesto en trabajar con nuevas versiones de compiladores, bases de datos o sistemas operativos? Cules de las aplicaciones que desarrolla su empresa demanda el mayor tiempo de soporte al usuario? Cunto tiempo se gasta realmente en testing? Cre que sus desarrolladores dedican suficiente tiempo a actividades de diseo? Su proceso de desarrollo ha madurado en los ltimos aos? El esfuerzo dedicado a mejorar la calidad del software est reduciendo el tiempo que se dedica a corregir errores ? Con qu precisin es usted capaz de estimar proyectos futuros? En cuntos proyectos han trabajado cada uno de sus desarrolladores en el ltimo ao? Cul es el nmero medio de horas por semana que sus desarrolladores dedican a un proyecto?
Fuente: Karl E. Wiegers, Process Impact, www.processimpact.com Lessons from Software Work Effort Metrics1

Conceptos bsicos
ENTIDAD: Un objeto que va a ser caracterizado mediante una medicin de sus atributos [ISO-15939] Ejemplos de entidades en ingeniera software: recurso, proceso, producto, proyecto, servicio. ATRIBUTO: una caracterstica medible de una entidad [ISO 14598-1:1999] Internos: son aquellos que pueden ser medidos examinando el proceso, producto o recurso mismo. Externos: se miden con respecto a como el proceso, producto o recurso se relaciona con su entorno. CARACTERSTICA: Es una relacin abstracta entre atributos de una o ms entidades, y una necesidad de informacin [ISO-15939]. Ejemplo: Calidad, Accesibilidad, etc. MODELO (de caracterstica): Subconceptos y relaciones entre ellos.

Model ISO 9126


Usabilidad: Un conjunto de atributos que tienen que ver con el esfuerzo necesario para uso...

La Frase: All models are wrong but some are useful [George Box]

Conceptos bsicos
METRICA: Medida cuantitativa del grado en que un sistema, componente o proceso posee un atributo dado (IEEE, 1993). Incluye el mtodo de medicin. MEDICION: Proceso por el cual se obtiene una medida. MEDIDA: valor asignado a un atributo de una entidad mediante una medicin

Clasificacin de las mtricas


MTRICAS DIRECTAS: Son aquellas que se obtienen a travs de un proceso de medicin directo, es decir, que no involucra a ninguna otro atributo. Ejemplos: Cantidad de enlaces rotos en una pgina web. MTRICAS INDIRECTAS: Son aquellas que se obtiene a partir de mtricas directas. Ejemplos: Porcentaje de Enlaces rotos en una aplicacin web.

Clasificacin de las mtricas


DEL PROCESO: atributos de actividades relacionadas con el software. (duracin esfuerzo nmero de incidentes...) DEL PRODUCTO: componentes, entregas o documentos resultantes de una actividad de proceso. DE LOS RECURSOS: entidades requeridas por una actividad de proceso

Recogida de Datos
Lo primero es decidir qu medir
GQM: Goal Question Metric
Objetivo: mejorar la planificacin del proyecto Pregunta: Cul es la precisin en la estimacin del valor real del plazo del proyecto? Mtrica: Precisin en la estimacin del plazo (SEA) SEA=Duracin real /duracin estimada

Lo siguiente decidir cmo se va a medir: herramientas.


http://metrics.sourceforge.net/ http://www.qcsltd.com/cantata/cantata.htm La Frase: Metrics are welcome when they are clearly needed and easy to collect and understand [Pfleeger]

Atributos internos del producto


ENTIDAD: software ATRIBUTOS: tamao, estructura.
Tamao:
Longitud: tamao fsico del producto Funcionalidad: funciones que ofrece el producto al usuario Complejidad (de tiempo o espacio): recursos necesarios que necesita el producto

Estructura:
Flujo de control Flujo de datos Estructura de datos

Atributos internos del producto: longitud


Lneas de Cdigo (LOC: Lines of Code)
Se han realizado muchas propuestas para contarlas. La ms extendida es la de HP que no contabiliza las lneas comentadas ni en blanco.

Ms atributos que permitan medir el tamao del producto?

Atributos internos del producto: funcionalidad


Medida de la funcionalidad propuesta por Albrecht. Los PF se obtienen utilizando una relacin emprica basada en items del producto y valoraciones subjetivas de la complejidad del mismo
Lenguaje de Programacin LDC/PF 320 128 106 106 90 64 53 32 22 12 58 Ensamblador C COBOL FORTRAN Pascal C++ Ada95 Visual Basic SmallTalk SQL Java
Fuente: Pressman, 5 edicin, pag. 62

Atributos internos del producto: estructura


Grafos de flujo de control: los nodos principio y fin del grafo se representan rodeados por una circunferencia.

x1

x2

xn

Pn x1, x2 ... xn
Cn Case A of

A x D0 if A then x
a1 x1 x2 a2

...

an

xn

a1 : x1 a2 : x2 an : xn

A
D2 while A do X

x
D3 repeat X until A

Atributos internos del producto: estructura


Cyclomatic complexity is a software metric (measurement) in computational complexity theory. It was developed by Thomas McCabe and is used to measure the complexity of a program. It directly measures the number of linearly independent paths through a program's source code. La complejidad de un programa se mide mediante el nmero ciclomtico (v) de su grafo de flujo (F): v(F) = e n + 2 siendo e el nmero de arcos y n el nmero de nodos de F. Sirve para predecir los mdulos que son ms propensos a errores. Predecir el esfuerzo en mantenimiento. Predecir la reutilizacin. Determina el nmero de casos de prueba para asegurarse que todas las sentencia de un componente han sido ejecutadas al menos una vez.

Complejidad ciclomtica
Cyclomatic Complexity 1-10 Risk Evaluation a simple program, without much risk more complex, moderate risk complex, high risk program untestable program (very high risk)

11-20 21-50 greater than 50

http://www.sei.cmu.edu/str/descriptions/cyclomatic_body.html

Mtricas para sistemas OO


Afferent Coupling: Nmero de clases fuera del paquete que dependen de clases dentro del paquete Efferent Coupling: Nmero de clases dentro del paquete que dependen de clases fuera del paquete Number of Static Methods Number of Attributes Number of Static Attributes LCOM (Lack of Cohesion of Methods): Mide la falta de cohesin de los mtodos de la clase (valores [0-1]) Cerca de 1 querr decir falta de cohesin.

Bibliografa
Ingeniera del Software Sommerville, I. 2005, Addison wesley ISBN: 8478290745 Software Engineering: A Practitioner's Approach Pressman, R. 2004, McGraw-Hill ISBN: 007301933X Medicin para la gestin en Ingeniera del Software Dolado, J. et al. 2000, Ra-ma ISBN: 84-7897-403-2

También podría gustarte