jueves, 13 de diciembre de 2018

PROGRAMACIÓN ORIENTADA A OBJETOS vs PROGRAMACIÓN ESTRUCTURADA


La programación estructurada consiste en construir programas de fácil comprensión, es muy útil, cuando se necesitan realizar correcciones o modificaciones después de haber concluido un programa. Al utilizar la programación estructurada, es mucho más sencillo entender la codificación del programa, que se habrá hecho en diferentes secciones. Se plantea una operación como un todo y se divide en segmentos más sencillos o de menor complejidad, una vez terminado todos los segmentos del programa, se procede a unificar las aplicaciones realizadas por el grupo de programadores. Si se ha utilizado adecuadamente la programación estructurada, esta integración debe ser sencilla y no presentar problemas al integrar la misma, y de presentar algún problema, será rápidamente detectable para su corrección. La representación grafica de la programación estructurada se realiza a través de diagramas de flujo o pseudocódigos, el cual representa el programa con sus entradas, procesos y salidas.




La programación estructurada propone segregar los procesos en estructuras lo más simple posibles, las cuales se conocen como secuencia, selección e interacción, que están disponibles en todos los lenguajes modernos de programación imperativa en forma de sentencias, combinando esquemas sencillos se pueden llegar a construir sistemas amplios y complejos pero de fácil entendimiento. La programación estructurada es un método disciplinado de escribir programas que sean claros, que se demuestre que sean correctos y fáciles de modificar. La programación estructurada consiste en dividir los programas en módulos y se basa en el desarrollo de programas que van de lo general a lo particular, es decir, del conjunto al elemento, es decier de un todo a lo específico. Para la solución de un problema en particular, se inicia considerando las funciones que tiene que cumplir el programa en general y después se va desmembrando estas funciones en subfunciones más pequeñas hasta llegar al caso último o más particular y que ya no se pueda subdividir en casos más pequeños. Una vez que ya se tiene el programa desmembrado en de lo general a lo particular, se empieza a programar estas funciones pequeñas, particulares o módulos, de esta manera, siempre podremos construir nuevos módulos o unidades insertando el nombre del módulo donde corresponda y desarrollándolo a parte. Pasando al tema de Programación Orientada a Objetos que es la que utilizaremos con más frecuencia en el desarrollo de aplicaciones dentro de este blog, podemos afirmar que es una forma especial de programar, es más cercano a cómo expresaríamos las cosas en la vida real, pues aquí tenemos que pensar de una manera distinta para escribir nuestros programas en términos de objetos, propiedades, métodos y otras cosas que veremos en este blog y aclararemos los conceptos.


Es muy importante destacar que cuando hacemos referencia a la programación orientada a objetos no estamos hablando de unas cuantas características nuevas añadidas a un lenguaje de programación. Estamos hablando de una nueva forma de pensar acerca del proceso de descomposición de problemas y de desarrollo de soluciones de programación. La programación orientada a objetos surge en la historia como un intento para dominar la complejidad que, de forma innata, posee el software. Tradicionalmente, la forma de enfrentarse a esta complejidad ha sido empleando lo que llamamos programación estructurada, que consiste en descomponer el problema objeto de resolución en subproblemas y más subproblemas hasta llegar a acciones muy simples y fáciles de codificar. Se trata de descomponer el problema en acciones, en verbos. La programación orientada a objetos es otra forma de descomponer problemas. Este nuevo método de descomposición es la descomposición en objetos; vamos a fijarnos no en lo que hay que hacer en el problema, sino en cuál es el escenario real del mismo, y vamos a intentar simular ese escenario en nuestro programa. En los lenguajes orientados a objetos, como es el caso de C++ y Java, el elemento básico es un ente denominado precisamente objeto. Un objeto es la representación en un programa de un concepto, y contiene toda la información necesaria para abstraerlo: datos que describen sus atributos y operaciones que pueden realizarse sobre los mismos. La programación orientada a objetos es una nueva forma de pensar, una manera distinta de enfocar los problemas.

Las ventajas de un lenguaje orientado a objetos, son: 
  • Fomentar la reutilización y extensión del código.
  • Permitir la creación de sistemas más complejos.
  • Relacionar el sistema al mundo real.
  • Facilitar la creación de programas visuales.
  • Construcción de prototipos.
  • Agilizar el desarrollo de software.
  • Facilitar el trabajo en equipo.
  • Facilitar el mantenimiento del software.
Si alguien puede aportar algo más a este post y que pueda generar discusión o debate por favor publiquenlo. Gracias.

No hay comentarios:

Publicar un comentario