[Php-avanzado] Consulta Re: Requerimiento Juan Manuel V10

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Vie Dic 7 19:05:59 ART 2012


Hola Juan Manuel,


El vie, 07-12-2012 a las 18:08 -0300, Juan Manuel P. escribió:
> Leo, te respondo en cada pregunta y abajo adjunto la SRS actualizada.

	genial, así seguimos avanzando.


> > > > a) decís que los datos luego de un alta están y que si "... no
> fue
> > > > rechazada" entonces son válidos, pero según la SRS, si se
> rechaza la
> > > > Mascota desaparece, pero los datos de contacto no lo hacen.
> > > > Si la Mascota se rechaza los datos del contacto también
> desaparecen?
> > > 
> > > No, los datos del contacto no desaparecen, y no lo hacen por dos
> > > motivos. 
> > > Primero porque tal vez no sea la primera mascota que se carga al
> > > sistema, o porque tal vez ya has realizado algun aviso de
> observacion
> > > o reunion.
> > > Segudo porque el hecho que sea rechazada la mascota no quiere
> decir
> > > que el contacto no es valido, para que sea rechazada el contacto
> > > confirmo sus datos, haciendo click en el link enviado a su email.
> > > Por eso tambien en la SRS no puse que se eliminaban dado que solo
> se
> > > dan de alta.
> > 
> > Si esto es tal cual como decís, en caso de que un alta de Mascota
> > Perdida, Encontrada o Aviso de Observación que no sea validado, vos
> en
> > la SRS ponés que se borra la mascota o el aviso, pero no mencionás
> nada
> > del Contacto, con lo que debemos asumir que este contacto queda,
> aunque
> > no se valide visitando el enlace.
> > 
> > Creo que esto es algo importante de reflejar en la SRS, porque si el
> > contacto ya validó visitando un enlace anterior, entonces como bien
> > decís no debería ser borrado.
> 
> Agregue en el RF 27 la eliminacion del contacto y en el RF 28 tambien,
> en los dos momentos que el contacto es seguro que no existe.
> No lo elimino en los Avisos de Reunion ni cuando es Rechazada porque
> para haber llegado a esa instancia el contacto ya confirmo minimo 1
> vez un link por lo que seria un "contacto valido".

	Ok. Estoy de acuerdo contigo.
	Ahora bien, con esto especificado así, tenés una diferencia funcional
entre la entidad Contacto de Masctota y Contacto Externo, por tanto
cuando normalices, deberían aparecerte en tabla separadas.

	Y no, para tu tranquilidad, no es que sea amigo de tener quichicientas
tablas. Te empecé a plantear casos concretos porque me pareció ver que
había funcionalidades ocultas no especificadas, que podían implicar un
cambio en la normalización.
	Por ejemplo, la forma en que guardás los nombre de las imágenes no
afectan a la normalización, por lo que podemos charlar superficialmente
sobre eso; pero si la funcionalidad condiciona el almacenamiento, es un
lío enorme seguir adelante y después tener que volver a corregirlo, y
quiero evitar o minimizarte todo lo posible ese retrabajo.

 
> > Pero si cambio el nombre no!
> > Se entiende perfecto que tu criterio de unicidad es el e-mail del
> > Contacto.
> > Suponete que publico una Mascota Perdida como "Leo" y
> > "leonardot en pegasusnet.com.ar". Cuando veo publicada la Mascota,
> mostrará
> > que se le perdió a "Leo".
> > Meses más tarde publico que se me perdió la tortuga escribiendo
> > "Leonardo" y "leonardot en pegasusnet.com.ar". Según me estás diciendo,
> > vería publicada la tortuga perdida como si la publicó "Leo" (porque
> así
> > lo escribí la primera vez), con lo que me parecería que esa es la
> > publicación de otro.
> > Si funciona así, la percepción que da el sistema es que funciona mal
> o
> > de que le asigna la Mascota Perdida a otra persona.
> > Ni hablar para el caso de algunas personas algo mayores, en que el
> > matrimonio usa la misma cuenta de e-mail.
> > 
> > Me parece que, decidas lo que decidas, hay que reflejarlo en la SRS
> > porque si no se va a ver muy raro.
> 
> Sucede que el sistema el unico momento donde utiliza el nombre del
> contacto, es cuando envia el mail para confirmar, diciendo, "Leo:" o
> "Leonardo:" y poniendo los datos ingresados.
> En el sitio web nunca se va a mostrar los datos de la persona que lo
> registro, ni mail ni nombre, de esa forma se protejen los datos y
> confidencialidad de quienes reportan y que nadie pueda usar esos datos
> para sacar provecho a futuro.

	Bueno, el nombre solo y el e-mail no es un "dato personal", pero
comparto contigo el no mostrarlo si no hace falta.
	Por otra parte, es falso cuando decís "y que nadie pueda usar esos
datos para sacar provecho a futuro" ya que vos los tenés, posiblemente
los administradores puedan verlo, y el proveedor de hosting tiene
acceso.

> Es por eso que una vez confirmado por primera vez el nombre queda sin
> posibilidades de ser modificado.
> Si es necesario que esto sea especificado en la SRS, te pediria que me
> explicaras como y en que lugar consideras vos que lo haga si como un
> RF nuevo o como parte de alguno ya existente.

	Como vos lo especificaste dice tal cual lo que decís. Es así como se
especifica que no se modifique.
	Te hacía estos comentarios sobre esto para entender mejor la cuestión. 
	Según decís, si comparto la cuenta de e-mail con mi hermano, yo publico
una mascota primero, la confirmo, y cuando él publica una mascota,
recibe un mail con mi nombre, que creé (correctamente) que no es para
él, entonces no lo contesta.
	Hacelo como más te guste, pero necesitaba saber esta respuesta, porque
una parte de la normalización depende de ella.


	Guardo esta versión de la SRS para futura referencia.

	Saludos cordiales!


> REQUERIMIENTOS FUNCIONALES
> 
> Objetivo: 
> El sistema servirá como medio de difusión para que los se publiquen
> Mascotas Perdidas y Encontradas permitiendo a los visitantes reportar
> si se tiene alguna información o interés en la mascota. 
> En el caso de que se logre reunir a los dueños con la mascota se
> publicaran como Mascotas Reunidas
> 
>  1  El sistema debe mostrar Tipos de Administradores.
> 
>  2  El sistema debe gestionar Administradores del sistema con su Tipo
> de Administrador[1].
> 
>  3  El sistema debe gestionar Especies.
> 
>  4  El sistema debe gestionar Razas para cada Especie[3].
> 
>  5  El sistema debe gestionar Tamaños.
> 
>  6  El sistema debe mostrar Estados de Publicación.
> 
>  7  El sistema debe gestionar Provincias.
> 
>  8  El sistema debe gestionar Ciudades para cada Provincia[7].
> 
>  9 El sistema debe dar de alta Contactos de Mascotas.
> 
>  10 El sistema debe dar de alta Contactos Externos.
> 
>  11 El sistema debe mostrar Sexos.
> 
>  12 El sistema debe dar de alta Mascotas Reunidas con su  Raza[4] con
> su Especie[3], Sexo[11], Tamaño[5], Contacto de Mascota[9], Estado de
> Publicación[6] y Ciudad[8] con su Provincia[7]. 
> 
>  13  El sistema debe dar de alta Mascotas Perdidas con su  Raza[4] con
> su Especie[3], Sexo[11], Tamaño[5], Contacto de Mascota[9], Estado de
> Publicación[6] y Ciudad[8] con su Provincia[7].
>      13.1  El sistema debe validar la Mascota Perdida[13], que los
> datos obligatorios ( Raza[4], Especie[3], Tamaño[5], Sexo[11],
> Contacto de Mascota[9], Ciudad[8] y Provincia[7]) estén todos
> completos.
>      13.2  El sistema debe enviar un mail con un link de confirmación
> al mail del Contacto de Mascota[9] de la Mascota Perdida[13], que
> expira en 3 días, guardar la Mascota Perdida[13] con un Estado de
> Publicación[6] inicial Pendiente de Confirmación
>      13.3  El sistema debe confirmar la Mascota Perdida[13]cuando el
> link enviado es visitado, dentro de los 3 días posteriores al envío
> del mail, actualizando el Estado de Publicación[6] a Pendiente de
> Publicación.
>      13.4  El sistema debe enviar un mail al administrador del
> sistema[2], avisando del alta, para que sea revisado y confirmada el
> alta de Mascota Perdida[13].
>      13.5  El sistema debe actualizar el Estado de Publicacion[6] de
> una Mascota Perdida[13] cuando el Administrador del sistema[2] la
> confirma, de Pendiente de Publicación a Activo.
> 
>  14  El sistema debe dar de alta Mascotas Encontrados con su  Raza[4]
> con su Especie[3], Sexo[11], Tamaño[5], Contacto de Mascota[9],
> Estado de Publicación[6] y Ciudad[8] con su Provincia[7].
>      14.1  El sistema debe validar la Mascota Encontrada[14], que los
> datos obligatorios (Especie[3], Tamaño[5], Sexo[11], Contacto de
> Mascota[9], Ciudad[8] y Provincia[7]) estén todos completos.
>      14.2  El sistema debe enviar un mail con un link de confirmación
> al mail del Contacto de Mascota[9] de la Mascota Encontrada[14], que
> expira en 3 días, guardar la Mascota Encontrada[14] con un Estado de
> Publicación[6] inicial Pendiente de Confirmación
>      14.3  El sistema debe confirmar la Mascota Encontrada[14]cuando
> el link enviado es visitado, dentro de los 3 días posteriores al envío
> del mail, actualizando el Estado de Publicación[6] a Pendiente de
> Publicación.
>      14.4  El sistema debe enviar un mail al administrador del
> sistema[2], avisando del alta, para que sea revisado y confirmada el
> alta de  Mascota Encontrada[14].
>      14.5 El sistema debe actualizar el Estado de Publicacion[6] de
> una Mascota Encontrada[14]  cuando el Administrador del sistema[2] la
> confirma, de Pendiente de Publicación a Activo.
> 
>  15  El Sistema debe dar de alta Aviso de Reunión de Mascota Perdida
> con su  de Mascota Perdida[13]
>      15.1  El sistema debe validar que la Mascota Perdida[13]
> ingresada este registrada en el sistema y su Estado de Publicación[6]
> sea Activo.
>      15.2  El sistema debe enviar un mail con un link de confirmación
> al mail del Contacto de Mascota[9] de la Mascota Perdida[13].
>      15.3  El sistema debe confirmar el Aviso de Reunión de Mascota
> Perdida[16] cuando el link enviado es visitado, dentro de los 3 días
> posteriores al envío del mail.
>      15.4  El sistema debe borrar la Mascota Perdida[13] y da de alta
> con los mismos datos una Mascota Reunida[12].
> 
>  16  El Sistema debe dar de alta Aviso de Reunión de Mascota
> Encontrada con su Mascota Encontrada[14]
>      16.1  El sistema debe validar que la Mascota Encontrada[14]
> ingresada este registrada en el sistema y su Estado de Publicación[6]
> sea Activo.
>      16.2  El sistema debe enviar un mail con un link de confirmación
> al mail del Contacto de Mascota[9] de la Mascota Encontrada[14].
>      16.3  El sistema debe confirmar el Aviso de Reunión de Mascota
> Encontrada[17] cuando el link enviado es visitado, dentro de los 3
> días posteriores al envío del mail.
>      16.4  El sistema debe borrar la Mascota  Encontrada[14] y da de
> alta con los mismos datos una Mascota Reunida[12].
> 
>  17  El sistema debe gestionar Avisos de Observación de Mascotas
> Perdidas con su Mascota Perdida[13], Ciudad[8] con su Provincia[7] y
> su Contacto Externo[10]
>      17.1  El sistema debe validar el Aviso de Observación de Mascotas
> Perdida[13] que los datos obligatorios (Ciudad, Provincia, Contacto
> Externo[10]) esten completos.
>      17.2  El sistema debe enviar un mail con un link de confirmación
> al Contacto Externo[10] ingresado en el Aviso de Observación de
> Mascotas Perdidas[18].
>      17.3  El sistema debe confirmar el Aviso de Observación de
> Mascota Perdida[18] cuando el link es visitado por primera vez, dentro
> de los 3 días posteriores al envío y envía un mail al Contacto de
> Mascota[9] de la Mascota Perdida[13] con los datos ingresados en el
> Aviso de Observación de Mascotas Perdida[18].
> 
>  18  El sistema debe gestionar Avisos de Observación de Mascotas
> Encontrada con su Mascota Encontrada[14], Ciudad[8] con su
> Provincia[7] y su Contacto Externo[10]
>      18.1  El sistema debe validar el Aviso de Observación de Mascotas
> Encontrada[14] que los datos obligatorios (Ciudad, Provincia, Contacto
> Externo[10]) esten completos.
>      18.2  El sistema debe enviar un mail con un link de confirmación
> al Contacto Externo[10] ingresado en el Aviso de Observación de
> Mascotas Encontradas[19].
>      18.3  El sistema debe confirmar el Aviso de Observación de
> Mascota Encontrada[19] cuando el link es visitado por primera vez,
> dentro de los 3 días posteriores al envío y envía un mail al Contacto
> de Mascota[9] de la Mascota Encontrada[14] con los datos ingresados en
> el Aviso de Observación de Mascotas Encontrada[19].
>     
>  19  El sistema debe mostrar Mascotas Perdidas[13] cuyo Estado de
> Publicación[6] sea Activo filtrando por Raza[4] o Especie[3]  o
> Ciudad[8], las combinaciones de estas o sin filtrar.
> 
>  20  El sistema debe mostrar Mascotas Encontradas[14] cuyo Estado de
> Publicación[6] sea Activofiltrando por Raza[4] o Especie[3] o
> Ciudad[8], las combinaciones de estas o sin filtrar.
> 
>  21  El sistema debe mostrar Mascotas Reunidas[12] cuyo Estado de
> Publicación[6] sea Activo filtrando por Raza[4] o Especie[3] o
> Ciudad[8], las combinaciones de estas o sin filtrar.
> 
>  22  El sistema debe mostrar al inicio al azar 4 (cuatro) Mascotas
> Perdida[13], cuyo Estado de Publicación[6] sea Activo.
> 
>  23  El sistema debe mostrar al inicio al azar 4 (cuatro) Mascotas
> Encontrada[14], cuyo Estado de Publicación[6] sea Activo.
> 
>  24  El sistema debe mostrar al inicio al azar 4 (cuatro) Mascotas
> Reunida[12], cuyo Estado de Publicación[6] sea Activo.
> 
>  25 El sistema debe actualizar el Estado de Publicacion[6] de una
> Mascota Perdida[13] cuando el Administrador del sistema[2] la rechaza,
> de Pendiente de Publicación a Rechazada.
> 
>  26  El sistema debe actualizar el Estado de Publicacion[6] de una
> Mascota Encontrada[14]  cuando el Administrador del sistema[2] la
> rechaza, de Pendiente de Publicación a Rechazada.
> 
>  27  El sistema debe eliminar automáticamente una vez por día todos
> los links que no han sido confirmados y enviar un mail al Contacto de
> Mascota[9] informando de esta accion.
>      27.1  El sistema debe eliminar automáticamente Mascotas
> Perdida[13] que han caducado (pasaron 3 días del envío del mail sin
> confirmación del mismo).
>         27.1.1 El sistema debe eliminar el Contacto de Mascota[9] si
> este no existia antes del alta de la Mascota Perdida[13].
>      27.2  El sistema debe eliminar automáticamente Mascotas
> Encontrada[14] que han caducado (pasaron 3 días del envío del mail sin
> confirmación del mismo).
>         27.2.1 El sistema debe eliminar el Contacto de Mascota[9] si
> este no existia antes del alta de la Mascota Encontrada[14].
>      27.3  El sistema debe eliminar automáticamente Avisos de Reunión
> de Mascotas Perdida[15] que han caducado (pasaron 3 días del envío del
> mail sin confirmación del mismo).
>      27.4  El sistema debe eliminar automáticamente Avisos de Reunión
> de Mascotas Encontrada[16] que han caducado (pasaron 3 días del envío
> del mail sin confirmación del mismo).
>      27.5  El sistema debe eliminar Mascotas Perdida[13] cuando el
> Estado de Publicacion[6] pase a ser Rechazada. 
>      27.6  El sistema debe eliminar Mascotas Encontrada[14] cuando el
> Estado de Publicacion[6] pase a ser Rechazada. 
> 
>  28  El sistema debe eliminar automáticamente una vez por día todos
> los links que no han sido confirmados y enviar un mail al Contacto
> Externo[10] informando de esta accion.
>      28.1  El sistema debe eliminar automáticamente los Avisos de
> Observación de Mascotas Perdida[17] que han caducado (pasaron 3 días
> del envío del mail sin confirmación del mismo).
>         28.1.1 El sistema debe eliminar el Contacto Externo[10] si
> este no existia antes del alta del Avisos de Observación de Mascotas
> Perdida[17].
>      28.2  El sistema debe eliminar automáticamente los Avisos de
> Observación de Mascotas Encontrada[18] que han caducado (pasaron 3
> días del envío del mail sin confirmación del mismo).
>         28.2.1 El sistema debe eliminar el Contacto Externo[10] si
> este no existia antes del alta del Avisos de Observación de Mascotas
> Encontrada[18].
> 
>  29  El sistema debe registrar y enviar Sugerencias por mail al email
> que se designe para recibir los mails de sugerencia.
> 
>  30 El sistema debe mostrar al Administrador del Sistema[2] un resumen
> de Mascotas Perdida[13], Mascotas Encontrada[14], Avisos de Reunión de
> Mascotas Perdida[15], Avisos de Reunión de Mascotas Encontrada[16],
> Avisos de Observación de Mascotas Perdida[17] , Avisos de Observación
> de Mascotas Encontrada[18] cuyo Estado de Publicacion[6] sea Pendiente
> de Publicacion.
> 
> DICCIONARIO
> 
> Tipo de Administradores: (clasificación de atribuciones que tendrá
> cada administrador del sistema) Descripción, Permisos.[Administrador
> de Publicaciones | Administrador General]
> 
> Administrador del Sistema: Nombre, Apellido, Usuario, contraseña, Tipo
> de Administrador, email. 
> 
> Especie:  Descripción. (Es la clase de Mascota, Perro, Gato, etc)
> 
> Raza: (Es la raza de cada tipo, un perro Caniche toy, un Gato Siames,
> etc) Descripción, Especie.
> 
> Tamaño: Descripción. 
> 
> Sexo: Descripcion.[Hembra | Macho]
> 
> Contacto de Mascota: (Es la persona que reporta una mascota perdida o
> encontrada) Nombre, E-mail. 
> 
> Contacto Externo: (Es la persona que reporta que vio a la mascota
> perdida o conoce a la mascota encontrada).Nombre, E-mail. 
> 
> Estados de Publicación: (Es el estado en que se encuentra la
> publicación de la mascota perdida o mascota encontrada o mascota
> reunida, si aun no fue confirmada por el Contacto de Mascota, si
> todavía no fue publicada.[Activo | Pendiente de Confirmación |
> Pendiente de Publicación | Rechazado]). Descripción. 
> 
> Provincia: Descripción.
> 
> Ciudad: Descripción, Provincia
> 
> Mascota Reunida: (Se utiliza para ingresar al sistema una Mascota
> Reunida que se logro juntar con su Familia)Nombre, Edad, Especie,
> Raza, Tamaño, Contacto de Mascota, Sexo, Estado de Publicacion,
> Ciudad, Provincia, Observación, Foto1, Foto2, Foto3, Fecha de Alta.
> 
> Mascota Perdida: (Se utiliza para ingresar al sistema una Mascota
> Perdida que se perdió de su Familia)Nombre, Edad, Especie, Raza,
> Tamaño, Contacto de Mascota, Sexo, Estado de Publicacion, Ciudad,
> Provincia, Observación, Foto1, Foto2, Foto3, Fecha de Alta.
> 
> Mascota Encontrada: (Se utiliza para ingresar al sistema una Mascota
> Encontrada que es hallada en la calle y acogida hasta que se encuentre
> a su familia)Nombre, Edad, Especie, Raza, Tamaño, Contacto de Mascota,
> Sexo, Estado de Publicacion, Ciudad, Provincia, Observación, Foto1,
> Foto2, Foto3, Fecha de Alta.
> 
> Aviso de Reunión de Mascota Perdida: (Se utiliza para ingresar al
> sistema que una Mascota Perdida esta reunida con su familia y dar de
> alta una Mascota Reunida con sus datos) Mascota Perdida, Contacto de
> Mascota
> 
> Aviso de Reunión de Mascota Encontrada: (Se utiliza para ingresar al
> sistema que una Mascota Encontrada esta reunida con su familia y dar
> de alta una Mascota Reunida con sus datos) Mascota Encontrada,
> Contacto de Mascota
> 
> Avisos de Observación de Mascota Perdida (Se utilizan para ingresar al
> sistema que una Mascota Perdida fue vista en una Ubicación.) Mascota
> Perdida, Contacto Externo, Calles, Ciudad, Provincia
> 
> Avisos de Observación de Mascota Encontrada (Se utilizan para ingresar
> al sistema que se posee información de la Mascota Encontrada): Mascota
> Encontrada, Contacto Externo, Calles, Ciudad, Provincia
> 
> Sugerencias: nombre, email, texto de sugerencia.
> 
> 
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado

-- 

Leonardo Tadei
leonardot en pegasusnet.com.ar
Pegasus Tech Supply
Tel: (+54)(+223) 471-2880
La Salle 1131 - Mar del Plata - Argentina
http://www.pegasusnet.com.ar
http://www.grupopegasus.com
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key



Más información sobre la lista de distribución Php-avanzado