[Php-avanzado] Requerimiento Juan Manuel V7 Corregida
Juan Manuel P.
tucu_21 en hotmail.com
Lun Dic 3 19:37:00 ART 2012
RF4: el el diccionario falta el atributo "Especie". Ya te había
observado esto en versiones anteriores.
- Corregido
No está corregido: sigue sin aparecer la "especie" en la entrada al
diccionario de "raza".
- Agregada, se cambio donde decia Tipo por Especie.
RF8: no se gestionan, solo se muestran: si por ejemplo borrás un
Estado
de Publicación, hay cosas que dejarían de funcionar en un software
especificado así.
- Corregido, pero de todas formas si es ese el criterio entonces
tambien deberia solo mostrar especies, razas, etc.
Segun te habia entendido a vos en clase en el DER definiamos como
ibamos a manejar esto, respecto de si se borraba de forma logica o
fisica.
En este y para todos los casos (razas, especies, etc), si se quisiera
eliminar uno se podria siempre y cuando no exista una mascota definida
para ese estado o raza o especie o cualquier otro, en ese caso no se
permitiria borrar o modificar.
No, no deberías solo mostrar especies, ni razas, ni etc: no estás
comprendiendo la cuestión.
Primero que todo, hablar acá de un DER o de una normalización no tiene
sentido, porque la SRS debe describir el problema, y no mencionar para
nada la solución. Un DER, una normalización o una mera tabla _es_ parte
de la solución, y no del problema.
Por otra parte, en referencia a esta funcionalidad, te digo que para un
sistema así especificado, se deben solo mostrar, porque vos estás
asociando funcionalidades a los Estados de Publicación, y en ningún
momento estás especificando un mecanismo para que vía una interfaz del
sistema se definan estas funcionalidades.
Dicho en otras palabras, a los Estados de Publicación se asocian
algoritmos, porque hay cosas que pasan o no dependiendo del estado, por
lo que borrar uno significaría que parte de la aplicación quede
desligada de ese algoritmo, y agregar uno significaría que no está
asociado a ninguna acción.
Por otra parte, lo que haga este sistema si se borra una especie o una
raza, mientras mantenga la integridad de los datos, es indistinto, pero
sobre todo no es el mismo tipo de problema que plantean los Estados de
Publicación, porque nunca una funcionalidad depende de la existencia de
uno de ellos.
Comprendés la diferencia?
Queda claro por qué acá no se habla de DER ni de nada de eso?
OK
RF11: No me puedo dar cuenta qué es esto y que rol cumple en este
sistema. Me lo explicás por favor?
- Eliminado, debo decir que me sorprendio que no entendieras, dado que
Genero en el contexto de esta SRS es bastante claro, el Genero de una
Mascota, EJ Hembra o Macho.
Dos cosas: una es que no veo justificación para sacarlo.
Otra es que tu sorpresa es injustificada (o no entendés todavía lo
suficiente en qué consiste una SRS), porque por una parte tener
"géneros" siendo estos solo "macho" y "hembra" es medio como un
desperdicio gestionarlos, pudiendo darlos precargados al sistema y solo
mostrarlos. Pero sobre todo y lo más importante, si "género" es, como se
podía suponer el sexo de la Mascota, entonces es un atributo que le irá
a cada Mascota cuando se ingrese un pedido de alta, y nunca un atributo
para la Especie, que es lo que vos especificaste.
Definirlo para cada Especie es un sinsentido, porque de querer hacer
esa distinción a ese nivel, no te hace falta género, sino cargar como
Especie "perro", "perra" y "caballo", "yegua".
OK, agregado requerimiento, en DD.
RF12: no tenés que mencionar el "nombre" acá, porque no es algo que
aparezca en un RF; va solo en el diccionario, al igual que la fecha de
alta.
- Corregido
Lo sacaste del RF, pero en el diccionario tiene que estar, y ahí no
aparece.
En el diccionario de datos si aparecen en los 2 lugares, perdidas, encontradas.
Veo que en el diccionario agregaste "sexo", y pareciera que el sexo es
algo a mostrar en otro RF y a usar acá... si no supongo mal, es el
"Género" que sacaste como funcionalidad.
Si lo vas a poner, expresalo funcionalmente y hacé referencia a él. Si
no lo vas a poner, sacalo del diccionario también.
Tenés que usar el mismo nombre con que especificás una cosa en todas
partes. Acá aparece "Estado [8]", pero el RF8 está especificado como
"Estado de Publicación".
- Corregido
No del todo. Hay entradas del diccionario que siguen haciendo solo
referencia al "estado" a secas y también los RF 21 y 22 (que ahora no
tienen por qué estar expresados como subrequerimientos, porque es una
sola cosa.
Corregido donde decia estados por Estados de Publicacion, con lo otro no entiendo a que queres referirte, si a los RF21 o RF22 o donde termina el parentesis, si lo que sigue forma parte del parentesis o no?.
Decís que un Alta de Mascota Perdida puede tener más de un "Estado" y
si no entiendo mal lo que querés hacer, solo tiene uno. Cuantos
"Estados" a la vez puede tener?
- Corregido, tambien habia puesto sin querer una S de mas.....
Te quedó todavía el plural en los RF 11.1, 12.1, 18, 19...
Corregidos
El diccionario tiene una inconsistencia: especificás "Alta de
Mascota
Perdida" pero la entrada es solo "Mascota Perdida". Decidí un nombre y
usá siempre el mismo!
Al diccionario le falta la Especie.
- Corregido, el Alta es la accion que debe de hacer el sistema, la
entrada es Mascota Perdida o Encontrada.
En tus versiones anteriores ponías "Alta" con mayúsculas, dando la idea
de que era parte del nombre de la cosa a manejar... ahora que se la
sacaste queda más claro.
En el diccionario figura el "contacto" y como es algo que se
gestiona,
debés hacer la referencia en la funcionalidad.
- Corregido, no se gestiona mas. Ahora hay dos tipos de contacto, los
cuales estan detallados en el diccionario.
En el diccionario se hace referencia a "Contacto de Mascota" y a
"Contacto Externo", pero te falta su especificación a nivel funcional.
En otras palabras, estas dos cosas tienen que estar especificadas con su
respectivo RF.
Para colmo hacés varias veces referencia al "Contacto de Mascota" y al
"Contacto Externo" en unos cuantos RF... y siempre hay que hacer
referencia a cosas que se especificaron previamente.
Agregados los RF para ambos casos.
Hacés uso de la Mascota Reunida en este RF, pero lo especificás
como
RF26. Para usar la Mascota Reunida tenés que especificarla antes...
tenés la referencia al revés en el RF26.
- El RF26 es para mostrarlos, en este RF16.4 se lo daba de alta en el
momento que se confirma un Aviso de Reunion de Mascota Perdida (idem
para Encontrada).
Agregado el RF que hace referencia a la Mascota Reunida y la especificacion en el DD.
Pero como es requisito de la redacción de una SRS que no debés hacer
referencia a nada que no haya sido especificado previamente, tenés que
mover la especificación de "Mascota Reunida" antes del actual RF12,
porque se está usando en el actual RF 12.4, pero la estás especificando
en el actual RF17.
Si la especificación es para "mostrar", "gestionar" u otra cosa, no
significa que debas alterar el orden en que se nombran las cosas.
De hecho, a nivel funcional, las Mascotas Reunidas se muestran y se dan
de alta, algunas veces directamente y otras indirectamente a través de
otra funcionalidad.
RF38: acá se manifiesta la ambigüedad en el nombre del RF16 y sus
semejantes: ponés un solo nombre de cosa y hacés referencia a 3 RF...
- Los 3 RF que se mencionan dan como resultado una Mascota Reunida
luego de que el Aviso de Reunion es confirmado. En este caso ahora
solo quedan 2 dado que en Adopcion fue eliminado.
... y seguís sin resolver la falla en la especificación.
Fijate como ahora en el RF 17, decís que la Mascota Reunida está
especificada en dos funcionalidades distintas... eso no tiene sentido!
Lo que te está pasando, te repito, es que los actuales RF 11.4 y 12.4,
estás haciendo referencia a algo que no está especificado.
Especificá primero la Mascota Reunida, y después hacé a esa
funcionalidad todas las referencias que quieras.
Bueno Juan Manuel, hagamos lo mismo para el próximo envío: poné un
breve comentario a cada cuestión que te planteo más arriba, además de
corregir la SRS y ponerla como ahora como parte del cuerpo del mail.
A mi me permite seguir más fácilmente los cambios y ver qué hiciste, y
a vos te sirve para encontrar la causa de por qué esto se está
extendiendo tanto: te hago una corrección, y vos la hacés parcialmente
en vez de completamente, entonces tenemos que volver sobre el mismo
tema.
SRS
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 en 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].
14 El sistema actualiza el Estado de Publicacion[6] de una Mascota Perdida[13] a Activo, cuando el Administrador del sistema[2] la confirma
15 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].
15.1 El sistema debe validar la Mascota Encontrada[15], que los datos obligatorios (Especie[3], Tamaño[5], Sexo[11], Contacto de Mascota[9], Ciudad[8] y Provincia[7]) estén todos completos.
15.2 El sistema debe enviar un mail con un link de confirmación al mail del Contacto de Mascota[9] de la Mascota Encontrada[15], que expira en 3 días, guardar la Mascota Encontrada[15] con un Estado de Publicación[6] inicial Pendiente de Confirmación
15.3 El sistema debe confirmar la Mascota Encontrada[15]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.
15.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[15].
16 El sistema actualiza el Estado de Publicacion[6] de una Mascota Encontrada[15] a Activo, cuando el Administrador del sistema[2] la confirma.
17 El Sistema debe dar de alta Aviso de Reunión de Mascota Perdida con su de Mascota Perdida[13]
17.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.
17.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].
17.3 El sistema debe confirmar el Aviso de Reunión de Mascota Perdida[17] cuando el link enviado es visitado, dentro de los 3 días posteriores al envío del mail.
17.4 El sistema debe borrar la Mascota Perdida[13] y da de alta con los mismos datos una Mascota Reunida[12].
18 El Sistema debe dar de alta Aviso de Reunión de Mascota Encontrada con su Mascota Encontrada[15]
18.1 El sistema debe validar que la Mascota Encontrada[15] ingresada este registrada en el sistema y su Estado de Publicación[6] sea Activo.
18.2 El sistema debe enviar un mail con un link de confirmación al mail del Contacto de Mascota[9] de la Mascota Encontrada[15].
18.3 El sistema debe confirmar el Aviso de Reunión de Mascota Encontrada[18] cuando el link enviado es visitado, dentro de los 3 días posteriores al envío del mail.
18.4 El sistema debe borrar la Mascota Encontrada[15] y da de alta con los mismos datos una Mascota Reunida[12].
19 El sistema debe gestionar Avisos de Observación de Mascotas Perdidas con su Mascota Perdidas[13], Ciudad[8] con su Provincia[7] y su Contacto Externo[10]
19.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.
19.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[19].
19.3 El sistema debe confirmar el Aviso de Observación de Mascota Perdida[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 Perdida[13] con los datos ingresados en el Aviso de Observación de Mascotas Perdida[19].
20 El sistema debe gestionar Avisos de Observación de Mascotas Encontrada con su Mascota Encontrada[15], Ciudad[8] con su Provincia[7] y su Contacto Externo[10]
20.1 El sistema debe validar el Aviso de Observación de Mascotas Encontrada[15] que los datos obligatorios (Ciudad, Provincia, Contacto Externo[10]) esten completos.
20.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[20].
20.3 El sistema debe confirmar el Aviso de Observación de Mascota Encontrada[20] 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[15] con los datos ingresados en el Aviso de Observación de Mascotas Encontrada[20].
21 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.
22 El sistema debe mostrar Mascotas Encontradas[15] cuyo Estado de Publicación[6] sea Activofiltrando por Raza[4] o Especie[3] o Ciudad[8], las combinaciones de estas o sin filtrar.
23 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.
24 El sistema debe mostrar al azar 4 (cuatro) Mascotas Perdida[13], cuyo Estado de Publicación[6] sea Activo.
25 El sistema debe mostrar al azar 4 (cuatro) Mascotas Encontrada[15], cuyo Estado de Publicación[6] sea Activo.
26 El sistema debe mostrar al azar 4 (cuatro) Mascotas Reunida[12], cuyo Estado de Publicación[6] sea Activo.
27 El sistema debe eliminar automáticamente una vez por día todos los links que no han sido confirmados.
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.2 El sistema debe eliminar automáticamente Mascotas Encontrada[15] que han caducado (pasaron 3 días del envío del mail sin confirmación del mismo).
27.3 El sistema debe eliminar automáticamente Avisos de Reunión de Mascotas Perdida[17] 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[18] que han caducado (pasaron 3 días del envío del mail sin confirmación del mismo).
27.5 El sistema debe eliminar automáticamente los Avisos de Observación de Mascotas Perdida[19] que han caducado (pasaron 3 días del envío del mail sin confirmación del mismo).
27.6 El sistema debe eliminar automáticamente los Avisos de Observación de Mascotas Encontrada[20] que han caducado (pasaron 3 días del envío del mail sin confirmación del mismo).
28 El sistema debe confirmar la publicación de Mascota Perdida[13].
28.1 El sistema cambia el Estado de Publicación[6] de la Mascota Perdida[13] de Pendiente de Publicación a Activo.
29 El sistema debe confirmar la publicación de Mascota Encontrada[15].
29.1 El sistema cambia el Estado de Publicación[6] de la Mascota Encontrada[15] de Pendiente de Publicación a Activo.
30 El sistema debe enviar Sugerencias.
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: 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[9]: (Es la persona que reporta una mascota perdida o encontrada) Nombre, E-mail.
Contacto Externo[10]: (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, si aun no fue confirmada por el Contacto de Mascota[9], si todavía no fue publicada.[Activo | Pendiente de Confirmación | Pendiente de Publicación]). 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, 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, 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, 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, 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, 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.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://www3.fi.mdp.edu.ar/pipermail/php-avanzado/attachments/20121203/d40c0207/attachment-0001.html>
Más información sobre la lista de distribución Php-avanzado