Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes...

35
POO I.C. HERNÁNDEZ ORO OSCAR AMURICIO 1 Universidad de Ixtlahuaca CUI. Programación Orientado a Objetos Software para calcular el total de la compra realizada por los usuarios en una tienda Manual Técnico Ixtlahuaca Edo. de México a 26 de Junio de 2013.

Transcript of Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes...

Page 1: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. HERNÁNDEZ ORO OSCAR AMURICIO 1

Universidad de Ixtlahuaca CUI.

Programación Orientado a Objetos

Software para calcular el total de la compra realizada por los usuarios en una tienda

Manual Técnico

Ixtlahuaca Edo. de México a 26 de Junio de 2013.

Page 2: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. HERNÁNDEZ ORO OSCAR AMURICIO 2

INDICE

Titulo Página

1. Definición del problema 3

2. Propuesta de solución 6

3. Análisis 7

4. Diagrama de clases 8

5. Representación en pseudocódigo de el diagrama de clases 9

6. Diagrama de secuencia 21

7. Representación en pseudocódigo de el diagrama de secuencia 28

8. Requerimientos mínimos de HW Y SW 34

9. Recomendaciones 35

10. Codificación comentada 35

Page 3: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. HERNÁNDEZ ORO OSCAR AMURICIO 3

1. DEFINICIÓN DEL PROBLEMA

Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener el control sobre los productos ofrecidos, registrando la clave del producto, el nombre, el precio de lista y el precio de compra, la cantidad de unidades de producto que se tienen en existencia y un umbral de inventario para ese producto (es el número mínimo de productos que se deben tener en existencia antes de resurtir el producto). Se tienen 2 tipos de productos: Productos perecederos y Productos No perecederos. De los productos perecederos se debe registrar la fecha de caducidad y la unidad de venta (por ejemplo kilo, pieza, o litro). Para calcular el precio de compra de cada uno de este tipo de productos, se debe multiplicar el número de unidades de venta por el precio de lista, y a esa cantidad se debe aplicar un descuento del 0.1% por cada día que reste para cumplir la fecha de caducidad. De los productos no perecederos, se debe registrar la dimensión de su empaque (largo, ancho y profundo). Para calcular el precio de compra de este tipo de productos, se debe obtener su volumen y multiplicarlo por el precio de lista. También es necesario tener el control sobre sus clientes, registrando su nombre completo, edad, sexo, dirección y teléfono. Se tienen clientes de tipo Básico, de los cuales se registra una cuota mensual de $100, $200 o $300, y para ellos, se registra un porcentaje de descuento que se calcula dividiendo la cuota mensual por el número del día del mes en el que se hace la compra, y ese resultado se divide por 30. Se tienen clientes de tipo Especial, de los cuales se registra un porcentaje de descuento que se calcula multiplicando el número de años de antigüedad que tenga por un factor de 0.41. Finalmente, se tienen clientes de tipo Premium, los cuales obtienen un porcentaje de descuento calculado dividiendo el límite de su tarjeta de crédito por un factor de 4900. Cuando un cliente compra sus productos, la tienda debe calcular el costo total a pagar, y para ello, se debe obtener la cantidad total del precio de compra de todos los productos adquiridos, y aplicarles el descuento de acuerdo con el tipo de cliente. Además, a la existencia del producto que se haya comprado, se le debe restar la cantidad comprada, y se debe checar cómo queda con respecto al umbral de inventario, y si la nueva existencia es

Page 4: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. HERNÁNDEZ ORO OSCAR AMURICIO 4

menor que el umbral de inventario, se debe generar un aviso para que ese producto se resurta. Por ejemplo, el día de hoy 7 de junio, un cliente compra: 2.5 kg de Carne 5 manzanas 3mil centímetros cúbicos de pintura. Analizando se tiene Para la carne se tiene:

Clave: 24 Tipo: Perecedero Nombre: Carne Caducidad: 10 jun 2013 Unidad venta: kg Precio Unidad Venta: $85.00 Unidades compradas: 2.5

El precio de compra de la carne se calcula: Precio sin descuento = (Precio Unidad Venta)*(Unidades compradas) = 85*2.5 =212.5 Descuento= (0.1/100)*(Precio sin descuento)*(días para caducar)=0.001*212.5*3=0.6375 Precio a pagar = Precio sin descuento – Descuento=212.5-0.6375= 211.8625 De igual manera se calcula el precio de cualquier producto perecedero. Para la pintura se tiene:

Clave: 17 Tipo: No Perecedero Nombre: Pintura Dimensión: Largo: 30 cm Ancho: 20 cm Profundo: 5 cm Unidad venta: cm3 Precio Unidad Venta: $0.1 Unidades compradas: 3000

El precio de la pintura se calcula: Precio sin descuento = (Precio Unidad Venta)*(Unidades compradas) = 0,1*3000 =300 Descuento= No aplica Precio a pagar = 300

Page 5: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. HERNÁNDEZ ORO OSCAR AMURICIO 5

Asumiendo entonces que el cliente realizó las siguientes compras

Si es un tipo de cliente Básico con cuota de $200.00 lo que debe pagar es Suma productos= 586.64 Porcentaje de descuento = (cuota/7)/30=0.9524 % Total a pagar =586.64- (586.64*0.9524)/100=580.05

Si es un tipo de cliente Especial con 5 años de antigüedad, lo que debe pagar es

Suma productos= 586.64 Porcentaje de descuento = (antigüedad)*(0.41) = 2.05 Total a pagar = 586.64-(586.64*2.05)/100=573.61

Si es un tipo de cliente Premium con un límite en su tarjeta de crédito de 30000

Suma productos = 586.64 Porcentaje de descuento = límite/49000 =6.1224 Total a pagar = 586.64 –(586.64*6.1224)/100 = 549.73

Actualmente todos los registros y los pagos al realizar las compras se hacen por medio de

una hoja y un bolígrafo, lo cual conlleva mucho tiempo y perdida de información después

de mucho tiempo, y al mismo tiempo la productividad baja al tardarse en hacer el registro.

Page 6: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. HERNÁNDEZ ORO OSCAR AMURICIO 6

2. PROPUESTA DE SOLUCIÓN

La empresa GIDS (Grupo de Ingenieros Desarrolladores de Software) propone realizar un

programa orientado a objetos que permita:

I. REGISTRAR LOS DATOS DEL CLENTE:

CLAVE

NOMBRE COMPLETO

EDAD

SEXO

DIRECCIÓN

TELÉFONO

Dependiendo del tipo de cliente que sea además de la información básica de sus datos se registrará:

CLIENTE BÁSICO

CUOTA MENSUAL

TOTAL

CLIENTE ESPECIAL

ANTIGÜEDAD

TOTAL2

CLIENTE PREMIUM

LIMITE DE TARJETA DE CREDITO

TOTAL3

II. REGISTRAR INFORMACIÓN DE LOS PRODUCTOS:

CLAVE DEL PRODUCTO

NOMBRE DEL PRODUCTO

CANTIDAD DEL PRODUTO

PRECIO DE LISTA

Dependiendo del tipo de producto que sea además de la información básica de su información se registrara:

Page 7: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. HERNÁNDEZ ORO OSCAR AMURICIO 7

PERECEDERO

FECHA DE CADUCIDAD

UNIDAD DE VENTA

UNIDADES COMPRADAS

NO PERECEDERO

LARGO

ANCHO

ALTO

UNIDAD DE VENTA

UNIDADES COMPRADAS

III. CALCULAR EL TOTAL DE LA COMPRA DE PRODUCTOS DE LOS CLIENTES

IV. Almacenar de manera permanente los totales de las compras.

3. ANÁLISIS

Datos de entrada:

USUARIO:

Clave del usuario (Entero)

Nombre completo (Cadena)

Edad (Entero)

Sexo (Variable)

Dirección (Cadena)

Teléfono (Cadena)

PRODUCTO:

Clave del producto (Entero)

Nombre del producto (Cadena)

Cantidad del producto (Entero)

Precio de lista (Real)

Datos de salida

Total de la compra realizado por el cliente

Page 8: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. Hernández Oro Oscar Mauricio 8

4. DIAGRAMA DE CLASES

Page 9: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. Hernández Oro Oscar Mauricio 9

5. REPRESENTACIÓN EN PSEUDOCÓDIGO DEL DIAGRAMA DE CLASES

Método de la clase CL_CLIENTE

Atributos

Clave: Entero

Nombre: Cadena

Edad: Entero

Sexo: Variable

Direccion: Cadena

Telefono: Entero

Comienza

Método ColocarClave (x: Entero)

INICIO

Clave x

FIN (Método ColocarCalave)

Método ColocarNombre (x: Cadena)

INICIO

Nombre x

FIN (Método ColocarNombre)

Método ColocarEdad (x: Entero)

INICIO

Edad x

FIN (Método ColocarEdad)

Método ColocarSexo (x: Variable)

INICIO

Sexo x

FIN (Método ColocarSexo)

Método ColocarDireccion (x: Cadena)

INICIO

Direccion x

FIN (Método ColocarDireccion)

Page 10: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. Hernández Oro Oscar Mauricio 10

Método ColocarTelefono (x: Entero)

INICIO

Telefono x

FIN (Método ColocarTelefono)

Método ObtenerClave: Entero

INICIO

Regresa Clave

FIN (Método ObtenerClave)

Método ObtenerNombre: Cadena

INICIO

Regresa Nombre

FIN (Método ObtenerNombre)

Método ObtenerEdad: Entero

INICIO

Regresa Edad

FIN (Método ObtenerEdad)

Método ObtenerSexo: Variable

INICIO

Regresa Sexo

FIN (Método ObtenerSexo)

Método ObtenerDireccion: Cadena

INICIO

Regresa Direccion

FIN (Método ObtenerDireccion)

Método ObtenerTelefono: Entero

INICIO

Regresa Telefono

FIN (Método ObtenerTelefono)

Termina Método de la clase CL_USUARIO

Page 11: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. Hernández Oro Oscar Mauricio 11

Método de la clase CL_BASICO derivado de CL_CLIENTE

Atributos

Cuota: Entero

DiaCompra: Entero

Total: Real

Comienza

Método ColocarCuota (x: Entero)

INICIO

Cuota x

FIN (Método ColocarCuota)

Método ObtenerCuota: Entero

INICIO

Regresa Cuota

FIN (Método ObtenerCuota)

Método ColocarDiaCompra (x: Entero)

INICIO

DiaCompra x

FIN (Método ColocarDiaCompra)

Método ObtenerDiaCompra: Entero

INICIO

Regresa DiaCompra

FIN (Método ObtenerDiaCompra)

Método ColocarTotal (x: Real)

INICIO

Total x

FIN (Método ColocarTotal)

Método ObtenerTotal: Real

INICIO

Regresa Total

FIN (Método ObtenerTotal)

Page 12: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. Hernández Oro Oscar Mauricio 12

Método CalcularPorcentaje

INICIO

Porcentaje = (Cuota/DiaCompra)/30

FIN (Método CalcularPorcentaje)

Método CalcularTotal

INICIO

Total = SumaProducto - (SumaProductos * Porcentaje)/100

FIN (Método CalcularTotal)

Termina Método CL_BASICO derivado de CL_CLIENTE

Método de la clase CL_ESPECIAL derivado de CL_CLIENTE

Atributos

Antigüedad: Entero

Total2: Real

Comienza

Método ColocarAntigüedad (x: Entero)

INICIO

Antigüedad x

FIN (Método Colocar Antigüedad)

Método ObtenerAntigüedad: Entero

INICIO

Regresa Antigüedad

FIN (Método ObtenerAntigüedad)

Método ColocarTotal2 (x: Real)

INICIO

Total2 x

FIN (Método ColocarTotal2)

Método ObtenerTotal2: Real

INICIO

Regresa Total2

FIN (Método ObtenerTotal2)

Page 13: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. Hernández Oro Oscar Mauricio 13

Método CalcularPorcentaje

INICIO

Porcentaje = (Antigüedad)*(0.41)

FIN (Método CalcularPorcentaje2)

Método CalcularTotal

INICIO

Total = SumaProducto - (SumaProductos*Porcentaje)/100

FIN (Método CalcularTotal)

Termina Método CL_ESPECIAL derivado de CL_CLIENTE

Método de la clase CL_PREMIUM derivado de CL_CLIENTE

Atributos

Limite: Entero

Total3: Real

Comienza

Método ColocarLimite (x: Entero)

INICIO

Limite x

FIN (Método ColocarLimite)

Método ObtenerLimite: Entero

INICIO

Regresa Limite

FIN (Método ObtenerLimite)

Método ColocarTotal3 (x: Real)

INICIO

Total3 x

FIN (Método ColocarTotal3)

Método ObtenerTotal3: Real

INICIO

Regresa Total3

FIN (Método ObtenerTotal3)

Page 14: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. Hernández Oro Oscar Mauricio 14

Método CalcularPorcentaje

INICIO

Porcentaje = Limite/4900

FIN (Método CalcularPorcentaje)

Método CalcularTotal

INICIO

Total3 = SumaProductos - (SumaProductos*Porcentaje)/100

FIN (Método CalcularTotal)

Termina Método CL_PREMIUM derivado de CL_CLIENTE

Método de la clase CL_PRODUCTO

Atributos

ClaveProducto: Entero

NombreProducto: Cadena

Cantidad: Entero

PecioLista: Real

Comienza

Método ColocarClaveProducto (x: Entero)

INICIO

ClaveProducto x

FIN (Método ColocarClaveProducto)

Método ColocarNombreProducto (x: Cadena)

INICIO

NombreProducto x

FIN (Método ColocarNombreProducto)

Método ColocarPrecioLista (x: Real)

INICIO

PrecioLista x

FIN (Método ColocarPrecioLista)

Método ColocarCantidad (x: Entero)

INICIO

Cantidad x

FIN (Método ColocarCantidad)

Page 15: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. Hernández Oro Oscar Mauricio 15

Método ObtenerClaveProducto: Entero

INICIO

Regresa ClaveProducto

FIN (Método ObtenerClaveProducto)

Método ObtenerNombreProducto: Cadena

INICIO

Regresa NombreProducto

FIN (Método ObtenerNombreProducto)

Método ObtenerPrecioLista: Real

INICIO

Regresa PrecioLista

FIN (Método ObtenerPrecioLista)

Método ObtenerCantidad: Entero

INICIO

Regresa Cantidad

FIN (Método ObtenerCantidad)

Método CalcularSumaProductos (pos: Entero)

INICIO

SumaProductos = Precio[pos] + Precio[pos]

FIN (Método ObtenerPrecioLista)

Termina Método de la clase CL_PRODUCTO

Page 16: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. Hernández Oro Oscar Mauricio 16

Método de la clase CL_PERECEDERO derivado de CL_PRODUCTO

Atributos

Caducidad: Entero

UniVenta: Cadena

Unidad, Precio: Real

Comienza

Método ColocarCaducidad (x: Entero)

INICIO

Caducidad x

FIN (Método ColocarCaducidad)

Método ColocarUniVenta (x: Cadena)

INICIO

UniVenta x

FIN (Método ColocarUniVenta)

Método ColocarUnidad (x: Real)

INICIO

Unidad x

FIN (Método ColocarUnidad)

Método ObtenerCaducidad: Entero

INICIO

Regresa Caducidad

FIN (Método ObtenerCaducidad)

Método ObtenerUniVenta: Cadena

INICIO

Regresa UniVenta

FIN (Método ObtenerUniVenta)

Método ObtenerUnidad: Real

INICIO

Regresa Unidad

FIN (Método ObtenerUnidad)

Page 17: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. Hernández Oro Oscar Mauricio 17

Método ColocarPrecio (x: Real, pos: Entero)

INICIO

Precio [pos] x

FIN (Método ColocarPrecio)

Método ObtenerPrecio: Real (pos: Entero)

INICIO

Regresa Precio [pos]

FIN (Método ObtenerPrecio)

Método CalcularPrecio (pos: Entero)

INICIO

Precio [pos] = (Unidad*PrecioLista)*(0.1(Caducidad-DiaCompra))

FIN (Método CalcularDescuento)

Termina Método CL_PERECEDERO derivado de CL_PRODUCTO

Método de la clase CL_NOPERECEDERO derivado de CL_PRODUCTO

Atributos

Largo: Real

Ancho: Real

Alto: Real

UniVenta2: Cadena

Unidad2, Precio2: Entero

Comienza

Método ColocarLargo (x: Real)

INICIO

Largo x

FIN (Método ColocarLargo)

Método ColocarAncho (x: Real)

INICIO

Ancho x

FIN (Método ColocarAncho)

Page 18: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. Hernández Oro Oscar Mauricio 18

Método ColocarAlto (x: Real)

INICIO

Alto x

FIN (Método ColocarAlto)

Método ColocarUniVenta2 (x: Cadena)

INICIO

UniVenta2 x

FIN (Método ColocarUniVenta)

Método ColocarUnidad2 (x: Entero)

INICIO

Unidad x

FIN (Método ColocarUnidad2)

Método ObtenerLargo: Real

INICIO

Regresa Largo

FIN (Método ObtenerLargo)

Método ObtenerAncho: Real

INICIO

Regresa Ancho

FIN (Método ObtenerAncho)

Método ObtenerAlto: Real

INICIO

Regresa Alto

FIN (Método ObtenerAlto)

Método ObtenerUniVenta2: Cadena

INICIO

Regresa UniVenta2

FIN (Método ObtenerUniVenta2)

Método ObtenerUnidad2: Entero

INICIO

Regresa Unidad2

FIN (Método ObtenerUnidad2)

Page 19: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. Hernández Oro Oscar Mauricio 19

Método ColocarPrecio (x: Real, pos: Entero)

INICIO

Precio [pos] x

FIN (Método ColocarPrecio)

Método ObtenerPrecio: Real (pos: Entero)

INICIO

Regresa Precio [pos]

FIN (Método ObtenerPrecio)

Método CalcularPrecio

INICIO

Precio [pos] = ((Largo*Ancho)*Alto)*PrecioLista

FIN (Método CalcularPrecio)

Termina Método CL_NOPERECDERO derivado de CL_PRODUCTO

Método de la clase CL_ALMACENADOR_PRODUCTO

COMIENZA MÉTODO GuardarProducto(x CL_PRODUCTO)

INICIO Crear Archivo (miarchivo,“DIRECTORIO.DAT”) Escribe (miarchivo,x) Cerrar (miarchivo)

FIN (Método GuardarProducto)

MÉTODO SacarProducto(x CL_PRODUCTO) INICIO

Abrir (miarchivo,”LECTURA”,”DIRECTORIO.DAT”) Leer (miarchivo,x) Cerrar (miarchivo)

FIN (Método SacarProducto)

TERMINA Método CL_ALMACENADOR_PRODUCTO

Page 20: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. Hernández Oro Oscar Mauricio 20

PSEUDICÓDIGO DE CLASE CL_VISTA

CLASE CL_VISTA ATRIBUTOS

Dato: Variable

Mensaje: Cadena COMIENZA

//SETTERS MÉTODO ColocarDato (x:Variable) INICIO Dato x FIN (METÓDO ColocarDato) MÉTODO ColocarMensaje (x:Cadena) INICIO Mensaje x FIN (METÓDO ColocarMensaje)

// GETTERS MÉTODO ObtenerDato: Variable

INICIO Regresa Dato FIN (METÓDO ObtenerDato) MÉTODO ObtenerMensaje: Cadena INICIO Regresa Mensaje FIN (METÓDO ObtenerMensaje)

MÉTODO MostrarMensaje INICIO Escribe (Mensaje) FIN (METÓDO MostraMensaje)

MÉTODO RecibirDato INICIO Leer (Dato) FIN (MÉTODO RecibirDato)

TERMINA CLASE CL_VISTA

Page 21: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. Hernández Oro Oscar Mauricio 21

6. DIAGRAMA DE SECUENCIA

Page 22: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. Hernández Oro Oscar Mauricio 22

Page 23: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. Hernández Oro Oscar Mauricio 23

Page 24: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. Hernández Oro Oscar Mauricio 24

Page 25: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. Hernández Oro Oscar Mauricio 25

Page 26: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. Hernández Oro Oscar Mauricio 26

Page 27: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. Hernández Oro Oscar Mauricio 27

Page 28: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. Hernández Oro Oscar Mauricio 28

7. PSEUDOCÓDIGO DEL DIAGRAMA DE SECUENCIA

Clase CL_CALCULA

Variables

VI_CLAV, VI_CLAVPRO, VI_TEL, VI_CUO, VI_DIA, VI_ANT, VI_LIM, VI_CAD, VI_UNI2: Entero

VI_OPC, VI_OPC2, pos, VI_CAN: Entero

VI_NOM, VI_NOMPRO VI_DIR, VI_VEN, VI_VEN2: Cadena

VI_PREC, VI_UNI, VI_LAR, VI_ANC, VI_ALT: Real

VS_TOTAL, VS_TOTAL2, VS_TOTAL3, VS_PRECIO, VS_PRECIO2: Real

VI_SEX: Variable

Comienza

CL_VISTA PANTALLA NUEVO CL_VISTA

PANTALLA.ColocarMensaje ("Programa que calcula el monto a pagar por la compra de un cliente")

PANTALLA.MostrarMensaje

PANTALLA.ColocarMensaje (“Ingresa la clave del cliente”)

PANTALLA.MostrarMensaje

PANTALLA.RecibirDato

VI_CLAV = PANTALLA.ObtenerDato

CLIENTE.ColocarClave (VI_CLAV)

PANTALLA.ColocarMensaje (“Ingresa el nombre completo del cliente”)

PANTALLA.MostrarMensaje

PANTALLA.RecibirDato

VI_NOM = PANTALLA.ObtenerDato

CLIENTE.ColocarNombre (VI_NOM)

PANTALLA.ColocarMensaje (“Ingresa la edad del cliente”)

PANTALLA.MostrarMensaje

PANTALLA.RecibirDato

VI_ED = PANTALLA.ObtenerDato

CLIENTE.ColocarEdad (VI_ED)

PANTALLA.ColocarMensaje (“Ingresa el sexo del cliente”)

PANTALLA.MostrarMensaje

PANTALLA.RecibirDato

VI_SEX = PANTALLA.ObtenerDato

CLIENTE.ColocarSexo (VI_SEX)

Page 29: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. Hernández Oro Oscar Mauricio 29

PANTALLA.ColocarMensaje (“Ingresa la dirección del cliente”)

PANTALLA.MostrarMensaje

PANTALLA.RecibirDato

VI_DIR = PANTALLA.ObtenerDato

CLIENTE.ColocarDireccion (VI_DIR)

PANTALLA.ColocarMensaje (“Ingresa el número telefonico del cliente”)

PANTALLA.MostrarMensaje

PANTALLA.RecibirDato

VI_TEL = PANTALLA.ObtenerDato

CLIENTE.ColocarTelefono (VI_TEL)

PANTALLA.ColocarMensaje (“¿Qué tipo de cliente es?”)

PANTALLA.MostrarMensaje

PANTALLA.ColocarMensaje (“1. BASICO”)

PANTALLA.MostrarMensaje

PANTALLA.ColocarMensaje (“2. ESPECIAL”)

PANTALLA.MostrarMensaje

PANTALLA.ColocarMensaje (“3. PREMIUM”)

PANTALLA.MostrarMensaje

PANTALLA.RecibirDato

VI_OPC = PANTALLA.ObtenerDato

Caso 1:

PANTALLA.ColocarMensaje (“Ingresa la cuota mensual del cliente”)

PANTALLA.MostrarMensaje

PANTALLA.RecibirDato

VI_CUO = PANTALLA.ObtenerDato

BASICO.ColocarCuota (VI_CUO)

PANTALLA.ColocarMensaje (“Ingresa el día en que se realizó la compra”)

PANTALLA.MostrarMensaje

PANTALLA.RecibirDato

VI_DIA = PANTALLA.ObtenerDato

BASICO.ColocarDia (VI_DIA)

BASICO.CalcularPorcentaje

BASICO.CalcularTotal

Page 30: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. Hernández Oro Oscar Mauricio 30

VS_TOTAL = PANTALLA.ObtenerDato

PANTALLA.ColocarMensaje (“El total a pagar es”+VS_TOTAL)

PANTALLA.MostrarMensaje

BASICO.ColocarTotal (VS_TOTAL)

Caso 2:

PANTALLA.ColocarMensaje (“Ingresa la antigüedad del cliente”)

PANTALLA.MostrarMensaje

PANTALLA.RecibirDato

VI_ANT = PANTALLA.ObtenerDato

ESPECIAL.ColocarAntugüedad (VI_ANT)

ESPECIAL.CalcularPorcentaje2

ESPECIAL.CalcularTotal2

VS_TOTAL = PANTALLA.ObtenerDato

PANTALLA.ColocarMensaje (“El total a pagar es”+VS_TOTAL)

PANTALLA.MostrarMensaje

ESPECIAL.ColocarTotal2 (VS_TOTAL)

Caso 3:

PANTALLA.ColocarMensaje (“Ingresa el límite de la tarjeta de crédito del

cliente”)

PANTALLA.MostrarMensaje

PANTALLA.RecibirDato

VI_LIM = PANTALLA.ObtenerDato

PREMIUM.ColocarLimite (VI_LIM)

PREMIUM.CalcularPorcentaje3

PREMUIM.CalcularTotal3

VS_TOTAL = PANTALLA.ObtenerDato

PANTALLA.ColocarMensaje (“El total a pagar es”+VS_TOTAL)

PANTALLA.MostrarMensaje

PREMIUM.ColocarTotal3 (VS_TOTAL)

Page 31: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. Hernández Oro Oscar Mauricio 31

PANTALLA.ColocarMensaje (“Ingresa la clave del producto”)

PANTALLA.MostrarMensaje

PANTALLA.RecibirDato

VI_CLAVPRO = PANTALLA.ObtenerDato

PRODUCTO.ColocarClaveProducto (VI_CLAVPRO)

PANTALLA.ColocarMensaje (“Ingresa el nombre del producto”)

PANTALLA.MostrarMensaje

PANTALLA.RecibirDato

VI_NOMPRO = PANTALLA.ObtenerDato

PRODUCTO.ColocarNombreProducto (VI_NOMPRO)

PANTALLA.ColocarMensaje (“Ingresa la cantidad que hay del producto”)

PANTALLA.MostrarMensaje

PANTALLA.RecibirDato

VI_CAN = PANTALLA.ObtenerDato

PRODUCTO.ColocarCantidad (VI_CAN)

PANTALLA.ColocarMensaje (“Ingresa el precio de lista del producto”)

PANTALLA.MostrarMensaje

PANTALLA.RecibirDato

VI_PREC = PANTALLA.ObtenerDato

PRODUCTO.ColocarPrecioLista (VI_PREC)

PANTALLA.ColocarMensaje (“¿Qué tipo de producto es?”)

PANTALLA.MostrarMensaje

PANTALLA.ColocarMensaje (“1. PERECEDERO”)

PANTALLA.MostrarMensaje

PANTALLA.ColocarMensaje (“2. NO PERECEDERO”)

PANTALLA.MostrarMensaje

PANTALLA.RecibirDato

VI_OPC2 = PANTALLA.ObtenerDato

Caso 1:

PANTALLA.ColocarMensaje (“Ingresa la fecha de caducidad del producto”)

PANTALLA.MostrarMensaje

PANTALLA.RecibirDato

VI_CAD = PANTALLA.ObtenerDato

Page 32: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. Hernández Oro Oscar Mauricio 32

PERECEDERO.ColocarCaducidad (VI_CAD)

PANTALLA.ColocarMensaje (“Ingresa unidad de venta del producto (KG,

PZA, LITRO, CM CUBICO)”)

PANTALLA.MostrarMensaje

PANTALLA.RecibirDato

VI_VEN = PANTALLA.ObtenerDato

PERECEDERO.ColocarUniVenta (VI_VEN)

PANTALLA.ColocarMensaje (“Ingresa el número de unidades compradas”)

PANTALLA.MostrarMensaje

PANTALLA.RecibirDato

VI_UNI = PANTALLA.ObtenerDato

PERECEDERO.ColocarUnidad (VI_UNI)

PERECEDERO.CalcularPrecio

VS_PRECIO = PANTALLA.ObtenerDato

PANTALLA.ColocarMensaje (“El precio del producto es:”+VS_PRECIO)

PANTALLA.MostrarMensaje

PERECEDERO.ColocarPrecio (VS_PRECIO)

Caso 2:

PANTALLA.ColocarMensaje (“Ingresa las dimensiones del producto”)

PANTALLA.MostrarMensaje

PANTALLA.ColocarMensaje (“LARGO”)

PANTALLA.MostrarMensaje

PANTALLA.RecibirDato

VI_LAR = PANTALLA.ObtenerDato

NOPERECEDERO.ColocarLargo (VI_LAR)

PANTALLA.ColocarMensaje (“ANCHO”)

PANTALLA.MostrarMensaje

PANTALLA.RecibirDato

VI_ANC = PANTALLA.ObtenerDato

NONOPERECEDERO.ColocarAncho (VI_ANC)

Page 33: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. Hernández Oro Oscar Mauricio 33

PANTALLA.ColocarMensaje (“ALTO”)

PANTALLA.MostrarMensaje

PANTALLA.RecibirDato

VI_ALT = PANTALLA.ObtenerDato

NOPERECEDERO.ColocarAlto (VI_ALT)

PANTALLA.ColocarMensaje (“Ingresa unidad de venta del producto (KG,

PZA, LITRO, CM CUBICO)”)

PANTALLA.MostrarMensaje

PANTALLA.RecibirDato

VI_VEN2 = PANTALLA.ObtenerDato

NOPERECEDERO.ColocarUniVenta2 (VI_VEN2)

PANTALLA.ColocarMensaje (“Ingresa el número de unidades compradas”)

PANTALLA.MostrarMensaje

PANTALLA.RecibirDato

VI_UNI2 = PANTALLA.ObtenerDato

NOPERECEDERO.ColocarUnidad2 (VI_UNI2)

PERECEDERO.CalcularPrecio2

VS_PRECIO2 = PANTALLA.ObtenerDato

PANTALLA.ColocarMensaje (“El precio del producto es:”+VS_PRECIO2)

PANTALLA.MostrarMensaje

NOPERECEDERO.ColocarPrecio2 (VS_PRECIO2)

PANTALLA.CalcularSumaProductos

PANTALLA.MostrarMensaje

ALMACENAR_PRODUCTO.ColocarTotal (VI_TOTAL)

Termina pseudocódigo del diagrama de clases

Page 34: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. Hernández Oro Oscar Mauricio 34

8. REQUERIMIENTOS MÍNIMOS DE HW Y SW

Para poner a funcionar “PROGRAMA TIENDA” se requiere de las siguientes especificaciones de software y hardware.

Hardware (PC) *Procesador Intel® Pentium® 233 MHz o superior. *128 MB RAM (recomendado) *400 MB de espacio disponible en disco duro. *Unidad grabadora CD-ROM *Monitor con resolución SVGA o superior

Hardware (Laptop) *Procesador Intel Atom Inside. *64 MB RAM. *400 MB de Disco Duro. *Unidad de CD-ROM (Para grabar CD’s Usuario y Técnico). *Monitor con resolución SVGA o superior.

Software *Microsoft® Windows® 98 en adelante * Software adecuado para leer documentación formato PDF

Page 35: Universidad de Ixtlahuaca CUI....Una tienda departamental de súper descuento, ofrece diferentes productos a la venta para sus clientes con diferentes descuentos. Para ello, debe tener

POO I.C. Hernández Oro Oscar Mauricio 35

9. RECOMENDACIONES

Las recomendaciones que se hacen, para la ejecución correcta del programa, es no digitalizar números, en el campo de cadenas, y no digitalizar cadenas, en el campo de números, esto podría arrojar datos incorrectos, o provocar que el programa se detenga. Se recomienda leer el manual de usuario, para tener una idea más clara de cómo es la ejecución del programa, ahí vienen pantallas para que el usuario pueda procesar y digitalizar valores reales.

10. CODIFICACION COMENTADA

El código que incluye el programa, se realizó de manera que se logre la solución al problema. Por lo cual, se han definido variables con nombres idénticos a los datos pedidos. Así el lector del código podrá entender de manera más clara, como es que se están codificando los procesos, para llegar a una solución más cercana. Se le han dado valores a algunas variables, para evitar la detención del programa en algún momento. Es por ello que también se define en el manual de usuario. Las operaciones que se realizan, se han introducido de manera que, para cada solución, incluya una operación inmediata. El despliegue de resultados, se han derivado de las operaciones realizadas, así como también, para mostrar la solución al problema indicado.