ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático,...

40
ENTORNOS DE DESARROLLO UD1. Conceptos básicos

Transcript of ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático,...

Page 1: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

ENTORNOS DE DESARROLLO

UD1. Conceptos básicos

Page 2: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Índice

Conceptos de programa informático, aplicación informática y lenguajes de programación

Tipos de lenguajes de programación

Características de lenguajes

Obtención Código Ejecutable

Fases del desarrollo

Roles que interactúan en el desarrollo

Page 3: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Conceptos fundamentales

Software: Conjunto de programas elaborados por el hombre, que controlan la actuación de la computadora, haciendo que ésta siga en sus acciones una serie de pasos lógicos predeterminados.

Software intermediario entre hardware y hombre

Page 4: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Conceptos fundamentales

Ejercicio: Clasifica las distintas aplicaciones en los tipos de software vistos anteriormente: Linux Accesorios de Windows NetBeans Excel Clic Java Símbolo de Sistema AutoCad Windows XP

Page 5: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Conceptos fundamentales

Algoritmo: es la forma de resolver un problema, los pasos a seguir para resolver un problema estándar.

El algoritmo de “ir a la compra” sería:1) Hago la lista de la compra2) Voy a comprar3) Guardo las cosas.

Page 6: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Conceptos fundamentales

Ejercicio: Escribe la secuencia de pasos (algoritmo) para las siguientes situaciones cotidianas: Ir al colegio Arreglar un ordenador Almorzar

Page 7: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Conceptos fundamentales

Lenguaje de programación: es un lenguaje diseñado para describir el conjunto de acciones consecutivas que un equipo debe ejecutar.

Page 8: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Tipos de lenguajes de programación

Nivel de abstracción: Bajo Nivel: Lenguaje ensamblador Medio Nivel: C Alto Nivel: Java, Ruby

Propósito: Propósito general: C Propósito específico: Csound Programación de sistemas: C Scripts: JavaScripts

Page 9: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Tipos de lenguajes de programación

Evolución Histórica: 1GL: Código máquina 2GL: Lenguaje ensamblador 3GL: C, Java 4GL: Mathematica 5GL: Prolog

Manera de ejecutarse: Compilados Interpretados Mixtos

Page 10: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Tipos de lenguajes de programación

Manera de abordar la tarea a realizar: Imperativo: Cómo hay que realizar la tarea. C Declarativo: Qué hay que hacer. Prolog

Paradigma de programación Procedural: C, Pascal Orientada a objetos: Java Funcional: Evaluando funciones recursivamente. Lisp, Scala Programación lógica: Expresa que computar desde la lógica

matemática. Prolog Lugar de ejecución

Cliente: Javascript Servidor: PHP

Page 11: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Características de lenguajes más difundidos

Page 12: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Características de lenguajes más difundidos

BASIC: Para comenzar a aprender a programar

Page 13: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Características de lenguajes más difundidos

COBOL: Negocios Crear Software Gestión para manejar grandes cantidades de datos

Page 14: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Características de lenguajes más difundidos

FORTRAN: Ingeniería, operaciones matemáticas, …

Page 15: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Características de lenguajes más difundidos

Ensamblador: Cercano al código máquina (MOVE, ADD, JUMP)

Page 16: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Características de lenguajes más difundidos

C: Fácil de aprender, permite control ordenador, transportable gracias a ANSI C

Page 17: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Características de lenguajes más difundidos

C++: Desarrollo a partir de C++, permite POO (uso en proyectos de mayor envergadura)

Page 18: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Características de lenguajes más difundidos

Java

Page 19: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Características de lenguajes más difundidos

PHP: Lenguaje de programación para desarrollo de páginas webs

Page 20: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Características de lenguajes más difundidos

Python: Lenguaje de programación de alto nivel. Sintaxis limpia. Multiparadigma

Page 21: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Características de lenguajes más difundidos

Ejercicio:

Investiga programas que estén realizados con el lenguaje Python

Encuentra ofertas de trabajo relacionadas con dicho lenguaje

Importancia de Python en la actualidad

Page 22: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Lenguajes Ciclo DAM

Primero

• SQL• HTML• CSS• JAVA• XML

Segundo

• PHP• JAVA Avanzado

• Android• BASIC .NET

Page 23: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Ofertas de Trabajo

Busca ofertas de trabajo relacionadas con nuestro sector. Establece distintos niveles: nivel local, provincial, nacional (y si se pudiese, internacional).

¿Que perfiles son los más demandados en cada nivel?

¿Cuáles son los requisitos que se piden normalmente?

Conclusiones obtenidas

Page 24: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Obtención del código ejecutable

Código fuente: Programas escritos en un determinado lenguaje de programación.

Código objeto: Código que resulta de la compilación del código fuente.

Código ejecutable: Código obtenido del proceso de enlazar todos los archivos de código objeto con un programa llamado enlazador.

Page 25: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Obtención del código ejecutable

Traductores: Programas que traducen los programas en código fuente, escritos en lenguajes de alto nivel, a programas escritos en lenguaje máquina

= Lenguaje de Alto Nivel Traductor

Lenguaje Máquina

Compilador Intérprete

Page 26: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Obtención del código ejecutable

Compiladores: El programa original (fichero fuente) sólo se traduce una vez, creando un nuevo archivo (fichero ejecutable) que puede ejecutarse cuantas veces se desee.

Page 27: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Obtención del código ejecutable

Intérpretes: El programa es traducido cada vez que se va a ejecutar. No producen un código objeto como los compiladores. Lee el código como está escrito y lo ejecuta al instante.

Page 28: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Obtención del código ejecutable

Compilador+Intérprete: JAVA

Page 29: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Obtención del código ejecutable

Razona las ventajas/desventajas de los compiladores e intérpretes

Page 30: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Obtención del código ejecutable

Depuradores: Es un programa independiente del editor, el compilador y el enlazador. Suele estar integrado con los otros tres, de modo que desde el entorno de programación se puede lanzar cualquiera de los programas, pero también se puede usar por separado.

El depurador es una herramienta fundamental para localizar y corregir los errores en tiempo de ejecución.

Page 31: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Fases del desarrollo de una aplicación

El desarrollo de un software o de un conjunto de aplicaciones pasa por diferentes etapas desde que se produce la necesidad de crear un software hasta que se finaliza y está listo para ser usado por un usuario.

Ciclo de vida del programa Hay más de un modelo de etapas de desarrollo, vamos a estudiar uno de los

modelos más extendidos y completos, el modelo en cascada Las fases o etapas son:

Análisis. Diseño. Codificación Pruebas Documentación Explotación. Mantenimiento

Page 32: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Fases del desarrollo de una aplicación

Análisis: En esta fase se establece el producto a desarrollar Existir gran comunicación entre el cliente y el analista

Conocer todas las necesidades que precisa la aplicación. Desarrollo de prototipos para saber con más precisión sus

requerimientos. Es importante que haya una comunicación bilateral, aunque

el cliente puede pretender que la comunicación sea unilateral, es necesario un contraste y consenso por ambas partes para llegar a definir los requisitos verdaderos del software.

Informe ERS (Especificación de Requisitos Software)

Page 33: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Fases del desarrollo de una aplicación

Diseño: En esta fase se alcanza con mayor precisión una solución optima de la aplicación, teniendo en cuenta los recursos físicos del sistema (tipo de ordenador, periféricos, comunicaciones, etc…) y los recursos lógicos. (sistema operativo, programas de utilidad, bases de datos, etc…)

Se define por lo tanto el entorno que requerirá el sistema, aunque también se puede establecer en sentido contrario, es decir, diseñar el sistema en función de los recursos de los que se dispone.

En la fase de diseño se crearán los diagramas de casos de uso y de secuencia para definir la funcionalidad del sistema.

Se especificará también el formato de la información de entrada y salida, las estructuras de datos y la división modular. Con todo esto se obtiene el denominado cuaderno de carga.

Page 34: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Fases del desarrollo de una aplicación

Codificación: Consiste en traducir los resultados obtenidos

a un determinado lenguaje de programación, teniendo en cuenta las especificaciones obtenidas en el cuaderno de carga. Se deben de realizar las pruebas necesarias para comprobar la calidad y estabilidad del programa.

No se está exento de necesitar un reanálisis o rediseño al encontrar un problema al programar el software

Page 35: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Fases del desarrollo de una aplicación

Pruebas Comprobar la calidad y estabilidad del programa. Por una parte, la codificación tiene que ser

exitosa y el software no debe contener errores, y por otra parte, el software hace lo que debe hacer.

En general, las pruebas las realiza, personal diferente al que codificó la aplicación, con una amplia experiencia en programación, personas capaces de saber en qué condiciones un software puede fallar de antemano sin un análisis previo.

Pruebas unitarias: Sirven para comprobar que cada módulo realice bien su tarea.

Pruebas de interconexión: Sirven para comprobar en el programa el buen funcionamiento en conjunto de todos sus módulos.

Pruebas de integración: Sirven para comprobar el funcionamiento correcto del conjunto de programas que forman la aplicación. (el funcionamiento de todo el sistema)

Page 36: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Fases del desarrollo de una aplicación

Documentación Documentación para el usuario Documentación técnica

Explotación: En esta fase se realiza la implantación de la aplicación en el sistema o sistemas físicos donde van a funcionar habitualmente y su puesta en marcha para comprobar el buen funcionamiento.

Actividades a tener en cuenta o realizar: Instalación del/los programa/s. Pruebas de aceptación al nuevo sistema. Conversión de la información del antiguo sistema al nuevo (si hay

una aplicación antigua) Eliminación del sistema anterior.

Al final de esta fase se debe de completar la información al usuario respecto al nuevo sistema y su uso.

Page 37: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Fases del desarrollo de una aplicación

Mantenimiento: Esta es la fase que completa el ciclo de vida y en ella nos encargaremos de solventar los posibles errores o deficiencias de la aplicación. Existe la posibilidad de que ciertas aplicaciones necesiten reiniciar el ciclo de vida. Mantenimiento correctivo: Consiste en corregir errores no detectados

en pruebas anteriores y que aparezcan con el uso normal de la aplicación. Mantenimiento adaptativo: Consiste en modificar el programa a causa

de cambio de entorno gráfico y lógico en el que estén implantados. Mantenimiento perfectivo: Consiste en una mejora sustancial de la

aplicación al recibir por parte de los usuarios propuestas sobre nuevas posibilidades y modificaciones de las existentes.

Los tipos de mantenimiento adaptativo y perfectivo reinician el ciclo de vida, debiendo proceder de nuevo al desarrollo de cada una de sus fases para obtener un nuevo producto.

Page 38: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Roles que interactúan en el desarrollo

Analista de sistemas: Su objetivo consiste en realizar un estudio del sistema para dirigir el proyecto en una dirección que garantice las expectativas del cliente determinando el comportamiento del sistema.

Diseñador de software: Realiza, en función del análisis de un software, el diseño de la solución que hay que desarrollar.

Analista programador: Se suele llamar “desarrollador”, domina una visión más amplia de la programación, aportando una visión general del proyecto más detallada, diseñando una solución más amigable para la codificación y participando activamente en ella.

Programador: Se encarga de manera exclusiva de crear el resultado del estudio realizado por analistas y diseñadores. Escribe el código fuente del software.

Arquitecto de software: Cohesiona todo el proceso de desarrollo. Conoce e investiga los frameworks y tecnologías revisando que todo el procedimiento se lleva a cabo de la mejor forma y con los recursos más apropiados.

Page 39: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Ejercicio Ciclos de vida

Investiga sobre los siguientes ciclos de vida: Modelo Evolutivo, Modelo en Espiral Fases Ventajas Inconvenientes Sistemas en los que se usa

Page 40: ENTORNOS DE DESARROLLO UD1. Conceptos básicos. Índice Conceptos de programa informático, aplicación informática y lenguajes de programación Tipos de lenguajes.

Ruegos y Preguntas