miércoles, 3 de marzo de 2010

Análisis Orientado a Objetos (AOO)


Es un método de análisis que examina los requisitos desde la perspectiva de las clases y objetos que se encuentran en el vocabulario del dominio del problema.
ADOO aplica técnicas de modelado de objetos para analizar los requerimientos para un contexto, por ejemplo, un sistema de negocio, un conjunto de módulos de software y para diseñar una solución para mejorar los procesos involucrados.
No está restringido al diseño de programas de computadora, sino que cubre sistemas enteros de distinto tipo. Las metodologías de análisis y diseño más modernas son casos de uso guiados a través de requerimientos, diseño, implementación, pruebas, y despliegue.

Los Documentos básicos del análisis orientado a objetos son:

Documentos de Análisis
Especificación de requisitos o requerimientos
Diagramas de casos de uso
Escenarios y subescenarios
Prototipos y su evaluación

El análisis orientado a objetos esta basado en un modelo de cinco capas:
1.Capa clase/objeto.
2.Capa de estructura.
3.Capa de atributos.
4.Capa de servicios
5.Capa de tema.




La figura ilustra como se entrelazan estas cinco capas.

1.Capa Clase/Objeto. Esta capa indica las clase y objetos.

2.Capa de Estructura. Esta capa captura diversas estructuras de clase y objetos, tales como las relaciones uno a muchos y la herencia.

3.Capa de Atributos. Esta capa detalla los atributos de las clases.

4.Capa de Servicios. Esta capa indica los mensajes y comportamientos del objeto (servicios y métodos).

5.Capa de Tema. Esta capa divide el diseño en unidades de implementación o asignaciones de equipos.


Análisis y clases de objetos

Objeto:
Es una abstracción de algo en un dominio de un problema que refleja las capacidades de un sistema para llevar información acerca de ello, interactuar con ello a ambas cosas.
Es una representación en computadora de alguna cosa o evento del mundo real. Pueden tener tanto atributos y comportamientos.

Clase: Es una categoría de objetos similares. Los objetos se agrupan en clases.
Una clase define el conjunto de atributos y comportamientos compartidos que se encuentran a cada objeto de la clase.

Clase y objeto: Un término que se refiere tanto a clase como a los objetos que ocurren en la clase.
Hay cinco tipos generales de objetos que pueden descubrirse durante el análisis. Los objetos a veces representan cosas tangibles como vehículos, dispositivos y libros.
Algunas veces los objetos representan papeles actuados por personas u organizaciones.
Los objetos también pueden ser derivados de incidentes o eventos. Otros objetos pueden indicar interacciones tales como una venta o un matrimonio. Las interacciones tienen una cualidad de transacción o contrato. Los objetos también pueden detallar especificaciones. Las especificaciones tienen estándares o una cualidad de definición y, por lo general, implican que otros objetos representaran ocurrencias de cosas tangibles.





Las clases son representadas por cuadros rectangulares redondeados (bubtángulos) divididos en tres partes. El nombre de la clase se muestra en la división superior del cuadro. Las otras dos divisiones se usan para las capas de atributo y servicio. Cuando una clase aparece sin objetos, puede ser solamente una clase base, debido a que la única razón para tal clase "sin objetos" es que sea un medio para agrupar atributos y servicios que serán heredados por varias otras clases.
Los objetos que tienen ocurrencia de una clase son representados por un cuadro sombreados rodeado por la clase. Debido a que los objetos tiene ocurrencias de una clase.


Criterios que podemos usar para que nos ayuden a determinar si se justifica una nueva clase de objetos:

1.Hay una necesidad de recordar el objeto.
Esto es, el objeto puede ser descrito en un sentido definido y sus atributos son relevantes para el problema.

2.Hay una necesidad de determinados comportamientos del objeto. Esto es, aunque un objeto no tenga atributos, hay servicios que debe proporcionar o estados de objeto que deben ser llamados.

3.Usualmente un objeto tendrá varios atributos. Los objetos que tienen solamente uno o dos atributos sugieren diseños sobreanalizados.

4.Usualmente una clase tendrá mas de una instancia de objeto, a menos de que sea una clase base.

5.Usualmente los atributos tendrán siempre un valor significativo para cada objeto de la clase. Los objetos que producen valor NULO para un atributo, o para los que no es aplicable un atributo, por lo general implican una estructura generalización-especificación.

6.Usualmente los servicios siempre se comportarán en la misma forma para todos los objetos de la clase. Los servicios que varían dramáticamente para algunos objetos de una clase o que regresan sin realizar acción para algunos objetos también sugieren una estructura generalización-especificación.

7.Los objetos deben implementar requerimientos que son derivados del problema y no de la tecnología de solución. La parte de análisis del proyecto orientado a objetos no debe llegar a ser dependiente de una tecnología de implementación particular, tal como un sistema de computadora especifico o un lenguaje de programación especifico. Los objetos que atienden tales detalles técnicos no deben aparecer sino hasta muy tarde en la etapa de diseño. Los objetos dependientes de la tecnología sugieren que el proceso de análisis tiene fallas.

8.Los objetos no deben duplicar atributos o servicios que pueden ser derivados de otros objetos del sistema. Por ejemplo, un objeto que guarda la edad de un empleado es superfluo cuando existe un objeto de empleado separado que conserva el atributo fecha de nacimiento. El objeto edad puede ser eliminado por un servicio edad que es componente del objeto empleado.

1 comentario: