ANALISIS Y DISEÑO ORIENTADO A OBJETOS
INTRODUCCIONHoy en día la tecnología orientada a objetos ya no se aplica solamente a los lenguajes de programación, además se viene aplicando en el análisis y diseño con mucho éxito, al igual que en las bases de datos. Es que para hacer una buena programación orientada a objetos hay que desarrollar todo el sistema aplicando esta tecnología, de ahí la importancia del análisis y el diseño orientado a objetos.La programación orientada a objetos es una de las formas más populares de programar y viene teniendo gran acogida en el desarrollo de proyectos de software desde los últimos años. Esta acogida se debe a sus grandes capacidades y ventajas frente a las antiguas formas de programar.
El modelo orientado a objetos Para entender este modelo debemos tratar con los siguientes  conceptos básicos:   Objeto  Clase  Herencia
¿ Qué es un objeto ?Un objeto podría ser real o abstracto, por ejemplo un bebé, una factura, una medida, una fecha, etc.
¿ Que es una clase ?Conjunto de objetos que poseen características similares , es decir objetos del mismo tipo.
¿ Que es la herencia ? La herencia básicamente consiste en que una clase puede heredar sus variables y métodos a varias subclases (la clase que hereda es llamada superclase o clase padre). Esto significa que una subclase, aparte de los atributos y métodos propios, tiene incorporados los atributos y métodos heredados de la superclase. De esta manera se crea una jerarquía de herencia.
Herencia
Características asociadas al pooAbstracción: La abstracción consiste en captar las características esenciales de un objeto, así como su comportamiento.
Encapsulamiento:El encapsulamiento consiste en unir en la Clase las características y comportamientos, esto es, las variables y métodos. Es tener todo esto es una sola entidad.
Ocultamiento: Es la capacidad de ocultar los detalles internos del comportamiento de una Clase y exponer sólo los detalles que sean necesarios para el resto del sistema.
Polimorfismo:capacidad que tienen objetos de diferentes clases de responder al mismo mensaje. Comportamientos alternos entre clases derivadas relacionadas.
Servicio:Es el comportamiento de los objetos. Son métodos o procedimientos, que llegan a ser parte de los objetos, en forma muy similar a los atributos.Análisis y diseño orientado a objetosAnálisis : Investigación:  el análisis se centra en una investigación del problema y definir los requerimientos
Diseño: Solución: el diseño pone en relieve una     solución lógica : como el sistema cumple con los requerimientosAnálisis y diseño orientado a objetosLa esencia del Análisis y Diseño OO consiste en situar el dominio de un problema y una solución lógica dentro de la perspectiva de los objetosAnálisisConstrucciónDiseñoInvestigacióndel problemaSolución LógicaCodigo
Análisis y diseño orientado a objetosDurante el Análisis OO se identifica y describe los a objetos dentro del dominio del problema. Ej,. En el caso de un SI. De biblioteca los objetos: Libro, Biblioteca, Cliente.
Durante el Diseño OO, se procura definir los objetos lógicos del software, que serán implementados en un lenguaje de programación oo.  Ej el Objeto Libro tiene el atributo titulo y el método imprimir.Análisis y diseño orientado a objetosFinalmente durante  la Construcción o Programación OO se implementa los componentes del diseño como una clase libro en C++, Java, VB etc.Representaciónen el análisisConceptodel dominioLibrotituloPublicclass Libro {publicvoidprint();privateString titile: }Representación en un lenguaje oo.
Análisis y diseño orientado a objetosLas herramientasusadas en la etapa de análisis (investigacióndel problema) se puedenresumir en la siguientetabla.Herramienta de análisisPreguntasquecontestaCasos de uso                         ¿Cuáles son los procesos del dominio?Modelo conceptual                 ¿Cuáles son los conceptos, los términos?Diagramas de secuencia¿Cuáles son los eventos y lasoperac. del sistema?
Análisis y diseño orientado a objetosComo hemos podido observar el Análisis y Diseño Orientado a Objeto permite unificar y emplear diversas metodologías de forma uniforme para optimizar la realización de sistema, dado por el paradigma de la integración.Existen similitudes en los conceptos si son llevados a la interpretación por cada metodología.El enfoque de AOO es modular, mientras que en otras metodologías el enfoque es de proceso.
Análisis y diseño orientado a objetos
COMPONENTES GENERICOS DEL MODELO DE DISEÑO OOA veces resulta difícil hacer una distinción clara entre análisis OO y diseño OO. En esencia  el análisis OO es una actividad de clasificación, se analiza un problema en un esfuerzo por determinar las clases de objetos que serán aplicables al desarrollarse la solución.El análisis determina también las relaciones  y el comportamiento del objeto.El diseño OO le posibilita al Ing. De software la posibilidad de indicar los objetos  que se derivan de cada clase  y como estos objetos se relacionan con otros.Ilustra como se desarrollan las relaciones entre objetos, como se debe implementar el comportamiento  y como implementar la comunicación entre objetos.Después de realizado el proceso de análisis completo el Ingeniero De software  se concentra en el diseño del sistema, esto se realiza a través de la descripción de subsistemas necesarios para implementar los requerimientos del cliente.

Analisis Y DiseñO Orientado A Objetos

  • 1.
    ANALISIS Y DISEÑOORIENTADO A OBJETOS
  • 2.
    INTRODUCCIONHoy en díala tecnología orientada a objetos ya no se aplica solamente a los lenguajes de programación, además se viene aplicando en el análisis y diseño con mucho éxito, al igual que en las bases de datos. Es que para hacer una buena programación orientada a objetos hay que desarrollar todo el sistema aplicando esta tecnología, de ahí la importancia del análisis y el diseño orientado a objetos.La programación orientada a objetos es una de las formas más populares de programar y viene teniendo gran acogida en el desarrollo de proyectos de software desde los últimos años. Esta acogida se debe a sus grandes capacidades y ventajas frente a las antiguas formas de programar.
  • 3.
    El modelo orientadoa objetos Para entender este modelo debemos tratar con los siguientes conceptos básicos: Objeto Clase Herencia
  • 4.
    ¿ Qué esun objeto ?Un objeto podría ser real o abstracto, por ejemplo un bebé, una factura, una medida, una fecha, etc.
  • 5.
    ¿ Que esuna clase ?Conjunto de objetos que poseen características similares , es decir objetos del mismo tipo.
  • 6.
    ¿ Que esla herencia ? La herencia básicamente consiste en que una clase puede heredar sus variables y métodos a varias subclases (la clase que hereda es llamada superclase o clase padre). Esto significa que una subclase, aparte de los atributos y métodos propios, tiene incorporados los atributos y métodos heredados de la superclase. De esta manera se crea una jerarquía de herencia.
  • 7.
  • 8.
    Características asociadas alpooAbstracción: La abstracción consiste en captar las características esenciales de un objeto, así como su comportamiento.
  • 9.
    Encapsulamiento:El encapsulamiento consisteen unir en la Clase las características y comportamientos, esto es, las variables y métodos. Es tener todo esto es una sola entidad.
  • 10.
    Ocultamiento: Es lacapacidad de ocultar los detalles internos del comportamiento de una Clase y exponer sólo los detalles que sean necesarios para el resto del sistema.
  • 11.
    Polimorfismo:capacidad que tienenobjetos de diferentes clases de responder al mismo mensaje. Comportamientos alternos entre clases derivadas relacionadas.
  • 12.
    Servicio:Es el comportamientode los objetos. Son métodos o procedimientos, que llegan a ser parte de los objetos, en forma muy similar a los atributos.Análisis y diseño orientado a objetosAnálisis : Investigación: el análisis se centra en una investigación del problema y definir los requerimientos
  • 13.
    Diseño: Solución: eldiseño pone en relieve una solución lógica : como el sistema cumple con los requerimientosAnálisis y diseño orientado a objetosLa esencia del Análisis y Diseño OO consiste en situar el dominio de un problema y una solución lógica dentro de la perspectiva de los objetosAnálisisConstrucciónDiseñoInvestigacióndel problemaSolución LógicaCodigo
  • 14.
    Análisis y diseñoorientado a objetosDurante el Análisis OO se identifica y describe los a objetos dentro del dominio del problema. Ej,. En el caso de un SI. De biblioteca los objetos: Libro, Biblioteca, Cliente.
  • 15.
    Durante el DiseñoOO, se procura definir los objetos lógicos del software, que serán implementados en un lenguaje de programación oo. Ej el Objeto Libro tiene el atributo titulo y el método imprimir.Análisis y diseño orientado a objetosFinalmente durante la Construcción o Programación OO se implementa los componentes del diseño como una clase libro en C++, Java, VB etc.Representaciónen el análisisConceptodel dominioLibrotituloPublicclass Libro {publicvoidprint();privateString titile: }Representación en un lenguaje oo.
  • 16.
    Análisis y diseñoorientado a objetosLas herramientasusadas en la etapa de análisis (investigacióndel problema) se puedenresumir en la siguientetabla.Herramienta de análisisPreguntasquecontestaCasos de uso ¿Cuáles son los procesos del dominio?Modelo conceptual ¿Cuáles son los conceptos, los términos?Diagramas de secuencia¿Cuáles son los eventos y lasoperac. del sistema?
  • 17.
    Análisis y diseñoorientado a objetosComo hemos podido observar el Análisis y Diseño Orientado a Objeto permite unificar y emplear diversas metodologías de forma uniforme para optimizar la realización de sistema, dado por el paradigma de la integración.Existen similitudes en los conceptos si son llevados a la interpretación por cada metodología.El enfoque de AOO es modular, mientras que en otras metodologías el enfoque es de proceso.
  • 18.
    Análisis y diseñoorientado a objetos
  • 19.
    COMPONENTES GENERICOS DELMODELO DE DISEÑO OOA veces resulta difícil hacer una distinción clara entre análisis OO y diseño OO. En esencia el análisis OO es una actividad de clasificación, se analiza un problema en un esfuerzo por determinar las clases de objetos que serán aplicables al desarrollarse la solución.El análisis determina también las relaciones y el comportamiento del objeto.El diseño OO le posibilita al Ing. De software la posibilidad de indicar los objetos que se derivan de cada clase y como estos objetos se relacionan con otros.Ilustra como se desarrollan las relaciones entre objetos, como se debe implementar el comportamiento y como implementar la comunicación entre objetos.Después de realizado el proceso de análisis completo el Ingeniero De software se concentra en el diseño del sistema, esto se realiza a través de la descripción de subsistemas necesarios para implementar los requerimientos del cliente.
  • 20.
    Análisis y diseñoorientado a objetosDurante el diseño de subsistemas, es necesario para el ing. De software definir cuatro componentes de diseñoDominio del problema: Son los subsistemas responsables de la implementación de los requisitos del cliente directamente.Interacción humana:Los subsistemas, que implementan la interfaz de usuario(esto incluye Subsistemas responsables de interfaz grafica de usuario)Gestión de tareas:Los subsistemas responsables del control y coordinación de tareas concurrentes que pueden empaquetarse dentro de uno o varios subsistemas.Gestión de datos:El subsistema que es responsable del almacenamiento y recuperación de objetos.
  • 21.
    EL PROCESO DEDISEÑO DEL SISTEMAAun que un numero considerables de autores sugieren modelos de proceso para el diseño de sistemas OO, la secuencia de actividades propuesta por Rumbaugh y sus colegas es uno de los temas mas definitivos. Dividir el modelo de análisis en subsistemas
  • 22.
    Identificar la concurrenciadictada por el problema
  • 23.
    Asignar subsistemas aprocesadores y tareas
  • 24.
    Elegir una estrategiabásica para la implementación de la gestión de datos.
  • 25.
    Identificar los recursosglobales y mecanismos de control necesarios para acceder a ellos
  • 26.
    Diseñar un mecanismode control apropiado para el sistema
  • 27.
    Considerar como manipularlas condiciones limites
  • 28.
    Revisar y considerarlos intercambios.EL PROCESO DE DISEÑO DEL SISTEMAPara seguir con la metáfora el diseño del sistema OO puede verse como el plano arquitectónico de una casa. Ese plano especifica los propósitos de cada aplicación y mecanismos que comunican las habitaciones unas con otras y con el entorno exterior.El diseño de objetos se centra en las habitaciones, debemos desarrollar un diseño detallados de atributos y operaciones.Descripción de objetoUna descripción del protocolo que establece interfaz de un objeto definido cada mensaje que el objeto puede recibir y la correspondiente operación.