POSGRADO
INGENIERIA DE SOFTWARE
MODELADO UML
2010/11/12


A partir del siguiente requerimiento, represente visualmente los modelos UML que permitan
especificar la estructura y el comportamiento que guíen la construcción de la implementación
de una alternativa de solución y documente las decisiones arquitecturales que aseguren que
esa alternativa es la más apropiada.


Una empresa envía mensualmente a sus clientes una Nota de Crédito
bonificándolos en función de los montos que compraron durante el mes.
Para ello ha determinado la siguiente política de bonificaciones:

1. Clientes mayoristas, por ventas inferiores a $ 20.000: no reciben
     bonificación.
2.   Clientes minoristas, por ventas inferiores a $ 5.000: no reciben
     bonificación.
3.   Clientes mayoristas, por ventas superiores o iguales a $ 20.000 pero
     inferiores a $ 40.000: 5% sobre el total.
4.   Clientes minoristas, por ventas superiores o iguales a $ 5.000 pero
     inferiores a $ 10.000: 3% sobre el total.
5.   Clientes mayoristas, por ventas superiores o iguales a $ 40.000: $
     2.000 más 7% sobre el excedente de $ 40.000.
6.   Clientes minoristas, por ventas superiores o iguales a $ 10.000: $ 300
     más el 5% sobre el excedente de $ 9.999.

En caso que la antigüedad del cliente sea superior a 5 años, el valor de
la bonificación se incrementará en un 30%.


GESTIONAR ENVIO
GESTIONAR VENTAS
GESTIONAR BONIFICACIONES




                                             7
POSGRADO
INGENIERIA DE SOFTWARE
MODELADO UML
2010/11/12


A partir del siguiente requerimiento, represente visualmente los modelos UML que permitan
especificar la estructura y el comportamiento que guíen la construcción de la implementación
de una alternativa de solución y documente las decisiones arquitecturales que aseguren que
esa alternativa es la más apropiada.


REQUERIMIENTOS
 analysis Requerimientos


       R002: Calcular
                                     Calcula el valor de la
       valor de ventas               venta actual del
                                     cliente


       R003: Calcular                Calcula el valor de la ventas
       valor de ventas
                                     totales(acumuladas) realizadas
       totales del mes               por el cliente en el mes


       R004: Calcular
                                     Calcula el valor de la bonificacion
       Valor de
                                     cumpliendo con las condiciones de valor
       bonificacion
                                     de compras acumuladas por el cliente


       R001: Enviar                  Nota con el valor de la
       nota de credito
                                     bonificacion de los
                                     clientes




                                                7
POSGRADO
INGENIERIA DE SOFTWARE
MODELADO UML
2010/11/12


A partir del siguiente requerimiento, represente visualmente los modelos UML que permitan
especificar la estructura y el comportamiento que guíen la construcción de la implementación
de una alternativa de solución y documente las decisiones arquitecturales que aseguren que
esa alternativa es la más apropiada.


STAKEHOLDERS
 uc Stakeholders




                                             Empleado




                   Gestión de v entas                          contabilidad




     Cliente   Administrador   Competencia    prov eedor   Entidad Bancaria   Entidad Gubernamental




                                                           7
POSGRADO
INGENIERIA DE SOFTWARE
MODELADO UML
2010/11/12


A partir del siguiente requerimiento, represente visualmente los modelos UML que permitan
especificar la estructura y el comportamiento que guíen la construcción de la implementación
de una alternativa de solución y documente las decisiones arquitecturales que aseguren que
esa alternativa es la más apropiada.



DIAGRAMA DE FLUJO DE DATOS


                                      Base datos
                                                     Info_ventas

                               Venta Actual
                   Gestionar
                    ventas                                   Gestionar
                                                                            Contabilidad
                                                           Bonificaciones




                  Valor                                        Info
               bonificacion                                 bonificacion

                                               Gestionar
                                                Envio



                                                  Nota de
                                              Credito aprobada



                                                           Administrador



MODELO DE CLASES




                                                    7
POSGRADO
INGENIERIA DE SOFTWARE
MODELADO UML
2010/11/12


A partir del siguiente requerimiento, represente visualmente los modelos UML que permitan
especificar la estructura y el comportamiento que guíen la construcción de la implementación
de una alternativa de solución y documente las decisiones arquitecturales que aseguren que
esa alternativa es la más apropiada.


class CLASES


                     DEPARTAMENTO



                                                                      CLIENTE

                                      1
                                                             «column»
                                          1..*               *   num_cliente
                                                                 idenrificacion
                                           Ciudad                nombre
                                                                 direccion
                                                                 telefono
                                                                 ciudad
                                                                 valor_bonificacion

                                                             +   agregar()
                                                             +   Buscar()
                               VENTAS                      1 +   eliminar()
                                                                                      1       1
                                                             +   Modificar()
                      «column»
                                                    1..*                                                 BONIFICACION
                      *   Num_venta
                          fecha
                                                                                          «column»
                          articulo
                                                                                          *   num_bonificacion
                          cantidad
                                                                                              fecha
    ARTICULO              valor_unitario
                                                                                              valor_total_venta
                          valor_neto
                                                                                              valor_total_ventas_acumuladas
   «column»               valor_total
                                                                                              porcentaje_bonificacion
       id_articulo        cliente
       nombre                                                                                 valor_bonificacion
       descripcion    +   agregar()
                                                                                          +       Agregar()
                      +   buscar()
                                                                                          +       buscar()




                                                                 7
POSGRADO
INGENIERIA DE SOFTWARE
MODELADO UML
2010/11/12


A partir del siguiente requerimiento, represente visualmente los modelos UML que permitan
especificar la estructura y el comportamiento que guíen la construcción de la implementación
de una alternativa de solución y documente las decisiones arquitecturales que aseguren que
esa alternativa es la más apropiada.


1. Gestión de bonificaciones

   1.1. Modelo del Caso de Uso
         uc casos de uso




                                                                  Gestionar v enta



                                                      «include»
                                        Gestionar
                                       Bonificacion

            Gestion de v entas

                                                 «include»


                                                       gestionar Env io


                Contabilidad




                                                                                     Administrador




   1.2. DESCRIPCIÓN
   Este diagrama de casos de uso representa el funcionamiento del sistema de información para el
   proceso de gestión de clientes de la videotienda (VideoSoft), en la cual el usuario encargado inicia
   su sesión y luego procede a administrar los socios, pudiendo agregar uno nuevo, editar uno
   existente, buscar y generar sus respectivos carnets de afiliación.


   1.3. LISTA DE ACTORES
   Empleado encargado de la Gestión de ventas
   Empleado de contabilidad
   Administrador




                                                  7
POSGRADO
INGENIERIA DE SOFTWARE
MODELADO UML
2010/11/12


A partir del siguiente requerimiento, represente visualmente los modelos UML que permitan
especificar la estructura y el comportamiento que guíen la construcción de la implementación
de una alternativa de solución y documente las decisiones arquitecturales que aseguren que
esa alternativa es la más apropiada.


    1.4. FLUJOS

Precondiciones
Para que haya una bonificación debe existir un registro de ventas para un cliente
Flujos Básicos
  1. El usuario busca cliente
  2. El sistema muestra el valor de ventas del cliente
  3. El usuario solicita al sistema agregar un nuevo cassete
  4. El usuario busca la película por su nombre y si no existe la agrega (Caso de uso 2.4.3)
  5. El usuario agrega los datos correspondientes al casssete.
  6. El sistema valida los datos y los agrega a la base de datos

Flujos Alternos
2.1 El sistema encuentra que el cassete ya esta registrado y permite editar o eliminar   sus datos
3.1 El usuario solicita editar los datos del cassete
3.2 El usuario solicita eliminar los datos del cassete
4.1 El usuario modifica los datos del cassete y pulsa aceptar
4.2 El sistema solicita confirmación para eliminar los datos
4.2.1 El usuario acepta eliminar los datos y estos se borran de la base de datos
4.2.2 El usuario cancela la operación de borrado
4.3 Los datos no están diligenciados correctamente y el sistema los rechaza.
4.4 El usuario cancela la operación

            1.4.1.1.Poscondiciones
                Se ha agregado, modificado o eliminado un cassete correctamente




                                                   7
POSGRADO
INGENIERIA DE SOFTWARE
MODELADO UML
2010/11/12


A partir del siguiente requerimiento, represente visualmente los modelos UML que permitan
especificar la estructura y el comportamiento que guíen la construcción de la implementación
de una alternativa de solución y documente las decisiones arquitecturales que aseguren que
esa alternativa es la más apropiada.




          1.4.1.2.Diagrama de Actividades




                                             7
POSGRADO
INGENIERIA DE SOFTWARE
MODELADO UML
2010/11/12


A partir del siguiente requerimiento, represente visualmente los modelos UML que permitan
especificar la estructura y el comportamiento que guíen la construcción de la implementación
de una alternativa de solución y documente las decisiones arquitecturales que aseguren que
esa alternativa es la más apropiada.


act Gestionar Cassetes




                                             Inicio


                                       buscar Cassete




                                         Existe Cassete

                                             «no»


                                      Agregar un nuev o
                                          Cassete
                                                                          Modificar Cassete      Eliminar Cassete


         Gestionar Película             Existe Película
                              «no»
                                              «si»
                                                                                                Mostrar Mensaj e de
                                                                                                  Confirmación
                                     Selecciona Película


                                                                                                Pulsa Botón Aceptar
                                                                                                                         «no»
                                      Ingresar los datos                                                                        Fin
                                                                                                        «si»


                                                                                              Elimina Datos de la Base
                                                                                                      de Datos
       Mostrar mensaj e
                                        datos validados
                              «no»

                                             «si»


                                      Pulsa Botón Aceptar
                                                             «no»
                                                                    Fin
                                             «si»


                                     Guardar en la base de
                                            datos




                                              Fin




          1.4.2.




                                                                7

Ejercicios.especificacion 01 29

  • 1.
    POSGRADO INGENIERIA DE SOFTWARE MODELADOUML 2010/11/12 A partir del siguiente requerimiento, represente visualmente los modelos UML que permitan especificar la estructura y el comportamiento que guíen la construcción de la implementación de una alternativa de solución y documente las decisiones arquitecturales que aseguren que esa alternativa es la más apropiada. Una empresa envía mensualmente a sus clientes una Nota de Crédito bonificándolos en función de los montos que compraron durante el mes. Para ello ha determinado la siguiente política de bonificaciones: 1. Clientes mayoristas, por ventas inferiores a $ 20.000: no reciben bonificación. 2. Clientes minoristas, por ventas inferiores a $ 5.000: no reciben bonificación. 3. Clientes mayoristas, por ventas superiores o iguales a $ 20.000 pero inferiores a $ 40.000: 5% sobre el total. 4. Clientes minoristas, por ventas superiores o iguales a $ 5.000 pero inferiores a $ 10.000: 3% sobre el total. 5. Clientes mayoristas, por ventas superiores o iguales a $ 40.000: $ 2.000 más 7% sobre el excedente de $ 40.000. 6. Clientes minoristas, por ventas superiores o iguales a $ 10.000: $ 300 más el 5% sobre el excedente de $ 9.999. En caso que la antigüedad del cliente sea superior a 5 años, el valor de la bonificación se incrementará en un 30%. GESTIONAR ENVIO GESTIONAR VENTAS GESTIONAR BONIFICACIONES 7
  • 2.
    POSGRADO INGENIERIA DE SOFTWARE MODELADOUML 2010/11/12 A partir del siguiente requerimiento, represente visualmente los modelos UML que permitan especificar la estructura y el comportamiento que guíen la construcción de la implementación de una alternativa de solución y documente las decisiones arquitecturales que aseguren que esa alternativa es la más apropiada. REQUERIMIENTOS analysis Requerimientos R002: Calcular Calcula el valor de la valor de ventas venta actual del cliente R003: Calcular Calcula el valor de la ventas valor de ventas totales(acumuladas) realizadas totales del mes por el cliente en el mes R004: Calcular Calcula el valor de la bonificacion Valor de cumpliendo con las condiciones de valor bonificacion de compras acumuladas por el cliente R001: Enviar Nota con el valor de la nota de credito bonificacion de los clientes 7
  • 3.
    POSGRADO INGENIERIA DE SOFTWARE MODELADOUML 2010/11/12 A partir del siguiente requerimiento, represente visualmente los modelos UML que permitan especificar la estructura y el comportamiento que guíen la construcción de la implementación de una alternativa de solución y documente las decisiones arquitecturales que aseguren que esa alternativa es la más apropiada. STAKEHOLDERS uc Stakeholders Empleado Gestión de v entas contabilidad Cliente Administrador Competencia prov eedor Entidad Bancaria Entidad Gubernamental 7
  • 4.
    POSGRADO INGENIERIA DE SOFTWARE MODELADOUML 2010/11/12 A partir del siguiente requerimiento, represente visualmente los modelos UML que permitan especificar la estructura y el comportamiento que guíen la construcción de la implementación de una alternativa de solución y documente las decisiones arquitecturales que aseguren que esa alternativa es la más apropiada. DIAGRAMA DE FLUJO DE DATOS Base datos Info_ventas Venta Actual Gestionar ventas Gestionar Contabilidad Bonificaciones Valor Info bonificacion bonificacion Gestionar Envio Nota de Credito aprobada Administrador MODELO DE CLASES 7
  • 5.
    POSGRADO INGENIERIA DE SOFTWARE MODELADOUML 2010/11/12 A partir del siguiente requerimiento, represente visualmente los modelos UML que permitan especificar la estructura y el comportamiento que guíen la construcción de la implementación de una alternativa de solución y documente las decisiones arquitecturales que aseguren que esa alternativa es la más apropiada. class CLASES DEPARTAMENTO CLIENTE 1 «column» 1..* * num_cliente idenrificacion Ciudad nombre direccion telefono ciudad valor_bonificacion + agregar() + Buscar() VENTAS 1 + eliminar() 1 1 + Modificar() «column» 1..* BONIFICACION * Num_venta fecha «column» articulo * num_bonificacion cantidad fecha ARTICULO valor_unitario valor_total_venta valor_neto valor_total_ventas_acumuladas «column» valor_total porcentaje_bonificacion id_articulo cliente nombre valor_bonificacion descripcion + agregar() + Agregar() + buscar() + buscar() 7
  • 6.
    POSGRADO INGENIERIA DE SOFTWARE MODELADOUML 2010/11/12 A partir del siguiente requerimiento, represente visualmente los modelos UML que permitan especificar la estructura y el comportamiento que guíen la construcción de la implementación de una alternativa de solución y documente las decisiones arquitecturales que aseguren que esa alternativa es la más apropiada. 1. Gestión de bonificaciones 1.1. Modelo del Caso de Uso uc casos de uso Gestionar v enta «include» Gestionar Bonificacion Gestion de v entas «include» gestionar Env io Contabilidad Administrador 1.2. DESCRIPCIÓN Este diagrama de casos de uso representa el funcionamiento del sistema de información para el proceso de gestión de clientes de la videotienda (VideoSoft), en la cual el usuario encargado inicia su sesión y luego procede a administrar los socios, pudiendo agregar uno nuevo, editar uno existente, buscar y generar sus respectivos carnets de afiliación. 1.3. LISTA DE ACTORES Empleado encargado de la Gestión de ventas Empleado de contabilidad Administrador 7
  • 7.
    POSGRADO INGENIERIA DE SOFTWARE MODELADOUML 2010/11/12 A partir del siguiente requerimiento, represente visualmente los modelos UML que permitan especificar la estructura y el comportamiento que guíen la construcción de la implementación de una alternativa de solución y documente las decisiones arquitecturales que aseguren que esa alternativa es la más apropiada. 1.4. FLUJOS Precondiciones Para que haya una bonificación debe existir un registro de ventas para un cliente Flujos Básicos 1. El usuario busca cliente 2. El sistema muestra el valor de ventas del cliente 3. El usuario solicita al sistema agregar un nuevo cassete 4. El usuario busca la película por su nombre y si no existe la agrega (Caso de uso 2.4.3) 5. El usuario agrega los datos correspondientes al casssete. 6. El sistema valida los datos y los agrega a la base de datos Flujos Alternos 2.1 El sistema encuentra que el cassete ya esta registrado y permite editar o eliminar sus datos 3.1 El usuario solicita editar los datos del cassete 3.2 El usuario solicita eliminar los datos del cassete 4.1 El usuario modifica los datos del cassete y pulsa aceptar 4.2 El sistema solicita confirmación para eliminar los datos 4.2.1 El usuario acepta eliminar los datos y estos se borran de la base de datos 4.2.2 El usuario cancela la operación de borrado 4.3 Los datos no están diligenciados correctamente y el sistema los rechaza. 4.4 El usuario cancela la operación 1.4.1.1.Poscondiciones Se ha agregado, modificado o eliminado un cassete correctamente 7
  • 8.
    POSGRADO INGENIERIA DE SOFTWARE MODELADOUML 2010/11/12 A partir del siguiente requerimiento, represente visualmente los modelos UML que permitan especificar la estructura y el comportamiento que guíen la construcción de la implementación de una alternativa de solución y documente las decisiones arquitecturales que aseguren que esa alternativa es la más apropiada. 1.4.1.2.Diagrama de Actividades 7
  • 9.
    POSGRADO INGENIERIA DE SOFTWARE MODELADOUML 2010/11/12 A partir del siguiente requerimiento, represente visualmente los modelos UML que permitan especificar la estructura y el comportamiento que guíen la construcción de la implementación de una alternativa de solución y documente las decisiones arquitecturales que aseguren que esa alternativa es la más apropiada. act Gestionar Cassetes Inicio buscar Cassete Existe Cassete «no» Agregar un nuev o Cassete Modificar Cassete Eliminar Cassete Gestionar Película Existe Película «no» «si» Mostrar Mensaj e de Confirmación Selecciona Película Pulsa Botón Aceptar «no» Ingresar los datos Fin «si» Elimina Datos de la Base de Datos Mostrar mensaj e datos validados «no» «si» Pulsa Botón Aceptar «no» Fin «si» Guardar en la base de datos Fin 1.4.2. 7