[Php-avanzado] Avances en las tareas

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Vie Sep 28 22:56:57 ART 2012


Hola Jorge,

El vie, 28-09-2012 a las 22:19 -0300, Jorge Di Iorio escribió:
> Adjunto el primer boceto de los requerimientos para mi trabajo.

	Abajo, entre los requerimientos, te hago unas observaciones.


> En cuanto a la palabra "programador", si buscamos en la web por arriba
> como puede hacer cualquier usuario normal, notamos que el grueso de la
> gente tiende a meter todo en la misma bolsa: programadores,
> desarrolladores, analistas, licenciados, ingenieros. Es mas, también
> cuando de habla de informática, sistemas y/o de software se dan
> a confusión y todos piensan que es la misma cosa. Es normal que todo
> ésto se transgiverse, ésto pasa con muchas cosas, tambiés cuando
> hablamos de hackers las personas asocian ésto con cosas malévolas.    

	Uff... habría que dar cursos de qué hace cada profesional de la
informática. 
	A mi siempre me gustó el irónico e inteligentísimo Edsger Dijkstra con
frases como "La Ciencia de la Computación no tiene que ver con las
computadoras más que la Astronomía con los telescopios".
	A propósito de esto, nuestro amigo Javier Smaldone mantiene
traducciones de algunos ensayos de Dijkstra:
http://www.smaldone.com.ar/documentos/

> Entonces se me ocurrió buscar la palabra en un diccionario que estaba
> en la casa de mi vieja que no debe tener menos de 30 años a ver que
> decía:
> programador no estaba, pero
> programa: ..."proyecto ordenado de actividades"...
> programar: ..."Organizar cualquier actividad"..."descomponer los datos
> de un problema en una serie de datos calificados aptos para ser
> interpretados por una calculadora electrónica u otra maquina"...
> 
> 
> por ahí por alguna otra pagina también leí que programador  era un
> dispositivo que activa algo electrónico o eléctrico.     

	La definición del diccionario está, por supuesto, correcta.
	La pauta que les había propuesto es averiguar por qué esta palabra
quedó luego íntimamente ligada al software y a la electrónica, cuando
originalmente no se usaba para estas cosas.

	Te hago como te decía, unas observaciones sobre tu documento, más que
nada organizativas, porque es una buena primer versión.

> Análisis de Requerimientos 
 
	Un purista diría que los requerimientos no se "analizan". Yo entiendo
lo que querés decir y no hace falta que lo cambies, pero teniendo en
cuenta que no hay ningún método de análisis, sería mejor decir
"especificación" o algo que dé la idea de que estás documentando lo que
vas averiguando qué hay que hacer.

	Por otra parte, lo que yo les pido son los Requerimientos Funcionales
(RF) y el diccionario de los mismos. Si querés poner también
Requerimientos No Funcionales (RNF) o los de otro tipo, ponelos en
secciones aparte para no mezclar cosas que no se mezclan.

> Sistema de Gestin de Turnos de Complejos Deportivos
> 
>         1.      El sistema debe ser web.
>                 1.1.     El sistema debe solicitar loguin para su
utilizacin. 
>         2.      El sistema debe gestionar usuarios.

	Bueno, los puntos 1 y 2 es un RNF. Si los querés poner sería genial,
pero pasalos a una sección específica para estos requerimientos.


>         3.      El sistema debe gestionar clientes.
>         4.      El sistema debe gestionar complejos.
>         5.      El Sistema debe gestionar deportes.
>         6.      El sistema debe gestionar Tipos de Canchas con su
deporte[5].
>         7.      El sistema debe gestionar Canchas con su Tipo de
Cancha[6] y Complejo[4].

	La verdad Jorge es que no conozco el problema. Los Requerimientos 3 a 7
están correctamente expresados, pero me desentona que los Tipos de
Cancha tengan Deportes, en vez de que los tenga la Cancha directamente.
	Como no tengo más detalles, mi objeción se basa en pensar que por
ejemplo en la cancha de basquet del Club Independiente, se puede jugar
al basquet y al voley, porque está marcada para ambos deportes y porque
tiene como poner la red de voley en medio... lo que no me daría cuenta
es de que Tipo de Cancha de trata, porque no es cierto que en todas las
cancha de basquet se pueda jugar al voley, ni como este Tipo de Cancha
que define que se puede jugar a basquet y voley se expresaría en este
contexto.
	Si querés por acá, ampliando el diccionario de Tipo de Cancha me
explicás qué función tendría en el sistema, o en clase me lo comentás
para que lo entienda.

>         8.      El sistema debe gestionar tarifas con su cancha[7] o
tipo de cancha[6] y/o complejo[4].

	Como los "o" en este RF indican que la Tarifa puede ser de cualquiera
de estas 3 cosas o de una combinación de ellas, pareciera que el
diccionario está incompleto (no figura el Tipo de Cancha) o acá se
esconde más de un requerimiento.
	Puedo hacer que una Tarifa sea de un Complejo y de una Cancha a la vez?
Puede la Cancha ser de otro Complejo?

>         9.      El sistema debe gestionar Estados de Turnos.
>         10.     El sistema debe gestionar Tipos de Turnos.
>         11.     El sistema debe gestionar Turnos con su cancha[7],
cliente[3], tarifa[8], estado de turno[9] y tipo de turno[10].
>                 11.1.   El sistema debe mostrar el historial de turnos
de un determinado cliente.

	El 11.1 como informe que es, es mejor que sea el RF 12, porque no es
una subfuncionalidad del 11

>                 11.2.   El sistema debe mostrar los turnos dados
filtrando por rango de fechas, complejo, cancha, deporte, tipo de
cancha.

	Idem.

>                 11.3.   El sistema debe restringir o permitir las
opciones de gestin segn el usuario logueado.

	Esto es un RNF.
  
	

>         Diccionario:
>                 Usuario: Cdigo, Nombre, Contrasea, Agrega Registros,
Modifica Registros, Elimina Registros, Modifica Usuarios.
>                 Cliente: Cdigo, Nombre, dni, domicilio, telfono fijo,
telfono celular, email, observacin, activo.
>                 Complejo: Cdigo, Nombre, Domicilio, Observacin.
>                 Deporte: Cdigo, Nombre.
>                 Tipos de Canchas: Cdigo, Nombre, Deporte.
>                 Cancha: Cdigo, Nombre, Activa, Tipo de Cancha,
Complejo.
>                 Tarifa: Cdigo, Nombre,  Cancha, Complejo, valor, Cota,
Activa.
>                 Estado Turno: Cdigo, Nombre, Color. 
>                 Tipo Turno: Cdigo, Nombre, Duracin Minutos. 
>                 Turno: Cliente, Cancha, Tarifa, Descuento, Recargo,
Observacin, Fecha, Hora, Tipo turno, Observacin.

	El diccionario está muy bien... salvo el Tipo de Cancha que no fui
capaz de entender.

	Creo que te falta especificar algunas restricciones importantes, que es
probable que sean subrequerimientos del actual 11. Me refiero a que no
se puedan solapar turnos de una cancha, que no se puedan dar turnos
cuando el complejo está cerrado, marcar turnos como "usados" o
"cobrados" y a partir de ahí que no se puedan borrar.

	Si necesitás aclaración de algo, por favor consultame.

	Seguimos!

-- 
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