miércoles, 16 de marzo de 2011

Diagramas de clase y secuencia de UML

Clase OOP
Diagrama de Clase


Este es mi diagrama de clases UML, en donde podemos ver mas facilmente las conexiones entre las clases que estoy desarrollando en el sistema de restaurantes, orientado a objetos, podemos ver que clases heredan de otras clases, así como los metodos de cada una, por ejemplo, podemos ver que Producto hace herencia de los metodos y atributos de Bebida y Comida, cuyas clases poseerá características y atributos aparte de los visibles en su clase padre.

Cambié mis clases respecto a la presentación del martes, ya que me di cuenta que estaba hecho en base a lo visual y se necesitaba la parte lógica del programa, espero que esta ves no tenga problema, si tienen una recomendación es bienvenida.

Este diagrama se generó en base con el código hecho en xcode, en la parte de design.


 Diagrama de Secuencia

El diagrama de secuencia muestra como su nombre lo dice, la secuencia de los mensajes entre los objetos de un programa, podemos ver como si fuera una linea de vida sobre el funcionamiento de nuestro programa, al igual que las flechas de los mensajes de origen al destino, esto sirve para ver mas facilmente como se comunican los objetos y que se esta llamando en cada uno, podemos ver en la parte de arriba que aparecen los clases que intervienen y de modo vertical el tiempo que ocurre esto utilizando las flechas.

En este caso utilizó como un circulo negro el inicio, y con circulo con contorno blanco el final, por ejemplo iniciamos en mostrar un producto, ordena ese producto, ya sea comida o bebida, después este se comunica con Orden para recibirlo, crear la cuenta, poder eliminar o descontar, se confirma la acción pidiendo los datos necesarios en cliente y finaliza, en otra parte podemos ver que para crear un comentario, muestra los productos, crea el comentario lo guarda y finaliza. 

Este diagrama se generó con el programa OmniGraffle Pro, en donde vienen patrones para generar diagramas de este tipos.


Iinks importantes:

Espero recibir comentarios acerca de los diagramas, algunos de los comentarios hechos en la presentación ya los lleve a cabo.

2 comentarios:

  1. Aqui, nuevamente te noto algo confundido en tu diagrama de secuencia, producto es tu clase principal??
    Porque lo que entiendo es que el producto puede ser una bebida o una comida.
    En ese caso necesitas un menú como lo tenías antes, que es el contiene los métodos para crear un objeto bebida y un objeto comida y el método para seleccionar (ordenar) una comida y una bebida.
    Los siguiente esta bien, puesto que tu comida y bebida son una orden, después creas al cliente y es aquí donde te digo que relaciones el cliente a su orden para crear una requisición o pedido, aqui esta bien porque el cliente confirma su orden y entonces ya son por asi decirlo, uno solo, necesitarías una clase adicional "pedido" o "requisición" la cual tiene como atributos al cliente y la orden. Después la envías al carrito para ser cobrada. Recuerda que para ser cobrada se debió haber calculado antes el total con los descuentos, entonces podrías tener un método en "orden" que calcule dichas cantidades.

    ResponderEliminar
  2. Bien. Buenas observaciones las de JC (+1). Yo sigo pensando que tú le piensas en términos de las pantallas y no en términos de los objetos de tu programa. Te pongo 5+5 por los diagramas y la semana que viene ataco el diseño si no se mejora ;)

    ResponderEliminar