1 #LyX 1.3 created this file. For more info see http://www.lyx.org/
14 \use_numerical_citations 0
15 \paperorientation portrait
18 \paragraph_separation indent
20 \quotes_language english
24 \paperpagestyle default
28 Manual del Proyecto PlaQui
32 \begin_inset LatexCommand \tableofcontents{}
42 Nicolás Dimov (77.624)
45 Leandro Lucarella (77.891)
48 Ricardo Markiewicz (78.226)
54 Los programas de prueba se pueden encontrar en la carpeta
58 , allí se almacenaron los primeros ejecutables con los que luego se comenzó
62 Con la ayuda de la herramienta subversion no fue necesario ir guardando
63 parcialmente el proyecto, ya que subversion guarda en un repositorio todas
64 las versiones intermedias del proyecto.
65 Para obtener una versión particular del proyecto basta ejecutar:
68 svn co -r[rev|{fecha}] http://svn.llucax.hn.org/svn/plaqui/
75 toma un parametro que puede ser el número de revisión que se quiere obtener
80 ) o una fecha ingresada entre llaves (
85 Por ejemplo para obtener la revisión 1 se puede hacer:
88 svn co -r1 http://svn.llucax.hn.org/svn/plaqui/
91 Y para obtener la versión de la fecha de la preentrega se puede hacer:
94 svn co -r'{2003-11-20 18:00}' http://svn.llucax.hn.org/svn/plaqui/
97 Es por esto que nos pareció que no tenía mucho sentido acompañar este manual
98 con una versión particular del repositorio en un momento dado.
101 Evolución del proyecto.
104 La evolución del proyecto también se documentó a través del subversion,
105 ya que a cada versión que se sube al servidor se la acompaña de un comentario
106 sobre los avances realizados.
107 Para ver el mensaje de cualquier cambio realizado en una revisión
114 svn log -rX http://svn.llucax.hn.org/svn/plaqui/
117 Para ver todos los mensajes basta con:
120 svn log -r0:HEAD http://svn.llucax.hn.org/svn/plaqui/
123 Por conveniencia, en el directoria raíz del código fuente entregado en el
124 CD se encuentra un archivo ChangeLog con los mensajes de todas las revisiones
131 A continuación se menciona, en terminos generales la tarea que realizó cada
135 Leandro\SpecialChar ~
136 Lucarella PlaQui Server.
139 Ricardo\SpecialChar ~
140 Markiewicz PlaQui Model y PlaQui Client.
143 Nicolás\SpecialChar ~
144 Dimov PlaQui Constructor.
147 Obviamente en algunas circunstancias algún integrante aporto al desarrollo
148 de un módulo que no le estaba asignado.
149 La documentación fue realizada y revisada entre todos los integrantes.
152 Inconvenientes Encontrados.
158 El servidor termina su ejecución si el XML que se le pasa como argumento
162 los otros puntos no se como explicarlos (sockets no bloqueantes etc)
168 A lo largo del desarrollo nos hemos encontrado con diferentes tipos de problemas
169 los cuales pudieron ser solucionados, en su mayoría, de una forma aceptable.
173 Al tabajar con imágenes independientes, las verificaciones sobre cada una
174 de estas, dependen mucho de su posición en el área de trabajo y su orientación.
175 Esto provoca que haya que realizar demasiadas validaciones para los diferentes
176 tipos de verificaciones, y trae apareados problemas en la codificación
177 por el uso de gran cantidad de coordenadas.
180 Otro inconveniente no solucionado, fue que las imágenes de cada elemento
181 que se coloca sobre la grilla se crean tantas veces como elementos de ese
183 La idea en un principio fue crear todas estas imágenes estáticas, de modo
184 que para un elemento de cuatro imágenes, se cargarían en memoria solamente
185 esas cuatro imágenes y luego los elementos iguales apuntarían su imagen
186 actual a la que corresponda.
187 Esto no pudo ser solucionado pués no encontramos la forma de inicializar
188 las imágenes de manera estática, se producían errores en el momento del
195 El principal problema del cliente fueron las threads.
196 El asunto fue descubrir la forma de hacer que las actualizaciones de refresco
197 de las propiedades y la creación dinámica de objetos sea thread-safe para
198 garantizar a la Gtk+ cierta estabilidad.
199 Luego de mucho leer se encontro el Glib::Distpatcher, que es un evento
200 asíncrono especialmente diseñado para comunicación entre hilos.
206 El Modelo tenía la complicación de la Union.
207 Este elemento es complicado ya que para poder saber el estado a su salida
208 se necesitaba saber el estado a sus 2 entradas, y esta información llegaba
210 Luego de mucho diseño, análisis de todas las convinaciones posibles entre
211 las entradas se llego a un método que resulto exitoso en la mayoría de
212 las pruebas y fue adoptado como definivito.
215 Otro inconveniente fue la suma de colores.
216 El ejemplo dado en el enunciado no era para nada correcto.
217 Para solucionar esto nos pusimos en contacto con Nicolás Reyna, estudiante
218 de diseño industrial en la Universidad de La Plata, quien tiene un conocimiento
219 mayor al nuestro acerca del comportamiento de los colores aditivos y su
221 En base a sus recomendaciones hicimos las sumas de colores en los distintos
225 Conclusiones Generales.
228 Se reforzaron los conocimientos en programación C++ y la programación orientada
230 El modelo utilizado aplica fuertemente estos conceptos, motivo por el cual
231 no fue necesario utilizar un grafo para verificar los flujos por el circuito
235 Las bibliotecas Gtk+ y Glademm facilitaron mucho la creación del Cliente
236 y el Constructor, y nos hemos familiarizado con sus prestaciones.