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
192 Por probemas de tiempo, hubo algunas implementaciones sobre el Constructor
193 luego de cerrado el tema de la documentación, por ejemplo, el Constructor
194 pregunta si quiere guardar el trabajo antes de salir del programa.
195 Esto no fue documentado.
201 El principal problema del cliente fueron las threads.
202 El asunto fue descubrir la forma de hacer que las actualizaciones de refresco
203 de las propiedades y la creación dinámica de objetos sea thread-safe para
204 garantizar a la Gtk+ cierta estabilidad.
205 Luego de mucho leer se encontro el Glib::Distpatcher, que es un evento
206 asíncrono especialmente diseñado para comunicación entre hilos.
212 El Modelo tenía la complicación de la Union.
213 Este elemento es complicado ya que para poder saber el estado a su salida
214 se necesitaba saber el estado a sus 2 entradas, y esta información llegaba
216 Luego de mucho diseño, análisis de todas las combinaciones posibles entre
217 las entradas se llego a un método que resulto exitoso en la mayoría de
218 las pruebas y fue adoptado como definivito.
221 Otro inconveniente fue la suma de colores.
222 El ejemplo dado en el enunciado no era para nada correcto.
223 Para solucionar esto nos pusimos en contacto con Nicolás Reyna, estudiante
224 de diseño industrial en la Universidad de La Plata, quien tiene un conocimiento
225 mayor al nuestro acerca del comportamiento de los colores aditivos y su
227 En base a sus recomendaciones hicimos las sumas de colores en los distintos
231 Conclusiones Generales.
234 Se reforzaron los conocimientos en programación C++ y la programación orientada
236 El modelo utilizado aplica fuertemente estos conceptos, motivo por el cual
237 no fue necesario utilizar un grafo para verificar los flujos por el circuito
241 Con el programa de desarrollo de interfaces, Glade-2, y las bibliotecas
242 Gtk+ y Glademm facilitaron mucho la creación del Cliente y el Constructor,
243 y nos hemos familiarizado con sus prestaciones, para crear aplicaciones
248 Contamos con la ayuda de trabajar a distancia, gracias al subversion el
249 cual facilitó muchisimo las cosas y permitió que los tres integrantes del
250 equipo pudieramos contar con la totalidad del proyecto en todo momento,
251 pudiendo conocer el trabajo de los demás y al mismo tiempo reportar
252 \begin_inset Quotes eld
256 \begin_inset Quotes erd
259 o complementar el trabajo de otro.
260 En todo momento estuvimos actualizados sobre el desarrollo.
263 Nos ha parecido muy importante haber hecho todo el trabajo con ayuda de
264 herramientas comunes de desarrollo de software libre, las cuales dejaron
265 un producto final de una calidad igual o superior a cualquier otro entorno
266 de desarrollo de aplicaciones, sobre todo las aplicaciones visuales.
269 La documentación online generada con el Doxygen, si es bien utilizado, queda
270 muy completa y es muy fácil realizar una búsqueda con la ayuda de un navegador.
271 Esto puede comprobarse con la documentación online de la biblioteca Gtkmm
275 Hubo algunas ideas que no pudieron ser implementadas por cuestión de tiempo,
276 y la documentación estaba programada para realizarse en cuatro días, pero
277 tres días antes de la entrega nos avisaron que debíamos entregar el martes,
278 siendo que nosotros cursábamos los jueves, lo que redujo el tiempo de documenta
279 ción a solo dos días.
282 En general estamos muy conformes con el trabajo y la forma en la cuál fué
283 realizado, cumplimos los requisitos pedidos por el enunciado y creemos
284 que lo hicimos de una manera sobresaliente.
287 El proyecto completo es entregado en un CD que puede ser leido desde cualquier
288 sistema operativo en cualquier tipo de lectora, y también es un CD booteable
289 con lo cual no es necesario ni siquiera tener un sistema opertativo instalado
290 o un disco rígido para poder operar el PlaQui.