Escolar Documentos
Profissional Documentos
Cultura Documentos
de Aplicaciones
Contenidos Objetivos
Bibliografía básica
• http://en.wikipedia.org/wiki/Cross-platform, consultado Diciembre 2012
• http://en.wikipedia.org/wiki/Software_framework, consultado Diciembre 2012
• http://en.wikipedia.org/wiki/Debugging, consultado Diciembre 2012
• [Zeller09] A. Zeller: “Why Programs Fail” (2nd Edition), Morgan Kaufmann Publishers (Elsevier), 2009
24-sep-2014
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
1
Fundamentos del Software
5.1 Plataforma Tema 4. Generación y depuración de aplicaciones
Concepto de Plataforma
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
2
Fundamentos del Software
5.1 Plataforma Tema 4. Generación y depuración de aplicaciones
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
3
Fundamentos del Software
5.1 Plataforma Tema 4. Generación y depuración de aplicaciones
Software multiplaforma
Fuente figura:
http://parasitovirtual.wordpress.com/2010/09/23/introduccion-a-java/
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
4
Fundamentos del Software
5.1 Plataforma Tema 4. Generación y depuración de aplicaciones
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
5
Fundamentos del Software
5.1 Plataforma Tema 4. Generación y depuración de aplicaciones
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
6
Fundamentos del Software
5.1 Plataforma Tema 4. Generación y depuración de aplicaciones
• Hay un compilador JIT (Just In Time) dentro JVM (version 1.2 en adelante) que
traduce Java bytecodes en instrucciones nativas del procesador en tiempo de
ejecución, las cuales son almacenadas para su posterior reutilización.
• El uso del compilador JIT permite que, después de un breve retardo en la carga y
prácticamente su total compilación, las aplicaciones Java se ejecuten tan
rápidamente como programas nativos.
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
7
Fundamentos del Software
5.2 Framework de Desarrollo de Aplicaciones Tema 4. Generación y depuración de aplicaciones
Gestión de software basado make actualiza archivos en base a relaciones de dependencia previamente
en módulos almacenadas
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
8
Fundamentos del Software
5.2 Framework de Desarrollo de Aplicaciones Tema 4. Generación y depuración de aplicaciones
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
9
Fundamentos del Software
5.2 Framework de Desarrollo de Aplicaciones Tema 4. Generación y depuración de aplicaciones
Objetivos de un IDE
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
10
Fundamentos del Software
5.2 Framework de Desarrollo de Aplicaciones Tema 4. Generación y depuración de aplicaciones
Tipos de IDE
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
11
Fundamentos del Software
5.2 Framework de Desarrollo de Aplicaciones Tema 4. Generación y depuración de aplicaciones
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
Fuente figura: http://www.nacho-alvarez.es/blog/2008/10/13/problema- 12
con-sun-wireless-toolkit-bajo-netbeans-ventana-en-blanco/
Fundamentos del Software
5.2 Framework de Desarrollo de Aplicaciones Tema 4. Generación y depuración de aplicaciones
• Ejemplos:
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
13
Fundamentos del Software
5.2 Framework de Desarrollo de Aplicaciones Tema 4. Generación y depuración de aplicaciones
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
14
Fundamentos del Software
5.2 Framework de Desarrollo de Aplicaciones Tema 4. Generación y depuración de aplicaciones
Objetivos de un framework
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
15
Fundamentos del Software
5.2 Framework de Desarrollo de Aplicaciones Tema 4. Generación y depuración de aplicaciones
Características de un framework
• El código del framework no puede ser modificado, excepto por extensibilidad (como
se ha comentado en el punto anterior).
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
16
Fundamentos del Software
5.2 Framework de Desarrollo de Aplicaciones Tema 4. Generación y depuración de aplicaciones
Arquitectura de un framework
o Las clases definidas por el usuario reciben mensajes de las clases del
frameword (inversión de control); los desarrolladores manejan ésto
implementando los métodos abstractos de la superclase.
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
17
Fundamentos del Software
5.3 Técnicas de Depuración de Programas Tema 4. Generación y depuración de aplicaciones
Definición y objetivos
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
18
Fundamentos del Software
5.3 Técnicas de Depuración de Programas Tema 4. Generación y depuración de aplicaciones
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
19
Fundamentos del Software
5.3 Técnicas de Depuración de Programas Tema 4. Generación y depuración de aplicaciones
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
20
Fundamentos del Software
5.3 Técnicas de Depuración de Programas Tema 4. Generación y depuración de aplicaciones
• Un estado de programa viene definido por los valores de las variables y la posición de
ejecución (contador de programa).
• Cada estado determina los siguientes estados hasta alcanzar el estado final.
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
21
Fundamentos del Software
5.3 Técnicas de Depuración de Programas Tema 4. Generación y depuración de aplicaciones
Fases de depuración
1. Registrar el problema.
2. Reproducir el fallo (the failure): más complicado para programas no-deterministas y
de larga ejecución.
3. Automatizar y simplificar el caso de prueba.
4. Encontrar posibles origenes de la infección.
5. Centrar la búsqueda en los orígenes más probables.
6. Aislar la cadena de infección.
7. Corregir el defecto: sencillo si está claro el defecto que produce el fallo.
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
22
Fundamentos del Software
5.3 Técnicas de Depuración de Programas Tema 4. Generación y depuración de aplicaciones
• Las fases 4-6 están directamente relacionadas con compreder cómo se produce el
fallo.
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
23
Fundamentos del Software
5.3 Técnicas de Depuración de Programas Tema 4. Generación y depuración de aplicaciones
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
24
Fundamentos del Software
5.3 Técnicas de Depuración de Programas Tema 4. Generación y depuración de aplicaciones
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
25
Fundamentos del Software
5.3 Técnicas de Depuración de Programas Tema 4. Generación y depuración de aplicaciones
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
26
Fundamentos del Software
5.3 Técnicas de Depuración de Programas Tema 4. Generación y depuración de aplicaciones
Depurador
Características:
1. Interactivo. Aunque se puede usar en modo bach, su rol principal es interactuar
con el programador.
2. Proporciona un conjunto de instrucciones que indican las acciones de
depuración a realizar.
3. Permite detectar errores en tres categorías:
a. Sintácticos: detectados durante la fase de compilación o la de enlazado.
b. Ejecución: e.g., acceder fuera del espacio de direcciones asignadas
(segmentation fault) o realizar una operación de división por cero, ambas
produciendo la terminación del programa.
c. Lógicos: e.g., bucles que iteran más o menos veces de las previstas.
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
27
Fundamentos del Software
5.3 Técnicas de Depuración de Programas Tema 4. Generación y depuración de aplicaciones
Los tipos de errores más comunes que se producen cuando se programa son:
2. Programar sin pensar: Antes de comenzar a codificar hay que diseñar la solución
al problema planteado, pensando las distintas alternativas de solución posibles y
entendiendo el algoritmo que se ha de seguir.
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
28