• Nenhum resultado encontrado

Requisitos funcionais do cliente Web 72

4   Análise de Tripletos de Codões e de Aminoácidos 65

4.2   Análise de requisitos 66

4.2.3   Requisitos funcionais do cliente Web 72

A componente Web do sistema deverá responder às solicitações que foram identificadas na preparação e no decorrer do projecto. No sentido de lhe dar solução, foram considerados diversos requisitos, nomeadamente:

 Executar consultas simples para obtenção de informação por organismo, quer para tripletos de codões, quer para tripletos de aminoácidos.

 Efectuar consultas parametrizadas por determinados codões ou aminoácidos.  Executar consultas mais elaboradas com cruzamento de informação extraída

de várias fontes de dados.

 Inclusão de restrições personalizáveis, em consultas avançadas.

 Inclusão de funções de agregação (Máximo, Mínimo, Contagem, Soma, etc.).

 Possibilitar a exportação dos resultados para um formato aberto (csv) e/ou outros formatos, comummente utilizados (tab, xls, etc.).

 Possibilitar o registo de utilizadores através de uma subscrição.

 Possibilitar a gestão de sessões de consultas para utilizadores registados.  Possibilitar a consulta de sessões previamente gravadas.

De uma forma mais pormenorizada, a vertente Web é caracterizada por servir de base de disponibilização dos dados pré-processados de uma forma mais amigável, permitindo o estabelecimento de relações entre estes. A inclusão das diversas opções, de forma a responder aos requisitos deverá recorrer a uma base de dados num estado consistente, de forma a evitar erros durante a operação.

O esquema conceptual da base de dados deverá basear-se no modelo de Data Warehousing [137]. Este modelo é considerado bastante eficiente, uma vez que para além de fornecer um ambiente de pesquisa com acesso rápido (processo de desnormalização, com diminuição de relações e campos calculados previamente para evitar o cálculo em tempo real), apresenta um excelente tempo de resposta para as consultas efectuadas. Estes aspectos são extremamente importantes, uma vez que o desempenho é frequentemente citado como um elemento chave para os biólogos [138].

73

De forma a facilitar o desenvolvimento desta componente do sistema, desenvolveu-se o diagrama de casos de utilização para a vertente cliente Web, representado na Figura 4.2.

Figura 4.2: Diagrama de casos de utilização da componente Web

O actor principal do sistema “Utilizador Web” representa qualquer utilizador indiferenciado que aceda à plataforma via Internet. Desse actor derivam dois actores especiais “Utilizador registado” e “Administrador”. O utilizador que se regista no sistema pode gerir as suas sessões, criar e eliminar sessões e abrir sessões previamente guardadas no servidor. O administrador tem a seu cargo a responsabilidade de gerir as contas dos diversos utilizadores, podendo alterar ou eliminar para cada utilizador, as várias sessões que tenham sido criadas.

Utilizador web Administrador Utilizador registado Gestão de sessões pessoais Gestão de utilizadores Gestão de sessões Validação de utilizador <<include>> <<extend>> <<include>> Execução de consultas simples Execução de consultas

avançada Guardar sessão Criar sessão temporária

Exportar resultado da consulta <<include>> <<include>> <<extend>> <<include>> <<extend>> <<extend>> Gerir restrições da consulta <<extend>>

74

No diagrama da Figura 4.2 podem-se observar diversos casos de utilização, sendo os principais “Execução de consultas simples”, “Execução de consultas avançadas”, “Gestão de sessões pessoais” e “Gestão de utilizadores”. O caso de utilização “Execução de consultas simples” deverá ser composto por uma série de instruções SQL previamente criadas no sistema, que permitirão ao utilizador rapidamente aceder aos dados existentes. Dada a grande variedade de consultas que poderão ser executadas, dependendo dos critérios de selecção, optou-se por apenas criar um caso de uso que representa a generalidade desse tipo de consultas.

Quanto ao caso de utilização “Execução de consultas avançadas” este deverá implementar um construtor artificial de instruções SQL, que permita executar consultas com agrupamentos, funções de agregação, restrições, junções e projecções. Embora a versatilidade dessa funcionalidade seja enorme, no fim acaba por resultar numa instrução composta por diversas operações algébricas relacionais, tendo em vista a obtenção do resultado. Pelos motivos expostos anteriormente, não se representam todos os casos de utilização possíveis, tendo-se optado por representar um caso de utilização geral. Sempre que sejam necessárias restrições é invocado o caso de utilização “Gerir restrições de consulta”, que permite a adição e/ou remoção de restrições que serão incluídas na cláusula

Where do SQL.

Em qualquer dos casos de utilização principais descritos anteriormente, deverá ser sempre possível efectuar a exportação dos resultados para um dos tipos standard (XLS, TAB, CSV). Essa exportação resulta da inclusão do caso de utilização “Exportar resultado da consulta”. Para além dessa funcionalidade, que se considera de grande relevância, o sistema deverá manter ainda que de forma temporária, à sessão total do utilizador, possibilitando a execução de todas as consultas que foram criadas durante a sessão, sempre que assim o entender. Para aceder a essa funcionalidade, é invocado o caso de utilização “Criar sessão temporária”.

Estas funcionalidades não requerem o registo do utilizador. No entanto, prevendo que o utilizador poderá voltar mais tarde a recorrer a consultas já efectuadas, está considerada a possibilidade de gravação das sessões para o utilizador registado, que poderá efectuar a gestão das suas sessões, através do caso de utilização “Gestão de sessões pessoais”.

75

A gravação das sessões no servidor através da funcionalidade “Guardar sessão”, por questões de desempenho e de tráfego, não deverá armazenar os dados, mas apenas as instruções SQL que foram executadas no servidor durante essa sessão. Essas instruções poderão ser posteriormente recuperadas pelo utilizador registado que assim terá acesso directo à interface de gestão das suas sessões, podendo então adicionar ou eliminar sessões, bem como gerir dentro da sessão as consultas efectuadas, facultando total liberdade ao utilizador para gerir o seu espaço de trabalho.

Por último, ao administrador é conferida a possibilidade de efectuar a gestão de utilizadores. Esta acção poderá ser efectuada através da interface Web ou directamente na base de dados do servidor através da interface padrão. Poderão ser criados, modificados ou eliminados utilizadores assim como as respectivas sessões que venha a ser criadas. Para esse efeito foram consideradas as funcionalidades “Gestão de utilizadores” para gerir as contas dos utilizadores e “Gestão de sessões” para possibilitar a manutenção das sessões registadas no servidor.