Documento de Arquitetura A2MEPonto - SISTEMA DE PONTO ELETRÔNICO A2MEPonto - SISTEMA DE PONTO ELETRÔNICO #1 Pág. 1 de 11
HISTÓRICO DE REVISÕES Data Versão Descrição Autor 28/10/2010 1 Elaboração do documento André Luiz Lima A2MEPonto - SISTEMA DE PONTO ELETRÔNICO #1 Pág. 2 de 11
SUMÁRIO 1. INTRODUÇÃO... 4 1.1. Definições, Acrônimos e Abreviações... 4 1.2. Referências... 4 2. REPRESENTAÇÃO DA ARQUITETURA... 4 3. METAS E RESTRIÇÕES DE ARQUITETURA... 4 4. VISÃO DE CASOS DE USO... 4 4.1. Manter Funcionário... 5 5. REALIZAÇÕES DE CASOS DE USO... 5 5.1. Manter Funcionário... 5 5.1.1. Incluir Hora... 5 5.1.2. Listar Hora... 6 6. VISÃO LÓGICA... 6 6.1. Visão Geral... 6 6.2. Pacotes de Projeto Significativos do Ponto de Vista da Arquitetura... 7 6.2.1. Componentes Físicos do Projeto... 8 6.3. Estratégia de Reuso... 8 7. VISÃO DE IMPLANTAÇÃO... 9 8. VISÃO DE IMPLEMENTAÇÃO... 9 8.1. Visão Geral... 9 8.2. Camadas... 9 8.2.1. Apresentação... 9 8.2.2. Negócio... 10 8.2.3. Integração... 10 9. VISÃO DE DADOS... 10 10. TAMANHO E DESEMPENHO... 10 11. QUALIDADE... 10 Usabilidade... 10 Reuso de Componentes Tecnológicos... 10 Manutenibilidade... 10 Portabilidade... 11 A2MEPonto - SISTEMA DE PONTO ELETRÔNICO #1 Pág. 3 de 11
1. INTRODUÇÃO O objetivo desse documento é apresentar uma visão geral da arquitetura do sistema, empregando diferentes visões com o intuito de abordar diversos aspectos do sistema. Sua finalidade é levantar e documentar todas as decisões arquiteturais adotadas durante o desenvolvimento do sistema. Este documento apresenta uma visão geral abrangente da arquitetura do sistema e utiliza uma série de visões arquiteturais diferentes para ilustrar os diversos aspectos do sistema. Sua intenção é capturar e transmitir as decisões significativas do ponto de vista da arquitetura que foram tomadas em relação ao sistema. 1.1. Definições, Acrônimos e Abreviações As definições, Acrônimos e Abreviações estão do Glossário do projeto. 1.2. Referências Não se aplica 2. REPRESENTAÇÃO DA ARQUITETURA A arquitetura de software refere-se ao projeto e a implementação das estruturas de mais alto nível de abstração do projeto, obtendo como resultado, a união de uma série de elementos arquiteturais organizados de modo a satisfazer as principais funcionalidades e requisitos não-funcionais e tecnológicos do sistema. Este documento apresenta a arquitetura do sistema através das seguintes visões arquiteturais: Visão de Casos de Uso; Visão Lógica; Visão de Implantação; 3. METAS E RESTRIÇÕES DE ARQUITETURA As metas e restrições arquiteturais estão no documento Especificação Suplementar. 4. VISÃO DE CASOS DE USO O propósito desta visão é apresentar os casos de uso significativos e que direcionarão a arquitetura do sistema como um todo. Os casos de uso de maior impacto arquitetural são os que descrevem a funcionalidade central do sistema e os que interagem com outros sistemas, tais como: Manter Funcionário Caso de Uso Impacto Caso de uso responsável pela inclusão, alteração e exclusão de Funcionários. A2MEPonto - SISTEMA DE PONTO ELETRÔNICO #1 Pág. 4 de 11
4.1. Manter Funcionário Este caso de uso permite criar, visualizar, incluir, alterar e excluir funcionários. 5. REALIZAÇÕES DE CASOS DE USO 5.1. Manter Funcionário Figura 1 Caso de Uso Manter Funcionários. 5.1.1. Incluir Hora Figura 2 Fluxo de Inclusão de Hora A2MEPonto - SISTEMA DE PONTO ELETRÔNICO #1 Pág. 5 de 11
5.1.2. Listar Hora Figura 3 Fluxo de Listagem de Hora Por Funcionário 6. VISÃO LÓGICA O A2MEPonto é uma aplicação desenvolvida em Delphi 7.0 com Banco de Dados PostgreSQL, utilizando o componente Zeus para a integração Aplicação-Banco de Dados. O A2MEPonto utiliza para geração de seus relatórios o Rave Report 5.2. A arquitetura foi definida em 3 camadas lógicas, apresentação, Negocio e Integração, e 1 camada de Relatórios. Os elementos de apresentação (Forms) são responsáveis por receber suas requisições, delegar essas requisições para a camada de negócios que gere as requisições que serão enviadas para a camada de Integração (via Zeus), que processa e faz o processo inverso, retorna a informação para a camada de negocio que conseqüentemente envia para a camada de apresentação. A Camada de relatórios, possui as mesmas características da camada de apresentação, porém o cliente da mesma é a própria camada de Apresentação. 6.1. Visão Geral projeto: O diagrama abaixo representa a visão de alto nível da arquitetura do Sistema adotada para o A2MEPonto - SISTEMA DE PONTO ELETRÔNICO #1 Pág. 6 de 11
Figura 4 - Visão de alto nível da Arquitetura 6.2. Pacotes de Projeto Significativos do Ponto de Vista da Arquitetura Detalhando a Figura 4 segue informações abaixo: Apresentação o Form Formulários para a apresentação e interação do usuário com o sistema. Negócio o Serviço responsável pela realização do caso de uso, cobrindo toda a implementação deste e solicitando dados dos objetos de negócio. Integração o ZEOS - Age como um elemento de busca de informações. Relatório o RAVE Reports responsável pela criação dos relatórios em formato PDF, RTF, HTML e TXT. A2MEPonto - SISTEMA DE PONTO ELETRÔNICO #1 Pág. 7 de 11
6.2.1. Componentes Físicos do Projeto Documento de Arquitetura 6.2.1.1. Apresentação Componente Descrição Versão Benefícios FORMS Delphi Componentes Nativos DELPHI Plataforma de desenvolvimento amigável e de do Delphi 7.0 7.0 fácil manutenção 6.2.2.1. Negócio Componente Descrição Versão Benefícios Units Delphi Componentes Nativos DELPHI Plataforma de desenvolvimento amigável e de do Delphi 7.0 7.0 fácil manutenção 6.2.3.1. Integração Componente Descrição Versão Benefícios Zeos Responsável em realizar a comunicação com o banco de dados Permite maior gerenciamento nas transações entre a aplicação e o banco de dados. 6.2.4.1. Relatório Componente Descrição Versão Benefícios Rave Report Componente de gerenciamento de Relatórios 5.2 Componente de alta performance e com baixo acoplamento e fácil manutenção. 6.3. Estratégia de Reuso Com base na definição arquitetural as camadas foram divididas de forma a possibilitar e facilitar o reuso de regras de negócio e a manutenção. A2MEPonto - SISTEMA DE PONTO ELETRÔNICO #1 Pág. 8 de 11
7. VISÃO DE IMPLANTAÇÃO Figura 5 Visão de implantação 8. VISÃO DE IMPLEMENTAÇÃO Não se Aplica 8.1. Visão Geral A implementação do sistema se baseia no conceito de programação em 3 camadas, que agrupa as classes de acordo com suas funcionalidades em: Camada de Apresentação, Camada de Negócio e Camada de Persistência ou Integração. Na Camada de Apresentação estão os Formulários que permite a interação entre o usuário e a aplicação. A Camada de Negócios contêm a modelagem do domínio do problema em classes de negócio e a Camada de Persistência contém as classes com conhecimento sobre como persistir as informações no banco de dados. 8.2. Camadas 8.2.1. Apresentação Elementos para a interação dos usuários com o sistema. Os Formulários que interage com o sistema através da camada de negócio. A2MEPonto - SISTEMA DE PONTO ELETRÔNICO #1 Pág. 9 de 11
8.2.2. Negócio Documento de Arquitetura Objetos para o tratamento de regra de negócio do aplicativo. Reage a solicitações feitas pela camada de apresentação e interage com a camada de integração a fim de persistir dados. 8.2.3. Integração Trata da recuperação dos dados e suas origens. Comunica-se com o banco de dados para persistir os dados. 9. VISÃO DE DADOS A regra adotada foi que cada caso de uso será mapeado para uma ou várias entidades no banco de dados. Vide modelo de dados. 10. TAMANHO E DESEMPENHO As informações deste tópico estão definidas no documento Especificação Suplementar. 11. QUALIDADE Esta seção descreve como a arquitetura proposta atende aos atributos de qualidade considerados importantes para sistemas de informações baseados em rede e aos requisitos do Cliente. Usabilidade Em relação aos aspectos de usabilidade, as principais vantagens das tecnologias citadas são: Controle preciso sobre layout, posicionamento e tipografia nos navegadores gráficos de área de trabalho. Reuso de Componentes Tecnológicos A utilização de componentes tecnológicos, apesar de não estarem ligados a requisitos funcionais, pode proporcionar importantes ganhos de produtividade e conseqüentemente melhorar a manutenção dos sistemas. Desse modo, a arquitetura proposta preconiza, sempre que possível, a utilização desse tipo de componente. Serão criados Padrões para as principais características do Sistema, tais como relatórios, consultas, Formulários de Cadastros. Manutenibilidade A manutenção de software é definida como o processo de modificação de um produto de software, componente ou sistema após a sua instalação, de forma a corrigi-lo, melhorá-lo ou adaptá-lo para uma mudança no ambiente operacional. Manutenibilidade de software é o atributo que caracteriza a facilidade de A2MEPonto - SISTEMA DE PONTO ELETRÔNICO #1 Pág. 10 de 11
modificação ou adaptação de um software. Nesse sentido, a arquitetura proposta melhora a manutenção nos seguintes aspectos: Utilização de Padrões de Projetos Padrões de projetos são soluções previamente criadas e já testadas que direcionam para soluções prontas, tais como frameworks. Isso deve facilitar a manutenção evolutiva dos sistemas, considerando-se que esses padrões são bem conhecidos por projetistas e desenvolvedores. Sistema em Camadas Cada camada prevista na arquitetura possui responsabilidades bem definidas e distintas. Desse modo, tornam-se camadas com baixo acoplamento em relação a outras e altamente coesas, o que facilita manutenções corretivas e evolutivas. A organização da camada de negócio em componentes coesos e com baixo acoplamento, melhora a manutenção dos sistemas. Um componente é utilizado através de suas interfaces, não importando aos clientes do componente como seus elementos se relacionam para resolver determinado problema. Dessa forma, um controle eficiente de configuração e documentação, facilitará as atividades de manutenção corretivas e evolutivas. Portabilidade O Sistema foi concebido para ser utilizado em um ambiente Windows. A2MEPonto - SISTEMA DE PONTO ELETRÔNICO #1 Pág. 11 de 11