<HTML>
<HEAD>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<META content="OPENWEBMAIL" name=GENERATOR>
</HEAD>
<BODY bgColor=#ffffff>
Hola Maia,
<br />
<br />espero que te mejores pronto!
<br />
<br />Las ultimas clases de este curso seran el 15/12 y el 22/12
<br />
<br />Lo mejor seria que vengas el 15/12 para instalar todo o mostrarme lo que tenes hecho, porque si venis el 22/12 no tendras tiempo de hacer algun ajuste en caso de ser necesario.
<br />
<br />Recorda que las funcionalidades del trabajo final las tenemos que chequear contra la SRS... y asi, de memoria, no recuerdo que me la hayas entregado (la normalizacion no me preocupa en tu caso porque es un tema que manejas bien y dificilmente tenga algo mal ahi)
<br />
<br />Me envias por favor la SRS?
<br />
<br />
<br />PD: estoy en una PC con el teclado mal configurado... me faltan los acentos :-(
<br />
<br />
<br /><font size="2"><b>On Thu, 1 Dec 2011 18:48:28 -0300, Maia Cordero wrote</b>
<br />> Hola Leo, 
disculpa que no me comunique con vos con anterioridad. Estuve muy complicada por 
asuntos de salud y las exigencias del ultimo año de facultad.
<br />> 
Actualmente estoy con principio de neumonía. 
<br />> 
<br />> Estoy retomando 
la tesina que quiero entregarte. Queria consultarte hasta que fecha estas ahi en 
la facultad para así me acerco y te llevo las cosas.
<br />> 
<br />> 
Saludos.
<br />> 
<br />> Maia
<br />> 
<br />> El 12 de agosto de 2011 00:23, 
Leonardo Tadei - Pegasus Tech Supply <span dir="ltr"><<a href="mailto:leonardot@pegasusnet.com.ar">leonardot@pegasusnet.com.ar</a>></span> 
escribió:
<br />> 

<blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;" class="gmail_quote">Hola Maia,
<br />> 
<br />> 

        lamento que te sientas mal: ojalá te recuperes pronto.
<br />> 

        Te respondo intercalado:
<br />> 
<br />> 

El jue, 11-08-2011 a las 18:43 -0300, Maia Cordero escribió:
<br />> 
<br />> 
> Hola Leo. Estoy en cama, ayer me sentia mal y hoy me siento peor. 
No
<br />> 

> voy a poder ir a mostrarte los avances. El martes me acerque a la
<br />> 

> facultad y pedi la prorroga, quedaron de informarme sobre la
<br />> 

> respuesta.
<br />> 
<br />> 

        Bueno, veremos como sigue ese trámite.
<br />> 
<br />> 

> Tenes razón respecto a la normalización de la base de datos, aunque 
yo
<br />> 

> no quise hacerlo así porque me parecia demasiado "engorroso" 
tener que
<br />> 

> hacer +tablas +stores +clases por datos no críticos al sistema. 
Pero
<br />> 

> si se que se tiene que normalizar así como decís vos. Así que ya lo
<br />> 

> modifique.
<br />> 
<br />> 

        No sabría que criterio aplicar para saber si un dato es crítico o 
no,
<br />> 

sin conocer detalles del software ni el ámbito de aplicación.
<br />> 

        A mi también me daría fiaca hacer todo eso... sobre todo cuando 
se
<br />> 

podría obtener el mismo resultado con menos código: si es estructurado,
<br />> 

querys a las tablas para ahorrarse los store procedures; y si es en
<br />> 

Objetos, escribiendo solo las clases y usando un mapeador
<br />> 

Objeto/Relacional.
<br />> 
<br />> 

> Un usuario se crea unicamente gracias a la existencia de una 
persona.
<br />> 

> Pueden haber personas cargadas en el sistema que aun no posean un
<br />> 

> usuario para acceder al sistema, como así personas que dejaron de 
ser
<br />> 

> usuarios del sistema en ese caso se cambiara el campo estado del
<br />> 

> usuario a false ( inactivo ).  Los datos personales del usuario que
<br />> 

> una vez se cargaron en el sistema, persistirán y no serán borrados. 
Al
<br />> 

> tomar esta decision, las entradas nunca tendrán incosistencia al 
tener
<br />> 

> el campo id_usuario.
<br />> 
<br />> 

        Te entiendo... pero para esta situación, no sería mejor que 
Entrada
<br />> 

tenga una referencia a una Persona, que existe siempre??? y solo en caso
<br />> 

de que tenga esto que llamás "usuario" podrá poner una 
Entrada???
<br />> 

        Cuando pienso tu modelo de datos como entidades, veo más 
naturalmente
<br />> 

relacionados Entradas -> Personas -> Usuarios, que lo que vos 
planteás
<br />> 

como Entradas -> Usuarios -> Personas... es meter entre dos 
entidades
<br />> 

del almacenamiento un RNF...
<br />> 
<br />> 

> El grant_usage lo ejecute debido a que no me gusta trabajar con el
<br />> 

> usuario root de mi base de datos, en todo caso cuando contrate un
<br />> 

> hosting tendre el usuario evitando ejecutar esa instrucción.
<br />> 

> Unicamente cambiare los datos de acceso en el archivo
<br />> 

> configuracion.php por los datos del hosting.
<br />> 
<br />> 

        A mi tampoco me gusta trabajar como root: creo usuarios y DBs, y 
luego
<br />> 

ejecuto las querys en el contexto de la conexión del usuario.
<br />> 
<br />> 

> Respecto a los objetos me guie bajo el patron de diseño 
"Active
<br />> 

> Record". Lo vi aplicado en cakephp y me gusto la forma de 
trabajo.
<br />> 

> Tambien vi que lo usa ruby on rails.
<br />> 
<br />> 

        Esto no suma ni resta para tu trabajo final, porque no es un tema 
dado
<br />> 

en el curso.
<br />> 

        En lo personal, los patrones de diseño recomentados son los del GoF 
y
<br />> 

las extensiones que tiene. El Active Record y el Scaffold son
<br />> 

directamente descartados por los diseñadores (Kent Beck, Wirf-Brook,
<br />> 

Gamma et al, Rumbaugh, Jacobson, Booch, etc) por dar como resultado un
<br />> 

"modelo anémico" y por provocar diseños orientados a los datos en 
lugar
<br />> 

de orientados al comportamiento.
<br />> 

        Toda esta gente que te nombré ni siquiera considera "patrones" 
a los
<br />> 

que propone Martin Fowler... y dan sus buenos motivos de por qué no lo
<br />> 

son. Fowler sí tiene importantes contribuciones en el campo de la
<br />> 

integración continua, pero no tanto en arquitectura ni en diseño de
<br />> 

software, si bien tiene cosas publicadas en ese área.
<br />> 
<br />> 

        Por favor, no cambies tu código por mi comentario de más arriba: 
quería
<br />> 

aprovechar para contarte superficialmente las contras de esa
<br />> 

aproximación, y las fuentes que pueden orientarte hacia buenos diseños.
<br />> 

<br />> 

        Porque, que mucha gente lo haga, no significa que esté bien.
<br />> 

        (Gabriel hace unos minutos me decía esto, citando a su profesor 
de
<br />> 

programación)
<br />> 
<br />> 

> Estoy modificando los procedimientos almacenados para que paginen.
<br />> 

<br />> 

        Ok. En el vuelco de la DB que me enviaste, no estaban los
<br />> 

procedimientos almacenados, así que medio los adiviné entre las tablas y
<br />> 

las llamadas en el código.
<br />> 

        Recordá enviármelos la próxima vez!
<br />> 
<br />> 

> Gracias por las sugerencias. Te mantengo al tanto.
<br />> 

> Cuando termine de acomodar mejor las cosas mando el modelo por la
<br />> 

> lista.
<br />> 
<br />> 

        Por nada!
<br />> 

        Ya seguiremos charlando de todo esto.
<br />> 

        Me serviría de veras mucho que completes la SRS (parece que hiciste 
el
<br />> 

software primero, y escribís la SRS después... obviamente no afecta a tu
<br />> 

calificación, pero haciendo las cosas en ese orden, no podés validar tu
<br />> 

software!)
<br />> 

        Recordá también clarificar, mejor dicho, darle un nombre que no sea 
tan
<br />> 

genérico a tu "usuario", porque si no es muy difícil que 
descubras
<br />> 

vicios en los datos o en el software, como pareciera ser la relación de
<br />> 

las Entradas con el Usuario en vez de con la Persona.
<br />> 
<br />> 

> Saludos
<br />> 
<br />> 

        =mente!
<br />> 

        Que te mejores.
<br />> 
<br />> 

--
<br />> 

Leonardo Tadei
<br />> 

<a href="mailto:leonardot@pegasusnet.com.ar">leonardot@pegasusnet.com.ar</a>
<br />> 

Blog: <a target="_blank" href="http://blog.pegasusnet.com.ar/">http://blog.pegasusnet.com.ar</a>
<br />> 

Firma pública: <a target="_blank" href="http://www.pegasusnet.com.ar/LeonardoTadei-public.key">http://www.pegasusnet.com.ar/LeonardoTadei-public.key</a>
<br />> 

<br />> 

_______________________________________________
<br />> 

Php-avanzado mailing list
<br />> 

<a href="mailto:Php-avanzado@pato2.fi.mdp.edu.ar">Php-avanzado@pato2.fi.mdp.edu.ar</a>
<br />> 

<a target="_blank" href="http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado">http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado</a>
<br />> 

</blockquote>
<br />
<br />
<br />-- 

<br />
Leonardo Tadei 

<br />
Pegasus Tech Supply <<a target="_blank" href="http://www.pegasusnet.com.ar/">http://www.pegasusnet.com.ar</a>> 

<br />
Prometeus Technology <<a target="_blank" href="http://www.prometeustech.com.ar/">http://www.prometeustech.com.ar</a>>
<br />
</font>

</BODY>
</HTML>