UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
                  UNAD




              TRABAJO FINAL




  LENGUAJE DE MODELADO UNIFICADO UML
            CODIGO: 200609




       HAROLD EMILIO CABRERA MEZA
                 TUTOR




       DANIEL FELIPE PALACIO PÉREZ
    DIEGO ARMANDO PERDOMO PERDOMO
           JHON ENRIQUE MUÑOZ
          MIGUEL ANGEL LLERENA
       YULIETH PAOLA PEREZ GALVAN




              VIII SEMESTRE




      SABADO 10 DE DICIEMBRE DE 2011
OBJETIVOS



 Desarrollar un modelo aplicando los conceptos de UML y aplicarlos a un
  caso real
PLANTEAMIENTO DEL PROBLEMA

La tienda SOUVENIR es una empresa que maneja su inventario, ventas y
proveedores por medio de Internet, además, es una tienda especializada en
componentes electrónicos que compra sus existencias a una serie de
proveedores, vendiéndolas posteriormente a sus clientes, a la vez lleva el control
del almacén para controlar sus existencias en todo momento.

Los proveedores se controlan manteniendo su información principal al día como
es: teléfono, NIT, dirección, ciudad a esto se le suma la información de los
componentes que cada proveedor vende. El módulo de proveedores, además del
típico mantenimiento de los datos relacionados, se encarga de generar los listados
de las piezas vendidas por un determinado proveedor.

Cuando un cliente solicita un determinado componente, se comprueba que haya
existencias del producto y se le informa de su precio. Si el cliente adquiere el
producto, se actualizará el inventario del almacén y se le emitirá una factura. Si no
hay existencias del componente pero si el cliente está interesado se procederá a
almacenar la petición, con objeto de realizar el correspondiente pedido al
proveedor.

El control de almacén se encarga de tener actualizado el almacén de existencias,
dando de alta los componentes que llegan, eliminando componentes defectuosos,
eliminando componentes vendidos y realizando los listados de componentes
disponibles en el almacén y de los componentes pendientes de ser pedidos a un
proveedor.


                      PORTAFOLIO EMPRESA SOUVENIR


   1. Logo de la empresa




Dirección Blog: www.diegoaper.blogspot.com

   2. Objetivos del sistema

En este apartado vamos a definir una lista con los diferentes objetivos que se
esperan alcanzar cuando el sistema software a desarrollar esté en explotación.
Serán especificados mediante una plantilla para objetivos.
OBJ-01        Gestionar las ventas
Descripción   El sistema deberá gestionar las ventas de componentes electrónicos
              realizadas por la tienda
Estabilidad   Alta

OBJ-02        Gestionar los Proveedores
Descripción   El sistema deberá gestionar los proveedores manteniendo su
              información principal como teléfono, NIT, dirección, ciudad y la
              información de los componentes que cada proveedor vende
Estabilidad   Alta

OBJ-03        Gestionar el Inventario
Descripción   El sistema deberá gestionar el inventario actualizado el almacén de
              existencias, dando de alta los componentes que llegan, eliminando
              componentes defectuosos, eliminando componentes vendidos y
              realizando los listados de componentes disponibles en el almacén y
              de los componentes pendientes de ser pedidos a un proveedor.
Estabilidad   Alta

   3. Requisitos de almacenamiento de información

Esta sección contiene la lista de requisitos de almacenamiento de información que
se han identificado, utilizando para especificarlos la plantilla para requisitos de
almacenamiento de información. Especificaremos toda la información que
debemos almacenar en nuestro sistema.

RI-01         Información sobre ventas
Objetivos     Gestionar las ventas
asociados
Requisitos     Ventas
asociados      Componentes
               Facturación
Descripción   El sistema deberá almacenar la información correspondiente a los
              clientes y las ventas realizadas
Datos          Número de factura de venta
específicos    Fecha
               Cliente
               NIT/Cédula
               Dirección
               Teléfono
               Ciudad
               Ref. Producto
               Descripción del artículo
               Valor unitario
               Cantidad
 IVA
Intervalo     Pasado y presente
temporal
Estabilidad   Alta

RI-02         Información sobre proveedores
Objetivos     Gestionar los proveedores
asociados
Requisitos     Proveedores
asociados      Componentes
Descripción   El sistema deberá almacenar la información correspondiente a los
              proveedores y las piezas vendidas por un determinado proveedor.
Datos          Número de registro de compra
específicos    Fecha
               Proveedor
               NIT/Cédula
               Dirección
               Teléfono
               Ciudad
               Ref. Producto
               Descripción del artículo
               Valor unitario
               Cantidad
               IVA
Intervalo     Pasado y presente
temporal
Estabilidad   Alta

RI-03         Información sobre inventario
Objetivos     Gestionar el inventario
asociados
Requisitos     Ventas
asociados      Componente
               Peticiones
               Inventario
               Proveedores
Descripción   El sistema deberá almacenar la información correspondiente a las
              existencias dando de alta los componentes que llegan, eliminando
              componentes defectuosos, eliminando componentes vendidos y
              realizando los listados de componentes disponibles en el almacén y
              de los componentes pendientes de ser pedidos a un proveedor.
Datos          Ref. Producto
específicos    Descripción del artículo
               Cantidad
               IVA
 Precio compra
               Precio venta
               Proveedor
Intervalo     Pasado y presente
temporal
Estabilidad   Alta

   4. Requisitos funcionales

   4.1 Diagramas de caso de uso

En esta sección hemos incluido los diagramas de casos de uso de nuestro
sistema, desarrollados con la herramienta StarUML.

Diagrama de subsistemas



               <<subsistema>>       <<subsitema>>       <<subsitema>>
                Gestion de           Gestion de          Gestion de
                  ventas            proveedores          inventario




   4.2 Definición de actores:

Este apartado contiene los diferentes actores que se han identificado,
especificados mediante la plantilla para actores de casos de uso.

ACT-01        Cliente
Descripción   Este actor representa a los clientes de la tienda

ACT-02        Administrador
Descripción   Este actor representa al administrador de la tienda

ACT-03        Proveedor
Descripción   Este actor representa los proveedores del almacén
4.3 Diagrama de casos de uso


                                                                                                                                           System
                                                                                    <<include>>
                                                        Ventas                                                         Facturación


                                                                 <<extend>>                              <<include>>

       Cliente
                                                    Inventario
                                                                                 <<include>>


                                                                                  <<include>>
                                                     Peticiones                                                        Componentes
                                                                                 <<include>>
 Administrador


                                                    Proveedores




 4.4 Diagrama de clases

                                                                    Petición
                                                               +Fecha
      Cliente                                                  +Código
                                                               +Cliente
   +Nombre                                                     +Componente
   +NIT/Cédula         1                             1..*                                 1
                                                               +Cantidad
   +Dirección                                                                                                   Contiene
   +Ciudad                         Realiza                     +altaPetición()
   +Teléfono                                                   +buscarPetición()
                                                               +modificarPetición()
                                                               +bajaPetición()


                                                                          1..*
                                                                                                                1..*                                       Proveedor
                                                               Recibe
                                                                                                                                                       +Nombre
                                                                           1                          Componente                                       +NIT/Cédula
                           Venta                                                                                                                       +Dirección
                                                                                                      +Código
         Genera                              1..*        1      Administrador         Compra                               1..*                 1..*   +Ciudad
                                                                                                      +Nombre
                       +Fecha                                                                                                                          +Teléfono
                                                                                                      +IVA
                 1     +TipoPago               Realiza                                1       1..*                                                     +Componente
                                                                                                      +PrecioCompra               Proporciona
                                                                                                      +PrecioVenta                                     +altaProveedor()
                                                                     1                                                                                 +buscarProveedor()
                              1..*                                                                                                                     +modificarProveedor()
           1                                                   Gestiona
                                                                                                                 *                                     +bajaProveedor()

     Factura                                                         1

+CodigoFactura                                                    Inventario
+ReferenciaProducto
+DescripciónArtículo                                         +Componente
+ValorUnitario                Actualiza             1        +Cantidad
+Cantidad
+IVA                                                         +altaComponente()                1      Contiene
                                                             +bajaComponente()
+altaFactura()                                               +listarComponentes()
+buscarFactura()
+anularFactura()
4.5 Diagramas de actividades

Ventas – Peticiones – Inventario
              Cliente                                     Administrador                                 Sistema




       Solicita producto

                                      Ingresa Producto                                             Comprueba existencias


                                                    ¿Hay existencias?
                                      No                   Si


                                                                      Informa precio         Muestra cantidad disponible y precio
                  ¿Está de acuerdo?
                           Si
                                                                     Registra producto               Almacena producto

                                           ¿El cliente está
                                           interesado?
                 No
                                                                      Registra Petición   Almacena petición
                                                     Si

                                      No



                                                                 ¿Desea otro producto?

                                                                           Si

                                                                           No


       Entrega cantidad                        Solicita cantidad total a pagar                  Muestra cantidad total a pagar


                                            Recibe cantidad y registra factura                        Almacena factura


                                                 Solicita impresión factura                          Actualiza inventario


                                                                                                       Imprime factura

    Recibe pedido y factura                      Entrega pedido y factura
Inventario - Proveedores


              Proveedor                                    Administrador                                 Sistema




                                                       Solicita inventario                          Genera inventario



                                              Solicita componentes pendientes                  Lista componentes pendientes



             Recibe solicitud                           Solicita pedido                           Muestra información
                                                                                                  del proveedor
           Entrega cotización                        Solicita pedido a
                                                     nuevo proveedor


                                                       Recibe cotización

                                                                 ¿Está de acuerdo?

                                                                                  No


                                                                  Si
      Recibe confirmación de pedido                     Genera pedido


         Envía pedido y factura                    Recibe pedido y factura

                                                                   Está conforme
        Debido a productos                        No                         Si
        defectuosos o faltantes

         Recibe error de pedido       Comunica error de pedido            Cancela factura


                                                                   Registra datos proveedor     Almacena datos proveedor



                                                                       Registra componentes       Almacena componentes


                                                                   Archiva factura de compra        Actualiza inventario
4.6 Diagramas de secuencia

Ventas – Peticiones – Inventario


                                    <<boundary>>                      <<boundary>>                       <<control>>                      <<entity>>
                                   : VentanaPrincipal                 : VentanaVentas                 : ControlInventario                  : Cliente


  : Administrador   1 : "Ventas"



                                                        2 : abrir()



                                   3 : "Productos"



                                                                                4 : comprobarExistencias()



                                                                                 5 : mostrarInformacion()



                                                                  6 : informarPrecio()



                            7 : registrarProductos()



                                                                                 8 : almacenarPoductos()



                                                                             9 : mostrarCantidadTotalPagar()



                                                          10 : solicitarCantidadTotalPagar()




                                                           11 : entregarCantidadTotalPagar()

                             12 : registrarFactura()



                                                                                 13 : almacenarFactura()




                                                                                                            14 : actualizarInventario()

                        15 : solicitarImpresionFactura()



                                                                                   16 : imprimirFactura()



                                                                17 : entregarFactura()
Inventario - Proveedores


                                  <<boundary>>                        <<boundary>>                    <<control>>                    <<entity>>
                                 : VentanaPrincipal                 : VentanaInventario            : ControlInventario               : Proveedor


  : Administrador 1 : "Inventario"



                                                      2 : abrir()



                                                                                 3 : generarInventario()



                           4 : "Componentes Pendientes"



                                                                           5 : listarComponentesPendientes()



                                                               6 : solicitarPedido()




                                                              7 : entregarCotizacion()

                                                                8 : enviarPedido()



                                                              9 : cancelarFactura()




                                                               10 : entregarPedido()

                           11 : registrarComponentes()



                                                                             12 : almacenarComponentes()




                                                                                                       13 : actualizarInventario()
CONCLUSIONES



Este trabajo permitió aplicar los principales conceptos de ingeniería de software y
modelado UML. La meta fue diseñar un sistema que hiciera parte del estándar de
desarrollo basado en objetos y de esta manera poder dar paso a la etapa de
construcción e implementación de un software basado en este diseño.
BIBLIOGRAFÍA



Módulo Lenguaje Unificado de Modelado, Cabrera Meza, Harold Emilio, 2006.

El proceso Unificado de desarrollo de software, Booch Graby, Rumbaugh James,
Jacobson Ivar, Edit Addison Wesly, 2002

El lenguaje Unificado de Modelado, Booch Graby, Rumbaugh James, Jacobson
Ivar, Edit Addison Wesly, 2002

Trabajo final UML 2011-II

  • 1.
    UNIVERSIDAD NACIONAL ABIERTAY A DISTANCIA UNAD TRABAJO FINAL LENGUAJE DE MODELADO UNIFICADO UML CODIGO: 200609 HAROLD EMILIO CABRERA MEZA TUTOR DANIEL FELIPE PALACIO PÉREZ DIEGO ARMANDO PERDOMO PERDOMO JHON ENRIQUE MUÑOZ MIGUEL ANGEL LLERENA YULIETH PAOLA PEREZ GALVAN VIII SEMESTRE SABADO 10 DE DICIEMBRE DE 2011
  • 2.
    OBJETIVOS  Desarrollar unmodelo aplicando los conceptos de UML y aplicarlos a un caso real
  • 3.
    PLANTEAMIENTO DEL PROBLEMA Latienda SOUVENIR es una empresa que maneja su inventario, ventas y proveedores por medio de Internet, además, es una tienda especializada en componentes electrónicos que compra sus existencias a una serie de proveedores, vendiéndolas posteriormente a sus clientes, a la vez lleva el control del almacén para controlar sus existencias en todo momento. Los proveedores se controlan manteniendo su información principal al día como es: teléfono, NIT, dirección, ciudad a esto se le suma la información de los componentes que cada proveedor vende. El módulo de proveedores, además del típico mantenimiento de los datos relacionados, se encarga de generar los listados de las piezas vendidas por un determinado proveedor. Cuando un cliente solicita un determinado componente, se comprueba que haya existencias del producto y se le informa de su precio. Si el cliente adquiere el producto, se actualizará el inventario del almacén y se le emitirá una factura. Si no hay existencias del componente pero si el cliente está interesado se procederá a almacenar la petición, con objeto de realizar el correspondiente pedido al proveedor. El control de almacén se encarga de tener actualizado el almacén de existencias, dando de alta los componentes que llegan, eliminando componentes defectuosos, eliminando componentes vendidos y realizando los listados de componentes disponibles en el almacén y de los componentes pendientes de ser pedidos a un proveedor. PORTAFOLIO EMPRESA SOUVENIR 1. Logo de la empresa Dirección Blog: www.diegoaper.blogspot.com 2. Objetivos del sistema En este apartado vamos a definir una lista con los diferentes objetivos que se esperan alcanzar cuando el sistema software a desarrollar esté en explotación. Serán especificados mediante una plantilla para objetivos.
  • 4.
    OBJ-01 Gestionar las ventas Descripción El sistema deberá gestionar las ventas de componentes electrónicos realizadas por la tienda Estabilidad Alta OBJ-02 Gestionar los Proveedores Descripción El sistema deberá gestionar los proveedores manteniendo su información principal como teléfono, NIT, dirección, ciudad y la información de los componentes que cada proveedor vende Estabilidad Alta OBJ-03 Gestionar el Inventario Descripción El sistema deberá gestionar el inventario actualizado el almacén de existencias, dando de alta los componentes que llegan, eliminando componentes defectuosos, eliminando componentes vendidos y realizando los listados de componentes disponibles en el almacén y de los componentes pendientes de ser pedidos a un proveedor. Estabilidad Alta 3. Requisitos de almacenamiento de información Esta sección contiene la lista de requisitos de almacenamiento de información que se han identificado, utilizando para especificarlos la plantilla para requisitos de almacenamiento de información. Especificaremos toda la información que debemos almacenar en nuestro sistema. RI-01 Información sobre ventas Objetivos Gestionar las ventas asociados Requisitos  Ventas asociados  Componentes  Facturación Descripción El sistema deberá almacenar la información correspondiente a los clientes y las ventas realizadas Datos  Número de factura de venta específicos  Fecha  Cliente  NIT/Cédula  Dirección  Teléfono  Ciudad  Ref. Producto  Descripción del artículo  Valor unitario  Cantidad
  • 5.
     IVA Intervalo Pasado y presente temporal Estabilidad Alta RI-02 Información sobre proveedores Objetivos Gestionar los proveedores asociados Requisitos  Proveedores asociados  Componentes Descripción El sistema deberá almacenar la información correspondiente a los proveedores y las piezas vendidas por un determinado proveedor. Datos  Número de registro de compra específicos  Fecha  Proveedor  NIT/Cédula  Dirección  Teléfono  Ciudad  Ref. Producto  Descripción del artículo  Valor unitario  Cantidad  IVA Intervalo Pasado y presente temporal Estabilidad Alta RI-03 Información sobre inventario Objetivos Gestionar el inventario asociados Requisitos  Ventas asociados  Componente  Peticiones  Inventario  Proveedores Descripción El sistema deberá almacenar la información correspondiente a las existencias dando de alta los componentes que llegan, eliminando componentes defectuosos, eliminando componentes vendidos y realizando los listados de componentes disponibles en el almacén y de los componentes pendientes de ser pedidos a un proveedor. Datos  Ref. Producto específicos  Descripción del artículo  Cantidad  IVA
  • 6.
     Precio compra  Precio venta  Proveedor Intervalo Pasado y presente temporal Estabilidad Alta 4. Requisitos funcionales 4.1 Diagramas de caso de uso En esta sección hemos incluido los diagramas de casos de uso de nuestro sistema, desarrollados con la herramienta StarUML. Diagrama de subsistemas <<subsistema>> <<subsitema>> <<subsitema>> Gestion de Gestion de Gestion de ventas proveedores inventario 4.2 Definición de actores: Este apartado contiene los diferentes actores que se han identificado, especificados mediante la plantilla para actores de casos de uso. ACT-01 Cliente Descripción Este actor representa a los clientes de la tienda ACT-02 Administrador Descripción Este actor representa al administrador de la tienda ACT-03 Proveedor Descripción Este actor representa los proveedores del almacén
  • 7.
    4.3 Diagrama decasos de uso System <<include>> Ventas Facturación <<extend>> <<include>> Cliente Inventario <<include>> <<include>> Peticiones Componentes <<include>> Administrador Proveedores 4.4 Diagrama de clases Petición +Fecha Cliente +Código +Cliente +Nombre +Componente +NIT/Cédula 1 1..* 1 +Cantidad +Dirección Contiene +Ciudad Realiza +altaPetición() +Teléfono +buscarPetición() +modificarPetición() +bajaPetición() 1..* 1..* Proveedor Recibe +Nombre 1 Componente +NIT/Cédula Venta +Dirección +Código Genera 1..* 1 Administrador Compra 1..* 1..* +Ciudad +Nombre +Fecha +Teléfono +IVA 1 +TipoPago Realiza 1 1..* +Componente +PrecioCompra Proporciona +PrecioVenta +altaProveedor() 1 +buscarProveedor() 1..* +modificarProveedor() 1 Gestiona * +bajaProveedor() Factura 1 +CodigoFactura Inventario +ReferenciaProducto +DescripciónArtículo +Componente +ValorUnitario Actualiza 1 +Cantidad +Cantidad +IVA +altaComponente() 1 Contiene +bajaComponente() +altaFactura() +listarComponentes() +buscarFactura() +anularFactura()
  • 8.
    4.5 Diagramas deactividades Ventas – Peticiones – Inventario Cliente Administrador Sistema Solicita producto Ingresa Producto Comprueba existencias ¿Hay existencias? No Si Informa precio Muestra cantidad disponible y precio ¿Está de acuerdo? Si Registra producto Almacena producto ¿El cliente está interesado? No Registra Petición Almacena petición Si No ¿Desea otro producto? Si No Entrega cantidad Solicita cantidad total a pagar Muestra cantidad total a pagar Recibe cantidad y registra factura Almacena factura Solicita impresión factura Actualiza inventario Imprime factura Recibe pedido y factura Entrega pedido y factura
  • 9.
    Inventario - Proveedores Proveedor Administrador Sistema Solicita inventario Genera inventario Solicita componentes pendientes Lista componentes pendientes Recibe solicitud Solicita pedido Muestra información del proveedor Entrega cotización Solicita pedido a nuevo proveedor Recibe cotización ¿Está de acuerdo? No Si Recibe confirmación de pedido Genera pedido Envía pedido y factura Recibe pedido y factura Está conforme Debido a productos No Si defectuosos o faltantes Recibe error de pedido Comunica error de pedido Cancela factura Registra datos proveedor Almacena datos proveedor Registra componentes Almacena componentes Archiva factura de compra Actualiza inventario
  • 10.
    4.6 Diagramas desecuencia Ventas – Peticiones – Inventario <<boundary>> <<boundary>> <<control>> <<entity>> : VentanaPrincipal : VentanaVentas : ControlInventario : Cliente : Administrador 1 : "Ventas" 2 : abrir() 3 : "Productos" 4 : comprobarExistencias() 5 : mostrarInformacion() 6 : informarPrecio() 7 : registrarProductos() 8 : almacenarPoductos() 9 : mostrarCantidadTotalPagar() 10 : solicitarCantidadTotalPagar() 11 : entregarCantidadTotalPagar() 12 : registrarFactura() 13 : almacenarFactura() 14 : actualizarInventario() 15 : solicitarImpresionFactura() 16 : imprimirFactura() 17 : entregarFactura()
  • 11.
    Inventario - Proveedores <<boundary>> <<boundary>> <<control>> <<entity>> : VentanaPrincipal : VentanaInventario : ControlInventario : Proveedor : Administrador 1 : "Inventario" 2 : abrir() 3 : generarInventario() 4 : "Componentes Pendientes" 5 : listarComponentesPendientes() 6 : solicitarPedido() 7 : entregarCotizacion() 8 : enviarPedido() 9 : cancelarFactura() 10 : entregarPedido() 11 : registrarComponentes() 12 : almacenarComponentes() 13 : actualizarInventario()
  • 12.
    CONCLUSIONES Este trabajo permitióaplicar los principales conceptos de ingeniería de software y modelado UML. La meta fue diseñar un sistema que hiciera parte del estándar de desarrollo basado en objetos y de esta manera poder dar paso a la etapa de construcción e implementación de un software basado en este diseño.
  • 13.
    BIBLIOGRAFÍA Módulo Lenguaje Unificadode Modelado, Cabrera Meza, Harold Emilio, 2006. El proceso Unificado de desarrollo de software, Booch Graby, Rumbaugh James, Jacobson Ivar, Edit Addison Wesly, 2002 El lenguaje Unificado de Modelado, Booch Graby, Rumbaugh James, Jacobson Ivar, Edit Addison Wesly, 2002