Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy Agenda Calidad de esquemas Atributos de calidad Completitud Correctitud Minimalidad Expresividad Explicitud Conceptos Discusin Agenda Discusin de ejemplos Conceptos Discusin Agenda Calidad de esquemas Atributos de calidad Completitud Correctitud Minimalidad Expresividad Explicitud Conceptos Discusin Conceptos Calidad de esquemas
Puede haber muchas formas correctas de modelar un mismo problema, en general no existe la solucin correcta, aunque puede haber soluciones definitivamente mal
Un esquema conceptual debe cumplir
Principio del 100%
Principio de conceptualizacin
Atributos de calidad
Conceptos Atributos de calidad
Calidad: grado en el que un conjunto de caractersticas inherentes cumple con los requisitos
Quisiramos que un modelo conceptual fuera: Completo (no negociable) Correcto (no negociable) Mnimo Expresivo Explcito Conceptos Completitud
Un esquema es completo cuando representa todas las caractersticas relevantes del problema (100%)
Se debe:
Controlar que todos los aspectos del problema estn representados en alguna parte del esquema
Controlar que todos los requerimientos sean realizables con el esquema
Leer el resultado y compararlo con la descripcin original Conceptos Correctitud
La correctitud se puede dividir en dos tipos: sintctica y semntica.
La correctitud sintctica implica que el esquema conceptual est construido respetando el lenguaje utilizado (e.g. en el MER, una agregacin se debe construir sobre una relacin)
Conceptos Correctitud
Utilizar una herramienta CASE puede asegurar la correctitud sintctica, de lo contrario se debe verificar:
La existencia de cardinalidades en cada relacin
La existencia de atributos determinantes en cada entidad. Si no existen, entonces verificar que sea entidad dbil con respecto a otra.
Existencia de una y slo una relacin y todas las entidades que intervienen en la misma dentro de cada agregacin. Conceptos Correctitud
Un esquema es correcto semnticamente si cada elemento del problema se representa utilizando estructuras adecuadas.
Para asegurar la correctitud semntica, se debe responder para cada concepto del problema: Es una entidad, un atributo o una relacin? Hay una sola categora de entidades o ms de una? Una relacin es binaria o mltiple? Cul es el mecanismo de determinacin del conjunto de entidades? Las cardinalidades y totalidades, tienen sentido? Conceptos Minimalidad
Un esquema es minimal si cada elemento de la realidad est representado una sola vez en el esquema.
Se debera verificar:
Dnde est representado en el esquema cada elemento de la realidad?
A qu elemento de la realidad corresponde cada elemento del esquema?
Atributos derivables Conceptos Expresividad
Un esquema es expresivo si representa la realidad en una forma natural que puede ser fcilmente comprensible usando slo la semntica del modelo.
La expresividad intenta medir la capacidad de comunicacin del modelo, a nivel semntico.
Conceptos Explicitud
Un esquema es explcito si no necesita restricciones no estructurales, es decir, toda la realidad se modela con los elementos grficos del modelo.
Por ejemplo: En las carreras de posgrado, un estudiante puede tener uno o dos tutores que lo supervisan, pero si tiene dos tutores, uno debe ser PhD y el otro MSc
Comparemos dos modelos que pretenden representar la realidad planteada Conceptos Explicitud
Modelo 1 Modelo 2
Explicitud y minimalidad pueden ser objetivos contrapuestos Agenda Discusin de ejemplos Conceptos Discusin Discusin Ejemplo: Direccin de una persona
Cada persona tiene una direccin, con calle y nmero
Modelo 1
Modelo 2
Discusin Ejemplo: Direccin de una persona
Los modelos son completos y correctos?
Son minimales?
Es uno ms expresivo/explcito que el otro?
En el segundo: podemos identificar una direccin?
Tenemos una clave natural (calle, nmero)
Podemos inventar una clave sustituta (surrogate key) Discusin Ejemplo: Direccin de una persona
Discusin Ejemplo: Direccin de una persona
Las cardinalidades estn bien?
Homero Simpson Siempreviva 742 Marge Simpson
Los requerimientos cambian:
En qu caso(s) sera ms fcil modificar el diseo para soportar mltiples direcciones?
En qu caso sera ms fcil agregar nmero de apartamento?