domingo, 12 de septiembre de 2021

Considerando objetos DOO



El diseño orientado por objetos (DOO), como otras metodología de diseños orientados a la información crean una representación del dominio del problema en el mundo real y lo transforma en un dominio de soluciones que es el software. 

A diferencia de otros métodos, el DOO da como resultado un diseño el cual interconexión los objetos de datos (elementos de datos) y las operaciones de procesamiento, de forma tal que encapsula la información y el procesamiento.  Este encapsulamiento es el paradigma fundamental de la orientación por objetos.

La naturaleza única del diseño orientado por objetos se debe a su habilidad para construir basándose en tres conceptos importantes del diseño del software: 

•Abstracción. 
•Ocultamiento de la información.
•Modularidad.





Conceptos básicos sobre la Orientación por Objetos


¿Qué es un Objeto?

Un objeto es una entidad física o abstracta que tiene un comportamiento antes ciertos estímulos, tanto externos como de otros objetos específicos que se encuentran dentro del sistema. 
Entonces ¿ Qué se puede considerar como objeto ? : Persona, equipo, hardware, materiales, información, software, procesos, procedimientos, etc.


Identidad de un objeto:
 
Cada objeto tiene su propia identidad que lo distingue de los demás objetos. En otras palabras, dos objetos distintos no son iguales aunque todos los valores de sus atributos sean idénticos.


Componentes para la construcción de Software de un objeto:

Cuando un objeto se transforma en una realización de software, consta de una interfaz, una estructura de datos privada y unos procesos llamados operaciones o métodos que son los únicos que pueden transformar legítimamente la estructura de datos



Ventajas de Sistemas OO

Un modelo OO representa bastante el domino del problema 
•Esto facilita el entendimiento del diseño 
•Es más sencillo impactar cambios en los requerimientos (comparado con otros enfoques) 
•Facilita la reutilización 
•Se cree que este enfoque es más natural 
•Entonces, provee estructuras más ricas para pensar y poder hacer abstracciones


Tres conceptos claves para la calidad de un diseño (además de ser correcto, claro)


Acoplamiento (bajo)

• Captura la fuerza de interconexión entre módulos 
• Cuánto más acoplados existe más dependientes entre si 
• Entonces, más difícil comprenderlos y modificarlos 
• El grado de acoplamiento entre módulos depende de: 
         Cuánta información se necesita sobre el otro módulo para entenderlo y qué tan compleja y                      explícita es esta información


Cohesión (alta)

Se focaliza en conocer porqué los elementos de un módulo están juntos en ese módulo 
• El objetivo es tener en un mismo módulo elementos que están fuertemente vinculados 
• Entonces, módulos más fáciles de entender y más fáciles de modificar 

Principio abierto-cerrado (cumplir con el principio)

Objetivo : promover la construcción de sistemas que sean fáciles de modificar 
• Módulos abiertos para la extensión 
        El comportamiento puede ser extendido 
• Módulos cerrados para la modificación 
        Extremo: cuando se hacen mejoras no es necesario tocar el código existente 
        La interfaz no debe cambiar y se debe asegurar que se mantiene el comportamiento


¿Ustedes cómo diseñan?

En lo personal y con la experiencia que he obtenido en diversas materias en la que se nos a solicitado diseños se podría decir que el método con el que mas me siente cómodo o con el que mas he realizado diseños del software es con el modelo de diagramas de clases y el modelo de diagrama Entidad relación.  





No hay comentarios:

Publicar un comentario