21
El modelo del dominio

Modelado Del Dominio

Embed Size (px)

Citation preview

Page 1: Modelado Del Dominio

El modelo del dominio

Page 2: Modelado Del Dominio

...pero qué significa “dominio”?

Ingenieria de software : se llama “modelo del dominio” a la representación visual de los conceptos u objetos del mundo real en un dominio de interés. Este modelo agrupa los conceptos de un dominio.Mecanismo fundamental para comprender el dominio del problema y para establecer conceptos comunes

C

Page 3: Modelado Del Dominio

Modelo del dominio

En él se representan los conceptos del dominio que nos interesa, sus características y las relaciones entre dichos conceptosEs un diccionario visual del dominio del problema

Qué es un concepto ? Una idea Es el elemento básico del pensamiento Conocimiento propio sobre una

categoría de objetos o acontecimientos

C

Page 4: Modelado Del Dominio

Modelo del dominio

Las ONTOLOGIAS son herramientas que sirven para esquematizar el modelo del dominio de un sistema particular

C

Page 5: Modelado Del Dominio

¿Qué es una ontología?

Es un término prestado de la filosofía Etimológicamente: ontos=ser logo=tratado En informática fue introducido por la comunidad

“Inteligencia artificial” y redefinida como “una especificación explícita y formal de una conceptualización compartida” (Gruber, 1993)(Borst, 1997)

Actualmente muy de “moda” (recuperación de información de la Web) Por qué? Porque en este momento existen problemas semánticos en la información de la Web y las ontologías ayudan a dar semántica a la información

C

Page 6: Modelado Del Dominio

¿Qué es una ontología?

Las ontologías catalogan y definen los tipos de cosas que existen en un cierto dominio, así como sus relaciones y propiedades.

Ejemplo: una ontología del mundo empresarial usará conceptos como Venta, Compra, Transferencia, Pago, etc.; y relaciones como “Una Transferencia corresponde a una Venta o a una Compra”, “Un Pago corresponde a una o varias Transferencias”, etc.

C

Page 7: Modelado Del Dominio

Las ontologías en la ingeniería del software

Ayudan a la especificación de los sistemas de software

La falta de un entendimiento común conduce a dificultades en identificar los requisitos y especificaciones del sistema que se busca desarrollar, las ontologías facilitan el acuerdo entre desarrolladores y usuarios (Términos comunes)

una ontología define los términos que se usan para describir y representar un cierto dominio

C

Page 8: Modelado Del Dominio

Modelo del dominio

Simbología básica

Nombre del concepto Nombre del concepto

Caracterís

ticas

Caracterís

ticasNombre relación

Ch

Page 9: Modelado Del Dominio

Reglas1. Los Actores del área del problema deben estar

representados como conceptos del Esquema Preconceptual y como conceptos del Modelo del Dominio.

2. El modelo verbal del problema suministra pistas en relación con los elementos que harán parte de los Esquemas Preconceptuales y los Modelos del Dominio.

3. Los conceptos del Esquema Preconceptual deben estar contenidos en el modelo del dominio como conceptos o características.

4. Las relaciones del Esquema Preconceptual deben corresponder a relaciones de asociación en el Modelo del Dominio.

Ch

Page 10: Modelado Del Dominio

Esquema PreconceptualEjemplo

Planilla

tiene

Reservacióncomputador

tiene EstudianteComputador

Fecha-Hora

AuxiliarAdministrativo

solicita

registra

registra

Lista de Espera

Computador(x).disponible

no

si

tiene

Nombre Carné

Ch

Page 11: Modelado Del Dominio

Modelo del dominioEjemplo

ComputadorCódigo

Planilla

Mes

Estudiante

NombreCarné

registra reservaciónLista de Espera

NombreFecha

ReservaciónComputador

FechaHora

solicita

tienetiene

registra reservación

tiene

Auxiliaradministrativo

Nombre

Ch

Page 12: Modelado Del Dominio

Algunos tips para la identificación de clases conceptuales. Listado de clases, sin cuestionar. Listado de categorías de clases. Utilización de frases (extraídas principalmente de la

expansión del caso de uso). La expansión de una fuente importante de clases

conceptuales. Una vez analizado lo anterior, se realiza un listado de

clases conceptuales de dominio. Recuerden, No Silver Bullet.

Modelo de Dominio

Ch

Page 13: Modelado Del Dominio

Acción de los actores Respuesta del sistema

1. Este caso de uso comienza cuando un Cliente llega a una caja de TPV con los productos que desea comprar.

2. El Cajero registra el código de barras de cada producto. Si hay más de un producto, el Cajero puede introducir también la cantidad.

3. Determina el precio del producto y a la transacción de venta le agrega la información sobre el producto. Se muestra la descripción y el precio del producto actual.

Ch

Page 14: Modelado Del Dominio

En UML podemos utilizar un diagrama de estructura estática para su representación.

Modelo de Dominio

object Use Case Mo...

Persona Hobbies

1 1..*

I

Page 15: Modelado Del Dominio

Es más fácil representar de esta forma, permite una ignorancia de los detalles sin interés (para el modelador de software).

Modelo de Dominioobject Use Case Mo...

Venta Pago

DetalleVenta

1 1

1

1..*

I

Page 16: Modelado Del Dominio

Recomendación: evitar mostrar este tipo de conceptos en un modelo de dominio.

Modelo de Dominio

object Use Case Mo...

Base de Datos

class Use Case Mo...

Venta

+ fecha+ hora: int

+ ProcesarVenta() : void

Esto es un artefacto de Software

Muestra responsabilidades ó Métodos

I

Page 17: Modelado Del Dominio

Mostrar solo tipos primitivos, simples como atributos (ej. Fecha, hora).

Importante será realizar alguna documentación de apoyo, como está en la siguiente figura.

Modelo de Dominio

class Use Case Mo...

Venta

+ fecha: fecha+ hora: hora

Esto es una nota de apoyo para la comprensión de esta clase conceptual

I

Page 18: Modelado Del Dominio

Muestra a los modeladores de software posibles clases candidatos a ser clase (clases conceptuales), es el artefacto importante en el análisis OO.

Una clase conceptual es una idea, cosa u objeto.

La diferencia de hacer este tipo de análisis (OO) y el estructurado, que acá se piensa a nivel de objetos y no a nivel de funciones.

Modelo de Dominio

I

Page 19: Modelado Del Dominio

Recomendaciones para el Modelo de Dominio

object Use Case Mo...

Cliente Producto

1

Compra

1..*

I

Page 20: Modelado Del Dominio

I

Page 21: Modelado Del Dominio

FIN