[Php-avanzado] SRS version 1 Marco Riedel

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Mie Jul 17 14:33:37 ART 2013


Hola Marco,

El mar, 16-07-2013 a las 23:18 -0300, Marco Riedel escribió:
> Leo, te paso algunos comentarios y la modificación en la
> normalizacion.

	Genial.

	Te hago unas preguntas, porque me parece que no estoy entendiendo cómo
planteás el funcionamiento del sistema.
	Sin ese contexto, no puedo validarte la normalización.

	Dejamos las tablas entonces para tu próximo e-mail:



>                 Pero no le pusiste un nombre adecuado a "Usuarios".
>                 Dale, cambiáselo...
>  
> Para mi son usuarios de la web, cual seria el nombre adecuado? 

	Para mi también son usuarios de la web!
	Pero este sistema va a tener muchos tipos distintos de usuarios, y usar
un nombre genérico es una desprolijidad fuente de confusiones.
	Usuarios de tu sistema al menos van a ser: los visitantes que no estén
registrados, los compradores y vendedores, los administradores y los
robots de los buscadores.

	Por hacer una analogía, un sistema de gestión va a tener Clientes y
Proveedores; ambos son Personas, pero las tablas para almacenarlas no se
llaman nunca "Personas", porque entonces no sabés a qué te estás
refiriendo cuando ves la tabla. Me explico?

	Respecto al nombre adecuado... sacalo de la SRS, que para eso la
hicimos!


>                 Me vas a tener qué explicar como funciona esto, porque
>         la verdad que no
>         lo entiende.
>                 Si me interesa un libro no puedo hacer una pregunta al
>         vendedor sin
>         hacer una oferta primero? Es esto lo que querés especificar?
> 
> 
> Una oferta es un libro publicado, la crea el vendedor y los
> compradores hacen preguntas sobre esta oferta.
> Por esto se guarda la referencia 

	Si en el párrafo anterior cambio "oferta" por "libro", también se
ajusta a la especificación... sigo sin entender :-(

	Me podés hacer un escenario de uso para que lo entienda?
	Yo te cuento el escenario en que estaba pensado. Pongo en mayúsculas
las entidades de tu especificación:

- Un Vendedor publica un Libro con su Materia y le pone un precio de
$80.
- Un Comprador lo ve y hace una Pregunta, como por ejemplo si lo envía a
la Localidad de Balcarce.
- El Vendedor le responde a la Pregunta: sí.
- El Comprador le hace una Oferta por $70
- El Vendedor la acepta, cambia de precio al Libro y se hace la
operación.
- ... después sigue la liquidación y el resto de las cuestiones.

	En qué escenario de uso estás pensando?

	Estoy seguro de que tu uso de Oferta ni se parece al mío, lo que
significa que posiblemente lo que estás llamando Oferta tenga otro
nombre, o nos falte una parte de la especificación.

>         >         Al diccionario de libro le faltan las fotos...

	Estoy viendo que en la SRS pusiste las fotos con una entrada en el
diccionario, pero no van ahí: la foto es solo un atributo más del libro.

>         
>         
>                 Entonces ahora te hace falta el nombre de la
>         materia...
>                 Si no, un día cambiás o borrás un nombre de materia, y
>         los libros
>         vendidos te cambian! No hay que cambiar el pasado!
> 
> 
> La idea es que por mas que se modifique el nombre de la materia el
> libro siga perteneciendo a ese grupo. Sino podrian quedar libros
> asociados a un nombre de materia que no existe. 

	Lo que decís tiene sentido para los Libros en venta en este momento,
pero no me parece aplicable para el registro de los Libros ya vendidos,
que es lo que te estaba puntualizando.

	No te confundas entre el Libro y la Venta: son entidades distintas, y
supongo que independientes una de la otra.



>                 Especificás que se pueden borrar libros y ofertas (lo
>         cual me parece
>         perfecto) pero el almacenamiento que planteás falla si se
>         borra un libro
>         vendido o un libro que tenga una oferta o una oferta... lo
>         ves?
>  
> Solo se pueden borrar libros que no tengan ofertas ni hayan sido
> vendidos.  Esto estaria limitado desde codigo.

	Esto que decís arriba no aparece en la SRS!

	Se lo podés agregar a la SRS si querés que el sistema funcione así:
hasta ahora, un Libro se puede borrar siempre! Queraría como un sub
requerimiento del actual RF7.
	Por otra parte, se puede construir un software que soporte
perfectamente la SRS como está y dado tu conocimiento previo de este
tema, me parece sinceramente que va a ser una experiencia muy
enriquecedora para vos permitir que los Libros se puedan borra siempre.

	Decidilo así podemos seguir adelante, porque los almacenamientos en uno
u otro escenario son distintos.


>                 Tiene el mismo problema que el caso anterior: depende
>         que de que exista
>         el libro para relacionar la liquidación con un vendedor!!!
> 
> 
> Idem anterior

	Ibidem!
 

	Si la respuesta todo esto es medio larga, podemos charlarlo en clase
mañana: es clase de consultas de 18 a 20hs,


	Seguimos!

-- 
Leonardo Tadei
leonardot en pegasusnet.com.ar
Web: http://leonardo.tadei.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