6. PREVENTIVE WORK
7.5. What is the role of the police in connection
Debido a que el proceso de cascada tradicional presenta algunas debilidades se creó el modelo de Desarrollo iterativo y creciente (o incremental). El fundamento básico de este modelo de desarrollo es que agrupa un conjunto de tareas en pequeñas tareas repetitivas o iteraciones, además esta relacionado con novedosas estrategias para el desarrollo de software y esto hace que en los últimos tiempos sea uno de los más utilizados junto a una programación extrema. Análogamente a otros modelos consta de diversas etapas de desarrollo en cada incremento o iteración, teniendo como punto de partida el análisis y finaliza con la instalación, adecuación y aprobación del sistema.
Como dato adicional es necesario precisar que este modelo se basa en dos premisas, que se supone siempre se dan:
La ambigüedad que tienen los usuarios debido a que nunca saben bien que es lo que requieren para satisfacer sus necesidades.
Por otro lado, durante el desarrollo la duda justificada en la primera premisa genera que los procesos tienden a cambiar. El proceso en sí mismo consiste en las siguientes etapas:
Inicialización
Iteración
a. Consideraciones sobre el momento de aplicación
Es necesario tomar en cuenta algunos aspectos para poder seleccionar la metodología mediante la cual se dará soporte al ciclo de vida desarrollo de software, en ese contexto se debe considerar que para integrar la facilidad de uso cuando se desarrolla, no es suficiente con asignar técnicas relacionadas a la usabilidad, debido a que no todas las técnicas son aplicables en cualquier momento en un desarrollo iterativo, por este motivo se debe tomar en cuenta que las técnicas para desarrollar el producto software están concebidas para su aplicación en las primeras actividades del desarrollo, cuando se identifican las necesidades, es decir en las tareas iniciales, además que el esquema general del sistema se establece, al igual que otros modelos se debe hacer un trabajo cuidadoso en la etapa de análisis, y cuando sea necesario es recomendable hacer las modificaciones necesarias, para obtener un producto más refinado.
Luego de hacer referencia a las consideraciones, se hace una pequeña explicación que corresponde al modelo de desarrollo iterativo y creciente.
b. Etapa de inicialización
En esta etapa se desarrolla una versión inicial del producto software. Esta etapa tiene como objetivo desarrollar un producto amigable, en el que el usuario no tenga dificultades
en usarlo. Como toda etapa inicial debe dar a conocer una muestra de los aspectos claves del problema y proveer una solución lo bastante simple para ser usado y que sea implementada con facilidad. Es necesario crear una lista de control del proyecto, que contenga un historial de todas las tareas que necesitan ser implementadas, con lo cual se podrá guiar el proceso de iteración. Además, se podra incluir nuevas funcionalidades que requieran ser implementadas, y áreas que deben ser rediseñadas de la solución que ya existe. Esta lista de control es necesario que sea frecuentemente revisada como resultado de la fase de análisis.
c. Etapa de iteración
En esta etapa se hace el análisis de la versión más reciente del sistema además involucra el rediseño cuando sea necesario y la implementación de una tarea de la lista de control de proyecto que previamente se ha elaborado. El objetivo del rediseño e implementación de cualquier iteración debe ser simple, directa y modular, para poder dar paso al rediseño de la etapa o como una tarea añadida a la lista de control de proyecto. En la mayoría de los casos el código representa la mayor fuente de documentación del sistema. Es fundamental la retroalimentación de parte del usuario además del análisis de las funcionalidades que estén disponibles en el software, para realizar el análisis de una iteración. Involucra
también el análisis de la estructura, así como la modularidad, la facilidad de uso, la confiabilidad, así como la eficiencia y eficacia necesarias. A continuación, reiterativamente la lista de control del software que se desarrolló en la etapa anterior será modificada de acuerdo con los resultados del análisis.
Las guías primarias que contienen la implementación y el análisis se incluyen:
Cuando existen dificultades en el diseño, codificación y prueba para su modificación se deberá tomar nota de la necesidad de rediseñar o volver a hacer el código.
Las modificaciones deben orientarse a los módulos fáciles de encontrar y también a los que están aislados. Si no fuera posible entonces se requiere un rediseño.
Se debe aplicar el rediseño necesario cuando las modificaciones a las tablas son complicadas.
Cuando avanzan las iteraciones las modificaciones deben ser más fáciles de realizar. Si no fuese así, hay un problema primordial como consecuencia de un diseño débil o en que existen muchos parches en el sistema.
Los parches deben estar presentes dolo en una o dos iteraciones.
La implementación existente debe ser analizada frecuentemente para determinar qué tal se ajusta a las metas del proyecto.
Para ayudar en el análisis de implementaciones parciales se deben utilizar las facilidades con las que se cuenta para analizar el programa.
Es importante tomar en cuenta la opinión del usuario para identificar deficiencias en la implementación con el fin de corregirlas a tiempo.