Inmobiliario java

1,263 views
1,086 views

Published on

Published in: Economy & Finance
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,263
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
32
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Inmobiliario java

  1. 1. 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: ……/……/……
  2. 2. UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO EN INFORMÁTICA PROYECTO FIN DE CARRERAHERRAMIENTA DE GESTIÓN INMOBILIARIA AUTOR: José Javier Bayo Vázquez MADRID, septiembre de 2008
  3. 3. Herramienta para gestión inmobiliariaAgradecimientosA 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 lacarrera.A la universidad y a sus profesores, por la ilusión y ganas que demuestran en laformación profesional y humana de los alumnos.A los encargados de supervisar el proyecto, coordinadores y director, por su apoyoy ánimo para afrontar dicha tarea.A todos vosotros, gracias. I
  4. 4. Herramienta para gestión inmobiliariaResumen El proyecto consiste en el diseño, desarrollo e implantación de un sistema quesirva de apoyo a las agencias inmobiliarias en la tarea de gestión de los inmuebles y delos empleados. El proyecto consiste en tres módulos muy bien diferenciados, el primer módulo esel módulo de inmuebles, en este apartado se encuentran recogidas todas la operacionesrelacionadas con los inmuebles, como son el alta, baja y modificación de los distintosinmuebles. El segundo módulo es el módulo de empleados, en el que se encuentranagrupadas las operaciones sobre los empleados, con las que poder realizar el alta, baja ymodificación de los empleados. Por último, el tercer módulo es el modulo de informes, enel 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 laagencia inmobiliaria atiende a múltiples clientes instalados en los puestos de escritorio oen dispositivos móviles. En general, y debido a la mayor facilidad de integración en los sistemas aimplantar, 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 paraconstruir 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 deingeniería del software, especialmente en la orientación a objetos así como en otrosconocimientos que se han visto a lo largo de la carrera como Estructuras de datos, II
  5. 5. Herramienta para gestión inmobiliariaTransmisión y Tecnologías de Bases de Datos, Sistemas Operativos, Redes, Métodosalgorítmicos, Seguridad Informática y Gestión de Proyectos Informáticos. III
  6. 6. Herramienta para gestión inmobiliariaAbstract The project involves the design, development and deployment of a system tosupport 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 ofbuildings in this section are listed all the operations related to buildings, such as high, lowand modification of individual buildings. The second module is the form of employees,which are grouped operations on employees, which can make the high, low andmodification of employees. The third module is the module reports, which may obtain aseries of reports on buildings and employees. This is a client-server system where a server installed in the real estate agencyserves 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 beendeveloped with Microsoft tools. Thus, it has worked with the Framework. NET tool underthe 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 softwareengineering, especially in the object oriented as well as other skills that have been seenalong the career structures as data transmission and Technology Bases Data operatingsystems, networks, algorithmic methods, Information Security and Project ManagementInformation. IV
  7. 7. Herramienta para gestión inmobiliariaÍndice1.- 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 .......................................................... 52.- 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 ........................................................................................... 123.- 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 ........................................................ 144.- 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
  8. 8. Herramienta para gestión inmobiliaria 4.2.3.- Descripción de datos................................................................................... 415.- 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 ................................................................................................... 476.- 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 ................................................................................. 767. Implementación y pruebas ....................................................................................... 77 7.1 Implementación .................................................................................................... 77 7.2 Pruebas ................................................................................................................. 838. Planificación y presupuesto...................................................................................... 83 8.1 Planificación ......................................................................................................... 83 8.2 Presupuesto.......................................................................................................... 85 VI
  9. 9. Herramienta para gestión inmobiliaria9. Conclusiones y evolución del sistema ..................................................................... 90 9.1 Conclusiones ........................................................................................................ 90 9.2 Evolución del sistema .......................................................................................... 90Bibliografía ..................................................................................................................... 92Anexo I: Manual de Usuario de la aplicación de escritorio ......................................... 93Anexo II: Manual de Usuario de la aplicación para dispositivos móviles ................ 116 VII
  10. 10. Automatización de la gestión de la toma de medidas para una inmobiliaria1.- Introducción1.1.- Motivación Una de las principales razones por las que se ha escogido este proyecto es elinterés personal por el mundo de las nuevas tecnologías. Si bien las PDA ya llevanunos años en el mercado, no cabe la menor duda de que ha sido durante este últimocuando por fin se ha popularizado y extendido su uso. El hecho de que los precios deestos dispositivos sigan bajando hace presagiar que dentro de muy poco tiempo el usode 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íainalámbrica 802.11. Esta tecnología permite conectarse a otros dispositivos, e inclusoa Internet, sin necesidad de cables y desde cualquier lugar. Si a esto se le une laenorme movilidad que proporcionan las PDA gracias a su pequeño tamaño y escasopeso, se tiene una perfecta herramienta de trabajo que puede llevarse en el bolsillo entodo momento. Uno de los principales problemas que se encuentra a la hora de desarrollaraplicaciones para PDA es la escasa cantidad de memoria y reducida capacidad deprocesamiento de que disponen debido a su reducido tamaño. Por ello se hacenecesaria la utilización de aplicaciones y entornos de desarrollo especialmentediseñados para este tipo de dispositivos. Así, por ejemplo, prácticamente cualquieraplicación necesita acceder a una base de datos. Sin embargo las limitaciones antesmencionadas de estos dispositivos hacen imposible alojar en ellos un Sistema Gestorde Bases de Datos completo. Por esta razón existen soluciones orientadas a este tipode dispositivos móviles y que proporciona casi toda la potencia de los gestores debases de datos completos. La elección de una inmobiliaria para implantar este proyecto se debe a que estemodelo de negocio se presta en gran medida a obtener los beneficios que proporcionala movilidad de las PDA. Los empleados de las inmobiliarias que van a los pisos atomar las sustituirán sus papeles por una PDA y las medidas y características de los 1
  11. 11. Automatización de la gestión de la toma de medidas para una inmobiliariainmuebles llegarán inmediatamente a la cocina haciendo uso de la tecnologíaUMTS/GPRS, utilizando para ello las redes GSM.1.2.- Objetivos El principal objetivo del proyecto consiste en crear un sistema que agilice la gestiónde una inmobiliaria. La aplicación que se instalará en las PDA será sencilla e intuitiva, de manera quelos 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 laintroducción y gestión de los distintos tipos de inmuebles por los empleados medianteel uso de dispositivos móviles y puestos de escritorio. Otro objetivo es conseguir dotar a la aplicación de un servicio de gestor deempleados, mediante el cual se pueda gestionar todas las operaciones de altas, bajasy modificaciones de empleados. También se deberá dotar a la aplicación de un módulo que permita a losempleados obtener informes sobre los inmuebles. Será necesario realizar una gestión de los clientes que anuncien o hayananunciado 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íaempleada por las PDA. Una parte importante de este objetivo consiste en investigarlas posibilidades que ofrece el estándar UMTS, dentro del mundo de los dispositivosmóviles. Esta será la tecnología empleada para mantener la comunicación entre lasPDA y el servidor con las bases de datos. 2
  12. 12. 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 laprogramación orientada a objetos, concretamente en el lenguaje C#. Puesto que va a seguirse una metodología de desarrollo de software orientado aobjetos, también se profundizará en la utilización de las técnicas que son empleadasen este tipo de metodología y que han sido aprendidas durante la carrera (casos deuso, 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 unsistema para la gestión de una inmobiliaria que ayude a mejorar la toma de medidasoptimizando el tiempo y esfuerzo de sus empleados. Al lograr una optimización en eltiempo que se tarda en tomar las medidas y características del inmueble antes sepuede exponer la información en las oficinas y antes puede llegar un compradorinteresado 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 atoda la información para la gestión de la inmobiliaria y modificarla según susnecesidades. Más concretamente podrán realizar altas, bajas y modificaciones de losempleados de la inmobiliaria, así como sobre los inmuebles. El resto de usuarios que no tienen perfil de administrador podrán acceder a toda lainformación de los inmuebles, pudiendo éstos realizar el alta, baja y modificación delos distintos inmuebles, así como la obtención de informes en temas concernientes alos inmuebles. 3
  13. 13. 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 losdistintos inmuebles). La categoría del empleado determina a qué funcionalidades delsistema puede acceder. Además cada empleado tendrá un nombre de usuario ycontraseña para registrarse en el sistema. La información que se quiere mantener de los distintos inmuebles es: un código deidentificació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 suherramienta para valorar la marcha del negocio. Estos informes son de tres tipos: 1. Informe acerca de los empleados: proporciona una idea de la productividad decada empleado de la inmobiliaria mostrando el número total de inmuebles visitadospara la toma de medidas. Se considera una visita por cada inmueble visitado condiferente dirección, es decir, si un empleado a de visitar varias veces el mismoinmueble se le considera como una única visita. 2. Informe sobre los distintos inmuebles: muestra por cada inmueble suscaracterísticas de forma que desde la oficina se pueda llevar una relación de todos losinmuebles dados de alta en la inmobiliaria. En este informe también se presenta uncálculo de la duración media desde que el inmueble se anuncia en la oficina hasta quese vende, pudiendo obtener evidencia sobre la valía de los empleados que visitan losinmuebles con los posibles compradores. 3. Informe acerca de los ingresos de la inmobiliaria: se detallan los ingresosobtenidos por la inmobiliaria durante los últimos doce meses. Además se calcula losingresos totales desde que se implantó el sistema, los ingresos medios mensuales ylos ingresos medios por inmueble. 4. Informe individual de cada inmueble: Según se reciba la informacióncorrespondiente a un nuevo inmueble se creará un informe en el que se muestre lainformación maquetada de forma que pueda ser expuesta inmediatamente en el 4
  14. 14. Automatización de la gestión de la toma de medidas para una inmobiliariaescaparate de la oficina, o si la oficina tiene monitores en los que se muestra lainformació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 distintosinmuebles para tomar las medidas y enviarlas a la oficia. Permitirá crear una ficha delinmueble y asignar valores a las distintas características del inmueble. De los inmuebles hay que almacenar: un código de identificación, finalidad, tipo deinmueble, 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 seencuentra el servidor y le enviará la información del inmueble. El código de identificación estará formado por el identificador del empleado que harealizado las mediciones más un número de 5 cifras que irá variando en uno más suvalor según el empleado vaya visitando más inmuebles. Por ejemplo, el código delempleado que realiza la visita al inmueble es: 3543 y el empleado ha visitado 113inmuebles, 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ía2.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ídasproporcionadas por Microsoft y por la industria de desarrollo de software. 5
  15. 15. 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 latecnología con la que, por parte de la empresa, se está más familiarizado, que yautiliza esta tecnología en sus sistemas. Se distinguirá entre plataformas de desarrollo y producción existiendo diferentesversiones de las herramientas de software utilizadas en dichas plataformas. En desarrollo se trabajará con una máquina con sistema operativo Windows XP oWindows Vista, con versión de Internet Information Server 5.1 o 7.0 respectivamente ycon la versión gratuita del gestor de base de datos SQL Server, Sql Server ExpressEdition que dispone de una capacidad de 2 GB. En Producción se utilizará un servidor con Windows 2003 Server, que llevainstalada la versión 6.0 del Internet Information Server y la versión completa del SQLServer. 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 ellenguaje 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 desarrollode software con énfasis en transparencia de redes, con independencia de plataforma yque 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 losnegocios en entornos Web, como competencia a la plataforma Java de SunMicrosistems. A largo plazo Micorsoft pretende reemplazar el API Win32 o Windows API con laplataforma .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 distintoscomponentes, provocando múltiples problemas en el desarrollo de aplicaciones para elsistema operativo Windows. La plataforma .NET pretende solventar la mayoría deestos problemas proveyendo un conjunto único y expandible con facilidad, de bloques 6
  16. 16. Automatización de la gestión de la toma de medidas para una inmobiliariainterconectados, diseñados de forma uniforme y bien documentados, que permitan alos desarrolladores tener a mano todo lo que necesitan para producir aplicacionessólidas. Con esta plataforma Microsoft incursiona de lleno en el campo de los ServiciosWeb y establece el XML como norma en el transporte de información en sus productosy 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 yrobusta 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 yun acceso más simple y universal a todo tipo de información desde cualquier tipo dedispositivo.2.3.- Internet Information Services (IIS) Para la construcción del sistema se requiere de un servidor de Internet que deservicio a los subsistemas del presente proyecto, concretamente, a las aplicacionesinstaladas en las dispositivos móviles y como a las aplicaciones instaladas en lospuestos de escritorio instalados en la agencia. El servidor habilitado a tal efecto es elInternet 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 soportea los subsistemas y, asimismo, establecer el sistema de autenticación para controlar elacceso 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 enotros sistemas operativos de Microsoft destinados a ofrecer servicios, como Windows2000 o Windows Server 2003. Windows XP Profesional incluye una versión limitada deIIS. Los servicios que ofrece son: FTP, SMTP, NNTP y HTTP/HTTPS. Este servicio convierte a un ordenador en un servidor de Internet o Intranet esdecir que en las computadoras que tienen este servicio instalado se pueden publicarpáginas Web tanto local como remotamente (servidor Web). 7
  17. 17. 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 procesardistintos 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 PHPo Perl. La versión actual de IIS es la 6.0 para Windows Server 2003 e IIS 5.1 paraWindows XP Profesional. IIS 5.1 para Windows XP es una versión compacta del IISque soporta solo 10 conexiones simultaneas y solo un sitio Web, aunque puede serextensible mediante el manejo de AdminScripts instaladas en la ruta del servidor. En elpresente proyecto se trabajará con las versiones actuales mencionadas, IIS 5.1 para elentorno 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 depáginas Web, típicamente comunes a un dominio en Internet o subdominio en la WorldWide Web en Internet. Una página Web es un documento HTML/XHTML accesible generalmentemediante el protocolo HTTP de Internet. A las páginas de un sitio Web se accede desde una URL raíz común llamadaportada, que normalmente reside en el mismo servidor físico. Las URLs organizan laspáginas en una jerarquía, aunque los hiperenlaces entre ellas controlan cómo el lectorpercibe la estructura general y cómo el tráfico Web fluye entre las diferentes partes delos sitios. Los sitios Web están escritos en HTML (Hyper Text Markup Language), odinámicamente convertidos a éste y se acceden usando un cliente http, navegadorWeb o cualquier otro. Los sitios Web pueden ser visualizados o accedidos desde unabanico 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 deun puerto TCP diferente al puerto TCP por defecto para los servidores Web, los tiposMIME que son reconocidos, la versión del ASP.NET que se utiliza así como una seriede parámetros propios de un sitio Web: (Control de acceso, seguridad, configuraciónssl…). Al configurar los sitios Web debe indicar los directorios que contienen losdocumentos que desea publicar. El servidor Web no puede publicar documentos queno están en los directorios especificados. 8
  18. 18. 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 esla ubicación central de las páginas publicadas. En este caso, por seguridad del sitioWeb, conviene crear un directorio particular diferente al que viene por defecto. Uno de los parámetros configurables corresponde a la seguridad de acceso a unsitio web o a un directorio particular del mismo. Se accede (IIS 7.0) desde laspropiedades 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
  19. 19. 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 usaraplicaciones de negocio que comparten datos con otros programas modulares, víaInternet. Son aplicaciones independientes de la plataforma que pueden ser fácilmentepublicadas, 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
  20. 20. Automatización de la gestión de la toma de medidas para una inmobiliariaservices, que pueda ser localizado de un modo sencillo y que tenga una altafiabilidad. La posibilidad de modularidad y la interconexión de aplicaciones hace que sean losservicios web la solución a las comunicaciones entre el servidor y los subsistemas delpresente 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 estatecnología reside en que se basa en estándares conocidos en los que ya se tiene unagran confianza, como el XML. Además, el uso de los Web services aporta ventajassignificativas a las empresas. El principal objetivo que se logra, es la interoperabilidad y la integración. Mediantelos Web services, las empresas pueden compartir servicios software con sus clientes ysus socios de negocio. Esto ayudará a las compañías a escalar sus negocios,reduciendo el coste en desarrollo y mantenimiento de software, y sacando losproductos al mercado con mayor rapidez. La integración de aplicaciones hará posible obtener la información demandada entiempo real, acelerando el proceso de toma de decisiones. 11
  21. 21. Automatización de la gestión de la toma de medidas para una inmobiliaria2.5 Microsoft SQL Server Gestor de base de datos relacional. El lenguaje que utiliza es Transact – SQL, quees 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 datosempresariales. El uso de T – SQL añade principalmente sintaxis para poder hacer usode 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 unprotocolo llamado TDS (Tabular Data Stream) aunque también soporta ODBC (OpenDatabase Conectivity), JDBC para Java y protocolos de servicios Web (SOAP). En elnivel de transporte es necesario habilitar el protocolo TCP/IP mediante la herramientade configuración de SQL.3.- Metodología de trabajo Para la realización del proyecto se va a seguir la metodología de desarrollo desoftware 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 delsistema, definiendo las necesidades, problemas y requisitos del usuario. A lo largo deesta 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 obligaa los desarrolladores y usuarios a pensar formalmente sobre el problema, les permitevalidar su comprensión y establece el vocabulario del espacio del problema. Junto conlos requerimientos, constituye la entrada más importante para el diseño. Para representar el modelo de dominio se utilizará los diagramas de clase UML yposteriormente se describirá las clases y relaciones que aparecen en ellos. 12
  22. 22. 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 cadacaso de uso. Un Diagrama de Casos de Uso muestra la relación entre los actores y los casos deuso del sistema. Representa la funcionalidad que ofrece el sistema en lo que se refierea 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 actividadesque 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 ensubsistemas de diseño y la ubicación de cada subsistema en cada partición, así comola especificación detallada de la infraestructura tecnológica necesaria para dar soporteal sistema de información. 2. Elaborar el diagrama de paquetes Los paquetes se utilizan para agrupar las clases del sistema que de algunamanera guardan cierta relación. De esta forma se consigue estructurar grandessistemas con un número elevado de clases. Cualquier sistema grande se debe dividir en unidades más pequeñas, de modoque las personas puedan trabajar con una cantidad de información limitada, a la vez yde 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 ambientede implementación y se completan las distintas aplicaciones del sistema realizando lassiguientes actividades: 13
  23. 23. 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 derepresentar información clara. El diseño de una pantalla es una interpretación de lascualidades definidas en el diseño y concepción de procesos. El diseño GUI con su altacalidad estética da al producto un carácter atractivo influyendo en la calidad final de laaplicació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 losroles que implementan el comportamiento de un sistema. Esta visión proporciona unavista integral del comportamiento del sistema, es decir, muestra el flujo de control através de muchos objetos. Los objetos interactúan para realizar colectivamente losservicios ofrecidos por las aplicaciones. Los diagramas de interacción muestran cómose 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 lasestructuras de datos y algoritmos que son necesarios para implementar cada clase enel lenguaje de programación que se vaya a utilizar (orientados y no orientados aobjetos, bases de datos, etc.). Para diseñar las clases se especificarán los métodos y atributos que cada clase vaa 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 softwarenecesarias que certifiquen que la aplicación funciona de manera correcta. El objetivode estas pruebas es garantizar que el sistema ha sido desarrollado correctamente, sinerrores de diseño ni programación y que se corresponde con los requerimientos. Así, se podrían definir varias etapas en este apartado: 14
  24. 24. 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 dedatos ya construido con el que poder trabajar. Es, por tanto, la primera tarea a abordaren 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 secumplimentarán las clases que se han descrito en el diseño interno junto con losalgoritmos necesarios para cumplir con el cometido de cada una así como laimplementación de la interfaz de usuario cuando fuese necesario. Todo ellocondicionado por la plataforma de desarrollo escogida así como por la metodología decomunicación entre módulos a implementar. 3. Pruebas unitarias Una vez se haya desarrollado el código de los subsistemas se podrán realizar laspruebas de dichos subsistemas y sus módulos por separado. El objetivo de laspruebas unitarias es aislar, cada parte del programa y mostrar que las partesindividuales son correctas. 4. Pruebas de Integración El objetivo de las pruebas de verificación es comprobar que los módulos ocomponentes que conforman un sistema funcionan correctamente en conjunto ointegrados. Así mismo se comprueba que el sistema desarrollado cumple con losrequisitos definidos.4.- Análisis de requerimientos Los requerimientos son una descripción de las necesidades o deseos de unproducto. La meta primaria de esta fase es identificar y documentar lo que en realidadse necesita, de una forma que claramente se pueda comunicar al cliente y a losmiembros del equipo de desarrollo. El reto consiste en definirlos de manerainequívoca, de modo que se detecten los riesgos y no se presenten sorpresas almomento de entregar el producto [LARM00]. 15
  25. 25. 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 deresolver y se detallará claramente la funcionalidad completa del sistema que va adesarrollarse, 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 usodel sistema. El modelo de dominio consiste en uno o más diagramas de clase UML quemuestran los conceptos básicos del dominio del problema, sus propiedades másimportantes y las relaciones entre dichos conceptos. El modelo de casos de uso permite recoger y documentar los requerimientosfuncionales de un sistema. Se compone de un diagrama de casos de uso y de ladescripción detallada de cada uno de ellos. 4.1.- Modelo de dominio El modelo de dominio es una herramienta de comunicación fundamental que obligaa los desarrolladores y usuarios a pensar formalmente sobre el problema, les permitevalidar su comprensión y establece el vocabulario del espacio del problema. Junto conlos 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 dedominio del sistema que se va a desarrollar. 16
  26. 26. Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 4.1.1.1 Modelo de dominio4.1.2.- Glosario de clases y relaciones En este apartado se describirán las distintas clases y relaciones que se hanrepresentado en el diagrama anterior.OficinaInmobiliaria: Esta clase representa la oficina de la inmobiliaria como negocio y como lugarfísico. De esta manera en la oficina de la inmobiliaria es donde se muestran losanuncios 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 oficinainmobiliaria, para empleado se recoge: código, nombre, apellidos, domicilio, teléfono, 17
  27. 27. Automatización de la gestión de la toma de medidas para una inmobiliariasalario, email y DNI. Los empleados disponen además de un nombre de usuario y unacontraseñ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 ymodificaciones). Además el administrador tiene acceso a una serie de informes tantoestadísticos como de los distintos inmuebles.EmpOficina: Es el empleado que se encuentra en la oficina de la inmobiliaria, se encarga deponer los anuncios que se reciben de los distintos empleados que están fuera de laoficina, también es el encargado de prestar información acerca de los inmuebles a losclientes que se personen en la oficina. Tienen acceso a información sobre losinmuebles.EmpInmuebles: Es aquel empleado que dedica su vida laboral a visitar pisos que están enventa para conseguir clientes que quieran vender o alquilar sus pisos a través denuestra oficina inmobiliaria, y una vez conseguido esto es el encargado de tomar lasmedidas y características del inmueble mediante la PDA y mandar la información loantes posible a la oficina de la inmobiliaria.EmpVisita: Es el empleado que se dedica a enseñar las viviendas una vez un cliente se hamostrado interesado en la compra o alquiler de algún inmueble anunciado en laoficina, tiene acceso a la información de la vivienda a través de su PDA. Puede enviarun aviso a la oficina indicando que la vivienda ha sido adquirida y por lo tanto que el 18
  28. 28. Automatización de la gestión de la toma de medidas para una inmobiliariaanuncio deje de estar visible, o en caso contrario para indicar que la vivienda aún estadisponible.Informe: Hace referencia a los distintos informes que pueden ser solicitados por eladministrador.TipoV: Hace referencia a si el inmueble esta situado en una planta del edificio o si porel contrario se trata de un ático.Inmueble: Hace referencia a toda la información necesaria de cada uno de los inmueblesque están dados de alta en la oficina de la inmobiliaria. De cada inmueble nosinteresa: 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
  29. 29. Automatización de la gestión de la toma de medidas para una inmobiliariaLocal: 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 loque se refiere a su interacción externa. De esta manera se puede llegar a determinarla manera en que se quiere que los usuarios interactúen con el sistema y todo aquelloque podrán hacer con él. El modelo de casos de uso se compone de un diagrama y de una descripcióndetallada de cada uno de ellos.Diagrama de casos de uso Muestra gráficamente los casos de uso del sistema, las relaciones entre ellos y losactores que participan. Un actor es cualquier persona, organización o sistema que es externo al sistemaque se desarrolla e interactúa con él. Se puede ver como un rol abstracto querepresenta cierta forma de interactuar con el sistema. Los casos de uso responden a objetivos de los actores con respecto al sistema. 20
  30. 30. Automatización de la gestión de la toma de medidas para una inmobiliariaDescripció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 fraseactiva en infinitivo.Actor primario: Aquél cuyo objetivo da nombre al caso de uso. Normalmente será tambiénquien lo inicie.Actor secundario: Cualquier otro actor que intervenga en el caso de uso y que ayude al sistema aconseguir el objetivo del actor primario.Precondiciones: Son condiciones que se han de dar en el sistema para que pueda iniciarse elcaso de uso. Puesto que se han de cumplir antes, no se vuelven a comprobar una veziniciado.Trigger: Es el evento que inicia el caso de uso. A menudo será algo del tipo: Iniciadopor el “actor primario”.Escenario primario: 21
  31. 31. 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 pasosserá 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 sistemaExtensiones: Describen formas alternativas de conseguir el objetivo o fallos que se producenmientras 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, elempleado 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, sinomás bien distintas maneras de interactuar con el sistema. El administrador representa el rol de aquella persona encargada de gestionar losempleados, es decir, de realizar altas, bajas y modificaciones. También será elencargado de solicitar informes estadísticos para conocer la marcha de la oficinainmobiliaria. El empleado de oficina representa el rol de aquella persona que se encarga deimprimir y sacar por pantalla las fichas de los nuevos inmuebles enviados por losempleados de inmuebles y ocasionalmente por los empleados de visitas. También esel encargado de atender a los clientes que acudan a la oficina teniendo posibilidad deobtener acerca de los inmuebles anunciados en la inmobiliaria. 22
  32. 32. 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 decrear la ficha del inmueble en cuestión, mediante el uso de una PDA, tomando lasmedidas y características. También es el encargado de confirmar el envío de dichainformación a la oficina inmobiliaria. El empleado de visitas representa el rol de aquella persona que se encarga dellevar a los clientes interesados en el inmueble para que lo vean, y en el caso de queesté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 laoficina de forma que pueda tener la ficha del inmueble que está enseñando a losclientes para poder especificarles las características del inmueble de forma correcta yconcreta. Estos cuatro actores o roles son tipos específicos de un actor más general. A esteactor se le llamará simplemente usuario, y una de sus funciones es la de podercambiar su contraseña de acceso al sistema. Por último el actor sistema representa aquellas interacciones que se dan demanera automática o periódica cada cierto tiempo. Figura 4.2.1.1 Actores del sistema 23
  33. 33. 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 UsuarioAdministrador: Figura 4.2.1.3 Actor AdministradorEmpleado de oficina: 24
  34. 34. Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 4.2.1.4 Actor Empleado oficinaEmpleado de inmuebles: Figura 4.2.1.4 Actor Empleado inmueblesEmpleado de visitas: 25
  35. 35. Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 4.2.1.5 Actor Empleado visitasSistema: Figura 4.2.1.5 Actor Sistema4.2.2.- Descripción detallada de los casos de usoCambiar contraseñaActor primario: UsuarioActores secundarios: --- 26
  36. 36. Automatización de la gestión de la toma de medidas para una inmobiliariaTrigger: Iniciado por el usuarioPrecondiciones: ---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 2Pedir informe1Actor primario: AdministradorActores secundarios: ---Trigger: Iniciado por el administradorPrecondiciones: ---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
  37. 37. Automatización de la gestión de la toma de medidas para una inmobiliariaActor primario: Empleado de oficinaActores secundarios: ---Trigger: Iniciado por el empleado de oficinaPrecondiciones: ---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 empleadoActor primario: AdministradorActores secundarios: ---Trigger: Iniciado por el administradorPrecondiciones: ---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
  38. 38. Automatización de la gestión de la toma de medidas para una inmobiliaria1b . 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álido2b. Alguno de los datos introducidos no tiene el formato correcto 1. El sistema informa del error 2. Volver al paso 1Buscar empleadoActor primario: AdministradorActores secundarios: ---Trigger: Iniciado por el administradorPrecondiciones: ---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 empleadoExtensiones: 29
  39. 39. 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 empleadoActor primario: AdministradorActores secundarios: ---Trigger: Iniciado por el administradorPrecondiciones: El administrador debe haber buscado y seleccionado un empleadoEscenario 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
  40. 40. 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 2Eliminar empleadoActor primario: AdministradorActores secundarios: ---Trigger: Iniciado por el administradorPrecondiciones: El administrador debe haber buscado y seleccionado un empleadoEscenario 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 usoExtensiones: 1a . El administrador cancela la modificación del empleado 31
  41. 41. 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 anteriorCrear FichaActor primario: Empleado de inmueblesActores secundarios: ---Trigger: Iniciado por el empleado de inmueblesPrecondiciones: ---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
  42. 42. Automatización de la gestión de la toma de medidas para una inmobiliariaActor primario: Empleado de oficinaActores secundarios: ---Trigger: Iniciado por el empleado de oficinaPrecondiciones: ---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 inmuebleExtensiones: 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 Inmueble2Actor primario: Empleado de inmueblesActores secundarios: ---Trigger: Iniciado por el empleado de inmueblesPrecondiciones: --- 33
  43. 43. Automatización de la gestión de la toma de medidas para una inmobiliariaEscenario 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 inmuebleExtensiones: 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 Inmueble3Actor primario: Empleado de visitasActores secundarios: ---Trigger: Iniciado por el empleado de visitasPrecondiciones: ---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
  44. 44. 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 inmuebleExtensiones: 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 InmuebleActor primario: Empleado de oficinaActores secundarios: ---Trigger: Iniciado por el empleado de oficinaPrecondiciones: el empleado de oficina debe haber buscado y seleccionado uninmueble.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
  45. 45. 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 2Eliminar Inmueble:Actor primario: empleado de oficinaActor secundario: ---Trigger: Iniciado por el empleado de oficinaPrecondiciones: El empleado de oficina debe haber buscado y seleccionado uninmuebleEscenario primario: 1. El empleado de oficina selecciona la opción de eliminar inmueble. 36
  46. 46. 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 usoExtensiones: 1a . El empleado de oficina cancela la modificación del inmueble 1. El sistema cancela la operación y vuelve a la pantalla anteriorPedir FichaActor primario: Empleado de visitasActores secundarios: ---Trigger: Iniciado por el empleado de visitasPrecondiciones: el empleado de visitas debe haber buscado y seleccionado uninmueble.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 solicitadoExtensiones: 2a . El empleado de visitas cancela la solicitud 1. El sistema cancela la operación y vuelve a la pantalla anterior 37
  47. 47. Automatización de la gestión de la toma de medidas para una inmobiliariaModificar Estado InmuebleActor primario: Empleado de visitasActores secundarios: ---Trigger: Iniciado por el empleado de visitasPrecondiciones: el empleado de visitas debe haber buscado y seleccionado uninmueble.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
  48. 48. Automatización de la gestión de la toma de medidas para una inmobiliariaModificar FichaActor primario: Empleado de inmueblesActores secundarios: ---Trigger: Iniciado por el empleado de inmueblesPrecondiciones: el empleado de inmuebles debe haber buscado y seleccionado uninmueble.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
  49. 49. 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 2Crear Anuncio:Actor primario: Empleado de oficinaActores secundarios: ---Trigger: Iniciado por el empleado de oficinaPrecondiciones: el empleado de oficina debe haber buscado previamente el inmuebledel 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.SincronizarActor primario: Empleado de inmueblesActores secundarios: ---Trigger: Iniciado por el empleado de inmueblesPrecondiciones: ---Escenario primario: 40
  50. 50. 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 centralExtensiones: 2b. Sucede un error durante la sincronización manual 1. El sistema muestra información del error ocurrido 2. El caso de uso finaliza4.2.3.- Descripción de datosTipo de informe El administrador puede pedir distintos tipos de informes, que le muestran unaserie 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
  51. 51. 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, elteléfono, el email, el salario, la categoría a la que pertenece (administrador, empleadode oficina, empleado de inmuebles y empleado de visitas), el nombre de usuario y elpassword para acceder al sistema.Datos de búsqueda Consiste en una serie de datos introducidos por el usuario de forma que elsistema coja estos datos y pueda realizar una búsqueda de todos los empleados oinmuebles cuyas características coincidan con todas las características introducidas enlos datos de búsqueda.Características del inmueble Hace referencia a toda la información necesaria de cada uno de los inmueblesque están dados de alta en la oficina de la inmobiliaria. De cada inmueble nosinteresa: un código de identificación, finalidad, tipo de inmueble, dirección, planta, tipo,dormitorio, baños, m2, extras, precio. 42
  52. 52. Automatización de la gestión de la toma de medidas para una inmobiliariaRN01 La contraseña constará de cómo mínimo 4 caracteres.5.- Diseño Externo del sistema5.1.- Arquitectura del sistema La solución propuesta consiste en instalar la aplicación en puestos deescritorio o dispositivos móviles y utilizar la arquitectura que se muestra acontinuación. En este apartado se estudia la solución propuesta para la arquitectura delsistema. En el siguiente gráfico queda reflejada la arquitectura general del sistema ylas 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
  53. 53. Automatización de la gestión de la toma de medidas para una inmobiliaria Servidor de BBDD Cliente de escritorio Cliente móvilServidor Web: Contenedor de los distintos Servicios Web y otras funcionalidades de que secompone la aplicación GestInmob. El servidor de aplicaciones (Internet InformationServer) dispone de la lógica de autenticación de usuarios y de acceso a los ServiciosWeb. En el presente proyecto se creará un sitio Web específico con un directorioparticular con el mismo nombre, InmobServer. El sitio web InmobServer contiene el Servicio Web con el que se comunica lasaplicaciones cliente. El nivel de seguridad de este directorio debe permitir el acceso detodas las máquinas, acceso anónimo en el directorio del sitio Web dentro del InternetInformation Server, con lo que la función de autenticación de dichas máquinas pasaríaa 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 encuentralocalizado en las distintas oficinas de la agencia, se comunica con el Servidor Webpara realizar todas las operaciones que sean necesarias para proporcionar losservicios. Realiza el servicio de autenticación de los empleados mediante un proceso deautenticación utilizando para ello los servicios web que le permiten acceder a la basede datos de empleados situada en el Servidor de BBDD. Una vez se ha realizado estaautenticación y el usuario es autenticado de forma satisfactoria, al usuario se leotorgan unos permisos y u otros en función de su perfil 44
  54. 54. Automatización de la gestión de la toma de medidas para una inmobiliariaCliente móvil: Aplicación cliente instalada en un dispositivo móvil, que es portado por losdistintos empleados de la agencia y, que se comunica con el Servidor Web pararealizar todas las operaciones que sean necesarias para proporcionar los servicios. Realiza el servicio de autenticación de los empleados mediante un proceso deautenticación utilizando para ello los servicios web que le permiten acceder a la basede datos de empleados situada en el Servidor de BBDD. Una vez se ha realizado estaautenticación y el usuario es autenticado de forma satisfactoria, al usuario se leotorgan unos permisos y u otros en función de su perfil5.2 Diagrama de paquetesSe va a proceder a la representación del diagrama de paquetes este se hará primerode forma general y luego se irá descendiendo hasta el detalle.5.2.1 Diagrama de paquetes externoA continuación se muestra el paquete principal de la aplicación y las relaciones queexisten con elementos externos al sistema, en este caso no hay relaciones externaspor lo tanto resulta el siguiente diagrama: Figura 5.2.1.1 Diagrama externo de paquetes5.2.2 Diagrama de paquetes – primer nivel 45
  55. 55. 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 laaplicación de escritorio, en el que se muestra la relación entre los distintos paquetesque componen la aplicación principal, obteniendo la siguiente representación: Figura 5.2.2.1 Diagrama de paquetes principalNotas: 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 laaplicación para dispositivos móviles, en el que se muestra la relación entre los distintospaquetes que componen la aplicación principal, obteniendo la siguienterepresentación: 46
  56. 56. Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 5.2.2.2 Diagrama de paquetes principal5.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
  57. 57. Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 5.2.3.1 Subsistema de paquetesGestInmobMobile 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 seutilizaran. Utiliza las clases pertenecientes al dominio del sistema, el acceso adatos a través de InmobLib. Figura 5.2.3.2 Subsistema InmobLibInmobLib es la librería del sistema. En ella se encuentra el paquete dominiocon las clases del dominio del sistema y el paquete DAO con la capa deacceso a datos. 48
  58. 58. Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 5.2.3.3 Subsistema InmobLib6.- Diseño interno del sistema6.1.- Diseño de la interfaz de usuario El diseño de toda la aplicación se hará de forma sencilla e intuitiva de formaque el tiempo de aprendizaje por parte de los usuarios sea mínimo, se seguirá elmanual de buenas prácticas en el desarrollo de interfaces gráficos. Para construir este modelo de interfaz de la aplicación de escritorio se haacudido a componentes para aplicaciones Windows desarrollados y publicados comosoftware 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/ASCENDNETlos controles de Ascend.NET son una colección de controles Windows Forms escritosen lenguaje C# para Visual Studio 2005 y .NET 2.0. Se pueden descargar desde ellink: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á lainterfaz a las librerías Ascend, Ascend.Resources, Ascend.Design yAscend.Windows.Forms. Una vez referenciadas, se puede agregar los componentes o controles en labarra de herramientas del Visual Studio. En este caso, se utiliza el control 49
  59. 59. Automatización de la gestión de la toma de medidas para una inmobiliariaAscend.Windows.Forms.NavigationPane y los controles NavigationPanePage yNavigationButton para construir el menú de la ventana principal. El modelo de interfaz de la aplicación para dispositivos móviles, será muchomás sencilla que para la aplicación de escritorio y por tanto no utilizará loscomponentes ASCEND indicados anteriormente.6.2.- Diseño subsistema GestInmob y GestInmobMobile6.2.1.- Autenticación Antes de que el usuario pueda utilizar la aplicación es necesario que el usuariose 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 desecuencia: 50
  60. 60. 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 sevolverá 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
  61. 61. 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 puedeacceder a 3 módulos entre los que se reparte toda la funcionalidad (Parte inferior delmenú). 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
  62. 62. 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 elloprimero se obtienen los datos del cliente y se comprueban si el cliente ya está dado dealta 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
  63. 63. 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 muestrala siguiente ventana: Figura 6.2.3.1.2a Ventana NuevoCliente Una vez esta sea rellenada y se produzca el evento insertarCliente seproducirá el siguiente diagrama de secuencia: 54
  64. 64. 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á unresumen de los datos del cliente que se quiere introducir y al pulsar sobre el botónaceptar se llamará al servicioWeb para que este realice la inserción del nuevo clienteen 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, elusuario procede a seleccionar el tipo de inmueble que quiere dar de alta. 55
  65. 65. Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 6.2.3.1.3a Ventana TipoInmuebleCon el siguiente diagrama de secuencia: 56
  66. 66. 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 dispongainformació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 inmueblese realiza la siguiente secuencia de operaciones: 57
  67. 67. Automatización de la gestión de la toma de medidas para una inmobiliaria Figura 6.2.3.1.4b Ventana Chalet6.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 inmuebleque queremos retirar de la lista de disponibles. También se podrá filtrar pordisponibles. La ventana que realiza la operación de dar de baja una operación es lasiguiente: 58
  68. 68. 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 deoperaciones: 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 deoperaciones: Figura 6.2.3.2.1c Ventana BajaInmueble Tras esto, el inmueble seleccionado pasará al estado “retirado” y la aplicaciónvolverá al menú principal.6.2.3.3 Modificación de inmueble Esta funcionalidad realiza la operación de modificar la información disponiblesobre un inmueble, en primer lugar se carga la ventana: 59
  69. 69. 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 quehacen 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 realizanuna serie de operaciones, representadas en el siguiente diagrama: 60

×