Autorizada la entrega del proyecto del alumno: José Javier Bayo Vázquez …………………………………………………. EL DIRECTOR DEL PROYECTO Luis Reina Juliá Fdo.: …………………… Fecha: ……/……/…… Vº Bº del Coordinador de Proyectos David Contreras Bárcena Fdo.: …………………… Fecha: ……/……/…… UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO EN INFORMÁTICA PROYECTO FIN DE CARRERA HERRAMIENTA DE GESTIÓN INMOBILIARIA AUTOR: José Javier Bayo Vázquez MADRID, septiembre de 2008 Herramienta para gestión inmobiliaria Agradecimientos A mi familia, por la el apoyo y la confianza depositada a lo largo de toda la carrera. A mis compañeros de universidad, que mucho me han ayudado a lo largo de la carrera. A la universidad y a sus profesores, por la ilusión y ganas que demuestran en la formación profesional y humana de los alumnos. A los encargados de supervisar el proyecto, coordinadores y director, por su apoyo y ánimo para afrontar dicha tarea. A todos vosotros, gracias. I Herramienta para gestión inmobiliaria Resumen El proyecto consiste en el diseño, desarrollo e implantación de un sistema que sirva de apoyo a las agencias inmobiliarias en la tarea de gestión de los inmuebles y de los empleados. El proyecto consiste en tres módulos muy bien diferenciados, el primer módulo es el módulo de inmuebles, en este apartado se encuentran recogidas todas la operaciones relacionadas con los inmuebles, como son el alta, baja y modificación de los distintos inmuebles. El segundo módulo es el módulo de empleados, en el que se encuentran agrupadas las operaciones sobre los empleados, con las que poder realizar el alta, baja y modificación de los empleados. Por último, el tercer módulo es el modulo de informes, en el que se podrán obtener una serie de informes sobre inmuebles y empleados. Se trata de un sistema cliente-servidor donde en un servidor instalado en la agencia inmobiliaria atiende a múltiples clientes instalados en los puestos de escritorio o en dispositivos móviles. En general, y debido a la mayor facilidad de integración en los sistemas a implantar, las aplicaciones se han desarrollado con Herramientas de Microsoft. Así pues, se ha trabajado con el Framework de .NET bajo la herramienta Visual Studio 2005 para construir las siguientes aplicaciones: GestInmob: Se trata de la aplicación implementada para los puestos de escritorio. GestInmobMobile: Se trata de la aplicación implementada para los dispositivos móviles. Por último, se ha utilizado y profundizado en las técnicas y metodologías de ingeniería del software, especialmente en la orientación a objetos así como en otros conocimientos que se han visto a lo largo de la carrera como Estructuras de datos, II Herramienta para gestión inmobiliaria Transmisión y Tecnologías de Bases de Datos, Sistemas Operativos, Redes, Métodos algorítmicos, Seguridad Informática y Gestión de Proyectos Informáticos. III Herramienta para gestión inmobiliaria Abstract The project involves the design, development and deployment of a system to support real estate agencies in the task of managing the buildings and employees. The project consists of three modules very distinct, the first module is the form of buildings in this section are listed all the operations related to buildings, such as high, low and modification of individual buildings. The second module is the form of employees, which are grouped operations on employees, which can make the high, low and modification of employees. The third module is the module reports, which may obtain a series of reports on buildings and employees. This is a client-server system where a server installed in the real estate agency serves multiple clients installed in positions of desktop or on mobile devices. In general, and because of the ease of integration into systems to implement, applications have been developed with Microsoft tools. Thus, it has worked with the Framework. NET tool under the Visual Studio 2005 to build the following applications: GestInmob: This is the application implemented for posts desktop. GestInmobMobile: This is the application implemented for mobile devices. Lastly, has been used and deepened in techniques and methodologies for software engineering, especially in the object oriented as well as other skills that have been seen along the career structures as data transmission and Technology Bases Data operating systems, networks, algorithmic methods, Information Security and Project Management Information. IV Herramienta para gestión inmobiliaria Índice 1.- Introducción ................................................................................................................ 1 1.1.- Motivación ............................................................................................................ 1 1.2.- Objetivos ............................................................................................................... 2 1.3.- Descripción del sistema a desarrollar ................................................................ 3 1.3.1.- Aplicación de escritorio ................................................................................ 3 1.3.2.- Aplicación para dispositivos móviles .......................................................... 5 2.- Herramientas y tecnología ......................................................................................... 5 2.1.- Introducción ......................................................................................................... 5 2.2.- Tecnología .NET ................................................................................................... 6 2.3.- Internet Information Services (IIS) ...................................................................... 7 2.4.- Servicios web (WebServices) ............................................................................ 10 2.5 Microsoft SQL Server ........................................................................................... 12 3.- Metodología de trabajo............................................................................................. 12 3.1.- Análisis de requerimientos ................................................................................ 12 3.2.- Diseño externo del sistema ............................................................................... 13 3.3.- Diseño interno del sistema ................................................................................ 13 3.4.- Implementación, pruebas e Implantación ........................................................ 14 4.- Análisis de requerimientos ...................................................................................... 15 4.1.- Modelo de dominio............................................................................................. 16 4.1.1.- Diagrama del modelo de dominio ............................................................... 16 4.1.2.- Glosario de clases y relaciones .................................................................. 17 4.2.- Modelo de casos de uso .................................................................................... 20 4.2.1.- Diagrama de casos de uso .......................................................................... 22 4.2.2.- Descripción detallada de los casos de uso ............................................... 26 V Herramienta para gestión inmobiliaria 4.2.3.- Descripción de datos................................................................................... 41 5.- Diseño Externo del sistema ..................................................................................... 43 5.1.- Arquitectura del sistema .................................................................................... 43 5.2 Diagrama de paquetes ......................................................................................... 45 5.2.1 Diagrama de paquetes externo ..................................................................... 45 5.2.2 Diagrama de paquetes – primer nivel ........................................................... 45 5.2.3 Subsistemas ................................................................................................... 47 6.- Diseño interno del sistema ...................................................................................... 49 6.1.- Diseño de la interfaz de usuario ........................................................................ 49 6.2.- Diseño subsistema GestInmob y GestInmobMobile ....................................... 50 6.2.1.- Autenticación ............................................................................................... 50 6.2.2 Menú principal................................................................................................ 51 6.2.3 Módulo Inmuebles ......................................................................................... 52 6.2.4 Módulo Empleados ........................................................................................ 62 6.2.5 Módulo informes ............................................................................................ 69 6.3.- Modelo de datos ................................................................................................. 69 6.3.1.- Modelo conceptual de datos ....................................................................... 70 6.3.2 Acceso a datos............................................................................................... 73 6.4.- Diagrama de clases ............................................................................................ 74 6.5.- Diagrama del servicioWeb ................................................................................. 76 7. Implementación y pruebas ....................................................................................... 77 7.1 Implementación .................................................................................................... 77 7.2 Pruebas ................................................................................................................. 83 8. Planificación y presupuesto...................................................................................... 83 8.1 Planificación ......................................................................................................... 83 8.2 Presupuesto.......................................................................................................... 85 VI Herramienta para gestión inmobiliaria 9. Conclusiones y evolución del sistema ..................................................................... 90 9.1 Conclusiones ........................................................................................................ 90 9.2 Evolución del sistema .......................................................................................... 90 Bibliografía ..................................................................................................................... 92 Anexo I: Manual de Usuario de la aplicación de escritorio ......................................... 93 Anexo II: Manual de Usuario de la aplicación para dispositivos móviles ................ 116 VII Automatización de la gestión de la toma de medidas para una inmobiliaria 1.- Introducción 1.1.- Motivación Una de las principales razones por las que se ha escogido este proyecto es el interés personal por el mundo de las nuevas tecnologías. Si bien las PDA ya llevan unos años en el mercado, no cabe la menor duda de que ha sido durante este último cuando por fin se ha popularizado y extendido su uso. El hecho de que los precios de estos dispositivos sigan bajando hace presagiar que dentro de muy poco tiempo el uso de una PDA será tan común como lo es ahora el del teléfono móvil. Cada vez un mayor número de PDA que salen al mercado incorporan la tecnología inalámbrica 802.11. Esta tecnología permite conectarse a otros dispositivos, e incluso a Internet, sin necesidad de cables y desde cualquier lugar. Si a esto se le une la enorme movilidad que proporcionan las PDA gracias a su pequeño tamaño y escaso peso, se tiene una perfecta herramienta de trabajo que puede llevarse en el bolsillo en todo momento. Uno de los principales problemas que se encuentra a la hora de desarrollar aplicaciones para PDA es la escasa cantidad de memoria y reducida capacidad de procesamiento de que disponen debido a su reducido tamaño. Por ello se hace necesaria la utilización de aplicaciones y entornos de desarrollo especialmente diseñados para este tipo de dispositivos. Así, por ejemplo, prácticamente cualquier aplicación necesita acceder a una base de datos. Sin embargo las limitaciones antes mencionadas de estos dispositivos hacen imposible alojar en ellos un Sistema Gestor de Bases de Datos completo. Por esta razón existen soluciones orientadas a este tipo de dispositivos móviles y que proporciona casi toda la potencia de los gestores de bases de datos completos. La elección de una inmobiliaria para implantar este proyecto se debe a que este modelo de negocio se presta en gran medida a obtener los beneficios que proporciona la movilidad de las PDA. Los empleados de las inmobiliarias que van a los pisos a tomar las sustituirán sus papeles por una PDA y las medidas y características de los 1 Automatización de la gestión de la toma de medidas para una inmobiliaria inmuebles llegarán inmediatamente a la cocina haciendo uso de la tecnología UMTS/GPRS, utilizando para ello las redes GSM. 1.2.- Objetivos El principal objetivo del proyecto consiste en crear un sistema que agilice la gestión de una inmobiliaria. La aplicación que se instalará en las PDA será sencilla e intuitiva, de manera que los empleados no necesiten apenas tiempo para aprender a manejarla con soltura. Por otro lado se quiere dotar a la aplicación de la posibilidad de gestionar la introducción y gestión de los distintos tipos de inmuebles por los empleados mediante el uso de dispositivos móviles y puestos de escritorio. Otro objetivo es conseguir dotar a la aplicación de un servicio de gestor de empleados, mediante el cual se pueda gestionar todas las operaciones de altas, bajas y modificaciones de empleados. También se deberá dotar a la aplicación de un módulo que permita a los empleados obtener informes sobre los inmuebles. Será necesario realizar una gestión de los clientes que anuncien o hayan anunciado alguna vez un inmueble en la agencia. Como objetivos secundarios se citan los siguientes: Con este proyecto también se quiere conseguir conocer a fondo la tecnología empleada por las PDA. Una parte importante de este objetivo consiste en investigar las posibilidades que ofrece el estándar UMTS, dentro del mundo de los dispositivos móviles. Esta será la tecnología empleada para mantener la comunicación entre las PDA y el servidor con las bases de datos. 2 Automatización de la gestión de la toma de medidas para una inmobiliaria Durante el desarrollo del proyecto se mejorarán los conocimientos personales en la programación orientada a objetos, concretamente en el lenguaje C#. Puesto que va a seguirse una metodología de desarrollo de software orientado a objetos, también se profundizará en la utilización de las técnicas que son empleadas en este tipo de metodología y que han sido aprendidas durante la carrera (casos de uso, diagramas de clase, etc.). 1.3.- Descripción del sistema a desarrollar El sistema que va a desarrollarse a lo largo de este proyecto consiste en un sistema para la gestión de una inmobiliaria que ayude a mejorar la toma de medidas optimizando el tiempo y esfuerzo de sus empleados. Al lograr una optimización en el tiempo que se tarda en tomar las medidas y características del inmueble antes se puede exponer la información en las oficinas y antes puede llegar un comprador interesado en el inmueble. El sistema consiste en dos aplicaciones diferentes pero complementarias: - Aplicación de escritorio. - Aplicación para dispositivos móviles. 1.3.1.- Aplicación de escritorio Mediante esta aplicación los usuarios con perfil de administrador podrán acceder a toda la información para la gestión de la inmobiliaria y modificarla según sus necesidades. Más concretamente podrán realizar altas, bajas y modificaciones de los empleados de la inmobiliaria, así como sobre los inmuebles. El resto de usuarios que no tienen perfil de administrador podrán acceder a toda la información de los inmuebles, pudiendo éstos realizar el alta, baja y modificación de los distintos inmuebles, así como la obtención de informes en temas concernientes a los inmuebles. 3 Automatización de la gestión de la toma de medidas para una inmobiliaria De los empleados interesa saber su código de identificación, nombre, apellidos, domicilio, teléfono de contacto, dirección de email, DNI, salario y categoría (administrador, empleador de oficina, empleado que realiza el informe sobre los distintos inmuebles). La categoría del empleado determina a qué funcionalidades del sistema puede acceder. Además cada empleado tendrá un nombre de usuario y contraseña para registrarse en el sistema. La información que se quiere mantener de los distintos inmuebles es: un código de identificación, finalidad, tipo de inmueble, dirección, planta, tipo, dormitorio, baños, m2, extras, precio. Los administradores tendrán acceso a una serie de informes que serán su herramienta para valorar la marcha del negocio. Estos informes son de tres tipos: 1. Informe acerca de los empleados: proporciona una idea de la productividad de cada empleado de la inmobiliaria mostrando el número total de inmuebles visitados para la toma de medidas. Se considera una visita por cada inmueble visitado con diferente dirección, es decir, si un empleado a de visitar varias veces el mismo inmueble se le considera como una única visita. 2. Informe sobre los distintos inmuebles: muestra por cada inmueble sus características de forma que desde la oficina se pueda llevar una relación de todos los inmuebles dados de alta en la inmobiliaria. En este informe también se presenta un cálculo de la duración media desde que el inmueble se anuncia en la oficina hasta que se vende, pudiendo obtener evidencia sobre la valía de los empleados que visitan los inmuebles con los posibles compradores. 3. Informe acerca de los ingresos de la inmobiliaria: se detallan los ingresos obtenidos por la inmobiliaria durante los últimos doce meses. Además se calcula los ingresos totales desde que se implantó el sistema, los ingresos medios mensuales y los ingresos medios por inmueble. 4. Informe individual de cada inmueble: Según se reciba la información correspondiente a un nuevo inmueble se creará un informe en el que se muestre la información maquetada de forma que pueda ser expuesta inmediatamente en el 4 Automatización de la gestión de la toma de medidas para una inmobiliaria escaparate de la oficina, o si la oficina tiene monitores en los que se muestra la información pues la información se mostrará en ellos. 1.3.2.- Aplicación para dispositivos móviles Esta es la aplicación que manejarán los empleados que visitan los distintos inmuebles para tomar las medidas y enviarlas a la oficia. Permitirá crear una ficha del inmueble y asignar valores a las distintas características del inmueble. De los inmuebles hay que almacenar: un código de identificación, finalidad, tipo de inmueble, dirección, planta, tipo, dormitorio, baños, m2, extras, precio. Esta aplicación se conectará mediante un servicio web a la dirección dónde se encuentra el servidor y le enviará la información del inmueble. El código de identificación estará formado por el identificador del empleado que ha realizado las mediciones más un número de 5 cifras que irá variando en uno más su valor según el empleado vaya visitando más inmuebles. Por ejemplo, el código del empleado que realiza la visita al inmueble es: 3543 y el empleado ha visitado 113 inmuebles, el número de creación de la ficha del siguiente inmueble será: CodInm=354300114, el siguiente que visite será: CodInm=354300115. Se entiende por finalidad como el fin que tiene el cliente sobre la vivienda, es decir, si éste tiene interés en el alquiler o la compra del inmueble. 2.- Herramientas y tecnología 2.1.- Introducción Para el desarrollo de este proyecto se van ha utilizar las últimas herramientas, estándares y protocolos disponibles en desarrollo de aplicaciones Web distribuídas proporcionadas por Microsoft y por la industria de desarrollo de software. 5 Automatización de la gestión de la toma de medidas para una inmobiliaria Se ha elegido la tecnología de desarrollo de aplicaciones de Microsoft por ser la tecnología con la que, por parte de la empresa, se está más familiarizado, que ya utiliza esta tecnología en sus sistemas. Se distinguirá entre plataformas de desarrollo y producción existiendo diferentes versiones de las herramientas de software utilizadas en dichas plataformas. En desarrollo se trabajará con una máquina con sistema operativo Windows XP o Windows Vista, con versión de Internet Information Server 5.1 o 7.0 respectivamente y con la versión gratuita del gestor de base de datos SQL Server, Sql Server Express Edition que dispone de una capacidad de 2 GB. En Producción se utilizará un servidor con Windows 2003 Server, que lleva instalada la versión 6.0 del Internet Information Server y la versión completa del SQL Server. Para el diseño de la aplicación se utilizará Lenguaje Unificado de Modelado (UML) y para el desarrollo se utilizará el entorno proporcionado por Visual Studio 2005 con el lenguaje de programación C#. Se realiza a continuación una introducción a todas estas herramientas. 2.2.- Tecnología .NET .NET es un proyecto de Microsoft para crear una nueva plataforma de desarrollo de software con énfasis en transparencia de redes, con independencia de plataforma y que permita un rápido desarrollo de aplicaciones. Basado en esta plataforma, Microsoft intenta desarrollar una estrategia horizontal que integre todos sus productos, desde el Sistema Operativo hasta las herramientas de mercado. .NET podría considerarse una respuesta de Microsoft al creciente mercado de los negocios en entornos Web, como competencia a la plataforma Java de Sun Microsistems. A largo plazo Micorsoft pretende reemplazar el API Win32 o Windows API con la plataforma .NET. Esto es debido a que el API Win32 fue desarrollada sobre la marcha, careciendo de documentación detallada, uniformidad y cohesión entre sus distintos componentes, provocando múltiples problemas en el desarrollo de aplicaciones para el sistema operativo Windows. La plataforma .NET pretende solventar la mayoría de estos problemas proveyendo un conjunto único y expandible con facilidad, de bloques 6 Automatización de la gestión de la toma de medidas para una inmobiliaria interconectados, diseñados de forma uniforme y bien documentados, que permitan a los desarrolladores tener a mano todo lo que necesitan para producir aplicaciones sólidas. Con esta plataforma Microsoft incursiona de lleno en el campo de los Servicios Web y establece el XML como norma en el transporte de información en sus productos y lo promociona como tal en los sistemas desarrollados utilizando sus herramientas. .NET intenta ofrecer una manera rápida y económica pero a la vez segura y robusta de desarrollar aplicaciones - o como la misma plataforma las denomina, soluciones - permitiendo a su vez una integración más rápida y ágil entre empresas y un acceso más simple y universal a todo tipo de información desde cualquier tipo de dispositivo. 2.3.- Internet Information Services (IIS) Para la construcción del sistema se requiere de un servidor de Internet que de servicio a los subsistemas del presente proyecto, concretamente, a las aplicaciones instaladas en las dispositivos móviles y como a las aplicaciones instaladas en los puestos de escritorio instalados en la agencia. El servidor habilitado a tal efecto es el Internet Information Server, con lo cual será necesario adaptarse a sus posibilidades. Se deberá de configurar un sitio web que contenga los servicios web que den soporte a los subsistemas y, asimismo, establecer el sistema de autenticación para controlar el acceso a los mismos. IIS, es una serie de servicios para los ordenadores que funcionan con Windows. Originalmente era parte del Option Pack para Windows NT. Luego fue integrado en otros sistemas operativos de Microsoft destinados a ofrecer servicios, como Windows 2000 o Windows Server 2003. Windows XP Profesional incluye una versión limitada de IIS. Los servicios que ofrece son: FTP, SMTP, NNTP y HTTP/HTTPS. Este servicio convierte a un ordenador en un servidor de Internet o Intranet es decir que en las computadoras que tienen este servicio instalado se pueden publicar páginas Web tanto local como remotamente (servidor Web). 7 Automatización de la gestión de la toma de medidas para una inmobiliaria El servidor Web se basa en varios módulos que le dan capacidad para procesar distintos tipos de páginas, por ejemplo Microsoft incluye los de Active Server Pages (ASP) y ASP.NET. También pueden ser incluidos los de otros fabricantes, como PHP o Perl. La versión actual de IIS es la 6.0 para Windows Server 2003 e IIS 5.1 para Windows XP Profesional. IIS 5.1 para Windows XP es una versión compacta del IIS que soporta solo 10 conexiones simultaneas y solo un sitio Web, aunque puede ser extensible mediante el manejo de AdminScripts instaladas en la ruta del servidor. En el presente proyecto se trabajará con las versiones actuales mencionadas, IIS 5.1 para el entorno de desarrollo e IIS 6.0 para el entorno de producción. IIS gestiona sitios Web. Un sitio Web (en inglés: Website) es un conjunto de páginas Web, típicamente comunes a un dominio en Internet o subdominio en la World Wide Web en Internet. Una página Web es un documento HTML/XHTML accesible generalmente mediante el protocolo HTTP de Internet. A las páginas de un sitio Web se accede desde una URL raíz común llamada portada, que normalmente reside en el mismo servidor físico. Las URLs organizan las páginas en una jerarquía, aunque los hiperenlaces entre ellas controlan cómo el lector percibe la estructura general y cómo el tráfico Web fluye entre las diferentes partes de los sitios. Los sitios Web están escritos en HTML (Hyper Text Markup Language), o dinámicamente convertidos a éste y se acceden usando un cliente http, navegador Web o cualquier otro. Los sitios Web pueden ser visualizados o accedidos desde un abanico de dispositivos con disponibilidad de Internet como computadoras personales, computadores portátiles, PDAs y teléfonos móviles. En IIS se pueden configurar los sitios Web para que se acceda a ellos a través de un puerto TCP diferente al puerto TCP por defecto para los servidores Web, los tipos MIME que son reconocidos, la versión del ASP.NET que se utiliza así como una serie de parámetros propios de un sitio Web: (Control de acceso, seguridad, configuración ssl…). Al configurar los sitios Web debe indicar los directorios que contienen los documentos que desea publicar. El servidor Web no puede publicar documentos que no están en los directorios especificados. 8 Automatización de la gestión de la toma de medidas para una inmobiliaria Cada sitio Web o FTP debe tener un directorio particular. El directorio particular es la ubicación central de las páginas publicadas. En este caso, por seguridad del sitio Web, conviene crear un directorio particular diferente al que viene por defecto. Uno de los parámetros configurables corresponde a la seguridad de acceso a un sitio web o a un directorio particular del mismo. Se accede (IIS 7.0) desde las propiedades del sitio web o directorio y ofrece varias posibilidades: Autenticación anónima: cuando se activa el acceso anónimo, no se requieren credenciales de usuario autenticado para tener acceso al sitio. El uso más adecuado de esta opción es para conceder acceso público a la información que no requiere seguridad. Cuando un usuario intenta conectarse al sitio Web, IIS asigna la conexión a la cuenta IUSER_ nombreDeEquipo, donde nombreDeEquipo es el nombre del servidor en el que se está ejecutando IIS. De forma predeterminada, la cuenta IUSER_ nombreDeEquipo es miembro del grupo Invitados. Este grupo tiene restricciones de seguridad, impuestas por los permisos del sistema de archivos NTFS, que indican el nivel de acceso y el tipo de contenido que está disponible para los usuarios públicos. Se puede configurar la cuenta de Windows que se utiliza para el acceso anónimo. Autenticación básica: la autenticación básica requiere un Id. de usuario y una contraseña, y proporciona un nivel bajo de seguridad. Las credenciales del usuario se envían en texto sin cifrar a través de la red. Este formato proporciona un nivel bajo de seguridad, porque casi todos los analizadores de protocolo pueden leer la contraseña. Sin embargo, es compatible con el número más amplio de clientes Web. El uso más adecuado de esta opción es para conceder acceso a información con poca o ninguna necesidad de privacidad. Autenticación de Windows: anteriormente se denominaba NTLM o autenticación por desafío/respuesta de Windows NT. Este método envía la información de autenticación del usuario por la red en forma de vale de Kerberos y proporciona un alto nivel de seguridad. La autenticación de Windows integrada utiliza la versión 5 de Kerberos y la autenticación NTLM. 9 Automatización de la gestión de la toma de medidas para una inmobiliaria Para emplear este método, los clientes deben utilizar Microsoft Internet Explorer 2.0 o posterior. Adicionalmente, la autenticación de Windows integrada no se admite sobre conexiones de proxy HTTP. El uso más adecuado de esta opción es para una intranet, donde el usuario y el servidor Web están en el mismo dominio, y los administradores pueden asegurarse de que todos los usuarios utilizan Internet Explorer 2.0 o posterior. Autenticación mediante formularios: La autenticación de formularios hace referencia a un sistema en el que la solicitudes no autenticadas se redirigen a un formulario de Lenguaje de marcado de hipertexto (HTML) en el que los usuarios escriben sus credenciales. Una vez que el usuario proporciona las credenciales y envía el formulario, la aplicación autentica la solicitud y el sistema emite un vale de autorización en el formulario de una cookie. Esta cookie contiene las credenciales o una clave para readquirir la identidad. Las solicitudes subsiguientes del explorador automáticamente incluyen la cookie. Suplantación de ASP.NET: Corresponde más que a un método alternativo de autenticación o un añadido en el proceso de autenticación de aplicaciones web. El escenario de suplantación se basa en la autenticación de Servicios de Microsoft Internet Information Server (IIS) y en la seguridad de acceso a archivos de Microsoft Windows para minimizar la programación de la seguridad en la propia aplicación ASP.NET. El flujo de datos se muestra en la ilustración siguiente. 2.4.- Servicios web (WebServices) Los Web services son componentes software que permiten a los usuarios usar aplicaciones de negocio que comparten datos con otros programas modulares, vía Internet. Son aplicaciones independientes de la plataforma que pueden ser fácilmente publicadas, localizadas e invocadas mediante protocolos Web estándar, como XML, SOAP, UDDI o WSDL. El objetivo final es la creación de un directorio online de Web 10 Automatización de la gestión de la toma de medidas para una inmobiliaria services, que pueda ser localizado de un modo sencillo y que tenga una alta fiabilidad. La posibilidad de modularidad y la interconexión de aplicaciones hace que sean los servicios web la solución a las comunicaciones entre el servidor y los subsistemas del presente proyecto. La funcionalidad de los protocolos empleados es la siguiente: XML( eXtensible Markup Language): Un servicio Web es una aplicación Web creada en XML. WSDL (Web Services Definition Service): Este protocolo se encarga de describir el Web service cuando es publicado. Es el lenguaje XML que los proveedores emplean para describir sus Web services. SOAP (Simple Object Access Protocol): Permite que programas que corren en diferentes sistemas operativos se comuniquen. La comunicación entre las diferentes entidades se realiza mediante mensajes que son rutados en un sobre SOAP. UDDI (Universal Description Discovery and Integration): Este protocolo permite la publicación y localización de los servicios. Los directorios UDDI actúan como una guía telefónica de Web services. Aunque la idea de la programación modular no es nueva, el éxito de esta tecnología reside en que se basa en estándares conocidos en los que ya se tiene una gran confianza, como el XML. Además, el uso de los Web services aporta ventajas significativas a las empresas. El principal objetivo que se logra, es la interoperabilidad y la integración. Mediante los Web services, las empresas pueden compartir servicios software con sus clientes y sus socios de negocio. Esto ayudará a las compañías a escalar sus negocios, reduciendo el coste en desarrollo y mantenimiento de software, y sacando los productos al mercado con mayor rapidez. La integración de aplicaciones hará posible obtener la información demandada en tiempo real, acelerando el proceso de toma de decisiones. 11 Automatización de la gestión de la toma de medidas para una inmobiliaria 2.5 Microsoft SQL Server Gestor de base de datos relacional. El lenguaje que utiliza es Transact – SQL, que es el derivado del estándar SQL. Se suele aplicar en bases de datos de PYMES, aunque de cinco años a ahora se ha incrementado su uso en grandes bases de datos empresariales. El uso de T – SQL añade principalmente sintaxis para poder hacer uso de procedimientos almacenados. Cumple con los requerimientos ACID transaccionales (Atómico, Consistente, Aislado y Durable). La comunicación la ejerce en el nivel de aplicación con un protocolo llamado TDS (Tabular Data Stream) aunque también soporta ODBC (Open Database Conectivity), JDBC para Java y protocolos de servicios Web (SOAP). En el nivel de transporte es necesario habilitar el protocolo TCP/IP mediante la herramienta de configuración de SQL. 3.- Metodología de trabajo Para la realización del proyecto se va a seguir la metodología de desarrollo de software orientada a objetos, esta consta de las siguientes fases: 3.1.- Análisis de requerimientos El objetivo de esta fase o etapa es alcanzar un conocimiento suficiente del sistema, definiendo las necesidades, problemas y requisitos del usuario. A lo largo de esta etapa se llevarán a cabo las siguientes actividades: 1. Desarrollar el modelo de dominio El modelo de dominio es una herramienta de comunicación fundamental que obliga a los desarrolladores y usuarios a pensar formalmente sobre el problema, les permite validar su comprensión y establece el vocabulario del espacio del problema. Junto con los requerimientos, constituye la entrada más importante para el diseño. Para representar el modelo de dominio se utilizará los diagramas de clase UML y posteriormente se describirá las clases y relaciones que aparecen en ellos. 12 Automatización de la gestión de la toma de medidas para una inmobiliaria 2. Desarrollar el modelo de casos de uso del sistema Se debe realizar un diagrama de Casos de Uso y posteriormente describir cada caso de uso. Un Diagrama de Casos de Uso muestra la relación entre los actores y los casos de uso del sistema. Representa la funcionalidad que ofrece el sistema en lo que se refiere a su interacción externa. 3.2.- Diseño externo del sistema En esta etapa se definen los componentes del sistema (aplicaciones del sistema, módulos…) y la comunicación entre ellos y con los sistemas externos. Las actividades que tendrán lugar durante esta etapa son: 1. Identificar la arquitectura del sistema En esta actividad se define la arquitectura general del sistema de información, especificando las distintas particiones físicas del mismo, la descomposición lógica en subsistemas de diseño y la ubicación de cada subsistema en cada partición, así como la especificación detallada de la infraestructura tecnológica necesaria para dar soporte al sistema de información. 2. Elaborar el diagrama de paquetes Los paquetes se utilizan para agrupar las clases del sistema que de alguna manera guardan cierta relación. De esta forma se consigue estructurar grandes sistemas con un número elevado de clases. Cualquier sistema grande se debe dividir en unidades más pequeñas, de modo que las personas puedan trabajar con una cantidad de información limitada, a la vez y de modo que los equipos de trabajo no interfieran con el trabajo de los otros. 3.3.- Diseño interno del sistema En esta etapa se adecua el análisis a las características específicas del ambiente de implementación y se completan las distintas aplicaciones del sistema realizando las siguientes actividades: 13 Automatización de la gestión de la toma de medidas para una inmobiliaria 1. Desarrollar el modelo de interfaz La interfaz de usuario tiene las tareas de recoger funciones y procesos y de representar información clara. El diseño de una pantalla es una interpretación de las cualidades definidas en el diseño y concepción de procesos. El diseño GUI con su alta calidad estética da al producto un carácter atractivo influyendo en la calidad final de la aplicación. 2. Elaborar los diagramas de secuencia con el detalle de las operaciones más importantes La vista de interacción describe secuencias de intercambios de mensajes entre los roles que implementan el comportamiento de un sistema. Esta visión proporciona una vista integral del comportamiento del sistema, es decir, muestra el flujo de control a través de muchos objetos. Los objetos interactúan para realizar colectivamente los servicios ofrecidos por las aplicaciones. Los diagramas de interacción muestran cómo se comunican los objetos en una interacción. 3. Agregar detalles de implementación al modelo de dominio. Diagrama de Clases. Se trata de construir un modelo de diseño basándose en el modelo de análisis, pero incorporando detalles de implementación. El diseño de objetos se centra en las estructuras de datos y algoritmos que son necesarios para implementar cada clase en el lenguaje de programación que se vaya a utilizar (orientados y no orientados a objetos, bases de datos, etc.). Para diseñar las clases se especificarán los métodos y atributos que cada clase va a necesitar para que el sistema pueda alcanzar toda la funcionalidad requerida. 3.4.- Implementación, pruebas e Implantación Se desarrollará el código de la aplicación y se realizarán las pruebas de software necesarias que certifiquen que la aplicación funciona de manera correcta. El objetivo de estas pruebas es garantizar que el sistema ha sido desarrollado correctamente, sin errores de diseño ni programación y que se corresponde con los requerimientos. Así, se podrían definir varias etapas en este apartado: 14 Automatización de la gestión de la toma de medidas para una inmobiliaria 1. Implementación de la base de datos Para poder comenzar con el desarrollo se hace necesario tener un modelo de datos ya construido con el que poder trabajar. Es, por tanto, la primera tarea a abordar en esta etapa, desarrollar la base de datos y los métodos para acceder a la misma. 2. Desarrollo del código Etapa de programación de los componentes de la aplicación. En esta etapa se cumplimentarán las clases que se han descrito en el diseño interno junto con los algoritmos necesarios para cumplir con el cometido de cada una así como la implementación de la interfaz de usuario cuando fuese necesario. Todo ello condicionado por la plataforma de desarrollo escogida así como por la metodología de comunicación entre módulos a implementar. 3. Pruebas unitarias Una vez se haya desarrollado el código de los subsistemas se podrán realizar las pruebas de dichos subsistemas y sus módulos por separado. El objetivo de las pruebas unitarias es aislar, cada parte del programa y mostrar que las partes individuales son correctas. 4. Pruebas de Integración El objetivo de las pruebas de verificación es comprobar que los módulos o componentes que conforman un sistema funcionan correctamente en conjunto o integrados. Así mismo se comprueba que el sistema desarrollado cumple con los requisitos definidos. 4.- Análisis de requerimientos Los requerimientos son una descripción de las necesidades o deseos de un producto. La meta primaria de esta fase es identificar y documentar lo que en realidad se necesita, de una forma que claramente se pueda comunicar al cliente y a los miembros del equipo de desarrollo. El reto consiste en definirlos de manera inequívoca, de modo que se detecten los riesgos y no se presenten sorpresas al momento de entregar el producto [LARM00]. 15 Automatización de la gestión de la toma de medidas para una inmobiliaria Con esta etapa se va a conseguir una visión clara del problema que se trata de resolver y se detallará claramente la funcionalidad completa del sistema que va a desarrollarse, describiendo que es lo que podrá hacer el usuario con el sistema. Durante esta etapa se realizará el modelo de dominio y el modelo de casos de uso del sistema. El modelo de dominio consiste en uno o más diagramas de clase UML que muestran los conceptos básicos del dominio del problema, sus propiedades más importantes y las relaciones entre dichos conceptos. El modelo de casos de uso permite recoger y documentar los requerimientos funcionales de un sistema. Se compone de un diagrama de casos de uso y de la descripción detallada de cada uno de ellos. 4.1.- Modelo de dominio El modelo de dominio es una herramienta de comunicación fundamental que obliga a los desarrolladores y usuarios a pensar formalmente sobre el problema, les permite validar su comprensión y establece el vocabulario del espacio del problema. Junto con los requerimientos, constituye la entrada más importante para el diseño. 4.1.1.- Diagrama del modelo de dominio A continuación se presenta el diagrama de clases que representa el modelo de dominio del sistema que se va a desarrollar. 16 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 4.1.1.1 Modelo de dominio 4.1.2.- Glosario de clases y relaciones En este apartado se describirán las distintas clases y relaciones que se han representado en el diagrama anterior. OficinaInmobiliaria: Esta clase representa la oficina de la inmobiliaria como negocio y como lugar físico. De esta manera en la oficina de la inmobiliaria es donde se muestran los anuncios de los distintos inmuebles, y en él trabajan los empleados de la oficina. Empleado: Esta clase contiene la información de cada uno de los trabajadores de la oficina inmobiliaria, para empleado se recoge: código, nombre, apellidos, domicilio, teléfono, 17 Automatización de la gestión de la toma de medidas para una inmobiliaria salario, email y DNI. Los empleados disponen además de un nombre de usuario y una contraseña para poder acceder al sistema. De esta clase heredan Administrador, EmpOficina, EmpInmuebles y EmpVisita. Administrador: Es quien se encarga de la gestión de empleados (altas, bajas y modificaciones). Además el administrador tiene acceso a una serie de informes tanto estadísticos como de los distintos inmuebles. EmpOficina: Es el empleado que se encuentra en la oficina de la inmobiliaria, se encarga de poner los anuncios que se reciben de los distintos empleados que están fuera de la oficina, también es el encargado de prestar información acerca de los inmuebles a los clientes que se personen en la oficina. Tienen acceso a información sobre los inmuebles. EmpInmuebles: Es aquel empleado que dedica su vida laboral a visitar pisos que están en venta para conseguir clientes que quieran vender o alquilar sus pisos a través de nuestra oficina inmobiliaria, y una vez conseguido esto es el encargado de tomar las medidas y características del inmueble mediante la PDA y mandar la información lo antes posible a la oficina de la inmobiliaria. EmpVisita: Es el empleado que se dedica a enseñar las viviendas una vez un cliente se ha mostrado interesado en la compra o alquiler de algún inmueble anunciado en la oficina, tiene acceso a la información de la vivienda a través de su PDA. Puede enviar un aviso a la oficina indicando que la vivienda ha sido adquirida y por lo tanto que el 18 Automatización de la gestión de la toma de medidas para una inmobiliaria anuncio deje de estar visible, o en caso contrario para indicar que la vivienda aún esta disponible. Informe: Hace referencia a los distintos informes que pueden ser solicitados por el administrador. TipoV: Hace referencia a si el inmueble esta situado en una planta del edificio o si por el contrario se trata de un ático. Inmueble: Hace referencia a toda la información necesaria de cada uno de los inmuebles que están dados de alta en la oficina de la inmobiliaria. De cada inmueble nos interesa: un código de identificación, finalidad, tipo de inmueble, dirección, planta, tipo, dormitorio, baños, m2, extras, precio. Vivienda: Hace referencia a un inmueble que es una vivienda. ObraNueva: Hace referencia a un inmueble que es una obra nueva. Oficina: Hace referencia a un inmueble que es una oficina. 19 Automatización de la gestión de la toma de medidas para una inmobiliaria Local: Hace referencia a un inmueble que es un local. Nave: Hace referencia a un inmueble que es una nave. Garaje: Hace referencia a un inmueble que es un garaje. 4.2.- Modelo de casos de uso El modelo de casos de uso representa la funcionalidad que ofrece el sistema en lo que se refiere a su interacción externa. De esta manera se puede llegar a determinar la manera en que se quiere que los usuarios interactúen con el sistema y todo aquello que podrán hacer con él. El modelo de casos de uso se compone de un diagrama y de una descripción detallada de cada uno de ellos. Diagrama de casos de uso Muestra gráficamente los casos de uso del sistema, las relaciones entre ellos y los actores que participan. Un actor es cualquier persona, organización o sistema que es externo al sistema que se desarrolla e interactúa con él. Se puede ver como un rol abstracto que representa cierta forma de interactuar con el sistema. Los casos de uso responden a objetivos de los actores con respecto al sistema. 20 Automatización de la gestión de la toma de medidas para una inmobiliaria Descripción detallada de casos de uso Para describirlos se utilizará una plantilla con los siguientes campos: Nombre: Debe reflejar el objetivo del actor primario. Normalmente consistirá en una frase activa en infinitivo. Actor primario: Aquél cuyo objetivo da nombre al caso de uso. Normalmente será también quien lo inicie. Actor secundario: Cualquier otro actor que intervenga en el caso de uso y que ayude al sistema a conseguir el objetivo del actor primario. Precondiciones: Son condiciones que se han de dar en el sistema para que pueda iniciarse el caso de uso. Puesto que se han de cumplir antes, no se vuelven a comprobar una vez iniciado. Trigger: Es el evento que inicia el caso de uso. A menudo será algo del tipo: Iniciado por el “actor primario”. Escenario primario: 21 Automatización de la gestión de la toma de medidas para una inmobiliaria Se describirá mediante una serie de pasos numerados. Cada uno de los pasos será de uno de los siguientes tipos: 1. interacción entre el sistema y un actor 2. validación de la información o regla de negocio 3. cambio lógico del sistema Extensiones: Describen formas alternativas de conseguir el objetivo o fallos que se producen mientras se intenta conseguir. 4.2.1.- Diagrama de casos de uso Los actores que se van a tener en cuenta en este proyecto son: el administrador, el empleado de oficina, el empleado de inmuebles, el empleado de visitas y el sistema. Como se ha explicado anteriormente los actores no representan personas físicas, sino más bien distintas maneras de interactuar con el sistema. El administrador representa el rol de aquella persona encargada de gestionar los empleados, es decir, de realizar altas, bajas y modificaciones. También será el encargado de solicitar informes estadísticos para conocer la marcha de la oficina inmobiliaria. El empleado de oficina representa el rol de aquella persona que se encarga de imprimir y sacar por pantalla las fichas de los nuevos inmuebles enviados por los empleados de inmuebles y ocasionalmente por los empleados de visitas. También es el encargado de atender a los clientes que acudan a la oficina teniendo posibilidad de obtener acerca de los inmuebles anunciados en la inmobiliaria. 22 Automatización de la gestión de la toma de medidas para una inmobiliaria El empleado de inmuebles representa el rol de aquella persona que se encarga de crear la ficha del inmueble en cuestión, mediante el uso de una PDA, tomando las medidas y características. También es el encargado de confirmar el envío de dicha información a la oficina inmobiliaria. El empleado de visitas representa el rol de aquella persona que se encarga de llevar a los clientes interesados en el inmueble para que lo vean, y en el caso de que estén interesados en adquirirlo es el encargo de enviar, mediante el uso de una PDA, una orden de reserva a la oficina. Puede realizar una llamada a la base de datos de la oficina de forma que pueda tener la ficha del inmueble que está enseñando a los clientes para poder especificarles las características del inmueble de forma correcta y concreta. Estos cuatro actores o roles son tipos específicos de un actor más general. A este actor se le llamará simplemente usuario, y una de sus funciones es la de poder cambiar su contraseña de acceso al sistema. Por último el actor sistema representa aquellas interacciones que se dan de manera automática o periódica cada cierto tiempo. Figura 4.2.1.1 Actores del sistema 23 Automatización de la gestión de la toma de medidas para una inmobiliaria Cada uno de estos actores tiene su propio diagrama de casos de uso: Usuario: Figura 4.2.1.2 Actor Usuario Administrador: Figura 4.2.1.3 Actor Administrador Empleado de oficina: 24 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 4.2.1.4 Actor Empleado oficina Empleado de inmuebles: Figura 4.2.1.4 Actor Empleado inmuebles Empleado de visitas: 25 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 4.2.1.5 Actor Empleado visitas Sistema: Figura 4.2.1.5 Actor Sistema 4.2.2.- Descripción detallada de los casos de uso Cambiar contraseña Actor primario: Usuario Actores secundarios: --- 26 Automatización de la gestión de la toma de medidas para una inmobiliaria Trigger: Iniciado por el usuario Precondiciones: --Escenario primario: 1. El usuario selecciona la opción de modificar su contraseña (RN01). 2. El usuario introduce la contraseña antigua y la nueva. 3. El sistema actualiza la contraseña. Extensiones: 2a. El usuario introduce mal la contraseña antigua 1. El sistema informa de que la contraseña no es correcta 2. Volver al paso 2 Pedir informe1 Actor primario: Administrador Actores secundarios: --Trigger: Iniciado por el administrador Precondiciones: --Escenario primario: 1. El administrador selecciona el tipo de informe que desea. 2. El sistema calcula los datos necesarios para el informe y los muestra. Pedir informe2 27 Automatización de la gestión de la toma de medidas para una inmobiliaria Actor primario: Empleado de oficina Actores secundarios: --Trigger: Iniciado por el empleado de oficina Precondiciones: --Escenario primario: 1. El empleado de oficina selecciona el tipo de informe que desea. 2. El sistema calcula los datos necesarios para el informe y los muestra. Añadir empleado Actor primario: Administrador Actores secundarios: --Trigger: Iniciado por el administrador Precondiciones: --Escenario primario: 1. El administrador introduce los datos del empleado que desea añadir. 2. El sistema da de alta el nuevo empleado y vuelve al menú principal. Extensiones: 1a . El administrador cancela el alta del nuevo empleado 1. El sistema cancela la operación y vuelve a la pantalla anterior 28 Automatización de la gestión de la toma de medidas para una inmobiliaria 1b . El administrador no ha rellenado todos los campos 1. El sistema informa de que no ha rellenado todos los campo 2. Volver al paso 1. 2a . El nombre de usuario que ha elegido el administrador ya existe 1. El sistema informa de que el nombre de usuario no es válido 2b. Alguno de los datos introducidos no tiene el formato correcto 1. El sistema informa del error 2. Volver al paso 1 Buscar empleado Actor primario: Administrador Actores secundarios: --Trigger: Iniciado por el administrador Precondiciones: --Escenario primario: 1. El administrador introduce los datos de búsqueda del empleado 2. El sistema muestra los empleados cuyos datos coincidan con los de búsqueda 3. El administrador selecciona el empleado 4. El sistema muestra los datos del empleado Extensiones: 29 Automatización de la gestión de la toma de medidas para una inmobiliaria 2a . El sistema no encuentra ningún empleado cuyos datos coincidan con los de búsqueda 1. El sistema informa de la situación 2. Volver al paso 1. Modificar empleado Actor primario: Administrador Actores secundarios: --Trigger: Iniciado por el administrador Precondiciones: El administrador debe haber buscado y seleccionado un empleado Escenario primario: 1. El administrador selecciona la opción de modificar el empleado 2. El administrador introduce los nuevos datos del empleado 3. El sistema actualiza los datos del empleado y vuelve a la pantalla previa al inicio del caso de uso. Extensiones: 2a . El administrador cancela la modificación del empleado 1. El sistema cancela la operación y vuelve a la pantalla anterior 3a . El administrador no ha rellenado todos los campos 30 Automatización de la gestión de la toma de medidas para una inmobiliaria 1. El sistema informa de que no ha rellenado todos los campo 2. Volver al paso 1. 3b . El nombre de usuario que ha elegido el administrador ya existe 1. El sistema informa de que el nombre de usuario no es válido 3c. Alguno de los datos introducidos no tiene el formato correcto 1. El sistema informa del error 2. Volver al paso 2 Eliminar empleado Actor primario: Administrador Actores secundarios: --Trigger: Iniciado por el administrador Precondiciones: El administrador debe haber buscado y seleccionado un empleado Escenario primario: 1. El administrador selecciona la opción de eliminar empleado. 2. El sistema elimina el empleado seleccionado y vuelve a la pantalla previa a iniciar el caso de uso Extensiones: 1a . El administrador cancela la modificación del empleado 31 Automatización de la gestión de la toma de medidas para una inmobiliaria 1. El sistema cancela la operación y vuelve a la pantalla anterior Crear Ficha Actor primario: Empleado de inmuebles Actores secundarios: --Trigger: Iniciado por el empleado de inmuebles Precondiciones: --Escenario primario: 1. El empleado de inmuebles introduce los datos del inmueble que quiere añadir 2. El sistema da de alta el nuevo inmueble y vuelve a la pantalla anterior. Extensiones: 1a. El empleado de inmuebles cancela el alta del nuevo inmueble 1. El sistema cancela la operación y vuelve a la pantalla anterior. 2a. Algunos de los datos introducidos son incorrectos o faltan datos. 1. El sistema informa del error. 2. Volver al paso 1. Buscar Inmueble1 32 Automatización de la gestión de la toma de medidas para una inmobiliaria Actor primario: Empleado de oficina Actores secundarios: --Trigger: Iniciado por el empleado de oficina Precondiciones: --Escenario primario: 1. El empleado de oficina introduce los datos de búsqueda del inmueble 2. El sistema muestra los inmueble cuyos datos coincidan con los de búsqueda 3. El empleado de oficina selecciona el inmueble 4. El sistema muestra los datos del inmueble Extensiones: 2a . El sistema no encuentra ningún inmueble cuyos datos coincidan con los de búsqueda 1. El sistema informa de la situación 2. Volver al paso 1. Buscar Inmueble2 Actor primario: Empleado de inmuebles Actores secundarios: --Trigger: Iniciado por el empleado de inmuebles Precondiciones: --- 33 Automatización de la gestión de la toma de medidas para una inmobiliaria Escenario primario: 5. El empleado de inmuebles introduce los datos de búsqueda del inmueble 6. El sistema muestra los inmueble cuyos datos coincidan con los de búsqueda 7. El empleado de inmuebles selecciona el inmueble 8. El sistema muestra los datos del inmueble Extensiones: 2a . El sistema no encuentra ningún inmueble cuyos datos coincidan con los de búsqueda 3. El sistema informa de la situación 4. Volver al paso 1. Buscar Inmueble3 Actor primario: Empleado de visitas Actores secundarios: --Trigger: Iniciado por el empleado de visitas Precondiciones: --Escenario primario: 9. El empleado de visitas introduce los datos de búsqueda del inmueble 10. El sistema muestra los inmuebles cuyos datos coincidan con los de búsqueda 34 Automatización de la gestión de la toma de medidas para una inmobiliaria 11. El empleado de visitas selecciona el inmueble 12. El sistema muestra los datos del inmueble Extensiones: 2a . El sistema no encuentra ningún inmueble cuyos datos coincidan con los de búsqueda 5. El sistema informa de la situación 6. Volver al paso 1. Modificar Inmueble Actor primario: Empleado de oficina Actores secundarios: --Trigger: Iniciado por el empleado de oficina Precondiciones: el empleado de oficina debe haber buscado y seleccionado un inmueble. Escenario primario: 1. El empleado de oficina selecciona la opción de modificar el inmueble 2. El empleado de oficina introduce los nuevos datos del inmueble 3. El sistema actualiza los datos del inmueble y vuelve a la pantalla previa a iniciar el caso de uso. Extensiones: 35 Automatización de la gestión de la toma de medidas para una inmobiliaria 2a . El empleado de oficina cancela la modificación del inmueble 1. El sistema cancela la operación y vuelve a la pantalla anterior 3a . El empleado de oficina no ha rellenado todos los campos 1. El sistema informa de que no ha rellenado todos los campo 2. Volver al paso 1. 3b . El código de inmueble que ha elegido el empleado de oficina ya existe 1. El sistema informa de que el código de inmueble no es válido 3c. Alguno de los datos introducidos no tiene el formato correcto 1. El sistema informa del error 2. Volver al paso 2 Eliminar Inmueble: Actor primario: empleado de oficina Actor secundario: --Trigger: Iniciado por el empleado de oficina Precondiciones: El empleado de oficina debe haber buscado y seleccionado un inmueble Escenario primario: 1. El empleado de oficina selecciona la opción de eliminar inmueble. 36 Automatización de la gestión de la toma de medidas para una inmobiliaria 2. El sistema elimina el inmueble seleccionado y vuelve a la pantalla previa a iniciar el caso de uso Extensiones: 1a . El empleado de oficina cancela la modificación del inmueble 1. El sistema cancela la operación y vuelve a la pantalla anterior Pedir Ficha Actor primario: Empleado de visitas Actores secundarios: --Trigger: Iniciado por el empleado de visitas Precondiciones: el empleado de visitas debe haber buscado y seleccionado un inmueble. Escenario primario: 1. El empleado de visitas selecciona la opción de solicitar ficha del inmueble 2. El sistema envía la ficha del inmueble solicitado Extensiones: 2a . El empleado de visitas cancela la solicitud 1. El sistema cancela la operación y vuelve a la pantalla anterior 37 Automatización de la gestión de la toma de medidas para una inmobiliaria Modificar Estado Inmueble Actor primario: Empleado de visitas Actores secundarios: --Trigger: Iniciado por el empleado de visitas Precondiciones: el empleado de visitas debe haber buscado y seleccionado un inmueble. Escenario primario: 1. El empleado de visitas selecciona la opción de modificar estado del inmueble 2. El empleado de visitas introduce los nuevos datos del inmueble 3. El sistema actualiza los datos del inmueble y vuelve a la pantalla previa a iniciar el caso de uso. Extensiones: 2a . El empleado de visitas cancela la modificación del estado inmueble 1. El sistema cancela la operación y vuelve a la pantalla anterior 3a . El empleado de oficina no ha rellenado todos los campos 1. El sistema informa de que no ha rellenado todos los campo 2. Volver al paso 1. 3b. Alguno de los datos introducidos no tiene el formato correcto 1. El sistema informa del error 2. Volver al paso 2 38 Automatización de la gestión de la toma de medidas para una inmobiliaria Modificar Ficha Actor primario: Empleado de inmuebles Actores secundarios: --Trigger: Iniciado por el empleado de inmuebles Precondiciones: el empleado de inmuebles debe haber buscado y seleccionado un inmueble. Escenario primario: 4. El empleado de inmuebles selecciona la opción de modificar el inmueble 5. El empleado de inmuebles introduce los nuevos datos del inmueble 6. El sistema actualiza los datos del inmueble y vuelve a la pantalla previa a iniciar el caso de uso. Extensiones: 2a . El empleado de inmuebles cancela la modificación del inmueble 2. El sistema cancela la operación y vuelve a la pantalla anterior 3a . El empleado de inmuebles no ha rellenado todos los campos 3. El sistema informa de que no ha rellenado todos los campo 4. Volver al paso 1. 3b . El código de inmueble que ha elegido el empleado de inmuebles ya existe 39 Automatización de la gestión de la toma de medidas para una inmobiliaria 2. El sistema informa de que el código de inmueble no es válido 3c. Alguno de los datos introducidos no tiene el formato correcto 3. El sistema informa del error 4. Volver al paso 2 Crear Anuncio: Actor primario: Empleado de oficina Actores secundarios: --Trigger: Iniciado por el empleado de oficina Precondiciones: el empleado de oficina debe haber buscado previamente el inmueble del que quiere crear el anuncio. Escenario primario: 1. El empleado de oficina solicita crear un nuevo anuncio. 2. El sistema crea el nuevo anuncio. Extensiones: no hay. Sincronizar Actor primario: Empleado de inmuebles Actores secundarios: --- Trigger: Iniciado por el empleado de inmuebles Precondiciones: --- Escenario primario: 40 Automatización de la gestión de la toma de medidas para una inmobiliaria 1. El empleado de inmuebles selecciona la opción de sincronizar los datos 2. El sistema sincroniza de manera bidireccional las tablas de datos de la PDA con las del servidor central Extensiones: 2b. Sucede un error durante la sincronización manual 1. El sistema muestra información del error ocurrido 2. El caso de uso finaliza 4.2.3.- Descripción de datos Tipo de informe El administrador puede pedir distintos tipos de informes, que le muestran una serie de información de pendiendo del tipo de informe, existen tres tipo: Informe acerca de los empleados: proporciona una idea de la productividad de cada empleado de la inmobiliaria mostrando el número total de inmuebles visitados para la toma de medidas. Se considera una visita por cada inmueble visitado con diferente dirección, es decir, si un empleado a de visitar varias veces el mismo inmueble se le considera como una única visita. Informe sobre los distintos inmuebles: muestra por cada inmueble sus características de forma que desde la oficina se pueda llevar una relación de todos los inmuebles dados de alta en la inmobiliaria. En este informe también se presenta un cálculo de la duración media desde que el inmueble se anuncia en la oficina hasta que se vende, pudiendo obtener evidencia sobre la valía de los empleados que visitan los inmuebles con los posibles compradores. 41 Automatización de la gestión de la toma de medidas para una inmobiliaria Informe acerca de los ingresos de la inmobiliaria: se detallan los ingresos obtenidos por la inmobiliaria durante los últimos doce meses. Además se calcula los ingresos totales desde que se implantó el sistema, los ingresos medios mensuales y los ingresos medios por inmueble. Informe individual de cada inmueble: Según se reciba la información correspondiente a un nuevo inmueble se creará un informe en el que se muestre la información maquetada de forma que pueda ser expuesta inmediatamente en el escaparate de la oficina, o si la oficina tiene monitores en los que se muestra la información pues la información se mostrará en ellos. Datos del empleado Los datos del empleado son el nombre, los apellidos, el domicilio, el DNI, el teléfono, el email, el salario, la categoría a la que pertenece (administrador, empleado de oficina, empleado de inmuebles y empleado de visitas), el nombre de usuario y el password para acceder al sistema. Datos de búsqueda Consiste en una serie de datos introducidos por el usuario de forma que el sistema coja estos datos y pueda realizar una búsqueda de todos los empleados o inmuebles cuyas características coincidan con todas las características introducidas en los datos de búsqueda. Características del inmueble Hace referencia a toda la información necesaria de cada uno de los inmuebles que están dados de alta en la oficina de la inmobiliaria. De cada inmueble nos interesa: un código de identificación, finalidad, tipo de inmueble, dirección, planta, tipo, dormitorio, baños, m2, extras, precio. 42 Automatización de la gestión de la toma de medidas para una inmobiliaria RN01 La contraseña constará de cómo mínimo 4 caracteres. 5.- Diseño Externo del sistema 5.1.- Arquitectura del sistema La solución propuesta consiste en instalar la aplicación en puestos de escritorio o dispositivos móviles y utilizar la arquitectura que se muestra a continuación. En este apartado se estudia la solución propuesta para la arquitectura del sistema. En el siguiente gráfico queda reflejada la arquitectura general del sistema y las tecnologías usadas en cada parte. Figura 5.1.1 Arquitectura del Sistema La arquitectura del sistema está formada por los siguientes elementos: Servidor Web 43 Automatización de la gestión de la toma de medidas para una inmobiliaria Servidor de BBDD Cliente de escritorio Cliente móvil Servidor Web: Contenedor de los distintos Servicios Web y otras funcionalidades de que se compone la aplicación GestInmob. El servidor de aplicaciones (Internet Information Server) dispone de la lógica de autenticación de usuarios y de acceso a los Servicios Web. En el presente proyecto se creará un sitio Web específico con un directorio particular con el mismo nombre, InmobServer. El sitio web InmobServer contiene el Servicio Web con el que se comunica las aplicaciones cliente. El nivel de seguridad de este directorio debe permitir el acceso de todas las máquinas, acceso anónimo en el directorio del sitio Web dentro del Internet Information Server, con lo que la función de autenticación de dichas máquinas pasaría a la propia aplicación. Servidor de BBDD: Permite el acceso a la bases de datos que utiliza el Sistema: InmobBD: Base de datos de la aplicación. Contiene todos los datos que maneja el sistema. Cliente de Escritorio: Aplicación cliente instalada en un ordenador de sobremesa que se encuentra localizado en las distintas oficinas de la agencia, se comunica con el Servidor Web para realizar todas las operaciones que sean necesarias para proporcionar los servicios. Realiza el servicio de autenticación de los empleados mediante un proceso de autenticación utilizando para ello los servicios web que le permiten acceder a la base de datos de empleados situada en el Servidor de BBDD. Una vez se ha realizado esta autenticación y el usuario es autenticado de forma satisfactoria, al usuario se le otorgan unos permisos y u otros en función de su perfil 44 Automatización de la gestión de la toma de medidas para una inmobiliaria Cliente móvil: Aplicación cliente instalada en un dispositivo móvil, que es portado por los distintos empleados de la agencia y, que se comunica con el Servidor Web para realizar todas las operaciones que sean necesarias para proporcionar los servicios. Realiza el servicio de autenticación de los empleados mediante un proceso de autenticación utilizando para ello los servicios web que le permiten acceder a la base de datos de empleados situada en el Servidor de BBDD. Una vez se ha realizado esta autenticación y el usuario es autenticado de forma satisfactoria, al usuario se le otorgan unos permisos y u otros en función de su perfil 5.2 Diagrama de paquetes Se va a proceder a la representación del diagrama de paquetes este se hará primero de forma general y luego se irá descendiendo hasta el detalle. 5.2.1 Diagrama de paquetes externo A continuación se muestra el paquete principal de la aplicación y las relaciones que existen con elementos externos al sistema, en este caso no hay relaciones externas por lo tanto resulta el siguiente diagrama: Figura 5.2.1.1 Diagrama externo de paquetes 5.2.2 Diagrama de paquetes – primer nivel 45 Automatización de la gestión de la toma de medidas para una inmobiliaria A continuación se muestra el diagrama de paquetes de primer nivel para la aplicación de escritorio, en el que se muestra la relación entre los distintos paquetes que componen la aplicación principal, obteniendo la siguiente representación: Figura 5.2.2.1 Diagrama de paquetes principal Notas: InmobBD se corresponde con el reflejo de los datos tal y como están en la base de datos. A continuación se muestra el diagrama de paquetes de primer nivel para la aplicación para dispositivos móviles, en el que se muestra la relación entre los distintos paquetes que componen la aplicación principal, obteniendo la siguiente representación: 46 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 5.2.2.2 Diagrama de paquetes principal 5.2.3 Subsistemas InmobServer es la aplicación servidor. Contiene toda la lógica de acceso a datos en el paquete dao y parte de la lógica de negocio del sistema en el paquete services. Como se ha visto en el modelo de arquitectura en su mayoría se compone de servicios Web con los que da servicio a los otros dos subsistemas. Utiliza muchas de las clases definidas en el dominio y el acceso a datos. Todo ello a través de InmobLib. GestInmob es la aplicación de gestión para los puestos de escritorio, posee la lógica de presentación en el paquete iu con las clases que se utilizaran. Utiliza las clases pertenecientes al dominio del sistema, el acceso a datos a través de InmobLib. 47 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 5.2.3.1 Subsistema de paquetes GestInmobMobile es la aplicación de gestión para los dispositivos móviles, posee la lógica de presentación en el paquete iu con las clases que se utilizaran. Utiliza las clases pertenecientes al dominio del sistema, el acceso a datos a través de InmobLib. Figura 5.2.3.2 Subsistema InmobLib InmobLib es la librería del sistema. En ella se encuentra el paquete dominio con las clases del dominio del sistema y el paquete DAO con la capa de acceso a datos. 48 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 5.2.3.3 Subsistema InmobLib 6.- Diseño interno del sistema 6.1.- Diseño de la interfaz de usuario El diseño de toda la aplicación se hará de forma sencilla e intuitiva de forma que el tiempo de aprendizaje por parte de los usuarios sea mínimo, se seguirá el manual de buenas prácticas en el desarrollo de interfaces gráficos. Para construir este modelo de interfaz de la aplicación de escritorio se ha acudido a componentes para aplicaciones Windows desarrollados y publicados como software libre bajo un proyecto con el nombre de Ascend.net Windows Forms Controls. Como se puede observar en la página web: http://www.codeplex.com/ASCENDNET los controles de Ascend.NET son una colección de controles Windows Forms escritos en lenguaje C# para Visual Studio 2005 y .NET 2.0. Se pueden descargar desde el link: http://www.codeplex.com/ASCENDNET/Release/ProjectReleases.aspx?ReleaseId=317 Una vez descargado el paquete, es necesario instalarlo y, posteriormente, agregar referencias desde el proyecto de Visual Studio donde se desarrollará la interfaz a las librerías Ascend, Ascend.Resources, Ascend.Design y Ascend.Windows.Forms. Una vez referenciadas, se puede agregar los componentes o controles en la barra de herramientas del Visual Studio. En este caso, se utiliza el control 49 Automatización de la gestión de la toma de medidas para una inmobiliaria Ascend.Windows.Forms.NavigationPane y los controles NavigationPanePage y NavigationButton para construir el menú de la ventana principal. El modelo de interfaz de la aplicación para dispositivos móviles, será mucho más sencilla que para la aplicación de escritorio y por tanto no utilizará los componentes ASCEND indicados anteriormente. 6.2.- Diseño subsistema GestInmob y GestInmobMobile 6.2.1.- Autenticación Antes de que el usuario pueda utilizar la aplicación es necesario que el usuario se autentique para ello se le muestra la siguiente ventana: Figura 6.2.1 Ventana de autenticación La validación interna del usuario se realizará siguiente el siguiente diagrama de secuencia: 50 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 6.2.2 Diagrama secuencia autenticación Si la autenticación no tuviera éxito se mostrará un mensaje de error y se volverá a la ventana anterior. 6.2.2 Menú principal Siguiendo con la ejecución correcta de la aplicación el usuario se encontrará con el menú principal de la aplicación: 51 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 6.2.2.1 Ventana del menú principal Como se puede observar en la figura desde el menú principal se puede acceder a 3 módulos entre los que se reparte toda la funcionalidad (Parte inferior del menú). Estos módulos son: Inmuebles: Permite gestionar el módulo de inmuebles en el que como veremos más adelante se podrán gestionar todas las altas, bajas y modificaciones de los inmuebles. Empleados: Permite gestionar el módulo de empleados, gestionando así las altas, bajas y modificaciones de empleados en la plantilla. Informes: Módulo en el que se puede obtener una serie de informes sobre la situación de la agencia, de los inmuebles y de los clientes dados de alta. 6.2.3 Módulo Inmuebles El módulo Inmuebles comprende las siguientes funcionalidades: 52 Automatización de la gestión de la toma de medidas para una inmobiliaria Alta de inmueble. Baja de inmueble. Modificación de inmueble. 6.2.3.1 Alta de inmueble Esta funcionalidad realiza la operación de dar de alta un inmueble, para ello primero se obtienen los datos del cliente y se comprueban si el cliente ya está dado de alta en la base de datos. Figura 6.2.3.1.1a Ventana TipoCliente Para realizar esta operación se sigue el siguiente diagrama de secuencia: 53 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 6.2.3.1.1b Diagrama de secuencia TipoCliente En caso de que el usuario no esté dado de alta en la base de datos, se muestra la siguiente ventana: Figura 6.2.3.1.2a Ventana NuevoCliente Una vez esta sea rellenada y se produzca el evento insertarCliente se producirá el siguiente diagrama de secuencia: 54 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 6.2.3.1.2b Ventana NuevoCliente Tras esto se procederá a llamar a la ventana resumenCliente que mostrará un resumen de los datos del cliente que se quiere introducir y al pulsar sobre el botón aceptar se llamará al servicioWeb para que este realice la inserción del nuevo cliente en la base de datos, para ello se sigue el siguiente diagrama de secuencia: Figura 6.2.3.1.2c Ventana NuevoCliente Una vez que el usuario ya está dado de alta en la base de datos de clientes, el usuario procede a seleccionar el tipo de inmueble que quiere dar de alta. 55 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 6.2.3.1.3a Ventana TipoInmueble Con el siguiente diagrama de secuencia: 56 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 6.2.3.1.3b Ventana TipoInmueble Una vez seleccionado el usuario debe rellenar los campos de los que disponga información siendo imprescindible el campo “precio”. Figura 6.2.3.1.4a Ventana Chalet Una vez se ha rellenado todo y se produce el evento de dar de alta el inmueble se realiza la siguiente secuencia de operaciones: 57 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 6.2.3.1.4b Ventana Chalet 6.2.3.2 Baja de inmueble Esta funcionalidad realiza la operación de baja de un inmueble, se podrá realizar un filtrado por tipo de inmueble de forma que encontremos antes el inmueble que queremos retirar de la lista de disponibles. También se podrá filtrar por disponibles. La ventana que realiza la operación de dar de baja una operación es la siguiente: 58 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 6.2.3.2.1a Ventana BajaInmueble En el evento de carga de la ventana se producen la siguiente serie de operaciones: Figura 6.2.3.2.1b Ventana BajaInmueble Una vez se ha seleccionado el inmueble que se quiere pasar al estado “retirado” y tras pulsar el botón retirar se procede a realizar la siguiente secuencia de operaciones: Figura 6.2.3.2.1c Ventana BajaInmueble Tras esto, el inmueble seleccionado pasará al estado “retirado” y la aplicación volverá al menú principal. 6.2.3.3 Modificación de inmueble Esta funcionalidad realiza la operación de modificar la información disponible sobre un inmueble, en primer lugar se carga la ventana: 59 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 6.2.3.2.1a Ventana SeleccionarInmueble Nota: Es posible realizar un filtrado por tipo de inmueble y por estado del inmueble. Durante la carga de la ventana se producen las siguientes operaciones que hacen que la tabla muestre los inmuebles disponibles: Figura 6.2.3.2.1b Ventana SeleccionarInmueble Una vez se ha seleccionado el inmueble que se desea modificar se realizan una serie de operaciones, representadas en el siguiente diagrama: 60 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 6.2.3.2.1c Ventana SeleccionarInmueble Se muestra la ventana con la información del inmueble seleccionado: Figura 6.2.3.2.2a Ventana ModificarChalet Una vez se ha modificado la información del chalet, y se produce el evento modificar al pulsar el “botonModificar” se producen una serie de operaciones representadas en el siguiente diagrama de secuencia: 61 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 6.2.3.2.2b Ventana ModificarChalet Tras realizarse la operación se recargará la ventana de selección de inmueble y se podrá observar la nueva información del inmueble. 6.2.4 Módulo Empleados El módulo Empleados comprende las siguientes funcionalidades: Alta de empleados. Baja de empleados. Modificación de empleados. 6.2.4.1 Alta de empleados Esta funcionalidad realiza la operación de dar de alta un usuario, el proceso comienza con la carga de la siguiente ventana: 62 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 6.2.4.1.1a Ventana altaEmpleado En la ventana anterior se rellenan los datos del nuevo empleado y una vez estos datos han sido cumplimentados y se ha pulsado el botón “Aceptar” se producen una serie de operaciones resumidas en el siguiente diagrama de secuencia: 63 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 6.2.4.1.1b Ventana altaEmpleado Tanto si la operación se ha realizado de forma correcta, como si la ejecución no ha sido satisfactoria se mostrar un mensaje indicando el estado de la finalización de la operación. Una vez terminada la ejecución de la operación, la aplicación volverá al menú principal. 6.2.4.2 Baja de empleados Esta funcionalidad realiza la operación de dar de baja un empleado, y por tanto retirarlo de la base de datos, visualmente se utiliza la siguiente ventana para la selección del mismo: 64 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 6.2.4.2.1a Ventana bajaEmpleado Previamente, durante la carga de la ventana se han producido la siguiente serie de operaciones, encargadas de rellenar la tabla con los empleados dados de alta: Figura 6.2.4.2.1b Ventana bajaEmpleado Una vez el empleado que se quiere dar de baja a sido seleccionado y se pulsa el botón “Borrar” se produce la siguiente serie de operaciones encargadas de dar de baja al empleado seleccionado: 65 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 6.2.4.2.1c Ventana bajaEmpleado Tras esto, se recarga la tabla de empleados y se puede observar que el empleado dado de baja ya no se encuentra en la lista de empleados. 6.2.4.3Modificación de empleados Esta funcionalidad realiza la operación de modificar la información disponible sobre un empleado, en primer lugar se carga la ventana: Figura 6.2.4.3.1a Ventana SeleccionarEmpleado 66 Automatización de la gestión de la toma de medidas para una inmobiliaria Durante la carga de la ventana se producen las siguientes operaciones que hacen que la tabla muestre los empleados dados de alta actualmente en la base de datos: Figura 6.2.4.3.1b Ventana SeleccionarEmpleado Una vez se ha seleccionado el empleado que se desea modificar y después de pulsar el botón “Modificar…” se realizan una serie de operaciones, representadas en el siguiente diagrama: Figura 6.2.4.3.1c Ventana SeleccionarEmpleado Se muestra la ventana con la información del empleado seleccionado: 67 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 6.2.4.3.1a Ventana ModificarEmpleado Una vez se ha modificado la información del empleado, y se produce el evento modificar al pulsar el “botonModificar” se producen una serie de operaciones representadas en el siguiente diagrama de secuencia: 68 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 6.2.4.3.1b Ventana ModificarEmpleado Tras realizarse la operación se recargará la ventana de selección de empleado y se podrá observar la nueva información del empleado. 6.2.5 Módulo informes La funcionalidad ofrecida por este módulo consiste en la obtención de una serie de informes para los empleados de la oficina, estos informes serán: Obtener un listado de todos los inmuebles. Obtener un listado de todos los empleados. Obtener un listado de todos los clientes. Obtener un informe de estadísticas. 6.3.- Modelo de datos 69 Automatización de la gestión de la toma de medidas para una inmobiliaria 6.3.1.- Modelo conceptual de datos El diseño conceptual de datos se realiza a partir del modelo de dominio, que uniéndolo a un mejor conocimiento de los objetos del sistema tras el diseño externo e interno del mismo, se obtiene el modelo Entidad-Relación: Figura 6.3.1.1 Modelo conceptual de datos A continuación se muestra la declaración de las tablas utilizadas para el desarrollo de la aplicación: Figura 6.3.1.2 Tabla autenticación 70 Automatización de la gestión de la toma de medidas para una inmobiliaria Esta tabla es utilizada para la autenticación del usuario al principio de la aplicación su clave principal es el numero de usuario. Figura 6.3.1.3 Tabla empleados La tabla mostrada en la parte superior se corresponde con la tabla de empleados cuya clave principal es el código de empleado y como clave extranjera tiene el campo “Usuario” que es a su vez clave principal como ya hemos visto antes de la tabla de autenticación. A continuación se muestra la tabla de inmuebles, como se puede observar la clave principal es el código de inmueble, y posee una clave extranjera que es el dueño del inmueble, que como veremos más adelante es la clave principal de la clave clientes. 71 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 6.3.1.4 Tabla autenticación Para terminar se muestra la tabla clientes que almacena toda la información referente a los clientes, cuya clave principal es el DNI del cliente. Figura 6.3.1.5 Tabla clientes 72 Automatización de la gestión de la toma de medidas para una inmobiliaria 6.3.2 Acceso a datos El acceso a los datos de las tablas indicadas en el apartado anterior se realizará utilizando componentes proporcionados por Microsoft Visual Studio 2005, para ello se utilizaran el componente System.Data.DataSet y el componente adaptador de tablas. El diagrama de clase del objeto DataSet es la siguiente: Figura 6.3.2.1 Objeto DataSet Pudiendo observar en los campos las referencia a los adaptadores de las tablas de la BBDD. En la siguiente imagen se pueden observar el diagrama de clase de los 4 objetos adaptadores de tablas, que utilizan los métodos de acceso a las tablas de la BBDD: 73 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 6.3.2.2 Adaptadores de tabla Mediante la utilización del objeto DataSet y los distintos adapatadores es posible realizar todas las operaciones necesarias por la aplicación sobre el acceso a los datos contenidos en las tablas de la base de datos. 6.4.- Diagrama de clases En este apartado se mostrará el contenido de las clases utilizadas para el desarrollo de la aplicación, analizando el modelo de datos se llega a la conclusión de que son necesarias las siguientes clases, estas clases estarán contenidas en la librería que utiliza la aplicación (InmobLib). 74 Automatización de la gestión de la toma de medidas para una inmobiliaria Clase Inmueble: Figura 6.4.1 Clase Inmueble Clase Empleados: Figura 6.4.2 Clase empleados 75 Automatización de la gestión de la toma de medidas para una inmobiliaria Clase Clientes: Cliente Class Campos _correo _direccion _disponibilidad _dni _nombre _primAp _segAp _telefono Propiedades correo direccion disponibilidad dni nombre primAp segAp telefono Métodos Cliente (+ 1 sobr … Figura 6.4.3 Clase clientes 6.5.- Diagrama del servicioWeb A continuación se muestra el diagrama del servicio web en el que se pueden observar tanto los atributos del servicio como los métodos existentes: 76 Automatización de la gestión de la toma de medidas para una inmobiliaria MiServicio Class WebService Campos da dt fila idInm Métodos asignarDatosEmpleado Autenticacion BuscarDni ConectarBaseDatos dameEmpleados darAltaEmpleado getEmpleados GetIdUltEmpleado GetIdUltInmueble HelloWorld HolaMundo insertaChalet insertaCliente InsertarElemento InsertNuevoEmpleado InsertNuevoEmpleado1 MiServicio modificarInmueble obtenerCodigosInmueble obtenerIdInmueble Figura 6.5.1 Diagrama servicio web Estos métodos son llamados por la aplicación obteniendo así, de la BBDD, la información necesaria para su correcto funcionamiento y aislando a su vez ésta del acceso a los datos, siendo el servicio el que únicamente tiene relación con los datos. 7. Implementación y pruebas 7.1 Implementación En este apartado se procede a desarrollar el código de las aplicaciones que conforman el sistema. 77 Automatización de la gestión de la toma de medidas para una inmobiliaria La codificación se realizará siguiendo los modelos obtenidos en las etapas de diseño anteriores, e implementarán fielmente las clases con los métodos y atributos descritos en ellos. El entorno de desarrollo es Visual Studio como ya se ha comentado anteriormente. Se crearán 2 soluciones que recogen toda la funcionalidad de las aplicaciones del sistema. Una solución estará orientada al desarrollo de la aplicación de escritorio y otra orientada al desarrollo de la aplicación para dispositivos móviles. En la siguiente figura se muestra el diagrama con todos lo formularios utilizados en el desarrollo de la aplicación de escritorio: Figura 7.1 Diagrama de GestInmob Cabe destacar el subdirectorio “Web References”, que contiene la referencia al servicio web “InmobService” que contiene toda la lógica de la aplicación. 78 Automatización de la gestión de la toma de medidas para una inmobiliaria El archivo “program.cs” es el primer archivo que se ejecuta cuando comienza la ejecución de la aplicación e indica el formulario que se debe mostrar al arrancar, en este caso se mostrará el formulario “Autenticacion.cs”. El archivo “app.config” es el archivo de configuración de la aplicación en ella se indica, entre otras cosas, el tipo de dato que intercambiará con el servicio, en este caso, el tipo de dato intercambiado será de tipo String. El subdirectorio “References” contiene las referencias a los distintos paquetes proporcionados por Visual Studio 2005 para el correcto funcionamiento de la aplicación: Figura 7.2 Subdirectorio References De la figura mostrada anteriormente, cabe destacar el paquete de componentes Ascend, utilizado para el formulario “Menu.cs” y encargado de que la interfaz sea más vistosa incorporando elementos que aportan sencillez a la aplicación. Como también se puede observar, en este subdirectorio también se encuentra la referencia a la biblioteca que utiliza la aplicación y desarrollada expresamente para ella. El siguiente diagrama muestra el contenido de la biblioteca “InmobLib”: 79 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 7.3 Diagrama de InmobLib Como se puede observar tiene varios archivos también contenidos en el paquete “GestInmob” mostrado anteriormente, en este caso, el archivo “app.config” además de poseer, el tipo de dato intercambiado en el servicio, también posee los parámetros de conexión con la base de datos. Se puede observar el directorio “Dominio”, que contiene las clases utilizadas por la aplicación, así como un directorio “Utilidades” que contiene las utilidades necesarias para serializar los objetos que se pasarán al servicio, dado que el tipo de dato intercambiado es de tipo String. Por último comentar el componente MiDataSet encargado de recibir la información obtenida de la base de datos y de abstraer al programador de todo el proceso. Siguiendo con la explicación de los proyectos que componen la aplicación en la siguiente figura se muestra el contenido del proyecto que contiene el ServicioWeb “InmobService”. 80 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 7.4 Diagrama del Servicio En este diagrama se puede observar el archivo “MiServicio.cs” que contiene toda la implementación de los métodos que utiliza el servicio web. También se puede ver que contiene la librería, creada en el proyecto InmobLib, con extensión .dll pues se trata de una aplicación Windows. Por último se muestra un diagrama del proyecto que contiene el instalador de la aplicación: Figura 7.5 Diagrama del Instalador de GestInmob Esto sólo se utiliza en la instalación de la aplicación de escritorio, es una funcionalidad aportada por Visual Studio 2005, en la que añades un nuevo proyecto de tipo instalador indicándole la solución de la que quieres crear el instalador y él ya lo hace todo. En cuanto a la solución que recoge toda la funcionalidad de la aplicación para distintos móviles, se puede comentar que en su implementación tiene como partes comunes con la aplicación de escritorio, la librería InmobLib y el servicio InmobService, diferenciándose de ésta únicamente en el proyecto que implementa la presentación de los formularios, dado que la potencia de la que disponen los dispositivos móviles es mucho menor que la dispone una aplicación para un ordenador 81 Automatización de la gestión de la toma de medidas para una inmobiliaria de escritorio, por ello en la siguiente imagen se muestra el árbol de archivos de este proyecto “GestInmobMobile”: Figura 7.6 Diagrama de GestInmobMobile Como se puede observar es muy similar al proyecto GestInmob, la diferencia esta en el diseño de los formularios. Por último se muestra un diagrama del proyecto que contiene el instalador de la aplicación: Figura 7.7 Diagrama del Instalador de GestInmobMobile Esto sólo se utiliza en la instalación de la aplicación en los dispositivos móviles, es una funcionalidad aportada por Visual Studio 2005, en la que añades un nuevo 82 Automatización de la gestión de la toma de medidas para una inmobiliaria proyecto de tipo instalador indicándole la solución de la que quieres crear el instalador y él ya lo hace todo. 7.2 Pruebas Las pruebas pretenden garantizar que el producto desarrollado cumple con los requerimientos inicialmente registrados, es decir, que se trata de un desarrollo de calidad. Por otro lado debe garantizarse el correcto funcionamiento del sistema. A la par que se ha ido construyendo el sistema se han podido ir realizando las pruebas unitarias para poder comprobar que las partes del sistema son correctas. Una vez construido se puede traspasar el sistema a un entorno de prueba donde puedan realizarse las pruebas de. Así, queda validado el desempeño, por parte del sistema, de los requerimientos (Look & Feel), la autenticación única de y la administración de los mismos. También se valida la operación en ambiente integrado y la integración funcional, identificando los procesos de interacción entre las aplicaciones. 8. Planificación y presupuesto 8.1 Planificación La planificación de un proyecto es un aspecto fundamental que puede reducir considerablemente el tiempo y el esfuerzo dedicado al mismo por parte de sus integrantes. La planificación debe ser coherente y para ello se debe tener un conocimiento previo de la complejidad del proyecto y de su alcance. En cualquier caso, las fases o tareas que deben planificarse se corresponderán con el modelo de metodología de desarrollo escogido. Las tareas que comprende el proyecto son las siguientes: 83 Automatización de la gestión de la toma de medidas para una inmobiliaria 1. Estudio de las tecnologías y herramientas a utilizar, tanto las Aplicaciones software Libre como tecnologías como los Servicio de Windows, las comunicaciones, el Servidor Web y los Servicios Web así como el sistema gestor Sql Server y los accesos a datos. 2. Análisis de requerimientos mediante el Modelo de dominio y los Casos de uso. 3. Diseño Externo con el Modelo de Arquitectura y el Modelo de Paquetes. 4. Diseño Interno con el Modelo de Interfaz, los Diagramas de Interacción, los Diagramas de Clases y el Modelo de datos. 5. Implementación y Pruebas que comprende las tareas: 1. Programación. 2. Pruebas unitarias. 3. Pruebas de integración. 6. Instalación y Puesta en Marcha. 7. Documentación La siguiente tabla muestra cada uno de los hitos indicados anteriormente con su fecha de inicio, su fecha de finalización y el número de días comprendidos entre estas fechas: Hito Días Estudio de tecnologías Análisis de requerimientos Diseño Externo Diseño Interno Estudios de técnicas de diseño y programación Programación Pruebas unitarias Pruebas de integración Documentación 10 days 13 days 22 days 44 days 53 days 65 days 13 days 10 days 229 days Fecha inicio 01/10/07 15/10/07 01/11/07 03/12/07 01/02/08 16/04/08 16/07/08 04/08/08 15/10/07 Fecha Fin 14/10/07 31/10/07 30/11/07 31/01/08 15/04/08 15/07/08 01/08/08 15/08/08 28/08/08 Figura 8.1.1 Planificación 84 Automatización de la gestión de la toma de medidas para una inmobiliaria Su representación en un diagrama de Gantt queda de la siguiente manera: Figura 8.1.2 Diagrama de Gantt Como se muestra en la tabla superior se puede observar que el proyecto comenzó el día 1/10/08 y la finalización del proyecto será el día 28/08/08. 8.2 Presupuesto Se debe tener en cuenta dos aspectos para obtener el presupuesto del proyecto: Por un lado la valoración económica del esfuerzo de los integrantes del proyecto y por otro lado, el coste de las herramientas, ya sea software o hardware, que se necesitan a la hora de desarrollar y de implementar el proyecto. El presupuesto calculado en este punto sería aplicable a una empresa de servicios informáticos que quisiera desarrollar e implantar el proyecto de cero incluyendo las herramientas necesarias para ello. Para obtener una valoración económica realista de los esfuerzos dedicados por los integrantes atendiendo también a las diferencias en cuanto a la retribución que recibe cada uno de ellos se debe tener en cuenta tres roles diferentes, jefe de proyecto, analista-diseñador, y programador. La retribución monetaria estimada por rol desempeñado es la siguiente: Jefe de proyecto: 85 €/hora. 85 Automatización de la gestión de la toma de medidas para una inmobiliaria Analista-Diseñador: 55 €/hora. Programador: 40 €/hora. En función de la planificación se puede decir que el tiempo estimado para la realización del proyecto desglosado por puesto es: Horas Totales Estudio de tecnologías Análisis de requerimientos Diseño Externo Diseño Interno Estudios de técnicas de diseño y programación Programación Pruebas unitarias Pruebas de integración Documentación 40 52 88 176 212 260 52 40 114,5 Jefe de Proy 2 2,6 4,4 8,8 10,6 13 2,6 2 5,725 Analista Programador 12 15,6 26,4 52,8 63,6 78 15,6 12 34,35 26 33,8 57,2 114,4 137,8 169 33,8 26 74,425 Figura 8.2.1 Tabla horas por rol Atendiendo a los roles, en función de la retribución establecida para cada rol, se obtiene la siguiente tabla que indica la valoración económica de cada rol integrante en el proyecto y de las tareas realizadas: Horas Totales Estudio de tecnologías Análisis de requerimientos Diseño Externo Diseño Interno Estudios de técnicas de diseño y programación Programación Pruebas unitarias Pruebas de integración Documentación 40 52 88 176 212 260 52 40 114,5 Total por rol Jefe de Proyecto 85 221 374 748 225,25 1105 221 170 121,65625 Analista Programador 330 858 1452 5808 874,5 2145 858 660 472,3125 520 1352 2288 4576 1378 6760 1352 1040 744,25 3270,90625 13457,8125 Total proyecto 20010,25 36738,9688 Figura 8.2.2 Tabla costes por rol 86 Automatización de la gestión de la toma de medidas para una inmobiliaria Coste de las Herramientas: Aquí se refleja las herramientas que serían necesarias para llevar a cabo el proyecto y para implantarlo en un entorno de producción y se añade el coste que supondría dichas herramientas. En el entorno de desarrollo se requeriría las siguientes herramientas: 1. Software: Visual Studio 2005: Se requeriría de una licencia del programa Visual Studio. Visual Studio 2005 Professional Edition con suscripción MSDN Professional: 1019 € Sql Server: Como la versión gratuita, SQL Express, dispone de 2 GB de memoria, se considera suficiente para poder utilizarla en el entorno de desarrollo el coste es 0 €. Sql Server Management Studio Express: Programa interfaz de gestor de base de datos gratuito. 0 €. Sistema Operativo: Windows XP. Incluído con el hardware. Servicios de Internet Information Server: Viene incluído dentro del sistema operativo. El coste es de 0 € Active Sync. Incluído con el hardware. El coste es de 0 € Sistema Operativo Windows Mobile 6.0. Incluído con el hardware. E Total Software: 1019 € 2. Hardware: Servidor Dell PowerEdge 2900 El servidor Dell PowerEdge 2900 está especialmente recomendado para aplicaciones de bases de datos e infraestructura de red, por lo que se ajusta perfectamente a las necesidades del sistema. Va a ser utilizado 87 Automatización de la gestión de la toma de medidas para una inmobiliaria para alojar las bases de datos y el servidor de aplicaciones. Las características de este servidor son: • Dos procesadores Dual Core Intel Xeon 5060 a 3.2GHz con 2x2MB Cache y 667MHZ FSB • 8GB DDR2 FB de Memoria • Tarjeta Controladora RAID 1 Integrada PERC 5/i • 4 discos duros de 250GB, SATA Universal, 3.5inch, 7.200 rpm • Backup de cinta PowerVault 100T, DAT72, 36/72GB • Microsoft Windows Server 2003 R2, Standard Edition • Precio: 7.983 € (IVA incluido) Figura 8.2.3 Servidor Dell PowerEdge PDA Dell Axim X51v Este modelo de PDA se ajusta perfectamente a las necesidades del sistema ya que cuenta con tecnología WIFI y una pantalla VGA de alta resolución. Las características completas de esta PDA son: • Procesador Intel XScaleTM PXA270 624 MHz • Sistema operativo Microsoft Windows MobileTM 5.0 con Windows Media Player 10 Mobile • Memoria RAM: SDRAM de 64 MB ROM: Memoria Flash de 256 MB • Pantalla LCD táctil TFT a color de 3,7 pulgadas con una resolución de 480 x 640 a 65.536 colores (VGA) • Tecnología inalámbrica integrada Bluetooth (v1.2) • Tecnología inalámbrica 802.11b integrada • Precio: 416 € (IVA incluido) HP Pavilion Slimline s3500 88 Automatización de la gestión de la toma de medidas para una inmobiliaria Se requiere de un PC de sobremesa. Existe gran variedad de posibilidades. Se ha escogido el que se ha utilizado en el puesto de trabajo para el desarrollo: Figura 8.2.4 Ordenador HP Pavilion • Precio: 599 € (IVA incluido) Total Hardware= 8998€ Siendo el coste total de las Herramientas, Total Herramientas = 10017€ Sumando a esta cantidad el coste del desarrollo nos queda un total de: Cte. Desarrollo 36739 € Cte. Herramientas 10017 € Total 46756 € 89 Automatización de la gestión de la toma de medidas para una inmobiliaria 9. Conclusiones y evolución del sistema 9.1 Conclusiones La elaboración de este proyecto ha servido para afianzar y poner en práctica muchos de los conocimientos aprendidos a lo largo de toda la carrera. Principalmente se han tratado aspectos de ingeniería del software en todas sus fases así como tratamiento de bases de datos, programación orientada a objetos en C# y aplicación de Algoritmia en muchos de los métodos. También se ha podido afianzar y desarrollar los conocimientos adquiridos en cuanto a planificación y gestión de proyectos. Por otro lado, se puede considerar que se han cumplido los objetivos propuestos antes de comenzarlo, desarrollando un sistema de calidad que cumple con todos los requisitos y, adquiriendo un gran conocimiento y familiarización no sólo con las últimas tecnologías en cuanto a desarrollo de software sino también con técnicas adecuadas de diseño y programación. 9.2 Evolución del sistema La evolución del sistema, principalmente tratará temas visuales, que hagan que la interfaz del sistema vaya evolucionando con las nuevas tecnologías visuales que vayan saliendo al mercado, renovando la apariencia del sistema haciendo que éste no parezca anticuado, pues la rama de negocio hacia la que está enfocada la aplicación no sufrirá demasiados cambios en la forma de realizar las operaciones. Otra posible evolución, será la implantación del sistema en la web, de forma que no exista diferenciación entre la aplicación para dispositivos móviles y puestos de escritorio, pues ambos cliente se conectarán a una página web de la inmobiliaria. Por último, se realizará una ampliación en la funcionalidad de la aplicación de forma que ésta pueda realizar una comunicación con dispositivos de medidas digitales, 90 Automatización de la gestión de la toma de medidas para una inmobiliaria de forma que la aplicación realice mediciones reales de los distintos habitáculos de la vivienda ampliando así la información disponible de los inmuebles. 91 Automatización de la gestión de la toma de medidas para una inmobiliaria Bibliografía [BARR01] Barranco de Areba, Jesús, “Metodología del análisis estructurado de sistemas”, Publicaciones de la Universidad Pontificia Comillas, Madrid 2001. [ESQU05] Esquivel, Juan Carlos, “Apuntes Ingeniería del Software II”, Universidad Pontificia Comillas, Madrid 2005. [CHAR02] Francisco Charte Ojeda, “Visual C# .NET”, Anaya Multimedia, 2002. [RIVE02] Rivero Cornelio, Enrique, Luis Martínez, Luis Reina, Juan Benavides, Juan Mª Olaizola, “Introducción al SQL para Usuarios y Programadores”, Thomson, Madrid 2002. Principales páginas web visitadas: http://msdn2.microsoft.com/en-us/library/default.aspx (“MSDN Framework .NET Development Library”) http://es.wikipedia.org/wiki/Portada (“Wikipedia”). http://www.todopocketpc.com (Página con amplia información sobre PDA´s) http://www.pdaexpertos.com (Página con amplia información sobre PDA´s) http://www.lawebdelprogramador.com 92 Automatización de la gestión de la toma de medidas para una inmobiliaria Anexo I: Manual de Usuario de la aplicación de escritorio En este apartado se va a explicar el manejo y uso de la aplicación GestInmob. La aplicación comienza con una ventana de autenticación, figura A.1.1, en ella los usuarios deberán introducir su usuario y contraseña. Una vez realizado esto se deberá pulsar el botón “Aceptar”. Figura A.1.1 Ventana de Autenticación En caso de que el usuario o contraseña no sean correctos se mostrará un mensaje indicando el error, el mensaje mostrado será el siguiente Figura A.1.2 Error en la autenticación Si la autenticación es correcta se mostrará la ventana con el menú principal, que presentará todos los módulos de los que se compone la aplicación. 93 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura A1.3 Menú Principal En esta ventana se encuentran diferenciadas 3 zonas: Zona 1: En esta parte de la ventana es donde se cargarán las ventanas que realizan las distintas funcionalidades que ofrece la aplicación, las ventanas cargadas en esta zona se podrán maximizar hasta el tamaño máximo de esta zona. Zona 2: En esta parte de la ventana se podrá seleccionar cada una de las opciones disponibles para cada uno de los módulos de los que se compone la aplicación, siendo éstos seleccionados en la zona 3. Zona 3: En esta parte de la ventana se muestran los distintos módulos de los que se compone la aplicación, estos 3 módulos son: 94 Automatización de la gestión de la toma de medidas para una inmobiliaria o Módulo inmuebles: que contiene todas acciones relacionadas con los inmuebles. o Módulo empleados: que contiene todas las acciones relacionadas con los empleados. o Módulo de informes, en los que se muestra información acerca de los inmuebles y de los empleados. Por ello el modo de seleccionar una determinada opción consiste en seleccionar el módulo correspondiente en la zona 3 y una vez se desplieguen las opciones de este módulo seleccionar una de éstas en la zona 2. A1.1 Módulo de inmuebles: En este módulo se muestran las operaciones que se pueden realizar sobre los inmuebles, cuando seleccionamos este módulo observamos las siguientes acciones disponibles: Figura A.1.4 Módulo inmuebles Como se puede observar las opciones disponibles son las siguientes: Dar de alta un inmueble Dar de baja un inmueble 95 Automatización de la gestión de la toma de medidas para una inmobiliaria Modificar los datos de un inmueble A1.1.1 Alta de inmueble Antes de empezar a ver paso a paso la forma de realizar esta operación se muestran todos los pasos necesarios: 1.- Seleccionar el módulo inmuebles situado en la zona 3 2.- Elegir la operación de “Dar de alta inmueble” 3.- Introducir el DNI del cliente que quiere dar de alta un inmueble en la agencia 3.1.- En el caso de que el cliente no tenga anunciado o no halla tenido dado de alta ningún otro inmueble rellenar los datos del cliente. 4.- Pulsar aceptar cuando se muestre el resumen de los datos del cliente si éstos son correctos. 5.- Seleccionar el tipo de inmueble que se desea añadir y pulsar el botón “Aceptar”. Una vez se ha seleccionado la operación dar de alta inmueble se nos muestra la siguiente ventana: 96 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura A1.5 Ventana TipoCliente En esta ventana el empleado de la oficina debe introducir el DNI del cliente que desea dar de alta el inmueble y pulsar el botón “Aceptar”, en caso de que el cliente sea la primera vez que da de alta un inmueble de su propiedad en la oficina se mostrará la siguiente ventana: Figura A1.6 Ventana NuevoCliente 97 Automatización de la gestión de la toma de medidas para una inmobiliaria En esta ventana el usuario de la aplicación deberá introducir los datos del cliente solicitados, en este caso son los siguientes: Nombre Primer Apellido Segundo Apellido DNI Dirección Teléfono de contacto Dirección de correo electrónico Disponibilidad horaria, seleccionando una de las opciones disponibles en la lista desplegable Tras introducir los datos del cliente se pulsará el botón “Aceptar”. Si el cliente que quiere dar de alta el nuevo inmueble en la oficina ya tenga o halla tenido algún inmueble anunciado en la oficina la anterior ventana no será mostrada y directamente se mostrará una ventana con el resumen de los datos del cliente que va a dar de alta el nuevo inmueble, la ventana mostrada será la siguiente: 98 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura A1.7 Ventana Resumen del Cliente El usuario deberá pulsar el botón “Aceptar” si los datos mostrados son los correctos en caso contrario, pulsará el botón cancelar que hará que se muestre la ventana de la figura A1.6 en la que podrá actualizar los datos. Tras aceptar los datos mostrados en la ventana de resumen, al usuario se le mostrará la siguiente ventana, en la que deberá seleccionar el tipo de inmueble que desea introducir: 99 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura A1.8 Ventana Seleccionar Tipo de inmueble Una vez seleccionado el tipo de inmueble se mostrará la ventana propia del inmueble donde se deberá introducir la información referente al inmueble: Figura A1.9 Datos Inmueble I 100 Automatización de la gestión de la toma de medidas para una inmobiliaria En esta ventana se deberán introducir los datos conocidos en función los siguientes aspectos: Tipo de chalet Dirección Número Urbanización Metros construidos Metros útiles Metros de parcela Finalidad Tras introducir los datos conocidos referentes a los aspectos nombrados arriba pulsaremos sobre la pestaña “Distribución” que nos mostrará la siguiente ventana: Figura A1.10 Datos inmueble II De la que deberemos rellenar los siguientes campos si éstos son conocidos: Número de plantas Número de habitaciones 101 Automatización de la gestión de la toma de medidas para una inmobiliaria Número de baños Metros cuadrados de salón Tras introducir los datos conocidos referentes a los aspectos nombrados arriba pulsaremos sobre la pestaña “Extras” que nos mostrará la siguiente ventana: Figura A1.11 Datos Inmueble III De la que deberemos rellenar los siguientes datos si éstos son conocidos: Estado del inmueble (Buen estado o A reformar) Numero de armarios empotrados Tipo de suelo Aire Acondicionado Antena parabólica Tipo de fachada Antigüedad del edificio Calefacción Ascensor Puerta de seguridad Alarma Trastero 102 Automatización de la gestión de la toma de medidas para una inmobiliaria Circuito cerrado de seguridad Conserje Tras introducir los datos conocidos referentes a los aspectos nombrados arriba pulsaremos sobre la pestaña “Instalaciones” que nos mostrará la siguiente ventana: Figura A1.12 Datos Inmueble IV De la que deberemos rellenar los siguientes datos si éstos son conocidos: Piscina Gimnasio Paddle Tenis Futbol Baloncesto Golf Parque infantil Tras introducir los datos conocidos referentes a los aspectos nombrados arriba pulsaremos sobre la pestaña “razón” que nos mostrará la siguiente ventana: 103 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura A1.13 Datos Inmueble V De la que deberemos rellenar los siguientes datos si éstos son conocidos: Razón Por último y común a todas las pestañas deberemos rellenar el campo “Precio”, siendo éste un campo indispensable, y sin él no es posible realizar el alta del inmueble. Tras esto y una vez que pulsemos el botón “Siguiente” obtendremos un mensaje indicando el resultado de la operación. En caso de éxito el mensaje mostrado es el siguiente: Figura A1.14 Éxito en la introducción del inmueble 104 Automatización de la gestión de la toma de medidas para una inmobiliaria A1.1.2 Baja de inmueble Otra de las funcionalidades que aporta el módulo de inmuebles es la de dar de baja o retirar un inmueble, el procedimiento que se ha de realizar es muy sencillo, consiste en seleccionar en la ventana que se nos muestra el inmueble que queremos dar de baja, y una vez lo tenemos seleccionado pulsamos sobre el botón “Retirar” tras realizar esta operación podremos comprobar que el inmueble ya no aparece en la lista de inmuebles disponibles. La ventana que se nos muestra al pulsar sobre el módulo de inmuebles y luego sobre la operación de dar de baja un inmueble es la siguiente: Figura A1.15 Ventana Baja Inmueble A1.1.3 Modificar Inmueble Para seleccionar esta operación es necesario seleccionar el módulo de inmuebles situado en la zona 2 y tras esto seleccionar la operación “Modificar Inmueble”. 105 Automatización de la gestión de la toma de medidas para una inmobiliaria Los pasos que son necesarios para realizar la operación de modificar un inmueble son: 1.- Seleccionar el inmueble que se desea modificar, para ello se muestra la siguiente ventana: Figura A1.16 Seleccionar Inmueble En esta ventana debemos seleccionar el inmueble que queremos modificar, una vez seleccionado se nos mostrará una ventana similar a la de inserción del inmueble rellena con la información que se posee hasta la fecha, en ella deberemos modificar la información que sea necesaria, la ventana mostrada es la que sigue a continuación: 106 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura A1.17 Modificar Inmueble Una vez la información ha sido introducida pulsaremos sobre el botón modificar y la información disponible sobre el inmueble seleccionado habrá sido modificada. A1.2 Módulo Empleados En este módulo se muestran las operaciones que se pueden realizar sobre los empleados, cuando seleccionamos este módulo observamos las siguientes acciones disponibles: Figura A1.18 Módulo empleados 107 Automatización de la gestión de la toma de medidas para una inmobiliaria Como se ha podido observar en la figura anterior las operaciones que se pueden realizar en este módulo son las siguientes: Dar de alta un nuevo empleado. Dar de baja un empleado. Modificar los datos de un empleado. A1.2.1 Alta nuevo empleado: La operación de dar de alta un nuevo empleado es muy sencilla e intuitiva, para realizar esta operación es necesario seleccionar el módulo de empleados de la zona 3, y dentro de él seleccionar la operación “Dar de alta empleado”, al seleccionar esta opción se nos mostrará la siguiente ventana: Figura A1.19 Alta de nuevo empleado 108 Automatización de la gestión de la toma de medidas para una inmobiliaria En esta ventana se introducirán los datos correspondientes al nuevo empleado que se quiere dar de alta, estos datos son: Nombre Apellidos DNI Fecha de nacimiento Número de la seguridad social Dirección País Provincia Teléfono Email Código postal Número de cuenta bancaria Una vez hemos rellenado todos los datos, pulsamos sobre el botón “Aceptar”, y se nos informará mediante un mensaje sobre la ejecución satisfactoria o no de la operación. A1.2.2 Baja de empleado La operación de baja de empleados también se encuentra dentro del módulo de empleados, el modo de operar para realizar esta operación es muy similar al de la operación de dar de baja un inmueble, los pasos a seguir para realizar esta operación son los siguientes: 1.- Seleccionar el empleado que se quiere dar de baja 2.- Pulsar el botón “Borrar” La siguiente ventana muestra la ventana para realizar la operación de dar de baja a un empleado: 109 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura A1.20 Ventana BajaEmpleado La aplicación mostrará un mensaje indicando la finalización de la operación, mostrando un mensaje de error en caso de que se produzca un error o un mensaje de éxito si la operación se ha realizado de forma correcta. A1.2.3 Modificar empleado La operación de modificar un empleado se encuentra localizada dentro del módulo de empleados, los pasos necesarios para realizar esta operación son los siguientes: 1.- Se seleccionará el empleado del cual se quieren modificar los datos 2.- Se pulsará el botón “Modificar” 3.- Se modificaran la información que sea necesaria 4.- Se pulsará el botón “Aceptar” La primera ventana que se muestra al pulsar la operación “Modificar Empleado” es la que sigue a continuación: 110 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura A1.21 Seleccionar Empleado En esta ventana seleccionaremos el empleado que deseamos modificar y pulsaremos el botón “Modificar…”, a continuación se nos mostrará la siguiente ventana: 111 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura A1.22 Modificar empleado Modificaremos los datos y pulsaremos el botón “Aceptar”. La aplicación mostrará un mensaje indicando la finalización de la operación, mostrando un mensaje de error en caso de que se produzca un error o un mensaje de éxito si la operación se ha realizado de forma correcta. A1.3 Módulo Informes En este módulo se encuentran contenidas las operaciones obtener información sobre los inmuebles y sobre los empleados, este módulo esta localizado en la zona 3 de la ventana del menú principal mostrando anteriormente en la figura A1.3 Las distintas operaciones que se pueden realizar son las mostradas en la siguiente figura: 112 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura A1.23 Módulo Informes Como se ha podido observar en la figura anterior las operaciones que se pueden realizar en este módulo son las siguientes: Obtener informe sobre todos los inmuebles. Obtener informe sobre todos los empleados. Obtener estadísticas sobre inmueble y empleados. A1.3.1 Obtener informe sobre todos los inmuebles: Mediante esta operación, localizada en el módulo de informes, podremos obtener información a cerca de los inmuebles, la ventana que se mostrará al ejecutar la operación será la siguiente: 113 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura A1.24 Informe inmuebles Como se puede observar en la ventana mostrada anteriormente podemos encontrar información detallada de todos los inmuebles, tanto aquellos cuya finalidad sea Venta o Alquiler de los disponibles actualmente o número total de inmuebles de ese tipo que ha habido desde la puesta en marcha de la aplicación. Además ofrece información a cerca del inmueble más caro actualmente para venta y alquiler. A1.3.2 Obtener informe sobre todos los empleados: Mediante esta operación, localizada en el módulo de informes, podremos obtener información a cerca de los empleados, la ventana que se mostrará al ejecutar la operación será la siguiente: 114 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura A1.24 Informe empleados Como se puede ver en la ventana anterior podemos encontrar información a cerca del número total de empleados, así como el empleado que más altas y bajas de inmuebles lleva producidas hasta la fecha. A1.3.3 Obtener informe sobre estadísticas: Mediante esta operación, localizada en el módulo de informes, podremos obtener información a cerca de los empleados/inmuebles, la ventana que se mostrará al ejecutar la operación será la siguiente: 115 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura A1.24 Informe empleados Como se puede ver en la ventana anterior podemos encontrar información a cerca del número total de empleados, el número total de inmuebles y la relación entre Inmuebles/Empleados. Anexo II: Manual de Usuario de la aplicación para dispositivos móviles En este apartado se va a explicar el manejo y uso de la aplicación GestInmobMobile. La aplicación comienza con una ventana de autenticación, figura A.2.1, en ella los usuarios deberán introducir su usuario y contraseña. Una vez realizado esto se deberá pulsar el botón “Aceptar”. 116 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura A2.1 Ventana de Autenticación Si la autenticación es correcta se mostrará la ventana con el menú principal, que presentará todos los módulos de los que se compone la aplicación. Figura A2.2 Menú Principal Los dos módulos de los que se compone la aplicación son los siguientes: Módulo de inmuebles: que contiene todas acciones relacionadas con los inmuebles. Módulo de informes, en los que se muestra información acerca de los inmuebles y de los empleados. 117 Automatización de la gestión de la toma de medidas para una inmobiliaria A2.1 Módulo de inmuebles: En este módulo se muestran las operaciones que se pueden realizar sobre los inmuebles, cuando seleccionamos este módulo observamos las siguientes acciones disponibles: Figura A2.3 Módulo inmuebles Como se puede observar las opciones disponibles son las siguientes: Dar de alta un inmueble Dar de baja un inmueble Modificar los datos de un inmueble A2.1.1 Alta de inmueble Antes de empezar a ver paso a paso la forma de realizar esta operación se muestran todos los pasos necesarios: 1.- Seleccionar el módulo inmuebles. 2.- Elegir la operación de “Dar de alta inmueble” 3.- Introducir el DNI del cliente que quiere dar de alta un inmueble en la agencia 3.1.- En el caso de que el cliente no tenga anunciado o no halla tenido 118 Automatización de la gestión de la toma de medidas para una inmobiliaria dado de alta ningún otro inmueble rellenar los datos del cliente. 4.- Pulsar aceptar cuando se muestre el resumen de los datos del cliente si éstos son correctos. 5.- Seleccionar el tipo de inmueble que se desea añadir y pulsar el botón “Aceptar”. Una vez se ha seleccionado la operación dar de alta inmueble se nos muestra la siguiente ventana: Figura A2.4 Ventana TipoCliente En esta ventana el empleado de la oficina debe introducir el DNI del cliente que desea dar de alta el inmueble y pulsar el botón “Aceptar”, en caso de que el cliente sea la primera vez que da de alta un inmueble de su propiedad en la oficina se mostrará la siguiente ventana: 119 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura A2.5 Ventana NuevoCliente En esta ventana el usuario de la aplicación deberá introducir los datos del cliente solicitados, en este caso son los siguientes: Nombre Primer Apellido Segundo Apellido DNI Dirección Teléfono de contacto Dirección de correo electrónico Disponibilidad horaria, seleccionando una de las opciones disponibles en la lista desplegable Tras introducir los datos del cliente se pulsará el botón “Aceptar”. 120 Automatización de la gestión de la toma de medidas para una inmobiliaria Si el cliente que quiere dar de alta el nuevo inmueble en la oficina ya tenga o halla tenido algún inmueble anunciado en la oficina la anterior ventana no será mostrada y directamente se mostrará una ventana con el resumen de los datos del cliente que va a dar de alta el nuevo inmueble, la ventana mostrada será la siguiente: Figura A2.6 Ventana Resumen del Cliente El usuario deberá pulsar el botón “Aceptar” si los datos mostrados son los correctos en caso contrario, pulsará el botón cancelar que hará que se muestre la ventana de la figura A1.6 en la que podrá actualizar los datos. Tras aceptar los datos mostrados en la ventana de resumen, al usuario se le mostrará la siguiente ventana, en la que deberá seleccionar el tipo de inmueble que desea introducir: 121 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura A2.7 Ventana Seleccionar Tipo de inmueble Una vez seleccionado el tipo de inmueble se mostrará la ventana propia del inmueble donde se deberá introducir la información referente al inmueble: Figura A2.8 Datos Inmueble I 122 Automatización de la gestión de la toma de medidas para una inmobiliaria En esta ventana se deberán introducir los datos conocidos en función los siguientes aspectos: Tipo de chalet Dirección Número Urbanización Metros construidos Metros útiles Metros de parcela Finalidad Tras introducir los datos conocidos referentes a los aspectos nombrados arriba pulsaremos sobre el botón “Siguiente” que nos mostrará la siguiente ventana: Figura A2.9 Datos inmueble II De la que deberemos rellenar los siguientes campos si éstos son conocidos: Número de plantas Número de habitaciones Número de baños Metros cuadrados de salón 123 Automatización de la gestión de la toma de medidas para una inmobiliaria Tras introducir los datos conocidos referentes a los aspectos nombrados arriba pulsaremos sobre el botón “Siguiente” que nos mostrará la siguiente ventana: Figura A2.10 Datos Inmueble III De la que deberemos rellenar los siguientes datos si éstos son conocidos: Estado del inmueble (Buen estado o A reformar) Numero de armarios empotrados Tipo de suelo Aire Acondicionado Antena parabólica Tipo de fachada Antigüedad del edificio Calefacción Tras introducir los datos conocidos referentes a los aspectos nombrados arriba pulsaremos sobre el botón “Siguiente” que nos mostrará la siguiente ventana: 124 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura A2.11 Datos Inmueble IV De la que deberemos rellenar los siguientes datos si éstos son conocidos: Ascensor Puerta de seguridad Alarma Trastero Circuito cerrado de seguridad Conserje Piscina Gimnasio Paddle Tenis Futbol Baloncesto Golf Parque infantil Tras introducir los datos conocidos referentes a los aspectos nombrados arriba pulsaremos sobre el botón “Siguiente” que nos mostrará la siguiente ventana: 125 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura A2.12 Datos Inmueble V De la que deberemos rellenar los siguientes datos si éstos son conocidos: Razón Por último deberemos rellenar el campo “Precio”, siendo éste un campo indispensable, y sin él no es posible realizar el alta del inmueble. Tras esto y una vez que pulsemos el botón “Siguiente” obtendremos un mensaje indicando el resultado de la operación. A1.1.2 Baja de inmueble Otra de las funcionalidades que aporta el módulo de inmuebles es la de dar de baja o retirar un inmueble, el procedimiento que se ha de realizar es muy sencillo, consiste en seleccionar en la ventana que se nos muestra el inmueble que queremos dar de baja, y una vez lo tenemos seleccionado pulsamos sobre el botón “Retirar”. La ventana que se nos muestra al pulsar sobre el módulo de inmuebles y luego sobre la operación de dar de baja un inmueble es la siguiente: 126 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura A2.13 Ventana Baja Inmueble A1.1.3 Modificar Inmueble Para seleccionar esta operación es necesario seleccionar el módulo de inmuebles y tras esto seleccionar la operación “Modificar Inmueble”. Los pasos que son necesarios para realizar la operación de modificar un inmueble son: 1.- Seleccionar el inmueble que se desea modificar, para ello se muestra la siguiente ventana: 127 Automatización de la gestión de la toma de medidas para una inmobiliaria Figura A2.14 Seleccionar Inmueble En esta ventana debemos seleccionar el inmueble que queremos modificar, una vez seleccionado se nos mostrará una ventana similar a la de inserción del inmueble rellena con la información que se posee hasta la fecha, en ella deberemos modificar la información que sea necesaria, la ventana mostrada es la que sigue a continuación: Figura A2.14 Modificar Inmueble I Figura A2.15 Modificar Inmueble V 128 Automatización de la gestión de la toma de medidas para una inmobiliaria Una vez la información ha sido introducida pulsaremos sobre el botón “Siguiente” y la información disponible sobre el inmueble seleccionado habrá sido modificada. A2.2 Módulo Informes En este módulo se encuentran contenidas las operaciones obtener información sobre los inmuebles y sobre los empleados. Las distintas operaciones que se pueden realizar son las mostradas en la siguiente figura: Figura A2.16 Módulo Informes Como se ha podido observar este módulo nos ofrece estadísticas al empleado sobre el número de inmuebles que ha dado de alta el empleado en el mes, así como la media de inmuebles dados de alta por el empleado de media durante el año. 129