Estimados, esto se ha discutido en diferentes instancias, ahora lo resumimos en este mensaje. Además de los casos de uso que implementan las diferentes funcionalidades pedidas, se deben implementar dos casos de uso adicionales:
- Obtener y modificar fecha actual. Para eso, lo más natural es tener un controlador de fecha que sea singleton y almacene la fecha actual, que NO debe ser la del sistema, sino que debe poder setearse en el programa. Notar que, por ejemplo, al momento de hacerse una nueva compra, su fecha queda determinada a partir de ese dato.
- Cargar datos iniciales. Una forma de implementarlo es cargando los datos desde el código, invocando operaciones del sistema que ya tienen implementadas, a partir de los controladores, por ejemplo, las operaciones que dan de alta usuario, productos, compras, etc.
Saludos