X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/c6566709690c4b43edc594ae52e94942177001f7..17c51386e9da2d8d694d80ca8dd660bf927fe429:/docs/manual_proyecto.lyx diff --git a/docs/manual_proyecto.lyx b/docs/manual_proyecto.lyx index f07ca39..d748d40 100644 --- a/docs/manual_proyecto.lyx +++ b/docs/manual_proyecto.lyx @@ -39,20 +39,24 @@ Manual del Proyecto PlaQui Integrantes. \layout Itemize -Nicolás Dimov +Nicolás Dimov (77.624) \layout Itemize -Leandro Lucarella +Leandro Lucarella (77.891) \layout Itemize -Ricardo Markiewicz +Ricardo Markiewicz (78.226) \layout Section Programas de Prueba. \layout Standard -Los programas de prueba se pueden encontrar en tests, allí se almacenaron - los primeros ejecutables con los que luego se comenzó el desarrollo. +Los programas de prueba se pueden encontrar en la carpeta +\emph on +tests +\emph default +, allí se almacenaron los primeros ejecutables con los que luego se comenzó + el desarrollo. \layout Standard Con la ayuda de la herramienta subversion no fue necesario ir guardando @@ -146,21 +150,130 @@ Obviamente en algunas circunstancias alg \layout Section Inconvenientes Encontrados. +\layout Subsection + +Servidor. \layout Standard El servidor termina su ejecución si el XML que se le pasa como argumento no es válido. -\layout Standard +\layout Comment los otros puntos no se como explicarlos (sockets no bloqueantes etc) +\layout Subsection + +Constructor. +\layout Standard + +A lo largo del desarrollo nos hemos encontrado con diferentes tipos de problemas + los cuales pudieron ser solucionados, en su mayoría, de una forma aceptable. + +\layout Standard + +Al tabajar con imágenes independientes, las verificaciones sobre cada una + de estas, dependen mucho de su posición en el área de trabajo y su orientación. + Esto provoca que haya que realizar demasiadas validaciones para los diferentes + tipos de verificaciones, y trae apareados problemas en la codificación + por el uso de gran cantidad de coordenadas. +\layout Standard + +Otro inconveniente no solucionado, fue que las imágenes de cada elemento + que se coloca sobre la grilla se crean tantas veces como elementos de ese + tipo haya. + La idea en un principio fue crear todas estas imágenes estáticas, de modo + que para un elemento de cuatro imágenes, se cargarían en memoria solamente + esas cuatro imágenes y luego los elementos iguales apuntarían su imagen + actual a la que corresponda. + Esto no pudo ser solucionado pués no encontramos la forma de inicializar + las imágenes de manera estática, se producían errores en el momento del + linkeo. +\layout Subsection + +Cliente. +\layout Standard + +El principal problema del cliente fueron las threads. + El asunto fue descubrir la forma de hacer que las actualizaciones de refresco + de las propiedades y la creación dinámica de objetos sea thread-safe para + garantizar a la Gtk+ cierta estabilidad. + Luego de mucho leer se encontro el Glib::Distpatcher, que es un evento + asíncrono especialmente diseñado para comunicación entre hilos. +\layout Subsection + +Modelo. +\layout Standard + +El Modelo tenía la complicación de la Union. + Este elemento es complicado ya que para poder saber el estado a su salida + se necesitaba saber el estado a sus 2 entradas, y esta información llegaba + en forma asíncrona. + Luego de mucho diseño, análisis de todas las combinaciones posibles entre + las entradas se llego a un método que resulto exitoso en la mayoría de + las pruebas y fue adoptado como definivito. +\layout Standard + +Otro inconveniente fue la suma de colores. + El ejemplo dado en el enunciado no era para nada correcto. + Para solucionar esto nos pusimos en contacto con Nicolás Reyna, estudiante + de diseño industrial en la Universidad de La Plata, quien tiene un conocimiento + mayor al nuestro acerca del comportamiento de los colores aditivos y su + distribución RGB. + En base a sus recomendaciones hicimos las sumas de colores en los distintos + objetos. \layout Section Conclusiones Generales. \layout Standard -Se reforzaron los conocimientos en programación C++. +Se reforzaron los conocimientos en programación C++ y la programación orientada + a objetos. + El modelo utilizado aplica fuertemente estos conceptos, motivo por el cual + no fue necesario utilizar un grafo para verificar los flujos por el circuito + creado. +\layout Standard + +Con el programa de desarrollo de interfaces, Glade-2, y las bibliotecas + Gtk+ y Glademm facilitaron mucho la creación del Cliente y el Constructor, + y nos hemos familiarizado con sus prestaciones, para crear aplicaciones + visuales. \layout Standard -Nos familiarizamos con las bibliotecas Gtk+. +Contamos con la ayuda de trabajar a distancia, gracias al subversion el + cual facilitó muchisimo las cosas y permitió que los tres integrantes del + equipo pudieramos contar con la totalidad del proyecto en todo momento, + pudiendo conocer el trabajo de los demás y al mismo tiempo reportar +\begin_inset Quotes eld +\end_inset + +bugs +\begin_inset Quotes erd +\end_inset + +. + En todo momento estuvimos actualizados sobre el desarrollo. +\layout Standard + +Nos ha parecido muy importante haber hecho todo el trabajo con ayuda de + herramientas comunes de desarrollo de software libre, las cuales dejaron + un producto final de una calidad igual o superior a cualquier otro entorno + de desarrollo de aplicaciones, sobre todo las aplicaciones visuales. +\layout Standard + +La documentación online generada con el Doxygen, si es bien utilizado, queda + muy completa y es muy fácil realizar una búsqueda con la ayuda de un navegador. + Esto puede comprobarse con la documentación online de la biblioteca Gtkmm + (www.gtkmm.org). +\layout Standard + +Hubo algunas ideas que no pudieron ser implementadas por cuestión de tiempo, + y la documentación estaba programada para realizarse en cuatro días, pero + tres días antes de la entrega nos avisaron que debíamos entregar el martes, + siendo que nosotros cursábamos los jueves, lo que redujo el tiempo de documenta +ción a solo dos días. +\layout Standard + +En general estamos muy conformes con el trabajo y la forma en la cuál fué + realizado, cumplimos los requisitos pedidos por el enunciado y creemos + que lo hicimos de una manera sobresaliente. \the_end