plan de trabajo

13
Plan de Trabajo Fases de Desarrollo de un Programa

Upload: courtney-fischer

Post on 03-Jan-2016

26 views

Category:

Documents


0 download

DESCRIPTION

Plan de Trabajo. Fases de Desarrollo de un Programa. Fases de desarrollo. Análisis Especificación y batería de pruebas Pruebas de escritorio Diseño Revisión y ampliación de la batería de pruebas Pruebas de escritorio (trazas) Codificación Revisión y ampliación de la batería de pruebas - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Plan de Trabajo

Plan de Trabajo

Fases de Desarrollo de un Programa

Page 2: Plan de Trabajo

Fases de desarrollo Análisis

Especificación y batería de pruebas

Pruebas de escritorio Diseño

Revisión y ampliación de la batería de pruebas

Pruebas de escritorio (trazas) Codificación

Revisión y ampliación de la batería de pruebas

Pruebas de ejecución

Page 3: Plan de Trabajo

Análisis y Especificaciones

Entradas: Salidas: Objetivo: Método: Suposiciones: Entorno local

Constantes: Variables: Usa: ...

Batería de pruebas:

Caso Entrada Salida esperada Salida obtenida

1 ... ...

... ... ...

Page 4: Plan de Trabajo

Análisis: Especificación Enunciado: Dados dos números enteros estrictamente

positivos, obtener sus máximo común divisor. Entradas: m, n números enteros estrictamente

positivos. Salidas: Su MCD Método: Algorítmo de Euclides

Se basa en que, si m >= n y r es el resto de m / n:(1) Si r = 0, n divide a m y el MCD es n(2) Si no, MCD(m,n) = MCD(n,r), y se rebaja el problema a un par

de números menoresRepitiendo el proceso se llegará a la situación (1)

Suposiciones: m, n > 0 Si no, se responderá con un mensaje

Entorno local: Variables: r para el resto de la división

Page 5: Plan de Trabajo

Análisis: Batería de Pruebas

Caso Entrada Salida esperada Salida obtenida

1 120, 36 12

2 225, 49 1

3 225, 5 5

4 0, 7 ‘Dato inválido’

Page 6: Plan de Trabajo

Diseño

Diseño descendenteRefinamientos sucesivos

Diseño modularDivide y vencerás

Page 7: Plan de Trabajo

Diseño: Nivel 1inicio

leer m, nsi (m > 0) y (n > 0) entonces

si m < n entoncesintercambiar los valores de m y n

fin_sir ← m MOD nmientras r > 0 hacer

m ← nn ← rr ← m MOD n

fin_mientrasescribir ‘El MCD es ‘ n

si_noescribir ‘Dato inválido’

fin

Page 8: Plan de Trabajo

Diseño: Nivel 2inicio

leer m, nsi (m > 0) y (n > 0) entonces

si m < n entoncesx ← mm ← nn ← x

fin_sir ← m MOD nmientras r > 0 hacer

m ← nn ← rr ← m MOD n

fin_mientrasescribir ‘El MCD es ‘ n

si_noescribir ‘Dato inválido’

fin

Page 9: Plan de Trabajo

Diseño: Batería de Pruebas

Caso Entrada Salida esperada Salida obtenida

1 36,120 12

2 225, 49 1

3 225, 5 5

4 0, 7 ‘Dato inválido’

Page 10: Plan de Trabajo

Pruebas de escritorio

Ejecución manual de un algoritmo sobre un caso de prueba.

Se representa como una tabla.Cada columna representa el entorno.Cada fila muestra la modificación del entorno

a medida que se simula la ejecución línea a línea del algoritmo.

Page 11: Plan de Trabajo

0 inicio lin m n x r condición salida

1 leer m, n 0 ? ? ? ?

2 si (n>0) y (m>0) entonces 1 36 120 ? ?

3 si m<n entonces 2 36 120 ? ? (n>0) y (m>0) = T

4 x ← m 3 36 120 ? ? (m < n) = T

5 m ← n 4 36 120 36 ?

6 n ← x 5 120 120 36 ?

7 fin_si 6 120 36 36 ?

8 r ← m MOD n 7

9 mientras r > 0 hacer 8 120 36 36 12

10 m ← n 9 120 36 36 12 (r > 0) = T

11 n ← r 10 36 36 36 12

12 r ← m MOD n 11 36 12 36 12

13 fin_mientras 12 36 12 36 0

14 escribir ‘El MCD es’ n 13 36 12 36 0

15 si_no 9 36 12 36 0 (r > 0) = F

16 escribir ‘Dato inválido’ 14 36 mcd 12

17 fin_si 17 36

18 fin 18

Page 12: Plan de Trabajo

Codificación

Traducción del algoritmo a un programa Lenguaje de programación

PASCAL

Page 13: Plan de Trabajo

program mcd (input, output);var

m, n, r, x: integer;begin

readln (input, m, n);if (m > 0) and (n > 0) then

beginif (m < n) then

beginx := m;m := n;n := x;

end;r := m mod n;while (r > 0) do

beginm := n;n := r;r := m mod n;

end;writeln (output, ‘El MCD es ‘, n)

endelse

writeln (output, ‘Dato inválido’);end.