jueves, 7 de abril de 2016

Cascada

También conocido como modelo clásico, modelo tradicional o modelo lineal secuencial. Él método de la cascada es considerado como el enfoque clásico para el ciclo de vida del desarrollo de sistemas, se puede decir que es un método puro que implica un desarrollo rígido. está es una secuencia de actividades(o etapas) que consisten en el análisis de requerimientos, él diseño ,la implementación, la integración y las pruebas .
 El análisis de requerimientos consiste en reunir las necesidades del producto y casi siempre su salida es texto.
 El diseño describe la estructura interna del producto y suele representarse con diagramas y texto.
La implementación significa programación. Producto de esta etapa es el código en cualquier nivel, incluido el producido por sistemas de generación automática.
La integración es el proceso de integración es el proceso de ensamblar las partes para completar el producto.
 La metodología en cascada es esencialmente:


·         El inicio y el alcance del proyecto
·         La planificación del proyecto (calendario, recursos necesarios, costo)
·         Definición de las necesidades del negocio y el análisis en detalle dela solución
·         La creación de la solución
·         Prueba que la solución funciona. La entrega de la solución a su público objetivo
·         Cierre del proyecto.

Ventajas:
  • ·         Permite la departamentalización y control de gestión.
  • ·         El horario se establece con los plazos normalmente adecuados para cada etapa de desarrollo.
  • ·         Este proceso conduce a entregar el proyecto a tiempo.
  • ·         Es sencilla y facilita la gestión de proyectos.
  • ·         Permite tener bajo control el proyecto.
  • ·         Limita la cantidad de interacción entre equipos que se produce durante el desarrollo.


Desventajas:
  • ·         No refleja realmente el proceso de desarrollo del software. Ya que la mayoría de los que desarrollan proyectos no cumple con este lineamiento.
  • ·         Se tarda mucho tiempo en pasar por todo el ciclo
  • ·         La aplicación de la metodología en cascada se orienta mejor al desarrollo de proyectos de corto plazo, de poca innovación y proyectos definitivos y detallados.
  • ·         Metodología pueden confundir al equipo profesional en las etapas tempranas del   proyecto.
  • ·         No es frecuente que el cliente o usuario final explicite clara y completamente los requisitos.


Diagrama:

Incremental

Surgió el enfoque incremental de desarrollo como una forma de reducir la repetición del trabajo en el proceso de desarrollo y dar oportunidad de retrasar la toma de decisiones en los requisitos hasta adquirir experiencia con el sistema. Este modelo se conoce también bajo las siguientes denominaciones:

  • ·         Método de las comparaciones limitadas sucesivas.
  • ·         Ciencia de salir del paso.
  • ·         Método de atacar el problema por ramas.

Ventajas:
  •         Con un paradigma incremental se reduce el tiempo de desarrollo inicial, ya que se implementa la funcionalidad parcial.
    ·         También provee un impacto ventajoso frente al cliente, que es la entrega temprana de partes operativas del software.
    ·         El modelo proporciona todas las ventajas del modelo en Cascada realimentado, reduciendo sus desventajas sólo al ámbito de cada incremento.
    ·         Resulta más sencillo acomodar cambios al acotar el tamaño de los incrementos.
    Desventajas:
    ·         El modelo incremental no es recomendable para casos de sistemas de tiempo real, de alto nivel de seguridad, de procesamiento distribuido y/o de alto índice de riesgos.
    ·         Requiere de mucha planeación, tanto administrativa como técnica.
    ·         Requiere de metas claras para conocer el estado del proyecto.
    Diagrama:

Evolutiva

Surge porque en los primeros desarrollos se podía esperar largo tiempo hasta que el software estuviese listo.  Permiten desarrollar versiones cada vez más completas y complejas, hasta llegar al objetivo final deseado. Se asume que no todos los requerimientos son conocidos desde el primer momento.
1) Iteración. Se desarrolla la primera versión, que recoge los requisitos conocidos.
2) Iteración. Los usuarios utilizan el software desarrollado, generándose una nueva lista de requerimientos, con la que se desarrolla una nueva versión en la siguiente fase y así sucesivamente.
El usuario ve la materialización del proyecto más rápido que si hubiera que hacer un estudio largo para concretar las especificaciones. Además, puede modificar/añadir requerimientos sin afectar al proyecto y conseguir algo que se ajuste mejor a sus necesidades.

Ventajas:
       La especificación puede desarrollarse de forma creciente.
       Los usuarios y desarrolladores logran un mejor entendimiento del sistema. Esto se refleja en una mejora de la calidad del software.
       Es más efectivo que el modelo de cascada, ya que cumple con las necesidades inmediatas del cliente.
       Hay que implicar a los usuarios.
Desventajas:
       Es difícil predecir el coste y duración de un proyecto, por lo que es conveniente limitar el número de fases, recursos y plazos si es un proyecto con principio y fin.
       Puede resultar costoso si hay que reiniciar el desarrollo.
       Hay que mantener muy bien la documentación del proyecto para facilitar el control de versiones y su mantenimiento
       Para el rápido desarrollo se necesitan herramientas que pueden ser incompatibles con otras o que poca gente sabe utilizar.

Diagrama:

Espiaral

Es un modelo de proceso de software evolutivo donde se conjuga la naturaleza de construcción de prototipos con los aspectos controlados y sistemáticos del modelo lineal y secuencial. Proporciona el potencial para el desarrollo rápido de versiones incrementales del software que no se basa en fases claramente definidas y separadas para crear un sistema.
En el modelo espiral, el software se desarrolla en una serie de versiones incrementales. Durante las primeras iteraciones la versión incremental podría ser un modelo en papel o un prototipo, durante las últimas iteraciones se producen versiones cada vez más completas del sistema diseñado.
Ventajas:
       El modelo en espiral puede adaptarse y aplicarse a lo largo de la vida del software de computadora.
       Como el software evoluciona a medida que progresa el proceso, el desarrollador y el cliente comprenden y reaccionan mejor ante riesgos en cada uno de los nivele evolutivos.
       El modelo en espiral permite a quien lo desarrolla aplicar el enfoque de construcción de prototipos en cualquier etapa de evolución del producto.
       El modelo en espiral demanda una consideración directa de los riesgos técnicos en todas las etapas del proyecto y si se aplica adecuadamente debe reducir los riesgos antes de que se conviertan en problemas.
       En la utilización de grandes sistemas a doblado la productividad.

Desventajas:
       Resulta difícil convencer a grandes clientes de que el enfoque evolutivo es controlable.
       Debido a su elevada complejidad no se aconseja utilizarlo en pequeños sistemas.
       Genera mucho tiempo en el desarrollo del sistema
       Modelo costoso
       Requiere experiencia en la identificación de riesgos
Diagrama:

Prototipos

Este modelo se utilizan para dar al usuario una vista preliminar de parte del software. Este modelo es básicamente prueba y error ya que si al usuario no le gusta una parte del prototipo significa que la prueba fallo por lo cual se debe corregir el error que se tenga hasta que el usuario quede satisfecho. Además el prototipo debe ser construido en poco tiempo, usando los programas adecuados y no se debe utilizar mucho dinero pues a partir de que este sea aprobado nosotros podemos iniciar el verdadero desarrollo del software. Pero eso si al construir el prototipo nos asegura que nuestro software sea de mejor calidad, además de que su interfaz sea de agrado para el usuario. Un prototipo podrá ser construido solo si con el software es posible experimentar.


Ventajas
  • ·         No modifica el flujo del ciclo de vida
  • ·         Reduce el riesgo de construir productos que no satisfagan las necesidades de los usuarios
  • ·         Reduce costo y aumenta la probabilidad de éxito
  • ·         Exige disponer de las herramientas adecuadas
  • ·         Este modelo es útil cuando el cliente conoce los objetivos generales para el software, pero no identifica los requisitos detallados de entrada, procesamiento o salida.

Desventajas
  • ·         Debido a que el usuario ve que el prototipo funciona piensa que este es el producto terminado y no entienden que recién se va a desarrollar el software.
  • ·         El desarrolador puede caer en la tentación de ampliar el prototipo para construir el sistema final sin tener en cuenta los compromisos de calidad y mantenimiento que tiene con el cliente
     Diagrama