09.05.2013 Views

Tema 2

Tema 2

Tema 2

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

EL ANÁLISIS DEL PROBLEMA<br />

F.J. Zarazaga Soria, J. Nogueras Iso, M.A. Latre Abadía<br />

Ingeniería del Software I<br />

Versión 2.1 (febrero 2.002), revisión 2.1.6 (febrero 2.006), revisión 2.1.7 (febrero 2.010)<br />

Departamento de Informática e Ingeniería en Sistemas


“El análisis de sistemas es frustrante; está repleto de<br />

relaciones interpersonales complejas, indefinidas y<br />

difíciles. En una palabra, es fascinante. Una vez que<br />

uno se vuelve adicto, los viejos placeres fáciles de la<br />

construcción de sistemas ya nunca vuelven a<br />

satisfacerle.”<br />

Tom DeMarco. Structured Analysis and<br />

Systems Specification. Englewood Cliffs, N.J.:<br />

Prentice Hall, 1979, página 6.<br />

2


Índice<br />

1. Determinar requisitos<br />

2. Las labores de análisis<br />

3


EL ANÁLISIS DEL PROBLEMA<br />

1. Determinar requisitos<br />

F.J. Zarazaga Soria, J. Nogueras Iso, M.A. Latre Abadía<br />

Ingeniería del Software I<br />

Departamento de Informática e Ingeniería en Sistemas


Determinar requisitos. Índice<br />

1.1. El problema de la comunicación.<br />

1.2. ¿Qué es determinar requisitos?<br />

1.2.1. Búsqueda de requisitos.<br />

1.2.2. Clasificación de los requisitos.<br />

1.2.3. Especificación de los requisitos.<br />

1.3. Algunas técnicas utilizables.<br />

1.3.1. Tablas de requisitos.<br />

1.3.2. Entrevistas.<br />

1.3.3. Reuniones.<br />

1.3.4. Cuestionarios.<br />

1.3.5. Árboles de decisión.<br />

1.3.6. Tablas de decisión.<br />

1.3.7. Los Casos de Uso.<br />

5


Ejercicio de Comunicación (I)<br />

6


Ejercicio de Comunicación (II)<br />

7


Ejercicio de Comunicación (III)<br />

8


Necesitamos vichy de cuadros o de un color vivo, de 30 cm<br />

de ancho y largura y media del área que vamos a cubrir.<br />

Haremos una jareta en la parte de arriba de 5 cm de ancho,<br />

dejando 3 cm para la patilla y 2 para la goma. Una vez este<br />

pasada, hacer una presilla e cada extremo para poder<br />

colgarlo. En la parte de abajo se efectúa un dobladillo<br />

estrecho y se remata con puntos de escapulario o de tripa.<br />

Para finalizar, se hacen unos círculos de bodoques y otros<br />

de ojetes alternando uno de cada. En el centro de éstos se<br />

hace un grupo de rococos.<br />

9


1.1. La Torre de Babel (I)<br />

“The mythical man-month” , F.P.Brooks (1995)<br />

10


La Torre de Babel (II)<br />

Según el Génesis, fue el segundo gran proyecto de<br />

ingeniería, después del Arca de Noé. Pero fue el<br />

primer fiasco.<br />

El proyecto contaba con todos los factores<br />

necesarios para el éxito:<br />

Una clara misión.<br />

Mano de obra.<br />

Materiales.<br />

Suficiente tiempo.<br />

Adecuada tecnología.<br />

Entonces, ¿qué fallo?<br />

La comunicación y, consecuentemente, la organización.<br />

11


1.2. ¿Qué es determinar requisitos?<br />

Los requisitos no son el objetivo del proyecto.<br />

Determinar requisitos consiste en estudiar un sistema para conocer<br />

como trabaja y donde es necesario efectuar mejoras.<br />

Un requisito es una característica que debe incluirse en el nuevo<br />

sistema. Esta puede ser la inclusión de determinada forma para<br />

capturar o procesar datos, producir información, controlar una<br />

actividad de la empresa o brindar soporte a los directivos. El<br />

cumplimiento de dichos requisitos será una condición básica para la<br />

aceptación final del sistema por parte de los usuarios.<br />

Los analistas de sistemas no trabajan como directivos o empleados de<br />

los departamentos de usuarios, no tiene los mismos conocimientos,<br />

hechos y detalles que los usuarios y directivos de estas áreas. Por lo<br />

tanto el primer paso del analista es comprender la situación.<br />

12


1.2.1. Líneas de investigación del analista (I)<br />

Los analistas se deben reunir con:<br />

los responsables del área que se está tratando que<br />

aportan una visión global del sistema<br />

con los usuarios finales que aportan el detalle de la zona<br />

que controlan<br />

Los analistas estructuran su investigación en base<br />

a 4 preguntas:<br />

¿Cuál es el proceso básico que se está estudiando?<br />

¿Qué datos utiliza o produce este proceso?<br />

¿Qué frecuencia y volumen del proceso existe?<br />

¿Qué controles utiliza para su realización?<br />

13


Líneas de investigación del analista (II)<br />

¿Cuál es el proceso básico que se está estudiando?<br />

¿Cuál es la finalidad de esta actividad en la empresa?<br />

¿Qué pasos se siguen para llevarla a cabo?<br />

¿Donde se realizan estos pasos?<br />

¿Quienes los realizan?<br />

¿Cuánto tiempo tardan en efectuarlos?<br />

¿Con cuanta frecuencia lo hacen?<br />

¿Quienes emplean la información resultante?<br />

¿Qué datos utiliza o produce este proceso?<br />

Este paso consiste en detectar qué datos se utilizan para<br />

llevar a cabo cada actividad.<br />

14


Líneas de investigación del analista (III)<br />

¿Qué frecuencia y volumen de proceso existe?<br />

Los analistas deben investigar con cuanta frecuencia se repite<br />

una actividad. Esto cambia mucho dependiendo de la actividad<br />

ya que por ejemplo el pago de la nómina se repite<br />

mensualmente o semanalmente pero el pago de impuestos es<br />

anualmente.<br />

La manera más fácil de obtener esta información es identificar<br />

el objetivo de la actividad, es decir, cuál es la causa de la<br />

actividad.<br />

El volumen de los procesos puede aumentar el tiempo de<br />

realización de las actividades, es decir la cantidad total de<br />

pasos que puede constar una actividad puede generar<br />

problemas aún ocurriendo con poca frecuencia.<br />

15


Líneas de investigación del analista (IV)<br />

¿Qué controles utiliza para su realización?<br />

¿Quién se encarga de comparar lo realizado con los estándares?<br />

¿Cómo se detectan los errores?<br />

¿Cómo se corrigen los errores?<br />

16


Fuentes de Información<br />

Alguna de las fuentes más comunes son:.<br />

Usuarios del sistema<br />

Formularios y documentos<br />

Programas<br />

Manual de procedimiento<br />

Informes<br />

17


Catálogo de requisitos<br />

Con la información recogida se empezará a elaborar un<br />

Catálogo de Requisitos a satisfacer por el nuevo sistema.<br />

Los requisitos identificados en la realización de estas<br />

actividades han de ser definidos de modo que:<br />

Sean cuantificables y medibles.<br />

Sean lo suficientemente detallados para reducir cualquier<br />

tipo de ambigüedad y permitir validar si el nuevo sistema<br />

satisface las necesidades de los usuarios.<br />

Se minimice la duplicación de los diferentes productos<br />

obtenidos en la Fase de Análisis.<br />

18


1.2.2. Clasificación de los requisitos (I)<br />

Requisitos funcionales. Describen lo que debe<br />

hacer el sistema en cuanto a:<br />

Funciones de actualización de datos.<br />

Funciones de consulta.<br />

Informes proporcionados.<br />

Datos manejados.<br />

Interacción con otros sistemas.<br />

19


Clasificación de los requisitos (II)<br />

Requisitos no funcionales. Describen las facilidades que<br />

debe proporcionar el sistema en cuanto a:<br />

Rendimiento. Volumen y tamaño de datos.<br />

Frecuencia de tratamiento.<br />

Requisitos de seguridad:<br />

Control de accesos<br />

Procedimientos de copias de respaldo y recuperación<br />

Integridad de la información<br />

Requisitos especiales de comunicaciones.<br />

Requisitos organizacionales<br />

Directrices técnicas y de gestión.<br />

Requisitos generales a cumplir en cuanto a necesidades<br />

futuras de información.<br />

Tendencias de evolución de la empresa.<br />

20


1.2.3. Especificación de los requisitos (I)<br />

Principios de una especificación<br />

Separar funcionalidad de implementación.<br />

Ser modelo de conocimiento, no de diseño o<br />

implementación.<br />

Ser tolerante a la completitud.<br />

Ser ampliable.<br />

Ser operativa.<br />

21


Especificación de los requisitos (II)<br />

Criterios que rigen una especificación<br />

Huir de las conectivas persuasivas:<br />

por lo tanto, obviamente, ciertamente, ...<br />

Indagar qué hay detrás de los términos imprecisos:<br />

alguno, a veces, a menudo, la mayoría, ...<br />

Averiguar qué hay en una lista sin fin:<br />

etc., y así sucesivamente, otros, ...<br />

No admitir suposiciones de conocimiento.<br />

Cuidado con verbos de interpretación múltiple:<br />

manejar, rechazar, procesar, ignorar, ...<br />

Si se especifican cálculos, probar al menos con dos<br />

ejemplos.<br />

Buscar certezas y exigir pruebas:<br />

siempre, cada, todos, ...<br />

22


Los problemas para expresar la lógica (I)<br />

No solo pero no obstante, y/ o a menos que...<br />

¿Cuál es la diferencia entre las siguientes 5 oraciones?<br />

Sumar A a B a menos que A sea menor que B, en cuyo caso<br />

restar A de B<br />

Sumar A a B. Sin embargo, si A es menor que B, la respuesta<br />

es la diferencia de A y B.<br />

Sumar A a B, pero restar A de B cuando A es menor que B.<br />

El total se encuentra sumando B a A. A pesar de la<br />

expresión previa, en caso que B sea mayor que A el<br />

resultado será la diferencia entre B y A.<br />

El total es la suma de A y B. Sólo cuando A sea menor que B<br />

deberá usarse la diferencia como total.<br />

No existe diferencia lógica<br />

SI A es menor que B ENTONCES restar A de B<br />

SINO sumar A a B<br />

23


Los problemas para expresar la lógica (II)<br />

Mayor que, menor que<br />

Más de 20 unidades, 5% de descuento<br />

¿inclusive? ¿no inclusive?<br />

Buscar sustituciones por: mayor que, mayor o igual que,<br />

menor que, menor o igual que<br />

Ambigüedad y/ o<br />

Los clientes que nos compran más de $ 10.000 por año y<br />

tienen una buena historia de pagos o que han<br />

comerciado con nosotros por más de 20 años deberán<br />

recibir trato preferencial.<br />

(más de $ 10.000 por año) y (buena historia de pagos<br />

o más de 20 años)<br />

(más de $ 10.000 por año y buena historia de pagos)<br />

o (más de 20 años)<br />

24


1.3. Algunas técnicas utilizables<br />

Tablas de requisitos.<br />

Entrevistas.<br />

Reuniones.<br />

Cuestionarios.<br />

Árboles de decisión.<br />

Tablas de decisión.<br />

Casos de uso.<br />

25


1.3.1. Tablas de requisitos<br />

Es una técnica muy sencilla de representación de los<br />

requisitos mediante una simple tabla.<br />

Un requisito se identifica mediante un código cuya<br />

estructura responde a un estándar fijado por la<br />

organización.<br />

Junto al código se procede a describir el requisito.<br />

En el resto de la aplicación permite indicar de una<br />

manera muy sencilla que parte del desarrollo se<br />

encarga de satisfacer un requisito concreto.<br />

Código Descripción<br />

26


Ejemplo de tabla de requisitos<br />

Filmoteca Española<br />

Código Descripción<br />

RF-1 Las entradas/salidas de material fílmico se realizarán a través de la puerta que existe en el Archivo<br />

de películas, donde se reflejará dicha recepción o salida mediante recibo.<br />

RF-2 Se ha de mantener históricos de los movimientos externos realizados por los materiales.<br />

RF-3 Se ha de obtener información de materiales que habiendo salido en un movimiento externo no han<br />

sido devueltos.<br />

RF-4 Los materiales que hayan formado parte de Filmoteca no se borran, solo se dan de baja (lógica).<br />

RF-5 Mantener histórico sobre los derechos de las películas.<br />

RF-6 Mantener históricos sobre los estados físicos de los materiales.<br />

RF-7 Las pantallas de consultas de materiales han de ser lo más compactas posibles (incluso varios<br />

materiales en una sola pantalla).<br />

RF-8 No todo el material que entre en el almacén provisional pasa a formar parte del Archivo definitivo.<br />

RNF-1 El sistema debe funcionar en una red de área local.<br />

RNF-2 El sistema debe contar con un control de usuarios.<br />

27


1.3.2. Entrevistas<br />

Este es el método más corriente para recoger<br />

información del usuario.<br />

Es un proceso continuo utilizado por el analista<br />

para construir gradualmente un modelo del<br />

sistema y para obtener conocimientos sobre los<br />

problemas del sistema.<br />

Factores de éxito de una entrevista:<br />

Elegir a la persona a entrevistar. Buscar la persona clave.<br />

Encontrar el camino correcto para dirigir la entrevista.<br />

Buscar la cooperación necesaria.<br />

28


Planificación de una entrevista<br />

El plan de entrevista<br />

El usuario a entrevistar<br />

La secuencia en la que será entrevistado<br />

El plan de entrevista para cada usuario<br />

El objetivo de una entrevista es maximizar el volumen de<br />

información relevante a obtener del entrevistado.<br />

La preparación de las entrevistas es esencial.<br />

Se debe tener una idea de lo que se pretende conseguir con la<br />

entrevista y formular preguntas directas para obtener es<br />

información.<br />

Si el entrevistado no puede contrastar, se le preguntará dónde<br />

se podría obtener dicha información.<br />

No se debe esperar obtener toda la información necesaria de<br />

un usuario en el curso de una entrevista<br />

29


Contenidos de una entrevista<br />

Las entrevistas deben efectuarse de forma organizada y<br />

amistosa.<br />

El entrevistador siempre será cortés y respetará la oposición<br />

y necesidades del usuario.<br />

Es importante no imponer soluciones a los usuarios, sino el<br />

papel de asesor.<br />

La jerga informática no se debe utilizar para impresionar al<br />

usuario, los entrevistadores deben explicar las limitaciones<br />

del ordenador en términos cotidianos y describir al usuario<br />

cómo le puede ayudar en su trabajo.<br />

Los entrevistadores deberán asegurarse de obtener toda la<br />

información necesaria de la entrevista. Para eso ayuda poner<br />

en conocimiento del usuario la información que se pretende<br />

obtener con la entrevista.<br />

30


Pasos a seguir en una entrevista<br />

Se establecen los procedimientos de entrevistas (duración y<br />

lo que se piensa obtener, así como conseguir permiso para<br />

tomar apuntes y notas durante la entrevista).<br />

Normalmente, es una buena idea empezar confirmando la<br />

información obtenida en entrevistas anteriores o en alguna<br />

investigación. Esto sirve para situar al entrevistado y ayuda a<br />

encontrar errores en los datos.<br />

Una vez que se está conforme, se sigue con más detalle<br />

cualquier punto relevante.<br />

La entrevista se terminará resumiendo lo obtenido de ella y<br />

confirmándolo.<br />

Finalmente, es buena idea convenir la fecha para la siguiente<br />

entrevista, si se considera necesaria.<br />

31


Tipos de preguntas básicas<br />

Preguntas independientes del contexto<br />

¿De quién ha surgido la petición de este proyecto?<br />

¿Quién va a utilizar la solución?<br />

Beneficio de una buena solución.<br />

Preguntas de ámbito<br />

¿Qué problemas resolverá la solución?<br />

Puede describirme el entorno en el que se utilizará la solución.<br />

Alguna limitación o aspecto especial de rendimiento.<br />

Preguntas de control<br />

¿Es Ud.. La persona adecuada para responder a estas preguntas?<br />

¿Son oficiales sus respuestas?<br />

¿Estoy haciendo demasiadas preguntas?<br />

¿Hay algo más que deba preguntarle?<br />

32


1.3.3. Reuniones<br />

Se pueden ver como una prolongación de las<br />

entrevistas en las que se involucran varios<br />

entrevistadores y varios entrevistados.<br />

Suelen utilizarse en fases muy tempranas de la<br />

determinación de requisitos.<br />

Es una técnica aplicable en muchas fases del<br />

proceso de desarrollo del software:<br />

Análisis del sistema a construir.<br />

Diseño del sistema a construir.<br />

Seguimiento del proceso de desarrollo.<br />

...<br />

33


Estrategias para facilitar las reuniones<br />

Reunión en un lugar neutral para técnicos y clientes.<br />

Reglas de preparación y participación (reunión preparatoria<br />

de la reunión).<br />

Agenda formal para cubrir los puntos importantes.<br />

Agenda informal para estimular el br ain-stor ming.<br />

Elección de un moderador.<br />

Herramientas para la discusión:<br />

hojas de trabajo, diagramas, pizarras, etc.<br />

Se debe buscar la creación de confianza mutua y espíritu de<br />

equipo.<br />

34


Decálogo para la celebración de reuniones<br />

1. Pensar si la reunión es necesaria y quién es imprescindible que asista.<br />

2. Enviar convocatoria, lo más documentada posible, fijando la hora de<br />

comienzo y de terminación.<br />

3. Todos los participantes prepararán adecuadamente la reunión antes de<br />

su comienzo.<br />

4. Ser puntuales. Comenzar a la hora prevista.<br />

5. El convocante, o quien él designe, actuará como moderador.<br />

6. Se evitarán todo tipo de interrupciones. Dejarlo advertido previamente.<br />

7. No tratar otros temas que los propios de la reunión.<br />

8. Respetar las intervenciones de los demás. Practicar la escucha activa.<br />

Ser concretos.<br />

9. Terminar a la hora indicada en la convocatoria.<br />

10. Hacer un acta de la reunión, a no ser que se indique lo contrario.<br />

35


Ampliación del decálogo<br />

Las reuniones no deben durar más de dos horas.<br />

Reparto de tareas:<br />

Preparador<br />

Controlador de tiempos<br />

Secretario<br />

Seguir la agenda.<br />

Intentar planificar la celebración de la siguiente<br />

reunión.<br />

Fecha y hora, lugar y tema<br />

36


1.3.4. Cuestionarios (I)<br />

Hay personas que sugieren el cuestionario, en vez de las<br />

entrevistas, para obtener información sobre el sistema.<br />

El cuestionario contiene todas las preguntas que el usuario<br />

debe responder para proporcionar la información que busca<br />

el analista.<br />

El cuestionario se envía al usuario y el analista analiza las<br />

respuestas.<br />

La experiencia sugiere que estos cuestionarios no son<br />

normalmente buenos sustitutos de las entrevistas por el<br />

peligro de ambigüedad de las preguntas.<br />

'describa todos sus trabajos’<br />

'¿cuáles son los componentes principales del sistema?’<br />

37


Cuestionarios (II)<br />

Los cuestionarios, sin embargo, se utilizan cuando se busca<br />

la misma información en usuarios distintos. Es el caso de<br />

información de naturaleza cuantitativa.<br />

Un cuestionario con esta pregunta es fácil enviarlo a todos los<br />

vendedores de la organización.<br />

Los cuestionarios se utilizan también como complemento de<br />

otras técnicas.<br />

Se usan para recoger datos numéricos u obtener opiniones<br />

relativamente simples de un número de personas.<br />

No son efectivos para búsquedas detalladas ni para<br />

identificar problemas o soluciones del sistema.<br />

38


1.3.5. Árboles de decisión<br />

Sirven para organizar la información recopilada con respecto<br />

a la toma de decisiones y no haya malas interpretaciones.<br />

Características:<br />

La raíz del árbol es donde comienza la secuencia de decisión, la<br />

rama a seguir depende de las condiciones y de la decisión que<br />

debe tomarse. La parte final es la acción.<br />

raíz<br />

condición<br />

condición<br />

condición<br />

condición<br />

condición<br />

condición<br />

acción<br />

acción<br />

acción<br />

acción<br />

El problema de los árboles de decisión es el gran número de<br />

ramas que puede tener un sistema complejo.<br />

39


Ejemplo de árbol de decisión<br />

Autorización de descuento por pronto pago:<br />

Si el cliente paga dentro de los 10 primeros días y el<br />

importe es superior a 10.000€, se le aplica un 3% de dto.<br />

Si el cliente paga dentro de los 10 primeros días y el<br />

importe es entre 5.000€ y 10.000€, se le aplica un 2% de<br />

dto.<br />

En el resto de los casos no se autorizan dtos.<br />

raíz<br />

dentro de<br />

10 días<br />

más de<br />

10 días<br />

>10.000€<br />

5.000€-10.000€<br />


1.3.6. Tablas de decisión<br />

Una tabla de decisión se divide en dos partes (condiciones,acciones), y<br />

está formada por 4 secciones.<br />

La parte de condiciones establece todas las condiciones que se<br />

aplican a los datos.<br />

Las acciones son las acciones distintas que se pueden tomar<br />

dependiendo de las condiciones.<br />

Una tabla de decisión se construye usando columnas, de forma que<br />

cada columna corresponda a una combinación de condiciones.<br />

Las acciones tomadas para las condiciones de las columnas se dan<br />

por una cruz en las columnas. Si la línea de acción tiene una cruz,<br />

entonces se toma esa acción si se da el conjunto de condiciones de<br />

la columna. A esto se le llama r eglas de decisión.<br />

Identificación de<br />

condiciones<br />

Identificación de<br />

acciones<br />

Entrada de condiciones (cada columna representa una<br />

combinación de condiciones)<br />

Entrada de acciones (cada cruz representa una regla<br />

de decisión)<br />

41


Ejemplo de tabla de decisión<br />

Pago de los servicios médicos.<br />

La atención sanitaria en un hospital es de carácter obligatorio,<br />

sin preocupar la financiación de la asistencia. Si el paciente<br />

dispone de seguridad social, su asistencia estará exenta de<br />

pago, sino es así pero dispone de un seguro médico sólo hará<br />

frente al pago de la consulta . Sólo en el caso de no disponer el<br />

paciente ni de seguridad social, ni de seguro médico pagará<br />

todos los servicios.<br />

42


1.3.7. Presentación de los Casos de Uso (I)<br />

Los casos de uso (Use Cases) es una técnica para determinar<br />

las necesidades de un sistema.<br />

Ha sido desarrollada por Ivar Jacobson y se han integrado en<br />

la notación UML que lleva camino de convertirse en el<br />

estándar de notación para metodologías OO.<br />

Se están utilizando como guías para todo el proceso de<br />

desarrollo del software.<br />

Bibliografía sobre Casos de Uso<br />

I. Jacobson. Object-Oriented Software Engineering. A Use Case<br />

Driven Approach. Addison-Wesley Publishing Company, 1992.<br />

G.Booch, J.Rumbaugh, I.Jacobson. El lenguaje unificado de<br />

modelado UML. Addison Wesley, 1999.<br />

43


Presentación de los Casos de Uso (II)<br />

Los casos de uso describen bajo la forma de acciones y<br />

reacciones el comportamiento de un sistema desde el punto de<br />

vista de un usuario; permiten definir los límites del sistema y las<br />

relaciones entre el sistema y el entorno.<br />

Es la imagen de la funcionalidad del sistema, desencadenada en<br />

respuesta a la estimulación de un actor externo<br />

Reubican la expresión de las necesidades sobre los usuarios<br />

La estructuración del método se efectúa respecto a las<br />

interacciones de una sola categoría de usuarios a la vez<br />

Usuario B.<br />

Usuario D.<br />

Conjunto de<br />

Necesidades<br />

Usuario C.<br />

Usuario A.<br />

44


Presentación de los Casos de Uso (III)<br />

Los usuarios deben estructurar y articular sus deseos:<br />

Definir de manera precisa como interactuar con el sistema<br />

Precisar qué informaciones quieren intercambiar<br />

Describir qué debe hacerse para obtener el resultado deseado<br />

Necesidad de un formalismo para los casos de uso accesible<br />

para los diferentes usuarios sin necesidad de una formación<br />

particular<br />

Modelo de casos de uso:<br />

Sistema<br />

S i s t e m a<br />

Actores<br />

Casos de uso<br />

A c t o r A<br />

C a s o d e U s o X<br />

C a s o d e u s o Y<br />

A c t o r B<br />

45


Actores<br />

Un actor representa el papel interpretado por una persona o<br />

una cosa que interactúa con el sistema<br />

Se representan en forma de pequeños personajes que<br />

desencadenan los casos de uso<br />

Los actor es se reclutan entre los usuarios directos del sistema,<br />

los responsables de su configuración y mantenimiento, así<br />

como los otros sistemas que interactúan con el sistema en<br />

cuestión<br />

La determinación de los mismos precisa los límites del sistema<br />

de manera progresiva. Sirve de base contractual para limitar lo<br />

que debe hacerse, lo que forma parte del sistema a desarrollar<br />

y lo que no forma parte de él<br />

46


Categorías de Actores<br />

Cuatro grandes categorías de actores :<br />

Actores Principales:<br />

Personas que utilizan las funciones principales del sistema.<br />

Ejemplo : Los clientes de un dispensador de billetes<br />

Actores Secundarios:<br />

Personas que realizan actividades administrativas o de<br />

mantenimiento. Ejemplo : Persona que recoge la caja del<br />

dispensador<br />

Actores Material Externo:<br />

Dispositivos materiales imprescindibles que forman parte del<br />

ámbito de la aplicación y que deben ser utilizados. Ejemplo :<br />

Impresora. (no el ordenador en sí mismo)<br />

Actores Otros Sistemas:<br />

Sistemas con los que el sistema a desarrollar debe interactuar.<br />

Ejemplo: Sistema grupo bancario que gestiona el parque de<br />

dispensadores<br />

47


Casos de Uso<br />

Los casos de uso son abstracciones del dialogo entre los<br />

actores y el sistema<br />

Se representan por medio de un óvalo identificado por un<br />

nombre<br />

Describen interacciones potenciales, llamadas escenar ios, sin<br />

entrar en detalles concretos<br />

Un caso de uso agrupa una familia de escenarios según un<br />

criterio funcional<br />

Su ámbito de aplicación supera ampliamente la definición de<br />

las necesidades del sistema. Intervienen a lo largo de todo el<br />

ciclo de vida<br />

Es necesario un método para navegar hacia las clases y los<br />

objetos que satisfacen una necesidad y hacia las pruebas que<br />

verifican que el sistema realiza su tarea<br />

48


Relaciones<br />

Tipos de relaciones:<br />

Generalización<br />

Entre Actores<br />

Entre Casos de uso<br />

Extensión entre Casos de<br />

Uso<br />

Inclusión entre Casos de<br />

Uso<br />

Asociación entre un<br />

Actor y un Caso de Uso<br />

C4 siempre ejecuta C2<br />

C1 opcionalmente ejecuta C2<br />

49


Construcción de Casos de Uso<br />

¿Cuales son las tareas de un actor?<br />

¿Qué informaciones debe el actor crear, guardar,<br />

modificar, destruir o simplemente leer?<br />

El actor, ¿deberá informar al sistema de los<br />

cambios externos?<br />

El sistema, ¿deberá informar al actor de las<br />

condiciones internas?<br />

50


Proceso de elaboración de Casos de Uso<br />

Identificar a grandes trazos los casos de uso y<br />

descripción breve de los casos de uso<br />

Profundizar en la comprensión de cada caso de<br />

uso particular, y determinación de los principales<br />

escenarios<br />

Descripción detallada de las etapas estabilizadas,<br />

teniendo en cuenta los escenarios que pasan por<br />

cada etapa<br />

51


Trampas a Evitar<br />

La presencia de un gran número de detalles es un signo<br />

de un escenario más que de un caso de uso<br />

No siempre resulta fácil determinar el nivel de detalle<br />

Un gran número de casos de uso es un signo de falta de<br />

abstracción<br />

Sea cual sea el tamaño del sistema a desarrollar, el número<br />

de casos de uso es relativamente pequeño<br />

No sucede lo mismo con el número de escenarios<br />

Procurar no caer en la tentación de describir demasiado el<br />

comportamiento interno del sistema<br />

Describir los intercambios entre actor y sistema; pero no<br />

llegar a explicar cómo el sistema realiza esos intercambios<br />

Los casos de usos son un medio, no un fin<br />

52


Construye el árbol de decisión<br />

Ejercicio 1:<br />

A un cliente se le dará trato preferencial si cumple una de<br />

estas dos condiciones:<br />

Compran más de 10.000 € por año y tienen una buena historia de pagos<br />

Compran más de 10.000 € por año y han comerciado con nosotros por más<br />

de 20 años<br />

Ejercicio 2:<br />

A un cliente se le dará trato preferencial si cumple una de<br />

estas tres condiciones:<br />

Compran más de 10.000 € por año y tienen una buena historia de pagos<br />

Compran más de 10.000 € por año y han comerciado con nosotros por más<br />

de 20 años<br />

Compran 10.000 € o menos por año y tienen una buena historia de pagos<br />

54


Construye el árbol de decisión<br />

Ejercicio 3:<br />

En una venta de una editorial alibreros el descuento<br />

comercial es del 20 %. En la venta a particulares y bibliotecas,<br />

la editorial concede un 5% de descuento por la compra de 6 o<br />

más libros, 10% para 20 o más libros, y 15% para 50 o más<br />

libros. Los pedidos comerciales de 20 o más libros reciben<br />

un descuento adicional de un 10%.<br />

55


Construye la tabla de decisión<br />

Ejercicio 1:<br />

A un cliente se le dará trato preferencial si cumple una de<br />

estas tres condiciones:<br />

Compran más de 10.000 € por año y tienen una buena historia de pagos<br />

Ejercicio 2:<br />

Compran más de 10.000 € por año y han comerciado con nosotros por más<br />

de 20 años<br />

Compran 10.000 € o menos por año y tienen una buena historia de pagos<br />

Si la cuenta de un cliente se factura un método de tarificación fijo, se establece<br />

una carga mensual mínima para consumos inferiores a 100 Kwh. En los demas<br />

casos se aplica la tarifa A. Sin embargo, si se aplicaun método de tarificación<br />

variable, se aplicará la tarifa A a consumos menores de 100 Kwh. En otro caso, se<br />

facturará de acuerdo a la tarifa B.<br />

56


Construye la tabla de decisión<br />

Ejercicio 3:<br />

Si el importe_total es menor o igual a 10.000 y el %_Descuento es menor del 5%,<br />

entonces el Descuento será cero<br />

Si el importe_total es mayor que 50.000, entonces el Descuento será el<br />

importe_total * %_Descuento + 2.500<br />

En cualquier otro caso el Descuento será el importe_total * %_Descuento<br />

importe_neto = importe_total - Descuento<br />

57


EL ANÁLISIS DEL PROBLEMA<br />

2. Las labores de análisis<br />

F.J. Zarazaga Soria, J. Nogueras Iso, M.A. Latre Abadía<br />

Ingeniería del Software I<br />

Departamento de Informática e Ingeniería en Sistemas


Las labores de análisis. Índice<br />

2.1. El Diagrama de Flujo de Datos.<br />

2.2. El análisis del sistema<br />

2.2.1. Análisis de la situación actual<br />

Construcción del nuevo sistema<br />

2.2.2. Contexto del sistema<br />

2.2.3. Identificación y definición de subsistemas<br />

2.2.4. Especificación de interfaces con otros sistemas<br />

2.2.5. Definición de las interfaces con el usuario<br />

2.2.6. Construcción del esquema lógico de datos<br />

2.2.7. Análisis detallado<br />

2.2.8. Completar especificaciones del sistema<br />

59


2.1. El Diagrama de Flujo de Datos (DFD)<br />

Los diagramas de flujos de datos (DFD), es una técnica de<br />

modelización, que nos muestra un sistema como una red de<br />

procesos conectados entre ellos por flujos y<br />

almacenamientos de datos.<br />

Es un modelo que proporciona el punto de vista funcional de<br />

un sistema.<br />

Utiliza una notación y unas reglas<br />

predeterminadas.<br />

Es la principal herramienta del análisis<br />

estructurado.<br />

60


Ejemplo de DFD<br />

Cajero<br />

Productos<br />

de un ticket<br />

1.1<br />

Crear ticket<br />

1.2<br />

Validar<br />

datos de los<br />

productos<br />

Productos<br />

validados<br />

Ticket base<br />

fecha y hora<br />

Sistema<br />

ticket<br />

Ticket<br />

provisional<br />

1.3<br />

Añadir<br />

productos<br />

al ticket<br />

1.4<br />

Validar<br />

datos del<br />

ticket<br />

2 Ticket<br />

Productos del<br />

ticket validado<br />

1 Producto<br />

1.5<br />

Descontar<br />

unidades del<br />

producto<br />

61


El DFD. Objetivo (I)<br />

Objetivo<br />

Construir un modelo lógico del sistema que facilite la<br />

comprensión del mismo, tanto por parte de los usuarios como<br />

del equipo de desarrollo. Para ello se dividirá el sistema en<br />

distintos niveles de detalle. Esta división permitirá:<br />

Simplificar la complejidad del sistema, representando los<br />

diferentes procesos sencillos de que consta un sistema<br />

complejo.<br />

Repartir el trabajo entre los diferentes miembros del equipo<br />

de desarrollo.<br />

Facilitar el mantenimiento del sistema.<br />

62


El DFD. Objetivo (II)<br />

Los fundamentos de la técnica del DFD son los siguientes:<br />

Representar gráficamente los límites del sistema en estudio.<br />

Mostrar el movimiento de los datos y la transformación de los<br />

mismos a través del sistema.<br />

Diferenciar las restricciones físicas de las lógicas.<br />

63


El DFD. Objetivo (III)<br />

Para conseguir estos objetivos el resultado del<br />

análisis debe ser:<br />

GRAFICO.<br />

LOGICO, nunca referido a entornos físicos.<br />

PRECISO Y BREVE.<br />

COMPRENSIBLE.<br />

DEBIDAMENTE PARTICIONADO.<br />

BIEN DOCUMENTADO.<br />

NUNCA REDUNDANTE.<br />

ESTABLECERA "QUE" FUNCIONES SE DEBEN DESARROLLAR,<br />

SIN IMPLICAR "COMO".<br />

NO AMBIGUO.<br />

64


El DFD. Objetivo (VI)<br />

Como resultado se obtendrá un modelo del<br />

sistema completamente independiente de las<br />

restricciones físicas del entorno, lo que facilitará<br />

su mantenimiento y portabilidad.<br />

En los Diagramas de Flujo de Datos, no se deberán<br />

modelizar:<br />

PROCEDIMIENTOS.<br />

PUNTO DE INICIO Y DE TERMINACION DEL DFD.<br />

CONDICIONES.<br />

TRATAMIENTOS DE ERRORES POCO RELEVANTES.<br />

65


Elementos básicos de un DFD<br />

En cualquier Diagrama de Flujos de Datos,<br />

aparecerán los objetos siguientes:<br />

ENTIDAD EXTERNA.<br />

PROCESO.<br />

ALMACEN DE DATOS.<br />

FLUJO DE DATOS.<br />

La técnica de representación dará lugar a un DFD<br />

en el que se irán detallando los principales<br />

procesos o acciones a desarrollar y que se irán<br />

detallando en mayor medida según se vaya<br />

bajando de nivel (EXPLOSIONANDO) cada uno de<br />

esos procesos.<br />

66


Las entidades externas (I)<br />

Las Entidades Externas representan entes ajenos a<br />

nuestra aplicación, pero que aportan o reciben<br />

información de la misma.<br />

Notación:<br />

Nombre representativo.<br />

Un número identificativo de la entidad.<br />

En el caso de que dentro de un DFD aparezca repetido la<br />

misma entidad externa, se puede representar de la<br />

siguiente forma:<br />

1<br />

Nombre<br />

Simple<br />

1<br />

Nombre<br />

1<br />

Nombre<br />

Métrica V.2.1<br />

1<br />

Nombre<br />

Múltiple<br />

1<br />

Nombre<br />

Yourdon y Gane-Sarson<br />

1<br />

Nombre<br />

67


Las entidades externas (II)<br />

Reglas de construcción:<br />

Representa personas, organizaciones o sistemas que no<br />

pertenecen al sistema.<br />

En el caso de que las entidades externas se comunicasen<br />

entre sí, esto no se contemplaría en el diagrama, por<br />

estar fuera del ámbito de nuestro sistema.<br />

Puede aparecer en los distintos niveles de DFD.<br />

Puede aparecer varias veces en un mismo diagrama, para<br />

evitar entrecruzamientos de líneas.<br />

Suministra información acerca de la conexión del sistema<br />

con el mundo exterior.<br />

68


Las entidades externas. Ejemplos<br />

Notación de entidad<br />

externa utilizada en Métrica<br />

v.2.1<br />

Notación de entidad<br />

externa utilizada en<br />

Yourdon y en Gane-<br />

Sarson<br />

69


Los procesos (I)<br />

Es una actividad que transforma o manipula datos.<br />

Notación:<br />

Nombre del proceso correspondiente. Dependiendo del nivel de<br />

detalle en que nos encontremos dentro de un DFD, el nombre del<br />

proceso simbolizará bien el sistema concreto (nivel sistema), bien el<br />

subsistema de que se trate (nivel subsistema), o bien acciones<br />

concretas y detalladas en niveles inferiores.<br />

Un número identificativo del proceso. Este número permitirá<br />

además indicar el nivel del DFD en que nos encontramos<br />

(descomposición por niveles). Es importante hacer énfasis en que<br />

este número no indica secuencia de realización del proceso, dado<br />

que los DFD no representan una secuencialidad en el tratamiento<br />

de los datos.<br />

1 AREA<br />

NOMBRE<br />

Métrica v.2.1<br />

1<br />

NOMBRE<br />

Yourdon<br />

1<br />

NOMBRE<br />

Gane-Sarson<br />

70


Los procesos (II)<br />

Reglas de construcción:<br />

Cuando un Flujo de datos entra en un proceso sufre una<br />

transformación. Un proceso no es ni origen ni final de los<br />

datos, sólo lugar de transformación de los mismos. Por ello,<br />

cualquier flujo de datos que entre en un proceso ha de<br />

transformarse.<br />

Un proceso puede transformar un dato en varios.<br />

Es necesario un proceso como intermediario entre una<br />

Entidad Externa y un Almacén de Datos.<br />

A<br />

B<br />

MAL<br />

1<br />

Proceso 1<br />

C<br />

B<br />

2<br />

Proceso 2<br />

3<br />

Proceso 3<br />

D<br />

E<br />

BIEN<br />

B<br />

A<br />

1<br />

Proceso 1<br />

2<br />

Proceso 2<br />

C<br />

E<br />

3<br />

Proceso 3<br />

D<br />

71


Almacén de datos (I)<br />

Un almacén de datos representa un depósito de<br />

información dentro del sistema.<br />

Notación:<br />

Nombre del almacén de datos.<br />

Un número identificativo del mismo 1 Nombre<br />

En el caso de que dentro de un DFD aparezca repetido el<br />

mismo almacén de datos, se puede representar de la<br />

siguiente forma:<br />

1 Nombre<br />

1 Nombre<br />

Simple<br />

1 Nombre<br />

1 Nombre<br />

Múltiple<br />

72


Almacén de datos (II)<br />

Diferentes utilidades que representan los<br />

almacenes de datos.<br />

Almacenamiento permanente de datos (ALMACENES<br />

PRINCIPALES).<br />

Almacenamiento transitorio de los datos antes de ser<br />

usados por un proceso.<br />

73


Almacén de datos (III)<br />

Reglas de construcción:<br />

Representa la información en reposo.<br />

No puede crear, destruir ni transformar datos.<br />

No puede estar comunicado directamente con otro<br />

Almacén o Entidad Externa.<br />

El flujo de datos (Entrada o Salida) no lleva nombre<br />

cuando incide sobre su contenido completo.<br />

El almacén de datos aparecerá por vez primera en aquel<br />

nivel en que sea accedido por dos o más procesos y en<br />

modo lectura y/ o escritura.<br />

74


Los flujos de datos<br />

Los Flujos de Datos establecen la comunicación entre<br />

procesos, almacenes y entidades externas, y llevan<br />

información necesaria para esos objetos.<br />

Reglas de construcción:<br />

El concepto de flujo de datos es similar al de una "tubería" a<br />

través de la cual fluye una información de estructura conocida.<br />

Los datos no pueden ser creados ni<br />

destruidos por un flujo de datos.<br />

Sirve para conectar el resto de los<br />

componentes del DFD.<br />

No es un activador de procesos.<br />

Cuando un proceso almacena datos, la<br />

flecha de flujo de datos se indica en la<br />

dirección del almacén de datos y a la<br />

inversa si es el proceso el que lee datos<br />

en el almacén.<br />

75


Conexiones permitidas en un DFD<br />

Entidad<br />

Proceso<br />

Almacén de datos<br />

Entidad Proceso Almacén de datos<br />

x √ x<br />

√ √ √<br />

x √ x<br />

76


Descomposición por niveles (I)<br />

Los Diagramas de Flujo de Datos han de representar el Sistema<br />

de la forma más clara posible, por ello se basarán en el<br />

principio de descomposición o explosión en distintos niveles<br />

de detalle.<br />

La descomposición por niveles permite analizar el sistema<br />

desde el ámbito general al detalle, pasando por sucesivos<br />

niveles intermedios (filosofía de arriba a abajo o "top-down").<br />

La utilización de esta técnica implica la descomposición o<br />

explosión de cada proceso en otro DFD.<br />

El sistema deberá contener:<br />

Un diagrama de contexto (primer nivel).<br />

Varios DFD en niveles intermedios.<br />

Varios DFD en el último nivel de detalle.<br />

77


Descomposición por niveles (II)<br />

Procedimiento:<br />

Representar el Diagrama de Contexto.<br />

Representar el DFD de primer nivel,<br />

indicando los distintos subsistemas en<br />

que se descompone nuestro sistema.<br />

Descomponer cada uno de los procesos<br />

que aparecen en el DFD hasta llegar a<br />

un nivel suficiente de detalle.<br />

Si es necesario, reagrupar y reorganizar<br />

los distintos subsistemas que se han<br />

identificado inicialmente,<br />

Repetir el proceso de descomposición<br />

hasta llegar a un nivel suficiente de<br />

detalle.<br />

78


Descomposición por niveles (III)<br />

La identificación de las áreas funcionales o subsistemas se<br />

hará atendiendo, entre otros, a los siguientes criterios:<br />

Funciones organizativas o administrativas propias del sistema a<br />

desarrollar y específicas de la problemática de la Unidad.<br />

Homogeneidad de las funciones realizadas por los procesos<br />

pertenecientes a un área funcional o subsistema.<br />

Localización geográfica de los procesos.<br />

Procesos que actualicen los mismos almacenes de datos se<br />

colocarán en el mismo subsistema o área funcional.<br />

El objetivo último será conseguir que las comunicaciones o<br />

enlaces entre distintos subsistemas o áreas funcionales sean lo<br />

más reducidas y homogéneas posibles<br />

79


Ejemplo de descomposición por niveles<br />

80


Especificación de procesos (I)<br />

Objetivo:<br />

Describir la lógica de los procesos.<br />

Deberán definirse en más detalle sólo las funciones o<br />

procesos primitivos, es decir, aquellos que no se han<br />

descompuesto más.<br />

No se detallarán funciones que resulten obvias.<br />

Cada especificación de proceso debe describir cómo se<br />

logra transformar el flujo de datos que llega en los flujos<br />

que salen.<br />

Cada especificación de proceso debe describir las normas<br />

que gobiernan la transformación, no el método de implantar<br />

esas normas.<br />

81


Especificación de procesos (II)<br />

Se han de incluir en la descripción de los procesos<br />

de último nivel los siguientes aspectos:<br />

Modo de acceso de los procesos a las entidades de datos<br />

del sistema.<br />

Tipo de tratamiento (interactivo o por lotes).<br />

Información sobre la frecuencia de ejecución.<br />

Características del proceso:<br />

Actualización de datos del sistema.<br />

Consultas e informes.<br />

Realización de algoritmos específicos y descripción de<br />

los mismos.<br />

82


Especificación de procesos. Técnicas (I)<br />

Técnicas para la descripción de procesos:<br />

Tablas de decisión.<br />

Árboles de decisión.<br />

Narrativa tradicional.<br />

Lenguaje estructurado.<br />

83


Especificación de procesos. Técnicas (II)<br />

Narrativa tradicional<br />

Tiene la debilidad inherente del lenguaje natural como herramienta<br />

para especificar:<br />

Imprecisa.<br />

Redundante.<br />

Llena de implicaciones y connotaciones.<br />

Ejemplo:<br />

“Para aplicar el descuento, el cliente debe tener una cifra de<br />

compra de más de 3.000.000 de pesetas/ año y un buen historial<br />

de pagos o haber sido cliente más de 5 años".<br />

¿Cuál es el significado de la anterior descripción narrativa?<br />

o ¿3.000.000 pts. y un buen historial?<br />

o ¿3.000.000 pts y 5 años?<br />

o ¿Basta con los 5 años?<br />

o ¿Qué quiere decir un buen historial de pagos?<br />

84


Especificación de procesos. Técnicas (III)<br />

Lenguaje estructurado<br />

Debe ser comprensible para el informático y el usuario.<br />

Utiliza una sintaxis limitada sin llegar a ser tan rígida como una<br />

codificación.<br />

Las descripciones deben ser precisas y concisas, evitando la<br />

retórica del lenguaje.<br />

Utilizar verbos precisos sin ambigüedad, evitando, por ejemplo:<br />

HACER, TRATAR, PROCESAR, CONTROLAR.<br />

Los nombres utilizados deben estar definidos en el diccionario de<br />

datos.<br />

Los adjetivos utilizados deben ser auto-explicativos. Por ejemplo:<br />

VALIDO, ERRONEO.<br />

No deben utilizarse los adjetivos, adverbios y verbos que expresan<br />

relatividad. Por ejemplo: Incrementar, reducir, escaso, suficiente,<br />

etc.<br />

Hay que indicar de forma inequívoca el objeto sobre el que debe<br />

aplicarse la acción.<br />

85


Especificación de procesos. Técnicas (IV)<br />

Sintaxis del lenguaje estructurado:<br />

Sentencias declarativas simples.<br />

Construcciones de decisión.<br />

Construcciones de repetición.<br />

Combinaciones de ambas.<br />

Las acciones escritas de esta forma son fáciles de leer y<br />

de entender.<br />

Ejemplo:<br />

• SECUENCIA:<br />

ACCION 1<br />

ACCION 2<br />

ACCION 3<br />

ACCION 4<br />

ACCION 5<br />

• DECISION:<br />

• METODO DE LOS CASOS<br />

PARA CADA TRANSACCION<br />

SI (CONDICION), SELECCIONAR:<br />

ENTONCES<br />

CASO 1: ACCION 1<br />

ACCION 1<br />

CASO 2: ACCION 2<br />

ACCION 2<br />

CASO 3: ACCION 3<br />

CASO CONTRARIO,<br />

ACCION 3<br />

86


Especificación de procesos. Técnicas (V)<br />

Consejos prácticos para utilizar el lenguaje estructurado:<br />

La excesiva anidación de sentencias condicionales (si/ no)<br />

complica la comprensión de las especificaciones.<br />

Utilizar el método de los casos cuando la lógica del proceso sea<br />

compleja, por existir diversidad de opciones.<br />

Evitar sentencias del tipo "HACER HASTA" o "HACER MIENTRAS".<br />

Emplear expresiones positivas, evitando sentencias del tipo: "Si<br />

la transacción no es errónea..."<br />

Evitar expresiones matemáticas complejas.<br />

No debe estar referido al entorno físico y por tanto, no se<br />

diferencian los ficheros convencionales de las Bases de Datos.<br />

No se representa la clave de acceso a ese almacén sino sólo la<br />

operación que se realiza (lectura, escritura, actualización)<br />

87


Pautas para dibujar los DFDs (I)<br />

Identificar las entidades externas involucradas.<br />

Identificar las entradas y salidas de información previstas en el<br />

normal funcionamiento. Marcar las que únicamente estén<br />

relacionadas con condiciones de error y excepciones.<br />

Identificar las consultas y los pedidos de información que<br />

podrían surgir.<br />

Diferenciar información dada al sistema frente a r equer ida por el<br />

sistema.<br />

Tomar la entidad externa que parece la principal proveedora de<br />

información:<br />

dibujar los flujos que de ella surjan<br />

los procesos que son lógicamente necesarios<br />

y los almacenamientos de datos que se requieran.<br />

Repetir con las demás entidades sin preocuparse de numerar<br />

procesos.<br />

88


Pautas para dibujar los DFDs (II)<br />

Dibujar el primer borrador a mano alzada concentrándose<br />

en incluirlo todo, excepto errores, excepciones y decisiones.<br />

Aceptar que se van a necesitar tres borradores del DFD de<br />

nivel superior.<br />

Cuando se tenga listo el primer borrador, revisar que se ha<br />

incluido la lista de entradas.<br />

Recordar que cada dato que describe algún hecho exterior<br />

del mundo real debe ser creado y mantenido.<br />

Confeccionar un segundo borrador más claro minimizando<br />

cruces de flujos de datos:<br />

Primero duplique entidades externas<br />

Luego duplique almacenamientos de datos<br />

89


Pautas para dibujar los DFDs (III)<br />

Si se tiene un representante simpático del usuario,<br />

revisar con él el segundo borrador:<br />

explicar que solamente es un borrador<br />

tomar nota de aclaraciones y cambios<br />

Producir una explosión de nivel inferior de cada<br />

proceso del segundo borrador.<br />

Si merece la pena la inversión, buscar un dibujante<br />

experto que copie el diagrama de nivel superior<br />

“en bonito” sobre un A0.<br />

90


Técnicas de mejora y prueba de DFD (I)<br />

Pruebas de corrección<br />

En la descomposición de un proceso puede que se nos<br />

olvide alguno de los Flujos de Datos (FD) del nivel<br />

superior, o que el FD de ese nivel superior se<br />

descomponga pero se incluya algún flujo que no debería<br />

aparecer o nos falte alguno.<br />

Faltan flujos de datos requeridos por un proceso.<br />

Flujos de datos de ningún valor para el proceso.<br />

Faltan procesos.<br />

Incoherencia entre niveles.<br />

91


Técnicas de mejora y prueba de DFD (II)<br />

Ejemplo<br />

En el proceso 3 del DFD de nivel<br />

superior entran los flujos de<br />

datos m y n y sale el flujo de<br />

datos t.<br />

En el DFD resultado de la<br />

descomposición del proceso 3,<br />

representado en la parte inferior<br />

de la figura, el flujo de datos de<br />

entrada es n y los flujos de datos<br />

de salida son t y s.<br />

Aunque el número de flujos de datos netos de<br />

entrada y salida no coincida de un nivel a otro, el<br />

contenido de dichos flujos sí lo haga.<br />

92


Técnicas de mejora y prueba de DFD (III)<br />

Pruebas de utilidad<br />

Son más de sentido común que de un estudio exhaustivo sobre<br />

los DFD.<br />

Comprobar si el diagrama es legible.<br />

Analizar la complejidad de la interfaz.<br />

Comprobar que los nombres asignados ayudan a<br />

comprender sin ambigüedad el DFD.<br />

93


Reglas de consistencia de un DFD<br />

Existen reglas para asegurar la consistencia del DFD con otros<br />

modelos de sistemas (el diagrama de entidad-relación, diagrama<br />

transición de estados, diccionario de datos, especificación de<br />

procesos, etc.).<br />

Evite sumideros infinitos, procesos que tienen entradas pero no salidas.<br />

Evite burbujas de generación espontánea, procesos que tienen salidas<br />

sin tener entradas. Situación normalmente incorrecta.<br />

Cuidado con flujos y procesos no etiquetados, ya que puede esconder<br />

errores importantes.<br />

Tener cuidado con los almacenes de “sólo lectura” o “sólo escritura”, ya<br />

que todo almacenamiento debe tener un flujo entrante y uno saliente,<br />

es decir, la información se almacena y se consume.<br />

Las entidades externas no pueden acceder directamente a ningún<br />

almacenamiento. Siempre debe mediar un proceso que haga de<br />

intermediario y extraiga o inserte la información pertinente.<br />

94


Diccionario de datos (I)<br />

El diccionario de datos es una lista organizada de<br />

todos los datos pertenecientes al sistema, con una<br />

serie de definiciones precisas y rigurosas para que<br />

tanto el analista como el usuario comprendan<br />

entradas, salidas, elementos de los<br />

almacenamientos y cálculos intermedios.<br />

En el diccionario de datos incluimos almacenes de<br />

datos, flujos de datos, estructuras de datos,<br />

elementos de datos y en algunos casos el modelo<br />

E-R.<br />

95


Diccionario de datos (II)<br />

El diccionario de datos (DD) describe los datos que se manejan en<br />

el sistema desde cuatro puntos de vista:<br />

Describe el significado de los flujos de datos y los almacenes que<br />

muestran los DFD's.<br />

Describe la composición de la estructura de datos que se mueven a los<br />

largo de los flujos.<br />

Describe la composición de la estructura de datos en los almacenes.<br />

Describe los detalles de las relaciones entre almacenes que aparecen<br />

en un diagrama entidad-relación.<br />

El analista necesita del DD por cuatro razones:<br />

Para manejar los detalles ya que es imposible recordarlo todo.<br />

Para tener una visión común de todos los elementos del sistema.<br />

Para documentar las características del sistema.<br />

Localizar errores en el sistema.<br />

96


Contenido de un DD<br />

Definiciones lógicas de datos:<br />

Elemento de Dato (Atributos de la Entidad).<br />

Menor unidad de un dato que tiene significado para los<br />

analistas.<br />

o Ej: Número de factura<br />

Estructura de Dato.<br />

Grupo de datos elementales o de otras estructuras de<br />

dato que en su conjunto describen un componente del<br />

sistema.<br />

o Ej: Factura<br />

Flujos de Datos.<br />

Almacenes de datos.<br />

Definiciones lógicas de procesos.<br />

Definiciones lógicas de entidades externas.<br />

97


Propuesta de notación de un DD (I)<br />

Notación del elemento dato: Cada uno está identificado con un<br />

nombre, una descripción, un alias, una longitud, restricciones de<br />

valores.<br />

Nombre de los datos<br />

Deben ser significativos. Por ejemplo: Fecha-factura.<br />

No deben ser mayor de 30 caracteres, ni contener espacios en blanco.<br />

Descripción de los datos<br />

Debe ser comprensible para el lector y pensando que quien lo lea no<br />

sabe nada con respecto al sistema.<br />

Alias<br />

El mismo dato recibe varios nombres, según quien haga uso del dato.<br />

Ejemplo para factura: documento de pago o nota de pago ...<br />

No son alias los siguientes casos: factura autorizada, factura<br />

verificada.<br />

Longitud: indica la cantidad de espacio necesario para cada dato.<br />

Restricciones en los valores de los datos (unidades, rangos, etc.).<br />

98


Propuesta de notación de un DD (II)<br />

Descripción de las estructuras de datos: Se<br />

construyen sobre cuatro relaciones de<br />

componentes (datos o estructuras):<br />

Relación secuencial: Componentes (datos o estructuras)<br />

que siempre se incluyen en una estructura de datos en<br />

particular.<br />

Relación de selección: Alternativas para datos o<br />

estructuras incluidas en una estructura de datos.<br />

Relación de iteración: Define la repetición de un<br />

componente cero o más veces.<br />

Relación opcional: Es un caso especial de la iteración, es<br />

decir, una o ninguna iteración.<br />

99


Propuesta de notación de un DD (III)<br />

Descripción de los flujos de datos: Representamos los flujos<br />

de datos siempre y cuando el flujo no sea un único atributo.<br />

Están compuestos por una o más estructuras<br />

Nombre del flujo de datos:<br />

Nombres que sean significativos. Por ejemplo: factura.<br />

Fuente: indica cual es el proceso (número) fuente de la<br />

información.<br />

Destino: indica cual es el proceso (número) destino de la<br />

información.<br />

Definición: explica el contenido del flujo de datos.<br />

Contenido: describe cuales son las estructuras de datos<br />

incluidas.<br />

100


Propuesta de notación de un DD (IV)<br />

Descripción de los almacenamientos de datos:<br />

Nombre de almacenamiento de datos.<br />

Nombres que significativos. Ejemplo: histórico facturas.<br />

Flujos de entrada: indica cuales son los flujos que<br />

alimentan el almacenamiento de datos.<br />

Flujos de salida: indica cuales son los flujos que extraen<br />

información del almacenamiento de datos.<br />

Definición: describe el contenido del almacenamiento de<br />

datos.<br />

Contenido: especifica el contenido del almacenamiento.<br />

101


Propuesta de notación de un DD (V)<br />

Descripción de los procesos:<br />

Nombre de proceso<br />

Entradas: indica cuales son los procesos,<br />

almacenamientos de datos que ejercen de fuente de<br />

datos.<br />

Flujos de salida: indica cuales los procesos,<br />

almacenamientos de datos que ejercen de destino de<br />

datos.<br />

Definición: indica la misión del proceso.<br />

Descripción: describe el proceso según alguna de las<br />

técnicas vistas.<br />

102


Propuesta de notación de un DD (VI)<br />

Descripción de las entidades externas:<br />

Nombre de entidad externa<br />

Flujos de datos asociados: indica cuales son los flujos<br />

(entrada / salida) asociados.<br />

Definición: indica quienes son la entidad.<br />

Volumen: Número de componentes de la entidad.<br />

103


Implementación de un DD<br />

Repositorio de datos<br />

Herramientas automáticas integradas dentro de un<br />

entorno CASE.<br />

Diccionario de datos de SGBD o SO modernos<br />

Dan soporte automático para definiciones de datos,<br />

validar su consistencia, producir algunos informes.<br />

Procesador de textos convencional<br />

Totalmente manual<br />

104


Ejemplo de DD (I)<br />

Dato elemental<br />

Nombre : Estado_Civil<br />

Descripción : Código de una letra para indicar el estado civil de<br />

cada empleado.<br />

Long y tipo : 1 carácter alfabético.<br />

Sinónimos :<br />

ESTADO (Personal)<br />

CIVIL (Nóminas)<br />

Valores :<br />

S Soltero D Divorciado<br />

C Casado S Separado<br />

V Viudo O Otros<br />

105


Ejemplo de DD (II)<br />

Estructura de dato<br />

Nombre : Empleado<br />

Descripción : Datos necesarios de un empleado.<br />

Componentes :<br />

Nombre_empleado +<br />

Num_empleado +<br />

Datos_personales =<br />

Fecha_nacimiento +<br />

Estado_Civil +<br />

Num_hijos [ 0 - ] +<br />

(Num _ tfno)<br />

Dirección =<br />

Calle +<br />

Número +<br />

(Población) +<br />

Codigo_Postal +<br />

Provincia<br />

106


Ejemplo de DD (III)<br />

Flujo de datos<br />

Nombre : Pago _ aceptado<br />

Ref : 11.1 - 11.2.<br />

Fuente : 11.1 Aceptar pago<br />

Destino : 11.2 Validar pago<br />

Descripción : Pago recibido y sellado pero no validado.<br />

Estruct de datos :<br />

Cheque +<br />

Recibo _ Caja +<br />

(Letra _ Pago) +<br />

Metodo _ pago<br />

Volumen : 5000 por día<br />

Comentarios : La letra de pago esta omitida en el 10 % de los<br />

casos.<br />

107


Ejemplo de DD (IV)<br />

Almacenamiento de datos<br />

Nombre : Historia _Pedidos<br />

Ref : P4.<br />

Flujo de Entrada : 9 - D4 Pedido<br />

Flujo de Salida :<br />

D4 - 10 Detalles pedido<br />

D4 - 11 Detalle ventas<br />

D4 - 9 Demanda anterior<br />

Descripción : Todos los pedidos aceptados en los últimos 6<br />

meses.<br />

Contenido : Pedido =<br />

Id_pedido +<br />

Detalle_cliente +<br />

Detalle_libro<br />

108


Ejemplo de DD (V)<br />

Entidad Externa :<br />

Nombre : Proveedores.<br />

Ref : p.<br />

Definición : Proveedores actuales de la empresa.<br />

Flujos de Datos :<br />

7 - p Pedidos.<br />

p - 3 Albarán.<br />

p - 11 Facturas.<br />

Volumen : Actualmente 25. Se espera llegar a 40.<br />

109


2.2. El análisis del sistema<br />

Análisis de la situación actual<br />

Construcción del nuevo sistema<br />

Contexto del sistema<br />

Identificación y definición de subsistemas<br />

Especificación de interfaces con otros sistemas<br />

Definición de las interfaces con el usuario<br />

Construcción del esquema lógico de datos<br />

Análisis detallado<br />

Completar especificaciones del sistema<br />

110


2.2.1. Modelo físico del sistema actual (I)<br />

Representar gráficamente, sin notación formal, el<br />

funcionamiento del sistema actual desde un punto de vista<br />

físico<br />

funciones que realiza<br />

flujo de información entre las mismas<br />

las entradas, salidas y almacenamiento de la información<br />

comunicaciones con otras unidades de la organización<br />

Analizar los flujos de información del sistema y detectar los<br />

nuevos requisitos de información.<br />

Identificar los objetivos de la unidad que pretende cubrir el<br />

sistema requerido.<br />

Identificar los archivos principales y documentos que serán<br />

fuente de información.<br />

111


Modelo físico del sistema actual (II)<br />

Revisar los aspectos funcionales del sistema existente (manual o<br />

automático)<br />

Principales entradas de datos.<br />

Principales funciones que se ejecutan.<br />

Las principales salidas.<br />

Evaluar la información producida por el sistema actual.<br />

Satisfacción de las expectativas del usuario.<br />

Información requerida por el usuario pero no producida por el sistema.<br />

Departamentos donde se producen demoras en el flujo de la<br />

información.<br />

Otras deficiencias<br />

operativa complicada o engorrosa, informes superfluos o de escasa<br />

utilización, tiempos de respuesta excesivamente altos,<br />

funcionamiento deficiente de algunas operaciones, etc.<br />

La revisión del sistema existente facilitará la identificación de<br />

nuevos requisitos que deberá satisfacer el sistema a desarrollar.<br />

112


Modelo lógico actual<br />

Representa gráficamente el modelo lógico, tanto<br />

para datos como para procesos, del sistema actual<br />

grandes procesos o subsistemas que lo componen y flujos<br />

de información entre ellos<br />

entidades de datos, u objetos sobre los que el sistema<br />

guarda información y las interrelaciones entre ellas.<br />

El objetivo es conocer el funcionamiento del sistema<br />

actual, de un modo conceptual<br />

Los modelos obtenidos en la realización de esta<br />

actividad permitirán identificar nuevos requisitos del<br />

sistema mediante la comparación con el sistema<br />

actual<br />

113


Modelo lógico actual de procesos (I)<br />

Construir un Modelo Lógico actual de procesos:<br />

Eliminar todas las referencias al entorno físico.<br />

Tratar de mostrar qué funciones se hacen, y no cómo se<br />

hacen.<br />

Determinar las grandes funciones del sistema en estudio,<br />

que serán contempladas posteriormente como<br />

subsistemas.<br />

Identificar las entradas y las salidas como flujos de<br />

información de cada uno de los subsistemas.<br />

Definir las principales entidades de datos que estos<br />

subsistemas utilizan.<br />

Descomponer cada subsistema, si se considera<br />

necesario.<br />

114


Modelo lógico actual de procesos (II)<br />

Técnica a utilizar: DFD en el que se muestren<br />

Las actividades o procesos que realiza el sistema.<br />

Los flujos de datos entre los mismos.<br />

Los almacenes de datos (lugares donde se guardan los<br />

datos utilizados por las funciones de consulta y<br />

actualización).<br />

Las entidades externas con que el sistema se comunica.<br />

Identificar nuevos requisitos para el sistema, a<br />

partir del modelo lógico actual de procesos.<br />

115


Modelo lógico actual de datos<br />

Identificar las entidades u objetos sobre los que se<br />

desea almacenar información, y sus principales<br />

atributos.<br />

Estudiar los recursos utilizados por el mismo y los<br />

documentos, pantallas e informes actualmente<br />

existentes.<br />

Definir las asociaciones entre las entidades identificadas<br />

anteriormente.<br />

Diseñar el Modelo Lógico de Datos.<br />

Técnica a utilizar: Diagramas Entidad-Relación<br />

Identificar nuevos requisitos para el sistema, a partir<br />

del modelo lógico actual de datos.<br />

116


Construcción del nuevo sistema<br />

En esta actividad se realizará una descomposición<br />

funcional del sistema en sus Subsistemas<br />

Principales.<br />

Se hará una primera descripción de QUE es lo que<br />

el sistema debe hacer en vez de COMO lo va a<br />

hacer.<br />

Una vez identificados los subsistemas principales,<br />

se describirán en detalle, definiendo sus<br />

componentes, con el fin de obtener una<br />

especificación lo más completa posible.<br />

117


2.2.2. Contexto del sistema (I)<br />

Definir las relaciones del sistema con sus usuarios,<br />

con otras aplicaciones, siempre indicando estas<br />

relaciones como flujos de datos de entrada o<br />

salida.<br />

Identificar qué usuarios o aplicaciones delimitan el<br />

sistema, en el sentido de que tienen entradas y salidas<br />

con él mismo.<br />

Identificar la información que aportan o reciben del<br />

Sistema.<br />

Eliminar todas las referencias al entorno físico.<br />

118


Ejemplo de diagrama de contexto (I)<br />

119


Ejemplo de diagrama de contexto (II)<br />

Pulsador Local ArD<br />

Pulsador Remoto ArD<br />

Pulsador Local ArG<br />

Pulsador Remoto ArG<br />

Interruptor Enable Ar<br />

Pulsador Consola TOC<br />

Pulsador Consola Store<br />

Pulsador Consola Grand Air<br />

Serial Line interface<br />

pr_ard_o<br />

pr_ard_f<br />

pl_arg_o<br />

pl_arg_f<br />

pr_arg_o<br />

pr_arg_f<br />

i_conda<br />

pc_toc_o<br />

pc_toc_f<br />

pc_sto_o<br />

pc_sto_f<br />

pl_ard_o<br />

pl_ard_f<br />

pc_gra_o<br />

pc_gra_f<br />

serial_pom<br />

serial_toc_f<br />

serial_sto_f<br />

serial_ard_f<br />

serial_arg_f<br />

serial_diag<br />

Diagrama de contexto<br />

BGTOC<br />

m_drv_o<br />

m_drv_f<br />

m_pas_o<br />

m_pas_f<br />

m_toc_o<br />

m_toc_f<br />

f_toc_end<br />

a_toc_niv<br />

m_sto_o<br />

m_sto_f<br />

a_sto_niv<br />

m_ard_o<br />

m_ard_f<br />

a_ard_niv<br />

m_arg_o<br />

m_arg_f<br />

a_arg_niv<br />

a_bat_niv<br />

Motor Driver<br />

Motor Passenger<br />

Motor TOC<br />

Detector End TOC<br />

Current Sensor TOC<br />

Motor Store<br />

Current Sensor Store<br />

Motor ArD<br />

Current Sensor ArD<br />

Motor ArG<br />

Current Sensor ArG<br />

Voltage Sensor Bat<br />

120


2.2.3. Identif. y def. de subsistemas (I)<br />

Dividir el sistema en diferentes subsistemas para<br />

su desarrollo posterior.<br />

Homogeneidad de las funciones que realizan los<br />

diferentes subsistemas.<br />

Datos que manejan, con el fin de disminuir la<br />

comunicación entre los subsistemas.<br />

Localización geográfica de los subsistemas.<br />

Factores de seguridad.<br />

Respuesta a eventos externos (solicitud de información,<br />

demanda de servicios, etc.).<br />

Fechas de entrega de alguna parte del sistema.<br />

121


Identif. y def. de subsistemas (II)<br />

Representar gráficamente, mediante un DFD, los diferentes<br />

subsistemas identificados en el paso anterior y las<br />

comunicaciones entre ellos.<br />

Se identifican, representan y describen las entradas y salidas y<br />

Flujos de Datos entre los subsistemas.<br />

Se determinan las principales entidades de datos que estos<br />

subsistemas utilizan y se representan como almacenes de datos<br />

en el diagrama.<br />

Descomponer cada subsistema en las funciones de que consta y<br />

representar gráficamente esta descomposición, mediante un<br />

Diagrama de Flujo de Datos (DFD)<br />

122


Identif. y def. de subsistemas (III)<br />

Para identificar las nuevas funciones de los subsistemas, es<br />

necesario considerar:<br />

El detalle de los nuevos subsistemas identificados.<br />

Funciones necesarias para soportar los requisitos del Catálogo.<br />

Funciones de mantenimiento de los nuevos datos en el modelo<br />

de datos del nuevo sistema.<br />

123


Identif. y def. de subsistemas (IV)<br />

Describir las distintas funciones identificadas en los DFD.<br />

Descomponer de cada una de las funciones identificadas en otro<br />

DFD que muestre el detalle las diferentes subfunciones de que<br />

consta esta función.<br />

Describir cada una de las subfunciones identificadas.<br />

Modo de acceso a las entidades de datos del sistema.<br />

Características de la subfunción:<br />

Actualización de datos.<br />

Consultas e informes.<br />

Realización de algoritmos específicos y descripción de los<br />

mismos.<br />

Tipo de tratamiento (en lotes o interactivo).<br />

Información sobre la frecuencia de ejecución.<br />

124


Identif. y def. de subsistemas (V)<br />

En el caso de que la descripción de alguna de<br />

estas subfunciones sea demasiado extensa, puede<br />

ser conveniente proceder a la descomposición de<br />

la misma en otro DFD que muestre el detalle de<br />

los diferentes procesos elementales que describen<br />

dicha subfunción.<br />

Determinar los diferentes eventos del sistema (sucesos<br />

que activan procesos o funciones que actualizan datos<br />

del sistema).<br />

Refinar los modelo obtenidos<br />

125


Identif. y def. de subsistemas (VI)<br />

Ejemplo DFD de nivel de subsistema<br />

Cajero<br />

Productos de un<br />

ticket<br />

fecha y hora<br />

Sistema<br />

ticket<br />

1<br />

Gestión<br />

ventas<br />

1 Producto<br />

2 Ticket<br />

2<br />

Gestión<br />

productos<br />

Reponedor<br />

Datos Nuevo producto<br />

Datos Borrar producto<br />

Datos Actualizar<br />

producto<br />

126


2.2.4. Interfaces con otros sistemas<br />

Determinar para cada uno de los diferentes subsistemas<br />

identificados, las interfaces con otros sistemas o<br />

subsistemas, especificando:<br />

Datos transferidos.<br />

Modo, Medio y Frecuencia de la interfaz.<br />

Suceso que origina y desencadena la interfaz.<br />

Deberá recogerse información sobre el formato de los datos<br />

que van a comunicarse.<br />

Identificar las interfaces (Diagrama de Contexto).<br />

Especificar los datos a ser transferidos/ recibidos.<br />

Indicar los aspectos operativos de la interfaz (en lotes,<br />

interactiva, medio, frecuencia).<br />

Identificar los sucesos o eventos que desencadenan la<br />

realización de la interfaz.<br />

127


Descripción de procesos manuales<br />

Nos interesan aquellos procesos manuales<br />

relacionados con un proceso interactivo (p. ej.<br />

introducción de datos en pantalla) frente a<br />

aquellos procesos manuales sin relación directa<br />

con procesos automáticos (p. ej. revisión de un<br />

listado).<br />

Para procesos manuales relacionados con<br />

procesos automáticos especificar:<br />

Datos de entrada a introducir por pantalla.<br />

Datos de salida mostrados en pantalla.<br />

Descripción sencilla del diálogo y manejo de la pantalla.<br />

128


2.2.5. Interfaces con el usuario<br />

Comprenden menús, formatos de pantallas, diálogos,<br />

formatos de informes y formularios de entrada.<br />

Prevalecen los requisitos de usuario sobre las definiciones<br />

técnicas.<br />

La participación activa de los usuarios del nuevo sistema es<br />

imprescindible.<br />

Es necesario conocer aspectos relacionados con las<br />

validaciones de campos, ediciones, ayudas, secuencias y<br />

navegación entre pantallas, etc.<br />

Uso de prototipos con el propósito de:<br />

reducir el riesgo en la implantación del nuevo sistema.<br />

aumentar la calidad del producto.<br />

incrementar la productividad.<br />

129


Pantallas del sistema (I)<br />

Definir los formatos individuales de las pantallas utilizadas.<br />

Encabezamiento.<br />

Cuerpo principal.<br />

Pie.<br />

Teclas de función.<br />

Teclas de ayuda y líneas de visualización de los mensajes de<br />

ayuda.<br />

Describir de modo detallado los diálogos entre pantallas y el<br />

encadenamiento entre las mismas.<br />

Realizar una representación jerárquica de las pantallas del<br />

Sistema.<br />

Se representarán en los niveles superiores los menús del<br />

sistema, y en los niveles inferiores las pantallas de diálogos,<br />

representativos de funciones o procesos concretos del sistema.<br />

130


Pantallas del sistema (II)<br />

Identificar los menús o diálogos concretos en función de los<br />

grupos de usuarios que los utilicen.<br />

Determinar los diálogos que se consideran críticos para un<br />

funcionamiento correcto del nuevo sistema. Dependerán de:<br />

Tipo de proyecto.<br />

Grado de cambio con respecto al sistema actual.<br />

La complejidad de los trabajos del sistema.<br />

131


Pantallas del sistema (III)<br />

En esta determinación, serán de utilidad los siguientes<br />

criterios:<br />

Frecuencia de uso de esos diálogos.<br />

Acceso a gran número de entidades de datos del sistema.<br />

Gran número de elementos de datos asociados con el diálogo.<br />

Cambio en el modo habitual de trabajo en el sistema actual.<br />

Diálogos comunes a diferentes grupos de usuarios.<br />

Diálogos que contienen opciones complejas de navegación.<br />

132


Pantallas del sistema (IV)<br />

Prototipado de las pantallas del sistema<br />

Determinar el punto de entrada a cada pantalla, y sus<br />

posibilidades de navegación a otras.<br />

Especificar los datos asociados a cada pantalla (longitud,<br />

reglas de validación, mensajes de ayuda, etc.).<br />

Evaluar la consistencia del diseño, asegurando que toda<br />

la información necesaria para el usuario está<br />

contemplada en las pantallas y corregirlas en caso<br />

contrario.<br />

Confirmar con el usuario la validez de los diseños de<br />

pantalla realizados.<br />

133


Jerarquía de pantallas (I)<br />

134


Jerarquía de pantallas (II)<br />

Menú principal<br />

Gestión de productos<br />

Ventas<br />

Nuevo producto<br />

Modificar producto<br />

Borrar producto<br />

135


Jerarquía<br />

de pantallas (III)<br />

M e n u<br />

P p a l .<br />

C o n t r o l d e R e d<br />

C o n f i g u r a c i ó n<br />

g e n e r a l<br />

C o n f i g u r a c i ó n<br />

i n f r a e s t r u c t u r a<br />

C o n f i g u r a c i ó n<br />

d e f l o t a s y<br />

t e r m i n a l e s<br />

C o n f i g u r a c i ó n d e<br />

a b o n a d o s<br />

E s t a d í s t i c o s<br />

M a n t e n i m i e n t o<br />

A d m i n i s t r a c i ó n<br />

d e l s i s t e m a<br />

F a c t u r a c i ó n<br />

L l a m a d a s e n c o l a<br />

C o m u n i c a c i o n e s e x i s t e n t e s<br />

L o c a l i z a c i ó n d e u n t e r m i n a l<br />

R e l a c i ó n d e t e r m i n a l e s p o r z o n a<br />

E s t a d o d e l a i n f r a e s t r u c t u r a<br />

M o n i t o r d e a l a r m a s<br />

P a r á m e t r o s g e n e r a l e s<br />

D u r a c i ó n d e l a s c o m u n i c a c i o n e s<br />

A c t u a l i z a c i o n e s s o b r e l a r e d<br />

N o d o C e n t r a l<br />

E s t a c i ó n B a s e d e Z o n a<br />

O p c i o n e s i n f r a e s t r u c t u r a<br />

E d i c i ó n d e f l o t a s<br />

E d i c i ó n d e e q u i p o s<br />

A l t a s y b a j a s d e a b o n a d o s<br />

A s i g . d e f l o t a s y / o e q u i p o s a a b o n a d o s<br />

D u r a c i ó n c o m u n i c a c i o n e s<br />

C o n f i g u r a c i o n e s d i a r i a s<br />

C o n f i g u r a c i ó n f e s t i v i d a d e s m e n s u a l e s<br />

G r u p o s d e<br />

c o m p a r t i c i ó n<br />

S i s t e m a A b i e r t o<br />

C o n f l i c t o s p a r a l a c o m p a r t i c i ó n d e<br />

e n l a c e s d e a u d i o<br />

C o n f l i c t o s p a r a l a c o m p a r t i c i ó n d e<br />

c a n a l e s d e t r á f i c o<br />

G r a d o d e u t i l i z a c i ó n d e l a r e d ( r e p e t i d o r e s , e n l a c e s y a u d i o s )<br />

T r á f i c o g l o b a l<br />

T r á f i c o t o t a l c u r s a d o<br />

T r á f i c o i n d i v i d u a l i z a d o p o r e q u i p o t e r m i n a l<br />

N º d e l l a m a d a s p e r d i d a s y e s t a d í s t i c a d e l a s c a u s a s<br />

N º d e l l a m a d a s i n m e d i a t a s<br />

M e d i a d e d u r a c i ó n d e l l a m a d a s s e g ú n e l t i p o d e l l a m a d a<br />

C á l c u l o d e i n d i c a d o r e s d e c a r g a d e l a r e d<br />

A c c e s o a e l e m e n t o s<br />

L i s t a d o d e i n c i d e n c i a s<br />

A d m i n i s t r a c i ó n d e u s u a r i o s<br />

C o p i a s d e s e g u r i d a d<br />

L i m p i e z a d e l a s B a s e s d e D a t o s<br />

C o n f i g u r a c i ó n f a c t u r a<br />

T a b l a s d e t a r i f i c a c i ó n<br />

L l a m a d a s d e u n a b o n a d o<br />

F a c t u r a r<br />

V i s u a l i z a c i ó n d e f a c t u r a s<br />

C o n t a b i l i d a d g e n e r a l<br />

A c t u a l i z a r d u r a c i o n e s e n l a r e d t r u n k i n g<br />

S i n c r o n i z a c i ó n c o n e l r e l o j d e l a r e d<br />

V o t e n o w<br />

A l t a s y b a j a s d e u s u a r i o s<br />

C a m b i a r P a s s w o r d<br />

L i s t a d o d e u s u a r i o s<br />

H a c e r c o p i a<br />

R e s t a u r a r c o p i a<br />

C o m p a r t i c i ó n d e<br />

e n l a c e d e<br />

s e ñ a l i z a c i ó n<br />

C a n a l d e C o n t r o l y<br />

E n l a c e S e ñ a l i z a c i ó n<br />

c o m p a r t i d o s<br />

136


C o n t r o l d e R e d<br />

C o n f i g u r a c i ó n<br />

d e a b o n a d o s<br />

Jerarquía de<br />

pantallas (IV)<br />

E s t a d o d e l a<br />

i n f r a e s t r u c t u r a<br />

Información de estado<br />

del Nodo Central<br />

L l a m a d a s e n c o l a Llamadas en Cola<br />

C o m u n i c a c i o n e s<br />

e x i s t e n t e s<br />

R e l a c i ó n d e t e r m i n a l e s<br />

p o r z o n a<br />

L o c a l i z a c i ó n d e u n<br />

t e r m i n a l<br />

A l t a s y b a j a s<br />

d e a b o n a d o s<br />

A s i g . d e f l o t a s<br />

y / o e q u i p o s a<br />

a b o n a d o s<br />

Comunicaciones<br />

existentes<br />

Relacion de zonas<br />

Localización de un<br />

terminal<br />

Altas y bajas de<br />

abonados<br />

Selección de Abonado<br />

Información de estado<br />

de la Estación Base<br />

de Zona<br />

Criterios de selección<br />

y ordenación de las<br />

llamadas en curso<br />

Criterios de selección y<br />

ordenación de las<br />

comunicaciones existentes<br />

Relación de terminales<br />

por zona<br />

Asignación de flotas<br />

y/o equipos a<br />

abonados<br />

C o n f i g u r a c i ó n<br />

i n f r a e s t r u c t u r a<br />

N o d o C e n t r a l<br />

E s t a c i ó n B a s e<br />

d e Z o n a<br />

O p c i o n e s<br />

i n f r a e s t r u c t u r a<br />

Configuración Nodo<br />

Central<br />

Configurar EBZ<br />

G r u p o s d e<br />

c o m p a r t i c i ó n<br />

C o n f l i c t o s p a r a l a<br />

c o m p a r t i c i ó n d e<br />

c a n a l e s d e t r á f i c o<br />

C o n f l i c t o s p a r a l a<br />

c o m p a r t i c i ó n d e<br />

e n l a c e s d e a u d i o<br />

S i s t e m a A b i e r t o<br />

C o m p a r t i c i ó n d e<br />

e n l a c e d e<br />

s e ñ a l i z a c i ó n<br />

C a n a l d e C o n t r o l y<br />

E n l a c e S e ñ a l i z a c i ó n<br />

c o m p a r t i d o s<br />

Configurar Conexión<br />

Directa<br />

Configurar<br />

redundancias del NC<br />

Acceso a Centralita<br />

Configurar<br />

redundancias de la<br />

EBZ<br />

Alta Enlace Audio<br />

Alta Repetidor<br />

Configurar EBZ en<br />

modo degradado<br />

Conflictos para la<br />

compartición de<br />

canales de tráfico<br />

Conflictos para la<br />

compartición de<br />

enlaces de audio<br />

Grupos del Sistema<br />

Abierto<br />

Compartición de<br />

enlace de señalización<br />

Canal de Control y Enlace de<br />

Señalización compartidos<br />

Configuración<br />

redundancias en los<br />

Enlaces de Audio<br />

Alta frecuencia<br />

Configurar sistema<br />

abierto<br />

Subgrupo 1 Compartición<br />

Enlace de Señalización<br />

Subgrupo 2 Compartición<br />

Enlace de Señalización<br />

137


A d m i n i s t r a c i ó n<br />

d e l s i s t e m a<br />

F a c t u r a c i ó n<br />

Jerarquía de pantallas (V)<br />

A d m i n i s t r a c i ó n<br />

d e l o s u s u s a r i o s<br />

S<br />

E l a b o r a c i ó n d e<br />

l a s T a b l a s d e<br />

T a r i f i c a c i ó n<br />

M a n t e n i m i e n t o<br />

d e l a s b a s e s<br />

d e d a t o s<br />

T r á f i c o c u r s a d o<br />

p o r u n a b o n a d o<br />

P r e s e n t a c i ó n<br />

d e f a c t u r a s<br />

A l t a s y b a j a s d e<br />

u s u a r i o s<br />

C a m b i a r e l<br />

p a s s w o r d<br />

S<br />

L i s t a d o d e<br />

u s u a r i o s<br />

R e a l i z a c i ó n d e<br />

c o p i a s d e<br />

s e g u r i d a d<br />

L i m p i e z a d e l a<br />

b a s e d e d a t o s<br />

Elaboración de las<br />

Tablas de Tarificación<br />

Tráfico cursado por un<br />

abonado<br />

F a c t u r a d e u n<br />

a b o n a d o<br />

F a c t u r a d e<br />

t o d o s l o s<br />

a b o n a d o s<br />

Criterios de selección y<br />

ordenación del tráfico cursado<br />

por un abonado<br />

Selección del abonado<br />

Factura de todos los<br />

abonados<br />

Altas y bajas de<br />

usuarios<br />

Cambiar el password<br />

Listado de usuarios<br />

Copias de seguridad<br />

Limpieza de la base<br />

de datos<br />

C o n f i g u r a c i ó n<br />

d e f l o t a s y<br />

t e r m i n a l e s<br />

Factura de un<br />

abonado<br />

Criterios de selección y<br />

ordenación de la factura de un<br />

abonado<br />

Criterios de selección y<br />

ordenación del listado de<br />

usuarios<br />

A c c e s o a<br />

G r u p o s<br />

A s i g n a c i ó n<br />

d e f l o t a s<br />

A l t a s y b a j a s<br />

d e t e r m i n a l e s<br />

Grupos de una flota<br />

Asignación de flotas<br />

Terminales de una<br />

flota<br />

Acceso a grupos<br />

Altas de terminales<br />

Redirecciones de un<br />

grupo<br />

Monitores de flota Alta Monitores de flota<br />

Redirección de un<br />

terminal<br />

138


Prototipado simple de pantallas<br />

Producto nuevo<br />

Código del producto:<br />

Descripción:<br />

Precio:<br />

Unidades:<br />

Ticket nuevo<br />

Chequear<br />

Añadir<br />

Salir<br />

Fecha: <br />

Código del producto:<br />

Descripción: Precio:<br />

Ticket:<br />

Total:<br />

Unidades:<br />

Importe:<br />

+<br />

-<br />

Total<br />

Salir<br />

139


Prototipado avanzado de pantallas<br />

140


Informes y formularios<br />

Obtener una definición de los formatos de los<br />

informes generados.<br />

Definir los formularios utilizados (si fuera<br />

necesario).<br />

Verificar que los diseños realizados están de<br />

acuerdo con los estándares de la empresa y<br />

obtener la validación y conformidad de los<br />

usuarios.<br />

141


2.2.6. Construcción del modelo de datos<br />

Modelo Lógico de Datos que recoja:<br />

Todas las entidades de datos de relevancia cuya información va a<br />

ser consultada o procesada de alguna manera en el sistema.<br />

Todas las relaciones existentes entre las entidades de manera que<br />

se pueda acceder a los datos relacionados con cualquiera de las<br />

entidades mediante procesos sencillos.<br />

Las claves de acceso a las entidades, así como los atributos<br />

característicos de las distintas entidades definidas.<br />

Construir Modelo Entidad-Relación y describir las entidades<br />

Normalizar el modelo de datos<br />

142


Actualización de modelo de datos<br />

Cuando un sistema reemplaza a otro ya existente hay que tener<br />

en cuenta:<br />

Definir nuevas entidades de datos (estructuras de datos) para<br />

contemplar las necesidades de información futuras.<br />

Incorporar nuevos atributos de datos a las entidades ya existentes.<br />

Modificar el nombre de las entidades y/ o de los atributos.<br />

Identificar nuevas interrelaciones entre las entidades, teniendo en<br />

cuenta las necesidades de acceso a la información.<br />

Cambiar los atributos clave de las entidades.<br />

Describir completamente las entidades de datos con todos sus<br />

atributos e incorporar información sobre volúmenes estimados,<br />

frecuencia de acceso a las mismas, tiempo medio de<br />

almacenamiento dentro del sistema, etc.<br />

... y las implicaciones que todos estos cambios pueden tener<br />

143


2.2.7. Análisis detallado del nuevo sistema<br />

Modelo del nuevo sistema desde el punto de vista de<br />

los eventos que actúan sobre el mismo, considerando<br />

evento como todo suceso que activa los procesos de<br />

actualización de datos dentro del sistema.<br />

Se estudia la relación entre los procesos y las<br />

entidades de datos<br />

El orden en que se suceden los distintos eventos dentro del<br />

sistema.<br />

La posible existencia de situaciones no usuales, dentro del<br />

tratamiento realizado por el sistema.<br />

La interacción con otros sistemas dentro de la Unidad<br />

144


Catálogo de eventos<br />

Evento: Cualquier suceso que activa a un proceso que actualiza<br />

datos del sistema. Se pueden considerar tres tipos de eventos:<br />

Eventos producidos en el exterior del sistema, por ejemplo,<br />

solicitudes de altas o modificaciones de los datos almacenados en el<br />

sistema. Estos eventos "ponen en marcha" los procesos que realizan<br />

dichas funciones de actualización.<br />

Eventos periódicos: se identifican en los Diagramas de Flujos de<br />

Datos, estudiando aquellos procesos que actualizan los almacenes de<br />

datos, sin un estímulo externo, con una periodicidad temporal.<br />

Por ejemplo:En un sistema donde las entidades a las que no se<br />

haya accedido en cierto tiempo, se archiven, se identificaría el<br />

evento periódico "Archivar entidades".<br />

Eventos reconocidos internamente, por ejemplo, prerrequisitos que el<br />

sistema exige para activar el proceso de actualización.<br />

145


Ejemplo de catálogo de eventos<br />

Filmoteca Española<br />

Evento: FE-ALTA.MATERIAL<br />

Descripción:<br />

o Alta de un nuevo material, que puede producir o no el alta de un<br />

nuevo titular<br />

Evento: FE-CAMBIO.TITULAR<br />

Descripción:<br />

o Notificación del cambio de titular de un material.<br />

Evento: FE-CAMBIO.TITULAR.DERECHO<br />

Descripción:<br />

o Notificación del cambio de titular a un derecho de película. Este<br />

cambio provoca:<br />

Un alta de una ocurrencia en la Entidad FE-DERECHO.<br />

Una modificación de la vigencia en la ocurrencia de la Entidad FE-<br />

DERECHO, que ostentaba el derecho antes del cambio del titular.<br />

146


Diagramas de Estado<br />

Un diagr ama de estados muestra un<br />

comportamiento que especifica la secuencia de<br />

estados por los que pasa el sistema o una entidad<br />

concreta a lo largo de su tiempo de vida, en<br />

respuesta a eventos.<br />

Se emplean para modelar aspectos dinámicos del<br />

sistema :<br />

Muestran el flujo de control de un estado a otro.<br />

Trabajador<br />

pérdida empleo<br />

En Activo<br />

contratación<br />

En el Paro<br />

más de 60 años<br />

más de 60 años<br />

Jubilación<br />

147


Elementos de Modelado<br />

Elementos de modelado de los Diagramas de Estados<br />

:<br />

Estado : condición o situación en la vida de un objeto en la cual<br />

cumple una condición, desarrolla una actividad o bien espera algún<br />

evento.<br />

Transición : relación entre dos estados indicando que una entidad<br />

en el primer estado desarrolla una serie de acciones y entra en el<br />

segundo estado cuando un evento concreto ocurre y se satisfacen<br />

una condiciones específicas.<br />

Evento : especificación de una ocurrencia significativa que tiene<br />

una localización en el tiempo y el espacio, y que desencadena una<br />

transición de estados.<br />

Además de notas y restricciones.<br />

matricular<br />

despegar<br />

En Vuelo<br />

En Tierra<br />

aterrizar<br />

estrellarse<br />

148


Ejemplo: Análisis de cadenas<br />

Parser de cadenas de caracteres con sintaxis :<br />

mensaje :: ‘’ cadena ‘;’<br />

Diagrama de estados :<br />

149


Ejemplo Diagrama de Estados (I)<br />

150


Ejemplo Diagrama de Estados (II)<br />

151


Diagramas de Secuencia<br />

Herramienta muy utilizada en metodologías<br />

orientadas a objeto<br />

Los diagramas de secuencia nos permite mostrar<br />

la secuencia de ejecución de los procesos.<br />

Proceso<br />

1<br />

Proceso<br />

2<br />

152


Redes de Petri<br />

Las redes de Petri son una herramienta que<br />

permite mostrar aspectos de secuenciación de<br />

procesos y de sincronización de los mismos.<br />

Se propone un uso “libre” de las RdP:<br />

promoción de uso como herramienta gráfica,<br />

minimizar aspectos de formalismo<br />

153


Ejemplo de uso<br />

154


Ejemplo de uso<br />

155


2.2.8. Completar la especificación del sistema<br />

En esta actividad se contemplan en detalle los<br />

requisitos no funcionales del sistema, es decir, las<br />

facilidades que debe proporcionar el mismo en<br />

cuanto a:<br />

Seguridad.<br />

Rendimiento.<br />

Frecuencia de tratamiento.<br />

Comunicaciones.<br />

156


Seguridad y Control (I)<br />

Especificar la política de Seguridad y Control para el nuevo<br />

sistema.<br />

Definir exactamente los puntos de control que deben<br />

establecerse para garantizar los requisitos de seguridad<br />

establecidos.<br />

Planificación de la seguridad lógica en tres niveles:<br />

Protección de acceso, establece las posibilidades del acceso a la<br />

información en función de los procesos y sus futuros usuarios.<br />

En casos extremos de necesidad de protección, pueden<br />

emplearse técnicas de encriptación de datos.<br />

Continuidad integral, que indicará los procedimientos<br />

adecuados para asegurar una recuperación de los datos<br />

involucrados en una operación de actualización en caso de<br />

terminación anormal.<br />

Integridad de datos.<br />

157


Seguridad y Control (II)<br />

Determinar los requisitos de seguridad para<br />

almacenamientos de datos, y de otros recursos a<br />

proteger, identificando las causas de peligro. Los<br />

peligros más comunes son:<br />

Modificación.<br />

Destrucción.<br />

Revelación de datos a personas no autorizadas.<br />

Definir requisitos de seguridad para los procesos y<br />

muy principalmente para las transacciones<br />

interactivas.<br />

158


Robustez del sistema<br />

Copias de respaldo, contingencias y recuperación de errores.<br />

Definir las necesidades de copias de seguridad para los<br />

almacenamientos de datos, procesos y transacciones del nuevo<br />

sistema.<br />

Especificar los almacenamientos de datos que deberán entrar en los<br />

procedimientos de copias de respaldo, su periodicidad y condiciones<br />

especiales.<br />

Establecer un plan de contingencias para aquellas situaciones de fallo<br />

crítico del sistema.<br />

Especificar los procedimientos de tratamientos de los errores que se<br />

podrán producir en el nuevo sistema, teniendo especial cuidado en:<br />

Revisar las posibilidades de error y detallar los procedimientos de<br />

recuperación para cada subsistema.<br />

Planificar el contenido de los mensajes de error, teniendo en<br />

cuenta si son fáciles de comprender para el destinatario.<br />

159


Rendimiento del sistema<br />

Especificar requisitos de rendimiento y eficiencia<br />

del nuevo sistema.<br />

Tiempos de respuesta requeridos.<br />

Volúmenes de ocupación dentro del sistema.<br />

Circunstancias especiales de explotación (días o períodos<br />

de alto volumen de transacciones).<br />

Asegurar que la inclusión de las funciones de<br />

seguridad, control, copias de seguridad,<br />

tratamiento de errores, etc., no están limitando el<br />

rendimiento deseado para el sistema.<br />

160


V&V de la especificación del sistema<br />

Asegurar la coherencia y exactitud de los modelos<br />

obtenidos.<br />

Garantizar que los modelos obtenidos satisfacen los<br />

requisitos recogidos en el Catálogo de Requisitos del<br />

Sistema.<br />

Esto se debería hacer mediante una revisión con el Grupo de<br />

Calidad y con los usuarios.<br />

Comprobar con el Grupo de Calidad, que la documentación<br />

elaborada como producto final de este módulo sigue los<br />

estándares establecidos. Se harán las correspondientes<br />

modificaciones con el objetivo de ajustarse al máximo a<br />

estos estándares.<br />

Una vez revisadas las especificaciones, y corregidos sus<br />

posibles defectos, deberá haber una aprobación formal de<br />

las mismas por parte del Comité de Dirección. No se<br />

continuará con la Fase siguiente hasta que el equipo del<br />

proyecto no cuente con esta aprobación.<br />

161


162


Ejercicio de Análisis: “Gestión de aula informática” (I)<br />

Un aula informática de una escuela universitaria tiene la<br />

siguiente política de reservas:<br />

Los alumnos pueden reservar un máximo de 4 horas a la<br />

semana.<br />

Las reservas pueden realizarse hasta el día anterior al<br />

uso.<br />

Cuando un alumno hace una reserva A, se le entrega un<br />

justificante de la misma. El formato del justificante es el<br />

siguiente.<br />

Reserva Aula Informática<br />

Número de Expediente: 54.321<br />

Nombre: Alicia Kensington Carroll<br />

Equipo: 014<br />

Día reservado: 28-06-93<br />

Hora reservada: 16:00<br />

163


Ejercicio de Análisis: “Gestión de aula informática” (II)<br />

Cuando se abre el Aula hay un listado de las reservas<br />

realizadas sobre cada equipo, de modo que la gente puede<br />

usar los equipos no reservados. El formato del listado de<br />

reservas es el siguiente:<br />

<br />

Reservas del aula informática<br />

001<br />

014<br />

014<br />

…<br />

Equipo<br />

10:00<br />

10:00<br />

16:00<br />

…<br />

Hora<br />

Día: 28-06-93<br />

Peter Pan<br />

María Montesa<br />

Alicia Pérez<br />

El horario del aula es de 10:00 a 18:00 todos los días lectivos<br />

y las reservas comienzan siempre a una hora en punto<br />

…<br />

Alumno<br />

164


Ejercicio de análisis: gestión de un aparcamiento<br />

público<br />

Un aparcamiento público admite tant o a clientes que cogen el ticket en la entrada, como a abonados que<br />

cuentan con una tarjeta que los identifica. Para ello, el aparcamiento cuenta con dos barreras, una a la entrada<br />

y otra a la salida, conectadas al ordenador de gestión. La barrera de entrada dispone de un lector de tarjeta de<br />

abonados y un expendedor de tickets, mientras que la barrera de salida cuenta también con un lector de<br />

tarjetas y con un lector de tickets.<br />

Cuando un usuario llega a la barrera de entrada y retira el ticket de ent rada, el emisor de tickets envía un<br />

mensaje al ordenador indicando el código del ticket y la fecha y hora de ret irada del mismo, y abre<br />

automáticamente la barrera. El código del ticket es un número secuencial y cíclico que va generando el emisor<br />

entre 0 y 99.999. Si el usuario es abonado, entonces el lector de tarjeta de abonado envía un mensaje al<br />

ordenador de gestión con el número de abonado y se queda esperando a recibir confirmación de que puede<br />

abrir la barrera. El número de abonado está entre el 1 y el 999.<br />

Un usuario no abonado debe pasar por caja antes de poder salir. El cajero dispone de un lector inteligente de<br />

tickets. Al int roducir un ticket en el lector, éste solicita al ordenador al que está conectado que le remita la<br />

fecha y hora de entrada con el fin de poder calcular el importe. Una vez que el operario valida el pago de este<br />

importe, el lector envía un mensaje al ordenador para que apunte el ticket como disponible para salir. Cuando<br />

el usuario va a salir con el coche, introduce el ticket pagado en el lector que se encuentra en la barrera de<br />

salida. Este envía un mensaje al ordenador para que confirme que el ticket ha sido pagado y que autoriza la<br />

salida.<br />

Cuando un usuario abonado desea sacar su coche del aparcamiento, introduce su tarjeta en el lector de la<br />

barrera de salida. Este lector envía un mensaje al ordenador confirmando que puede dejar pasar al abonado.<br />

Pese a ser un único dispositivo físico, cada una de las barreras está integrada por t res dispositivos lógicos (la<br />

barrera en sí, el lector de tarjet a de abonado y el expendedor o el lector de tickets) que obedecen y se<br />

comunican por separado con el ordenador de gestión.<br />

Un abonado debe haber pasado su tarjeta por el lect or de salida antes de poder volver a utilizarla en el de<br />

entrada.<br />

Un ticket que no ha sido pagado no debe permitir abrir la barrera de salida.<br />

Se debe atender las peticiones de apertura de barrera, tanto de entrada como de salida, en menos de tres<br />

segundos.Del abonado se debe guardar información referente a su nombre, su dirección y su número de<br />

teléfono.<br />

165

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!