Está en la página 1de 51

Métricas de Software

Itinerario
Métrica
Alcance de las Métricas en la Ingeniería de Software

CMM assesment

QIP

Ingeniería de Software II Métricas de Software 2


Medición Debo definir una escala...

Es el proceso por el cual números o símbolos son


asignados a atributos de entidades del mundo real de
modo de poder describirlos acorde a reglas claramente
definidas. Debo poder identificar los objetos del
dominio y especificar su comportamiento

El objetivo debe estar previamente establecido.

Establecer una relación entre dicha escala


y los atributos de los objetos establecidos.

Ingeniería de Software II Métricas de Software 3


Medición

Wh
ati
sno
tme
asu
rab
le
…ma
kei
tme
asu
rab
le
.

Ingeniería de Software II Métricas de Software 4


Atributos
Posibilidad de analizarlos
en forma aislada

Interno

Atributo
Externo

Dependen del entorno...


Se requiere integrar antes de
poder analizarlos.

Ingeniería de Software II Métricas de Software 5


Predicción

Los atributos externos son indirectos y


se deducen en función de atributos internos.

En el proceso de predicción de atributos externos,


debo poder calcular y/o obtener los atributos internos
esperados para acertar en mi predicción

Ingeniería de Software II Métricas de Software 6


Atributos

Ingeniería de Software II Métricas de Software 7


Atributos

Ingeniería de Software II Métricas de Software 8


Atributos

Ingeniería de Software II Métricas de Software 9


Sistema de Relaciones Empíricas

Nue
st
rai
nt
ui
ci
óne
sel
pun
tod
epa
rt
i
dap
ar
at
od
a
med
ic

n”

Ingeniería de Software II Métricas de Software 10


Sistema de Relaciones

Asignamos un descriptor a un aspecto de


interés de un objeto de modo que nos permita
compararlo con otros.

Ingeniería de Software II Métricas de Software 11


Sistema de Relaciones Empíricas

Diseño A Diseño A
Primer Entrega Segunda Entrega

Nuestra observación refleja una serie de reglas que estamos


imponiendo sobre el dominio...

Ingeniería de Software II Métricas de Software 12


Sistema de Relaciones“
Empíricas
L
as
eg
u
nd
aent
r
eg
ae
s
mas confiable q
u
el
as
e
gu
n
da

Diseño A Diseño A
Primer Entrega Segunda Entrega

Esas reglas definen una relación entre los objetos del dominio
deducida de la medición de los atributos de las entidades.

Ingeniería de Software II Métricas de Software 13


Sistema de Relaciones Empíricas

Diseño A Diseño A
Primer Entrega Segunda Entrega

D
eci
m osen t
on ce s q ue “
mas confiable”e
sun
aRel
ac

nEmpí
ri
c
a
basada en el atributo i
n d
ir
ec
to“dens i
da
ddee
rr
or
esd
ete
ct
ad
os
durant
e lains pe cción”.

Ingeniería de Software II Métricas de Software 14


Método Medición
Identificar los atributos
de las entidades del dominio

Identificar relaciones
empíricas para los atributos

Identificar relaciones
numéricas correspondientes
a cada relación empírica

Definir el mapping entre las


entidades y los números

Ingeniería de Software II Métricas de Software 15


Método Medición
Identificar los atributos
de las entidades del dominio

Identificar relaciones Verificar que la semántica de las


empíricas para los atributos relaciones empíricas se preserva
en las relaciones numéricas
Identificar relaciones
numéricas correspondientes
a cada relación empírica

Definir el mapping entre las


entidades y los números

Ingeniería de Software II Métricas de Software 16


Asistencia de las Métricas en
Software
Entender y Modelar Procesos de Ingeniería de

Software y Productos
Asistencia en la Administración de Proyectos de
Software
Guiar Mejoras en Procesos de Ingeniería de Software

Ingeniería de Software II Métricas de Software 17


Entender y Modelar
Poder comparar líneas de base con evoluciones
posteriores permite determinar la relación entre
los atributos de un producto y una posible
mejora.
Debemos poder predecir el efecto de introducir
un cambio en un parámetro.

Ingeniería de Software II Métricas de Software 18


Entender y Modelar
¿Cuanto esfuerzo consume el desarrollo de
software?
¿En qué fases del proceso de software
consumimos más recursos?
¿Qué tipos de error y cambios son típicos en
nuestros proyectos?

Ingeniería de Software II Métricas de Software 19


Entender y Modelar –
Ejemplo 1

Di
str
ibuciónd
elE
sfu
erz
o”
(horas)
 SEL - NASA

 200 años-staff sobre 25


proyectos
 Específico del Dominio

 Se puede utilizar como


estimador durante la
Preparación
Ingeniería de Software II Métricas de Software 20
Entender y Modelar –
Ejemplo 2
por clase

Di
st
r
ib
uci
ónd
eEr
r
ore
s”(
#)
 SEL - NASA

 10000 errores sobre 5 años


de operación
 Específico del Dominio

 Se conserva a lo largo de los


proyectos

Ingeniería de Software II Métricas de Software 21


Entender y Modelar –
Ejemplo 2
por origen


Di
st
r
ib
uci
ónd
eEr
r
ore
s”(
#)
 SEL - NASA

 10000 errores sobre 5 años


de operación
 Específico del Dominio

 Se conserva a lo largo de los


proyectos

Ingeniería de Software II Métricas de Software 22


Entender y Modelar –
Ejemplo 3

Act
i
vi
da
ddeC
amb
io(
#SL
OCs
)
 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
selección de ciclo de vida
Ingeniería de Software II Métricas de Software 23
Administración de Proyectos
Poder usar datos históricos para hacer
estimaciones
Poder aprender la relación existente entre
parámetros
Poder dar seguimiento
Poder validar las mismas métricas

Ingeniería de Software II Métricas de Software 24


Administración de Proyectos
Ejemplo Planeamiento

Estabilidad de Requerimientos

Complejidad de Software

Estimaciones: COCOMO 2.0

Ingeniería de Software II Métricas de Software 25


Administración de Proyectos
Ejemplo Seguimiento
 Usamos la actividad de
cambio para Planning
 La desviación puede
indicar que usamos el
modelo equivocado.

Ingeniería de Software II Métricas de Software 26


Modelos en Métricas en Software
Modelos de Estimación de Costo y Esfuerzo
Modelos de Productividad
Modelos de Métricas de Calidad
Modelos de Recolección de Datos
Modelos de Confiabilidad
Modelos de Evaluación de Performance
Modelos de Estructura y Complejidad
Evaluación de Métodos y Herramientas

Ingeniería de Software II Métricas de Software 27


Modelos
Modelos de Productividad
Un modelo de productividad definido en función de Valor y Costo...
Productivity

Value Cost

Quality Quantity Personnel Resources Complexity

Reliability Size Time Hardware Environmental


Constrains

Defects Functionality Money Software Problem


Difficulty

Ingeniería de Software II Métricas de Software 28


Modelos
Modelos de Métricas de Calidad
Communicativeness
Usability
Accurancy
Product
Reliability Consistency
Operation
Device Efficiency
Efficiency
Accessibility
Completeness
Reusability Structuredness
Metrics
Maintainability Conciseness
Product Device Independence
Revision
Portability Legibility
Self-descriptiveness
Testability
Traceability

Ingeniería de Software II Métricas de Software 29


Modelos
Modelos de Métricas de Calidad
Communicativeness
Usability
Accurancy
Product
Reliability Consistency
Operation
Device Efficiency
Efficiency
Accessibility
Completeness
Reusability Structuredness
Metrics
Maintainability Conciseness
Product Device Independence
Revision
Portability Legibility
Self-descriptiveness
Testability
Traceability

Ingeniería de Software II Métricas 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 Control:
Requirement Management
Budget
Schedule
Standars

Output:
Input:
Code
Requirements
Documentation

Control:
Staff
Tools

Ingeniería de Software II Métricas de Software 31


CMM assessment - Level 2
Control:
Budget
Schedule
Standars

Output:
Input:
Code
Requirements
Documentation

Control:
Staff
Tools

D
e
bo
de
f
i
ni
r
métri
ca sparaca da aspe
c
t
ov
is
i
b
le

Requirements,
Code, Documentation

Ingeniería de Software II Métricas 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 Inspection Test
Method Criteria Plans
System Tested
Design Modules
Requirements System
Software

Tools Tools Tools


Staff Staff Staff

Ingeniería de Software II Métricas de Software 33


CMM assessment - Level 3
Design Inspection Test
Method Criteria Plans

System Tested
Design Modules
Requirements System
Software

Tools Tools Tools


Staff Staff Staff

D
e
bo
de
f
i
ni
r
m étr i
c as para cada a
s
p ect
o
vi
s
i
bl
e

Product attributs
System design,
Quality of Tested Modules

Ingeniería de Software II Métricas de Software 34


QIP
Quality Improvement Paradigm

Planning Setting Goal Step

Execution Postmortem
Construction and Data Analysis
Generation Step
Analysis and
Packaging

Ingeniería de Software II Métricas 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

Ingeniería de Software II Métricas de Software 36


GQM
Todo proceso de ingeniería requiere retroalimentación y evaluación.

La construcción de software es una actividad de Ingeniería y como tal debe


poseer disciplinas de medición.

La medición debe poseer foco basado en modelos y objetivos


(goals).
Debemos entonces establecer objetivos medibles y dirigidos por el
modelo apropiado.

Ingeniería de Software II Métricas de Software 37


GQM - Goals
Existen una variedad de perspectivas que pueden definir un objetivo: El
cliente, la corporación e incluso el proyecto

Ejemplos
Objetivo del cliente: Satisfacción del usuario.
Objetivo del Proyecto: Entrega en término.
Objetivo de la Corporación: Continua mejora del proceso de
desarrollo. (CMM level 3 assessment)

Ingeniería de Software II Métricas de Software 38


GQM - Paradigm

Definir objetivos
corporativos y de proyecto

Rastrear que datos



h
ab
lan” de ese objetiv
o

Proveer un marco de trabajo


para interpretar los datos y entender
el enfoque sobre los objetivos

Ingeniería de Software II Métricas de Software 39


GQM - Paradigm

Los objetivos son definidos en forma operacional y


refinados a través de una serie de preguntas
cuantificables.
Esas preguntas son usadas para extraer la información
necesaria de los modelos.
Métricas son asignadas a las respuestas, y la recolección
de datos que responden a las preguntas nos otorgan el
universo de interpretación.

Ingeniería de Software II Métricas de Software 40


GQM - Proceso
El flujo desde los objetivos hacia las métricas en GQM
puede ser visto como un grafo dirigido.

Goal 1

Question 1 Question 2

Question 3

M1 M3
M2

Ingeniería de Software II Métricas de Software 41


GQM - Proceso
Ejemplo: Efectividad de usar estándares para la codificación

Goal: Evaluate effectiveness of coding standard

Who is using
What is code
standard? What is coder
quality?
productivity?

Proportion of coder: Experience of coders: Code Size Errors


Effort
- using standard - with standard
- using language - with language
- with environment

Ingeniería de Software II Métricas de Software 42


GQM - Proceso
Desarrollar el conjunto de objetivos
corporativos, de división y proyecto

Construir preguntas para cada objetivo que lo


definen en la forma más completa posible

Especificar las métricas requeridas


para contestar las preguntas

Construir los procesos de


recolección datos
Recolectar, validar y analizar
los datos obtenidos

Ingeniería de Software II Métricas 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

Ingeniería de Software II Métricas 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 organización a fin de ser utilizadas

Ingeniería de Software II Métricas de Software 45


EF
The Process
Experience
Project Organization Factory

Project / environment characteristics


Characterize
Set Goals Tailorable goals, processes, tools
Choose Process products, resource models, defect
m ode l
s,… from sim l
ar proje ct
s
Execution Plans

Data, lessons learned,...


Execute Process
Project analysis, process
modification...

Ingeniería de Software II Métricas de Software 46


EF
The Process
Project
Organization Experience Factory
Data, lessons
learned, models
Package
Direct project Analyze
feedback
Generalize
Products, lessons learned, models Experience
Base
Tailor
Project characteristics
Project
Models, tools, Support Formalize
baselines

Ingeniería de Software II Métricas de Software 47


SEL - Estructura

Ingeniería de Software II Métricas de Software 48


SEL –
Foco de Componentes Org.

Ingeniería de Software II Métricas de Software 49


SEL –
Distribución del Esfuerzo
Staff

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

Ingeniería de Software II Métricas de Software 50


Muchas Gracias !

Ingeniería de Software II Métricas de Software 51

También podría gustarte