viernes, 20 de septiembre de 2013

Buenas tardes, como otro día normal, y siguiendo la temática de una publicación por día, voy a hablar sobre un tema interesante, que viene luego de Metodologías (la publicación anterior) el ciclo de desarrollo es aproximadamente del 70' (la publicación anterior era del 60').
En resumen, la entrada del día de hoy, nos hablará sobre una metodología (una de las primeras) que especifica como debe ser el camino para desarrollar un software, separandolo en tres faces: Análisis, Diseño e Implementación.

Pero como siempre antes quiero recordarles...



ADVERTENCIAprobablemente mucha gente esté en desacuerdo con lo que expreso en las entradas de mi blog, la idea del blog siempre fue, como todo blog, la de presentar textos que muestren un poco de mi "día a día", en mi caso en el mundo de la programación y la informática.
No obstante, todos mis textos están basados en la normativa vigente, y en toda mi experiencia hasta el momento, aquellos que estén en desacuerdo, probablemente sea por ignorancia o desconocimiento, y también podríamos mencionar engreimiento, creer que saben todo, pero tampoco podemos dejar de lado que quizá esté equivocado en algunas cosas, pero con el tiempo me daré cuenta y lo aclararé en nuevas entradas al blog.

Vamos entonces al tema en cuestión.-

En la década del 70' el Dr. Winston Royce, Larry Constantine y otros, comienzan a analizar dos factores que podrían cambiar el futuro de la programación, el simple hecho de que sería muy útil poder evitar de entrada ciertos problemas que pudieran surgir en un futuro en el desarrollo de soft, tanto así como poder ubicar ciertas áreas que podrían ser conflictivas a la hora de desarrollar x software.
Winston Royce en ese entonces crea lo que hoy se conoce como Ciclo de desarrollo de soft, y establece unos bloques específicos que deben cumplirse en el camino para el desarrollo de un software correcto.
Comenta originalmente que no es posible cumplir plenamente con un bloque y seguir con el siguiente sin realizar absolutamente nada del bloque siguiente, él aclara varias veces que es importante tener en cuenta que el modelo es un modelo iterativo e incremental.

Para desarrollar un software hay que pasar por distintas fases, que podemos agrupar en tres grandes grupos:
Análisis, Diseño, Implementación, como dije anteriormente no es posible realizar todo el análisis sin iniciar el diseño, y tampoco es posible realizar todo el diseño sin implementar nada, no obstante muchos autores y programadores obviaron estas advertencias y establecieron los bloques como un modelo en cascada y que para pasar a otro bloque era necesario terminar primero el anterior, cosa que no es cierta.

El primer bloque o fase, es el análisis, en la que se pretende investigar el problema, analizarlo, pensarlo, como quien diría "amasarlo", e ir pensando en una solución.

La segunda fase es el diseño, en ésta fase se trata de diseñar la solución o software, y su estructura para poder cumplir con los requisitos del problema.

Para finalizar la implementación es lo que nosotros conoceríamos como la escritura del código que ejecuta la estructura diseñada para dar solución al problema previamente analizado.

Boehm, Sommerville y Sigwart tiempo después realizan cada uno su propio refinamiento o mejora al modelo de ciclo de desarrollo de software original, pero la mayoría reconocen que la noción de "completa" de una actividad no es absoluta y que puede requerirse cierta iteración entre fases, tal como Royce propusiera inicialmente.

Bueno eso es todo por hoy, esta es otra de las cosas que mucha gente no conoce y hoy comparto con ustedes.
Un saludo y hasta la publicación de mañana!

0 comentarios:

Publicar un comentario