Você está na página 1de 7

UNIVERSIDADE DO TOCANTINS

CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS


PRÁTICA EM PROGRAMAÇÃO DE SISTEMAS

ESTUDO DE CASO

Antigamente muitas empresas utilizavam relógios de ponto


manuais para controlar as horas trabalhadas pelos seus
funcionários. Tais dispositivos possuíam uma abertura onde era
inserido pelo funcionário o seu cartão de ponto para que a data e hora de entrada ou
saída do seu turno de trabalho fossem impressas. Com o tempo os relógios de ponto
tradicionais foram sendo substituídos por relógios de ponto eletrônicos onde o
funcionário passa um cartão magnético ou com código de barras para ser identificado.
Em alguns relógios de ponto eletrônicos mais modernos o funcionário é identificado
por meio da sua impressão digital. Independente da tecnologia utilizada, os relógios de
ponto eletrônicos identificam o funcionário e armazenam a data e a hora em que o
cartão ou impressão digital foi lida. Essas informações são transmitidas para um
computador onde um software apropriado pode gerar diversos relatórios.

TAREFA
Analisar os códigos-fontes desenvolvidos nas linguagens de programação C e
Java e implementar as funções e métodos necessários para o funcionamento do
Sistema de geração de relatórios PontoTADS nas respectivas linguagens. As funções
alocaMemoria e geraRelatorio devem ser desenvolvidas utilizando a linguagem

de programação C, seguindo a estrutura do código-fonte em C disponibilizado no


ambiente virtual. Os métodos alocaMemoria e geraRelatorio, que estão dentro
da classe “CJPontoTADS.java”, devem ser desenvolvidos utilizando a linguagem de
programação Java, seguindo a estrutura do código-fonte em Java disponibilizado no
ambiente virtual. Vale a pena salientar que para o sistema desenvolvido em C somente
é permitida a criação de funções adicionais nos códigos-fontes desde que estes sejam
chamados dentro do escopo das funções a serem desenvolvidas. Para o sistema
desenvolvido em Java, somente é permitida a criação de métodos adicionais desde
que sejam chamadas dentro do escopo da classe “CJPontoTADS.java”, não sendo
permitida a criação de novos atributos.
UNIVERSIDADE DO TOCANTINS
CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
PRÁTICA EM PROGRAMAÇÃO DE SISTEMAS

Além da postagem de um arquivo compactado (.zip ou .rar) contendo os códigos-


fontes em C e Java com as implementações solicitadas, sendo estes organizados em
pastas distintas, também deve ser enviado pelo ambiente virtual um texto
descrevendo sucintamente (máximo de 2000 caracteres) quais as técnicas das
disciplinas do primeiro ano do curso foram utilizadas neste estudo de caso,
independente da linguagem de programação.

DESCRIÇÃO DO SISTEMA
O Sistema de geração de relatórios PontoTADS tem como objetivo analisar
dados mensais de um relógio de ponto eletrônico e emitir relatório mensal de ponto
dos funcionários.

ENTRADA DE DADOS NO SISTEMA


A entrada de dados para o sistema é realizada através de um arquivo texto com
o nome ArquivoPonto.txt gerado mensalmente pelo relógio de ponto eletrônico. A
primeira linha do arquivo contém dados que identificam o mês e o ano de um
determinado período de trabalho, como mostra a estrutura a seguir:
<nome do mês>;<ano>
As próximas duas linhas do arquivo referem-se a quantidade de dias do mês que foram
trabalhados na empresa e a quantidade de funcionários da empresa, respectivamente.
As demais linhas do arquivo referem-se aos registros de ponto diários dos
funcionários. Cada registro é identificado pelo nome do funcionário, o dia do mês, a
ausência/presença do funcionário no turno da manhã, a ausência/presença do
funcionário no turno da tarde, como mostra a estrutura a seguir:

<nome do funcionário>;<dia do mês>;<turno da manhã>;<turno da tarde>

Os itens <turno da manhã> e <turno da tarde> podem assumir dois valores: 0 (zero)
que identifica um turno não trabalhado e 1 (um) que identificado um turno trabalho
pelo funcionário.

Exemplo de registro que informa ao sistema que o funcionário João Paulo no dia 4
trabalhou na empresa apenas no turno da manhã:
João Paulo;4;1;0
UNIVERSIDADE DO TOCANTINS
CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
PRÁTICA EM PROGRAMAÇÃO DE SISTEMAS

É possível que o arquivo ArquivoPonto.txt contenha registros de funcionários que não


trabalharam em ambos os turnos. Tais registros são gerados automaticamente pelo
relógio de ponto eletrônico.

No anexo I há um exemplo de arquivo de entrada.

SAÍDA DE DADOS DO SISTEMA


A saída do sistema consiste na emissão de um relatório através de um arquivo
texto com o nome relatorio.txt. Este relatório deve conter a relação mensal de ponto
dos funcionários apresentando as seguintes informações:
- Identificação do mês e ano do período de trabalho
- Total de dias trabalhados
- Relação de funcionários contendo para cada funcionário as seguintes informações:
o Nome do funcionário
o Discriminação dos dias e turnos em que o funcionário faltou ao trabalho
o Total de turnos não trabalhados pelo funcionário
o Porcentagem de turnos trabalhados

No anexo II há um exemplo de arquivo de saída.


UNIVERSIDADE DO TOCANTINS
CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
PRÁTICA EM PROGRAMAÇÃO DE SISTEMAS

ANEXO I – arquivoPonto.txt
Novembro;2010
20
5
João Paulo;1;1;1
Paula Miranda;1;1;1
Fernando Dias;1;1;1
Ana Paula;1;1;1
Lucas Silva;1;1;1
Ana Paula;2;1;1
Lucas Silva;2;1;1
João Paulo;2;0;1
Paula Miranda;2;1;1
Fernando Dias;2;1;1
Ana Paula;3;1;1
João Paulo;3;1;1
Paula Miranda;3;1;1
Lucas Silva;3;1;1
Fernando Dias;3;1;1
Fernando Dias;4;1;1
João Paulo;4;1;0
Paula Miranda;4;1;1
Ana Paula;4;1;1
Lucas Silva;4;1;1
João Paulo;5;1;1
Ana Paula;5;1;1
Lucas Silva;5;1;1
Fernando Dias;5;1;1
Paula Miranda;5;1;1
João Paulo;6;0;1
Paula Miranda;6;1;1
Ana Paula;6;1;1
Lucas Silva;6;1;1
Fernando Dias;6;1;1
João Paulo;7;1;1
Ana Paula;7;1;1
Lucas Silva;7;1;1
Paula Miranda;7;1;1
Fernando Dias;7;1;1
João Paulo;8;1;1
Ana Paula;8;1;1
Lucas Silva;8;1;1
Fernando Dias;8;1;1
Paula Miranda;8;1;1
João Paulo;9;1;0
UNIVERSIDADE DO TOCANTINS
CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
PRÁTICA EM PROGRAMAÇÃO DE SISTEMAS

Fernando Dias;9;1;1
Paula Miranda;9;1;1
Ana Paula;9;1;1
Lucas Silva;9;1;1
Lucas Silva;10;1;1
João Paulo;10;1;1
Paula Miranda;10;1;1
Ana Paula;10;1;1
Fernando Dias;10;1;1
Paula Miranda;11;1;1
João Paulo;11;1;0
Ana Paula;11;1;1
Lucas Silva;11;1;1
Fernando Dias;11;1;1
Ana Paula;12;1;1
Lucas Silva;12;1;1
João Paulo;12;1;1
Paula Miranda;12;1;1
Fernando Dias;12;1;1
João Paulo;13;1;1
Paula Miranda;13;1;1
Ana Paula;13;1;1
Lucas Silva;13;1;1
Fernando Dias;13;1;1
João Paulo;14;1;1
Lucas Silva;14;1;1
Paula Miranda;14;1;1
Ana Paula;14;1;1
Fernando Dias;14;1;1
João Paulo;15;1;1
Paula Miranda;15;1;1
Ana Paula;15;1;1
Lucas Silva;15;1;1
Fernando Dias;15;1;1
Lucas Silva;16;1;1
João Paulo;16;1;1
Paula Miranda;16;1;1
Ana Paula;16;1;1
Fernando Dias;16;1;1
João Paulo;17;1;1
Paula Miranda;17;1;1
Ana Paula;17;1;1
Lucas Silva;17;1;1
Fernando Dias;17;1;1
Ana Paula;18;1;1
Lucas Silva;18;1;1
Fernando Dias;18;1;1
UNIVERSIDADE DO TOCANTINS
CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
PRÁTICA EM PROGRAMAÇÃO DE SISTEMAS

João Paulo;18;1;1
Paula Miranda;18;1;1
João Paulo;19;1;1
Paula Miranda;19;1;1
Ana Paula;19;1;1
Lucas Silva;19;1;1
Fernando Dias;19;1;1
João Paulo;20;1;1
Paula Miranda;20;1;1
Ana Paula;20;1;1
Lucas Silva;20;1;1
Fernando Dias;20;1;1
UNIVERSIDADE DO TOCANTINS
CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
PRÁTICA EM PROGRAMAÇÃO DE SISTEMAS

ANEXO II – relatorio.txt

Relatório mensal de ponto: Novembro de 2010


Total de dias trabalhados na empresa: 20

Nome do funcionário: João Paulo


Dias e turnos não trabalhados: 2 M 4 T 6 M 9 T 11 T
Total de turnos não trabalhados: 5
Porcentagem de turnos trabalhados: 88 %

Nome do funcionário: Paula Miranda


Dias e turnos não trabalhados:
Total de turnos não trabalhados: 0
Porcentagem de turnos trabalhados: 100 %

Nome do funcionário: Fernando Dias


Dias e turnos não trabalhados:
Total de turnos não trabalhados: 0
Porcentagem de turnos trabalhados: 100 %

Nome do funcionário: Ana Paula


Dias e turnos não trabalhados:
Total de turnos não trabalhados: 0
Porcentagem de turnos trabalhados: 100 %

Nome do funcionário: Lucas Silva


Dias e turnos não trabalhados:
Total de turnos não trabalhados: 0
Porcentagem de turnos trabalhados: 100 %

Você também pode gostar