[Php-avanzado] [PHP-AVANZADO] SRS RANDOM FOOD

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Lun Dic 2 17:15:00 ART 2013


Hola Nicolás,

	te intercalo observaciones.

El dom, 01-12-2013 a las 14:24 -0300, Nicolas Mozo escribió:
> SRS 1.03 Random Food, Ahi le agregue Leo todo lo que me dijiste, igual
> tanto en el RF 1 y el 11 te comente porque motivo los puse, espero tu
> pronta respusta, saludos.
> 
> Random Food.
> 
> 
> REQUERIMIENTOS FUNCIONALES:
> 
> 
> 1)   El sistema deberá gestionar información nutricional. (Esto lo
> puse por el hecho de que Información nutricional abarca todo el
> listado de elementos que compone un alimento, como cantidad de sodio,
> carbohidratos, potasio, proteínas, grasas totales, etc.).

	Se empieza con "El sistema debe...".
	En el diccionario de Información Nutricional hacés referencia al
Alimento. Habrá más de un Alimento que tenga la misma Información
Nutricional???
	Si la respuesta es NO, entonces esta funcionalidad no existe porque la
Información Nutricional es un atributo más del Alimento. El alimento
tiene como atributos: nombre, calorías e información nutricional.
	Si la respuesta es SÍ, tenés que especificar primero la gestión de
Alimentos para poder redactar: "El sistema deberá gestionar información
nutricional con su Alimento".

> 2)   El sistema deberá gestionar provincias.

	Se empieza con "El sistema debe...".
	Falta el diccionario de Provincia.

> 3)   El sistema deberá gestionar regiones con sus provincias [2].

	Se empieza con "El sistema debe...".

> 4)   El sistema debe gestionar supermercados.
> 
> 5)   El sistema deberá gestionar alimentos.

	Se empieza con "El sistema debe...".
	En el diccionario de Alimentos falta el Tipo de Alimento.
	Luego tenés que invertir estos dos RF:

RF5: El sistema deberá gestionar tipos de alimentos
RF6: El sistema debe gestionar Alimentos con su Tipo de Alimento.

> 6)   El sistema deberá gestionar tipos de alimentos [5].

	Se empieza con "El sistema debe...".

> 7)   El sistema deberá gestionar ofertas (si las hay) con sus
> alimentos [5] obtenidos de supermercados [4].

	Se empieza con "El sistema debe...".

> 8)   El sistema deberá gestionar precios con sus alimentos [5]
> obtenidos de supermercados [4].

	Se empieza con "El sistema debe...".

> 9)   El sistema deberá gestionar precio mínimo con sus alimentos [5]
> obtenidos de supermercados [4].

	Se empieza con "El sistema debe...".
	El precio mínimo, si no entiendo mal, no se gestiona, se calcula.

> 10)          El sistema deberá gestionar suscriptores con su región y
> su provincia.

	Se empieza con "El sistema debe...".
	Falta la Provincia en el diccionario

> 11)          El sistema deberá gestionar visitantes. (Leo coloque
> visitantes, para referirme a los usuarios que buscan sin registrarse,
> igual esto lo aclare en el diccionario).

	Se empieza con "El sistema debe...".
	Una especificación funcional, dice lo que hace el software, y no para
quién lo hace. Sacá este RF tranquilo porque no implica ninguna
funcionalidad.

> 12)          El sistema deberá solicitar y gestionar características
> de los suscriptores [10]; en el caso de ser un visitante [11] se
> tomaran datos como, nombre, apellido, peso y altura.

	Se empieza con "El sistema debe...".

> 13)          El sistema deberá gestionar tipo de alimentación de cada
> suscriptor [10].

	Se empieza con "El sistema debe...".
	Falta Tipo de Alimentación en el diccionario.
	Esto lo tenés que especificar antes del Subscriptor, y en el RF del
Subscriptor agregar "y su tipo de alimentación" haciendo referencia al
RF que sea.

> 14)          EL sistema deberá poder realizar comidas de manera
> aleatoria extraídos de una base de datos en forma diaria (“RandomDay”)
> o planes más extensos, teniendo en cuenta las características de dicho
> suscriptor [10], y la región [3] (este dato es importante, para la
> elaboración de alimentos típicos de la región).

	Se empieza con "El sistema debe...".
	Sacá la palabra "poder". Es fuente de ambigüedades en este ámbito.
	Cuál es el mecanismo por en que este sistema realizará una comida???
Hasta acá hay especificado solo Alimentos y no comidas ni recetas.

> 15)          El sistema deberá gestionar recetas según la comida
> elegida u obtenida aleatoriamente [14].  Cada una de estas recetas
> poseerá  ingredientes, procedimientos, tiempo de cocción (en caso de
> ser un alimentos que requieran aumentar su temperatura), calorías,
> precio aproximado de dicha receta.

	Se empieza con "El sistema debe...".
	Así como en las Provincias no enumerás los atributos, acá tampoco lo
hagas. Sí hacé referencia a las cosas que se gestionan por separado,
como los Alimentos.
	Esto no es fácil de ver porque estás llamando en el diccionario de
Recetas "ingrediente" a lo que en todo el resto del documento llamás
"alimento". Hay que usar siempre el mismo nombre porque si no parecen
cosas distintas! (o te falta especificar "ingrediente").
	El precio lo pone el que carga la receta o se calcula solo? Si se
calcula solo, especificá el cálculo a hacer.

> 16)          El sistema debe buscar alimentos por:
> 
>  a. Orden alfabético.
> 
>  b. Por tipo de alimento [6].
> 
>  c. Tipo de alimentación [13].

	Te recuerdo que no está especificado "Tipo de Alimentación".

>  d. Calorías.
> 
> 17)          El sistema deberá extraer las ofertas [7] y precios [8]
> de los supermercados [4] adheridos al sistema y visualizarlos
> públicamente a todos los suscriptores, registrados o no, tanto en los
> alimentos aleatorios [14] como en los visualizados en la sección
> (“Productos”).

	Se empieza con "El sistema debe...".
	Sacá de acá quienes ven estas cosas: la funcionalidad es lo que se ve y
no quién lo ve.
	Nombrás una "sección productos" que aparece por arte de magia, porque
no hay especificadas secciones (y posiblemente no haga falta
especificarlas porque no hay una funcionalidad asociada.)

> 18)          El sistema deberá, en el momento que se obtiene la comida
> aleatoria [14], teniendo en cuenta ofertas [7] y precios [8] de los
> diferentes supermercados, visualizar sus ingredientes con sus
> respectivas ofertas [7] y en el caso de no tenerlo, visualizar el
> precio [8] más bajo y mostrar a que supermercado [4] corresponde dicha
> oferta.

	Se empieza con "El sistema debe...".


> 19)          El sistema deberá gestionar un buzón de salida para
> establecer un contacto visitante/suscriptor al administrador (validar
> los datos teniendo en cuenta que todos los campos estén llenos).

	Se empieza con "El sistema debe...".
	No se entiende si esto es un "formulario de contacto" o si es un
mecanismo para desde el sitio enviar mensajes a visitantes y
subscriptores.
	Por qué vía se establece el contacto? Por SMS? Por carta certificada?
Por teléfono?

> 20)          El sistema deberá brindad una ayuda-tutorial sobre
> RandomFood, sus características y como usarlo.

	Se empieza con "El sistema debe...".
	Esto no es una funcionalidad del software, es una página estática de
ayuda. Sacala de las funcionalidades.

> 21)          El sistema debe gestionar recetas con su suscriptor [10]
> y que estos puedan compartir recetas y ser valorizadas como positivas
> o negativas, a determinada reputación dichas recetas serán cargadas o
> actualizaran otras.

	Repetís el RF 15 pero redactado distinto. Cual vale? No tenés que tener
dos veces la gestión de las Recetas...



> DICCIONARIO:
> 
> 
>             Suscriptor Registrado = Persona registrada en el sitio.
> Atributos: nombre de usuario, nombre, apellido, contraseña, edad,
> región, altura, peso. 
> 
>             Visitante = Persona no registrada en el sitio. Atributos:
> Nombre, apellido, peso y altura.
> 
>             Características de los suscriptores = Determina las
> características nutricionales y físicas del usuario. Atributos: peso,
> edad, altura, tipo de alimentación (Si es celiaco, diabético, no posee
> restricciones, vegetariano, deportista) y región.
> 
>             Características de los visitantes = Determina las
> características mínimas de una persona para dar un apropiado alimento
> aleatorio. Atributos: peso, edad, nombre, e-mail (opcional). 
> 
>             Planes = Según el aporte del suscriptor/visitante al
> sitio, se le otorgaran diferentes beneficios, si el usuario no aporta
> nada, nada más podrá hacer búsquedas aleatorias por día, si el
> suscriptor/visitante paga los planes podrá beneficiarse con búsquedas
> más extensas y tener un seguimiento de la misma.
> 
>             Información Nutricional = características que portaran
> cada alimento. Atributo: nombre alimento, características.
> 
>             Precios = Costo sustraído de los supermercados adheridos
> el cual son fijados en cada alimento único. Atributo: alimento,
> supermercado, precio.
> 
>             Ofertas = Costo menor a Precios de los supermercados
> adheridos el cual son fijados en cada alimento único. Atributo:
> alimento, supermercado, precio.
> 
>             Precio Mínimo = En esta tercer categoría de costos, se
> expresaran precios menores a cualquier otro, sin necesidad de ser
> oferta. Atributo: alimento, supermercado, precio.
> 
>             Alimento = Sustancia nutricional en la que se basaran las
> recetas que proporcione dicho sitio. Atributo: nombre, información
> nutricional, calorias.
> 
>             Tipos de Alimentos = división que se aplica sobre
> Alimentos el cual consiste en distribuir los alimentos en carnes
> rojas, carnes blancas, verduras, cereales, frutas, etc.).
> 
>             Ingredientes = Alimentos correspondientes que llevaran una
> receta.
> 
>             Supermercado = Mercado adherido al sitio el cual brindara
> todos los alimentos o su mayoría. Atributos: nombre.
> 
> Región = nombre de la provincia, especificar sea norte, centro o sur
> de dicha provincia, en el que se basará el sitio para dar un alimento
> típico de dicha región. Atributo: nombre, provincia.
> 
> Recetas = Lista de todos los alimentos y características que llevara
> la realización de un determinado plato de comidas. Atributos:
> Ingredientes, tiempo de cocción, calorías y precio aproximado.
> 
>             Buzón de Salida = Espacio en el que el usuario podrá
> explayarse sobre alguna cuestión, pregunta o problema sobre el sitio.
> Atributos: Texto, asunto, nombre, e-mail.
> 
>             Reputación = Espacio donde cada receta será valorizada por
> los demás suscriptores, dando un punto, ya sea negativo o positivo. 

	Falta una funcionalidad que especifique la valoración de una receta.


	Bueno Nicolás, es una gran mejora, de veras.
	Ahora que estás encaminado, enviame lo antes posible una nueva versión
así avanzamos!

	Salu2!



-- 
Leonardo Tadei
leonardot en pegasusnet.com.ar
Web: http://leonardo.tadei.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