Está en la página 1de 51

Métricas de Software

Métrica

Alcance de las Métricas en


la Ingeniería de Software
Temas
CMM assesment

QIP

2
Debo definir una escala...

Medición Establecer una relación entre dicha escala


y los atributos de los objetos
establecidos.
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


El objetivo debe estar
del dominio y especificar su
previamente establecido.
comportamiento

3
Medición

What is not measurable… make it


measurable.

4
Atributos

Posibilidad de analizarlos
en forma aislada

Interno

Atributo
Externo

Dependen del entorno...


Se requiere integrar antes de
poder analizarlos.
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

6
Atributos

7
Atributos

8
Atributos

9
Sistema de Relaciones Empíricas

“Nuestra intuición es el punto


de partida para toda
medición”

10
Sistema de Relaciones

Asignamos un descriptor a un
aspecto de interés de un objeto de
modo que nos permita compararlo
con otros.

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

Nuestra observación refleja una serie de reglas que


estamos imponiendo sobre el dominio...

12
“La segunda es
mas confiable que
la primera”

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.

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

Decimos entonces que “mas confiable” es una Relación


Empírica basada en el atributo indirecto “densidad de errores
detectados durante la inspección”.

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

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
Identificar relaciones numéricas
numéricas correspondientes
a cada relación empírica

Definir el mapping entre las


entidades y los números
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
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.
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?
Entender y Modelar – Ejemplo 1

“Distribución del
Esfuerzo” (horas)
 SEL - NASA
 200 años-staff sobre 25
proyectos
 Específico del Dominio
 Se puede utilizar
como estimador
Ingeniería de Software II
durante la Preparación
Métricas de
20
Software
Entender y Modelar – Ejemplo 2
por clase

“Distribución de Errores” (#)


 SEL - NASA
 10000 errores sobre 5
años de operación
 Específico del Dominio
 Se conserva a lo largo de
los
proyectos
Métricas de
Ingeniería de Software II 21
Software
Entender y Modelar – Ejemplo 2
por origen

“Distribución de Errores” (#)


 SEL - NASA
 10000 errores sobre 5 años
de operación
 Específico del Dominio
 Se conserva a lo largo de
los proyectos

Métricas de
Ingeniería de Software II 22
Software
Entender y Modelar – Ejemplo 3
“Actividad de Cambio (#
SLOCs)
 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
Ingeniería de Software II cambio se sale de la
Métricas de
Software
23

espectativa – posible
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
Métricas de
Ingeniería de Software II 24
Software
Administración de Proyectos
Ejemplo Planeamiento

 Estabilidad de
Requerimientos
 Complejidad de Software
 Estimaciones: COCOMO 2.0

Métricas de
Ingeniería de Software II 25
Software
Administración de Proyectos
Ejemplo Seguimiento

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

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


Ingeniería de Software II
Métricas de
28
Difficulty
Software
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
Métricas de
Ingeniería de Software II 29
Software
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
Métricas de
Ingeniería de Software II 30
Software
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
Métricas de
Ingeniería de Software II 31
Software
CMM assessment - Level 2
Control:
Budget
Schedule
Standars

Output:
Input:
Code
Requirements
Documentation

Control:
Staff
Tools

Debo definir métricas para cada aspecto visible…


Requirements,
Code, Documentation

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

Métricas de
Ingeniería de Software II 33
Software
CMM assessment - Level 3
Design Inspection Test
Method Criteria Plans

System Tested
Design Modules
Requirements System
Software

Tools Tools Tools


Staff Staff Staff

Debo definir métricas para cada aspecto visible…


Product attributs
System design,
Quality of Tested Modules

Métricas de
Ingeniería de Software II 34
Software
QIP
Quality Improvement
Paradigm
Plannin Setting Goal Step
g

Executio Postmortem
Construction and Data n Analysis
Generation Step
Analysis
and
Packagin
Métricas de
g
Ingeniería de Software II 35
Software
QIP

Goal Setting Step


GQM
(Goal Query Metric)

QIP
(Quality Improvement Paradigm)
EF
(Experience Factory)
Building Software Competencies
and Supplying them to Projects

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

Métricas de
Ingeniería de Software II 38
Software
GQM - Paradigm

Definir objetivos
corporativos y de proyecto

R
ast
rea
r
qu
e Proveer un marco de trabajo
dat para interpretar los datos y entender
os el enfoque sobre los objetivos
Ingeniería de Software II “ Métricas de
Software
39

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

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


- using standard Effort
- with standard
- using language - with language
- with environment
Métricas de
Ingeniería de Software II 42
Software
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,
Métricas de
validar y analizar
Ingeniería de Software II 43
Software
los datos obtenidos
QIP

Goal Setting Step


GQM
(Goal Query Metric)

QIP
(Quality Improvement Paradigm)
EF
(Experience Factory)
Building Software Competencies
and Supplying them to Projects

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

Métricas de
Ingeniería de Software II 45
Software
EF
The
Process
Experience
Project Organization Factory

Project / environment characteristics


Characterize
Set Goals Tailorable goals, processes, tools
Choose Process products, resource models, defect
models, …from simlar projects
Execution Plans

Data, lessons learned,...


Execute Process
Project analysis, process
modification...
Métricas de
Ingeniería de Software II 46
Software
EF
The Process

Project
Organizatio Experience Factory
n Data, lessons
learned, models
Package
Direct Analyze
project
Generalize
feedback
Products, lessons learned, models Experience
Base Tailor
Project characteristics
Project
Models, tools, Support Formalize
baselines

Métricas de
Ingeniería de Software II 47
Software
SEL - Estructura

Métricas
Ingeniería de Software II de 48
Software
SEL – Foco de Componentes Org.

Métricas
Ingeniería de Software II de 49
Software
SEL – Distribución del
Esfuerzo Staff

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

Métricas de
Ingeniería de Software II 50
Software
Muchas Gracias !

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

También podría gustarte