[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