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?
¿Qué es una aplicación informática?
¿Qué es una aplicación informática?
¿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?
¿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?
Signup and view all the answers
¿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?
Signup and view all the answers
¿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?
Signup and view all the answers
¿Cuál es el significado de 'ejecutar' en el contexto del software?
¿Cuál es el significado de 'ejecutar' en el contexto del software?
Signup and view all the answers
¿Qué es una 'librería' en el contexto del desarrollo de software?
¿Qué es una 'librería' en el contexto del desarrollo de software?
Signup and view all the answers
¿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?
Signup and view all the answers
¿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?
Signup and view all the answers
¿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?
Signup and view all the answers
¿Qué es una palabra reservada en un lenguaje de programación?
¿Qué es una palabra reservada en un lenguaje de programación?
Signup and view all the answers
¿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?
Signup and view all the answers
¿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?
Signup and view all the answers
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?
Signup and view all the answers
¿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?
Signup and view all the answers
¿Cuál de las siguientes afirmaciones describe mejor a los lenguajes compilados?
¿Cuál de las siguientes afirmaciones describe mejor a los lenguajes compilados?
Signup and view all the answers
Qué característica distingue a los lenguajes interpretados de los compilados?
Qué característica distingue a los lenguajes interpretados de los compilados?
Signup and view all the answers
¿Cuál es el elemento clave necesario para ejecutar un lenguaje compilado?
¿Cuál es el elemento clave necesario para ejecutar un lenguaje compilado?
Signup and view all the answers
¿Qué ventaja tienen generalmente los lenguajes virtuales respecto a los lenguajes compilados?
¿Qué ventaja tienen generalmente los lenguajes virtuales respecto a los lenguajes compilados?
Signup and view all the answers
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?
Signup and view all the answers
Cuál de los siguientes lenguajes es un ejemplo de lenguaje interpretado?
Cuál de los siguientes lenguajes es un ejemplo de lenguaje interpretado?
Signup and view all the answers
En qué momento se traduce el código en los lenguajes interpretados?
En qué momento se traduce el código en los lenguajes interpretados?
Signup and view all the answers
Un compilador se utiliza principalmente para traducir:
Un compilador se utiliza principalmente para traducir:
Signup and view all the answers
¿Cuál es la salida final del proceso de compilación?
¿Cuál es la salida final del proceso de compilación?
Signup and view all the answers
¿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?
Signup and view all the answers
¿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?
Signup and view all the answers
¿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?
Signup and view all the answers
¿Qué representa el código objeto en el proceso de compilación?
¿Qué representa el código objeto en el proceso de compilación?
Signup and view all the answers
¿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?
Signup and view all the answers
¿Cuál es la última fase del desarrollo de una aplicación?
¿Cuál es la última fase del desarrollo de una aplicación?
Signup and view all the answers
¿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?
Signup and view all the answers
¿Qué es el código fuente?
¿Qué es el código fuente?
Signup and view all the answers
¿Cuál es la función de un compilador?
¿Cuál es la función de un compilador?
Signup and view all the answers
¿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?
Signup and view all the answers
¿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?
Signup and view all the answers
¿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?
Signup and view all the answers
¿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?
Signup and view all the answers
¿Cuál es la diferencia principal entre compilación e interpretación?
¿Cuál es la diferencia principal entre compilación e interpretación?
Signup and view all the answers
¿Qué es una librería en el contexto de un programa?
¿Qué es una librería en el contexto de un programa?
Signup and view all the answers
¿Cuál es el propósito principal del mantenimiento de software?
¿Cuál es el propósito principal del mantenimiento de software?
Signup and view all the answers
¿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?
Signup and view all the answers
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?
Signup and view all the answers
¿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?
Signup and view all the answers
¿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?
Signup and view all the answers
¿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?
Signup and view all the answers
¿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?
Signup and view all the answers
¿Qué fase es crucial para identificar nuevas necesidades del software?
¿Qué fase es crucial para identificar nuevas necesidades del software?
Signup and view all the answers
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.