Está en la página 1de 43

Universidad Nacional Mayor de San Marcos

Facultad de Ingeniería de Sistemas e Informática

Desarrollo del Modelo de


Domino en RUP

Prof. César Luza Montero


cluzam@unmsm.edu.pe
Flujo de Trabajo Modelado de
Negocio
Detalle del Flujo de Trabajo:
Desarrollar Modelo de Dominio

Análisis de Sistemas: Desarrollo del Modelo de Dominio 2


Objetivos de aprendizaje
• Al final de la sesión, podrás:
▫ Elaborar el modelo de dominio de una organización en base al
conocimiento del Detalle del Flujo de Desarrollo del Modelo de
Domino del RUP, adoptando una actitud analítica y valorando el
trabajo en equipo.

Análisis de Sistemas: Desarrollo del Modelo de Dominio 3


Contenido

¿Qué es el Modelo de Dominio?

Construyendo el Modelo de Dominio

Análisis de Sistemas: Desarrollo del Modelo de Dominio 4


¿Qué es el Modelo de Dominio?
• Un Modelo de Dominio captura los tipos de objetos, más importantes,
en el contexto del negocio.
• Por ejemplo, en una compañía de fabricación podemos encontrar los
tipos de objetos siguientes.
▫ Producto, que puede ser producto catalogado o producto especial.
▫ El pedido por el cual fabricar los productos solicitados,
▫ El cliente que realizó el pedido.
▫ La plantilla de fabricación del producto,
▫ El catalogo de productos,
▫ La orden de fabricación para atender un pedido..

Análisis de Sistemas: Desarrollo del Modelo de Dominio 5


¿Qué es el Modelo de Dominio?
• El Modelo de Dominio representa las ‘cosas’ que existen o eventos
que tienen lugar en el ambiente del negocio.

Análisis de Sistemas: Desarrollo del Modelo de Dominio 6


¿Qué es el Modelo de Dominio?
• Propósito del Modelo de Dominio:
▫ Provee un marco de trabajo conceptual de «cosas» en el espacio
del problema.
▫ Provee un Glosario de Términos –basado en sustantivos
▫ Permite transmitir reglas de negocio invariantes en el tiempo

Análisis de Sistemas: Desarrollo del Modelo de Dominio 7


¿Qué es el Modelo de Dominio?
• Elementos básicos de un Modelo de Dominio:
Atributo Role
Person Asociacion Company
first name : String name
last name : String
+employee +employer
salary 1..* 0..1

Multiplicidad
+owner
<<Rule>>
If a person is not employed by a
* company then they do not have a car.
Car
type
name Clase de Dominio

Análisis de Sistemas: Desarrollo del Modelo de Dominio 8


¿Qué es el Modelo de Dominio?
• Elementos básicos de un Modelo de Dominio
• Las características siguientes permiten expresar las reglas de
estáticas para un dominio:
▫ Clases de dominio - cada clase de dominio denota un tipo de objeto.
▫ Atributos - un atributo es la descripción de un rango de valores con
nombre de un tipo especificado en una clase de dominio; cada instancia
de la clase contiene un valor propio.
▫ Asociaciones - una asociación es una relación entre dos (o más) clases de
dominio que describe los vínculos entre sus instancias de objetos. Las
asociaciones pueden tener papeles, que describe la multiplicidad y la
participación de una clase en la relación.
▫ Las normas adicionales - reglas complejas que no se pueden mostrar con
simbología se pueden mostrar con notas adjuntas.

Análisis de Sistemas: Desarrollo del Modelo de Dominio 9


¿Qué es el Modelo de Dominio?
• Clase de dominio
• Es un descriptor de un conjunto de cosas (objetos) que tienen
características comunes.
• Las clases pueden ser: -
▫ Los objetos de negocio - representan las cosas que se manipulan en el
negocio, por ejemplo, Orden.
▫ Objetos del mundo real - las cosas que el negocio no pierde de vista, por
ejemplo, Contacto.
▫ Los sucesos que acontezcan - por ejemplo, venta y pago
• Una clase de dominio tiene atributos y asociaciones con otras clases.
• Es importante dar una buena descripción a cada clase de dominio

Análisis de Sistemas: Desarrollo del Modelo de Dominio 10


¿Qué es el Modelo de Dominio?

• Clase de dominio
Definición
Símbolo
Una
Unaventa
venta
Venta representa
representaelel
hecho venta-3
hechodedeuna
una venta-1
fecha transición de
transición de
hora compra.
compra. venta-4
Sucede
Sucedeunundía
día venta-2
yyaauna hora.
una hora.

Extensión del concepto

Análisis de Sistemas: Desarrollo del Modelo de Dominio 11


Qué es el Modelo de Dominio?

Venta
fecha No son clases
hora
de dominio
imprimir()

Son artefactos software o


BaseDeDatosVentas clases software, por lo que
no forman parte del modelo
del dominio

Componente
ActiveX

Análisis de Sistemas: Desarrollo del Modelo de Dominio


Qué es el Modelo de Dominio?

Persona Nombre
nombre
apellido materno
Atributos
apellido paterno
sexo
edad
comer() Operaciones
beber()
dormir()

Juan : Persona

Análisis de Sistemas: Desarrollo del Modelo de Dominio


Qué es el Modelo de Dominio?
• Asociaciones

Alumno 1..n Pertenece a 1 Facultad

Unalumno
Un alumnopertenece
perteneceaauna
unayysolo
solouna
unafacultad,
facultad,Una
UnaFacultad
Facultadtiene
tiene
unooomás
uno másalumnos.
alumnos.

Uncliente
Un clientepuede
puedetener
tenerasociadas
asociadasmuchas
muchasOrdenes
Ordenesde
deCompra,
Compra,en en
cambiouna
cambio unaorden
ordende
decompra
comprasolo
solopuede
puedetener
tenerasociado
asociadoun
uncliente.
cliente.

Análisis de Sistemas: Desarrollo del Modelo de Dominio


Qué es el Modelo de Dominio?
• Multiplicidad
1 1
Decano Dirige Facultad
"Uno a Uno"

Aula 1 Tiene Instalado 0..1 Proyector

Carrera 1 Tiene 0..n Convenio


"Uno a Muchos"

Tiene
Laboratorio 1 1..n Computadoras

"Muchos a Muchos"
Alumno 1..n Matriculado En 1..n Asignatura

Análisis de Sistemas: Desarrollo del Modelo de Dominio


¿Qué es el Modelo de Dominio?
• Clase Asociación
▫ Es una clase que representa propiedades propias de la asociación
entre dos clases

Alumno 1..n matriculadoEn 1..n Asignatura

Matricula
Nota

Análisis de Sistemas: Desarrollo del Modelo de Dominio


¿Qué es el Modelo de Dominio
concepto u LineaDeVenta Registra-venta-de
objeto del Artículo
cantidad
dominio 0..1 1
*
1..n
asociación Contenida-en Almacenado-en
1
1 Tienda
atributos Venta dirección
tienda
fecha
hora
1 1
1 Capturada-en
Alberga

Pagada-mediante 1
1..*
Diagrama de clases simple
1 Registro
del dominio de Ventas
Pago
cantidad

Análisis de Sistemas: Desarrollo del Modelo de Dominio 17


¿Qué es el Modelo de Dominio
• Generalización
▫ Es una relación entre una clase que es subtipo de otra clase
Persona
nombre
apellido materno
apellido paterno
Superclase sexo
edad
comer()
beber()
dormir()

Estudiante Subclases Trabajador


grado profesión
colegio centro de trabajo
salario
matricular()
estudiar() trabajar()
cobrar()

Análisis de Sistemas: Desarrollo del Modelo de Dominio


¿Qué es el Modelo de Dominio?
• Generalización

Persona

Cliente Proveedor

Aumento de
abstracción

Análisis de Sistemas: Desarrollo del Modelo de Dominio


¿Qué es el Modelo de Dominio?
• Especialización

Cliente

minorista mayorista

Abstracción
descendente

Análisis de Sistemas: Desarrollo del Modelo de Dominio


¿Qué es el Modelo de Dominio?
• Agregación
▫ Es una relación entre clases partes de una clase todo
Computadora

1 1 1 0,1

Monitor Cases Teclado Mouse

CPU RAM Ventilador

Relación: subclase “es parte de” con la superclase

Análisis de Sistemas: Desarrollo del Modelo de Dominio


¿Qué es el Modelo de Dominio?

PC Agregación :
La existencia de las
partes es independiente
de la existencia del todo
(débil)

Monitor Chasis Mouse Teclado

Análisis de Sistemas: Desarrollo del Modelo de Dominio


¿Qué es el Modelo de Dominio?

Composición : Pais
La existencia de las
partes depende de la
existencia del todo.
(fuerte)

Dpto

Municipio

Análisis de Sistemas: Desarrollo del Modelo de Dominio


Contenido

¿Qué es el Modelo de Dominio?

Construyendo el Modelo de Dominio

Análisis de Sistemas: Desarrollo del Modelo de Dominio 24


Construyendo Modelo de Dominio
• Realizar las siguientes actividades en iteraciones muy cortas:
▫ Hacer una lista de clases de dominio candidatas.
▫ Dibujar estas clases en un diagrama de clases UML.
▫ Si es posible, añadir una breve descripción de las clases.
▫ Identificar todas las asociaciones que son necesarios.
▫ Decidir si algunas clases de dominio en realidad sólo son atributos.
▫ Donde sea útil, identificar los nombres de roles y multiplicidad de
asociaciones.
▫ Añadir reglas estáticas adicionales como notas de UML que no puede ser
representados con símbolos de UML.
• Concentrarse mas en la identificación de clases de dominio en las
iteraciones iniciales!

Análisis de Sistemas: Desarrollo del Modelo de Dominio 25


Construyendo Modelo de Dominio
• Identificando clases de dominio:
▫ Una manera obvia para identificar clases de dominio es identificar
los sustantivos y frases en las descripciones textuales de un
dominio.
▫ Por ejemplo, considere la descripción de casos de uso del negocio
siguiente:

1. El cliente llega a una caja con los productos a comprar.

2. El Cajero comienza una nueva venta.

3. El Cajero introduce identificador del producto.

4. El Sistema registra el detalle de venta y presenta la descripción del


producto, su precio y total acumulado.

Análisis de Sistemas: Desarrollo del Modelo de Dominio 26


Construyendo Modelo de Dominio
• Identificando atributos:
▫ Una clase de dominio suena como un atributo si: -
 Se basa en una clase asociada por su identidad –
 Por ejemplo, 'Número de orden' es una clase asociada a una clase
"orden".
 El "número de orden" suena sospechosamente como un atributo de
"orden".
▫ Un atributo es un tipo de datos simple - por ejemplo, 'Número de
orden' es un número entero simple.

Análisis de Sistemas: Desarrollo del Modelo de Dominio 27


Construyendo Modelo de Dominio
Empresa de Fabricación
▫ 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. Un
relevamiento preliminar describe los datos esenciales
de la organización con el fin de realizar un sistema
computarizado para disminuir costos y responder con
más agilidad. Se necesita realizar un diagrama de
clases.

Análisis de Sistemas: Desarrollo del Modelo de Dominio


Construyendo Modelo de Dominio
Empresa de Fabricación
▫ 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.

Análisis de Sistemas: Desarrollo del Modelo de Dominio


Construyendo Modelo de Dominio
Empresa de Fabricació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.

Análisis de Sistemas: Desarrollo del Modelo de Dominio


Construyendo Modelo de Dominio
Empresa de Fabricación
• Una parte puede ser comprada a muchos proveedores y
un proveedor puede proveer muchas partes. Cada compra
de una 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. Un vendedor tiene un apellido,
nombre y un porcentual de comisión.

Análisis de Sistemas: Desarrollo del Modelo de Dominio


Construyendo Modelo de Dominio
vendedor producto parte
nombre 1..n se forma 1..n numParte
apellido
nombre precioBase descripción
porcComis
1..n definición
1 1..n
cantidad
participa
0..n se vende compra
fecha
venta agenteComercial Se compra
cantidad
fecha cuit
razSocial
email
telf
direcc

1..n
1..n
cliente proveedor
porcDesc plazoPago

Análisis de Sistemas: Desarrollo del Modelo de Dominio


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:

Análisis de Sistemas: Desarrollo del Modelo de Dominio


Construyendo Modelo de Dominio

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.

Análisis de Sistemas: Desarrollo del Modelo de Dominio


Construyendo Modelo de Dominio

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
organice el dictado.

Análisis de Sistemas: Desarrollo del Modelo de Dominio


Empresa de transportes aéreos
La Empresa AIRTRANS, dedicada al servicio de transportes aéreos, necesita un sistema
de información para gestionar los datos de unidades, vuelos, pilotos, pasajeros y
reservas.
Después de haber dialogado con el Encargado de Vuelos se concluyó que es
responsable de Mantener datos de las unidades: el número, el tipo de avión, la fecha de
compra, el modelo, la capacidad de carga y la capacidad de pasajeros. Define 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: 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.
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.

Análisis de Sistemas: Desarrollo del Modelo de Dominio


Construyendo Modelo de Dominio
USUARIO NECESIDAD REQUISITO
Encargado de Mantener información de las El sistema debe permitir mantener (añadir, modificar,
Vuelos unidades eliminar) datos de las unidades
Encargado de
Determinar vuelos de carga El sistema debe permitir registrar los vuelos de carga
Vuelos
Encargado de El sistema debe permitir registrar los vuelos de
Definir vuelos de pasajeros
Vuelos pasajero
El sistema debe permitir mantener (añadir, modificar,
Gerente Mantener información de piloto
eliminar) datos de piloto
Ver los vuelos que ha realizado un El sistema debe permitir consultar Dado un piloto los
Gerente
piloto en un periodo de tiempo vuelos que ha realizdo en un periodo
Empleado de El sistema debe permitir mantener datos de los
Mantener información de pasajeros
ventas pasajeros
Empleado de El sistema debe permitir registrar reserva de vuelos
Registrar las reservas de vuelos
ventas por pasajero
Empleado de
Confirma reserva de vuelo El sistema debe permitir confirma vuelos reservados
ventas
Empleado de Reporte de los pasajeros que
El sistema debe emitir reporte de pasajeros por vuelo
ventas tomaron vuelo
37
Análisis de Sistemas: Desarrollo del Modelo de Dominio
Construyendo Modelo de Dominio

Describir casos de uso


Nombre C.U.S. Consultar Vuelos por Piloto
Actor Gerente
Precondición El usuario ha sido admitido en el sistema con el rol de Gerente
Poscondición El sistema ha mostrado los vuelos realizados por piloto
Flujo Básico
1. 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 Alternativos
Imprimir
En 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.

Análisis de Sistemas: Desarrollo del Modelo de Dominio


Construyendo Modelo de Dominio

Registrar vuelo de carga


Mantener información de unidades
Encargado de
vuelos

Registrar vuelo de pasajeros

Consultar vuelos por pilotos


Gerente
Mantener información de pilotos

Mantener informacion de pasajeros


Registrar reservas de vuelo
Empleado de
ventas

Consultar pasajeros que tommaron


vuelo
Registrar confirmación de vuelo

Análisis de Sistemas: Desarrollo del Modelo de Dominio


Agencia de alquiler de autos
Se desea hacer un sistema para una agencia de alquiler de autos. Los usuarios
del sistema son: Empleado de atención al publico, Encargado de autos, Dueño de
la agencia.
Inicialmente entrevistamos al dueño de la agencia, que fue quien impulsó el
proyecto. El está especialmente interesado en tener control sobre los gastos de la
empresa. Le interesa poder obtener del sistema información del tipo: Dado un
intervalo de tiempo, todas las reparaciones realizadas por un monto superior al
que el 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 busca si
existe un vehiculo disponible. Una vez que el cliente seleccionó un coche
actualiza la ficha con el nuevo alquiler: fecha del alquiler, cantidad de días por los
que se alquila, importe del alquiler y kilometraje del vehiculo al momento de ser
alquilado. Debe ser cuidadoso en no autorizar alquileres a clientes que no
devolvieron en termino o en buen estado el vehículo que se les prestó.
Técnicas de Modelamiento: Presentación 40
Análisis de Sistemas: Desarrollo del Modelo de Dominio
Agencia de alquiler de autos
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 publico 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. En el caso que el tanque de nafta
no este lleno se le cobra un plus. Le gustaría poder consultar los autos mas
alquilados.

Técnicas de Modelamiento: Presentación 41


Análisis de Sistemas: Desarrollo del Modelo de Dominio
Agencia de alquiler de autos
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 tomara los datos del cliente, la fecha del alquiler, días por los que se va a
alquilar y vehiculo 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.
 
.

Técnicas de Modelamiento: Presentación 42


Análisis de Sistemas: Desarrollo del Modelo de Dominio
Preguntas ?

Técnicas de Modelamiento: Presentación 43


Análisis de Sistemas: Desarrollo del Modelo de Dominio

También podría gustarte