Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ndice
Pag.
1. Introduccin...............................................................................................1 2. Problema inicial.........................................................................................2 3. Objetivos...................................................................................................3 4. Planificacin del proyecto acadmico.......................................................4 5. Revisin e investigacin............................................................................6 6. Propuesta tcnica.......................................................................................7 6.1. Introduccin.........................................................................................7 6.2. Objetivos del sistema...........................................................................8 6.3. Alcance del sistema.............................................................................9 6.3.1. Diagrama de contexto.......................................................10 6.3.2. Requisitos de datos...........................................................11 6.3.3.Requisitos funcionales......................................................14 6.4. Tecnologa a emplear para desarrollar el sistema.............................23 6.4.1. Arquitectura final del sistema...........................................24 6.5. Planificacin temporal del proyecto..................................................25 6.6. Presupuesto del proyecto...................................................................28 7. Desarrollo del sistema.............................................................................29 7.1. Anlisis del sistema...........................................................................29 7.1.1. Introduccin.......................................................................29 7.1.2. Anlisis del sistema: DFD.................................................30 7.1.2.1. DFD de nivel 1.....................................................30 7.1.2.2. DFD de nivel 2.....................................................32 7.1.3. Anlisis del sistema: MCD................................................36 7.2. Diseo del sistema.............................................................................45
7.2.1. Base de datos: inmobiliaria................................................45 7.2.1.1. Diseo lgico........................................................45 7.2.1.2. Diseo Fsico. Tablas...........................................47 7.2.2. Interfaces de usuario..........................................................50 7.2.2.1. Funcionamiento global.........................................50 7.2.2.2. Diagrama de jerarqua de pantallas......................51 7.2.2.3. Capturas de pantalla y especificacin de las mismas..............................................................................................53 7.3. Programacin. Diseo estructurado de la aplicacin........................73 7.3.1. Interaccin entre los mdulos............................................73 7.3.2. Realizacin de los casos de prueba...................................79 8. Conclusiones y trabajo futuro..................................................................81 9. Bibliografa..............................................................................................82
1-. Introduccin.
Este documento forma parte del trabajo realizado en la asignatura de Proyectos Informticos de Gestin, correspondiente al ltimo curso de la titulacin universitaria de Ingeniera Tcnica en Informtica de Gestin cursada en la Universidad Jaime I de Castelln. Junto a esta memoria, tambin se entrega una demo que se presenta como el resultado final de todo el estudio efectuado, reflejado en estas pginas, y el esfuerzo dedicado a la realizacin del proyecto. Por esto, en este escrito se reflejan todas las actividades realizadas para llevar a cabo la construccin de la aplicacin web: desde la propuesta tcnica inicial hasta la implementacin final, con los resultados de las pruebas includas. Estas actividades constituyen el proceso de desarrollo de cualquier sistema informtico y se agrupan en cuatro fases: - Definicin de requisitos: En esta fase, se identificarn cada una de las necesidades de las personas que harn uso de nuestro sistema una vez se implante y se encuentre en funcionamiento. - Anlisis del sistema: La tarea principal de esta fase es transformar la definicin de requisitos en una especificacin del sistema, teniendo en cuenta adems, factores como la poltica de la empresa y las restricciones y necesidades particulares del entorno. - Diseo del sistema informtico: En esta tercera fase, se definirn los datos de entrada, la informacin de salida, los procesos que se han de llevar a cabo para satisfacer los requisitos y las restricciones que se tienen que tener en cuenta. - Implementacin: La ltima fase tiene como objetivo escribir el cdigo de todos los procesos, construir las bases de datos y la realizacin de pruebas. Pero adems de estos cuatro apartados, en esta memoria tambin se incluyen varios captulos ms, tales como los objetivos que se pretenden alcanzar con la realizacin del proyecto, la planificacin del mismo, revisin e investigacin, conclusiones y trabajo futuro y una bibliografa. A medida que se presenten estas secciones, se especificar su contenido. Por ltimo aadir que, para escribir este documento, no solo se han puesto en prctica todos los conocimientos adquiridos en las diferentes asignaturas cursadas durante el periodo universitario, si no que tambin se ha utilizado la informacin recogida de diversos manuales, en los cuales se explicaba, de forma sencilla, todos los conceptos que se necesitaban para abordar con garantias el problema inicialmente planteado.
3-. Objetivos.
En este captulo se pretende ofrecer al lector los objetivos marcados inicialmente. Cabe distinguir entre dos tipos de objetivos, los objetivos personales y los objetivos del sistema; en este apartado nos centraremos en los primeros, ya que, ms adelante, en la seccin donde se detalla la propuesta tcnica ( captulo 5 ), nos referiremos a los segundos. Ante la realizacin de un proyecto son muchos los objetivos que se marcan inicialmente, sin embargo no todos son igual de importantes. El objetivo principal ( aparte de aprobar la asignatura ) es el demostrarse a uno mismo el hecho de ser capaz de resolver un problema de dificultad media con todas las herramientas y conocimientos que se han ido adquiriendo con el paso de las asignaturas, y si no, tener la habilidad necesaria para buscar y encontrar manuales que nos ayuden a conseguirlo. Por este motivo, nuestro fin ser encontrar la solucin al problema planteado inicialmente. Tras este objetivo principal, podemos deducir varios objetivos secundarios. A continuacin se enumeran algunos. Uno de estos objetivos secundarios es la consolidacin de los conocimientos, aplicndolos globalmente ante una situacin real en la que se nos pide el desarrollo de un proyecto. Esto se debe al hecho de tener que repasar todo lo estudiado para utilizarlo correctamente. Con la realizacin de este trabajo, tambin se pretende aprender nuevos conceptos necesarios para llevar a cabo el desarrollo del mismo. Esto nos introduce en la realidad, ya que en la mayora de proyectos en los que se participe, se tendrn que aplicar conocimientos que no se tienen, por lo que tener la capacidad para bscar la informacin que se necesita, es bsico. Otro de estos objetivos es descubrir nuevas herramientas. A lo largo de la carrera, se han visto numerosas herramientas que ayudan al informtico a llevar a cabo con xito cualquier proyecto, sin embargo, es ahora cuando se tiene la oportunidad de valorar por uno mismo si verdaderamente, esas herramientas son tiles y satisfacen nuestras necesidades. Si esto no es as, nos veremos obligados a buscar otras aplicaciones que se adapten mejor a nuestros intereses. Y por ltimo, apoyar el uso del software libre, ya que resultar muy beneficioso el hecho de disminuir costes al no tener que pagar licencias y favorecer el desarrollo de ms herramientas libres. Por estos dos motivos se fomentar el uso de este tipo de software.
del
proyecto
En este captulo se trata la previsin del coste temporal del proyecto que se realiza. sto ayuda a estimar los recursos y el tiempo que se utilizar para desarrollar la aplicacin, as como los costes. Ms adelante, en el captulo 5, se sita una lista, con su respectivo diagrama de Gantt, en la que se detalla con precisin la estimacin del tiempo dedicado a cada actividad. En este punto solo se ofrece una visin global de las tareas realizadas a lo largo del curso. En esta planificacin, destacan cinco fechas en las cuales se efecta la entrega del trabajo que se va realizando. As pues, el desarrollo completo del proyecto, se dividir en cuatro partes centrales que coinciden con las cuatro fases comentadas en la Introduccin y que constituyen el proceso de desarrollo de cualquier sistema informtico, ms otras dos que especificamos a continuacin: 1-. Estudio inicial del problema. En esta parte se asentaron las bases del proyecto, ya que las tareas realizadas aportaron la informacin necesaria para entender el problema planteado inicialmente. 2-. Propuesta tcnica. Este fue el primer entregable que se realiz y tuvo lugar en la primera semana de Noviembre. Las actividades que se llevaron a cabo permitieron detallar, entre otros aspectos, los requisitos del sistema. Los puntos tratados son: - Objetivos del sistema. - Alcance del sistema. - Tecnologa a emplear para desarrollar el sistema. - Planificacin temporal del proyecto. - Presupuesto del proyecto 3-. Anlisis del sistema. Este fue el segundo entregable que se realiz y tuvo lugar el 10 de Enero. Las activiades que se llevaron a cabo permitieron obtener una especificacin del sistema. Los puntos tatados son: - Anlisis del sistema: DFD - Anlisis del sistema: MCD 4-. Diseo del sistema. Este fue el tercer entregable que se realiz y tuvo lugar el 21 de Marzo. Los puntos tratados son: - Especificacin de la base de datos - Interfaces de usuario
5-. Implementacin. Este fue el cuarto y ltimo entregable que se realiz y tuvo lugar el 13 de Mayo. Las actividades que se llevaron a cabo fueron la codificacin de las funciones php, la creacin de las pginas web y la realizacin de las pruebas. Los puntos tratados son: - Diagrama de estructuras. - Especificacin de los mdulos. - Especificacin de los casos de prueba. 6-. Realizacin de la memoria. ltima parte en la que se recopila y se revisa la informacin descrita en los apartados anteriores con la finalidad de elaborar la memoria final que se entrega el 8 de Julio.
10
A todo esto, hay que aadir que lo que se pretende es hacer un software de calidad, por lo que hay que tener en cuenta lo siguiente: El software debe de ser fiable, seguro y robusto: Debemos de tener la seguridad de que la aplicacin no va a fallar en ningn momento y que no existirn perdidas de datos; para ello realizaremos todas las pruebas oportunas. El software debe de ser eficiente: Se tienen que cumplir las funciones requeridas sin malgastar los recursos de los ordenadores en los que va a funcionar nuestra aplicacin. El software no debe de ser difcil de mantener: la aplicacin deber de estar documentada y realizada de forma que los posibles cambios puedan realizarse con los mnimos costes posibles. El software ha de proporcionar una interfaz sencilla y fcil de usar: Es importante que facilite al mximo la comunicacin del usuario con la aplicacin.
11
12
Datos-Inmuebles Datos-Clientes
Empleado
Datos-Visitas
DatosEmpleados
0
Informacion-Inmuebles
Gestion de la inmobiliaria
InformacionEmpresa
Consulta-Inmuebles
Cliente
Como bien indica el ttulo, en este grfico se pretende mostrar el DFD de contexto. En l, se observan dos entidades ( los cuadrados con los nombres de Empleado y Cliente ) que interactan entre s mediante un proceso (el crculo con el nombre de Gestin de la inmobiliaria ). Este crculo representa lo que ms adelante ser la aplicacin web que se desea construir, y si bien ahora no muestra ningn detalle, a medida que se realice el proyecto, se desarrollar. El esquema muestra que los empleados introducen en el sistema informtico los datos de los inmuebles, de los clientes, de las visitas y de los propios empleados. Para poder meter estos datos fcilmente, el sistema proporciona unos formularios que deben de ser rellenados por los empleados. Tambin se observa que los propios empleados introducen un login y un password mediante otro formulario y que reciben un informe sobre las visitas a las que tienen que acudir cada da. Por otra parte, se muestra que los clientes reciben la informacin de la empresa y de los inmuebles de la base de datos, y que realizan consultas sobre los propios inmuebles. sto lo hacen mediante la pgina web de la empresa.
13
1) Inmuebles. IRQ-<A01> Versin Autores Descripcin Datos especficos Informacin de inmuebles 1 (2 / 11 / 04) Sergio Garcia Blanco El sistema tendr que almacenar la informacin correspondiente a los inmuebles de la empresa: - Cdigo - Calle - Nmero - Cdigo postal - Poblacin - Provincia - Tamao (m2) - Altura - Antigedad - Precio - N Habitaciones - N Baos - Tipo - Terraza (s/n) - Balcn (s/n) - Ascensor (s/n) Medio Mximo Indefinido Indefinido Medio Mximo
5000
Imprescindible Alta
10000
14
2) Clientes. IRQ-<A02> Versin Autores Descripcin Datos especficos Informacin de clientes 1 (2 / 11 / 04) Sergio Garcia Blanco El sistema tendr que almacenar la informacin correspondiente a los clientes de la inmobiliaria: - Nombre - Apellidos - Calle - Nmero - Cdigo postal - Localidad - Provincia - DNI - Fecha nacimiento - Telfono - Tipo (propietario o comprador) Si es propietario: - Cdigo del inmueble Medio Mximo Indefinido Indefinido Medio 5000 Imprescindible Alta Mximo 10000
Tiempo de vida Ocurrencias Simultaneas Importancia Estabilidad 3) Empleados. IRQ-<A03> Versin Autores Descripcin
Informacin de empleados 1 (2 / 11 / 04) Sergio Garcia Blanco El sistema tendr que almacenar la informacin correspondiente a los distintos empleados de la empresa:
15
Datos especficos
Tiempo de vida Ocurrencias Simultaneas Importancia Estabilidad 4) Visitas. IRQ-<A04> Versin Autores Descripcin
- Nombre - Apellidos - Calle - Nmero - Cdigo postal - Localidad - Provincia - DNI - Fecha nacimiento - Localidad de nacimiento - Provincia de nacimiento - Telfono - Login - Password Medio Mximo Indefinido Indefinido Medio 10 Imprescindible Alta Mximo 50
Datos especficos
Informacin de las visitas 1 (2 / 11 / 04) Sergio Garcia Blanco El sistema tendr que almacenar la informacin correspondiente a las visitas que los clientes harn a los pisos acompaados de los empleados de la inmobiliaria: - DNI del cliente - Inmueble a visitar - Fecha - Hora - DNI del empleado - Estado de la visita ( pendiente, cancelada, realizada ) - Observaciones de la visita Medio Mximo Indefinido Indefinido Medio 100000 Imprescindible Alta Mximo 1000000
16
Precondicin
Baja de los inmuebles 1 (2 / 11 / 04) Sergio Garcia Blanco El sistema deber de permitir el borrado de inmuebles que tengamos registrados. IRQ-<A01> Informacin inmuebles En este proceso se dar de baja un inmueble. Cuando el piso ya est borrado, daremos de baja al cliente propietario del mismo, lo cual indica que tras el proceso de baja de inmuebles, se ejecuta automticamente el proceso de baja de clientes Para el borrado de un inmueble hemos de comprobar anteriormente que ese piso se encuentra registrado.
17
Secuencia normal
P1-> Comprobar que el inmueble se encuentra registrado P2-> Borrar los datos del inmueble P3-> Borrar las visitas Pendientes a ese inmueble Una vez se hayan borrado los datos del piso, se borrarn los datos del propietario del inmueble Que el inmueble no est registrado 3 veces/da Imprescindible Alta
FRQ-<A03> Versin Autores Objetivos Requisitos asociados Descripcin Precondicin Secuencia normal Postcondicin Excepciones Frecuencia esperada Importancia Estabilidad
Modificacin de los inmuebles 1 (2 / 11 / 04) Sergio Garcia Blanco El sistema deber de permitir modificar inmuebles que tengamos registrados. IRQ-<A01> Informacin inmuebles En este proceso se modificar un inmueble. Cuando el piso ya est registrado y se produce en l cualquier tipo de cambio, hay que registrar esa modificacin Para modificar un inmueble hemos de comprobar anteriormente que ese piso se encuentra registrado. P1-> Comprobar que el inmueble se encuentra registrado P2-> Introducir los nuevos datos del inmueble Que el inmueble no se encuentre registrado con lo que no hay nada que modificar 2 veces/da Imprescindible Alta
FRQ-<A04> Versin Autores Objetivos Requisitos asociados Descripcin Precondicin Secuencia normal Postcondicin Excepciones
Consulta de los inmuebles 1 (2 / 11 / 04) Sergio Garcia Blanco El sistema deber de permitir consultar los datos de todos los inmuebles disponibles IRQ-<A01> Informacin inmuebles En este proceso se mostrarn los inmuebles que tenga la empresa registrados en la base de datos ordenados por su cdigo. Antes de mostrar todos los inmuebles, hemos de comprobar que la base de datos no est vaca P1-> Comprobar que hay inmuebles registrados P2-> Mostrar todos los inmuebles registrados Que la base de datos no est vaca
18
Frecuencia esperada Importancia Estabilidad 2) Clientes. FRQ-<B01> Versin Autores Objetivos Requisitos asociados Descripcin Precondicin
Alta de los clientes 1 (2 / 11 / 04) Sergio Garcia Blanco El sistema deber de permitir la insercin de nuevos clientes, tanto propietarios como posibles compradores IRQ-<A02> Informacin clientes En este proceso se dar de alta un nuevo cliente. Para la insercin de un nuevo cliente hemos de comprobar anteriormente que no se encuentra registrado ( se tiene en cuenta que si tenemos a un cliente como propietario, se puede volver a insertar pero solo como posible comprador ) P1-> Comprobar que el cliente no se encuentra registrado P2-> Introducir los datos del cliente Que un cliente ya est registrado 20 veces/da Imprescindible Alta
FRQ-<B02> Versin Autores Objetivos Requisitos asociados Descripcin Precondicin Secuencia normal Postcondicin Excepciones Frecuencia esperada Importancia Estabilidad FRQ-<B03>
Baja de los clientes 1 (2 / 11 / 04) Sergio Garcia Blanco El sistema deber de permitir el borrado de clientes que tengamos registrados. IRQ-<A01> Informacin inmuebles (Opcional) IRQ-<A02> Informacin clientes En este proceso se dar de baja un cliente. Tras esto, automticamente se borrar los inmuebles que posea. Para el borrado de un cliente hemos de comprobar anteriormente que se encuentra registrado P1-> Comprobar que el cliente se encuentra registrado P2-> Borrar los datos del cliente Que el cliente no est registrado 3 veces/da Imprescindible Alta Modificacin de los clientes
19
Versin Autores Objetivos Requisitos asociados Descripcin Precondicin Secuencia normal Postcondicin Excepciones Frecuencia esperada Importancia Estabilidad FRQ-<B04> Versin Autores Objetivos Requisitos asociados Descripcin Precondicin Secuencia normal Postcondicin Excepciones Frecuencia esperada Importancia Estabilidad
1 (2 / 11 / 04) Sergio Garcia Blanco El sistema deber de permitir modificar los clientes que tengamos registrados. IRQ-<A02> Informacin clientes En este proceso se modificar un cliente. Cuando el cliente ya est registrado y se produce en l cualquier tipo de cambio, hay que registrar esa modificacin Para modificar un cliente hemos de comprobar anteriormente que se encuentra registrado. P1-> Comprobar que el cliente se encuentra registrado P2-> Introducir los nuevos datos del cliente Que el cliente no se encuentre registrado 5 veces/da Imprescindible Alta Consulta de los clientes 1 (2 / 11 / 04) Sergio Garcia Blanco El sistema deber de permitir consultar los datos de todos los clientes IRQ-<A02> Informacin clientes En este proceso se mostrarn los clientes que tenga la empresa registrados en la base de datos ordenados por su DNI. Antes de mostrar todos los clientes, hemos de comprobar que la base de datos no est vaca P1-> Comprobar que hay clientes registrados P2-> Mostrar todos los clientes registrados Que la base de datos no est vaca 100 veces/da Imprescindible Alta
3) Empleados. En este punto hay que aclarar que existe un usuario especial, que normalmente ser el Jefe, que es el nico que puede dar de alta y de baja a los empleados. Adems, un empleado solo puede modificar sus propios datos. FRQ-<C01> Versin Autores Objetivos Alta de los empleados 1 (2 / 11 / 04) Sergio Garcia Blanco El sistema deber de permitir la insercin de nuevos empleados cuando stos son contratados
20
Requisitos asociados Descripcin Precondicin Secuencia normal Postcondicin Excepciones Frecuencia esperada Importancia Estabilidad
IRQ-<A03> Informacin empleados En este proceso se dar de alta un nuevo empleado. De esta forma, la empresa tendr en su poder informacin relacionada con sus trabajadores. Para la insercin de un empleado hemos de comprobar anteriormente que no se encuentra registrado, ya que por error se podra insertar dos veces o ms. P1-> Comprobar que el empleado no se encuentra registrado P2-> Introducir los datos del empleado Que el empleado ya est registrado 1 vez/mes Imprescindible Alta
Baja de los empleados 1 (2 / 11 / 04) Sergio Garcia Blanco El sistema deber de permitir el borrado de empleados que tengamos registrados. IRQ-<A03> Informacin empleados En este proceso se dar de baja un empleado. sto permitir que la inmobiliaria se deshaga de la informacin que pertenece a las personas que dejan de trabajar ah. Cuando se borre un empleado, habr que modificar sus visitas pendientes. Para el borrado de un empleado hemos de comprobar anteriormente que se encuentra registrado. P1-> Comprobar que el empleado se encuentra registrado P2-> Borrar los datos del empleado P3-> Borrar las visitas que le queden Pendientes de realizar. Es responsabilidad del Jefe reasignar otro empleado a esas visitas pendientes Una vez se hayan borrado los datos del empleado se activar automticamente el proceso de borrado de visitas cuyo estado es el de Pendiente Que el empleado no est registrado 1 vez/mes Imprescindible Alta
21
Precondicin Secuencia normal Postcondicin Excepciones Frecuencia esperada Importancia Estabilidad FRQ-<C04> Versin Autores Objetivos Requisitos asociados Descripcin Precondicin Secuencia normal Postcondicin Excepciones Frecuencia esperada Importancia Estabilidad 4) Visitas. FRQ-<D01> Versin Autores Objetivos
El sistema deber de permitir modificar empleados que tengamos registrados. IRQ-<A03> Informacin empleados En este proceso se modificar un empleado. Cuando el empleado ya est registrado y se produce cualquier tipo de cambio en sus datos, hay que registrar esa modificacin Para modificar un empleado hemos de comprobar anteriormente que se encuentra registrado. P1-> Comprobar que el empleado se encuentra registrado P2-> Introducir los nuevos datos del empleado Que el empleado no se encuentre registrado 2 veces/mes Imprescindible Alta Consulta de los empleados 1 (2 / 11 / 04) Sergio Garcia Blanco El sistema deber de permitir consultar los datos de todos los empleados IRQ-<A04> Informacin empleados En este proceso se mostrarn los empleados que tenga la empresa registrados en la base de datos ordenados por su DNI. Antes de mostrar todos los empleados, hemos de comprobar que la base de datos no est vaca P1-> Comprobar que hay empleados registrados P2-> Mostrar todos los empleados registrados Que la base de datos no est vaca 100 veces/da Imprescindible Alta
Alta de las visitas 1 (2 / 11 / 04) Sergio Garcia Blanco El sistema deber de permitir la insercin de nuevas visitas cuando stas quedan concertadas
22
Requisitos asociados
Descripcin Precondicin
Secuencia normal
IRQ-<A01> Informacin inmuebles IRQ-<A02> Informacin clientes IRQ-<A03> Informacin empleados IRQ-<A04> Informacin visitas En este proceso se dar de alta una nueva visita. De esta forma, los empleados sabrn cuando han quedado con los clientes para ir a ver los pisos. Para la insercin de una visita hemos de comprobar: - Que existe el inmueble, el cliente y el empleado - Que el empleado o inmueble relacionado con ella, no tiene ya planificada otra visita en esa fecha y en un rango horario de ms-menos 1 hora con respecto a la hora de la nueva visita. P1-> Comprobar que existe el inmueble, el cliente y el empleado. P2-> Comprobar que el empleado relacionado con la visita no tiene ya planificada otra visita en esa fecha y en un rango horario de ms-menos 1 hora con respecto a la hora de la nueva. P3-> Comprobar que el inmueble no tiene ya planificada otra visita en esa fecha y en un rango horario de ms-menos 1 hora con respecto a la hora de la nueva visita P4-> Introducir los datos de la visita Que existe el inmueble, el cliente y el empleado y que el piso y el empleado estn disponibles. 10 veces/da Imprescindible Alta
Baja de las visitas 1 (2 / 11 / 04) Sergio Garcia Blanco El sistema deber de permitir el borrado de las visitas que tengamos registradas. IRQ-<A01> Informacin inmuebles IRQ-<A02> Informacin clientes IRQ-<A03> Informacin empleados IRQ-<A04> Informacin visitas En este proceso se dar de baja una visita. Para el borrado de una visita hemos de comprobar anteriormente que efectivamente esa visita existe. P1-> Comprobar que la visita se encuentra registrada P2-> Borrar los datos de la visita Que la visita no est concertada. Por lo que no existe. 1 vez/da Imprescindible 23
Estabilidad
Alta
Modificacin de las visitas 1 (2 / 11 / 04) Sergio Garcia Blanco El sistema deber de permitir modificar visitas que tengamos registradas. IRQ-<A01> Informacin inmuebles IRQ-<A02> Informacin clientes IRQ-<A03> Informacin empleados IRQ-<A04> Informacin visitas En este proceso se modificar una visita. Para modificar una visita hemos de comprobar anteriormente que se encuentra registrada. P1-> Comprobar que la visita est concertada P2-> Si se cambia el empleado, comprobar que ese empleado est disponible P3-> Si se cambia la hora, comprobar que el empleado y el inmueble se encuentran disponibles P4-> Introducir los datos nuevos de la visita Que la visita no se encuentre registrada 2 veces/da Imprescindible Alta Consulta de las visitas 1 (2 / 11 / 04) Sergio Garcia Blanco El sistema deber de permitir consultar los datos de todas las visitas IRQ-<A01> Informacin inmuebles IRQ-<A02> Informacin clientes IRQ-<A03> Informacin empleados IRQ-<A04> Informacin visitas En este proceso se mostrarn las visitas ordenadas por fecha y hora Antes de mostrar todas las visitas, hemos de comprobar que la base de datos no est vaca P1-> Comprobar que hay visitas registradas P2-> Mostrar todas las visitas registradas Que la base de datos no est vaca 100 veces/da Imprescindible Alta
Postcondicin Excepciones Frecuencia esperada Importancia Estabilidad FRQ-<D04> Versin Autores Objetivos Requisitos asociados
Descripcin Precondicin Secuencia normal Postcondicin Excepciones Frecuencia esperada Importancia Estabilidad
24
Descripcin Precondicin Secuencia normal Postcondicin Excepciones Frecuencia esperada Importancia Estabilidad
Generar informe 1 (2 / 11 / 04) Sergio Garcia Blanco El sistema deber de realizar un informe en el que muestre a cada empleado las visitas a las que tiene que acudir cada da IRQ-<A01> Informacin inmuebles IRQ-<A02> Informacin clientes IRQ-<A03> Informacin empleados IRQ-<A04> Informacin visitas En este proceso se generar un informe para avisar al empleado de las citas que tiene con los clientes para ir a ver los pisos. Para que este informe se genere, se ha de comprobar si ese empleado tiene visitas P1-> Comprobar que existen visitas P2-> Mostrar por pantalla las visitas a las que tiene que acudir. Que no se tenga visitas 10 veces/da Imprescindible Alta
25
26
27
28
29
30
En cuanto a los costes unitarios y totales de las distintas tareas de anlisis y construccin del sistema, tenemos lo siguiente: - En el proyecto solo participa una persona dedicada unas 3 horas de media al da. Esta persona cobra 10 la hora.
TAREA
Estudio inicial del problema Definicin de requisitos Anlisis del sistema Implementacin Redaccin de la memoria
DURACIN (das)
4 3 7 18 16
El coste total es: 12 + 9 + 21 + 54 + 48 = 144 horas x 10 /hora = 1440 4 das x 3 horas/da = 12 horas 3 das x 3 horas/da = 9 horas 7 das x 3 horas/da = 21 horas 18 das x 3 horas/da = 54 horas 16 das x 3 horas/da = 48 horas
31
32
Datos-inmuebles
inf.-inmuebles Datos-inmuebles
EMPLEADO
inf.-inmuebles
1
CLIENTE
inf.empleados Datosempleado
2
Gestin inmuebles
Datos-cliente inf.-clientes
inf.-nuevosinmuebles inf.inmuebles
Datosloginpassword
inf.inmuebles
Gestin visitas
inf.empleados inf.nuevosempleados
Gestin clientes
empleados
inf.clientes
inf.nuevosclientes
inf.visitas
inf.nuevasvisitas
Datosempleado
visitas clientes
inf.-clientes inf.-empleados
Gestin loginpassword
33
Como indica el ttulo, el grfico anterior muestra el Diagrama de Flujo de Datos de nivel 1. En l se distinguen dos entidades ( EMPLEADO y CLIENTE ), cinco procesos ( gestin login-password, gestin clientes, gestin inmuebles, gestin empleados y gestin visitas ), cuatro almacenes ( clientes, empleados, inmuebles y visitas ) y numerosos flujos de datos. Para entenderlo, basta con comprender la funcin de cada proceso: Gestin login-password => Este proceso recibe el login y el password de los empleados. Una vez recibidos, los coteja con los que estn en el almacn de empleados ( all se guardan los datos personales y el login y password de cada trabajador ) y, si estn, el sistema deja acceder a la zona privada de la web; si por el contrario no estn, se denega el acceso. Gestin empleados => Este proceso trata la informacin relacionada con los empleados. Entre otras cosas recibe los datos de los nuevos trabajadores y los guarda en un almacn de empleados o saca los datos del almacn y los muestra. Gestin clientes => Este proceso manipula la informacin relacionada con los clientes. Se puede decir que su comportamiento es el mismo que el proceso Gestin empleados. Gestin inmuebles => Este proceso se encarga de los datos de los inmuebles. Aunque su comportamiento sea similar a Gestin empleados y Gestin clientes en cuanto a aadir, borrar, modificar y consultar inmuebles, Gestin inmuebles incorpora una novedad, y es que un cliente puede introducir unos requisitos ( a los que llamaremos datos de bsqueda ) para que el propio proceso muestre todos los pisos que tenga almacenados en el almacn de inmuebles que cumplan los requisitos solicitados por el propio cliente. Este proceso es el nico que interacciona con el cliente. Gestin visitas => Este proceso trata los datos de las visitas y tambin permite aadirlas, borrarlas, modificarlas y consultarlas. Los datos se sacan de los almacenes de empleados, clientes e inmuebles y tambin los introduce el empleado ( por ejemplo la hora y la fecha ).
34
Datos-empleado
EMPLEADO
inf.-empleados
Borrar empleado
Datosempleado
Datos-empleado-consulta Datosempleado
3
Consultar empleado
Aadir empleado
Modificar empleado
inf.-empleados inf.-empleado-borrado
inf.empleadoactualizada
inf.anterior
empleados
inf.-nuevos-empleados
En el grfico anterior se muestra la explosin de Gestin empleados. Cada proceso hace lo siguiente: Aadir empleado => Recibe los datos del empleado, comprueba que ese empleado no est insertado y los guarda en el almacn de empleados. Modificar empleado => Recibe los datos nuevos, los compara con los antiguos y guarda en el almacn de empleados las actualizaciones. Consultar empleado => Recibe los datos de bsqueda y toda la informacin almacenada en el almacn de empleados y muestra los trabajadores que cumplen los requisitos especificados. Borrar empleado => Recibe los datos del empleado, comprueba que ese empleado existe y lo borra del almacn de empleados.
35
Gestin clientes:
Datos-cliente
EMPLEADO
inf.-cliente
Borrar cliente
Datoscliente
Datoscliente
Datos-cliente-consulta
Consultar cliente
Aadir cliente
Modificar cliente
clientes
inf.-nuevos-cliente
En el grfico anterior se muestra la explosin de Gestin clientes. Cada proceso hace lo siguiente: Aadir cliente => Recibe los datos del cliente, comprueba que no est ya insertado y los guarda en el almacn de clientes. Modificar cliente => Recibe los datos nuevos, los compara con los antiguos y guarda en el almacn de clientes las actualizaciones. Consultar cliente => Recibe los datos de bsqueda y toda la informacin almacenada en el almacn de clientes y muestra los que cumplen los requisitos especificados. Borrar cliente => Recibe los datos del cliente, comprueba que ese cliente existe y lo borra del almacn de clientes.
36
Gestin inmuebles:
Datos-inmueble
CLIENTE
inf.-inmueble
4
Consultar inmueble
Aadir inmueble
Modificar inmueble
inf.inmuebleactualizada
inf.-inmueble inf.anterior
inf.-inmueble-borrado
inmuebles
inf.-nuevosinmuebles
En el grfico anterior se muestra la explosin de Gestin inmuebles. Cada proceso hace lo siguiente: Aadir inmueble => Recibe los datos del inmueble y los guarda en el almacn de inmuebles. Modificar inmueble => Recibe los datos nuevos, los compara con los antiguos y guarda en el almacn de inmuebles las actualizaciones. Consultar inmueble => Recibe los datos de bsqueda y toda la informacin almacenada en el almacn de inmuebles y muestra los que cumplen los requisitos especificados. La novedad de este proceso es que el cliente tambin hace consultas de los inmuebles. Borrar inmueble => Recibe los datos del inmueble, comprueba que exite y lo borra del almacn de inmuebles.
37
Gestin visitas:
EMPLEADO
Datos-visita
Datosvisita
Datosvisitaconsulta
inf.visitas
Datos-visita
Aadir visitas
Modificar visitas
Consultar visitas
Borrar visitas
inf.-nuevasvisitas
inf.visitaactualizada
visitas
inf.-empleados
inf.clientes
inf.-inmuebles
empleados
clientes
inmuebles
En el grfico anterior se muestra la explosin de Gestin visitas. Cada proceso hace lo siguiente: Aadir visitas => Recibe los datos de la visita ( del empleado ( hora y fecha ) y de los almacenes de empleados, clientes e inmuebles ) y los guarda en el almacn de visitas. Modificar visita => Recibe los datos nuevos, los compara con los antiguos ( del empleado ( hora y dia ) y de los almacenes de empleados, clientes e inmuebles ) y si esa modificacin es vlida se guardan las actualizaciones ( el empleado y el inmueble deben de estar libres a la hora que se actualice ) Consultar visitas => Recibe los datos de bsqueda y toda la informacin almacenada en el almacn de visitas y muestra los que cumplen los requisitos especificados. Borrar visitas => Recibe los datos de la visita, comprueba que existe y la borra del almacn de visitas.
38
39
En el esquema anterior es necesario distinguir la diferencia que existe entre lo que es una entidad y lo que es una relacin: una entidad es una representacin abstracta de la realidad mientras que una relacin es la interaccin entre dos o ms entidades. Entidades: Seguidamente se presenta una breve descripcin de cada entidad. Cliente_vendedor: hace referencia al cliente que quiere vender su inmueble. Es un subtipo de Cliente. Cliente_comprador: representa al cliente que est interesado en adquirir un inmueble. Es un subtipo de Cliente. Cliente: hace referencia a la que persona que acude a nuestra inmobiliaria sin importar el hecho de que quiera vender o comprar un inmueble. Empleado: representa a la persona que trabaja en la inmobiliaria. Inmueble: hace referencia al piso, local... que se quiere vender. Visita: representa al hecho de que un cliente quede con un empleado para ir a ver un inmueble. Atributos: A continuacin se especifican los datos que asociaremos a cada entidad. - Para la entidad Cliente: DNI: Descripcin: Documento Nacional de dentidad nico para cada persona Tipo de dato: Texto Nulos: NO Nombre: Descripcin: Nombre de una persona Tipo de dato: Texto Nulos: NO Apellidos: Descripcin: Apellidos de una persona Tipo de dato: Texto Nulos: NO Calle: Descripcin: Se refiere a la calle en la que vive Tipo de dato: Texto Nulos: NO
40
Nmero: Descripcin: Representa el nmero de portal de su domicilio Tipo de dato: Nmero Nulos: NO Codpos: Descripcin: Cdigo postal, nico para cada zona de cada ciudad Tipo de dato: Texto Nulos: NO Localidad: Descripcin: Pueblo o ciudad en la que vive el cliente Tipo de dato: Texto Nulos: NO Provincia: Descripcin: Provincia en la que se sita el pueblo o ciudad anterior Tipo de dato: Texto Nulos: NO Fechanac: Descripcin: Identifica la fecha de nacimiento del cliente Tipo de dato: Fecha Nulos: NO Telefono: Descripcin: Telefono personal para tener localizado al cliente en cualquier momento. Tipo de dato: Texto Nulos: NO - Para la entidad Cliente_vendedor: Al ser un subtipo de cliente solo guardaremos su identificador ( el DNI ) y el cdigo del inmueble del cual es propietario. DNI: Descripcin: Documento Nacional de dentidad nico para cada persona Tipo de dato: Texto Nulos: NO Codin: Descripcin: Cdigo del inmueble que posee y quiere vender. Es nico Tipo de dato: Autonumrico Nulos: NO 41
- Para la entidad Cliente_comprador: Al igual que la entidad anterior, al ser un subtipo de cliente solo guardaremos su identificador ( el DNI ). DNI: Descripcin: Documento Nacional de dentidad nico para cada persona Tipo de dato: Texto Nulos: NO - Para la entidad Empleado: DNI: Descripcin: Documento Nacional de dentidad nico para cada persona Tipo de dato: Texto Nulos: NO Nombre: Descripcin: Nombre de una persona Tipo de dato: Texto Nulos: NO Apellidos: Descripcin: Apellidos de una persona Tipo de dato: Texto Nulos: NO Calle: Descripcin: Se refiere a la calle en la que vive Tipo de dato: Texto Nulos: NO Nmero: Descripcin: Representa el nmero de portal de su domicilio Tipo de dato: Nmero Nulos: NO Codpos: Descripcin: Cdigo postal, nico para cada zona de cada ciudad Tipo de dato: Texto Nulos: NO Localidad: Descripcin: Pueblo o ciudad en la que vive el empleado 42
Tipo de dato: Texto Nulos: NO Provincia: Descripcin: Provincia en la que se sita el pueblo o ciudad anterior Tipo de dato: Texto Nulos: NO Fechanac: Descripcin: Identifica la fecha de nacimiento del empleado Tipo de dato: Fecha Nulos: NO Localidadnac: Descripcin: Pueblo o ciudad en la que naci el empleado Tipo de dato: Texto Nulos: NO Provincianac: Descripcin: Provincia en la que se sita el pueblo o ciudad anterior Tipo de dato: Texto Nulos: NO Telefono: Descripcin: Telefono personal para tener localizado al empleados en cualquier momento. Tipo de dato: Texto Nulos: NO Login: Descripcin: Representa al nombre de usuario con el que entra en el sistema. Este nombre es nico Tipo de dato: Texto Nulos: NO Password: Password: Hace referencia a la contrasea que debe introducir el empleado para entrar en el sistema. Por motivos de seguridad, permanecer encriptada Tipo de dato: Texto Nulos: NO
43
- Para la entidad Inmueble: Codin: Descripcin: Cdigo nico que identifica a cada inmueble Tipo de dato: Autonumrico Nulos: NO Precio: Descripcin: Precio del inmueble Tipo de dato: Nmero Nulos: NO Calle: Descripcin: Se refiere a la calle en la que se ubica el inmueble Tipo de dato: Texto Nulos: NO Nmero: Descripcin: Representa el nmero de portal Tipo de dato: Nmero Nulos: NO Codpos: Descripcin: Cdigo postal, nico para cada zona de cada ciudad Tipo de dato: Texto Nulos: NO Poblacin: Descripcin: Pueblo o ciudad en la que se encuentra el inmueble Tipo de dato: Texto Nulos: NO Provincia: Descripcin: Provincia en la que se sita el pueblo o ciudad anterior Tipo de dato: Texto Nulos: NO
Tamanyo_m2: Descripcin: Representa el nmero de metros cuadrados desl inmueble. Tipo de dato: Nmero 44
Nulos: NO Altura: Descripcin:Planta en la que se encuentra el inmueble. Tipo de dato: Nmero Nulos: NO Anyo_constr: Descripcin: Antigedad del inmueble. Tipo de dato: Nmero Nulos: NO Num_habit: Descripcin: Nmero de habitaciones. Tipo de dato: Nmero Nulos: NO Num_banyos: Descripcin: Nmero de baos. Tipo de dato: Nmero Nulos: NO Tipo: Descripcin: Define de que clase de inmueble se trata. Solo puede ser: piso, tico, duplex, chalet o local. Tipo de dato: Texto Nulos: NO Terraza: Descripcin: Si tiene terraza o no. Solo puede ser: si o no. Tipo de dato: Texto Nulos: NO Balcn: Descripcin: Si tiene balcn o no. Solo puede ser: si o no. Tipo de dato: Texto Nulos: NO Ascensor: Descripcin: Si tiene ascensor o no. Solo puede ser: si o no. Tipo de dato: Texto Nulos: NO
45
- Para la entidad Visita: Codin: Descripcin: Cdigo nico que identifica al inmueble que se visita Tipo de dato: Autonumrico Nulos: NO DNIcli: Descripcin: DNI del cliente que realiza la visita Tipo de dato: Texto Nulos: NO Fecha: Descripcin: Identifica la fecha para la cual est programada la visita. Tipo de dato: Fecha Nulos: NO DNIemp: Descripcin: DNI del empleado que gua la visita Tipo de dato: Texto Nulos: NO Hora: Descripcin: Identifica la hora para la cual est programada la visita. Tipo de dato: Hora Nulos: NO Estado: Descripcin: Define en que estado se encuentra la visita.. Solo puede ser: pendiente, suspendida o realizada. Tipo de dato: Texto Nulos: NO Observaciones: Descripcin: Hace referencia a las sensaciones que tiene el empleado tras la visita o a las posibles incidencias.. Tipo de dato: Texto Nulos: NO
46
Relaciones: Y por ltimo se detallan las relaciones entre las entidades. - Cliente / Cliente_vendedor: En este caso, existe una relacin de herencia, en la cual el Cliente_vendedor es un subtipo de Cliente. Por esta razn los datos se meten en Cliente, y en Cliente_vendedor se pone una clave ajena a su supertipo. - Cliente / Cliente_comprador: Esta relacin es exactamente igual a la anterior, existe una relacin de herencia, en la cual el Cliente_comprador es un subtipo de Cliente. Por esta razn los datos se meten en Cliente, y en Cliente_comprador se pone una clave ajena a su supertipo. - Cliente_vendedor / Inmueble: Relacin ( 1 , n ) en la que un cliente_vendedor puede querer vender varios pisos. Por sto, se pone una clave ajena en cliente_vendedor referenciando a inmuebles. - Cliente / Visita: En este caso, existe tambin una relacin ( 1 , n ), en la cual un cliente puede realizar mauchas visitas. Por este motivo, visitas tiene una clave ajena a clientes. - Inmueble / Visita: Esta relacin es igual a la anterior, relacin ( 1 , n ), en la que a un inmueble se le realizan muchas visitas.Aqu tambin es visitas quien tiene una clave ajena a inmuebles. - Empleado / Visitas: ltima relacin de nuestro MCD, es ( 1 , n ) ya que un empleado puede guiar muchas visitar. Por esto, visitas contendr una clave ajena a empleados.
47
Clientes ( dnicli, nombre, apellidos, calle, numero, codpost, localidad, provincia, fechanac, telefono ) Visitas ( codin, dnicli, fecha , dniemp, hora, estado, observaciones ) NULOS dnicli Visitas----------->Clientes No DELETE Propagar
48
Empleados ( dniemp, nombre, apellidos, calle, numero, codpost, localidad, provincia, fechanac, localidadnac, provincianac, telefono, login, password ) Visitas ( codin, dnicli, fecha , dniemp, hora, estado, observaciones ) NULOS dniemp Visitas----------->Empleados DELETE No Propagar
Clientes ( dnicli, nombre, apellidos, calle, numero, codpost, localidad, provincia, fechanac, telefono ) Vendedores ( dniven , codin ) NULOS dniven Vendedores----------->Clientes codin Vendedores----------->Inmuebles No No DELETE Propagar Propagar
Clientes ( dnicli, nombre, apellidos, calle, numero, codpost, localidad, provincia, fechanac, telefono ) Compradores ( dnicom ) NULOS dnicom Compradores----------->Clientes Vendedores ( dniven , codin ) Inmuebles ( codin ,pecio, calle, numero, codpost, poblacion, provincia, tamanyo_m2, altura, anyoconstr, num_habit, num_banyos, tipo, terraza, balcon, ascensor ) NULOS DELETE codin Vendedores----------->Inmuebles No Propagar No DELETE Propagar
49
CREATE TABLE Empleados( dniemp CHAR(9) NOT NULL, nombre VARCHAR(20) NOT NULL, apellidos VARCHAR(50) NOT NULL, calle VARCHAR(50) NOT NULL, numero INTEGER NOT NULL, codpost CHAR(5) NOT NULL, localidad VARCHAR(50) NOT NULL, provincia VARCHAR(20) NOT NULL, fechanac DATE NOT NULL, localidadnac VARCHAR(50) NOT NULL, provincianac VARCHAR(20) NOT NULL, telefono VARCHAR(10) NOT NULL, login VARCHAR(20) UNIQUE NOT NULL, password VARCHAR(255) NOT NULL, CONSTRAINT cp_Empleados PRIMARY KEY (dniemp) ); CREATE TABLE Inmuebles( codin SERIAL NOT NULL, precio INTEGER NOT NULL, calle VARCHAR(100) NOT NULL, numero INTEGER NOT NULL, codpost CHAR(5) NOT NULL, poblacion VARCHAR(50) NOT NULL, provincia VARCHAR(20) NOT NULL, tamanyo_m2 INTEGER NOT NULL, altura INTEGER NOT NULL, anyoconstr INTEGER NOT NULL, num_habit INTEGER NOT NULL, num_banyos INTEGER NOT NULL, tipo VARCHAR(20) NOT NULL, terraza CHAR(2) NOT NULL, balcon CHAR(2) NOT NULL, ascensor CHAR(2) NOT NULL, CONSTRAINT cp_Inmuebles PRIMARY KEY (codin), CONSTRAINT ri_Inmuebles_tipo CHECK (tipo IN ( ' Piso ', ' Chalet ', ' Duplex ', 'Atico ', ' Local ' ) ), CONSTRAINT ri_Inmuebles_terraza CHECK (terraza IN ('Si','No')), CONSTRAINT ri_Inmuebles_balcon CHECK (balcon IN ('Si','No')), 50
CONSTRAINT ri_Inmuebles_ascensor CHECK (ascensor IN ('Si','No')) ); CREATE TABLE Visitas( codin INTEGER NOT NULL, dnicli CHAR(9) NOT NULL, Fecha DATE NOT NULL, dniemp CHAR(9) NOT NULL, hora TIME NOT NULL, estado VARCHAR(10) NOT NULL, observaciones VARCHAR(255) NOT NULL, CONSTRAINT cp_Visitas PRIMARY KEY (codin,dnicli,fecha), CONSTRAINT ca_Visitas_codin FOREIGN KEY (codin) REFERENCES Inmuebles ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT ca_Visitas_DNIcli FOREIGN KEY (dnicli) REFERENCES Clientes ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT ca_Visitas_DNIemp FOREIGN KEY (dniemp) REFERENCES Empleados ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT ri_Visitas_estado CHECK (estado IN ( ' Pendiente ' , ' Suspendida ', 'Realizada' ) ) ); CREATE TABLE Clientes( dnicli CHAR(9) NOT NULL, nombre VARCHAR(20) NOT NULL, apellidos VARCHAR(50) NOT NULL, calle VARCHAR(50) NOT NULL, numero INTEGER NOT NULL, codpost CHAR(5) NOT NULL, localidad VARCHAR(50) NOT NULL, provincia VARCHAR(20) NOT NULL, fechanac DATE NOT NULL, telefono VARCHAR(10) NOT NULL, CONSTRAINT cp_Clientes PRIMARY KEY (dnicli) ); CREATE TABLE Compradores( dnicom CHAR(9) NOT NULL, CONSTRAINT cp_Compradores PRIMARY KEY (dnicom), CONSTRAINT ca_Compradores_DNIcom FOREIGN KEY (dnicom) REFERENCES Clientes ON DELETE CASCADE ON UPDATE CASCADE );
51
CREATE TABLE Vendedores( DNIven CHAR(9) NOT NULL, codin INTEGER NOT NULL, CONSTRAINT cp_Vendedores PRIMARY KEY (dniven,codin), CONSTRAINT ca_Vendedores_DNIven FOREIGN KEY (dniven) REFERENCES Clientes ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT ca_Vendedores_cod FOREIGN KEY (codin) REFERENCES Inmuebles ON DELETE CASCADE ON UPDATE CASCADE );
52
53
Tras introducirlos, se llegar a otra pantalla en la que en la parte central se mostrar un informe con la visitas de ese empleado el da que entra y en la que en la parte superior habr un men con los siguientes enlaces: - Clientes: Habilitar una pantalla en la que se podr dar de alta, dar de baja, modificar y consultar los datos de un cliente. - Inmuebles: Habilitar una pantalla en la que se podr dar de alta, dar de baja, modificar y consultar los datos de un inmueble. - Empleados: Habilitar una pantalla en la que solo un usuario especial podr dar de alta y dar de baja empleados, todos los usuarios podrn modificar solo sus datos personales y todos los usuarios podrn consultar los datos de los empleados. - Visitas: Habilitar una pantalla en la que se podr insertar, actualizar, borrar o consultar una visita.
historia.php
ref1.php ref2.php ref3.php ref4.php ref5.php ref6.php ref7.php ref8.php ref 9.php ref10.php
*de ofertas.php solo se puede acceder a los inmuebles que estn de oferta.
54
Por otra parte, si dentro de la pantalla de index.php, introducimos correctamente el login y el password, se accede a una segunda zona, la zona privada. Zona privada: privada.php
gestion_ clientes.php
gestion_ inmuebles.php
gestion_ empleados.php
gestion_ visitas.php
aadir_clientes.php aadir_inmuebles.php aadir_empleados.php aadir_visitas.php modif_clientes.php modif_inmuebles.php modif_empleados.php modif_visitas.php borrar_clientes.php borrar_inmuebles.php borrar_empleados.php borrar_visitas.php
exito.php
faltan_datos.php
error.php
55
En la imagen superior, se muestra la pantalla index.php. En ella se observa que en la zona superior se encuentra el logotipo y el nombre de la empresa. Un poco ms abajo, aparece el da de la semana, el da del mes y el mes. Ms abajo todava, se ubica un men mediante el cual se accede a las diferentes partes pblicas de la empresa. Tras l, est el rea de login y contrasea que permite el acceso a la zona donde se gestiona la inmobiliaria. Por ltimo, destacar que en la zona central se sita la noticia ms importante de la semana ocurrida en el mundo inmobiliario.
56
historia.php:
En la imagen superior, se muestra la pantalla historia.php. En ella se explica en un breve fragmento, el pasado de la inmobiliaria y los galardones que le han otorgado. A la izquierda se sita un link que nos lleva a la pgina de inicio. objetivos.php:
En la imagen superior, se muestra la pantalla objetivos.php. sta contiene una pequea descripcin de los objetivos que pretende alcanzar la empresa. A la izquierda se sita un link que nos lleva a la pgina de inicio. 57
contacta.php:
En la imagen superior, se muestra la pantalla contacta.php. En ella se muestran las diferentes vas de contacto que tienen los usuarios para relacionarse con la inmobiliaria. Adems se ofrece un mapa en el que se puede observar la situacin exacta de la inmobiliaria. A la izquierda se sita un link que nos lleva a la pgina de inicio.
58
galera.php:
En la imagen superior, se muestra la pantalla galeria.php. En ella se muestran todos los inmuebles de los que dispone la empresa. Si se pincha en cualquiera de las fotografas, se accede a la ficha del inmueble. A la izquierda se sita un link que nos lleva a la pgina de inicio. refx.php:
En la imagen de arriba se observa cualquier fichero rex.php. Se muestra la ficha completa de un inmueble en la que se ofrece todas las caractersticas disponibles del mismo junto a varias fotografas. A la izquierda se sita un link que nos lleva a la pgina de bsqueda. 59
ofertas.php: Esta pantalla es igual a la de la galeria, por eso no ponemos su captura; solo que en vez de poner todos los inmuebles, solo se muestran los que estn de oferta. busqueda.php:
En la imagen superior, se muestra la pantalla busqueda.php. En ella se ofrecen varios criterios de bsqueda ( precio, tipo, poblacin, provincia, m2, altura, antigedad, n habitaciones, n baos y si deben de tener o no balcn, terraza y ascensor ). Una vez introducidos los criterios de bsqueda deseados, se envan apretando en el botn de abajo del todo y cuyo nombre es buscar inmuebles. El resultado de la bsqueda se nos muestra en la pantalla de encontrados.php . encontrados.php:
60
En la imagen superior, se muestra la pantalla encontrados.php y muestra el resultado de la bsquda efectuada. Su estructura es la misma que la de galeria.php u ofertas.php. A la izquierda se sita un link que nos lleva a la pgina de bsqueda. Todas las capturas anteriores, pertenecen a la zona pblica de la web, po lo que cualquier usuario puede acceder a ellas. Sin embargo, si introducimos el login y password, entramos en la zona privada. error.php:
En la imagen superior, se muestra la pantalla error.php. Esta pantalla aparecer cuando se intente acceder a la zona privada y se introduzca el login o password incorrectamente. A la izquierda se sita un link que nos lleva a la pgina de inicio
61
Hasta ahora no se ha comentado nada, pero si en cualquier momento se realiza tanto una accin invlida como una accin exitosa, se muestran sus respectivos mensajes.
62
Una vez se ha accedido a la zona privada, es posible que se nos muestre alguna de estas dos pantallas, dependiendo si el empleado tiene concertadas o no, visitas para ese da: privada.php:
En ambas imgenes se observa que en la izquierda hay un men que permite la gestin de los clientes, inmuebles, visitas y empleados.
63
Comencemos por los empleados. Para dar de alta o de baja a un empleado, hace falta ser el usuario especial, que normalmente ser el jefe. Si no, aparece lo siguiente:
Aparte de esto, las interfaces que se muestran para realizar la gestin de los empleados son : gestion_empleados.php:
Esta imagen se puede considerar la pgina de inicio para gestionar los empleados. Depende de lo que se desee realizar, se escoje una opcin u otra.
64
aadir_empleado.php:
En la imagen se observa todos los campos que hay que rellenar: nombre, apellidos, dni, calle, numero, telf, localidad, provincia, cdigo postal, localidad de nacimiento, provincia de nacimiento, fecha de nacimiento, usuario y contrasea. Una vez completado el formulario, se pueden enviar los datos ( aadir empleado ) o borrarlos ( borrar los datos ). modificar_empleado.php:
Un empleado solo puede modificar sus propios datos. Cuando se accede a esta opcin, ya salen por defecto los datos personales del empleado que se ha autenticado en
65
el sistema, as que lo nico que tiene que hacer es modificar lo que ha cambiado y enviarlo ( Modificar empleado ). borrar_empleado.php:
A la hora de borrar un empleado, solo hay que introducir el DNI y apretar al botn de Borrar empleado. buscar_empleado.php:
66
Si se desea buscar a un empleado, basta con meter el nombre y apellidos ( de esta forma se muestra el empleado en cuestin ) o con no poner nada ( se muestran todos los empleados. Tras una consulta, podramos tener lo siguiente:
Para gestionar los clientes, las pantallas que nos apareceran seran las que vienen a continuacin:
Esta pantalla es la pgina principal para gestionar los clientes. Depende de lo que se desee realizar, se escoje una opcin u otra.
67
aadir_clientes.php:
En la imagen se observa todos los campos que hay que rellenar: dni, nombre, apellidos, calle, numero, cdigo postal, localidad, provincia, telf y fecha de nacimiento. Adems se debe de especificar si el cliente es comprador o vendedor, teniendo que rellenar el ltimo campo si la opcin escogida es la segunda. Una vez completado el formulario, se pueden enviar los datos ( aadir empleado ) o borrarlos ( borrar los datos). modificar_clientes.php:
68
Para modificar los datos de un cliente, se tiene que rellenar el campo del DNI ms todos los dems que se quieran modificar. borrar_clientes.php:
Como se puede ver en la imagen superior, solo se necesita poner el DNI del cliente a borrar y apretar al botn de Borrar cliente. buscar_clientes.php:
69
Rellenar el DNI para que se muestre esa persona. Rellenar el propietario del inmueble introduciendo el cdigo correspondiente para que se muestre esa persona. Rellenar el tipo para que se muestren todos los clientes compradores o vendedores. O no rellenar nada para que se muestren todos los clientes, tal que as:
Esta interfaz es la principal para gestionar los inmuebles. Depende de lo que se desee realizar, se escoje una opcin u otra.
70
aadir_inmuebles.php:
Para aadir un inmueble nuevo, se puede apreciar en la imagen de arriba, cuales son los campos que se deben de rellenar: precio, tipo, calle, nmero, cdigo postal, poblacin, altura, antigedad, n habitaciones, n baos, balcn, terraza y ascensor. Despus de rellenarlos, y aunque no se ve en la imagen, los datos se pueden aadir pulsando el botn de Aadir inmueble o borrar en Borrar datos. modificar_inmuebles.php:
Para modificar los datos de un inmueble, se tiene que rellenar el campo del cdigo ms todos los dems que se quieran modificar. 71
borrar_inmuebles.php:
En la imagen superior se puede observar que para borrar un inmueble, solo es necesario introducir su cdigo. Tras esto, hace falta apretar en Borrar inmueble buscar_inmuebles.php:
Como se muestra en la interfaz de arriba, para iniciar la bsqueda de un inmueble se ofrecen varios criterios de bsqueda ( cdigo, precio, tipo, poblacin, provincia, m2, altura, antigedad, n habitaciones, n baos y si deben de tener o no balcn, terraza y ascensor ). Una vez introducidos los criterios de bsqueda deseados, se envan apretando en el botn de abajo del todo y cuyo nombre es buscar inmuebles. El
72
resultado de la bsqueda se nos muestra en la pantalla de encontrados.php, de la cual ya se ha hablado. Y por ltimo, se presentan las interfaces relacionadas con la gestin de visitas:
Esta imagen de arriba, es la pgina de inicio para gestionar las visitas. Depende de lo que se desee realizar, se escoje una opcin u otra. aadir_visitas.php:
Para insertar una nueva visita, es necesario rellenar los campos que se pueden observar en la captura superior ( cdigo del inmueble, DNI del cliente, fecha, DNI del empleado, hora, estado y observaciones ) y presionar el botn de Aadir visita. 73
modificar_visitas.php:
Para modificar una visita, es obligatorio rellenar el cdigo del inmueble, el DNI del cliente y la fecha, y luego introducir los datos que se quieren cambiar. borrar_visitas.php:
Como se puede apreciar en la imagen superior, para borrar una visita se tiene que meter el cdigo del inmueble, el DNI del cliente y la fecha.
74
buscar_visitas.php:
A la hora de buscar una visita, se tienen cuatro opciones: Rellenar el DNI para que se muestren las visitas de esa persona. Rellenar el cdigo del inmueble para que se muestren todas las visitias que se han realizado a un inmueble. Rellenar la fecha para que se muestren todas visitas concertadas para ese da. O no rellenar nada para que se muestren todas las visitas.
75
autenticacion.php busqueda.php
ref1.php ref2.php ref3.php ref4.php ref5.php ref6.php ref7.php ref8.php ref 9.php ref10.php
76
index.php
privada.php
aadir_cliente.php modificar_cliente.php gestion_clientes borrar_cliente.php buscar_clientes.php aadir_inmueble.php modif_inmueble.php gestion_inmuebles borrar_ inmueble.php buscar_ inmueble.php aadir_empleado.php modif_empleado.php gestion_empleados borrar_ empleado .php buscar_ empleado.php aadir_visita.php modificar_ visita.php gestion_visitas borrar_ visita.php buscar_ visita.php
fun_aadir_cliente.php fun_modificar_cliente.php fun_borrar_cliente.php fun_buscar_clientes.php fun_aadir_ inmueble.php fun_modificar_ inmueble.php fun_borrar_ inmueble.php fun_buscar_ inmueble.php fun_aadir_empleado.php fun_modificar_ empleado.php fun_borrar_ empleado.php fun_buscar_ empleado.php fun_aadir_visita.php fun_modificar_ visita.php fun_borrar_visita.php fun_buscar_ visita.php exito.php
desconexion.php faltan_datos.php
77
Especificacin de los mdulos php que no son pantallas: autenticacin.php: Descripcin: Este fichero se encarga de verificar que el login y password introducido son correctos. Entrada: Login y password. Salida: Se crea una Cookie.
sesion.php: Descripcin: Permite el acceso a la zona privada de la web si la Cookie que se le pasa no est vaca. Entrada: Una Cookie Salida:
sesion_admin.php: Descripcin: Permite el acceso a la zona privada de la web si la Cookie que se le pasa no est vaca y contiene el login del administrador. Se utiliza para saber si a la persona que inicia la sesin, se le debe permitir o no la insercin y borrado de empleados. Entrada: Una Cookie Salida:
privada.php: Descripcin: Adems de ser una pantalla, se encarga de mostrar al empleado que se autentica las visitas que tiene ese da. Entrada: Login. Salida: Muestra las visitas de ese da que tiene el empleado.
conexion.php: Descripcin: Este mdulo se encarga de la conexin con la base de datos. Entrada: Salida: Variable que contiene la conexin.
desconexion.php: Descripcin: Este fichero, pone la duracin de la galleta a un valor negativo, con lo que la galleta desaparece. Entrada: Una Cookie vlida. Salida: Una Cookie invlida.
78
fun_aadir_empleado.php: Descripcin: Da de alta un empleado. Entrada: Obligatoriamente el nombre, apellidos, dni, calle, numero, telf, localidad, provincia, cdigo postal, localidad de nacimiento, provincia de nacimiento, fecha de nacimiento, usuario y contrasea. Salida:
fun_modificar_empleado.php: Descripcin: Modifica los datos de un empleado que ya est insertado. Entrada: Obligatoriamente el DNI y es opcional que entren tambin todos estos: nombre, apellidos, calle, numero, telf, localidad, provincia, cdigo postal o contrasea. Salida:
fun_consultar_empleado.php: Descripcin: Muestra los empleados que cumplan con los criterios de bsqueda. Entrada: Es opcional que entren el nombre y los apellidos. Salida: Todos los empleados que cumplan las condiciones de los usuarios.
fun_aadir_cliente.php: Descripcin: Da de alta un cliente. Entrada: Obligatoriamente el DNI, nombre, apellidos, calle, numero, cdigo postal, localidad, provincia, telf, fecha de nacimiento y tipo y opcionalmente el cdigo del inmueble. Salida:
fun_modificar_cliente.php: Descripcin: Modifica los datos de un cliente que ya est insertado. Entrada: Obligatoriamente el DNI y es opcional que entren tambin todos estos: nombre, apellidos, calle, numero, telf, localidad, provincia y cdigo postal. Salida:
79
fun_consultar_cliente.php: Descripcin: Muestra los clientes que cumplan con los criterios de bsqueda. Entrada: Es opcional que entren el DNI, cdigo del inmueble que posee o el tipo. Salida: Todos los clientes que cumplan las condiciones seleccionadas por los usuarios.
fun_aadir_inmueble.php: Descripcin: Da de alta un inmueble. Entrada: Obligatoriamente el precio, tipo, calle, nmero, cdigo postal, poblacin, altura, antigedad, n habitaciones, n baos, balcn, terraza y ascensor. Salida:
fun_modificar_inmueble.php: Descripcin: Modifica los datos de un inmueble que ya est insertado. Entrada: Obligatoriamente el cdigo del inmueble y opcionalmente el precio, tipo, calle, nmero, cdigo postal, poblacin, altura, antigedad, n habitaciones, n baos, balcn, terraza o ascensor. Salida:
fun_borrar_inmueble.php: Descripcin: Se encarga de dar de baja a un inmueble. Entrada: Cdigo del inmueble. Salida:
fun_consultar_inmueble.php: Descripcin: Muestra los inmuebles que cumplan con los criterios de bsqueda. Entrada: Opcionalmente el cdigo, precio, tipo, poblacin, provincia, m2, altura, antigedad, n habitaciones, n baos, balcn, terraza o ascensor. Salida: Todos los inmuebles que cumplan las condiciones seleccionadas por los usuarios.
fun_aadir_visita.php: Descripcin: Da de alta una visita. Entrada: Obligatoriamente el cdigo del inmueble, DNI del cliente, fecha, DNI del empleado, hora, estado y observaciones. Salida:
fun_modificar_visita.php: Descripcin: Modifica los datos de una visita que ya est insertada. Entrada: Obligatoriamente el cdigo del inmueble, el DNI del cliente y la fecha y opcionalmente el DNI del empleado, hora, estado u observaciones. Salida: 80
fun_borrar_visita.php: Descripcin: Se encarga de dar de baja a una visita. Entrada: Cdigo del inmueble, DNI del cliente y la fecha. Salida:
fun_consultar_visita.php: Descripcin: Muestra las visitas que cumplan con los criterios de bsqueda. Entrada: Opcionalmente el DNI del cliente, el cdigo del inmueble o la fecha. Salida: Todas las visitas que cumplan las condiciones seleccionadas por los usuarios.
81
CASO DE PRUEBA 2 Ttulo: Insertar un empleado dejando campos en blanco. Veces que se realiza: 1 Resultado: 1 vez: xito. El programa recorre un bucle mediante el cual comprueba si todos los campos se han rellenado correctamente. Cuando encuentra el primer campo en blanco, muestra el mensaje de error oportuno: Faltan datos !.
CASO DE PRUEBA 3 Ttulo: Modificar un inmueble introduciendo los datos correctamente. Veces que se realiza: 3 Resultado: 1 vez: Cuando se accede a la base de datos para comprobar que el cdigo del inmueble es correcto, aparece un mensaje de error que dice que la conexin no existe. El problema es que no se ha incluido el fichero conexin.php. 2 vez: Falta un parntesi y unas comillas en la sentencia update. 3 vez: xito.
CASO DE PRUEBA 4 Ttulo: Modificar un inmueble introduciendo un cdigo de inmueble que no existe. Veces que se realiza: 1 Resultado: 1 vez: xito. Mediante una consulta, el programa comprueba sin ningn problema la existencia de algn inmueble con el cdigo introducido.
82
CASO DE PRUEBA 5 Ttulo: Borrar un cliente introduciendo un DNI vlido. Veces que se realiza: 1 Resultado: 1 vez: xito. El programa borra mediante una sentencia sql al cliente.
CASO DE PRUEBA 6 Ttulo: Borrar un cliente sin introducir nada. Veces que se realiza: 2 Resultado: 1 vez: Error. El programa no realiza la comprobacin de la validez del DNI que recibe, de tal forma que falla tanto si no se introduce nada como si el DNI no existe. 2 vez: xito. Esto se ha solucionado con una condicin.
CASO DE PRUEBA 7 Ttulo: Buscar visitas introduciendo los datos correctos. Veces que se realiza: 2 Resultado: 1 vez: Error. Comparacin de las fechas errnea. 2 vez: xito. Es necesario especificar en la consulta SQL el formato en el que se presenta la fecha.
CASO DE PRUEBA 8 Ttulo: Buscar visitas introduciendo datos inexistentes. Veces que se realiza: 1 Resultado: 1 vez: xito. El programa comprueba todos los datos que recibe antes de consultar nada.
83
84
9.- Bibliografa.
- http://www.php.net ( manual de php ) ( manual de html )
- http://sestud.uv.es/manual.esp - Apuntes: Ingeniera del Software I Bases de datos Bases de datos avanzadas
Diseo y gestin de bases de datos - Ideas para el diseo de la web y fotografas: http://www.lainmobiliaria.org http://www.inmobiliaria.com
85