Untitled Quiz

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

¿Cuál es la función principal del software de sistema operativo?

  • Liberar al usuario de los detalles del hardware. (correct)
  • Permitir la creación de videojuegos.
  • Proporcionar herramientas de desarrollo.
  • Facilitar la conexión a internet.

¿Qué tipo de software incluye aplicaciones ofimáticas?

  • Software de sistema operativo.
  • Software de aplicaciones. (correct)
  • Software de programación.
  • Software educativo.

¿Qué instrumentos proporciona el software de programación?

  • Interfaces de usuario amigables.
  • Herramientas para el desarrollo de programas informáticos. (correct)
  • Sistemas operativos y utilidades.
  • Controladores de dispositivos.

¿Cuál de las siguientes opciones NO es un componente del software de sistema operativo?

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

¿Qué tipo de software se utiliza principalmente para desarrollo de videojuegos?

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

¿Qué ofrece un entorno integrado de desarrollo (IDE)?

<p>Una interfaz para crear y editar código fuente. (B)</p> Signup and view all the answers

¿Cuál de las siguientes opciones describe mejor el objetivo del software?

<p>Permitir al usuario ejecutar programas informáticos. (C)</p> Signup and view all the answers

¿Qué tipo de software se utiliza para gestionar bases de datos?

<p>Software de aplicaciones. (A)</p> Signup and view all the answers

¿Cuál es la principal desventaja de los lenguajes basados en máquina virtual?

<p>Son más lentos que los completamente compilados. (D)</p> Signup and view all the answers

En qué fase del desarrollo de software se realiza el análisis de los requisitos del sistema?

<p>Análisis (A)</p> Signup and view all the answers

¿Por qué es importante un buen análisis en el desarrollo de software?

<p>Para garantizar la satisfacción del cliente/usuario. (B)</p> Signup and view all the answers

Una de las actividades realizadas en la fase de análisis es:

<p>La descomposición de requisitos. (C)</p> Signup and view all the answers

¿Qué documento se menciona como parte importante del análisis de requisitos?

<p>Diagramas de flujo (B)</p> Signup and view all the answers

¿Cuál es la función principal de la unidad de control en un ordenador?

<p>Recolectar, descodificar y ejecutar instrucciones. (C)</p> Signup and view all the answers

¿Qué tipo de memoria se utiliza generalmente como memoria de trabajo de la CPU?

<p>RAM (Random Access Memory). (C)</p> Signup and view all the answers

¿Cuál es el propósito principal de la Unidad Aritmético Lógica (ALU)?

<p>Ejecutar operaciones lógicas y matemáticas. (B)</p> Signup and view all the answers

En el contexto de los lenguajes de programación, ¿qué se entiende por código objeto?

<p>Código binario que no se puede ejecutar. (B)</p> Signup and view all the answers

¿Cómo se genera el código ejecutable a partir de un programa?

<p>A través de un proceso de compilación. (A)</p> Signup and view all the answers

¿Qué función tienen los buses en la arquitectura de un ordenador?

<p>Facilitar la comunicación entre los distintos elementos. (B)</p> Signup and view all the answers

¿Cuál es uno de los dispositivos de entrada/salida mencionados?

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

¿Qué representa la memoria RAM en relación a la velocidad?

<p>Es más rápida que la memoria de almacenamiento permanente. (A)</p> Signup and view all the answers

¿Cuál es la función principal de un compilador en lenguajes compilados?

<p>Convertir el código fuente en código objeto. (A)</p> Signup and view all the answers

Qué representa el código objeto en el proceso de desarrollo de software?

<p>El resultado de compilar el código fuente antes de enlazarlo. (C)</p> Signup and view all the answers

¿Cuál de las siguientes afirmaciones describe mejor los lenguajes interpretados?

<p>Ejecutan las instrucciones secuencialmente y en tiempo real. (A)</p> Signup and view all the answers

¿Qué papel juega la Máquina Virtual de Java (JVM)?

<p>Ejecuta programas compilados de manera multiplataforma. (B)</p> Signup and view all the answers

¿Cuál de las siguientes condiciones puede influir en la elección de un lenguaje de programación?

<p>La fuerza de la comunidad detrás del lenguaje. (A)</p> Signup and view all the answers

¿Qué se produce después de enlazar el código objeto con las librerías?

<p>Código ejecutable. (D)</p> Signup and view all the answers

¿Qué característica tienen los lenguajes virtuales en comparación con los lenguajes compilados?

<p>Son multiplataforma y generan bytecode. (B)</p> Signup and view all the answers

¿Cuál de las siguientes opciones es una ventaja de la metodología del ciclo de vida del software en espiral?

<p>Se analiza el riesgo en todas las etapas (B)</p> Signup and view all the answers

¿Cuándo es más recomendable utilizar la metodología ágil como Scrum?

<p>En proyectos grandes y con constantes cambios (A)</p> Signup and view all the answers

¿Qué rol desempeña el Product Owner en la metodología Scrum?

<p>El cliente que define las historias de usuario (A)</p> Signup and view all the answers

¿Cuál es uno de los inconvenientes de seguir el ciclo de vida en espiral?

<p>El costo del proyecto puede aumentar con más iteraciones (B)</p> Signup and view all the answers

¿Qué es una 'sprint' en la metodología Scrum?

<p>Un ciclo de trabajo limitado, normalmente de 2 a 4 semanas (D)</p> Signup and view all the answers

¿Qué se discute en la reunión diaria (Daily meeting) de Scrum?

<p>Los bloqueos y las tareas a realizar ese día (B)</p> Signup and view all the answers

¿Cuál de las siguientes afirmaciones sobre las historias de usuario en Scrum es correcta?

<p>Son desglosadas en tareas de desarrollo durante el sprint (D)</p> Signup and view all the answers

¿Qué se realiza al final de cada sprint en la metodología Scrum?

<p>Una Demo/Sprint Review para mostrar la funcionalidad nueva (C)</p> Signup and view all the answers

Flashcards are hidden until you start studying

Study Notes

¿Qué es el software?

  • Un conjunto de programas informáticos cargados en un ordenador para interactuar con él mediante dispositivos de hardware (periféricos
  • Algunos ejemplos de periféricos:
    • Teclado
    • Ratón
    • Monitor
    • Impresora
    • Altavoces
    • Micrófono
    • Webcam
    • Escáner
    • Pendrive
    • etc.

Tipos de software

  • Tipos de software:
    • Software de sistema:
      • Libera al usuario de los detalles del hardware que utiliza y su gestión.
      • Proporciona una interfaz de alto nivel y cómoda para el usuario.
      • Incluye:
        • Sistemas operativos:
          • Windows
          • Linux
          • macOS
          • Android
          • iOS
        • Controladores de dispositivos:
          • Controladores de tarjetas gráficas
          • Controladores de impresoras
          • Controladores de ratones
          • Controladores de teclados
          • Controladores de redes
        • Utilidades:
          • Antivirus
          • Programas de compresión
          • Programas de limpieza
          • Programas de optimización
    • Software de programación:
      • Objetivo: Proporcionar herramientas al usuario para el desarrollo de programas informáticos.
      • Incluye:
        • Editores de texto:
          • Notepad++
          • Sublime Text
          • Visual Studio Code
        • Compiladores:
          • GCC
          • Clang
          • Visual C++
        • Intérpretes:
          • Python
          • JavaScript
          • Ruby
        • Enlazadores:
          • ld
          • gld
        • Depuradores:
          • gdb
          • lldb
        • Entornos integrados de desarrollo (IDE):
          • Visual Studio
          • Eclipse
          • NetBeans
          • Android Studio
    • Software de aplicaciones:
      • Objetivo: Permitir al usuario realizar una o varias tareas específicas.
      • Incluye:
        • Aplicaciones ofimáticas:
          • Microsoft Word
          • Microsoft Excel
          • Microsoft PowerPoint
        • Software educativo:
          • Duolingo
          • Khan Academy
          • Memrise
        • Bases de datos:
          • MySQL
          • PostgreSQL
          • Oracle
          • MongoDB
        • Videojuegos:
          • Fortnite
          • League of Legends
          • Call of Duty
        • Software de diseño asistido (CAD):
          • AutoCAD
          • SolidWorks
          • SketchUp

¿Qué es realmente un ordenador?

  • Un conjunto de dispositivos físicos (hardware) que trabajan juntos para ejecutar software.
  • Los ordenadores siguen una arquitectura de hardware basada en la establecida en 1946 por John von Neumann.
  • La estructura funcional de un ordenador consiste en:
    • Unidad de control:
      • Se encarga de recolectar las instrucciones a ejecutar.
      • Descodifica las instrucciones.
      • Ejecuta las instrucciones.
    • Memoria:
      • Memoria de trabajo de la CPU.
      • Se utiliza RAM (Random Access Memory).
      • Almacena las instrucciones y los datos que necesita la CPU.
    • Unidad Aritmético Lógica (ALU):
      • Realiza las operaciones matemáticas y lógicas.
    • Registros:
      • Unidades mínimas de almacenamiento.
      • Operan directamente con la ALU.
      • Permiten que la CPU procese información rápidamente.
    • Buses:
      • Vías de comunicación entre los distintos elementos de la arquitectura.
      • Permiten mover información entre los diferentes elementos.
    • Dispositivos de entrada/salida (E/S):
      • Permiten al usuario interactuar con el ordenador.
      • Ejemplos:
        • Monitores
        • Teclados
        • Ratones
        • Impresoras
        • Altavoces

¿Cómo se ejecuta un programa en un ordenador?

  1. Generar código ejecutable:
    • Se escribe código fuente en un lenguaje de programación.
    • El código fuente se compila en código objeto.
    • El código objeto se enlaza con las librerías necesarias para producir el código ejecutable
  2. Ejecutar el programa en el ordenador:
    • El código ejecutable se carga en la memoria RAM.
    • La CPU lee las instrucciones del código ejecutable.
    • La CPU ejecuta las instrucciones.
    • Las instrucciones acceden a datos almacenados en la memoria RAM.
    • El ordenador muestra la salida en el monitor o la envía a otros dispositivos.

Lenguajes de programación

  • Lenguajes compilados:
    • El compilador convierte el código fuente en código objeto.
    • El enlazador une el código objeto del programa con el código objeto de las librerías necesarias para producir el programa ejecutable.
    • Ejemplo: C++, Java
  • Lenguajes interpretados:
    • Ejecutan las instrucciones secuencialmente y en tiempo real, sin que se genere código objeto.
    • Se utiliza un programa intérprete para ejecutar el código.
    • Ejemplo: Python, JavaScript
  • Lenguajes virtuales:
    • Son multiplataforma.
    • Se pasa de código fuente a bytecode.
    • El bytecode es ejecutado por la máquina virtual.
    • Ejemplo: Java, C#
  • Elegir un lenguaje de programación:
    • Facilidad de aprendizaje
    • Velocidad de ejecución
    • Control sobre el código
    • Factores externos:
      • Uso de ese lenguaje en la empresa o por el cliente
      • Sistemas donde se va a alojar el software
      • Comunidad de usuarios del lenguaje
      • Popularidad del lenguaje

Código fuente vs. Código objeto vs. Código ejecutable

  • Código fuente:
    • Conjunto de instrucciones escritas en un lenguaje de programación determinado.
    • El código en el que los programadores escriben sus programas.
  • Código objeto:
    • Código resultante de compilar el código fuente.
    • En caso de lenguajes compilados, el código objeto es código máquina.
    • En caso de lenguajes con máquina virtual, el código objeto es código bytecode.
  • Código ejecutable:
    • Se obtiene al enlazar el código objeto con las librerías necesarias.
    • Es el programa que se ejecuta directamente en el sistema o en una máquina virtual.

Java Virtual Machine

  • Permite a los programas Java ser multiplataforma.
  • La JVM (Java Virtual Machine) ejecuta los programas Java.
  • Desventajas:
    • Más lento que los lenguajes completamente compilados.
  • Ventaja:
    • Más portable (se programa y compila una vez y se ejecuta en múltiples plataformas).

Ciclo de vida del software

  • Análisis:
    • Extraer información sobre qué tiene que hacer el sistema.
    • Definir los requisitos de la aplicación.
    • Volcar la información en documentos y diagramas.
    • Es una fase importantísima para asegurar que el software cumple con las necesidades del usuario.
  • Diseño:
    • Definir cómo se llevará a cabo la aplicación.
    • Definir la arquitectura del software.
    • Crear un modelo de la aplicación.
  • Codificación:
    • Escribir el código fuente del software utilizando un lenguaje de programación.
    • El proceso de construir el software.
  • Pruebas:
    • Verificar que el software funciona correctamente.
    • Detectar y corregir errores.
    • Asegurar que el software cumple con los requisitos.
  • Documentación:
    • Registrar cómo funciona el software.
    • Explicar cómo se utiliza el software.
    • Servir como referencia para el usuario y para futuros desarrolladores.
  • Explotación/Implantación:
    • Poner el software a disposición del usuario.
    • Configurar el software en el entorno de producción.
  • Mantenimiento:
    • Corregir errores.
    • Mejorar el software.
    • Adaptar el software a las nuevas necesidades del usuario.

Fases del desarrollo de una aplicación

  • Análisis:
    • Extraer información y definir los requisitos de la aplicación.
  • Diseño:
    • Definir cómo se llevará a cabo la aplicación.
  • Codificación:
    • Escribir el código fuente del software.
  • Pruebas:
    • Verificar que el software funciona correctamente.
  • Documentación:
    • Registrar cómo funciona el software.
  • Explotación/Implantación:
    • Poner el software a disposición del usuario.
  • Mantenimiento:
    • Corregir errores y mejorar el software.

¿Por qué es tan importante un buen análisis?

  • Satisfacción del usuario/cliente:
    • Saber qué debe hacer el sistema para satisfacer las necesidades del cliente.
  • Equipo de desarrollo:
    • Los desarrolladores tienen que entender y saber exactamente qué es lo que tienen que hacer.

Ciclo de vida del software: modelo espiral

  • Ventajas:
    • No requiere definición completa de los requisitos.
    • Se analizan los riesgos en todas las etapas.
    • Se reducen los riesgos.
  • Inconvenientes:
    • El costo del proyecto aumenta a medida que se aumentan las iteraciones.
    • Más adecuado para proyectos grandes.
  • Cuándo usarla:
    • Proyectos grandes con constantes cambios.
    • Proyectos donde el riesgo es un factor importante.

Metodologías ágiles

  • ¿Qué son las metodologías ágiles?
    • Métodos de desarrollo de software que se centran en la flexibilidad y el trabajo en equipo.
    • Permiten adaptarse a los cambios y entregar software funcional de forma temprana y frecuente.
  • Ejemplo de metodología ágil: Scrum
    • Basado en un ciclo iterativo incremental.
    • Objetivos:
      • Mejorar el trabajo en equipo y la colaboración.
      • Proporcionar flexibilidad y facilidad para adaptarse a los cambios.
      • Aumentar la productividad.
      • Mejorar la calidad del producto final.
    • Pasos:
      • Definición de historias de usuario:
        • Tareas de alto nivel que aportan valor al usuario o a la aplicación.
      • Descomposición en tareas de desarrollo:
        • Historias de usuario se descomponen en tareas más pequeñas.
      • Sprint (ciclos de trabajo):
        • Selección de historias de usuario a abordar en cada sprint.
        • Los sprints suelen durar 2-4 semanas.
      • Reunión diaria (Daily Meeting):
        • Los miembros del equipo se reúnen brevemente para compartir avances, bloqueos y objetivos del día.
      • Demostración (Demo/Sprint Review):
        • Muestra al cliente las nuevas funcionalidades que se han desarrollado en el sprint.
      • Retrospectiva:
        • Al final de cada sprint, el equipo analiza lo que ha ido bien, que se puede mejorar y los bloqueos que se han encontrado.

Ideas principales de Scrum:

  • Incorporación del cliente (Product Owner):
    • El cliente participa activamente en el equipo.
    • Crea las historias de usuario.
    • Esto asegura que el software cumple con los requisitos del usuario.
  • Entrega frecuente de funcionalidades:
    • Se liberan nuevas funcionalidades al final de cada sprint.
    • Se garantiza la entrega constante de valor.
  • Trabajo en equipo:
    • El equipo se organiza para trabajar de forma efectiva.
    • Se comparten las tareas y se busca la colaboración entre los miembros del equipo.

Beneficios de Scrum:

  • Mayor flexibilidad para incorporar cambios durante el desarrollo.
  • Mayor participación del cliente en el proyecto.
  • Mejora la calidad del producto final.
  • Mejora la colaboración entre los miembros del equipo.
  • Priorización del valor para el usuario.
  • Entrega frecuente de resultados.
  • Mayor transparencia en el desarrollo del proyecto.

Studying That Suits You

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

Quiz Team

Related Documents

More Like This

Untitled Quiz
37 questions

Untitled Quiz

WellReceivedSquirrel7948 avatar
WellReceivedSquirrel7948
Untitled Quiz
18 questions

Untitled Quiz

RighteousIguana avatar
RighteousIguana
Untitled Quiz
50 questions

Untitled Quiz

JoyousSulfur avatar
JoyousSulfur
Untitled Quiz
48 questions

Untitled Quiz

StraightforwardStatueOfLiberty avatar
StraightforwardStatueOfLiberty
Use Quizgecko on...
Browser
Browser