miércoles, 6 de abril de 2011

Un Juego Orientado a Objetos

Análisis y diseño orientado a objetos
La habilidad más importante en el análisis y diseño orientado a objetos es asignar eficientemente las responsabilidades a los componentes de software.
En segundo lugar aparece la determinación de las clases de objetos.

Durante el análisis y diseño orientado a objetos, se procura identificar, describir y definir los objetos que finalmente serán implementados en un lenguaje de programación orientado a objetos

Ejemplo: Un juego de dados.
Se tiene un juego de dados en que un jugador lanza dos dados. Si el total obtenido es siete, el jugador gana, de lo contrario pierde.

Se realiza el siguiente proceso:


1. Definición de casos de uso
Los casos de uso son descripciones narrativas en lenguaje natural de los procesos del dominio en un formato estructurado de prosa. Los casos de uso no son propiamente un elemento del análisis y diseño orientado a objetos (pueden ser utilizados en análisis no orientados a objetos), pero constituyen un paso preeliminar muy útil porque describen las especificaciones de un sistema. Son simplemente historias escritas.
Caso de uso: Jugar un juego
Participantes: Jugador
Descripción: Este caso de uso comienza cuando el jugador recoge y tira los dados. Si los puntos suman siete, gana, caso contrario pierde.
El diagrama UML correspondiente es el siguiente:


2. Definición del modelo del dominio
Muestra gráficamente a través de un grupo de diagramas los conceptos, (clases de objetos) los atributos y las asociaciones más importantes del dominio.


 3. Definición de los diagramas de colaboración
Representan el flujo de mensajes entre las instancias y la invocación de métodos.


4. Definición de diagramas de clases de diseño
Para definir las clases de objetos se deben contestar dos preguntas ¿Cómo se conectan unos objetos a otros? y ¿Cuáles son los métodos de cada clase? Un diagrama de diseño de clases contesta estas preguntas. El siguiente es un ejemplo del diagrama de diseño de clases del juego de dados.