Next: Um ``Empurr�o Inicial''
Up: ep1
Previous: ep1
Neste exerc�cio trabalharemos com uma simula��o simpl�ria de um sistema
de atendimento ao cliente (SAC, ou call center). A nossa simula��o
incluir� apenas os seguintes aspectos, ambos relacionados com o
acompanhamento da carga no call center: o n�mero de chamadas em
atendimento em um dado instante e o hist�rico di�rio de atendimento para
cada um dos operadores que atendem a chamadas.
Nosso modelo de simula��o � composto por dois programas: um programa
chamado operador e um programa chamado supervisor.
Esses dois programas interagem com o usu�rio da simula��o atrav�s da
entrada e da sa�da padr�o.
O programa operador modela um atendente do call center. Ele l�
a entrada padr�o e interpreta os seguintes comandos:
- startcall
Indica que o atendente est� atendendo a uma nova chamada. Do
ponto de vista de nossa simula��o � aceit�vel que um atendente
atenda a v�rias chamadas simultaneamente.
- endcall
Indica que uma das chamadas sendo atendida pelo operador est�
terminando.
- report
Imprime o n�mero de chamadas sendo atendidas no momento e o
n�mero de chamadas j� completadas pelo atendente.
- exit
Encerra a execu��o do programa.
Quaisquer outros comandos devem ser ignorados pelo programa operador.
O programa supervisor n�o aceita comandos do usu�rio via
entrada padr�o. Ele imprime regularmente as seguintes informa��es na
sa�da padr�o:
- o n�mero de chamadas em andamento no sistema como um todo (isto �,
o total de chamadas sendo atendidas pelos v�rios operadores
ativos) e o n�mero de chamadas j� conclu�das pelo sistema como um todo;
- o n�mero de chamadas sendo atendidas e o n�mero de chamadas j�
conclu�das por operador. Em outras palavras: para cada um dos
operadores ativos, deve ser impresso o n�mero de chamadas que esse
operador est� atendendo no momento e o n�mero de chamadas cujo
atendimento foi conclu�do pelo operador.
A impress�o dessas informa��es � feita a cada n segundos, onde
n � um argumento fornecido (na linha de comando) pelo usu�rio
do programa supervisor.
Ambos os programas iniciam seu trabalho imprimindo sua identifica��o,
isto �, o n�mero do processo em execu��o (veja a man page para
getpid). Para executar o programa operador, o usu�rio
precisa conhecer a identifica��o do supervisor correspondente.
Essa identifica��o � um argumento fornecido (na linha de comando) pelo
usu�rio do programa programa operador.
Next: Um ``Empurr�o Inicial''
Up: ep1
Previous: ep1
Francisco Reverbel
2002-03-19