SlideShare una empresa de Scribd logo
1 de 16
Descargar para leer sin conexión
30/10/08




                    Programación 1 (03) 
                 Unidad III: Metodología de 
                  desarrollo de programas 


                                               Prof. Flor Narciso 
                                        Departamento de Computación 
                                       Escuela de Ingeniería de Sistemas 
                                            Facultad de Ingeniería 
                                           Universidad de Los Andes 




                     Metodología de desarrollo de 
                             programas 
  Obje%vo: Resolver problemas mediante el uso de una 
    computadora 

  •  Actualmente se cuenta con disEntas metodologías 
     para el desarrollo de aplicaciones de soFware: 
     Espiral, Watch, RUP, EUP, Incremental, Cascada, 
     Cascada V, etc. 




Prof. Flor Narciso                Programación 1
                                  Semestre B-2008
                                                                            2




                                                                                      1
30/10/08




                     Metodología de desarrollo de 
                             programas 
  •  Pasos de la metodología a u=lizar en el curso 
         –  Análisis del problema 
         –  Diseño del algoritmo 
         –  Codificación 
         –  “Corrida en frío” del programa 
         –  Depuración del programa 
         –  Ejecución del programa 
         –  Comprobación del programa 
         –  Puesta en operación del programa 
         –  Mantenimiento del programa  


Prof. Flor Narciso                        Programación 1
                                          Semestre B-2008
                                                                                    3




                     Metodología de desarrollo de 
                         programas: Análisis 
  Análisis del problema (Análisis E‐P‐S) 

  •  IdenEficar y comprender el problema  

  •  Describir: 
         –  Los datos de entrada (E): Información necesaria para la solución del 
            problema 
             •  ¿ Qué datos son de entrada ? 
             •  ¿ Cuántos datos se introducirán ? 
             •  ¿ Cuáles datos de entrada son válidos ? 




Prof. Flor Narciso                        Programación 1
                                          Semestre B-2008
                                                                                    4




                                                                                              2
30/10/08




                     Metodología de desarrollo de 
                         programas: Análisis 
  Ejemplo 
       Se patea una pelota con una fuerza de 1,2 N y adquiere una 
       aceleración de 3,0 m/s2, ¿cuál es la masa de la pelota? 


                         Datos de entrada

                Fuerza (F ∈ R) = 1,2 N
                Aceleración (a ∈ R) = 3,0 m/s2
                1 N = 1 Kg . 1 m/s2




Prof. Flor Narciso                          Programación 1
                                            Semestre B-2008
                                                                     5




                     Metodología de desarrollo de 
                         programas: Análisis 
  Análisis del problema (Análisis E‐P‐S) 
  •  Describir: 

         –  El proceso que permite resolver el problema (P): 
            Operaciones o cálculos necesarios para encontrar la 
            solución del problema 
             •  ¿ Qué Epo de ecuaciones ? 
             •  ¿ Cuántas ecuaciones ? 




Prof. Flor Narciso                          Programación 1
                                            Semestre B-2008
                                                                     6




                                                                               3
30/10/08




                     Metodología de desarrollo de 
                         programas: Análisis 
  Ejemplo 
       Se patea una pelota con una fuerza de 1,2 N y adquiere una 
       aceleración de 3,0 m/s2, ¿cuál es la masa de la pelota? 


                 Datos de entrada                         Proceso

         Fuerza (F ∈ R) = 1,2 N                           F=m.a
         Aceleración (a ∈ R) = 3 m/s2                     m = F/a
         1 N = 1 Kg . 1 m/s2




Prof. Flor Narciso                      Programación 1
                                        Semestre B-2008
                                                                      7




                     Metodología de desarrollo de 
                         programas: Análisis 
  Análisis del problema (Análisis E‐P‐S) 
  •  Describir: 

         –  Los resultados esperados (S): Resultados finales de los 
            cálculos 
             •  ¿ Cuáles son los datos de salida ? 
             •  ¿ Cuántos datos de salida se producirán ? 
             •  ¿ Qué precisión tendrán los resultados ? 
             •  ¿ Se debe imprimir un encabezado ? 




Prof. Flor Narciso                      Programación 1
                                        Semestre B-2008
                                                                      8




                                                                                4
30/10/08




                     Metodología de desarrollo de 
                         programas: Análisis 
  Ejemplo 
       Se patea una pelota con una fuerza de 1,2 N y adquiere una 
       aceleración de 3 m/s2, ¿cuál es la masa de la pelota? 



        Datos de entrada                            Proceso                            Salidas

Fuerza (F ∈ R) = 1,2 N                             F=m.a                         masa (m ∈ R)
Aceleración (a ∈ R) = 3 m/s2                       m = F/a
1 N = 1 Kg . 1 m/s2



Prof. Flor Narciso                                Programación 1
                                                  Semestre B-2008
                                                                                                           9




                     Metodología de desarrollo de 
                         programas: Análisis 
                              ¿ Qué le hacemos a los datos ? 
                              ¿ En qué orden (cuándo se lo                             F=m.a
                                  hacemos) ?                                           m = F/a
                              ¿ Cuántas veces ?     



                                                                                                  masa
                     Datos              Programa                          Información
                                                                                                 (m ∈ R)
               (Entrada)                                                    (Salida)


      ¿ Qué datos tenemos ?  
      ¿ Cómo les llamamos ? 
      ¿ Cómo son (=po y/o                                           Fuerza (F ∈ R) = 1,2 N
      estructura) ?                                                 Aceleración (a ∈ R) = 3 m/s2
      ¿ Qué se puede hacer con                                      1 N = 1 Kg . 1 m/s2
          ellos ? 
Prof. Flor Narciso                                Programación 1
                                                  Semestre B-2008
                                                                                                           10




                                                                                                                      5
30/10/08




                         Metodología de Desarrollo de 
                             Programas: Análisis 
    Análisis del problema (Análisis E‐P‐S) 


    Entradas:  
       –  Fuerza (F ∈ R) 
       –  Aceleración (a ∈ R) 




    Prof. Flor Narciso                Programación 1
                                      Semestre B-2008
                                                         11




                         Metodología de desarrollo de 
                             programas: Análisis 
    Análisis del problema (Análisis E‐P‐S) 


    Proceso:  
       –  Calcular la masa de la pelota (Qué??) 
             
             
                                F    (Cómo????) 
                           m=
                                a

    Prof. Flor Narciso                Programación 1
                                      Semestre B-2008
                                                         12


€

                                                                    6
30/10/08




                       Metodología de desarrollo de 
                           programas: Análisis 
  Análisis del problema (Análisis E‐P‐S) 


  Salidas:  
      –  Masa de la pelota (m ∈ R) 
            
            




  Prof. Flor Narciso                              Programación 1
                                                  Semestre B-2008
                                                                                             13




                       Metodología de desarrollo de 
                           programas: Diseño 
  Diseño del algoritmo: Descripción de una secuencia finita y 
     ordenada de pasos – sin ambigüedades – que conducen a la 
     solución de un problema dado 

    Herramientas de diseño 
                        Diagramas de flujos (programación estructurada) 
                        Círculos y canales de mensaje (programación orientada por 
                         objetos) 
                        Pseudo código (algoritmo) 
                        Trazas personales 
                        Fórmulas matemáticas 
                        Todo aquello que le ayude a representar la solución del problema 


Prof. Flor Narciso                                Programación 1
                                                  Semestre B-2008
                                                                                             14




                                                                                                        7
30/10/08




                     Metodología de desarrollo de 
                         programas: Diseño 
  Ejemplo: Notación formal!

  Algoritmo calcularMasa!
         0. Inicio 
         1. Leer (F) 
         2. Leer (a)          Entradas 


         3. m = F/a           Proceso 

         4. Escribir (m)      Salida 
         5. Fin 




Prof. Flor Narciso                      Programación 1
                                        Semestre B-2008
                                                                        15




                     Metodología de desarrollo de 
                         programas: Diseño 
  •  Un algoritmo debe ser preciso e indicar el orden de realización 
     de cada paso 

  •  Un algoritmo debe estar definido. Si se sigue un algoritmo dos 
     veces, se debe obtener el mismo resultado cada vez 

  •  Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe 
     terminar en algún momento; o sea, debe tener un número 
     finito de pasos 




Prof. Flor Narciso                      Programación 1
                                        Semestre B-2008
                                                                        16




                                                                                   8
30/10/08




                     Metodología de desarrollo de 
                       programas: Codificación 
  Codificación:  Traducción del algoritmo a un 
       programa escrito en un lenguaje de 
       programación adecuado (código fuente) 
  •  Los diferentes pasos de un algoritmo se expresan 
     en los programas como sentencias o 
     proposiciones 
  •  Para escribir el programa en la computadora se 
     uEliza un soFware llamado editor de texto 
  •  Lenguaje de programación C 
Prof. Flor Narciso                Programación 1
                                  Semestre B-2008
                                                                            17




                     Metodología de desarrollo de 
                       programas: Codificación 
  Ejemplo                            #include <stdio.h> 

         0. Inicio                   int main()
                                      {
                                        
 
float F, a, m;
         1. Leer (F) 
         2. Leer (a) 
                                          
   
scanf(“%f”, &F);
                                          
   
scanf(“%f”, &a);
         3. m = F/a                       
   

         4. Escribir (m)                  
   
m = F/a;
                                          
   

         5. Fin                           
   
printf(“m = %fn”, m);   
                                          
   
return 0;
                                     }



Prof. Flor Narciso                Programación 1
                                  Semestre B-2008
                                                                            18




                                                                                       9
30/10/08




                     Metodología de desarrollo de 
                       programas: Codificación 

                                      Entradas

                                      Fuerza (F ∈ R)
                                      Aceleración (a ∈ R)


                                                    Salida

                                            masa (m ∈ R)




Prof. Flor Narciso                Programación 1
                                  Semestre B-2008
                                                                        19




                     Metodología de desarrollo de 
                       programas: Codificación 




                                                             F = 1.2




                                                              a = 3.0


Prof. Flor Narciso                Programación 1
                                  Semestre B-2008
                                                                        20




                                                                                  10
30/10/08




                     Metodología de desarrollo de 
                       programas: Codificación 




                              m = 1.2/3.0 = 0.4




Prof. Flor Narciso                  Programación 1
                                    Semestre B-2008
                                                                21




                     Metodología de desarrollo de 
                       programas: Codificación 




                                                      m = 0.4




Prof. Flor Narciso                  Programación 1
                                    Semestre B-2008
                                                                22




                                                                          11
30/10/08




                     Metodología de desarrollo de 
                      programas: Corrida en frío 
  Corrida en frío del programa: Prueba manual de la 
       correcEtud del programa 

  •  El programador escoge un conjunto de datos de entrada, 
     ejecutando manualmente cada sentencia del programa 
     fuente y verificando que los resultados obtenidos son los 
     esperados de acuerdo al conjunto de datos de entrada 

  •  El programador debe realizar este proceso uElizando 
     conjuntos de datos que permitan ejecutar todos los 
     “caminos” posibles del programa 

Prof. Flor Narciso                    Programación 1
                                      Semestre B-2008
                                                                   23




                     Metodología de desarrollo de 
                      programas: Corrida en frío 
  Ejemplo 


                         F      a                         m

                         1.2    3.0                       0.4

                         2.0    4.0                       0.5

                         1.5    2.0                      0.75

                         1.5    0.0                     infinito




Prof. Flor Narciso                    Programación 1
                                      Semestre B-2008
                                                                   24




                                                                             12
30/10/08




                     Metodología de desarrollo de 
                       programas: Depuración 
  Depuración del programa: IdenEficación y eliminación de 
    errores una vez que el programa ha sido compilado 

         –  Errores de sintaxis: Violan las reglas del lenguaje de 
            programación. Un buen compilador localizará e idenEficará 
            la mayoría de estos automáEcamente 

         –  Errores lógicos: Equivocaciones que causan que el 
            programa se ejecute de forma inesperada o incorrecta 



Prof. Flor Narciso                 Programación 1
                                   Semestre B-2008
                                                                        25




                     Metodología de desarrollo de 
                        programas: Ejecución 
  Ejecución del programa: Ejecución del código ejecutable 
     (código en lenguaje de máquina) del programa bajo el 
     control del CPU 

  •  Una vez editado, el programa fuente es traducido por el 
     compilador a un programa escrito en lenguaje de 
     máquina (código objeto), siempre y cuando el programa 
     no tenga errores de sintaxis (errores gramaEcales)  

       Ejemplo: Error de sintaxis 
         if (a < b  // Falta un paréntesis que cierra  


Prof. Flor Narciso                 Programación 1
                                   Semestre B-2008
                                                                        26




                                                                                  13
30/10/08




                     Metodología de desarrollo de 
                        programas: Ejecución 
  •  Si el programa fuente Eene errores de sintaxis no se genera 
     código objeto 

  •  Los errores deben ser corregidos usando el editor y luego el 
     programa fuente se debe volver a compilar 

  •  Cuando el programa está sintácEcamente correcto, el código 
     objeto es encadenado con las funciones de librería (otros 
     programas) requeridas usando un soFware llamado 
     encadenador 



Prof. Flor Narciso                Programación 1
                                  Semestre B-2008
                                                                     27




                     Metodología de desarrollo de 
                        programas: Ejecución 
  •  El código objeto compilado y encadenado es cargado en la 
     memoria principal para su ejecución por un soFware llamado 
     cargador 

  •  El código objeto compilado, enlazado y cargado (código 
     ejecutable) es ejecutado haciendo uso de los datos de 
     entrada 




Prof. Flor Narciso                Programación 1
                                  Semestre B-2008
                                                                     28




                                                                               14
30/10/08




                     Metodología de desarrollo de 
                      programas: Comprobación 
  Comprobación del programa: Verificación de que los 
    resultados obtenidos después de la ejecución del 
    programa corresponden con los resultados 
       esperados  




Prof. Flor Narciso                         Programación 1
                                           Semestre B-2008
                                                                   29




                     Metodología de desarrollo de 
                      programas: Comprobación 
  •  Comprobar que el programa realiza las tareas para las 
     cuales ha sido diseñado y produce el resultado correcto y 
     esperado 

  •  Si el programa Eene errores de lógica (errores en el 
     método de solución por lo que las salidas obtenidas no 
     corresponden con las salidas esperadas), éstos deben ser 
     corregidos en el programa fuente usando el editor, el cual 
     se debe volver a compilar 
         Ejemplo 
            b = 0; 
            c = 5/b;      // División entre cero 


Prof. Flor Narciso                         Programación 1
                                           Semestre B-2008
                                                                   30




                                                                             15
30/10/08




                     Metodología de desarrollo de 
                        programas: Ejecución 
                                                                                 Funciones
Programa
                        Programa
                                       de librería
  fuente
       
                           fuente
                                        
                      Editor
                Compilador
             Encadenador
                                                                                                Código
                                                                                                objeto
                                                                              Código
                           SI
                                       NO
      objeto
                                               Errores                                 Cargador
                                                  de
                Corregir errores                                                           Código
                                               sintaxis
                                                      
                en el programa                                                             ejecutable
                                                                              Resultados
                     fuente
             SI
                        Errores
                                                                    de lógica
                                                                            
          Ejecución

                                                                           NO
Prof. Flor Narciso                                        Solución del problema
                                                                              
                           31




     Metodología de desarrollo de programas: 
      Puesta en operación y mantenimiento 
  Puesta en operación: Instalación del hardware y soFware, 
       capacitación, etc.. 

  Mantenimiento del programa:  
         –  Comienza tan pronto como el producto es puesto en 
            operación 
         –  Permite corregir defectos menores, añadir una mayor 
            funcionalidad, ya sea en respuesta a las demandas del 
            mercado o a las peEciones del usuario 




Prof. Flor Narciso                                Programación 1
                                                  Semestre B-2008
                                                                                                          32




                                                                                                                    16

Más contenido relacionado

Similar a Metodología de desarrollo de programas

Guia de Trabajo de Fin de Grado Terapia Ocupacional para un programa de TO[m...
Guia de Trabajo de Fin de Grado Terapia Ocupacional para un programa  de TO[m...Guia de Trabajo de Fin de Grado Terapia Ocupacional para un programa  de TO[m...
Guia de Trabajo de Fin de Grado Terapia Ocupacional para un programa de TO[m...Jose Ramón Bellido Mainar
 
Guia de Trabajo de Fin de Grado Terapia Ocupacional. Programa de TO[modo de c...
Guia de Trabajo de Fin de Grado Terapia Ocupacional. Programa de TO[modo de c...Guia de Trabajo de Fin de Grado Terapia Ocupacional. Programa de TO[modo de c...
Guia de Trabajo de Fin de Grado Terapia Ocupacional. Programa de TO[modo de c...jrbellidomainar
 
Anexo de silabo costos presupuestos y prog de obras
Anexo de silabo costos presupuestos y prog de obrasAnexo de silabo costos presupuestos y prog de obras
Anexo de silabo costos presupuestos y prog de obrasJuan Quiso Flores
 
Innovadores Educativos - Fase de Planificación
Innovadores Educativos - Fase de Planificación Innovadores Educativos - Fase de Planificación
Innovadores Educativos - Fase de Planificación Betty Haro
 
Base para proyecto de mataematica
Base para proyecto de mataematicaBase para proyecto de mataematica
Base para proyecto de mataematicaloredannacp
 
PARTE I: SILABO PARTE I
PARTE I: SILABO PARTE IPARTE I: SILABO PARTE I
PARTE I: SILABO PARTE IMiltonvillacis
 
SILABO PART. I DE ESTADISTICA DESCRIPTIVA
SILABO PART. I DE ESTADISTICA DESCRIPTIVASILABO PART. I DE ESTADISTICA DESCRIPTIVA
SILABO PART. I DE ESTADISTICA DESCRIPTIVAMiltonvillacis
 
El software libre y su aplicación en las estadísticas
El software libre y su aplicación en las estadísticasEl software libre y su aplicación en las estadísticas
El software libre y su aplicación en las estadísticasKevin Mero
 
Gep Eq11 T9 Preguntas Defining Ocampo
Gep Eq11 T9 Preguntas Defining OcampoGep Eq11 T9 Preguntas Defining Ocampo
Gep Eq11 T9 Preguntas Defining OcampoSilvermist86
 
Ficha de evaluación de geogebra
Ficha de evaluación de geogebraFicha de evaluación de geogebra
Ficha de evaluación de geogebrasilemipes
 
Laboratorio práctico: La sazón del científico de datos
Laboratorio práctico: La sazón del científico de datosLaboratorio práctico: La sazón del científico de datos
Laboratorio práctico: La sazón del científico de datosSoftware Guru
 
Mo prosoft, el modelo mexicano
Mo prosoft, el modelo mexicanoMo prosoft, el modelo mexicano
Mo prosoft, el modelo mexicanojaredbustamante
 

Similar a Metodología de desarrollo de programas (20)

Guia de Trabajo de Fin de Grado Terapia Ocupacional para un programa de TO[m...
Guia de Trabajo de Fin de Grado Terapia Ocupacional para un programa  de TO[m...Guia de Trabajo de Fin de Grado Terapia Ocupacional para un programa  de TO[m...
Guia de Trabajo de Fin de Grado Terapia Ocupacional para un programa de TO[m...
 
Guia de Trabajo de Fin de Grado Terapia Ocupacional. Programa de TO[modo de c...
Guia de Trabajo de Fin de Grado Terapia Ocupacional. Programa de TO[modo de c...Guia de Trabajo de Fin de Grado Terapia Ocupacional. Programa de TO[modo de c...
Guia de Trabajo de Fin de Grado Terapia Ocupacional. Programa de TO[modo de c...
 
Anexo de silabo costos presupuestos y prog de obras
Anexo de silabo costos presupuestos y prog de obrasAnexo de silabo costos presupuestos y prog de obras
Anexo de silabo costos presupuestos y prog de obras
 
Reprovegetales
ReprovegetalesReprovegetales
Reprovegetales
 
Mal uso del tiempo libre
Mal uso del tiempo libreMal uso del tiempo libre
Mal uso del tiempo libre
 
Propuesta s.i
Propuesta s.iPropuesta s.i
Propuesta s.i
 
Resume Arelies
Resume AreliesResume Arelies
Resume Arelies
 
Pgc ostom-alu
Pgc ostom-aluPgc ostom-alu
Pgc ostom-alu
 
Innovadores Educativos - Fase de Planificación
Innovadores Educativos - Fase de Planificación Innovadores Educativos - Fase de Planificación
Innovadores Educativos - Fase de Planificación
 
Base para proyecto de mataematica
Base para proyecto de mataematicaBase para proyecto de mataematica
Base para proyecto de mataematica
 
PARTE I: SILABO PARTE I
PARTE I: SILABO PARTE IPARTE I: SILABO PARTE I
PARTE I: SILABO PARTE I
 
SILABO PART. I DE ESTADISTICA DESCRIPTIVA
SILABO PART. I DE ESTADISTICA DESCRIPTIVASILABO PART. I DE ESTADISTICA DESCRIPTIVA
SILABO PART. I DE ESTADISTICA DESCRIPTIVA
 
El software libre y su aplicación en las estadísticas
El software libre y su aplicación en las estadísticasEl software libre y su aplicación en las estadísticas
El software libre y su aplicación en las estadísticas
 
Gep Eq11 T9 Preguntas Defining Ocampo
Gep Eq11 T9 Preguntas Defining OcampoGep Eq11 T9 Preguntas Defining Ocampo
Gep Eq11 T9 Preguntas Defining Ocampo
 
Programa!
Programa!Programa!
Programa!
 
Proyecto evo
Proyecto evoProyecto evo
Proyecto evo
 
Ficha de evaluación de geogebra
Ficha de evaluación de geogebraFicha de evaluación de geogebra
Ficha de evaluación de geogebra
 
Laboratorio práctico: La sazón del científico de datos
Laboratorio práctico: La sazón del científico de datosLaboratorio práctico: La sazón del científico de datos
Laboratorio práctico: La sazón del científico de datos
 
Proyecto pei
Proyecto peiProyecto pei
Proyecto pei
 
Mo prosoft, el modelo mexicano
Mo prosoft, el modelo mexicanoMo prosoft, el modelo mexicano
Mo prosoft, el modelo mexicano
 

Último

AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIIsauraImbrondone
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosJonathanCovena1
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularMooPandrea
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICAÁngel Encinas
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxdkmeza
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdfenelcielosiempre
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoJosDanielEstradaHern
 

Último (20)

AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circular
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptx
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdf
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° grado
 

Metodología de desarrollo de programas

  • 1. 30/10/08 Programación 1 (03)  Unidad III: Metodología de  desarrollo de programas  Prof. Flor Narciso  Departamento de Computación  Escuela de Ingeniería de Sistemas  Facultad de Ingeniería  Universidad de Los Andes  Metodología de desarrollo de  programas  Obje%vo: Resolver problemas mediante el uso de una  computadora  •  Actualmente se cuenta con disEntas metodologías  para el desarrollo de aplicaciones de soFware:  Espiral, Watch, RUP, EUP, Incremental, Cascada,  Cascada V, etc.  Prof. Flor Narciso Programación 1 Semestre B-2008 2 1
  • 2. 30/10/08 Metodología de desarrollo de  programas  •  Pasos de la metodología a u=lizar en el curso  –  Análisis del problema  –  Diseño del algoritmo  –  Codificación  –  “Corrida en frío” del programa  –  Depuración del programa  –  Ejecución del programa  –  Comprobación del programa  –  Puesta en operación del programa  –  Mantenimiento del programa   Prof. Flor Narciso Programación 1 Semestre B-2008 3 Metodología de desarrollo de  programas: Análisis  Análisis del problema (Análisis E‐P‐S)  •  IdenEficar y comprender el problema   •  Describir:  –  Los datos de entrada (E): Información necesaria para la solución del  problema  •  ¿ Qué datos son de entrada ?  •  ¿ Cuántos datos se introducirán ?  •  ¿ Cuáles datos de entrada son válidos ?  Prof. Flor Narciso Programación 1 Semestre B-2008 4 2
  • 3. 30/10/08 Metodología de desarrollo de  programas: Análisis  Ejemplo   Se patea una pelota con una fuerza de 1,2 N y adquiere una  aceleración de 3,0 m/s2, ¿cuál es la masa de la pelota?  Datos de entrada Fuerza (F ∈ R) = 1,2 N Aceleración (a ∈ R) = 3,0 m/s2 1 N = 1 Kg . 1 m/s2 Prof. Flor Narciso Programación 1 Semestre B-2008 5 Metodología de desarrollo de  programas: Análisis  Análisis del problema (Análisis E‐P‐S)  •  Describir:  –  El proceso que permite resolver el problema (P):  Operaciones o cálculos necesarios para encontrar la  solución del problema  •  ¿ Qué Epo de ecuaciones ?  •  ¿ Cuántas ecuaciones ?  Prof. Flor Narciso Programación 1 Semestre B-2008 6 3
  • 4. 30/10/08 Metodología de desarrollo de  programas: Análisis  Ejemplo   Se patea una pelota con una fuerza de 1,2 N y adquiere una  aceleración de 3,0 m/s2, ¿cuál es la masa de la pelota?  Datos de entrada Proceso Fuerza (F ∈ R) = 1,2 N F=m.a Aceleración (a ∈ R) = 3 m/s2 m = F/a 1 N = 1 Kg . 1 m/s2 Prof. Flor Narciso Programación 1 Semestre B-2008 7 Metodología de desarrollo de  programas: Análisis  Análisis del problema (Análisis E‐P‐S)  •  Describir:  –  Los resultados esperados (S): Resultados finales de los  cálculos  •  ¿ Cuáles son los datos de salida ?  •  ¿ Cuántos datos de salida se producirán ?  •  ¿ Qué precisión tendrán los resultados ?  •  ¿ Se debe imprimir un encabezado ?  Prof. Flor Narciso Programación 1 Semestre B-2008 8 4
  • 5. 30/10/08 Metodología de desarrollo de  programas: Análisis  Ejemplo   Se patea una pelota con una fuerza de 1,2 N y adquiere una  aceleración de 3 m/s2, ¿cuál es la masa de la pelota?  Datos de entrada Proceso Salidas Fuerza (F ∈ R) = 1,2 N F=m.a masa (m ∈ R) Aceleración (a ∈ R) = 3 m/s2 m = F/a 1 N = 1 Kg . 1 m/s2 Prof. Flor Narciso Programación 1 Semestre B-2008 9 Metodología de desarrollo de  programas: Análisis   ¿ Qué le hacemos a los datos ?   ¿ En qué orden (cuándo se lo  F=m.a      hacemos) ?  m = F/a  ¿ Cuántas veces ?      masa Datos Programa Información (m ∈ R) (Entrada) (Salida) ¿ Qué datos tenemos ?   ¿ Cómo les llamamos ?  ¿ Cómo son (=po y/o  Fuerza (F ∈ R) = 1,2 N estructura) ?  Aceleración (a ∈ R) = 3 m/s2 ¿ Qué se puede hacer con  1 N = 1 Kg . 1 m/s2     ellos ?  Prof. Flor Narciso Programación 1 Semestre B-2008 10 5
  • 6. 30/10/08 Metodología de Desarrollo de  Programas: Análisis  Análisis del problema (Análisis E‐P‐S)  Entradas:   –  Fuerza (F ∈ R)  –  Aceleración (a ∈ R)  Prof. Flor Narciso Programación 1 Semestre B-2008 11 Metodología de desarrollo de  programas: Análisis  Análisis del problema (Análisis E‐P‐S)  Proceso:   –  Calcular la masa de la pelota (Qué??)            F (Cómo????)  m= a Prof. Flor Narciso Programación 1 Semestre B-2008 12 € 6
  • 7. 30/10/08 Metodología de desarrollo de  programas: Análisis  Análisis del problema (Análisis E‐P‐S)  Salidas:   –  Masa de la pelota (m ∈ R)            Prof. Flor Narciso Programación 1 Semestre B-2008 13 Metodología de desarrollo de  programas: Diseño  Diseño del algoritmo: Descripción de una secuencia finita y  ordenada de pasos – sin ambigüedades – que conducen a la  solución de un problema dado    Herramientas de diseño   Diagramas de flujos (programación estructurada)   Círculos y canales de mensaje (programación orientada por  objetos)   Pseudo código (algoritmo)   Trazas personales   Fórmulas matemáticas   Todo aquello que le ayude a representar la solución del problema  Prof. Flor Narciso Programación 1 Semestre B-2008 14 7
  • 8. 30/10/08 Metodología de desarrollo de  programas: Diseño  Ejemplo: Notación formal! Algoritmo calcularMasa! 0. Inicio  1. Leer (F)  2. Leer (a)  Entradas  3. m = F/a  Proceso  4. Escribir (m)  Salida  5. Fin  Prof. Flor Narciso Programación 1 Semestre B-2008 15 Metodología de desarrollo de  programas: Diseño  •  Un algoritmo debe ser preciso e indicar el orden de realización  de cada paso  •  Un algoritmo debe estar definido. Si se sigue un algoritmo dos  veces, se debe obtener el mismo resultado cada vez  •  Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe  terminar en algún momento; o sea, debe tener un número  finito de pasos  Prof. Flor Narciso Programación 1 Semestre B-2008 16 8
  • 9. 30/10/08 Metodología de desarrollo de  programas: Codificación  Codificación:  Traducción del algoritmo a un  programa escrito en un lenguaje de  programación adecuado (código fuente)  •  Los diferentes pasos de un algoritmo se expresan  en los programas como sentencias o  proposiciones  •  Para escribir el programa en la computadora se  uEliza un soFware llamado editor de texto  •  Lenguaje de programación C  Prof. Flor Narciso Programación 1 Semestre B-2008 17 Metodología de desarrollo de  programas: Codificación  Ejemplo  #include <stdio.h> 0. Inicio  int main() { float F, a, m; 1. Leer (F)  2. Leer (a)  scanf(“%f”, &F); scanf(“%f”, &a); 3. m = F/a  4. Escribir (m)  m = F/a; 5. Fin  printf(“m = %fn”, m); return 0; } Prof. Flor Narciso Programación 1 Semestre B-2008 18 9
  • 10. 30/10/08 Metodología de desarrollo de  programas: Codificación  Entradas Fuerza (F ∈ R) Aceleración (a ∈ R) Salida masa (m ∈ R) Prof. Flor Narciso Programación 1 Semestre B-2008 19 Metodología de desarrollo de  programas: Codificación  F = 1.2 a = 3.0 Prof. Flor Narciso Programación 1 Semestre B-2008 20 10
  • 11. 30/10/08 Metodología de desarrollo de  programas: Codificación  m = 1.2/3.0 = 0.4 Prof. Flor Narciso Programación 1 Semestre B-2008 21 Metodología de desarrollo de  programas: Codificación  m = 0.4 Prof. Flor Narciso Programación 1 Semestre B-2008 22 11
  • 12. 30/10/08 Metodología de desarrollo de  programas: Corrida en frío  Corrida en frío del programa: Prueba manual de la  correcEtud del programa  •  El programador escoge un conjunto de datos de entrada,  ejecutando manualmente cada sentencia del programa  fuente y verificando que los resultados obtenidos son los  esperados de acuerdo al conjunto de datos de entrada  •  El programador debe realizar este proceso uElizando  conjuntos de datos que permitan ejecutar todos los  “caminos” posibles del programa  Prof. Flor Narciso Programación 1 Semestre B-2008 23 Metodología de desarrollo de  programas: Corrida en frío  Ejemplo  F a m 1.2 3.0 0.4 2.0 4.0 0.5 1.5 2.0 0.75 1.5 0.0 infinito Prof. Flor Narciso Programación 1 Semestre B-2008 24 12
  • 13. 30/10/08 Metodología de desarrollo de  programas: Depuración  Depuración del programa: IdenEficación y eliminación de  errores una vez que el programa ha sido compilado  –  Errores de sintaxis: Violan las reglas del lenguaje de  programación. Un buen compilador localizará e idenEficará  la mayoría de estos automáEcamente  –  Errores lógicos: Equivocaciones que causan que el  programa se ejecute de forma inesperada o incorrecta  Prof. Flor Narciso Programación 1 Semestre B-2008 25 Metodología de desarrollo de  programas: Ejecución  Ejecución del programa: Ejecución del código ejecutable  (código en lenguaje de máquina) del programa bajo el  control del CPU  •  Una vez editado, el programa fuente es traducido por el  compilador a un programa escrito en lenguaje de  máquina (código objeto), siempre y cuando el programa  no tenga errores de sintaxis (errores gramaEcales)    Ejemplo: Error de sintaxis     if (a < b  // Falta un paréntesis que cierra   Prof. Flor Narciso Programación 1 Semestre B-2008 26 13
  • 14. 30/10/08 Metodología de desarrollo de  programas: Ejecución  •  Si el programa fuente Eene errores de sintaxis no se genera  código objeto  •  Los errores deben ser corregidos usando el editor y luego el  programa fuente se debe volver a compilar  •  Cuando el programa está sintácEcamente correcto, el código  objeto es encadenado con las funciones de librería (otros  programas) requeridas usando un soFware llamado  encadenador  Prof. Flor Narciso Programación 1 Semestre B-2008 27 Metodología de desarrollo de  programas: Ejecución  •  El código objeto compilado y encadenado es cargado en la  memoria principal para su ejecución por un soFware llamado  cargador  •  El código objeto compilado, enlazado y cargado (código  ejecutable) es ejecutado haciendo uso de los datos de  entrada  Prof. Flor Narciso Programación 1 Semestre B-2008 28 14
  • 15. 30/10/08 Metodología de desarrollo de  programas: Comprobación  Comprobación del programa: Verificación de que los  resultados obtenidos después de la ejecución del  programa corresponden con los resultados  esperados   Prof. Flor Narciso Programación 1 Semestre B-2008 29 Metodología de desarrollo de  programas: Comprobación  •  Comprobar que el programa realiza las tareas para las  cuales ha sido diseñado y produce el resultado correcto y  esperado  •  Si el programa Eene errores de lógica (errores en el  método de solución por lo que las salidas obtenidas no  corresponden con las salidas esperadas), éstos deben ser  corregidos en el programa fuente usando el editor, el cual  se debe volver a compilar  Ejemplo   b = 0;   c = 5/b;   // División entre cero  Prof. Flor Narciso Programación 1 Semestre B-2008 30 15
  • 16. 30/10/08 Metodología de desarrollo de  programas: Ejecución  Funciones Programa Programa de librería fuente fuente Editor Compilador Encadenador Código objeto Código SI NO objeto Errores Cargador de Corregir errores Código sintaxis en el programa ejecutable Resultados fuente SI Errores de lógica Ejecución NO Prof. Flor Narciso Solución del problema 31 Metodología de desarrollo de programas:  Puesta en operación y mantenimiento  Puesta en operación: Instalación del hardware y soFware,  capacitación, etc..  Mantenimiento del programa:   –  Comienza tan pronto como el producto es puesto en  operación  –  Permite corregir defectos menores, añadir una mayor  funcionalidad, ya sea en respuesta a las demandas del  mercado o a las peEciones del usuario  Prof. Flor Narciso Programación 1 Semestre B-2008 32 16