Está en la página 1de 17

6.

MODELO CONCEPTUAL
Un modelo conceptual explica los conceptos significativos en un dominio del problema,
identificando los atributos y las asociaciones, y es la herramienta más importante del
análisis orientado a objetos.

Los casos de uso son una importante herramienta para el análisis de requerimientos, pero
realmente no están orientados a objetos. Un modelo conceptual representa cosas del
mundo real, no componentes del software.

En UML se representa mediante un grupo de diagramas de estructura estática donde no


se define ninguna operación.

En estos diagramas se muestran:

• conceptos (tipos de objetos),

• asociaciones entre conceptos (relaciones) y

• atributos de conceptos (atributos).

La siguiente figura muestra un modelo conceptual parcial del dominio del ejemplo que
se está desarrollando – Ventas en una Tienda.

M
ME ETTO OD DO OLLO OG GÍÍA AD DE
ELL EESSTTU
UDDIIO
OD DEE SSIISSTTE
EMMA
ASS
A P U NT E S O R IE
APUNTES ORIENTACIÓN A OBJETOS NT A C IÓ N A O B J E TO S
A
Annííbbaall JJ.. C
Caalllliiggoo
V
V..11..11
Un modelo conceptual es una descripción del dominio de un problema real, no es una
descripción del diseño del software. Debido a esto, no es conveniente aquí incluir
elementos como ventanas o bases de datos.

En el dominio real de comprar productos en una tienda usando una terminal de punto
de venta (TPDV), intervienen tres conceptos principales: tienda, TPDV y una venta.

Por lo general es mejor exagerar un poco y especificar un modelo conceptual con


muchos conceptos. Esto debido a que es frecuente omitir conceptos durante el
análisis, y al descubrirlos más tarde, es más difícil incorporarlos.

6.1 Conceptos ( Tipos de Objetos) –


6.1.1 Estrategias para identificarlos.

6.1.1.1 A partir de frases nominales

M
ME ETTO OD DO OLLO OG GÍÍA AD DE
ELL EESSTTU
UDDIIO
OD DEE SSIISSTTE
EMMA
ASS
A P U NT E S O R IE
APUNTES ORIENTACIÓN A OBJETOS NT A C IÓ N A O B J E TO S
A
Annííbbaall JJ.. C
Caalllliiggoo
V
V..11..11
Una técnica muy útil consiste en identificar frases nominales (sustantivos) en las
descripciones textuales del domino del problema ( Casos de Uso) y considerarlas
conceptos o atributos.

Hay que tener en cuenta que no es posible establecer una correspondencia en forma
automática entre sustantivo y concepto y que además las expresiones en lenguaje
natural son ambiguas.

Una frase nominal puede determinar:


• Un Objeto.
• La descripción del estado de un objeto.
• Una Entidad Externa o Actor.
• Ninguna de estas cosas.

Cuando uno subraya una frase o sustantivo como candidatos a definir un concepto
debe tener presente que:
• Varios términos pueden referirse a un mismo objeto.
• Un mismo término puede referirse a varios objetos
• El lenguaje natural es muy ambiguo

Dependiendo del estilo de escritura del autor del caso de uso, tener en cuenta que
un sustantivo puede ser “verbalizado” y un verbo “sustantivado”. P.ej: vendido por
venta; registración por registrar,

La lista de objetos obtenida debe ser “filtrada”. Toda frase debe ser considerada en
el contexto del domino del problema, no por si misma.

Aplicación al caso de uso: Comprar Productos

Caso de uso:Comprar productos


Actores: Cliente (iniciador), Cajero.
Propósito: Capturar una venta y su pago .
Resumen: Un Cliente llega a la caja registradora con artículos que desea comprar. El
Cajero registra los productos y recibe un pago, que puede ser autorizado. Al
terminar la operación, el Cliente se marcha con los productos comprados.
Tipo: Primario y esencial.
Referencias Funciones: R1.1, R1.2, R1.3, R1.7, R1.9, R2.1, R2.3, R2.4.
cruzadas:

M
ME ETTO OD DO OLLO OG GÍÍA AD DE
ELL EESSTTU
UDDIIO
OD DEE SSIISSTTE
EMMA
ASS
A P U NT E S O R IE
APUNTES ORIENTACIÓN A OBJETOS NT A C IÓ N A O B J E TO S
A
Annííbbaall JJ.. C
Caalllliiggoo
V
V..11..11
SECCIÓN PRINCIPAL.

Curso normal de los eventos


Acción de los Actores Respuesta del sistema
1.- Este caso de uso comienza
cuando un Cliente llega a la
caja TPDV con productos que
desea comprar.
2.- El Cajero registra los 3.- Determina el precio del producto y agrega la
productos. información sobre él a la transacción de venta.
Si hay más de un producto Se muestran la descripción y el precio del
puede introducir la cantidad. producto ingresado.
4.- Al terminar la captura de los 5.- Calcula y presenta el total de la venta.
productos, el Cajero indica al
TPDV que terminó la captura
de los productos.
6.- El cajero le indica el total al
Cliente.
7.- El Cliente escoge la forma de
pago:
a. Si paga en efectivo, ir a la
sección Pagar en efectivo.
b. Si paga con tarjeta de
crédito, ir a la sección
Pagar con tarjeta de
crédito.
c. Si paga con cheque, ir a la
sección Pagar con cheque.
8.- Registrar la venta terminada-
9.- Actualizar inventario.
10. Generar e imprimir recibo.
11.- El cajero entrega el recibo al
Cliente.

6.1.1.2 A partir de una lista de categorías de conceptos

La siguiente lista muestra un conjunto de conceptos idóneos para ser incluidos en el


modelo conceptual.

Categoría del concepto Ejemplos

M
ME ETTO OD DO OLLO OG GÍÍA AD DE
ELL EESSTTU
UDDIIO
OD DEE SSIISSTTE
EMMA
ASS
A P U NT E S O R IE
APUNTES ORIENTACIÓN A OBJETOS NT A C IÓ N A O B J E TO S
A
Annííbbaall JJ.. C
Caalllliiggoo
V
V..11..11
Objetos físicos o tangibles TDPV, Dado
Especificaciones, diseño o descripciones de
Especificació ndeProducto, ReglasdeJuego
cosas
Lugares Tienda, MesadeJuego
Transacciones Venta, Pago, Reservación, Apuesta
Línea o renglón de un elemento de
VentasLineadeProducto
transacciones
Rol de las personas Cajero, Gerente, Jugador
Contenedores de otras cosas Tienda, Cesto, Biblioteca
Cosas dentro de un contenedor Producto, Libro
Otros sistemas de cómputo o
SistemaAutorizacionTarjetasdeCredito
electromecánicos externos al sistema
Conceptos de nombres abstractos Hambre, Suerte
Organizaciones DepartamentodeVentas, LineaAerea
Venta, Robo, Junta, Vuelo, Accidente,
Eventos
RodarDados
Procesos
A menudo no están representados como VentaUnProducto, ReservacionAsiento
conceptos, pero pueden estarlo)
PoliticadeReembolso,
Reglas y políticas
PoliticadeCancelaciones
Catálogos CatalogodeProductos, CatalogodeLibros
Registros de finanzas, de trabajo, de
Recibo, Mayor, ContratodeEmpleo
contratos, de asuntos legales
Instrumentos y servicios financieros LineadeCredito, Existencia
Manuales y libros ManualdePersonal, ManualdeReparaciones

M
ME ETTO OD DO OLLO OG GÍÍA AD DE
ELL EESSTTU
UDDIIO
OD DEE SSIISSTTE
EMMA
ASS
A P U NT E S O R IE
APUNTES ORIENTACIÓN A OBJETOS NT A C IÓ N A O B J E TO S
A
Annííbbaall JJ.. C
Caalllliiggoo
V
V..11..11
6.1.1.3 Conceptos para el dominio del ejemplo punto de venta

A partir de esta lista de categorías de conceptos y del análisis de frases nominales


podemos generar un conjunto de conceptos para nuestro problema del punto de
venta:

TDPV EspecificaciondeProducto
Producto VentasLineadeProductos
Tienda Cajero
Venta Cliente
Pago Gerente
CatalogodeProductos

¿Se debería incluir el recibo que imprime el punto de venta? Este recibo es un
informe del sistema, y dado que toda su información proviene de otros objetos, no
es necesario incluirlo. Sin embargo, es posible que en una etapa posterior (por
ejemplo cuando se implemente devolver productos) se justifique su inclusión.

Por tanto, el modelo conceptual inicial del sistema de punto de venta (sin incluir
atributos ni asociaciones) y considerando los casos de uso definidos en el Capitulo
5, tendría el siguiente aspecto:

6.2 Guía para la construcción del Modelo Conceptual

6.2.1 Pasos a seguir


a) Listar todos los conceptos ( tipos de objetos ) relevantes a partir de
la Lista de Categoría de Conceptos y la identificación de la frase
M
ME ETTO OD DO OLLO OG GÍÍA AD DE
ELL EESSTTU
UDDIIO
OD DEE SSIISSTTE
EMMA
ASS
A P U NT E S O R IE
APUNTES ORIENTACIÓN A OBJETOS NT A C IÓ N A O B J E TO S
A
Annííbbaall JJ.. C
Caalllliiggoo
V
V..11..11
nominal relacionada con los requerimientos en cuestión ( caso de
uso ).
b) Dibujarlos en un modelo conceptual.
c) Incorporar las asociaciones necesarias para registrar las relaciones.
d) Agregar los atributos necesarios para cumplir con las necesidades
de información.

6.2.2 Asignación de nombres y modelado de las cosas


a) Utilizar el vocabulario del dominio cuando se asignan nombres a
los objetos y atributos.
b) Excluir todo aquello que no este relacionado con los
requerimientos.
c) Excluir todo aquello que no sea relevante.

6.2.3 Concepto ( tipo de objeto ) o atributo

Uno de los problemas más frecuentes al crear modelos conceptuales, es


representar algo como un atributo, cuando debería haber sido un concepto
aparte. Una regla práctica para evitar esto es: si en el mundo real no
consideramos algún concepto X como número o texto, probablemente X sea
un concepto y no un atributo.

Por ejemplo, en un dominio de reservaciones en líneas aéreas, ¿el Destino


debería ser un atributo de Vuelo u otro concepto?

En el mundo real, un aeropuerto de destino no se considera número ni texto,


por lo que debería ser un concepto.

Sugerencia: En caso de duda, convierta el atributo en un concepto


independiente.

6.2.4 Especificación o Descripción de Conceptos


Otro problema común, es incluir atributos con multiplicidad mayor que 1. Por
ejemplo. Supongamos que Producto representa el tipo de objeto Auto cuyos

M
ME ETTO OD DO OLLO OG GÍÍA AD DE
ELL EESSTTU
UDDIIO
OD DEE SSIISSTTE
EMMA
ASS
A P U NT E S O R IE
APUNTES ORIENTACIÓN A OBJETOS NT A C IÓ N A O B J E TO S
A
Annííbbaall JJ.. C
Caalllliiggoo
V
V..11..11
números de serie son distintos el cada instancia, pero la especificación es la
misma.

En este cado deberíamos crear un concepto Especificación que tiene la


ventaja de permanecer ( persistir ) aunque no haya existencia de Producto.

6.3 Agregación de Asociaciones


Una asociación es una relación entre dos conceptos que indica alguna conexión
significativa entre ellos.

Las asociaciones útiles a determinar, suelen incluir el conocimiento de una


relación que ha de preservarse por algún tiempo: puede tratarse de
milisegundos o de años (según el contexto). Por ejemplo, ¿debemos recordar
cuales instancias de VentasLineadeProducto están asociadas a Venta? Claro
que si, porque de lo contrario no sería posible reconstruir la venta, imprimir la
boleta ni calcular el total de la venta. Por otra parte, ¿necesitamos recordar una
relación entre una Venta y Gerente? Probablemente no es indispensable ni útil
dentro del contexto de nuestros requerimientos.

Una asociación se representa como una línea entre conceptos, con el nombre de
la asociación.

La asociación es intrínsecamente bidireccional, es un posible nexo lógico entre


los objetos. Este nexo es totalmente abstracto, no es una afirmación sobre las
conexiones entre las entidades del software.

Los extremos de una asociación pueden contener una expresión de


multiplicidad que indica la relación numérica entre las instancias de los

M
ME ETTO OD DO OLLO OG GÍÍA AD DE
ELL EESSTTU
UDDIIO
OD DEE SSIISSTTE
EMMA
ASS
A P U NT E S O R IE
APUNTES ORIENTACIÓN A OBJETOS NT A C IÓ N A O B J E TO S
A
Annííbbaall JJ.. C
Caalllliiggoo
V
V..11..11
conceptos. Opcionalmente se puede poner una flecha que indique la dirección
en que debe leerse el nombre de la asociación (no indica nada más, es sólo una
ayuda para leer el diagrama).

6.3.1 Identificación de las asociaciones. Lista de las más


comunes

Para identificar las asociaciones má s comunes, la siguiente lista es de gran ayuda.

Categoría de la asociación Ejemplos


A es una parte física de B Caja-TPDV
VentasLíneadeProducto-
A es una parte lógica de B
Venta
TPDV-Tienda, Producto-
A está físicamente contenido en B
Estante
DescripcióndeProducto-
A está contenido lógicamente en B
Catálogo
DescripcióndeProducto-
A es una descripción de B
Producto
A es un elemento de línea (o renglón) en una transacción o VentasLíneadeProducto-
reporte B Venta
A se conoce/introduce/registra/presenta/captura en B Venta-TPDV
A es miembro de B Cajero-Tienda
A es una unidad organizacional de B Departamento-Tienda
A usa o dirige a B Cajero-TPDV
A se comunica con B Cliente-Cajero
A se relaciona con una transacción B Pago-Venta
A es una transacción relacionada con otra transacción B Pago-Venta
A es propiedad de B TPDV-Tienda

M
ME ETTO OD DO OLLO OG GÍÍA AD DE
ELL EESSTTU
UDDIIO
OD DEE SSIISSTTE
EMMA
ASS
A P U NT E S O R IE
APUNTES ORIENTACIÓN A OBJETOS NT A C IÓ N A O B J E TO S
A
Annííbbaall JJ.. C
Caalllliiggoo
V
V..11..11
Las asociaciones más importantes son las siguientes:

• A es una parte física o lógica de B


• A está física o lógicamente contenido en B
• A está registrado en B

Las asociaciones son importantes, pero no se debe dedicar tiempo excesivo a ellas. Es más
importante identificar los conceptos que las asociaciones. Muchas asociaciones tienden a
confundir el modelo conceptual, en vez de aclararlo. Se pueden incorporar las que se indican
en los casos de uso, y las que se consideren necesarias para un adecuado entendimiento del
problema.

6.3.2 Multiplicidad

La multiplicidad define cuántas instancias de un tipo A pueden asociarse a una


instancia del tipo B en determinado momento. Las expresiones de multiplicidad son
las siguientes:

* cero o más, muchos


1..* uno o más
1..40 de uno a cuarenta
5 exactamente cinco
2,4,6 exactamente dos, cuatro o seis

6.4 Generalización
La generalización es una relación que refleja propiedad de herencia entre dos
elementos del modelo. En particular en el caso de Conceptos ( o tipos de objetos)
permite a un concepto heredar atributos y operaciones de otro.

Para la construcción del modelo conceptual se deberán identificar los aspectos


comunes de los conceptos y definir las relaciones entre el concepto general
(supertipo) y el concepto especializado (subtipo).

La utilización de este esquema ayuda a entender aquellos conceptos complejos,


simplificando su expresión y facilitando su comprensión y comunicación.

M
ME ETTO OD DO OLLO OG GÍÍA AD DE
ELL EESSTTU
UDDIIO
OD DEE SSIISSTTE
EMMA
ASS
A P U NT E S O R IE
APUNTES ORIENTACIÓN A OBJETOS NT A C IÓ N A O B J E TO S
A
Annííbbaall JJ.. C
Caalllliiggoo
V
V..11..11
Pago
monto:cantidad

Pago en Pago con Pago con


efectivo tarjeta cheque

6.4.1 Definición de supertipos y de subtipos


• La definición de un supertipo es más general o amplia que la del
supertipo.
• Todos miembros de un conjunto de subtipo pertenecen al respectivo
conjunto de supertipo.

6.4.2 Reglas de Conformidad


• Regla de Conformidad con la definición ( regla del 100%)
“El 100% de la definición del supertipo debería aplicarse al subtipo.
El subtipo ha de conformar con el supertipo el 100% de:
§ Atributos
§ Asociaciones

• Regla de Conformidad con la pertenencia a un conjunto.


Se aplica la regla de “Un subtipo es un supertipo”.
Ej. Un Pago en Efectivo es un Pago.

6.4.3 Subtipo correcto


Un subtipo correcto debe superar la siguiente prueba:
a) La regla del 100%
b) La regla es-un.

6.4.4 Cuando definir un subtipo


• El subtipo tiene atributos adicionales de interés.
• El subtipo tiene asociaciones adicionales de interés.
• Se opera sobre el subtipo de un modo diferenta a como se haría con el
supertipo.

M
ME ETTO OD DO OLLO OG GÍÍA AD DE
ELL EESSTTU
UDDIIO
OD DEE SSIISSTTE
EMMA
ASS
A P U NT E S O R IE
APUNTES ORIENTACIÓN A OBJETOS NT A C IÓ N A O B J E TO S
A
Annííbbaall JJ.. C
Caalllliiggoo
V
V..11..11
• El subtipo se comporta de una manera distinta al supertipo o a otro
subtipo en aspectos que resultan relevantes.

6.5 Agregación
La agregación es una relación con la que se modelan las relaciones parte-todo
entre las cosas.
Al todo se lo llama compuesto; en cambio a las partes se las denomina como
parte o componente.

Equipo Jugadores

Agregación es un tipo especial de asociación utilizada para indicar que


participan objetos que no son independientes entre ellos. Es decir estos
objetos son compuestos o configurados juntos para crear un objeto nuevo y
mas complejo.

¿Por qué efectuar una agregación es beneficioso?


La agregación describe un grupo de objetos de una manera que cambia como
se interactúa con ellos; Esta orientado a proteger la integridad de la
configuración de objetos de dos maneras:
a) La agregación define un solo punto de control sobre el objeto que
representa el conjunto. Por ej.: el motor tiene el control de sus
componentes, pero el auto es el control del motor.
b) Cuando se da una instrucción que afecta a todos los objetos, el
objeto de control indica como los miembros van a responder. Por
ej.: cuando se aprieta el pedal del acelerador, se dice al auto que se
quiere acelerar, todo el auto acelera, no solo el pedal.

6.6 Tipos asociativos


Una asociación igual que un concepto, puede contener atributos y
operaciones. En este caso se tendrá un tipo de objeto asociativo.
Un tipo de objeto asociativo puede tener asociaciones con otros objetos.

M
ME ETTO OD DO OLLO OG GÍÍA AD DE
ELL EESSTTU
UDDIIO
OD DEE SSIISSTTE
EMMA
ASS
A P U NT E S O R IE
APUNTES ORIENTACIÓN A OBJETOS NT A C IÓ N A O B J E TO S
A
Annííbbaall JJ.. C
Caalllliiggoo
V
V..11..11
Equipo Jugador

Contrato Representante

6.7 Agregación de Atributos


6.7.1 Atributos
Definen una propiedad o característica de un objeto y describe un rango de valores
que esta propiedad o característica podrá asumir en estos.

Se deben incluir aquellos atributos que indican o conllevan la necesidad de recordar


información.

Es conveniente representar los atributos simples o sea aquellos que están


representados por elementos de datos.

Entre los tipos de atributos más comunes se encuentran:

• booleanos (o lógicos),

• fechas y horas,

• números,

• texto.

Algunos tipos comunes son: dirección, color, teléfono, CUIT, código de barras,
código postal, etc.

6.7.2 Tipos de atributos válidos


Hay que tener en cuenta cuando modelamos que, en algunos casos, definimos un
atributos cuando en realidad estaría mejor modelado como una asociación.

6.7.2.1 Atributos complejos


Los tipos más simples de atributos son los que están constituidos por elementos
de datos

M
ME ETTO OD DO OLLO OG GÍÍA AD DE
ELL EESSTTU
UDDIIO
OD DEE SSIISSTTE
EMMA
ASS
A P U NT E S O R IE
APUNTES ORIENTACIÓN A OBJETOS NT A C IÓ N A O B J E TO S
A
Annííbbaall JJ.. C
Caalllliiggoo
V
V..11..11
De tenerse atributos “complejos” o sea que tienen una estructura de datos,
deberían modelarse como una asociación.

Por ejemplo:

Avión Motor no es un
Motor atributo simple

Motor
Avión Tipo:
Potencia
Nº serie

O en el siguiente ejemplo el destino es un lugar tangible: un aeropuerto

Vuelo Destino no es
Destino un atributo
simple

Aeropuerto
Vuelo

Puede darse el caso que tengamos un atributo compuesto por una estructura de datos,
por ej: CUIT cuya estructura es: AA BBBBBBBB X donde:
AA = tipo de contribuyente
B = número de inscripción o documento .
X = dígito verificador
¿En este caso como se modela?

M
ME ETTO OD DO OLLO OG GÍÍA AD DE
ELL EESSTTU
UDDIIO
OD DEE SSIISSTTE
EMMA
ASS
A P U NT E S O R IE
APUNTES ORIENTACIÓN A OBJETOS NT A C IÓ N A O B J E TO S
A
Annííbbaall JJ.. C
Caalllliiggoo
V
V..11..11
Cliente

CIUT

Contribuyente
CIUT
Tipo

Verificador

No hay una respuesta exacta. Dependerá de cómo interviene en el modelo.

6.7.2.2 Claves Foráneas


En el Modelo Conceptual los atributos no deberán usarse para relacionar conceptos,
sino para describir estos conceptos.

Una de las violaciones más comunes a esta regla consiste en agregar atributos como
claves foráneas. Por ej.:

Relacionar los conceptos con una asociación, no con un atributo.

Ningún atributo debe incluirse como clave foránea en un modelo conceptual.


Eventualmente, su utilización quedará para la fase del diseño.

M
ME ETTO OD DO OLLO OG GÍÍA AD DE
ELL EESSTTU
UDDIIO
OD DEE SSIISSTTE
EMMA
ASS
A P U NT E S O R IE
APUNTES ORIENTACIÓN A OBJETOS NT A C IÓ N A O B J E TO S
A
Annííbbaall JJ.. C
Caalllliiggoo
V
V..11..11
6.7.2.3 Atributos con unidades
En algunos casos se nos presenta n atributos que están definidos por un número y una
unidad:
• Moneda ( $, u$s )
• Velocidad ( kph, mph )
Si modelamos de esta manera tendríamos algo utilizable pero no flexible:

Pago
monto:número

Si necesitamos una cuenta en varias monedas, deberíamos hacer:

Pago Unidad de Moneda


Monto: cantidad

6.8 Modelo conceptual del ejemplo

El modelo conceptual de la siguiente figura muestra un conjunto de conceptos,


asociaciones y atributos idóneos para la aplicación de punto de venta.

M
ME ETTO OD DO OLLO OG GÍÍA AD DE
ELL EESSTTU
UDDIIO
OD DEE SSIISSTTE
EMMA
ASS
A P U NT E S O R IE
APUNTES ORIENTACIÓN A OBJETOS NT A C IÓ N A O B J E TO S
A
Annííbbaall JJ.. C
Caalllliiggoo
V
V..11..11
El modelo conceptual es una herramienta de comunicación, con la cual se intenta
comprender los conceptos importantes y sus relaciones. Es también útil para
transmitir este conocimiento a otros.

M
ME ETTO OD DO OLLO OG GÍÍA AD DE
ELL EESSTTU
UDDIIO
OD DEE SSIISSTTE
EMMA
ASS
A P U NT E S O R IE
APUNTES ORIENTACIÓN A OBJETOS NT A C IÓ N A O B J E TO S
A
Annííbbaall JJ.. C
Caalllliiggoo
V
V..11..11

También podría gustarte