Desarrollo de Software - 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 el propósito principal de la fase de explotación en el ciclo de vida del software?

  • Instalar y poner en marcha el producto en el entorno del cliente (correct)
  • Analizar el rendimiento del software después de su entrega
  • Realizar mejoras funcionales según las exigencias del cliente
  • Documentar los errores del software
  • ¿Qué aspecto es crucial en la fase de mantenimiento del software?

  • Implementar nueva documentación
  • Eliminar todos los errores encontrados
  • Desarrollar nuevas funcionalidades sin interactuar con el cliente
  • Adaptar el sistema a cambios necesarios (correct)
  • ¿Cuál de las siguientes afirmaciones sobre la documentación en el ciclo de vida del software es correcta?

  • La documentación se da solo al final del ciclo de vida.
  • Cada etapa del ciclo de vida debe concluir con documentación que describa sus resultados. (correct)
  • La documentación interna es sólo para uso de los usuarios finales.
  • La documentación externa no incluye el código fuente del programa.
  • ¿Cuál de las siguientes afirmaciones describe mejor al software libre?

    <p>Permite utilizar, estudiar y modificar el programa sin restricciones. (D)</p> Signup and view all the answers

    ¿Cuál de los siguientes elementos NO se incluye en la documentación interna?

    <p>Manual de usuario (A)</p> Signup and view all the answers

    ¿Qué modelo de ciclo de vida del software seguir se basa principalmente en?

    <p>Los requisitos específicos del proyecto (A)</p> Signup and view all the answers

    ¿Qué caracteriza al software propietario?

    <p>Se distribuye en formato binario sin acceso al código fuente. (C)</p> Signup and view all the answers

    ¿Qué es el software de dominio público?

    <p>Software que carece de licencia y puede ser utilizado por cualquiera. (D)</p> Signup and view all the answers

    En la fase de mantenimiento, los cambios pueden deberse a varias razones. ¿Cuál de las siguientes no es una razón válida?

    <p>Sustitución completa del software por un nuevo sistema (D)</p> Signup and view all the answers

    ¿Qué tipo de documentación describe detalladamente el funcionamiento del programa para que el usuario lo maneje adecuadamente?

    <p>Manual de usuario (B)</p> Signup and view all the answers

    ¿Cuál es el objetivo principal de las licencias Creative Commons?

    <p>Otorgar públicamente derechos de uso sobre obras protegidas. (C)</p> Signup and view all the answers

    En el ciclo de vida del software, ¿qué se debe hacer al finalizar cada etapa?

    <p>Generar documentación que describa los resultados (A)</p> Signup and view all the answers

    ¿Qué incluye el ciclo de vida del software según la Organización Internacional de Estandarización (ISO)?

    <p>Los procesos desde la definición de requisitos hasta el final de su uso. (B)</p> Signup and view all the answers

    ¿Qué implica la Licencia Pública General (GPL) para el usuario del software?

    <p>Obligación de hacer públicas las versiones modificadas del programa. (D)</p> Signup and view all the answers

    ¿Cuál de las siguientes descripciones NO es correcta respecto al software libre?

    <p>Es gratuito y siempre puede ser utilizado sin ninguna restricción. (D)</p> Signup and view all the answers

    ¿Qué define específicamente la ISO en relación con el desarrollo de software?

    <p>El ciclo de vida y los procesos involucrados en el desarrollo de software. (C)</p> Signup and view all the answers

    ¿Cuál es una de las características del modelo en cascada?

    <p>Las etapas están diferenciadas y permiten un buen seguimiento. (C)</p> Signup and view all the answers

    ¿Qué limitación del modelo en cascada se menciona en el contenido?

    <p>Dificultad para definir completamente el sistema desde el inicio. (D)</p> Signup and view all the answers

    ¿En qué situación se recomienda utilizar el modelo en cascada?

    <p>Si el proyecto tiene requisitos claros y similares a proyectos anteriores exitosos. (B)</p> Signup and view all the answers

    ¿Qué ventaja se asocia al modelo evolucionario iterativo incremental?

    <p>Permite cambios en los requisitos durante el desarrollo. (B)</p> Signup and view all the answers

    ¿Qué significa el término 'incrementos' en el modelo evolucionario?

    <p>Partes pequeñas y utilizables del software que se entregan por separado. (B)</p> Signup and view all the answers

    ¿Cuál es un inconveniente específico del modelo en cascada con respecto al tiempo de entrega?

    <p>El usuario final no recibe el software hasta que está completamente terminado. (A)</p> Signup and view all the answers

    ¿Por qué las empresas de software prefieren el modelo evolucionario en el mercado actual?

    <p>Para introducir versiones cada vez más completas de forma rápida. (B)</p> Signup and view all the answers

    ¿Cuál es una característica de la planificiación en el modelo evolucionario?

    <p>Se requiere una replanificación después de cada entrega. (C)</p> Signup and view all the answers

    ¿Cuál de las siguientes afirmaciones describe mejor el enfoque de los procesos ágiles en el desarrollo de software?

    <p>Promueve un ritmo constante de trabajo. (C)</p> Signup and view all the answers

    ¿Qué característica es esencial en el desarrollo ágil según la información proporcionada?

    <p>Simplicidad. (D)</p> Signup and view all the answers

    ¿Qué proceso permite a un equipo reflexionar sobre su efectividad y ajustar su comportamiento?

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

    ¿Cuál de los siguientes NO es un componente de un lenguaje de programación?

    <p>Construcción de hardware. (A)</p> Signup and view all the answers

    ¿Qué proceso se describe como el conjunto de normas y procedimientos para crear código fuente?

    <p>Programación. (A)</p> Signup and view all the answers

    Los lenguajes de programación pueden clasificarse por diferentes criterios. ¿Qué criterio NO es comúnmente utilizado?

    <p>Uso exclusivo en redes. (D)</p> Signup and view all the answers

    En el contexto de lenguajes de programación, ¿cuál de las siguientes descripciones se refiere a la gramática del lenguaje?

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

    ¿Cuál es la mejor definición de un lenguaje de programación?

    <p>Un idioma usado para interactuar con el ordenador mediante instrucciones. (D)</p> Signup and view all the answers

    ¿Cuál es la característica principal de un lenguaje de programación compilado?

    <p>Transforma todo el código fuente en código objeto antes de su ejecución. (D)</p> Signup and view all the answers

    En los lenguajes interpretados, ¿qué se traduce y se ejecuta?

    <p>Solo las partes del programa que se requieren en cada ejecución. (C)</p> Signup and view all the answers

    ¿Qué tipo de lenguaje de programación utiliza un sistema mixto de ejecución?

    <p>Lenguajes que combinan compilación y ejecución directa. (D)</p> Signup and view all the answers

    ¿Cuál de las siguientes opciones describe mejor la programación estructurada?

    <p>Utiliza construcciones lógicas como secuencia, decisión e iteración. (C)</p> Signup and view all the answers

    ¿Qué ventaja no se atribuye a la programación modular?

    <p>Garantiza que un programa siempre se ejecute sin errores. (B)</p> Signup and view all the answers

    ¿Cuál de los siguientes lenguajes es un ejemplo de lenguaje interpretado?

    <p>JavaScript (A)</p> Signup and view all the answers

    ¿Qué fase se realiza en un lenguaje de programación mixto antes de la ejecución?

    <p>Todo el código fuente se convierte en un código intermedio. (C)</p> Signup and view all the answers

    En qué parte de la programación estructurada se decide cuál instrucción ejecutar a continuación?

    <p>Durante la decisión. (A)</p> Signup and view all the answers

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

    <p>Permite ejecutar múltiples sistemas operativos sin alterar el sistema anfitrión. (C)</p> Signup and view all the answers

    ¿Cuál de las siguientes opciones representa un inconveniente del uso de máquinas virtuales?

    <p>Ralentización del sistema comparado con la instalación directa. (B)</p> Signup and view all the answers

    ¿Qué clasificación de máquinas virtuales permite ejecutar un sistema operativo completo en una máquina física?

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

    ¿Cuál es el principal objetivo de una máquina virtual de proceso?

    <p>Ocultar los detalles de la plataforma subyacente para ejecutar un programa de manera uniforme. (D)</p> Signup and view all the answers

    ¿Cuál es una desventaja del código objeto en lenguajes de programación compilados?

    <p>Necesita recompilación para ser ejecutado en diferentes plataformas. (C)</p> Signup and view all the answers

    ¿Qué software se menciona como un ejemplo de máquinas virtuales de sistema?

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

    ¿Qué se necesita hacer si se cambia de plataforma al utilizar un lenguaje compilado?

    <p>Compilar nuevamente el programa para la nueva plataforma. (C)</p> Signup and view all the answers

    Cuál de los siguientes aspectos denote una característica de las máquinas virtuales?

    <p>Ofrecen entornos de desarrollo independientes del sistema operativo anfitrión. (A)</p> Signup and view all the answers

    Flashcards

    Software Libre

    Software con libertades para el usuario, como usar, modificar y distribuir, a menudo con licencia GPL.

    Software Proprietario

    Software distribuido en formato binario sin acceso al código fuente, generalmente con restricciones de uso y modificación.

    Software de Dominio Público

    Software sin licencia o desconocido su autor, utilizable por cualquiera.

    Licencias Creative Commons

    Modelos de contratos para otorgar derechos de uso a publicaciones protegidas por derechos de autor.

    Signup and view all the flashcards

    Ciclo de vida del software

    Marco de referencia para el desarrollo, explotación y mantenimiento de software, desde los requisitos hasta el fin de uso.

    Signup and view all the flashcards

    ISO

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

    Signup and view all the flashcards

    GPL (GNU General Public License)

    Tipo de licencia de software que permite usar y modificar programas, con la obligación de hacer públicas las modificaciones.

    Signup and view all the flashcards

    Código Fuente

    Parte del software que muestra las instrucciones para el funcionamiento del programa, no disponible en software propietario.

    Signup and view all the flashcards

    Explotación

    Instalación y puesta en marcha del software en el entorno del cliente.

    Signup and view all the flashcards

    Mantenimiento

    Fase posterior a la entrega del software, que asegura su adaptación a cambios.

    Signup and view all the flashcards

    Documentación interna

    Comentarios en el código fuente para mejor comprensión de los procesos.

    Signup and view all the flashcards

    Documentación externa

    Describe el funcionamiento del programa para el usuario, incluye datos del autor, algoritmo y código fuente.

    Signup and view all the flashcards

    Manual de usuario

    Guía paso a paso para usar el programa y obtener resultados.

    Signup and view all the flashcards

    Modelos de ciclo de vida

    Diferentes formas de llevar a cabo las etapas del ciclo de vida, dependientes de características del proyecto.

    Signup and view all the flashcards

    Importancia de la documentación

    Ayuda a comprender y modificar programas escritos por otros.

    Signup and view all the flashcards

    Lenguajes compilados

    Se traducen al código máquina (compilador) antes de ejecutarse, buscando errores.

    Signup and view all the flashcards

    Lenguajes interpretados

    Traducen y ejecutan instrucciones por partes, en tiempo real (intérprete).

    Signup and view all the flashcards

    Lenguajes mixtos

    Primero se compila a un código intermedio, luego se interpreta.

    Signup and view all the flashcards

    Programación estructurada

    Utiliza las estructuras secuencial, de decisión e iteración (bucles).

    Signup and view all the flashcards

    Secuencia (programación)

    Instrucciones ejecutadas una tras otra en orden.

    Signup and view all the flashcards

    Decisión (programación)

    Evaluación de condiciones para elegir la siguiente instrucción.

    Signup and view all the flashcards

    Iteración (programación)

    Repetición de instrucciones hasta que se cumple una condición.

    Signup and view all the flashcards

    Programación modular

    Dividir un programa grande en partes más pequeñas (módulos).

    Signup and view all the flashcards

    Procesos ágiles

    Métodos de desarrollo de software que promueven la flexibilidad y la adaptabilidad.

    Signup and view all the flashcards

    Metodologías ágiles (ejemplos)

    Enfoques para desarrollar software de manera flexible, incluyendo Scrum, Programación Extrema (XP), y Kanban.

    Signup and view all the flashcards

    Lenguaje de programación

    Conjunto de símbolos y reglas que permite a los programadores dar instrucciones al ordenador.

    Signup and view all the flashcards

    Léxico (lenguaje de programación)

    Conjunto de símbolos permitidos en un lenguaje de programación.

    Signup and view all the flashcards

    Sintaxis (lenguaje de programación)

    Conjunto de reglas para la construcción de instrucciones válidas en un lenguaje de programación.

    Signup and view all the flashcards

    Semántica (lenguaje de programación)

    Significados que se asocian a las construcciones de un lenguaje de programación.

    Signup and view all the flashcards

    Programación

    Proceso de escribir, probar, depurar, compilar y mantener el código fuente de un programa informático.

    Signup and view all the flashcards

    Lenguajes de bajo nivel

    Lenguajes de programación que están cerca del lenguaje de la máquina.

    Signup and view all the flashcards

    Máquinas virtuales

    Sistemas operativos que se ejecutan dentro de otro sistema operativo, sin necesidad de instalarse directamente. Permiten ejecutar diferentes sistemas operativos en una sola máquina física

    Signup and view all the flashcards

    Ventajas de las máquinas virtuales

    Flexibilidad: Permite probar diferentes sistemas operativos sin afectar al sistema principal. Evita la desconfiguración del sistema operativo.

    Signup and view all the flashcards

    Inconvenientes de las máquinas virtuales

    Complejidad adicional en la configuración del sistema. Pueden ralentizar el funcionamiento del sistema host.

    Signup and view all the flashcards

    Máquinas virtuales de sistema

    Tipo de máquina virtual que permite ejecutar varios sistemas operativos en una misma máquina. Ejecuta todo el sistema operativo.

    Signup and view all the flashcards

    Máquinas virtuales de proceso

    Tipo de máquina virtual que ejecuta un único proceso dentro de un sistema operativo. Se activa y desactiva con el proceso.

    Signup and view all the flashcards

    Máquina virtual de aplicación

    Proporciona un entorno de ejecución independiente de la plataforma hardware/SO. Oculta detalles de la plataforma subyacente.

    Signup and view all the flashcards

    Compilación cruzada

    Necesidad de recompilar códigos para plataformas diferentes (Windows a Macintosh, por ejemplo)

    Signup and view all the flashcards

    Máquina virtual de Java

    Un tipo de Máquina virtual de aplicación usada para ejecutar programas Java con independencia del sistema operativo o hardware.

    Signup and view all the flashcards

    Modelo en cascada (Clásico)

    Ciclo de vida del software donde las etapas se siguen secuencialmente (análisis, diseño, implementación, prueba, despliegue, mantenimiento).

    Signup and view all the flashcards

    Ventajas (Modelo en cascada)

    Fácil de comprender, etapas diferenciadas para seguimiento, permite trabajar con poco personal calificado, ayuda a prevenir sobrecostos teóricamente.

    Signup and view all the flashcards

    Inconvenientes (Modelo en cascada)

    Complejo definir completamente el sistema al principio, difícil retroceder si hay errores en etapas tempranas, tiempo largo para entrega al usuario, usuario necesita esperar el sistema completo.

    Signup and view all the flashcards

    Modelo Iterativo Incremental

    Ciclo de vida evolutivo donde el software se desarrolla en partes (incrementos) y se lanza al mercado gradualmente, mejorando según las necesidades del usuario.

    Signup and view all the flashcards

    Cambios de requisitos (Modelo Iterativo)

    El modelo iterativo incrementa asume que los requisitos del usuario cambian, y se integra el feedback del usuario en cada iteración.

    Signup and view all the flashcards

    Lanzamiento gradual (Modelo Iterativo)

    Entrega de versiones mejoradas del software a los usuarios de manera regular, con mayor funcionalidad en cada versión sucesiva.

    Signup and view all the flashcards

    Cuándo usar modelo en cascada

    Proyectos similares a otros exitosos, requerimientos bien definidos y claros, el cliente no necesita versiones intermedias.

    Signup and view all the flashcards

    Cuándo usar modelo iterativo

    Proyectos donde los requerimientos no son definidos inicialmente, software evoluciona según necesidades, y es necesario lanzar versiones graduales.

    Signup and view all the flashcards

    Study Notes

    Entornos de Desarrollo

    • El curso se llama Desarrollo de Aplicaciones Multiplataforma (DAM1)
    • El curso corresponde al periodo 2024-2025
    • El centro educativo es CIFP Santa Catalina, Aranda de Duero
    • El profesor/a es María Miranda Herrero

    Unidad Temática 1: Desarrollo de Software

    • La unidad temática se centra en los fundamentos del desarrollo de software.
    • La introducción presenta conceptos básicos sobre sistemas informáticos.

    Contenido

    • El contenido incluye temas como la relación entre hardware y software, definición del software, ciclo de vida del software, lenguajes de programación, código fuente, código objeto y código ejecutable y máquinas virtuales.

    Introducción

    • Un sistema informático es una herramienta para almacenar y procesar información.
    • Los componentes fundamentales son Hardware, Software y Personal informático.
    • Hardware engloba los componentes físicos (mayoritariamente eléctricos y electrónicos), mientras que el software son programas que permiten el funcionamiento del ordenador.
    • El personal informático se refiere al personal técnico que crea y mantiene el sistema, así como los usuarios finales que lo utilizan.
    • Un programa informático es un conjunto de instrucciones, cuyo objetivo es ejecutar tareas en un ordenador, que requiere la existencia de programas.
    • Un programa puede ser un programa ejecutable o código fuente.
    • Un conjunto de instrucciones u órdenes basadas en un lenguaje de programación es interpretado por el ordenador para resolver un problema o completar una función específica.
    • La colección de programas y datos relacionados en un ordenador se conoce como Software
    • El objetivo de un programa informático es procesar datos de entrada, procesarlos y producir datos de salida.

    Relación entre Hardware y Software

    • El Hardware comprende componentes tangibles que pueden observarse y tocarse.
    • Se divide en componentes internos de la CPU y componentes periféricos alrededor de la CPU.
    • El Software son las instrucciones necesarias para que un ordenador funcione, estas son intangibles y no se pueden ver o tocar físicamente.

    Software

    • El software se puede clasificar según el tipo de tarea que realiza o el método de distribución.
    • Existen diversos tipos de software como Sistemas Operativos y Aplicaciones
    • Los sistemas operativos gestionan los recursos del ordenador y facilitan la comunicación con el usuario, mientras que las aplicaciones buscan satisfacer necesidades concretas (por ejemplo: escribir, dibujar, escuchar música, etc)
    • El software se puede clasificar según su tipo de tarea: Sistemas (gestiona recursos del ordenador), Aplicaciones (resolución de necesidades), Programación o Desarrollo (herramientas para programadores).
    • Se pueden clasificar según su método de distribución (Shareware, Freeware, Adware, SaaS, Licencias de uso).

    Ciclo de Vida del Software

    • El ciclo de vida del software es un marco para el desarrollo de software.
    • Define los pasos para construir, desplegar, y mantener un producto software.
    • Las etapas clave del ciclo de vida incluyen: Análisis, Diseño, Codificación, Pruebas, Explotación, Mantenimiento.
    • Cada etapa tiene su propia documentación para describir los resultados y facilita a la etapa siguiente.
    • Existen diversos modelos de ciclo de vida del software: en cascada (secuencial), iterativo e incremental y en espiral (evolutivo), con metodologías ágiles como Scrum, Extrema Programación (XP) o KanBan.

    Lenguajes de Programación

    • Un lenguaje de programación es un conjunto de caracteres y reglas, permitiendo a los programadores dar instrucciones al ordenador.
    • Se clasifica por el nivel de abstracción (bajo, medio, alto); cómo se ejecuta (compilado, interpretado, mixto); y por el tipo de paradigma (estructurado, orientado a objetos).

    Código Fuente, Código Objeto y Código Ejecutable

    • El código fuente es la serie de instrucciones escritas en un lenguaje legible por humanos.
    • El código objeto es la representación del código fuente en un lenguaje de máquina.
    • El código ejecutable es el resultado del proceso de compilación y enlace, que el ordenador puede ejecutar directamente.

    Máquinas Virtuales

    • Una máquina virtual es una aplicación software simular una máquina real.
    • Permite ejecutar múltiples sistemas operativos en una única máquina física.
    • Ventajas: flexibilidad que compensa la posible pérdida de eficiencia ; inconveniente de agregar complejidad al sistema.
    • Los tipos son De Sistema (ejecutar varias máquinas virtuales en una física); y De proceso (máquina virtual de aplicación), que se ejecuta como un proceso normal dentro de un sistema operativo.
    • La Máquina Virtual de Java (JVM) traduce el código intermedio a código máquina para cada plataforma.

    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 abarca los fundamentos del desarrollo de software en el curso de Desarrollo de Aplicaciones Multiplataforma (DAM1) para el periodo 2024-2025. Explora conceptos como la relación entre hardware y software, el ciclo de vida del software y los diferentes tipos de lenguajes de programación. Prepárate para evaluar tus conocimientos sobre los componentes esenciales de un sistema informático.

    More Like This

    Computer Systems Engineering Overview
    10 questions
    DAM1 Unidad 1: Desarrollo del Software
    47 questions
    Desarrollo del Software - DAM1
    48 questions
    Use Quizgecko on...
    Browser
    Browser