TM Guia Practica Laboratorio 2013

37
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMÁTICA GUIA DE PRÁCTICAS Y LABORATORIOS DE LA ASIGNATURA DE TECNICAS DE MODELAMIENTO César Luza Montero [email protected]

Transcript of TM Guia Practica Laboratorio 2013

Page 1: TM Guia Practica Laboratorio 2013

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMÁTICA

GUIA DE PRÁCTICAS Y LABORATORIOS DE LA ASIGNATURA DE TECNICAS DE MODELAMIENTO

[email protected]

Page 2: TM Guia Practica Laboratorio 2013

/ / 2

HISTORIAL DE MODIFICACIONES

Fecha Version Descripción Autor

03 Enero 2013 V9 Creación del documento César Luza

Page 3: TM Guia Practica Laboratorio 2013

/ / 3

Tabla de contenido

1. INTRODUCCIÓN A RATIONAL ROSE................................................................................................ 31.1 Interfaz de usuario del Rose....................................................................................................................31.2 Iniciar Rose...............................................................................................................................................31.3 Crear un nuevo modelo...........................................................................................................................31.4 Guardar modelo......................................................................................................................................41.5 Crear un paquete.....................................................................................................................................51.6 Actividades...............................................................................................................................................6

2. MODELO DE CASOS DE USO............................................................................................................. 232.1 Proceso de construcción........................................................................................................................232.2 Actividades.............................................................................................................................................26

3. MODELO DE DOMINIO....................................................................................................................... 293.1 Proceso de construcción........................................................................................................................293.2 Actividades.............................................................................................................................................31

Page 4: TM Guia Practica Laboratorio 2013

/ / 4

1.Rational Rose es un herramienta software para el Modelado Visual de sistemas software mediante UML. Se caracteriza por: Mantener la consistencia de los modelos del sistema software, Chequeo de la sintaxis UML, Generación Documentación automáticamente, Generación de Código a partir de los Modelos, Ingeniería Inversa (crear modelo a partir código)

1.1Interfaz de usuario del Rose

Su interfaz de usuario se divide en:

Browser: Para navegar por los elementos de los modelos Toolbars: Para acceder a comandos Diagram Window: Para visualizar y editar diagramas Documentation Window: Para documentar elementos de los modelos Log: Para ver resultados de los comandos

1.2Iniciar Rose

Start ® Programs ® Rational Rose

1.3Crear un nuevo modelo

Una vez en Rose: File ® New

Browser

Documentation Window Diagram WindowLog

Toolbars

Page 5: TM Guia Practica Laboratorio 2013

/ / 5

Si desea crear un archivo de la nada (from scratch), pulse Cancel. Si desea utilizar una plantilla o framework, seleccione <modelo> y pulse OK. Si desea crear desde sistema de ficheros, pulse pestaña existente o reciente.

1.4Guardar modelo

File ® Save o Save As

Page 6: TM Guia Practica Laboratorio 2013

/ / 6

Page 7: TM Guia Practica Laboratorio 2013

/ / 7

1.5Crear un paquete

Browser: Use Case View ® Menú Botón Derecho ® New ® package

Page 8: TM Guia Practica Laboratorio 2013

/ / 8

1.6Actividades1

1.6.1 ACTIVIDAD 1

a) Crear un paquete de nombre Actividad 1 dentro del paquete Use Case View. b) Crear los paquetes Ventanas y Editor dentro del paquete Actividad 1.c) Crear los paquetes Motif y MSWindows como subpaquetes de Ventanasd) Crear los paquetes Controlador, Dominio, Elementos, Núcleo Motif, Núcleo Windows como

subpaquetes de Editor.

e) Sobre el paquete Actividad 1 realice new-Use Case Diagram, creando el diagrama Actividad 1. Haga doble click en el icono del diagrama e introduzca el diagrama mostrado en la Figura 1.1. Para ello arrastre desde el navegador los paquetes involucrados.

f) Repita el paso anterior para los paquetes Ventanas y Editor obteniendo los diagramas mostrados en las Figuras 1.2 y 1.3, respectivamente. En cada oportunidad arrastre desde el navegador los paquetes indicados.

Consejo: Cuando quiera asociar un nuevo diagrama a un paquete basta con hacer doble clic sobre él y luego renombrar el diagrama obtenido (por defecto se denomina Main).

Consejo: Utilice los botones para ir al diagrama padre o al diagrama anterior, respectivamente.

Editor Ventanas

Figura 1.1: Diagrama Actividad 1

Figura 1.2: Diagrama Ventanas

1 Esta parte se basa en el trabajo de Patricio Letelier www.dsic.upv.es/~uml

Page 9: TM Guia Practica Laboratorio 2013

/ / 9

Controlador

Dominio

Elementos

Núcleo Motif

Núcleo Windows

MSWindow

(from Ventanas)

Motif

(from Ventanas)

Figura 1.3 Diagrama Editor

Page 10: TM Guia Practica Laboratorio 2013

/ / 10

1.6.2 ACTIVIDAD 2

a) Estando en el navegador sobre el paquete de la Vista de Casos de Uso, con el botón derecho del ratón haga new-package y cree un paquete que se llame Actividad 2.

b) Con el botón derecho del ratón y estando en el navegador sobre el paquete recién creado haga new-Use Case Diagram y cree un diagrama que se llame Actividad 2.

c) Dibuje en el diagrama Actividad 2 lo mostrado en la figura 2.1.

Retirar dinero

Consultar ExtractoCliente

Realizar transferencia

Figura 2.1: Diagrama Actividad 2

Observaciones: La opción Navigable establece la dirección en una asociación (puede habilitarse o

deshabilitarse con el botón derecho sobre el símbolo)

Page 11: TM Guia Practica Laboratorio 2013

/ / 11

1.6.3 ACTIVIDAD 3

a) Estando en el navegador sobre el paquete de la Vista de Casos de Uso, con el botón derecho del ratón haga new-package y cree un paquete que se llame Actividad 3.

b) En el paquete recién haga new-Use Case Diagram y cree un diagrama que se llame Actividad 3. Dibuje en el diagrama Actividad 3 lo mostrado en la figura 3.1.

Figura 3.1: Diagrama Actividad 3

Observación: Puede arrastrar el actor Cliente desde el paquete Actividad 2.

c) Con el botón derecho del ratón y estando en el navegador sobre el Caso de Uso Reintegro haga new-Sequence Diagram y cree un diagrama que se llame Reintegro Saldo Insuficiente.

d) Haga doble clic en el diagrama Reintegro Saldo Insuficiente y dibuje el diagrama mostrado en la Figura 3.2

: Cliente:Cajero

automático:cuenta

tarjeta

solicitar número secreto

número

solicitar cantidad

realizar transacción(cantidad)

saldo insuficiente

saldo insuficiente

cantidad

Figura 3.2: Diagrama Reintegro Saldo Insuficiente

d) Haga Browse-Create Collaboration Diagram para obtener automáticamente el Diagrama de Colaboración asociado.

Cliente Reintegro

Page 12: TM Guia Practica Laboratorio 2013

/ / 12

1.6.4 ACTIVIDAD 4

a) Crear el paquete Actividad 4 en la Vista Lógica.b) Dentro de este paquete crear las clases: avión, motor, avión militar, avión comercial, vuelo,

piloto, reserva, línea aérea, avión de carga, avión de pasajeros, vendedor de billetes.c) Cree dentro de la Actividad 4 el Diagrama de Clases Actividad 4, mostrado de la Figura 4.1.

Avión militar Avión comercial

Avión de carga Avión de pasajeros

Motor Vendedor de billetes

Avión

1..4

1

1..4

1

Piloto

Reserva

n

1

n

1

Línea aérea

Vuelon1 n1

1..2

n

1..2

nn1 n1

1

n

1

n{ disjunta, completa }

{ disjunta, completa }

Figura 4.1: Diagrama Actividad 4

Page 13: TM Guia Practica Laboratorio 2013

/ / 13

1.6.5 ACTIVIDAD 5

a) Cree el paquete Actividad 5, en la vista lógicab) Cree en este paquete la clase Socio en un Diagrama de Clases que se llame Actividad 5. La Figura

5.1 da el detalle de la estructura de la clase.c) Asocie a la clase anterior el Diagrama de Transición de Estados de la Figura 5.2. Para ello,

seleccionando la clase en cuestión y con el botón derecho del ratón escoja la opción New Statechart Diagram.

Socio

número : intnombre : char[50]número_prestamos : int = 0

alta()baja()prestar(código_libro : int, fecha : date)devolver(código_libro : int, fecha : date)

Figura 5.1: Diagrama Actividad 5

con préstamos

sin préstamos

prestar devolver[ número_préstamos = 1 ]

prestar

devolver[ número_préstamos > 1 ]

alta baja

número_préstamos = 0

número_préstamos > 0

Figura 5.2: Diagrama de Estados

Page 14: TM Guia Practica Laboratorio 2013

/ / 14

1.6.6 ACTIVIDAD 6

a) Cree en la Vista de Componentes un paquete que se llame Actividad 6 y dibuje el diagrama que se muestra en la Figura 6.1. Una relación de dependencia entre componentes viene dado porque un componente usa las facilidades de otro. Esto se reduce a dependencias de compilación entre componentes. Consulte en el Help los estereotipos para los componentes.

b) Dibuje el Diagrama de Despliegue de la Figura 6.2. Una Connection representa p.e. un cable RS232, comunicación vía satélite, etc. Un Processor representa hardware con capacidad de computación. Un Device incluye dispositivos hardware como terminales, modems, etc.

Interfaz de Terminal Control y

Análisis

Gestión de Cuentas

Rutinas de Conexión

Acceso a DB

Figura 6.1

Punto de Venta

Servidor Central Gestor de Datos

Terminal de Venta

Figura 6.2

Page 15: TM Guia Practica Laboratorio 2013

/ / 15

1.6.7 ACTIVIDAD 7

a) Cree un nuevo modelo y renombre el diagrama Main de la Vista de Casos de Uso por ACME. b) Haga doble click sobre el icono del diagrama ACME y dibujando, introduzca los subpaquetes

Publicidad, Ventas, Inventario y Contabilidad. El resultado se muestra en la Figura 7.1

Publicidad Ventas

Inventario Contabilidad

Figura 7.1: Diagrama ACME

c) Haga doble click sobre el paquete Ventas en el Diagrama ACME e introduzca el diagrama de casos de uso mostrado en la Figura 7.2.

d) Con el botón derecho sobre el diagrama llamado Main bajo el paquete Ventas renómbrelo por Ventas.

e) Asociado al paquete Realizar Venta crear un diagrama de casos de uso llamado Realizar Venta. Hacer doble click sobre el icono que representa el paquete Realizar Venta e introduzca el diagrama mostrado en la Figura 7.3.

f) Renombre como Realizar Venta el diagrama Main bajo el paquete Realizar Venta. El resultado hasta este punto puede verse en la Figura 7.4.

Supervisor Verificar Situación del Cliente

Administrativo Sistema Inventario

Preparar Catálogo

Realizar Venta

Figura 7.2: Diagrama Ventas

Page 16: TM Guia Practica Laboratorio 2013

/ / 16

Venta Normal

Venta de Rebaja

Venta de Oferta

Vendedor

Solicitar autorización

<<extend>>

[Cliente moroso]

Confirmar existencia y plazo de entrega

<<include>>

<<include>>

Figura 7.3: Diagrama Realizar Venta

Observaciones: Los estereotipos se introducen en la especificación del símbolo de dependencia (hacer

doble clic sobre el símbolo para abrir su especificación)En los D. de Casos de Uso no existe el concepto de “explosión” tal como se tiene en los DFDs (Diagramas de Flujo de Datos). La funcionalidad representada por un caso de uso es “atómica” (aunque en Rational Rose a un caso de uso se le puede asociar un nuevo D. de Casos de Uso!!). En UML el concepto de paquete permite organizar de manera jerárquica un modelo, y en este caso, un paquete puede tener asociado un nuevo diagrama.

Page 17: TM Guia Practica Laboratorio 2013

/ / 17

Figura 7.4: Estado de la Práctica al terminar el paso f)

g) Documente los casos de uso Venta Normal, Venta Rebajas, Venta Ofertas a partir de la información siguiente, presentada en tres estilos distintos (“secuencia de pasos”, “condiciones pre-post de la aplicación del caso de uso” y, por último “descripción narrativa”).

Venta Normal

Cree un fichero con el siguiente contenido:

Caso de Uso Venta Normal1. El cliente se identifica mostrando su tarjeta y el DNI2. El vendedor revisa los datos del cliente3. Si el cliente es moroso realizar caso de uso “Solicitar Autorización”4. El vendedor introduce su código de vendedor e indica al sistema que se trata de una

venta normal5. El sistema muestra la pantalla para introducir los datos de la venta6. El vendedor introduce los artículos mediante un lector de código de barras o

directamente por teclado. Pueden ser varios artículos en una misma venta.7. El vendedor solicita la emisión del recibo8. El sistema imprime el recibo

Haga doble click sobre el caso de uso Venta Normal del diagrama y en la pestaña Files con el botón derecho realice Insert File, asociando el fichero word recién creado.

Venta en Oferta

Haciendo doble click en el caso de uso Venta en Oferta y dentro del cuadro denominado documentación, introducir:

Precondiciones

- Los artículos de la venta deben estar en oferta

- El pago debe hacerse en efectivo

Page 18: TM Guia Practica Laboratorio 2013

/ / 18

- El artículo debe tener el suficiente stock para satisfacer la venta y el cliente debe estar conforme con el plazo estimado de entrega

Postcondiciones

- El stock del artículo se decrementa con la venta realizada

- Se registran todos sus datos en la base de datos

Venta en Rebajas

Seleccionando el caso de uso Venta en Rebajas, introducir en el cuadro de documentación (bajo el browser) el siguiente texto:

En el periodo de rebajas los precios tienen una disminución de precio tanto de forma individual como por grupos de artículos. Los descuentos se detallan en la correspondiente tabla de descuentos por grupo. Debe verificarse que hay stock suficiente y que el cliente está conforme con el plazo estimado de entrega.

Page 19: TM Guia Practica Laboratorio 2013

/ / 19

1.6.8 ACTIVIDAD 8

a) Cree un nuevo modelo y renombre el diagrama Main de la Vista de Casos de Uso por Video Club.

b) Introduzca en el Diagrama Video Club el modelo de la figura 8.1.

EncargadoPrestar Video

Figura 8.1: Diagrama Video Club

c) Cree un Diagrama de Secuencia asociado al Caso de Uso Prestar Video y denomínelo Prestar con Éxito. Arrastre desde el navegador el actor Encargado y complete el Diagrama de Secuencia según lo mostrado en la Figura 8.2. Los objetos utilizados en este diagrama son anónimos, es decir, sólo se indica la clase a la cual pertenecen, pero no se les asigna un nombre específico.

d) Deshabilite la opción Focus of Control en Tools-Options-Diagrams y observe el efecto.e) Cree el Diagrama de Colaboración asociado al Diagrama de Secuencia dibujado mediante

Browse-Create Collaboration Diagram. La Figura 8.3 muestra el diagrama de colaboración que se debe obtener.

: Encargado:WInPréstamos :Socio :Video :Préstamo

prestar(video, socio)

verificar situación socio

verificar situación video

registrar préstamo

entregar recibo

Figura 8.2: Diagrama Prestar con Éxito

Page 20: TM Guia Practica Laboratorio 2013

/ / 20

: Encargado

:WInPréstamos

:Socio

:Video

:Préstamo

1: prestar(video, socio)

2: verificar situación socio

3: verificar situación video

4: registrar préstamo5: entregar recibo

Figura 8.3: Diagrama Obtenido a partir del Diagrama Prestar con Éxito

Page 21: TM Guia Practica Laboratorio 2013

/ / 21

1.6.9 ACTIVIDAD 9

a) Cree un nuevo modelo. En la Vista Lógica cree el paquete Actividad 9. Dentro de este paquete cree un Diagrama de Clases que se llame Actividad 9.

b) Incluya una única clase dentro de este diagrama que se llame Alumno y complete según lo mostrado en la Figura 9.1.

Alumno

DNI : char[10]número_exp : intnombre : char[50]

alta()poner_nota(asignatura : char *, año : int, nota : float)matricular(cursos : asignatura, año : int)listar_expediente()

Figura 9.1: Diagrama Actividad 9

Observación: Pregunte al profesor si no consigue obtener la presentación mostrada en la Figura 9.1.

Page 22: TM Guia Practica Laboratorio 2013

/ / 22

1.6.10 ACTIVIDAD 10

a) En la Vista Lógica cree un paquete denominado Actividad 10.b) Asociado al paquete Actividad 10 cree el Diagrama de Clases Actividad 10 e inserte las clases

Departamento y Profesor y asócielas tal como se muestra en la Figura 10.1.c) Modifique la visibilidad de los roles eligiendo entre Público (+): el rol es visible fuera del ámbito

del paquete y puede referenciarse en otras partes del modelo; Implementación (sin símbolo asociado): visible sólo en el paquete en el que se define; Protected (#): accesible a la clase misma, a las subclases o friends; Private (-): accesible solo a la propia clase o friends.

ProfesorDepartamento

10..1director 1

dirige0..1

0..*1 profesores

0..*depto1

Figura 10.1: Diagrama Actividad 10

Page 23: TM Guia Practica Laboratorio 2013

/ / 23

1.6.11 ACTIVIDAD 11

a) Cree el paquete Actividad 11 y dentro de él introduzca el diagrama de clases Actividad 11 con las clases Empresa, Empleado y Cargo. Defina en la clase Cargo los atributos Nombre y Sueldo.

b) Establezca la asociación entre Empresa y Empledo, mostrada en la figura 11.1.

Empresa Empleado

1..** 1..**

trabajadoresempleador

Cargo

nombresueldo 0..1

1..*

superior

subordinado 1..*

0..1

Figura 11.1: Diagrama Actividad 11

Observación: Use el símbolo de la barra de herramientas denominado “Link Attribute” para enlazar la clase Cargo con la asociación entre Empresa y Empleado.

Page 24: TM Guia Practica Laboratorio 2013

/ / 24

1.6.12 ACTIVIDAD 12

a) Cree el paquete Actividad 12.b) Cree en el navegador las clases: Trabajador, Directivo, Administrativo, Obrero, Vehículo,

Vehículo impulsado por viento, Vehículo Terrestre, Vehículo impulsado por motor, Vehículo acuático, Camión, Velero, Cuenta, Cuenta rentable y Cuenta no rentable.

c) Cree el Diagrama de Clases llamado Actividad 12.1 según se muestra en la Figura 12.1.d) Repita la operación para las Figuras 12.2 y 12.3.

Trabajador

Directivo Administrativo Obrero

{ disjunta, completa }

Figura 12.1: Diagrama Actividad 12.1

Vehículo

Vehículo impulsado por viento Vehículo impulsado por motor

VehículoTerrestreVehículo acuático

Velero

Camión

impulsado por

medio

Figura 12.2: Diagrama Actividad 12.2

Page 25: TM Guia Practica Laboratorio 2013

/ / 25

Cuenta

Cuenta rentable Cuenta no rentable

{ disjunta, incompleta }

saldo_medio > 1000 saldo_medio < 500

saldo

Figura 12.3: Diagrama Actividad 12.3

Page 26: TM Guia Practica Laboratorio 2013

/ / 26

2.

2.1Proceso de construcción

El proceso de construcción de un modelo de casos de uso se puede resumir en las siguientes actividades: Identificación de actores, Identificación de casos de uso, Descripción de casos de uso, y Elaboración del diagrama de casos de uso. Veamos un ejemplo, considerando la siguiente descripción informal de requerimientos:

a) Identificando actores

Encargado de vuelos

Gerente Empleado de ventas

b) Identificando casos de uso

Mantener informacion de unidades Registrar vuelo de carga Registrar vuelo de pasajeros

Mantener informacino de pilotos Consultar vuelos por pilotos Mantener informacion de pasajeros

Consultar pasajeros que tommaron vuelo

Registrar confirmación de vueloRegistrar reservas de vuelo

La Empresa AIRTRANS, dedicada al servicio de transportes aéreos, necesita un sistema de información para gestionar y mantener los datos de unidades, vuelos, pilotos, pasajeros y reservas.

Después de haber dialogado con el Encargado de Vuelos se concluyo que es responsable de Mantener la información de las distintas unidades: el número, el tipo de avión, la fecha de compra, el modelo, la capacidad de carga y la capacidad de pasajeros. Determina los vuelos que llevan carga, para los mismos necesita guardar la fecha, el piloto, el lugar de origen, el destino, el peso de la carga y el monto del vuelo. Define los vuelos de pasajeros: fija la fecha, el piloto y su tripulación, origen, destino y capacidad de pasajeros.

El gerente nos informó que: Mantiene la información de los pilotos que trabajan en la empresa, para el mismo guarda el número de piloto, el nombre, dirección, habilitación, fecha del último control médico. Necesita que el sistema le devuelva dado un piloto, los vuelos que ha realizado en un periodo dado.1

El empleado de ventas nos explicó que: Mantiene información de los pasajeros de los diferentes vuelos, para cada uno se le incorpora un número de identificación, el nombre, profesión, el teléfono y la dirección. Los pasajeros realizan reservas para los distintos vuelos, si no hay espacio disponible, se rechaza el pedido de reserva para ese vuelo. Confirma los pasajeros que toman los vuelos. Sólo se admiten pasajeros que hayan realizado reservas previas. Necesita un reporte con los pasajeros que tomaron un vuelo.

Page 27: TM Guia Practica Laboratorio 2013

/ / 27

c) Elaborando la descripción de casos de uso

Para cada caso de uso se elabora su descripción. En nuestro caso, solo desarrollaremos descripción de algunos casos de uso.

Nombre C.U.S. Consultar Vuelos por PilotoActor GerentePrecondición El usuario ha sido admitido en el sistema con el rol de GerentePoscondición El sistema muestra los vuelos realizados por pilotoFlujo Básico1. El caso de uso se inicia cuando el Gerente indica “Vuelos Realizados”.2. El Sistema muestra relación de pilotos.3. El Gerente escoge el nombre de piloto de la relación mostrada.4. El Sistema muestra calendario para escoger el periodo (fecha inicio y fecha de fin)5. El Gerente escoge el periodo (fecha inicio y fecha de fin).6. El Gerente indica “Aceptar”.7. El Sistema muestra los vuelos realizados por el piloto en el periodo escogido.8. El caso de uso finaliza.

Flujos AlternativosImprimirEn el paso 7, si el gerente indica “Imprimir”, el sistema imprime la información consultada y el caso de uso finaliza.No hay vuelos en periodo En el paso 7, si no existen vuelos del piloto en el periodo seleccionado, el sistema muestra mensaje “Piloto no tiene registrado vuelos en el periodo” y regresa a seleccionar otro piloto.

Nombre C.U.S. Mantener información de unidadesActor Encargado de vuelosPrecondición El usuario ha sido admitido en el sistema con el rol de Encargado de vuelosPoscondición Se ha registrado información de unidades(Añadir, modificar, eliminar)

Flujo BásicoAñadir

1. El caso de uso comienza cuando el Encargado de Vuelo indica “Mantener Información de unidad”.

2. El Sistema muestra las opciones: “Añadir”, “Modificar” y “Eliminar”.3. El Encargado de Vuelo elige la opción “Añadirr”.4. El Sistema muestra el formulario para llenar datos de una nueva unidad.5. El Encargado de Vuelo ingresa datos de la unidad: el número, el tipo de avión, la fecha

de compra, el modelo, la capacidad de carga y la capacidad de pasajeros. 6. El Encargado de Vuelo indica “Guardar”.7. El Sistema registra la información de la nueva unidad.8. El caso de uso finaliza.

Flujos Alternativos

Page 28: TM Guia Practica Laboratorio 2013

/ / 28

Modificar1. El flujo se inicia cuando el Encargado de Vuelo elige la opción “Modificar”.2. El Sistema muestra relación de unidades3. El Encargado de Vuelo selecciona unidad cuyo datos desea modificar4. El Sistema muestra formulario con los datos de la unidad a modificar5. El Encargado de Vuelo realiza modificaciones6. El Encargado de Vuelo indica “Guardar”.7. El Sistema registra las modificaciones.8. El caso de uso finaliza.

Eliminar1. El flujo se inicia cuando el Encargado de Vuelo elige la opción “Eliminar”.2. El Sistema muestra relación de unidades.3. El Encargado de Vuelo selecciona unidad que desea eliminar.4. El Sistema muestra formulario con datos de unidad a eliminar.5. El Encargado de Vuelo indica “Confirmar”6. El Sistema registra la eliminación de la unidad.7. El caso de uso finaliza.

Cancelar1. En cualquier momento, el usuario indica “Cancelar”, entonces, 2. El sistema no registra dato alguno y el caso de uso finaliza.

Código Repetido1. En el paso 7 de ingresar y 7 de modificar, si el número de unidad se repite, 2. El sistema muestra un error y regresa a solicitar datos

d) Elaborando el diagrama de casos de uso

Mantener información de unidades

Registrar vuelo de carga

Encargado de vuelos

Registrar vuelo de pasajeros

Consultar vuelos por pilotosGerente

Mantener información de pilotos

Mantener informacion de pasajerosRegistrar reservas de vuelo

Registrar confirmación de vuelo

Empleado de ventas

Consultar pasajeros que tommaron vuelo

Page 29: TM Guia Practica Laboratorio 2013

/ / 29

2.2Actividades

2.2.1 Actividad 1: Sistema para una agencia de alquiler de autos

Inicialmente, entrevistamos al dueño de la agencia, quien es el que impulsó el proyecto. Él está, especialmente, interesado en controlar los gastos de la empresa. Necesita obtener del sistema información del tipo: Dado un intervalo de tiempo, todas las reparaciones realizadas por un monto superior al que él imponga.

El Empleado de Atención al Público, nos contó que por cada nuevo alquiler actualiza la ficha registro del cliente. En caso de tratarse de un nuevo cliente, abre una nueva ficha con los siguientes datos: apellido y nombre, dirección personal, localidad, provincia, tipo y número de documento, profesión y número de licencia de conductor. De acuerdo con las restricciones que impone el cliente, se busca si existe un vehículo disponible. Una vez que el cliente seleccionó un coche, se crea una ficha para el nuevo alquiler: fecha del alquiler, cantidad de días por los que se alquila, importe del alquiler y kilometraje del vehículo al momento de ser alquilado. No se debe autorizar alquileres a clientes que no devolvieron en el plazo o en buen estado el vehículo que se les prestó.

El Encargado de Autos es el único autorizado a actualizar la ficha registro de cada auto. Cada vehículo tiene su propia información: código, descripción, marca (por ej: Ford Fiesta), modelo (por ej: 1996), estado (alquilado, disponible para alquilar o en reparación). Por cada vehículo lleva nota de todas las reparaciones que recibió. De cada reparación mantiene la fecha, motivo, costo de la reparación, cantidad de días que el auto no estuvo disponible. También atiende a los clientes que traen los vehículos. Controla que el mismo se entregue en buen estado y en termino, si no es así le informa al encargado de atención al público para que no autorice nuevos alquileres a ese cliente y registra en la ficha del alquiler el kilometraje final con que se devuelve el coche. Le gustaría poder consultar los autos mas alquilados.

Para la segunda etapa de este proyecto se van a incorporar, al sistema, facilidades para hacer reservas telefónicas. En este caso, el Empleado de Atención al Publico tomará los datos del cliente, la fecha del alquiler, días por los que se va a alquilar y vehículo que reserva.

Una reserva puede ser cancelada con hasta 48 horas de anticipación. Los clientes que hagan reservas y no retiren el alquiler, no podrán efectuar nuevas reservas ni alquileres.

Al final de cada jornada, el Encargado de Autos lanzara un proceso que analizase las reservas para el próximo día y marque los autos que corresponda como reservados.

Page 30: TM Guia Practica Laboratorio 2013

/ / 30

2.2.2 Actividad 2: Sistema para una Radioemisiora

Nos solicitaron hacer el análisis para el sistema de una radioemisora. El dueño nos contó que la radioemisora emite distintos programas radiales. Mensualmente él realiza la programación del mes. Establece para cada día de la semana el programa que se emitirá y en que horario. Actualmente se maneja con una grilla mensual de programación que va completando. Además existe una ficha por cada programa con los auspiciantes que tiene. Es necesario que un programa tenga al menos dos auspiciantes para poder salir al aire. Le interesa poder consultar en línea datos de un programa. Es indispensable que el sistema no le autorice a asignar un programa a la programación del mes si previamente no tiene asignados sus auspiciantes para ese mes.

La empleada administrativa de la radio nos contó que entre sus funciones está la de mantener información de los programas de la radio. De cada programa tiene el nombre, duración del programa en horas, clasificación (por ejemplo: noticiero, económico, de servicio social, etc.) y la fecha de la primer emisión al aire. También registra datos personales del personal vinculado al programa incluyendo: apellido, nombre, CUIL, numero de legajo y rol, como ser locutor, comentarista o musicalizador. Un programa puede tener ninguno, uno o más de cada uno de ellos asociados.

El empleado de relaciones publicas nos contó que el es el responsable de conseguir los auspiciantes de un mes para cada programa. Tiene algunos auspiciantes que trabajan con la radio y siempre esta buscando nuevos auspiciantes. Mantiene una planilla de calculo con los siguientes datos: nombre, razón social, domicilio y e−mail y por cada mes, programas que auspicia. Cada mes un auspiciante puede auspiciar uno, ninguno o varios programas de la radio. Dado un mes, le interesa saber todos los programas que no tienen aún sus dos auspiciantes. Quiere poder consultar dado un programa, todos los auspiciantes que ya tuvo.

2.2.3 Actividad 3: Sistema para una Bolsa de trabajo via web

Una consultora está interesada en ofrecer un nuevo servicio para que personas que buscan empleo puedan publicar sus curriculums en el sitio web de la empresa. Los interesados se clasifican en profesionales, técnicos, administrativos y estudiantes avanzados. La idea es servir como nexo entre las empresas que requieren nuevos empleados y las personas que buscan empleo.

La operatoria para publicar un curriculum requiere que previamente se llene la solicitud de ingreso, que el interesado podrá completar a través de la página oficial de la empresa. Inicialmente sólo se solicitan sus principales datos filiatorios, dirección de correo electrónico, categoría (profesional, técnico, etc.) y área de conocimiento. Una vez realizada la solicitud, el interesado deberá esperar por la autorización para ingresar su curriculum completo. Cuando esto sucede, podrá ingresar otros datos como son domicilios, fecha de nacimiento, estado civil, estudios, experiencia laboral anterior, referencias, etc. También se le consultara por si desea que sus datos estén visibles para cualquiera que consulte o sólo para las empresas autorizadas. Una vez registrado podrá actualizar los datos del curriculum, así como promover de categoría (por ejemplo de estudiante a profesional). En cualquier momento podrá solicitar que sus datos sean retirados del sitio.

El administrador del sitio tendrá la responsabilidad de autorizar las subscripciones pendientes tanto de los empleados que se ofrecen como de las empresas empleadoras. Solo se autorizara a las empresas que hayan contratado los servicios de selección de personal de la consultora. También se encargara de atender los pedidos de cerrar suscripción. Con relación a los datos completos de curriculum, los mismos son formateados a texto para publicar en internet. En todos los casos notificara al interesado por correo electrónico la confirmación de la transacción.

Los datos de los empleados estarán disponibles para consulta en dos modos: público y privado. En modo publico, a cualquier usuario de la web, seleccionando un área de interés, se mostraran nombre, apellido, dirección de correo electrónico y categoría de los anotados en el área. Sólo se

Page 31: TM Guia Practica Laboratorio 2013

/ / 31

listaran los anotados que accedieron a la consulta pública. El modo privado es exclusivo para las empresas y permite ver los datos completos de cada anotado.

2.2.4 Actividad 4: Sistema para un Estacionamiento de Parquimetro

Se desea modelar el sistema automático que registra y controla el estacionamiento con parquímetros de la ciudad de Bahía Blanca. De la recopilación de requerimientos se concluyó: Al sistema se accede desde la Casa Central, desde los Puntos de Estacionamiento (o Parquímetros) y desde las Unidades Personales de los inspectores de transito.

El empleado de ventas de la Casa Central se encarga de la venta y recarga de cospeles para estacionamiento. Cuando se vende un nuevo cospel se toman los siguientes datos: patente del automóvil y datos personales del conductor responsable (incluyendo el domicilio), a quien serán dirigidas las infracciones por mal estacionamiento. Cada cospel es único y se identifica por un numero de serie. Si un automovilista necesita una nueva carga, debe dirigirse a la Casa Central con el cospel y en ese momento se ingresa el importe de dinero a cargar, que se suma a la carga actual. Cada parquímetro tiene un numero y una dirección. En la ciudad se encuentran distribuidos dos tipos distintos de parquímetros, que se corresponden con calles donde el estacionamiento tiene tarifa común y aquellos en los cuales la tarifa es reducida. Actualmente, la tarifa en los parquímetros de estacionamiento común es 0,10$ por cada 10 minutos o fracción, mientras que enlos parquímetros de tarifas reducidas es de 0,05$. Estos valores se regulan por normas municipales.

El conductor es el responsable de abrir un nuevo estacionamiento medido y de cerrarlo cuando se retira. Como resultado de la operación de abrir un nuevo estacionamiento, el parquímetro muestra el número de patente y el tiempo máximo que puede permanecer estacionado de acuerdo con la carga actual. Al cerrar el estacionamiento, vuelve a mostrar el numero de patente, el importe gastado en el estacionamiento y el nuevo saldo. Opcionalmente, el conductor puede con un cospel registrar un estacionamiento para otro numero de patente que no es el predefinido. En este caso deber presionar el botón del parquímetro “ * ”, ingresar los datos de la nueva patente y volver a presionar el “ * ”. Los inspectores de transito recorren las calles, cargando en sus Unidades Personales los números de patente de los vehículos estacionados. Eventualmente se dirigen al parquímetro para realizar el cruce de información entre los datos que ellos cargaron y los datos de estacionamientos del cospel. Como resultado de esta operación el sistema registra todos los vehículos que deberán ser multados por infracción en el estacionamiento.

Page 32: TM Guia Practica Laboratorio 2013

/ / 32

3.

3.1Proceso de construcción

Para construir el modelo de dominio se puede seguir las siguientes actividades: Identificar las Clases conceptuales o del dominio, Identificar las asociaciones, Identificar atributos, Identificar relación de generalización y refinar el modelo.

Consideremos la siguiente descripción para realizar el modelo de dominio.

a) Identificando Clases conceptuales

producto parte vendedor cliente proveedor agenteComercial

b) Identificando Asociaciones

agenteComercial

proveedor

parte

1..n

1..n

1..n

1..n

Se compra

cliente

producto 1..n1..n 1..n1..n se forma

1..n

1..n

1..n

1..n

se vende

vendedor

c) Identificando Atributos

Una empresa recién formada se dedica a integrar partes para formar productos con la intención de vender el valor agregado de la integración. Con el objetivo de apoyar sus actividades, mediante una aplicación informática, se ha obtenido las siguientes reglas semánticas:

Un producto tiene un nombre y un precio base. Un producto se forma con muchas partes y cada parte puede formar muchos productos. La definición de cada producto especifica qué cantidad de cada parte forma a un producto dado.

Un vendedor tiene un apellido, nombre y un porcentual de comisión. Tanto un cliente como un proveedor tienen los datos de todo agente comercial; éstos son: cuit, razón social, e-mail, teléfono y dirección. Además, un proveedor tiene un plazo de pago y un cliente un porcentual de descuento.

Un parte puede ser comprado a muchos proveedores y un proveedor puede proveer muchas partes. Cada compra de un parte tiene una fecha y una cantidad. Una venta se realiza entre cualquier vendedor y cualquier cliente, y éste puede comprar cualquier producto. De una venta se quiere saber su fecha.

No se pueden vender productos que estén formados por una única parte, esto es, no se permite vender productos sin elaborar.

Page 33: TM Guia Practica Laboratorio 2013

/ / 33

agenteComercial

cuitrazSocialemailtelfdirecc

proveedor

plazoPago

parte

numPartedescripción

1..n

1..n

1..n

1..n

Se compra

cliente

porcDesc

producto

nombreprecioBase

1..n1..n 1..n1..n se forma

1..n

1..n

1..n

1..n

se vende

definición

cantidad

compra

fechacantidadventa

fecha

vendedor

apellidonombreporcComis

0..n

1

0..n

1

participa

d) Identificando relaciones de generalización

proveedor

plazoPago

agenteComercial

cuitrazSocialemailtelfdirecc

parte

numPartedescripción

1..n

1..n

1..n

1..n

Se compra

cliente

porcDesc

producto

nombreprecioBase

1..n1..n 1..n1..n se forma

1..n

1..n

1..n

1..n

se vende

definición

cantidad

compra

fechacantidadventa

fecha

vendedor

apellidonombreporcComis

0..n

1

0..n

1

participa

Page 34: TM Guia Practica Laboratorio 2013

/ / 34

3.2Actividades

3.2.1 Actividad 1: Sistema para una institución educativa

Una Institución Educativa ha decidido brindar unos cursos extracurriculares, tanto para sus alumnos como para personas externas a la Institución. Las razones para la inclusión de personas no pertenecientes a la Institución son: obtener fondos para la modernización de las instalaciones y ayudar al pago de los viáticos de los profesores invitados.

Se desea desarrollar una aplicación que permita administrar el dictado de los cursos; una primera aproximación del contexto del negocio es el siguiente:

Se brinda varios cursos. Cada curso tiene un nombre, un cupo máximo y un cupo mínimo el cual, si no se alcanza, hace que el curso no se dicte. Cada curso es dictado por un único docente y un docente puede dictar más de un curso. Cada docente tiene apellidos, nombres, cargo y una dedicación.

A cada alumno se le da un material general, independientemente de la cantidad de cursos en que se haya inscrito, además de un material particular para cada curso en el que esta inscrito. Se desea controlar si se le ha entregado, o no, tanto el material general como los materiales particulares a cada alumno.

Un alumno puede asistir a muchos cursos y cada curso debe tener una cantidad mínima de inscritos –cupo mínimo- y no sobrepasar el cupo máximo.

De los alumnos internos se debe mantener la información de apellidos, nombres y número de libreta; de los alumnos externos, apellidos, nombres, número de recibo –único para todos los cursos-, forma de pago -efectivo, cheque o tarjeta- y monto pagado.

A cada curso se le asigna una única aula que tiene un nombre, una ubicación y una capacidad. No puede asignarse un aula a un curso cuyo cupo máximo no entre en la misma.

También se desea controlar si el alumno va asistir como oyente –no se presenta a examen ni realiza prácticos- a cada curso en donde se inscribió. Esta información es útil para que el docente organize el dictado.