[Php-avanzado] SRS S+ 3º Revisión!
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Lun Jul 6 20:59:20 ART 2009
Hola Carolina!
El dom, 05-07-2009 a las 20:28 -0300, Silverzero escribió:
> ¡Hola Leo!
>
> Te mando mis correcciones y aclaraciones, las cuales están indicadas
> con "--------------->"
Ok.
> [ SALI | + ]
>
> SALI + es un sitio en donde los visitantes se registran para publicar
> eventos, actividades y lugares que sean para "salir". Las
> publicaciones
> se muestran organizadas principalmente por categoría. Dentro de cada
> de
> sección se listan eventos recomendados por SALI +, y recomendados por
> los usuarios, como así también salidas al azar. Además el sitio
> contiene
> un "mini sitio", con la misma estructura y funcionamiento que SALI +,
> pero éste contendrá eventos, actividades y lugares para los niños,
> esta
> sección será denominada SALI + Kids.
>
> # Agregaste lo de Sali + Kids... agregado de esta manera, pareciera
> que
> tenés que dividir los requerimientos para dos proyectos, uno Sali + y
> el
> otro Sali + kids... sin embargo, lo más probable es que estés pensando
> en que ciertas categorías sean para chicos, en cuyo caso Sali + kids
> se
> reduce a algunas categorías.
> Lo importante es que tenés que definir si son 2 proyectos o son un
> solo
> proyecto. Si Sali + Kids tiene características que lo diferencian de
> Sali +, lo tendrás que dejar para otra etapa, porque para tesis de
> este
> curso 2 proyectos es demasiado, aunque sean proyectos parecidos.
>
> ---------------> Visualmente sería como un minisitio dentro de SALI+,
> pero en realidad son categorías para lo referente a niños.
Entonces, no hace falta aclararlo como requerimiento funcional, pero
estaría muy bueno ponerlo como requerimiento no funcional!
> 01. El sistema debe gestionar categorías y subcategorías para eventos,
> actividades y
> lugares.
Ojo! Un requerimiento para cada entidad! Acá hay dos.
Por otra parte, está bueno que al definir eventos, indiques que están
categorizados y/o subcategorizados. Si un evento tiene categoría, es un
requerimiento del evento. Si la categoría no tiene eventos, entonces es
mejor no nombrarlo ahí.
Vos lo estás nombrando de ambas maneras, y te queda una definición
circular, que es inherentemente abigua.
> 02. El sistema debe gestionar eventos. Se deben ordenar por categoría,
> fecha de evento, fecha de publicación.
y no por subcategoría?
> 03. El sistema debe gestionar actividades permanentes y temporales. Se
> deben ordenar, para los permanentes: por categoría, orden alfabético,
> fecha de publicación, para los temporales: por categoría, vigencia,
> fecha de publicación.
>
> 04. El sistema debe gestionar lugares. Se deben ordenar por categoría,
> destacados, orden alfabético.
>
> # en el diccionario, la definición de "lugar" no lo define muy bien,
> porque más bien define la actividad...
>
> ---------------> traté de aclararlo un poco mejor, espero que se
> entienda un poco más
>
> 05. El sistema debe utilizar las subcategorías predefinidos en la
> publicaciones,
> como criterio para filtrarlas dentro de una misma categoría. El
> sistema
> debe mostrar sólamente las subcategorías de la categoría
> correspondiente en la
> que se lista.
>
> # te decidiste a agregar tags... y a la vez categorías... me parece
> que
> te estás complicando un poco, salvo que ni bien tengas el SRS te
> pongas
> a trabajar en la tesis para aprovechar este mes extra que tenemos...
> para mi gusto queda grande.
>
> --------------->las voy a implementar como subcategorías
Ok. Entonces, cambiá en dónde diga tags por subcategorías.
Podrías tener un requerimiento no funcional que diga que las
subcategorías tengan el aspecto de tags para los usuarios.
Por otra parte: tenés Categorías, las Subcategorías tienen, entre otras
cosas, Categorías, y las actividades y eventos entonces tendrán
subcategorías o categorías y subcategorías? No es lo mismo y hay que
definirlo...
> 06. El sistema debe filtrar publicaciones por precio, establecimiento,
> usuario.
Qué hace el usuario acá???
Fijate las observaciones a la SRS de Carlos, en donde me explayo sobre
esto.
> 07. El sistema debe ofrecer la opción de publicar un mismo evento en
> varias categorías y con múltiples tags.
Esto desambigua basante el 05. Sin embargo, es importante que tengas
claro si son tags o subcategorías, porque se usan de forma distinta.
También vale hacer un híbrido entre ambas cosas! lo importante es que
quede bien definido lo que el sistema debe hacer.
> 08. El sistema debe evitar la inserción duplicada de eventos,
> actividades y lugares. En caso de similitud o igualdad, advertir al
> usuario durante la publicación.
>
> 09. El sistema debe alimentar el campo "lugar" en los formularios para
> publicar eventos y actividades, con las publicaciones de lugares.
>
> # no se entiende que es esto de "alimentar" un campo...
>
> ---------------> en el formulario de publicaciones, en el campo en
> dónde se especifica dónde va a ocurrir el evento, que haya un campo
> con la lista de lugares que ya fueron definidos en la categoría
> lugares, pero tal vez esto no sea un requerimiento funcional porque
> habla de la interfaz del usuario específicamente, no?
Es correcto: esto entonces no es un requerimiento funcional, sino uno
no funcional.
Lo que creo es que vale la pena definir un poco mejor los "lugar"...
temo que cuando lo definas te van a aparecer Ciudades, Provincias y
quién sabe qué más!
> 10. El sistema debe llevar un conteo de la cantidad de publicaciones y
> publicaciones activas a la fecha, en total y por usuario.
Usuario???
> 11. El sistema debe contener un "diccionario negro".
>
> 12. El sistema debe poner "en observación" la inserción de
> publicaciones
> que contengan palabras específicas que estén dentro del "diccionario
> negro", por ejemplo malas palabras. Serán aprobadas manualmente por un
> administrador.
Más que "poner en observación", yo diría que debe dejarlas pendientes
de publicación.
Por otra parte, esto significa que te falta un requerimiento para
indicar la aprobación o no de las actividades pendientes.
> 13. El sistema debe registrar votos a eventos, actividades y lugares
> para generar los recomendados respectivamente.
>
> 14. El sistema debe mostrar los eventos que vayan a ocurrir el día de
> la
> fecha y los que estén categorizados dentro de NOCHE hasta las 6:00 am
> del día siguiente en la meta-sección HOY.
>
> 15. El sistema debe listar los eventos durante el día correspondiente
> a
> la publicación hasta las 6:00 am del día siguiente en la sección
> NOCHE.
>
> 16. El sistema debe listar los eventos que vayan a ocurrir en la playa
> en la sección PLAYA.
>
> 17. El sistema debe listar eventos al azar que estén programados para
> dentro de los 15 días siguientes, los cuales no deben repetirse entre
> ellos.
>
> 18. El sistema debe llevar un historial de publicaciones y
> recomendaciones por usuario.
>
> 19. El sistema no debe permitir la edición de eventos una vez que ya
> hayan sucedido.
>
> # muy buen requerimiento.
>
> ---------------> =D
>
> 20. El sistema debe gestionar la inserción de eventos y actividades
> múltiples de acuerdo a su duración y/o repetición. Variantes: Fecha
> única (Ej:20 de agosto), período consecutivo (Ej: del 10 al 20 de
> agosto), período no consecutivo (Ej. 10, 15 y 20 de agosto).
>
>
> ------------------ Glosario ------------------------
>
> ::::::::::::::::::::::::::::::::::::::::::::::::::::
> :: [ SALI | + ] ::::::::::::::::::::::::::::::::::::
> ::::::::::::::::::::::::::::::::::::::::::::::::::::
>
> Categorías para Eventos y Actividades:
>
> :: MÚSICA ::::::::::::::::::::::::::::::::::::::::::
>
> -> Subcategorías: Acústico, Alternativo, Blues, Bossa Nova, Brit,
> Celta,
> Clásica, Clínica, Covers internacionales, Covers nacionales,
> Electroacústico, Electrónica, Étnica, Flamenco, Folklore, Freestyle,
> Funk, Fusión, Gótica, Hardcore, HipHop/Rap, Indie, Instrumental, Jazz,
> Latina, Lírica, Metal, Murga, Percusión, Pop, Popular, Reggae, Rock,
> Ska, Soul, Tango, Trova, Zarzuela.
>
> :: CINE ::::::::::::::::::::::::::::::::::::::::::::
>
> -> Subcategorías: Animación, Anime, Cartelera, Clase B,
> Cortometraje,
> Festival, Festival Internacional, Gay, Independiente, Condicionado.
>
> :: ARTE Y DISEÑO :::::::::::::::::::::::::::::::::::
>
> -> Subcategorías: Arquitectura, Dibujo, Diseño, Escultura,
> Fotografía,
> Literatura, Pintura, Moda e Indumentaria.
>
> :: TEATRO ::::::::::::::::::::::::::::::::::::::::::
>
> -> Subcategorías: Danza, Performance, Ópera, Comedia, Comedia
> Musical, Drama,
> Circo, Mimo, Marionetas, Murga, Títeres, Tragedia, Tragicomedia,
> Farsa,
> Monólogo, Vodevil, Zarzuela.
>
> :: DANZA :::::::::::::::::::::::::::::::::::::::::::
>
> -> Tags: Ballet, Jazz, Flamenco, HipHop, Breakdance, Folklórica,
> Arabe, Salsa, Merengue, Tango, Africana, Capoeira, Lambada, Rock&Roll,
> Contemporánea, Latinoamericana.
>
> :: DEPORTES ::::::::::::::::::::::::::::::::::::::::
>
> -> Subcategorías: Surf, Skate, Sandboard, Fútbol, Rugby, Acuáticos,
> Náuticos,
> Aeronáuticos, Básquetbol, Maratón, Caminata, Ciclismo, Automovilismo,
> Motociclismo, Fútbol 5, Artes marciales, Tenis, Paddle, Lucha libre,
> Boxeo, Golf, Montañismo, Bowling, Billar y Pool, Ajedrez, Juegos de
> azar, Ping Pong, Hockey, Patinaje, Gimnasia, Esgrima, Atletismo.
>
> :: TECNOLOGÍA ::::::::::::::::::::::::::::::::::::::
>
> :: CIENCIA :::::::::::::::::::::::::::::::::::::::::
>
> :: SALUD :::::::::::::::::::::::::::::::::::::::::::
>
> :: RECREACIÓN ::::::::::::::::::::::::::::::::::::::
>
> :: PLAYA :::::::::::::::::::::::::::::::::::::::::::
>
> :: FIESTAS ::::::::::::::::::::::::::::::::::::::::: (sólo en eventos)
>
> :: NOCHE ::::::::::::::::::::::::::::::::::::::::::: (sólo en eventos)
>
> Categorías para Lugares:
>
> :: RESTAURANTS
> :: BARES
> :: RESTO BAR
> :: CONCERT BAR
> :: DISCOS
> :: MULTIESPACIOS
> :: CASINOS Y BINGOS
> :: MUSEOS
> :: TEATROS
> :: CINES
> :: RESERVAS NATURALES
> :: LA CIUDAD
> :: FERIAS
> :: RECREACIONALES
>
> # Esta entrada en el glosario no define nada: una enumeración de datos
> que incluso cargará el administrador, no es una definición.
> El ejemplo está bueno y es útil, pero no es una definición...
>
> ---------------> lo puse acá para que no dificulte la lectura de los
> requerimientos en el inciso 01, que hago, lo pongo arriba entonces?.
No. O pasalo a un apéndice, o sacalo directamente.
Lo importante de la Categoría es que tiene un "nombre", y no cuales
serán los nombres que se cargarán.
De la misma manera, lo importante de una subcategoría es que tienen un
"nombre" y una "categoría", y no cuales serán las que se carguen.
Si estás haciendo el requerimiento del sistema de la guía telefónica,
me vas a transcribir las entradas de la guía en la definición o me vas a
decir que tienen "apeliido, nombre, dirección y teéfono" ???
> ::::::::::::::::::::::::::::::::::::::::::::::::::::
> :: [ SALI | + ] Kids :::::::::::::::::::::::::::::::
> ::::::::::::::::::::::::::::::::::::::::::::::::::::
>
> Categorías para Eventos y Actividades:
>
> :: MÚSICA ::::::::::::::::::::::::::::::::::::::::::
>
> :: CINE ::::::::::::::::::::::::::::::::::::::::::::
>
> :: ARTE Y DISEÑO :::::::::::::::::::::::::::::::::::
>
> :: TEATRO ::::::::::::::::::::::::::::::::::::::::::
>
> :: DANZA :::::::::::::::::::::::::::::::::::::::::::
>
> :: DEPORTES ::::::::::::::::::::::::::::::::::::::::
>
> :: TECNOLOGÍA ::::::::::::::::::::::::::::::::::::::
>
> :: CIENCIA :::::::::::::::::::::::::::::::::::::::::
>
> :: SALUD :::::::::::::::::::::::::::::::::::::::::::
>
> :: RECREACIÓN ::::::::::::::::::::::::::::::::::::::
>
> :: PLAYA :::::::::::::::::::::::::::::::::::::::::::
>
>
> Categorías para Lugares:
>
> :: COLONIAS DE VACACIONES
> :: JUEGOS Y VIDEO JUEGOS
>
>
> Publicación: Datos que el usuario ingresa para que sea visto por los
> visitantes.
>
> Evento: Una publicación mediante la cual el usuario comunica que algo
> va
> a ocurrir en un determinado momento, durante uno o varios días.
> (Ej.Una
> presentación de un libro).
> Datos a gestionar: Categoría/s, Subcategorías, Fecha, Hora, Lugar,
> Dirección,
> Teléfono, Título, Descripción, Imagen, Url
>
> Actividad: Una publicación mediante la cual el usuario comunica que
> algo
> ocurre de forma permanente o temporal. (Ej. Clases de danza
> contemporánea).
> Datos a gestionar: Categoría/s, Subcategorías, Días y Horarios, Lugar,
> Dirección,
> Teléfono, Título, Descripción, Período de vigencia.
>
> Lugar: Una publicación mediante la cual el usuario comunica la
> existencia un lugar en dónde sus características o servicios, lo
> convierte en atractivo para ir a hasta allí.
> Datos a gestionar: Categoría/s, Subcategorías, Días y Horarios, Lugar,
> Dirección,
> Teléfono, Descripción.
>
> # esto es lo que te decía: para definir lugar, explicás que es una
> publicación...
>
> ---------------> porque la información de un lugar también la
> "publica" un usuario.
Entonces. qué atributos tiene un "lugar"?
Nombre? Dirección? Ciudad?
Definir "lugar" no implica poner por quién será usado.
> Categoría: Sección en dónde determinados eventos, actividades y
> lugares
> se agrupan según su temática sea correspondiente a la temática de
> dicha
> categoría.
>
> Subcategoría: se eligen para subcategorizar al momento de la
> publicación, ofreciendo al visitante una lectura rápida de la temática
> del evento.
>
> Recomendados: Evento, actividad o lugar que se le recomienda al
> visitante para que asista. Los mismos pueden ser recomendados por los
> usuarios, los cuales se posicionan a través de sus votaciones, o
> pueden
> ser recomendados por el sistema, a través de intervención manual de un
> administrador.
>
> Diccionario negro: Conjunto de palabras que se encuentran prohibidas
> para realizar publicaciones.
>
> -------- Requerimientos no funcionales --------------
>
>
> HOY es una metasección, la cual no se ofrece al usuario para elegir al
> momento de publicación.
> NOCHE y PLAYA son categorías secundarias, las cuales se ofrecen para
> "adicionar" al momento de publicación.
> AL AZAR es una metasección, la cuál muestra en un sector de cada
> categoría una cantidad de eventos aleatoriamente.
> El sistema debe manipular imágenes (sin distorsionarlas).
> Cada usuario tendrá un perfil, con sus datos personales que ingresó al
> momento del registro, más información e imagen adicional que agrega de
> manera optativa, y el historial de publicaciones y recomendados.
> Las actividades y lugares serán publicaciones sin imágenes.
>
>
> # Se ve muy bien. Cambiando esas pavaditas, ya estaría lista, salvo
> que
> como esta vez agregues más cosas nuevas!
> Definí lo de Sali + Kids: si es un grupo de categorías, no hace falta
> especificar nada en los requerimientos, ya que con la introducción se
> entiende bien. Si es otro sistema, pues tendrá su propia SRS...
>
> Te estás metiendo en un lio interesante de normalización...
> hacé
> primero los ejercicios, que son más simples, así precalentás...
>
> ---------------> si, debo practicar !
>
> Seguimos!
>
> ---------------> Gracias por las correcciones, saludos!
Por nada Carolina!
Nos vemos!
--
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