Este documento describe un proyecto de fin de carrera para el desarrollo de una herramienta de gestión inmobiliaria. El proyecto consiste en dos aplicaciones: una aplicación de escritorio y una aplicación móvil. La aplicación de escritorio permitirá a los administradores y empleados gestionar los inmuebles y empleados de la agencia inmobiliaria. La aplicación móvil permitirá a los empleados introducir y gestionar información sobre los inmuebles desde dispositivos móviles. El proyecto util
Contratos bancarios en Colombia y sus carcteristicas
Gestión inmobiliaria
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