Licenciatura em Engenharia Informática e Computação Laboratório de Informática Avançada



Baixar 99.34 Kb.
Encontro19.07.2016
Tamanho99.34 Kb.







Licenciatura em Engenharia Informática e Computação


-

Laboratório de Informática Avançada



Gestão de beneficiários




Relatório de Projecto Detalhado




Grupo de Trabalho:
Ana Mota, ei98011@fe.up.pt

Ana Tavares, ei98038@fe.up.pt

João Belo, ei98009@fe.up.pt

João Charruadas, ei98008@fe.up.pt



Índice
Índice 2
1. Descrição de componentes 3

1.1 – Especificação 3

1.2 – Implementação 5

1.3 – Testes 18

1.4 – Aplicações 20
2. Realização de casos de utilização 25

2.1 – Parte Estática 25

2.2 – Parte Dinâmica 28
3. Informação sobre testes de integração 30
4. Estado da implementação 31
ANEXO I 32
1 – Descrição de Componentes
1.1 - Especificação

O seguinte diagrama de componentes especifica os componentes do projecto que foram implementados:



É possível então listar os componentes a partir do diagrama:



      1. Componentes Internos

Componentes de administração:

  • Adição Utilizador (CADM1);

  • Alteração Password (CADM2);

  • Login Administrador (CADM3);

  • Remoção Utilizadores (CADM4).

Componentes de utilização:

  • Logout de Utilizadores (CUTIL1);

  • Login de Utilizadores (CUTIL2);

  • Adição de Reembolsos (CUTIL3);

  • Adição de Contribuições (CUTIL4);

  • Adição de Beneficiários (CUTIL5);

  • Alteração de Beneficiários (CUTIL6);

  • Remoção de Beneficiários (CUTIL7);

  • Consulta de Beneficiários (CUTIL8);

  • Consulta de Conta Corrente de Beneficiários (CUTIL9);

  • Consulta de Reembolsos (CUTIL10);

  • Consulta de Contribuições (CUTIL11);

  • Consulta de Despesas (CUTIL12);

  • Consulta de Relatório de Resultados (CUTIL13);

  • Verificação de Sessão (CUTIL14);

  • Consulta de Transferências Notificadas (CUTIL15).

Componentes de WebServices:

  • Efectuar transferência bancária (Componente utilizado) (CWS1);

  • Notificação de transferência bancária (Componente fornecido) (CWS2);

  • Adição de despesas para contabilidade (Componente fornecido) (CWS3).

      1. Componentes Externos

Apache Tomcat WebServer: (CEX1)

  • AXIS. (CEX1.1)

WebService para efectuar transferência bancária. (CEX2)


    1. – Implementação

      1. Componentes Internos

De seguida é descrita a implementação de cada componente individualmente do sistema, utilizando diagramas de componentes e de actividades.

Componentes de administração:

CADM1 – Adição Utilizador



CADM2 – Alteração Password



CADM3 – Login Administrador


CADM4 – Remoção de Utilizadores



Componentes de utilização:

CUTIL1 – Logout utilizadores



CUTIL2 – Login de Utilizadores


CUTIL3 - Adição de Reembolsos


CUTIL4 - Adição de Contribuições



CUTIL5 - Adição de Beneficiários


CUTIL6 - Alteração de Beneficiários


CUTIL7 - Remoção de Beneficiários


CUTIL8 - Consulta de Beneficiários

CUTIL9 - Consulta de Conta Corrente de Beneficiários


CUTIL10 - Consulta de Reembolsos


CUTIL11 - Consulta de Contribuições

CUTIL12 - Consulta de Despesas

CUTIL13 - Consulta de Relatório de Resultados


CUTIL14 – Verificação de Sessão

CUTIL15 – Consulta de Transferências Notificadas


Componentes de WebServices:

CWS1 – Efectuar transferência bancária


CWS2 – Notificação de transferência bancária

CWS3 – Adição de despesas para contabilidade


      1. Componentes Externos

Como a implementação dos componentes externos não é conhecida, descrevem-se os serviços disponibilizados por estes.


CEX1 - Apache Tomcat WebServer
O Apache Tomcat é um servidor web que permite correr JavaServer Pages e outros scripts “server-side”. É utilizado para disponibilizar os WebServices a partir da porta HTTP do computador onde o sistema está instalado.
CEX1.1 – AXIS
O AXIS é um módulo que se integra no Apache Tomcat que, além de ajudar na construção de WebServices, permite a sua execução através dos vários sub-módulos que possui para este tipo de serviços.
CEX2 - WebService para efectuar transferência bancária
Este WebService permite que se efectuem ligações para pedir a execução de transferências bancárias. O componente interno que se liga a este componente é o CWS1 (Efectuar Transferência Bancária).

O interface disponibilizado por este componente é o seguinte:


boolean efectuarTransferencia(string login, string password, string NIBContaOrigem, string NIBContaDestino, decimal valor, string descricao)


    1. – Testes

O procedimento utilizado para os testes é baseado num uso extensivo do componente, tanto separadamente como em conjunto com outros componentes (internos e externos), de modo a permitir descobrir eventuais falhas nessa mesma implementação.


      1. Componentes Internos

Os seguintes testes foram efectuados:


Componente

Resultado dos Testes

CADM1

Passou

CADM2

Passou

CADM3

Passou

CADM4

Passou

CUTIL1

Passou

CUTIL2

Passou

CUTIL3

Passou

CUTIL4

Passou

CUTIL5

Passou

CUTIL6

Passou

CUTIL7

Passou

CUTIL8

Passou

CUTIL9

Passou

CUTIL10

Passou

CUTIL11

Passou

CUTIL12

Passou

CUTIL13

Passou

CUTIL14

Passou

CUTIL15

Passou

CWS1

Passou

CWS2

Passou

CWS3

Passou



      1. Componentes Externos

Os seguintes testes foram efectuados:


Componente

Resultado dos Testes

CEX1

Passou

CEX1.1

Passou

CEX2

Passou




    1. – Aplicações

De seguida apresenta-se a correspondência entre componentes e requisitos, assim como as respectivas funcionalidades que permitem os requisitos apresentados. Ver Anexo I – Requisitos do Sistema Revistos.



      1. Requisitos Funcionais


RFS1 – O sistema tem que permitir a inserção, actualização e remoção de dados de beneficiários.
Componentes que implementam este requisito:

CUTIL5 - Adição de Beneficiários;

CUTIL6 - Alteração de Beneficiários;

CUTIL7 - Remoção de Beneficiários;

CUTIL8 - Consulta de Beneficiários.

É possível inserir um novo beneficiário directamente a partir do menu principal do utilizador do sistema. Através de uma consulta posterior de beneficiários, é possível fazer a alteração dos dados de um beneficiário ou a sua remoção.


RFS2 – O sistema tem que permitir registar o recebimento das contribuições de beneficiários.
Componente que implementa este requisito:

CUTIL4 - Adição de Contribuições.

Através de um formulário simples, acedido a partir do menu principal, adiciona-se uma contribuição referente a um dado beneficiário.
RFS2.1 – O sistema tem que permitir uma ligação com o banco para o recebimento das contribuições de beneficiários.
Componente que implementa este requisito:

CWS1 – Efectuar transferência bancária.

Quando se adiciona uma contribuição, é efectuada uma ligação através do WebService disponibilizado externamente (componente CEX2 – WebService para efectuar transferência bancária). A transferência é então efectuada.
RFS3 – O sistema tem que permitir registar o pagamento de reembolsos aos beneficiários.
Componente que implementa este requisito:

CUTIL3 - Adição de Reembolsos.

Através de um formulário simples, acedido a partir do menu principal, adiciona-se um reembolso referente a um dado beneficiário.
RFS3.1 – O sistema tem que permitir uma ligação com o banco para o pagamento de reembolsos aos beneficiários.
Componente que implementa este requisito:

CWS1 – Efectuar transferência bancária.

Quando se adiciona um reembolso, é efectuada uma ligação através do WebService disponibilizado externamente (componente CEX2 – WebService para efectuar transferência bancária). A transferência é então efectuada. Como se pode ver, o componente CWS1 funciona de forma indiferente tanto para transferências relativas a reembolsos como contribuições.
RFS4 – O sistema tem que disponibilizar uma ligação que permita à gestão de acordos inserir despesas na contabilidade.
Componente que implementa este requisito:

CWS3 – Adição de despesas para contabilidade.

O sistema disponibiliza um WebService através deste componente, permitindo uma ligação ao mesmo a partir da Gestão de Acordos, que irá inserir despesas na base de dados, permitindo a sua integração na contabilidade.
RFS5 – O sistema tem que permitir visualizar o registo dos pagamentos, recebimentos e despesas para contabilização, tanto a nível de contabilização geral, como de contabilização individual por beneficiário ou por datas.
Componentes que implementam este requisito:

CUTIL8 - Consulta de Beneficiários;

CUTIL9 - Consulta de Conta Corrente de Beneficiários;

CUTIL10 - Consulta de Reembolsos;

CUTIL11 - Consulta de Contribuições;

CUTIL12 - Consulta de Despesas.


Através de uma consulta de um beneficiário, é possível obter a sua conta corrente por mês, com a informação de todas as contribuições, despesas e reembolsos associados. Também disponível, mas desta vez directamente a partir do menu principal do utilizador, é possível efectuar consultas, separadamente e por mês, para as contribuições, despesas ou reembolsos efectuadas nesse mês pelos vários beneficiários.
RFS6 – O sistema tem que poder gerar e visualizar relatórios de resultados a partir do registo dos pagamentos, recebimentos e despesas.
Componente que implementa este requisito:

CUTIL13 – Consulta de Relatório de Resultados.

Directamente a partir do menu principal do utilizador é possível obter, por mês, o relatório de resultados que inclui, em conjunto, todas as contribuições, despesas ou reembolsos efectuados nesse mês pelos vários beneficiários.
RFS7 – O sistema tem que estar preparado para vários utilizadores diferentes.
Componentes que implementam este requisito:

CUTIL1 - Logout de Utilizadores;

CUTIL2 - Login de Utilizadores.

É possível um utilizador autenticado entrar no sistema e, após a sua saída ou alternativamente a partir de outro terminal, entrar outro utilizador autenticado, havendo então várias contas de utilizadores.


RFS8 – O sistema tem que permitir uma gestão de utilizadores.
Componentes que implementam este requisito:

CADM1 - Adição Utilizador;

CADM2 - Alteração Password;

CADM3 - Login Administrador;

CADM4 - Remoção Utilizadores.

As ferramentas de administração do sistema, acessíveis com o nome de utilizador e password da base de dados que tem as tabelas do sistema (correspondendo ao login de administrador), permitem adicionar utilizadores, alterar a password de um utilizador ou remover utilizadores.



RFS9 – O sistema tem que disponibilizar uma ligação ao banco que permita receber notificações quando as transferências são efectuadas, assim como permitir visualizar essas transferências.
Componentes que implementam este requisito:

CUTIL15 – Consulta de Transferências Notificadas;

CWS2 – Notificação de Transferência Bancária.

É disponibilizado um WebService para ser utilizado pelo banco, de modo a que este possa notificar o sistema quando uma transferência pedida é executada, e está portanto confirmada. A confirmação destas transferências pode ser consultada directamente através do menu principal de utilizador.




      1. Requisitos Não Funcionais


RNFS1 – O sistema deve permitir uma autenticação dos utilizadores.

Componentes que se relacionam com este requisito:

CADM1 - Adição Utilizador;

CADM2 - Alteração Password;

CUTIL2 - Login de Utilizadores.

O login de um utilizador implica que este tenha associada uma password. Seguindo o mesmo raciocínio, ao adicionar um utilizador novo é necessário que se crie uma password. É possível a qualquer altura a mudança de password através das ferramentas de administração.



RNFS2 – A comunicação entre sistemas deve utilizar uma plataforma segura.
Componentes que se relacionam com este requisito:

CWS1 - Efectuar transferência bancária;

CWS2 - Notificação de transferência bancária;

CWS3 - Adição de despesas para contabilidade.

Todas as comunicações entre sistemas são através de WebServices e funcionam através de ligações por TCP/IP não encriptadas. Devido à reduzida informação enviada, a probabilidade desta ser interceptada é significativamente baixa, pelo que se pode assumir que há alguma segurança nesta utilização. No entanto, a intercepção destes pacotes de informação não-encriptada é possível, não se podendo assumir que se trata de uma plataforma segura.

RNFS3 – O sistema deve ter um tempo de resposta rápido.

Todos os componentes internos ao sistema relacionam-se com este requisito, visto que pelos testes efectuados todos têm esse tempo de resposta rápido.


RNFS4 – A comunicação entre sistemas deverá ter um tempo de resposta rápido.
Componentes que se relacionam este requisito:

CWS1 - Efectuar transferência bancária;

CWS2 - Notificação de transferência bancária;

CWS3 - Adição de despesas para contabilidade.

Os testes efectuados às comunicações através dos WebServices provaram que não há qualquer tipo de dificuldade que impeça uma comunicação rápida entre sistemas. O tamanho dos pacotes enviados é muito pequeno, o que não requer muita largura de banda, mas há que ter em conta que numa rede muito congestionada esse tempo de resposta pode ser mais lento.

2 – Realização de casos de utilização
2.1 – Parte Estática

2.1.1 – Modelo de Domínio Parcial de Alto Nível

Apresenta-se de seguida o diagrama com o modelo de domínio parcial de alto nível, demonstrando a interligação com os outros sistemas.



Através deste diagrama é possível observar as dependências que correspondem exactamente aos WebServices que fazem a interligação entre sistemas. Tanto a Gestão de Acordos como o Banco dependem da Gestão de Beneficiários, correspondendo aos dois WebServices que são fornecidos. A Gestão de Beneficiários depende, por sua vez, do Banco, o que corresponde ao WebService que este lhe fornece.



2.1.2 – Diagrama de classes

Apresenta-se o renovado diagrama de classes:



Deste diagrama observa-se que todos os dados referente à contabilidade de Despesas e Reembolsos são consideradas classes que herdam os atributos da classe Pagamento, que por sua vez herda os atributos que todos os tipos de contabilidade (Reembolsos, Despesas e Contribuições) têm.



2.1.3 – Estrutura do Interface gráfico

O interface gráfico apresenta-se sob a forma de HTML gerado a partir de JSP, segundo o seguinte esquema:



O HTML é então gerado a partir do JSP, que por sua vez interligam com os JavaBeans (que fazem a ligação a baixo nível com a base de dados e componentes externos). Todos os HTML importam uma folha de estilos (style.css). O utilizador limita-se a ver HTML gerado (ou algumas vezes não-dinâmico), não tendo acesso ao código fonte que se encontra no servidor.

2.2 – Parte Dinâmica

2.1.1 – Diagrama de actividades entrando como utilizador

Este diagrama mostra os percursos possíveis de utilização do sistema entrando como utilizador registado:



Podemos ver a ligação forte entre páginas, normalmente recorrendo aos botões de navegação do “browser”. A partir de qualquer página é possível sair do sistema (fechando o “browser”). Fazendo logout, o sistema vai para a página principal, que não está representada neste diagrama.

Para a correspondência entre estes estados e as páginas a que se referem, ver o ponto 1 do relatório, visto que aos estados correspondem directamente componentes.

2.1.2 – Diagrama de actividades entrando como administrador

Este diagrama mostra os percursos possíveis de utilização do sistema entrando como administrador:



Entrando como administrador a partir da página inicial do sistema, é possível aceder às funções de inserção ou remoção de utilizadores, assim como a alteração de password. Tal como no ponto anterior, pode-se observar o ponto 1 deste relatório para uma descrição mais pormenorizada da relação entre estes estados e os componentes que os implementam.



3 – Informação sobre testes de integração

Os testes aos casos de utilização (requisitos do sistema) são efectuados do ponto de vista global do funcionamento do sistema (ao contrário dos testes efectuados por componentes, referidos no ponto 1.3 deste relatório.

Estes testes são efectuados através de uma tentativa de exploração dos casos possíveis dentro de um dado requisito do sistema, tentando encontrar falhas. Os testes apenas foram efectuados aos requisitos funcionais, visto que o objectivo era encontrar falhas na implementação e não em factores secundários.

A lista de requisitos do sistema encontra-se em anexo a este relatório.

Estes foram os resultados dos testes efectuados:


Requisito

Resultado dos Testes

RFS1

Passou

RFS2

Passou

RFS2.1

Passou

RFS3

Passou

RFS3.1

Passou

RFS4

Passou

RFS5

Passou

RFS6

Passou

RFS7

Passou

RFS8

Passou

RFS9

Passou


4 – Estado da Implementação

O estado da implementação do sistema é considerado final. De seguida apresenta-se uma tabela com os requisitos (funcionais e não-funcionais) que o sistema cumpre.




Requisito

Estado

RFS1

Cumpre

RFS2

Cumpre

RFS2.1

Cumpre

RFS3

Cumpre

RFS3.1

Cumpre

RFS4

Cumpre

RFS5

Cumpre

RFS6

Cumpre

RFS7

Cumpre

RFS8

Cumpre

RFS9

Cumpre

RNFS1

Cumpre

RNFS2

Utiliza plataforma não encriptada

RNFS3

Cumpre

RNFS4

Cumpre

O requisito não funcional RNFS2 não se pode considerar cumprido visto que utiliza uma plataforma de comunicações não encriptada. (Ver ponto 1.4.2 do relatório)

Todos os outros requisitos são cumpridos pelo sistema.

No momento da escrita deste relatório não há bugs conhecidos.

ANEXO I – Requisitos do sistema revistos



Requisitos do sistema



Requisitos Funcionais
RFS1 – O sistema tem que permitir a inserção, actualização e remoção de dados de beneficiários.
RFS2 – O sistema tem que permitir registar o recebimento das contribuições de beneficiários.
RFS2.1 – O sistema tem que permitir uma ligação com o banco para o recebimento das contribuições de beneficiários.
RFS3 – O sistema tem que permitir registar o pagamento de reembolsos aos beneficiários.
RFS3.1 – O sistema tem que permitir uma ligação com o banco para o pagamento de reembolsos aos beneficiários.
RFS4 – O sistema tem que disponibilizar uma ligação que permita à gestão de acordos inserir despesas na contabilidade.
RFS5 – O sistema tem que permitir visualizar o registo dos pagamentos, recebimentos e despesas para contabilização, tanto a nível de contabilização geral, como de contabilização individual por beneficiário ou por datas.
RFS6 – O sistema tem que poder gerar e visualizar relatórios de resultados a partir do registo dos pagamentos, recebimentos e despesas.
RFS7 – O sistema tem que estar preparado para vários utilizadores diferentes.
RFS8 – O sistema tem que permitir uma gestão de utilizadores.
RFS9 – O sistema tem que disponibilizar uma ligação ao banco que permita receber notificações quando as transferências são efectuadas, assim como permitir visualizar essas transferências.
Requisitos Não Funcionais
RNFS1 – O sistema deve permitir uma autenticação dos utilizadores.
RNFS2 – A comunicação entre sistemas deve utilizar uma plataforma segura.
RNFS3 – O sistema deve ter um tempo de resposta rápido.
RNFS4 – A comunicação entre sistemas deverá ter um tempo de resposta rápido.

Gestão de Beneficiários – Relatório de Projecto Detalhado

/






Compartilhe com seus amigos:


©principo.org 2019
enviar mensagem

    Página principal