[Php-avanzado] SRS Inmobiliaria, Pedro

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Sab Nov 28 22:46:30 ART 2015


Hola Pedro,

El sáb, 28-11-2015 a las 20:07 -0300, Pedro Urday escribió:
> Hola! Adjunto el SRS de un sistema para una inmobiliaria que voy a
> desarrollar y programar para el curso de PHP avanzado. Es un borrador
> y quizas haya que corregirlo, pero es un avance. Estoy ansioso de
> ponerme a trabajar en este proyecto de software, pero para eso debo
> terminar esta parte. Espero una respuesta. Saludos! 

	Entiendo que estés ansioso en empezar a trabajar en este software...
pero primero tenés qué saber qué software es el que tenés que hacer, y
viendo la SRS, da la impresión de que hay detalles sin definir. Para
esto está la SRS! Vamos a ello:

	Primero, la palabra "usuario" es demasiado ambigua para que pueda ser
usada en una SRS, salvo dominios de problema muy específicos. En este
caso: el administrador no será también un usuario, porque usa el
sistema?
	
	Para este tipo de casos te conviene hablar de "visitantes" del sitio
web, que es genérico pero no ambiguo.

	La distinción que hacés de las dos zonas es útil, pero luego no es útil
hacer referencia a ellas en cada RF. Para determinar qué funcionalidad
se corresponde con cada zona, poné una entrada en el diccionario que
diga "Zona visitantes: tendrán acceso a los RFx, Rfx, etc" y lo mismo
para lo que llamás zona de administración.

	Preguntas: el RF2 no es parte del RF1? Por qué las imágenes no son un
atributo más del inmueble?

	En el diccionario del Inmueble, definido en el RF1 aparecen
propietario, tipo de inmueble, barrio, estado y servicios básicos. Todo
esto no tiene que gestionarse por separado y luego ser usado como parte
de la funcionalidad del Inmueble?
	De ser así, como el caso del propietario que aparece más abajo, tenés
que especificar primero el propietario y luego especificar "El sistema
debe gestionar inmuebles con su propietario..."

	También se ve ahí un requerimiento oculto: venta [S/N] y alquiler [S/N]
pareciera que son "tipos de operaciones"... esto te permitiría más
versatilidad porque no es lo mismo un alquiler temporario, por 2 años o
por 3 años, y cómo lo tenés vos no se puede distinguir de qué tipo es la
operación.

	El RF5 es incorrecto: estás poniendo ahí cómo hacer una cosa, y lo que
debe aparecer en la SRS es qué hacer, nunca cómo hacerlo.

	El RF6 menciona una "operación de venta" que deberías especificar
antes. Idem para el RF7.

	El RF8 está muy incompleto, le falta "entre un Cliente y un Empleado
para ver un Inmueble", es decir, mencionar a los otros 3 RF
involucrados.

	El RF9 es un subrequerimiento del RF8.

	El RF10 tiene que ser definido mucho antes para poder hacer referencia
a él!

	En el RF11, la palabra "permitir" no va. De hecho nunca va la palabra
"permitir", porque todo lo que estás especificando es lo que va a ser
"permitido", posiblemente dependiendo de quien seas, pero eso no es una
funcionalidad.

	El RF12 es el mismo que el RF1. Si querés aclarar que se ve de manera
distinta en un lugar y en otro, aclaralo en el diccionario.

	Ponés mal algunos RNF, que en realidad sí son funcionalidades:
RNF1: lo aclarás en el diccionario, porque es visualizar distinto lo
mismo que ya tenés.
RNF2: no tiene sentido, desde el momento en que pongas qué RF son para
que zona en el diccionario.
RNF3: es una funcionalidad. Más específicamente una subfuncionalidad del
actual RF1.
RNF4 y 5: es una funcionalidad y la estás poniendo ya como RF9
RNF6: es una funcionalidad, y se expresa en el diccionario del Inmueble
diciendo que el propietario es obligatorio.
RNF7: idem.
RNF8: idem.
RNF9 y 10: son funcionalidades del Inmueble.
RNF11: es una funcionalidad. Además es contradictoria con el RF10; en
tal caso aclaralo ahí.
RNF12: es una funcionalidad. Te falta justamente la funcionalidad que
gestiona los datos de contacto.
RNF13: idem.
RNF14: es una funcionalidad y depende de un atributo "destacado" que te
falta en el Inmueble.


	Fijate bien todo esto y hacé una nueva versión que incluya todas las
modificaciones. Te van a quedar los RF con otros números y ningún RNF.

	Saludos!


-----------------------------------------

Este proyecto de software busca desarrollar un sistema para una empresa
inmobiliaria para la gestión, venta o alquiler de inmuebles. Para
llevarlo a cabo se dividirá al sistema en dos zonas principales:

- ZONA DE USUARIOS: Contiene a los usuarios de la web, que representan a
los potenciales clientes de la empresa. Cualquier usuario podrá visitar
la web y, informarse sobre la empresa, su localización, la oferta de
inmuebles de ésta, contactar con la empresa etc. todo mediante un área
común para todos los usuarios que configurará la parte pública de la
web.

- ZONA DE ADMINISTRACIÓN: Desde la zona de administración se podrá
gestionar todos los datos relacionados con la empresa, ya sean
inmuebles, propietarios, clientes y empleados. Cada empleado de la
inmobiliaria tendra su cuenta de usuario administrativa. Esta zona
estará reservada para la administración de la empresa y por tanto no
será accesible por cualquier usuario.


Especificación de requerimientos de software


Requerimientos funcionales

RF01 - El sistema debe gestionar inmuebles, en la zona administrativa.

RF02 - El sistema debe gestionar las imágenes para cada inmueble, en la
zona administrativa.

RF03 - El sistema debe gestionar propietarios, en la zona
administrativa.

RF04 - El sistema debe gestionar empleados de la inmobiliaria, en la
zona administrativa.

RF05 - El sistema debe gestionar sesiones de usuario para cada empleado
de la inmobiliaria, en la zona administrativa.

RF06 - El sistema debe gestionar ventas de inmuebles, en la zona
administrativa. Vender un inmueble implica, marcar un inmueble como
vendido y registrar una operación de venta.

RF07 - El sistema debe gestionar alquileres de inmuebles, en la zona
administrativa. Alquilar un inmueble implica, marcar un inmueble como
alquilado y registrar una operación de alquiler.

RF08 - El sistema debe gestionar citas, en la zona administrativa.

RF09 - El sistema debe mostrar las citas del día actual o de un día
determinado, en la zona administrativa.

RF10 - El sistema debe gestionar clientes, en la zona administrativa. Se
da de alta un cliente solo si es nuevo y ese cliente realiza una
operación de venta o alquiler o se añade una cita que lo involucre.

RF11 - El sistema debe permitir buscar inmuebles, tanto en la zona
administrativa como en la zona de usuarios de la web. Los criterios de
búsqueda son los siguientes:
        RF11.a - Búsqueda por operación(venta, alquiler o ambos),
        RF11.b - Búsqueda por tipo(barrio privado, casa, campo,
departamento, edificios en construcción, galpones, locales, loteos,
quintas, terrenos),
        RF11.c - Búsqueda por ubicación (barrio, calle, altura),
        RF11.d - Búsqueda por servicios básico (luz, agua, gas, cloacas
y otros),
        RF11.e - Búsqueda por superficie en metros cuadrados o hectareas
(se debe especificar la unidad),
        RF11.f - Búsqueda por estado (impecable, buen estado o a
reciclar),
        RF11.g - Búsqueda por número de habitaciones y baños,
        RF11.h - Búsqueda por cantidad de ambientes,
        RF11.i - Búsqueda por precio máximo,
        RF11.j - Búsqueda por palabra clave (Solo en la descripción de
las características del inmueble),
        RF11.k - O búsqueda por combinación de cualquiera de las
anteriores.

RF12 - El sistema debe mostrar un inmueble junto con sus fotos, tanto en
la zona administrativa como en la zona de usuarios de la web.



Requerimientos no funcionales

RNF01 - El sistema debe presentar las imagenes de un inmueble en forma
de slideshow, en la zona de usuarios de la web.

RNF02 - El sistema debe prohibir que se realizen altas, bajas o
modificaciones sobre el sistema, en la zona de usuarios de la web.

RNF03 - El sistema debe permitir generar una ficha para un inmueble en
particular, tanto en la zona administrativa como en la zona de usuarios
de la web. Esta ficha puede ser impresa en papel.

RNF04 - El sistema debe mostrar las citas ordenadas cronologicamente por
hora y fecha en un calendario, en la zona administrativa.

RNF05 - El sistema debe mostrar las citas del dia seleccionado por hora,
en la zona administrativa.

RNF06 - El sistema debe prohibir dar de alta un inmueble sin un
propietario, en la zona administrativa..

RNF07 - El sistema debe prohibir dar de alta un inmueble sin fotos, en
la zona administrativa..

RNF08 - El sistema debe prohibir dar de baja un propietario si este
tiene un inmueble en venta o alquiler, en la zona administrativa.

RNF09 - El sistema debe prohibir alquilar un inmueble vendido, en la
zona administrativa.

RNF10 - El sistema debe prohibir vender un inmueble en alquiler, en la
zona administrativa.

RNF11 - El sistema debe prohibir dar de baja un cliente involucrado en
alguna operación de venta, alquiler o en una cita, en la zona
administrativa.

RNF12 - El sistema debe mostrar la información de contacto y ubicación
sobre la empresa inmobiliaria (pestaña "Contacto"), en la zona de
usuarios de la web.

RNF13 - El sistema debe mostrar la información sobre la empresa
inmobiliaria (pestaña "Quienes somos"), en la zona de usuarios de la
web.

RNF14 - El sistema debe tener un apartado con los inmuebles destacados,
en la zona de usuarios de la web.




Diccionario y atributos

Inmueble: Propiedad que se quiere vender o alquilar. (propietario, tipo
de inmueble, barrio, calle, altura, en venta[si o no], en alquiler[si o
no], publicar en web[si o no], servicios básicos, superficie, estado,
nro de habitaciones, nro de baños, nro de ambientes, precio, modo de
pago, descripción, fotos y sus correspondientes descripciones)

Propietario: Persona que posee legalmente un inmueble el cual desea
alquilar o vender. (nombre, dirección, teléfono, email, comentarios)

Empleado: persona que trabaja en la empresa inmobiliaria. (nombre,
dirección, teléfono, email, comentarios, tipo, nombre de usuario,
contraseña)

Cliente: persona que esta interesado en comprar o alquilar un inmueble o
realiza el alquiler o compra de un inmueble. (nombre, dirección,
telefono, email, comentarios)

Alquiler: operación en la cual el propietario de un inmueble transfiere
temporalmente su uso a otra persona (cliente) que se compromete a su vez
a pagar por ese uso un determinado precio. (Propietario, Fecha de
alquiler, Duración del alquiler, Renta, Contrato de alquiler, Cliente,
Garante, Comision (porcentaje del precio del inmueble))

Venta: operación en la cual el propietario de un inmueble transfiere la
propiedad de ese inmueble a otra persona (cliente) que se compromete a
su vez a pagar el precio que fijó el propietario del inmueble.
(Propietario, Fecha de venta, precio al que se vendió, Contrato de
compra/venta, Inmueble, Cliente, Comision (porcentaje del precio del
inmueble))

Ficha: Presentación de los datos de un inmuebles listo para imprimir en
papel y presentar al cliente (Datos del inmueble).

Cita: Compromiso entre un empleado de la inmobiliaria (puede ser el
dueño) y un cliente, acerca del día y hora en que se encontrarán para
visitar el inmueble en venta o alquiler. (Cliente interesado, fecha y
hora)

-- 
Leonardo Tadei
leonardot en pegasusnet.com.ar
Web: http://leonardo.tadei.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key



Más información sobre la lista de distribución Php-avanzado