Desarrollo de Aplicaciones Multiplataforma DAM1
48 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

¿Cuál es una característica importante de los procesos ágiles?

  • Crear documentos extensivos para cada fase del proyecto
  • Mantener un ritmo constante (correct)
  • El uso exclusivo de herramientas automatizadas
  • Fomentar la competitividad entre los miembros del equipo

¿Qué elemento es esencial en los procesos ágiles según la información proporcionada?

  • La simplicidad (correct)
  • La planificación detallada de cada tarea
  • El uso de un lenguaje de programación complejo
  • La asignación de tareas por un líder de equipo

¿Qué metodología ágil se menciona como una opción para el desarrollo de software?

  • Modelo V
  • RAD
  • Scrum (correct)
  • Cascada

¿Qué componente se incluye en la definición de un lenguaje de programación?

<p>Sintaxis (C)</p> Signup and view all the answers

¿Cómo se define el proceso de programación?

<p>Escribir y depurar el código fuente de un programa (A)</p> Signup and view all the answers

¿Qué concepto se relaciona con la asociación de significado en un lenguaje de programación?

<p>Semántica (B)</p> Signup and view all the answers

¿Qué define el léxico de un lenguaje de programación?

<p>Los caracteres permitidos y su vocabulario (B)</p> Signup and view all the answers

¿Qué características se mencionan respecto a la clasificación de los lenguajes de programación?

<p>Pueden cumplir varios criterios al mismo tiempo (C)</p> Signup and view all the answers

¿Cuál es una de las ventajas del modelo evolutivo iterativo en espiral?

<p>Disminuyen los riesgos en la elaboración del proyecto. (B)</p> Signup and view all the answers

¿En qué tipo de proyectos se recomienda utilizar el modelo evolutivo iterativo en espiral?

<p>Proyectos muy grandes que cambian constantemente. (D)</p> Signup and view all the answers

¿Cuál es uno de los principios de las metodologías ágiles?

<p>Es importante la entrega continua de software funcional. (A)</p> Signup and view all the answers

¿Qué característica define a las metodologías ágiles?

<p>Trabajo de equipos multidisciplinarios. (C)</p> Signup and view all the answers

¿Cuál es uno de los inconvenientes del modelo evolutivo iterativo en espiral?

<p>Se necesita personal con mucha experiencia para evaluar riesgos. (A)</p> Signup and view all the answers

¿Qué enfoque no es parte de las metodologías ágiles?

<p>Ejecución estricta de un conjunto de reglas predefinidas. (C)</p> Signup and view all the answers

¿Cómo se mide principalmente el progreso en metodologías ágiles?

<p>Por el funcionamiento del software entregado. (D)</p> Signup and view all the answers

¿Cuál de las siguientes metodologías se considera ágil?

<p>Scrum. (C)</p> Signup and view all the answers

¿Cuál es la principal característica del modelo en cascada?

<p>Divide el proceso en fases secuenciales y no se puede iniciar una fase hasta completar la anterior. (B)</p> Signup and view all the answers

En el modelo en cascada con realimentación, ¿qué se hace si se detectan fallos en la fase de diseño?

<p>Se vuelve a la fase de análisis para realizar ajustes. (A)</p> Signup and view all the answers

¿Qué fase se debe realizar antes de poder iniciar la fase de codificación en el modelo en cascada?

<p>Fase de diseño. (B)</p> Signup and view all the answers

¿Qué ocurre si el cliente pide una mejora durante la fase de mantenimiento?

<p>Se necesitan ajustes en el diseño, la codificación y las pruebas. (B)</p> Signup and view all the answers

¿Cuál de las siguientes es una variante del modelo en cascada?

<p>Modelo en cascada con realimentación. (B)</p> Signup and view all the answers

¿Qué se entiende por realimentación en el modelo en cascada?

<p>La posibilidad de volver a fases anteriores para hacer correcciones. (A)</p> Signup and view all the answers

¿Qué se debe realizar después de cada etapa en el modelo en cascada?

<p>Una revisión para validar si se puede proceder. (A)</p> Signup and view all the answers

¿Qué nombre se le da al ciclo de vida que divide los procesos en fases consecutivas?

<p>Ciclo de vida lineal. (C)</p> Signup and view all the answers

¿Cuál es la característica principal de los lenguajes de bajo nivel?

<p>Se utilizan ceros y unos y son específicos del procesador. (D)</p> Signup and view all the answers

¿Qué tipo de lenguajes se encuentran entre los de bajo y alto nivel?

<p>Lenguajes de nivel medio. (B)</p> Signup and view all the answers

Los lenguajes de alto nivel se caracterizan por:

<p>Ignorar el funcionamiento de la máquina y ser más cercanos al pensamiento humano. (B)</p> Signup and view all the answers

¿Qué papel cumplen los compiladores e intérpretes en la ejecución de los lenguajes de alto nivel?

<p>Traducen las instrucciones a código que pueda ser utilizado por la máquina. (A)</p> Signup and view all the answers

Un ejemplo de un lenguaje de programación de alto nivel es:

<p>Lenguaje Pascal. (B)</p> Signup and view all the answers

¿Qué característica define a los lenguajes estructurados?

<p>Organizan el código en bloques que facilitan su mantenimiento. (C)</p> Signup and view all the answers

Los lenguajes de programación que permiten el acceso directo al hardware son:

<p>Lenguajes de nivel medio. (A)</p> Signup and view all the answers

Los lenguajes de programación que requieren la utilización de un intérprete o compilador son:

<p>Lenguajes de alto nivel. (A)</p> Signup and view all the answers

¿Cuál es una de las ventajas de utilizar máquinas virtuales?

<p>Permiten ejecutar múltiples sistemas operativos simultáneamente (D)</p> Signup and view all the answers

¿Cuál de las siguientes es una desventaja de las máquinas virtuales?

<p>Complejidad añadida al sistema en tiempo de ejecución (D)</p> Signup and view all the answers

¿Qué caracteriza a una máquina virtual de proceso?

<p>Se inicia al ejecutar el proceso deseado y se detiene al finalizar (D)</p> Signup and view all the answers

¿Cuál es la principal función de la máquina virtual de Java?

<p>Ocultar detalles de la plataforma subyacente para la ejecución de programas (A)</p> Signup and view all the answers

¿Qué implica el uso de lenguajes de programación compilados en diferentes plataformas?

<p>Se debe recompilar el código cuando se cambia de plataforma (C)</p> Signup and view all the answers

¿Qué tipo de máquinas virtuales permiten ejecutar diferentes sistemas operativos dentro de una máquina física?

<p>Máquinas virtuales de sistema (A)</p> Signup and view all the answers

¿Cuál de las siguientes características se asocia comúnmente con la ralentización del sistema al utilizar máquinas virtuales?

<p>La ejecución de programas en entornos virtualizados (B)</p> Signup and view all the answers

¿Qué implica la flexibilidad que ofrecen las máquinas virtuales?

<p>Facilitar la prueba de diferentes sistemas operativos sin riesgos (C)</p> Signup and view all the answers

¿Cuál es la función principal de la Java Virtual Machine (JVM)?

<p>Interpretar el código intermedio denominado bycode. (B)</p> Signup and view all the answers

¿Qué se necesita para ejecutar un programa en Java en cualquier máquina?

<p>Contar con la máquina virtual de Java y el sistema operativo correspondiente. (D)</p> Signup and view all the answers

¿Cuál es una de las desventajas de utilizar Java y su máquina virtual?

<p>Requiere una mayor cantidad de recursos de hardware. (C)</p> Signup and view all the answers

¿Cómo se transforma el programa fuente escrito en Java antes de su ejecución?

<p>Se compila a un código intermedio llamado bycode. (C)</p> Signup and view all the answers

¿Por qué es considerado un éxito el lenguaje Java en términos de desarrollo de software?

<p>Permite escribir y compilar una vez y ejecutar en cualquier plataforma. (B)</p> Signup and view all the answers

¿Qué ventaja ofrecen las máquinas virtuales en términos de sistemas operativos?

<p>Permiten tener varios sistemas operativos sin crear particiones. (C)</p> Signup and view all the answers

¿Cuál es la diferencia entre las aplicaciones Java y la máquina virtual de Java?

<p>Las aplicaciones son independientes de la plataforma, pero la máquina virtual no lo es. (C)</p> Signup and view all the answers

¿Qué permite hacer una versión beta de un programa en un sistema virtual?

<p>Probarlo sin afectar al sistema operativo principal. (B)</p> Signup and view all the answers

Flashcards

Modelo en Cascada

Un modelo de ciclo de vida de software que divide el proceso en fases consecutivas. Cada fase debe completarse completamente antes de pasar a la siguiente.

Ciclo de Vida Lineal

Otra forma de describir el modelo en cascada. Las etapas se siguen en forma lineal, consecutiva.

Fases Consecutivas

Etapas del desarrollo de software ordenadas que no se pueden iniciar hasta que no finaliza la anterior. Por ejemplo, el requisito es anterior al diseño o análisis.

Realimentación (Modelo en Cascada)

La posibilidad de regresar a etapas anteriores del desarrollo del software. Si surge un problema o hay que corregir algo en la etapa actual. Ejemplo: requisitos no claros.

Signup and view all the flashcards

Modelo Evolutivo

Un enfoque de desarrollo de software que se caracteriza por un proceso de desarrollo iterativo y en etapas. El sistema se va modificando y agregando nuevas funcionalidades.

Signup and view all the flashcards

Iterativo

Desarrollo que utiliza ciclos repetitivos para mejoras e incrementos. Ejemplo: diseño, desarrollo, pruebas, y nuevo diseño. Implica repetir la etapa anterior o conjunto de etapas, corrigiendo errores o ampliando funcionalidades.

Signup and view all the flashcards

Modelo Incremental

Un modelo de ciclo de vida del software donde el producto se desarrolla en incrementos o versiones. En cada incremento se agregan funcionalidades.

Signup and view all the flashcards

Metodologías Ágiles

Enfoques de desarrollo de software que se centran en la flexibilidad, colaboración y entrega rápida. Ejemplo: Scrum, programación extrema, Kanban.

Signup and view all the flashcards

Ciclo de vida del software iterativo en espiral

Un modelo de desarrollo de software donde el proyecto se divide en iteraciones. Cada iteración incluye planificación, evaluación de riesgos y desarrollo. Evalúa y mejora los riesgos en cada ciclo.

Signup and view all the flashcards

Ventajas del método iterativo en espiral

Menos riesgos al empezar el proyecto, adaptabilidad ante cambios, útil para proyectos grandes con muchos riesgos y con constante cambio.

Signup and view all the flashcards

Principios de las metodologías ágiles

Prioriza la satisfacción del cliente, cambios frecuentes, entrega continua, colaboración entre equipos y comunicación efectiva, software funcional como medida de progreso.

Signup and view all the flashcards

Scrum

Una metodología ágil que se caracteriza por la planificación iterativa, enfoque en los sprints, y comunicación frecuente.

Signup and view all the flashcards

Kanban

Metodología ágil que visualiza el flujo de trabajo mediante un tablero, permitiendo priorizar tareas y gestionar la capacidad.

Signup and view all the flashcards

Programación Extrema (XP)

Metodología ágil que enfatiza la simplicidad, feedback constante, y comunicación cara a cara en el desarrollo de software.

Signup and view all the flashcards

Entrega al cliente

Etapa del proceso en la que se entrega el producto al cliente, tras la evaluación y la aprobación de la planificación y la mecanización.

Signup and view all the flashcards

Procesos ágiles

Enfoques de desarrollo de software que priorizan la flexibilidad, colaboración y entrega rápida. Se adaptan a los cambios y buscan la mejora continua.

Signup and view all the flashcards

Atención a la excelencia técnica

En los procesos ágiles, se busca la calidad en el código y el diseño del software. Un buen diseño mejora la agilidad y la facilidad de cambio.

Signup and view all the flashcards

Simplicidad esencial

Los procesos ágiles buscan soluciones simples y eficientes. Evitan la complejidad innecesaria.

Signup and view all the flashcards

Equipos autoorganizados

Los equipos ágiles se organizan y toman decisiones de forma autónoma. La responsabilidad se comparte entre los miembros del equipo.

Signup and view all the flashcards

Reflexión y ajuste

Los equipos ágiles se toman tiempo para reflexionar sobre su trabajo y cómo mejorar sus procesos. Se adaptan de forma regular a partir de las lecciones aprendidas.

Signup and view all the flashcards

Lenguaje de programación

Un conjunto de reglas y símbolos que permiten a las personas comunicarse con las computadoras. Se utiliza para escribir instrucciones que la computadora puede ejecutar.

Signup and view all the flashcards

Léxico de un lenguaje de programación

El conjunto de símbolos y caracteres permitidos en el idioma. Define el vocabulario del lenguaje.

Signup and view all the flashcards

Sintaxis de un lenguaje de programación

Las reglas gramaticales que definen cómo se deben combinar los símbolos y caracteres para formar instrucciones válidas.

Signup and view all the flashcards

Lenguaje de bajo nivel

Un lenguaje de programación que se acerca mucho al lenguaje máquina, utilizando ceros y unos. Este lenguaje es específico para la arquitectura del hardware, y requiere que el programador comprenda las instrucciones del procesador.

Signup and view all the flashcards

Lenguaje de nivel medio

Un lenguaje que se posiciona entre los lenguajes de bajo nivel y alto nivel, ofreciendo un equilibrio entre la abstracción y el acceso al hardware. El programador puede trabajar con direcciones de memoria y registros del sistema.

Signup and view all the flashcards

Lenguaje de alto nivel

Un lenguaje que se acerca más al lenguaje humano, usando palabras y estructuras que son fáciles de entender. Se necesita un compilador o intérprete para traducirlo a lenguaje máquina.

Signup and view all the flashcards

Compilador

Un programa que traduce un código fuente escrito en un lenguaje de alto nivel a lenguaje máquina, que la computadora puede entender.

Signup and view all the flashcards

Intérprete

Un programa que lee y ejecuta el código fuente línea por línea, sin traducirlo completamente a lenguaje máquina.

Signup and view all the flashcards

Lenguaje Compilado

Un lenguaje de programación que necesita un compilador para convertir el código fuente en un programa ejecutable.

Signup and view all the flashcards

Lenguaje Interpretado

Un lenguaje de programación que se ejecuta línea por línea, sin necesidad de una compilación previa.

Signup and view all the flashcards

Lenguaje Mixto

Un lenguaje de programación que combina características de lenguajes compilados e interpretados.

Signup and view all the flashcards

¿Qué es una máquina virtual?

Un software que simula un ordenador completo, permitiendo ejecutar sistemas operativos y aplicaciones en un entorno separado del sistema operativo principal.

Signup and view all the flashcards

¿Qué ventajas ofrece una máquina virtual?

Flexibilidad para probar diferentes sistemas operativos sin afectar el sistema principal, capacidad de ejecutar aplicaciones que requieren un entorno específico, y aislamiento de posibles problemas o malware.

Signup and view all the flashcards

Desventajas de las máquinas virtuales

Pueden reducir la velocidad del sistema debido al uso de recursos adicionales, requieren más espacio de almacenamiento y pueden ser más complejas de configurar y usar.

Signup and view all the flashcards

Máquinas virtuales de sistema

Permiten ejecutar múltiples máquinas virtuales con distintos sistemas operativos en un mismo hardware.

Signup and view all the flashcards

Máquinas virtuales de proceso

Se ejecutan como procesos dentro de un sistema operativo y solo funcionan para una aplicación específica.

Signup and view all the flashcards

¿Qué es una máquina virtual de Java?

Un ejemplo de máquina virtual de proceso que permite ejecutar código Java independientemente del sistema operativo o la plataforma.

Signup and view all the flashcards

Compilación y plataformas

El código compilado para una plataforma (Windows, Mac) no funciona en otra, lo que implica re-compilar el programa para cada plataforma.

Signup and view all the flashcards

¿Para qué sirve la máquina virtual de Java?

Permite ejecutar programas Java sin importar la plataforma, ya que se compila en una versión intermediaria que luego la máquina virtual de Java traduce para cada sistema.

Signup and view all the flashcards

¿Qué hace especial a Java?

Java permite que los programas se ejecuten en diferentes sistemas operativos sin necesidad de ser modificados.

Signup and view all the flashcards

Máquina Virtual de Java (JVM)

Una pieza de software que permite ejecutar programas Java en cualquier sistema operativo.

Signup and view all the flashcards

Bycode

Un código intermedio que resulta de compilar un programa Java. Es interpretado por la JVM.

Signup and view all the flashcards

Independencia de la plataforma

La capacidad de ejecutar un programa Java en diferentes plataformas sin modificaciones.

Signup and view all the flashcards

Desventaja de Java

Se necesita instalar Java y la JVM en cada ordenador donde se quiere ejecutar un programa Java.

Signup and view all the flashcards

Máquinas Virtuales

Software que permite ejecutar un sistema operativo dentro de otro.

Signup and view all the flashcards

Pruebas con máquinas virtuales

Las máquinas virtuales permiten probar programas sin afectar el sistema operativo principal.

Signup and view all the flashcards

Study Notes

Entornos de Desarrollo

  • Tema: Desarrollo de Aplicaciones Multiplataforma (DAM1)
  • Curso: 2024-2025
  • Profesor/a: María Miranda Herrero
  • Centro: CIFP Santa Catalina, Aranda de Duero

Unidad 1: Desarrollo del Software

  • La unidad cubre todos los conceptos básicos del desarrollo de software.
  • Destaca la relación entre hardware y software.
  • Explica los conceptos de software, ciclo de vida del software, lenguajes de programación, código fuente, código objeto y código ejecutable.
  • Incluye información sobre máquinas virtuales.

Unidad 1: Introducción

  • Un sistema informático es una herramienta que permite, almacenar y procesar información.
  • Los componentes fundamentales de un sistema informático son el Hardware, el Software y el Personal informático.
  • El Hardware está formado por componentes físicos como los componentes electrónicos.
  • El Software está formado por programas o aplicaciones que permiten el funcionamiento del ordenador.
  • El Personal informático, es el personal técnico que crea y mantiene el sistema informático y los usuarios finales que lo utilizan.
  • Un programa informático es un conjunto de instrucciones que tiene como objetivo realizar una o varias tareas en el ordenador.
  • El software es una colección de programas de ordenador y los datos relacionados con ellos.
  • El software permite que un ordenador pueda realizar diferentes tareas.
  • El ordenador capta información de entrada (datos), procesa ésta y genera información de salida.

Unidad 2: Relación entre Hardware y Software

  • El hardware son los componentes físicos del ordenador.
  • Existe hardware interno y externo (periféricos).
  • El software son las instrucciones que necesita el ordenador para funcionar, y no existen físicamente.
  • Hay dos tipos de software: sistemas operativos y aplicaciones.
  • Los sistemas operativos gestionan los recursos del ordenador de forma eficiente y permiten la comunicación con los usuarios.
  • Las aplicaciones son programas informáticos que tratan de cubrir las necesidades concretas de los usuarios.
  • El hardware y el software se relacionan para que el ordenador pueda funcionar.
  • El software indica en qué secuencia y bajo qué lógica hay que realizar los cálculos y las manipulaciones de datos.

Unidad 3: El Software

  • El software son los programas y los datos con los que trabajan.
  • Se puede clasificar según el tipo de tarea que realiza (sistema, aplicación o programación/desarrollo) y el método de distribución (shareware, freeware, adware, SaaS).
  • Existe software de sistema (controladores para dispositivos, herramientas de diagnóstico, sistemas operativos)
  • Existe software de aplicación (procesadores de texto, bases de datos, hojas de cálculo, etc.)
  • Existe software de programación/desarrollo (IDE, lenguajes de programación).
  • Los diferentes tipos de licencias de software (libre, propietario, dominio publico) definen los términos del contrato entre el desarrollador y el usuario.

Unidad 4: El Ciclo de Vida del Software

  • La ISO ha definido el ciclo de vida del software.
  • El ciclo de vida del software comprende las etapas: análisis, diseño, codificación, pruebas, explotación y mantenimiento.
  • La documentación es importante a lo largo de todo el ciclo de vida.
  • La documentación interna son los mensajes que se añaden al código fuente.
  • La documentación externa describe el problema, datos del autor, algoritmo, diccionario de datos, código fuente (programa).
  • El manual de usuario describe paso a paso el funcionamiento del programa.
  • Existen diferentes modelos para el ciclo de vida (en cascada, iterativo, en espiral, ágil).
  • El modelo en cascada es lineal y no permite iteraciones durante el desarrollo.
  • Modelo Iterativo Incremental: no es necesario definir todos los requisitos desde el principio.
  • Modelo Iterativo en Espiral: un modelo iterativo que incluye análisis de riesgos.

Unidad 5: Lenguajes de Programación

  • Un lenguaje de programación es el idioma que sirve para la comunicación entre los seres humanos y el ordenador.
  • Los lenguajes de programación constan de un léxico, sintaxis y semántica.
  • Se pueden clasificar según: su nivel de abstracción (bajo nivel, medio nivel, alto nivel), la manera de ejecutarse (compilado, interpretado, mixto) y el paradigma de programación (estructurada, orientada a objetos).

Unidad 6: Código Fuente, Código Objeto y Código Ejecutable

  • El código fuente es un conjunto de instrucciones escritas por los programadores en un lenguaje de programación.
  • El código objeto se genera después de la compilación del código fuente, lo que supone una traducción a código máquina.
  • El código ejecutable es el resultado de unir el código objeto y las librerías necesarias.
  • Este se puede ejecutar en cualquier ordenador.

Unidad 7: Máquinas Virtuales

  • Una máquina virtual es una aplicación de software que simula un ordenador.
  • Los tipos de máquinas virtuales son: máquina virtual de sistema y de proceso.
  • En el caso de la máquina virtual de Java, el código no se ejecuta directamente en el ordenador, sino en una máquina virtual.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

UT1 Desarrollo del Software PDF

Description

Este cuestionario explora los conceptos fundamentales del desarrollo de software en el contexto del curso de Aplicaciones Multiplataforma. Se abordan la relación entre hardware y software, el ciclo de vida del software, y los distintos tipos de código. Además, se introducen las máquinas virtuales y su función en el desarrollo.

More Like This

Use Quizgecko on...
Browser
Browser