Neste ponto descreve-se o caso de uso n.º 5 – Definir restrições de acesso, começando-se pelo seu fluxo através da tabela 38.
Tabela 38 - Fluxo de "Definir restrições de acesso"
Fluxo básico Fluxo alternativo
1. Seleciona rede A1. Tratar rede não partilhada 2. Introduzir valores limite A2. Tratar valores inválidos 3. Guardar alterações
O fluxo da definição de restrições de acesso foca-se em definir os valores limite dos demais parâmetros de desempenho da rede partilhada.
Do fluxo básico resultaram dois fluxos alternativos. O A1 - Tratar rede não partilhada, que impede a conclusão do passo 2, e o A2 - Tratar valores inválidos, que impede a conclusão do passo 3.
Com uma posterior análise a estes fluxos, identificaram-se as demais fatias deste caso de uso, apresentadas na tabela 39.
Tabela 39 - Fatias do caso de uso "Definir restrições de acesso"
N.º Fatia
5.1 Limitar o tráfego diário 5.2 Limitar a largura de banda
5.3 Limitar utilizadores ligados a um ponto de acesso em simultâneo
5.4 Tratar conexão do proprietário 5.5 Tratar valores inválidos
Uma vez identificadas as fatias do caso de uso, passa-se à sua descrição, começando-se peça fatia 5.1 - Limitar o tráfego diário.
Tabela 40 - Fatia 5.1 "Limitar o tráfego diário"
Descrição O sistema deve permitir ao proprietário da rede limitar o tráfego diário a terceiros que se conectem à sua rede. Importância Permitir que os proprietários das redes consigam
controlar o tráfego feito por terceiros na sua rede.
Critério de teste Uma vez definido um limite de tráfego diário pelo proprietário, o sistema conta o tráfego de terceiros que acedam à rede, impedindo a sua conexão caso seja atingido o limite imposto.
Complexidade de implementação
Média
Com esta fatia pretende-se impor um limite de tráfego a quem acede a uma rede partilhada. A dificuldade passa estudar quais os mecanismos nativos disponíveis para contagem de tráfego e impedir a conexão quando o limite definido pelo proprietário da rede for alcançado. Atribui-se assim uma dificuldade de implementação média.
Tabela 41 - Fatia 5.2 "Limitar largura de banda"
Descrição O sistema deve permitir ao proprietário da rede limitar a largura de banda disponível a terceiros que se conectem à sua rede.
Importância Permitir que os proprietários das redes consigam controlar a largura de banda consumida por quem acedam à sua rede.
Critério de teste Uma vez definido um limite de largura de banda pelo proprietário, o sistema limita a largura de banda a terceiros que acedam à rede.
Complexidade de implementação
Alta
Esta fatia visa a limitação da largura de banda máxima disponível a terceiros que acedam à rede partilhada. Não existem mecanismos nativos na plataforma Android que permitam tal limitação, mas como esta é baseada em Linux há a possibilidade de utilizar a ferramenta iptables para alcançar tal objetivo. Uma vez que não se possui experiência com tal ferramenta estima-se que seja necessário um esforço adicional para a sua implementação, atribuindo- se uma complexidade de implementação alta.
Passa-se, agora, à fatia 5.3 - Limitar utilizadores conectados em simultâneo.
Tabela 42 - Fatia 5.3 "Limitar utilizadores conectados em simultâneo"
Descrição O sistema deve permitir ao proprietário da rede limitar o número de terceiros conectados à sua rede.
Importância Permitir que os proprietários controlem o congestionamento das suas redes.
Critério de teste Uma vez definido um limite de utilizadores conectados pelo proprietário, o sistema impede conexões de terceiros caso seja atingido esse limite.
Complexidade de implementação
Nesta fatia pretende-se limitar o número de utilizadores conectados a uma dada rede. Como não teremos controlo algum sobre os pontos de acesso, a tarefa de limitar o número de conexões a este será um desafio algo interessante. Por esse motivo atribui-se um nível de complexidade de implementação alto.
Segue-se a descrição da fatia 5.4 - Tratar conexão do proprietário.
Tabela 43 - Fatia 5.4 "Tratar conexão do proprietário"
Descrição O sistema deve permitir que o proprietário da rede se conecte sem quaisquer limitações.
Importância Não penalizar os proprietários.
Critério de teste O sistema não aplica quaisquer restrições quando os proprietários se conectam às suas próprias redes.
Complexidade de implementação
Baixa
Nesta fatia dá-se importância ao facto de o proprietário aceder à sua própria rede, sendo injusto que este fique sujeito às limitações que definiu para terceiros. Pensa-se que o processo de detetar que o utilizador é proprietário da rede e impedir que sejam aplicadas as limitações não seja muito complexo, atribuindo assim uma complexidade de implementação baixa.
Apresenta-se, de seguida, a fatia 5.5 - Tratar valores inválidos.
Tabela 44 - Fatia 5.5 "Tratar valores inválidos"
Descrição O sistema deve prevenir a introdução de valores inválidos.
Importância Definir as restrições corretamente.
Critério de teste O sistema aceita apenas valores válidos, mostrando uma mensagem de erro caso contrário.
Complexidade de implementação
Aqui previne-se que sejam introduzidos valores inválidos para que se possam definir corretamente todas as limitações definidas anteriormente nas fatias 5.1, 5.2 e 5.3. A validação deve ser um processo simples, assim como a mostragem de erros, atribuindo-se assim uma complexidade de implementação baixa.
E, assim, termina-se a descrição das fatias do corrente caso de uso, passando-se agora à identificação dos demais elementos e respetivas interações envolvidas na realização deste caso de uso, representadas de seguida através de uma vista componente-conetor.
Figura 8 - Vista componente-conetor do caso de uso "Definir restrições de acesso"
Como referido anteriormente, o gestor de Wi-Fi será responsável por estabelecer a conexão às redes. De forma a conseguir restringir os demais parâmetros introduz-se o módulo limitador da ligação, que resulta das fatias 5.1, 5.2 e 5.3.
E, com esta vista, conclui-se a análise do corrente caso de uso – Definir restrições de acesso, passando-se de seguida ao caso de uso n.º 6 – Consultar informações da rede.