1 / 13

Plan de Trabajo

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

Télécharger la présentation

Plan de Trabajo

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Plan de Trabajo Fases de Desarrollo de un Programa

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

  3. Análisis y Especificaciones • Entradas: • Salidas: • Objetivo: • Método: • Suposiciones: • Entorno local • Constantes: • Variables: • Usa: ... • Batería de pruebas:

  4. 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: • Si r = 0, n divide a m y el MCD es n • Si no, MCD(m,n) = MCD(n,r), y se rebaja el problema a un par de números menores Repitiendo 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

  5. Análisis: Batería de Pruebas

  6. Diseño • Diseño descendente • Refinamientos sucesivos • Diseño modular • Divide y vencerás

  7. Diseño: Nivel 1 inicio leer m, n si (m > 0) y (n > 0) entonces si m < n entonces intercambiar los valores de m y n fin_si r ← m MOD n mientras r > 0 hacer m ← n n ← r r ← m MOD n fin_mientras escribir ‘El MCD es ‘ n si_no escribir ‘Dato inválido’ fin

  8. Diseño: Nivel 2 inicio leer m, n si (m > 0) y (n > 0) entonces si m < n entonces x ← m m ← n n ← x fin_si r ← m MOD n mientras r > 0 hacer m ← n n ← r r ← m MOD n fin_mientras escribir ‘El MCD es ‘ n si_no escribir ‘Dato inválido’ fin

  9. Diseño: Batería de Pruebas

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

  11. Codificación • Traducción del algoritmo a un programa • Lenguaje de programación • PASCAL

  12. program mcd (input, output); var m, n, r, x: integer; begin readln (input, m, n); if (m > 0) and (n > 0) then begin if (m < n) then begin x := m; m := n; n := x; end; r := m mod n; while (r > 0) do begin m := n; n := r; r := m mod n; end; writeln (output, ‘El MCD es ‘, n) end else writeln (output, ‘Dato inválido’); end.

More Related