Bloque 3 - Tema 1: Ciclo de Vida de los Sistemas

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Listen to an AI-generated conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

¿Qué es el software según IEEE Std. 610?

Programas, procedimientos y documentación y datos asociados, relacionados con la operación de un sistema informático.

Menciona tres componentes del software.

Programas, datos y documentos.

El software solo consiste en programas.

False (B)

¿Cuáles son las características del software?

<p>Es un elemento lógico. (B), Se desarrolla, no se fabrica. (C)</p>
Signup and view all the answers

Define 'ingeniería del software'.

<p>Es el estudio de los principios y metodologías para el desarrollo y mantenimiento de sistemas de software.</p>
Signup and view all the answers

¿Cuáles son algunos tipos de software?

<p>Software de inteligencia artificial (A), Software de sistemas (C), Software de aplicaciones (D)</p>
Signup and view all the answers

La ___________ del software se refiere a la capacidad de un sistema para realizar tareas específicas de manera confiable.

<p>fiabilidad</p>
Signup and view all the answers

¿Qué es la 'crisis del software'?

<p>Es un conjunto de problemas que afectan el desarrollo del software, incluyendo falta de fiabilidad, altas expectativas no cumplidas y costos imprecisos.</p>
Signup and view all the answers

¿Qué época se caracteriza por el software orientado a los sistemas expertos y la inteligencia artificial?

<p>Cuarta época (a partir de 1990) (B)</p>
Signup and view all the answers

¿Cuál es la primera etapa de la ingeniería de software?

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

¿Qué documento se elabora después del análisis de requisitos?

<p>Especificación de Requisitos</p>
Signup and view all the answers

¿Cuáles son los tipos de mantenimiento que se pueden llevar a cabo en software?

<p>Correctivo (A), Evolutivo (B), Perfectivo (C), Adaptativo (D)</p>
Signup and view all the answers

El modelo en cascada permite realizar iteraciones en cada fase del desarrollo.

<p>False (B)</p>
Signup and view all the answers

¿Qué significa la 'V' en el modelo en V?

<p>Validación y Verificación</p>
Signup and view all the answers

El modelo _______ combina los enfoques del modelo en cascada y el modelo iterativo.

<p>incremental</p>
Signup and view all the answers

¿Qué desventaja tiene el modelo en cascada?

<p>No permite revisiones intermedias (C)</p>
Signup and view all the answers

¿Quién introdujo el modelo en cascada?

<p>Royce</p>
Signup and view all the answers

¿Cuál es el objetivo principal de la ingeniería del software?

<p>Construir productos de alta calidad de manera oportuna</p>
Signup and view all the answers

¿Qué fases se incluyen en el modelo en V?

<p>Diseño (A), Implementación (B), Determinación de requisitos (D)</p>
Signup and view all the answers

¿Cuáles son las desventajas del modelo de análisis de riesgos?

<p>Es poco operativo para sistemas pequeños. (A), Genera mucho trabajo adicional. (B)</p>
Signup and view all the answers

El modelo en espiral incorpora puntos de fijación para ayudar en el proceso.

<p>True (A)</p>
Signup and view all the answers

¿Qué es un prototipo clásico?

<p>Un prototipo desechable que ayuda al cliente a identificar requisitos.</p>
Signup and view all the answers

El enfoque RAD se utiliza para entregar sistemas de manera __________.

<p>rápida</p>
Signup and view all the answers

¿Cuáles son las fases del Proceso Unificado de Desarrollo Software (PUDS)?

<p>Elaboración (A), Construcción (B), Transición (C), Iniciación (D)</p>
Signup and view all the answers

¿Qué significa RAD?

<p>Desarrollo Rápido de Aplicaciones</p>
Signup and view all the answers

El prototipado siempre crea expectativas incorrectas en el usuario.

<p>False (B)</p>
Signup and view all the answers

¿Qué procesos incluye la norma ISO/IEC 12207?

<p>Proceso de mantenimiento (A), Proceso de adquisición (C)</p>
Signup and view all the answers

¿Cuáles son las características del modelo orientado a objetos propuesto por Bertrand Meyer?

<p>Agrupamiento, eliminación de fronteras entre fases, desarrollo iterativo e incremental.</p>
Signup and view all the answers

Flashcards are hidden until you start studying

Study Notes

Concepto de ciclo de vida de los sistemas y modelos de ciclo de vida

  • El software es un conjunto de programas, procedimientos y documentación relacionados con la operación de un sistema informático (IEEE Std. 610)
  • Los componentes del software son: programas (instrucciones), datos y documentos
  • Las características del software son:
    • Es lógico y no físico (se diferencia del hardware)
    • Se desarrolla, no se fabrica
    • Cada producto software es único y diferente
    • No se deteriora, pero sí sufre cambios (mantenimiento)
    • La industria del software es nueva y en desarrollo

Ingeniería del software

  • La ingeniería del software es un enfoque para desarrollar software de alta calidad
  • La historia de la ingeniería del software comenzó con la crisis del software en la década de 1960
  • Las etapas de la ingeniería del software son:
    • Análisis de requisitos
    • Diseño
    • Implementación
    • Pruebas y validación
    • Mantenimiento
  • El objetivo principal de la ingeniería del software es desarrollar software que cumpla con los requisitos del cliente
  • Los principios de la ingeniería del software son:
    • Disciplina
    • Metodología
    • Reutilización
    • Abstracción
    • Modularidad

Ciclos de vida de desarrollo software

  • Un ciclo de vida de desarrollo software es el proceso de desarrollo del software desde la concepción hasta la entrega
  • Los modelos de ciclo de vida de software son:
    • Modelo code and fix
    • Modelo en cascada
    • Modelo en V
    • Modelo iterativo o evolutivo
    • Modelo de desarrollo incremental
    • Modelo en espiral
    • Modelo de prototipos
    • Modelos basados en transformaciones
    • Modelo orientado a objetos

Desarrollo iterativo e incremental

  • El desarrollo iterativo e incremental es un enfoque para desarrollar software en pequeñas partes y revisarlas iterativamente
  • Rapid Application Development (RAD) y Proceso Unificado de Desarrollo Software (PUDS) son dos ejemplos de modelos de desarrollo iterativo e incremental### Introducción a la Ingeniería del Software
  • La ingeniería del software se define como el conjunto de conocimientos y técnicas que permiten aplicar el saber científico a la utilización de la materia y de las fuentes de energía.
  • La ingeniería del software es la aplicación práctica del conocimiento científico al diseño y construcción de programas de computadora y a la documentación asociada requerida para desarrollar, operar y mantenerlos.

Historia de la Ingeniería del Software

  • El término ingeniería del software apareció por primera vez en la conferencia de ingeniería de software de la OTAN en 1968.
  • La ingeniería del software se ha desarrollado a partir de la programación y tiene como objetivo crear software de alta calidad, barato, con capacidad de mantenimiento y rápido de construir.

Etapas del Desarrollo del Software

  • Análisis de requisitos: extraer los requisitos de un producto software es la primera etapa para crearlo.
  • Especificación: escribir detalladamente el software a ser desarrollado, en una forma matemáticamente rigurosa.
  • Diseño y arquitectura: determinar cómo funcionará el software de forma general sin entrar en detalles.
  • Programación: reducir un diseño a código.
  • Prueba: comprobar que el software realice correctamente las tareas indicadas en la especificación del problema.
  • Mantenimiento: mantener y mejorar el software para solventar errores descubiertos y tratar con nuevos requisitos.

Objetivo Principal de la Ingeniería del Software

  • El objetivo primario de la ingeniería del software es construir un producto de alta calidad de una manera oportuna.
  • La ingeniería del software implica un conjunto de principios fundamentales que deberían seguirse siempre.

Principios de la Ingeniería del Software

  • Haz de la calidad la razón de trabajar.
  • Una buena gestión es más importante que una buena tecnología.
  • Las personas y el tiempo no son intercambiables.
  • Seleccionar el modelo de ciclo de vida adecuado.
  • Entregar productos al usuario lo más pronto posible.

Elementos Clave de la Ingeniería del Software

  • Procesos: un marco de trabajo que ayuda al jefe de proyecto a controlar la gestión del proyecto y las actividades de ingeniería.
  • Métodos: las actividades técnicas requeridas para la creación de productos de trabajo.### Introducción a los Modelos de Ciclo de Vida del Software
  • Un ciclo de vida es el conjunto de fases por las que pasa un sistema que se está desarrollando desde que nace la idea inicial hasta que el software es retirado o remplazado.
  • Un modelo de ciclo de vida describe las fases del ciclo de software y el orden en que se ejecutan las fases.

Fases de un Modelo de Ciclo de Vida

  • Determinar el orden de las fases del proceso de software
  • Establecer los criterios de transición para pasar de una fase a la siguiente
  • Definir las entradas y salidas de cada fase
  • Describir los estados por los que pasa el producto
  • Describir las actividades a realizar para transformar el producto
  • Definir un esquema que sirve como base para planificar, organizar, coordinar, desarrollar…

Modelos de Ciclo de Vida del Software

1. Modelo Code and Fix

  • No aplica ningún modelo de ciclo de vida, comenzando a codificar inmediatamente y detectando errores en la marcha
  • No es recomendable debido a los altos costes de mantenimiento a largo plazo

2. Modelo en Cascada (Waterfall)

  • Desarrollo secuencial, cada fase se inicia después de la finalización de la anterior
  • Fases: especificación de requisitos, diseño, construcción, integración, pruebas, instalación, mantenimiento
  • Ventajas:
    • Las etapas están organizadas de un modo lógico
    • Cada etapa incluye un proceso de revisión
    • El ciclo es iterativo
  • Inconvenientes:
    • No se pueden realizar revisiones o validaciones intermedias
    • No se pueden detectar errores hasta el final del proceso
    • El modelo asume que los requisitos del sistema pueden ser congelados antes de comenzar el diseño

3. Modelo en V

  • Se introducen pruebas en cada fase del ciclo de vida
  • El modelo en V establece que las pruebas necesitan empezarse lo más pronto posible en el ciclo de vida
  • Ventajas:
    • Se puede detectar problemas más temprano en el ciclo de vida
    • Se pueden realizar pruebas en paralelo con las actividades de desarrollo
  • Inconvenientes:
    • Es un modelo muy rígido
    • No se producen prototipos del software
    • No proporciona caminos claros para problemas encontrados durante las fases de pruebas

4. Modelo Iterativo o Evolutivo

  • Derivado del ciclo de vida en cascada
  • Se entrega al cliente una versión mejorada del producto al final de cada iteración
  • Ventajas:
    • No se requiere que todos los requisitos estén definidos al inicio del desarrollo
    • Se puede desarrollar software operativo en etapas tempranas del ciclo de vida
  • Inconvenientes:
    • No se pueden conocer todos los requisitos al comienzo
    • Pueden surgir problemas relacionados con la arquitectura del sistema

5. Modelo de Desarrollo Incremental

  • Combina elementos del modelo en cascada con la filosofía interactiva de construcción de prototipos
  • Se entrega al cliente una versión operativa del software en cada incremento
  • Ventajas:
    • Se puede generar software operativo en etapas tempranas del ciclo de vida
    • Es más fácil probar y depurar en una iteración más pequeña
  • Inconvenientes:
    • Se requiere experiencia para definir los incrementos y distribuir tareas
    • Cada fase de una iteración es rígida y no se superponen con otras

6. Modelo en Espiral

  • Desarrollo en espiral es un modelo de ciclo de vida que se utiliza para proyectos largos, caros y complicados
  • Combinación de las características del modelo de prototipos y el modelo en cascada
  • Se comienza evaluando las posibles alternativas de desarrollo y se opta por la de riesgos más asumibles
  • Ventajas:
    • El análisis de riesgos se hace de forma explícita y clara reduciendo riesgos del proyecto
    • Incorpora objetivos de calidad
    • Integra el desarrollo con el mantenimiento
  • Inconvenientes:
    • Es un modelo complejo que requiere experiencia
    • No es adecuado para proyectos pequeños o simples

Studying That Suits You

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

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser