Licenciatura em Engenharia Informática e Computação - Laboratório de Informática Avançada Gestão de beneficiários Relatório de Projecto de Alto Nível - Documentação do Protótipo - Grupo de Trabalho: Ana Mota, [email protected] Ana Tavares, [email protected] João Belo, [email protected] João Charruadas, [email protected] Gestão de Beneficiários – Relatório de Projecto de Alto Nível – Parte 2 1/9 Índice Índice ................................................................................ 2 2. Definição do Protótipo ...................................................... 3 2.1. Descrição de componentes ....................................................... 3 2.1.1. 2.1.2. 2.1.3. 2.1.4. Especificação ............................................................................... 3 Implementação ............................................................................ 4 Testes......................................................................................... 9 Aplicações ................................................................................... 9 Gestão de Beneficiários – Relatório de Projecto de Alto Nível – Parte 2 2/9 2 – Definição do Protótipo 2.1 2.1.1 Descrição de Componentes Especificação Os seguintes componentes são utilizados pelo protótipo apresentado: Serviços de Dados: - - Páginas web dinâmicas para manipulação de dados dos beneficiários: o Inserção de dados; o Consulta de dados; o Remoção de dados; o Actualização de dados. Páginas web dinâmicas para login e gestão de utilizadores: o Login de utilizadores; o Adição de utilizadores; o Remoção de utilizadores; o Alteração de password. WebServices disponibilizados: - obtenção do nome de um beneficiário passando o identificador (número de beneficiário) como argumento, a informação retornada encontra-se na base de dados em, ORACLE. WebServices utilizados: - o cliente indica o número de beneficiário de alguém com o intuito de saber o nome da pessoa. Gestão de Beneficiários – Relatório de Projecto de Alto Nível – Parte 2 3/9 2.1.2 Implementação 2.1.2.1 - Webservices Na especificação do trabalho, foi clara a indicação de que não era necessário fornecer qualquer tipo de “webservice”, mas apenas criar um cliente que acedesse a um servidor (banco) para efectuar pagamentos por transferência bancária, usando para tal “webservices” fornecidos por um outro grupo. No entanto foi criada uma funcionalidade adicional ao trabalho, embora independente de todos os requisitos funcionais, para a criação de um “webservice”. A funcionalidade adicional criada foi a seguinte: obtenção do nome de um beneficiário passando o identificador (número de beneficiário) como argumento, a informação retornada encontra-se na base de dados em, ORACLE. Esta funcionalidade não se encontra "embebida" na web, mas seria fácil, pois o código gerado é JAVA, sendo apenas necessário fazer um “JAVA bean” com esse código chamando-o através de um “JAVA server page”. Foi necessário, para o correcto funcionamento do “webservice”, dividir o módulo em duas partes, sendo estas: a parte do servidor (entidade que fornece o serviço) e a parte do cliente (entidade que utiliza o serviço). A parte do servidor consiste numa pequena classe de teste com um método extremamente simples, que se liga à base de dados e obtém a linha da pessoa com o número de beneficiário passado como argumento. A parte do cliente é gerado pelo programa “axis” da apache. Este programa tratou de criar as classes necessárias que enviam o pedido SOAP (protocolo de comunicação) ao servidor e interpretam a resposta retornada. Também este criou uma classe de teste que alteramos pontualmente para servir os nossos propósitos, nomeadamente pedir argumentos na “command line” (emitindo uma mensagem de erro se não forem passados argumentos) e chamar a função do “webservice”. Gestão de Beneficiários – Relatório de Projecto de Alto Nível – Parte 2 4/9 2.1.2.2 - Serviços de dados Embora de estrutura muito simples, a base de dados criada reúne todas as condições necessárias para o correcto funcionamento do nosso módulo. Adicionalmente ao código SQL para a criação da base de dados, foi criado um script com vistas para facilitar algumas consultas que julgamos mais complexas, assim, por exemplo, para a visualização do estado da conta corrente, recorremos à respectiva vista. DATABASE JAVA BEAN JSP De um modo geral, as funcionalidades estão implementadas da seguinte forma: há um formulário “web” que submete para um “JAVA bean” os dados a inserir ou pesquisar na base de dados. No caso específico duma consulta, será gerada dinamicamente o resultado dessa pesquisa. Gestão de Beneficiários – Relatório de Projecto de Alto Nível – Parte 2 5/9 Os seguintes diagramas de estados, demonstram o ciclo de vida dos objectos implementados para este protótipo. Assim este protótipo, partindo-se da página inicial do sistema, divide-se em duas grandes partes: páginas implementadas para o administrador do sistema e páginas para utilizadores. Como se pode observar, a gestão de utilizadores cabe, única e exclusivamente ao administrador. Quanto aos utilizadores, estes gerem toda a informação dos beneficiários. Entrada Página Inicial Sair Login - Administrador Sair Página Inicial - Administrador Sair Sair Inserir Util. Util. Removido Aterar Password Password Alterada Util. Inserido Pág. Inserção de Utilizadores Remover Utli. Pág. Alteração de Password Pág. Remoção de Utilizadores Fechar o Browse Assim como o diagrama indica, a partir da página inicial, optando por entrar como administrador entra-se na página inicial de administrador. No menu dessa página pode-se optar por inserir, remover ou alterar a password dos utilizadores. Após alteração de dados por qualquer opção escolhida, volta-se à página inicial do administrador. Ou então, caso o utilizador esteja na página de inserção, remoção ou alteração de password, o administrador pode, através do menu presente escolher qualquer outra opção. Em qualquer página, pode-se optar por sair regressando à página inicial (onde se pode efectuar o login como utilizador ou administrador), ou então pode-se optar por sair da aplicação fechando o browser. Gestão de Beneficiários – Relatório de Projecto de Alto Nível – Parte 2 6/9 Os seguintes diagramas de estados, demonstram o ciclo de vida dos objectos implementados para este protótipo. Assim este protótipo, partindo-se da página inicial do sistema, divide-se em duas grandes partes: páginas implementadas para o administrador do sistema e páginas para utilizadores. Como se pode observar, a gestão de utilizadores cabe, única e exclusivamente ao administrador. Quanto aos utilizadores, estes gerem toda a informação dos beneficiários. Entrada Página Inicial Sair Login - Administrador Sair Página Inicial - Administrador Sair Sair Inserir Util. Util. Removido Aterar Password Password Alterada Util. Inserido Pág. Inserção de Utilizadores Remover Utli. Pág. Alteração de Password Pág. Remoção de Utilizadores Fechar o Browse Assim como o diagrama indica, a partir da página inicial, optando por entrar como administrador entra-se na página inicial de administrador. No menu dessa página pode-se optar por inserir, remover ou alterar a password dos utilizadores. Após alteração de dados por qualquer opção escolhida, volta-se à página inicial do administrador. Ou então, caso se encontre na página de inserção, remoção ou alteração de password, o administrador pode, através do menu presente escolher qualquer outra opção. Em qualquer página, pode-se optar por fechar a sessão fazendo Sair, regressando à página inicial (onde se pode efectuar o login como utilizador ou administrador), ou então pode-se optar por sair da aplicação fechando o browser. Gestão de Beneficiários – Relatório de Projecto de Alto Nível – Parte 2 7/9 Quanto aos utilizadores, estes podem a partir da página inicial, com o seu login e password, chegar à página inicial para utilizadores. O menu que se encontra nessa página e se mantém ao longo das restantes páginas, permite aos utilizadores a opção de inserir novos beneficiários ou consultar beneficiários já existentes. Após o dados preenchidos do beneficiário a inserir, volta-se à página inicial do utilizador. Já a consulta, após a inserção do número do beneficiário, na página de consulta, visualiza-se a página de listagem dos beneficiários pesquisados, escolhendo o beneficiário a consultar, entra-se na página de dados do beneficiário em questão. Nesta última página, pode-se optar por remover o beneficiário ou alterar alguns dados, voltando posteriormente à página inicial do utilizador. Em qualquer das páginas descritas pode-se sempre optar por fechar a sessão fazendo Sair ou então para sair da aplicação, deve-se fechar o browser. Entrada Sair Página Inicial Login Inscrever Benef. Sair Sair Página Inicial - Utilizador Benef. Inscrito Consulta Benef. Actualizar dados Remover Pág. Inscrição de Beneficiários Pág. Consulta de Beneficiários Procurar Pág. de Listagem dos Benef. Escolha Pág. de Dados do Benef Fechar Browse Fechar Browser Gestão de Beneficiários – Relatório de Projecto de Alto Nível – Parte 2 8/9 2.1.3 Testes O procedimento utilizado para os testes é baseado num uso extensivo do componente que implementa um dado requisito, de modo a permitir descobrir eventuais falhas nessa mesma implementação. Os seguintes testes foram efectuados: 2.1.4 Requisitos Resultado dos Testes RFS6 Passou RNFS1 Passou RFS7 Passou RFS1 Passou RNFS3 Passou Aplicações Os componentes do protótipo implementados cumprem os mencionados em 2.1.1, que foram testados segundo o ponto 2.1.3. Os seguintes casos de utilização descritos no documento Especificação de Requisitos” encontram-se então implementados: requisitos “Relatório de Do ponto de vista da “Gestão de Beneficiários”: - Inscrição do Beneficiário. Do ponto de vista do “SIBENE”: - Inscrição do Beneficiário; Do ponto 2 do mesmo documento, encontram-se implementados os seguintes requisitos funcionais: - RFS6; - RFS7; - RFS1; Do ponto 4 do mesmo documento, encontram-se implementados (ou o protótipo cumpre) os seguintes requisitos não-funcionais: - RNFS1; - RNFS3; Gestão de Beneficiários – Relatório de Projecto de Alto Nível – Parte 2 9/9