Mantenimiento de Software
48 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

¿Cuál es el principal objetivo del mantenimiento del software?

  • Aumentar el número de usuarios
  • Ampliar la compatibilidad con dispositivos
  • Reducir el costo de desarrollo
  • Corregir defectos y mejorar el rendimiento (correct)
  • ¿Qué tipo de mantenimiento se enfoca en corregir errores descubiertos después de la entrega del software?

  • Mantenimiento perfectivo
  • Mantenimiento preventivo
  • Mantenimiento correctivo (correct)
  • Mantenimiento adaptativo
  • ¿Cuál de las siguientes afirmaciones es correcta sobre el mantenimiento adaptativo?

  • Requiere ajustar el software a nuevos entornos (correct)
  • Se realiza para prevenir problemas futuros
  • Consiste en corregir errores después de la entrega
  • Se enfoca únicamente en mejorar la funcionalidad
  • ¿Qué tipo de software se clasifica como Software Estático o Simple?

    <p>Software con comportamiento predecible y estable</p> Signup and view all the answers

    El mantenimiento perfectivo se refiere a:

    <p>Mejorar la funcionalidad añadiendo características</p> Signup and view all the answers

    Según Lehman, el Software Pragmático se caracteriza por:

    <p>Resolución de problemas dentro de un entorno controlado</p> Signup and view all the answers

    El objetivo del mantenimiento preventivo es:

    <p>Prevenir problemas futuros en el software</p> Signup and view all the answers

    ¿Cuál de los siguientes no es un tipo de mantenimiento del software?

    <p>Mantenimiento crítico</p> Signup and view all the answers

    ¿Qué tipo de mantenimiento implica mejorar la estructura del código sin cambiar su comportamiento externo?

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

    ¿Cuál es uno de los problemas administrativos más relevantes en el mantenimiento de software?

    <p>Estimación de Costos</p> Signup and view all the answers

    ¿Qué significa el costo del ciclo de vida en el desarrollo de software?

    <p>Costo total relacionado con el desarrollo y mantenimiento del software a lo largo de su vida útil.</p> Signup and view all the answers

    ¿Qué técnica de mantenimiento se usa para analizar y comprender los componentes y dependencias del software?

    <p>Reversión de Código</p> Signup and view all the answers

    ¿Cuál de los siguientes problemas técnicos se relaciona con la dificultad para prever el impacto de los cambios en el software?

    <p>Análisis de Impacto</p> Signup and view all the answers

    ¿Qué actividad no es parte de los tres tipos de trabajo que realiza un ingeniero de software?

    <p>Evaluación de Proveedores</p> Signup and view all the answers

    ¿Qué técnica se utiliza para rediseñar y reestructurar el software a fin de mejorar su mantenibilidad?

    <p>Reingeniería</p> Signup and view all the answers

    ¿Cuál es la principal finalidad de las pruebas de regresión?

    <p>Verificación de que modificaciones recientes no introduzcan nuevos errores.</p> Signup and view all the answers

    ¿Cuál es la principal característica del software evolutivo?

    <p>Evoluciona constantemente para adaptarse a nuevos requisitos.</p> Signup and view all the answers

    Según la Ley 2 de la evolución del software, ¿qué ocurre con el costo de cambiar el software a medida que envejece?

    <p>El costo aumenta debido a su complejidad.</p> Signup and view all the answers

    ¿Qué sugiere la Ley 4 sobre la funcionalidad y la estructura del software?

    <p>La funcionalidad del software aumenta, pero su estructura tiende a degradarse.</p> Signup and view all the answers

    La Ley 6 establece que el sistema de software debe ser adaptado a cambios en qué aspecto?

    <p>La tecnología utilizada.</p> Signup and view all the answers

    ¿Cuál de las siguientes afirmaciones describe mejor el impacto del tiempo en la complejidad del software?

    <p>El software se vuelve más complejo con el tiempo debido a la adición de nuevas características.</p> Signup and view all the answers

    ¿Por qué es inevitable la evolución del software, según la Ley 1?

    <p>Porque las necesidades de los usuarios cambian con el tiempo.</p> Signup and view all the answers

    ¿Qué tipo de mantenimiento se necesita para el software evolutivo?

    <p>Mantenimiento correctivo, perfectivo y adaptativo.</p> Signup and view all the answers

    ¿Qué tipo de software es más propenso a la evolución continua?

    <p>Software empresariales y de gestión pública.</p> Signup and view all the answers

    ¿Cuál es el propósito principal de la reingeniería de software?

    <p>Aumentar la funcionalidad, eficiencia y seguridad de un sistema existente</p> Signup and view all the answers

    ¿Cuál de las siguientes es una técnica utilizada en la reingeniería de software?

    <p>Ingeniería inversa</p> Signup and view all the answers

    Qué componente mejora la mantenibilidad y comprensión del código durante la reingeniería?

    <p>Reestructuración de código</p> Signup and view all the answers

    ¿Cuál de los siguientes aspectos no es parte de la gestión de calidad del software?

    <p>Ignorar los defectos en el software</p> Signup and view all the answers

    ¿Qué establece la gestión de calidad del software para garantizar un mejor producto?

    <p>Proceso de verificación de estándares</p> Signup and view all the answers

    La reestructuración de datos se enfoca principalmente en:

    <p>Optimizar la organización de las estructuras de datos</p> Signup and view all the answers

    ¿Cuál es un resultado esperado de aplicar la reingeniería a un sistema de software?

    <p>Nuevas finalidades y características mejoradas</p> Signup and view all the answers

    ¿Cuál de las siguientes afirmaciones es cierta sobre la aplicación de procesos de calidad en software?

    <p>Aseguran que el software tenga menos defectos</p> Signup and view all the answers

    ¿Cuál es el objetivo principal del aseguramiento de calidad (QA)?

    <p>Definir procesos y estándares para productos de alta calidad.</p> Signup and view all the answers

    ¿Qué se entiende por control de calidad?

    <p>Aplicación de procesos de calidad para eliminar productos no conformes.</p> Signup and view all the answers

    ¿Cuál de los siguientes describe mejor el modelo CMMI?

    <p>Un modelo de madurez que mejora los procesos organizacionales.</p> Signup and view all the answers

    ¿Qué enfoque utiliza GQM para evaluar métricas de software?

    <p>Meta, pregunta y métrica.</p> Signup and view all the answers

    ¿Cuál es la principal finalidad del método PSP?

    <p>Desarrollar habilidades individuales para reducir defectos.</p> Signup and view all the answers

    ¿Cuál es el objetivo del proyecto Bootstrap en relación con el software?

    <p>Ayudar a las pequeñas y medianas empresas a mejorar sus procesos de software.</p> Signup and view all the answers

    ¿Qué función tiene el equipo de QA en una compañía?

    <p>Administrar el proceso de pruebas de liberación.</p> Signup and view all the answers

    En el contexto del aseguramiento de calidad, ¿por qué se considera el término 'control de calidad' poco adecuado?

    <p>Porque sugiere eliminación de productos sin mejora.</p> Signup and view all the answers

    ¿Cuál es el objetivo principal de SPICE?

    <p>Vincular las metas organizacionales con preguntas concretas</p> Signup and view all the answers

    ¿Qué incluye el marco ITIL?

    <p>Una serie de etapas como estrategia y mejora continua</p> Signup and view all the answers

    ¿Cuál es una característica de COBIT?

    <p>Proporciona prácticas y controles para la gestión de tecnologías de la información</p> Signup and view all the answers

    ¿Qué busca MOPROSOFT para las pequeñas y medianas empresas de software?

    <p>Mejorar los procesos organizacionales y técnicos</p> Signup and view all the answers

    ¿Cuál de las siguientes afirmaciones sobre las revisiones de código es correcta?

    <p>Consisten en una verificación sistemática del código en busca de errores</p> Signup and view all the answers

    ¿En qué consiste la técnica de inspección de programa?

    <p>Lectura cuidadosa del código por un equipo reducido</p> Signup and view all the answers

    ¿Cómo se estructuran los procesos en MOPROSOFT?

    <p>En tres niveles: dirección, gestión y operación</p> Signup and view all the answers

    ¿Cuál es una diferencia entre SPICE y CMMI?

    <p>SPICE está más orientado hacia estándares ISO</p> Signup and view all the answers

    Study Notes

    Mantenimiento de Software

    • El mantenimiento del software es el proceso de realizar cambios y actualizaciones en un sistema de software después de su entrega inicial. Su objetivo principal es corregir defectos, mejorar el rendimiento, adaptar el software a nuevos requisitos y entornos, y garantizar su correcta operación a lo largo del tiempo.

    Tipos de Mantenimiento

    • Correctivo: Corrige errores o fallos detectados después de la entrega.
    • Adaptativo: Ajusta el software a nuevos entornos (hardware, software o requisitos del sistema operativo).
    • Perfectivo: Mejora la funcionalidad o rendimiento añadiendo nuevas características u optimizando las existentes.
    • Preventivo: Previene problemas futuros, asegurando la eficiencia y evitando fallos.

    Clasificación del Software (Según Meir "Manny" Lehman)

    • Software S (Estático o Simple): Requisitos y especificaciones estables. Comportamiento predecible. Entorno estable. Ejemplo: programas matemáticos. No requiere mantenimiento evolutivo. Comportamiento determinista.
    • Software P (Pragmático o Practicable): Problemas específicos bien definidos. Puede requerir ajustes por cambios en requisitos o entornos. Ejemplo: sistemas de gestión empresarial. Puede necesitar mantenimiento correctivo y adaptativo.
    • Software E (Evolutivo): Requisitos cambian constantemente. El software debe adaptarse continuamente. Ejemplo: sistemas empresariales, sistemas de gestión pública. Necesita mantenimiento continuo (correctivo, adaptativo y perfectivo).

    Leyes de Lehman y Belady sobre la Evolución del Software

    • Ley 1: El software debe evolucionar porque las necesidades de los usuarios cambian con el tiempo.
    • Ley 2: El costo de cambiar el software aumenta con el tiempo debido a su complejidad.
    • Ley 3: El software debe adaptarse al entorno operativo.
    • Ley 4: La funcionalidad aumenta pero la estructura del software tiende a degradarse.
    • Ley 5: La complejidad del software tiende a aumentar con el tiempo.
    • Ley 6: El sistema debe adaptarse a los cambios tecnológicos.
    • Ley 7: La organización y los usuarios cambian, y el software debe evolucionar en consecuencia.

    Problemas de Mantenimiento

    • Problemas Administrativos:
      • Alineación con las prioridades del cliente.
    • Problemas Técnicos:
      • Comprensión limitada.
      • Análisis de impacto.
      • Pruebas.
      • Medición de la mantenibilidad.

    Técnicas de Mantenimiento

    • Refactorización: Mejora la estructura del código sin cambiar su comportamiento externo para hacerlo más comprensible y mantenible.
    • Reingeniería: Rediseño y reestructuración del software para actualizarlo y mejorar su mantenibilidad.
    • Reversión de Código: Análisis del software para identificar y entender sus componentes y dependencias.
    • Pruebas de Regresión: Verificar que los cambios recientes no hayan introducido nuevos errores.

    Herramientas de Mantenimiento

    • Sistemas de Control de Versiones (ej. Git).
    • Herramientas de Integración Continua (ej. Jenkins).
    • Herramientas de Análisis Estático (ej. SonarQube).
    • Sistemas de Seguimiento de Errores (ej. Jira).

    Rejuvenecimiento del Software

    • Redocumentación: Actualizar la documentación para reflejar el estado actual del software.
    • Reestructuración: Modificar la estructura interna del código sin cambiar su comportamiento.
    • Refactorización: Mejorar el código existente para reducir la complejidad.
    • Reingeniería: Rediseñar y reconstruir el software para mejorar su mantenibilidad.

    Ingeniería Inversa

    • Recuperar código fuente perdido o desactualizado.
    • Entender mejor el funcionamiento del software.
    • Facilitar la refactorización y reestructuración.

    Reingeniería

    • Proceso exhaustivo para modificar y mejorar un sistema de software existente.
    • Aprovechar el conocimiento del sistema original para optimizarlo.

    Gestión de Calidad de Software

    • Definir estándares para procesos y productos de software.
    • Establecer procesos para verificar el cumplimiento de los estándares.
    • Aseguramiento de la calidad (QA): Definir procesos y estándares para obtener productos de calidad.
    • Control de la calidad: Eliminar productos que no cumplen con los estándares de calidad.

    Estándares de Software

    • CMMI (Capability Maturity Model Integration): Modelo de madurez para el desarrollo y mantenimiento de software.
    • PSP (Personal Software Process): Metodología para mejorar la habilidad y productividad de los ingenieros de software.
    • GQM (Goal Question Metric): Enfoque estructurado para definir y evaluar las métricas de software.
    • SPICE (Software Process Improvement and Capability determination): Marco para la mejora y evaluación de procesos de software.
    • COBIT (Control Objectives for Information and Related Technologies): Marco para la gobernanza y gestión de las tecnologías de la información.
    • ITIL (Information Technology Infrastructure Library): Buenas prácticas para la gestión de servicios de TI.
    • MOPROSOFT: Modelo de procesos para PMEs de desarrollo de software.

    Studying That Suits You

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

    Quiz Team

    Related Documents

    Repaso_E3 PDF

    Description

    Este cuestionario explora los diferentes tipos de mantenimiento de software, que incluyen el mantenimiento correctivo, adaptativo, perfectivo y preventivo. También se discuten conceptos clave derivados de la clasificación del software según Meir Lehman. Ideal para estudiantes y profesionales del campo de la informática.

    More Like This

    Software Maintenance Types Quiz
    10 questions

    Software Maintenance Types Quiz

    RecordSettingSmokyQuartz avatar
    RecordSettingSmokyQuartz
    Software Maintenance and Laws Quiz
    12 questions
    Use Quizgecko on...
    Browser
    Browser