-
Notifications
You must be signed in to change notification settings - Fork 2
El proceso para construir un modelo conceptual
A modo de ilustración de un modelo conceptual, se desarrollará una aproximación (basada en suposiciones) y a conveniencia, del sistema de información que usa la plataforma de reproducción de música online Spotify, y del cual también se extraerá la información pertinente para el desarrollo de un modelo relacional.
Spotify es una plataforma que permite a las personas poder reproducir música de manera tanto online como offline (esto dependiendo del plan o tipo de cuenta en uso, bien sea PREMIUM o GRATIS). Antes de poder usar una cuenta, cada persona que se registra en Spotify debe tener asociada una información personal como nombre y correo electrónico(el cual permite enviarle actualizaciones de interés) cada cuenta única asociada a una persona debe tener un usuario y una contraseña, la cual no solo permite guardar una o varias playlist, sino que también permite asociarla a uno o más dispositivos en particular (estos dispositivos tienen un tipo que ayudan a diferenciar específicamente en cuantos de estos se encuentra una cuenta activa).
Las playlist tienen definido un código id que las hace únicas para cada cuenta, además de el nombre que el usuario les ha dado, estas se componen de canciones las cuales han sido publicadas previamente por artistas en una fecha determinada. Por cada artista se tiene registrado su nombre único artístico y por cada canción se tiene registro de su nombre, género y duración. Finalmente, como Spotify permite compartir contenido y mantenerse conectado con otras personas, cada persona registrada es libre de seguir a una o más personas.
A continuación se presenta un proceso recomendado para construir un modelo conceptual paso a paso, el cual será explicado usando el ejemplo anterior. Este proceso ha sido adaptado en el aula de clase y cabe mencionar que el mismo no es definitivo, por lo tanto no es una obligación seguirlo al pie de la letra.
El proceso se compone de los siguientes pasos:
- Comprender el objetivo de la aplicación: con este paso se busca que el diseñador tenga claro el objetivo de la aplicación para que este diseño se haga más fácil y además terminé por satisfacer los requerimientos de la información.
Spotify utiliza su sistema de información para guardar toda la información que interviene entre sus usuarios y los elementos de la aplicación. Esta información deber ser contenida para generar registros de interés como estadísticas que reporten: cantidad de cuentas creadas, personas registradas, cantidad de dispositivos, canciones publicadas, playlist creadas, artistas más escuchados, entre otros.
-
Identificar las entidades: Identificar aquellos objetos o personas de las cuales se está solicitando guardar información.
Recomendaciones: Las entidades se identifican fácilmente con sustantivos en singular, por lo que una buena forma de empezar es listando todos aquellos sustantivos que se encuentran relacionados directamente con la situación a modelar. Por cada sustantivo identificar si este representa a un conjunto de objetos o personas cuya información deba guardarse en la base de datos. Por cada sustantivo identificar si este representa un datos de otro sustantivo (atributo o dominio (posibles valores).
Lista: plataforma, persona, música, plan, tipo, cuenta, persona, información, nombre, correo electrónico, actualización, usuario, contraseña, playlist, dispositivo, id, canción, artista, fecha, nombre, género, duración, contenido.
1er filtro:
plataforma, persona,música,plan,tipo, cuenta,información,nombre,correo electrónico,actualización,usuario,contraseña, playlist, dispositivo,id, canción, artista,fecha,nombre,género,duración,contenido.
2do filtro: los sustantivos restantes a excepción de
plataforma,actualizaciónycontenido, representan atributos de otros sustantivos.
-
Identificar las relaciones: Identificar las diferentes relaciones entre los sustantivos identificados.
Recomendaciones: Realizar una matriz de identidades con los sustantivos listados previamente. Las relaciones se identifican fácilmente con verbos, por lo que una buena forma es empezar identificando los verbos que mejor describan la forma en la que se relacionan las entidades. Para las relaciones "recursivas" identificar los roles. Definir al menos una participación obligatoria y una opcional por cada relación.
Entidades | Persona | Cuenta | Playlist | Dispositivo | Canción | Artista |
---|---|---|---|---|---|---|
Persona | sigue | esta asociada | vincula una cuenta a | |||
Cuenta | tiene asociada | almacena | esta vinculada a | |||
Playlist | es almacenada en | contiene | ||||
Dispositivo | asociada a una cuenta por | esta asociado a | ||||
Canción | es guardada en | es publicada por | ||||
Artista | publica |
Persona (seguidor) sigue a una o varias personas (seguido).
- Dibujar la primera versión del modelo: trazar el modelo ER usando la notación preferida con las entidades y relaciones.
- Identificar y dibujar las llaves primarias: identificar el atributo que identifica de manera única a la entidad.
Persona: correo electrónico, Cuenta: usuario, Playlist: id, Artista: nombre
-
Identificar los atributos: identificar aquellas características que describen a las entidades y aquellos atributos que se generan mediante una relación.
Recomendaciones: Ir a la lista de sustantivos y usar los que fueron señalados como datos. Definir los atributos que no son muy precisos.
Persona: nombre y correo electrónico, Cuenta: usuario, contraseña y tipo, Playlist: id y nombre, Dispositivo: tipo, Canción: nombre, género, duración, Artista: nombre Relación "Publica": fecha de publicación
- Dibujar los atributos en el modelo: dibujar todos los atributos listados previamente en el modelo.
- Trazar las cardinalidad entre relaciones: trazar las cardinalidad específica para cada relación que conecta las entidades.
-
Revisar si se cumplen los requerimientos de información
Recomendaciones: Verificar si se pueden generar todos los listados y reportes. Verificar que no haya información extra.
Desarrollado por Luis Felipe Sanchez y Juan José Valencia.