Introducción:
Analizaremos los principales
modelos de procesos del software, describiendo cada una de sus características
esenciales, esto con la finalidad de que se logre apreciar las diferencias que
radican unas con otras.
Se explicará brevemente en qué
consiste la serie de pasos que lleva cada uno, se espera también que con esto
se pueda visualizar en qué tipo de proyectos se adaptan cada uno de estos
procesos ya que, a pesar de que hay algunos más antiguos que otros y por teoría
más completos, no hay alguno que convenga por completo en todo tipo de
proyectos.
Desarrollo:
Podemos entender proceso de
software como un marco de trabajo de las tareas que se requieren para construir
software de alta calidad. Éstos surgieron como la respuesta a la necesidad de
establecer una estrategia de desarrollo para cada paso que se requiere al
momento de desarrollar software; como los procesos, métodos y herramientas
implementadas.
Es importante que durante el
proceso no se abandone el modelo, esto quiere decir, se debe seguir desde el
inicio del proyecto hasta el final. Sin
embargo, ninguno impone un modelo de procesos concreto (modelo de ciclo de
vida) ni cómo realizar las diferentes actividades incluidas en cada proceso,
por lo que cada empresa deberá utilizar los métodos, técnicas y herramientas
que considere oportuno.
Cada uno de los modelos es una
representación de un proceso real, esto quiere decir, cada uno de estos se
adapta a cada una de las necesidades que requieran los desarrolladores. No hay
un modelo absoluto.
Estos son algunos ejemplos con
sus respectivas características:
Modelo lineal (o en cascada)
-El más antiguo de los modelos
de Ingeniería del Software.
-Presenta una estructura
secuencial formada por seis etapas:
Análisis de Sistema: Establece requisitos de todos los
elementos del sistema
Análisis de requisitos de Software: Se analizan las
necesidades de los usuarios finales para delimitar
un objetivo
Diseño:
Traduce los requisitos en una
representación del software con la calidad requerida antes de que comience la
codificación
Estructura de datos
Arquitectura del software
Detalle procedimental
Caracterización de la interfaz
Codificación: Fase de programación.
Prueba:
Se centra en la lógica interna del software, y en las funciones externas
realizando pruebas que aseguren que la entrada definida produce los resultados
que realmente se requieren.
Mantenimiento:
Es muy probable que se deban realizar modificaciones al software después de
haber hecho la entrega al cliente. Dichos cambios son con la finalidad de
corregir errores, se deba adaptar a cambios o existan nuevos requerimientos.
-No permite retroceder, al
final de cada fase es necesario que el analista verifique y valide todo el
trabajo realizado.
-Desventajas
No siempre se sigue este flujo de secuencia en la realidad,
siempre hay iteraciones.
Puede
ser complicado que el cliente especifique bien los requerimientos al inicio del
proyecto.
Hasta
llegar a las etapas finales, no estará disponible una versión operativa del
programa.
-Ventajas
Es sencillo seguir los pasos intuitivos necesarios para su
desarrollo.
Modelo en espiral.
-Se desarrolla en una serie de
versiones incrementales.
-Se integra de los siguientes
pasos:
Planificación:
Se definen los objetivos, las alternativas y las restricciones, se analiza e
identifican los riegos.
Análisis
de Riesgos: Se analiza el proyecto y se toma la decisión de si se debe
continuar con el ciclo.
Ingeniería
(Construcción del prototipo): Se desarrolla y se valida.
Evaluación
del cliente: El cliente evalúa y sugiere modificaciones.
- Utiliza un enfoque
evolutivo, permitiendo al desarrollador y al cliente entender y reaccionar a
los riesgos en cada nivel.
Modelo incremental:
-Evolución del modelo de
casada
-Es un modelo no secuencial
-Comienza con el análisis de
los requerimientos
-Realiza iteraciones para
bifurcar diseños, es decir, comienza el diseño arquitectura, estructura, etc.
del software, puede comenzar con una segunda iteración sin necesidad de
modificar los requerimientos.
-Puede realizar tantas
iteraciones como sean necesarias.
-El primer incremento a menudo
es un producto esencial.
- El modelo de proceso
incremental, como la construcción de prototipos y otros enfoques evolutivos, es
iterativo por naturaleza
-Se centra en la entrega de un
producto operacional con cada incremento. Los primeros incrementos se pueden
implementar con menos personas
Proceso Unificado de
Desarrollo
-Guía para administrar el
desarrollo iterativo de un modo controlado
Requerimientos de negocio
Tiempo al mercado
Riesgos del proyecto
-Está basado en componentes.
-Utiliza UML para expresar
gráficamente todos los esquemas de un sistema de software.
-Iterativo e incremental.
-Dirigido por casos de uso
-Centrado en la arquitectura.
Conclusión:
Podemos analizar con esto que
cada uno de estos procesos tiene características específicas que se adaptan a
los diferentes proyectos que se puedan realizar. Conforme han pasado los años
se van visualizando nuevas necesidades y se forman procesos más dinámicos para
la resolución de problemas.
Referencias:
- Baetjer, H. (2009). dsc.itmorelia.edu.mx. Obtenido de https://www.google.com.mx/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&uact=8&sqi=2&ved=0ahUKEwj56LD5n_fKAhUCOiYKHfKdB-oQFgggMAE&url=http%3A%2F%2Fdsc.itmorelia.edu.mx%2F~jcolivares%2Fcourses%2Fsdf11b%2Fsdf_p4.doc&usg=AFQjCNEcbMnY2x6Cq--wB1rozMn0FHeaEg
- de Desarrollo, P. U. Modelos de Proceso del Software.
- Adaptada de la presentación original “Ingeniería de Software” de Gloria Lucia Giraldo Gómez. Universidad Nacional de Colombia. Sede Medellín.
No hay comentarios:
Publicar un comentario