[Php-avanzado] Sali+ Re: SRS
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Mie Jun 24 17:06:28 ART 2009
Hola Carolina,
El mar, 23-06-2009 a las 16:51 -0300, Silverzero escribió:
> Hola Leo,
>
> Pulí lo que pude y agregué algunas cosas más.
Ok.
> Lo que me pregunté es que en las categorías, no si me convendrá usar
> TAGS para los "subgéneros" de cada una de ellas...qué opinas?
A mi me da lo mismo, en el sentido de que este es tu proyecto.
Los tags son más flexibles, pero un poquito más complejos de
implementar.
Con las categorías me queda claro que las iban a crear los
administradores, pero con los tags esto no queda claro: los tags serán
fijos y predefinidos o cualquiera puede agregarlos?
Esta es una pregunta interesante para que vos te hagas.
> ¡Gracias y saludos!
Por nada!
La SRS avanzó muchísimo, pero sobre todo tu comprensión del problema
que estás resolviendo, que es la parte importante.
Te hago observaciones intercaladas.
> ----------------------------
>
> [ SALI | + ]
>
> SALI + es un sitio en donde los visitantes se registran y luego
> publican
> eventos y/o actividades. Las publicaciones se muestran organizadas
> principalmente por categoría y fecha + hora. Dentro de cada de sección
> se listan los eventos recomendados por SALI + y también
> los recomendados por los usuarios.
>
> 01. El sistema debe gestionar eventos. Se listan por fecha de evento.
>
> Datos a gestionar:
>
> Categoría
> Fecha
> Hora
> Lugar
> Teléfono
> Título
> Descripción
> Imagen
Los datos a gestionar son importantísimos, pero ponerlos acá dificulta
seguir la SRS. Queda más legible si en el glosario ponés "evento" y la
lista de datos.
Fijate que si bien se desprende de los datos, el requerimiento no
explicita algo importante, que es que los eventos están categorizados.
Cómo escribirías esto?
Otra cosa es que el requerimiento que habla de categorías está más
abajo, así que al leerlo uno no sabe tanto de qué significa que el
evento tenga una categoría.
Siempre es mejor poner los requerimientos referenciados primero, y
mejor todavía si el requerimiento que los usa hace referencia al otro
requerimiento.
> 02. El sistema debe gestionar actividades. Se listan por fecha de
> publicación.
>
> Datos a gestionar:
>
> Categoría
> Lugar
> Teléfono
> Título
> Descripción
Las actividades no tienen horario? Ni una observación para poder
escribir "los Lun, Mie y Vie de 18 a 20hs" ???
> 03. El sistema debe gestionar categorías en dónde los eventos o
> actividades de misma índole sean agrupados. Las mismas serán:
>
> Para eventos:
>
> º HOY
> º NOCHE
> º MÚSICA
> - Acústico, Alternativo, Blues, Brit, Clásica, Electrónica, Étnica,
> Folklore, Funk, Fusión, Gótica, Hardcore, HipHop/Rap, Indie, Jazz,
> Latina, Metal, Opera, Pop, Reggae, Rock, Ska, Tango.
> º CINE
> - Cartelera, Independiente, Anime, Adultos, Clase B.
> º ARTE
> - Arquitectura, Dibujo, Diseño, Escultura, Fotografía, Literatura,
> Pintura.
> º TEATRO
> - Danza, Performance, Ópera, Comedia, Comedia Musical, Drama, Circo,
> Mimo, Marionetas, Títeres, Tragedia, Tragicomedia, Farsa, Monólogo,
> Zarzuela, Vodevil.
> º EXPOS / FERIAS
> º CONFERENCIAS / CHARLAS
> º AL AIRE LIBRE / PLAYA
> º CAMPEONATOS
> - Juegos, Deportes, Danza, Freestyle, Música, Otros.
> º INFANTILES
> - Teatro, Danza, Circo, Títeres, Música, Literatura.
>
> Para actividades:
>
> Música
> Teatro
> Danza
> Cine
> Arte
> Deportes
>
> 04. El sistema debe evitar la inserción repetida de eventos y
> actividades idénticos. En caso de similitud o igualdad, advertir al
> usuario al momento de la publicación.
Este es un excelente requerimiento, ya que no habla de qué se gestiona
sino de reglas del dominio del problema, como que hay que evitar la
duplicación y advertir de las similitudes.
> 05. El sistema debe ofrecer la opción de publicar un mismo evento en
> varias categorías.
>
> 06. El sistema debe gestionar eventos recomendados, los cuales se
> generan a través de la votación de los usuarios.
Entonces, no es que el sistema debe registrar los votos a los eventos
para generar recomendaciones???
Acordate de que reservamos la palabra "gestión" para los ABML, y no
creo que tengas un ABM de eventos recomendados, porque significaría
tener la misma funcionalidad de 01 con un dato más que es "voto".
Se entiende?
> 07. El sistema debe mostrar los eventos que vayan a ocurrir el día de
> la fecha en la sección HOY.
Entonces HOY es una metasección y no iría en el listado de 03, o al
menos le haría falta una aclaración?
> 08. El sistema debe listar los eventos durante el día correspondiente
> hasta las 6:00 am del día siguiente en la sección NOCHE.
Idem a 07.
> 09. El sistema debe listar eventos al azar que estén programados para
> dentro de los 15 días siguientes. Los mismos se visualizarán en un
> sector de cada categoría.
Esto medio que me da la razón, porque "AL AZAR" no aparece en 03...
> 10. El sistema debe llevar un historial para los usuarios de sus
> publicaciones y de cuándo sus evetos publicados llegaron a ser
> recomendados.
Hay algo "raro" en este requerimiento, pero no me doy cuenta de qué
es...
> 11. El sistema debe gestionar la inserción de eventos 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).
> Para ésto, el sistema debe ofrecer un calendario en dónde el usuario
> pueda seleccionar fechas múltiples dentro de un rango máximo de 3
> meses a partir de la fecha.
Tenés mezclado acá un requerimiento funcional, como es el manejo de las
fechas, con uno no funcional, como es el calendario que verá el usuario.
A separarlos!
> 12. El sistema debe gestionar banners publicitarios y sus categorías,
> como así también listarlos de forma estática, o dinámica
> aleatoriamente con cada refresh de la página.
Cómo te decía en el mail anterior, la gestión de banners es una tesis
por sí sola.
Te vuelvo a recomendar que no la incluyas en este trabajo, porque
corrés un alto riesgo de no terminar de acá a Diciembre y perder el
curso.
La única excepción podría ser que hayas encontrado código que haga esto
y solo quieras integrarlo, pero aún así mi opinión es que mejor no.
Podés agregar los banners después!!!
> Glosario:
>
> 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)
>
> Actividad: Una publicación mediante la cual el usuario comunica que
> algo
> ocurre de forma contínua. (Ej. Clases de danza contemporánea). .
>
> Categoría: Sección del sitio en dónde determinados eventos o
> actividades
> se agrupan según su temática sea correspondiente a la temática de
> dicha
> categoría.
>
> Recomendados: Evento 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:
>
> 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 serán publicaciones sin imágenes.
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