ModeloConceptual
Transcript of ModeloConceptual
-
8/3/2019 ModeloConceptual
1/48
Modelo ConceptualExtension
-
8/3/2019 ModeloConceptual
2/48
Criterio para las clases anlisis delproblema:
Un recurso que es algunas veces usadopor un actor. Puede ser adquirido,mantenido, usado, posible construido yvendido. Usando este simple criterio lossiguientes elementos vienen a ser buenoscandidatos para clases de dominio del
problema:ActoresSuministros y Materiales
Productos
Registros de transacciones, como adquisicin,
ventas, mantenimiento y disposicin.
Anlisis Del Problema
-
8/3/2019 ModeloConceptual
3/48
Ejemplo de tienda de flores que clase decosas podran ser buenas clases deldominio del problema de una tienda deflores?
Actores: Tomador de orden, Floristas,Conductores, personas de ventas, tenedorde libros.
Suministros y materiales: Flores, Papel,vasos, alambre, tarjetas y asi.
Anlisis Del Problema
-
8/3/2019 ModeloConceptual
4/48
Productos: arreglos de flores,artculos de regalo.
Registros: Ordenes, despachos,recepcin de ventas, factura delcliente, factura del proveedor.
Anlisis Del Problema
-
8/3/2019 ModeloConceptual
5/48
La pregunta clave es podr elusuario reconocer estos objetos?
podra usar la tienda de florestodos estos objetos an si no seescribiera software?
Anlisis Del Problema
-
8/3/2019 ModeloConceptual
6/48
Identificar Clases y objetos
Inspeccin gramatical a partir delvocabulario del dominio del problema.
1. Encontrar nombres Leer ladeclaracin del problema y ladocumentacin asociada y destaque losnombres, sustantivos. Los sustantivos setransforman en clases u objetos oatributos, o valores de atributos. De igualforma los verbos revelan operaciones uasociaciones.
Anlisis Del Problema
-
8/3/2019 ModeloConceptual
7/48
Anlisis Del ProblemaTexto Elemento del Modelo
Sustantivo Objeto (til como data de prueba
ClaseAtributo
Valor de Atributo
Verbo Asociacin
Operacin
Evento
Adjetivo Estado
-
8/3/2019 ModeloConceptual
8/48
2. Evale los nombres (sustantivos) parahallar las clases: Algunas preguntas:
Es el trmino necesario dentro del alcance delproyecto?
Si es as, El nombre califica como recurso deldominio del problema? Pensar en el nombre declase apropiado para el recurso del dominio al
cual se refiere el nombre. De otro modo, el nombre es un ejemplar de
clase, por ejem. Un objeto, una instancia de unaclase? escriba este hecho para referirlocuando se necesite data de prueba.
Anlisis Del Problema
-
8/3/2019 ModeloConceptual
9/48
De otro modo, es el nombre un atributode una clase?, de que clase?.Escrbalo.
De otro modo, el nombre es un ejemplarde atributo, un valor de atributo escribaeste hecho para referirse a el cuandonecesite data de prueba.
Asegrese de concordar los trminos.Frecuentemente encontrar sinnimos.
Anlisis Del Problema
-
8/3/2019 ModeloConceptual
10/48
3. Defina el propsito Describaporque la clase es un recursonecesario del dominio del problema.
Ejem. nuestro auditorio es utilizadopor tipos diferentes de eventos.Algunos eventos son de una sola vez,tales como juego de Basquet. Otros
eventos comprenden una nmero depresentaciones como obras oconciertos
Anlisis Del Problema
-
8/3/2019 ModeloConceptual
11/48
Anlisis Del ProblemaTrminos No es clase Clase Propsito ClaseAuditorio Auditorio El lugar donde se llevan a
cabo los eventos y para loscuales se venden boletos
Evento Evento Una actuacin negociada porel planeador de eventos yllevada a cabo en una o maspresentaciones.
JuegoBsquet
tipo de evento
Presentacin Presentacin Un simple presentacin deun evento
Obra Tipo de evento
Concierto Tipo de evento
-
8/3/2019 ModeloConceptual
12/48
Notacin del diagrama de clases
En el compartimiento de nombre de laclase se coloca el nombre, un estereotipo
opcional y propiedad opcionales. Elestereotipo va enmarcado por ().Los estereotipos se pueden usar paralimitar el rol de la clase en el modelo.
Ejem, basado en el patrnde diseo Factory e paralas interfaces Java o interfaces deusuario.
Anlisis Del Problema
Cliente
-
8/3/2019 ModeloConceptual
13/48
El compartimiento de atributosimplemente lista los atributos. El ordende la lista no interesa.
Anlisis Del Problema
-
8/3/2019 ModeloConceptual
14/48
Compartimiento de Operaciones.Anlisis Del Problema
-
8/3/2019 ModeloConceptual
15/48
Notacin del diagrama de clases
Una clase se puede comunicar con otraclase que conozca, con la cual estasociada. Se usa una lnea entre lasdos clases. Nombre de la asociacin generalmente
un verbo en activo que describe la relacin
entre las dos. Ej. posee, abre. Multiplicidad el nmero de objetos de
cada clase que participan en la relacin.
Anlisis Del Problema
-
8/3/2019 ModeloConceptual
16/48
Multiplicidad:
Asterisco (*) no hay lmite inferior nisuperior.
Asterisco (*) usado en rangos (1..*) no haylmite superior
Los puntos (..) indican rango.
Valores separados por comas son listasenumeradas de valores.
Anlisis Del Problema
-
8/3/2019 ModeloConceptual
17/48
Multiplicidad - Ejemplos
A B
11
C D0..*1
E F
1..*1
G H
41
I J
4..61
K L
2,4,61
M N
0..*1..*
1 1
1
1
1
1
1
1..*
0..*
1..*
4
4..6
0..*
2,4,6
Anlisis Del Problema
uno uno
uno
uno
uno
uno
uno
Uno o mas
Cero o mas
Uno o mas
cuatro
Seis a diez inclusive
Dos o cuatro o seis
Cero o mas
-
8/3/2019 ModeloConceptual
18/48
Roles y restricciones: Cuando es difcil definiruna asociacin una solucin puede ser utilizarroles. El rol de una clase con respecto a otra. Se
pueden agregar restricciones (constraints)usando la notacin estndar. Ejem. Un clientepuede colocar cero o mas rdenes, pero unaorden no puede existir a menos que un cliente la
coloque. Los clientes que colocan ordenes sonclientes preferentes. Las ordenes que elloscolocan tienen prioridad.
Anlisis Del Problema
-
8/3/2019 ModeloConceptual
19/48
Cliente Orden
0..*1
coloca+Orden con prioridad+Cliente Preferido
1 0..*
{El valor combinado no puedeexceder el limite de crdito
del cliente}
Anlisis Del Problema
Asociacin rol
Nombre asociacionClaseRestricciones : opcionalMultiplicidad : requerida
-
8/3/2019 ModeloConceptual
20/48
Ejem. Un cliente selecciona un sitioque le interesa y el sistema coloca el
sitio en separado para el cliente.
Anlisis Del Problema
Cliente
Separa
Asiento
-
8/3/2019 ModeloConceptual
21/48
Modelado bsico : Multiplicidad
Cuantos objetos de esta clase
pueden estar asociados con cadaobjeto de la otra clase? Y viceversa.
Otra forma es leer la asociacinempezando de uno siempre.
Anlisis Del Problema
-
8/3/2019 ModeloConceptual
22/48
Ejem. cuntos asientos pueden serseparados por un cliente? y -cuntos clientes pueden separar el
mismo sitio?
Anlisis Del Problema
Cliente
0..*
Separa
Asiento
0..*
-
8/3/2019 ModeloConceptual
23/48
En el ejemplo no mas de un clientepuede separar un asiento al mismotiempo
Cliente
0..1
0..*
0..1
Separa
0..*
Asiento
Anlisis Del Problema
-
8/3/2019 ModeloConceptual
24/48
Restricciones Ejem.Anlisis Del Problema
Cliente
0..1
{Solo uno a la vez}
0..*
0..1
Separa
0..*
Asiento
Cliente
0..*
0..*
0..*
{Histricamente}
Separa
0..*
Asiento
-
8/3/2019 ModeloConceptual
25/48
Agregacin necesita igual lamultiplicidad en ambos lados de laasociacin.
Anlisis Del Problema
PlanEvento Asiento0..*0..* 0..*0..*
-
8/3/2019 ModeloConceptual
26/48
Mltiples niveles deagregacin dentro delmismo objeto.
Transmisin
Auto
1
1
Carburador Piston Bujia
Motor
1
1
1
1
1
8
1
8
....
1
11
1
1 11
1 8 8
Usando Agregacin
-
8/3/2019 ModeloConceptual
27/48
Identificar una agregacin buscarpalabras y frases en la declaracin
del problema: Ensamble
Parte de
Consiste de
Esta compuesto de
Usando Agregacin
-
8/3/2019 ModeloConceptual
28/48
La composicin es equivalente acontainment by value. En el CASE
seleccionar dicha opcin para queaparezca el diamante slido.
Modelando Composiciones
PresentacionEvento
1..1 0..*1..1 0..*
-
8/3/2019 ModeloConceptual
29/48
Modelando ComposicionesAgregacin Composicin
La multiplicidad debe estar en ambos
lados de la asociacin
La multiplicidad queda implcita en el
lado del objeto compuesto.
La multiplicidad se debe poner en ellado de las partes que componen.
Las partes pueden existir an si elobjeto agregado es destruido odesemsamblado.
Las partes se pueden mover de unagregago a otro.
Las partes no existen si el compuestoes destruido o desemsamblado.
Las partes no se pueden moverdesde un compuesto a otro.
-
8/3/2019 ModeloConceptual
30/48
Agregacin - ComposicinCursoCustomizado
Ejercicio
TablaDeContenido
1
1
1
1
Leccin
1..*
1..*
1..*
1..*
1..*
0..*
1..*
0..*
1..*1..*1..* 1..*
Referencia a
-
8/3/2019 ModeloConceptual
31/48
Agregacin - Composicin
Ejercicio
TablaDeContenido Leccin
0..*
1
0..*
1
1 1..*1 1..*
Referencia a
CursoFijo
1
1
1
1..*
1
1
1
1..*
-
8/3/2019 ModeloConceptual
32/48
Ejemplo de Generalizacin
Modelando
Generalizaciones
Para definir un objeto cliente:1. Cual tipo de objeto cliente:
Privado o corporativo.2. Combinar la definicin de la
clase cliente base con ladefinicin de claseClientePrivado
-
8/3/2019 ModeloConceptual
33/48
Un cliente tiene nombre, direccin ylmite de crdito; un cliente privado
usa tarjetas pero un clientecorporativo usa un proceso de ordende compra y no tiene tarjetas. Losclienetes corporativos requieren un
nombre de contacto para manejar losproblemas que tengan que ver con lacuenta.
ModelandoGeneralizaciones
-
8/3/2019 ModeloConceptual
34/48
ModelandoGeneralizaciones
Superclase
Subclases
Icono generalizacin
Lnea generalizacin
Discriminador
-
8/3/2019 ModeloConceptual
35/48
Buscar frases:
Clase de / Tipo de : Soportamos tres
tipos de profesores ... Igual .. Pero: El estado z es igual al
estado J pero con diferentescalificaciones
Parecido ... Pero.
ModelandoGeneralizaciones
-
8/3/2019 ModeloConceptual
36/48
Asociacion recursiva o reflexiva.
Asociaciones avanzadas
Empleado
0..1
0..*
0..1
0..*
+Supervisor
+Subordinado
Empleado
0..1
0..*
0..1
0..*
Supervisa
Usando Roles Usando Nombre de Asociacin
-
8/3/2019 ModeloConceptual
37/48
Clase Asociativa
Son usadas para identificar
informacin acerca de una asociacin.
Asociaciones avanzadas
-
8/3/2019 ModeloConceptual
38/48
Revisar si es necesario mantenerinformacin acerca de la asociacin.
Asociaciones avanzadas
CartaAsientosPresentacin Asiento
0..*0..*
Ofrece
0..* 0..*
-
8/3/2019 ModeloConceptual
39/48
Identifique la informacin que necesitamantener. Pueden ser atributos y/ooperaciones.
Asociaciones avanzadas
-
8/3/2019 ModeloConceptual
40/48
Implementacin de una claseasociativa
Asociaciones avanzadas
-
8/3/2019 ModeloConceptual
41/48
Ejemplo : Caso CEPER
Modelo conceptual dominio :
Verificar si el cliente es nuevo
Registrar la llamada del cliente
Registrar una solicitud de venta Crear una cuenta para el Cliente
Verificar el Stock y el Crdito del cliente
Acordar precio
Solicitar corte de producto a produccin Emitir una factura y gua de entrega
Trasladar el producto al cliente
-
8/3/2019 ModeloConceptual
42/48
Registrar solicitud decompra de produccin
Evaluar solicitud de compra de produccin
Emitir solicitud de cotizacin a proveedores Registrar la muestra y propuesta del proveedor
Evaluar y registrar resultados del anlisis demuestra del insumo
Registrar y emitir la orden de compra y contrato Registrar el ingreso de Insumos en almacn.
Ejemplo : Caso CEPER
-
8/3/2019 ModeloConceptual
43/48
Ejemplo : Caso CEPERModeloConceptualDominio
-
8/3/2019 ModeloConceptual
44/48
Ejemplo : Caso CEPER
Modelo Con
multiplicidades
-
8/3/2019 ModeloConceptual
45/48
Diagrama de clases
-
8/3/2019 ModeloConceptual
46/48
El diagrama de clases anterior modela laorden de compra de un cliente. La claseprincipal es Orden (Order), asociada con el
Cliente (Customer) que hace la compra yel Pago (Payment). Un pago es uno de trestipos: Efectivo (Cash), Cheque (Check) oCrdito (Credit). Al orden contiene el
detalle de la orden (OrderDetail), cada unaasociada con un Artculo (Item).
Diagrama de clases
-
8/3/2019 ModeloConceptual
47/48
Multiplicidad es el nmero deinstancias (ejemplares, ocurrencias)
de una clase asociada con otra clasea travs del vnculo.
0..1 : Cero o una instancia.
0..* * : cero o muchas (sin
lmite)
1 : Exactamente una
1..* : al menos una instancia
Diagrama de clases
-
8/3/2019 ModeloConceptual
48/48
Diagrama de paquetes