Documente Academic
Documente Profesional
Documente Cultură
Sobre el Sistema
1. Coste de del envo de mensajes. Este coste podr cambiar con
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:
la
ndice de contenidos
5
1. Estudio del problema y propuesta de una solucin software.
PARTE
I : ORIENTADA
AL CLIENTE
1.1. Descripcin
detallada del problema.
1.2.Descripcin
detallada
dede
la la
solucin
software.
1.2.1.
Descripcin
informacin
a tratar.
1.2.2.
6
7
10
11
13
17
19
20
21
24
52
56
62
65
66
72
77
101
108
112
APNDICES
Diccionario de Datos ordenado alfabticamente.
-1-
113
ndice de figuras
1. DFD nivel
0. de Datos (Yourdon)
Diagramas
de Flujo
2. DFD nivel 1.
3. DFD nivel 2. (1.Subsistema administrador)
4. DFD nivel 2. (2.Subsistema usuario)
5. DFD nivel 3. (1.2.Gestin usuarios)
6. DFD nivel 3. (1.3.Gestin sistema)
7. DFD nivel 4. (1.3.2.Tarifas)
8. DFD nivel 4. (1.3.4. Enviar mensaje a todos)
26
29
32
38
43
45
48
51
61
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
-2-
95
96
97
Diagramas de Interfaz
33. Interfaz Administrador: Gestin de usuarios.
34. Interfaz Administrador: Gestin del sistema.
35. Interfaz Administrador: Historia.
36. Interfaz Administrador: Estadsticas.
-3-
103
105
106
107
ndice de tablas
62
63
64
109
111
-4-
PARTE I
ORIENTADA AL
CLIENTE
-5-
-6-
1.1.
-9-
1.2.
- 10 -
cliente
nmero de
telfono
al que sern
desviados.
! Datos sobre cada mensaje:
-
- 12 -
" Dar de
a podr:
un nuevo usuario en el sistema,
! El administrador
del alta
sistema
tomando el nmero de telfono mvil que se dar de
o Manipular informacin referente a los usuarios de nuestro
alta y el NIF de su propietario, en caso de que ese
sistema:
propietario no exista en la compaa porque no tenga
otros telfonos dados de alta, se tendrn que
proporcionar tambin sus datos personales para
almacenarlos en el sistema.
" Dar de baja a un determinado nmero de telfono en
nuestro sistema, as como borrar los datos personales
de su propietario en caso de que no tenga ms
telfonos registrados.
" Hacer consultas genricas y especficas sobre los
datos de los usuarios.
" Realizar modificaciones sobre los datos de los
usuarios.
del
sistema:
" Realizar operaciones de creacin, borrado, consulta y
modificacin sobre las tarifas de costes que aplica
nuestro sistema a los mensajes.
" Modificar el nmero fijado como nmero del sistema
- 13 -
- 14 -
el
- 15 -
1.3.
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.
2.
3.
4.
Usuario
6.
7.
8.
9.
Administrador
16.
2.2.
Descripcin
del
dominio
de
la
funcin.
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
- 24 usando
usuario se podr dar de alta
su propio terminal.
NIVEL 0
flujo_a
ADMINISTRADOR
inis
dm
dor
sa lida_
tra
USUARIO
0
SISTEMA
salid
a_p
a_a
anta lla
PANTALLA
ORDENADOR
_us ua
o_w
flujo_usuario
rio
WEB
eb
USUARIO
FIGURA
1
fluj
- 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 -
NIVEL 1
salida_administrador
1. SUBSISTEMA
ADMINISTRADOR
flujo_administrador
salida_a_usuario
salida_a_pantalla
4. Alta
2. SUBSISTEMA
lta
_a USUARIO
tos
da
alta_lee_bd
alta_act_bd
flujo_web
3.
flujo_usuario
Distinguir_peticin_
web
Base de Datos
da
tos
_b
aja
baja_act_bd
salida_a_pantalla
5. Baja
baja_lee_bd
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 -
- 31 -
1.2.
Gestin_usuarios
rio
ua
us
s_
to
da
flujo_administrador
1.1.
Seleccionar_opcin
_administrador
dat
os_
dato
ma
sis te
s_h
salida_a_pantalla
Gestin_sistema
ist oria
da
to
s_
e
sta
dist
ic
as
1.3.
1.4. Historia
salida_gestin_sistema
salida_a_pantalla
historia_lee_bd
Base de datos
estadisticas_lee_bd
1.5. Estadsticas
salida_a_pantalla
FIGURA 3
- 32 -
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
Proceso consultar_saldo:
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
- 35 -
mensaje,
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
recargar_saldo,
enviar_mensaje,
consultar_saldo
- 37 -
consultada
desconectar,
descontar_saldo
por
el
proceso
los procesos
construir_mensaje_gratuito y desactivar_desvo.
flujo_mensaje
2.2. Conectar
2.3. Desconectar
2.4. Ver_tipo_de_
mensaje
conectar_act_bd
conectar_lee_bd
Base de datos
desconectar_lee_bd
desconectar_act_bd
activar_desvio_lee_bd
activar_desvio_act_bd
desactivar_desvio_act_bd
Base de datos
- 38 -
2.5.
Recargar_saldo
2.6.
Consultar_saldo
2.7. Activar_desvo
2.8.
Desactivar_desvo
2.9.
Descontar_saldo
datos_mensaje
descontar_saldo_act_bd
descontar_saldo_lee_bd
ej
en
sa
je
recargar_saldo_act_bd
recargar_saldo_lee_bd
consultar_saldo_lee_bd
salida_a_usuario
Base de datos
construir_mensaje_act_bd
1.3.4.3.
Enviar_mensaje
1.3.4.2.
Construir_mensaje
_gratuito
flujo_enviar_mensaje
enviar_mensaje_lee_bd
enviar_mensaje_act_bd
flujo_e
ensaje nviar_m
esaj
da
_mtos
en
at d
os
_m
en
sa
da
to
s_
m
2.1. Distinguir_flujo
_usuario
fluj
o _c
flu
flu
jo_re
jo_
ca
co
rga
ns
ult
a
tda flu
os jo_
_m
en
o_n
jesa
de
sv
io
flujo_desvi
flujo_usuario
FIGURA 4
rcta
one
flujo_
desco
r necta
- 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 -
- 41 -
la
por
eliminar_usuario
los
procesos
y actualizar_usuario
- 42 -
nuevo_usuario,
y que
ser
1.2.1.
Mostrar_usuarios
datos_usuario
datos_usuario
FIGURA 5
1.2.2.
Seleccionar_accin
_gestin_usuarios
datos_actualizar_usuario
da
to
s_n
ue
vo
_u
sua
rio
- 43 -
mostrar_usuarios_lee_bd
da
to
s
_e
lim
in
r_a
us
u
ar
io
1.2.3.
Nuevo_usuario
1.2.4.
Actualizar_usuario
1.2.5.
Eliminar_usuario
salida_a_pantalla
nuevo_usuario_act_bd
nuevo_usuario_lee_bd
salida_a_pantalla
actualizar_usuario_act_bd
actualizar_usuario_lee_bd
salida_a_pantalla
eliminar_usuario_act_bd
eliminar_usuario_lee_bd
Base de Datos
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:
- 44 Representa el nmero que consta como nmero actual del
sistema.
ifas
ar
_t
tos
da
salida_a_pantalla
datos_sistema
1.3.1.
Seleccionar_accin
_gestin_sistema
da datos_n_sistema
s_
to via
r_
en
en
sa
_a
_t
m
1.3.3.
Nmero_sistema
nmero_sistema_lee_bd
nmero_sistema_act_bd
os
je
od
1.3.4.
Enviar_mensaje
salida_a_usuario
Datos Sistema
_a_todos
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: - 46 Opcionalmente contiene varios datos proporcionados por el
administrador y que son necesarios para crear una tarifa nueva.
FIGURA 7
datos_tarifas
datos_tarifas
NIVEL 4: TARIFAS
1.3.2.1.
Mostrar_tarifas
borrar_tarifa
- 48 -
mostrar_tarifas_lee_bd
1.3.2.2.
Seleccionar_opcin
_tarifa
nu
ev
a_
ta
rifa
m
od
ific
ar
ar_t
ifa
1.3.2.3.
Nueva_tarifa
1.3.2.4.
Borrar_tarifa
1.3.2.5.
Modificar_tarifa
salida_a_pantalla
nueva_tarifa_act_bd
nueva_tarifa_lee_bd
salida_a_pantalla
borrar_tarifa_act_bd
borrar_tarifa_lee_bd
salida_a_pantalla
modificar_tarifa_act_bd
modificar_tarifa_lee_bd
Base de Datos
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
un mensaje,
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
por el proceso tomar_el_siguiente_destino y ser
hacer
el proceso
en la base de datos para
modificada
por el"Enviar_mensaje"
proceso construir_mensaje_gratuito.
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
- 50 -
tomar_sig_destino_lee_bd
Base de datos
construir_mensaje_act_bd
datos_enviar_mensaje_a_todos
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.
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 -
- 55 -
2.4.
Descripcin
del
dominio
de
la
informacin.
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.
fecha_vigencia:
de vigencia de la tarifa
- 59 fecha
(supuesto 19).
- 60 -
dia_inicio
PERSONA
NIF
coste
TARIFA
(1,1)
1:N
EX
hora_fin
le_corresponde
propiedad_de
direccion
datos_bancarios
(1,1)
nombre
apellidos
dia_fin
hora_inicio
fecha_vigencia
P-T
numero
saldo
1:N
(0,1)
TA - M
se_desva_a
TELEFONO
es_aplicada_a
(1,n)
es_propietaria_de
id_tarifa
1:N
T-T
recibe_desvos_de
(0,n)
(0,n)
fecha
coste_mensaje
cuerpo
MENSAJE
hora
destino
(0,n)
(1,1)
estado
recibido
1:N
son_enviados_por
ID
T-M
enva
FIGURA 9
- 61 -
2.5.
T-M
TA-M
TA-M
TABLA 1
- 62 -
Esta matriz muestra en las filas los requisitos que debe cumplir
nuestro sistema y en las columnas los distintos subsistemas en que se
divide el propio sistema, se trata de validar los requisitos con las funciones
a nivel de subsistema.
Las casillas marcadas con una X representan que dicho requisito es
cubierto por el subsistema con el que se relaciona.
SUBSISTEMA
SUBSISTEMA
ALTA/BAJA
ADMINISTRADOR
USUARIO
Podemos observar que todos los requisitos de nuestro sistema son
1
X
cubiertos satisfactoriamente
por algn subsistema.
2
X
3
X
X
4
X
X
5
X
X
6
X
X
7
X
X
8
X
9
X
10
X
11
X
12
X
13
15
X
14
16
X
17
X
18
X
19
X
20
X
21
X
22
X
23
X
TABLA 2
- 63 -
Esta matriz muestra en las filas los requisitos que debe cumplir
nuestro sistema y en las columnas los distintos tipos de entidad existentes
en nuestro sistema.
Las casillas marcadas con una X representan que dicho requisito es
cubierto por el tipo de entidad con el que se relaciona.
TARIFA
MENSAJE
TELFONO
Podemos PERSONA
observar que todos
los requisitos
de nuestro sistema son
1 satisfactoriamente
cubiertos
X
por algn o algunos tipo o tipos de entidad.
2
9
10
11
12
13
14
15
21
16
22
17
23
18
19
20
X
X
X
X
X
X
X
X
- 64 -
TABLA 3
- 65 -
3.1.
Refinamiento del
dominio
de la
informacin.
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
- 66 -
- 67 -
- 68 -
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 -
- 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
fsica del
dominio de la informacin.
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 -
- 73 -
- 75 -
- 76 -
3.3.
- 77 -
FIGURA 10
NIF
sa
lir
- 78 -
hasta salir = si
Mostrar datos de la
persona
da
to
s
erp
ons
a
Mostrar usuarios
datospersona
Leer datos de esa
persona de la BD
NIF
pe
rso
na
ex
i st
etl
f
hasta salir = si
FNI
ex
i st
lfet
Consulta existencia
telfono
Alta telfono
Guardar telfono
rome
Nuevo usuario
Solicita nmero de
telfono
pe
r so
na
nu
Mostrar datos
persona
error
nu
m
er
o
ok
sa l
ir
Consulta existencia
persona
pe
rs
on
a
Almacenar persona
en la BD
Almacenar telfono
en la BD
sa
ldo
nu
rome
pe
r so
na
ok
Alta persona
- 79 -
ok
ok
sa
ldo
oer
mnu
numero
FNI
pe
rso na
Comprobar validez
de los datos
ok
Solicita datos
persona
FNI
Tomar
NIF
FIGURA 11
pe
rs
on
a
pe
rs o
na
exist
eNIF
persona
NIF
rso
na
pe
NI
F
ex
i st
eN
IF
NIF
NIF
Tomar
NIF
exi ste
Mostrar datos
num
se ro
per
aso n
Actualizar persona
y telfonos en la
BD
Pedir confirmacin
nu
NIF
onc
fir
m
ci oa
n
hasta salir = si
nu
co n
voe
sd
firm
at
a ci
os
on
Realizar cambios
nue
vo s
osdat
Actualizar usuario
per
son a
error
NIF
sa l
ir
NI
F
Consulta existencia
Realiza
actualizacin
ok
fono
s
tele
- 80 -
da
tos
NIF
tele
fon os
vo es
da
tos
ok
evos
nu
na
rso
pe
ex
i st
e
NIF
FIGURA 12
NIF
salir
NI
F
Mostrar datos
error
pe
rs
on
a
hasta salir = si
confi
ionr ma c
Pedir confirmacin
Baja telfono
salir
Consulta existencia
de ms telfonos
ok
NIF
ex
iste
tl
f
Eliminar usuario
Selecciona nmero
de telfono
Eliminar telfono
de la BD
salir
Baja persona
NIF
ok
exis
tetlf
ok
eros
num
NIF
n_
_ba
o
r ra
r
rrar
bo
borrar
n_a_
ist
eN
IF
ex
nu
m
er
os
ex
i st
et
lf
n_
a_
NIF
Consulta existencia
persona
sali
r
n_a_
rb o rra
- 81 -
Eliminar persona
de la BD
ok
me
ros
nu
e xi
ste
NIF
NIF
Tomar
NIF
FIGURA 13
pe
rso
na
NIF
FIGURA 14
sa
lir
- 82 -
datostarifa
Mostrar tarifas
id_tarifa
hasta salir = si
da
to
Mostrar datos de la
tarifa
st
ar
ifa
Leer siguiente
identificador de
tarifa de la BD
id_t
ar
ifa
FIGURA 15
Nueva tarifa
Comprobar validez
hasta salir = si
Guardar tarifa
Realizar operacin
Almacenar tarifa
en la BD
ok
v
lid
a
Generar
identificador de
tarifa
tar
fai
tarifa
- 83 -
ok
ok
tar
fai
ta
rifa
id_
faitar
vlida
id_
tarifa
tar
i
fa
sa
lir
error
sa
lir
Consulta existencia
id_
tar
ifa
Borrar tarifa
Mostrar tarifa
hasta salir = si
error
co
n
firm
ac
ion
Pedir confirmacin
co
rmnfi
ac
ion
Seleccionar tarifa
FIGURA 16
tarifa
- 84 -
Realiza eliminacin
Eliminar tarifa
de la BD
ok
ok
id_
ta
ifar
id_
tar
ifa
id_
tar
ifa
ex
iste
existe
id_tarifa
tar
ifa
id_
ta
rifa
salir
ifa
ifa tar
co n
firm
a ci
on
Realizar cambios
id_
tar
i
fa
Actualizar tarifa
en la BD
Pedir confirmacin
co
firn
m
ac
ion
hasta salir = si
nu
ev
at
ar
ifa
nue
va t
aa ri f
Modificar tarifa
error
id_
tar
ifa
tarifa
exi ste
id_
Mostrar tarifa
tar
- 85 -
Realiza
actualizacin
ok
ok
ata
rifa
nu
va et
a ri
fa
nu
ev
sa l
ir
Consulta existencia
tarifa
id_
ta
rifa
ex
i st
e
id_
tar
ifa
Seleccionar tarifa
FIGURA 17
id_
tar
i
fa
salir
er
o
nu
m
Nmero del
sistema
Realizar cambios
hasta salir = si
Pedir confirmacin
Realiza
actualizacin
Actualizar nmero
del sistema en
Datos Sistema
ok
sa
lir
Mostrar
nmero del sistema
- 86 -
nuevonumero
nu
ev
o
nu
m
e
ro
co
nfi
co
rm
firn
ac
m
in
ac
i
n
nu
ev
on
meu
ok
ro
nu
ev
on
um
ero
numero
FIGURA 18
nu
me
ro
salir
FIGURA 19
Leer el siguiente
nmero de telfono
de la BD
fin
nu
rome
hasta fin = si
nu
rome
Tomar el siguiente
destino
- 87 -
cu
oe rp
mero
nu
Comprobar validez
del cuerpo del
mensaje
Cuerpo vlido
or
ig
en
de
sti
no
re
cib
id
o
Tomar como
no recibido
cu
rpe
o
Formar mensaje
n sa
je
Construir mensaje
gratuito
error
orige
n
Tomar datos
FIGURA 20
ok
Almacenar
mensaje en la BD
Tomar coste
gratuito
co
st
e
vli
do
- 88 -
hora
cu
e rp
o
v
lid
o
or
igen
des
tino
de
sti
no
me
me
ns
aje
fecha
cu e
rp o
sa
lir
hasta salir = si
de
sv
o
Enviar mensaje
Telfono
conectado
Dejar mensaje
como pendiente
Formar mensaje
con un nuevo
destino
Telfono desviado
Actualizar mensaje
en la BD
como enviado
Enviar mensaje
sa
lir
me
ns
aje
m
en
sa
je
FIGURA 21
enviar
irsa l
sa
lir
- 89 -
me
n sa
je
en
sa
je
nsaje
me
me
san
je
de
sv
o
m
en
sa
je
desvo
salir
conecta do
destino
de
svo
me
ns
aje
de
st
in
o
co
ne
ct
ad
o
de
sti
no
de
sti
no
sa
lir
FIGURA 22
sa
lir
Consulta
existencia
Mostrar
datos
hasta salir = si
error
m
en
sa
je
s
Historia
num
ero
Leer mensajes
de ese telfono
de la BD
mensajes
- 90 -
Seleccionar
un mensaje
Ver detalle
sele
ccio
hasta fin = si
Mostrar datos
mensaje
nado
nado
ccio
sele
fin
s
men saje
nu
mero
ex
iste
existe
numero
me
nsa jes
1.4. HISTORIA
Tomar
nmero
nu
m
er
o
FIGURA 23
sa
lir
Consulta
existencia
numero
nu
mero
ex
iste
nu
mero
Leer mensajes
de ese telfono
de la BD
error
Calcular datos
estadsticas
e
sta
d
ist
ica
s
nu
m
er
o
hasta salir = si
es
tad
i st
ica
s
Estadsticas
mensajes
Mostrar
datos
- 91 -
me
ns
saje
existe
aje s
me
ns
1.5. ESTADSTICAS
Tomar
nmero
nu
m
er
o
Mostrar datos
estadsticas
Consulta
existencia
ex
i st
e
Conectar
nu
rome
error
Activar
Actualizar estado
conectado de ese
telfono en la BD
fin
Mensajes
pendientes
Extraer mensaje no
recibido de la BD
num ero
hasta fin = si
enviar
saje me n
nu
mero
Ver estado
error
men saje
nu
me
ro
ok
nu
me
ro
est
Leer estado
de ese telfono
de la BD
es
tado
- 92 -
num
e ro
2.2. CONECTAR
Tomar
nmero
FIGURA 24
ero
num
num
e ro
ex
iste
ok
es
otad
2.3. DESCONECTAR
FIGURA 25
Tomar
nmero
nu
me
ro
Consulta
existencia
Leer estado
de ese telfono
de la BD
num
ero
- 93 -
Actualizar estado
desconectado de
ese telfono en la
BD
Activar
error
ok
existe
Ver estado
es
estado dta
o
error
num
e ro
ok
nu
m
er
o
Desconectar
numero
ado
est
nu
me
ro
ex
iste
Consulta
existencia
telfono
Leer saldo
de ese telfono
de la BD
Efectuar operacin
error
Actualizar saldo de
ese telfono
en la BD
num
e ro
ca n
sa
ldo
sa l d
o
ok
ok
Recargar saldo
numero
NIF
Consulta
existencia
propietario
existe i stex
e
Comprobar validez
de datos bancarios
cue
rp
o
num
e ro
nu
me
ro
tida
d
ca
nti
da
d
ok
ex
iste
sald
o
error
- 94 -
ok
ok
FNI
NIF
nu
m
ero
Extraer saldo
sald
o
ex
iste
nu
m
ero
ca n
tida
d
nu
me
ro
Tomar
datos
FIGURA 26
num
e ro
Construir cuerpo
mensaje de
informacin
FIGURA 27
Consulta
existencia
Leer saldo
de ese telfono
de la BD
nu
me
ro
Extraer saldo
dosa l
nu
me
ro
cu
e
rp o
error
sa
ldo
Consultar saldo
e xi
ste
- 95 -
sa
ldo
Tomar
nmero
num
e ro
nu
m
er
o
ero
num
er
o
nu
m
exi
ste
Construir cuerpo
mensaje de
informacin
Consulta
existencia
telfono
ex
i st
e
ex
ist
ed
es
vio
error
error
Actualizar desvo
de ese telfono
en la BD
Desviar
cu e r
po
error
num
e ro
nu
me r
o
ok
Activar desvo
Desvo cclico
Comprobar si el
desvo es cclico
- 96 -
des
vio
mero
nu
e ro num
iod e sv
d e sv
io
nu
me
ro
de
svio
ok
ok
tede exis
svio
nu
mero
de
svio
de
sv
io
Comprobar
existencia
Consulta existencia
telfono a desviar
ex
ist
ed
esvio
num
e ro
de
svio
num
ero
e xi s
te
Tomar
datos
FIGURA 28
d e sv
io
Construir cuerpo
mensaje de
informacin
FIGURA 29
No desviar
cu
er
po
error
nu
m
er
o
Construir cuerpo
mensaje de
informacin
nu
m
er
o
Desactivar desvo
- 97 -
ok
ok
ero
num
Consulta
existencia
tee xi s
nu
m
ero
Actualizar desvo
de ese telfono
en la BD
exis te
Tomar
nmero
num
e ro
ok
nu
m
er
o
Existe destino
error
Actualizar saldo
en la BD
sa j e
Formar mensaje
ok
me n
co s
te
fe
ch a
hor
a
me
n sa
je
Descontar saldo
des
Cobrar mensaje
Calcular tarifa
segn fecha y hora
tino
or
ig
en
Actualizar saldo
o
ri g e
n
co
st
e
ho
ra
co
ste
Tomar como no
recibido
recibido
co
est
sa
ld
o
coste
cu e
rp o
Consulta existencia
del origen
error
sa
ld
o
cu e
rp
o
fe
hac
ho
ra
fec
ha
fecha
des
Consulta existencia
del destino
- 98 -
or
igen
ex
i st
ed
es
otin
igor
en
or
igen
hora
ex
ist
ed
es
tin
o
me
de
stin
o
n sa
je
ex
ist
eo
rig
en
o
o ri
ge
n
estin
tino
de
stino
exist
ed
o ri g
en
ex
i st
eo
ri g
en
Tomar datos
FIGURA 30
hor
a
fec
ha
Almacenar
mensaje en la BD
Mostrar datos
persona
Alta
Solicita nmero de
telfono
hasta salir = si
pe
rso
na
ex
i st
etl
f
FNI
ex
i st
lfet
Consulta existencia
telfono
error
nu
me
ro
Alta telfono
pe
nar so
Guardar telfono
nu
rome
sa l
ir
Consulta existencia
persona
Alta persona
- 99 -
Almacenar telfono
en la BD
sa
ldo
nu
me
ro
pe
r so
na
ok
ok
mnu
oer
pe
rs
on
a
Almacenar persona
en la BD
ok
ok
sa
ldo
numero
FNI
na
pe
rso
Comprobar validez
de los datos
ok
Solicita datos
persona
FNI
4. ALTA
Tomar
NIF
FIGURA 31
pers
on
a
pe
rs o
na
ex
isteN
IF
persona
NIF
na
pe
rso
NI
F
ex
i st
eN
IF
NIF
NIF
NI
F
Mostrar datos
error
pe
rs
on
a
Selecciona nmero
de telfono
Baja
tetlf
Baja telfono
salir
Consulta existencia
de ms telfonos
ok
NIF
ex
iste
tlf
hasta salir = si
confi
ionr ma c
Pedir confirmacin
Eliminar telfono
de la BD
salir
Baja persona
Eliminar persona
de la BD
ok
NIF
Consulta existencia
persona
sali
r
- 100 -
NIF
ok
exis
ok
eros
num
NIF
n_
a_
bo
r
ra
r
bo
rra r
a_
borrar
n_a_
ex
ist
eN
IF
er
os
nu
m
ex
i st
e
tlf
n_
me
ros
nu
e xi
ste
NIF
NIF
5. BAJA
Tomar
NIF
FIGURA 32
rso
na
pe
NIF
n_a_
rb o rra
3.4.
Descripcin
de
la
interfaz
del
sistema.
- 101 -
Gestin de usuarios
En esta interfaz el administrador puede realizar las siguientes
operaciones en relacin a la informacin de los usuarios:
Borrar.
botn
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.
- 108 -
ADMINISTRADOR
1.2.Gestin_usuarios
USUARIO
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
- 109 -
TABLA 4
Esta matriz nos muestra en las filas las distintas funciones de nuestro
sistema y en las columnas los requisitos que debe cumplir el mismo.
Las casillas marcadas con una X representan que dicho requisito es
cubierto por la funcin con la que se relaciona.
Podemos observar que todos los requisitos de nuestro sistema son
cubiertos por alguna funcin.
- 110 -
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
1 23 4
X X
X
6 7
8 9
- 111 -
X
X
X X
10 11 12 13 14 15 16 17 18 19 20 21 22 23
X
X X
X
X
X
TABLA 5
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 -
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 -