[Php-avanzado] SRS Final y normalización de tablas
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Vie Jul 23 23:48:15 ART 2010
Hola Jésica,
El sáb, 24-07-2010 a las 01:52 +0000, Jesica Billia escribió:
> Albums versión 5.08
>
>
> Requerimientos funcionales
>
>
> 1. El sistema debe gestionar fotos.
> 2. El sistema debe gestionar álbumes, los álbumes serán los
> contenedores de las fotos.
>
> 3. Debe mostrar los álbumes como una lista con una breve descripción
> de su contenido.
> 3.1. Indicando fecha de creación
> 3.2. Indicando reseña del contenido.
> 4. El sistema debe mostrar un menú con los álbumes de fotos existentes
> en cada pantalla.
> 5. El sistema debe mostrar el contenido de un álbum con miniaturas de
> las fotos de tamaño 200x200 píxeles.
> 5.1. Debe agrupar las miniaturas en filas de cuatro columnas.
> 6. El sistema debe mostrar las fotos como imágenes individuales a su
> tamaño real.
> 7. El sistema debe gestionar una etiqueta para cada álbum.
> 8. El sistema debe gestionar una etiqueta para cada foto..
Se ven bien. Para lo que esperamos del curso es suficiente, pero si
querés en clase te hago algunas puntualizaciones.
> Requerimientos no funcionales
>
>
> 1. El sistema tendrá un directorio establecido previamente dentro del
> sitio, que será denominado "raíz de los álbumes", que será capaz de
> gestionar álbumes y fotos.
> 2. El sistema reconocerá como válidos los siguientes tipos de archivos
> para la subida de las fotos: JPG, GIF, PNG.
Ok. En tu sistema, como vimos, los requerimientos no funcionales son
relevantes.
> Diccionario
>
>
> - Foto: imagen en formato digital que contiene una etiqueta
> que lo identifica y que pertenece a un álbum.
> Atributos: Nombre de la foto, álbum al que pertenece, etiqueta,
> formato del archivo, ruta de acceso, fecha de creación.
Falta que algún requerimiento haga mención a los formatos, porque en
tus tablas tienen identidad propia.
O falta un requerimiento o sobra una tabla!
(además, leyendo el nombre del archivo sabés el formato...)
> - Formato digital: tipo de archivo de imagen soportada
> Atributo: Formato de archivo de extensión JPG, GIF, PNG
Lo dicho: con el requerimiento no funcional respecto a los tipos de
archivo que acepta el sistema, no es necesario ponerlo en el
diccionario.
(salvo que estés pensando en otra cosa y no esté en tu SRS)
> - Álbum: carpeta contenedora de un grupo de fotos que tiene
> una etiqueta que lo identifica.
> Atributo: Nombre del álbum, descripción, etiqueta, ruta de acceso,
> fecha de creación.
>
>
>
> - Etiqueta: nombre visible destinado a identificar una foto y
> un álbum.
> Atributos: Nombre de la etiqueta, tipo de dato que identifica (álbum o
> foto).
Ok. Se ve bien.
Achicaste cosas, pero el trabajo es suficiente para tesis del curso.
> Normalización de tablas
>
>
> Tabla para fotos: Id_foto, id_album, id_etiqueta, id_formato,
> nombre_foto, fecha_creac_foto
Casi casi... según tu SRS la etiqueta depende únicamente de la clave
primera, así que va directamente acá, y no referenciada con un ID a otra
tabla.
Es de asumir, por tu SRS y diccionario, que las etiquetas no son
entidades por separado, sino una atributo más de la foto.
> Tablapara álbumes: Id_album, id_etiqueta, desc_album, ruta_album,
> fecha_creac_album
Idem anterior, respecto a las etiquetas.
> Tabla de formatos: Id_formato, formato
No hay ningún requerimiento funcional que haga referencia a los
formatos (ver más attiba)
> Tablas de etiquetas : Id_etiqueta, id_tipo_et, nombre_etiqueta
>
> Tablas tipo de etiquetas: Id_tipo_et, nombre_et
Como te decía, por tu especificación de "foto" en (1), la normalización
no te lleva a que las etiquetas sean tablas aparte.
Es una omisión en la SRS o un error de normalización?
Para resumir, la SRS se ve bien, pero el diccionario y las tablas
hablan de otra cosa. Tenés que especificar lo que querés que se haga, y
luego que el diccionario y las tablas sean consecuentes con esto.
Seguimos!
--
Leonardo Tadei
leonardot en pegasusnet.com.ar
http://blog.pegasusnet.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
Más información sobre la lista de distribución Php-avanzado