EjercicioySolucionVentaCDPorInternet-2012_Alumnos

download EjercicioySolucionVentaCDPorInternet-2012_Alumnos

of 3

Transcript of EjercicioySolucionVentaCDPorInternet-2012_Alumnos

  • 8/19/2019 EjercicioySolucionVentaCDPorInternet-2012_Alumnos

    1/3

    UNIVERSIDAD TECNOLOGICA NACIONAL – FACULTAD REGIONAL CORDOBA – INGENIERIA EN SISTEMAS DE INFORMACIONCATEDRA DE ANÁLISIS DE SISTEMAS  Curso 2K7Ejerci cio 4: Vent a de CD por Int ernet   Año 2012 

    V2.1 : Ing. Marcela Cattaneo – Ing. María Irene Mac William – Ing. Germán Vélez – Ing. Andrea Delgado Página 1 de 3

    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 susproductos a través de la red. Para esto se debe diseñar un sistema que le permita publicar la información de losdiscos, 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 electrónico con sus datospersonales, sexo, edad, profesión. Como datos personales se incluyen los necesarios para enviar el pedido aldomicilio del cliente, como así también una dirección de e-mail y un número telefónico. También se solicita unaclave de acceso, para futuros ingresos al sitio.

    El servicio muestra todos los datos necesarios para la identificación de los discos ofrecidos: nombre, temasincluidos, intérpretes, género, sello discográfico y precio de venta.

    Cuando el cliente elige uno o más CD se genera un pedido, y se le informan las fechas de realización, envío yentrega; además del número de pedido, necesario para que el cliente pueda realizar modificaciones o reclamos.

    La única forma de pago es con tarjeta de crédito. El cliente debe indicar la tarjeta con la cual realizará el pago(la misma debe estar dentro de la nómina de tarjetas con las que trabaja el negocio, y que ya han sido registradaspreviamente). Luego se solicita el número 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 cadapedido se abona íntegramente con una sola tarjeta. Con los datos de la tarjeta del cliente y el precio total de laventa, se solicita la autorización a la administradora de tarjeta de crédito y se genera el cupón de la transacción

    realizada que tiene un número de cupón, una fecha y hora de generación de cupón, número de autorización.En caso que el cliente, posteriormente, desee cancelar el pedido total o parcialmente, modificar algún ítem oagregar CD, se le solicitará el número de pedido para verificar si aún es posible realizar los cambios.

    Si el cliente tuviera que realizar reclamos, con el número de pedido y el motivo del reclamo se le asignará unnúmero de reclamo para su constancia; y dentro de las 24 hs. se le dará respuesta.

    SOLUCIÓN PROPUESTA MODELO DEOBJETOS DELDOMINIO DELPROBLEMA 

    DI GR M DE CL SES CON P  TRONESESTRUCTUR LES 

    El diagrama que se presenta a continuación tiene las siguientes consideraciones:

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

  • 8/19/2019 EjercicioySolucionVentaCDPorInternet-2012_Alumnos

    2/3

    UNIVERSIDAD TECNOLOGICA NACIONAL – FACULTAD REGIONAL CORDOBA – INGENIERIA EN SISTEMAS DE INFORMACIONCATEDRA DE ANÁLISIS DE SISTEMAS  Curso 2K7Ejerci cio 4: Vent a de CD por Int ernet   Año 2012 

    V2.1 : Ing. Marcela Cattaneo – Ing. María Irene Mac William – Ing. Germán Vélez – Ing. Andrea Delgado Página 2 de 3

    Estado

    nombre

    descripcion

    crear()

    mostrarEstado...

    Esta clase incluye los

    métodos de seteo, los

    cuales son extensivos a

    las demás clases

    Pais

    nombre

    provincia : Provincia

    crear()

    mostrarPais()

    conocerProvincia()

    Reclamo

    numeroReclamo

    fechaReclamo

    horaReclamo

    motivo

    fechaRespuestadescripcionRespuesta

    estado

    crear()

    mostrarReclamo()

    registrarRespuesta()

    verificarEstadoRespuesta()

    Cupon

    numeroCupon

    fechaCupon

    numeroAutorizacion

    tarjeta : TarjetaClientemonto

    estado

    fechaAnulacion

    crear()

    mostrarCupon()

    anularCupon()

    conocerTarjetaCliente...

    MarcaTarjeta

    nombreTarjeta

    direccionTarjeta : Domicilio

    telefono

    numeroComercioAdherido

    fechaBaja

    crear()

    mostrarMarcaTarjeta()

    registrarBaja()

    conocerDomicilio()

    Provincia

    nombre

    localidad : Localidad

    crear()

    mostrarProvincia()

    conocerLocalidad()

    1..*1..*

    Localidad

    nombre

    codigoPostal

    crear()

    mostrarLocalidad()

    tomarNombre()

    mostrarNombre()

    tomarCodigoPostal()

    mostrarCodigoPostal()

    1..*1..*

    TipoDocumento

    nombre

    descripcion

    crear()

    mostrarDatos()

    TarjetaCliente

    numeroTarjeta

    fechaVencimiento

    marcaTarjeta : MarcaTarjeta

    crear()

    mostrarTarjetaCliente()

    verificarFechaVencimiento()

    conocerMarcaTarjeta()

    11

    11

    Pedido

    numeroPedido

    fechaPedido

    horaPedido

    fechaEnvioPrevista

    fechaEnvioReal

    fechaEntregaPrevista

    fechaEntregaReal

    detallePedido : DetallePedidocupon : Cupon

    estado : Estado

    fechaCancelacion

    motivoCancelacion

    reclamo : Reclamo

    crear()

    mostrarPedido()

    calcularMontoTotal()

    registrarEnvio()

    registrarEntrega()

    cancelarPedido()

    verificarEstado()

    mostrarEstadoPedido()

    contarItems()

    calcularTotalDiscos()

    agregarDetallePedido()

    quitarDetallePedido()

    conocerDetallePedido()

    conocerReclamo()

    conocerCupon()conocerEstado()

    11

    0..*0..*

    1..*1..*

    Domicilio

    calle

    numero

    piso

    departamento

    torre

    barrio

    localidad : Localidad

    crear()

    mostrarDomicilio()

    conocerLocalidad()

    1111

    Usuario

    nombreUsuario

    claveAcceso

    crear()

    mostrarUsuario()

    validarClaveAcceso()

    Cliente

    tipoDocumento : TipoDocumento

    numeroDocumento

    apellido

    nombre

    fechaNacimiento

    sexo

    profesion

    domicilio : Domicilio

    telefono

    email

    fechaAlta

    usuario : Usuariotarjeta : TarjetaCliente

    pedido : Pedido

    crear()

    mostrarCliente()

    calcularEdad()

    mostrarPedidosPendientes()

    calcularCantidadPedidosPendientes()

    conocerPedido()

    conocerTarjetaCliente()

    conocerDomicilio()

    conocerTipoDocumento()

    conocerUsuario()

    11

    1..*1..*

    0..*0..*

    11

    11

    Interprete

    nombre

    nacionalidad

    crear()

    mostrarInterprete()

    Tema

    nombre

    duracion

    interprete : Interprete

    crear()

    mostrarTema()

    conocerInterprete()

    1..*

    +el interprete

    1..*

    Genero

    nombre

    crear()

    mostrarGenero()

    DetallePedido

    disco : DiscoCompacto

    cantidad

    precio

    estado

    fechaCancelacion

    crear()

    mostrarDetallePedido()

    calcularSubtotal()

    tomarCantidad()

    cancelarDetallePedido()

    conocerDiscoCompacto()

    1..*1..*

    DiscoCompacto

    codigoDisco

    nombre

    temas : Temainterprete : Interprete

    genero : Genero

    precio

    selloDiscografico : SelloDiscografico

    existencia

    crear()

    mostrarCD()

    verificarExistencia()

    tomarExistencia()

    tomarPrecio()

    calcularDuracion()

    contarTemas()

    conocerTema()

    conocerInterprete()

    conocerGenero()

    conocerSelloDiscografico()

    1..*1..*1..*1..*

    11

    11

    SelloDiscográfico

    nombre

    crear()

    mostrarSelloDiscografico()

    11

     

    Nota: La clase Usuario es opcional. En caso de no modelarla, sus atributos deberán incluirse en la clase Cliente.

  • 8/19/2019 EjercicioySolucionVentaCDPorInternet-2012_Alumnos

    3/3

    UNIVERSIDAD TECNOLOGICA NACIONAL – FACULTAD REGIONAL CORDOBA – INGENIERIA EN SISTEMAS DE INFORMACIONCATEDRA DE ANÁLISIS DE SISTEMAS  Curso 2K7Ejerci cio 4: Vent a de CD por Int ernet   Año 2012 

    V2.1 : Ing. Marcela Cattaneo – Ing. María Irene Mac William – Ing. Germán Vélez – Ing. Andrea Delgado Página 3 de 3

    Se presenta a continuación la aplicación de patrones estructurales en la construcción del Modelo de Objetos delDominio del Problema.

    Patrón Estructural Clases intervinientes#3 Participante – Transacción Cliente – Pedido#6 Transacción – Detalle de Transacción Pedido – DetallePedido#7 Transacción – Transacción Subsiguiente Pedido – Cupón

    Pedido – Reclamo#9 Item – Detalle de Transacción DiscoCompacto – DetallePedido#14 Contenedor – Contenido País – Provincia

    Provincia – Localidad#19 Paquete - ComponentePaquete DiscoCompacto – Tema