DEV Community

AnnaR
AnnaR

Posted on

POO con BBDD #1

He empezado a trabajar en el proyecto de la asignatura Programación Orientada a Objetos con Acceso a Bases de Datos.
La primera tarea consiste en elaborar el diagrama UML de clases y el diagrama de casos de uso.
Primero voy a presentar el caso práctico.

Caso Práctico Online Store
Online Store es una empresa que se dedica a la venta de productos a través de comercio electrónico y necesita implementar una aplicación para gestionar las ventas de la empresa.
Nuestra empresa ha sido seleccionada para desarrollar una aplicación de escritorio basada en Java que se ejecutará en el backend como alternativa a la aplicación web.
Los datos que se gestionaran en la aplicación se dividen en clientes, artículos y pedidos.
Clientes
Los datos que se almacenarán de cada cliente serán el nombre, domicilio, nif y email, siendo el email el identificador del cliente. Existen dos tipos de clientes:
Estándar. No paga ninguna cuota.
Premium. Paga una cuota anual de 30 euros y se le aplica un 20% de descuento en los gastos de envío de cada pedido.
Artículos
Los datos básicos de los artículos son un código alfanumérico, una descripción y el precio de venta, gastos de envío y un tiempo de preparación para el envío representado en minutos.
Pedidos
Para simplificar la aplicación se considerará que cada pedido solo puede contener un artículo, aunque se puedan pedir varias unidades de este.
Los datos necesarios para cada pedido son el número de pedido, cliente, el artículo, la cantidad de unidades del artículo y la fecha y hora del pedido.
Un pedido no se puede ser cancelado una vez transcurrido el tiempo de preparación para el envío del articulo a partir de la fecha del pedido.
Para calcular el precio del pedido hay que tener en cuenta el precio de venta, las unidades pedidas, el coste del envío y si el cliente que lo ha realizado es premium.
Requisitos funcionales:
Se pretende crear un sistema de información que modele una tienda online que recoja las especificaciones que se han indicado en el apartado anterior siguiendo un paradigma de programación orientada a objectos.
La aplicación debe implementar un menú de opciones con las funcionalidades siguientes:

  1. Gestión Artículos: 1.1. Añadir Articulo 1.2. Mostrar Artículos
  2. Gestión de Clientes 2.1. Añadir Clientes 2.2. Mostrar Clientes 2.3. Mostrar Clientes Estándar 2.4. Mostrar Clientes Premium
  3. Gestión de Pedidos 3.1. Añadir Pedido. En caso de que al pedir los datos del pedido el cliente no existe, es decir, se trata de un nuevo cliente, se deben pedir los datos del nuevo cliente y se añadirá a la lista de clientes. El articulo en el momento de añadir un pedido debe existir. 3.2. Eliminar Pedido. Un pedido puede ser borrado únicamente si no ha sido enviado, es decir, si el tiempo transcurrido a desde la fecha y hora del pedido no supera el tiempo de preparación para el envío del artículo. 3.3. Mostar pedidos pendientes de envío con la opción de filtrar por cliente. 3.4. Mostrar pedidos enviados con la opción de filtrar por cliente.

Mi versión del diagrama de clases y de casos de uso.

diagrama de clases

diagrama de casos de uso

Después de consultarlo en el grupo, hemos elegido otros diagramas.

Versión grupal del diagramas

De momento no sé si el resultado es correcto o no. Cuando tenga la respuesta del profesor, la escribiré.

Top comments (0)