Professional Documents
Culture Documents
El sistema software simula el comportamiento de una central de mensajera de telefona mvil. Este sistema permite a sus afiliados el intercambio de mensajes a travs de telfonos mviles, adems de otras funciones como las de consultar el saldo, recargar su saldo, etc. La funcionalidad de este sistema bsicamente es la siguiente: un usuario debe darse de alta en el sistema mediante cualquier mtodo tradicional o electrnico. Una vez el sistema tiene constancia del usuario, ste puede enviar mensajes a otros usuarios existentes en el sistema, puede consultar su saldo, solicitar una recarga de su saldo disponible, y activar o desactivar el desvo del telfono. El sistema en cada momento tendr constancia de los usuarios conectados al sistema (aquellos usuarios dados de alta que tengan su terminal mvil encendido) y aquellos usuarios desconectados. Los administradores del sistema en cualquier momento podrn solicitar a ste informacin de cualquier usuario y estadsticas del uso del sistema por parte de los usuarios del mismo. La informacin que desea mantener referente al problema es la siguiente:
Sobre las Personas 1. Los nombres, apellidos, direccin, etc., as como los datos
bancarios de los usuarios del sistema de telefona. sistema.
2. El identificador del telfono mvil asociado al usuario del Sobre los Telfonos 1. El identificador del telfono. Cada persona podr tener ms de
un telfono, si bien los telfonos tendrn identificador nicos.
2. Saldo asociado al telfono. 3. El estado del telfono (conectado o desconectado). 4. El desvo del telfono. Los telfonos podrn tener activado el
Sobre el Sistema 1. Coste de del envo de mensajes. Este coste podr cambiar con
el tiempo y da y hora en que se envan por el usuario. Saldo de cada uno de los telfonos. Estado de activacin y desvo de cada uno de los telfonos. Historia del uso del sistema de cada uno de los telfonos. Estadsticas del uso de los telfonos.
2. 3. 4. 5.
Los Procesos
Considerando esta informacin se debe disear un sistema software mediante el cual pueda llevar a cabo los siguientes procesos:
1. La consulta completa por parte de los administradores del 2. El uso del sistema por parte de los usuarios, es decir: los
sistema de toda la informacin acerca de los usuarios y uso por parte de estos del mismo. usuarios podrn conectarse, desconectarse, recargar el saldo de su telfono, consultar el saldo, activar el desvo y desactivar el desvo, enviar y recibir mensajes. El sistema, como tal, debe ser considerado como un usuario, cuya funcionalidad se limita, en este sentido, a recibir y enviar mensajes, adems de la anteriormente sealada.
mensajes consistirn en: Mensajes comunicando el saldo actual del terminal mvil. Mensajes de error comunicando cualquier error que se produzca por el mal uso del sistema por parte de los usuarios. sistema son: Intentar desviar el telfono mvil a s mismo. Activar un desvo cclico, es decir, que el conjunto de los desvos existentes origine que un telfono est desviado a s mismo. Intentar enviar un mensaje cuando el saldo del telfono no permite asimilar su coste. Encender un telfono previamente encendido. Apagar un telfono previamente apagado.
Estas estructuras de datos debern ser definidas explcitamente y de forma completa en sus aspectos conceptual, lgico y fsico en cada una de las partes que componen la documentacin del sistema software que se solicita.
ndice de contenidos
PARTE I : ORIENTADA AL CLIENTE 1. Estudio del problema y propuesta de una solucin software.
1.1. Descripcin detallada del problema. 1.2. Descripcin detallada de la solucin software. 1.2.1. 1.2.2. Descripcin de la informacin a tratar. Descripcin de la funcionalidad de la solucin.
-1-
ndice de figuras
Diagramas de Flujo de Datos (Yourdon) 1. 2. 3. 4. 5. 6. 7. 8. DFD nivel 0. DFD nivel 1. DFD nivel 2. (1.Subsistema administrador) DFD nivel 2. (2.Subsistema usuario) DFD nivel 3. (1.2.Gestin usuarios) DFD nivel 3. (1.3.Gestin sistema) DFD nivel 4. (1.3.2.Tarifas) DFD nivel 4. (1.3.4. Enviar mensaje a todos) 26 29 32 38 43 45 48 51
Arquitectura: Diagramas de Descomposicin Funcional (Yourdon) 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. Mostrar Usuarios Nuevo Usuario Actualizar Usuario Eliminar Usuario Mostrar Tarifas Nueva Tarifa Borrar Tarifa Modificar Tarifa Nmero del Sistema Tomar el Siguiente Destino Construir Mensaje Gratuito Enviar Mensaje Historia Estadsticas Conectar Desconectar Recargar Saldo Consultar Saldo Activar Desvo Desactivar Desvo Descontar Saldo Alta Baja
-2-
78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
Diagramas de Interfaz 33. Interfaz Administrador: Gestin de usuarios. 34. Interfaz Administrador: Gestin del sistema. 35. Interfaz Administrador: Historia. 36. Interfaz Administrador: Estadsticas. 103 105 106 107
-3-
ndice de tablas
Validacin del Anlisis 1. Matriz Entidad / Entidad 2. Matriz Requisito / Funcin 3. Matriz Requisito / Entidad Validacin del Diseo 4. Matriz Funcin / Papel Usuario 5. Matriz Funcin / Requisito 109 111 62 63 64
-4-
PARTE I
ORIENTADA AL CLIENTE
-5-
-6-
1.1.
Descripcin detallada del problema.
Se nos plantea la realizacin de un sistema software que simule y gestione una central de mensajera de telfonos mviles en la que existen una serie de usuarios que se envan mensajes de texto entre s adems de poder realizar otras operaciones que a continuacin pasaremos a describir. Para que un usuario pase a formar parte de nuestro sistema primero se ha de dar de alta proporcionando sus datos personales y bancarios al administrador del sistema, o bien rellenando un formulario web, mediante el cual si el usuario no existe ya en el sistema ser automticamente dado de alta. Si una persona quiere dar de alta un telfono en nuestro sistema, pero ya tiene un usuario en el mismo, slo ser necesario el NIF de la persona y el nmero del telfono mvil, ya que el resto de datos se encuentran ya en la base de datos del sistema. El NIF ser el identificador de cada persona dentro del sistema, puede haber dos personas con el mismo nombre y apellidos, pero el NIF ser siempre nico. Si una persona quiere modificar sus datos personales o bancarios deber realizarlo ponindose en contacto con el administrador quien tendr el software con la interfaz necesaria para interactuar con la base de datos del sistema de manera correcta. Para dar de baja un telfono (usuario del sistema) la persona podr ponerse en contacto con el administrador quien le requerir los datos necesarios (NIF y nmero de telfono) y realizar el proceso, o bien la misma persona podr realizar el proceso de baja rellenando el formulario existente en la pgina web designada para ello, en este caso el sistema dar de baja automticamente al usuario cuando reciba los datos del formulario web.
-7-
Al darse de baja un usuario pueden darse dos casos: La persona en cuestin tiene algn otro usuario del sistema (otro telfono) por tanto lo nico que se borrar ser ese usuario en cuestin, ese nmero de telfono. La persona no posee ms usuarios del sistema, por lo tanto, adems de borrar el nmero de telfono se han de borrar los datos de la persona de nuestra base de datos. El sistema tratar informacin sobre los datos personales (nombre, apellidos, NIF y direccin) y bancarios de sus usuarios, datos referentes al estado (conectado o no, saldo y desvo), nmero (identificador del telfono dentro del sistema) y propietario de cada uno de los telfonos mviles presentes en dicho sistema as como la historia de todas las operaciones llevadas a cabo por cada usuario del sistema, estadsticas del mismo y dems informacin relativa al sistema como pueden ser las tarifas de costes de mensajes. Esta informacin puede ser manipulada por los administradores del sistema en cualquier momento. Cada persona podr tener uno o ms telfonos, pero cada telfono tendr un nmero identificador nico dentro del sistema. El desvo de un telfono deber ser a otro usuario que est conectado, si el telfono al que se desva est apagado el mensaje lo almacenar el sistema y se lo entregar al usuario receptor cuando ste se conecte al mismo a no ser que el telfono al que se desviaba tuviese a su vez activado el desvo, en cuyo caso el sistema realizar el mismo proceso pero con el nmero de telfono al que se desva el segundo. El coste de los mensajes podr cambiar segn el da de la semana, la hora y la tarifa vigente actualmente. El sistema permitir a los usuarios darse de alta o de baja por medios tradicionales o electrnicos. Una vez que el usuario sea aceptado en el sistema, dispondr de un saldo propio y podr enviar mensajes a otros usuarios del sistema si su saldo lo permite, consultar su saldo actual (enviando un mensaje gratuito al sistema), recargar su saldo (que se cargar en su cuenta bancaria, ste proceso tambin se realizar enviando un mensaje gratuito al sistema), as como activar o desactivar el desvo de su telfono (tambin enviando un mensaje gratuito al sistema).
-8-
El tamao mximo permitido para los mensajes de texto ser de 150 caracteres. El saldo ser modificado por el sistema cada vez que el usuario enve un mensaje no gratuito o recargue el saldo de su telfono. El sistema tendr constancia en un momento dado de qu telfonos estn encendidos (usuarios del sistema conectados) y cuales estn apagados (usuarios del sistema desconectados). Cada vez que un usuario realice una operacin el sistema le comunicar mediante mensajes de texto informacin acerca de si la operacin se ha llevado a cabo satisfactoriamente. El sistema tambin ha de ser capaz de enviar a los usuarios mensajes de aviso ante una situacin de error, tal como intentar desviar un telfono a s mismo, activar un desvo cclico, desactivar el desvo de un telfono cuando ste no tiene activado el desvo, activar el desvo de un telfono cuando ste ya tiene activado un desvo, enviar mensajes cuando el saldo no lo permite, encender un telfono previamente encendido o apagar un telfono previamente apagado. As mismo el administrador podr enviar mensajes de informacin general (a travs del sistema, no de un telfono usuario), como por ejemplo el cambio de tarifas en el coste de los mensajes (horario, o precio), el cambio del nmero del sistema (al que los usuarios mandarn los mensajes gratuitos como recargar, activar desvo, etc...).
-9-
1.2.
Descripcin detallada de la solucin software.
Para la resolucin ptima de dicho problema le proponemos la siguiente solucin software, que a continuacin pasamos a describir basndonos en los siguientes aspectos: Descripcin de la informacin a tratar, en la que describiremos la informacin que va a tratar nuestro sistema de forma clara y concisa. Descripcin de la funcionalidad de la solucin, en la que describiremos toda la funcionalidad de la que va a disponer el sistema a desarrollar.
- 10 -
- Recibido, se refiere a si un mensaje que un determinado usuario a escrito y enviado, ha sido recibido por el usuario destino. - Fecha de envo del mensaje. - Hora de envo del mensaje, incluyendo hora, minutos y segundos. - Coste que le corresponde a ese mensaje y que depender de la fecha, hora y tarifas vigentes en el momento de ser enviado. ! Datos sobre cada tarifa: - Identificador de tarifa, ser un nmero que identificar de forma nica a cada tarifa. - Da inicio, da de la semana en la que comienza a aplicarse la tarifa. - Da fin, da de la semana en la que finaliza la aplicacin de dicha tarifa. - Hora inicio, hora a la que comienza a aplicarse. - Hora fin, hora a la que finaliza su aplicacin. - Coste, coste que tendrn los mensajes enviados dentro de esta tarifa. - Fecha vigencia, fecha de vigencia de la tarifa, que ser una fecha de caducidad.
- 12 -
- 13 -
o Consultar la historia de las operaciones llevadas a cabo en nuestro sistema por un determinado telfono. Podremos saber las recargas que ha hecho y por que cantidad, las consultas de saldo realizadas, los desvos de llamadas realizados y a qu nmero, las anulaciones de desvo y el destino, cuerpo, coste y estado (recibido o no) de cada mensaje. Para cada una de estas operaciones tambin conoceremos la fecha y la hora a la que fueron realizadas. o Consultar estadsticas sobre el uso del sistema por parte de un determinado usuario. En ests estadsticas se mostrarn los siguientes datos considerados de inters para la compaa: el total de dinero que lleva ese usuario gastado en la compaa, el nmero de mensajes que ha enviado, el nmero de telfono al cul enva ms mensajes, el nmero de telfono del cul recibe ms mensajes y el nmero de telfono al cul ms comnmente desva su telfono. ! Cualquier persona que se conecte a la web podr: o Darse de alta en el sistema rellenando un formulario con sus datos personales y el nmero de telfono que desea dar de alta. Si ya tiene otro telfono registrado en la compaa no tendr que volver a dar sus datos personales, slo tendr que dar su NIF y el sistema tras consultar sus datos, le mostrar tanto sus datos personales como los de sus telfonos registrados. o Dar de baja en el sistema cualquier telfono de su propiedad. Para ello deber proporcionar su NIF y se le mostrarn los telfonos que tiene registrados, para que elija el que quiere dar de baja. Si da de baja todos sus telfonos, tambin se eliminarn sus datos personales de la compaa.
- 14 -
! Cualquier usuario del sistema podr: o Conectarse al sistema (simplemente encendiendo el telfono), en caso de que no tuviera activado el desvo al conectarse recibir los mensajes que le fueron enviados mientras el telfono estaba desconectado. El sistema comprobar que no se intente conectar un telfono que ya est conectado, generando en dicho caso un mensaje de error. o Desconectarse del sistema (apagando el telfono). El sistema comprobar que no se intente desconectar un telfono ya desconectado y generar el mensaje de error oportuno. o Recargar su saldo mediante el envo de un mensaje gratuito al sistema, indicando la cantidad que se desea recargar. El cuerpo de este mensaje ser RECARGA seguido de una cantidad en euros. Dicha cantidad se cargar en la cuenta bancaria que proporcion al darse de alta y se sumar al saldo asociado a su telfono. El sistema mandar al usuario un mensaje indicando que la operacin se ha realizado con xito, as como su nuevo saldo o indicndole el tipo de error si la operacin no ha podido realizarse. o Consultar su saldo actual mediante el envo de un mensaje gratuito al sistema. El cuerpo de este mensaje ser CONSULTA, el sistema responder inmediatamente al usuario con un mensaje de texto en el que se le indicar su saldo actual o se le informar si hay algn tipo de error.
- 15 -
o Activar el desvo a otro nmero de telfono del sistema para que este ltimo reciba todos los mensajes que le sean enviados al usuario. Para activarlo habr que enviar un mensaje gratuito cuyo cuerpo ser DESVIA seguido de un nmero, que ser al que se desviarn los mensajes. El sistema comprobar que el desvo no sea cclico y mandar al usuario un mensaje indicndole una situacin de error o informndole de que el desvo ha sido realizado con xito. o Desactivar el desvo para que le vuelvan a llegar los mensajes que le sean enviados. El usuario deber mandar un mensaje gratuito al sistema, cuyo cuerpo ser DESVIA NO. El sistema informar al usuario que se ha realizado la operacin de forma correcta o del error que haya ocurrido. o Enviar un mensaje de texto a otro usuario del sistema, descontando del saldo el importe del mensaje segn la tarifa que le corresponda. El sistema comprobar si el emisor tiene saldo suficiente, que el usuario destino existe, as como el estado de desvo y el estado conectado o desconectado. Si se presenta algn error el sistema se lo comunicar al usuario mediante un mensaje de texto.
- 16 -
1.3.
Recursos Hardware y Software.
Recursos de desarrollo
Estos son los recursos software que consideramos necesarios para el desarrollo de nuestro sistema software: Sistema operativo Windows 98, NT, 2000 o XP. Como entorno de desarrollo para las interfaces usaremos Microsoft Visual Basic. Se utilizar Oracle 8i para la definicin y manipulacin de la base de datos de nuestro sistema. Software de conexin a internet para el mdem. Como recursos hardware mnimos y recomendados se considerarn los siguientes: Microprocesador Intel Pentium o similar. Frecuencia de reloj de la CPU 200 Mhz. Memoria RAM de 32 Mb. Mdem de 128 Kbps (para realizar las pruebas con conexin a la red).
- 17 -
Recursos de explotacin
Estos son los recursos software que consideramos necesarios para la explotacin de nuestro sistema software: Sistema operativo Windows 98, NT, 2000 o XP. Se utilizar Oracle 8i para la manipulacin de la base de datos de nuestro sistema. Software de conexin a internet para el mdem. El software desarrollado en este proyecto, por supuesto. Como recursos hardware mnimos y recomendados se considerarn los siguientes: Microprocesador Intel Pentium o similar. Frecuencia de reloj de la CPU 350 Mhz. Memoria RAM de 32 Mb. Mdem de 128 Kbps.
- 18 -
PARTE II
ORIENTADA AL INGENIERO
- 19 -
- 20 -
2.1.
Descripcin detallada del problema.
Se trata de realizar un sistema que se encargar de simular el funcionamiento de una central de mensajera de mviles, para ello deber tratar una cierta informacin y ser capaz de realizar una serie de operaciones sobre sta. Los objetivos, requisitos y restricciones posteriormente sern validados son los siguientes: del sistema que
Alta y baja 1. Una persona podr darse de alta en el sistema proporcionando sus datos personales: NIF, nombre, apellidos, direccin y datos bancarios, as como el nmero de telfono mvil que se desea dar de alta. Si ya posee otro telfono dado de alta, slo tendr que proporcionar su NIF y el nmero de telfono que desea dar de alta. Una persona podr tener dados de alta en el sistema varios telfonos distintos pero sus datos personales han de ser nicos para todos sus telfonos. Un usuario podr dar de baja un nmero de telfono que previamente a dado de alta, proporcionando para ello su NIF y el nmero de telfono que desea dar de baja. Los mtodos para darse de alta en el sistema son mediante contacto directo con el administrador o mediante la pgina web de la compaa. Los mtodos para darse de baja son o bien contactando directamente con el administrador o mediante la pgina web de la compaa.
2.
3.
4.
5.
- 21 -
Usuario 6. 7. Para que un usuario pueda realizar cualquier operacin debe haberse dado previamente de alta en el sistema. Un usuario podr conectarse al sistema encendiendo su telfono mvil, y al hacerlo recibir (si no tiene activado el desvo) los mensajes que le enviaron cuando lo tena apagado. Un usuario podr desconectarse del sistema apagando su telfono mvil. Un usuario podr enviar mensajes de texto a otros usuarios del sistema siempre que cumpla unos requisitos: cuerpo del mensaje vlido, saldo suficiente y existencia en la compaa del telfono destino. Un usuario podr consultar su saldo actual enviando un mensaje al sistema con el cuerpo CONSULTA. Un usuario podr recargar su saldo enviando al sistema un mensaje con el cuerpo RECARGA seguido de la cantidad a recargar. Esta recarga se cargar a la cuenta bancaria del usuario. Un usuario podr activar un desvo de su telfono, siempre que ste no sea cclico, enviando al sistema un mensaje con el cuerpo DESVIA seguido del nmero de telfono al que se desea desviar. Un usuario podr desactivar el desvo de su telfono mandando al sistema un mensaje con el cuerpo DESVIA NO. Al realizar una operacin de consulta, recarga, desvo o desactivar desvo, el sistema responder de forma inmediata al usuario con un mensaje de texto que indique si la operacin ha sido concluida satisfactoriamente y la informacin actual de saldo y desvo, segn corresponda. En caso de error se le comunicar en este mensaje de informacin.
8. 9.
10. 11.
12.
13. 14.
- 22 -
Administrador 15. El administrador podr consultar la historia de todas las operaciones llevadas a cabo en el sistema por un determinado nmero de telfono. El administrador podr consultar las estadsticas de un determinado nmero de telfono de nuestro sistema. El administrador podr dar de alta a un nuevo usuario en el sistema, tomando sus datos personales y bancarios, as como el nmero de telfono mvil que ser dado de alta en el sistema, en caso de que ese usuario ya exista en la compaa porque tenga otros telfonos dados de alta, slo tendr que proporcionar el NIF y el nmero de telfono a dar de alta. Dar de baja a un determinado nmero de telfono en nuestro sistema. Deber proporcionar el NIF de su propietario, seguidamente el sistema le mostrar los telfonos que tiene dados de alta, el administrador seleccionar o proporcionar el nmero que desee eliminar. En caso de que ese propietario no tenga ms telfonos registrados, se eliminarn sus datos personales. El administrador podr realizar consultas genricas y especficas sobre los datos de los usuarios registrados en el sistema. El administrador podr realizar modificaciones sobre los datos de los usuarios registrados en el sistema. Podr realizar operaciones de creacin, borrado, consulta y modificacin sobre las tarifas de costes que aplica nuestro sistema a los mensajes. Podr modificar el nmero fijado como nmero del sistema al que los usuarios debern mandar sus peticiones. El administrador podr enviar mensajes de propsito general a todos los usuarios del sistema. Estos mensajes tendrn como fin informar acerca del cambio del nmero del sistema, de cambios de tarifas y de promociones de la compaa.
- 23 -
16. 17.
18.
19.
20. 21.
22. 23.
2.2.
Descripcin funcin. del dominio de la
En este apartado se presenta la funcionalidad del sistema que satisface los objetivos, requisitos y restricciones expresadas en el apartado anterior, descripcin detallada del problema. Para ello se har uso de los Diagramas de Flujo de Datos.
Nivel 0 o de contexto:
En este diagrama se define la frontera del sistema con el mundo exterior y se definen los flujos de entrada y salida del sistema con el entorno. Entidad externa Administrador: Representa a una persona que desempea la labor de administrador y que se comunica con el sistema mediante un terminal. Entidad externa Usuario: Representa a un usuario dado de alta en la compaa y que interacta con nuestro sistema mediante seales o mensajes de su telfono mvil. Entidad externa Web: Representa la pgina web de la compaa, mediante la cul un usuario se podr dar de alta usando su propio terminal.
- 24 -
Entidad externa Pantalla de ordenador: Representa la pantalla de cualquier terminal de ordenador con el que se haya accedido a nuestro sistema, all se ir mostrando informacin de inters. Entidad externa Usuario: Representa un telfono mvil de un usuario conectado a nuestro sistema. A ste le llegar informacin en forma de mensajes de texto. Proceso Sistema: Gestiona el centro de mensajera de telefona mvil, dando respuesta a las peticiones de gestin lanzadas por los administradores, a las peticiones que los usuarios hacen mediante su telfono mvil y a las peticiones de alta y baja realizadas mediante la pgina web. Adems de esto, se encarga de generar mensajes de informacin o de error y de hacrselos llegar al terminal del operador o al telfono mvil del usuario en forma de mensaje de texto. Flujo de datos flujo_administrador: Contiene datos acerca de la operacin que el administrador desea realizar en el sistema, usando su terminal. Flujo de datos flujo_usuario: Contiene informacin acerca de la peticin de servicio que nos hace un usuario de nuestro sistema mediante su telfono mvil. Flujo de datos flujo_web: Contiene los datos extrados del formulario web y que sern necesarios para dar de alta o de baja al cliente que lo solicita. Flujo de datos salida_a_pantalla: Representa cualquier informacin que el sistema arrojar a la pantalla de un terminal conectado al sistema: este terminal puede ser el de un administrador o el de un usuario conectado a la web. Flujo de datos salida_a_usuario: Representa los datos que enva el sistema a un usuario en forma de mensaje de texto.
- 25 -
NIVEL 0
ADMINISTRADOR
fluj o_a dm inis tra dor
USUARIO
flujo_usuario
PANTALLA ORDENADOR
0 SISTEMA
salid
eb o_w fluj
a_a _us ua
rio
USUARIO
WEB
FIGURA 1
- 26 -
Nivel 1:
En este diagrama se definen los subsistemas principales as como algunos procesos primitivos que ya no se descompondrn ms. Subsistema administrador: Este subsistema se encarga de gestionar las peticiones del administrador acerca de la gestin de usuarios, la gestin del propio sistema y la consulta de la historia y las estadsticas. Subsistema usuario: Se encarga de gestionar las peticiones que puede hacer un usuario mediante su telfono mvil: conectarse, desconectarse, recargar saldo, consultar saldo, activar el desvo, desactivar el desvo o enviar un mensaje de texto a otro usuario. Proceso distinguir_peticin_web: Dependiendo de los datos que recibe de la pgina web mediante un formulario decide si lo que se quiere realizar es una alta o una baja en el sistema y dependiendo de esto pasar los datos de alta al proceso alta o los datos de baja al proceso baja, para poder realizar la operacin. Proceso alta: Da de alta un nuevo usuario en el sistema, almacenando en la base de datos los datos proporcionados por el formulario web rellenado por el propio usuario. En el caso en el que el propietario del telfono que se desea dar de alta no est ya registrado en el sistema, tambin habr que registrar sus datos. Proceso baja: Partiendo del NIF introducido en el formulario web de baja, comprueba que est registrado en el sistema, en caso afirmativo le mostrar los nmeros de telfono que tiene registrados para que d de baja los que desee. Si una persona da de baja todos sus telfonos registrados tambin se darn de baja de forma automtica sus datos personales. Flujo de datos salida_administrador: Representa los datos de informacin que se le mostrarn al administrador al realizar alguna operacin.
- 27 -
Flujo de datos salida_a_usuario: Representa los datos en forma de mensaje que se mandarn al usuario como salida de alguna operacin realizada. Flujo de datos datos_alta: Contiene el NIF del propietario del telfono que se desea dar de alta. Flujo de datos alta_lee_bd: Representa los datos personales del propietario que extrae el proceso alta de la base de datos si ese usuario que est intentando dar de alta un telfono existe ya en el sistema y as poder usarlos para que no tenga que volver a proporcionarlos. Flujo de datos alta_act_bd: Representa el conjunto de datos del telfono que sern almacenados en la base de datos para que conste como registrado y el NIF de su propietario. Si el propietario no era usuario del sistema tambin contendr los datos necesarios para registrarlo. Flujo de datos datos_baja: Contiene el NIF del usuario que quiere dar de baja alguno de sus telfonos. Flujo de datos baja_lee_bd: Representa los datos, acerca del propietario y sus telfonos registrados, que el proceso Baja extrae de la base de datos partiendo del NIF proporcionado. Flujo de datos baja_act_bd: Representa el nmero de telfono y opcionalmente el NIF de su propietario, que son necesarios para eliminarlos de la base de datos. Almacn Base de Datos: Representa la base de datos del sistema, que ser consultada y modificada por los procesos alta y baja.
- 28 -
NIVEL 1
flujo_administrador
1. SUBSISTEMA ADMINISTRADOR
salida_administrador
salida_a_usuario
4. Alta
lta _a
flujo_web
3. Distinguir_peticin_ web
da
tos
Base de Datos
da tos _b aja
FIGURA 2
- 29 -
Nivel 2:
1. Subsistema administrador Subsistema gestin_usuarios: Este subsistema se encarga de gestionar las operaciones que el administrador podr realizar con la informacin de los usuarios, estas operaciones sern dar de alta, dar de baja, consultar y modificar. Subsistema gestin_sistema: Se encarga de gestionar las operaciones que el administrador puede realizar con informacin que afecta directamente al funcionamiento del sistema, tal como el cambio del nmero predeterminado del sistema, operaciones con las tarifas de costes de mensajes y envos de mensajes de propsito general a todos los usuarios del sistema. Proceso historia: Consulta en la base de datos la historia de un determinado telfono y muestra al administrador toda la informacin de las operaciones realizadas por dicho telfono. Proceso estadsticas: Consulta en la base de datos del sistema y extrae y calcula varia informacin en forma de estadsticas acerca de un telfono proporcionado. Dicha informacin se le mostrar al administrador. Flujo de datos datos_usuario: Estar formado por varios datos acerca de un usuario que sern diferenciados y usados en el subsistema de gestin de usuarios. Flujo de datos datos_sistema: Estar formado por informacin referente al sistema que ser diferenciada y usada en el subsistema de gestin del sistema. Flujo de datos datos_historia: Nmero de telfono aportado por el administrador al proceso que se encarga de mostrarle la historia de ese telfono dentro de nuestro sistema.
- 30 -
Flujo de datos datos_estadsticas: Nmero de telfono aportado por el administrador, que ser necesario para que el proceso estadsticas le muestre varias estadsticas acerca de ese telfono. Flujo de datos historia_lee_bd: Representa los datos que el proceso historia ha de extraer de la base de datos para poder presentar la historia del sistema. Flujo de datos estadsticas_lee_bd: Representa los datos que el proceso estadsticas ha de extraer de la base de datos para poder realizar su labor. Almacn Base de Datos: Representa la base de datos del sistema que ser consultada por los procesos historia y estadsticas.
- 31 -
1.2. Gestin_usuarios
salida_a_pantalla
da to s_ us ua rio
flujo_administrador
ma
1.3. Gestin_sistema
salida_gestin_sistema
d ato
s_h ist
oria
1.4. Historia
d sta
salida_a_pantalla historia_lee_bd
to da e s_
- 32 -
ic ist as
Base de datos
1.5. Estadsticas
estadisticas_lee_bd salida_a_pantalla
FIGURA 3
Nivel 2:
2. Subsistema usuario Proceso distinguir_flujo_usuario: Distingue el tipo de seal que ha enviado un usuario al sistema y dependiendo de sta arrojar varios tipos de flujos con distinta informacin. Proceso conectar: Cuando el usuario enciende su telfono se ejecuta este proceso que se encarga de actualizar en la base de datos su estado de desconectado a conectado y de ver si tiene mensajes pendientes de recibir, en cuyo caso se le enviarn. Proceso desconectar: Cuando el usuario apaga su telfono se ejecuta este proceso que se encarga de actualizar su estado de conectado a desconectado en la base de datos para que el sistema tenga constancia de ello. Proceso ver_tipo_de_mensaje: Se encarga de distinguir entre los distintos tipos de mensajes que puede mandar un usuario, que representan distintas operaciones, y de arrojar varios flujos con distinta informacin extrada del cuerpo del mensaje que ser necesaria para llevar a cabo la operacin solicitada. Proceso recargar_saldo: Dado un nmero de telfono y una cantidad a recargar, consulta el saldo actual de ese telfono y lo actualiza sumndole la cantidad de recarga. Construye el cuerpo de un mensaje que informar al usuario de su nuevo saldo. Proceso consultar_saldo: Dado un nmero de telfono consulta su saldo en la base de datos y construye el cuerpo de un mensaje que informar al usuario de su saldo actual.
- 33 -
Proceso activar_desvo: Dado un nmero de telfono y un nmero de telfono al que desviar los mensajes, comprueba que este desvo sea vlido y lo activa, almacenando dicho estado en la base de datos. Construye el cuerpo de un mensaje que informar al usuario de que sus mensajes sern desviados al nmero indicado. Proceso desactivar_desvo: Dado un nmero de telfono almacena en la base de datos el estado de no desvo. Proceso descontar_saldo: A partir de un mensaje que le llega, extrae los datos que lo componen, calcula el coste del mensaje consultando la tarifa que hay que aplicarle segn la fecha y hora de envo y se lo descuenta del saldo, forma el mensaje completo y lo almacena en la base de datos como un mensaje pendiente de ser enviado. Proceso construir_mensaje_gratuito: Recibe el cuerpo de un mensaje de informacin, el nmero de telfono del destinatario y calcula los restantes datos necesarios para la construccin de un mensaje, tomando como remitente el propio sistema, el coste de este tipo de mensajes ser gratuito. El mensaje se almacena en la base de datos como pendiente de ser enviado. Proceso enviar_mensaje: Recibe todos los datos de un mensaje y controla desvo y estado del telfono para ver si lo puede enviar, en caso afirmativo lo actualizar en la base de datos como recibido y lo enviar directamente al usuario destino. Flujo de datos flujo_mensaje: Representa la informacin que un usuario enva al sistema cuando manda un mensaje, ya sea a otro usuario o para realizar alguna operacin. Flujo de datos flujo_conectar: Es el flujo de datos que el usuario enva al sistema de forma automtica cuando enciende su telfono mvil.
- 34 -
Flujo de datos conectar_lee_bd: Representa la informacin que necesita extraer el proceso "Conectar" de la base de datos para conocer su estado y si tiene mensajes pendientes. Flujo de datos conectar_act_bd: Representa los datos necesarios para las actualizaciones que ha de hacer el proceso "Conectar" en la base de datos, referentes al cambio de estado de desconectado a conectado y a la actualizacin de los mensajes pendientes como recibidos. Flujo de datos flujo_desconectar: Es el flujo de datos que el usuario enva al sistema de forma automtica cuando apaga su telfono mvil. Flujo de datos desconectar_lee_bd: Representa la informacin que necesita extraer el proceso "Desconectar" de la base de datos para conocer su estado. Flujo de datos desconectar_act_bd: Representa los datos necesarios para la actualizacin que ha de hacer el proceso "Desconectar" en la base de datos, referente al cambio de estado de conectado a desconectado. Flujo de datos flujo_recarga: Contiene los datos necesarios para realizar la recarga de un telfono mvil: el nmero y la cantidad a recargar. Flujo de datos recargar_saldo_lee_bd: Representa la informacin referente al saldo actual del telfono, que necesita extraer el proceso "Recargar_saldo" de la base de datos. Flujo de datos recargar_saldo_act_bd: Representa los datos necesarios para la actualizacin que ha de realizar el proceso "Recargar_saldo" en la base de datos, actualizando el saldo del telfono que se ha recargado. Flujo de datos flujo_consulta: Contiene los datos necesarios para realizar una consulta de saldo: nmero de telfono.
- 35 -
Flujo de datos consultar_saldo_lee_bd: Representa la informacin referente al saldo actual del telfono, que necesita extraer el proceso "Consultar_saldo" de la base de datos. Flujo de datos flujo_desvo: Contiene los datos necesarios para realizar un desvo: el nmero de telfono a desviar y el telfono al que ser desviado. Flujo de datos activar_desvio_lee_bd: Representa la informacin referente al desvo actual del telfono, que necesita extraer el proceso "Activar_desvo" de la base de datos. Flujo de datos activar_desvio_act_bd: Representa los datos necesarios para la actualizacin que ha de hacer el proceso "Activar_desvo" en la base de datos para que conste el nuevo nmero al que se van a desviar los mensajes. Flujo de datos flujo_no_desvo: Contiene el nmero de telfono que lo solicita, necesario para realizar la operacin. Flujo de datos desactivar_desvio_act_bd: Representa los datos necesarios para la actualizacin que ha de hacer el proceso "Desactivar_desvo" en la base de datos para que ese telfono conste como que no tiene activado el desvo. Flujo de datos datos_mensaje: Contiene todos los datos referentes a un mensaje. Flujo de datos descontar_saldo_lee_bd: Representa la informacin referente al saldo actual del telfono y a la tarifa que hay que aplicar, que necesita extraer el proceso "Descontar_saldo" de la base de datos para llevar a cabo su funcin.
- 36 -
Flujo de datos descontar_saldo_act_bd: Representa los datos necesarios para la actualizacin de saldo que debe realizar el proceso "Descontar_saldo" en la base de datos para que conste el nuevo saldo una vez descontado el coste del envo del mensaje y los datos referentes al mensaje que ser almacenado en la base de datos para posteriormente ser enviado. Flujo de datos flujo_enviar_mensaje: Contiene todos los datos que componen un mensaje, necesarios para que el mensaje pueda ser enviado. Flujo de datos construir_mensaje_act_bd: Representa todos los datos referentes a un mensaje nuevo que ser insertado en la base de datos por el proceso "Construir_mensaje_gratuito". Flujo de datos enviar_mensaje_lee_bd: Representa los datos necesarios para enviar un mensaje: el estado y el desvo del telfono destino, que necesita extraer el proceso "Enviar_mensaje" de la base de datos. Flujo de datos enviar_mensaje_act_bd: Representa los datos necesarios para la actualizacin que ha de hacer el proceso "Enviar_mensaje" en la base de datos para que el mensaje conste como recibido. Almacn Base de Datos: Representa la base de datos del sistema, que ser consultada y modificada por los procesos conectar, desconectar, recargar_saldo, activar_desvo, descontar_saldo y enviar_mensaje, ser consultada por el proceso consultar_saldo y ser modificada por los procesos construir_mensaje_gratuito y desactivar_desvo.
- 37 -
recargar_saldo_act_bd
recargar_saldo_lee_bd
Base de datos
ca r
ga
flu jo_
2.6. Consultar_saldo
re
consultar_saldo_lee_bd
d a to s_ m en sa j
construir_mensaje_act_bd
co jo_ flu a ult ns
flujo_desvio
flu jo_ n o _d es vio
t da _m os en je sa
2.7. Activar_desvo
datos_mensaje
nviar_m flujo_e
ensaje
Base de datos
2.9. Descontar_saldo
flujo_enviar_mensaje
1.3.4.3. Enviar_mensaje
salida_a_usuario
FIGURA 4
enviar_mensaje_lee_bd enviar_mensaje_act_bd
- 38 -
- 39 -
Nivel 3:
1.2. Gestin usuarios Proceso Mostrar_usuarios: Muestra en la pantalla una lista de todos los usuarios existentes en la base de datos, de forma que se puedan seleccionar de forma individual para actuar sobre ellos. Proceso seleccionar_accin_gestin_usuarios: Distingue la operacin que el administrador desea realizar con respecto a la gestin de usuarios y dependiendo de sta arroja la informacin necesaria para llevarla a cabo. Proceso nuevo_usuario: Da de alta un nuevo usuario en el sistema, almacenando en la base de datos los datos proporcionados por el formulario rellenado por el administrador. En el caso en el que el propietario del telfono que se desea dar de alta no est ya registrado en el sistema, tambin habr que registrar sus datos. Proceso eliminar_usuario: Partiendo del NIF introducido por el administrador, comprueba que est registrado en el sistema, en caso afirmativo le mostrar los nmeros de telfono que tiene registrados para que d de baja los que desee. Si una persona da de baja todos sus telfonos registrados tambin se darn de baja de forma automtica sus datos personales. Proceso actualizar_usuario: Partiendo del NIF introducido por el administrador, muestra sus datos personales y los de sus telfonos para que el administrador pueda actuar sobre ellos de forma individual y modificarlos. Flujo de datos mostrar_usuarios_lee_bd: Representa los datos de todos los usuarios de nuestro sistema, que sern mostrados por el proceso Mostrar_usuarios. Flujo de datos datos_nuevo_usuario: Representa el NIF del usuario que desea dar un telfono de alta.
- 40 -
Flujo de datos nuevo_usuario_lee_bd: Representa los datos que necesita extraer el proceso Nuevo_usuario de la base de datos para determinar si el usuario que se desea dar de alta ya existe o si su propietario ya tiene algn telfono dado de alta, en cuyo caso recuperar sus datos para no tener que volver a introducirlos. Flujo de datos nuevo_usuario_act_bd: Representa los datos necesarios para crear un nuevo usuario en el sistema y registrarlo en la base de datos de forma permanente. Opcionalmente si el propietario del telfono no posee otro telfono registrado, tambin contendr sus datos personales para poder registrarlo. Flujo de datos datos_eliminar_usuario: Representa el NIF del propietario del telfono o telfonos que se deseen dar de baja. Flujo de datos eliminar_usuario_lee_bd: Representa los datos acerca del propietario y sus telfonos, que se han de extraer de la base de datos. Flujo de datos eliminar_usuario_act_bd: Representa el nmero de telfono que se desea dar de baja y opcionalmente el NIF de su propietario, necesarios para realizar la eliminacin de un usuario en la base de datos. Flujo de datos datos_actualizar_usuario: Contiene NIF del usuario del cul se van a mostrar y modificar sus datos. Flujo de datos actualizar_usuario_lee_bd: Representa los datos del propietario y de sus telfonos que el proceso Actualizar_usuario extrae de la base de datos partiendo del NIF proporcionado para mostrarlos y poder realizar los cambios de forma ms clara. Flujo de datos actualizar_usuario_act_bd: Representa los datos de una persona y sus telfonos que han sido modificados y sern necesarios para realizar la actualizacin en la base de datos del sistema.
- 41 -
Almacn Base de Datos: Representa la base de datos del sistema, que ser consultada y modificada por los procesos nuevo_usuario, eliminar_usuario y actualizar_usuario y que ser consultada por el proceso mostrar_usuarios.
- 42 -
nuevo_usuario_act_bd
nuevo_usuario_lee_bd
salida_a_pantalla datos_actualizar_usuario
da to s
datos_usuario
1.2.4. Actualizar_usuario
_e lim
actualizar_usuario_act_bd
actualizar_usuario_lee_bd
in
a r _u su
ar io
eliminar_usuario_act_bd
eliminar_usuario_lee_bd
mostrar_usuarios_lee_bd
Base de Datos
FIGURA 5
- 43 -
Nivel 3:
1.3. Gestin sistema Proceso seleccionar_accin_gestin_sistema: Distingue la operacin que el administrador desea realizar con respecto a la gestin del sistema y dependiendo de sta arroja la informacin necesaria para llevarla a cabo. Proceso tarifas: Se encarga de la gestin de las tarifas de costes de mensaje que aplicar nuestro sistema. Proceso numero_sistema: Cambia el nmero actual del sistema por otro nmero proporcionado por el administrador. Proceso enviar_mensaje_a_todos: Enva un mensaje de propsito general a todos los usuarios de nuestro sistema. Flujo de datos datos_tarifas: Representa un conjunto de datos referentes a la gestin de las tarifas actuales del sistema. Flujo de datos datos_n_sistema: Informacin sobre el nmero del sistema. Flujo de datos datos_enviar_mensaje_a_todos: Contiene el cuerpo de un mensaje de informacin general que ser enviado a todos los usuarios del sistema. Flujo de datos nmero_sistema_lee_bd: Representa el nmero que consta como nmero actual del sistema. Flujo de datos nmero_sistema_act_bd: Representa un nmero que ser registrado como el nuevo nmero de sistema.
- 44 -
Almacn Datos sistema: Representa un fichero que contiene datos sobre el sistema, como su nmero, en este caso el proceso nmero_sistema consulta y modifica este dato.
to da
a rif ta _ s
datos_n_sistema
da to s_ en via r_ m
1.3.3. Nmero_sistema
nmero_sistema_lee_bd nmero_sistema_act_bd
en sa je _a _t
Datos Sistema
od os
salida_a_usuario
FIGURA 6
- 45 -
Nivel 4:
1.3.2. Tarifas Proceso mostrar_tarifas: Muestra en la pantalla una lista de todas las tarifas registradas en la base de datos. Proceso seleccionar_opcin_tarifa: A partir de los datos proporcionados por el administrador distingue su peticin y arroja los datos necesarios para llevarla a cabo. Proceso nueva_tarifa: Crea una nueva tarifa a partir de la informacin que le llega, si no le llega ninguna informacin la pedir. Estos datos sern comprobados antes de almacenarse en la base de datos. Proceso borrar_tarifa: Borra una tarifa que indicamos mediante la seleccin de alguna de las tarifas existentes. Proceso modificar_tarifa: Tras seleccionar una tarifa existente y modificar sus datos, comprueba que sean vlidos los cambios, pide confirmacin y almacena los cambios en la base de datos. Flujo de datos mostrar_tarifas_lee_bd: Representa los datos que el proceso Mostrar_tarifas debe extraer de la base de datos para poder mostrar todas las tarifas existentes. Flujo de datos nueva_tarifa: Opcionalmente contiene varios datos proporcionados por el administrador y que son necesarios para crear una tarifa nueva. Flujo de datos nueva_tarifa_lee_bd: Representa los datos que el proceso Nueva_tarifa ha de extraer de la base de datos para saber si existe o no otra tarifa ya creada con esos datos.
- 46 -
Flujo de datos nueva_tarifa_act_bd: Representa todos los datos de una tarifa que necesita el proceso Nueva_tarifa para poder llevar a cabo el registro de una nueva tarifa en la base de datos del sistema. Flujo de datos borrar_tarifa: Contiene el identificador de tarifa necesario para poder borrar una tarifa existente. Flujo de datos borrar_tarifa_lee_bd: Representa los datos que el proceso Borrar_tarifa extrae de la base de datos para saber si existe la tarifa que se desea borrar. Flujo de datos borrar_tarifa_act_bd: Representa el identificador de tarifa necesario para que el proceso Borrar_tarifa pueda realizar el borrado de la tarifa solicitada en la base de datos. Flujo de datos modificar_tarifa: Contiene nuevos datos proporcionados por el administrador acerca de una tarifa en concreto que ser actualizada con estos nuevos datos. Flujo de datos modificar_tarifa_lee_bd: Representa los datos que el proceso Modificar_tarifa ha de extraer de la base de datos para una vez seleccionada una tarifa se le muestren todos sus datos al administrador y as pueda modificarlos de forma ms cmoda. Flujo de datos modificar_tarifa_act_bd: Representa los nuevos datos con los que se va a actualizar la tarifa en cuestin en la base de datos. Almacn Base de Datos: Representa la base de datos del sistema, que ser consultada y modificada por los procesos nueva_tarifa, borrar_tarifa y modificar_tarifa, y ser consultada por mostrar_tarifa.
- 47 -
NIVEL 4: TARIFAS
1.3.2.3. Nueva_tarifa
a_ ta rif a
salida_a_pantalla
nueva_tarifa_act_bd nueva_tarifa_lee_bd
nu ev
borrar_tarifa
1.3.2.4. Borrar_tarifa
ar _t ar ific od m ifa
salida_a_pantalla
borrar_tarifa_act_bd borrar_tarifa_lee_bd
1.3.2.5. Modificar_tarifa
salida_a_pantalla
modificar_tarifa_act_bd modificar_tarifa_lee_bd
mostrar_tarifas_lee_bd
Base de Datos
FIGURA 7
- 48 -
Nivel 4:
1.3.4. Enviar mensaje a todos Proceso tomar_el_siguiente_destino: Extrae de la base de datos del sistema todos los nmeros de telfono registrados y los va proporcionando uno a uno. Proceso construir_mensaje_gratuito: Recibe el cuerpo de un mensaje de informacin, el nmero de telfono del destinatario y calcula los restantes datos necesarios para la construccin de un mensaje, tomando como remitente el propio sistema, el coste de este tipo de mensajes ser gratuito. El mensaje se almacena en la base de datos como pendiente de ser enviado. Proceso enviar_mensaje: Recibe todos los datos de un mensaje y controla desvo y estado del telfono para ver si lo puede enviar, en caso afirmativo lo actualizar en la base de datos como recibido y lo enviar directamente al usuario destino. Flujo de datos flujo_tomar_el_siguiente_destino: Representa una seal que se genera cuando el proceso Enviar_mensaje enva un mensaje y que se utilizar para que se genere el siguiente nmero de destino al que hay que mandarle el prximo mensaje Flujo de datos tomar_sig_destino_lee_bd: Representa el nmero de telfono extrado de forma secuencial de todos los nmeros de telfono registrados que representa el siguiente nmero al que se le va a enviar el mensaje. Flujo de datos datos_mensaje: Contiene los datos necesarios para construir un mensaje.
- 49 -
Flujo de datos flujo_enviar_mensaje: Contiene todos los datos que componen un mensaje, necesarios para que el mensaje pueda ser enviado. Flujo de datos construir_mensaje_act_bd: Representa todos los datos referentes a un mensaje nuevo que ser insertado en la base de datos por el proceso "Construir_mensaje_gratuito". Flujo de datos enviar_mensaje_lee_bd: Representa los datos necesarios para enviar un mensaje: el estado y el desvo del telfono destino, que necesita extraer el proceso "Enviar_mensaje" de la base de datos. Flujo de datos enviar_mensaje_act_bd: Representa los datos necesarios para la actualizacin que ha de hacer el proceso "Enviar_mensaje" en la base de datos para que el mensaje conste como recibido. Almacn Base de Datos: Representa la base de datos del sistema, que ser consultada y modificada por el proceso enviar_mensaje, ser consultada por el proceso tomar_el_siguiente_destino y ser modificada por el proceso construir_mensaje_gratuito.
- 50 -
tomar_sig_destino_lee_bd
construir_mensaje_act_bd
1.3.4.3. Enviar_mensaje
salida_a_usuario
flujo_tomar_el_siguiente_destino
FIGURA 8
- 51 -
2.3.
Diccionario de Datos.
A continuacin se presenta una lista, organizada por niveles, de los datos utilizados por el sistema y que grficamente se encuentran presentes en los flujos de datos y en los almacenes del conjunto de DFDs.
persona = { @NIF + nombre + apellidos + direccin + datos_bancarios } telefono = { @numero + saldo + estado + NIF } mensaje = { @fecha + @hora + @numero + destino + recibido + cuerpo + coste_mensaje + id_tarifa } tarifa = { @id_tarifa + dia_inicio + dia_fin + hora_inicio + hora_fin + fecha_vigencia + coste } desvio = {@numero_desvia + numero_recibe } [ NIF | nombre | apellidos | direccin | datos_bancarios | numero | saldo | estado | fecha | hora | cuerpo | recibido | destino | coste_mensaje | id_tarifa | dia_inicio | dia_fin | hora_inicio | hora_fin | fecha_vigencia | coste | numero_desvia | numero_recibe ] = itemdedatos itemdedatos = {a-z, A-Z, 0-9}
- 52 -
NIVEL 0:
flujo_administrador /*Contiene datos acerca de la operacin que el administrador desea realizar en el sistema, usando su terminal*/ flujo_usuario /*Contiene informacin acerca de la peticin de servicio que nos hace un usuario de nuestro sistema mediante su telfono mvil*/ flujo_web /*Contiene los datos extrados del formulario web y que sern necesarios para dar de alta o de baja al cliente que lo solicita*/ salida_a_pantalla = { itemdedatos } salida_a_usuario = mensaje
NIVEL 1:
flujo_web = [datos_alta | datos_baja] datos_alta = NIF alta_lee_bd = persona alta_act_bd = telefono + NIF + (persona) datos_baja = NIF baja_lee_bd = persona + {telefono} baja_act_bd = numero + (NIF) salida_administrador = [salida_a_pantalla | salida_gestion_sistema]
- 53 -
- 54 -
- 55 -
2.4.
Descripcin del informacin. dominio de la
Para la descripcin del dominio de la informacin se ha realizado un esquema conceptual usando la metodologa propuesta por Peter Chen y hemos obtenido el siguiente diagrama Entidad-Interrelacin. Para realizar dicho esquema conceptual hemos considerado los siguientes supuestos:
Supuestos
S1 Se mantendr la siguiente informacin acerca de las personas dadas de alta en la compaa: nombre, apellidos, direccin, NIF y nmero de cuenta bancaria. S2 Se considera que no existen dos NIF iguales para la misma persona. S3 Consideramos que aunque el usuario tenga varios telfonos en la compaa, los datos bancarios, as como la direccin del usuario, sern los mismos para todos sus telfonos dados de alta. S4 Una persona puede tener varios telfonos en nuestro sistema pero un telfono slo puede tener un propietario. S5 Un telfono no podr existir en nuestro sistema si no tiene asociado un propietario registrado. S6 Se mantendr la siguiente informacin acerca de los telfonos: su nmero, saldo asociado y estado (conectado o desconectado). S7 Se considera que los nmeros de telfono mvil son nicos.
- 56 -
S8 Un telfono podr desviarse a otro o no hacerlo. S9 Un telfono puede recibir desvos de ninguno, uno o muchos telfonos. S10 Slo existirn en el sistema aquellos desvos que no sean cclicos, es decir, que un telfono no se termine desviando a s mismo tras una serie de desvos intermedios. S11 Un telfono puede enviar o ningn mensaje o todos los mensajes que quiera, pero un mensaje slo puede ser enviado por un nico telfono. S12 Para que pueda existir un mensaje debe existir un telfono que lo enve. S13 Se considera que un mismo telfono no puede enviar dos mensajes al mismo tiempo. S14 Un mensaje ser identificado por la fecha, la hora de envo y el nmero de telfono. S15 Cada mensaje llevar asociado el nmero de destino al que ser enviado, el cuerpo del mensaje, un estado recibido (si o no) que indicar si el mensaje ya le ha llegado a su destinatario, y un coste asociado a la tarifa vigente. S16 A cada mensaje dependiendo de la fecha y hora de envo le corresponder una tarifa. S17 A cada mensaje le corresponde una nica tarifa, pero una tarifa puede ser aplicada a varios mensajes o a ninguno. S18 Se considera que una tarifa se identifica mediante un nmero entero id_tarifa, que ser nico para cada tarifa. S19 Con respecto a las tarifas se desea sostener informacin acerca del da de la semana de inicio, da de la semana de fin, hora de inicio, hora de fin, coste por mensaje y fecha de vigencia.
- 57 -
Anlisis de los tipos de entidad: Tipo de entidad persona: Representa una persona del mundo real, dada de alta en nuestro sistema. Se consideran los siguientes atributos: ! NIF: representa el NIF de la persona y va a ser el identificador de esta entidad (supuesto 1 y 2). ! Nombre: representa el nombre de dicha persona (supuesto 1). ! Apellidos: representa los apellidos de dicha persona (supuesto 1). ! Direccin: representa la direccin de dicha persona (supuesto 1). ! datos bancarios: representa la cuenta bancaria del usuario en la que se van a cargar las recargas (supuesto 1). Tipo de entidad telfono: Representa un telfono dado de alta en nuestro sistema. Se consideran los siguientes atributos: ! nmero: es el nmero de ese telfono mvil, que va a ser nico (supuesto 6 y 7). ! Saldo: indica el saldo que en ese momento tiene asociado el telfono (supuesto 6). ! Estado: indica el estado del telfono, que puede ser conectado o desconectado del sistema (supuesto 6). Tipo de entidad mensaje: Representa un mensaje que ha sido enviado por nuestro sistema. Se consideran los siguientes atributos: ! Fecha: fecha en la que el mensaje se envi, identifica al mensaje junto con la hora (supuesto 13 y 14). ! Hora: hora en la que el mensaje se envi, identifica al mensaje junto con la fecha de envo (supuesto 13 y 14).
- 58 -
! Destino: nmero del usuario al que se le mandar o fue mandado el mensaje (supuesto 15). ! Cuerpo: representa el texto que compone el mensaje (supuesto 15). ! Recibido: indica si el destinatario del mensaje ya lo ha sido recibido o no (supuesto 15). ! Coste_mensaje: indica el coste de ese mensaje segn la tarifa que le corresponda, se hereda del atributo coste del tipo de entidad tarifa, se duplica porque aumenta el rendimiento aunque haya redundancia (supuesto 15). Tipo de entidad tarifa: Representa una tarifa de coste de mensaje que ser aplicada a los mensajes que cumplan unas caractersticas. Se consideran los siguientes atributos: ! id_tarifa: es un nmero entero que identifica de forma nica la tarifa (supuesto 18). ! da_inicio: da de la semana en el que empieza a aplicarse la tarifa (supuesto 19). ! da_fin: da de la semana en el que finaliza la aplicacin de la tarifa (supuesto 19). ! hora_inicio: hora en la que empieza a aplicarse la tarifa (supuesto 19). ! hora_fin: hora a la que finaliza la aplicacin de la tarifa (supuesto 19). ! coste: coste por mensaje asociado a dicha tarifa (supuesto 19). ! fecha_vigencia: fecha de vigencia de la tarifa (supuesto 19).
- 59 -
Anlisis de los tipos de interrelacin: Tipo de interrelacin P-T: Relaciona el tipo de entidad persona con el tipo de entidad telfono de forma que a una persona le corresponden uno o varios telfonos, pero un telfono es propiedad de una sola persona (supuesto 3 y 4). Esta interrelacin es dbil por existencia (supuesto 5). Tipo de interrelacin T-M: Relaciona el tipo de entidad telfono con el tipo de entidad mensaje de forma que un telfono puede enviar cero o varios mensajes, pero un mensaje slo puede ser enviado por un nico telfono (supuesto 11). Esta interrelacin es dbil por existencia (supuesto 12). Tipo de interrelacin TA-M: Relaciona el tipo de entidad mensaje con el tipo de entidad tarifa de forma que a un mensaje le corresponde una nica tarifa, pero una tarifa puede ser aplicada a varios mensajes (supuestos 16 y 17). Tipo de interrelacin T-T: Relaciona el tipo de entidad telfono consigo mismo, de forma que un telfono se desva a ninguno o a un telfono, y un telfono recibe desvos de ninguno o muchos telfonos (supuesto 8 y 9).
- 60 -
propiedad_de
1:N
EX
P-T
es_propietaria_de
1:N
TA - M
TELEFONO
T-T
1:N
(0,n)
(0,n)
recibe_desvos_de
es_aplicada_a
(1,n)
(0,1)
se_desva_a
le_corresponde
1:N
son_enviados_por ID T-M enva
FIGURA 9
- 61 -
2.5.
Validacin del anlisis.
Matriz Entidad / Entidad
Esta matriz muestra las interrelaciones entre los tipos de entidad de la base de datos desarrollada como soporte para la informacin que ha de manejar el sistema software. La Base de Datos consta de los siguientes tipos de entidades: Persona Telfono Mensaje Tarifa Los tipos de interrelaciones existentes entre ellas son las siguientes: Interrelacin Persona - Telfono Interrelacin Telfono - Mensaje Interrelacin Mensaje - Tarifa Interrelacin Telfono - Telfono
PERSONA TELFONO MENSAJE PERSONA TELFONO MENSAJE TARIFA P-T P-T T-T T-M TA-M T-M
TARIFA
TA-M
TABLA 1
- 62 -
TABLA 2
- 63 -
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
- 64 -
- 65 -
3.1.
Refinamiento informacin. del dominio de la
En el desarrollo de los DFDs en el apartado 2.2. Descripcin del dominio de la funcin, alcanzamos el nivel de primitivas y consideramos que no sera necesario refinar ms. En este apartado comentaremos brevemente los procesos internos que debera de realizar cada uno de estos procesos primitivos para desarrollar su funcin de forma correcta. Esta descripcin se har siguiendo el orden de numeracin que recibieron las funciones primitivas en los DFDs.
1. Subsistema administrador Este subsistema se encarga de gestionar las peticiones del administrador acerca de la gestin de usuarios, la gestin del propio sistema y la consulta de la historia y las estadsticas. 1.2. Subsistema gestin usuarios Este subsistema se encarga de gestionar las operaciones que el administrador podr realizar con la informacin de los usuarios, estas operaciones sern dar de alta, dar de baja, consultar y modificar. 1.2.1. Proceso Mostrar_usuarios Muestra en la pantalla una lista de todos los usuarios existentes en la base de datos, de forma que se puedan seleccionar de forma individual para actuar sobre ellos. 1.2.2. Proceso seleccionar_accin_gestin_usuarios Distingue la operacin que el administrador desea realizar con respecto a la gestin de usuarios y dependiendo de sta arroja la informacin necesaria para llevarla a cabo.
- 66 -
1.2.3. Proceso nuevo_usuario Da de alta un nuevo usuario en el sistema, almacenando en la base de datos los datos proporcionados por el formulario rellenado por el administrador. En el caso en el que el propietario del telfono que se desea dar de alta no est ya registrado en el sistema, tambin habr que registrar sus datos. 1.2.4. Proceso actualizar_usuario Partiendo del NIF introducido por el administrador, muestra sus datos personales y los de sus telfonos para que el administrador pueda actuar sobre ellos de forma individual y modificarlos. 1.2.5. Proceso eliminar_usuario Partiendo del NIF introducido por el administrador, comprueba que est registrado en el sistema, en caso afirmativo le mostrar los nmeros de telfono que tiene registrados para que d de baja los que desee. Si una persona da de baja todos sus telfonos registrados tambin se darn de baja de forma automtica sus datos personales.
1.3. Subsistema gestin sistema Se encarga de gestionar las operaciones que el administrador puede realizar con informacin que afecta directamente al funcionamiento del sistema, tal como el cambio del nmero predeterminado del sistema, operaciones con las tarifas de costes de mensajes y envos de mensajes de propsito general a todos los usuarios del sistema. 1.3.1. Proceso seleccionar_accin_gestin_sistema Distingue la operacin que el administrador desea realizar con respecto a la gestin del sistema y dependiendo de sta arroja la informacin necesaria para llevarla a cabo. 1.3.2. Subsistema tarifas Se encarga de la gestin de las tarifas de costes de mensaje que aplicar nuestro sistema. 1.3.2.1. Proceso mostrar_tarifas Muestra en la pantalla una lista de todas las tarifas registradas en la base de datos.
- 67 -
1.3.2.2. Proceso seleccionar_opcin_tarifa A partir de los datos proporcionados por el administrador distingue su peticin y arroja los datos necesarios para llevarla a cabo. 1.3.2.3. Proceso nueva_tarifa Crea una nueva tarifa a partir de la informacin que le llega, si no le llega ninguna informacin la pedir. Estos datos sern comprobados antes de almacenarse en la base de datos. 1.3.2.4. Proceso borrar_tarifa Borra una tarifa que indicamos mediante la seleccin de alguna de las tarifas existentes. 1.3.2.5. Proceso modificar_tarifa Tras seleccionar una tarifa existente y modificar sus datos, comprueba que sean vlidos los cambios, pide confirmacin y almacena los cambios en la base de datos. 1.3.3. Proceso numero_sistema Cambia el nmero actual del sistema por otro nmero proporcionado por el administrador. 1.3.4. Subsistema enviar_mensaje_a_todos Enva un mensaje de propsito general a todos los usuarios de nuestro sistema. 1.3.4.1. Proceso tomar_el_siguiente_destino Extrae de la base de datos del sistema todos los nmeros de telfono registrados y los va proporcionando uno a uno. 1.3.4.2. Proceso construir_mensaje_gratuito Recibe el cuerpo de un mensaje de informacin, el nmero de telfono del destinatario y calcula los restantes datos necesarios para la construccin de un mensaje, tomando como remitente el propio sistema, el coste de este tipo de mensajes ser gratuito. El mensaje se almacena en la base de datos como pendiente de ser enviado.
- 68 -
1.3.4.3. Proceso enviar_mensaje Recibe todos los datos de un mensaje y controla desvo y estado del telfono para ver si lo puede enviar, en caso afirmativo lo actualizar en la base de datos como recibido y lo enviar directamente al usuario destino. 1.4. Proceso historia Consulta en la base de datos la historia de un determinado telfono y muestra al administrador toda la informacin de las operaciones realizadas por dicho telfono. 1.5. Proceso estadsticas Consulta en la base de datos del sistema y extrae y calcula varia informacin en forma de estadsticas acerca de un telfono proporcionado. Dicha informacin se le mostrar al administrador.
2. Subsistema usuario Se encarga de gestionar las peticiones que puede hacer un usuario mediante su telfono mvil: conectarse, desconectarse, recargar saldo, consultar saldo, activar el desvo, desactivar el desvo o enviar un mensaje de texto a otro usuario. 2.1. Proceso distinguir_flujo_usuario Distingue el tipo de seal que ha enviado un usuario al sistema y dependiendo de sta arrojar varios tipos de flujos con distinta informacin. 2.2. Proceso conectar Cuando el usuario enciende su telfono se ejecuta este proceso que se encarga de actualizar en la base de datos su estado de desconectado a conectado y de ver si tiene mensajes pendientes de recibir, en cuyo caso se le enviarn. 2.3. Proceso desconectar Cuando el usuario apaga su telfono se ejecuta este proceso que se encarga de actualizar su estado de conectado a desconectado en la base de datos para que el sistema tenga constancia de ello.
- 69 -
2.4. Proceso ver_tipo_de_mensaje Se encarga de distinguir entre los distintos tipos de mensajes que puede mandar un usuario, que representan distintas operaciones, y de arrojar varios flujos con distinta informacin extrada del cuerpo del mensaje que ser necesaria para llevar a cabo la operacin solicitada. 2.5. Proceso recargar_saldo Dado un nmero de telfono y una cantidad a recargar, consulta el saldo actual de ese telfono y lo actualiza sumndole la cantidad de recarga. Construye el cuerpo de un mensaje que informar al usuario de su nuevo saldo. 2.6. Proceso consultar_saldo Dado un nmero de telfono consulta su saldo en la base de datos y construye el cuerpo de un mensaje que informar al usuario de su saldo actual. 2.7. Proceso activar_desvo Dado un nmero de telfono y un nmero de telfono al que desviar los mensajes, comprueba que este desvo sea vlido y lo activa, almacenando dicho estado en la base de datos. Construye el cuerpo de un mensaje que informar al usuario de que sus mensajes sern desviados al nmero indicado. 2.8. Proceso desactivar_desvo Dado un nmero de telfono almacena en la base de datos el estado de no desvo. 2.9. Proceso descontar_saldo A partir de un mensaje que le llega, extrae los datos que lo componen, calcula el coste del mensaje consultando la tarifa que hay que aplicarle segn la fecha y hora de envo y se lo descuenta del saldo, forma el mensaje completo y lo almacena en la base de datos como un mensaje pendiente de ser enviado. 3. Proceso distinguir_peticin_web Dependiendo de los datos que recibe de la pgina web mediante un formulario decide si lo que se quiere realizar es una alta o una baja en el sistema y dependiendo de esto pasar los datos de alta al proceso alta o los datos de baja al proceso baja, para poder realizar la operacin.
- 70 -
4. alta Da de alta un nuevo usuario en el sistema, almacenando en la base de datos los datos proporcionados por el formulario web rellenado por el propio usuario. En el caso en el que el propietario del telfono que se desea dar de alta no est ya registrado en el sistema, tambin habr que registrar sus datos. 5. baja Partiendo del NIF introducido en el formulario web de baja, comprueba que est registrado en el sistema, en caso afirmativo le mostrar los nmeros de telfono que tiene registrados para que d de baja los que desee. Si una persona da de baja todos sus telfonos registrados tambin se darn de baja de forma automtica sus datos personales.
- 71 -
3.2.
Descripcin lgica y fsica dominio de la informacin. del
A partir del diagrama Entidad-Interrelacin descrito en el apartado 2.4. Descripcin del dominio de la informacin, y aplicando las reglas de transformacin de esquemas E-R a esquemas relacionales (RTECAR), siguiendo el proceso que indicamos a continuacin, obtendremos los esquemas lgicos basados en el lgebra relacional que corresponden a dicho esquema conceptual. Aplicamos la regla RTECAR 1 a los tipos de entidad, cada uno se transformar en una tabla que mantendr tanto el nmero y tipo de atributos como la caracterstica de identificador de estos atributos. Con esto obtenemos las tablas persona, telefono, mensaje y tarifa. Los tipos de interrelacin que se nos presentan son 1:N, luego debemos aplicar la regla RTECAR 3.2 para el caso de la relacin T-T ya que el tipo de entidad que participa con cardinalidad mxima uno lo hace con mnima cero, y para el resto de tipos de interrelacin debemos aplicar la RTECAR 3.1 ya que la cardinalidad mnima del tipo de entidad que participa con mxima uno es uno. Para el primer caso, el de la interrelacin reflexiva, se crea una tabla nueva: teldevia-telrecibe, el identificador de telefono pasa como clave principal y fornea en el papel que tiene cardinalidad mxima muchos y de nuevo el identificador principal pasa como clave fornea en el papel que tiene cardinalidad mxima uno. Para el segundo caso el identificador del tipo de entidad que participa con cardinalidad mxima uno pasa a formar parte de la tabla correspondiente al tipo de entidad con cardinalidad mxima muchos, como clave fornea. En este caso a telefono pasara NIF y a mensaje numero e id_tarifa.
- 72 -
Persona (NIF, nombre, apellidos, direccion, datos_bancarios) Telefono (numero, saldo, estado, n_desvio, NIF) Mensaje (fecha, hora, cuerpo, recibido, destino, coste_mensaje, numero, id_tarifa) Tarifa (id_tarifa, dia_inicio, dia_fin, hora_inicio, hora_fin, coste, fecha vigencia) Desvio (numero_desvia, numero_recibe)
- 73 -
Estos esquemas relacionales estn normalizados a la forma normal de Boyce-Codd ya que los determinantes funcionales que existen son claves candidatas de su relacin. Recordemos que se denomina determinante funcional a uno o un conjunto de atributos de una relacin R del cual depende funcionalmente de forma completa algn otro atributo de la misma relacin. A continuacin pasaremos a describir la estructura fsica necesaria para representar y mantener la informacin, para ello utilizaremos SQL ya que es un lenguaje estandarizado y el ms utilizado por los SGBD basados en el lgebra relacional. CREATE TABLE persona ( NIF VARCHAR2(9) NOT NULL, nombre VARCHAR2(15) NOT NULL, apellidos VARCHAR2(30) NOT NULL, direccion VARCHAR2(50) NOT NULL, datos_bancarios NUMBER(20) NOT NULL, CONSTRAINT pk_persona PRIMARY KEY (NIF) ); CREATE TABLE telefono ( numero NUMBER(9) NOT NULL, saldo NUMBER(4) NOT NULL, estado RAW(1), NIF VARCHAR(9) NOT NULL, CONSTRAINT pk_telefono PRIMARY KEY (numero), CONSTRAINT fk_propietario FOREIGN KEY (NIF) REFERENCES persona(NIF) ON DELETE CASCADE );
- 74 -
CREATE TABLE mensaje ( fecha DATE NOT NULL, hora NUMBER(6) NOT NULL, cuerpo VARCHAR2(160), recibido RAW(1), destino NUMBER(9) NOT NULL, coste_mensaje FLOAT, numero NUMBER(9) NOT NULL, id_tarifa NUMBER(3) NOT NULL, CONSTRAINT pk_mensaje PRIMARY KEY (fecha, hora, numero), CONSTRAINT fk_numero FOREIGN KEY (numero) REFERENCES telefono(numero) CONSTRAINT fk_tarifa FOREIGN KEY (id_tarifa) REFERENCES tarifa(id_tarifa) ON DELETE CASCADE ); CREATE TABLE tarifa ( id_tarifa NUMBER(3) NOT NULL, dia_inicio VARCHAR2(1) NOT NULL, dia_fin VARCHAR2(1) NOT NULL, hora_inicio NUMBER(6) NOT NULL, hora_fin NUMBER(6) NOT NULL, fecha_vigencia VARCHAR2(10) NOT NULL, coste FLOAT NOT NULL, CONSTRAINT pk_tarifa PRIMARY KEY (id_tarifa) );
- 75 -
CREATE TABLE desvio ( numero_desvia NUMBER(9) NOT NULL, numero_recibe NUMBER(9) NOT NULL, CONSTRAINT pk_tarifa PRIMARY KEY (numero_desvia) CONSTRAINT fk_ndesvia FOREIGN KEY (numero_desvia) REFERENCES telefono(numero) CONSTRAINT fk_nrecibe FOREIGN KEY (numero_recibe) REFERENCES telefono(numero) ON DELETE CASCADE );
- 76 -
3.3.
Descripcin de la arquitectura del sistema.
Para describir la arquitectura del sistema haremos uso de los Diagramas de Descomposicin Funcional (DDF). Ms concretamente usaremos la simbologa propuesta por Yourdon para desarrollar los siguientes diagramas de estructuras.
- 77 -
Mostrar usuarios
hasta salir = si
sa N IF
lir
datospersona
da to s
NIF
er s
on
FIGURA 10
- 78 -
Nuevo usuario
hasta salir = si
ex
i st etl
f pe rso na
i st eN
F NI
IF
nu m er
ex lf et i st
nu
ex
NI F
rs o
sa l NIF
ir
na
er o
numero
eN i st ex
IF
ok
pe
F NI
Tomar NIF
Alta telfono
pe
r so
na
pe
NI F
rs o
na
nu
F NI
r so
na
ok
me
pe
ro
Alta persona
error
Guardar telfono
pe
r so
ok
na
on
persona
rs
ldo
nu
pe
ok
sa
F NI pe rs on a
me
ok
ro
sa
ldo
Almacenar persona en la BD
Almacenar telfono en la BD
FIGURA 11
- 79 -
Actualizar usuario
hasta salir = si
co n
nu e
firm
vo
a ci
sd at os
nue
on NIF
ste num so n
sa l NIF
e xi
ir
vo s
e ro
per
c
os dat s NIF fon o s per
on fir m
tele
nu e
a ci o n
vo s
so n
F NI ex
da
e i st
tos
a
ok
Tomar NIF
Consulta existencia
Mostrar datos
Realizar cambios
Pedir confirmacin
Realiza actualizacin
NIF
tel e
fon
os
da
tos na r so
NIF
pe
error
nu
ev
os
ok
salir
FIGURA 12
- 80 -
Eliminar usuario
hasta salir = si
exis
tetlf
n_a_
num
NIF
ex
NIF e xi ste NIF
eN ist pe rs on a
IF
e ro s
sali
ex i st et lf
NIF
NIF
confi
b o rra r
n_
b o rra
F NI m nu
Mostrar datos
_b o
ex
r ma c ion
r ra
iste tl
ok
er
Tomar NIF
n_a_
os
ok
Pedir confirmacin
Baja telfono
Baja persona
ro s
NIF
me
a_
bo
rra
NIF
nu
n_
ok
r so
na
pe
error
Eliminar telfono de la BD
ok
salir
salir
Eliminar persona de la BD
FIGURA 13
- 81 -
Mostrar tarifas
hasta salir = si
sa ar _t id ifa
lir
id_tarifa
da
datostarifa
to
st ar
ifa
FIGURA 14
- 82 -
Nueva tarifa
hasta salir = si
sa i tar fa
lir
tarifa
ok
vlida
lid
a tar i
Comprobar validez
fa
Realizar operacin
ta r
Guardar tarifa
ifa ok
error
fa
id_
tar i
ok
i tar
id_
fa i tar fa
Almacenar tarifa en la BD
FIGURA 15
- 83 -
Borrar tarifa
hasta salir = si
co n sa lir
firm
ac ion id_ ta r
existe
ifa
id_tarifa
id_
id_
r ta
ifa
ifa
tar
co nfi rm
tarifa
ion ac
i st e
Seleccionar tarifa
Consulta existencia
ex
ok
Mostrar tarifa
Pedir confirmacin
Realiza eliminacin
ifa
tar
id_
ifa
id_
Leer datos tarifa de la BD
tar tar
error Eliminar tarifa de la BD
ifa ok
salir
FIGURA 16
- 84 -
Modificar tarifa
hasta salir = si
co n
firm
nu
a ci
ev
on id_
at ar ifa
ifa tar
id_
e i st
tar ifa
i tar
fa
id_
r ta
ifa
e xi
sa l
ir
tar i
ste
fa
co
nue
nu e
n
id_ tar ifa a a ri f va t
fir m
va t a ri
ac ion
fa
ex
ok
Seleccionar tarifa
Consulta existencia
Mostrar tarifa
Realizar cambios
Pedir confirmacin
Realiza actualizacin
ifa
tar
id_
ifa
ata
rifa tar
id_
tar
error
Actualizar tarifa en la BD
nu
ev
ok
ifa
salir
FIGURA 17
- 85 -
hasta salir = si
nu
co
nuevonumero
sa
lir
ev
nfi rm
numero
nu m
ac
in
nu
me
ro
nu
er
ro
nu
ev
co n
on u
me
fir m
ro
ac
ok
Realizar cambios
Pedir confirmacin
Realiza actualizacin
on
um
er nu ev
ok
salir
FIGURA 18
- 86 -
hasta fin = si
cu e rp
fin
nu
nu
ro
me
me
me
ro
nu
ro
FIGURA 19
- 87 -
or
v li
des
cu no v lid o
do
tino
e rp
ig
en de sti no
me
n sa
je
cu e
rp o
ge
de
sti
cu e
rp
me
ns
aje
ok
Tomar datos
o ri
Cuerpo vlido
Formar mensaje
Almacenar mensaje en la BD
fecha
ige
or
re
error
hora
cib
id
co st e
FIGURA 20
- 88 -
Enviar mensaje
ns
do conecta
hasta salir = si
me
in st ad ct o
destino
aje
de
desvo
sa
de
lir
sv
o me n
salir
sa sa je
lir me ns aje
de
co ne
sti
no
Telfono conectado
en
sv o de de
Telfono desviado
sa de sv o
lir
sti
je m
sa
no
sa sa m en je
lir
en
sa
je
Enviar mensaje
je
me
n sa
sa l
n sa
me
ir
je
enviar
FIGURA 21
- 89 -
1.4. HISTORIA
ro
existe
nu
me
mensajes
sa m er
iste
lir
m en
numero
sa je
nu
Tomar nmero
Consulta existencia
ex
Mostrar datos
Ver detalle
hasta fin = si
nado
sele
e ro
saje
num
ccio
ccio
me n
sele
jes
nado
me
n sa
error
Seleccionar un mensaje
fin
FIGURA 22
- 90 -
1.5. ESTADSTICAS
ro
me
m
es
nu
er
me tad
o e
numero
sa m er o
lir
i st e
sta d
ns aje s ica i st s
ist ica s
nu
Tomar nmero
Consulta existencia
ex
Mostrar datos
nu
me
ro
me
ns
aje
error
FIGURA 23
- 91 -
2.2. CONECTAR
Conectar
i st e
nu
ex
me
ro
es tad o ok
ro
tad
nu
o es
nu me
num
e i st ex
e ro
nu
me
me
ro
ro
Tomar nmero
Consulta existencia
Ver estado
Activar
Mensajes pendientes
hasta fin = si
e ro
e ro
saje
me n
num
num
me n
num e ro
ok
saje
e st ado
error
error
fin
enviar
FIGURA 24
- 92 -
2.3. DESCONECTAR
Desconectar
me
ro
nu
es
existe
ta d
estado
ok
Tomar nmero
Consulta existencia
ex
i st e
nu
me
ro
numero
nu
er
Ver estado
Activar
num
e ro
num
ok
e ro
e st ado
error
error
FIGURA 25
- 93 -
Recargar saldo
ok
sa l d
NIF
ca n
ok
tida d
numero
ca n
d tida
ex
i st e
sa
ldo
num
e ro
ex e i st
ca
existe
num
nu
ex
Tomar datos Consulta existencia telfono
iste
sa
nu
er
e ro
ld
me
ro
nti da
cue rp
nu
me
num
ro
e ro
ok
F NI
ok
Consulta existencia propietario
Extraer saldo
Efectuar operacin
er
nu
ld
NI F sa
error Comprobar validez de datos bancarios
ok
error
FIGURA 26
- 94 -
nu
me
ro
e xi
num
nu
er
e ro
nu
me
ro sa
cu e
ste num e ro
rp o
sa l do
e xi
ste
ldo
Tomar nmero
Consulta existencia
Extraer saldo
nu
er m
o ldo sa
Leer saldo de ese telfono de la BD
error
FIGURA 27
- 95 -
nu
me r o
ok
d e sv
io
num
num d e sv io
ero
num e xi s
Consulta existencia telfono Comprobar existencia
e ro
ex de ex io sv ed ist es vio
e i st
nu
me ro
cu e r
e ro io d e sv
po
te
des
num
vio
e ro
ok
Tomar datos
Desvo cclico
Desviar
ro
me
io
vi o
nu
de
sv
es
io
i st ed
sv
ok
de
ex
error
error
de
sv
io
nu
me
ro
error
FIGURA 28
- 96 -
e xi s
e ro
num
ok
te
cu nu
te
er m
e xi s num ok
po er
e ro
nu
er
nu m
er
Tomar nmero
Consulta existencia
o
No desviar
ok
error
FIGURA 29
- 97 -
Descontar saldo
me des tino
n sa
je
cu e rp
ri g e n
ex ed i st
i st eo
i st ed
de
hor
st in
es
tin
h fec
cu e
ex
rp o
o ri g
ri g
en
o ri
ge
en
des
es tin o co or ig en e st
tino
fe
ch a
me n
ex
eo i st
ri g
en
hor
sa j e
c fe ha ho
me
ex
n sa
co s
je
te
ok
ra
Tomar datos
Existe destino
Cobrar mensaje
Formar mensaje
Almacenar mensaje en la BD
de
tin o
es
fec
ha
i st ed
ste
ex
ige
error
Actualizar saldo
or
co
error
coste
or
fecha
ig
en
sa
ld
o co st e
hora
sa
Leer saldo de ese telfono de la BD
ld
or
ig
en
Actualizar saldo en la BD
FIGURA 30
- 98 -
recibido
no sti ho ra
4. ALTA
Alta
hasta salir = si
ex
i st etl
nu ex
f pe
m lf et i st er o
i st eN
F NI
ex
rso
IF
na nu
numero
NI F
rs o
sa l NIF
eN i st ex IF
pe
ir
na
me
F NI
ro
ok
Tomar NIF
Alta telfono
pe
r so
na
pe
NI F
rs o
na
nu
F NI
r so
na
ok
ro me
pe
Alta persona
error
Guardar telfono
pe
r so
ok
na
on
persona
rs
ldo
nu
pe
ok
sa
F NI pe rs on a
me
ok
ro
sa
ldo
Almacenar persona en la BD
Almacenar telfono en la BD
FIGURA 31
- 99 -
5. BAJA
Baja
hasta salir = si
exis
tetlf
n_a_
num
NIF
ex
NIF e xi ste NIF
eN ist
IF rs on a
e ro s
sali
ex i st e
NIF
NIF
confi
tlf
b o rra r
n_
b o rra
F NI pe nu
Mostrar datos
a_
ex
r ma c ion
bo r
iste
tlf
ok
ra
er
Tomar NIF
n_a_
os
ok
Pedir confirmacin
Baja telfono
Baja persona
ro s
NIF
me
a_
bo
rra
NIF
nu
n_
ok
r so
na
pe
error
Eliminar telfono de la BD
ok
salir
salir
Eliminar persona de la BD
FIGURA 32
- 100 -
3.4.
Descripcin sistema. de la interfaz del
A continuacin aparece un prototipo de la interfaz que se le presentar al administrador al conectarse al sistema mediante su puesto de trabajo y que nos dar una idea de cmo interaccionar con el sistema. Para su desarrollo se ha hecho uso de la herramienta Microsoft Visual Basic 6.0. La interfaz de cualquier usuario sera su propio telfono mvil con el que interactuara con el sistema mediante el envo de mensajes de texto y en el cul recibira tanto los mensajes de informacin de las operaciones realizadas como los mensajes de error y los mensajes que le enven otros usuarios del sistema. Cualquier persona que quiera darse de alta o de baja en la compaa mediante el uso de la pgina web oficial de sta, se encontrar con un formulario compuesto por los mismos campos de texto que la interfaz de gestin de usuarios que presentamos ms adelante, y de varios botones de accin, uno para realizar el proceso de alta, otro para realizar la baja y otro que permitir limpiar del formulario todos los datos presentes. Los pasos a seguir para realizar estas operaciones son similares a los descritos para el administrador en las operaciones de alta y baja de usuarios.
- 101 -
Gestin de usuarios
En esta interfaz el administrador puede realizar las siguientes operaciones en relacin a la informacin de los usuarios: Al principio se mostrarn en la tabla que ocupa la parte inferior todos los usuarios del sistema, correspondiendo cada fila con un usuario y permitiendo la seleccin de uno de ellos para trabajar con sus datos de forma individual. Tambin podremos realizar consultas genricas o especficas rellenando los valores que conozcamos en las cajas de texto, en el caso de una consulta genrica las coincidencias aparecern en la tabla inferior para poder seleccionarlas de forma individual. Dar de alta a un usuario, para ello debe proporcionar el NIF del propietario, en caso de que ese usuario exista en el sistema porque tenga otros telfonos registrados, se mostrarn inmediatamente sus datos para no tener que volver a proporcionarlos, y slo habr que proporcionar el nmero de telfono que deseamos registrar y su saldo inicial, pero en el caso en el que ese usuario no este registrado, tendremos que proporcionar todos los datos personales, bancarios, as como nmero a registrar y saldo inicial. En ambos casos la operacin se llevar a cabo cuando pulsemos el botn Nuevo. En el caso en el que algn dato no sea vlido el sistema se encargar de informar generando el mensaje de error correspondiente. Dar de baja a un usuario, para ello deber seleccionar un usuario registrado, o bien seleccionando un usuario existente de la tabla de la parte inferior o bien proporcionando el nmero de telfono que se desea eliminar. Una vez seleccionado se mostrarn sus datos en las cajas de texto y si queremos eliminarlo deberemos pulsar sobre el botn Borrar. Modificar los datos de un determinado usuario, para ello deber seleccionar un usuario registrado, o bien seleccionando un usuario existente de la tabla de la parte inferior o bien proporcionando algn dato conocido para realizar as una consulta genrica o especfica. Una vez tengamos el usuario seleccionado, sus datos aparecern en las cajas de texto correspondientes y podremos cambiar los datos que queramos y si queremos que los cambios queden registrados en la base de datos, deberemos pulsar sobre el botn Guardar.
- 102 -
FIGURA 33
- 103 -
- 104 -
FIGURA 34
- 105 -
Historia
En esta interfaz el administrador podr ver la historia de todas las operaciones llevadas a cabo por un nmero de telfono de nuestro sistema si introduce dicho nmero en el campo de texto indicado como Nmero de Telfono y luego pulsa sobre Ver Historia. En la tabla inferior aparecern todas las operaciones por filas, de forma que si seleccionamos una veremos sus datos en los campos de texto centrales.
FIGURA 35
- 106 -
Estadsticas
En esta interfaz el administrador podr ver datos estadsticos sobre un nmero de telfono de nuestro sistema si introduce dicho nmero en el campo de texto indicado como Nmero de Telfono y luego pulsa sobre Ver Estadsticas. Se calcularn dichos datos estadsticos y aparecern en sus campos de texto correspondientes.
FIGURA 36
- 107 -
3.5.
Validacin del diseo.
Matriz Funcin / Papel de Usuario
Esta matriz relaciona las funciones principales mostradas en las filas con los tipos de papeles de usuario que se pueden presentar en nuestro sistema. Las casillas se marcan con una X si esa funcin la lleva a cabo dicho papel de usuario. Comprobamos que todas las funciones se llevan a cabo y slo la desempea un mismo papel de usuario.
- 108 -
ADMINISTRADOR
USUARIO
1.2. Gestin_usuarios 1.3. Gestin_sistema 1.4. Historia 1.5. Estadsticas 2.2. Conectar 2.3. Desconectar 2.5. Recargar_saldo 2.6. Consultar_saldo 2.7. Activar_desvo 2.8. Desactivar_desvo 2.9. Descontar_saldo 4. Alta 5. Baja X X X X X
X X X X X X X
TABLA 4
- 109 -
- 110 -
1 2 1.2.Gestin_usuarios 1.3.Gestin_sistema 1.3.4.3.Enviar_mensaje 1.4. Historia 1.5. Estadsticas 2.2. Conectar 2.3. Desconectar 2.5. Recargar_saldo 2.6. Consultar_saldo 2.7. Activar_desvo 2.8. Desactivar_desvo 2.9. Descontar_saldo 4. Alta 5. Baja X X X X X X X X X X X
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 X X X X X
X X X
X X
TABLA 5
- 111 -
APENDICES
- 112 -
datos_baja = NIF datos_eliminar_usuario = NIF datos_enviar_mensaje_a_todos = cuerpo datos_estadisticas = numero datos_historia = numero datos_mensaje = mensaje datos_mensaje = mensaje datos_n_sistema = numero datos_nuevo_usuario = NIF datos_sistema = [ datos_tarifas | datos_n_sistema | datos_enviar_mensaje_a_todos ] datos_tarifas = [ nueva_tarifa | borrar_tarifa | modificar_tarifa ] datos_usuario = [ datos_nuevo_usuario | datos_actualizar_usuario | datos_eliminar_usuario ] desactivar_desvio_act_bd = numero desconectar_act_bd = numero + estado desconectar_lee_bd = estado descontar_saldo_act_bd = numero + saldo + mensaje descontar_saldo_lee_bd = saldo + coste desvio = {@numero_desvia + numero_recibe } eliminar_usuario_act_bd = numero + NIF eliminar_usuario_lee_bd = persona + {telefono} enviar_mensaje_act_bd = mensaje enviar_mensaje_act_bd = mensaje enviar_mensaje_lee_bd = estado + numero enviar_mensaje_lee_bd = estado + numero estadisticas_lee_bd = {mensaje}
- 114 -
flujo_administrador /*Contiene datos acerca de la operacin que el administrador desea realizar en el sistema, usando su terminal*/ flujo_administrador = [datos_usuario | datos_sistema | datos_historia | datos_estadisticas] flujo_conectar = numero flujo_consulta = numero flujo_desconectar = numero flujo_desvio = desvio flujo_enviar_mensaje = mensaje flujo_enviar_mensaje = mensaje flujo_mensaje = [flujo_recarga | flujo_consulta | flujo_desvio | flujo_no_desvio | flujo_mensaje] flujo_no_desvio = numero flujo_recarga = numero + saldo flujo_tomar_el_siguiente_destino = destino flujo_usuario /*Contiene informacin acerca de la peticin de servicio que nos hace un usuario de nuestro sistema mediante su telfono mvil*/ flujo_usuario = [conectar | desconectar | flujo_mensaje] flujo_web /*Contiene los datos extrados del formulario web y que sern necesarios para dar de alta o de baja al cliente que lo solicita*/ flujo_web = [datos_alta | datos_baja] historia_lee_bd = {mensaje} itemdedatos = {a-z, A-Z, 0-9} mensaje = { @fecha + @hora + @numero + destino + recibido + cuerpo + coste_mensaje + id_tarifa } modificar_tarifa = id_tarifa
- 115 -
modificar_tarifa_act_bd = tarifa modificar_tarifa_lee_bd = tarifa mostrar_tarifas_lee_bd = {tarifa} nueva_tarifa = (tarifa) nueva_tarifa_act_bd = tarifa nueva_tarifa_lee_bd = tarifa nuevo_usuario_act_bd = telefono + NIF + (persona) nuevo_usuario_lee_bd = persona numero_sistema_act_bd = numero numero_sistema_lee_bd = numero persona = { @NIF + nombre + apellidos + direccin + datos_bancarios } recargar_saldo_act_bd = numero + saldo recargar_saldo_lee_bd = saldo salida_a_pantalla = { itemdedatos } salida_a_usuario = mensaje salida_administrador = [salida_a_pantalla | salida_gestion_sistema] salida_gestion_sistema = [ salida_a_pantalla | salida_a_usuario ] tarifa = { @id_tarifa + dia_inicio + dia_fin + hora_inicio + hora_fin + fecha_vigencia + coste } telefono = { @numero + saldo + estado + NIF } tomar_sig_destino_lee_bd = destino
- 116 -