Está en la página 1de 51

Mtricas de Software

Itinerario
Mtrica
Alcance de las Mtricas en la Ingeniera de Software
CMM assesment
QIP

Ingeniera de Software II

Mtricas de Software

Medicin

Debo definir una escala...

Es el proceso por el cual nmeros o smbolos son


asignados a atributos de entidades del mundo real de
modo de poder describirlos acorde a reglas claramente
Debo poder identificar los objetos del
definidas.
dominio y especificar su comportamiento
El objetivo debe estar previamente establecido.
Establecer una relacin entre dicha escala
y los atributos de los objetos establecidos.

Ingeniera de Software II

Mtricas de Software

Medicin
Wh
a
t
i
s
n
o
t
me
a
s
u
r
a
b
l
e
ma
k
e
i
t
me
a
s
u
r
a
b
l
e
.

Ingeniera de Software II

Mtricas de Software

Atributos
Posibilidad de analizarlos
en forma aislada

Interno
Atributo
Externo
Dependen del entorno...
Se requiere integrar antes de
poder analizarlos.
Ingeniera de Software II

Mtricas de Software

Prediccin
Los atributos externos son indirectos y
se deducen en funcin de atributos internos.
En el proceso de prediccin de atributos externos,
debo poder calcular y/o obtener los atributos internos
esperados para acertar en mi prediccin

Ingeniera de Software II

Mtricas de Software

Atributos

Ingeniera de Software II

Mtricas de Software

Atributos

Ingeniera de Software II

Mtricas de Software

Atributos

Ingeniera de Software II

Mtricas de Software

Sistema de Relaciones Empricas

N
u
e
s
t
r
a
i
n
t
u
i
c
i

n
e
s
e
l
p
u
n
t
o
d
e
p
a
r
t
i
d
a
p
a
r
a
t
o
d
a
m
e
d
i
c
i

Ingeniera de Software II

Mtricas de Software

10

Sistema de Relaciones

Asignamos un descriptor a un aspecto de


inters de un objeto de modo que nos permita
compararlo con otros.

Ingeniera de Software II

Mtricas de Software

11

Sistema de Relaciones Empricas


Diseo A

Diseo A

Primer Entrega

Segunda Entrega

Nuestra observacin refleja una serie de reglas que estamos


imponiendo sobre el dominio...

Ingeniera de Software II

Mtricas de Software

12

Sistema de Relaciones
Empricas
L
a
s
e
g
u
n
d
a
e
n
t
r
e
g
a
e
s
mas confiable q
u
e
l
a
s
e
g
u
n
d
a

Diseo A

Diseo A

Primer Entrega

Segunda Entrega

Esas reglas definen una relacin entre los objetos del dominio
deducida de la medicin de los atributos de las entidades.

Ingeniera de Software II

Mtricas de Software

13

Sistema de Relaciones Empricas


Diseo A

Diseo A

Primer Entrega

Segunda Entrega

D
e
c
i
m
o
s
e
n
t
o
n
c
e
s
q
u
e

mas confiable
e
s
u
n
a
R
e
l
a
c
i

n
E
m
p

r
i
c
a
basada en el atributo i
n
d
i
r
e
c
t
o

d
e
n
s
i
d
a
d
d
e
e
r
r
o
r
e
s
d
e
t
e
c
t
a
d
o
s
d
u
r
a
n
t
e
l
a
i
n
s
p
e
c
c
i

Ingeniera de Software II

Mtricas de Software

14

Mtodo Medicin
Identificar los atributos
de las entidades del dominio
Identificar relaciones
empricas para los atributos
Identificar relaciones
numricas correspondientes
a cada relacin emprica
Definir el mapping entre las
entidades y los nmeros

Ingeniera de Software II

Mtricas de Software

15

Mtodo Medicin
Identificar los atributos
de las entidades del dominio

Verificar que la semntica de las


relaciones empricas se preserva
en las relaciones numricas

Identificar relaciones
empricas para los atributos
Identificar relaciones
numricas correspondientes
a cada relacin emprica

Definir el mapping entre las


entidades y los nmeros

Ingeniera de Software II

Mtricas de Software

16

Asistencia de las Mtricas en


Software
Entender y Modelar Procesos de Ingeniera de

Software y Productos
Asistencia

en la Administracin de Proyectos de

Software
Guiar Mejoras en Procesos de Ingeniera de Software

Ingeniera de Software II

Mtricas de Software

17

Entender y Modelar
Poder comparar lneas de base con evoluciones

posteriores permite determinar la relacin entre


los atributos de un producto y una posible
mejora.
Debemos poder predecir el efecto de introducir

un cambio en un parmetro.

Ingeniera de Software II

Mtricas de Software

18

Entender y Modelar
Cuanto esfuerzo consume el desarrollo de

software?
En qu fases del proceso de software

consumimos ms recursos?
Qu tipos de error y cambios son tpicos en

nuestros proyectos?

Ingeniera de Software II

Mtricas de Software

19

Entender y Modelar
Ejemplo 1

D
i
s
t
r
i
b
u
c
i

nd
e
l
E
s
f
u
e
r
z
o

(horas)
SEL - NASA
200 aos-staff sobre 25

proyectos
Especfico del Dominio
Se puede utilizar como

estimador durante la
Preparacin
Ingeniera de Software II

Mtricas de Software

20

Entender y Modelar
Ejemplo 2
por clase

D
i
s
t
r
i
b
u
c
i

nd
eE
r
r
o
r
e
s

(
#
)
SEL - NASA
10000 errores sobre 5 aos

de operacin
Especfico del Dominio
Se conserva a lo largo de los

proyectos

Ingeniera de Software II

Mtricas de Software

21

Entender y Modelar
Ejemplo 2
por origen

D
i
s
t
r
i
b
u
c
i

nd
eE
r
r
o
r
e
s

(
#
)
SEL - NASA

10000 errores sobre 5 aos

de operacin
Especfico del Dominio
Se conserva a lo largo de los

proyectos

Ingeniera de Software II

Mtricas de Software

22

Entender y Modelar
Ejemplo 3

A
c
t
i
v
i
d
a
dd
eC
a
mb
i
o(
#S
L
O
C
s
)
SEL - NASA
Basado en 20 proyectos bajo

ciclo de vida Waterfall


Establecer una base para la

actividad de cambio en SCM


Indica si la actividad de

cambio se sale de la
espectativa posible mala
seleccin de ciclo de vida
Ingeniera de Software II

Mtricas de Software

23

Administracin de Proyectos
Poder usar datos histricos para hacer

estimaciones
Poder aprender la relacin existente entre

parmetros
Poder dar seguimiento
Poder validar las mismas mtricas

Ingeniera de Software II

Mtricas de Software

24

Administracin de Proyectos
Ejemplo Planeamiento
Estabilidad de Requerimientos

Complejidad de Software
Estimaciones: COCOMO 2.0

Ingeniera de Software II

Mtricas de Software

25

Administracin de Proyectos
Ejemplo Seguimiento
Usamos la actividad de

cambio para Planning


La desviacin puede

indicar que usamos el


modelo equivocado.

Ingeniera de Software II

Mtricas de Software

26

Modelos en Mtricas en Software


Modelos de Estimacin de Costo y Esfuerzo
Modelos de Productividad
Modelos de Mtricas de Calidad
Modelos de Recoleccin de Datos
Modelos de Confiabilidad

Modelos de Evaluacin de Performance


Modelos de Estructura y Complejidad
Evaluacin de Mtodos y Herramientas
Ingeniera de Software II

Mtricas de Software

27

Modelos
Modelos de Productividad
Un modelo de productividad definido en funcin de Valor y Costo...
Productivity

Value
Quality

Quantity

Reliability
Defects

Cost

Size
Functionality

Ingeniera de Software II

Personnel
Time
Money
Mtricas de Software

Resources
Hardware
Software

Complexity
Environmental
Constrains
Problem
Difficulty
28

Modelos
Modelos de Mtricas de Calidad
Usability
Product
Operation

Communicativeness
Accurancy

Reliability
Efficiency

Consistency
Device Efficiency
Accessibility
Completeness

Product
Revision

Reusability

Structuredness

Maintainability

Conciseness

Metrics

Device Independence

Portability

Legibility
Self-descriptiveness

Testability
Ingeniera de Software II

Traceability
Mtricas de Software

29

Modelos
Modelos de Mtricas de Calidad
Usability
Product
Operation

Communicativeness
Accurancy

Reliability
Efficiency

Consistency
Device Efficiency
Accessibility
Completeness

Product
Revision

Reusability

Structuredness

Maintainability

Conciseness

Metrics

Device Independence

Portability

Legibility
Self-descriptiveness

Testability
Ingeniera de Software II

Traceability
Mtricas de Software

30

CMM assessment - Level 2


Repeatable (Level 2)
Software Configuration Management
Software Quality Assurance
Software Subcontract Management
Software Project Tracking and Oversight
Software Project Planing
Requirement Management

Control:
Budget
Schedule
Standars
Output:
Code
Documentation

Input:
Requirements
Control:
Staff
Tools
Ingeniera de Software II

Mtricas de Software

31

CMM assessment - Level 2


Control:
Budget
Schedule
Standars

Output:
Code
Documentation

Input:
Requirements

Control:
Staff
Tools

D
e
b
o
d
e
f
i
n
i
r
m

t
r
i
c
a
s
p
a
r
a
c
a
d
a
a
s
p
e
c
t
o
v
i
s
i
b
l
e

Requirements,
Code, Documentation

Ingeniera de Software II

Mtricas de Software

32

CMM assessment - Level 3


Defined (Level 3)
Peer Reviews
Intergroup Coordination
Software Product Engineering
Integrated Software Management
Training Program
Organization Process Definition
Organization Process Focus

Design
Method

Inspection
Criteria
System
Design

Tested
Modules

Requirements

Tools
Staff

Ingeniera de Software II

Test
Plans

Tools
Staff

Mtricas de Software

System
Software

Tools
Staff

33

CMM assessment - Level 3


Design
Method

Inspection
Criteria
System
Design

Test
Plans
Tested
Modules

System
Software

Requirements

Tools
Staff

Tools
Staff

Tools
Staff

D
e
b
o
d
e
f
i
n
i
r
m

t
r
i
c
a
s
p
a
r
a
c
a
d
a
a
s
p
e
c
t
o
v
i
s
i
b
l
e

Product attributs
System design,
Quality of Tested Modules

Ingeniera de Software II

Mtricas de Software

34

QIP
Quality Improvement Paradigm
Planning

Setting Goal Step

Execution
Construction and Data
Generation Step

Postmortem
Analysis
Analysis and
Packaging

Ingeniera de Software II

Mtricas de Software

35

QIP
Goal Setting Step

GQM
(Goal Query Metric)

QIP
(Quality Improvement Paradigm)

EF
(Experience Factory)

Building Software Competencies


and Supplying them to Projects

Ingeniera de Software II

Mtricas de Software

36

GQM
Todo proceso de ingeniera requiere retroalimentacin y evaluacin.
La construccin de software es una actividad de Ingeniera y como tal debe
poseer disciplinas de medicin.

La medicin debe poseer foco basado en modelos y objetivos


(goals).
Debemos entonces establecer objetivos medibles y dirigidos por el
modelo apropiado.
Ingeniera de Software II

Mtricas de Software

37

GQM - Goals
Existen una variedad de perspectivas que pueden definir un objetivo: El
cliente, la corporacin e incluso el proyecto
Ejemplos
Objetivo del cliente: Satisfaccin del usuario.
Objetivo del Proyecto: Entrega en trmino.
Objetivo de la Corporacin: Continua mejora del proceso de
desarrollo. (CMM level 3 assessment)

Ingeniera de Software II

Mtricas de Software

38

GQM - Paradigm
Definir objetivos
corporativos y de proyecto

Rastrear que datos

h
a
b
l
a
n

d
e
e
s
e
o
b
j
e
t
i
v
o

Proveer un marco de trabajo


para interpretar los datos y entender
el enfoque sobre los objetivos
Ingeniera de Software II

Mtricas de Software

39

GQM - Paradigm
Los objetivos son definidos en forma operacional y

refinados a travs de una serie de preguntas


cuantificables.
Esas preguntas son usadas para extraer la informacin
necesaria de los modelos.
Mtricas son asignadas a las respuestas, y la recoleccin
de datos que responden a las preguntas nos otorgan el
universo de interpretacin.
Ingeniera de Software II

Mtricas de Software

40

GQM - Proceso
El flujo desde los objetivos hacia las mtricas en GQM
puede ser visto como un grafo dirigido.
Goal 1
Question 2

Question 1

Question 3
M1

Ingeniera de Software II

M2

Mtricas de Software

M3

41

GQM - Proceso
Ejemplo: Efectividad de usar estndares para la codificacin

Goal: Evaluate effectiveness of coding standard


Who is using
standard?

Proportion of coder:
- using standard
- using language

Ingeniera de Software II

What is code
quality?

What is coder
productivity?

Experience of coders:
- with standard
- with language
- with environment
Mtricas de Software

Code Size

Effort

Errors

42

GQM - Proceso
Desarrollar el conjunto de objetivos
corporativos, de divisin y proyecto
Construir preguntas para cada objetivo que lo
definen en la forma ms completa posible
Especificar las mtricas requeridas
para contestar las preguntas
Construir los procesos de
recoleccin datos
Recolectar, validar y analizar
los datos obtenidos
Ingeniera de Software II

Mtricas de Software

43

QIP
Goal Setting Step

GQM
(Goal Query Metric)

QIP
(Quality Improvement Paradigm)

EF
(Experience Factory)

Building Software Competencies


and Supplying them to Projects

Ingeniera de Software II

Mtricas de Software

44

EF
Experience Factory
La construccion de software es evolutiva y experimental.
Es basado en las personas
Los procesos y objetivos son variables.

Las experiencias empacadas reusables


requieren recursos adicionales dentro
de la organizacin a fin de ser utilizadas

Ingeniera de Software II

Mtricas de Software

45

EF
The Process
Project Organization

Experience
Factory

Project / environment characteristics

Characterize
Set Goals
Choose Process

Tailorable goals, processes, tools


products, resource models, defect
m
o
d
e
l
s
,

f
r
o
m
s
i
m
l
a
r
p
r
o
j
e
c
t
s

Execution Plans
Data, lessons learned,...

Execute Process
Project analysis, process
modification...

Ingeniera de Software II

Mtricas de Software

46

EF
The Process
Project
Organization

Experience Factory
Data, lessons
learned, models

Package

Analyze

Direct project
feedback

Generalize

Products, lessons learned, models

Experience
Base

Tailor

Project characteristics
Models, tools,
baselines

Ingeniera de Software II

Project
Support

Mtricas de Software

Formalize

47

SEL - Estructura

Ingeniera de Software II

Mtricas de Software

48

SEL
Foco de Componentes Org.

Ingeniera de Software II

Mtricas de Software

49

SEL
Distribucin del Esfuerzo
Staff

Process
Analyst
5%

Database
Support
3%
Development
Process Analyst
Database Support
Development
92%

Ingeniera de Software II

Mtricas de Software

50

Muchas Gracias !

Ingeniera de Software II

Mtricas de Software

51

También podría gustarte