[Php-avanzado] RV: especificacion de requerimientos

lorena febbraro febbweb en gmail.com
Mie Nov 23 13:34:19 ART 2011


Enviado desde mi BlackBerry® de Claro Argentina

-----Original Message-----
From: "lorena febbraro" <febbweb en gmail.com>
Date: Tue, 22 Nov 2011 02:36:09 
To: Lista del curso de PHP Avanzado<php-avanzado en pato2.fi.mdp.edu.ar>
Reply-To: febbweb en gmail.com
Subject: Re: [Php-avanzado] especificacion de requerimientos

Especificación de Requerimientos

(Sistema de Análisis de Gestión Comercial)

El Sistema deberá realizar un análisis estadístico de la gestión comercial de compra y venta de una empresa, analizando los aspectos cuantitativos y cualitativos de los clientes de la empresa.

Requerimientos Empresariales

 El Sistema debe optimizar la administración Comercial para obtener un
 perfil detallado de los clientes de cada zona de la empresa y obtener
 informes de la gestión comercial.


 Requerimientos Funcionales

1) El Sistema debe importar y almacenar datos q se leen de un archivo con formato de una   “  hoja de calculo ” que se obtiene del Sistema Central, correspondiente a un periodo.

2) El Sistema debe gestionar países

3) El Sistema debe gestionar provincias con su respectivo país.

4) El Sistema debe gestionar localidades con su respectiva provincia y país.

5) El Sistema debe gestionar clientes

6) El Sistema debe gestionar clientes con su localidad, provincia y país.

7) El Sistema debe gestionar operadores

8) El Sistema debe gestionar operadores con su localidad, provincia y país.

9) El Sistema debe gestionar tipos de granos.

10) El Sistema debe gestionar granos con su respectivo tipo de grano.

11) EL Sistema debe gestionar periodos.

12) El Sistema debe gestionar periodos presupuestarios.

13) El Sistema debe generar un informe  y un grafico de barras y tortas , para  las ventas de todos los clientes por cantidad y por valor, de todas las zonas de la empresa por periodo , por tipo de grano.
// cuando hago referencia a “las ventas por cantidad” y a “las ventas por valor”  , es el total en  kg y total  en $

13.a) El Sistema debe generar un informe  y un grafico de barras y tortas , de las ventas por cantidad y valor,  por cliente por tipo de grano por zona por periodo

14) El Sistema debe generar un informe y un grafico de barras y tortas con la Variación Porcentual de dos periodos comparativos de las ventas de cada periodo por tipo de grano y por zona.

Restricción (las comparaciones siempre se realizan con un periodo anterior; no necesariamente debe ser el inmediato anterior) 

15) El Sistema debe generar un informe y un grafico de barras y tortas con las ventas por cantidad y valor,  de todos los clientes de cada zona.

16) El Sistema debe generar un informe y un grafico de barras y tortas con las ventas por cantidad y valor, de todos los granos por cada periodo.

17) El Sistema debe generar un informe y un grafico de barras y tortas con la cantidad de clientes de cada zona que tuvo actividad comercial en un determinado periodo por tipo de grano.
 

18) El Sistema debe generar un informe y un grafico de barras y tortas de las Comisiones de las ventas por cantidad , de cada zona, según el tipo de grano y el periodo.

19) El Sistema debe generar un informe y un grafico de barras y tortas con el porcentaje de la Comisión Cobrada (% Comisión Cobrada) por cada tipo de grano por cada zona en un periodo determinado.

20) El Sistema debe generar un informe y un grafico de barras y tortas con el porcentaje de la Comisión Cobrada (% Comisión Cobrada) por cada tipo de grano por cada zona por cliente en un periodo determinado.

21) El Sistema debe generar un informe y un grafico de barras y tortas con el Precio Promedio de cada zona de un determinado periodo.

22) El Sistema debe generar un informe y un grafico de barras y tortas con el promedio de las ventas de todas las zonas  de un determinado periodo.

23)El Sistema debe generar un informe y un grafico de barras y tortas con el ranking de clientes por  cantidad en sus ventas.

24) El Sistema debe generar un informe y un grafico de barras y tortas con el ranking de los clientes según las comisiones generadas por sus operadores.

25) El Sistema debe generar un informe y un grafico de barras y tortas con el total de las  Comisiones de todos sus operadores por cada zona.

26) El Sistema debe generar un informe de  una curva abc por zona por tipo de grano de un determinado periodo.

27) El Sistema debe generar un gráfico de la curva abc por zona por tipo de grano de un determinado periodo ordenado por el ranking de clientes por ventas.

28) El Sistema debe generar un gráfico de la curva abc por zona por tipo de grano de un periodo, ordenado según el ranking de clientes comisiones.






Diccionario


PAIS:
Atributos: nombre_pais

PROVINCIA:
Atributos: Nombre_pais, nombre provincia

LOCALIDAD:
Atributos: Nombre_pais; Nombre_provincia,Nombre_Localidad



CLIENTE: persona que realiza operaciones de compra/venta por medio de un operador con la empresa.
Atributos: nombre, apellidos, fecha_nacimiento,estado civil,  mail, localidad, provincia, pais


OPERADOR: persona  que interviene en una operación entre un cliente y la empresa , perteneciendo a una zona .
Atributos: nombre, apellidos, DNI,fecha_nacimiento, profesion/formación, estado civil, hobies,deportes, direccion, telefono, mail, localidad, provincia, pais.

ZONA:  establecimiento que depende de la  compañía principal o empresa y cada una de ellas trabaja con clientes y operadores . En muchos casos me va a coincidir el nombre de la zona con la localidad donde se encuentra ubicada, pero no lo utilizare como refebrencia.
Atributos: nombre, direccion, mail, localidad, provincia, pais.

TIPO_GRANO: producto que se comercializa 
Atributos: nombre, precio
Tipo_grano: girasol, maíz, cebada de exportación, cebada forrajera, cebada de materia, trigo, candil, sorgo, soja de alta proteína, colza, trigo especial, girasol oleico, girasol esteárico, avena.


//quite la entidad GRANO y la reemplace por lo entidad TIPO_GRANO.


PERIODO: tiempo “desde” – “hasta” que se obtiene los datos para realizar el analisis de gestion comercial.  
Atributos: nombre_periodo,fecha_inicial, fecha_final (Ejemplo fecha_inicial: 01-03-2011 ) (Ejemplo fecha_final: 15-04-2011), descripción, cuenta, cliente, zona,comision_periodo,ventas 

PERIODO_PRESUPUESTARIO: analisis que se realizara para periodos futuros.
Atributos:  nombre_periodoP, fecha_inicial, fecha_final (Ejemplo fecha_inicial: 01-03-2011 ) (Ejemplo fecha_final: 15-04-2011), comentarios, descripción, cuenta, cliente, zona, tipo_grano,  Comision, Cant(KG)_total, Cant($)_total

//
La tabla que voy a importar correspondera a un periodo y contrendra todos estos datos.

Periodo “A”

Cuenta
Cliente
Zona
Tipo_grano
Comision($)
Kg
Imp_Movimiento($)









Cuenta: numero
Cliente: Nombre y Apellido
Tipo_Grano: cualquiera de los que figuran en la entidad Tipo_Grano
Comision($): numero en pesos, con dos decimales
KG: La ∑ de todos los KG de todas las operaciones de ese tipo_grano que se realizo en ese periodo por ese cliente, que pertenece a una zona.
Imp_Movimiento($): La ∑ de todo $ de todas las operaciones de ese tipo de grano que se realizo en ese periodo por ese cliente, que pertenece a una zona. 


Los periodos_presupuestarios son datos que se cargaran al sistema , por cada Cliente y los datos 
participaran de los informes como un periodo mas. El sistema debera poder comparar cualquier periodo “A” , con un periodo_presupuestario ”B” .

Entonces nose como definir en el diccionario Periodos y Periodo_presupuestario.
En Periodos_presupuestarios agregue todos los campos de la tabla que importo.¿?



VENTAS: ∑ de todas las ventas que se efectuaron en un periodo.  

Atributos: cantidad (kg)_total , valor($)_total(importe_movimiento)

 (En el sistema Central , yo puedo importar todas las ventas detalladas, con su fecha, etc, pero directamente importo la suma de todas las ventas de ese cliente en ese periodo de ese tipo de grano . Mi pregunta es si crees necesario importar todas las ventas detalladas)

En los atributos, agrege valor($)_total, es el ∑ ($) de todas las ventas de ese periodo.
 
COMISION: Dinero que cobra el operador en proporción al número de ventas realizadas .
Atributos:valor_pesos. 

Cant(tl.)_total=  cantidad en kg de las ventas de un cliente en un periodo. Lo convierto  a toneladas.
Formula= cant(KG)_total / 1000

Precio Promedio:
Formula=  Valor($)_total / Cant(tl.)_total

% Comision Cobrada:
Formula= Comisión / Valor($)_total
  
Variación porcentual :

 Formula : (%) = {[(periodo (a) – periodo(b))] / (periodo (b)} x 100
Actividad Comercial : cant(tl.)_total  y  valor($)_total de Ventas => 0
Ranking de Clientes por Venta:
Formula= ordenar de mayor a menor a los Clientes por Cant(tl)_total en las Ventas.
 
Ranking de Clientes por Comisiones:
Formula= ordenar de mayor a menor a los Clientes por las Comisiones de sus operadores.

 Curva ABC :es un método de clasificación de la información, para separar los elementos de mayor importancia o impacto.  Consiste en ordenar los clientes por orden decreciente de su contribución  para la empresa, ya sea en cantidades de ventas o en comisiones, de modo de poder segmentar por grado de dependencia de riesgo u otro criterio a definir.
Formulas:

                              


                  

               



Enviado desde mi BlackBerry® de Claro Argentina

-----Original Message-----
From: Leonardo Tadei - Pegasus Tech Supply <leonardot en pegasusnet.com.ar>
Sender: php-avanzado-bounces en pato2.fi.mdp.edu.ar
Date: Sat, 05 Nov 2011 16:23:58 
To: Lista del curso de PHP Avanzado<php-avanzado en pato2.fi.mdp.edu.ar>
Reply-To: Lista del curso de PHP Avanzado <php-avanzado en pato2.fi.mdp.edu.ar>
Subject: Re: [Php-avanzado] especificacion de requerimientos

Hola Lorena,

El jue, 03-11-2011 a las 12:18 -0300, Lorena Febbraro escribió:
> Leo, 
> te mando el SRS.Tenia dudas con respecto a si debo agregar en los
> requerimientos las bibliotecas que voy a utilizar ; en este caso la de
> importar datos de un archivo .xls.

	No hace falta especificar bibliotecas si no querés, porque el uso de
una biblioteca, si es tu elección, será una decisión de diseño y por
tanto no corresponde que figura acá, y si es una imposición del cliente,
irá en los Requerimientos no Funcionales.

> Espero se pueda entender cada RF. (me falto la formula de la curva
> abc)

	Agregala así no queda incompleto.


	Te hago algunos comentarios a la parte funcional:

	Para todo el diccionario: los ID no van. Será una cuestión de diseño si
existen o no, pero no son parte del problema que estás analizando.

> Especificación de Requerimientos
> 
> (Sistema de Análisis de Gestión Comercial)
> 
> 
> El Sistema debe realizar un análisis estadístico de la gestión
> comercial de compra y venta de una empresa.
> 
> El Sistema debe analizar aspectos cualitativos de los clientes de una
> empresa.
> 
> El Sistema debe analizar los aspectos cuantitativos de la gestión
> Comercial de los clientes de la empresa.

	Esto que está arriba, que es una introducción muy buena de en qué
cosiste el sistema, no hace falta que empiece con "el sistema debe".
Como es una introducción general, la redacción es libre (pero concisa)


> Requerimientos Empresariales
> 
> El Sistema debe optimizar la administración Comercial para obtener un
> perfil detallado de los cliente de cada zona de la empresa y obtener
> informes de la gestión comercial.
> 
> 
> Requerimientos Funcionales
> 
> 
> 1- El Sistema debe importar tabla de datos (.xls) del Sistema Central.
> 
> 
> 2- El Sistema debe almacenar la tabla (1) en forma estructurada.

	El 1 y 2 me parece que sería mejor que sean uno solo, ya que si la
forma de almacenar los datos que se leen de la hoja de cálculo es una
sola, la importación de los datos incluye, naturalmente, la forma de
almacenamiento.
	No me queda claro a qué te referís con "en forma estructurada". Si te
referís a que esto va en tablas de DB normalizadas, o es una cuestión de
diseño (y no va acá) o es un requerimiento no funcional.

> 3- El Sistema debe gestionar zonas.

	En el diccionario de la zona mencionás que vas a tratar a los
Operadores como Sucursales, pero hablás de Zonas que no es ni un
Operador ni una Sucursal. 
	Creo que tenés que especificar a los Operadores y a las Zonas en esta
etapa, y si después en la etapa de diseño los integrás o tratás de
alguna forma particular, será una cuestión de tu implementación, pero
nunca de la especificación del problema.

> 4- El Sistema debe gestionar clientes.

	El Cliente hace referencia a la Ciudad y al País: debés especificar
estas entidades por separado, y luego hacer referencia a ella en los
Clientes, Operadores y todos lo que la usen.

> 5-El Sistema debe gestionar ventas.

	Las ventas no son a un Cliente ni nada? Suena raro que la vena solo
tenga fecha y cantidad...

> 6-El Sistema debe gestionar granos.

	En el diccionario figura el "tipo de grano" y seguramente es una
entidad codificada. Tenés que especificarla primero y en el grano hacer
referencia a ella.

> 7-El Sistema debe gestionar periodos.

	El rango es, por ejemplo, "10 días" ? o es más bien como "fecha desde"
y "fecha hasta" ?

> 8- El Sistema debe gestionar periodos presupuestarios.

	Me surge la misma duda que en el anterior.

> (estos periodos presupuestarios serán agregados con criterio
> personal )

	No entiendo qué querés decir con esta aclaración :(
	No es todo lo que se decida agregar un criterio personal? (esto se
agrega y esto no)

> 9- El Sistema debe generar un informe de las ventas totales de todas
> las zonas de la empresa por periodo por tipo de grano.

	Al aparecer acá el tipo de grano, confirma la sospecha del RF6...

> 10- El Sistema debe generar un informe con la variación porcentual de
> dos periodos comparativos de las ventas de cada periodo por tipo de
> grano y por sucursal.
> 
> 
> Variación porcentual : 
> 
> Formula : resultado(%) = {[(periodo (n) – periodo(n-1))] / (Periodo
> (n-1)} x 100

	La fórmula pasala al diccionario.

> Restricción : ejemplo ( nunca se va a generar la comparación entre
> periodo 1 y periodo 3.)

	La restricción es, en realidad, que las comparaciones se generan
siempre con el periodo anterior.

> 11- El Sistema generar un informe con el total de las ventas de todos
> los clientes de cada zona.
> 
> 
> 
> 12-El Sistema debe generar un informe con el total de las ventas de
> cada zona de todos los granos por cada periodo.
> 
> 
> 13-El Sistemas debe generar un informe con el total de las ventas de
> la empresa de todos los granos por cada periodo.
> 
> Formula: ventas_empresa = ∑ i=1 hasta N de ventas.
> 
> N: numero de zonas
> 

	La fórmula pasala al diccionario.


> 14-El Sistema debe generar un informe con la cantidad de clientes de
> cada zona que tuvo actividad comercial en un determinado periodo por
> tipo de grano.
> 
> 
> (Actividad Comercial : Ventas => 0)

	La fórmula pasala al diccionario.
	Ventas es en $ o en cantidad de operaciones?

> 15-El Sistema debe generar un informe de las Comisiones de las ventas
> realizadas por cada zona, según el tipo de grano y el periodo.
> 
> 
> 16-El Sistema debe generar un informe con el porcentaje de la Comisión
> Cobrada (% Comisión Cobrada) por cada tipo de grano por cada zona en
> un periodo determinado.

	Acá y en el diccionario figura la comisión, pero no aparece
especificada. Agregala, porque no aparece como un dato de la venta o del
cliente, o ponela como un atributo de una entidad existente y sacala del
diccionario.

> 17-El Sistema debe generar un informe con el Precio Promedio de cada
> zona por cada tipo de grano por cada periodo.
> 
> 
> 18-El Sistema debe generar un informe con el promedio total de ventas
> por zona de un determinado periodo.
> 
> 
> 19-El Sistema debe generar un informe con el ranking de clientes por
> cantidades vendidas

	Como te decía más arriba, la venta no tiene esta información para hacer
este informe...

> 20-El Sistema debe generar un informe con el ranking de los clientes
> por comisiones.

	Idem RF16

> 21-El Sistema debe generar un informe con el total de comisiones por
> zona.

	Idem RF16

> 22-El Sistema debe generar un informe con las ventas por cliente por
> grano por zona por periodo.

	Idem RF19

> 23-El Sistema debe generar gráficos estadísticos de barras y de tortas
> para RF8

	El RF8 especifica los periodos presupuestarios, y no un informe...
especificá acá el informe que querés e indicá que también será con
gráficos.

> 24-El Sistema debe generar gráficos estadísticos barras y de tortas
> para RF9

	Integrá esto con el RF9

> 25-El Sistema debe generar gráficos estadísticos de barras y de tortas
> para RF10

	Idem RF 24 y lo mismo para los de abajo: mostrar un informe de dos
maneras distintas no es generar informes diferentes... no está mal
ponerlos por separado si desglosás todos los RF en subitems, pero que
esto esté así y el resto no le saca homogeneidad a la especificación.

> 26-El Sistema debe generar gráficos estadísticos de barras y de tortas
> para RF11
> 
> 
> 27-El Sistema debe generar gráficos estadísticos de barras y de tortas
> para RF12
> 
> 
> 28-El Sistema debe generar gráficos estadísticos de barras y de tortas
> para RF13
> 
> 
> 29-El Sistema debe generar gráficos estadísticos de barras y de tortas
> para RF14
> 
> 
> 30-El Sistema debe generar gráficos estadísticos de barras y de tortas
> para RF15
> 
> 
> 31-El Sistema debe generar gráficos estadísticos de barras y de tortas
> para RF16
> 
> 
> 32-El Sistema debe generar gráficos estadísticos de barras y de tortas
> para RF17
> 
> 
> 33-El Sistema debe generar gráficos estadísticos de barras y de tortas
> para RF18
> 
> 
> 34-El Sistema debe generar gráficos estadísticos de barras y de tortas
> para RF19
> 
> 
> 35-El Sistema debe generar gráficos estadísticos de barras y de tortas
> para RF20
> 
> 
> 36-El Sistema debe generar gráficos estadísticos de barras y de tortas
> para RF21
> 
> 
> 37-El Sistema debe generar gráficos estadísticos de barras y de tortas
> para RF22
> 
> 
> 
> 38-El Sistema debe generar una curva abc por zona por tipo de grano de
> un determinado periodo.

	Tal y como decís arriba, en el diccionario agregá la fórmula para la
curva.

> 39-El Sistema debe generar un gráfico de la curva abc por zona por
> tipo de grano de un determinado periodo ordenado por el ranking de
> ventas.
> 
> 
> 40-El Sistema debe generar un gráfico de la curva abc por zona por
> tipo de grano de un periodo, ordenado según el ranking de comisiones.
> 
> 
> 41-El Sistema debe generar un informe con los clientes por nombre por
> número de cuenta.
> 
> Numero de cuenta= id_cuenta

	Número de Cuenta en esta etapa no tiene relación alguna con ningún
ID... en el diccionario del cliente, poné "número de cuenta" en lugar de
id_cuenta.

> 42-El Sistema debe generar un informe con los clientes por nombre.


	Estos más que un informe son un listado... quiero decir que no hay
proceso para la visualización.


> 43-El Sistema debe generar un informe con los clientes por zona.

> 44-El Sistema debe generar un informe de zonas por cliente.
> 
> 
> 45-El Sistema debe generar un informe de las zonas por ranking de
> clientes.
> 
> 
> 46- El Sistema debe generar la conversión de las ventas a toneladas.
> 
> 
> 
> 
> Diccionario
> 
> 
> Cliente ( id_cuenta, nombre, teléfono, dirección, ciudad, país) 
> 
> 
> 
> Granos (nombre, tipo_grano, descripción, precio_actual)
> 
> Tipo_grano: girasol, maíz, cebada de exportación, cebada forrajera,
> cebada de materia, trigo, candil, sorgo, soja de alta proteína, colza,
> trigo especial, girasol oleico, girasol esteárico, avena.
> 
> 
> Periodos(id_periodo, rango_fecha) 
> 
> 
> Periodos Presupuestarios(id_ppresupuestario, rango_fecha, comentarios)
> 
> 
> Ventas(id_venta, fecha, cantidad)
> 
> //Cantidad( tengo q convertir a toneladas) 
> 
> 
> 
> Comisiones(id_comisión, valor)
> 
> 
> Zona(id_zona, dirección, teléfono, ciudad, provincia, país)
> 
> Voy a tratar a los operadores como sucursales, entonces todos los
> incluyo en “zonas”
> 
> 
> Lacurva ABCes un método de clasificación de la información, para
> separar los elementos de mayor importancia o impacto. Consiste en
> ordenar los clientes por orden decreciente de su contribución para la
> empresa, ya sea en cantidades de ventas o en comisiones, de modo de
> poder segmentar por grado de dependencia de riesgo u otro criterio a
> definir.
> 
> Formula:
> 
> 
> Promedio: (ventas totales de un periodo) / (cant. Clientes de cada
> zona)
> 
> 
> Importe de Movimiento:
> 
> Fórmula: Precio x cantidad (este dato me viene de la tabla que
> importo)
> 
> Precio Promedio: 
> 
> Fórmula: Importe de Movimiento / Toneladas tipo de grano
> 
> 
> Ranking de Clientes por Venta:clienteordenado de mayor a menor según
> el total de ventas.
> 
> Ranking de Clientes por Comisiones: clientes ordenado de mayor a menor
> según el total de comisiones.
> 
> Conversión de KG a Toneladas:1 tonelada = 907.18 kg. 
> 
> 
> Los datos que obtengo por único medio es una panilla .xls
> 
> 
> 
> Cuenta
> 
> 
> Cliente
> 
> 
> Zona
> 
> 
> Grano
> 
> 
> Comisiones 
> 
> 
> Ventas
> 
> 
> Importe
> mov.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 


	Seguimos!!!
-- 
Leonardo Tadei
leonardot en pegasusnet.com.ar
Blog: http://blog.pegasusnet.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key

_______________________________________________
Php-avanzado mailing list
Php-avanzado en pato2.fi.mdp.edu.ar
http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado


Más información sobre la lista de distribución Php-avanzado