Anda di halaman 1dari 3

UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL CORDOBA INGENIERIA EN SISTEMAS DE INFORMACION

CATEDRA DE ANLISIS DE SISTEMAS


Ejercicio 4: Venta de CD por Internet

Curso 2K7
Ao 2012

EJERCICIO N 4
VENTA DE CD POR INTERNET
Un negocio dedicado a la venta de CD musicales ha decidido establecer un sitio en Internet para vender sus
productos a travs de la red. Para esto se debe disear un sistema que le permita publicar la informacin de los
discos, tomar pedidos, gestionar reclamos e informar cambios al pedido mientras el mismo no haya sido enviado.
Cuando un cliente ingresa al sitio por primera vez, deber completar un formulario electrnico con sus datos
personales, sexo, edad, profesin. Como datos personales se incluyen los necesarios para enviar el pedido al
domicilio del cliente, como as tambin una direccin de e-mail y un nmero telefnico. Tambin se solicita una
clave de acceso, para futuros ingresos al sitio.
El servicio muestra todos los datos necesarios para la identificacin de los discos ofrecidos: nombre, temas
incluidos, intrpretes, gnero, sello discogrfico y precio de venta.
Cuando el cliente elige uno o ms CD se genera un pedido, y se le informan las fechas de realizacin, envo y
entrega; adems del nmero de pedido, necesario para que el cliente pueda realizar modificaciones o reclamos.
La nica forma de pago es con tarjeta de crdito. El cliente debe indicar la tarjeta con la cual realizar el pago
(la misma debe estar dentro de la nmina de tarjetas con las que trabaja el negocio, y que ya han sido registradas
previamente). Luego se solicita el nmero de tarjeta del cliente, fecha de vencimiento de la misma y se cargan por
nica vez estos datos. Cabe aclarar que el cliente puede operar con distintas tarjetas, teniendo en cuenta que cada
pedido se abona ntegramente con una sola tarjeta. Con los datos de la tarjeta del cliente y el precio total de la
venta, se solicita la autorizacin a la administradora de tarjeta de crdito y se genera el cupn de la transaccin
realizada que tiene un nmero de cupn, una fecha y hora de generacin de cupn, nmero de autorizacin.
En caso que el cliente, posteriormente, desee cancelar el pedido total o parcialmente, modificar algn tem o
agregar CD, se le solicitar el nmero de pedido para verificar si an es posible realizar los cambios.
Si el cliente tuviera que realizar reclamos, con el nmero de pedido y el motivo del reclamo se le asignar un
nmero de reclamo para su constancia; y dentro de las 24 hs. se le dar respuesta.

SOLUCIN PROPUESTA
MODELO DE OBJETOS DEL DOMINIO DEL PROBLEMA
DIAGRAMA DE CLASES CON PATRONES ESTRUCTURALES
El diagrama que se presenta a continuacin tiene las siguientes consideraciones:

La multiplicidad 0..* se presenta en el diagrama como *.

V2.1: Ing. Marcela Cattaneo Ing. Mara Irene Mac William Ing. Germn Vlez Ing. Andrea Delgado

Pgina 1 de 3

UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL CORDOBA INGENIERIA EN SISTEMAS DE INFORMACION


CATEDRA DE ANLISIS DE SISTEMAS
Ejercicio 4: Venta de CD por Internet

MarcaTarjeta

Localidad

nombreTarjeta
direccionTarjeta : Domicilio
telefono
numeroComercioAdherido
fechaBaja

Domicilio

crear()
mostrarMarcaTarjeta()
registrarBaja()
conocerDomicilio()

calle
numero
piso
departamento
torre
barrio
localidad : Localidad

nombre
codigoPostal

TarjetaCliente

numeroTarjeta
fechaVencimiento
marcaTarjeta : MarcaTarjeta
Cliente

Cupon
numeroCupon
fechaCupon
numeroAutorizacion
tarjeta : TarjetaCliente
monto
estado
fechaAnulacion

1..*
Pedido
numeroPedido
fechaPedido
horaPedido
fechaEnvioPrevista
fechaEnvioReal
fechaEntregaPrevista
fechaEntregaReal
detallePedido : DetallePedido
cupon : Cupon
estado : Estado
fechaCancelacion
motivoCancelacion
reclamo : Reclamo

nombre
descripcion

Pais
nombre
provincia : Provincia
crear()
mostrarPais()
conocerProvincia()

crear()
mostrarUsuario()
validarClaveAcceso()
1
TipoDocumento
1

nombre
descripcion
crear()
mostrarDatos()
Tema

Interprete
nombre
nacionalidad

nombre
duracion
interprete : Interprete

+el interprete

crear()
mostrarInterprete()

1..*
crear()
mostrarTema()
conocerInterprete()

1..*

1..*

DiscoCompacto
codigoDisco
nombre
temas : Tema
interprete : Interprete
genero : Genero
precio
selloDiscografico : SelloDiscografico
existencia

DetallePedido
disco : DiscoCompacto
cantidad
precio
estado
fechaCancelacion

1
crear()
mostrarCD()
verificarExistencia()
tomarExistencia()
tomarPrecio()
calcularDuracion()
contarTemas()
conocerTema()
conocerInterprete()
conocerGenero()
conocerSelloDiscografico()

crear()
mostrarDetallePedido()
calcularSubtotal()
tomarCantidad()
cancelarDetallePedido()
conocerDiscoCompacto()
0..*
Reclamo
numeroReclamo
fechaReclamo
horaReclamo
motivo
fechaRespuesta
descripcionRespuesta
estado

1
1

Genero
nombre

SelloDiscogrfico
nombre

1
Estado

1..*

nombreUsuario
claveAcceso

0..*

1..*
crear()
mostrarPedido()
calcularMontoTotal()
registrarEnvio()
registrarEntrega()
cancelarPedido()
verificarEstado()
mostrarEstadoPedido()
contarItems()
calcularTotalDiscos()
agregarDetallePedido()
quitarDetallePedido()
conocerDetallePedido()
conocerReclamo()
conocerCupon()
conocerEstado()

crear()
mostrarProvincia()
conocerLocalidad()

Usuario

tipoDocumento : TipoDocumento
numeroDocumento
apellido
nombre
fechaNacimiento
sexo
profesion
domicilio : Domicilio
telefono
email
fechaAlta
usuario : Usuario
tarjeta : TarjetaCliente
pedido : Pedido
crear()
mostrarCliente()
calcularEdad()
mostrarPedidosPendientes()
calcularCantidadPedidosPendientes()
conocerPedido()
conocerTarjetaCliente()
conocerDomicilio()
conocerTipoDocumento()
conocerUsuario()

crear()
mostrarCupon()
anularCupon()
conocerTarjetaCliente...

nombre
localidad : Localidad

Esta clase incluye los


mtodos de seteo, los
cuales son extensivos a
las dems clases

1..*

Provincia

crear()
mostrarLocalidad()
1..*
tomarNombre()
mostrarNombre()
tomarCodigoPostal()
mostrarCodigoPostal()

crear()
mostrarDomicilio()
conocerLocalidad()

crear()
mostrarTarjetaCliente()
verificarFechaVencimiento()
conocerMarcaTarjeta()

Curso 2K7
Ao 2012

crear()
mostrarReclamo()
registrarRespuesta()
verificarEstadoRespuesta()

crear()
mostrarGenero()

crear()
mostrarSelloDiscografico()

crear()
mostrarEstado...

Nota: La clase Usuario es opcional. En caso de no modelarla, sus atributos debern incluirse en la clase Cliente.
V2.1: Ing. Marcela Cattaneo Ing. Mara Irene Mac William Ing. Germn Vlez Ing. Andrea Delgado

Pgina 2 de 3

UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL CORDOBA INGENIERIA EN SISTEMAS DE INFORMACION


CATEDRA DE ANLISIS DE SISTEMAS
Ejercicio 4: Venta de CD por Internet

Curso 2K7
Ao 2012

Se presenta a continuacin la aplicacin de patrones estructurales en la construccin del Modelo de Objetos del
Dominio del Problema.
Patrn Estructural
#3 Participante Transaccin
#6 Transaccin Detalle de Transaccin
#7 Transaccin Transaccin Subsiguiente
#9 Item Detalle de Transaccin
#14 Contenedor Contenido
#19 Paquete - ComponentePaquete

Clases intervinientes
Cliente Pedido
Pedido DetallePedido
Pedido Cupn
Pedido Reclamo
DiscoCompacto DetallePedido
Pas Provincia
Provincia Localidad
DiscoCompacto Tema

V2.1: Ing. Marcela Cattaneo Ing. Mara Irene Mac William Ing. Germn Vlez Ing. Andrea Delgado

Pgina 3 de 3