Autor Tema: Ingeniería de Software I Modelos de desarrollo: espiral. Etapas de que consta.  (Leído 9012 veces)

Mac

  • Intermedio
  • ***
  • Mensajes: 174
  • Java-Php
    • Ver Perfil
Hola comunidad de aprender aprenderaprogramar tengo esta pregunta.

Estoy estudiando la asignatura de Ingeniería de Software I y ella puedo ver que ahí diferente modelos para para el análisis y el desarrollo del Software, Uno de ellos es el Modelo Espiral.

Quisiera que me ayudaran a dar varios ejemplos del Modelo espiral para saber en que tipos de desarrollo de software se puede aplicar ese modelo.

También cual seria la ventaja y desventaja de usar el Modelo espiral.

Muchísimas Gracias.
« última modificación: 17 de Marzo 2015, 08:50 de Alex Rodríguez »

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 368
    • Ver Perfil
Re:Ingeniería de Software I Modelo de desarrollo
« Respuesta #1 : 15 de Marzo 2015, 20:09 »
Hola  ;D  se llama proceso del software a la definición y organización de actividades, acciones y tareas necesarias para generar software de alta calidad.

Un proceso es "un enfoque"  y dentro de la ingeniería del software existen diferentes procesos, cada uno con sus ventajas e inconvenientes.

Se llama flujo del proceso a la forma en que se organizan las actividades estructurales en el tiempo. En este sentido tenemos flujos lineales (principio a fin) o iterativo (lineal con vuelta atrás) o evolutivo (circular con un incremento de softwre en cada ciclo), etc.

Entre los modelos del proceso prescriptivos o tradicionales tenemos:

- Modelo de cascada y modelo en v

- Modelos de proceso incremental

- Modelos de proceso evolutivo: basado en prototipos y modelo espiral

- Modelos concurrentes


El modelo espiral combina la naturaleza iterativa de los modelos evolutivos con la sistemática del modelo de cascada, dando lugar a un "desarrolla rápido de versiones"

El modelo en espiral:

- Incorpora el análisis de riesgo en la actividad de planeamiento. En cada ciclo el sistema evoluciona incrementalmente y disminuye el riesgo.

- Incorpora puntos de referencia para señalar hitos esperados, condiciones necesarias, etc.


A diferencia de otros modelos el modelo espiral se usa también una vez entregado el software (para su mantenimiento).

En el modelo espiral no hay un número de iteraciones ni costes cerrados, ya que esto se revisa en cada paso por la actividad de planeamiento.

El modelo en espiral es realista para el desarrollo de software a gran escala. Ejemplos:

- Sofware para gestión de las subvenciones agrarias de un país

- Software para gestión de la actividad de negocio de una empresa (nóminas, facturación, etc.)


Ventajas: combina el ser metódico con el ser flexible e incremental.

Inconvenientes:

- Dificultades para guiar adecuadamente el riesgo

- Percepción de excesivos cambios por parte del cliente (debido a la repetición de planeamiento en cada ciclo)

- La ausencia de un plan fijo puede desorientar o causar mala impresión entre la dirección del proyecto y los empleados del mismo.

Saludos.

Mac

  • Intermedio
  • ***
  • Mensajes: 174
  • Java-Php
    • Ver Perfil
Re:Ingeniería de Software I Modelo de desarrollo
« Respuesta #2 : 15 de Marzo 2015, 22:36 »
javi in the sky Un saludo muy grande y muchísimas gracias por tu respuesta y ayuda en mi tema.

leyendo tu explicación
 
Me surgen estas preguntas.

1 - Cuando se dice : El modelo espiral combina la naturaleza iterativa de los modelos evolutivos ,

Que quieres decir naturaleza iterativa de los modelos evolutivos?

2- EL modelo espiral incluye algún proceso del modelo en cascada ?

Con esta definición del el modelo en espiral:

3- Que quiere decir incorpora puntos de referencia para señalar hitos esperados, condiciones necesarias, etc. 

4- También si me puedes hacer una breve explicación de esa imagen


5- En el modelo espiral no hay un número de iteraciones ni costes cerrados, ya que esto se revisa en cada paso por la actividad de planeamiento.¿Que quiere decir coste, iteraciones, costes cerrados?

Esta ventaja no la entiendo muy bien ! Ventajas: combina el ser metódico con el ser flexible e incremental.

y esta desventaja que dice : La ausencia de un plan fijo puede desorientar o causar mala impresión entre la dirección del proyecto y los empleados del mismo.


Tu disculpa las preguntas pero he visto que este modelo es un poco complejo ! !

Gracias por darme tu pronta respuesta a mis dudadas


javi in the sky

  • Avanzado
  • ****
  • Mensajes: 368
    • Ver Perfil
Re:Ingeniería de Software I Modelo de desarrollo
« Respuesta #3 : 16 de Marzo 2015, 08:47 »
Hola Mac

Naturaleza iterativa de los modelos evolutivos: algunos modelos como el de cascada van pasando de fase linealmente hasta la entrega final. Los modelos evolutivos son modelos en los que los ciclos de desarrollo de software se repiten y en cada ciclo se genera un incremento (mejora) del software.

Ejemplo: en el primer ciclo o iteración se crean los menús. En el segundo ciclo o iteración se desarrolla la opción de insertar datos. En el tercer ciclo o iteración se desarrolla la opción de modificar datos... y así sucesivamente


2. Sí, los ciclos del modelo espiral aproximadamente comprenden las tareas del modelo en cascada. La diferencia es que el modelo en cascada realiza todo el programa en un solo ciclo mientras que con el modelo en espiral el desarrollo se hace en muchos ciclos y el resultado de un ciclo no es un programa completo, sino un incremento del software.

3. Un hito esperado es algo que se señala debe ocurrir. Por ejemplo: para el 20 de junio debemos tener operativa la funcionalidad de insertar datos y modificar datos.

Ejemplo condiciones necesarias: cuando esté preparado el módulo de gestión de clientes, el programa deberá soportar el text XX-AA consistente en la inserción, modificación y borrado de miles de registros (según la especificación del test).

4. La imagen describe lo que es un ciclo del modelo espiral: un ciclo consta de cinco etapas. Planeamiento: se prepara el trabajo. Modelado: se hace el análisis y diseño de lo que se va a desarrollar. Construcción: se crea el código y se hacen pruebas. Despliegue: se entrega el fragmento de software creado (un incremento de software) al cliente, y se obtiene la valoración (retroalimentación) del cliente.
Comunicación: a la vista de los resultados y de los objetivos planteados, se vuelve a discutir con el cliente si todo va bien, o si es necesario que se introduzcan algunos cambios, nuevas cosas a tener en cuenta, etc.

5. Coste es coste económico. Iteraciones son el número de ciclos de desarrollo de software que deberán realizarse. Costes cerrados es que puedas decir que el proyecto software va a costar $USD 10000 y no te muevas un céntimo arriba ni abajo.

Metódico: se sigue una metodología precisa (similar a la de cascada)

Flexible: en cada repetición de ciclo se vuelve a comunicar con el cliente y a planear

Incremental: no desarrolla todo el software de golpe, sino poco a poco.

Ausencia de plan fijo: en cada ciclo se vuelve a hacer planeamiento, entonces si a los empleados les habías dicho que ibas a trabajar con una base de datos MySql en el siguiente planeamiento pueden haber cambios y decidir que se va a trabajar con una base de datos PostgreSQL. Esto puede desorientar a las personas que trabajan en el proyecto, que pensarán que no se tienen las cosas claras o no se sabe lo que se quiere hacer.

Disculpado aquí estamos tratando de ayudar y aprender

Saludos.

Mac

  • Intermedio
  • ***
  • Mensajes: 174
  • Java-Php
    • Ver Perfil
Re:Ingeniería de Software I Modelo de desarrollo
« Respuesta #4 : 16 de Marzo 2015, 15:10 »
javi in the sky Saludooss !! y abrazo !!  ;).

La verdad tu explicación a sido muy clara  :D, explicativa y exacta. :D

Ahora si me siento muy despejado en mis dudas, y  he tenido claro hasta el momento El modelo de desarrollo espiral.

Quisiera saber esto :

Al momento de que me entreguen un proyecto para el desarrollo de un Software que modelo se ajustaría mejor y por que ?¿ cual seria el mas eficaz, rápido, y con menos margen de errores ?¿   si el de  Modelo de cascada, Modelo en v, Modelos de proceso incremental, Modelos de proceso evolutivo  basado en prototipos y modelo espiral, Modelos concurrentes.

Pienso yo que se escogería el modelo dependiendo a el proyecto y la dimensión del proyecto del Software.

Jajajaja Gracias por las disculpas !  :D

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 368
    • Ver Perfil
Re:Ingeniería de Software I Modelo de desarrollo
« Respuesta #5 : 16 de Marzo 2015, 21:42 »
Citar
Al momento de que me entreguen un proyecto para el desarrollo de un Software que modelo se ajustaría mejor y por que ?¿ cual seria el mas eficaz, rápido, y con menos margen de errores ?¿   si el de  Modelo de cascada, Modelo en v, Modelos de proceso incremental, Modelos de proceso evolutivo  basado en prototipos y modelo espiral, Modelos concurrentes.

Hola en general habrá que decidir el modelo a aplicar dependiendo del proyecto a desarrollar: características, tamaño, etc.

Para desarrollos de gran o mediano tamaño hay que optar por desarrollos iterativos como el modelo espiral. Dentro de los modelos iterativos hay una corriente fuerte que aboga por el "desarrollo ágil" (que al final viene siendo un tipo de desarrollo iterativo, aunque algunos partidarios del desarrollo ágil juran y perjuran que lo que ellos hacen es totalmente novedoso e inmejorable). Modelos como cascada tienden a considerarse obsoletos, sólo podrían aplicarse en desarrollos pequeños y casos muy concretos. No obstante, parte de los planteamientos de la cascada se encuentran dentro de otros modelos.

Saludos!!

Elio Espinoza

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 6
    • Ver Perfil
Excelente explicación  :)

 

Esto es un laboratorio de ideas...
Aprender a programar

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".