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:


                                                                    Fecha
Hito                                             Días               inicio       Fecha Fin
Estudio de tecnologías                           10 days              01/10/07     14/10/07
Análisis de requerimientos                       13 days              15/10/07     31/10/07
Diseño Externo                                   22 days              01/11/07     30/11/07
Diseño Interno                                   44 days              03/12/07     31/01/08
Estudios de técnicas de diseño y programación    53 days              01/02/08     15/04/08
Programación                                     65 days              16/04/08     15/07/08
Pruebas unitarias                                13 days              16/07/08     01/08/08
Pruebas de integración                           10 days              04/08/08     15/08/08
Documentación                                    229 days             15/10/07     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:


                                                                        Jefe de
                                                  Horas Totales         Proy         Analista      Programador
Estudio de tecnologías                                          40               2            12             26
Análisis de requerimientos                                      52             2,6          15,6           33,8
Diseño Externo                                                  88             4,4          26,4           57,2
Diseño Interno                                                176              8,8          52,8          114,4
Estudios de técnicas de diseño y programación                 212             10,6          63,6          137,8
Programación                                                  260               13            78            169
Pruebas unitarias                                               52             2,6          15,6           33,8
Pruebas de integración                                          40               2            12             26
Documentación                                                114,5           5,725         34,35         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:


                                                                        Jefe de
                                                  Horas Totales         Proyecto     Analista       Programador
Estudio de tecnologías                                          40              85           330            520
Análisis de requerimientos                                      52             221           858           1352
Diseño Externo                                                  88             374          1452           2288
Diseño Interno                                                176              748          5808           4576
Estudios de técnicas de diseño y programación                 212           225,25         874,5           1378
Programación                                                  260             1105          2145           6760
Pruebas unitarias                                               52             221           858           1352
Pruebas de integración                                          40             170           660           1040
Documentación                                                114,5       121,65625      472,3125          744,25
                                                  Total por rol         3270,90625 13457,8125           20010,25
                                                                                   Total
                                                                                   proyecto          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.5-
    inch, 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

Más contenido relacionado

PPT
Prototipado del software
PPT
Ejemplo rup
PPTX
Analisis y Diseños de Sistemas 2-Metodologia OOSE
PDF
Modelo de prototipo
DOC
Ejemplo plan de desarrollo de software rup
PPTX
PDF
Arquitectura Del Computador
PDF
Ingenieria de Software-Somerville.pdf
Prototipado del software
Ejemplo rup
Analisis y Diseños de Sistemas 2-Metodologia OOSE
Modelo de prototipo
Ejemplo plan de desarrollo de software rup
Arquitectura Del Computador
Ingenieria de Software-Somerville.pdf

La actualidad más candente (20)

PDF
2.modelos del proceso
DOCX
Gestores de bases de datos cuadros comparativos
PPTX
1-Unidad 1. Arquitectura de Diseño
PDF
Consideraciones para elegir un buen DBMS
DOCX
Unidad 3 graficacion
PDF
Patrones de diseño de GoF
DOCX
Informe v2.1 Base de Datos II - Proyecto TodoAutos : venta de carros del año
PPTX
Metodología RUP
PPTX
Importancia del análisis de requerimientos
PDF
Análisis de arquitecturas de software
PDF
Caracteristicas de los simuladores
PPTX
Diagramas de estados
PPT
Diseño a Nivel de Componentes
PPTX
INGENIERIA DE SOFTWARE - METODOLOGIA SCRUM, EJEMPLO PRACTICO, t3
PPTX
Estados y transiciones de los procesos
PPTX
Estimación de costo de software
PDF
Modelos de desarrollo del software
DOCX
INVESTIGACIÓN DE CHIPSET
PDF
7.modelado de los requerimientos escenarios y clases
2.modelos del proceso
Gestores de bases de datos cuadros comparativos
1-Unidad 1. Arquitectura de Diseño
Consideraciones para elegir un buen DBMS
Unidad 3 graficacion
Patrones de diseño de GoF
Informe v2.1 Base de Datos II - Proyecto TodoAutos : venta de carros del año
Metodología RUP
Importancia del análisis de requerimientos
Análisis de arquitecturas de software
Caracteristicas de los simuladores
Diagramas de estados
Diseño a Nivel de Componentes
INGENIERIA DE SOFTWARE - METODOLOGIA SCRUM, EJEMPLO PRACTICO, t3
Estados y transiciones de los procesos
Estimación de costo de software
Modelos de desarrollo del software
INVESTIGACIÓN DE CHIPSET
7.modelado de los requerimientos escenarios y clases
Publicidad

Destacado (20)

DOCX
Diagrama de casos de uso
PPT
Manual del Panel de gestion Red de asociaciones
DOC
Diagramas De Casos De Uso
PDF
Creando un servicio SOAP en Java con NetBeans
PDF
Attention Deficit Hyperactivity Disorder (NIMH)
PDF
Ecopower : Domestic Riello UPS Reseller And Distributor
PPTX
COMPARTAMOS VIDA
PDF
Blue Perfection
PDF
David leonardo briceño moreno 03
PDF
Chat, Social, Email....Getting Engagement Right in the Contact Centre
PDF
Boletín Comunitario La Unión - 3ra edición Octubre Noviembre - 2012
PDF
Merkel u ring-tm-23
PDF
You speak-greek-you-just-don-t-know-it
PPTX
Presentación iii sem 2013 1
PPT
Investigación para el desarrollo de la Agricultura CIRAD
PDF
Welcome to the Worm Factory: Instruction Manual
PPSX
Ingresos residuales
PDF
Debating in the Curriculum - Jessica Dix
PDF
Geneva Hackerspace
PPT
Lanbide heziketa 11 12(2011-02-29)
Diagrama de casos de uso
Manual del Panel de gestion Red de asociaciones
Diagramas De Casos De Uso
Creando un servicio SOAP en Java con NetBeans
Attention Deficit Hyperactivity Disorder (NIMH)
Ecopower : Domestic Riello UPS Reseller And Distributor
COMPARTAMOS VIDA
Blue Perfection
David leonardo briceño moreno 03
Chat, Social, Email....Getting Engagement Right in the Contact Centre
Boletín Comunitario La Unión - 3ra edición Octubre Noviembre - 2012
Merkel u ring-tm-23
You speak-greek-you-just-don-t-know-it
Presentación iii sem 2013 1
Investigación para el desarrollo de la Agricultura CIRAD
Welcome to the Worm Factory: Instruction Manual
Ingresos residuales
Debating in the Curriculum - Jessica Dix
Geneva Hackerspace
Lanbide heziketa 11 12(2011-02-29)
Publicidad

Similar a Inmobiliario java (20)

PDF
Mariannysbermudez ing
PDF
Tesis de Magister
DOCX
Proyecto softpyme informe analisis
PDF
Mcvs ad-06 plan general del proyecto
PDF
Cesar prado ing
DOCX
tutorial de informatica
PDF
Practicas de Observacion
PDF
Reporte Técnico de Prácticas de Observación Guiadas
 
DOCX
Plantilla para administracion de proyectos FichitasSoft
DOCX
Estructura organizacional
PDF
ingenieria de software
PDF
Gestion de contenido multimedia
PDF
Alfredo garcia ing.pdf
PDF
Proyecto de XP06/M2121/02158 dirección de sistemas de información
PDF
Diplomado En Diseno Y Administracion De Redes Empresariales 2009 2010
DOCX
TUTORIAL DE INFORMATICA
DOCX
TUTORIALES DE INFORMATICA
DOCX
IIA_AA_4_2_GeJoAl.docx
PPTX
Elionor Herrera (Cumaná Estado Sucre)
PPTX
Presentacion.
Mariannysbermudez ing
Tesis de Magister
Proyecto softpyme informe analisis
Mcvs ad-06 plan general del proyecto
Cesar prado ing
tutorial de informatica
Practicas de Observacion
Reporte Técnico de Prácticas de Observación Guiadas
 
Plantilla para administracion de proyectos FichitasSoft
Estructura organizacional
ingenieria de software
Gestion de contenido multimedia
Alfredo garcia ing.pdf
Proyecto de XP06/M2121/02158 dirección de sistemas de información
Diplomado En Diseno Y Administracion De Redes Empresariales 2009 2010
TUTORIAL DE INFORMATICA
TUTORIALES DE INFORMATICA
IIA_AA_4_2_GeJoAl.docx
Elionor Herrera (Cumaná Estado Sucre)
Presentacion.

Último (20)

PPT
Estudio de la administracion publica.ppt
DOCX
ANALISIS PESTEL, PEGAMENTO PARA ACABADOS RUSTICOS (3).docx
PPTX
capitulo 1 fundamentos teoricos de la economia internacional1.pptx
PPTX
II Guerra Mundial ybygygygigggiiggi.pptx
PPT
Clase de administracion 1.3, Planificacion (3).ppt
PPTX
Fundamentos-de-Estadistica-Fuentes-de-Datos-Variables-y-Tipos-de-Datos.pptx
PPTX
Plan nacional de desarrollo bolivia- PND- PRESENTACION.pptx
PPTX
PAQUETES CONTABLES Y TRIBUTARIOS 1.pptx
PPTX
Diapositivas capacitación contable 2019 -SILSA -Ok Ok.pptx
PPTX
EXTENSION UNMSM UNIVERSITARIA - GRUPO 7.pptx
PDF
MERCADOS_FINANCIEROS_Y_ESTRATEGIA_FINANC.pdf
PPTX
Clase 5 (1).pptxClase 4_sec_A economia gerencial maestria en gestion tributaria.
DOCX
GRANDES ECONOMISTAS (III/IV). JOHN KENNETH GALBRAITH, EL CRÍTICO DE LA OPULE...
PDF
Dialnet-LaEconomiaYSuRelacionConElMarketing-6197598.pdf
PPTX
Presentacion Final de Auditoria II [Autoguardado].pptx
PDF
MODELIZACION EN PROGRAMACION LINEAL. TEMA 2
PPTX
612746432-semxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxinario-saneamiento-e-higiene-...
PDF
Parte_1_Presentacion_Taller_Uso_de_Envases_yEmbalajes_b.pdf
PPTX
LA GUAJIRA ggggggggggggggggggggggggggggggggggggggggggggggggggggggg
PPTX
Enfermedades infecciosas fisiopatologia).pptx
Estudio de la administracion publica.ppt
ANALISIS PESTEL, PEGAMENTO PARA ACABADOS RUSTICOS (3).docx
capitulo 1 fundamentos teoricos de la economia internacional1.pptx
II Guerra Mundial ybygygygigggiiggi.pptx
Clase de administracion 1.3, Planificacion (3).ppt
Fundamentos-de-Estadistica-Fuentes-de-Datos-Variables-y-Tipos-de-Datos.pptx
Plan nacional de desarrollo bolivia- PND- PRESENTACION.pptx
PAQUETES CONTABLES Y TRIBUTARIOS 1.pptx
Diapositivas capacitación contable 2019 -SILSA -Ok Ok.pptx
EXTENSION UNMSM UNIVERSITARIA - GRUPO 7.pptx
MERCADOS_FINANCIEROS_Y_ESTRATEGIA_FINANC.pdf
Clase 5 (1).pptxClase 4_sec_A economia gerencial maestria en gestion tributaria.
GRANDES ECONOMISTAS (III/IV). JOHN KENNETH GALBRAITH, EL CRÍTICO DE LA OPULE...
Dialnet-LaEconomiaYSuRelacionConElMarketing-6197598.pdf
Presentacion Final de Auditoria II [Autoguardado].pptx
MODELIZACION EN PROGRAMACION LINEAL. TEMA 2
612746432-semxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxinario-saneamiento-e-higiene-...
Parte_1_Presentacion_Taller_Uso_de_Envases_yEmbalajes_b.pdf
LA GUAJIRA ggggggggggggggggggggggggggggggggggggggggggggggggggggggg
Enfermedades infecciosas fisiopatologia).pptx

Inmobiliario java

  • 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. 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
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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
  • 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 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
  • 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 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
  • 14. 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
  • 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 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
  • 16. 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
  • 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 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
  • 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 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
  • 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 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
  • 20. 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
  • 21. 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
  • 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 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
  • 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 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
  • 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 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
  • 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 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
  • 26. 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
  • 27. 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
  • 28. 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
  • 29. 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
  • 30. 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
  • 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 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
  • 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 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
  • 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 Usuario Administrador: Figura 4.2.1.3 Actor Administrador Empleado de oficina: 24
  • 34. 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
  • 35. 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
  • 36. 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
  • 37. 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
  • 38. 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
  • 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 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
  • 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 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
  • 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 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
  • 42. 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
  • 43. 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
  • 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 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
  • 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 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
  • 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 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
  • 47. 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
  • 48. 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
  • 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 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
  • 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 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
  • 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, 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
  • 52. 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
  • 53. 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
  • 54. 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
  • 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 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
  • 56. 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
  • 57. 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
  • 58. 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
  • 59. 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
  • 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 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
  • 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 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
  • 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 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
  • 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 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
  • 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á 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
  • 65. 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
  • 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 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
  • 67. 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
  • 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 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
  • 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 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
  • 70. 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
  • 71. 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
  • 72. 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
  • 73. 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
  • 74. 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
  • 75. 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
  • 76. 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
  • 77. 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
  • 78. 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
  • 79. 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
  • 80. 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
  • 81. 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
  • 82. 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
  • 83. 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
  • 84. 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
  • 85. 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
  • 86. 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
  • 87. 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
  • 88. 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
  • 89. 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
  • 90. 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
  • 91. 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
  • 92. 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
  • 93. 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: Fecha Hito Días inicio Fecha Fin Estudio de tecnologías 10 days 01/10/07 14/10/07 Análisis de requerimientos 13 days 15/10/07 31/10/07 Diseño Externo 22 days 01/11/07 30/11/07 Diseño Interno 44 days 03/12/07 31/01/08 Estudios de técnicas de diseño y programación 53 days 01/02/08 15/04/08 Programación 65 days 16/04/08 15/07/08 Pruebas unitarias 13 days 16/07/08 01/08/08 Pruebas de integración 10 days 04/08/08 15/08/08 Documentación 229 days 15/10/07 28/08/08 Figura 8.1.1 Planificación 84
  • 94. 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
  • 95. 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: Jefe de Horas Totales Proy Analista Programador Estudio de tecnologías 40 2 12 26 Análisis de requerimientos 52 2,6 15,6 33,8 Diseño Externo 88 4,4 26,4 57,2 Diseño Interno 176 8,8 52,8 114,4 Estudios de técnicas de diseño y programación 212 10,6 63,6 137,8 Programación 260 13 78 169 Pruebas unitarias 52 2,6 15,6 33,8 Pruebas de integración 40 2 12 26 Documentación 114,5 5,725 34,35 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: Jefe de Horas Totales Proyecto Analista Programador Estudio de tecnologías 40 85 330 520 Análisis de requerimientos 52 221 858 1352 Diseño Externo 88 374 1452 2288 Diseño Interno 176 748 5808 4576 Estudios de técnicas de diseño y programación 212 225,25 874,5 1378 Programación 260 1105 2145 6760 Pruebas unitarias 52 221 858 1352 Pruebas de integración 40 170 660 1040 Documentación 114,5 121,65625 472,3125 744,25 Total por rol 3270,90625 13457,8125 20010,25 Total proyecto 36738,9688 Figura 8.2.2 Tabla costes por rol 86
  • 96. 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
  • 97. 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.5- inch, 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
  • 98. 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
  • 99. 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
  • 100. 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
  • 101. 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
  • 102. 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
  • 103. 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
  • 104. 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
  • 105. 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
  • 106. 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
  • 107. 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
  • 108. 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
  • 109. 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
  • 110. 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
  • 111. 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
  • 112. 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
  • 113. 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
  • 114. 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
  • 115. 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
  • 116. 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
  • 117. 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
  • 118. 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
  • 119. 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
  • 120. 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
  • 121. 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
  • 122. 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
  • 123. 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
  • 124. 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
  • 125. 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
  • 126. 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
  • 127. 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
  • 128. 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
  • 129. 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
  • 130. 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
  • 131. 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
  • 132. 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
  • 133. 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
  • 134. 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
  • 135. 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
  • 136. 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
  • 137. 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
  • 138. 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