ed- complejidad ciclomática

15
I. Análisis de algoritmos Comprende el concepto de complejidad de los algoritmos y su aplicación en la selección de los mismos

Upload: nies-henryk-aranda-cuevas

Post on 09-Jul-2015

5.276 views

Category:

Education


0 download

TRANSCRIPT

Page 1: ED- Complejidad ciclomática

I. Análisis de algoritmos

Comprende el concepto de complejidad de los algoritmos y su

aplicación en la selección de los mismos

Page 2: ED- Complejidad ciclomática

AnálisisEnfoqueCalidad del

software

Pruebas del Software

Caja blancaLógica Interna

Caja negra Requisitos

Prueba del software y su complejidad

Page 3: ED- Complejidad ciclomática

Prueba del software y su complejidad

Page 4: ED- Complejidad ciclomática

Pruebas de caja blanca Se aplican a unidades del programa relativamente

pequeñas como las rutinas o las operaciones asociados con un objeto.

El probador analiza el código y utiliza el conocimiento de la estructura de un componente para derivar los casos de prueba

Se analiza el código para descubrir cuantos casos de son necesarios para garantizar que todas las instrucciones del programa se ejecuten al menos una vez durante la prueba

Page 5: ED- Complejidad ciclomática

PRUEBA DEL CAMINO BÁSICO… Pasos para la prueba del camino básico

1. Dibujar el grafo de flujo

2. Calcular la complejidad ciclomática

3. Elegir un conjunto básico de trayectorias

Page 6: ED- Complejidad ciclomática

PRUEBA DEL CAMINO BÁSICO… Grafo de flujo de las estructuras básicas

Page 7: ED- Complejidad ciclomática

PRUEBA DEL CAMINO BÁSICO… Grafo de flujo de las estructuras básicas

Page 8: ED- Complejidad ciclomática

PRUEBA DEL CAMINO BÁSICO… Criterios

Los círculos son llamados NODOS y representan una o más sentencias sin bifurcaciones. Representan una o más acciones.

Un solo NODO puede corresponder a una secuencia de CUADROS de proceso y a un ROMBO de decisión.

Las flechas son llamadas ARISTAS y representan el flujo de control.

Una ARISTA debe terminar en un NODO, incluso aunque este no represente ninguna secuencia procedimental

Las áreas delimitadas por ARISTAS y NODOS se llaman REGIONES.

Cuando contamos regiones incluimos el área exterior del grafo, contando como una REGIÓN más.

Page 9: ED- Complejidad ciclomática

PRUEBA DEL CAMINO BÁSICO… Criterios

Cada NODO que contiene una condición se denomina NODO PREDICADO. Se caracteriza porque 2 o más NODOS emergen de él.

Si se encuentran CONDICIONES COMPUESTAS, la generación del grafo de flujo es más difícil. Una condición compuesta se da cuando aparecen 1 o más OPERADORES (OR, AND, NAND, NORlógicos) en una SENTENCIA CONDICIONAL. Se crea un nodo aparte para cada una de las condiciones

Page 10: ED- Complejidad ciclomática

PRUEBA DEL CAMINO BÁSICO… Ejemplo de descomposición de una condición

compuesta

Page 11: ED- Complejidad ciclomática

n1>

n2n1>n3

Ma=n1Ma=n3

n2>n3

Ma=n2Ma=n3

si si

sino

no no

PRUEBA DEL CAMINO BÁSICO… Realizar el grafo de flujo del siguiente diagrama

de flujo

Page 12: ED- Complejidad ciclomática

n1 > n2

n1 > n3

n2 > n3

1. No. Regiones 42. V (G) = A – N + 2 = 12 -10 +2 = 43. V (G) = P + 1 = 3 + 1 = 4

r2 r3

r1r4

Page 13: ED- Complejidad ciclomática

Complejidad ciclomática El calculo de la complejidad ciclomática nos da la

respuesta. Se puede calcular de 4 formas:

1. Por el número de regiones

2. V (G) = A – N + 2

A = No. de Aristas

N = No. de nodos

3. V (G) = P + 1

P = No. nodos predicado

4. Por la matriz de conexión

Page 14: ED- Complejidad ciclomática

Complejidad ciclomática Ejemplo:

Page 15: ED- Complejidad ciclomática

Ejercicio: Desarrolla un programa para el siguiente problema y

calcula la complejidad ciclomática del algoritmo.

1. Se tiene la producción total de toneladas de cereales (arroz, avena ,cebada, trigo) cosechadas durante cada mes del año anterior.

Elaborar un programa que proporcione la siguiente información:

a. El promedio anual de toneladas cosechadas. b. ¿Cuántos meses tuvieron una cosecha superior al promedio anual? c. ¿Cuántos meses tuvieron una cosecha inferior al promedio anual?

d. ¿Cuál fue el mes en el que se produjeron mayor número de toneladas?