[Php-avanzado] SRS S+ 3º Revisión!
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Dom Jul 5 00:50:51 ART 2009
Hola Carolina,
El vie, 03-07-2009 a las 18:30 -0300, Silverzero escribió:
> ¡Hola Leo!
>
> Cambios y ordenamiento. Creo que mejoró, tu me dirás.
> Adjunto txt.
Muy bueno lo del versionado de la SRS! Cuando se hacen de verdad se
versionan, para saber cual es cual, y que lo hayas intuido es lindo.
Lo pego acá, y te lo comento entre líneas con un #.
[ 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.
01. El sistema debe gestionar categorías para eventos, actividades y
lugares, para SALI + y SALI + Kids.
# Lo dicho: si son proyectos distintos, serán SRSs distintas, si son el
mismo proyecto pero unas categorías para uno y otras para el otro: para
qué aclararlo ?
02. El sistema debe gestionar eventos. Se deben ordenar por categoría,
fecha de evento, fecha de publicación.
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...
05. El sistema debe utilizar los tags predefinidos en la publicaciones,
como criterio para filtrarlas dentro de una misma categoría. El sistema
debe mostrar sólamente los tags 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.
06. El sistema debe filtrar publicaciones por precio, establecimiento,
usuario.
07. El sistema debe ofrecer la opción de publicar un mismo evento en
varias categorías y con múltiples tags.
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...
10. El sistema debe llevar un conteo de la cantidad de publicaciones y
publicaciones activas a la fecha, en total y por usuario.
# muy buen requerimiento: habla netamente de funcionalidad.
11. 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.
# entonces falta el requerimiento de que debe existir un "diccionario
negro", con su definición en el diccionario, etc.
12. El sistema debe registrar votos a eventos, actividades y lugares
para generar los recomendados respectivamente.
13. 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.
14. 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.
15. El sistema debe listar los eventos que vayan a ocurrir en la playa
en la sección PLAYA.
16. 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.
17. El sistema debe llevar un historial de publicaciones y
recomendaciones por usuario.
18. El sistema no debe permitir la edición de eventos una vez que ya
hayan sucedido.
# muy buen requerimiento.
19. 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 ::::::::::::::::::::::::::::::::::::::::::
-> Tags: 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 ::::::::::::::::::::::::::::::::::::::::::::
-> Tags: Animación, Anime, Cartelera, Clase B, Cortometraje,
Festival, Festival Internacional, Gay, Independiente, Condicionado.
:: ARTE Y DISEÑO :::::::::::::::::::::::::::::::::::
-> Tags: Arquitectura, Dibujo, Diseño, Escultura, Fotografía,
Literatura, Pintura, Moda e Indumentaria.
:: TEATRO ::::::::::::::::::::::::::::::::::::::::::
-> Tags: 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 ::::::::::::::::::::::::::::::::::::::::
-> Tags: 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...
::::::::::::::::::::::::::::::::::::::::::::::::::::
:: [ 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, Tags, 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, Tags, 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 que existe
un lugar con determinadas características, el cuál puede ser motivo de
una "salida".
# esto es lo que te decía: para definir lugar, explicás que es una
publicación...
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.
Tags: Palabras clave que 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.
-------- 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...
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