Professional Documents
Culture Documents
SOFTWARE
5.
6.
7.
8.
9.
Conceptos bsicos
Medidas y modelos
Alcance de las mtricas
Clasificacin de las mtricas
Procesos
Productos
Recursos
Recogida de datos mtricos
Base Histrica
Obtencin de informacin
Mtodo Objetivo/Pregunta/Mtrica
Medicin de atributos internos del producto
Longitud
Funcionalidad
Complejidad
Medidas estructurales
Medicin de atributos externos del producto
Medicin de recursos
Mtricas para sistemas orientados a objetos
3
La Frase:
Debemos recordar que otras disciplinas
cientficas ya han aplicado los
conceptos bsicos de la medicin. En
Ingeniera del Software no hay que
reinventar demasiado, simplemente
aplicar y adaptar la teora ya
existente a las mtricas del software
[Dolado00, pag 39]
1. Conceptos Bsicos
Medida
Medicin
1993).
Entidad
medida
se aplica a
1..*
posee
1..*
Atributo
*
Mundo real
(emprico)
Valor
(magnitud)
1..*
mide
se expresa en
1
1
cuantifica
*
Unidad
Mundo formal
(matemtico)
1. Conceptos Bsicos
FORMULACIN
COLECCIN
Obtencin de datos
ANLISIS
Clculo de mtricas
INTERPRETACIN
REALIMENTACIN
Recomendaciones obtenidas
1. Conceptos Bsicos
Mtrica
Indicador
La Frase:
All models are wrong but
some are useful
[George Box]
2. Medidas
Modelos de fiabilidad
11
2.
3.
4.
5.
6.
7.
8.
9.
12
ENTIDADES
ATRIBUTOS
Internos
Productos
Especificaciones,
diseo, cdigo...
Procesos
Realizacin de la
especificacin, del
diseo, del cdigo...
Recursos
Personal, equipos,
hardware, software...
Externos
Tamao, reusabilidad,
modularidad, funcionalidad,
acoplamiento, complejidad...
Comprensin, mantenibilidad,
calidad, fiabilidad ...
13
...
Esas medidas pueden combinarse con otras para tener un
mayor conocimiento del proceso de desarrollo.
Ejemplo: coste/nmero de errores
Observabilidad
Estabilidad
...
A menudo se proponen medidas de atributos externos en
funcin de atributos internos.
14
http://www.psl.com.co/
15
Usabilidad
Integridad
Eficiencia
Reusabilidad
Portabilidad
...
Atributos internos del producto:
Medidas de diseo
16
...
Los recursos externos pueden obtenerse a
partir de los anteriores:
Coste
Productividad
17
Proceso, y recogida
Datos sin
producto
de datos refinar
recurso
Extraccin
Valores de
Datos Anlisis
atributos
refinados
derivados
Medicin directa
Medicin
indirecta
MEDIDAS
INTERMEDIAS:
Tcnicos usando
el estndar
MTRICAS
Total tcnicos
?......
Cual es la
productividad del
codificador?
Cual es la calidad
del cdigo?
Esfuerzo en
codificacin con y Cantidad
de cdigo
sin estndar
?.....
Errores
?...
19
OBJETIVOS
Mejorar la planificacin del proyecto.
Incrementar la contencin de defectos.
Incrementar la Fiabilidad.
AREAS DE MEDICIN
Defectos entregados y defectos
entregados por tamao.
...
DEFINICIN DE TRMINOS
PROBLEMA SOFTWARE.
ERROR, DEFECTO, FALLO AVERA..
MTODOS GQM:
Objetivo: mejorar la planificacin del proyecto.
Pregunta: Cul es la precisin en la estimacin del valor real
del plazo del proyecto?
Mtrica: Precisin en la estimacin del plazo (SEA)
SEA=Duracin real /duracin estimada
20
6. Medicin de atributos
internos del producto
Los atributos internos describen los productos de
software de forma que dependen nicamente del
producto mismo.
6. Medicin de atributos
internos del producto:
Longitud
Cdigo
22
6. Medicin de atributos
internos del producto:
Referentes al cdigo
Cdigo
23
6. Medicin de atributos
internos del producto:
longitud
Volumen:
V = N log2 n
donde N = N1 + N2 y n = n1 + n2
Esfuerzo de implementacin:
E = (n1 N2 N log2 n ) / (2 n2)
24
6. Medicin de atributos
internos del producto:
longitud
Especificaciones y diseo
Diagrama
Objetos atmicos
Burbujas
Diccionario de datos
Elementos de datos
Datos
Objetos, relaciones
Estado
Diagrama de transicin de
estados
Estados, transiciones
Funcional
25
6. Medicin de atributos
internos del producto:
funcionalidad
Puntos de funcin (PF)
26
6. Medicin de atributos
internos del producto:
funcionalidad
Item
Simple
Entradas externas
Salidas externas
Consultas externas
Ficheros externos
Ficheros internos
3
4
3
7
5
Factor de peso
Medio
Complejo
4
5
4
10
7
6
7
6
15
10
F6 Entrada interactiva de
datos
F7 Facilidad operativa
F3 Funciones distribuidas
F4 Rendimiento
F5 Configuracin muy
cargada
F11 Reusabilidad
F12 Facilidad de instalacin
6. Medicin de atributos
internos del producto:
funcionalidad
Ninguna influencia
0
Incidental
1
Moderado
2
Medio
3
Significativo
4
Esencial
5
La siguiente frmula combina los 14 factores:
14
i=1
6. Medicin de atributos
internos del producto:
funcionalidad
Fuente: Pressman, 5 edicin, pag. 62
Lenguaje de Programacin
Ensamblador
C
COBOL
FORTRAN
Pascal
C++
Ada95
Visual Basic
SmallTalk
SQL
Java
LDC/PF
320
128
106
106
90
64
53
32
22
12
58
http://irb.cs.uni-magdeburg.de/sw-eng/us/java/fp/
29
6. Medicin de atributos
internos del producto:
funcionalidad
Puntos objeto
Utiliza una medida del tamao que puede ser aplicada al
comienzo del desarrollo. Para realizar el clculo de los puntos
objeto se realiza una medida inicial contando el nmero de
pantallas, informes y componentes de 3GL de la aplicacin. A
cada objeto se le asigna un factor de peso segn su grado de
dificultad. Los pesos reflejan el esfuerzo relativo requerido
para implementar un objeto de un determinado nivel.
Tipo de objeto
Simple
Medio
Difcil
Pantalla
Informe
Componente 3GL
1
2
-
2
5
-
3
8
10
Puntos de caracterstica
Sistemas en tiempo real , control de procesos,
empotrados,...
sistemas
30
6. Medicin de atributos
internos del producto:
medidas estructurales
Flujo de control
Grafos de flujo de control
31
6. Medicin de atributos
internos del producto:
medidas estructurales
x1
x2
xn
Pn
x1, x2 ... xn
A
x
D0
if A then x
x1
a1
x2
a2
...
xn
Cn
Case A of
a1 : x1
a2 : x2
an : xn
x
D2
while A do X
an
D3
repeat X until A
6. Medicin de atributos
internos del producto: medidas
estructurales
Complejidad ciclomtica de McCabe:
La complejidad de un programa se
mide mediante el nmero ciclomtico
(v) de su grafo de flujo (F):
v(F) = e n + 2
siendo e el nmero de arcos y n el
nmero de nodos de F.
El nmero ciclomtico:
6. Medicin de atributos
internos del producto:
medidas estructurales
Complejidad ciclomtica de McCabe:
Determina en nmero de caminos a travs de
un programa.
Sirve para predecir los mdulos que son ms
propensos a errores.
Determina el nmero de casos de prueba
para asegurarse que todas las sentencia de un
componente han sido ejecutadas al menos
una vez.
Cyclomatic
Complexity
Risk Evaluation
1-10
a simple program,
without much risk
11-20
more complex,
moderate risk
21-50
greater than 50
untestable program
(very high risk)
http://www.sei.cmu.edu/str/descriptions/cyclomatic_body.html
34
DEMO
http://www.hypercisioninc.com/jmetra/jmetradoc.html
jMetra is a simple Code Metrics Collection and
Analysis Package for Java
http://www.it.swin.edu.au/projects/jmetric/products/jmetric/
JMetric aims to bring current OO-metrics, and metrics
tools research to the practitioner.
http://www.qido.at/
QiDO is a provider of quality management at the
source of your projects. What you get is a
permanent overview about the status of your
software development.
35
Practica, referencias
http://www.eclipse.org
http://jalopy.sourceforge.net/
http://metrics.sourceforge.net/
36
7. Medicin de atributos
externos del producto
FACTOR
MTRICA
CRITERIO
Cuenta de fallos
Facilidad de
correccin
Grado de prueba
Mantenibilidad
Chequeabilidad
Esfuerzo
Expansibilidad
Cuenta de
cambios
Descomposicin del factor mantenibilidad
37
7. Medicin de atributos
externos del producto
El modelo de calidad estndar ISO 9126
Funcionalidad
Fiabilidad
Eficiencia
Usabilidad
Mantenibilidad
Portabilidad
El estndar define un proceso para evaluar la calidad del
software segn la figura adjunta.
requisitos de
calidad
Seleccin de
mtricas
Requisitos de gestin
Definicin de
niveles de
clasificacin
Definicin de
criterios de
valoracin
Desarrollo de Productos
software
Medicin
Clasificacin
Resultados
Valoracin
Modelo del proceso de evaluacin ISO 9126
38
El modelo de calidad
estndar ISO 9126
El modelo de calidad
estndar ISO 9126
Objetivo: Evaluacin de Calidad de productos
Tiene 3 fases:
DEFINICIN DE REQUISITOS:
Necesidades tcnicas iniciales -> [ Definicin de QR]
Especificacin de QR (QRS).
FASE DE PREPARACIN:
QRS --> [ Seleccin de mtricas ] --> Mtricas
QRS --> [ Definir niveles de evaluacin] --> Niveles evaluacin
QRS --> [ Definicin de criterios de valoracin] -> Criterios
FASE DE EVALUACIN:
Productos, Mtricas --> [ Medicin ] -> Valores medidos
Valores medidos, niveles evaluacin --> [ Evaluacin ]
--> niveles evaluados.
Niveles evaluados, Criterios --> [ valoracin ] --> Resultado
40
7. Medicin de atributos
externos del producto
Medicin de la portabilidad
Defectos conocidos
Defectos latentes
7. Medicin de atributos
externos del producto
Medida de la calidad basada en defectos
Funciones de ayuda
Interfaces consistentes
La usabilidad se puede descomponer en atributos medibles de los
siguientes tipos:
Nivel de entrada
Nivel de aprendizaje
Facilidad de manejo
42
7. Medicin de atributos
externos del producto
Medidas de usabilidad (II)
Eficiencia temporal:
periodo productivo =
x 100
tiempo de tarea
eficiencia relativa =
x 100
eficiencia del experto
43
7. Medicin de atributos
externos del producto
Medidas de mantenibilidad (I)
Tiempo de cambio
44
7. Medicin de atributos
externos del producto
45
8. Medicin de recursos
8. Medicin de recursos
Productividad
47
8. Medicin de recursos
Equipos
La estructura del equipo del proyecto es un factor clave en la
productividad.
El factor particular que afecta a la productividad es la complejidad de
las comunicaciones: complejidad causada por el nmero de individuos
...
Fenton establece la siguiente escala ordinal para medir la experiencia
de cada miembro del equipo: 0 (ninguna), 1 (familiaridad pero sin
experiencia, prctica), 2 (experiencia prctica de ms de 20 h en un
proyecto), 3 (experiencia de entre 21 y 100h en varios proyectos), 4
(amplia experiencia).
La experiencia del equipo se calcula hallando la media de las medidas de
experiencia individual.
Algunos mtodos como COCOMO utilizan escalas de medida ordinales
(muy baja, baja, nominal, alta y muy alta) para cada uno de los atributos
de personal: experiencia en la aplicacin, en el lenguaje, en el uso de
herramientas, ...
La productividad del equipo no slo depende de las
productividades individuales de sus miembros, sino tambin de
la comunicacin entre ellos.
48
8. Medicin de recursos
Mtodos y herramientas
Existen pocos estudios sobre el grado en que las herramientas
aumentan la productividad.
Los modelos de estimacin del esfuerzo requieren una medida del
nivel de uso de mtodos y herramientas.
El modelo COCOMO incluye dos guas de coste: uso de herramientas y uso
de tcnicas modernas de programacin con escalas de medida (muy baja,
baja, nominal, alta, muy alta)
No se usan herramientas.
Las herramientas sirven de ayuda en el 20% de la documentacin.
Las herramientas se usan para documentar al menos el 50% del
diseo de alto nivel.
Las herramientas se usan para documentar al menos el 50% del
diseo de alto nivel y diseo detallado.
Las herramientas se usan para el diseo y la generacin automtica
de cdigo de al menos el 50% del sistema.
Las herramientas se usan para el diseo y la generacin
automtica de cdigo de al menos el 90% del sistema.
...
49
Encapsulamiento
Herencia
Referencias
Basili, V.R. y Weiss, D., A Methodology for collecting valid software engineering
data, IEEE Transaction on Software Engineering,10(6), 728-38 1984.
Basili, V.R. y Rombach, H.D., The TAME project: Towards improvement-oriented
software environments, IEEE Transaction on Software Engineering,14(6), 75873, 1988.
Belady, L.A., and Lehman, M.M., A Model of Large Program Development, IBM
Systems Journal, 15 (3), pp. 225-252, 1976.
Binder, R., Testing Object-Oriented Systems, American Programmer, 7(4), 22-29,
1994.
Chidamber, S.R. y Kemerer, C.F., A metrics suite for object-oriented design ,IEEE
Trans. Software Engineering, 20(6), 476-493, 1994.
Churcher, N.I. and Shepperd, M.J., Towards Conceptual Framework for ObjectOriented Metrics, ACM Software Engineering Notes, 20 (2), 67-76, 1995.
DeMarco, T., Structured Analysis and Sistem Specification, Yourdon Press, 1978.
DeMarco, T., Controlling Software Projects, Yourdon Press, 1982.
Dolado, J.J. y Fernndez, L. (coordinadores). Medicin para la Gestin en la
Ingeniera del Software. Ra-ma, 2000.
Fenton, N.E. y Pfleeger, S.L., Software metrics. A rigorous & practical approach ,
1997.
Halstead, M.H., Elements of Software Science, Elsevier North-Holland, 1977.
IEEE Software Engineering Standards,. Standard 610.12-1990, 1993.
Lorenz, M. and Kidd, J., Object_oriented Software Metrics, Prentice Hall 1994.
McConnell, S., Desarrollo y gestin de proyectos informticos, Mc Graw Hill 1997.
Paulk, M. et al., Capability Maturity Model for Software, Software Engineering
Institute, Carnie Mellon University, Pittsburgh, P.A., 1993.
Pressman, R.S., Ingeniera del Software. Un enfoque prctico, Mc Graw Hill, 55
2001.
Medicin de atributos
internos del producto.
Funcionalidad
Entrada:
1. Nombre del documento a revisar
Fichero externo:
1. Documento a
revisar
Usuario
Consulta:
1. Palabras procesadas?
Corrector
ortogrfico
Salidas:
1.
Nmero total palabras
revisadas
2.
Nmero total de
errores detectados
3.
Lista de palabras con
errores ortogrficos
Entradas externas:
Salidas externas:
Consultas externas:
Ficheros externos:
Ficheros internos:
Fichero
interno:
1. Diccionario
PFS:
FCT:
PF:
56