son

Modelos tradicionales

Basado en prototipos

Codificación

desarrolla el código fuente

Diseño

Se divide en 4 atributos.

La estructura de los datos, la arquitectura del software, el detalle procedimental y la caracterización de la interfaz.

Análisis de los requisitos del software

Se analizan las necesidades de los usuarios
para determinar qué objetivos debe cubrir.

Ingeniería y Análisis del Sistema

establecer los requisitos de todos los elementos del sistema

Prueba

comprueba que funciona correctamente antes de ser puesto en explotación.

Mantenimiento

El software sufrirá cambios como:
adaptarse al entorno externo, o debido a que el cliente requiera ampliaciones funcionales o del rendimiento.

Modelos de proceso Modelos de proceso

Orientados a la reutilizacion

Proceso de desarrollo unificado

Proceso que puede adaptarse y extenderse en función de las necesidades de cada empresa.

Características del Proceso Unificado de Desarrollo

Iterativo e Incremental

reduce el riesgo a los costos de un solo incremento

Dirigido por casos de uso

Establecer el comportamiento deseado del sistema

Centrado en la Arquitectura.

arquitectura software incluye los aspectos estáticos y dinámicos más significativos del sistema.

Basado en componentes

Sistemas orientados a objetos

Eliminación de las fronteras entre fases.

Desarrollo basado en componentes re utilizables.

Desarrollo iterativo e incremental.

Se pueden combinar con modelos tradicionales.

Agrupamiento

Unidad organizativa básica Unidad organizativa básica.

Grupo de clases relacionadas o, recursivamente, clusters
relacionados.

Unidad natural para el desarrollo por parte de un único desarrollador.

Evita el efecto todo-nada propio del modelo en cascada

Fuente

Representa gráficamente el alto grado de iteración y
solapamiento que hace posible la tecnología de objetos.

Dos modelos de ciclo de vida

Para el sistema completo

Para cada clase o módulo

Procesos agiles

Los procesos ágiles constituyen un nuevo enfoque en el desarrollo
de software

Caracteristicas

Menor énfasis en el análisis, diseño y documentación.

Equipos pequeños.

Desarrollo incremental.

Programación en cajas de tiempo.

Supervivencia en un entorno caótico.

Algunos ejemplos

eXtreme Programming.

basado en el modelo incremental

Programación en parejas.

Integración continua.

Cliente in-situ

Estándares de codificación

Crystal

Proceso Software Adaptativo

Scrum

Modelos evolutivos

Modelo en espiral

modelo de proceso de software evolutivo
para cubrir las mejores características.
Proporciona el potencial para el desarrollo rápido de versiones incrementales del software.

Planificacion

se definen los objetivos, las alternativas y las restricciones, se analizan e identifican los riesgos.

Evaluación del cliente

El cliente evalúa el trabajo de ingeniería

Análisis de riesgo

El proyecto se revisa y se toma la decisión de si se debe continuar con un ciclo posterior de la espiral

Ingeniería

elige un modelo para el desarrollo del sistema.

Modelo incremental

Software en partes pequeñas, pero utilizables

Es útil cuando el personal no esta disponible para una implementación completa.

El plan afronta la modificación del producto central a fin de cumplir mejor las necesidades del cliente y la entrega de funciones, y características adicionales.

Modelo de cascada

El software debe ser construido, rigurosamente, a través de una transformación sucesiva de documentos, siguiendo una estrategia lineal de desarrollo. Primero saber qué se quiere y después, cuando se conozca todo lo que se quiere, empezar a construirlo.

Ventajas

este método radica en su sencillez ya que sigue los pasos intuitivos necesarios a la hora de desarrollar el software

Desventajas

Los proyectos reales raramente siguen el flujo secuencial que propone el modelo.