Curso Análisis y Diseño Orientado a Objetos usando UML Junio de 2001
ANÁLISIS Y DISEÑO DE SISTEMAS CON UML
Manual de Laboratorio
Facultad de Ingeniería Industrial y de Sistemas - UNI
1
Curso Análisis y Diseño Orientado a Objetos usando UML Junio de 2001
Prácticas de Análisis y Diseño OO usando notación UML en Rational Rose
Actividad 1 a) Con el botón derecho del ratón y estando en el navegador sobre el paquete de la Vista de Casos de Uso, haga new-package y cree un paquete que se llame Actividad 1. b) Estando sobre el paquete recién creado haga click con el botón derecho y cree dos nuevos paquetes que se llaman Ventanas y Editor, estos se crearán como paquetes dentro del paquete Actividad 1. c) Repita la operación anterior y cree los subpaquetes Motif y MSWindows como subpaquetes de Ventanas y Controlador, Dominio, Elementos, Núcleo Motif, Núcleo Windows como subpaquetes de Editor. d) 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. e) 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
Facultad de Ingeniería Industrial y de Sistemas - UNI
2
Curso Análisis y Diseño Orientado a Objetos usando UML Junio de 2001
MOTIF
MSWINDOWS
Figura 1.2: Diagrama Ventanas
ELEMENTOS
CONTROLADOR
NUCLEO WINDOWS DOMINIO
NUCLEO MOTIF
MSWINDOWS (from ventanas)
MOTIF (from ventanas)
Figura 3.3 Diagrama Editor
Facultad de Ingeniería Industrial y de Sistemas - UNI
3
Curso Análisis y Diseño Orientado a Objetos usando UML Junio de 2001
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.
Reintegro Cuenta Corriente
<<include>>
Validar Operacion Cliente <<include>>
Reintegro Cuenta Credito
Figura 2.1: Diagrama Actividad 2
Observaciones: § Los estereotipos se introducen en la especificación del símbolo de generalización (hacer doble clic sobre el símbolo para abrir su especificación) § 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)
Facultad de Ingeniería Industrial y de Sistemas - UNI
4
Curso Análisis y Diseño Orientado a Objetos usando UML Junio de 2001
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.
Reintegro
Cliente
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
Facultad de Ingeniería Industrial y de Sistemas - UNI
5
Curso Análisis y Diseño Orientado a Objetos usando UML Junio de 2001
Cajero Automatico
: Cliente
Cuenta
1: Tarjeta 2: Pantalla Nro Secreto 3: Numero 4: Validar Numero 5: Pantalla Cantidad 6: Cantidad 7: Validar Cantidad
8: Realizar Transaccion (cantidad) 9: Aviso (saldo insuficiente) 10: Pantalla Saldo Insuficiente
Figura 3.2: Diagrama Reintegro Saldo Insuficiente d) Haga Browse - Create Collaboration Diagram o presione F5 para obtener
automáticamente el Diagrama de Colaboración asociado.
Facultad de Ingeniería Industrial y de Sistemas - UNI
6
Curso Análisis y Diseño Orientado a Objetos usando UML Junio de 2001
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.
Motor
Vendedor Boletos
Piloto
1..2
1..4
1
1
n
Avion
n
Vuelo 1
n
Reserva 1
n
n
{disjunta, completa} 1
Avion Militar
Avion Comercial
Linea Aerea
{disjunta, completa} Avion Carga
Avion Pasajeros
Figura 4.1: Diagrama Actividad 4
Facultad de Ingeniería Industrial y de Sistemas - UNI
7
Curso Análisis y Diseño Orientado a Objetos usando UML Junio de 2001
Actividad 5 a) En la Vista Lógica cree el paquete Actividad 5. Dentro de este paquete cree un Diagrama de Clases que se llame Actividad 5. b) Incluya una única clase dentro de este diagrama que se llame Alumno y complete según lo mostrado en la Figura 5.1.
Alumno DNI : char[10] número_exp : int nombre : char[50] alta() poner_nota(asignatura : char *, año : int, nota : float) matricular(cursos : asignatura, año : int) listar_expediente()
Figura 5.1: Diagrama Actividad 5
Observación: Pregunte al profesor si no consigue onbtener la presentación mostrada en la Figura 5.1.
Facultad de Ingeniería Industrial y de Sistemas - UNI
8
Curso Análisis y Diseño Orientado a Objetos usando UML Junio de 2001
Actividad 6 a) En la Vista Lógica cree un paquete denominado Activida d 6. b) Asociado al paquete Actividad 6 cree el Diagrama de Clases Actividad 6 e inserte las clases Departamento y Profesor y asócielas tal como se muestra en la Figura 6.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.
Departamento
dirige
+director
0..1
Profesor
1
Figura 6.1: Diagrama Actividad 6
d) Añada una nueva asociación y un cualificador (key-Qualifiers) denominado Área de Conocimiento, tal como se indica en el Figura 6.2.
Departamento +dpto
+profesores
area conocimiento : Char* 1 0..1
dirige
Profesor
0..n
+director
1
Figura 6.2: Diagrama Actividad 6 terminado
Facultad de Ingeniería Industrial y de Sistemas - UNI
9
Curso Análisis y Diseño Orientado a Objetos usando UML Junio de 2001
Actividad 7 a) Cree el paquete Actividad 7 y dentro de él introduzca el diagrama de clases Actividad 7 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 7.1.
Empresa
empleador
trabajadores
Empleado
1..n
n
Cargo +superior nombre sueldo 0..1
+subordinado
1..n
Figura 7.1: Diagrama Actividad 7
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.
Facultad de Ingeniería Industrial y de Sistemas - UNI
10
Curso Análisis y Diseño Orientado a Objetos usando UML Junio de 2001
Actividad 8 a) Cree el paquete Actividad 8. 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 8.1 según se muestra en la Figura 8.1. d) Repita la operación para las Figuras 8.2 y 8.3.
Trabajador
{disjunta, completa}
Directivo
Obrero
Administrativo Figura 8.1: Diagrama Actividad 8.1
Vehiculo Acuatico
Vehiculo Terrestre
Velero
Camion
Vehiculo
Vehiculo Viento
Vehiculo Motor
Figura 8.2: Diagrama Actividad 8.2
Facultad de Ingeniería Industrial y de Sistemas - UNI
11
Curso Análisis y Diseño Orientado a Objetos usando UML Junio de 2001
Cuenta saldo medio > 100 000
saldo medio < 50000 {disjunta, incompleta}
Cuenta Rentable
Cuenta No Rentable
Figura 8.3: Diagrama Actividad 8.3
Facultad de Ingeniería Industrial y de Sistemas - UNI
12
Curso Análisis y Diseño Orientado a Objetos usando UML Junio de 2001
Actividad 9 a) Cree el paquete Actividad 9. b) Cree en este paquete la clase Socio en un Diagrama de Clases que se llame Actividad 9. La Figura 9.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 9.2. Para ello, desde el navegador seleccionando la clase en cuestión y con el botón derecho del ratón escoja la opción Open State Diagram.
Socio codigo : Integer nombre : Char[50] nro prestamos : Integer = 0 alta() baja() prestar(codigo libro : Integer, fecha : Date) devolver(codigo libro : Integer, fecha : Date)
Figura 9.1: Diagrama Actividad 9
alta
baja nro prestamos = 0 Sin Prestamos
devolver[ nro prestamos = 1 ]
prestar
Con Prestamos
nro prestamos > 0
prestar devolver[ nro prestamos > 1 ]
Figura 9.2: Diagrama de Estados
Facultad de Ingeniería Industrial y de Sistemas - UNI
13
Curso Análisis y Diseño Orientado a Objetos usando UML Junio de 2001
Actividad 10 a) Cree en la Vista de Componentes un paquete que se llame Actividad 10 y dibuje el diagrama que se muestra en la Figura 10.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 10.2. Una Connection representa p.e. un clable 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 10.1
Servidor Central
Gestor de Datos
Punto de Venta
Terminal de Venta
Figura 10.2
Facultad de Ingeniería Industrial y de Sistemas - UNI
14
Curso Análisis y Diseño Orientado a Objetos usando UML Junio de 2001
Actividad 11 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 11.1
PUBLICIDAD
VENTAS
INVENTARIO
CONTABILIDAD
Figura 11.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 11.2. d) Con el botón derecho sobre el diagrama llamado Main bajo el paquete Ventas renómbrelo por Ventas. e) Asociado al caso de uso Realizar Venta crear un diagrama de casos de uso llamado Realizar Venta. Hacer doble click sobre el icono que representa al diagrama recién creado e introduzca el diagrama mostrado en la Figura 11.3. f) En el navegador y bajo el paquete Ventas cree el subpaquete Tipos de Ventas y arrastre sobre él los iconos de los casos de uso Venta Normal, Venta Rebajas, Venta Ofertas. Verá que en el diagrama Realizar Venta los casos de uso aparecen etiquetados con “from Tipos de Venta”. El resultado hasta este punto puede verse en la Figura 11.4.
Facultad de Ingeniería Industrial y de Sistemas - UNI
15
Curso Análisis y Diseño Orientado a Objetos usando UML Junio de 2001
Verificar Situación Vendedor
Realizar Venta
Secretaria Cliente
Preparar Catálogo
Supervisor Establecer Crédito
Figura 11.2: Diagrama Ventas
Venta Normal
Venta en Rebajas Cliente
Vendedor
Venta en Oferta
Figura 11.3: Diagrama Realizar Ventas
Facultad de Ingeniería Industrial y de Sistemas - UNI
16
Curso Análisis y Diseño Orientado a Objetos usando UML Junio de 2001
Figura 11.4: Estado de la Práctica al terminar el paso g)
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 word con el siguiente contenido: Caso de Uso Venta Normal 1. El cliente se identifica mostrando su tarjeta y el DNI 2. El vendedor revisa los datos del cliente 3. El vendedor introduce su código de vendedor e indica al sistema que se trata de una venta normal 4. El sistema muestra la pantalla para introducir los datos de la venta 5. 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. 6. El vendedor solicita la emisión del recibo 7. 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.
Facultad de Ingeniería Industrial y de Sistemas - UNI
17
Curso Análisis y Diseño Orientado a Objetos usando UML Junio de 2001
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 - El artículo debe tener el suficiente stock para satisfacer la venta 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.
Facultad de Ingeniería Industrial y de Sistemas - UNI
18
Curso Análisis y Diseño Orientado a Objetos usando UML Junio de 2001
Actividad 12 a) Cree un nuevo modelo y renombre el diagrama Main de la Vista de Casos de Uso por Bilioteca. b) Introduzca en el Diagrama Biblioteca el modelo de la figura 12.1.
Socio
Encargado Prestar Libro
Figura 12.3: Diagrama Biblioteca
c) Cree un Diagrama de Secuencia asociado al Caso de Uso Prestar Libro y denomínelo Prestar con Éxito. Arrastre desde el navegador los actores previamente creados y complete el Diagrama de Secuencia según lo mostrado en la Figura 12.2. Los objetos utilizados en este diagrama son anónimos, es decir, sólo se indica la clase a la cual pertenecen (Libro, Ficha Socio, Ficha Libro, Ficha Préstamo) pero no tienen 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 12.3 muestra el diagrama de colaboración que se debe obtener.
Facultad de Ingeniería Industrial y de Sistemas - UNI
19
Curso Análisis y Diseño Orientado a Objetos usando UML Junio de 2001
: Socio
: Libro
: Encargado
: Ficha socio
: Ficha libro
: Préstamo
Coger libro
Solicitar préstamo Verificar situación socio Situación socio ok Verificar situación libro Situación libro ok Introducir préstamo Autorizar préstamo
Figura 12.2: Diagrama Prestar con Éxito
1: Coger libro
: Socio
: Libro
2: Solicitar préstamo
: Ficha s ocio 3: Verificar situación socio
8: Autorizar préstamo 4: Situación socio ok
6: Situación libro ok
: Encargado 7: Introducir préstamo
: Présta mo
5: Verificar situación libro : Ficha li bro
Figura 12.3: Diagrama Obtenido a partir del Diagrama Prestar con Éxito
Facultad de Ingeniería Industrial y de Sistemas - UNI
20