ciclo de vida de un programa

28
1 Capítulo 3 CICLO DE VIDA DE UN PROGRAMA Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C" Autor: Carlos Javier Pes Rivas ([email protected])

Upload: carlos-pes

Post on 22-Jun-2015

15.111 views

Category:

Education


1 download

DESCRIPTION

Presentación resumen del capítulo 3 "Ciclo de vida de un programa" del libro "Empezar de cero a programar en lenguaje C".

TRANSCRIPT

  • 1. Captulo 3 CICLO DE VIDA DE UN PROGRAMA Presentacinresumendel libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C" Autor: Carlos Javier Pes Rivas ( [email_address] )

2. OBJETIVOS

  • Saber qu es laIngeniera del Software .
  • Conocer los pasos que se tienen que dar paradesarrollarun programa.
  • Entender cmo el programador puede escribir unas instruccionescomprensibles para la mquina .
    • Hoy en da, la computadora es una herramienta indispensable en muchos mbitos, tales como: la medicina, la astronoma, las comunicaciones, etc. Gracias a la informtica, se han producido avances tecnolgicos que eran impensables antes de la llamadarevolucin de las computadoras . No obstante, la mquina no puede hacerabsolutamente nadasin un software, es decir, sin un programa que le diga qu es lo que tiene que hacer. Pero, cmo se hace un programa?

Captulo 3. CICLO DE VIDA DE UN PROGRAMA Libro: EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C 3. CONTENIDO

  • 3.1INTRODUCCIN
  • 3.2ANLISIS
  • 3.3DISEO
  • 3.4CODIFICACIN
  • 3.5PRUEBAS
  • 3.6MANTENIMIENTO

Captulo 3. CICLO DE VIDA DE UN PROGRAMA Libro: EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C 4. 3.1 INTRODUCCIN (1/4)

  • Software a medida :
    • Empresas (desarrolladora y cliente).
    • EJEMPLOS:
      • Gestin de la venta de billetes de un aeropuerto.
      • Gestin del alquiler de pelculas de un videoclub.
      • Gestin de los historiales mdicos de los pacientes de un hospital.
  • Software no a medida :
    • EJEMPLOS:
      • Procesadores de textos.
      • Juegos.
      • Enciclopedias electrnicas.

Captulo 3. CICLO DE VIDA DE UN PROGRAMA Libro: EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C 5. 3.1 INTRODUCCIN (2/4)

  • Metodologa de la programacin :Disciplina que alberga una serie de tcnicas y conocimientos cientficos relacionados con la informtica.
  • Paradigmas de programacin :
    • Programacin estructurada.
      • Aplicacin deldiseo modular .
      • Utilizacin, exclusivamente, deestructuras secuenciales ,alternativasyrepetitivas .
      • Empleo deestructuras de datosadecuadas para manipular informacin.
    • Programacin Orientada a Objetos.

Captulo 3. CICLO DE VIDA DE UN PROGRAMA Libro: EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C 6. 3.1 INTRODUCCIN (3/4)

  • Ingeniera del Software :
    • Ciclo de vida de un programa (5 etapas).

Captulo 3. CICLO DE VIDA DE UN PROGRAMA Libro: EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C

    • Planificacin de tareas (fechas de inicio y fin).
    • Control de tareas (seguimiento continuo del proyecto).

7. 3.1 INTRODUCCIN (4/4)

  • Calidad del software :
    • Caractersticas operativas:
      • Correccin , hace lo que se espera de l?
      • Eficiencia , se utilizan, ptimamente, los recursos de la computadora?
      • Facilidad de uso , la interfaz es adecuada al usuario?
      • Integridad , es seguro con respecto a los datos?
    • Capacidad para sufrir cambios:
      • Facilidad de mantenimiento , es susceptible de ser corregido?
      • Flexibilidad , es susceptible de ser cambiado?
      • Facilidad de prueba , resulta fcil hacer pruebas?
    • Adaptabilidad a nuevos entornos:
      • Reusabilidad , se puede usar parte del software en otro proyecto?
      • Facilidad de interoperacin , puede interactar con otros SI?
      • Portabilidad , se puede usar en otra mquina (procesador)?

Captulo 3. CICLO DE VIDA DE UN PROGRAMA Libro: EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C 8. 3.2 ANLISIS (1/2)

  • Especificacin de Requisitos Software (ERS) :
    • Qutiene que hacer el programa?
      • Comportamiento interno(gestin de los datos).
      • Comportamiento externo(interaccin con el usuario y con otras aplicaciones).
    • Contrato(empresa desarrolladora y empresa cliente)
    • PREGUNTAS:
      • Qu debe hacer el programa?
      • Qu datos de entrada y de salida intervienen en el proceso?
      • En qu mquina y sistema operativo se va a ejecutar?
      • Quin ser el usuario de la aplicacin?
      • Tratamiento de errores, seguridad de los datos, etc.

Captulo 3. CICLO DE VIDA DE UN PROGRAMA Libro: EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C 9. 3.2 ANLISIS (2/2)

  • PROBLEMA EJEMPLO:Suma de dos nmeros enteros
    • 1) En primer lugar, el programa debe pedir por teclado dosnmeros( datos enteros ).
    • 2) A continuacin, calcular lasumade los dosnmerosintroducidos por el usuario.
    • 3) Finalmente, tiene que mostrarpor pantalla el resultado obtenido ( dato entero ).
    • En pantalla se mostrar:

Captulo 3. CICLO DE VIDA DE UN PROGRAMA Libro: EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C 10. 3.3 DISEO (1/6)

  • Se tiene que encontrar unasolucin informticaal problema planteado.
  • Dicha solucin determinarcmose va a resolver el problema.
  • Uso deldiseo modularodescendente( top-down ).
    • Divide y vencers(subproblemas)
    • Abstraccin
    • Encapsulacin

Captulo 3. CICLO DE VIDA DE UN PROGRAMA Libro: EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C 11. 3.3 DISEO (2/6)

  • EJEMPLO DISEO MODULAR:Gestin de un videoclub

Captulo 3. CICLO DE VIDA DE UN PROGRAMA Libro: EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C 12. 3.3 DISEO (3/6)

  • Algoritmo :
    • Establece de manera genrica e informal, la secuencia depasosoaccionesque resuelve un determinado problema.
    • Notacin:
      • Pseudocdigo
      • Diagramas de flujo (ordinogramas)
  • Pseudocdigo :
    • Es un lenguaje de programacinalgortmico .
    • Es un lenguajeintermedioentre el lenguaje natural y cualquier lenguaje de programacin especfico, como son: C, FORTRAN, Pascal, etc.
  • Ordinograma :
    • Representa, de manera grfica, elordende los pasos o acciones de un algoritmo.

Captulo 3. CICLO DE VIDA DE UN PROGRAMA Libro: EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C 13. 3.3 DISEO (4/6)

  • ALGORITMO EJEMPLO:Suma de dos nmeros enteros
    • (Pseudocdigo)

Captulo 3. CICLO DE VIDA DE UN PROGRAMA Libro: EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C 14. 3.3 DISEO (5/6)

  • ALGORITMO EJEMPLO:Suma de dos nmeros enteros
    • (Ordinograma)

Captulo 3. CICLO DE VIDA DE UN PROGRAMA Libro: EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C 15. 3.3 DISEO (6/6)

  • Cualidades de un algoritmo :(solucin ms ptima)
    • Finitud
    • Precisin
    • Claridad
    • Generalidad
    • Eficiencia
    • Sencillez
    • Modularidad

Captulo 3. CICLO DE VIDA DE UN PROGRAMA Libro: EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C 16. 3.4 CODIFICACIN (1/9)

  • EJEMPLO (lenguaje C):Suma de dos nmeros enteros
    • Las acciones definidas en el algoritmo hay que convertirlas a instrucciones ( sentencias ).

Captulo 3. CICLO DE VIDA DE UN PROGRAMA Libro: EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C 17. 3.4 CODIFICACIN (2/9)

  • Lenguaje de programacin :
    • Es un lenguaje artificial que permite escribir las instrucciones de un programa informtico.
    • Permite al programador comunicarse con la computadora para decirle qu es lo que tiene que hacer.
    • Tipos de lenguajes:
      • mquina
      • de bajo nivel
      • de alto nivel

Captulo 3. CICLO DE VIDA DE UN PROGRAMA Libro: EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C 18. 3.4 CODIFICACIN (3/9)

  • Lenguaje mquina obinario :
    • Es elnicoque entiende la computadora digital.
    • Dos smbolos: elcero( 0 ) y eluno( 1 ).
    • Inconveniente:No es portable.

Captulo 3. CICLO DE VIDA DE UN PROGRAMA Libro: EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C

  • Lenguajes de bajo nivel oensambladores :
    • Ms entendibles para el programador.
    • Abreviaturas del ingls (nemotcnicos): ADD, DIV, SUB, etc.
    • Inconveniente:No es portable.

19. 3.4 CODIFICACIN (4/9)

  • Lenguaje de alto nivel : Se utilizan palabras o expresiones sintcticas muy similares al ingls ( case ,if ,for ,while ,...).
    • EJEMPLO:
    • if (numero>0) printf( " El nmero es positivo " );
    • Sinumeroes mayor que cero, entonces, escribir por pantalla el mensaje: El nmero es positivo.
    • Ventaja:S es portable.

Captulo 3. CICLO DE VIDA DE UN PROGRAMA Libro: EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C 20. 3.4 CODIFICACIN (5/9)

  • Relacin entre las instrucciones de alto nivel, ensamblador y mquina:

Captulo 3. CICLO DE VIDA DE UN PROGRAMA Libro: EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C 21. 3.4 CODIFICACIN (6/9)

  • Fases de la puesta a punto de un programa escrito en C:

Captulo 3. CICLO DE VIDA DE UN PROGRAMA Libro: EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C 22. 3.4 CODIFICACIN (7/9)

  • Intrprete : Se caracteriza por traducir y ejecutar,de una en una , las instrucciones del cdigo fuente de un programa, pero, sin generar como salida cdigo objeto.
    • Proceso:
      • Lee la primera instruccin del cdigo fuente.
      • La traduce a cdigo objeto y la ejecuta.
      • A continuacin, hace lo mismo con la segunda instruccin.
      • Y as sucesivamente, hasta llegar a la ltima instruccin del programa, siempre y cuando, no se produzca ningnerrorque detenga el proceso.
  • Tipos de errores :
    • de sintaxis
    • de ejecucin
    • de lgica

Captulo 3. CICLO DE VIDA DE UN PROGRAMA Libro: EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C 23. 3.4 CODIFICACIN (8/9)

  • Errores de sintaxis : Se detectan en el proceso de traduccin del cdigo fuente a cdigo binario. Impide, tanto al compilador como al intrprete, hacer la traduccin.
    • EJEMPLO:prrintf( " Introduzca el primer numero (entero):" );
  • Error de ejecucin : El ordenador no puede ejecutar alguna instruccin de forma correcta.
    • EJEMPLO:c =5/0 ; ( no se puede dividir entre cero )
  • Error de lgica :Los resultados obtenidos no son los esperados.
    • EJEMPLO:c =a*b ; en vez de c =a+b ;

Captulo 3. CICLO DE VIDA DE UN PROGRAMA Libro: EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C 24. 3.4 CODIFICACIN (9/9)

  • Entornos Integrados de Desarrollo (EID) :
    • Son aplicaciones informticas que incluyen a todos los programas necesarios para realizar todas las fases de puesta a punto de un programa.
    • En el caso de C se necesita:
      • Editor
      • Preprocesador
      • Compilador
      • Enlazador
    • Suelen incluir otras herramientas software:
      • Depurador de cdigo
      • Ayuda en lnea de uso del lenguaje

Captulo 3. CICLO DE VIDA DE UN PROGRAMA Libro: EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C 25. 3.5 PRUEBAS

  • Pruebas :
    • Tratamiento de los datos.
    • Adaptacin al resto sistema informtico.
    • Interaccin con otras aplicaciones.
  • Hay que comprobar, exhaustivamente, lafuncionalidad .
  • Es imposible probarlo todo.
  • Pueden darse situaciones inesperadas.

Captulo 3. CICLO DE VIDA DE UN PROGRAMA Libro: EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C 26. 3.6 MANTENIMIENTO

  • Mantenimiento :
    • Reparacinde errores no detectados en las fases anteriores.
    • Modificacionespara ampliar o cambiar alguna funcionalidad.
  • Documentacin :
    • Externa:ERS, algoritmos, cdigos fuentes, manuales de usuario,...
    • Interna:Comentarios en el cdigo fuente.

Captulo 3. CICLO DE VIDA DE UN PROGRAMA Libro: EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C 27. EJERCICIOS RECOMENDADOS

  • Resueltos :1 y 2.
  • Propuestos :1, 2, 3 y 4.

Captulo 3. CICLO DE VIDA DE UN PROGRAMA Libro: EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C 28. http://www.carlospes.com GRACIAS POR SU ATENCIN Para ms informacin, puede visitar la web del autor: