martes, 22 de marzo de 2011

Presentación de Diagramas UML y de Secuencia

Programación Orientada a Objetos - Semana 8 - Reporte 7

Hola a todos!!

Estas son las diapositivas que corresponden a la presentación de mis diagramas, referentes a mi proyecto.




Este es el diagrama UML correspondiente a mi diseño actual. Cabe mencionar que con este diseño he logrado implementar algo de código que funciona correctamente.
A grandes rasgos, en primer lugar podemos ver que todas mis clases están encapsuladas dentro del paquete toBill.
(De izquierda a derecha) Posteriormente tenemos la clase Billing que por ahora funciona como la clase principal de mi programa, esta clase incluye otra llamada Proxy cuyo funcionamiento es crear un puente que comunique a la aplicación con la base de datos. Billing tiene como atributo una factura Bill.
Bill tiene como atributos un cliente, un proveedor y una orden (Client, Supplier, Order). Los métodos implementados dentro de la clase factura incluyen la capacidad de imprimirse a si misma, exportarse a otros formatos y realizar los cálculos necesarios.
La clase Person es la siguiente, de ella se dividen 2: Client y Supplier que son las 2 partes involucradas en el proceso de facturación. En esta clase se implementa un poco de herencia.
La clase siguiente es Order, la cual es una lista de Items o articulos a facturar. Order puede añadir artículos a la lista, removerlos e imprimir su contenido.
Por último tenemos a la clase Item que son cada uno de los conceptos o artículos a facturar. Se trata de nodos los cuales se van encadenando para formar una lista.



Aqui se visualiza el proceso actual que se sigue para armar una factura.
Todo comienza cuando el usuario inicia la aplicación lo cual genera un nuevo módulo de facturación Billing. Con ello se activan los métodos para continuar con el proceso.
Posteriormente se llama al método getData() el cual está dentro de Billing. getData() tomara uno a uno los datos del cliente y los irá almacenando en variables temporales; una vez terminado se generá un nuevo objeto Client y los valores de las variables temporales se envían a los atributos al constructor de Client, con lo que finaliza la primera parte que es generar el cliente.
Después, getData() comienza abriendo un ciclo con el cual se pretende pedir los artículos a facturar, el ciclo. Se genera la Order y un Item, se van pidiendo los datos del Item los cuales se almacenan en sus respectivas variables y una vez terminado, el Item se añade a la lista principal, es decir, Order.
Una vez generados estos dos objetos, se envían al constructor de Bill para generar la factura, la cual posteriormente se puede imprimir, exportar a otros formatos o guardar.


Espero le entiendan a mi presentación.
Dudas o sugerencias no duden en comentar

SALUDOS

1 comentario: