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
Publicar un comentario