|
2. Diferencias: Cualquier diseño debe ser modelado como una gráfica dirigida hecha de entidades con atributos los cuales participan en relaciones. El sistema debe estar descrito a distintos niveles de abstracción y el diseño ocurre en etapas que se traslapan. La primera idea que se tiene al construir una solución de un determinado problema es un modelo mental que constituye el primer intento de diseño llamado comúnmente diseño informal. Este diseño a medida que se va describiendo en papel utilizando técnicas y procedimientos esquemáticos y metódicos va adquiriendo forma hasta constituirse en un diseño formal equivalente. Pues bien, dentro del paradigma de la orientación a objetos, el diseño OO es con mucho; más complejo que el diseño estructurado clásico, ya que lo que se busca es crear un diseño genérico y abierto y no cerrado y concreto. El Diseño Orientado a Objetos se define como un diseño de sistemas que utiliza objetos auto-contenidos y clases de objetos. Características principales del Diseño Orientado a Objetos: Los objetos son abstracciones del mundo real o entidades del sistema que se administran entre ellas mismas Los objetos son independientes y encapsulan el estado y la representación de información La funcionalidad del sistema se expresa en términos de servicios de los objetos Las áreas de datos compartidas son eliminadas. Los objetos se comunican mediante paso de parámetros Los objetos pueden estar distribuidos y pueden ejecutarse en forma secuencial o en paralelo Ventajas del Diseño Orientado a Objetos: Fácil de mantener, los objetos representan entidades auto-contenidas Los objetos son componentes reutilizables Para algunos sistemas, puede haber un mapeo obvio entre las entidades del mundo real y los objetos del sistema Desarrollo Orientado a Objetos: El análisis, diseño y programación orientada a objetos están relacionados pero son diferentes El análisis orientado a objetos concierne al desarrollo del modelo de objetos del dominio de la aplicación El Diseño Orientado a Objetos trata del desarrollo del modelo del sistema orientado a objetos para implementar los requerimientos El diseño Orientado a Objetos (DOO) difiere considerablemente del diseño estructurado ya que en DOO no se realiza un problema en términos de tareas (subrutinas) ni en términos de datos, sino se analiza el problema como un sistema de objetos que interactúan entre sí. Un problema desarrollado con técnicas orientadas a objetos requiere, en primer lugar saber cuales son los objetos del programa. Como tales objetos son instancias de clases, la primera etapa en el desarrollo orientado a objetos requiere de la identificación de dichas clases (atributos y comportamiento), así como las relaciones entre éstas y su posterior implementación en un lenguaje de programación. Los enfoques convencionales para el diseño del software aplican notaciones y heurísticas diferentes para establecer correspondencias entre el modelo de análisis y el diseño. Si recordamos la ingeniería de software clásica (imperativa), veremos que cada elemento del modelo de análisis convencional tiene correspondencia con una o más capas del modelo de diseño tal como lo ilustra la siguiente figura:
Al igual que el diseño de software convencional, el DOO aplica diseño de datos (cuando se representan atributos), diseño de interfaces (cuando se presenta elintercambio de mensajes) y diseño procedimental (en el diseño de operaciones), no obstante el diseño arquitectónico es diferente. La arquitectura de diseño OO se centra más en las colaboraciones entre los objetos que con el flujo de control de datos. De esta manera las capas de la pirámide se renombran para reflejar de forma más exacta la naturaleza del DOO.
Por consiguiente pudiéramos resumir las diferencias de la siguiente manera: Ciclo vital del software Ciclo tradicional Orientado a Objeto es: * Modelo en cascada * Modular. * Análisis (qué) * Escaso acoplamiento externo y fuerte cohesión interna. * Diseño (cómo) * Efectos laterales mínimos (encapsulamiento). * Codificación (hacerlo) * Programación por extensión. * Pruebas (¿funciona?) * Orientado a datos, Explota la herencia (jerárquico). * Mantenimiento (no) * Reutilización de clases, Fácil de modificar. La descomposición Funcional *Módulos construidos alrededor de * Módulos construidos alrededor de las clases. las operaciones. * Clases escasamente acopladas, sin datos globales. *Datos globales o distribuidos entre * Encapsulamiento y mensajes. Módulos. * Diagramas jerárquicos de clases. *Entrada/Proceso/Salida * Organigramas de trabajo y flujo de datos. |
|
UNIVERSIDAD DE YACAMBU |
|
VICERRECTORADO DE ESTUDIOS VIRTUALES |
|
MATERIA: ANÁLISIS Y DISEÑO DE SISTEMAS |
|
TRABAJO 1 TEMA: Diferencia entre Análisis y Diseño Estructurado y Orientado a Objetos |