PROYECTO DE INGENIERIA ELECTRONICA II SIMULADOR DE …

29
PROYECTO DE INGENIERIA ELECTRONICA II SIMULADOR DE EVENTOS DISCRETOS PARA FILAS DE ESPERA TRIMESTRE 07-P ASESOR: RICARDO MARCELIN JIMENEZ ALUMNO: JOSE LUIS AGUILAR ESCAMILLA 1

Transcript of PROYECTO DE INGENIERIA ELECTRONICA II SIMULADOR DE …

Page 1: PROYECTO DE INGENIERIA ELECTRONICA II SIMULADOR DE …

PROYECTO DE INGENIERIA ELECTRONICA II

SIMULADOR DE EVENTOS DISCRETOS PARA FILAS DE ESPERA

TRIMESTRE 07-P

ASESOR:

RICARDO MARCELIN JIMENEZ

ALUMNO:

JOSE LUIS AGUILAR ESCAMILLA

1

Page 2: PROYECTO DE INGENIERIA ELECTRONICA II SIMULADOR DE …

INDICE

INDICE _____________________________________________________________ 2

Índice de diagramas____________________________________________________ 4

INTRODUCCIÓN _____________________________________________________ 6 Definiciones iniciales _______________________________________________________ 6

La teoría de colas ________________________________________________________________6 Una cola_______________________________________________________________________6 Los sistemas de colas_____________________________________________________________6

TEORÍA DE COLAS___________________________________________________ 6 Origen ___________________________________________________________________ 7 Modelo de formación de colas. _______________________________________________ 7 Objetivos de la teoría de Colas _______________________________________________ 8 Elementos existentes en un modelo de colas ____________________________________ 8

Fuente de entrada o población potencial ______________________________________________8 Cliente ________________________________________________________________________8 Capacidad de la cola _____________________________________________________________8 Disciplina de la cola______________________________________________________________8 Mecanismo de servicio ___________________________________________________________9 La cola ________________________________________________________________________9

El proceso de servicio. ______________________________________________________ 9 Medidas de rendimiento para evaluar un sistema de colas _______________________ 10 Relaciones entre medidas de rendimiento _____________________________________ 10

¿Qué es UML? _______________________________________________________ 11 UML ofrece notación y semántica estándar ___________________________________ 12

MODELANDO EL SIMULADOR DE COLAS DE ESPERA CON UML________ 12 Casos de Uso_____________________________________________________________ 12

Usuario_______________________________________________________________________13 Diagramas de Actividad ___________________________________________________ 13

Diagramas de Actividad para modelar Casos de Uso ___________________________________13 Especificaciones de los casos de uso __________________________________________ 13

A1: Colocar fuente______________________________________________________________13 A2: Colocar despachador_________________________________________________________14 A3: Colocar colas de espera_______________________________________________________15 A4: Colocar salida ______________________________________________________________15 A5: Unir dispositivos ____________________________________________________________16 A6: Ejecutar traza ______________________________________________________________17 B1: Cancelar traza ______________________________________________________________18 B2: Interrumpir traza ____________________________________________________________18 E1: Configurar fuente ___________________________________________________________19 E2: Configurar colas de espera ____________________________________________________19 E3: Desplazar dispositivos________________________________________________________20 E4: Cambiar velocidad de traza ____________________________________________________21

Diagramas de Secuencia ___________________________________________________ 21 Diagramas de secuencia del simulador de colas de espera _______________________________22

Diagramas de Colaboración ________________________________________________ 24

2

Page 3: PROYECTO DE INGENIERIA ELECTRONICA II SIMULADOR DE …

Análisis y Diseño con el Diagrama de Clase ___________________________________ 26 Desarrollo de Diagramas de Clase durante el análisis ___________________________________26

CONCLUSIÓN ______________________________________________________ 27

BIBLIOGRAFÍA _____________________________________________________ 29

3

Page 4: PROYECTO DE INGENIERIA ELECTRONICA II SIMULADOR DE …

Índice de diagramas Diagrama I. Casos de uso del simulador de colas de espera. ____________________________12 Diagrama II. Diagrama de actividades del casos de uso colocar fuente. ___________________13 Diagrama III. Diagrama de actividades del caso de uso colocar despachador. ______________14 Diagrama IV. Diagrama de actividades del caso de uso colocar cola de espera ____________15 Diagrama V. Diagrama de actividades del caso de uso colocar salida _____________________16 Diagrama VI. Diagrama de actividades del caso de uso unir dispositivos. _______________________16 Diagrama VII. Diagrama de actividades del caso de uso ejecutar traza._________________________17 Diagrama VIII. Diagrama de actividades del caso de uso cancelar traza.________________________18 Diagrama IX. Diagrama de actividades del caso de uso interrumpir traza._______________________18 Diagrama X. Diagrama de actividades del caso de uso configurar fuente. _______________________19 Diagrama XI. Diagrama de actividades del caso de uso configurar cola de espera. ________________20 Diagrama XII. Diagrama de actividades del caso de uso desplazar dispositivos. __________________20 Diagrama XIII. Diagrama del caso de uso cambiar velocidad de traza. _________________________21 Diagrama XIV. Diagrama de secuencia del caso uso colocar fuentes.___________________________22 Diagrama XV. Diagrama de secuencia del caso de uso colocar despachador. ____________________22 Diagrama XVI. Diagrama de secuencia del caso de uso colocar cola de espera. __________________23 Diagrama XVII. Diagrama de secuencia del caso de uso colocar salida. ________________________23 Diagrama XVIII. Diagrama de secuencia del caso de uso ejecutar traza. ________________________24 Diagrama XIX. Diagrama de colaboración del caso de uso colocar fuente. ______________________24 Diagrama XX. Diagrama de colaboración del caso de uso colocar despachador. _________________25 Diagrama XXI. Diagrama de colaboración del caso de uso colocar cola de espera. _______________25 Diagrama XXII. Diagrama de colaboración del caso de uso colocar salida.______________________25 Diagrama XXIII. Diagrama de colaboración del caso de uso ejecutar traza. _____________________25 Diagrama XXIV. Diagrama de clases del simulador colas de espera. ___________________________26

4

Page 5: PROYECTO DE INGENIERIA ELECTRONICA II SIMULADOR DE …

5

Page 6: PROYECTO DE INGENIERIA ELECTRONICA II SIMULADOR DE …

INTRODUCCIÓN Las "colas" son un aspecto de la vida moderna que nos encontramos continuamente en nuestras actividades diarias. En el contador de un supermercado, accediendo al Metro, en los Bancos, etc., el fenómeno de las colas surge cuando unos recursos compartidos necesitan ser accedidos para dar servicio a un elevado número de trabajos o clientes. El estudio de las colas es importante porque proporciona tanto una base teórica del tipo de servicio que podemos esperar de un determinado recurso, como la forma en la cual dicho recurso puede ser diseñado para proporcionar un determinado grado de servicio a sus clientes. Debido a lo comentado anteriormente, se plantea como algo muy útil el desarrollo de una herramienta que sea capaz de dar una respuesta sobre las características que tiene un determinado modelo de colas.

Definiciones iniciales La teoría de colas es el estudio matemático del comportamiento de líneas de espera. Esta se presenta, cuando los “clientes” llegan a un “lugar” demandando un servicio a un “servidor”, el cual tiene una cierta capacidad de atención. Si el servidor no está disponible inmediatamente y el cliente decide esperar, entonces se forma la línea de espera. Una cola es una línea de espera y la teoría de colas es una colección de modelos matemáticos que describen sistemas de línea de espera particulares o sistemas de colas. Los modelos sirven para encontrar un buen compromiso entre costos del sistema y los tiempos promedio de la línea de espera para un sistema dado. Los sistemas de colas son modelos de sistemas que proporcionan servicio. Como modelo, pueden representar cualquier sistema en donde los trabajos o clientes llegan buscando un servicio de algún tipo y salen después de que dicho servicio haya sido atendido. Podemos modelar los sistemas de este tipo tanto como colas sencillas o como un sistema de colas interconectadas formando una red de colas. El problema es determinar qué capacidad o tasa de servicio proporciona el balance correcto. Esto no es sencillo, ya que un cliente no llega a un horario fijo, es decir, no se sabe con exactitud en que momento llegarán los clientes. También el tiempo de servicio no tiene un horario fijo.

TEORÍA DE COLAS En muchas ocasiones en la vida real, un fenómeno muy común es la formación de colas o líneas de espera. Esto suele ocurrir cuando la demanda real de un servicio es superior a la capacidad que existe para dar dicho servicio. Ejemplos reales de esa situación son: los cruces de dos vías de circulación, los semáforos, el peaje de una autopista, los cajeros automáticos, la atención a clientes en un establecimiento comercial, la avería de electrodomésticos u otro tipo de aparatos que deben ser reparados por un servicio técnico, etc. Todavía más frecuentes, si cabe, son las situaciones de espera en el contexto de la informática, las telecomunicaciones y, en general, las nuevas tecnologías. Así, por ejemplo, los procesos enviados a un servidor para ejecución forman colas de espera mientras no son atendidos, la información

6

Page 7: PROYECTO DE INGENIERIA ELECTRONICA II SIMULADOR DE …

solicitada, a través de Internet, a un servidor Web puede recibirse con demora debido a congestión en la red o en el servidor propiamente dicho, podemos recibir la señal de líneas ocupadas si la central de la que depende nuestro teléfono móvil está colapsada en ese momento, etc.

Origen: El origen de la teoría de Colas está en el esfuerzo de Agner Kraup Erlang (Dinamarca, 1878 - 1929) en 1909 para analizar la congestión de tráfico telefónico con el objetivo de cumplir la demanda incierta de servicios en el sistema telefónico de Copenhague. Sus investigaciones acabaron en una nueva teoría denominada teoría de colas o de líneas de espera. Esta teoría es ahora una herramienta de valor en negocios debido a que un gran número de problemas pueden caracterizarse, como problemas de congestión llegada-salida.

Modelo de formación de colas. En los problemas de formación de colas, a menudo se habla de clientes, tales como personas que esperan la desocupación de líneas telefónicas, la espera de máquinas para ser reparadas y los aviones que esperan aterrizar y estaciones de servicios, tales como mesas en un restaurante, operarios en un taller de reparación, pistas en un aeropuerto, etc. Los problemas de formación de colas a menudo contienen una velocidad variable de llegada de clientes que requieren cierto tipo de servicio, y una velocidad variable de prestación del servicio en la estación de servicio. Cuando se habla de líneas de espera, se refieren a las creadas por clientes o por las estaciones de servicio. Los clientes pueden esperar en la cola simplemente por que los medios existentes son inadecuados para satisfacer la demanda de servicio; en este caso, la cola tiende a ser explosiva, es decir, a ser cada vez mas larga a medida que transcurre el tiempo. Las estaciones de servicio pueden estar esperando por que los medios existentes son excesivos en relación con la demanda de los clientes; en este caso, las estaciones de servicio podrían permanecer ociosas la mayor parte del tiempo. Los clientes puede que esperen temporalmente, aunque las instalaciones de servicio sean adecuadas, por que los clientes llegados anteriormente están siendo atendidos. Las estaciones de servicio pueden encontrar temporal cuando, aunque las instalaciones sean adecuadas a largo plazo, haya una escasez ocasional de demanda debido a un hecho temporal. Estos dos últimos casos tipifican una situación equilibrada que tiende constantemente hacia el equilibrio, o una situación estable. En la teoría de la formación de colas, generalmente se llama sistema a un grupo de unidades físicas, integradas de tal modo que pueden operar al unísono con una serie de operaciones organizadas. La teoría de la formación de colas busca una solución al problema de la espera prediciendo primero el comportamiento del sistema. Pero una solución al problema de la espera consiste en no solo en minimizar el tiempo que los clientes pasan en el sistema, sino también en minimizar los costos totales de aquellos que solicitan el servicio y de quienes lo prestan. La teoría de colas incluye el estudio matemático de las colas o líneas de espera y provee un gran número de modelos matemáticos para describirlas. Se debe lograr un balance económico entre el costo del servicio y el costo asociado a la espera por ese servicio. La teoría de colas en sí no resuelve este problema, sólo proporciona información para la toma de decisiones.

7

Page 8: PROYECTO DE INGENIERIA ELECTRONICA II SIMULADOR DE …

Objetivos de la teoría de Colas Los objetivos de la teoría de colas consisten en:

• Identificar el nivel óptimo de capacidad del sistema que minimiza el costo global del mismo. • Evaluar el impacto que las posibles alternativas de modificación de la capacidad del sistema

tendrían en el costo total del mismo. • Establecer un balance equilibrado (“óptimo”) entre las consideraciones cuantitativas de

costos y las cualitativas de servicio. • Hay que prestar atención al tiempo de permanencia en el sistema o en la cola: la “paciencia”

de los clientes depende del tipo de servicio específico considerado y eso puede hacer que un cliente “abandone” el sistema.

Elementos existentes en un modelo de colas Fuente de entrada o población potencial: Es un conjunto de individuos (no necesariamente seres vivos) que pueden llegar a solicitar el servicio en cuestión. Podemos considerarla finita o infinita. Aunque el caso de infinitud no es realista, sí permite (por extraño que parezca) resolver de forma más sencilla muchas situaciones en las que, en realidad, la población es finita pero muy grande. Dicha suposición de infinitud no resulta restrictiva cuando, aún siendo finita la población potencial, su número de elementos es tan grande que el número de individuos que ya están solicitando el citado servicio prácticamente no afecta a la frecuencia con la que la población potencial genera nuevas peticiones de servicio. Cliente: Es todo individuo de la población potencial que solicita servicio. Suponiendo que los tiempos de llegada de clientes consecutivos son 0<t1<t2<..., será importante conocer el patrón de probabilidad según el cual la fuente de entrada genera clientes. Lo más habitual es tomar como referencia los tiempos entre las llegadas de dos clientes consecutivos: T{k} = tk - tk-1, fijando su distribución de probabilidad. Normalmente, cuando la población potencial es infinita se supone que la distribución de probabilidad de los Tk (que será la llamada distribución de los tiempos entre llegadas) no depende del número de clientes que estén en espera de completar su servicio, mientras que en el caso de que la fuente de entrada sea finita, la distribución de los Tk variará según el número de clientes en proceso de ser atendidos. Capacidad de la cola: Es el máximo número de clientes que pueden estar haciendo cola (antes de comenzar a ser servidos). De nuevo, puede suponerse finita o infinita. Lo más sencillo, a efectos de simplicidad en los cálculos, es suponerla infinita. Aunque es obvio que en la mayor parte de los casos reales la capacidad de la cola es finita, no es una gran restricción el suponerla infinita si es extremadamente improbable que no puedan entrar clientes a la cola por haberse llegado a ese número límite en la misma. Disciplina de la cola: Es el modo en el que los clientes son seleccionados para ser servidos. Las disciplinas más habituales son: La disciplina FIFO (first in first out), también llamada FCFS (first come first served): según la cual se atiende primero al cliente que antes haya llegado. La disciplina LIFO (last in first out), también conocida como LCFS (last come first served) o pila: que consiste en atender primero al cliente que ha llegado el último.

8

Page 9: PROYECTO DE INGENIERIA ELECTRONICA II SIMULADOR DE …

La RSS (random selection of service), o SIRO (service in random order), que selecciona a los clientes de forma aleatoria. Mecanismo de servicio: Es el procedimiento por el cual se da servicio a los clientes que lo solicitan. Para determinar totalmente el mecanismo de servicio debemos conocer el número de servidores de dicho mecanismo (si dicho número fuese aleatorio, la distribución de probabilidad del mismo) y la distribución de probabilidad del tiempo que le lleva a cada servidor dar un servicio. En caso de que los servidores tengan distinta destreza para dar el servicio, se debe especificar la distribución del tiempo de servicio para cada uno.

La cola, propiamente dicha, es el conjunto de clientes que hacen espera, es decir los clientes que ya han solicitado el servicio pero que aún no han pasado al mecanismo de servicio.

El proceso de servicio. El proceso de servicio define cómo son atendidos los clientes. En algunos casos, puede existir más de una estación en el sistema en el cual se proporcione el servicio requerido. Los bancos y los supermercados, de nuevo, son buenos ejemplos de lo anterior. Cada ventanilla y cada registradora son estaciones que proporcionan el mismo servicio. A tales estructuras se les conoce como sistemas de colas de canal múltiple. En dichos sistemas, los servidores pueden ser idénticos, en el sentido en que proporcionan la misma clase de servicio con igual rapidez, o pueden no ser idénticos. Por ejemplo, si todos los cajeros de un banco tienen la misma experiencia, pueden considerarse como idénticos. Al contrario de un sistema de canal múltiple, considere un proceso de producción con una estación de trabajo que proporciona el servicio requerido. Todos los productos deben pasar por esa estación de trabajo; en este caso se trata de un sistema de colas de canal sencillo. Es importante hacer notar que incluso en un sistema de canal sencillo pueden existir muchos servidores que, juntos, llevan a cabo la tarea necesaria. Por ejemplo, un negocio de lavado a mano de automóviles, que es una sola estación, puede tener dos empleados que trabajan en un auto de manera simultánea Otra característica del proceso de servicio es el número de clientes atendidos al mismo tiempo en una estación. En los bancos y en los supermercados (sistema de canal sencillo), solamente un cliente es

9

Page 10: PROYECTO DE INGENIERIA ELECTRONICA II SIMULADOR DE …

atendido a la vez. Por el contrario, los pasajeros que esperan en una parada de autobús son atendidos en grupo, según la capacidad del autobús que llegue. Otra característica más de un proceso de servicio es si se permite o no la prioridad, esto es ¿puede un servidor detener el proceso con el cliente que está atendiendo para dar lugar a un cliente que acaba de llegar?, Por ejemplo, en una sala de urgencia, la prioridad se presenta cuando un médico, que está atendiendo un caso que no es crítico es llamado a atender un caso más crítico. Cualquiera que sea el proceso de servicio, es necesario tener una idea de cuánto tiempo se requiere para llevar a cabo el servicio. Esta cantidad es importante debido a que cuanto más dure el servicio, más tendrán que esperar los clientes que llegan. Como en el caso del proceso de llegada, este tiempo pude ser determinístico o probabilístico. Con un tiempo de servicio determinístico, cada cliente requiere precisamente de la misma cantidad conocida de tiempo para ser atendido. Con un tiempo de servicio probabilístico, cada cliente requiere una cantidad distinta e incierta de tiempo de servicio. Los tiempos de servicio probabilísticos se describen matemáticamente mediante una distribución de probabilidad. En la práctica resulta difícil determinar cuál es la distribución real, sin embargo, una distribución que ha resultado confiable en muchas aplicaciones , es la distribución exponencial .En este caso, su función de densidad depende de un parámetro, digamos (la letra griega my) y esta dada por

s(t)=(1/ m )e-m t

en la que: m = número promedio de clientes atendidos por unidad de tiempo,

de modo que: 1/ m = tiempo promedio invertido en atender a un cliente

En general, el tiempo de servicio puede seguir cualquier distribución, pero, antes de que pueda analizar el sistema, se necesita identificar dicha distribución.

Medidas de rendimiento para evaluar un sistema de colas

El objetivo último de la teoría de colas consiste en responder cuestiones administrativas pertenecientes al diseño y a la operación de un sistema de colas. El gerente de un banco puede querer decidir si programa tres o cuatro cajeros durante la hora de almuerzo. En una estructura de producción, el administrador puede desear evaluar el impacto de la compra de una nueva máquina que pueda procesar los productos con más rapidez. Cualquier sistema de colas pasa por dos fases básicas. Por ejemplo, cuando el banco abre en la mañana, no hay nadie en el sistema, de modo que el primer cliente es atendido de forma inmediata. Conforme van llegando más clientes, lentamente se va formando la cola y la cantidad de tiempo que tienen que esperar se empieza a aumentar. A medida que avanza el día, el sistema llega a una condición en la que el efecto de la falta inicial de clientes ha sido eliminado y el tiempo de espera de cada cliente ha alcanzado niveles bastante estables.

Relaciones entre medidas de rendimiento El cálculo de muchas de las medidas de rendimiento depende de los procesos de llegadas y de servicio del sistema de colas en específico. Estos procesos son descritos matemáticamente mediante distribuciones de llegada y de servicio. Incluso sin conocer la distribución especifica, las relaciones entre algunas de las medidas de rendimiento pueden obtenerse para ciertos sistemas de colas, únicamente mediante el uso de los siguientes parámetros de los procesos de llegada y de servicio.

l = número promedio de llegadas por unidad de tiempo m = número promedio de clientes atendidos por unidad de tiempo en una sección

10

Page 11: PROYECTO DE INGENIERIA ELECTRONICA II SIMULADOR DE …

Supongamos que una población de clientes infinita y una cantidad limitada de espacio de espera en la fila. El tiempo total que un cliente invierte en el sistema es la cantidad de tiempo invertido en la fila más el tiempo durante el cual es atendido:

Tiempo promedio en el sistema = Tiempo de espera + Tiempo de servicio El tiempo promedio en el sistema y el tiempo promedio de espera están representados por las cantidades W y Wq, respectivamente. El tiempo promedio de servicio puede expresarse en términos de parámetros de &. Por ejemplo, si & es 4 clientes por hora, entonces, en promedio, cada cliente requiere 1 /4 para ser atendido. En general, el tiempo de servicio es 1/&, lo cual nos conduce a la siguiente relación:

W = Wq + 1/m Consideremos ahora la relación entre el número promedio de clientes en el sistema y el tiempo promedio que cada cliente pasa en el sistema. Imaginemos que un cliente acaba de llegar y se espera que permanezca en el sistema un promedio de media de hora. Durante esta media hora, otros clientes siguen llegando a una tasa ¿digamos doce por hora?. Cuando el cliente en cuestión abandona el sistema, después de media hora, deja tras de sí un promedio de (1/2)*12 = 6 clientes nuevos. Es decir, en promedio, existen seis clientes en el sistema en cualquier tiempo dado. Entonces:

Tiempo promedio de clientes = Número de llegadas X *Tiempo promedio en el sistema. De modo que:

L =l *W Utilizando una lógica parecida se obtiene la relación entre el número promedio de clientes que esperan en la cola y el tiempo promedio de espera en la fila:

Tiempo promedio de clientes = Número de llegadas X Unidad de tiempo en la cola De manera que:

Lq =l * Wq

¿Qué es UML? El Lenguaje Unificado de Modelado escribe un conjunto de notaciones y diagramas estándar para modelar sistemas orientados a objetos, y describe la semántica esencial de lo que estos diagramas y símbolos significan. Mientras que ha habido muchas notaciones y métodos usados para el diseño orientado a objetos, ahora los modeladores sólo tienen que aprender una única notación. UML se puede usar para modelar distintos tipos de sistemas: sistemas de software, sistemas de hardware, y organizaciones del mundo real. UML ofrece nueve diagramas en los cuales modelar sistemas.

• Diagramas de Casos de Uso para modelar los procesos 'business'. • Diagramas de Secuencia para modelar el paso de mensajes entre objetos. • Diagramas de Colaboración para modelar interacciones entre objetos. • Diagramas de Estado para modelar el comportamiento de los objetos en el sistema. • Diagramas de Actividad para modelar el comportamiento de los Casos de Uso, objetos u

operaciones. • Diagramas de Clases para modelar la estructura estática de las clases en el sistema. • Diagramas de Objetos para modelar la estructura estática de los objetos en el sistema. • Diagramas de Componentes para modelar componentes. • Diagramas de Implementación para modelar la distribución del sistema.

11

Page 12: PROYECTO DE INGENIERIA ELECTRONICA II SIMULADOR DE …

UML es una consolidación de muchas de las notaciones y conceptos más usados orientados a objetos. Empezó como una consolidación del trabajo de Grade Booch, James Rumbaugh, e Ivar Jacobson, creadores de tres de las metodologías orientadas a objetos más populares. En 1996, el Object Management Group (OMG), un pilar estándar para la comunidad del diseño orientado a objetos, publicó una petición con propósito de un metamodelo orientado a objetos de semántica y notación estándares. UML, en su versión 1.0, fue propuesto como una respuesta a esta petición en enero de 1997. Hubo otras cinco propuestas rivales. Durante el transcurso de 1997, los seis promotores de las propuestas, unieron su trabajo y presentaron al OMG un documento revisado de UML, llamado UML versión 1.1. Este documento fue aprobado por el OMG en Noviembre de 1997. El OMG llama a este documento OMG UML versión 1.1. El OMG está actualmente en proceso de mejorar una edición técnica de esta especificación, prevista su finalización para el 1 de abril de 1999.

UML ofrece notación y semántica estándar UML escribe una notación estándar y semánticas esenciales para el modelado de un sistema orientado a objetos. Previamente, un diseño orientado a objetos podría haber sido modelado con cualquiera de la docena de metodologías populares, causando a los revisores tener que aprender la semántica y notaciones de la metodología empleada antes que intentar entender el diseño en sí. Ahora con UML, diseñadores diferentes modelando sistemas diferentes pueden sobradamente entender cada uno los diseños de los otros.

MODELANDO EL SIMULADOR DE COLAS DE ESPERA CON UML

Casos de Uso Un caso de uso se modela para todos los procesos que el sistema debe llevar a cabo. Los procesos se describen en el caso de uso con una descripción textual o una secuencia de pasos ejecutados. Una vez que el comportamiento del sistema está captado de esta manera, los casos de uso se examinan y amplían para mostrar qué objetos se interrelacionan para que ocurra este comportamiento.

Diagrama I. Casos de uso del simulador de colas de espera.

12

Page 13: PROYECTO DE INGENIERIA ELECTRONICA II SIMULADOR DE …

Usuario Descripción

El usuario puede hacer uso de todos los comportamientos del sistema.

Diagramas de Actividad El Diagrama de Actividad es un diagrama de flujo del proceso multi-propósito que se usa para modelar el comportamiento del sistema. Los diagramas de actividad se pueden usar para modelar un Caso de Uso, o una clase, o un método complicado. Un diagrama de actividad es parecido a un diagrama de flujo; la diferencia clave es que los diagramas de actividad pueden mostrar procesado paralelo (parallel processing). Esto es importante cuando se usan diagramas de actividad para modelar procesos 'bussiness' algunos de los cuales pueden actuar en paralelo, y para modelar varios hilos en los programas concurrentes.

Diagramas de Actividad para modelar Casos de Uso Los Diagramas de Actividad ofrecen una herramienta gráfica para modelar el proceso de un Caso de Uso. Se pueden usar como un añadido a una descripción textual del caso de uso, o para listar los pasos del caso de uso. Una descripción textual, código, u otros diagramas de actividad pueden detallar más la actividad.

Especificaciones de los casos de uso

A1: Colocar fuente Descripción

El uso de este caso uso permite seleccionar el botón que representa una fuente de tráfico y posteriormente colocar una o mas fuentes de tráfico en el área para representar el gráfico en forma numerada en el orden en que se van anexando.

Seleccionar fuentes de tráfico

Posicionarse en área gráfica

Dar clic con el botón derecho del mouse

Cancelar

Continuar

Diagrama II. Diagrama de actividades del casos de uso colocar fuente.

Flujo de Eventos Flujo Básico

El usuario selecciona con el mouse el botón que representa las fuentes d e trafico.

Se posiciona sobre la área de asignada para representar el gráfico.

Dar clic con el botón derecho del mouse y el icono de fuente de tráfico aparecerá en el lugar indicado por el usuario.

13

Page 14: PROYECTO DE INGENIERIA ELECTRONICA II SIMULADOR DE …

Flujo alternativo En caso que el usuario decida no insertar una fuente de tráfico en el área grafica.

Dar clic nuevamente en el icono de fuente de tráfico.

Pre-Condiciones La aplicación debe estar abierta (encontrarse en ejecución). Y el botón que representa a la fuente

de tráfico debe encontrarse deshabilitado.

Post-Condiciones El icono de la fuente de tráfico debe aparecer en el lugar indicado en la área gráfica, numerado

en forma consecutiva conforme se incorporen fuentes de tráfico.

A2: Colocar despachador Descripción

Este caso de uso permite seleccionar con el mouse el botón que representa un despachador, posteriormente se debe permitir colocar el icono de despachador en parte asignada para representar gráficos (se pueden seleccionar mas de un despachador).

Seleccionar icono despachador

Desplazarse hacia el área de gráficos

Dar clic con el mouse

Cancelar

Continuar

Diagrama III. Diagrama de actividades del caso de uso colocar despachador.

Flujo de eventos Flujo básico

Colocarse encima del botón que se encuentra representado con el icono del despachador.

Desplazarse hacia el área asignada para representar gráficos.

Dar clic con el botón derecho del mouse sobre un sitio establecido dentro de la superficie para gráficos.

Flujo alternativo En el caso de que el usuario decida ya no colocar un despachador.

Seleccionar nuevamente el botón de despachador.

Pre-Condiciones El botón que representa el icono del despachador debe estar visualizado en estado inactivo.

14

Page 15: PROYECTO DE INGENIERIA ELECTRONICA II SIMULADOR DE …

Post-Condiciones El icono debe ser visualizado en el área asignada para representar gráficos en el sitio en que fue

insertado.

A3: Colocar colas de espera Descripción

El uso de este caso uso permite seleccionar el botón que representa una cola de espera y posteriormente colocar una o mas cola de espera en el área para representar el gráfico en forma numerada en el orden en que se van anexando.

Seleccionar botón cola de espera

Cancelar

Dar clic con el mouse

Continuar

Desplazarse hacia la área gráfica

Diagrama IV. Diagrama de actividades del caso de uso colocar cola de espera

Flujo de eventos Flujo básico

Seleccionar el botón que representa una cola de espera.

Posicionarse en el área para representar gráficos.

Dar clic con el botón derecho del mouse.

Flujo Alternativo En caso de que el usuario decida ya no colocar una cola de espera.

Dar nuevamente clic en el icono cola de espera representada en el cuadro de controles de nuestra aplicación.

Pre-Condiciones El botón "colas de espera" debe estar habilitado y listo para ser seleccionado.

Post-Condiciones El icono que representa una cola de espera debe ser visualizado en el área para representar

gráficos.

A4: Colocar salida Descripción

Este caso de uso permite seleccionar con el mouse el botón que representa una salida, posteriormente se debe permitir colocar el icono de salida en parte asignada para representar gráficos (se pueden seleccionar mas de una salida).

15

Page 16: PROYECTO DE INGENIERIA ELECTRONICA II SIMULADOR DE …

Seleccionar el icono salida

Cancelar

Desplazarse hacia el área gráfica

Continuar

Dar clic con el mouse

Diagrama V. Diagrama de actividades del caso de uso colocar salida

Flujo de eventos Flujo básico

Colocarse encima del botón que se encuentra representado con el icono de salida.

Desplazarse hacia el área asignada para representar el gráfico.

Dar clic con el botón derecho del mouse en sitio establecido dentro de la superficie para gráficos.

Flujo alternativo En caso de que el usuario decida ya no seleccionar una salida.

El usuario debe de dar clic nuevamente en el icono de salida.

Pre-Condiciones El botón que representa el icono de salida debe estar visualizado en estado inactivo.

Post-Condiciones El icono debe ser visualizado en el área asignada para representar gráficos en el sitio en que fue

insertado.

A5: Unir dispositivos Descripción

Este caso de uso permite unir los iconos; fuentes de tráfico, despachador, colas de espera y salidas, que se encuentran representados en el área para representar gráficos.

Seleccionar icono unir dispositivos

Cancelar

Desplazarse hacia el área gráfica

Dar clic con el mouse

Continuar

Diagrama VI. Diagrama de actividades del caso de uso unir dispositivos.

16

Page 17: PROYECTO DE INGENIERIA ELECTRONICA II SIMULADOR DE …

Flujo de eventos Flujo básico

Seleccionar el botón que representa unir dispositivos con el mouse.

Posicionarse encima de un dispositivo y dar clic con el botón derecho del mouse.

Desplazarse hacia otro dispositivo y colocarse encima de este y dar clic con el botón derecho del mouse.

Flujo alternativo En caso de que el usuario decida ya no unir más dispositivos.

Seleccionar nuevamente el botón que representa unir dispositivos.

Pre-Condiciones El botón que representa el icono unir nodos debe estar habilitado y listo para ser seleccionado.

Post-Condiciones Los dos dispositivos previamente seleccionados deben ser visualizados unidos por una línea.

A6: Ejecutar traza Descripción

Este caso de uso permite simular la ejecución de la traza en modo gráfico.

Seleccionar botón "ejecutar traza"

Seleccionar botón "cancelar traza"

Selecciona el botón "parar traza"

Diagrama VII. Diagrama de actividades del caso de uso ejecutar traza.

Flujo de eventos Flujo básico

Seleccionar el botón que representa el icono de ejecutar la traza, posicionándose encima de este y dándole doble clic con el botón derecho del mouse.

Flujo Alternativo Si durante la ejecución el usuario selecciona el botón "cancelar traza", la ejecución se cancela.

Si durante la ejecución el usuario selecciona el botón "parar traza" la ejecución se debe detener hasta que se seleccione "ejecutar traza" nueva mente.

Pre-Condiciones El botón de ejecutar traza debe visualizarse listo para ser seleccionado.

Post-Condiciones Se debe de visualizar en forma gráfica la ejecución de la traza.

Describirse la ejecución de esta en de acuerdo al secuencia que se da en forma gráfica en la consola.

Guardar la descripción de la traza en un archivo "Simulación.txt".

17

Page 18: PROYECTO DE INGENIERIA ELECTRONICA II SIMULADOR DE …

B1: Cancelar traza Descripción

El uso de este caso de uso es para cancelar la ejecución de la traza.

Seleccionar el botón cancelar traza Selccionar el botón ejecutar traza

Diagrama VIII. Diagrama de actividades del caso de uso cancelar traza.

Flujo de eventos Flujo básico

Seleccionar con el mouse en la ventana de nuestra aplicación el icono que representa "cancelar traza" y dar clic con el botón derecho del mouse.

Flujo alternativo Para volver a ejecutar de la traza.

Dar nuevamente clic en ejecutar traza.

Pre-Condiciones Nuestro sistema debe estar ejecutando la simulación de la traza.

Post-Condiciones La ejecución de la traza es cancelada por completo.

B2: Interrumpir traza Descripción

Este caso de uso permite detener la ejecución de la simulación de una traza.

Seleccionar el botón interrumpir traza

Seleccionar el botón ejecutar traza

Diagrama IX. Diagrama de actividades del caso de uso interrumpir traza.

Flujo de eventos Flujo básico

Posicionarse utilizando el mouse, sobre el icono de nuestra ventana que representa "interrumpir traza", dar clic con el botón derecho del mouse.

Flujo alternativo Para volver a reanudar la ejecución de la traza.

Dar clic nuevamente en el icono que representa en la ventana de nuestra aplicación "ejecutar traza".

18

Page 19: PROYECTO DE INGENIERIA ELECTRONICA II SIMULADOR DE …

Pre-Condiciones El sistema debe estar ejecutando la simulación de una traza.

Post-Condiciones La ejecución de la traza es detenida momentáneamente hasta que se seleccione nuevamente

"ejecutar traza".

E1: Configurar fuente Descripción

Este caso de uso permite configurar la frecuencia con que la fuente estará enviando peticiones y tamaño que estas requieren (tiempo para ser atendidas).

Dar clic con el botón derecho del mouse en el icono de fuentes de tráfico

Configurar parámetros de los mensajes

asignación de parámetros por default

Diagrama X. Diagrama de actividades del caso de uso configurar fuente.

Flujo de eventos Flujo básico

El usuario debe posicionarse con el mouse sobre el icono de fuentes de tráfico y dar clic derecho con el mause.

Configurar los parámetros frecuencia de generación y tiempo requerido por los mensajes.

Flujo alternativo El sistema asigna por defaul los parámetros de frecuencia de generación y tiempo requerido ya

establecidos por defaul.

Pre-Condiciones El icono de fuente de tráfico a configurar debe encontrarse visualizada en el área gráfica.

Post-Condiciones Los parámetros de configuración deben ser modificados con los valores asignados por el usuario

y guardarlos en un archivo "simulación.txt".

E2: Configurar colas de espera Descripción

Este caso de uso permite asignar los valores que la cola de espera puede aceptar (tiempo requerido para atender un envió de la fuente de tráfico).

19

Page 20: PROYECTO DE INGENIERIA ELECTRONICA II SIMULADOR DE …

Dar clic con el botón derecho del mouse en el icono de cola de espera

Configuarar los parámetros de la cola de espera asignación de parámetros por default

Diagrama XI. Diagrama de actividades del caso de uso configurar cola de espera.

Flujo de eventos Flujo básico

El usuario se coloca con el mouse sobre el icono de cola de espera representado en el área gráfica.

El usuario da clic con el botón derecho del mouse.

Configura el parámetro número de mensajes que pueden ser admitidos en la cola de espera.

Flujo alternativo En caso de que no se decida configurar la cola de espera, esta tendrá un valor determinado por

default establecido por el sistema previamente.

Pre-Condiciones La cola de espera debe ser visualizada en el área gráficos del simulador.

Post-Condiciones El parámetro de número máximo de mensajes por cola de espera de ser modificado visualmente

y en un archivo "simulador.txt".

E3: Desplazar dispositivos Descripción

Este caso de uso permite desplazar los dispositivos se encuentran en el área gráfica para mejorar la vista y tener una mejor alineación de estos.

Seleccionar el botón desplazar dispositivos

Seleccionar algún dispositivo

Desplazarse con el mouse sobre el área de gráficos

Diagrama XII. Diagrama de actividades del caso de uso desplazar dispositivos.

Flujo de eventos Flujo básico

Seleccionar el botón "desplazar dispositivos".

Seleccionar algún dispositivo (fuentes de tráfico, despachador, colas de espera o salidas) que se

20

Page 21: PROYECTO DE INGENIERIA ELECTRONICA II SIMULADOR DE …

encuentre en área gráfica.

Una vez seleccionado algún dispositivo desplazarse con el mouse sobre el área de gráficos.

Flujo alternativo En caso de que el usuario decida ya no desplazar más dispositivos.

Dar clic nuevamente sobre el botón que representa desplazar dispositivos.

Pre-Condiciones El botón "desplazar dispositivo" debe estar activo y listo para ser seleccionado.

Post-Condiciones El dispositivo seleccionado debe ser desplazado a la nueva ubicación asignada por el usuario.

E4: Cambiar velocidad de traza Descripción

Este caso de uso permite cambiar la velocidad de ejecución con la cual se simula la traza.

Seleccionar la barra de desplazamiento

Desplazarla hacia la izquierda o derechasoltar la barra de desplazamiento

Diagrama XIII. Diagrama del caso de uso cambiar velocidad de traza.

Flujo de eventos Flujo básico

Seleccionar la barra de desplazamiento con el mouse.

Desplazarse de izquierda a derecha para aumentar la velocidad.

Desplazarse de derecha a izquierda para disminuir la velocidad.

Flujo alternativo Si se suelta el botón derecho del mouse cuando se esta modificando la velocidad de ejecución de

la traza se deja de cambiar la velocidad de la traza.

Pre-Condiciones Nuestro sistema debe estar realizando la ejecución de una traza.

Post-Condiciones La velocidad con la que se ejecuta la simulación de una traza se ajusta a la posición de la barra de

desplazamiento de velocidad.

Diagramas de Secuencia El Diagrama de Secuencia es uno de los diagramas más efectivos para modelar interacción entre objetos en un sistema. Un diagrama de secuencia se modela para cada caso de uso. Mientras que el diagrama de caso de uso permite el modelado de una vista 'business' del escenario, el diagrama de secuencia contiene detalles de implementación del escenario, incluyendo los objetos y clases que se usan para implementar el escenario, y mensajes pasados entre los objetos.

21

Page 22: PROYECTO DE INGENIERIA ELECTRONICA II SIMULADOR DE …

Típicamente uno examina la descripción de un caso de uso para determinar qué objetos son necesarios para la implementación del escenario. Si tienes modelada la descripción de cada caso de uso como una secuencia de varios pasos, entonces puedes "caminar sobre" esos pasos para descubrir qué objetos son necesarios para que se puedan seguir los pasos. Un diagrama de secuencia muestra los objetos que intervienen en el escenario con líneas discontinuas verticales, y los mensajes pasados entre los objetos como vectores horizontales. Los mensajes se dibujan cronológicamente desde la parte superior del diagrama a la parte inferior; la distribución horizontal de los objetos es arbitraria.

Diagramas de secuencia del simulador de colas de espera

Diagrama XIV. Diagrama de secuencia del caso uso colocar fuentes.

Diagrama XV. Diagrama de secuencia del caso de uso colocar despachador.

22

Page 23: PROYECTO DE INGENIERIA ELECTRONICA II SIMULADOR DE …

Diagrama XVI. Diagrama de secuencia del caso de uso colocar cola de espera.

Diagrama XVII. Diagrama de secuencia del caso de uso colocar salida.

23

Page 24: PROYECTO DE INGENIERIA ELECTRONICA II SIMULADOR DE …

Diagrama XVIII. Diagrama de secuencia del caso de uso ejecutar traza.

Durante el análisis inicial, el modelador típicamente coloca el nombre 'business' de un mensaje en la línea del mensaje. Más tarde, durante el diseño, el nombre 'business' es reemplazado con el nombre del método que está siendo llamado por un objeto en el otro. El método llamado, o invocado, pertenece a la definición de la case instanciada por el objeto en la recepción final del mensaje.

Diagramas de Colaboración El Diagrama de Colaboración presenta una alternativa al diagrama de secuencia para modelar interacciones entre objetos en el sistema. Mientras que el diagrama de secuencia se centra en la secuencia cronológica del escenario que estamos modelando, el diagrama de colaboración se centra en estudiar todos los efectos de un objeto dado durante un escenario. Los objetos se conectan por medio de enlaces, cada enlace representa una instancia de una asociación entre las clases implicadas. El enlace muestra los mensajes enviados entre los objetos, el tipo de mensaje (sincrónico, asincrónico, simple, blanking, y 'time-out'), y la visibilidad de un objeto con respecto a los otros.

Diagrama XIX. Diagrama de colaboración del caso de uso colocar fuente.

24

Page 25: PROYECTO DE INGENIERIA ELECTRONICA II SIMULADOR DE …

Diagrama XX. Diagrama de colaboración del caso de uso colocar despachador.

Diagrama XXI. Diagrama de colaboración del caso de uso colocar cola de espera.

Diagrama XXII. Diagrama de colaboración del caso de uso colocar salida.

Diagrama XXIII. Diagrama de colaboración del caso de uso ejecutar traza.

25

Page 26: PROYECTO DE INGENIERIA ELECTRONICA II SIMULADOR DE …

Análisis y Diseño con el Diagrama de Clase El Diagrama de Clase es el diagrama principal de diseño y análisis para un sistema. En él, la estructura de clases del sistema se especifica, con relaciones entre clases y estructuras de herencia. Durante el análisis del sistema, el diagrama se desarrolla buscando una solución ideal. Durante el diseño, se usa el mismo diagrama, y se modifica para satisfacer los detalles de las implementaciones.

Desarrollo de Diagramas de Clase durante el análisis

Aproximación a un Caso de Uso guiado En una aproximación a un Caso de Uso guiado hacia el análisis orientado a objetos, el diagrama de clases se desarrolla a través de información obtenida en los Casos de Uso, Diagramas de Secuencia y Diagramas de Colaboración. Los objetos encontrados durante el análisis son modelados en términos de la clase a la que instancias, y las interacciones entre objetos son referenciados a relaciones entre las clases instanciadas.

Diagrama XXIV. Diagrama de clases del simulador colas de espera.

26

Page 27: PROYECTO DE INGENIERIA ELECTRONICA II SIMULADOR DE …

CONCLUSIÓN La teoría de las colas es el estudio matemático de las colas o líneas de espera. La formación de colas es, por supuesto, un fenómeno común que ocurre siempre que la demanda efectiva de un servicio excede a la oferta efectiva. La teoría de las colas en si no resuelve directamente el problema, pero contribuye con la información vital que se requiere para tomar las decisiones concernientes prediciendo algunas características sobre la línea de espera: probabilidad de que se formen, el tiempo de espera promedio. En cuanto el análisis de nuestro simulador usando la herramienta de UML es muy practica debido a que a la hora de implementar código nosotros como programadores tenemos toda una estructura y una relación de objetos, clases, métodos que nos permite saber que es lo que estamos haciendo y como lo estamos haciendo.

27

Page 28: PROYECTO DE INGENIERIA ELECTRONICA II SIMULADOR DE …

28

Page 29: PROYECTO DE INGENIERIA ELECTRONICA II SIMULADOR DE …

BIBLIOGRAFÍA

Moskowitz,H. y Wright G.P. Investigación de Operaciones. Prentice_Hall Hispanoamericana S.A. 1991.

Buffa,E: Operations Management: Problems and Models. Edición Revolucionaria,La Habana, 1968.

Entendiendo UML: La guía del desarrollador, con una aplicación java basada en web, por Paul Harmon y Mark Watson; Morgan Kauffman Publishers, Inc., 1998 (www.mkp.com/books_catalog/1-55860-465-0.asp).

29