Desarrollo de Software - Introducción
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 de las siguientes afirmaciones describe mejor el hardware?

  • Una interfaz que une el usuario con el sistema operativo.
  • Instrucciones que permiten al ordenador funcionar.
  • Programas que resuelven necesidades concretas del usuario.
  • Componentes físicos que se pueden ver y tocar. (correct)
  • ¿Cuál es la función principal del software de sistema?

  • Permitir que el usuario realice tareas específicas.
  • Proporcionar una plataforma para el desarrollo de aplicaciones.
  • Facilitar la comunicación entre el hardware y el usuario.
  • Gestionar eficientemente los recursos del ordenador. (correct)
  • ¿Qué tipo de software se utiliza para tareas específicas de los usuarios?

  • Software de sistema.
  • Software de procesamiento.
  • Software de aplicación. (correct)
  • Software de desarrollo.
  • ¿Qué interacción se establece entre hardware y software?

    <p>El software permite al hardware operar de manera eficiente. (A)</p> Signup and view all the answers

    ¿Cuál de estas opciones NO es un ejemplo de software de sistema?

    <p>Hojas de cálculo. (A)</p> Signup and view all the answers

    ¿Cuál de las siguientes es una característica del software?

    <p>Su funcionalidad depende del hardware. (C)</p> Signup and view all the answers

    ¿Qué tipo de software se clasifica por el método de distribución?

    <p>Software libre y propietario. (B)</p> Signup and view all the answers

    ¿Cuál es la relación entre hardware y software en un ordenador?

    <p>El software permite que el hardware ejecute las instrucciones necesarias. (A)</p> Signup and view all the answers

    ¿Cuál es una ventaja clave del modelo evolutivo iterativo en espiral?

    <p>Disminuye el riesgo en la elaboración del proyecto (A)</p> Signup and view all the answers

    ¿En qué tipo de proyectos es recomendable utilizar el modelo evolutivo iterativo en espiral?

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

    ¿Qué elemento no se considera un principio clave de las metodologías ágiles?

    <p>La planificación rígida y estricta (A)</p> Signup and view all the answers

    ¿Por qué es importante la autonomía de los equipos en metodologías ágiles?

    <p>Aumenta la capacidad de adaptación a las necesidades del cliente (D)</p> Signup and view all the answers

    ¿Cuál de las siguientes metodologías ágiles se enfoca en la programación extrema?

    <p>Extreme Programming (XP) (D)</p> Signup and view all the answers

    ¿Qué resultado se espera de la entrega continua de software en metodologías ágiles?

    <p>Satisfacción del cliente a través de interacciones frecuentes (B)</p> Signup and view all the answers

    ¿Qué característica de las metodologías ágiles permite mayor flexibilidad en el desarrollo de software?

    <p>Sistema de planificación no rígido (C)</p> Signup and view all the answers

    ¿Cuál de las siguientes afirmaciones es un principio fundamental de la metodología ágil?

    <p>Las personas motivadas son el centro del desarrollo de proyectos (B)</p> Signup and view all the answers

    ¿Cuál es una característica del software libre?

    <p>Se puede utilizar, modificar y distribuir libremente. (C)</p> Signup and view all the answers

    ¿Qué significa que un software sea de dominio público?

    <p>El software carece de licencia y puede ser utilizado libremente por cualquier persona. (C)</p> Signup and view all the answers

    ¿Qué restricción suele tener el software propietario?

    <p>Impide el acceso al código fuente. (D)</p> Signup and view all the answers

    ¿Cuál es el propósito principal de la Licencia Pública General (GPL)?

    <p>Obligar a hacer públicas las versiones modificadas del software. (D)</p> Signup and view all the answers

    ¿Qué proceso abarca el ciclo de vida del software según la ISO?

    <p>Desde la definición de requisitos hasta la eliminación del software. (D)</p> Signup and view all the answers

    ¿Cuál de las siguientes afirmaciones sobre las licencias Creative Commons es correcta?

    <p>Son estándares que regulan el derecho de uso de obras protegidas. (A)</p> Signup and view all the answers

    ¿Qué significa 'libertad de mejorar el programa' en el contexto del software libre?

    <p>La capacidad de modificar el software y agregar nuevas características. (C)</p> Signup and view all the answers

    ¿Qué característica distintiva tiene el software libre en comparación con el software propietario?

    <p>El software libre asegura la libertad de uso, modificación y distribución. (B)</p> Signup and view all the answers

    ¿Cuál de las siguientes afirmaciones sobre los procesos ágiles es correcta?

    <p>El desarrollo sostenible es promovido por los procesos ágiles. (C)</p> Signup and view all the answers

    Los lenguajes de programación son utilizados para:

    <p>Comunicar instrucciones al ordenador en un formato comprensible. (A)</p> Signup and view all the answers

    ¿Qué elemento es considerado parte de la estructura de un lenguaje de programación?

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

    Dentro de los lenguajes de programación, la semántica se refiere a:

    <p>El significado de las construcciones del lenguaje. (A)</p> Signup and view all the answers

    ¿Cuál de las siguientes opciones describe mejor el ciclo de vida del software según metodologías ágiles?

    <p>Iteraciones frecuentes con reflexiones sobre la eficacia. (B)</p> Signup and view all the answers

    ¿Qué tipo de lenguajes de programación se consideraría de bajo nivel?

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

    En el contexto de las metodologías ágiles, ¿cuál es la importancia de un equipo autoorganizado?

    <p>Permite la creación de diseños precisos y efectivos. (B)</p> Signup and view all the answers

    ¿Qué proceso sigue a la escritura del código fuente en la programación?

    <p>Depuración y prueba del código. (B)</p> Signup and view all the answers

    ¿Cuál es una ventaja principal de utilizar máquinas virtuales?

    <p>Ofrecen flexibilidad sin desconfigurar el sistema operativo primario. (D)</p> Signup and view all the answers

    ¿Cuál de las siguientes afirmaciones sobre las máquinas virtuales es incorrecta?

    <p>Son más eficientes que una instalación nativa del sistema operativo. (D)</p> Signup and view all the answers

    ¿Qué característica define a una máquina virtual de proceso?

    <p>Inicia automáticamente con el proceso deseado y se detiene al finalizar. (C)</p> Signup and view all the answers

    ¿Cuál es el objetivo principal de la máquina virtual de Java?

    <p>Proporcionar un entorno de ejecución independiente de la plataforma hardware. (C)</p> Signup and view all the answers

    ¿Qué limitación se presenta al trabajar con lenguajes de programación compilados?

    <p>Es necesario compilar nuevamente al cambiar de plataforma. (B)</p> Signup and view all the answers

    ¿Qué tipo de máquina virtual permite ejecutar diferentes máquinas con sistemas operativos en una sola máquina física?

    <p>Máquina virtual de sistema. (C)</p> Signup and view all the answers

    ¿Cuál es un inconveniente significativo de las máquinas virtuales?

    <p>Pueden causar ralentización del sistema anfitrión. (C)</p> Signup and view all the answers

    Al cambiar de una plataforma a otra, ¿qué debe hacerse con el código objeto obtenido de lenguajes compilados?

    <p>Recompilarlo para la nueva plataforma es imprescindible. (C)</p> Signup and view all the answers

    ¿Cuál es la principal ventaja de la máquina virtual de Java (JVM)?

    <p>Asegurar que el programa sea independiente del hardware y sistema operativo (C)</p> Signup and view all the answers

    ¿Cuál es el primer paso para ejecutar un programa en Java?

    <p>Escribir el programa fuente en Java (A)</p> Signup and view all the answers

    ¿Qué se obtiene después de compilar un programa en Java?

    <p>Código en un formato intermedio llamado bycode (B)</p> Signup and view all the answers

    ¿Qué desventaja se menciona acerca de las aplicaciones Java?

    <p>Todo ordenador debe tener instalada la máquina virtual de Java (B)</p> Signup and view all the answers

    ¿Cuál es el propósito de utilizar múltiples máquinas virtuales?

    <p>Permitir pruebas de software sin afectar el sistema operativo principal (C)</p> Signup and view all the answers

    ¿En qué se diferencia la máquina virtual de Java de los productos desarrollados en Java?

    <p>La máquina virtual debe ser instalada en cada sistema operativo (B)</p> Signup and view all the answers

    ¿Qué función cumple la máquina virtual de Java al ejecutar un programa?

    <p>Interpretar el bytecode y simular un entorno de ejecución (D)</p> Signup and view all the answers

    ¿Cuál es un resultado del uso de Java en el desarrollo de aplicaciones?

    <p>Permite la creación de aplicaciones que pueden ejecutarse en diversas plataformas (A)</p> Signup and view all the answers

    Flashcards

    Hardware

    Componentes físicos de un ordenador que se pueden ver y tocar.

    Software

    Instrucciones que un ordenador necesita para funcionar; no son tangibles.

    Software de sistema

    Software que permite que el hardware funcione y se comunica con el usuario.

    Software de aplicación

    Software que resuelve tareas específicas para el usuario.

    Signup and view all the flashcards

    Sistemas operativos

    Parte del software de sistema que gestiona los recursos del ordenador.

    Signup and view all the flashcards

    Relación hardware-software

    Los ordenadores necesitan tanto hardware como software para funcionar correctamente.

    Signup and view all the flashcards

    Tipos de Software

    Software se clasifica por la tarea que realiza(sistema o aplicación).

    Signup and view all the flashcards

    Componentes internos

    Componentes del ordenador que se encuentran dentro de la CPU.

    Signup and view all the flashcards

    Software Libre

    Software con licencias que otorgan libertades al usuario, como usar, estudiar, modificar y distribuir.

    Signup and view all the flashcards

    Software Proprietario

    Software distribuido en formato binario, sin acceso al código fuente, suele restringir las libertades del usuario.

    Signup and view all the flashcards

    Software Dominio Público

    Software sin licencia o autor conocido, utilizable por cualquiera.

    Signup and view all the flashcards

    Licencia GPL

    Licencia habitual en software libre que permite usar y modificar programas, pero con la obligación de hacer públicas las modificaciones.

    Signup and view all the flashcards

    Licencias Creative Commons

    Modelos de contratos que otorgan derechos de uso de publicaciones protegidas por derecho de autor.

    Signup and view all the flashcards

    Ciclo de Vida del Software

    Marco que incluye procesos y actividades para desarrollar, usar y mantener software desde sus requisitos hasta su finalización.

    Signup and view all the flashcards

    ISO

    Organización Internacional de Estandarización que normaliza el ciclo de vida del software.

    Signup and view all the flashcards

    Requisitos de Software

    Especificaciones iniciales para el desarrollo de software.

    Signup and view all the flashcards

    Modelo Iterativo en Espiral

    Un modelo de ciclo de vida del software que se adapta a cambios y riesgos, comenzando con una pequeña parte del proyecto y expandiéndose iterativamente.

    Signup and view all the flashcards

    Ventajas del Modelo Iterativo en Espiral

    Los riesgos del proyecto se disminuyen al trabajar en iteraciones, la flexibilidad del modelo permite que el proyecto sea adaptable a cambios y el modelo es bueno para proyectos grandes.

    Signup and view all the flashcards

    Metodologías Ágiles

    Enfocadas en adaptación, trabajo en equipo y desarrollo evolutivo. Permiten respuestas rápidas a los cambios en el desarrollo de software.

    Signup and view all the flashcards

    Principios de Metodologías Ágiles

    Satisfacción del cliente a través de entregas continuas de software; cambios bien aceptados; entregas funcionales en plazos cortos; colaboración entre equipos; motivación del equipo y comunicación eficiente.

    Signup and view all the flashcards

    Scrum

    Una metodología ágil centrada en iteraciones de trabajo y en la colaboración.

    Signup and view all the flashcards

    Kanban

    Una metodología ágil que gestiona el trabajo visualmente, adaptándose a las necesidades a medida que se presenten.

    Signup and view all the flashcards

    Programacion Extrema (XP)

    Metodología ágil que focaliza en el trabajo en conjunto y la entrega continua de software funcional, en colaboración cercana.

    Signup and view all the flashcards

    Cuando usar el Modelo Iterativo en Espiral

    Proyectos muy grandes, con cambios constantes y donde el factor riesgo es significativo.

    Signup and view all the flashcards

    ¿Qué son las máquinas virtuales?

    Las máquinas virtuales permiten ejecutar un sistema operativo dentro de otro sistema operativo sin necesidad de instalarlo directamente en el ordenador.

    Signup and view all the flashcards

    Ventajas de las máquinas virtuales

    Las máquinas virtuales ofrecen flexibilidad, aislamiento y la posibilidad de probar diferentes sistemas operativos sin riesgo.

    Signup and view all the flashcards

    Inconvenientes de las máquinas virtuales

    Las máquinas virtuales pueden ralentizar el sistema y agregar complejidad al proceso de ejecución.

    Signup and view all the flashcards

    Máquinas virtuales de sistema

    Permiten ejecutar diferentes sistemas operativos en una sola máquina física.

    Signup and view all the flashcards

    Ejemplos de máquinas virtuales de sistema

    VirtualBox y VMware son ejemplos populares de máquinas virtuales de sistema.

    Signup and view all the flashcards

    Máquinas virtuales de proceso

    Se ejecutan como un proceso normal dentro de un sistema operativo y solo soportan un único proceso. Ejemplo: máquina virtual de Java.

    Signup and view all the flashcards

    Objetivo de las máquinas virtuales de proceso

    Proporcionar un entorno de ejecución independiente de la plataforma hardware y del sistema operativo.

    Signup and view all the flashcards

    Código objeto

    El código objeto se genera al compilar código fuente y es específico de una plataforma.

    Signup and view all the flashcards

    Procesos ágiles

    Métodos de desarrollo de software que priorizan la flexibilidad, la colaboración y la entrega rápida de valor. 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 que el código sea limpio, eficiente y fácil de mantener. La calidad técnica es crucial para el éxito.

    Signup and view all the flashcards

    Simplicidad en el diseño

    Los procesos ágiles priorizan soluciones sencillas y fáciles de entender. La complejidad se evita para mejorar la eficiencia.

    Signup and view all the flashcards

    Equipos autoorganizados

    En los procesos ágiles, los equipos son responsables de tomar decisiones y gestionar el trabajo de forma autónoma. Se fomenta la responsabilidad individual y colectiva.

    Signup and view all the flashcards

    Reflexión periódica

    Los equipos ágiles se toman tiempo para analizar sus procesos y buscar mejoras continuamente. La retroalimentación constante es fundamental.

    Signup and view all the flashcards

    ¿Qué es la JVM?

    La JVM (Java Virtual Machine) es un programa que permite ejecutar código Java en diferentes sistemas operativos. Es como un intermediario que traduce el código Java para que se ejecute correctamente en cada sistema.

    Signup and view all the flashcards

    Código Bytecode

    El 'bytecode' es el código intermedio que se genera al compilar un programa Java. No es código legible por humanos, sino una forma intermedia que la JVM entiende.

    Signup and view all the flashcards

    Ventajas de la JVM

    La JVM permite que el código Java sea independiente de la plataforma, es decir, se puede ejecutar en cualquier sistema operativo sin necesidad de recompilar.

    Signup and view all the flashcards

    Desventajas de la JVM

    Cada sistema operativo necesita su propia JVM, por lo que el tamaño de una aplicación Java puede ser mayor.

    Signup and view all the flashcards

    Máquinas virtuales y pruebas

    Las máquinas virtuales permiten probar nuevas versiones de software sin afectar al sistema operativo principal.

    Signup and view all the flashcards

    Ejemplo de máquina virtual

    VirtualBox o VMware son ejemplos de software que crea máquinas virtuales, permitiendo ejecutar diferentes sistemas operativos en un solo computador.

    Signup and view all the flashcards

    Independencia de la plataforma

    Un programa Java compilado puede ejecutarse en cualquier sistema operativo sin necesidad de ser recompilado. Esto lo logra la JVM, que interpreta el 'bytecode' para cada plataforma.

    Signup and view all the flashcards

    ¿Por qué Java es popular?

    La capacidad de ejecutar código Java en diferentes plataformas sin modificaciones es una de las razones principales del éxito de este lenguaje de programación.

    Signup and view all the flashcards

    Study Notes

    Introducción a Entornos de Desarrollo

    • El curso se titula Desarrollo de Aplicaciones Multiplataforma (DAM1)
    • El curso se imparte durante el curso 2024-2025
    • El profesor del curso es María Miranda Herrero
    • El centro donde se imparte el curso es CIFP Santa Catalina, Aranda de Duero

    Unidad Temática 1: Desarrollo del Software

    • La unidad se centra en el desarrollo del software.
    • El contenido abarca temas como hardware y software.
    • Se exploran conceptos sobre el ciclo de vida del software, lenguajes de programación, código fuente, código objeto y código ejecutable, y máquinas virtuales.

    Unidad Temática 1: Introducción

    • Un sistema informático almacena y procesa información
    • Está formado por tres componentes fundamentales.
    • Hardware: el conjunto de componentes físicos (generalmente electricos y electrónicos)
    • Software: el conjunto de instrucciones, programas o aplicaciones que hacen funcionar al ordenador (no físico)
    • Personal Informático: el personal técnico que crea y mantiene el sistema. El personal que utiliza el sistema de forma final.

    Unidad Temática 1: ¿Qué es un programa informático?

    • Un programa es un conjunto de instrucciones, que sirve para realizar tareas en un ordenador.
    • Sin programas, el ordenador no puede funcionar.
    • El programa puede ser un código fuente o un programa ejecutable
    • Un conjunto de programas y datos relacionados forma el software.

    Unidad Temática 1: ¿Para qué sirve un programa informático?

    • La función básica de un programa informático en un ordenador es recoger datos de entrada, procesarlos y producir datos de salida.

    Unidad Temática 2: Relación entre Hardware y Software

    • Hardware: Es todo lo que se puede tocar en el ordenador
      • El hardware dentro de la CPU no es visible a simple vista
      • El hardware externo se conoce como periféricos
    • Software: Son las instrucciones que necesita el ordenador para funcionar (no son físicas).
      • Sistemas operativos: Controlan los recursos del ordenador eficientemente y permiten la comunicación con el usuario.
      • Aplicaciones: Son programas para satisfacer las necesidades del usuario (escritura, dibujo, etc.).

    Unidad Temática 3: El Software

    • El software maneja las instrucciones para el hardware y los datos con los que trabajan los programas.
    • Existen diferentes formas de clasificar el software:
      • Según el tipo de tarea: Sistema, Aplicación o Programación.
      • Según el método de distribución: Shareware, Freeware, Adware o SaaS.
    • Licencias de software: Contractas entre el desarrollador y usuario. En base a esto se categorizan en Libre, Propietario o Dominio Publico.
    • Creative Commons: Modelos de licencias para las publicaciones con derechos de autor (se identifican con iconos CC).

    Unidad Temática 4: Ciclo de vida del software

    • La Organización Internacional de Estandarización (ISO) normaliza el trabajo del desarrollo de software.
    • El ciclo de vida del software es un marco de referencia donde se describe como se desarrolla y mantiene un programa desde los requisitos hasta finalización de su uso
    • El ciclo de vida se divide en etapas: Análisis, Diseño, Codificación, Pruebas, Explotación y Mantenimiento, que deben completarse en orden, aunque puede haber realimentaciones
    • La documentación es importante para cada etapa.
      • Documentación interna (comentarios en el código)
      • Documentación externa (documentos más extensos)
      • Manual de usuario (instrucciones para el uso del producto)
    • Modelos de ciclo de vida: cascada, evolutivo (iterativo, incremental, en espiral), metodologías ágiles (Scrum, XP, Kanban)

    Unidad Temática 5: Lenguajes de programación

    • Lenguajes de programación son el idioma que une a programador y ordenador.
    • Están formados por símbolos, reglas sintácticas y semánticas
    • Según el nivel de abstracción:
      • Bajo nivel: Lenguaje máquina o de primera generación
      • Medio nivel: lenguaje ensamblador o de segunda generación (más parecido al lenguaje humano)
      • Alto nivel: C++, Java, etc (más parecido al lenguaje humano).
    • Según la forma de ejecutarse:
      • Compilados: El programa traduce todo el código a código máquina
      • Interpretados: El programa traduce y ejecuta instrucciones en tiempo real
      • Mixtos: Traducción en código intermedio, seguido de interpretación
    • Según el paradigma de programación:
      • Estructurada: Programación secuencial, con decisiones y procesos repetidos
      • Orientada a objetos: resolución mediante objetos que interactúan entre sí.

    Unidad Temática 6: Código fuente, código objeto y código ejecutable

    • Código fuente: Conjunto de líneas de texto/ instrucciones/pasos que un ordenador necesita para ejecutar un programa.
    • Código objeto: Resultado de traducir el código fuente
    • Código ejecutable: Código objeto unido a librerías para su ejecución por el hardware del ordenador
    • El proceso de obtener el código ejecutable se denomina compilación
      • El compilador traduce el código fuente a código objeto
      • El enlazador conecta el código objeto a las librerías necesarias

    Unidad Temática 7: Máquinas virtuales

    • Las máquinas virtuales son aplicaciones que simulan un ordenador físico
    • Son útiles para ejecutar programas o sistemas operativos en un entorno distinto sin afectar directamente a nuestro sistema principal.
    • Tipos de máquinas virtuales:
      • De sistema: Ejecutar varias máquinas virtuales simultáneamente, con cada una de ellas pudiendo tener un sistema operativo distinto.
      • De proceso: Proporciona un entorno de ejecucion independiente de la plataform, permitiendo ejecutar un único proceso.
    • Máquina virtual Java (JVM): permite la ejecución de programas escritos en lenguaje Java en cualquier sistema operativo.

    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, incluyendo hardware y software, así como el ciclo de vida del software. Abordamos los lenguajes de programación y los diferentes tipos de código involucrados. Ideal para estudiantes del curso de Desarrollo de Aplicaciones Multiplataforma.

    More Like This

    Use Quizgecko on...
    Browser
    Browser