Entornos de Desarrollo

Slides:



Advertisements
Presentaciones similares
¿Qué es Sofware? Son el conjunto de instrucciones que dirigen las actividades del Hardware Consiste en programas, módulos de soporte y archivos de datos,
Advertisements

LICENCIATURA EN SISTEMAS COMPUTACIONALES EN ADMINISTRACION
MÉTODOS Y ELEMENTOS DE PROGRAMACIÓN
Resolución de Problemas Algoritmos y Programación
INSTITUTO TECNOLOGICO DE MINATITLAN
Introducción a la Programación
Técnico en programación de Software
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Programación 1 Introducción
Introducción a la programación
Administración de Procesos de Pruebas
Programas Son una serie o secuencia de instrucciones entendibles por los ordenadores que permiten la realización de las acciones o tareas para las que.
CICLO DE VIDA DE UN PROYECTO DE SOFTWARE
Tema 6. Conceptos básicos de programación
Conceptos Fundamentales
ALGORITMOS Y ESTRUCTURAS DE DATOS
ALGORITMOS, LENGUAJES Y TECNICAS DE PROGRAMACION
TRADUCTOR DE UN PROGRAMA
Proceso de información en la computadora
ALGORITMOS.
M.C. Meliza Contreras González
Tema 1 Entorno de la programación. Conceptos elementales Algoritmo  Secuencia ordenada de pasos exentos de ambigüedad que conduce a la resolución de.
SOFTWARE DE PROGRAMACIÓN
Entornos de Desarrollo
LENGUAJE DE PROGRAMACIÓN
PROGRAMACIÓN PROCEDIMENTAL
FUNDAMENTOS DE PROGRAMACIÓN ISC. GABRIEL ZEPEDA MARTÍNEZ EST. ABRAHAM F. MACHUCA VAZQUEZ.
Fundamentos de programación Organización de una computadora.
1.4 Traductor y Su estructura
LENGUAJES DE PROGRAMACIÓN
U1. Introducción a la programación
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
CONCEPTOS BÁSICOS Diseño de Sistemas.
Metodología para solución de problemas
FUNDAMENTOS DE PROGRAMACION
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
Introducción a la tecnología Realizado por: Miguel Ángel Arias.
Prof. Gabriel Matonte Programación I Prof. Gabriel Matonte
COMPUTO III Ing. Jimmy Ojeda Arnica.
Supongamos que un usuario desea escribir un informe e imprimirlo en una impresora conectada. Para realizar esta tarea, se precisa una aplicación de procesamiento.
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
LENGUAJES DE PROGRAMACION
Lenguajes de Programación
Metodología de la programación
Capítulo 4 CPU y la memoria.
PROYECTO TECNOLÓGICO Mateo Guerra Alzate Cristian Herrera 9-D I
Prof. Flor Narciso Departamento de Computación
Ciclo de vida de un sistema
Elaboración de algoritmos usando lógica de programación
TIPOS DE AUDITORÍAS EN SISTEMAS DE INFORMACIÓN
III. DESARROLLO DE SISTEMAS.. Podemos definir el desarrollo de sistemas informáticos como el proceso mediante el cual el conocimiento humano y el uso.
DISEÑO CURRICULAR Presentado por: Cesar Augusto Sáenz María Alejandra Hernández 1.contenidos curriculares de competencia.
UML.
Desarrollo de lógica algorítmica.
Unidad TemáticaI. Conceptos Básicos Horas Prácticas10 Horas Teóricas8 Horas Totales18 Objetivo El alumno determinará las entradas, procesos y salidas.
Simón Esneider Herrera Álvarez Media Técnica Casd 10-2
Curso: Programación I Grado: 4to. Bachillerato Prof. Gerardo Barrientos.
Preocupaciones del Analista Programador & Usuarios
Ciclo de desarrollo del software
Programación Java y Desarrollo de Aplicaciones Modulo 1 Arquitectura de ordenadores Tema 3 Programas.
M E N U I N I C I A L PARTES PC PERIFERICOS C P U SOFTWARE 1 johnbonilla.es.tl.
Proceso de desarrollo de Software
 Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.
Fundamentos de Computación
Fundamentos de Programación Unidad I Conceptos Básicos.
Conalep 150 Tehuacán inmi 309 soma
CICLO DE VIDA DE UN SOFTWARE. Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados, que forman parte de.
SOFTWARE DE COMPUTADORAS
Juan Camilo Morales 10a.  Es el conjunto de herramientas que permiten al programador escribir programas informáticos, usando diferentes alternativas.
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 3 – Diseño de Programas.
Transcripción de la presentación:

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 de programación Características de lenguajes Obtención Código Ejecutable Fases del desarrollo Roles que interactúan en el desarrollo

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

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

Concepto de programa Un sistema informático puede operar según las instrucciones de un programa almacenado. “Un programa informático es un conjunto de instrucciones escritas en un lenguaje de programación, que aplicadas sobre un conjunto de datos resuelven un problema o parte del mismo.”

Programa y componentes del sistema informático Para ejecutar un programa se necesita: CPU (repite un ciclo de instrucción hasta terminar un programa) Memoria RAM (o memoria principal, almacena las instrucciones y los datos que se están procesando) Los dispositivos de Entrada y Salida (permiten la introducir los programas a la RAM, almacenar los programas de manera permanente – disco duro- Las instrucciones de un programa entran en el sistema a través de la Entrada/Salida (por ejemplo, disco duro o pen-drive) se cargan en memoria principal y la CPU será la encargada de ejecutarlas. Se distinguen las fases principales: Fase de búsqueda de instrucción: Localizar una instrucción de la RAM y llevarla a la CPU Fase de decodificación: Se averigua qué acciones se deben realizar con dicha instrucción. Fase de ejecución de instrucción: se ordena la realización de las acciones que llevan asociadas las instrucciones.

Programa y componentes del sistema informático Tipos de instrucciones: Instrucciones de transferencia de datos: permiten mover datos e instrucciones de un lugar a otro del sistema. Se les debe indicar origen y destino. Instrucciones aritmético-lógicas: son las operaciones básicas, aritméticas (suma, resta, multiplicación, división) y lógicas (AND, OR, NOT). Están basadas en el álgebra de Boole. Instrucciones de control de flujo: aunque por norma general las instrucciones se ejecutan de forma secuencial, una tras otra, a veces según ciertas condiciones se producen saltos, bien para repetir varias veces las mismas instrucciones o para saltarse una parte. Instrucciones de entrada-salida: necesarias para permitir la comunicación entre CPU y periféricos.

Programa y componentes del sistema informático La mayoría de las instrucciones realizan operaciones sobre uno o varios operandos, por lo tanto, la propia instrucción debe incluir alguna forma de localizar dichos operandos. Es lo que se conoce como modos de direccionamiento, y sin profundizar en este aspecto, de manera general son estos: Implícito: No se especifica pero se sabe que es el último valor que se acaba de calcular. Inmediato: El valor del operando aparece tal cual en la instrucción. Directo: En la instrucción aparece una dirección de memoria que contiene al operando. Indirecto: La instrucción contiene una dirección de memoria que contiene la verdadera dirección del operando.

Unidades sistema informático

Ejecución de un programa ¿Qué valores habrá en las posiciones de memoria 13,14 y 15?

Conceptos fundamentales Algoritmo: es la forma de resolver un problema, los pasos a seguir para resolver un problema estándar. Algoritmo para averiguar si un año es bisiesto

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

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 (composición de música) Programación de sistemas: C Scripts: JavaScripts, bash,

Tipos de lenguajes de programación Evolución Histórica: 1GL: Código máquina 2GL: Lenguaje ensamblador 3GL: C, Java, etc 4GL: Mathematica, SQL, etc 5GL: Prolog Manera de ejecutarse: Compilados Interpretados Mixtos

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, python, C# Funcional: Evaluando funciones recursivamente. Lisp, Scala,Matlab Programación lógica: Expresa que computar desde la lógica matemática. Prolog Lugar de ejecución Cliente: Javascript Servidor: PHP

Características de lenguajes más difundidos

Características de lenguajes más difundidos BASIC: Para comenzar a aprender a programar

Características de lenguajes más difundidos COBOL: Negocios  Crear Software Gestión para manejar grandes cantidades de datos

Características de lenguajes más difundidos FORTRAN: Ingeniería, operaciones matemáticas, …

Características de lenguajes más difundidos Ensamblador: Cercano al código máquina (MOVE, ADD, JUMP)

Características de lenguajes más difundidos C: Fácil de aprender, permite control ordenador, transportable gracias a ANSI C

Características de lenguajes más difundidos C++: Desarrollo a partir de C++, permite POO (uso en proyectos de mayor envergadura) vídeo (Dennis Ritchie explicando el S.O. unix y su programación)

Características de lenguajes más difundidos Java

Características de lenguajes más difundidos PHP: Lenguaje de programación para desarrollo de páginas webs

Características de lenguajes más difundidos Python: Lenguaje de programación de alto nivel. Sintaxis limpia. Multiparadigma

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

Lenguajes Ciclo DAM HTML CSS JavaScript Primero SQL JAVA bash Segundo Python c# .NET XML HTML CSS JavaScript

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

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.

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

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.

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.

Obtención del código ejecutable Compilador+Intérprete: JAVA

Obtención del código ejecutable Razona las ventajas/desventajas de los compiladores e intérpretes

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.

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

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)

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.

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

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)

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.

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.

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.

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

Ruegos y Preguntas