340 likes | 708 Views
Programación 1 ( 01y 05) Prof . Flor Narciso ( fnarciso@ula.ve ) Domingo Hernández Departamento de Computación Grupo de Ingeniería de Datos y Conocimiento ( GIDyC ) Escuela de Ingeniería de Sistemas Facultad de Ingeniería. PARA MAÑANA: Resumen Curricular ¿Sabe usted hacer un CV?
E N D
Programación 1 (01y 05)Prof. Flor Narciso (fnarciso@ula.ve)Domingo HernándezDepartamento de ComputaciónGrupo de Ingeniería de Datos y Conocimiento (GIDyC)Escuela de Ingeniería de SistemasFacultad de Ingeniería
PARA MAÑANA: • Resumen Curricular ¿Sabe usted hacer un CV? • Completar la encuesta de reclutamiento de personal (la que les voy a repartir al final de esta clase) • Carta de Intención: No piense en qué puede aprender o qué le puede aportar la profesora a usted en este curso. Trate mas bien de pensar en: ¿Qué puede aportar USTED a la compañía para la que trabajará? Entregar en la Secretaría del Departamento de Computación de EISULA (Srta. Rosmary) Programación 1 - Semestre B-2010
Unidad III: Metodología de desarrollo de programas Objetivo: Resolver problemas mediante el uso de una computadora Actualmente se cuenta con distintas metodologías para el desarrollo de aplicaciones de software: Espiral, Watch, RUP, EUP, Incremental, Cascada, Cascada V, etc. Programación 1 Semestre A-2009 4
Metodología de desarrollo de programas Pasos de la metodología a utilizar en el curso • Análisis del problema • Diseño del algoritmo • Codificación • “Corrida en frío” del programa (manual) • Depuración del programa • Ejecución del programa (computadora) • Comprobación del programa • Puesta en operación del programa • Mantenimiento del programa Programación 1 Semestre A-2009 5
Metodología de desarrollo de programas: Análisis Análisis del problema (Análisis E-P-S) • Identificar 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 ¿ Cuál es el tipo de los datos Programación 1 Semestre A-2009 6
Metodología de desarrollo de programas: Análisis Ejemplo Se patea una pelota con una fuerza de 1,2 N y adquiere una aceleraciónde 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 Programación 1 Semestre A-2009 7
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é tipo de ecuaciones ¿ Cuántas ecuaciones ¿ Cuáles ecuaciones Programación 1 Semestre A-2009 8
Metodología de desarrollo de programas: Análisis Ejemplo Se patea una pelota con una fuerza de 1,2 N y adquiere una aceleraciónde 3,0 m/s2, ¿cuál es la masa de la pelota? Proceso Datos de entrada F = m . a m = F/a Fuerza (F R) = 1,2 N Aceleración (a R) = 3 m/s2 1 N = 1 Kg . 1 m/s2 Programación 1 Semestre A-2009 9
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 Programación 1 Semestre A-2009 10
Metodología de desarrollo de programas: Análisis Ejemplo Se patea una pelota con una fuerza de 1,2 N y adquiere una aceleraciónde 3 m/s2, ¿cuál es la masa de la pelota? Datos de entrada Proceso Salidas Fuerza (F R) = 1,2 N Aceleración (a R) = 3 m/s2 1 N = 1 Kg . 1 m/s2 masa (m R) F = m . a m = F/a Programación 1 Semestre A-2009 11
Metodología de desarrollo de programas: Análisis ¿ Qué le hacemos a los datos ? ¿ En qué orden (cuándo se lo hacemos) ? ¿ Cuántas veces ? F = m . a m = F/a masa (m R) Programa Información (Salida) Datos (Entrada) ¿ Qué datos tenemos ? ¿ Cómo les llamamos ? ¿ Cómo son (tipo y/o estructura) ? ¿ Qué se puede hacer con ellos ? Fuerza (F R) = 1,2 N Aceleración (a R) = 3 m/s2 1 N = 1 Kg . 1 m/s2 Programación 1 Semestre A-2009 12
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) Programación 1 Semestre A-2009 Prof. Flor Narciso 13
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é??) (Cómo????) Programación 1 Semestre A-2009 Prof. Flor Narciso 14
Metodología de desarrollo de programas: Análisis Análisis del problema (Análisis E-P-S) Salidas: • Masa de la pelota (m R) Programación 1 Semestre A-2009 15
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ónestructurada) • Círculos y canales de mensaje (programación orientada porobjetos) • Pseudo código (algoritmo) • Trazas personales • Fórmulas matemáticas • Todo aquello que le ayude a representar la solución del problema Programación 1 Semestre A-2009 16
Metodología de desarrollo de programas: Diseño Ejemplo: Notación formal Algoritmo calcularMasa 0. Inicio 1. Leer (F) 2. Leer(a) 3.m= F/a 4. Escribir (m) 5. Fin Entradas Proceso Salida Programación 1 Semestre A-2009 17
Metodología de desarrollo de programas: Diseño • Un algoritmo debe ser precisoe 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 Programación 1 Semestre A-2009 18
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 utiliza un software llamado editor de texto • Lenguaje de programación C Programación 1 Semestre A-2009 19
Metodología de desarrollo de programas: Codificación Ejemplo 0. Inicio 1. Leer (F) 2. Leer (a) 3. m = F/a 4. Escribir (m) 5. Fin #include<stdio.h> intmain() { float F, a, m; scanf(“%f”, &F); scanf(“%f”, &a); m = F/a; printf(“m = %f\n”, m); return 0; } Programación 1 Semestre A-2009 20
Metodología de desarrollo de programas: Codificación #include<stdio.h> intmain() { float F, a, m; Entradas Fuerza (F R) Aceleración (a R) Salida masa (m R) Programación 1 Semestre A-2009 21
Metodología de desarrollo de programas: Codificación #include<stdio.h> intmain() { float F, a, m; scanf("%f", &F); scanf("%f", &a); F = 1.2 a = 3.0 Programación 1 Semestre A-2009 22
Metodología de desarrollo de programas: Codificación #include<stdio.h> intmain() { float F, a, m; scanf("%f", &F); scanf("%f", &a); m = F/a; m = 1.2/3.0 = 0.4 Programación 1 Semestre A-2009 23
Metodología de desarrollo de programas: Codificación #include<stdio.h> intmain() { float F, a, m; scanf("%f", &F); scanf("%f", &a); m = F/a; printf("\nm = %f\n\n", m); return 0; } m = 0.4 Programación 1 Semestre A-2009 24
Metodología de desarrollo de programas: Corrida en frío Corrida en frío del programa:Prueba manual de la correctitud 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 utilizando conjuntos de datos que permitan ejecutar todos los “caminos” posibles del programa Programación 1 Semestre A-2009 25
Metodología de desarrollo de programas: Corrida en frío Ejemplo Programación 1 Semestre A-2009 26
Metodología de desarrollo de programas: Depuración Depuración del programa: Identificació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 identificará la mayoría de estos automáticamente • Errores lógicos: Equivocaciones que causan que el programa se ejecute de forma inesperada o incorrecta Programación 1 Semestre A-2009 27
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 traducidopor el compiladora un programa escrito en lenguaje de máquina (código objeto), siempre y cuando el programa no tenga errores de sintaxis (errores gramaticales) Ejemplo: Error de sintaxis if (a <b // Falta un paréntesis que cierra Programación 1 Semestre A-2009 28
Metodología de desarrollo de programas: Ejecución • Si el programa fuente tiene 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ácticamente correcto, el código objeto es encadenado con las funciones de librería (otros programas) requeridas usando un software llamado encadenador Programación 1 Semestre A-2009 29
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 software llamado cargador • El código objeto compilado, enlazado y cargado (código ejecutable) es ejecutadohaciendo uso de los datos de entrada Programación 1 Semestre A-2009 30
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 Programación 1 Semestre A-2009 31
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 tiene 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 Programación 1 Semestre A-2009 32
Metodología de desarrollo de programas: Ejecución Funciones de librería Programa fuente Programa fuente Compilador Encadenador Editor Código objeto Código objeto SI NO Errores de sintaxis Cargador Corregir errores en el programa fuente Código ejecutable Resultados SI Errores de lógica Ejecución NO Solución del problema 33
Metodología de desarrollo de programas: Puesta en operación y mantenimiento Puesta en operación: Instalación del hardware y software, 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 peticiones del usuario Programación 1 Semestre A-2009 34