Podcast
Questions and Answers
¿Cuál es el principal objetivo del mantenimiento del software?
¿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?
¿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?
¿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?
¿Qué tipo de software se clasifica como Software Estático o Simple?
El mantenimiento perfectivo se refiere a:
El mantenimiento perfectivo se refiere a:
Según Lehman, el Software Pragmático se caracteriza por:
Según Lehman, el Software Pragmático se caracteriza por:
El objetivo del mantenimiento preventivo es:
El objetivo del mantenimiento preventivo es:
¿Cuál de los siguientes no es un tipo de mantenimiento del software?
¿Cuál de los siguientes no es un tipo de mantenimiento del software?
¿Qué tipo de mantenimiento implica mejorar la estructura del código sin cambiar su comportamiento externo?
¿Qué tipo de mantenimiento implica mejorar la estructura del código sin cambiar su comportamiento externo?
¿Cuál es uno de los problemas administrativos más relevantes en el mantenimiento de software?
¿Cuál es uno de los problemas administrativos más relevantes en el mantenimiento de software?
¿Qué significa el costo del ciclo de vida en el desarrollo de software?
¿Qué significa el costo del ciclo de vida en el desarrollo de software?
¿Qué técnica de mantenimiento se usa para analizar y comprender los componentes y dependencias del software?
¿Qué técnica de mantenimiento se usa para analizar y comprender los componentes y dependencias del software?
¿Cuál de los siguientes problemas técnicos se relaciona con la dificultad para prever el impacto de los cambios en el software?
¿Cuál de los siguientes problemas técnicos se relaciona con la dificultad para prever el impacto de los cambios en el software?
¿Qué actividad no es parte de los tres tipos de trabajo que realiza un ingeniero de software?
¿Qué actividad no es parte de los tres tipos de trabajo que realiza un ingeniero de software?
¿Qué técnica se utiliza para rediseñar y reestructurar el software a fin de mejorar su mantenibilidad?
¿Qué técnica se utiliza para rediseñar y reestructurar el software a fin de mejorar su mantenibilidad?
¿Cuál es la principal finalidad de las pruebas de regresión?
¿Cuál es la principal finalidad de las pruebas de regresión?
¿Cuál es la principal característica del software evolutivo?
¿Cuál es la principal característica del software evolutivo?
Según la Ley 2 de la evolución del software, ¿qué ocurre con el costo de cambiar el software a medida que envejece?
Según la Ley 2 de la evolución del software, ¿qué ocurre con el costo de cambiar el software a medida que envejece?
¿Qué sugiere la Ley 4 sobre la funcionalidad y la estructura del software?
¿Qué sugiere la Ley 4 sobre la funcionalidad y la estructura del software?
La Ley 6 establece que el sistema de software debe ser adaptado a cambios en qué aspecto?
La Ley 6 establece que el sistema de software debe ser adaptado a cambios en qué aspecto?
¿Cuál de las siguientes afirmaciones describe mejor el impacto del tiempo en la complejidad del software?
¿Cuál de las siguientes afirmaciones describe mejor el impacto del tiempo en la complejidad del software?
¿Por qué es inevitable la evolución del software, según la Ley 1?
¿Por qué es inevitable la evolución del software, según la Ley 1?
¿Qué tipo de mantenimiento se necesita para el software evolutivo?
¿Qué tipo de mantenimiento se necesita para el software evolutivo?
¿Qué tipo de software es más propenso a la evolución continua?
¿Qué tipo de software es más propenso a la evolución continua?
¿Cuál es el propósito principal de la reingeniería de software?
¿Cuál es el propósito principal de la reingeniería de software?
¿Cuál de las siguientes es una técnica utilizada en la reingeniería de software?
¿Cuál de las siguientes es una técnica utilizada en la reingeniería de software?
Qué componente mejora la mantenibilidad y comprensión del código durante la reingeniería?
Qué componente mejora la mantenibilidad y comprensión del código durante la reingeniería?
¿Cuál de los siguientes aspectos no es parte de la gestión de calidad del software?
¿Cuál de los siguientes aspectos no es parte de la gestión de calidad del software?
¿Qué establece la gestión de calidad del software para garantizar un mejor producto?
¿Qué establece la gestión de calidad del software para garantizar un mejor producto?
La reestructuración de datos se enfoca principalmente en:
La reestructuración de datos se enfoca principalmente en:
¿Cuál es un resultado esperado de aplicar la reingeniería a un sistema de software?
¿Cuál es un resultado esperado de aplicar la reingeniería a un sistema de software?
¿Cuál de las siguientes afirmaciones es cierta sobre la aplicación de procesos de calidad en software?
¿Cuál de las siguientes afirmaciones es cierta sobre la aplicación de procesos de calidad en software?
¿Cuál es el objetivo principal del aseguramiento de calidad (QA)?
¿Cuál es el objetivo principal del aseguramiento de calidad (QA)?
¿Qué se entiende por control de calidad?
¿Qué se entiende por control de calidad?
¿Cuál de los siguientes describe mejor el modelo CMMI?
¿Cuál de los siguientes describe mejor el modelo CMMI?
¿Qué enfoque utiliza GQM para evaluar métricas de software?
¿Qué enfoque utiliza GQM para evaluar métricas de software?
¿Cuál es la principal finalidad del método PSP?
¿Cuál es la principal finalidad del método PSP?
¿Cuál es el objetivo del proyecto Bootstrap en relación con el software?
¿Cuál es el objetivo del proyecto Bootstrap en relación con el software?
¿Qué función tiene el equipo de QA en una compañía?
¿Qué función tiene el equipo de QA en una compañía?
En el contexto del aseguramiento de calidad, ¿por qué se considera el término 'control de calidad' poco adecuado?
En el contexto del aseguramiento de calidad, ¿por qué se considera el término 'control de calidad' poco adecuado?
¿Cuál es el objetivo principal de SPICE?
¿Cuál es el objetivo principal de SPICE?
¿Qué incluye el marco ITIL?
¿Qué incluye el marco ITIL?
¿Cuál es una característica de COBIT?
¿Cuál es una característica de COBIT?
¿Qué busca MOPROSOFT para las pequeñas y medianas empresas de software?
¿Qué busca MOPROSOFT para las pequeñas y medianas empresas de software?
¿Cuál de las siguientes afirmaciones sobre las revisiones de código es correcta?
¿Cuál de las siguientes afirmaciones sobre las revisiones de código es correcta?
¿En qué consiste la técnica de inspección de programa?
¿En qué consiste la técnica de inspección de programa?
¿Cómo se estructuran los procesos en MOPROSOFT?
¿Cómo se estructuran los procesos en MOPROSOFT?
¿Cuál es una diferencia entre SPICE y CMMI?
¿Cuál es una diferencia entre SPICE y CMMI?
Flashcards
Software Evolution
Software Evolution
Adaptation of software to changing operational conditions or new problems.
Software E (Evolutionary Software)
Software E (Evolutionary Software)
Software constantly evolving to meet ever-changing requirements, especially in large, interactive systems.
Lehman's Law 1
Lehman's Law 1
Software must evolve; users' needs change, requiring software to adapt to stay relevant.
Lehman's Law 2
Lehman's Law 2
Signup and view all the flashcards
Lehman's Law 3
Lehman's Law 3
Signup and view all the flashcards
Lehman's Law 4
Lehman's Law 4
Signup and view all the flashcards
Lehman's Law 5
Lehman's Law 5
Signup and view all the flashcards
Lehman's Law 6
Lehman's Law 6
Signup and view all the flashcards
Software Maintenance
Software Maintenance
Signup and view all the flashcards
Corrective Maintenance
Corrective Maintenance
Signup and view all the flashcards
Adaptive Maintenance
Adaptive Maintenance
Signup and view all the flashcards
Perfective Maintenance
Perfective Maintenance
Signup and view all the flashcards
Preventive Maintenance
Preventive Maintenance
Signup and view all the flashcards
Static (Simple) Software
Static (Simple) Software
Signup and view all the flashcards
Pragmatic (Problem-solving) Software
Pragmatic (Problem-solving) Software
Signup and view all the flashcards
Maintenance Types
Maintenance Types
Signup and view all the flashcards
Software Adaptation
Software Adaptation
Signup and view all the flashcards
Evolutionary Software
Evolutionary Software
Signup and view all the flashcards
Lifecycle Cost
Lifecycle Cost
Signup and view all the flashcards
Maintenance Problems
Maintenance Problems
Signup and view all the flashcards
Refactoring
Refactoring
Signup and view all the flashcards
Reengineering
Reengineering
Signup and view all the flashcards
Regression Testing
Regression Testing
Signup and view all the flashcards
Software Engineer Roles
Software Engineer Roles
Signup and view all the flashcards
Software Re-engineering
Software Re-engineering
Signup and view all the flashcards
Reverse Engineering
Reverse Engineering
Signup and view all the flashcards
Code Restructuring
Code Restructuring
Signup and view all the flashcards
Data Restructuring
Data Restructuring
Signup and view all the flashcards
Forward Engineering
Forward Engineering
Signup and view all the flashcards
Software Quality Management
Software Quality Management
Signup and view all the flashcards
Quality Standards
Quality Standards
Signup and view all the flashcards
Software Quality Plan
Software Quality Plan
Signup and view all the flashcards
QA (Quality Assurance)
QA (Quality Assurance)
Signup and view all the flashcards
Control Quality
Control Quality
Signup and view all the flashcards
CMMI (Capability Maturity Model Integration)
CMMI (Capability Maturity Model Integration)
Signup and view all the flashcards
Bootstrap
Bootstrap
Signup and view all the flashcards
PSP (Personal Software Process)
PSP (Personal Software Process)
Signup and view all the flashcards
GQM (Goal-Question-Metric)
GQM (Goal-Question-Metric)
Signup and view all the flashcards
independent QA team
independent QA team
Signup and view all the flashcards
Software Release Process
Software Release Process
Signup and view all the flashcards
SPICE Framework
SPICE Framework
Signup and view all the flashcards
COBIT Framework
COBIT Framework
Signup and view all the flashcards
ITIL Framework
ITIL Framework
Signup and view all the flashcards
MOPROSOFT Model
MOPROSOFT Model
Signup and view all the flashcards
Software Quality Reviews
Software Quality Reviews
Signup and view all the flashcards
Code Inspection
Code Inspection
Signup and view all the flashcards
Metrics and Analysis
Metrics and Analysis
Signup and view all the flashcards
Software Process Improvement
Software Process Improvement
Signup and view all the flashcards
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.
Related Documents
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.