Estudo de Caso - Sistema de Controle de Ponto
(Estudo de caso retirado do livro "Análise de Pontos de Função - Medição, Estimativas e
Gerenciamento de Projetos de Software", Vasquez, Carlos E. et al, Editora Érica, 1 ed., 2003.)
Descrição do Sistema
Em um sistema de controle de pontos, um trabalhador registra suas entradas e saídas do
ambiente de trabalho. Nos casos em que se esquece de fazê-lo, ele justifica tal ocorrência. Além
diss, ele pode acompanhar a sua presença com os totais de horas trabalhadas em um determinado
período. Cada trabalhador pode ter acesso apenas às suas informações. Por outro lado, o gerente
pode emitir um relatório com as informações de presença de todos os funcionários.
Lista de Atores
 Trabalhador
 Gerente
Casos de Uso Identificados
1.
2.
3.
4.
5.
Registrar Presença
Registrar Justificativa (caso de uso de extensão)
Acompanhar Presença
Emitir Relatório de Presença
Efetuar Logon
Diagrama de Caso de Uso
Trabalhador
Acompanhar
Presença
Gerente
Efetuar
Logon
Registrar
Presença
Registrar
Justificativa
Emitir
Relatório de
Presença
Especificação do Caso de Uso - Registrar Presença
A. Ator Relacionado
Trabalhador
B. Objetivo
Este caso de uso permite ao trahalhador inscrir, excluir ou alterar informaçoes de entrada ou saída
em uma determinada data.
Sempre que o trabalhador chega ou sai do ambiente de trabalho ele deve registrar a sua entrada e
saída. Nas ocasiões em que ele se esquecer de fazer o registro, ele pode fazer posteriormente,
registrando nesses casos também uma justificativa.
C. Pre-condição
O trabalhador deve ter efetuado logon no sistema.
D. Fluxo de Eventos Principal
Passo I : O trabalhador escolhe a opção "Registrar Presença" na tela principal do sistema e a tela de
registro de presença é apresentada.
Passo 2: O trabalhador escolhe uma das opções na tela: "Data Atual", "Data Passada" ou
"Cancelar". Ao escolher "Data Passada", o trabathador deve informar uma data válida.
Passo 3: O sistema recupera todos os registros de entrada e saída que foram feitos na data escolhida
e os apresenta numa lista na tela juntamente com a data informada (E1). Caso nenhum reglstro
exista na data, o sistema apenas passa para o pr6ximo passo.
Passo 4: O trabalhador escolhe uma das opções na tela: "Entrada", "Saída" ou "Cancelar".
Passo 5: Se o trabalhador escolher "Cancelar", o caso de uso é encerrado e volta à tela principal,
senão segue para o próximo passo.
Passo 6: O trabalhador escolhe uma das opções na tela: "Incluir", "Excluir", "Alterar" ou
"Cancelar".
a) Incluir (para data atual): Caso o trabalhador tenha escolhido a data atual, o sistema verifica
se é possivel inserir (E3) a entrada/saida desejada e, caso seja possível, ele insere
automaticamente um registro de entrada/saída para o trabalhador, com a data e horário atuais
(do sistema). Em seguida o sistema emlte uma mensagem de inclusão efetuada com sucesso
(E2).
b) Incluir (para data passada): Caso o trabalhador tenha escolhido uma data passada, ele
informa também o horário e uma justificativa (extend: Registrar justificativa) (E6). O sistema
verifica se é possível inserir (E3) a entrada/saída desejada e, caso seja possível, ele insere o
registro de entrada/saída para o trabalhador, com a data e horário desejados e a justificativa.
Em seguida o sistema emite uma mensagem de inclusão efetuada com sucesso (E2).
c) Excluir: Nesse caso o sistema exclui todos os registros de apontamento e justificativa da data
informada. Antes verifica se é possível excluir (E4) os registros desejados e, caso seja
possível, solicita a confirmação de exclusão. Se o trabalhador não confirmar a exclusão, o
sistema volta ao passo 7; senão ele exclui os registros e emite uma mensagem de exclusão
efetuada com sucesso (E2).
d) Alterar: Nesse caso o trabalhador informa um horário de entrada ou saída existente e em
seguida informa o novo horário desejado e uma justificativa (extend: Registrar justificativa)
(E6). O sistema verifica se é possível alterar (E5) no horário atual para o horário desejado e,
caso seja possível, ele solicita uma confirmação de alterarção. Se o trabalhador não
confirmar a alteração, o sistema volta ao passo 7; senão ele grava o novo horário e a
justificativa, e emite uma mensagem de alteração efetuada com sucesso (E2).
e) Cancelar: Nessa opção o caso de uso é encerrado e o sistema volta à tela principal.
Passo 7: O sistema questiona se o trabalhador deseja registrar nova presença ou encerrar. Se o
trabalhador escolher "Registrar Nova Presençaa", o sistema volta ao passo 3, senão o caso de uso é
encerrado e o sistema retorna à tela principal.
E. Fluxos de Exceção






El: Caso não seja possível recuperar os registros, o sistema emite uma mensagem de erro
explicando o problema e retorna ao passo 3.
E2: Caso a operação em questão não seja bem sucedida, o sistema emite uma mensagem de erro
explicando o problema e retorna ao passo 7.
E3: O sistema não deve permitir inserir uma entrada sem que exista uma saída anterior (a menos
que seja este o primeiro registro de entrada no sistema para o trabalhador em questão); da
mesma forma o sistema não deve permitir inserir uma saída sem que exista uma entrada
anterior. Caso isso ocorra, o sistcma deve emitir uma mensagem de alerta explicando o
problema ; retornando ao passo 7.
E4: O sistema não deve permitir excluir uma entrada que possua uma saída cadastrada em
seqüência, sem que essa saída também seja excluida (nesse caso o trabalhador deve escolher
excluir também a saída em seqüência). Da mesrna forma o sistema não deve permitir excluir
uma saída que possua uma uma entrada cadastrada em seqüência, sem que essa entrada também
seja excluida (nesse caso o trabalhador deve escolher excluir também a entrada em seqüência).
Caso isso ocorra , o sisterna deve emitir uma mensagem de alerta explicando o problema e
retornar ao passo 7.
E5: O sistema não deve permitir que uma entrada seja registrada entre uma entrada e saída já
registradas anteriormente. Da mesma forrna, o sistema não deve permitir que uma. saída seja
registrada entre uma entrada e saída já registradas anteriormente. Caso isso ocorra, o sistema
deve emitir uma mensagem de alerta explicando o problema e retornar ao passo 7.
E6: Caso uma justificativa não tenha sido escolhida, o sistema deve emitir uma mensagem de
alerta explicando o problema e retornar ao passo,7.
Especificação de Caso de Uso - Registrar Justificativa
A. Ator Relacionado
Trabalhador (Através do caso de uso "Registrar Presença").
B. Objetivo
Este caso de uso permite ao trabalhador inserir uma justificativa para um horário de entrada e saída
e é iniciado a partir dos pontos de extensão no caso de "Registrar Presença"
C. Fluxo de Eventos Principal
Passo 1: O sistema abre uma tela para que o trabalhador possa digitar livremente um texto para a
justificativa.
Passo 2: Após fechar a janela o sistema volta ao passo de onde esse caso de uso foi chamado.
Especificação do Caso de Uso - Acompanhar Presença
A. Ator Relacionado
Trabalhador.
B. Objetivo
Este caso de uso permite ao trabalhador acompanhar seus registros de presença em um determinado
período escolhido.
C. Pre-condiçao
O trabalhador deve ter efetuado logon no sistema.
D. Fluxo de Eventos Principal
Passo 1: O trabalhador escolhe a opção "Acompanhar Presença" na tela principal do sistema e a tela
de acompanhamento de presença é apresentada.
Passo 2: O trabalhador escolhe uma data inicial e uma data final para o período que deseja
consultar.
Passo 3: O sistema recupera todos os dados de apontamento e de justificativas que foram feitos
entre as datas escolhidas, junto com o total de horas do período e o nome do trabalhador, e os
apresenta na tela (E1). Caso nenhum registro exista entre as datas, o sistema emite uma mensagem
ao trabalhador informando este fato.
Passo 4: O trabalhador escolhe uma das opções na tela: "Acompanhar Novo Período" ou
"Cancelar".
Passo 5: Se o trabalhador escolher "Cancelar", o caso de uso é encerrado e volta à tela principal;
senão vai para o passo 3.
E. Fluxos de Exceção

E1: Caso não seja possível recuperar os registros, o sistema emite uma mensagem de erro
explicando o problema e retoma ao passo 3.
Especificaçao do Caso de Uso - Emitir Relatório de Presença
A. Ator Relacionado
Gerente
B. Objetivo
Este caso de uso permite ao gerente acompanhar o registro de presença dos trabalhadores em urn
determinado período escolhido.
C. Pré-condição
O gerente deve ter efetuado logon no sistema.
D. Fluxo de Eventos Princippal
Passo 1: O gerente escolhe a opção "Emitir Relatório de Presença" na tela principal do sistema e a
tela de emissão do relatório de presença é apresentada.
Passo 2: O gerente escolhe uma data inicial e uma data final para o período que deseja consultar.
Passo 3: O sistema recupera os dados de apontamentos e justificativa que foram feitos entre as datas
escolhidas para todos os trabalhadores e os apresenta na tela (E1) da seguinte forma: matrícula,
nome, total de horas e número de justificativas. Ao final do relatório é exiido o total de horas para
todos os trabalhadores. Caso nenhum registro exista entre as datas, o sistema emite uma mensagem
ao gerente informando este fato.
Passo 4: O gerente escolhe uma das opções na tela: "Imprimir Relatório", "Acompanhar Novo
Período" ou "Cancelar".
Passo 5: Se o gerente escolher "Cancelar", o caso de uso é encerrado e volta à tela principal; se ele
escolher "Imprimir Relatório", o relatório é impresso (E2); senão vai para o passo 3.
E. Fluxos de Execeção


E1: Caso não seja possível recuperar os registros, o sistema emite uma mensagem de erro
explicando o problema e retorna ao passo 3.
E2: Caso não seja possível imprimir o relatório, o sistema emite uma mensagem de erro
explicando o problema e retorna ao passo3.
Especificação do Caso de Uso - Efetuar Logon
A. Ator Relacionado
Trabalhador e Gerente, ambos chamados de usuário para facilitar a especificação deste caso de uso.
B. Objetivo
Este caso de uso permite ao usuário efetuar o seu logon no sistema e, a partir daí, escolher as opções
disponíveis para ele: Registrar Presença, Acompanhar Presença ou Emitir Relatório de Presença,
dependendo do tipo de usuário.
C. Fluxo de Eventos Principal
Passo 1: O sistema apresenta a tela de logon ao usuário.
Passo 2: O usuário informa sua matrícula e senha.
Passb 3: O sistema verifica se esse usuário esta cadastrado (E1).
Passo 4: O sistema verifica se a senha para esse usuário esta correta (E2).
Passo 5: O sistema apresenta a tela principal do sistema com as opções habilitadas para cada tipo de
usuário que efetuar logon.
a) Se o usuário é do tipo trabalhador, o sistema habilita as opções "Registrar Presença",
"Acompanhar Presença" e "Cancelar".
b) Se o usuario é do tipo gerente, o sistema habilita as opções "Emitir Relatório de Presenças" e
"Cancelar".
Passo 6: Se o usuário escolher "Cancelar", o sistema volta ao passo 1; senão o sistema vai para o
caso de uso correspondente à escolha do usuário.
D. Fluxos de Exceção


E1: Se o usuário não estlver cadastrado, o sistema emite uma mensagem de erro explicando o
problema e volta ao passo 1.
E2: Se a senha não estiver correta, o sistema emite uma mensagem de erro explicando o
problema e retorna ao passo 1.
Diagrama de Classes
O diagrama de classes seguinte apresenta uma modelagem do caso de uso descrito
anteriormente. Observe que a classe Pessoa faz parte de outra aplicação (controle de segurança) e a
aplicaçao de controle de ponto apenas faz referência a ela.
Ponto
Data
Horário de Entrada
0..* Horário de Saída
Bate
Pessoa
(Controle de Segurança)
1
Senha
Nome
Tipo
1
Documenta
Justificativa
0..*
Data
Justificativa
Modelo de Entidades e Relacionamentos
O modelo físico de dados apresentado em seguida é o que será utilizado para a
implementação do banco de dados do sistema. Observe
que a classe Justificativa do modelo de
classes foi mapeada para duas tabelas: Justificativa e Linhas. Essa decisão de projeto foi motivada
pelo fato de o sistema gerenciador de banco de dados utilizado não suportar campos do tipo memo
(texto de tamanho indefinido) e ser um requisito do usuário poder escrever uma justificativa de
tamanho arbitrário.
Justificativa
#Matrícula
Data
Linhas
#Matrícula
Data
#Linha
Texto
O
Pessoa
#Matrícula
Nome
Senha
Tipo
Apontamento
#Matrícula
O Data
Horário Entrada
Horário Saída
Detalhamento dos Campos e Arquivos Referenciados
Origem
Logon
Registro de Ponto
Consulta Apontamento Diário
Exclusão de Apontamento
Alteração de Apontamento
Acompanhar Presença
Emitir Relatório de Presença
Entradas
Matrícula
Senha
Mensagens
Comando
Indicador de entrada ou saída
Mensagens
Comando
Data do Ponto
Horário de Entrada
Horário de Saída
Mensagens
Comando
Mensagens
Comando
Horário Anterior
Horário Novo
Justificativa
Mensagens
Comando
Data Inicial
Data Final
Total de Horas do Período
Nome do Traalhador
Data do Ponto
Horário do Ponto
Indicador de Entrada ou Saída
Justificativa
Mensagens
Comando
Data Inicial
Data Final
Matrícula
Nome
Total de Horas do Trabalhador
Número de Justificativas
Total de Horas Geral
Mensagens
Comando
Saídas
Pessoa
Apontamento
Apontamento
Justificativa
Apontamento
Justificativa
Apontamento
Justificativa
Apontamento
Justificativa
Pessoa
Apontamento
Justificativa
Pessoa
Contagem de Pontos de Função Não-Ajustados
Utilize o quadro abaixo para identificação e classificação das funcionalidades a partir dos requisitos
apresentados.
Descrição
Tipo*
Tipo
Dado
Qtde. Arquivos Referenciados
Qtde. Tipos de Registro
Complexidade
* Classificação de funcionalidade (ALI, AIE, EE, SE ou CE)
Utilize o quadro abaixo e, a partir dos valores obtidos, calcule os Pontos de Função Não-Ajustados:
Tipo Função
EE
SE
CE
ALI
AIE
Quantidade
Complexidade
Funcional
Baixa
Média
Alta
Baixa
Média
Alta
Baixa
Média
Alta
Baixa
Média
Alta
Baixa
Média
Alta
Pontos de
Função
3
4
6
4
5
7
3
4
6
7
10
15
5
7
10
Total de Pontos de Função Não-Ajustados
Totais por
Complexidade
Total por Tipo
de Função
Download

Estudo de Caso - Sistema de Controle de Ponto