Entradas

Documentación externa

 La documentación externa es una parte fundamental del proyecto, ya que brinda indicaciones e información importante a cualquier persona que desee utilizar la solución de software o conocer el funcionamiento de la misma. En este caso me correspondieron las siguientes partes: Metodología del trabajo, la cual se basó el el concepto "divide y vencerás" el cual nos enseñan a lo largo de toda la carrera. Diagrama de casos de uso de mis requerimientos asociados. Diagrama relacional de la base de datos. Diagrama de clases de bajo nivel. Diagrama de paquetes. Análisis de resultados de mis requerimientos asociados. Cinco lecciones aprendidas asociadas al proceso de aprendizaje de la tarea programada. Manual de usuario de mis requerimientos asociados.

Requerimiento 5

 Hoy complete el requerimiento 5 el cual corresponde a modificar los bienes inmuebles. Actualmente se pueden modificar todos los bienes y las imagenes asociadas. En caso de los edificios también se puede actualizar los niveles.  Además, cree la vista para visualizar la información completa del bien, ya que en la ventana de agente solo se ven algunos datos y una sola imagen, con esta opción se puede verificar todo. También modifiqué la vista de agente y las de todos los bienes, para dividir un poco más las responsabilidades de la clase.

Requerimiento 4

 Hoy completé la creación de los 3 bienes inmubles que me hacían falta, específicamente Casa, Centro Comercial y Edificio. Para cada bien se pueden guardar los atributos específicos de cada uno y además agregar las imágenes necesarias. En el caso de Edificio, también se pueden agregar los niveles necesarios. Tomamos la decisión de filtrar la vista según el tipo de bien que se iba a crear, al inicio la vista agente tenía un panel con distintas pestañas, sin embargo, el código se estaba cargando mucho y el controlador de Agente tenía muchos métodos que no compartían la misma responsabilidad. Por esta razón, decidimos crear un controlador para cada tipo de bien inmueble y de esta forma separar las responsabilidades y organizar más el código.

Requerimiento 9

 Hoy finalicé el requerimiento 9, el cual permite que los clientes consulten las propiedades registradas que se encuentran activas. Además, es posible filtrar por distintos criterios para mejorar la experiencia de usuario. Estos filtros se realizan a través de consultas directas a la base de datos dependiendo del criterio. Tomamos la decisión de separar los filtros en dos, uno contempla los criterios tipo, modalidad y provincia y el segundo contempla el precio, ya que consideramos que el precio debía ser por rango, no por un valor único y de esta forma no se genera confunsión para el usuario.

Requerimiento 3 y 6 completos

 Hoy logré completar la función de descargar la lista de usuarios en formato .csv asociado al requerimiento 3 y crear un tipo de bien inmueble con las imágenes que el agente quiera almacenar para completar la parte de visualizar la imagen en minuatura. Realicé la creación de Lote, ya que era la base para las demás por el tipo de datos. Para completar con el requerimientos de que el agente pueda almacenar todas las imágenes que quiera lo manejé con una lista de bytes[] y el uso de una tabla en la interfaz gráfica, de esta forma se van sumando las imagenes y luego se agrega la lista al objeto. Y cuando se consultan los bienes, se seleciona la propiedad de una tabla y la imagen se desplega en la ventana

Requerimiento 3 y 6

Hoy completé casi en su totalidad los requerimientos 3 y 6 de la tarea programada. Ambos cuentan con la interfaz gráfica, el código y la correcta conexión a la base de datos y manejo de datos. Lo que me quedó pendiente fue: Requerimiento 3: la función para descargar los clientes en .csv Requerimiento 6: visualizar las fotos de las propiedades, ya que aún no completo el requerimiento de crear propiedades, entonces no he tenido datos para manejar. Desde el inicio de la codificación utilizamos el patrón de arquitectura MVC, por lo tanto tuve que investigar cuál sería la mejor forma de capturar datos desde la interfaz gráfica para enviarlos a los controladores.  Encontramos la interface ActionListener, el cual capturaba los enventos en los botones de la interfaz y creamos atributos públicos de las vistas dentro de los controladores para aceeder a estos datos con mayor facilidad.

Reunión de planificación #2

 Hoy nos reunimos por meet para discutir la base de datos y terminar de afinar detalles antes de empezar a programar. Decidimos usar jerarquización para las propiedades de esta forma no repetir datos en todas las tablas y además manejar mejor las imágenes. También investigamos la mejor forma de almacenar las imágenes en la base de datos. Utilizamos el tipo de dato Image, ya que la mayoría de tutoriales e información que recolectamos utilizaban ese tipo para almacenar imágenes en SQL Server. Finalmente, decidimos usar el patrón de diseño Singleton para manejar la conexión a la base dentro de la aplicación. De esta forma solo manejar una conexión y no generar problemas de conexión con Azure.