Articulo POO Arturo Franco
Articulo POO Arturo Franco
Articulo POO Arturo Franco
Resumen
Se denomina Programación orientada a objetos (POO) al sistema que utiliza objetos para
emular una situación o actividad que se fue convirtiendo en un estilo de programación muy
popular en los años 70´s en gran parte debido a sus sistema de lenguaje de programación,
las características van orientadas al uso de objetos agregados a lenguajes ya existentes.
Se define como un paradigma de programación donde se organiza un código por unidades
denominadas clases, de las cuales se crean objetos relacionados entre si para conseguir
objetivos en las aplicaciones, permite recrear situaciones muy cerca a la realidad.
Los lenguajes que se utilizan están específicamente orientados a objetos y las clases
permitirán definir un numero indeterminado de objetos que permiten entre ellos resolver los
problemas, las diferentes clases permiten realizar las acciones que se desean implementar
para conseguir la funcionalidad del software.
Cada objeto tiene sus propias identidades que permiten que los objetos sean diferentes
dentro del sistema y se basa en los principios de encapsulado y ocultación de la
información, clasificación tipos de datos y herencia y polimorfismo, se desarrolla en dos
etapas el análisis orientado a objetos y el Diseño Orientado a Objetos.
Palabras Claves: Programación, Objeto, clases, atributos
Desarrollo
Se denomina programación orientada a objetos o POO al paradigma de programación que
ha innovado la forma de obtener resultados. EL funcionamiento se deriva de la
manipulación de datos de entrada para obtener los datos de salida de forma especifica
donde cada objeto ofrece una funcionalidad especial es decir las técnicas aplicadas en esta
programación van codificadas en UML (Lenguaje Unificado de Modelación) donde los
objetos generados no solo incluyen al código referente sino también a un conjunto de
instrucciones
Se define como objetos a las entidades que tienen un estado, comportamiento e identidad.
La identidad en un objeto es la propiedad que lo hace diferente del resto es decir es su
identificador, el estado y el comportamiento están ligados por la propiedad de conjunto,
aquí destaca que una clase que requiere de métodos para poder tratar los atributos con los
que cuenta. Para los programadores estos conceptos se deben usar indistintamente sin darle
importancia a ninguno.
Este tipo de programación difiere de la estructurada tradicional en que los datos y los
procedimientos están separados sin relación y lo único que busca es el procedimiento de los
datos va centrada para obtener otros de salida. En la programación tradicional estructurada
el programador piensa sobre todo en términos de procedimientos o funciones y en segundo
lugar en las estructuras de datos, resumiéndose en Algoritmos + Estructura de datos =
Programas, (López, 2003), en cambio, en la programación por objetos el programador
define primero los objetos y luego envía mensajes para que realicen los métodos por si
mismos.
El proceso de diseño orientado a objetos es una disciplina de ingeniería desarrollado y
modelado de software que permite elaborar sistemas más completos desde componentes
individuales.
Entonces el objeto es generalmente traído del vocabulario o espacio de la solución, con una
identidad, que sirve para distinguirlo de otros objetos y un estado que contiene datos
generalmente ligados a él y el comportamiento son las acciones que se le pueden hacer al
objeto o las que él mismo hace, resumiríamos este paradigma como Objetos + Flujo de
mensajes = Programas (López, 2003).
La programación orientada a objetos es una relativamente nueva y abarca un conjunto de
metodologías y herramientas para el modelado de la implementación del software haciendo
la construcción más fácil a partir de componentes individuales, se inicia en los años 60´s
en la Universidad Noruega, donde se desarrollo un sistema informático para simular
sistemas físicos con la dificultad que los programas eran muy complejos y en ocasiones se
requería probar la viabilidad del rendimiento de estructuras alternativas, aunque se hicieron
muchos cambios históricamente hablando la aceptación se inicio a producir en la década
de los 90´s. donde ya aparecieron revistas como el Journal of Object-Oriented
Programming, el Object Magazine, dedicadas a investigar sobre los OO.
En la actualidad, se utilizan metodologías de análisis y diseño orientado a objetos y sus
lenguajes y el software se construye a partir de objetos con comportamientos específicos,
los propios objetos pueden formarse a partir de otros, esto conlleva a una acción muy
importante la reusabilidad. (López, 2003)
EL proceso orientado a objetos se mueve a través de una espiral evolutiva que comienza
con la comunicación con el usuario, definiendo el dominio del problema e identificando las
clases básicas del problema.
En general como en cualquier proyecto estructurado un proyecto POO se compone de dos
etapas, (Muñoz, 2016) la primera es el Análisis Orientado a Objetos (AOO) que es un
método de que permite examinar los requisitos desde la perspectiva de las clases y objetos
desde el dominio del problema, donde serian entidades tangibles que muestran
comportamiento bien definido, bien identificados dentro del problema a resolver, variando
dependiendo de los casos prácticos pero extraídos del problema en cuestión.
La segunda etapa es el Diseño Orientado a Objetos (DOO) que es la creación de software
resistente al cambuí y escrito con poca expresión, donde se logra un mayor nivel de
confianza en la corrección del software a través de la división inteligente de su espacio
estado reduciendo riesgos del desarrollo del sistema. (Pressman, 1997)
El modelado de análisis se enfoca principalmente en clases que se extraen del ´problema,
estas clases representan a cosas que deben almacenarse en una base de datos, este diseño
refino y extiende el conjunto de clases de entidad desarrollando controladores que
responden de forma interactiva y actúa de acuerdo al uso del software. Las clases del
controlador se diseñan para gestionar la creación o actualización de los objetos entidad, la
instanciación de objetos frontera, la comunicación compleja entre conjuntos y la validación
de datos comunicados entre objetos o entre usuarios y aplicación. (Pressman, 1997)
Los principios que rigen este diseño son: Encapsulado y ocultación de la información, que
permite ocultar a los usuarios de un objeto, los aspectos propios de la programación,
mostrándoles únicamente la interfaz a través de la cual interactúan con el objeto, este
principio permite modificar los aspectos de un objeto sin que se afecte a los demás,
proporcionando la libertad de implementación de detalles de un sistema con la única
restricción de mantener la interfaz abstracta que ven los usuarios.
Otro principio es la clasificación tipos de datos y herencia, la clasificación es la
tipificación de datos abstractos habitualmente llamados clases que son conjuntos
encapsulados de objetos reales similares, se utilizan para describir los tipos de datos
abstractos y se reserva el término objeto para referir las realizaciones o casos concretos
que generan durante la ejecución de programas, permitiendo que interactúen entre si y que
estén organizados en clases
Comentarios y Observaciones
Conclusión
En este paradigma los programas se diseñan de tal manera que todo el funcionamiento
gire alrededor de ellos, permite crear clases que representan los objetos que se quieren
mostrar o manejar en el sistema, los datos funcionan más por lógica, la clase por si sola no
funciona se debe vincular con otras que a su vez crean un nuevo objeto con entidades
concretas y éstas clases son las que definen las acciones de los objetos
Fuentes de Consulta
López, R. J. (2003). Tesis: Análisis y Diseño Orientado a Objetos de un Framework para
el modelado estadistico de la MKG. Mallorca.
Muñoz, L. F. (2016). Guión Práctico de Análisis y Diseño POO. Obtenido de MiGabeta:
https://migabeta.wordpress.com/2017/01/03/introduccion-al-modelado-y-al-
proceso-de-desarrollo-de-software/
Pressman, R. (1997). Ingenieria del Software: Un enfoque Práctico. México: McGraw-Hill.