Mantenimiento de Software
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 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 (A)</p> Signup and view all the answers

El mantenimiento perfectivo se refiere a:

<p>Mejorar la funcionalidad añadiendo características (A)</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 (A)</p> Signup and view all the answers

El objetivo del mantenimiento preventivo es:

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

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

<p>Mantenimiento crítico (D)</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 (A)</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 (D)</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. (D)</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 (B)</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 (D)</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 (C)</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 (B)</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. (B)</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. (C)</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. (B)</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. (A)</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. (A)</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. (B)</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. (B)</p> Signup and view all the answers

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

<p>Mantenimiento correctivo, perfectivo y adaptativo. (D)</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. (D)</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 (B)</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 (A)</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 (B)</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 (A)</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 (D)</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 (D)</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 (B)</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 (C)</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. (A)</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. (C)</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. (C)</p> Signup and view all the answers

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

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

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

<p>Desarrollar habilidades individuales para reducir defectos. (C)</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. (B)</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. (B)</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. (C)</p> Signup and view all the answers

¿Cuál es el objetivo principal de SPICE?

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

¿Qué incluye el marco ITIL?

<p>Una serie de etapas como estrategia y mejora continua (A)</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 (D)</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 (D)</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 (A)</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 (C)</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 (A)</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 (B)</p> Signup and view all the answers

Flashcards

Software Evolution

Adaptation of software to changing operational conditions or new problems.

Software E (Evolutionary Software)

Software constantly evolving to meet ever-changing requirements, especially in large, interactive systems.

Lehman's Law 1

Software must evolve; users' needs change, requiring software to adapt to stay relevant.

Lehman's Law 2

Changing/maintaining software costs increase over time due to complexity & accumulated errors.

Signup and view all the flashcards

Lehman's Law 3

Software needs adaptation to operational environment changes (hardware, OS, etc.).

Signup and view all the flashcards

Lehman's Law 4

Software functionality increases, but structure tends to degrade.

Signup and view all the flashcards

Lehman's Law 5

Software complexity increases over time due to new features and system interactions.

Signup and view all the flashcards

Lehman's Law 6

Continuous adaptation to technology changes is necessary for software.

Signup and view all the flashcards

Software Maintenance

Process of updating and changing software after launch, to fix bugs, improve performance, and meet updated needs.

Signup and view all the flashcards

Corrective Maintenance

Fixing errors or bugs found in software after its release.

Signup and view all the flashcards

Adaptive Maintenance

Adjusting software to operate in changing environments (hardware, software, OS).

Signup and view all the flashcards

Perfective Maintenance

Improving software functionality or performance by adding or optimizing features.

Signup and view all the flashcards

Preventive Maintenance

Maintaining software to prevent future problems and make it run efficiently.

Signup and view all the flashcards

Static (Simple) Software

Software with well-defined, unchanging requirements and a stable operating environment.

Signup and view all the flashcards

Pragmatic (Problem-solving) Software

Software designed to solve specific problems, but potentially needing adjustments due to changing requirements or environments.

Signup and view all the flashcards

Maintenance Types

Corrective, adaptive, perfective, and preventive. Each addresses different software lifecycles needs.

Signup and view all the flashcards

Software Adaptation

Software must adapt to new technologies to remain competitive.

Signup and view all the flashcards

Evolutionary Software

Software needs to change based on changes in users or the organization.

Signup and view all the flashcards

Lifecycle Cost

The total cost of developing and maintaining software.

Signup and view all the flashcards

Maintenance Problems

Issues encountered during the process of maintaining software, categorized as administrative or technical.

Signup and view all the flashcards

Refactoring

Improving code structure without changing its external behavior (making it easier to maintain).

Signup and view all the flashcards

Reengineering

Redesigns and restructuring software for better maintainability and to update it.

Signup and view all the flashcards

Regression Testing

Checks that recent changes haven't introduced errors into existing software.

Signup and view all the flashcards

Software Engineer Roles

Software engineers conduct software development, maintenance, and software system operation.

Signup and view all the flashcards

Software Re-engineering

A process to improve existing software by analyzing, modifying, and enhancing it for better functionality, efficiency, and security.

Signup and view all the flashcards

Reverse Engineering

Analyzing a program to understand its components, dependencies, and structure.

Signup and view all the flashcards

Code Restructuring

Improving the internal structure of code to increase maintainability and readability.

Signup and view all the flashcards

Data Restructuring

Optimizing data organization to enhance performance and efficiency.

Signup and view all the flashcards

Forward Engineering

Applying changes and improvements to existing software based on analysis.

Signup and view all the flashcards

Software Quality Management

Ensuring software meets required standards in terms of maintainability, reliability, portability, etc., and that defects are minimized.

Signup and view all the flashcards

Quality Standards

Defined processes and standards for software development to guarantee quality.

Signup and view all the flashcards

Software Quality Plan

A plan defining procedures and processes to guarantee the quality of a software project.

Signup and view all the flashcards

QA (Quality Assurance)

Defining processes and standards for high-quality products, including quality checks in manufacturing.

Signup and view all the flashcards

Control Quality

Applying QA processes to remove products that don't meet quality standards.

Signup and view all the flashcards

CMMI (Capability Maturity Model Integration)

Model for software develop. and maintenance. Improving software process quality in 5 levels of maturity.

Signup and view all the flashcards

Bootstrap

European project for evaluating software maturity in small-to-medium businesses; provides criteria for evaluation and improvement.

Signup and view all the flashcards

PSP (Personal Software Process)

Methodology to increase individual software engineers' productivity and quality by planning and reviewing.

Signup and view all the flashcards

GQM (Goal-Question-Metric)

Structured approach to defining and evaluating software metrics through goals, questions, and metrics.

Signup and view all the flashcards

independent QA team

QA team reporting to a higher-level management than the project manager, ensuring impartial testing.

Signup and view all the flashcards

Software Release Process

Process managed by the QA team. Ensures software meets quality standards before release.

Signup and view all the flashcards

SPICE Framework

A framework for improving and evaluating software processes, similar to CMMI, but more focused on ISO standards.

Signup and view all the flashcards

COBIT Framework

A framework for IT governance and management, aligning IT systems with organizational goals.

Signup and view all the flashcards

ITIL Framework

A set of best practices for IT service management, focusing on high-quality services and business needs.

Signup and view all the flashcards

MOPROSOFT Model

A software process model designed for Mexican SMEs, focusing on organizational and technical process improvements.

Signup and view all the flashcards

Software Quality Reviews

Evaluations of software deliverables to ensure quality standards are met, commonly using inspections.

Signup and view all the flashcards

Code Inspection

A technique where a team systematically reviews code to detect errors and omissions.

Signup and view all the flashcards

Metrics and Analysis

The measurement of goals to facilitate analysis and continuous improvement, connecting organizational objectives to specific measurable questions.

Signup and view all the flashcards

Software Process Improvement

Systematic methods to enhance software development processes, ensuring quality, efficiency, and alignment with business goals.

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.

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