You are on page 1of 39

Práctica de Sistemas Informáticos III

Creación de un portal inmobiliario
Curso 2011-2012

Grupo 18: David Cano Mañanes Samuel López Sánchez Orlando Rodriguez Muñoz

Tabla de contenidos
Práctica de Sistemas Informáticos III Creación de un portal inmobiliario Curso 2011-2012 Tabla de contenidos Introducción Composición del grupo Plan de trabajo Análisis de requisitos Actores Casos de uso Diagrama de contexto Arquitectura Diagrama de subsistemas Modelo Diagramas de clases de model y dao. Vista Controlador Diagrama de colaboración Esquema de Base de Datos Guia de Usuario Presentación Funciones del usuario anónimo Registrar un nuevo cliente Realizar una búsqueda de inmuebles Consultar las características de un inmueble y mostrar interés Funciones del cliente Identificarse como cliente (login) Acceder a la página privada del cliente Gestión de inmuebles Introducir un inmueble nuevo Modificar un inmueble existente Gestión de imágenes Eliminar un inmueble existente Darse de baja como cliente Salir de la aplicación (logout) Funciones del administrador Identificarse como administrador (login) Acceder a la página privada del administrador Gestión de clientes Eliminar un cliente Activar y desactivar funciones Gestión de inmuebles Salir de la aplicación (logout) Conclusiones

Otro grupo de objetivos tiene que ver con el hecho de que la práctica debe ser realizada en grupo: capacidad de asumir roles y responsabilidades. ● Realizar las pruebas de aceptación. así como capacidad de trabajo en grupo.Introducción El presente documento constituye la memoria técnica de la práctica de Sistemas Informáticos III para el curso 2011-2012. ● Integrar todas las componentes para formar el sistema completo. de integración y de aceptación (sistema) ● Implementar y probar cada una de las componentes del sistema. Dicha tarea conlleva una serie de subobjetivos. ● Realizar un diseño detallado de cada una de las partes del sistema. utilizando el modelo de arquitectura de capas y patrones de diseño. así como realizar el manual de usuario del sistema. En particular se utilizará el patrón Modelo-VistaControlador (MVC). ● Documentar cada una de las fases mencionadas en los puntos anteriores. . El objetivo principal es el de poner en práctica los conocimientos adquiridos mediante la realización completa de un proyecto de software sencillo. realizar un modelo del sistema a desarrollar. La práctica consiste en el desarrollo de un portal web de alquiler y compra de viviendas. como son: ● Diseñar y llevar a cabo un plan de trabajo ● Analizar los requisitos de usuario dados por el enunciado de la práctica para. ● Diseñar un plan de pruebas. a partir de ellos. ● Realizar un diseño de arquitectura del sistema. con una funcionalidad reducida. incluyendo pruebas unitarias.

A continuación se muestra la matriz miembros-roles: Rol Jefe de proyecto Analista Arquitecto Desarrollador Integrador Validador Documentador DCM Sí No No No No Sí Sí SLS No Sí Sí Sí No No No ORM No No No Sí Sí No No .Composición del grupo El grupo de trabajo está compuesto por tres miembros: ● David Cano Mañanes (DCM) ● Samuel López Sánchez (SLS) ● Orlando Rodriguez Muñoz (ORM) Dado el reducido número de miembros del grupo. cada uno de nosotros ha asumido varios roles.

En primer lugar. ● Integración de los módulos del sistema y pruebas de integración. el código de los módulos.Plan de trabajo El plan de trabajo es diseñado por el jefe de proyecto con el objetivo de identificar las tareas a realizar. ● Diseño de la arquitectura del sistema. el sistema completo los documentos de pruebas y el manual de usuario. En esta memoria técnica no se incluyen todos estos documentos. para asegurar que el mismo acaba en tiempo y forma. También es importante controlar el desarrollo del proyecto y su evolución con respecto al plan. Cada documento debe estar disponible al final de la etapa correspondiente. por tratarse de un proyecto simple. de diseño detallado. ● Pruebas de aceptación del sistema completado. A continuación se muestra el diagrama de Gantt con el calendario diseñado para cada una de las etapas. habiendo terminado todas las tareas y habiendo producido todos los productos requeridos. al tratarse de un proyecto software. de las cuales la primera solapa con la etapa anterior y la segunda con la siguiente. Como se puede observar. con requisitos bien definidos y objetivos bien establecidos. junto con una estimación del tiempo que llevará cada una de ellas y la asignación de cada una de las tareas a los distintos miembros del grupo. se debe elegir el ciclo de vida del mismo. ● Codificación de los módulos del sistema y pruebas unitarias. se han reservado dos semanas para cada una de las etapas. En este caso se ha optado por un ciclo de vida clásico en cascada. documento de diseño arquitectónico. aunque en un proyecto real si que se deberían producir. También se puede observar que se han reservado tres semanas para finalizar la documentación del sistema. ● Realización de la documentación de usuario Cada una de las etapas tiene como resultado un documento: documento de análisis. . ● Diseño detallado del sistema. aunque en la realidad cada una de las etapas conlleva producir la documentación que marca el hito de final de cada una de las etapas. como es bien sabido: ● Análisis de requisitos y elaboración del modelo del sistema. Dicho ciclo de vida conlleva una serie de pasos intermedios. marcando el hito de final de dicha etapa.

Aunque en el diagrama se supone una sucesión lineal de cada una de las etapas. Este hecho es completamente normal y necesario en este tipo de ciclo de vida software. en la realidad se han tenido que revisar y alterar mínimamente las etapas anteriores y su documentación asociada durante cada una de las etapas para acomodar cambios necesarios para solucionar problemas que han surgido a lo largo de la realización del proyecto. .

mostrar interés por un inmueble determinado y darse de alta como cliente. visualizar las características de los inmuebles. Puede realizar todas las acciones anteriores. y no se considera necesario repetirlos en el presente documento. además de acciones exclusivas. tiene posibilidades limitadas de uso de la aplicación: puede realizar búsquedas. El primero de ellos es considerado el más importante y por lo tanto se ha desarrollado con mayor detalle: . insertar-modificar-dar de baja sus propios inmuebles o darse de baja como cliente. a partir de la especificación de requisitos funcionales. A cambio. Casos de uso Se han identificado los siguientes casos de uso. ● Cliente: este actor puede. y también requiere ser identificado. que se detallan en los siguientes apartados.Análisis de requisitos En el enunciado de la práctica se detallan los requisitos funcionales y técnicos que debe cumplir el sistema. Actores Se han identificado tres actores diferentes que interactuan con el sistema. Usando dichos requisitos como entradas fundamentales. así como el diagrama de contexto del sistema. adicionalmente. que coinciden con los tres tipos de usuario que se requieren para la aplicación: ● Usuario anónimo: este actor interactúa con la aplicación sin ningún tipo de credencial. ● Administrador: este actor tiene acceso universal a todo el sistema. Se requiere que el actor sea identificado. se han identificado una serie de actores y casos de uso.

4. . Curso Normal 1) El usuario pulsa en el enlace “Mostrar interés” Alternativas 2) El sistema muestra un formulario para 2.1 El usuario pulsa el botón Volver y se muestra botón Enviar.1 Si existe algún error en los datos introducidos se vuelve a la pantalla del formulario del inmueble y se muestra el error. 4) El sistema comprueba los datos introducidos. la pantalla del inmueble sin el formulario. 3) El usuario introduce los datos y pulsa el 3.Caso de Uso: Mostrando interés en inmueble Actor: Usuario Anónimo Precondiciones: Haber realizado el caso de uso Visualizando características inmueble. 2.1 En caso de que la función del introducir el nombre y el email de contacto sistema “Mostrar interés” esté desactivada se del usuario. 5) Se muestra la pantalla del inmueble con un mensaje avisando de que se ha enviado un email y los datos del dueño del inmueble.2 En el caso de que el interés lo muestre un cliente autentificado se salta al punto 5. mostrará el mensaje avisándolo y se volverá a la pantalla del inmueble. Postcondiciones: El sistema muestra la pantalla del inmueble con los datos del dueño y un mensaje avisando de que se ha enviado un email.

Alternativas 2. el precio y el tamaño.1. Si no existen inmuebles en el sistema se muestra el mensaje: No hay inmuebles registrados . 2) El sistema muestra un listado con todos los inmuebles existentes en la base de datos. De cada inmueble se mostrará el municipio.Caso de Uso: Listando inmuebles Actor: Usuario Anónimo Curso Normal 1) El usuario entra en la página principal.

.Caso de Uso: Buscando inmuebles Actor: Usuario Anónimo Curso Normal 1) El usuario estando en la página principal rellena el formulario de filtrado con los datos que considere de los siguientes: . Alternativas 2. De cada inmueble se mostrará el municipio.Jardín .1 Si no existe ningún inmueble con los criterios introducidos se muestra el mensaje: No existen inmuebles que coincidan con los criterios de filtrado.Tamaño . 2) El sistema comprueba los datos del formulario. 3) El sistema muestra en la página principal los inmuebles que coinciden con los criterios de filtrado.Municipio . 3.1 En caso de error en los datos introducidos se vuelve a la página principal y se muestra el mensaje de error.Precio Y pulsa el botón Filtrar. el precio y el tamaño.

Caso de Uso: Visualizando características inmueble Actor: Usuario Anónimo Precondiciones: Haber ejecutado el caso de uso Listando inmuebles o Buscando inmuebles.1 En caso de que no exista una foto para el inmueble no se mostrará ninguna.Tamaño . Postcondiciones: El sistema muestra todos los datos de un inmueble.1 Si no tiene fotos el inmueble no se mostrarán las opciones de navegación.Municipio . .Jardín . 2) El sistema muestra la página del inmueble con los siguientes datos: . Alternativas 2. Curso Normal 1) El usuario pulsa en el enlace de un inmueble.Foto principal del inmueble 3) El usuario puede navegar por las distintas fotos del inmueble.Precio . 3.

1 En caso de que los datos introducidos sean erróneos o no existentes en la base de datos el sistema devuelve el error correspondiente y muestra la página de login.Caso de Uso: Identificándose en el sistema Actor: Usuario Anónimo Curso Normal 1) El usuario entra a la página principal 2) El usuario escribe su email y password y pulsa el botón login 3) El sistema comprueba los datos introducidos por el usuario con los existentes. 4) El sistema muestra la página principal del usuario: cliente o administrador Alternativas 3. .

5) El sistema muestra la página de login y el mensaje de que el registro ha sido correcto.2 En caso de que el email ya exista en la base de datos el sistema muestra el error y vuelve a la página de registro. 4.Caso de Uso: Dándose de alta en el sistema Actor: Usuario Anónimo Curso Normal 1) El usuario en la página principal pulsa el enlace Registrarse. 4.1 En caso de que la función del sistema de “Nuevas Altas” esté desactivada el sistema muestra el mensaje avisándolo y no permite seguir con el registro. 2) El sistema muestra la página de registro Alternativas 2.Password . . 3) El usuario completa el formulario que consta de los siguientes campos: .Password repetido Y pulsa en el botón Registrar.Nombre . 4) El sistema comprueba que los valores del registro son correctos y guarda el nuevo cliente en el sistema.1 Si falta algún dato o los passwords no coinciden el sistema muestra el error y vuelve a la página de registro.Email .

1. 2) El sistema muestra el listado de inmuebles del cliente con el precio y el municipio de cada inmueble.Caso de Uso: Listando inmuebles propios Actor: Cliente Curso Normal 1) El cliente. Si el cliente no tiene inmuebles guardados en la base de datos se muestra el mensaje: No hay inmuebles registrados . situado en la página de gestión de inmuebles. pulsa el enlace Lista de inmuebles. Alternativas 2.

Alternativas 2.Precio Y pulsa el botón Dar de alta. 4) El sistema comprueba los datos de entrada y guarda el inmueble en el sistema. Si la función del sistema “Nuevos inmuebles” está desactivada el sistema muestra el mensaje avisándolo y se vuelve a la página de inmuebles.1.Municipio .Tamaño . 3) El cliente rellena el formulario que tiene los siguientes campos: . situado en la página de gestión de inmuebles.1 Si existe algún error en los datos introducidos se vuelve a la pantalla del formulario de alta y se muestra el error. .Caso de Uso: Añadiendo inmueble Actor: Cliente Curso Normal 1) El cliente. 4. pulsa el enlace Nuevo Inmueble. 2) El sistema muestra la página para añadir un inmueble.Jardín . 5) El sistema muestra la pantalla de gestión de imágenes.

4.Caso de Uso: Modificando inmueble Actor: Cliente Precondiciones: Realizar el caso de uso Listando inmuebles propios. 3) El cliente modifica los campos que quiera y pulsa el botón Modificar.1 El cliente sigue el enlace Gestión de imágenes con lo que se saltaría al caso Modificando imágenes inmueble y no se guardaría ninguno de los cambios realizados. Postcondiciones: Se muestra el mensaje de Inmueble Modificado y se pasa al caso de uso Listando inmuebles propios. Alternativas 3.1 En caso de error se vuelve al formulario del inmueble mostrando el error. Curso Normal 1) El cliente pulsa en el enlace Modificar de un inmueble. 4) El sistema comprueba los datos y guarda los cambios. 5) Se vuelve al caso de uso Listando inmuebles propios mostrando el mensaje de Inmueble modificado. . 2) El sistema muestra un formulario con los datos del inmueble seleccionado y el botón Modificar.

.Caso de Uso: Gestionando imágenes inmueble Actor: Cliente Precondiciones: Realizar el caso de uso Añadiendo inmueble o Modificando inmueble. 4) El cliente pulsa el enlace Eliminar de una imagen y el sistema elimina la imagen de la base de datos y del disco. 3. 2) El sistema muestra las imágenes del inmueble Alternativas 2. 5) Se muestran las imágenes del inmueble. 3) El cliente selecciona un archivo de tipo imagen y pulsa el botón enviar.1 En caso de error no se guarda la imagen y se muestra el error. Curso Normal 1) El cliente pulsa en el enlace Gestión de imágenes. Postcondiciones: Las imágenes estarán guardadas tanto en la base de datos como en el disco y se mostrarán todas las del inmueble.1 En caso de no existir imágenes se muestra el mensaje No existen imágenes.

2) El sistema muestra la página de eliminación de un inmueble la cual consta de un mensaje de confirmación y los botones Sí y Volver. 3) El cliente pulsa el botón Sí. 4) El sistema elimina de la base de datos el inmueble y las imágenes. . Alternativas 3. Curso Normal 1) El cliente pulsa en el enlace Eliminar inmueble de alguno de los inmuebles.1 El cliente pulsa el botón Volver y se pasa al caso de uso Listando inmuebles propios.Caso de Uso: Eliminando inmueble Actor: Cliente Precondiciones: Haber realizado el caso Listando inmuebles propios Postcondiciones: Mostrar los inmuebles propios sin el inmueble eliminado. 5) Se pasa al caso de uso Listando inmuebles propios.

sus inmuebles y las imágenes de los inmuebles. 3) El cliente pulsa el botón Sí.Caso de Uso: Dándose de baja Actor: Cliente Curso Normal 1) El cliente en su página principal pulsa el enlace darse de baja. . 2) El sistema muestra la página de baja del sistema la cual consta de un mensaje de confirmación y los botones Sí y Volver. 5) El sistema muestra la página principal con el cliente no identificado y el mensaje Cliente eliminado correctamente.1 El cliente pulsa el botón Volver y el sistema vuelve a la página principal del cliente. Alternativas 3. 4) El sistema elimina de la base de datos al cliente.

Alternativas .Caso de Uso: Saliendo del sistema Actor: Cliente Curso Normal 1) El cliente. 2) El sistema muestra la página principal con el cliente ya no identificado. en cualquier página. pulsa el enlace logout que se encuentra en la cabecera.

. 2) El sistema muestra el listado de clientes con el email.Caso de Uso: Listando clientes Actor: Administrador Curso Normal 1) El administrador desde su página principal pulsa el enlace listado de clientes. el nombre y el número de inmuebles a su nombre de cada cliente.1 En caso de no existir clientes en la base de datos se mostrará el mensaje: No hay clientes registrados. Alternativas 2.

.Caso de Uso: Dando de baja cliente Actor: Administrador Precondiciones: Realizar el caso Listando clientes Postcondiciones: Se muestran los clientes de la aplicación sin el cliente que acaba de ser eliminado. 5) Se vuelve al caso de uso Listando clientes. 3) El administrador pulsa el botón Sí.1 En caso de error se muestra el mensaje y se vuelve a la página de eliminación. Alternativas 3. Curso Normal 1) El administrador pulsa el enlace Eliminar cliente de algún cliente. 4. 2) El sistema muestra la pantalla de eliminación de un cliente y el mensaje de confirmación. 4) El sistema elimina de la base de datos al cilente y todos sus inmuebles e imágenes.1 El administrador pulsa el botón Volver y se salta al caso de uso Listando clientes.

. 4) El sistema guarda el estado de las funciones en la base de datos y muestra la pantalla principal del administrador.Caso de Uso: Activando funciones del sistema Actor: Administrador Curso Normal 1) El administrador desde su página principal sigue el enlace Modificar Funciones 2) El sistema muestra una tabla con las funciones del sistema y si están activadas o no. Alternativas 4. 3) El administrador modifica las funciones que quiera y pulsa el botón guardar.1 En caso de error se muestra el mensaje y no se guardan las modificaciones.

y el propio sistema. en este caso los actores. Las peticiones pueden ser. por ejemplo. la búsqueda de un inmueble. .Diagrama de contexto A continuación se muestra el diagrama de contexto del sistema. o darse de baja de la aplicación. La aplicación web procesa la petición y da una respuesta al actor. y recibe una respuesta de la misma. Como se puede observar. Dicho diagrama muestra el flujo de datos entre los agentes externos al sistema. en todos los casos el actor realiza una petición a la aplicación web. hacer login.

que se encarga de responder a las peticiones de los clientes invocando las operaciones del modelo. que se encarga de presentar los resultados obtenidos al usuario y el controlador. para no sobrecargar la memoria. que transfiere el control a otro componente que completa la respuesta (en nuestro caso JSP) ● Una librería de tags. Diagrama de subsistemas Como se puede apreciar en el diagrama anterior. la vista. para cada subsistema. . que debe ser proporcionado por el desarrollador de la aplicación. Esto último no se realiza para todos los paquetes. Para dos de los paquetes se muestra el diagrama completo de clases. pero en un proyecto software real sí que se debería hacer. Dicho framework aporta tres componentes fundamentales: ● Manejador de peticiones (en forma de acciones). A continuación.Arquitectura En primer lugar se muestra y explica el diagrama de subsistemas. que contiene la lógica del negocio. que ayuda al desarrollador a crear aplicaciones web interactivas. se ha usado el patrón de diseño ModeloVista-Controlador (MVC) para la arquitectura de la práctica. Dicho modelo se basa en dividir el sistema en tres subsistemas: el modelo. Se ha utilizado el framework Struts-2 para la implementación del patrón MVC. ● Manejador de respuestas. se presenta el diagramas de paquetes y dependencias entre los mismos.

actions y dao.Struts-2 procesa todas las peticiones de los usuarios de la aplicación. Se puede encontrar más información sobre el funcionamiento de Struts-2 en http:// struts. Struts-2 utiliza un archivo de configuración en xml para mapear las peticiones con las acciones y sus clases asociadas. Dichas peticiones son analizadas por Struts-2. y los interceptores a invocar antes y después de ejecutar la acción. que deben ser definidas por el desarrollador de la aplicación.org/ Modelo El siguiente diagrama muestra el diagrama de paquetes del modelo: Como se puede observar.apache. También define como generar las vistas. foto. el modelo está compuesto por tres paquetes: model. dependiendo del resultado de la acción correspondiente. Cada una de estas clases contiene los atributos . El resultado de la operación es entonces utilizado para generar la vista que será enviada al usuario. El paquete model contiene las clases que representan los objetos del modelo propiamente dichos: cliente. que decide qué acción y que interceptores se debe ejecutar para tratarla. función e inmueble.

municipio.asociados con el modelo. solo el paquete dao interacciona con la base de datos. como dar de alta o baja a clientes e inmuebles. que puede ser activada o desactivada por el administrador del sistema. Por su parte. introduciendo y recuperando objetos del paquete model en la misma. hacer login y logout etc. A continuación se muestra el diagrama de clases de los paquetes model y dao. así como procedimientos para modificarlos y recuperarlos. y el cliente al que pertenece. ● Inmueble: esta clase es un contenedor que representa un inmueble. . una lista de fotos. las clases que introducen y recuperan los objetos de la base de datos. La capa de persistencia está basada en el uso de DAOs (Data Access Objects). Contiene los atributos asociados con un cliente (o administrador). ● Foto: esta clase es un contenedor que representa una foto. Diagramas de clases de model y dao. activar y desactivar funciones. password. la descripción. El paquete dao contiene las clases de apoyo a la persistencia. el paquete actions contiene las clases que realizan acciones concretas sobre el modelo. También representa al administrador de la aplicación. contiene los atributos asociados: identificador. su identificador. las acciones del paquete action interactúan con la capa de persistencia para atender a las peticiones del usuario. Estas acciones son invocadas por struts como respuesta a las peticiones del usuario. El paquete model contiene 4 clases: ● Cliente: esta clase es un contenedor que representa un cliente de la aplicación. es decir. ● Funcion: esta clase es un contenedor que representa una función de la aplicación. y la extensión (tipo de archivo) de la misma. si tiene o no jardín. el nombre. por considerarse de especial relevancia. nombre. y si está activa o no. Por último. tamaño. Como se aprecia en el diagrama. y una lista de inmuebles asociados. email. Los atributos asociados son: el identificador. precio. es decir. que es una implementación JPA (Java Persistent API) que independiza el almacenamiento de datos del uso de una base de datos concreta. Para ello se utiliza Hibernate. si es o no es administrador. Los atributos que representan una foto son: su identificador. el inmueble al que pertenece. es decir.

el controlador pasa el resultado al JSP adecuado para que éste cree la vista. o sublistas correspondientes a un cliente concreto. así como obtener una función por su id.Por su parte. borrar y recuperar objetos de tipo Inmueble de la base de datos. así como comprobar si un inmueble pertenece a un cliente dado. borrar y recuperar objetos de tipo Foto en la base de datos. o mediante un filtro. obtener o borrar una foto dado su id. ● InmuebleDao: esta clase es la encargada de insertar. e insertar una nueva foto. Tras invocar una acción. ell paquete dao contiene 4 clases: ● ClienteDao: esta clase es la encargada de insertar. o borrar uno existente dado su id. ● FuncionDao: esta clase es la encargada de insertar. archivos html. e insertar un inmueble. Permite obtener la lista de fotos asociadas a un inmueble concreto. o bien se puede obtener un único cliente dado su email o su id. Permite obtener la lista de funciones. la vista no es un paquete de java. Vista A continuación se muestra el diagrama de paquetes de la vista: Como se puede observar en el diagrama. modificar una lista de funciones. borrar y recuperar objetos de tipo Cliente de la base de datos. modificar y recuperar objetos de tipo Funcion en la base de datos. Permite obtener la lista de todos los inmuebles. Controlador El siguiente diagrama muestra la estructura del controlador: . Permite obtener una lista de todos clientes. archivos CSS e imágenes. A su vez los JSPs utilizan archivos CSS e imágenes para dar formato a los archivos html. También permite nsertar un cliente nuevo. También permite obtener o borrar un inmueble dado su id. ● FotoDao: esta clase es la encargada de insertar. en este caso. sino que está formado por una colección de JSPs. así como obtener la primera foto de cada inmueble.

o si un cliente está o no logueado.Al haber utilizado Struts-2 para implementar el patrón MVC. en el archivo struts. si una acción a realizar está activada o no.xml se define cómo se mapean las peticiones de usuario en acciones del modelo. con una serie de interceptores propios creados especialmente para esta aplicación. . se redirige el resultado de la acción al JSP adecuado para que éste cree la vista que será finalmente enviada como respuesta al usuario. Adicionalmente. En este archivo también se configuran los interceptores que se ejecutarán antes y después de realizar cada una de las acciones. el archivo web.xml se configura para que todas las peticiones de usuario sean tratadas por Struts-2. Estos interceptores se utilizan para comprobar si el usuario tiene permisos suficientes para realizar una acción o no. dependiendo de la respuesta de la acción. y. En primer lugar. la arquitectura del controlador es bastante sencilla. el controlador contiene el paquete interceptors. En segundo lugar.

se muestra el diagrama de colaboración correspondiente: . que fue desarrollado con mayor detalle.Diagrama de colaboración Para el caso de uso “Mostrando interés en un inmueble”.

A continuación se muestra el esquema de la base de datos utilizado: . sin servidor de base de datos. que es una base de datos que puede utilizarse en modo local enteramente en RAM. y perdiéndose los datos después de cada ejecución. por ejemplo MySQL en su lugar. con lo que es muy sencillo utilizar otra base de datos. como se pedía en el enunciado de la práctica.Esquema de Base de Datos Para la realización de esta práctica se ha utilizado HyperSQL. Se han utilizado JPAs (mediante Hibernate) para acceder a la base de datos.

en el que se ofrecen servicios para tres tipos de usuario. se puede acceder a los servicios como cliente. En primer lugar. Aparecerá el siguiente formulario de registro: PANTALLAZO FORMULARIO DE REGISTRO .uned. un usuario anónimo puede mostrar interés por un inmueble. En este caso un usuario no puede registrarse como administrador mediante las funciones de la aplicación. sino que también están disponibles para usuarios cliente y administrador. Funciones del usuario anónimo En esta sección se presentan las acciones que pueden ser llevadas a cabo por un usuario anónimo de la aplicación. Estas funciones (excepto la de registro de un nuevo cliente) no son exclusivas del usuario anónimo. insertar.Guia de Usuario Presentación Esta guía de usuario describe el funcionamiento del portal inmobiliario desarrollado. Registrar un nuevo cliente Estando en la página principal de la aplicación. modificar y eliminar sus propios inmuebles o darse de baja como cliente. Adicionalmente. Además de las funciones de usuario anónimo y de cliente. pinchar el link “Registrarse” en el cuadro de login situado en la esquina superior derecha. se puede acceder a la aplicación como administrador. abra su browser e introduzca la siguiente dirección: http://andromeda. acceder a la lista de clientes y eliminarlos. El administrador debe también identificarse mediante un login. Para acceder a la aplicación. adicionalmente a las acciones como usuario anónimo. se abrirá la página principal de la aplicación.es:8080/si3_18/ Al hacer esto. se puede acceder a los servicios como usuario anónimo. En segundo lugar. Para ello es necesario que el usuario se registre en la aplicación previa cumplimentación del formulario correspondiente. Una vez registrado e identificado. así como activar y desactivar las funciones de la aplicación. el administrador puede. Se trata de una aplicación web de alquiler y compra de inmuebles. ambas cosas desde su página personal. tal y como se muestra en la imagen: INSERTAR IMAGEN DE LA PANTALLA PRINCIPAL En los siguientes apartados se detallan el funcionamiento de la aplicación y cómo realizar cada una de las funciones mencionadas anteriormente. En este caso no se requiere autenticación y las funciones accesibles se reducen a la búsqueda y visualización de inmuebles. el cliente puede. a través de su página personal. Por último. sin haberse identificado como cliente o administrador.lsi.

Se aplicará el filtro y se mostrarán en la página principal los inmuebles que cumplan con el filtro.Rellene todos los campos del formulario con sus datos y pinche el botón “enviar”. Aparecerá una nueva página en la que se le pedirá un nombre una dirección de email de contacto: Rellene los datos pedidos y pinche el botón “enviar”. hasta 40000€ o por encima de 40000€. En caso de información incorrecta o incompleta. Realizar una búsqueda de inmuebles Estando en la página principal de la aplicación. ● Tamaño: busca los inmuebles del tamaño especificado. se mostrará la siguiente pantalla mostrando el éxito de la operación e invitando al nuevo cliente a loguearse: PANTALLAZO REGISTRO COMPLETO Si introduce su contraseña correctamente. Si no se especifica ningún criterio. en la que se mostrará un mensaje de confirmación. sólo se mostrarán los inmuebles que. jardín y precio: ● Municipio: busca los inmuebles situados en municipios cuyo nombre contenga la cadena especificada. En caso contrario. En caso de datos incorrectos o incompletos. En cualquier fase del proceso se puede volver a la pantalla principal mediante el link “volver”. El filtro permite búsquedas por Municipio. se indicará en el propio formulario para que el usuario pueda deshacer el error. modifique los filtros de búsqueda del cuadro titulado “Busca tu inmueble”. se volverá a la página de características del inmueble. parecida a la que se muestra a continuación: PANTALLAZO CARACTERISTICAS INMUEBLE Estando en la página de características inmueble. Consultar las características de un inmueble y mostrar interés En la lista de edificios de la página principal. pinche sobre el link “Ver características” del edificio en cuestión. se mostrarán todos los edificios que cumplan con el resto de criterios de búsqueda. En caso contrario. cuenten con jardín. ● Precio: Se pueden buscar edificios por rangos de precio: hasta 20000€. y pinche el botón “Filtrar”. será redirigido a su página de cliente. se mostrará el error en el formulario para que el usuario pueda corregirlo. se muestran todos los edificios disponibles en la página principal. Si la información es correcta y completa. Aparecerá una nueva página mostrando las características del inmueble. cumpliendo con el resto de los criterios de búsqueda. En cualquier momento del proceso se puede volver a la página anterior mediante el link “Volver” Funciones del cliente . ● Jardín: Si se marca esta casilla. tamaño. el usuario puede mostrar interés mediante el link “mostrar interés”.

Al pinchar sobre él. Identificarse como cliente (login) Desde la pantalla principal. En caso de información incorrecta o incompleta.com contraseña: cliente2 Acceder a la página privada del cliente Una vez logueado. Introducir un inmueble nuevo En la página de gestión de inmuebles. para que el usuario pueda . se mostrará una nueva página con el formulario de login y el error encontrado. se mostrarán mensajes de error sobre el formulario. o bien volver a la página principal mediante el link “Página principal”. y desde la página principal. En caso de login correcto. se mostrará la página de gestión de inmuebles: PANTALLAZO GESTION INMUEBLES Puede volver a la página privada de cliente pulsando sobre el link “volver”. se puede acceder a las funciones de gestión de inmuebles propios mediante el link “Gestión de inmuebles”. con una serie de inmuebles cada uno. para que el usuario pueda corregirlo (o volver a la pantalla principal usando el link “volver”). que se pueden utilizar: email: cliente1@cliente. Gestión de inmuebles Desde la página privada del cliente. En caso de error. Aparecerá una nueva página con el siguiente formulario: PANTALLAZO NUEVO INMUEBLE Introduzca los datos pedidos y haga click sobre enviar. introduzca su email y contraseña en el recuadro de login de la parte superior derecha y pinche el botón “login”.com contraseña: cliente1 email: cliente2@cliente. será redirigido a la página privada del cliente (ver siguiente apartado) Existen dos clientes por defecto. haga click sobre “Nuevo inmueble”.En esta sección se presentan las acciones que pueden ser llevadas a cabo por un cliente. además de las presentadas en la sección anterior. haga click sobre en link “página privada” del cuadro de login: PANTALLAZO PAGINA PRINCIPAL LOGUEADA Aparecerá la página privada del cliente: PANTALLAZO PAGINA PRIVADA Puede acceder a las funciones exclusivas del cliente desde esta página (ver apartados siguiente). En los siguientes subapartados se explican las funciones de gestión de inmuebles disponibles.

eliminar o modificar las fotografías para el inmueble (ver apartado de gestión de imágenes). Al hacer esto. En caso de éxito. se le redirige a la página de gestión de imágenes: PANTALLAZO GESTION IMAGENES Puede insertar una nueva foto seleccionando un archivo (pinchando el botón seleccionar archivo) y pulsando sobre enviar a continuación. o haga click sobre “Volver” para volver a la página privada del cliente. Aparecerá la página de modificación del inmueble: Realice los cambios requeridos (excepto para la gestión de imágenes. Vuelva a hacer click sobre “Darse de baja” para darse de baja. Funciones del administrador En esta sección se presentan las acciones que pueden ser llevadas a cabo por un administrador. haga click sobre “Darse de baja”. se mostrará un mensaje de error. se mostrará la foto en la lista. además de las presentadas en las dos secciones anteriores. En caso de información incorrecta o incompleta.corregir los errores. Gestión de imágenes Puede insertar y eliminar imágenes para un inmueble dado pinchando sobre el link “Gestión de imágenes” desde la página de modificación del inmueble. El inmueble será eliminado de la lista. Aparecerá una segunda pantalla pidiendo confirmación. se mostrarán mensajes de error sobre el formulario. En caso contrario. Modificar un inmueble existente Desde la página de gestión de inmuebles. en la que se mostrará un mensaje de éxito de la operación. haga click sobre “Logout” en el cuadro de login de la esquina superior derecha. para que pueda introducir fotografías para el inmueble (ver apartado de gestión de imágenes). En caso contrario. se le redirigirá a la página de gestión de imágenes del inmueble. En cualquier momento se puede volver a la página anterior pinchando sobre el link “volver”. Identificarse como administrador (login) . pinche sobre el link “eliminar” del inmueble a eliminar. Salir de la aplicación (logout) En la página principal de la aplicación. Darse de baja como cliente En la página privada del cliente. para que pueda introducir. para que el usuario pueda corregir los errores. pinche sobre el link “modificar” del inmueble a modificar. Puede eliminar una foto mediante el link “eliminar” de la foto. En caso contrario. en la que se mostrará un mensaje de éxito de la operación. se le redirigirá a la página de gestión de imágenes del inmueble. que se trata en el subapartado siguiente) y pinche sobre enviar. Eliminar un inmueble existente Desde la página de gestión de inmuebles.

Al pinchar sobre él. se puede acceder a las funciones de gestión de inmuebles propios mediante el link “Gestión de inmuebles”. proceda exáctamente igual que para hacer login de cliente. Aparecerá la página privada del administrador: PANTALLAZO PAGINA PRIVADA Puede acceder a las funciones exclusivas del administrador desde esta página (ver apartados siguientes). Aparecerá un mensaje indicando el éxito de la operación. al intentar invocarla el usuario obtendrá un mensaje explicando que esa función ha sido desactivada por el administrador. Gestión de clientes Desde la página privada del administrador. Al pinchar sobre él. Para activar o desactivar una función seleccione o deseleccione el cuadro “Activa”. El cliente será eliminado de la lista. Gestión de inmuebles Desde la página privada del administrador. se mostrará . o bien volver a la página principal mediante el link “Página principal”. pero con una dirección de correo y contraseña correspondiente al administrador: email: admin@admin. descripción.com contraseña: admin Será redirigido a la página privada del administrador. y si está o no activa. En los siguientes subapartados se explican las funciones de gestión de clientes disponibles. se puede acceder a las funciones de gestión de clientes mediante el link “Listado clientes”. Si una función está desactivada. Aparecerá la página de funciones: Por cada función disponible. haga click sobre “Funciones de la aplicación”. y desde la página principal. Puede volver a la página de administrado en cualquier momento pinchando el link “volver”. Acceder a la página privada del administrador Una vez logueado como administrador. Activar y desactivar funciones En la página privada del administrador. Puede aplicar los cambios mediante el botón “Guardar”. se mostrará la página de gestión de clientes: PANTALLAZO GESTION CLIENTES Puede volver a la página privada de administrador pulsando sobre el link “volver”. pinche sobre el link “eliminar” del cliente a eliminar. haciéndo click sobre él.Para hacer login como administrador. se muestra su nombre. haga click sobre en link “página privada” del cuadro de login. Eliminar un cliente Desde la página de gestión de clientes.

la página de gestión de inmuebles. haga click sobre “Logout” en el cuadro de login de la esquina superior derecha. Vea el apartado dedicado a la gestión de inmuebles en las funciones del cliente. . que es idéntica a la de cualquier cliente. Salir de la aplicación (logout) En la página principal de la aplicación.

A pesar de residir en lugares muy distintos y haber tenido que coordinarse a través de medios puramente electrónicos. que se han cumplido los objetivos que el grupo se había marcado al comienzo de la práctica. Se ha propuesto.Conclusiones Para la realización de esta práctica se ha diseñado y seguido un plan de proyecto de forma satisfactoria. y con unos roles bastante claros a la hora de la realización de la práctica. diseñado. Finalmente se ha producido la documentación necesaria. Se puede afirmar. por tanto. coordinados por el jefe de proyecto. implementado y probado una solución al problema planteado. Durante la realización de la práctica ha tenido un gran peso el trabajo conjunto de los miembros del mismo. los miembros del grupo han sabido asumir sus roles y acomodarse a las tareas que le han sido asignadas. . Se ha realizado un análisis de los requisitos de usuario y se han definido casos de usos para acomodarlos.