Análisis Orientado a Objetos (AOO)



El objetivo del Análisis Orientado a Objetos (AOO) es desarrollar un modelo que describa el software de computadora necesario para satisfacer los requisitos definidos por el cliente. El modelo de análisis contiene el funcionamiento y el comportamiento de los elementos del modelo de objetos.
Nadie tiene muy claro por qué el Análisis Orientado a Objetos ha tardado tanto tiempo en ser aplicado a pesar de que maneja conceptos que aprendimos en la guardería como objeto, clase, miembro etc. No existe un acuerdo sobre los conceptos que sirven de base para el AOO, aunque se repiten a menudo un número de ideas clave.
El propósito es definir todas las clases, atributos, operaciones y relaciones de comportamiento asociado entre ellos que sean relevantes al problema que se va a resolver. Para realizar dicho análisis se deben ejecutar las siguientes tareas:
  • ·         Identificar los escenarios o casos de uso.
  • ·         Identificar las clases.
  • ·         Definir sus atributos y métodos.
  • ·         Especificar la jerarquía entre las clases.
  • ·         Representar las relaciones entre los diferentes objetos del sistema.
  • ·         Modelar el comportamiento de cada objeto.
  • ·         Repetir iterativa mente las tareas anteriores hasta completar el modelo.


Análisis del dominio
Es la primera actividad técnica a la hora de comenzar un nuevo proyecto. El objetivo de este análisis es definir las clases y objetos que están presentes en el dominio del problema propuesto. Esto dependerá del tipo de enfoque que se dé al problema o del área de negocio que se desea modelar y se encuentra encuadrado dentro de un nivel medio de abstracción. Sirve para crear una biblioteca de clases que posteriormente podrán ser reutilizables (componentes).
Para ello cuando se diseñan las clases hay que tener en mente que no se realizarán con el único objetivo de integrarlas en una aplicación concreta, sino que deben diseñarse pensando en una posterior reutilización, esto es lo que llamamos análisis del dominio.
Por tanto se trata de identificar los requisitos comunes de una aplicación específica con vistas a su reutilización posterior dentro de un dominio de aplicación específico.
Un analista de dominio debe verse a sí mismo como un diseñador de herramientas para que los demás trabajen con ellas.

  
Definir el dominio

Consiste en aislar el área del negocio, se extraen las especificaciones y diseños de código que ya existan, clases, interfaz gráfica y clases de acceso a bases de datos, bibliotecas comerciales, también políticas, procedimientos, estándares, guías etc. En definitiva todo lo relevante para el proyecto. Se clasifican los elementos definiendo categorías de elementos y la nomenclatura de cada una de ellas.
Se deben identificar los objetos candidatos, ver si dichos objetos son reutilizables o adaptarlos para que lo sean y definir qué porcentaje de la aplicación podrá construirse con estos objetos reutilizables.
Se trata de desarrollar un modelo de análisis para los objetos que posteriormente servirá como base para la construcción de los objetos del dominio y su reutilización.

Componentes genéricos

Se trata de desarrollar un modelo del mundo real, dejando los detalles para más adelante. Se distingue entre componentes estáticos (que no cambian durante la vida de la aplicación) y componentes dinámicos (que se centran en el control y dependen del tiempo y de los sucesos).
  • ·         Vista estática de clases, las que persisten a lo largo de toda la vida de la aplicación.
  • ·         Vista estática de atributos, para definir las clases anteriores.
  • ·         Vista estática de relaciones, para definir las conexiones e interacciones entre los objetos anteriores.
  • ·         Vista estática de comportamientos, consiste fundamentalmente en un modelo de casos de uso que define una secuencia de operaciones genérica.
  • ·         Vista dinámica de comunicación, define la comunicación dinámica entre objetos definiendo los mensajes que producen transiciones de un estado a otro.
  • ·         Vista dinámica de control y tiempos, describe el tipo y duración de los sucesos que provocan la transición de estados entre ellos.


Comentarios