Escolar Documentos
Profissional Documentos
Cultura Documentos
Contenidos
1. 2.
3.
Medidas
Introduccin a las medidas Introducci Qu, por qu y cmo miden los ingenieros Qu qu c 3. Medidas y mtricas m 4. Medidas en Ingeniera del Software Ingenier 5. Clasificacin de medidas Clasificaci
1. 2.
5.
Conclusiones
Jos Luis Fuertes 1
Introduccin Introducci
Software:
Especifica el conjunto de programas informticos que se inform desarrollan en el entorno de una computadora Papel del software en la sociedad ha cambiado significativamente en los ltimos 50 aos a
mejoras en rendimiento del hardware cambios en arquitecturas informticas inform aumentos de memoria y capacidad de almacenamiento variedad de dispositivos de entrada y salida ...
Introduccin
Introduccin Introducci
Sistemas cada vez ms sofisticados y complejos m Se ha pasado de ser una herramienta para la resolucin de problemas a una industria resoluci Caractersticas del software Caracter
El software se desarrolla, no se fabrica El software no se estropea Aunque la industria tiende a ensamblar componentes, la mayora del software se construye a medida mayor
Introduccin Introducci
Un poco de historia...
Aos 40 Fundamentos de la computacin moderna computaci Principios de los 60 Consolidacin del desarrollo de Consolidaci software de aplicaciones relativamente grandes Finales de los 60 Crisis del software
Imposibilidad de desarrollar proyectos de una dimensin dimensi acorde con los avances tecnolgicos de la poca tecnol
1968 El comit cientfico de la OTAN patrocina una comit cient conferencia en Alemania, para identificar, clasificar y discutir los problemas que se producan en el desarrollo produc de grandes proyectos
Resultado: el desarrollo del software es una tarea de ingeniera (se acua el trmino de Ingeniera del Software) ingenier acu t Ingenier Software)
Introduccin Introducci
Ingeniera: Ingenier
Diccionario de la Real Academia Espaola: Espa ola: Conjunto de conocimientos y tcnicas que permiten t aplicar el saber cientfico a la utilizacin de la materia cient utilizaci y de las fuentes de energa energ Boehm, 1976 Boehm,
Introduccin Introducci
Ingeniera del Software: Ingenier
Aplicacin prctica del conocimiento cientfico en el diseo y construccin de programas de computadora y la documentacin asociada requerida para desarrollar, operar y mantenerlos
Software:
Diccionario de la Real Academia Espaola: Espa ola: Conjunto de programas, instrucciones y reglas informticas para ejecutar ciertas tareas en una inform computadora computadora IEEE, 1993
Aplicacin de un enfoque sistemtico, disciplinado y cuantificable al desarrollo, operacin y mantenimiento del software
Introduccin Introducci
El producto software:
Es un sistema software desarrollado para un cliente con la documentacin que describe cmo instalar y usar el documentaci c sistema Objetivo de la Ingeniera del Software Ingenier
Producir productos software
Introduccin Introducci
El proceso software:
Es el conjunto de actividades y resultados que permite producir un producto software Actividades fundamentales del proceso software:
Especificacin del software: se define la funcionalidad del Especificaci software y el modo de operacin operaci Desarrollo del software: se produce el software de acuerdo con las especificaciones Validacin del software: el software debe ser validado para Validaci asegurarse que hace lo que espera el cliente Evolucin del software: el software debe evolucionar para Evoluci acomodarse a las nuevas necesidades del cliente
Introduccin Introducci
El software no es perfecto
Introduccin Introducci
Las causas de los fallos informticos pueden ser inform muy diversas:
Especificaciones incorrectas o incompletas Anlisis equivocados An Diseos con fallos Dise Programacin con errores Programaci Validacin poco precisa Validaci
10
11
Introduccin Introducci
Actualmente se usa el software en gran diversidad de mbitos Los defectos del software pueden causar importantes problemas e, incluso, daos fsicos da f
Los defectos en programas financieros o editores son poco importantes, poco costosos y nadie sale herido Cuando el software pilota aviones, conduce autos, pilota conduce controla el trfico areo o vigila centrales nucleares, controla tr a vigila los defectos pueden ser muy peligrosos
Introduccin Introducci
La solucin al problema es la calidad soluci
Cundo tiene buena calidad el software? Cu Qu caractersticas influyen al determinar la calidad del Qu caracter software? Cmo medir la calidad del software? Cmo controlar y garantizar la calidad del software?
12
13
Introduccin Introducci
Es necesario medir la calidad... ...pero es una tarea difcil dif Por qu medir? qu
Si algo puede ser medido y expresado con nmeros, entonces se sabe algo acerca de ello No se puede controlar lo que no se puede medir
Kelvin
Calidad del Software Jos Luis Fuertes
DeMarco
14
Control de la Calidad
Objetivos:
Comprobar si un producto posee una determinada caracterstica de calidad en el grado requerido caracter
Si no es as, tiene un defecto as
Control de la Calidad
Controles Estticos Est
Controles manuales
Informales
Por los autores del desarrollo o por personal equivalente
Comprobacin de escritorio (desk checking) Comprobaci (desk checking) Revisin por pares (peer review) Revisi (peer review)
Actividades de control:
Controles estticos est
Analizan el producto sin necesidad de ejecutarlo
Disciplinados
Son tcnicas de grupo t
Auditoras Auditor Revisiones
16
17
Control de la Calidad
Controles Dinmicos Din
Tipos de pruebas
Prueba modular
Se prueba cada mdulo aislado del resto del sistema m
Prueba de sistema
Se prueba si el sistema satisface todos los requisitos del usuario
Mtodos y formalismos
La sistematizacin de los procedimientos facilita la sistematizaci prueba de los resultados obtenidos Se producen incrementos en la productividad (50-150%) (50-
20
Factores humanos
Factores a considerar: cultura de la organizacin, organizaci comunicacin, entorno fsico, formacin, motivacin, comunicaci f formaci motivaci direccin, liderazgo... direcci
Otros
Estndares y convenciones, ejemplos y patrones, gestin Est gesti de configuracin, control del cdigo, gestin de configuraci c gesti problemas...
Calidad del Software Jos Luis Fuertes 22
27%
56%
Otros
23
82%
24
25
Medidas
27
Medidas
Qu Miden los Ingenieros? Qu
La ingeniera puede definirse como el proceso que ingenier produce productos tiles Puede describirse lo que miden los ingenieros en dos categoras: categor
Medidas del producto Medidas del proceso
Medida
Diccionario de la Real Academia Espaola: Espa ola:
Accin y efecto de medir Acci Expresin del resultado de una medicin Expresi medici Cada una de las unidades que se emplean para medir longitudes, reas o volmenes de lquidos o ridos vol l
28
29
Medidas
Qu Miden los Ingenieros? Qu
Medidas del producto
Medidas estticas est
Pueden calcularse cuando el objeto no est en uso est Tamao, longitud, altura, anchura, peso, capacidad, Tama volumen...
Medidas
Qu Miden los Ingenieros? Qu
Medidas del proceso
Se usan para cuantificar la actividad humana de la ingeniera ingenier Ejemplos:
Tamao de un equipo de desarrollo, esfuerzo, tiempo, coste, Tama productividad...
30
31
Medidas
Por qu Miden los Ingenieros? qu
Para describir el estado actual del mundo
Cada medida describe un aspecto concreto del estado del mundo hoy Si se mide el estado del mundo peridicamente, puede peri ser posible descubrir patrones y tendencias
Permite dar explicaciones del comportamiento del mundo real
Leyes o teoras cientficas teor cient
Medidas
Por qu Miden los Ingenieros? qu
Para establecer los requisitos cuantitativamente y demostrar su cumplimiento
No puede imaginarse un proyecto de ingeniera sin ingenier requisitos cuantitativos
Construccin de un puente (longitud, altura, carga mxima, Construcci m caudal del ro...) r Pequeos electrodomsticos (tamao, peso, coste...) Peque electrodom (tama Vehculos (peso, consumo, espacio interior, espacio para Veh equipaje, resistencia a los impactos...) Software (tiempo de respuesta, memoria ocupada...)...
32
Medidas
Por qu Miden los Ingenieros? qu
Para realizar un seguimiento del progreso y predecir los resultados
Las mediciones peridicas de lo que se va obteniendo peri permite realizar un seguimiento cuantitativo del proyecto
Pueden ponerse de manifiesto tendencias inusuales que, al detectarlas, pueden corregirse
Medidas
Por qu Miden los Ingenieros? qu
Para analizar costes y beneficios
El corazn de la ingeniera: el compromiso coraz ingenier
Hay muchas formas de disear productos y muchas formas dise de disear sus componentes dise Cada diseo tiene ventajas y desventajas dise El ingeniero debe valorarlas todas y establecer un compromiso entre unas y otras
A veces se acepta una cualidad negativa para favorecer otra cualidad A veces se acepta menos de un atributo deseable para obtener ms m de otro atributo deseable
Ej.: Coche: se deben establecer compromisos entre peso, economa, econom espacio del habitculo, confort y precio habit
Calidad del Software Jos Luis Fuertes 35
Los ingenieros del software cuentan el nmero de n defectos encontrados durante las pruebas para calibrar los modelos de fiabilidad
Pueden predecir cundo se completarn las pruebas y cundo cu completar cu se alcanzar el nivel de fiabilidad requerido alcanzar
34
Medidas
Cmo Miden los Ingenieros?
Tradicionalmente, los ingenieros usan instrumentos Los instrumentos pueden proporcionar medidas errneas err
La exactitud de un instrumento es una indicacin de la indicaci diferencia entre la lectura del instrumento y los datos de entrada La precisin de un instrumento es una indicacin de lo precisi indicaci repetible que resulta una medicin con una exactitud medici determinada
Medidas
Cmo Miden los Ingenieros?
Muestreo
Seleccin y medida de una parte representativa de la Selecci poblacin para deducir parmetros o caractersticas de poblaci par caracter toda la poblacin. poblaci
Se usa cuando es imposible o poco prctico medir a toda la pr poblacin poblaci
Ejemplo
Control de calidad en un proceso de fabricacin fabricaci
Se elige uno de cada 1000 productos y se realizan medidas Utilizando varias tcnicas estadsticas, se extraen conclusiones t estad acerca de todos los productos a partir de las medidas realizadas en los productos seleccionados
36
37
Mtrica
Criterio para determinar la diferencia o distancia entre dos entidades
38
39
40
41
matemticas, estadstica
interpretacin
Resultados numricos
42
main ()/* Tabla de conversin de Fahrenheit a Celsius */ { int fahr; for (fahr = LOWER; fahr <= UPPER; fahr = fahr + STEP) printf ("%4d %6.1f\n", fahr, (5.0 / 9.0) * (fahr - 32)); }
44
45
25 N 20 15 de 10 5 votos 0 1 2 3 4 5 6 7 8 9
N de lneas de cdigo fuente
46
47
48
5
5
v(G) = + 1
: nmero de predicados n
v(G) = 18 - 12 + 2 = 8
8
8
11
9
Calidad del Software Jos Luis Fuertes 50 Calidad del Software
10
Jos Luis Fuertes
12
51
5 10
20 25
Calidad del Software Jos Luis Fuertes 52 Calidad del Software
Medida:
Nmero de veces que se viola la ley
WMC = c i
i =1
56
57
58
59
10
RFC = MU R i
i
Calidad del Software Jos Luis Fuertes 60 Calidad del Software Jos Luis Fuertes 61
Medidas Hbridas
Se basan tanto en detalles de implementacin como en la implementaci estructura del diseo dise
Medidas de Conectividad
Miden el grado de interconectividad entre los componentes del sistema observando el flujo de informacin entre ellos informaci
62
63
11
Efecto Hawthorne
La medida de cualquier parmetro de un proyecto y su asociacin con una evidencia significativa influir en la utilidad de dicha medida
66
67
Software
69
70
71
12
Modelo de Arthur
Modelo de Gilb / Modelo de Deutsch y Willis Modelo de Schulmeyer Modelo de Gillies / Modelo REBOOT Modelo de Dromey
ISO/IEC TR 9126-4:2004 9126Quality in use Metrics (1-4-2004) (1ISO 9126 Jos Luis Fuertes 72 Calidad del Software Jos Luis Fuertes 73
Calidad en el uso
Subdivisin en 4 caractersticas Subdivisi caracter
74
75
Calidad en el uso
indica
influye
depende de
influye
depende de
depende de
medidas internas
medidas externas
validacin
Calidad externa
indica
verificacin
Calidad interna
76
77
13
Funcionalidad
Fiabilidad
Usabilidad
Eficiencia
Mantenibilidad
Portabilidad
Efectividad
Productividad
Seguridad
Satisfaccin
78
79
80
14
Caractersticas Ad hoc, catico Los procesos dependen de los individuos Los procesos se definen y se institucionalizan Se miden los procesos
Objetivo de las Medidas Establecer las bases para planear y estimar Seguimiento y control del proyecto Definicin y cuantificacin de los procesos y productos intermedios Definicin, cuantificacin y control de los subprocesos y los elementos Optimizacin dinmica y mejora durante el proyecto
Jos Luis Fuertes 84
85
PSP0 Proceso actual Registro del tiempo Registro de defectos Estndar de tipos de defectos
PSP0.1 Estndar de codificacin Medidas del tamao Propuesta de mejora del proceso
86
87
Conclusiones
La calidad del software puede verse como un problema econmico econ
Aunque es fundamental obtener un software de calidad, cada medida, cada test, cada revisin consume tiempo revisi y dinero
Conclusiones
Si se desea un software de alta calidad, hay que asegurarse de que cada una de sus partes tenga alta calidad
89
15
Conclusiones
Razones para la lentitud en la adopcin del uso de adopci medidas para evaluar la calidad del software:
No existen medidas de la calidad del software universales
Existen algunas medidas tiles para ciertos entornos Existirn medidas de calidad ampliamente aceptadas, cuando Existir madure la investigacin en medidas de calidad del software investigaci
Conclusiones
ISO/IEC 9126-1: Modelo de Calidad del Software 9126Los estndares, por s solos, no son suficientes est s Se necesita una disciplina para aplicarlos Si no se comprende el proceso del negocio, no resultar resultar til aplicar ningn mtodo de evaluacin de la calidad ni ning m evaluaci de mejora del proceso
Incluso sabiendo qu medidas usar, no es fcil obtener qu f los datos Incluso con los datos, no es obvio cmo interpretar y c usar los nmeros n La gente se resiste a que se mida la calidad de su trabajo
Calidad del Software Jos Luis Fuertes 90
La medida de los atributos del software puede usarse para predecir o medir indirectamente la calidad del software
91
16