ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Apunte ingeniería de software


Enviado por   •  6 de Septiembre de 2023  •  Apuntes  •  2.080 Palabras (9 Páginas)  •  103 Visitas

Página 1 de 9

Apuntes I1 Software

  1. Proceso de desarrollo de software
  • Conjunto estructurado de actividades requeridas para desarrollar un sistema de software.
  • ¿Por qué?
  • Encontrar y repetir buenas prácticas.
  • Administrar recursos, estimar y planear.
  • ¿Cómo elegir un modelo?
  • Factores organizacionales y humanos.
  • Factores tecnológicos.
  • Factores del negocio.
  • Factores regulatorios.

Modelo de cascada

[pic 1]

Ventajas

Desventajas

  • Simple y fácil de entender.
  • Similar a procesos de manufactura o construcción.
  • Cada fase tiene un input y un output definido.
  • Se facilita asignar recursos.
  • Se puede saber cuánto llevamos y cuánto falta.
  • No funciona en la práctica (salvo proyectos cortos).
  • No se conocen todos los requisitos al comienzo.
  • Cambian los requisitos durante en proyecto.
  • Riesgo alto hasta etapas avanzadas del proyecto.

Procesos iterativos

  • Secuencia de iteraciones.
  • No es necesario que se produzca código en cada iteración.
  • Modelo espiral, de prototipos y unificado.

Modelo espiral

  • Considera el riesgo de forma explícita.
  • Cada iteración consta de 4 fases:
  1. Análisis de requisitos.
  2. Construcción.
  3. Evaluación y análisis de riesgo.
  4. Planeación de la siguiente iteración.

[pic 2]

Ventajas

Desventajas

  • Manejo de riesgo.
  • Flexibilidad en los requerimientos.
  • Involucra retroalimentación del cliente.
  • Desarrollo en partes donde el riesgo se puede manejar de forma separada.
  • Permite uso extensivo de prototipos.
  • Depende mucho del análisis de riesgo.
  • No se sabe en etapa temprana cuándo finalizará el proyecto.
  • Requiere una inversión importante en la planeación, análisis de riesgo y evaluaciones.

Modelo de prototipos

  • Proceso basado en prototipos.
  • El prototipo se usa para que el usuario pueda evaluar la propuesta en forma temprana y resolver el dilema de “el usuario sólo sabrá lo que quería cuando le muestres el resultado”.
  • Prototipo desechable: sólo se usa para asegurar que el usuario valide lo que se está construyendo, después se desecha.
  • Prototipo evolutivo: evoluciona hasta convertirse en producto final.

Ventajas

Desventajas

  •  Permite enfrentar falta de claridad de requerimientos.
  • Menor tiempo.
  • Involucramiento del usuario.
  • Menor frustración y ansiedad.
  • Permite introducir nuevo sistema gradualmente.
  • Aumento satisfacción usuario.
  • Difícil de planificar (cuántos prototipos, tiempo).
  • Usuario puede no estar nunca satisfecho.
  • Análisis incompleto de requisitos.
  • Omisión de requerimientos no funcionales.
  • Puede quedar distinto al prototipo.

Modelo unificado

  • Considera un desarrollo en 4 fases, en las cuales se llevan a cabo distintas actividades.
  1. Inicio: definir el alcance del sistema para validar los costos y presupuestos iniciales.
  2. Elaboración: Establecer cómo se construirá el sistema dadas las restricciones existentes.
  3. Construcción: Construir un sistema que opere exitosamente (beta).
  4. Transición: Entregar el sistema totalmente funcional a los clientes.

Ventajas

Desventajas

  • Permite abordar cambios en los requerimientos.
  • Reduce el riesgo en etapa temprana.
  • Mejora el control del proceso y el manejo de riesgos.
  • Complejo de llevar a cabo en grupos pequeños (una persona asume muchos roles).
  • No es necesariamente incremental, no se adapta a metodologías ágiles.

Procesos iterativos incrementales

  • Permite desarrollar un sistema a través de iteraciones, en las cuales se produce un incremento de valor para el cliente con funcionalidades listas para ser usadas.

Ventajas

Desventajas

  • Abordar cambios en los requerimientos puede ser fácil.
  • Usualmente el cliente tendrá un producto con funcionalidades listas.
  • La entrega de un producto inicial es rápida.
  •  Requiere un efectivo plan de iteraciones.
  • Requiere un diseño eficiente para garantizar la inclusión de la funcionalidad requerida y la previsión de cambios posteriores.

Procesos ágiles

  • Los procesos ágiles están basados en el manifiesto ágil y son de naturaleza adaptativa.
  • Xtreme programming, scrum.
  • Valores del manifiesto ágil:
  1. Individuos e interacciones por sobre procesos y herramientas.
  2. Software funcionando sobre documentación extensiva.
  3. Colaboración con el cliente sobre negociación contractual.
  4. Responder a los cambios en lugar de apegarse a un plan.
  • Principios del manifiesto ágil:

Satisfacer al cliente

Aceptamos los cambios

Entregas frecuentes

Reflexiona y ajusta

Personas motivadas

Comunicación cara a cara

Software funcional

Ritmo sostenible

Excelencia técnica

Maximiza simplicidad

Equipos auto-organizados

Negocio y desarrollo juntos

...

Descargar como (para miembros actualizados)  txt (15 Kb)   pdf (139 Kb)   docx (818 Kb)  
Leer 8 páginas más »
Disponible sólo en Clubensayos.com