1. Especificación funcional del sistema. (v1.0)

Anuncio
Ingeniería del software de gestión.
Caso práctico: Ejemplo de especificación funcional con DCUs (extracto).
1. Especificación funcional del sistema. (v1.0)
Nota: Este documento es un extracto de la documentación funcional de un sistema. También se
trata de una primera versión, por lo que incluye notas del equipo de desarrollo.
1.1.
Introducción.
La especificación funcional se dividirá en cuatro subsistemas: “cartera de inquilinos”, “cartera
de propietarios”, “cartera de inmuebles” y “gestión vía web”. Los tres primeros especificarán
los aspectos funcionales de los requisitos RF1, RF2 y RF3, respectivamente, en cuanto a las
operaciones a realizar en los ordenadores de las oficinas de la agencia. En el subsistema
“gestión vía web” se incluyen las operaciones a realizar por el sistema en el sitio web de la
agencia.
En cuanto a los actores, se especificarán los siguientes:
− Agente: Los agentes inmobiliarios. Son los únicos actores que interactuarán
directamente con el sistema con el objetivo de introducir nueva información.
− Director regional: Los directores regionales.
− Gerente: El gerente de la empresa.
− Inquilino: Los inquilinos.
− Propietario: Los propietarios.
− Sistema: Representa al propio sistema. Los casos de uso relacionados con el actor
“sistema” son ejecutados sin requerir interacción con usuario ninguno.
Habitualmente, suelen asociarse a eventos temporales: por ejemplo, diariamente a
las 6:00.
− Usuario web: Será el actor que visita el sitio web de la inmobiliaria. Nota: ¿Habrá
sólo un tipo de usuario en la web?
1.2.
1.2.1.
Subsistema “cartera de inquilinos”.
Diagramas de casos de uso.
Nótese que el caso de uso “gestión de contactos con inquilinos” se explica con un nuevo
diagrama.
José García Fanjul e Isabel Sevilla Rodríguez
Página 1
Ingeniería del software de gestión.
Caso práctico: Ejemplo de especificación funcional con DCUs (extracto).
Consulta de
inmuebles por preferencias
«uses»
Ficha de inquilino
Inactivar inquilino
Agente
Inquilino
Gestión de
contactos con inquilinos
Propietario
Anotar inquilinos
pendientes de contacto
Listado de inquilinos
pendientes de contacto
Sistema
Listado de
inquilinos potenciales
Figura 1. Diagrama de casos de uso de la gestión de inquilinos.
José García Fanjul e Isabel Sevilla Rodríguez
Página 2
Ingeniería del software de gestión.
Caso práctico: Ejemplo de especificación funcional con DCUs (extracto).
Ficha de visita a
inmueble
«extends»
Propietario
Ficha de contacto
Agente
Rellenar informe
de contacto
Inquilino
Listado de
contactos recientes
Figura 2. Diagrama de casos de uso de la gestión de contactos con inquilinos.
Nota: La gestión de contactos para inquilinos y propietarios son muy similares (o exactamente
iguales).
1.2.2.
Descripción de escenarios.
ESCENARIO “Ficha de contacto”
Numeración: 1.1
Descripción:
Nota: Rellenarlo. Pueden ser:
- Telefónicos
- En oficina
Excepciones:
Nota: Describir aquí mismo las fichas de visitas a inmuebles:
Cuando se concierta una cita, debe hacerse en función de la disponibilidad de horario del
propietario.
Opcionalmente, se emitirá un SMS al propietario (o al inquilino, o a los dos).
ESCENARIO “Ficha de inquilino”
Numeración: 1.2
Descripción:
1. El escenario se inicia cuando un posible inquilino se pone en contacto con un agente,
habitualmente en una oficina de la agencia.
2. El agente preguntará si el inquilino fue cliente de la agencia en el pasado: en caso afirmativo se
intentará buscar al cliente entre los inquilinos inactivos y se comprobará si sus datos personales
siguen siendo correctos.
3. El inquilino expresa sus preferencias al agente (ver RF1.11), tras lo que se realiza una “consulta de
inmuebles por preferencias”.
4. El agente describe brevemente las características de los inmuebles que aparecen en la consulta,
anotando aquellos inmuebles que son del agrado del inquilino.
José García Fanjul e Isabel Sevilla Rodríguez
Página 3
Ingeniería del software de gestión.
Caso práctico: Ejemplo de especificación funcional con DCUs (extracto).
ESCENARIO “Ficha de inquilino”
Numeración: 1.2
5. El agente solicita y anota los datos personales del inquilino (ver RF1.10).
6. Se imprime copia de las características de los inmuebles que son del agrado del inquilino. Nota 1:
El inquilino no debe llevarse datos concretos que permitan identificar el inmueble, como la
dirección o el nombre del propietario. Nota 2: Este informe estará entre los de la “cartera de
inmuebles”.
7. Si el inquilino lo desea, se puede gestionar, a continuación, la realización de visitas a los
inmuebles (ver escenarios de gestión de contactos).
Excepciones:
a) Si el inquilino ya es cliente de la agencia, la ficha puede utilizarse para cambiar sus datos
personales ó sus preferencias.
b) La “consulta de inmuebles por preferencias” también estará accesible al agente sin necesidad de
abrir la ficha de un inquilino. En ese caso, obviamente, el agente rellenará las preferencias.
Anotaciones:
− Deben almacenarse y actualizarse los inmuebles que son del agrado del inquilino, de modo que se
faciliten los futuros contactos.
ESCENARIO “Listado de contactos recientes”
Numeración: 1.3
Descripción:
Nota: Listado con los contactos más recientes llevados a cabo por el agente.
Será una de las funcionalidades más utilizadas: base para las operaciones del agente.
Podrían ser los del último mes, ordenados por fecha.
Podrían tener una estructura jerárquica, de forma que se agruparan los del mismo inquilino.
ESCENARIO “Listado de inquilinos potenciales”
Numeración: 1.4
Descripción:
1. Se muestra un listado con los datos de los inquilinos que han rellenado la ficha a través del sitio
web de la inmobiliaria.
2. El agente revisa dichos datos, y procede a marcar aquellos que parecen veraces (por ejemplo, se
eliminaría un cliente cuyo nombre fuera “Mickey Mouse”). En caso de duda, procederá a llamar al
teléfono de contacto del cliente potencial.
3. Los datos de los clientes potenciales marcados como veraces se incorporarán a la cartera de
clientes.
Anotaciones:
− El sistema debería también filtrar (o ayudar a filtrar) aquellos inquilinos potenciales que parezcan
repetidos: por ejemplo porque el cliente haya introducido sus datos varias veces en el formulario
de la web.
− Sólo aparecerán, en los listados, los inquilinos potenciales que busquen un inmueble en la
localidad y zona en que se encuentre la agencia.
1.2.3.
Descripción de otras funciones.
1.2.3.1. Anotar inquilinos pendientes de contacto.
Al iniciar el sistema, se comprobará qué inquilinos están “pendientes de contacto”. Por defecto,
se definen como tales aquellos que no han tenido contactos con la agencia en las últimas 2
semanas (aunque este parámetro debe ser configurable a nivel de agencia).
Nota 1: ¡No tenemos aún requisitos relativos a la parametrización! Revisarlo a nivel de todo el
sistema.
Nota 2: ¿es esto un caso de uso? ¿hace falta? Revisar el modelo de datos.
José García Fanjul e Isabel Sevilla Rodríguez
Página 4
Ingeniería del software de gestión.
Caso práctico: Ejemplo de especificación funcional con DCUs (extracto).
1.2.3.2. Inactivar inquilino.
Nota: Incluir descripción breve de esta funcionalidad. Hay varias formas de inactivar un
inquilino:
- Inactivación a petición del inquilino.
- Borrado de datos a petición del inquilino (revisar entonces que no haya contratos en los cinco
años anteriores).
Cuando un inquilino está inactivo, no saldrá en los listados normales, sólo podrá reactivarse
desde la ficha de inquilinos.
También se producirá inactivación en la cartera de inmuebles, cuando se firme un contrato...
posiblemente puedan compartir código.
1.2.3.3. Listado de inquilinos pendientes de contacto.
Nota: Incluir descripción breve de esta funcionalidad.
1.2.3.4. Rellenar informe de contacto.
Nota: Incluir descripción breve de esta funcionalidad.
Opcionalmente, los agentes pueden rellenar un informe sobre los contactos, típicamente
después de que éste se haya realizado.
1.2.4.
Otros aspectos funcionales.
Este subsistema interactúa con otros subsistemas en cuanto a:
− La gestión de los inquilinos potenciales, cuyos datos se recogen en el subsistema de
“gestión vía web”.
− La gestión de los contactos, que deben hacerse conforme al horario disponible de
los propietarios (subsistema “cartera de propietarios”).
− Los inquilinos inactivos: en la “cartera de inmuebles” se inactivarán los inquilinos
que firmen un contrato de alquiler.
José García Fanjul e Isabel Sevilla Rodríguez
Página 5
Ingeniería del software de gestión.
Caso práctico: Ejemplo de especificación funcional con DCUs (extracto).
ANEXO: Relaciones de dependencia en Visio.
La herramienta “visio” no usa, por defecto, la notación estándar de UML para las relaciones de
dependencia. A continuación se muestran ejemplos de dependencias “include” y “extend”
utilizando “visio”:
Consulta de
inmuebles por preferencias
«uses»
Ficha de inquilino
Inactivar inquilino
Inquilino
Figura 3. Dependencia “include” con “visio”.
Ficha de visita a
inmueble
«extends»
Ficha de contacto
Figura 4. Dependencia “extend” con “visio”.
No obstante, se pueden cambiar las propiedades de las formas para que utilicen la notación
estricta de UML. Por ejemplo:
Consulta de
inmuebles por preferencias
«uses»
Ficha de inquilino
Figura 5. Dependencia “include” con “visio” (forma de la flecha de UML).
José García Fanjul e Isabel Sevilla Rodríguez
Página 6
Descargar