Modelo de Procesos Incremental de Desarrollo de Software
Catalina CastañedaTrabajo6 de Agosto de 2020
2.642 Palabras (11 Páginas)481 Visitas
Análisis y diseño de un producto de software
Modelo de Procesos Incremental de Desarrollo de Software
Julio del 2020.
Institución Universitaria Politécnico GranColombiano.
Ingeniería del Software I
Tabla de Contenidos
1. Justificación de selección del Modelo de Procesos Incremental ¡Error! Marcador no definido.
2. Argumentos 4
Modelo de Cascada 4
Modelo de Procesos Incremental 5
Modelo de Procesos por Prototipos 7
Modelo de Procesos en Espiral 8
3. Reconoce los riesgos asociados a la selección de su modelo. 9
4. Referencias bibliográficas 12
Lista de figuras
Figura 1. Modelos del proceso, Pressman, R. (2010). Ingeniería del software. Un enfoque práctico. 2
Figura 2. Errores en gestión y comunicación del proyecto 10
Justificación de selección del Modelo de Procesos Incremental
Para el desarrollo del sistema hemos escogido el modelo de procesos incremental, se planificará en diversos bloques temporales, en cada iteración se evidenciará la evolución del producto mediante una entrega incremental a partir de la evaluación del cliente y los resultados de las anteriores iteraciones. También se pueden tomar decisiones en cada iteración gestionando las expectativas del cliente, de esta forma se reduce los tiempos de entrega del proyecto.
Al cliente tener una idea general estructurada de la necesidad que va a suplir con la herramienta es más fácil identificar los requerimientos fundamentales del sistema, priorizando los objetivos en función al valor que le aporta al usuario. Normalmente dichos requerimientos evolucionan al definir el proceso o a través de un plan de mejoramiento.
[pic 1]
Figura 1. Modelos del proceso. Pressman, R. (2010).
Con base a los requerimientos primarios planteados, al inicio del proyecto se describen un conjunto de casos de uso detallando las características y funciones de cada clase principal de usuarios.
En la planeación se definen las actividades, tareas y acciones a ejecutar estableciendo los procesos que se van a aplicar durante el incremento del sistema.
La fase de elaboración incluye la etapa de comunicación, haciendo mejora de los casos de uso preliminares, mejorando los requerimientos y arquitectura. Al finalizar esta fase se inspecciona el plan para asegurar que el alcance aún sea razonable.
Durante la construcción del sistema los casos de uso se hacen funcionales, se completan los requerimientos y el diseño reflejando el incremento del producto para la entrega. Se hace la implementación del código, componentes, se ejecutan pruebas para cada uno de ellos.
En la transición entre la construcción y el despliegue, se hace un entregable en versión beta del software para que el usuario haga las pruebas de todo el sistema, seguido a esto se espera la retroalimentación al respecto para hacer los posibles cambios necesarios.
Para la fase de producción se hace el acompañamiento del usuario final vigilando el uso del sistema, se brinda soporte en ambiente de producción y se reportan posibles defectos para evaluar.
Mediante la aplicación del modelo incremental se genera el software de forma rápida, es un modelo más flexible a las exigencias del cliente y reduce alcance. Es más intuitivo para el cliente pues es más fácil de probar y depurar.
Hay muchas situaciones en las que los requerimientos iniciales del software están razonablemente bien definidos, pero el alcance general del esfuerzo de desarrollo imposibilita un proceso lineal. Además, tal vez haya una necesidad imperiosa de dar rápidamente cierta funcionalidad limitada de software a los usuarios y aumentarla en las entregas posteriores de software. En tales casos, se elige un modelo de proceso diseñado para producir el software en incrementos.
Cuando se utiliza un modelo incremental, es frecuente que el primer incremento sea el producto fundamental. Es decir, se abordan los requerimientos básicos, pero no se proporcionan muchas características suplementarias (algunas conocidas y otras no). El cliente usa el producto fundamental (o lo somete a una evaluación detallada). Como resultado del uso y/o evaluación, se desarrolla un plan para el incremento que sigue. El plan incluye la modificación del producto fundamental para cumplir mejor las necesidades del cliente, así como la entrega de características adicionales y más funcionalidad. Este proceso se repite después de entregar cada incremento, hasta terminar el producto final (Pressman, R. 2010).
Argumentos
Partiendo de la premisa que cada modelo de proceso presenta mayores ventajas frente a un tipo de proyecto de software en particular, queriendo decir con esto que no se elige el mismo modelo cuando tenemos un proyecto pequeño con todos los requerimientos bien definidos, que un proyecto grande con escasa definición de requerimientos. Es de gran importancia conocer y analizar todas las características que presenta cada modelo, donde buscaremos elegir la decisión más adecuada frente a los requerimientos del cliente y teniendo en cuenta factores muy importantes como el tiempo, disminución de riesgos, calidad, soporte, dominio sobre el tema, equipo de trabajo, entre otros.
Según lo enunciado, mencionaremos las ventajas y desventajas que presentan los modelos definidos en el escenario 2, partiendo de la relación que tiene cada uno de estos con el proyecto definido.
Modelo de Cascada
Este modelo, consideramos que es el menos oportuno en relación a las especificaciones del proyecto planteado, haciendo énfasis en que no es mejor ni peor que otros modelos, solo que debemos conocer en qué momento es el más propicio para elegirlo, en función del proyecto, aunque podemos dar reconocimiento a ventajas como su énfasis en la planeación del proyecto, por lo que permite un inicio del software con eficacia. Adicional, al producirse la documentación en cada etapa, permite una mayor comprensión del producto a diseñar, mejorando la calidad. Otra ventaja, es que es un modelo fácil de implementar entender y funciona muy bien con proyectos pequeños.
Ahora pasemos a mencionar sus desventajas, donde encontramos su poca flexibilidad frente a la ejecución de cada etapa, donde se debe cumplir de forma estricta cada una en su totalidad para poder continuar con la siguiente, lo cual puede ser un gran riesgo frente a temas de organización en el equipo y toma de decisiones a nivel interno, conllevando posiblemente a pérdidas significativas de tiempo. Adicional, no contamos con precisión en la definición de los requerimientos, donde el modelo nos dice, que es de gran importancia que se definan claramente todos ellos por lo crítico que puede resultar para este modelo en tener que realizar cambios y solo permite entregas al cliente al finalizar el proyecto siendo un escenario poco viable para la situación expuesta.
Modelo de Procesos Incremental
Elegimos este modelo, que aunque no cumple a cabalidad con las especificaciones planteadas, es el que más se ajusta por las siguientes condiciones:
- Mediante este modelo se genera software operativo de forma rápida y en etapas tempranas del ciclo de vida del software.
- Es un modelo más flexible, por lo que se reduce el costo en el cambio de alcance y requisitos.
- Es más fácil probar y depurar en una iteración más pequeña.
- Es más fácil gestionar riesgos.
- En las necesidades del producto, los requerimientos no son basados en una construcción planificada sino en lo que el cliente comunica a su modo, por lo que se puede ver como un panorama de incertidumbre frente a posibles cambios que se puedan dar, y como sabemos, este modelo se ajusta a estas condiciones.
- Es importante mantener una comunicación activa con el cliente por la incertidumbre de los requerimientos, donde se pueda conocer a tiempo las inquietudes que pueda presentar y este pueda interactuar con el sistema en los incrementos, confirmando a su vez si se está cumpliendo con lo esperado.
- Presenta flexibilidad en el manejo de las etapas.
- El modelo se trabaja con versiones, como su nombre lo indica al ser incremental, cada versión puede ser validada por el cliente. Entrega de valor al cliente con mayor frecuencia.
- Con un buen manejo de gestión del equipo, permite solución de fallos e implementación de cambios de forma oportuna.
- Es posible la implementación a nivel modular.
Reconocemos las siguientes desventajas:
- Complejidad en estimación, siendo a su vez difícil de evaluar el valor, siendo de gran importancia para temas de estabilidad.
- Se requiere de una gestión con personal capacitado y experimentado en el uso del modelo.
- Reducción en productividad por necesidad de comunicación constante con el cliente.
- Por la incertidumbre dada en los requerimientos, es posible que se presenten errores no identificados a priori.
- Requiere de mucha planeación, a nivel administrativo y técnico.
No obstante, consideramos que estas desventajas pueden ser solucionadas, presentando una comunicación asertiva con el cliente, siendo proactivos en la comprensión de las necesidades del cliente y el resultado final que esta espera.
Modelo de Procesos por Prototipos
Este modelo, presenta características que inicialmente pueden parecer atractivas, pero consideramos que tiene un poco más de desventajas que ventajas sobre el proyecto siendo las siguientes:
...