Plan de Métricas de Software

(Quality Improvement Paradigm). GQM. (Goal Query Metric). EF. (Experience Factory). Goal Setting Step. Building Software Competencies and Supplying them ...
777KB Größe 69 Downloads 236 vistas
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 Debo poder identificar los objetos del definidas. 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 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 .

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 “ 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 ó 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 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 ”

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 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 ó 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

Verificar que la semántica de las relaciones empíricas se preserva en las relaciones numéricas

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

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 “ 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 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 “ D i s t r i b u c i ó nd eE r r o r e 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 “ D i s t r i b u c i ó nd eE r r o r e 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 “ 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 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 Quality

Quantity

Reliability Defects

Cost

Size Functionality

Ingeniería de Software II

Personnel Time Money Métricas de Software

Resources Hardware Software

Complexity Environmental Constrains Problem Difficulty 28

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

Traceability Métricas de Software

29

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

Traceability 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 Requirement Management

Control: Budget Schedule Standars Output: Code Documentation

Input: Requirements Control: Staff Tools Ingeniería de Software II

Métricas 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

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 Method

Inspection Criteria System Design

Tested Modules

Requirements

Tools Staff

Ingeniería de Software II

Test Plans

Tools Staff

Métricas 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

Ingeniería de Software II

Métricas de Software

34

QIP Quality Improvement Paradigm Planning

Setting Goal Step

Execution Construction and Data Generation Step

Postmortem Analysis 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 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 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 2

Question 1

Question 3 M1

Ingeniería de Software II

M2

Métricas de Software

M3

41

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

Goal: Evaluate effectiveness of coding standard Who is using standard?

Proportion of coder: - using standard - using language

Ingeniería de Software II

What is code quality?

What is coder productivity?

Experience of coders: - with standard - with language - with environment Métricas de Software

Code Size

Effort

Errors

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 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...

Ingeniería de Software II

Métricas 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

Ingeniería de Software II

Project Support

Métricas de Software

Formalize

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

Process Analyst 5%

Database Support 3% 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