Podcast
Questions and Answers
¿Cuáles son los atributos que deben tener los productos de software?
¿Cuáles son los atributos que deben tener los productos de software?
Mantenibilidad, confiabilidad, eficiencia y usabilidad.
¿Cuál es la diferencia principal entre productos de software genéricos y hechos a medida?
¿Cuál es la diferencia principal entre productos de software genéricos y hechos a medida?
Los productos genéricos se venden al por mayor, mientras que los hechos a medida son diseñados para un cliente específico.
¿Qué caracteriza al modelo de desarrollo evolutivo en comparación con el modelo de cascada?
¿Qué caracteriza al modelo de desarrollo evolutivo en comparación con el modelo de cascada?
El modelo de desarrollo evolutivo considera las actividades del proceso de forma concurrente, a diferencia del modelo de cascada que trata cada actividad como discreta.
¿Qué importancia tienen las características del producto en el desarrollo de software?
¿Qué importancia tienen las características del producto en el desarrollo de software?
Signup and view all the answers
¿Qué se entiende por proceso de software?
¿Qué se entiende por proceso de software?
Signup and view all the answers
¿Cuáles son las responsabilidades éticas de los ingenieros de software?
¿Cuáles son las responsabilidades éticas de los ingenieros de software?
Signup and view all the answers
¿Cuál es la función principal de la visibilidad del proceso en ingeniería de software?
¿Cuál es la función principal de la visibilidad del proceso en ingeniería de software?
Signup and view all the answers
¿Cuál es una de las mayores fuentes de gasto en el desarrollo de software?
¿Cuál es una de las mayores fuentes de gasto en el desarrollo de software?
Signup and view all the answers
¿Qué implica que un software sea mantenible?
¿Qué implica que un software sea mantenible?
Signup and view all the answers
¿Por qué el software debe ser confiable?
¿Por qué el software debe ser confiable?
Signup and view all the answers
¿Cuáles son las fases del modelo de cascada?
¿Cuáles son las fases del modelo de cascada?
Signup and view all the answers
Nombra al menos dos características del proceso de desarrollo de software.
Nombra al menos dos características del proceso de desarrollo de software.
Signup and view all the answers
¿Qué problemas puede tener el modelo de proceso de software?
¿Qué problemas puede tener el modelo de proceso de software?
Signup and view all the answers
¿Qué es el prototipado throw-away?
¿Qué es el prototipado throw-away?
Signup and view all the answers
Menciona una ventaja del modelo en espiral.
Menciona una ventaja del modelo en espiral.
Signup and view all the answers
¿Cuál es el enfoque del desarrollo evolutivo?
¿Cuál es el enfoque del desarrollo evolutivo?
Signup and view all the answers
¿Qué se entiende por modelos de procesos híbridos?
¿Qué se entiende por modelos de procesos híbridos?
Signup and view all the answers
¿Qué riesgos se asocian con el modelo de cascada?
¿Qué riesgos se asocian con el modelo de cascada?
Signup and view all the answers
¿Cuáles son las fases del modelo en espiral?
¿Cuáles son las fases del modelo en espiral?
Signup and view all the answers
¿Qué problemas presenta el desarrollo evolutivo?
¿Qué problemas presenta el desarrollo evolutivo?
Signup and view all the answers
Study Notes
Ingeniería de Software
- La Ingeniería de Software se enfoca en las teorías, métodos y herramientas para el desarrollo, la administración y la evolución de productos de software.
- Los productos de software consisten en programas y documentación.
- Los atributos de los productos deben ser mantenibles, confiables, eficientes y fáciles de usar.
- Un proceso de software implica todas las actividades involucradas en su desarrollo.
Productos de Software
- Los productos de software se clasifican en genéricos y hechos a medida.
- Los productos genéricos son desarrollados para su venta masiva.
- Los productos hechos a medida se adaptan a las necesidades específicas de un cliente o desarrollador.
- La mayoría del gasto en software se destina a productos genéricos, pero el esfuerzo en los sistemas hechos a medida es mayor.
-
Características de los productos de software:
- Mantenible: El software debe evolucionar y seguir cumpliendo con los requerimientos.
- Confiable: El software no debe causar fallos físicos o económicos.
- Eficiente: El software no debe desperdiciar recursos del sistema.
- Fácil de usar: El software debe proporcionar una interfaz intuitiva para el usuario.
- La importancia de las características depende del tipo de trabajo y ambiente. Por ejemplo, en software crítico de tiempo real, la confiabilidad y eficiencia son cruciales.
- Los costos aumentan exponencialmente al requerir niveles estrictos de determinadas características.
Proceso de Software
- Es un conjunto estructurado de actividades para desarrollar un sistema de software.
- Las actividades incluyen especificación, diseño, validación y evolución.
- Las actividades varían según la organización y el tipo de sistema.
- El proceso debe estar explícitamente modelado para una buena administración.
-
Características del proceso:
- Definido: Debe ser bien definido y comprensible.
- Visible: El proceso debe ser visible.
- Asistido: Apoyado por herramientas CASE (Computer-Aided Software Engineering).
- Aceptable: Aceptado por el personal involucrado.
- Confiable: Los errores del proceso deben detectarse antes de convertirse en errores del producto.
- Robusto: Debe seguir a pesar de problemas inesperados.
- Mantenible: Debe evolucionar para cumplir con objetivos organizacionales.
- Ágil: Debe producirse con rapidez
Modelos de Ingeniería de Proceso
-
Especificación: Establecer los requisitos y restricciones del sistema.
-
Diseño: Modelar la solución.
-
Construcción: Desarrollar el sistema.
-
Prueba: Verificar y validar el cumplimiento con las especificaciones.
-
Instalación: Entregar el sistema al usuario y asegurar su funcionamiento.
-
Mantenimiento: Reparar fallos detectados.
-
Problemas del modelo de proceso:
- Especificaciones incompletas o anómalas.
- Dificultad para distinguir con precisión entre especificación, diseño y construcción.
- Imposibilidad de probar el sistema hasta su finalización.
- Reemplazo del software durante el mantenimiento suele ser difícil.
Modelos Genéricos de Desarrollo de Software
- Cascada: Separa las fases de especificación y desarrollo en etapas distintas.
- Evolutivo: La especificación y el desarrollo se realizan de forma interconectada en lugar de fases discretas.
- Prototipado: Un modelo se utiliza como prototipo para construir el sistema final.
- Transformación Formal: Un modelo matemático se transforma formalmente en la implementación.
- Desarrollo basado en reutilización: El modelo se ensambla a partir de componentes existentes.
Modelo de Cascada
- Fases: Definición de requerimientos, Diseño del sistema y del software, Implementación y pruebas unitarias, Integración y pruebas del sistema, Operación y mantenimiento.
- Dificultades: Realizar cambios entre etapas.
Desarrollo Evolutivo
- Problemas: Poca visibilidad del proceso, Sistemas pobremente especificados, Habilidades especiales requeridas.
- Aplicabilidad: Sistemas interactivos pequeños o medianos, Partes de sistemas grandes (por ejemplo, la interfaz de usuario), Sistemas de corta vida.
Prototipado
- Exploratorio: El objetivo es trabajar con los clientes para obtener el sistema final a partir de una especificación inicial. Se necesita comenzar con especificaciones claras.
- Throw-away: El objetivo es entender los requisitos. Se puede comenzar con especificaciones poco claras.
Problemas y Riesgos de los Modelos
- Cascada: Alto riesgo para sistemas nuevos con especificaciones y diseño complejos, bajo riesgo para desarrollos bien comprendidos.
- Prototipado: Bajo riesgo para aplicar en proyectos nuevos, alto riesgo por falta de visibilidad.
- Evolutivo: Alto riesgo necesita tecnologia avanzada y experiencia del equipo.
Modelos Híbridos
- Los sistemas grandes suelen estar compuestos de varios subsistemas.
- No es necesario usar el mismo modelo de proceso para todos los subsistemas.
- El prototipado es recomendado para especificaciones de alto riesgo.
- El modelo de cascada se usa en desarrollos bien comprendidos.
Modelo en Espiral
- Fases: Planeación de objetivos, Identificación y reducción de riesgos, Desarrollo y validación, Planificación (siguiente iteración).
- Ventajas: Reutilización, eliminación de errores tempranos, Integración de desarrollo con mantenimiento, marco de desarrollo HW/SW.
- Problemas: Desarrollo contractual, experiencia en la identificación de riesgos, refinamiento del modelo para aplicación generalizada.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Description
Este cuestionario explora los conceptos fundamentales de la ingeniería de software, enfocándose en los diferentes tipos de productos, sus características y los procesos involucrados en su desarrollo. Aprende sobre las distinciones entre software genérico y hecho a medida, así como la importancia de la mantenibilidad y confiabilidad en los productos de software.