DAM1 UT1: Desarrollo del Software

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

Un sistema informático permite almacenar y procesar ______.

información

Los componentes físicos de un sistema informático son conocidos como ______.

hardware

El ______ es un conjunto de instrucciones que permiten realizar tareas en un ordenador.

programa informático

La utilidad básica del ordenador radica en captar datos de ______, procesarlos y generar resultados.

<p>entrada</p> Signup and view all the answers

El ______ es el proceso de transformar datos en información útil.

<p>procesamiento</p> Signup and view all the answers

Los programas permiten al ordenador gestionar los ______ recibidos.

<p>datos</p> Signup and view all the answers

El 'código fuente' es escrito por los ______.

<p>programadores</p> Signup and view all the answers

Una colección de programas informáticos se conoce como ______.

<p>software</p> Signup and view all the answers

El hardware son componentes físicos del ordenador, es decir, todo lo que se puede ver y ______.

<p>tocar</p> Signup and view all the answers

Los periféricos son el hardware que se encuentra alrededor de la ______.

<p>CPU</p> Signup and view all the answers

El ______ son instrucciones que el ordenador necesita para funcionar.

<p>software</p> Signup and view all the answers

Los sistemas operativos permiten que el ordenador gestione sus recursos de forma ______.

<p>eficiente</p> Signup and view all the answers

El software y el hardware trabajan ______ para dar vida a un ordenador.

<p>unidos</p> Signup and view all the answers

El software de ______ permite que el hardware funcione.

<p>sistema</p> Signup and view all the answers

El conjunto de instrucciones que permiten al usuario realizar diversos tipos de trabajos se denomina software de ______.

<p>aplicación</p> Signup and view all the answers

Ejemplos de software de aplicación son procesadores de textos, bases de ______, y diseño gráfico.

<p>datos</p> Signup and view all the answers

Se revisa y evalúa todo lo realizado y se toma la decisión de continuar o no con la ______.

<p>mecanización</p> Signup and view all the answers

El modelo evolutivo es ______ en espiral.

<p>iterativo</p> Signup and view all the answers

Las metodologías ágiles permiten una mejor ______ a las necesidades de los clientes.

<p>adaptación</p> Signup and view all the answers

El coste del proyecto aumenta en cada ______ de la espiral.

<p>iteración</p> Signup and view all the answers

Las metodologías ágiles se basan en el trabajo en equipo de grupos ______.

<p>multidisciplinarios</p> Signup and view all the answers

Intercambiar ideas cara a cara es el modo de ______ más eficiente y efectivo.

<p>comunicación</p> Signup and view all the answers

No tener miedo de realizar ______ es un principio de la metodología ágil.

<p>cambios</p> Signup and view all the answers

Lograr la satisfacción del ______ a través de la entrega continua de software es un objetivo central.

<p>cliente</p> Signup and view all the answers

Cada incremento se construye sobre aquel que ya ha sido ________.

<p>entregado</p> Signup and view all the answers

Se suelen utilizar ________ para evaluar mejor los requisitos del sistema.

<p>prototipos</p> Signup and view all the answers

Una de las ventajas del modelo evolutivo es que disminuye el tiempo de ________ del cliente.

<p>espera</p> Signup and view all the answers

Resulta complicado determinar el ________ final del proyecto.

<p>coste</p> Signup and view all the answers

El modelo en espiral añade una etapa al ciclo de vida llamada análisis de ________.

<p>riesgos</p> Signup and view all the answers

Cada ciclo de la espiral comienza determinando los ________ y las diferentes alternativas para conseguirlos.

<p>objetivos</p> Signup and view all the answers

Generalmente se utilizan prototipos para realizar la evaluación de ________.

<p>riesgos</p> Signup and view all the answers

El proceso de desarrollo del software se representa como una ________, donde en cada ciclo se desarrolla una parte del mismo.

<p>espiral</p> Signup and view all the answers

El código ejecutable es inteligible por el ______.

<p>procesador</p> Signup and view all the answers

El código ejecutable es un archivo ______ con un formato específico.

<p>binario</p> Signup and view all the answers

Los códigos generados por los programadores son el resultado del ______ final.

<p>programa</p> Signup and view all the answers

El proceso completo de obtener código ejecutable a partir del código fuente se llama ______.

<p>compilación</p> Signup and view all the answers

Los archivos ejecutables usualmente tienen la extensión ______ o COM.

<p>EXE</p> Signup and view all the answers

El ______ es el programa que une el código objeto con las librerías.

<p>enlazador</p> Signup and view all the answers

Una máquina virtual simula un ______ en el que se pueden ejecutar programas.

<p>ordenador</p> Signup and view all the answers

Las máquinas virtuales funcionan como una capa intermedia entre el ______ del ordenador y algún software.

<p>hardware</p> Signup and view all the answers

La máquina virtual que permite ejecutar programas de Java se denomina ______.

<p>JVM</p> Signup and view all the answers

Los programas en Java son ______ del hardware y del sistema operativo donde se ejecutan.

<p>independientes</p> Signup and view all the answers

El código intermedio obtenido tras compilar un programa en Java se llama ______.

<p>bytecode</p> Signup and view all the answers

Es necesario tener la máquina virtual de Java instalada para ______ un programa escrito en este lenguaje.

<p>ejecutar</p> Signup and view all the answers

Un programa Java puede ejecutarse en sistemas operativos como ______, Linux o Windows.

<p>Unix</p> Signup and view all the answers

Las máquinas virtuales permiten tener varios sistemas operativos sin crear ______.

<p>particiones</p> Signup and view all the answers

Una de las desventajas de Java es que requiere que todo ordenador tenga instalado ______.

<p>Java</p> Signup and view all the answers

Una versión de prueba de software se conoce como ______.

<p>beta</p> Signup and view all the answers

Flashcards

¿Qué es un sistema informático?

Una herramienta que almacena y procesa información, compuesta por tres elementos fundamentales: hardware, software y personal.

Hardware

Componentes físicos de un ordenador, generalmente electrónicos, que permiten su funcionamiento.

Software

Conjunto de programas o aplicaciones que le indican al ordenador qué hacer.

Programa informático

Conjunto de instrucciones que realiza una o varias tareas en un ordenador.

Signup and view all the flashcards

Código fuente

Instrucciones escritas por programadores en un lenguaje de programación.

Signup and view all the flashcards

Programa ejecutable

Un formato de instrucciones preparadas para que el ordenador las interprete.

Signup and view all the flashcards

Relación Hardware-Software

El hardware necesita software para funcionar y el software se ejecuta en el hardware.

Signup and view all the flashcards

Función de un programa

Captar datos, procesarlos y generar información de salida gracias a instrucciones.

Signup and view all the flashcards

Software de sistema

Software que gestiona los recursos del ordenador y facilita la comunicación con el usuario.

Signup and view all the flashcards

Software de aplicación

Software que realiza tareas específicas para el usuario.

Signup and view all the flashcards

Ejemplos de software de sistema

Sistemas operativos, controladores de dispositivos, herramientas de diagnóstico.

Signup and view all the flashcards

Ejemplos de software de aplicación

Procesadores de textos, bases de datos, hojas de cálculo, diseño gráfico, multimedia, etc.

Signup and view all the flashcards

Tipos de software

Se pueden clasificar por la tarea que realizan (sistema o aplicación).

Signup and view all the flashcards

Modelo Iterativo Incremental

Ciclo de vida del software donde cada incremento se construye sobre el anterior, entregando funcionalidades progresivamente.

Signup and view all the flashcards

Ventajas Iterativo Incremental

Requisitos incompletos, entrega rápida de funciones, menos tiempo de espera del cliente, prueba de nuevas tecnologías.

Signup and view all the flashcards

Inconvenientes Iterativo Incremental

Difícil calcular costo final, proyecto potencialmente largo, no recomendado para sistemas en tiempo real o de alta seguridad.

Signup and view all the flashcards

Cuando usar Iterativo Incremental

Cuando los requisitos son indefinidos o cambian, o para probar nuevas tecnologías.

Signup and view all the flashcards

Modelo Iterativo en Espiral

Combina cascada e iterativa, representando el desarrollo como una espiral de ciclos. Cada ciclo añade una nueva versión.

Signup and view all the flashcards

Ciclo Espiral: Determinar Objetivos

Fase inicial donde se definen los objetivos y alternativas para conseguirlos.

Signup and view all the flashcards

Ciclo Espiral: Evaluar Riesgos

Evaluar los posibles problemas con los objetivos y alternativas. Usar prototipos ayuda en esta fase.

Signup and view all the flashcards

Ciclo Espiral: Ingeniería

Desarrollo del producto que cumple los objetivos, verificando su corrección final.

Signup and view all the flashcards

Modelo de ciclo de vida iterativo en espiral

Un modelo de desarrollo de software que se adapta a cambios frecuentes y evalúa riesgos en cada iteración.

Signup and view all the flashcards

Ventajas del modelo espiral

Menos riesgos, adaptación a cambios, útil para proyectos grandes y riesgosos.

Signup and view all the flashcards

Metodologías ágiles

Enfoque de desarrollo de software flexible, basado en trabajo en equipo, adaptación a clientes y entrega continua.

Signup and view all the flashcards

Scrum

Una metodología ágil que utiliza ciclos cortos de trabajo (sprints) para entregar software funcional.

Signup and view all the flashcards

Kanban

Una metodología ágil visual que prioriza la entrega continua de valor en tiempo real.

Signup and view all the flashcards

Programación extrema (XP)

Una metodología ágil que se enfoca en la comunicación entre equipos y el desarrollo iterativo.

Signup and view all the flashcards

Entrega continua de software

Un principio de las metodologías ágiles que busca entregar software funcional en forma incremental, con la frecuencia y calidad esperada por el cliente.

Signup and view all the flashcards

Cambios en el desarrollo

Las metodologías agiles buscan que el proceso evolucione con las necesidades del cliente, así como con las nuevas tecnologías y conocimientos.

Signup and view all the flashcards

Java: ¿Qué novedad introdujo?

Java revolucionó la programación al permitir que los programas se ejecuten en cualquier sistema operativo sin modificaciones. Esto se logró gracias a la Máquina Virtual de Java (JVM).

Signup and view all the flashcards

Máquina Virtual de Java (JVM)

La JVM es un software que interpreta el código intermedio de Java (bytecode) y lo ejecuta en un sistema operativo específico.

Signup and view all the flashcards

¿Cómo funciona la ejecución de un programa Java?

  1. Se escribe el código fuente en Java. 2. Se compila el código fuente para obtener 'bytecode'. 3. El 'bytecode' se ejecuta en la JVM, que lo traduce para el sistema operativo.
Signup and view all the flashcards

La independencia de la plataforma de Java

Los programas Java se pueden compilar una vez y ejecutar en cualquier sistema operativo que tenga una JVM instalada.

Signup and view all the flashcards

Desventaja de la independencia de plataforma

Todo ordenador que quiera ejecutar un programa Java necesita tener instalado Java con su JVM.

Signup and view all the flashcards

Máquinas virtuales: ¿Para qué sirven?

Las máquinas virtuales permiten ejecutar diferentes sistemas operativos en un solo ordenador sin necesidad de crear particiones.

Signup and view all the flashcards

Pruebas con máquinas virtuales

Se pueden utilizar máquinas virtuales para probar versiones beta de software sin afectar al sistema operativo principal.

Signup and view all the flashcards

Máquinas virtuales para pruebas vs. el sistema operativo principal

Las máquinas virtuales permiten probar software en un entorno aislado sin afectar al funcionamiento del sistema operativo principal.

Signup and view all the flashcards

¿Qué es código ejecutable?

Es el resultado de unir diferentes partes de código objeto, creando un archivo binario que el sistema operativo puede cargar en la memoria y ejecutar. Es directamente comprensible por el procesador.

Signup and view all the flashcards

Extensión de los archivos ejecutables

Generalmente tienen la extensión ".exe" en Windows o ".com" en sistemas Linux. Esto indica al sistema operativo que se trata de un programa listo para ejecutarse.

Signup and view all the flashcards

Beneficios del código ejecutable

Nos permite saber que la compilación fue exitosa, sin errores de sintaxis o lógica en el código.

Signup and view all the flashcards

Proceso de compilación

Es el proceso completo para convertir código fuente en código ejecutable. Incluye dos etapas: compilación y enlace.

Signup and view all the flashcards

Función del compilador

El compilador traduce el código fuente escrito en lenguaje de programación a código objeto, que es un conjunto de instrucciones comprensibles por la computadora.

Signup and view all the flashcards

Función del Enlazador

El enlazador une el código objeto generado por el compilador con las librerías necesarias para crear el programa ejecutable.

Signup and view all the flashcards

¿Qué es una máquina virtual?

Es un programa que simula un ordenador dentro de otro, permitiendo ejecutar programas como si fuese un ordenador real. Actúa como una capa intermedia entre el hardware y el software.

Signup and view all the flashcards

Usos comunes de máquinas virtuales

Permiten probar y ejecutar diferentes sistemas operativos sin necesidad de instalarlos directamente en el ordenador, o ejecutar aplicaciones que requieren un entorno específico.

Signup and view all the flashcards

Study Notes

Entornos de Desarrollo

  • El curso se titula "Desarrollo de Aplicaciones Multiplataforma (DAM1)"
  • El curso corresponde al CIFP Santa Catalina de Aranda de Duero
  • El profesor es María Miranda Herrero
  • El curso se desarrolla en el curso 2024-2025

UT1: Desarrollo del Software

  • Presenta la unidad temática 1 sobre desarrollo de software.

Contenidos

  • Presenta una lista de temas a ser cubiertos.
  • Estos temas incluyen: Introducción, Relación entre hardware y software, El software, Ciclo de vida del software, Lenguajes de programación, Código fuente, código objeto y código ejecutable y Máquinas virtuales.

1. Introducción

  • Define un sistema informático como una herramienta que permite almacenar y procesar información.
  • Presenta los tres componentes fundamentales de un sistema informático: hardware, software y personal informático
  • Hardware: conjunto de componentes físicos del ordenador (generalmente eléctricos/electrónicos).
  • Software: programas o aplicaciones (no físicas) que permiten el funcionamiento del ordenador.
  • Personal informático: personal técnico que crea y mantiene el sistema; el usuario final que utiliza el sistema.
  • Define un programa informático como un conjunto de instrucciones para realizar una o varias tareas en un ordenador.
  • Explica qué es un programa informático y su importancia para el funcionamiento del ordenador.
  • Describe un programa informático como un conjunto de instrucciones u órdenes en un lenguaje de programación que el ordenador interpreta para resolver un problema o una función específica.

1. Introducción (Continuación)

  • Define software como una colección de programas y datos relacionados.
  • Define la utilidad fundamental del ordenador: captar información de entrada (datos), procesarlos y generar información de salida (resultados).

2. Relación entre Hardware y Software

  • Describe el hardware como los componentes físicos del ordenador (tangibles).
  • Clasifica el hardware en dos tipos: componentes internos (dentro de la CPU) y componentes externos (periféricos).
  • Describe el software como un conjunto de instrucciones que un ordenador necesita para funcionar.

2. Relación Entre Hardware y Software (continuación)

  • El hardware y software se relacionan para que un ordenador pueda funcionar.
  • Ambos funcionan unidos para dar vida a un ordenador.
  • El software indica la secuencia y lógica para realizar cálculos de datos

3. El Software

  • Describe el software como los programas que dan instrucciones al hardware y los datos con los cuales trabajan los programas.
  • Presenta dos criterios para clasificar el software (tipo de tarea que realiza y metodo de distribución).
  • Menciona los siguientes tipos de software por tipo de tarea: Sistema, Aplicación y Programación/Desarrollo.
  • Describa diferentes tipos de software por su método de distribución (Shareware, Freeware, Adware, SaaS)

3. Software (continuación)

  • Describe las licencias de software como un contrato entre el desarrollador y el usuario.
  • Menciona tres tipos de licencias: software libre, software propietario y software de dominio público

4. Ciclo de vida del Software

  • Describe el ciclo de vida del software como un marco de referencia que incluye todos los procesos, actividades y tareas involucradas en el desarrollo, la explotación y el mantenimiento de un producto software.
  • Expone que el ciclo de vida empieza en la definición de los requisitos y termina con la finalización del uso.
  • Presenta las etapas principales del ciclo de vida del software (análisis, diseño, codificación, pruebas, explotación y mantenimiento).

4. Ciclo de vida del software (Continuación)

  • Describe la etapa de Análisis como la fase inicial donde se determinan los requisitos del sistema.
  • Describe la etapa de Diseño como la etapa donde se determina cómo resolver el problema planteado.
  • Describe la etapa de Codificación como la fase de traducir los diseños a comandos que la maquina pueda entender.
  • Describe la etapa de Pruebas como la que verifica el funcionamiento correcto del sistema.
  • Describe la etapa de Explotación como el uso del software por parte del usuario final.
  • Describe la etapa de Mantenimiento como la etapa de adaptar el sistema a los cambios, corregir errores y mejorar funcionalidades.
  • Describe la importancia de la documentación en cada etapa del ciclo de vida del software.
  • Presenta tres partes de la documentación: Documentación interna (comentarios en el código), Documentación externa (documentación de los procesos) y Manual de Usuario.
  • Explica diferentes modelos de ciclo de vida del software (en cascada, iterativo e incremental, en espiral y metodologías ágiles).
  • Especifica las ventajas e inconvenientes de los diferentes modelos de ciclo de vida del software (en cascada, iterativo e incremental, en espiral y metodologías ágiles).

5. Lenguajes de Programación

  • Define un lenguaje de programación como un idioma para comunicarle instrucciones a un ordenador.
  • Describe el léxico, la sintaxis y la semántica de los lenguajes de programación.
  • Presenta una clasificación de los lenguajes basándose en el nivel de abstracción, la manera de ejecutarse y el paradigma de programación

5. Lenguajes de Programación (continuación)

  • Se presentan las distintas maneras de clasificar a los lenguajes de programación.

    • Nivel de abstracción: bajo nivel, medio nivel y alto nivel.
    • Manera de ejecutarse: compilados e interpretados mezcla de ambas (mixtos)
  • Se incluye la estructura de la programación estructurada, incluyendo secuencia, decisión e iteración

5. Lenguajes de Programación (continuación)

  • Explica el paradigma de programación orientado a objetos

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

  • Define código fuente, código objeto y código ejecutable.
  • Explica cómo se realiza la transformación del código fuente al código ejecutable mediante compiladores y enlazadores.
  • Presenta las etapas involucradas en la compilación de un programa (análisis lexicográfico, sintáctico, semántico; generación de código intermedio, optimización; generación de código objeto; enlaces).

7. Máquinas Virtuales

  • Define una máquina virtual como una aplicación software que simula un ordenador.
  • Explica las funciones de la máquina virtual como traductor de instrucciones.
  • Describe las ventajas e inconvenientes del uso de máquinas virtuales.
  • Menciona dos tipos de máquina virtual: de sistema y de proceso.
  • Especificar la utilidad de las máquinas virtuales.
  • Explicar detalladamente la máquina virtual de Java y sus beneficios.

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

More Like This

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