5.1 Pacotes de Design Significativos do Ponto de Vista da

Propaganda
Documento de
Arquitetura
Projeto
Histórico de Alterações
Data
Versão
Descrição
Responsável
04/03/2009
1.0
Criação do documento
Otávio Augusto
05/03/2009
1.0
Revisão do documento
André Leitão
2-9
ÍNDICE
1.
INTRODUÇÃO
4
2.
REPRESENTAÇÃO DA ARQUITETURA
4
2.1
Camadas no SICOP
4
2.2
Camada de Apresentação
5
2.3
Camada de Negócio
5
2.4
Camada de Dados
5
2.5
Banco de Dados
5
3.
VISÃO DE CASOS DE USO
3.1.1
4.
5
[RFCA001] Incluir
6
VISÃO LÓGICA
4.1
Visão Geral
4.1.1
4.1.2
4.1.3
5.
7
7
7
8
Camada de Apresentação
Camada de Negócio
Camada de persistência
8
VISÃO DE IMPLEMENTAÇÃO
8
5.1
Pacotes de Design Significativos do Ponto de Vista da Arquitetura
8
5.2
Persistência
8
5.3
Visão de Distribuição
9
3-9
1.
Introdução
Este documento tem como propósito descrever a arquitetura do Sistema SICOP, explicitando
algumas tecnologias que são empregadas e a separação em camadas usada na aplicação.
O SICOP será um sistema para dispositivos móveis, sendo implementado em camadas e usando as
diversas tecnologias disponíveis na plataforma .NET.
A seguir descreveremos como o sistema está organizado com relação às camadas, a fim de se ter
uma melhor solução na arquitetura do sistema.
2.
Representação da Arquitetura
2.1
Camadas no SICOP
O SICOP será constituído por três camadas: camada de apresentação, camada de negócio e a
camada de dados. Nosso sistema está organizado sobre este padrão e a partir desta divisão é
permitido ter uma independência entre estas camadas. Abaixo segue uma breve descrição sobre
cada uma.
Camada de Apresentação: Permite que o usuário interaja com a aplicação. Nessa camada vamos
expor a lógica de negócios para o usuário. Trata-se da interface com o usuário.
Camada de Negócio: Camada responsável por manter as regras de negócio estabelecidas para o
usuário. A implementação da lógica da aplicação fica nesta camada a qual irá ser exposta ao usuário.
Camada de Dados: Camada responsável pelo armazenamento dos dados no banco de dados. Esta
camada recebe requisições da camada de negócio para a execução de uma determinada ação e
consta de classes que manipulam esses dados.
Essencialmente, estas três camadas abstraem: dados e funcionalidades, apresentação e
comportamento de uma aplicação. A arquitetura do nosso sistema pode ser resumida pela ilustração
abaixo:
Camada de Apresentação
Camada de Negócio
Camada de Dados
Banco de
Dados
Figura 1 – Representação Arquitetura
4-9
2.2
Camada de Apresentação
A camada de apresentação é implementada em geral através de telas desenvolvidas no Visual Studio
2008. Esta camada consta de um conjunto de classes que compõem as telas do sistema. As classes
das camadas inferiores são expostas para a camada de apresentação através das fachadas.
2.3
Camada de Negócio
A camada de negócio do SICOP fica entre a camada de apresentação e a camada de dados,
possibilitando a correta separação entre esses dois níveis. Esta camada, por sua vez, apresenta as
regras de negócio da aplicação, ou seja, quaisquer validações da aplicação estarão implementadas
nesta camada.
2.4
Camada de Dados
É composta de diversas classes, implementadas no padrão .NET que tem a finalidade de inserir os
dados no banco de dados.
2.5
Banco de Dados
Contém as tabelas do sistema onde são acessadas pela camada de persistência. O SGBD
utilizado por nossa aplicação é o SQL Server 2000 Windows CE Edition 2.0.
3.
Visão de Casos de Uso
Esta seção apresenta as funcionalidades do cenário de cadastro, abordando de forma
genérica, que serve para todos os casos de cadastro.
Figura 2 – Tela Principal SICOP
5-9
A interface é composta pelos seguintes componentes como indicado na figura 2:
 Botão Inferior Esquerdo: Apresenta os cadastros da aplicação(Ocorrência, Laudo,
Coleta Dados,etc).
 Botão Inferior Direito: Permite solicitar informações à Central (Consultar Ficha
Policial, etc).
3.1.1 [RFCA001] Cadastrar
Descrição: Esse caso de uso permite ao usuário inserir dados na aplicação e
posteriormente enviá-los ao DP. Quatro telas compõem este caso de uso citado como
Exemplo e esta é representada pela figura 3 abaixo.
Figura 3 – Exemplo de Tela de Cadastro
3.1.1.1 Fluxo principal
1. O usuário acessa, atráves do menu da tela principal, a opção desejada, sendo
apresentada a Tela como a da figura 3.
2. O usuário preenche os campos e clica no [x];
3. A aplicação valida as informações necessárias e pergunta se o usuário deseja salvar
os dados.
Fluxo de erro
[FE001] Campos inválidos
A aplicação apresenta uma mensagem de erro ao usuário e solicita o correto
preenchimento.
6-9
3.1.1.2 Fluxo Alternativo
[FA001] Confirmar operação
Se o usuário clicar em SIM quando lhe for perguntado se deseja salvar as informações,
estas serão armazenadas em banco.
[FA001] Cancelamento da operação
Se o usuário clicar em NÃO quando lhe for perguntado se deseja salvar as informações,
o usuário retornará para a Tela Inicial (figura 2) e nada acontece.
4.
Visão Lógica
As seções seguintes descrevem os elementos envolvidos na implementação do cenário de cadastros.
4.1
Visão Geral
Uma visão das classes e seus relacionamentos podem ser vistos na figura a seguir.
Figura 4 - Diagrama de classes do cenário de cadastros
4.1.1 Camada de Apresentação
A camada de apresentação desse cenário é implementada através Visual Studio 2008. As telas são
responsáveis por interagir com o usuário para apresentar e obter os dados nas operações de
inserção, remoção, atualização e busca para a entidade de Ocorrência.
7-9
4.1.2 Camada de Negócio
Nessa camada temos duas importantes classes, a Fachada e os cadastros (CadastroOcorrencia). A
principal entidade deste cenário é a fachada, responsável por todas as operações do sistema. Ela é
única, ou seja, usada por todos os casos de uso.
A fachada é responsável pela execução de todas as ações do caso de uso, se comunicando
diretamente com os cadastros. A classe Fachada utiliza os serviços dos cadastros
(CadastroOcorrencia) para validar e atualizar os dados das Ocorrências.
Após a atualização dos usuários a persistência da transação é delegada para a classe
IRepositorioOcorrencia, da camada de dados (persistência).
4.1.3 Camada de persistência
Para que a camada de persistência seja mais independente existe uma interface chamada
IRepositorioOcorrencia. Desta forma, qualquer implementação de persistência (BDR, arquivos, etc.)
pode existir sem a necessidade de modificações nas outras camadas.
5.
Visão de Implementação
5.1
Pacotes de Design Significativos do Ponto de Vista da Arquitetura
A divisão do sistema em pacotes se dá da seguinte forma: cada entidade possui um pacote com
todas as classes relacionadas (entidade, negócio, repositórios). Alem destes um pacote chamado tela
que conterá todas as classes de interface com o usuário.
Uma visão geral dos pacotes e seus relacionamentos podem ser vistos na figura a seguir.
Figura 5 – Divisão em Pacotes
5.2
Persistência
Os dados serão armazenados em um banco de dados relacional SQL Server 2000 Windows CE
Edition 2.0. Para isso, uma classe Repositorio será responsável por conter métodos com comandos
de manipulação de dados. Cada entidade que precise de acesso ao banco terá sua classe
Reposiorio. No caso da entidade Ocorrencia, o nome desta classe será RepositorioOcorrencia.
8-9
5.3
Visão de Distribuição
Este tópico apresenta uma visão de como será realizada a comunicação entre a aplicação e a
entidade que fornecerá e receberá os dados.
Figura 6 – Visão de Distribuição
9-9
Download