Podcast
Questions and Answers
¿Qué caracteriza al software en comparación con los elementos fÃsicos?
¿Qué caracteriza al software en comparación con los elementos fÃsicos?
- El software no se puede replicar.
- El software se puede estropear fácilmente.
- El software es un elemento tangible.
- El software es lógico e intangible. (correct)
¿Qué es una aplicación informática?
¿Qué es una aplicación informática?
- Un dispositivo utilizado para modificar datos.
- Un documento digital que se almacena en la nube.
- Un conjunto de hardware que realiza tareas especÃficas.
- Un programa compuesto por instrucciones que el ordenador debe ejecutar. (correct)
¿Cuál de las siguientes afirmaciones sobre el desarrollo de software es verdadera?
¿Cuál de las siguientes afirmaciones sobre el desarrollo de software es verdadera?
- El software se puede instalar sin necesidad de un sistema operativo.
- El software no se puede desarrollar a medida.
- El software se desarrolla solo con metodologÃas estándar.
- El software se desarrolla usando un lenguaje de programación y una metodologÃa de programación. (correct)
¿Qué ocurre si el ordenador no entiende alguna instrucción de un programa?
¿Qué ocurre si el ordenador no entiende alguna instrucción de un programa?
¿Cuál de las siguientes es una caracterÃstica de las aplicaciones informáticas personalizadas?
¿Cuál de las siguientes es una caracterÃstica de las aplicaciones informáticas personalizadas?
¿Qué tipo de aplicaciones informáticas incluye la gestión de bases de datos?
¿Qué tipo de aplicaciones informáticas incluye la gestión de bases de datos?
¿Cuál es el significado de 'ejecutar' en el contexto del software?
¿Cuál es el significado de 'ejecutar' en el contexto del software?
¿Qué es una 'librerÃa' en el contexto del desarrollo de software?
¿Qué es una 'librerÃa' en el contexto del desarrollo de software?
¿Qué caracteriza a un lenguaje de programación en comparación con el lenguaje máquina?
¿Qué caracteriza a un lenguaje de programación en comparación con el lenguaje máquina?
¿Cuál de las siguientes opciones no es un tipo de lenguaje de programación mencionado?
¿Cuál de las siguientes opciones no es un tipo de lenguaje de programación mencionado?
¿Qué implica la evolución de los lenguajes de programación según la información?
¿Qué implica la evolución de los lenguajes de programación según la información?
¿Qué es una palabra reservada en un lenguaje de programación?
¿Qué es una palabra reservada en un lenguaje de programación?
¿Cuál de los siguientes lenguajes es considerado un lenguaje de alto nivel?
¿Cuál de los siguientes lenguajes es considerado un lenguaje de alto nivel?
¿Cuál de las siguientes afirmaciones es verdadera sobre los lenguajes de programación actuales?
¿Cuál de las siguientes afirmaciones es verdadera sobre los lenguajes de programación actuales?
En el contexto de lenguajes de programación, ¿qué se entiende por semántica?
En el contexto de lenguajes de programación, ¿qué se entiende por semántica?
¿Qué elemento no forma parte de la definición de un programa en un lenguaje de programación?
¿Qué elemento no forma parte de la definición de un programa en un lenguaje de programación?
¿Cuál de las siguientes afirmaciones describe mejor a los lenguajes compilados?
¿Cuál de las siguientes afirmaciones describe mejor a los lenguajes compilados?
Qué caracterÃstica distingue a los lenguajes interpretados de los compilados?
Qué caracterÃstica distingue a los lenguajes interpretados de los compilados?
¿Cuál es el elemento clave necesario para ejecutar un lenguaje compilado?
¿Cuál es el elemento clave necesario para ejecutar un lenguaje compilado?
¿Qué ventaja tienen generalmente los lenguajes virtuales respecto a los lenguajes compilados?
¿Qué ventaja tienen generalmente los lenguajes virtuales respecto a los lenguajes compilados?
Cuál es una desventaja de los lenguajes compilados en comparación con los interpretados?
Cuál es una desventaja de los lenguajes compilados en comparación con los interpretados?
Cuál de los siguientes lenguajes es un ejemplo de lenguaje interpretado?
Cuál de los siguientes lenguajes es un ejemplo de lenguaje interpretado?
En qué momento se traduce el código en los lenguajes interpretados?
En qué momento se traduce el código en los lenguajes interpretados?
Un compilador se utiliza principalmente para traducir:
Un compilador se utiliza principalmente para traducir:
¿Cuál es la salida final del proceso de compilación?
¿Cuál es la salida final del proceso de compilación?
¿En qué fase del desarrollo de una aplicación se estima la viabilidad del proyecto?
¿En qué fase del desarrollo de una aplicación se estima la viabilidad del proyecto?
¿Cuál de las siguientes fases no forma parte del desarrollo de software?
¿Cuál de las siguientes fases no forma parte del desarrollo de software?
¿Qué actividad es clave en la fase inicial del desarrollo de una aplicación?
¿Qué actividad es clave en la fase inicial del desarrollo de una aplicación?
¿Qué representa el código objeto en el proceso de compilación?
¿Qué representa el código objeto en el proceso de compilación?
¿Cuál es un documento importante que se desarrolla en la fase inicial del proyecto?
¿Cuál es un documento importante que se desarrolla en la fase inicial del proyecto?
¿Cuál es la última fase del desarrollo de una aplicación?
¿Cuál es la última fase del desarrollo de una aplicación?
¿Qué papel desempeñan los expertos en la fase inicial de desarrollo de software?
¿Qué papel desempeñan los expertos en la fase inicial de desarrollo de software?
¿Qué es el código fuente?
¿Qué es el código fuente?
¿Cuál es la función de un compilador?
¿Cuál es la función de un compilador?
¿Qué sucede durante la fase de enlazado en el proceso de compilación?
¿Qué sucede durante la fase de enlazado en el proceso de compilación?
¿Qué es un intérprete en el contexto de la traducción de código?
¿Qué es un intérprete en el contexto de la traducción de código?
¿Cuál de las siguientes afirmaciones sobre el código objeto es correcta?
¿Cuál de las siguientes afirmaciones sobre el código objeto es correcta?
¿Por qué es necesario que un compilador se instale en cada máquina que quiera compilar un programa?
¿Por qué es necesario que un compilador se instale en cada máquina que quiera compilar un programa?
¿Cuál es la diferencia principal entre compilación e interpretación?
¿Cuál es la diferencia principal entre compilación e interpretación?
¿Qué es una librerÃa en el contexto de un programa?
¿Qué es una librerÃa en el contexto de un programa?
¿Cuál es el propósito principal del mantenimiento de software?
¿Cuál es el propósito principal del mantenimiento de software?
¿Qué documento es vital para entender cómo usar la aplicación final?
¿Qué documento es vital para entender cómo usar la aplicación final?
En qué momento se considera que un software ha llegado al final de su vida útil?
En qué momento se considera que un software ha llegado al final de su vida útil?
¿Qué acción se debe llevar a cabo al documentar las operaciones de mantenimiento?
¿Qué acción se debe llevar a cabo al documentar las operaciones de mantenimiento?
¿Qué tipo de documentación está dirigida especÃficamente a los técnicos?
¿Qué tipo de documentación está dirigida especÃficamente a los técnicos?
¿Cuál de las siguientes afirmaciones sobre la explotación del software es correcta?
¿Cuál de las siguientes afirmaciones sobre la explotación del software es correcta?
¿Qué se debe hacer al llegar al final de la vida útil del software?
¿Qué se debe hacer al llegar al final de la vida útil del software?
¿Qué fase es crucial para identificar nuevas necesidades del software?
¿Qué fase es crucial para identificar nuevas necesidades del software?
Flashcards
¿Qué es una aplicación informática?
¿Qué es una aplicación informática?
Un conjunto de instrucciones que indican al ordenador qué hacer. Se desarrolla usando un lenguaje de programación.
Programa
Programa
Conjunto de pasos o instrucciones que le dicen al ordenador cómo realizar un proceso.
Ejecutar un programa
Ejecutar un programa
Iniciarlo y ponerlo en funcionamiento.
LibrerÃa
LibrerÃa
Signup and view all the flashcards
Software (intangible)
Software (intangible)
Signup and view all the flashcards
Software a medida
Software a medida
Signup and view all the flashcards
Software estándar
Software estándar
Signup and view all the flashcards
Lenguaje de programación
Lenguaje de programación
Signup and view all the flashcards
Lenguaje de programación
Lenguaje de programación
Signup and view all the flashcards
Lenguaje máquina
Lenguaje máquina
Signup and view all the flashcards
Programa
Programa
Signup and view all the flashcards
Instrucción
Instrucción
Signup and view all the flashcards
Palabra reservada
Palabra reservada
Signup and view all the flashcards
Semántica
Semántica
Signup and view all the flashcards
Lenguaje de alto nivel
Lenguaje de alto nivel
Signup and view all the flashcards
Tipos de lenguajes de programación
Tipos de lenguajes de programación
Signup and view all the flashcards
Código fuente
Código fuente
Signup and view all the flashcards
Compilar
Compilar
Signup and view all the flashcards
Código objeto
Código objeto
Signup and view all the flashcards
LibrerÃa
LibrerÃa
Signup and view all the flashcards
Archivo ejecutable
Archivo ejecutable
Signup and view all the flashcards
Interpretación de código
Interpretación de código
Signup and view all the flashcards
Compilador
Compilador
Signup and view all the flashcards
Preprocesado (compilación)
Preprocesado (compilación)
Signup and view all the flashcards
Traductor de código
Traductor de código
Signup and view all the flashcards
Lenguaje Compilado
Lenguaje Compilado
Signup and view all the flashcards
Lenguaje Interpretado
Lenguaje Interpretado
Signup and view all the flashcards
Lenguaje Virtual
Lenguaje Virtual
Signup and view all the flashcards
Compilador
Compilador
Signup and view all the flashcards
Código Objeto
Código Objeto
Signup and view all the flashcards
Código Máquina
Código Máquina
Signup and view all the flashcards
Intérprete
Intérprete
Signup and view all the flashcards
Compilación de código
Compilación de código
Signup and view all the flashcards
Código fuente
Código fuente
Signup and view all the flashcards
Código objeto
Código objeto
Signup and view all the flashcards
Fase inicial (desarrollo)
Fase inicial (desarrollo)
Signup and view all the flashcards
Análisis (desarrollo)
Análisis (desarrollo)
Signup and view all the flashcards
Diseño (desarrollo)
Diseño (desarrollo)
Signup and view all the flashcards
Fases de desarrollo (software)
Fases de desarrollo (software)
Signup and view all the flashcards
MetodologÃas ágiles
MetodologÃas ágiles
Signup and view all the flashcards
Mantenimiento de software
Mantenimiento de software
Signup and view all the flashcards
Documentación técnica
Documentación técnica
Signup and view all the flashcards
Fase de retirada (software)
Fase de retirada (software)
Signup and view all the flashcards
Manual de usuario
Manual de usuario
Signup and view all the flashcards
Explotación de software
Explotación de software
Signup and view all the flashcards
Manual técnico
Manual técnico
Signup and view all the flashcards
Ciclo de vida del software
Ciclo de vida del software
Signup and view all the flashcards
Documentación vital
Documentación vital
Signup and view all the flashcards
Study Notes
UA1: Desarrollo de Software
- El curso se titula "Entornos de Desarrollo - 1°DAM"
- El autor es Luis del Moral MartÃnez
- La versión del material es 21.02
- El material está bajo licencia CC BY-NC-SA 4.0
Contenidos del Tema
- Introducción:
- Se presenta un mapa conceptual del tema
- Se define un sistema informático
- Se define software
- Programas y Aplicaciones Informáticas:
- Se define una aplicación informática
- Se distingue entre software a medida y estándar
- Lenguajes de Programación:
- Se define un lenguaje de programación
- Se describen los diferentes tipos de lenguajes de programación
- Se describen los paradigmas de programación
- El proceso de traducción/compilación:
- Se describen los traductores de código
- Se explica la interpretación de código
- Se explica la compilación de código
- Desarrollo de una aplicación:
- Se describen las fases del desarrollo de una aplicación
- Se describe la documentación
- Se describen los roles en el desarrollo de software
- Se describen los paradigmas de desarrollo clásicos
- Se describen las metodologÃas ágiles
1. Introducción
- 1.2 ¿Qué es un ordenador?:
- Los primeros ordenadores surgieron en la década de 1940.
- Un ordenador procesa datos de entrada para generar salidas (resultados)
- Se compone de hardware y software
- Las instrucciones del usuario son traducidas para que el ordenador las comprenda
- Se presenta un diagrama de un ordenador con sus componentes
- Se muestran ejemplos históricos de ordenadores (Máquina analÃtica de Babbage, ENIAC, IBM Mainframe 701, IBM PC, HP Pavilion x2).
- 1.3 ¿Qué es el software?:
- Es la parte intangible (lógica) de un sistema informático.
- Está diseñado para realizar tareas especÃficas.
- Permite comunicarse con el hardware para ejecutar instrucciones de los usuarios.
- El término fue acuñado por Charles Babbage en el siglo XIX.
- Alan Turing contribuyó a su desarrollo
- Se presentan las caracterÃsticas clave del software
2. Programas y aplicaciones informáticas
- 2.1 ¿Qué es una aplicación informática?:
- Conjunto de instrucciones que indican al ordenador cómo realizar un proceso
- Usa lenguajes de programación
- Se describe como una aplicación le indica al ordenador qué pasos seguir
- El ordenador notifica al usuario cuando no comprende una instrucción.
- Se muestra ejemplos de algunas aplicaciones informáticas(Sistemas operativos, Aplicaciones de contabilidad y ofimática, Aplicaciones de gestión de bases de datos, Aplicaciones de diseño gráfico, Aplicaciones de correo electrónico, Sistemas de mensajerÃa, Videojuegos))
- 2.2 Software a medida vs. estándar:
- Software a medida: Desarrollado según las necesidades especÃficas de un cliente o empresa, Se adapta a la actividad del cliente, suele ser más costoso.
- Software estándar: Software genérico para diferentes clientes. Fácil de configurar o actualizar, suele ser más económico que el software a medida.
- Se presentan las caracterÃsticas de cada uno.
3. Lenguajes de programación
- 3.1 ¿Qué es un lenguaje de programación?:
- Es un lenguaje artificial creado para programadores, traducido por el ordenador
- Es más complejo que el lenguaje máquina (01010101)
- Se componen de sÃmbolos (sintaxis) y reglas (semántica),
- 3.2 Tipos de lenguajes de programación:
- Lenguaje máquina: Ininteligible para los seres humanos, el ordenador lo entiende directamente (01010101).
- Lenguaje de medio nivel (ensamblador): Más amigable, usando mnemotécnicos. Se centra en el hardware. Se necesitan compilar.
- Lenguaje de alto nivel: Más cercano a los lenguajes humanos (IF, WHILE, DO...). Usan variables, funciones. Hay muchos lenguajes (Fortran, Cobol, Pascal, C, C++, Visual Basic, C#, Java, JavaScript, PHP, Python...).
- Se muestran ejemplos de varios lenguajes (C++, Java, JavaScript, Python, PHP).
- 3.3 Paradigmas de programación:
- Programación estructurada o imperativa:
- Secuencia ordenada de instrucciones
- Lógica fácil de comprender.
- Programas sencillos, rápidos.
- Inconveniente: crecimiento inmanejable si el programa se hace demasiado grande
- Programación funcional:
- Se descompone en módulos o funciones.
- Programa modular y estructurado.
- Posibles inconvenientes: crecimiento inmanejable de los proyectos
- Programación orientada a objetos:
- Representación de entidades del mundo real
- Reutilización de código
- Principio de separación de responsabilidades (MVC)
- Polimorfismo, herencia, encapsulación
- Programación lógica:
- Representación predicados y relaciones.
- Utiliza lógica de predicados de primer orden.
- Aplicaciones de inteligencia artificial.
- Programación estructurada o imperativa:
4. El proceso de traducción/compilación
- 4.1 Traductores de código: Traducen de alto nivel a lenguaje de máquina.
- Lenguajes compilados: Se traduce todo el código antes de ejecutarlo, traduce una vez y se ejecuta muchas.
- Lenguajes interpretados: Se traduce y ejecuta lÃnea por lÃnea
- Lenguajes virtuales: Más portables y versátiles, pero más lentos. Se traduce a un código intermedio (bytecode) para ser interpretado por una máquina virtual.
- 4.2 Interpretación de código: Traduce el programa linea por linea; el programa tiene que estar en memoria.
- 4.3 Compilación de código: Traduce el código fuente a código objeto, y éste a código máquina para ser ejecutado por el ordenador
- Se describen las fases (preprocesado, generación de código intermedio, ensamblador, enlazado) del proceso de compilación
5 Desarrollo de una aplicación
- 5.1 Fases del desarrollo de una aplicación:
- Fase inicial: Planificación de proyecto, estimación de costos (viabilidad).
- Análisis: Analizar el problema, requisitos del cliente. (recopilar, examinar y formular requisitos del cliente mediante entrevistas, analisis restricciones y otros documentos).
- Diseño: Determinar la arquitectura de la aplicación. (subconjuntos de la aplicación, documentos técnicos). Involucra analistas y jefes de proyecto.
- Implementación: Desarrollo del programa. (uso de lenguajes, librerÃas, frameworks; documentación detallada del código fuente).
- Pruebas: Garantizar que la aplicación funciona según las especificaciones. (pruebas funcionales y estructurales).
- Explotación: Se instala el software en el entorno real. (Se realiza mantenimiento ante el uso cotidiano, nuevas necesidades e incidencias).
- Mantenimiento: Se realizan procedimientos correctivos para mejorar los errores. (Documentación de los cambios, revisando cada falla).
- Retirada: El ciclo termina cuando el software ya no se utiliza. (decisiones si se compra nueva, o se programa una nueva).
- 5.2 Documentación:
- Manual de usuario
- Manual técnico
- Manual de instalación
- 5.3 Roles del desarrollo de software:
- Arquitecto: Define la estructura del proyecto, tecnologÃas, frameworks.
- Jefe de proyecto: Dirige el equipo, controla el tiempo y las relaciones con el cliente.
- Analista: Realiza estudios del problema, el análisis y el diseño del sistema.
- Analista programador: Analiza el problema, diseña el sistema y programa.
- Programador: Codifica y prueba los módulos de la aplicación.
- 5.4 Paradigmas de desarrollo clásicos: Describe el modelo en cascada (fases secuenciales e inflexibles).
- 5.5 MetodologÃas ágiles: Describe metodologÃas más flexibles ante cambios, (manifiesta ágil, y sus valores).
Información complementaria
- Enlaces a videos y documentos relacionados con el tema.
Créditos de las imágenes y figuras
- Se detallan fuentes de las imágenes y figuras utilizadas. (iconos y diagramas).
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.