Está en la página 1de 64

MEMORIA PFC

GESTIN COMERCIAL DE PROMOCIONES INMOBILIARIAS

INGENIERA TCNICA INFORMTICA DE GESTIN

JULIO 2008

Gestin Comercial de Promociones Inmobiliarias

Tabla de contenido
1

Introduccin ........................................................................................................................ 4

Contexto del proyecto ......................................................................................................... 4

Productos Relacionados en el Mercado............................................................................... 5


3.1

Herramientas Software Relacionadas con la comercializacin Inmobiliaria: ............. 5

PFCs de EPSEVG relacionados. ......................................................................................... 6

Toma de Requisitos ............................................................................................................. 8


5.1

Proceso de Toma de Requisitos ................................................................................... 8

5.2

Documento de Toma de Requisitos ............................................................................. 8

5.3

Requisitos Funcionales ................................................................................................ 9

5.4

Requisitos Previos No Funcionales ........................................................................... 10

Tecnologa Aplicada ......................................................................................................... 11

Metodologa utilizada ........................................................................................................ 12


7.1

El Proceso Unificado ................................................................................................. 12

Anlisis y Especificacin .................................................................................................. 15


8.1

Modelo Conceptual ................................................................................................... 15

8.2

Diagrama de Estados Piso ......................................................................................... 16

8.3

Casos de Uso ............................................................................................................. 17

8.3.1

Diagrama de Casos de Uso .................................................................................. 19

8.3.2

Aadir Clientes .................................................................................................... 20

8.3.3

Seleccionar Pisos ................................................................................................. 22

8.3.4

Generar Reserva .................................................................................................. 25

8.3.5

Generar Operacin de Venta ............................................................................... 27

8.3.6

Anular Reserva .................................................................................................... 29

PFC Ingeniera Informtica de Gestin

Pgina 2

Gestin Comercial de Promociones Inmobiliarias

8.3.7

Confirmar Operacin de Venta............................................................................ 31

8.3.8

Anular Operacin de Venta ................................................................................. 33

8.3.9

Asignar Contrato Piso .......................................................................................... 35

Diseo ............................................................................................................................... 37
9.1

Diagrama de Clases ................................................................................................... 39

9.2

Diseo de Clases........................................................................................................ 43

9.3

Diagramas de Secuencia ............................................................................................ 49

9.3.1

Seleccionar Pisos Operacin................................................................................ 49

9.3.2

Accin Crear Reserva .......................................................................................... 50

9.3.3

Accin Anular Reserva ........................................................................................ 51

9.3.4

Accin Crear Venta ............................................................................................. 52

9.3.5

Accin Confirmar Venta...................................................................................... 53

9.3.6

Accin Anular Venta ........................................................................................... 54

9.3.7

Asignar Contrato Venta ....................................................................................... 55

9.3.8

Aadir Cliente...................................................................................................... 56

9.3.9

Rellenar Encuesta ................................................................................................ 57

9.4
10

Diseo de la Capa Gestin de Datos ......................................................................... 58

Anlisis de Recursos y Costos........................................................................................... 60


10.1 Anlisis de Recursos.................................................................................................. 60
10.1.1

Informe de resumen de trabajo de los Recursos .................................................. 61

10.2 Anlisis de Costos ..................................................................................................... 62

11

10.2.1

Costos por Recurso .............................................................................................. 62

10.2.2

Tabla de costes por tipo de Recurso .................................................................... 62

10.2.3

Informe de costo previsto por fase....................................................................... 63

Conclusiones ..................................................................................................................... 64

PFC Ingeniera Informtica de Gestin

Pgina 3

Gestin Comercial de Promociones Inmobiliarias

1 Introduccin
Este aplicativo es un caso real. Se crea para cubrir una necesidad de gestin de la empresa Mixta
frica que es la filial de una de las grandes promotoras inmobiliarias catalanas, Renta
Corporacin.
Mixta frica enfoca su negocio a la construccin y venta de promociones inmobiliarias de
carcter social en pases africanos con economas poco desarrolladas.
Mi relacin con la empresa cliente empez a mediados de 2007 y desde entonces colaboro con
ellos realizando software a medida para cubrir su proceso de negocio.

2 Contexto del proyecto


La compaa cliente tiene como principal actividad la compra de terrenos para edificar bloques
de viviendas encargndose tambin del proceso de venta de las mismas (comercializacin). En
este proceso de comercializacin tambin pueden participar otras agencias externas a la empresa
a cambio de una comisin en las ventas que consigan.
Este aplicativo se desarrollo con objetivo de cumplir las especificaciones tomadas en las
reuniones mantenidas con los directivos de diferentes departamentos del cliente.
A esta compaa en un momento dado les surge la necesidad de disponer de una herramienta
para la gestin centralizada de la comercializacin de las promociones. Esta necesidad viene
provocada por los problemas con los que se encontraban con las herramientas de gestin que
utilizaban hasta ese momento (Listados de Papel, Hojas de Clculo) dado que no eran
centralizadas y se daban casos como vender un mismo piso a varios clientes, perdida e
inconsistencia de datos, falta de sincronizacin entre los usuarios, imposibilidad de disponer de
la informacin en tiempo real, etc.
Una vez finalizado el desarrollo, (septiembre de 2007) estuvo en produccin y posteriormente
evolucion a una segunda versin donde se le aadieron funcionalidades de Post-Venta y
Seguimiento Comercial, as como mejoras en la interfaz y usabilidad nacidas de la experiencia
en el uso por parte de los usuarios.
Actualmente la evolucin del aplicativo se encuentra en produccin y es usado desde 5 pases
(Marruecos, Senegal, Mauritania, Egipto, Espaa), implementado en 3 idiomas (Espaol,
Francs, Ingls) y gestionando varias promociones en cada pas.

PFC Ingeniera Informtica de Gestin

Pgina 4

Gestin Comercial de Promociones Inmobiliarias

3 Productos Relacionados en el Mercado


Antes de iniciar el proceso de desarrollo a medida, el cliente realiz una bsqueda de productos
en el mercado con las caractersticas funcionales y los requisitos no funcionales que se
demandaban.
Una de las opciones que se baraj fue la que ofrece la empresa Habitania (www.habitania.com).
sta ofrece una solucin en modo SAS (Sofware As a Service) tanto para promotores como para
constructores.
Despus de usar un acceso de demostracin a esta herramienta desistieron de adquirir esta
solucin; argumentando varios inconvenientes como la elevada curva de aprendizaje, que no
aportaba los idiomas que se demandaban junto con la dificultad de adaptabilidad a los procesos
de la compaa y la rigidez del sistema, as como la desconfianza de que los datos de sus
operaciones se encontraran en un tercero.

3.1 Herramientas Software Relacionadas con la comercializacin


Inmobiliaria:
Una parte del proyecto ha sido buscar y analizar qu productos se encuentran en el mercado
relacionados con el proceso de comercializacin en el sector inmobiliario.
http://www.gruposhebel.com/
Es una Suite completa de gestin para promociones inmobiliarias es un producto muy parecido
que incluso presenta ms funcionalidades.
Como inconvenientes podemos encontrar que nicamente se encuentra en ingls y castellano.
Como requisito funciona sobre un ERP (Enterprise Resource Planning) de propietario de esta
misma compaa, lo que supondra un cambio traumtico de toda la infraestructura de
software en la empresa cliente.
http://www.inmocomputer.com/
Es una aplicacin enfocada a pequeas inmobiliarias de barrio para gestionar su stock de
inmuebles, no para la comercializacin de promociones.
Como inconvenientes encontramos que no cubre el mismo modelo de negocio, con lo que no es
una alternativa a considerar. Se trata de un Software de escritorio, enfocado a pequeas
inmobiliarias para gestionar un stock de pisos, no cubre la comercializacin de una promocin
completa de obra nueva.
http://www.newlar.com
Se trata de un Portal de internet enfocado al pblico general donde se pueden buscar
promociones de obra nueva.
No es un software de gestin comercial sino un buscador de promociones de obra nueva.
PFC Ingeniera Informtica de Gestin

Pgina 5

Gestin Comercial de Promociones Inmobiliarias

Podemos encontrar en le mercado muchos ms productos relacionados con la comercializacin


de productos inmobiliarios pero todos se clasifican en uno de los tres tipos anteriormente
citados.

4 PFCs de EPSEVG relacionados.


Antes de comenzar este proyecto he realizado una bsqueda de proyectos con temtica similar
en el catlogo de la biblioteca y he encontrado un proyecto que trata de la gestin del stock de
pisos de una agencia inmobiliaria.
Datos del proyecto:

Projecte de fi de carrera: 1999/474.


Engnyeria tcnica en Informtica de Gesti.
InmoComp: Gesti Inmobiliaria.
Projecte de gesti duna inmobiliaria.
Autora: Guiomar Giralt Caabate.
Juny 1999.

Este proyecto es una Aplicacin de escritorio implementada en visual Basic 5.0 usando como
almacn de datos Access 97.
Se trata de un programa para gestionar la comercializacin de pisos de una pequea
inmobiliaria. Existe una diferenciacin entre clientes Vendedores que son los clientes que
acuden a la agencia para vender o alquilar un piso de su propiedad y clientes Compradores que
son los que acuden a la agencia para consultar los pisos y comprar alguno que les interese.
Las diferencias que encontramos entre este PFC y el que presento es tanto la tecnologa aplicada
como el objeto de negocio que se cubre.
Tecnolgicamente InmoComp es una aplicacin de escritorio, como repositorio de datos utiliza
Access 97 que no es propiamente un servidor de bases de datos (No admite conexiones remotas
nativas, sino que siempre se tiene que acceder mediante el acceso al sistema de ficheros), el
cdigo no est implementado usando la metodologa orientada a objetos.
Por otra parte la presente aplicacin se divide en tres capas lgicas (igual que fsicas) ya que la
capa de presentacin se encarga de la interfaz de usuario y se construye como una aplicacin
Web ASP .NET 2.0 que se procesa mediante llamadas http a un servidor IIS y se presenta la
respuesta en el navegador del cliente. La capa lgica de negocio est programada en C# 2.0 y se
compila en una librera aparte.
Por ltimo el repositorio de datos es SQL Server 2005 que s es un servidor de base de datos
propiamente dicho. Aloja las reglas que garantizan la integridad de los datos as como algn
proceso de negocio implementado como disparador que realiza volcados a histricos como la
actualizacin del histrico de tarifas cada vez que stas cambian, con objetivo de su posterior
seguimiento.

PFC Ingeniera Informtica de Gestin

Pgina 6

Gestin Comercial de Promociones Inmobiliarias

En referencia al enfoque del sector de negocio que cubren tiene en comn que los dos
pertenecen a la comercializacin de productos del sector inmobiliario.
Como diferencias mientras InmoCorp est orientada a la gestin del stock de viviendas de una
inmobiliaria intermediaria (Agencia inmobiliaria), GesPromo est orientada a cubrir la gestin
comercial de una empresa inmobiliaria promotora. Diferencindose en que en GesPromo
maneja una o varias promociones completas, pueden participar en el proceso de
comercializacin ms de una Agencia Inmobiliaria, pudiendo reservarse pisos a vender
exclusivamente por alguna de las agencias, la posibilidad de realizar la venta de varios pisos al
mismo tiempo (Muy til, por ejemplo para compras de inversores).
Como diferencia tambin podemos sealar la cuestin de que el interfaz est desarrollado para
soportar varios idiomas y culturas (formatos de moneda, fechas, etc.)
As como la restriccin de las operaciones que puede realizar un usuario en base al rol que tome
en la aplicacin, siendo estos roles totalmente parametrizables en base a dar acceso o restringir
las diferentes funcionalidades para cada uno de los roles, pudiendo crear nuevos roles
directamente desde la aplicacin en caso de ser necesarios ms perfiles que los aportados por
defecto.

PFC Ingeniera Informtica de Gestin

Pgina 7

Gestin Comercial de Promociones Inmobiliarias

5 Toma de Requisitos
5.1 Proceso de Toma de Requisitos
La toma de requisitos se realiz en dos reuniones donde participaron por parte del cliente: el
responsable del rea comercial, el departamento legal, el del departamento de construccin y el
responsable de TIC.
El proceso de toma de requisitos se basa en recoger los objetivos e intenciones que tienen los
usuarios. No hay ningn diagrama que pueda substituir la redaccin de estos objetivos. Con ello
el proceso de toma de requisitos se basa en escribir los requisitos.
En la toma de requisitos es importante centrarnos en el objetivo del usuario y la intencin con la
que se usa el sistema. Es comn cometer el error de contemplar la interfaz de usuario en la toma
de requisitos.
Como ejemplo simple podemos abordar la funcionalidad de validarse en la aplicacin.
Podramos pensar en:
Se presenta al usuario la pantalla de validacin donde introduce su nombre de usuario y su
contrasea para identificarse en la aplicacin.
En el caso anterior se hace referencia a la interfaz de usuario como Pantalla de validacin. Es
mejor describir la intencin del usuario;
El usuario se identifica en la aplicacin.
Podra ser que una vez analizada la funcionalidad necesaria se propusiese un sistema de lector
de huellas dactilares como interfaz de validacin de identidad y no una pantalla.
Es importante centrarse en los objetivos del usuario para entender las motivaciones y los
resultados que espera.

5.2 Documento de Toma de Requisitos


(Ver anexo: Toma Requisitos - Gestin Comercial Promociones).

PFC Ingeniera Informtica de Gestin

Pgina 8

Gestin Comercial de Promociones Inmobiliarias

5.3 Requisitos Funcionales


Teniendo presente que el objetivo es crear una aplicacin para la gestin de la comercializacin,
de la toma de requisitos podemos extraer la siguiente lista de requisitos funcionales.
1. Gestin Agencias
1.1. Alta Agencias
1.2. Modificacin Agencias
2. Gestin Usuarios
2.1. Alta Usuarios
2.2. Modificacin Usuarios
3. Gestin Roles
3.1. Alta Roles
3.2. Modificacin Permisos Rol
4. Gestin Promociones
4.1. Alta Promociones
4.2. Modificacin Promociones
4.3. Gestin Agencias Permitidas
4.4. Gestin Apartamentos
4.4.1. Alta Apartamentos
4.4.2. Modificacin Apartamentos
4.4.3. Adjuntar Ficheros e Imgenes
5. Gestin Tarifas
5.1. Alta Tarifas
5.2. Modificacin Tarifas
5.3. Histrico de Tarifas
6. Gestin de Clientes
6.1. Alta Clientes
6.2. Modificacin Clientes
6.3. Encuesta Marketing
7. Gestin de Operaciones Comerciales
7.1. Seleccin de Apartamentos
7.2. Reservas
7.2.1. Realizar Reservas
7.2.2. Anulacin Automtica Reservas

PFC Ingeniera Informtica de Gestin

Pgina 9

Gestin Comercial de Promociones Inmobiliarias

7.3. Ventas
7.3.1. Realizar Ventas
7.3.1.1.
Ventas Nuevas
7.3.1.2.
Ventas de Reservas
7.3.2. Cambio Tarifa Venta
7.3.3. Gestin Pagos
7.3.3.1.
Alta Pagos
7.3.3.2.
Modificacin Pagos
7.3.4. Confirmar Venta
7.3.5. Anular Venta
7.3.6. Cambiar Cliente Venta
7.3.7. Gestin de Contratos Arras
7.3.7.1.
Asignar Tipo Contrato Arras
7.3.7.2.
Impresin Contrato Arras
8. Listados e Informes
8.1. Resumen Estado Comercial Promocin
8.2. Listado Ventas
8.3. Listado Pagos por Fecha
8.4. Listado Reservas

5.4 Requisitos Previos %o Funcionales

Desarrollo Web: Por la dispersin geogrfica de los usuarios es la forma ms til de


acceso al aplicativo. Posibilitando en un futuro la adaptacin de la interfaz para
dispositivos mviles provistos con navegador web.
Multi-Cultura: El interfaz del aplicativo, textos en pantalla, literales descriptores,
calendarios, monedas, usos horarios deban de adaptarse a varios idiomas y pases, lo
que entendemos por globalizar y localizar.
Facilidad de uso y auto-gua: La aplicacin se usa en pases donde el usuario medio
tiene poca formacin y experiencia en el uso de aplicaciones informticas, se incide en
la facilidad de uso y la auto-gua del usuario por parte de la aplicacin en los procesos
de negocio.
Accesibilidad mediante permisos: Se necesitaba un sistema que permitiese flexibilidad
mxima en cuanto a restringir o autorizar a los diferentes usuarios a realizar unas
acciones y no otras.
Flexibilidad en Ampliacin de funcionalidades y modificaciones rpidas: Debido a
que era la primera vez que usaban una herramienta de gestin no tenan la experiencia
para proporcionar todos los detalles funcionales de la aplicacin. Por ello necesitaban
aadir y modificar funcionalidades segn se iban encontrando con casos de uso no
previstos.

PFC Ingeniera Informtica de Gestin

Pgina 10

Gestin Comercial de Promociones Inmobiliarias

6 Tecnologa Aplicada
Plataforma Tecnolgica: MICROSOFT .NET FRAMEWORK 2.0

Lenguaje de programacin: Se usa ASP .NET 2.0 para la interfaz web y C# 2.0 para
el desarrollo de la capa de lgica de negocio y de comunicacin con la base de datos.

Base de datos: SQL SERVER 2005 en su versin Express (Gratuita) para desarrollo y
SQL SERVER 2005 ENTERPRISE en el entorno de produccin.

Servidor Web: Internet Information Server 6 o 7.

Seguridad: Se utiliza acceso seguro usando el protocolo https implementado mediante


un certificado de servidor SSL (Secure Sockets Layer) con objetivo de proporcionar
autenticacin y privacidad mediante el uso de criptografa. La Autenticacin se obtiene
sobre el servidor (garantizando su identidad y evitando el phishing) y la privacidad se
consigue mediante los protocolos SSL de comunicacin clienteservidor que estn
diseados para prevenir escuchas. Esta implementacin de seguridad es casi obligada ya
que la aplicacin maneja datos personales sensibles. As mismo las contraseas de
usuario se guardan cifradas en la base de datos para impedir el acceso a la aplicacin
aun cuando se pudiese acceder a ver el contenido de la tabla usuarios en la base de
datos. Para intentar minimizar la posibilidad de que un intruso realice operaciones
usando la conexin ya abierta de un usuario legtimo, la caducidad de la sesin se
establece a 20 minutos.

Motivos de la eleccin a usar la plataforma .NET son:

Integracin de todas estas tecnologas bajo una herramienta comn para el diseo,
Visual Studio .NET 2005, lo que permite reducir el tiempo de codificacin.

Experiencia previa del equipo de desarrollo en esta tecnologa con lo que la curva de
aprendizaje es muy suave.

La infraestructura de TI de la empresa cliente est basada completamente en los


productos de Microsoft.

PFC Ingeniera Informtica de Gestin

Pgina 11

Gestin Comercial de Promociones Inmobiliarias

7 Metodologa utilizada
7.1 El Proceso Unificado
Para el desarrollo de este proyecto se ha seguido la metodologa conocida como Proceso
Unificado que es un ejemplo de proceso iterativo.
Este es un proceso de desarrollo de software; describe un enfoque para la construccin,
desarrollo y mantenimiento del software.
El Proceso Unificado es un ejemplo que utiliza un proceso iterativo para proyectos que utilizan
el Anlisis y Diseo Orientado a Objetos (A/DOO). Este se ha convertido en un proceso de
desarrollo de software de gran xito en la construccin de sistemas orientados a objetos.
El UP combina las prcticas comnmente aceptadas como buenas prcticas, tales como el
ciclo de vida iterativo y desarrollo dirigido por el riesgo, en una descripcin consistente y bien
documentada.
El UP fomenta muchas buenas prcticas, pero una destaca sobre las dems: el desarrollo
iterativo. En este enfoque el desarrollo se organiza en una serie de mini-proyectos cortos, de
duracin fija (por ejemplo 4 semanas) llamados iteraciones. Cada iteracin incluye sus propias
actividades de anlisis de requisitos, diseo, implementacin y pruebas. Dando como resultado
un sistema ejecutable, pero incompleto; no est preparado para ser puesto en produccin. El
sistema no podra estar listo para su puesta en produccin hasta despus de muchas iteraciones;
dependiendo de la complejidad del mismo.
El ciclo de vida iterativo se basa en la ampliacin y refinamiento sucesivos del sistema mediante
mltiples iteraciones, con retroalimentacin cclica y adaptacin como elementos primordiales
que dirigen para converger hacia un sistema adecuado al problema que se est tratando. El
sistema crece incrementalmente a lo largo del tiempo, iteracin tras iteracin, y por ello este
enfoque tambin se conoce como desarrollo iterativo e incremental.
Aunque en general cada iteracin aborda nuevos requisitos y ampla el sistema
incrementalmente, una iteracin podra, ocasionalmente, volver sobre el software que ya existe
y mejorarlo; por ejemplo mejorando el rendimiento de un subsistema en lugar de extenderlo con
nuevas caractersticas.
Las primeras ideas sobre procesos iterativos se conocieron como desarrollo en espiral y
desarrollo evolutivo [Boehm88, Gilb88].
En este proceso iterativo la idea clave es fijar la duracin de las iteraciones, generalmente
cortas (entre 2 y 6 semanas). El sistema parcial en desarrollo durante la iteracin debera
integrarse, probarse y estabilizarse en la fecha planificada. Si parece que ser difcil cumplir con
el plazo fijado, la respuesta recomendada es eliminar tareas o requisitos de la iteracin, en
incluirlos en una iteracin posterior, ms que retrasar la fecha de terminacin prevista.
Los beneficios del desarrollo iterativo incluyen:
PFC Ingeniera Informtica de Gestin

Pgina 12

Gestin Comercial de Promociones Inmobiliarias

Mitigacin tan pronto como sea posible de riesgos altos (tcnicos, requisitos, objetivos,
usabilidad y dems)

Progreso visible en las primeras etapas.

Una temprana retroalimentacin, compromiso de los usuarios y adaptacin, que nos


lleva a un sistema refinado que se ajusta ms a las necesidades reales del personal
involucrado.

Gestin de la complejidad; el equipo no se ve abrumado por la parlisis del anlisis o


pasos muy largos y complejos.

El conocimiento adquirido en una iteracin se puede utilizar metdicamente para


mejorar el propio proceso de desarrollo, iteracin a iteracin.

Conceptos y buenas prcticas del UP adicionales

Abordar cuestiones de alto riesgo y muy valiosas en las primeras iteraciones.

Involucrar continuamente a los usuarios para evaluacin, retroalimentacin y requisitos

Construir en las primeras iteraciones una arquitectura que constituya un ncleo central
consistente

Verificar la calidad continuamente; pruebas muy pronto, con frecuencia y de manera


realista.

Aplicar casos de uso.

Modelar Software visualmente con UML.

Gestionar los requisitos con cuidado.

Manejar peticiones de cambio y gestin de configuraciones.

PFC Ingeniera Informtica de Gestin

Pgina 13

Gestin Comercial de Promociones Inmobiliarias

Un proyecto que utiliza la metodologa UP organiza el trabajo y las iteraciones en cuatro fases
fundamentales.
1. Inicio: Visin aproximada, anlisis de negocio, alcance, estimaciones imprecisas.
2. Elaboracin: visin refinada, implementacin iterativa del ncleo central de la
arquitectura, resolucin de los riesgos altos, identificacin de ms requisitos y alcance,
estimaciones ms realistas.
3. Construccin: implementacin iterativa del resto de requisitos de menor riesgo y
elementos ms fciles, preparacin para el despliegue.
4. Transicin: pruebas beta, despliegue.
Esto no corresponde con el antiguo ciclo de vida en cascada o secuencial, en el que primero se
definan todos los requisitos y, despus, se realizaba todo, o la mayora del diseo.
La fase de Inicio no es una fase de requisitos; sino una especie de fase de viabilidad, donde se
lleva a cabo slo el estudio suficiente para decidir si continuar o no.
De igual modo, la fase de Elaboracin no es la fase de requisitos o de diseo; sino que es una
fase donde se implementa, de manera iterativa, la arquitectura que constituye el ncleo central y
se mitigan las cuestiones de alto riesgo.

Referencias: UML y Patrones. LARMAN, C. ISBN: 84-205-3438-2

PFC Ingeniera Informtica de Gestin

Pgina 14

Gestin Comercial de Promociones Inmobiliarias

8 Anlisis y Especificacin
8.1 Modelo Conceptual
Tarifa

Bloque

Planta

Categora

1
1

Se aplica

Contiene

Contiene

Pertenece

Contiene

Piso

Estado

Se aplica

Promocion
1

Registra Reserva De
0..1

Registra
Venta De
1

1
DetalleReserva

DetalleVenta
1
Moneda

1..*

Agencias_Promocion

1..*

Cliente

Contenida En

1
A nombre

Se realiza

A nombre

0..1

Contenida En

*
Reserva

Venta

Pagada Mediante
1

Pago

*
Realiza

Realiza

1
Agencia

Contiene
1

Usuario

PFC Ingeniera Informtica de Gestin

Rol
*

Pgina 15

Gestin Comercial de Promociones Inmobiliarias

8.2 Diagrama de Estados Piso

PFC Ingeniera Informtica de Gestin

Pgina 16

Gestin Comercial de Promociones Inmobiliarias

8.3 Casos de Uso


Los casos de uso son un artefacto de la especificacin UML, desempean un papel importante
en cuanto nos dan la visibilidad de las operaciones que se requiere que realice el sistema desde
el punto de vista de los actores. Los casos de uso se extraen del texto donde hemos recogido los
requisitos durante las reuniones con el cliente, identificando las operaciones que realizan los
actores junto con la intencin u objetivo con el que lo hacen. Nos permite identificar las
interacciones con el sistema y los lmites del mismo.
Un actor es cualquier cosa con comportamiento, incluyendo el sistema que se est estudiando
cuando solicita los servicios de otros sistemas. Los actores no son solamente roles que juegan
personas, sino tambin organizaciones, software y mquinas. Se pueden clasificar en tres tipos.

Actor Principal: Tiene objetivos de usuario que se satisfacen mediante el uso de los
servios del Sistema en Discusin (SeD).

Actor de Apoyo: Proporciona un servicio al SeD como por ejemplo informacin (Podra
ser un servicio de informacin en tiempo real de las cotizaciones de las divisas, para
calcular los importes en diferentes monedas). Normalmente se trata de un sistema
informtico, pero podra ser una organizacin o una persona.

Actor Pasivo: est interesado en el comportamiento del caso de uso pero no participa
activamente. No es principal ni de apoyo, por ejemplo podra ser la Agencia Tributaria
del Estado.

Los actores que correspondan con usuarios los indicaremos con el dibujo de un mueco,
mientras que los Sistemas Externos los identificaremos situando el nombre del sistema dentro
de un rectngulo indicando el estereotipo <<actor>>.

En el sistema en desarrollo no existe ningn actor que sea un sistema externo. Pero si
diferenciaremos entre dos tipos de usuarios.

Actor Usuario: El actor usuario es el que usa la aplicacin como herramienta para
desarrollar su actividad comercial.

Actor Administrador: Es el usuario que configura la aplicacin creando nuevas


promociones, administrando los usuarios y las agencias comerciales, etc.

Realizando la extraccin desde el texto buscamos los verbos que denotan uso, o interaccin con
el sistema. As tenemos la siguiente lista de casos de uso.
PFC Ingeniera Informtica de Gestin

Pgina 17

Gestin Comercial de Promociones Inmobiliarias

Usuario Comercial

Aadir Clientes

Realizar Encuesta

Seleccionar Pisos

Generar Reserva

Generar Operacin de Venta

Anular Reserva

Confirmar Operacin de Venta

Anular Operacin de Venta

Asignar Contrato

Actor Administrador

Gestionar Promociones

Gestionar Usuarios

Gestionar Agencias

Gestionar Roles

PFC Ingeniera Informtica de Gestin

Pgina 18

Gestin Comercial de Promociones Inmobiliarias

8.3.1 Diagrama de Casos de Uso


Sistema
uses
Aadir Cliente

Encuesta

uses

Generar Operacin
de Venta

uses

Seleccionar Pisos
uses
Generar Reserva

Anular Reserva

Usuario

Confirmar
Operacin Venta

Anular Operacion
Venta

Asignar Contrato
Piso

Gestionar Usuarios

Gestionar Agencias

Administrador
Gestionar Roles
Gestionar
Promociones

PFC Ingeniera Informtica de Gestin

Pgina 19

Gestin Comercial de Promociones Inmobiliarias

8.3.2 Aadir Clientes


Caso de Uso: Aadir Clientes
Actores: Usuario
Tipo: Primario
Descripcin: Este caso de uso corresponde con el proceso de creacin y mantenimiento de los
datos de los posibles clientes.
Requisitos: En caso de Alta de Cliente, disponer de los datos obligatorios referentes al cliente.
Escenario principal de xito:
Acciones de los Actores

Respuesta del Sistema

1. El usuario indica que desea crear un


nuevo cliente.

2. El sistema le muestra el formulario de


introduccin de los datos del cliente.

3. El usuario introduce los datos del


cliente.

4. El sistema comprueba que se han


introducido los datos obligatorios.
5. El sistema registra el nuevo cliente.
6. El sistema le muestra al usuario el
formulario de la encuesta de
marketing.

7. El usuario rellena el formulario de


encuesta con las respuestas del
cliente.

8. El Sistema registra los datos de la


encuesta.

9. El sistema muestra un listado de


clientes.

PFC Ingeniera Informtica de Gestin

Pgina 20

Gestin Comercial de Promociones Inmobiliarias

Diagrama Secuencia de Sistema

Sistema
Usuario
crearCliente()

Formulario nuevo Cliente

IntroducirDatosCliente(datosCliente)

presentar Encuesta

RellenarEncuesta()

Lista de clientes

PFC Ingeniera Informtica de Gestin

Pgina 21

Gestin Comercial de Promociones Inmobiliarias

8.3.3 Seleccionar Pisos


Caso de Uso: Seleccionar Pisos
Actores: Usuario
Tipo: Primario
Descripcin: Este caso de uso corresponde con el proceso de seleccionar los pisos (llenar la
Cesta) con los que se quiere realizar una operacin de compra o de reserva. Solo se pueden
seleccionar los pisos que estn en estado Disponible y que no tengan agencia propietaria
asignada, en caso de que tengan una agencia propietaria asignada sta debe ser a la que
pertenezca el usuario que est realizando la seleccin. El funcionamiento debe ser como una
cesta de la compra Pudiendo agregar y quitar de la seleccin y cancelar la cesta en cualquier
momento.
Requisitos: Este caso de uso requiere tener permisos para seleccionar pisos. No tener ninguna
seleccin en curso.
Escenario principal de xito:
Acciones de los Actores

Respuesta del Sistema

1. El usuario le indica al Sistema que


desea iniciar una seleccin de pisos
para una operacin de Reserva o PreVenta.

2. El sistema muestra al usuario un


listado con todos los pisos de la
promocin.

3. El usuario selecciona el piso que


desee el cliente. (debe estar en estado
disponible de la lista y que no tenga
agencia propietaria o bien si la tiene
sea a la que pertenece el usuario)

4. Se aade el piso a la cesta. El usuario


repite los pasos 3 y 4 hasta completar
la seleccin con todos los pisos que
formarn parte de la operacin.

5. El Sistema muestra un resumen de los


pisos seleccionados y le pide al
usuario que escoja el cliente para el
cual se realiza la operacin.
6. El usuario pide el listado de clientes

7. El sistema muestra un listado de


clientes y permite la seleccin de
cualquiera de ellos.

8. El usuario selecciona el cliente al que


se le reservan o realizan la operacin
de venta de los pisos seleccionados

9. El sistema le muestra los datos


detallados del cliente para que
complete los datos obligatorios y
repase que sean correctos, en .

PFC Ingeniera Informtica de Gestin

Pgina 22

Gestin Comercial de Promociones Inmobiliarias

10. El usuario completa y valida los datos


del cliente seleccionado.

11. El sistema muestra un resumen de los


datos del cliente validado y pide que
se escoja la operacin a Realizar.
[Reserva, Pre-Venta]

12. El usuario introduce las observaciones


que crea oportunas y escoge la
operacin que desea realizar con los
pisos seleccionados.

Extensiones:
8a. Creacin del cliente en el momento de la eleccin de los pisos.
1. El cliente no est introducido en el sistema y el usuario le pide al sistema crear un nuevo
cliente.
2. El sistema le muestra al usuario el formulario para introducir un nuevo cliente.
3. El Usuario rellena el formulario con los datos del cliente y acepta los datos.
4. El sistema registra el nuevo cliente y le muestra al usuario el listado de clientes en el
que aparecer el nuevo cliente.
5. El usuario selecciona el cliente recin creado al que se le van a reservar o pre-vender los
pisos.
11a. Introduccin del Comercial que realiza la venta.
1. El Sistema muestra un resumen de los datos del cliente validado y pide que se indique el
comercial que ha realizado la operacin.
2. El usuario escoge la agencia y el usuario al que se le atribuir la operacin de Reserva o
Pre-venta que se va a realizar.

PFC Ingeniera Informtica de Gestin

Pgina 23

Gestin Comercial de Promociones Inmobiliarias

Diagrama de Secuencia del Sistema

Sistema
Usuario

NuevaCesta()

aadirPisoCesta()
descripcion, totales

aceptarCesta()
Resumen Cesta
seleccionarClienteCesta()
formulario datos cliente

validarDatosCliente()
escoge Operacion

PFC Ingeniera Informtica de Gestin

Pgina 24

Gestin Comercial de Promociones Inmobiliarias

8.3.4 Generar Reserva


Caso de Uso: Generar Reserva
Actores: Usuario
Tipo: Primario
Descripcin: Este caso de uso corresponde con el proceso de realizar una reserva de pisos a
nombre de un cliente a espera de que aporte el comprobante de pago de las arras.
Requisitos: Este caso de uso requiere tener permisos para reservar pisos. Es necesario haber
realizado el caso de uso Seleccionar pisos.
Escenario principal de xito:
Acciones de los Actores
10. El usuario le indica al Sistema que
desea realizar una reserva con la
seleccin de pisos en curso y a
nombre del cliente indicado.

Respuesta del Sistema


11. El sistema registra la reserva de los
pisos seleccionados a nombre del
cliente indicado en la seleccin.

12. Cambia el estado de los pisos a


Reservado.
13. Muestra los datos de la reserva
registrada.

Escenario Alternativo:
2a. Se produce un error por el cambio de estado de uno de los pisos seleccionados.
1. El sistema detecta que uno de los pisos de la cesta han cambiado.
2. El sistema muestra un mensaje de error en la operacin de reserva y cancela la seleccin
de los pisos.
3. Vuelve a la pantalla del listado de pisos de la promocin

PFC Ingeniera Informtica de Gestin

Pgina 25

Gestin Comercial de Promociones Inmobiliarias

Diagrama de Secuencia del Sistema

Sistema
Usuario
generarReserva(Cesta,Cliente)

mostrar reserva

PFC Ingeniera Informtica de Gestin

Pgina 26

Gestin Comercial de Promociones Inmobiliarias

8.3.5 Generar Operacin de Venta


Caso de Uso: Generar operacin de Venta.
Actores: Usuario
Tipo: Primario
Descripcin: Este caso de uso corresponde con el proceso de crear una operacin de venta de
pisos a nombre de un cliente donde se deben registrar los datos del pago de arras.
Requisitos: Este caso de uso requiere tener permisos para Pre-Vender pisos. Es necesario
disponer de una Cesta de pisos con uno o ms pisos.
Escenario principal de xito:
Acciones de los Actores

Respuesta del Sistema

1. El usuario le indica al Sistema que


desea realizar una operacin de Venta
con la seleccin de pisos en curso y a
nombre del cliente indicado.

2. El sistema pide los datos del pago por


cantidad correspondiente a la suma
del importe de las arras de cada uno
de los pisos que forman parte de la
operacin de venta a realizar.

3. El usuario introduce los datos del


pago de las arras de la operacin y los
acepta.

4. El Sistema registra la operacin de


venta de los pisos a nombre del
cliente seleccionado.
5. Se cambia el estado de los pisos que
han participado en la operacin a PreVenta.
6. Muestra los datos de la pre-venta
recin realizada.

Escenario Alternativo:
2a. Se produce un error por el cambio de estado de uno de los pisos seleccionados.
4. El sistema detecta que uno de los pisos de la cesta ha cambiado.
5. El sistema muestra un mensaje de error en la operacin de pre-venta y cancela la
seleccin de los pisos.
6. Vuelve a la pantalla del listado de pisos de la promocin.
Diagrama de Secuencia del Sistema

PFC Ingeniera Informtica de Gestin

Pgina 27

Gestin Comercial de Promociones Inmobiliarias

Sistema
Usuario
OperacionVenta()

Calcular total pago arras

introducirPago()

generarOperacinVenta(Cesta,Cliente,Pago)

mostrar operacin Venta

PFC Ingeniera Informtica de Gestin

Pgina 28

Gestin Comercial de Promociones Inmobiliarias

8.3.6 Anular Reserva


Caso de Uso: Anular Reserva
Actores: Usuario
Tipo: Primario
Descripcin: Este caso de uso corresponde con el proceso cancelar una reserva ya formalizada.
Requisitos: Este caso de uso requiere tener permisos para Anular Reserva. Es necesario que la
reserva est realizada anteriormente.
Escenario principal de xito:
Acciones de los Actores

Respuesta del Sistema

1. El usuario accede a la reserva


realizada.

2. El sistema muestra la reserva.

3. El usuario cancela la reserva.

4. El sistema marca la reserva como


anulada.
5. El sistema cambia el estado de los
pisos reservados en la operacin de
reserva a su estado inicial.
6. El sistema muestra la reserva como
anulada.

PFC Ingeniera Informtica de Gestin

Pgina 29

Gestin Comercial de Promociones Inmobiliarias

Diagrama de Secuencia de Sistema

PFC Ingeniera Informtica de Gestin

Pgina 30

Gestin Comercial de Promociones Inmobiliarias

8.3.7 Confirmar Operacin de Venta


Caso de Uso: Confirmar operacin de venta
Actores: Usuario
Tipo: Primario
Descripcin: Este caso de uso corresponde con el proceso de formalizar una operacin de venta
que se encuentra en estado de Pre-Venta una vez se ha comprobado que el pago de las arras se
ha hecho efectivo, de este modo la operacin de venta pasa de estado Pre-Venta a Venta.
Requisitos: Este caso de uso requiere tener permisos para Confirmar Operaciones de Venta. Es
necesario que la operacin de venta est realizada anteriormente y se encuentre en estado de
Pre-Venta.
Escenario principal de xito:
Acciones de los Actores

Respuesta del Sistema

1. El usuario accede a la operacin de


venta que desea confirmar.

2. El sistema muestra la operacin de


Venta.

3. El usuario Confirma que se ha


recibido el pago de parte del cliente
con el importe de las arras de la
operacin de Venta.

4. El sistema Registra el movimiento de


Confirmacin de la operacin de
venta.

5. El sistema cambia el estado de los


pisos reservados en la operacin Preventa a Venta.
6. El sistema muestra la operacin de
venta como confirmada.

PFC Ingeniera Informtica de Gestin

Pgina 31

Gestin Comercial de Promociones Inmobiliarias

Diagrama de Secuencia de Sistema

Sistema
Usuario
seleccionarVenta(Venta)

mostrar operacion Venta

confirmarVenta(Venta)

mostrar operacion Venta confirmada

PFC Ingeniera Informtica de Gestin

Pgina 32

Gestin Comercial de Promociones Inmobiliarias

8.3.8 Anular Operacin de Venta


Caso de Uso: Anular operacin de venta
Actores: Usuario
Tipo: Primario
Descripcin: Este caso de uso corresponde con el proceso de anular una operacin de venta.
Requisitos: Este caso de uso requiere tener permisos para Anular Operaciones de Venta. Es
necesario que la operacin de venta est realizada anteriormente y no est anulada.
Escenario principal de xito:
Acciones de los Actores

Respuesta del Sistema

1. El usuario accede a la Operacin de


Venta que desea anular.

2. El sistema muestra la operacin de


Venta.

3. El usuario Confirma que desea anular


esta operacin de Venta.

4. El sistema Registra el movimiento de


anulacin de la operacin de venta.
5. El sistema cambia el estado de los
pisos reservados en la operacin de
Venta a su estado inicial.
6. El sistema muestra la operacin de
venta como anulada.

PFC Ingeniera Informtica de Gestin

Pgina 33

Gestin Comercial de Promociones Inmobiliarias

Diagrama de Secuencia de Sistema

Sistema
Usuario
seleccionarVenta(Venta)

mostrar operacion Venta

anualarVenta(Venta)

mostrar operacion Venta Anulada

PFC Ingeniera Informtica de Gestin

Pgina 34

Gestin Comercial de Promociones Inmobiliarias

8.3.9 Asignar Contrato Piso


Caso de Uso: Asignar Contrato Piso
Actores: Usuario
Tipo: Primario
Descripcin: Este caso de uso corresponde con la accin de Asignar el tipo de contrato de Arras
al piso vendido y confirmado.
Requisitos: Este caso de uso requiere tener permisos para Asignar Contratos. Es necesario que
la operacin de venta est realizada anteriormente y est en estado Venta Confirmada.
Escenario principal de xito:
Acciones de los Actores

Respuesta del Sistema

1. El usuario accede a la Operacin de


Venta donde se encuentra el piso a
asignar contrato.

2. El sistema muestra la operacin de


Venta.

3. El usuario selecciona el piso de la


venta al que desea asignar el contrato.

4. El sistema muestra los tipos de


contrato existentes para la promocin.

5. El usuario escoge el tipo de contrato


que desea asignar al piso y aade las
observaciones oportunas.

6. El sistema asigna o cambia el contrato


al que haya asignado el usuario a este
piso.
7. El sistema muestra el tipo de contrato
en la operacin para este piso y
permite su impresin.

8. El usuario pide la impresin del


contrato asignado.

PFC Ingeniera Informtica de Gestin

9. El sistema devuelve el modelo del


contrato rellenado con los datos
referentes a la operacin.

Pgina 35

Gestin Comercial de Promociones Inmobiliarias

Diagrama de Secuencia del Sistema

Sistema
Usuario
seleccionarVenta(Venta)

muestra detalle venta

seleccionarContrato(DetalleVenta)

tipos de contrato promocin

asignarContrato(DetalleVenta,Contrato)

muestra detalle venta

imprimirContrato(DetalleVenta)

contrato impreso cumplimentado

PFC Ingeniera Informtica de Gestin

Pgina 36

Gestin Comercial de Promociones Inmobiliarias

9 Diseo
La fase de diseo se encarga de trasladar desde el enfoque centrado en los requisitos del
Anlisis a un enfoque centrado en el diseo de una solucin que satisfaga estos requisitos.

Para llegar a obtener un diseo que hace lo correcto se desarrolla una solucin lgica basada en
el paradigma orientado a objetos. Lo esencial de esta solucin es la creacin de los diagramas de
interaccin que representan el modo en que los objetos colaboran para satisfacer los requisitos.

En paralelo con la creacin de los diagramas de interaccin (diagramas de secuencia y


diagramas de colaboracin), se crear el diagrama de clases. stos resumen la definicin de las
clases software que se van a implementar en el software.

La creacin de los diagramas de interaccin requiere la aplicacin de los principios para la


asignacin de responsabilidades y el uso de los principios y patrones de diseo.

La asignacin de responsabilidades nos indica que clases se tienen que encargar de realizar que
acciones y no otras. As como los patrones de diseo nos aportan soluciones bien conocidas a
problemas recurrentes durante el diseo de aplicaciones software.

En cuanto a los diagramas de interaccin tenemos dos tipos:

Diagramas de colaboracin: Ilustran las relaciones entre objetos en una forma de grafo o
red, en el cual los objetos se pueden colocar en cualquier lugar del diagrama.

Diagramas de secuencia: ilustran las interacciones en un tipo de formato con el aspecto


de una valla, en el que cada objeto se aade a la derecha.

PFC Ingeniera Informtica de Gestin

Pgina 37

Gestin Comercial de Promociones Inmobiliarias

Cada uno de estos dos tipos de diagramas tienen sus puntos fuertes y sus puntos dbiles:

Tipo
Secuencia

Puntos fuertes

Puntos dbiles

Muestra claramente la secuencia u


ordenacin en el tiempo de los mensajes.

Fuerza a extender por la derecha


cuando se aaden nuevos objetos;
consume espacio horizontal.

Notacin simple.
Colaboracin Economiza espacio, flexibilidad al aadir
nuevos objetos en dos dimensiones.
Es mejor para ilustrar bifurcaciones
complejas, iteraciones y comportamiento
concurrente.

Difcil ver la secuencia de los


mensajes.
Notacin ms compleja.

Dado que en este proyecto no se dan bifurcaciones complejas ni demasiadas iteraciones se opta
por usar los diagramas de secuencia.

PFC Ingeniera Informtica de Gestin

Pgina 38

9.1 Diagrama de Clases

CULTURAS_VO

Entiende

0..*

-agencia
-rol
-nombre
-telefono
-email
-fax
-persona_contacto
-telefono2
-fechaalta

AGENCIAS_VO

1..*
Pertenece

PFC Ingeniera Informtica de Gestin

-cod_idioma
-nombre

-usuario
-agencia
-rol
-cod_idioma
-nombre
-email
-apellido
-login
-password
-telefono1
-telefono2
-fax
-fecha_alta
-fecha_baja
-activo
+permisos

USUARIOS_VO

0..*

Accede Como
1

Pgina 40

-permiso
-nombre
-descripcion

PERMISOS_VO

1..*
Se configura

-permisos_rol
-rol
-permiso
-concedido

PERMISOS_ROL_VO

1..*

Tiene Acceso

-rol
-nombre
-descripcion

ROLES_VO

Gestin Comercial de Promociones Inmobiliarias

PFC Ingeniera Informtica de Gestin

Pgina 41

Gestin Comercial de Promociones Inmobiliarias

PFC Ingeniera Informtica de Gestin

Pgina 42

Gestin Comercial de Promociones Inmobiliarias

9.2 Diseo de Clases

Gestin Comercial de Promociones Inmobiliarias

Culturas
-_culturasAdapter : CULTURASTableAdapter = null
#Adapter() : CULTURASTableAdapter
+GetCulturas() : CULTURASDataTable

PFC Ingeniera Informtica de Gestin

Pgina 44

Pisos

-_pisosViewAdapter : PISOS_VIEWTableAdapter = null


-_pisosAdapter : PISOSTableAdapter = null
-_reservasAdapter : RESERVASTableAdapter = null
-_detalleReservaAdapter : DETALLE_RESERVATableAdapter = null
-_ventasAdapter : VENTASTableAdapter = null
-_detalleventaAdapter : DETALLE_VENTATableAdapter = null
-_tarifaPisoAdapter : TARIFAS_PISOSTableAdapter = null
-_movVentasAdapter : MOV_VENTASTableAdapter = null
-_adjuntosPisosAdapter : ADJUNTOS_PISOSTableAdapter = null
#pisosViewAdapter() : PISOS_VIEWTableAdapter
#pisosAdapter() : PISOSTableAdapter
#reservasAdapter() : RESERVASTableAdapter
#detalleReservaAdapter() : DETALLE_RESERVATableAdapter
#ventasAdapter() : VENTASTableAdapter
#movVentasAdapter() : MOV_VENTASTableAdapter
#detalleVentaAdapter() : DETALLE_VENTATableAdapter
#tarifaPisoAdapter() : TARIFAS_PISOSTableAdapter
#adjuntosPisosAdapter() : ADJUNTOS_PISOSTableAdapter
+GetPisosViewByPromocion(entrada Promocion : long, entrada Idioma : string) : PISOS_VIEWDataTable
+GetPisosViewByPromocionBloque(entrada Promocion : long, entrada Bloque : string, entrada Idioma : string) : PISOS_VIEWDataTable
+GetPisosViewByPiso(entrada Piso : long, entrada Idioma : string) : PISOS_VIEWDataTable
+GetPisosViewByPisoRow(entrada Piso : long, entrada Idioma : string) : PISOS_VIEWRow
+GetPisos() : PISOSDataTable
+GetPisoByPiso(entrada Piso : long) : PISOSRow
+ReservarPiso(entrada Reserva : RESERVAS_VO, entrada Piso : long) : bool
-RellenarFila(entrada reserva : RESERVAS_VO, entrada reservaRow : RESERVASRow) : RESERVASRow
-RellenarFila(entrada venta : VENTAS_VO, entrada ventaRow : VENTASRow) : VENTASRow
-RellenarFila(entrada movVenta : MOV_VENTAS_VO, entrada movVentaRow : MOV_VENTASRow) : MOV_VENTASRow
+CrearReserva(entrada reserva : RESERVAS_VO, entrada pisos : PISOS_VIEWRow[]) : RESERVAS_VO
+GetPisosViewByReserva(entrada Reserva : long, entrada Idioma : string) : PISOS_VIEWDataTable
+GetTarifaPisoActiva(entrada Piso : long) : TARIFAS_PISOSRow
+CrearVenta(entrada venta : VENTAS_VO, entrada movVenta : MOV_VENTAS_VO, entrada pisos : PISOS_VIEWRow[]) : VENTAS_VO
+CrearVentaDeReserva(entrada Reserva : long, entrada venta : VENTAS_VO, entrada movVenta : MOV_VENTAS_VO, entrada pisos : PISOS_VIEWRow[]) : VENTAS_VO
+confirmarVenta(entrada Venta : long, entrada usuario : USUARIOS_VO, entrada Observaciones : string) : bool
+anularVenta(entrada Venta : long, entrada usuario : USUARIOS_VO, entrada Observaciones : string) : bool
+cambiarClienteVenta(entrada Venta : long, entrada nuevoCliente : long, entrada usuario : USUARIOS_VO, entrada Observaciones : string) : bool
+cambiarContratosVenta(entrada Venta : long, entrada nuevasTarifas : ArrayList, entrada usuario : USUARIOS_VO, entrada Observaciones : string) : bool
+cambiarTarifaVenta(entrada Venta : long, entrada nuevasTarifas : ArrayList, entrada usuario : USUARIOS_VO, entrada Observaciones : string) : bool
+EscriturarPiso(entrada Piso : long) : bool
+EscriturarParcialVenta(entrada Venta : long, entrada usuario : USUARIOS_VO, entrada Pisos : ArrayList, entrada Observaciones : string) : bool
+ObtenerAdjuntosPiso(entrada Piso : long) : ADJUNTOS_PISOSDataTable
-TraspasarAdjuntoPisoAAdjuntoPisoRow(entrada adjunto : ADJUNTOS_PISOS_VO, entrada adjuntoRow : ADJUNTOS_PISOSRow) : ADJUNTOS_PISOSRow
+CrearAdjuntoPiso(entrada AdjuntoPiso : ADJUNTOS_PISOS_VO) : bool
+EliminarAdjuntoPiso(entrada AdjuntoPiso : ADJUNTOS_PISOS_VO) : bool
+CrearVenta(entrada venta : VENTAS_VO, entrada movVenta : MOV_VENTAS_VO, entrada pisos : PISOS_VIEWRow[], entrada pago : MOV_PAGOS_VO) : VENTAS_VO
+CrearVentaDeReserva(entrada Reserva : long, entrada venta : VENTAS_VO, entrada movVenta : MOV_VENTAS_VO, entrada pisos : PISOS_VIEWRow[], entrada pago : MOV_PAGOS_VO) : VENTAS_VO
+CambiarEstadoPiso(entrada Estado : ESTADOS_VO) : Pisos

Usuarios
-_usuariosAdapter : USUARIOSTableAdapter = null
#Adapter() : USUARIOSTableAdapter
+GetUsuarios() : USUARIOSDataTable
+GetUsuarioByLogin(entrada Login : string, entrada Pass : string) : USUARIOSRow
+GetUsuarioByPrimaryKey(entrada Usuario : long) : USUARIOSRow
+GetUsuarioByUsuario(entrada Usuario : long) : USUARIOSDataTable
+GetUsuario_ViewByPrimaryKey(entrada Usuario : long) : USUARIOS_VIEWRow
+GetUsuarioViewByPrimaryKey(entrada Usuario : long) : USUARIOS_VIEWDataTable
+GetUsuarios_ViewByAgencia(entrada Agencia : long) : USUARIOS_VIEWDataTable
-traspasarUsuarioAUsuarioRow(entrada usuario : USUARIOS_VO, entrada usuarioRow : USUARIOSRow)
-traspasarUsuarioRowAUsuario(entrada usuarioRow : USUARIOSRow, entrada usuario : USUARIOS_VO)
+UpdateUsuario(entrada Original_Usuario : USUARIOS_VO, entrada Usuario : USUARIOS_VO) : bool
+InsertUsuario(entrada Usuario : USUARIOS_VO) : long
+ChangeUsuarioActivo(entrada Usuario : USUARIOS_VO) : bool
+validarLogin(entrada login : string, entrada password : string) : USUARIOS_VO

Promocion
-_bloquesAdapter : BLOQUESTableAdapter = null
-_promocionesAdapter : PROMOCIONESTableAdapter = null
-_promocionesViewAdapter : PROMOCIONES_VIEWTableAdapter = null
-_totalPisosPromocionViewAdapter : TOTAL_PISOS_PROMOCION_VIEWTableAdapter = null
#bloquesAdapter() : BLOQUESTableAdapter
#promocionesAdapter() : PROMOCIONESTableAdapter
#promocionesViewAdapter() : PROMOCIONES_VIEWTableAdapter
#totalPisosPromocionViewAdapter() : TOTAL_PISOS_PROMOCION_VIEWTableAdapter
+GetBloquesByPromocion(entrada Promocion : long) : BLOQUESDataTable
+GetPromociones() : PROMOCIONESDataTable
+GetPromocionesPermitidasByAgenciaAsignada(entrada Agencia : long) : PROMOCIONESDataTable
+GetPromocionesByAgenciaAsignadaActiva(entrada Agencia : long) : PROMOCIONESDataTable
+GetPromocionesByAgenciaAsignada(entrada Agencia : long) : PROMOCIONESDataTable
+NumeroDePromocionesParaAgencia(entrada Agencia : long) : int
+GetPromocion(entrada Promocion : long) : PROMOCIONESDataTable
+GetPromocionesView(entrada Idioma : string) : PROMOCIONES_VIEWDataTable
+GetPromocionView(entrada Idioma : string, entrada Promocion : long) : PROMOCIONES_VIEWDataTable
-RellenarFila(entrada Promocion : PROMOCIONES_VO, entrada PromocionRow : PROMOCIONESRow) : PROMOCIONESRow
+ActualizarPromocion(entrada Promocion : PROMOCIONES_VO) : bool
+InsertarPromocion(entrada Promocion : PROMOCIONES_VO) : bool
+TotalPisosPromocion(entrada Promocion : long) : long

Reservas
-_reservasAdapter : RESERVASTableAdapter
-_reservasViewAdapter : RESERVAS_VIEWTableAdapter
-_detalleReservaViewAdapter : DETALLE_RESERVA_VIEWTableAdapter
#reservasAdapter() : RESERVASTableAdapter
#reservasViewAdapter() : RESERVAS_VIEWTableAdapter
#detalleReservaViewAdapter() : DETALLE_RESERVA_VIEWTableAdapter
+CalcularCaducidad(entrada hoy : DateTime, entrada dias : double) : DateTime
+GetReservasViewByPrimaryKey(entrada Reserva : long) : RESERVAS_VIEWDataTable
+GetReservasViewByAgenciaPromocion(entrada Agencia : long, entrada Promocion : long) : RESERVAS_VIEWDataTable
+GetReservasViewByPromocion(entrada Promocion : long) : RESERVAS_VIEWDataTable
+anularReserva(entrada Reserva : long)
+GetDetalleReservaViewByPisoActiva(entrada Piso : long) : DETALLE_RESERVA_VIEWDataTable

Gestin Comercial de Promociones Inmobiliarias

9.3 Diagramas de Secuencia


9.3.1 Seleccionar Pisos Operacin

: Cesta
: Usuario

: Pisos

: Clientes

Cesta

AddPiso
GetPisosViewByPiso

Seleccionar Cliente
ObtenerClientes
Cliente
Mostrar Detalle Cesta

PFC Ingeniera Informtica de Gestin

Pgina 49

Gestin Comercial de Promociones Inmobiliarias

9.3.2 Accin Crear Reserva

PFC Ingeniera Informtica de Gestin

Pgina 50

Gestin Comercial de Promociones Inmobiliarias

9.3.3 Accin Anular Reserva

PFC Ingeniera Informtica de Gestin

Pgina 51

Gestin Comercial de Promociones Inmobiliarias

9.3.4 Accin Crear Venta

: Cesta
: Usuario

: Pisos

: Clientes

: Pagos

: Ventas

Cesta
AddPiso
GetPisosViewByPiso:=GetPisosViewByPiso(Piso, Idioma)

ObtenerClientes:=ObtenerClientes()
ObtenerClienteByPrimaryKey:=ObtenerClienteByPrimaryKey(Cliente)
NuevoPagoVenta:=NuevoPagoVenta(pago)
CrearVenta:=CrearVenta(venta, movVenta, pisos, pago)
Mostrar Detalle Venta

PFC Ingeniera Informtica de Gestin

Pgina 52

Gestin Comercial de Promociones Inmobiliarias

9.3.5 Accin Confirmar Venta

: Ventas

: Pisos

: Usuario

GetVentasViewByPrimaryKey:=GetVentasViewByPrimaryKey(Idioma, Venta)

confirmarVenta:=confirmarVenta(Venta, usuario, Observaciones)


CambiarEstadoPiso:=CambiarEstadoPiso(Estado)

GetMovimientosVentasView:=GetMovimientosVentasView(Idioma)
Venta Confirmada

PFC Ingeniera Informtica de Gestin

Pgina 53

Gestin Comercial de Promociones Inmobiliarias

9.3.6 Accin Anular Venta

PFC Ingeniera Informtica de Gestin

Pgina 54

Gestin Comercial de Promociones Inmobiliarias

9.3.7 Asignar Contrato Venta

PFC Ingeniera Informtica de Gestin

Pgina 55

Gestin Comercial de Promociones Inmobiliarias

9.3.8 Aadir Cliente

: Clientes
: Usuario

NuevoCliente()

Mostrar Formulario Cliente

InsertarCliente:=InsertarCliente(Cliente)

traspasarClienteAClienteRow:=traspasarClienteAClienteRow(Cliente, ClienteRow)

Mostrar Detalle Reserva

PFC Ingeniera Informtica de Gestin

Pgina 56

Gestin Comercial de Promociones Inmobiliarias

9.3.9 Rellenar Encuesta

PFC Ingeniera Informtica de Gestin

Pgina 57

Gestin Comercial de Promociones Inmobiliarias

9.4 Diseo de la Capa Gestin de Datos


El diseo de la capa de gestin de datos se ha realizado utilizando los servicios de persistencia
que ofrece el Framework de Visual Studio 2005. Este se basa en objetos DataSet fuertemente
tipados (un DataTable por cada tabla y vista). Estos objetos no ofrecen el acceso a datos
utilizando el paradigma de Orientacin a Objetos sino que usan un acceso tabular a los mismos.
Estos DataSet fuertemente tipados se generan automticamente mediante el diseador de
objetos de acceso a datos que provee Visual Studio 2005. En este diseador se arrastran las
entidades (Tablas y Vistas) desde una conexin a la base de datos y este genera
automticamente una clase que hereda de DataTable que contiene mtodos con las funciones
CRUD (Create, Read, Update and Delete), crear un nuevo registro en la entidad, seleccionar
todos los registros de la entidad, actualizar un registro y borrar el registro. Se pueden ampliar
los mtodos de seleccin, creando nuevos mtodos a partir de sentencias de SQL con las
clausulas de filtrado que convengan.
Estos DataTable tipados contienen una coleccin de objetos que heredan de DataRow que
representan las filas de la tabla o vista y proporcionan acceso a los atributos de cada fila de
forma individual.
Al tratarse de un entorno multiusuario tenemos que controlar los posibles accesos concurrentes
a los datos. Para este propsito existen 2 mtodos:
1. Concurrencia Optimista: Se comprueba que los datos que se van a modificar no los han
modificado antes otros usuarios.
2. Concurrencia Pesimista: Se bloquean las filas para impedir que los usuarios
modifiquen los datos y que otros usuarios queden afectados.
En este caso hemos elegido el mtodo de Concurrencia Optimista debido a que no existe una
alta contencin de datos, y se estima que los casos de conflicto no se producirn
recurrentemente, Adems, al contrario que el mtodo por concurrencia pesimista, no necesita
conexiones permanentes a la base de datos con el consiguiente ahorro de recursos y ahorrando
complejidad en el desarrollo.

PFC Ingeniera Informtica de Gestin

Pgina 58

Gestin Comercial de Promociones Inmobiliarias

Como alternativas a esta implementacin existen otros frameworks de acceso a datos integrados
con la tecnologa .Net que si que cumplen el paradigma de orientacin a objetos y se conocen
como OR/M (Object Relational Mapping), como muestra podemos encontrar una amplia
comparativa realizada sobre distintos OR/M disponibles para la plataforma .NET de Microsoft
en http://c2.com/cgi/wiki?ObjectRelationalToolComparisonDotNet .
Como ejemplo citaremos dos de ellos:
NHibernate (http://nhibernate.sourceforge.net): Es Open Source y es una portabilidad a
.Net del conocido OR/M de Java Hibernate.
LLBLGen Pro (http://www.llblgen.com). Es un OR/M de cdigo cerrado y de pago en
su versin Professional. Existe una versin recortada gratuita.
LINQ to SQL (http://msdn.microsoft.com/en-us/library/bb425822.aspx): Este OR/M
est disponible con la versin 3.5 del Framework .NET y completamente integrado
con las herramientas de diseo de aplicaciones Visual Studio 2005 (mediante un
plugin) y de forma nativa en el reciente Visual Studio 2008.

PFC Ingeniera Informtica de Gestin

Pgina 59

Gestin Comercial de Promociones Inmobiliarias

10 Anlisis de Recursos y Costos


10.1 Anlisis de Recursos
Dado que se usa una metodologa iterativa donde en cada iteracin es necesario retomar y
extender las tareas tanto de anlisis como de diseo, implementacin y pruebas, vamos a tener
que usar los recursos especializados en cada tarea de forma recurrente durante la vida del
proyecto.
En los proyectos que siguen la metodologa del Proceso Unificado existen estudios sobre la
dedicacin de los recursos en cada una de las tareas (Anlisis, diseo, implementacin y
pruebas) para cada una de las fases que componen el desarrollo del proyecto.

En el grfico podemos apreciar el nivel de uso que se suele tener de media en los proyectos que
usan la metodologa Proceso Unificado.
Vemos que el mayor esfuerzo en las tareas de Modelado y Anlisis se sitan en las primeras
fases del proyecto, as como las tareas de implementacin se mantienen bastente estables
durante toda la duracin del proyecto.
Para este proyecto, que no es demasiado complejo, se han utilidado los siguientes recursos
humanos: un Jefe de proyecto, un Analista Funcional, un Analista Orgnico y un programador;
junto con un tcnico de sistemas que realizar la implantacin y configuracin de los sistemas
en el entorno de produccin.
La duracin del proyecto se planifica para un total de 57 das laborables.
(Ver Anexo: Planificacin Temporal Fases y Recursos)
PFC Ingeniera Informtica de Gestin

Pgina 60

10.1.1

Informe de resumen de trabajo de los Recursos

Este informe se ha realizado considerando una disponibilidad de 8 horas diarias por recurso y
teniendo en cuenta toda la duracin del proyecto.

10.2 Anlisis de Costos


Una vez llevada a cabo la estimacin de tiempos y recursos necesarios para el diseo,
implementacin y despliegue del proyecto debemos calcular el coste del mismo con objetivo de
presentarle al cliente un plan de actuacin, unas fechas de entrega y una volaracin econmica
del coste que le va a suponer.
Para realizar la estimacin se va a utilizar el metodo de valorar el precio por hora de cada
recurso y multiplicarlo por el tiempo en horas que est previsto que invertir en el proyecto.

10.2.1

Costos por Recurso

Se han estimado los costos por recurso en relacin al precio ofertado a los clientes por empresas
consultoras. El coste sera menor en caso de que el proyecto lo realizase un equipo FreeLancer
o una pequea empresa.

10.2.2

Tabla de costes por tipo de Recurso

Tipo Recurso

Coste Hora

Coste Hora Extra

Jefe de Proyecto

100,00 /hora

120,00 /hora

Analista Funcional

90,00 /hora

105,00 /hora

Analista Orgnico

80,00 /hora

95,00 /hora

Programador

60,00 /hora

70,00 /hora

Admin. Sistemas

80,00 /hora

95,00 /hora

Se han estimado las siguientes horas totales por recurso:


Jefe de Proyecto: 68 horas * 100 /hora = 680
Analista funcional: 130 horas * 90 /hora = 11.700
Analista organico: 128 horas * 80 /hora = 10.240
Programador: 320 horas * 60 /hora = 19.200
Sistemas: 16 horas * 80 /hora = 1.280
Coste total del proyecto = 43.100

10.2.3

Informe de costo previsto por fase

11 Conclusiones
Una vez finalizado el desarrollo y puesto en produccin se detectan reas del proceso de
comercializacin que claramente que se pueden incluir en las funcionalidades de la misma.
Como ampliaciones se proponen:

Gestin de las reclamaciones que puedan surgir por parte de los clientes o de la propia
promotora en cuanto a los acabados o defectos detectados en los apartamentos.

Gestin ms detallada del proceso de venta una vez se ha formalizado el contrato de


Arras; como un seguimiento de la documentacin que debe aportar el cliente, citas con
el notario y el banco en caso de tratarse de una financiacin hipotecaria. Reclamaciones
comerciales del cliente.

Realizar un almacn de datos DatawareHouse para explotarlos desde el punto de vista


de la directiva, lo que se conoce como Business Intelligence.

Implementar la reserva de pisos desde dispositivos mviles.

Integracin con otros sistemas empresariales como el de contabilidad mediante


estndares de la industria.

He de indicar que desde el proceso de modelado de dominio, diseo e implementacin se ha


utilizado una metodologa aplicada al paradigma de Orientacin a Objetos. Estos mtodos y sus
herramientas no son los que se impartan en la carrera de Informtica de Gestin cuando cursaba
las asignaturas relacionadas. Para la confeccin de este proyecto he utilizado los conocimientos
sobre A/DOO que he adquirido por auto-formacin durante el desarrollo de mi carrera
profesional.

También podría gustarte