GENERACIONES DE METODOLOGÍA DE DESARROLLO DE SOFTWARE
1.- Desarrollo Convencional (sin metodología):
1.1.- Características:
ØEn los años 50 no existía metodologías de
desarrollo. El desarrollo estaba a cargo de programadores.
ØSe vio la importancia del análisis y diseño en
el desarrollo de sistemas (aparecen los analistas programadores y analistas de
sistemas).
ØNo hay forma de controlar lo que está
sucediendo en el proyecto.
Ø Los cambios organizativos afectan negativamente
al proceso de desarrollo.
Ø Los resultados finales son impredecibles.
1.2.- Modelo Jackson: Sus características son:
Ø Se basa en el principio de que la base inicial del diseño del programa son
los datos del problema y no los requisitos funcionales exigidos.
Ø Permite una mayor objetividad.
Ø Partir de una buena especificación del problema que queremos resolver:
datos de entrada, datos de salida y algoritmo aplicables.
2.- Desarrollo de programación estructurada: El desarrollo estructurado se basa en la estructuración
y descomposición funcional de problemas en unidades más pequeñas
interrelacionadas entre sí. Representan los procesos, flujos y estructuras de
datos, de una manera jerárquica y ven el sistema como entradas – proceso-
salidas.
2.1 Características:
Ø Se maneja como proyecto.
Ø Gran volumen de datos y transacciones.
Ø Abarca varias áreas organizativas de la empresa
Ø Tiempo de desarrollo largo.
Ø Requiere que se cumplan todas las etapas, para poder cumplir las siguientes
(progresión lineal y secuencial de una fase a la otra).
3.- Programación orientada a objetos: La programación orientada a
objetos (POO, u OOP según sus siglas en inglés) es un paradigma de
programación que viene a
innovar la forma de obtener resultados. Los objetos manipulan los datos de
entrada para la obtención de datos de salida específicos, donde cada objeto
ofrece una funcionalidad especial.
3.1 Características:
Ø Abstracción: Denota las
características esenciales de un objeto, donde se capturan sus comportamientos.
Cada objeto en el sistema sirve como modelo de un "agente" abstracto
que puede realizar trabajo, informar y cambiar su estado, y
"comunicarse" con otros objetos en el sistema sin revelar
"cómo" se implementan estas características.
Ø Encapsulamiento: Significa reunir todos los elementos que
pueden considerarse pertenecientes a una misma entidad, al mismo nivel de
abstracción. Esto permite aumentar la cohesión (diseño estructurado) de los componentes del
sistema.
Ø Polimorfismo: Comportamientos diferentes, asociados a objetos distintos, pueden
compartir el mismo nombre; al llamarlos por ese nombre se utilizará el
comportamiento correspondiente al objeto que se esté usando.
Ø Herencia: Las clases no se encuentran aisladas, sino que
se relacionan entre sí, formando una jerarquía de clasificación. Los objetos
heredan las propiedades y el comportamiento de todas las clases a las que
pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento,
permitiendo a los objetos ser definidos y creados como tipos especializados de
objetos preexistentes.
Ø Modularidad: Se denomina "modularidad" a la
propiedad que permite subdividir una aplicación en partes más pequeñas
(llamadas módulos), cada una de las cuales debe ser tan independiente como sea
posible de la aplicación en sí y de las restantes partes.
Ø Principio de
ocultación: Cada
objeto está aislado del exterior, es un módulo natural, y cada tipo de objeto
expone una "interfaz" a otros objetos que específica cómo pueden
interactuar con los objetos de la clase.
Ø Recolección de basura: La recolección de basura (garbage
collection) es la técnica por la cual el entorno de objetos se encarga de
destruir automáticamente, y por tanto desvincular la memoria asociada, los
objetos que hayan quedado sin ninguna referencia a ellos.



No hay comentarios:
Publicar un comentario