Relatório do GPES. Arquitetura Geral do Framework



Documentos relacionados
2 a Lista de Exercícios

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Documento de Análise e Projeto VideoSystem

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Documento de Arquitetura

REFATORAÇÃO DA CAMADA DE APRESENTAÇÃO DO FRAMEWORK DE PREÇO DE VENDA (FRAMEMK)

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

ADMINISTRAÇÃO DE ATIVOS DE TI GERENCIAMENTO DE CONFIGURAÇÃO

Engenharia de Requisitos Estudo de Caso

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

Documento de Projeto de Sistema

Projeto de Arquitetura

Engenharia de Software III

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária

PLANEJAMENTO E PROJETOS. Lílian Simão Oliveira


Arquitetura de Rede de Computadores

Wilson Moraes Góes. Novatec

Um Driver NDIS Para Interceptação de Datagramas IP

MODELO CMM MATURIDADE DE SOFTWARE

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão

Capítulo 11. Conceitos de Orientação a Objetos. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

A contribuição da Análise para Arquitetura de Software

ISO/IEC 12207: Gerência de Configuração

Requisitos de Software

Entendendo como funciona o NAT

Sistemas de Informação para Apoio à Decisão Gerencial

Manual dos Serviços de Interoperabilidade

GARANTIA DA QUALIDADE DE SOFTWARE

Eduardo Bezerra. Editora Campus/Elsevier

Histórico de Revisão Data Versão Descrição Autor

GERÊNCIA DE INTEGRAÇÃO DO PROJETO

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

MVC e Camadas - Fragmental Bliki

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

Engenharia de Requisitos

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

O Processo Unificado: Captura de requisitos

INF 2125 PROJETO DE SISTEMAS DE SOFTWARE Prof. Carlos J. P. de Lucena

Arquitetura dos Sistemas de Informação Distribuídos

Padrões de Projeto WEB e o MVC

Universidade Federal Rural de Pernambuco. Bacharelado em Sistemas de Informação. Disciplina: Análise e Projeto de Sistemas de Informação

Histórico da Revisão. Data Versão Descrição Autor

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

Engenharia de Domínio baseada na Reengenharia de Sistemas Legados

Modelo para Documento de. Especificação de Requisitos de Software

Modelos de Arquiteturas. Prof. Andrêza Leite

ADM041 / EPR806 Sistemas de Informação

GUIA INTEGRA SERVICES E STATUS MONITOR

IMPLANTAÇÃO DE UM SISTEMA DE AVALIAÇÃO DE DESEMPENHO NA UFG

Modelos de Sistema by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Integração de sistemas utilizando Web Services do tipo REST

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

Projeto Arquitetural do IEmbedded

Disciplina: Introdução à Informática Profª Érica Barcelos

Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA

1 Introdução. Componentes Usuários. Provedor de Serviços. Figura 1.1 Ambiente de oferecimento de serviços

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

Processos de Desenvolvimento de Software

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

Comunicação de Dados

ENGENHARIA DE SOFTWARE

LINGUAGEM DE BANCO DE DADOS

Modelos. Comunicação com clientes

Documento de Projeto de Software

Sistemas Distribuídos

Padrões. Projeto (Design) de Software

Ciclo de Vida Clássico ou Convencional CICLOS DE VIDA DE DESENVOLVIMENTO DE SISTEMAS. Ciclo de Vida Clássico ou Convencional. Enfoque Incremental

Redes de Computadores

Jonathan J. Campos, Jefferson de Faria, William de O. Sant Ana

ROTEIRO PARA ELABORAÇÃO DE PROJETOS

Apresentação. E&L ERP Protocolo, Documentos Eletrônicos e Processos. PostgreSQL 8.2/ 8.3. Domingos Martins ES. v. 1.0

Modelo para Documento de. Especificação de Requisitos de Software

AULA 1 Iniciando o uso do TerraView

Especificação do 3º Trabalho

rosefib.webnode.com.br

Modelo de Planejamento de Projeto orientado pelo Escopo

DESENVOLVIMENTO DE APLICATIVO MÓVEL PARA AUXÍLIO NA PREVENÇÃO DE TRAGÉDIAS EM DECORRÊNCIA DE ENCHENTES

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

Requisitos de Software

Documento de Requisitos

Projeto de Banco de Dados Distribuído Proj o e j to t o de d B a B nc n o o d e d Da D do d s o D i D str t ibu b í u do d s

DATA WAREHOUSE. Introdução

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

O QUE É CRM? NARCISO SANTAELLA

Universidade Paulista

P4-MPS.BR - Prova de Conhecimento do Processo de Aquisição do MPS.BR

UML - Unified Modeling Language

CES-32 e CE-230 Qualidade, Confiabilidade e Segurança de Software. Conceitos de Qualidade. CURSO DE GRADUAÇÃO e DE PÓS-GRADUAÇÃO DO ITA

Governança de TI. ITIL v.2&3. parte 1

UFG - Instituto de Informática

Transcrição:

Relatório do GPES UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Relatório referente ao desenvolvimento da arquitetura geral do framework de preço de venda. Realizado no período de 29 de junho de 2010 a 30 de julho de 2010. Arquitetura Geral do Framework Atualmente vários métodos têm sido propostos objetivando melhorar o processo de desenvolvimento software, bem como minimizar os custos de manutenção [1]. A arquitetura de software é um deles, pois permite projetar a estrutura geral do sistema. Questões estruturais envolvem organização e estrutura geral de controle; protocolos de comunicação, sincronização; atribuição de funcionalidade a componentes de projeto; escalabilidade e desempenho; seleção de alternativas de projeto [1]. Essas questões compreendem o projeto de software no nível arquitetural, sendo divididas em quatro. Primeiro é importante ser capaz de reconhecer estruturas comuns de modo que projetistas de software possam compreender as relações existentes entre sistemas e desenvolver sistemas novos com base em variações de sistemas antigos. Segundo, o entendimento de arquitetura de software permite que os engenheiros tomem decisões sobre alternativas de projeto. Terceiro, uma descrição arquitetural do sistema é essencial para analisar e descrever propriedades de um sistema complexo. Quarto, o conhecimento de notações para descrever arquiteturas possibilita que os engenheiros apresentem novos projetos de sistemas a outros membros de uma equipe de desenvolvimento. Numa visão e estratégia de reuso de software, tem-se enfatizado a importância de reuso centrado na arquitetura para o desenvolvimento de software durante todo o seu ciclo de vida. A arquitetura de software serve como uma estrutura que permite o entendimento de componentes de um sistema e seus inter-relacionamentos, especialmente aqueles atributos que são consistentes ao longo do tempo e implementações. 1

Um dos pontos principais no desenvolvimento da arquitetura de um framework é a identificação dos pontos de comuns (frozen spots) e flexíveis (hot spots). Um ponto comum caracteriza-se pelas funcionalidades que são iguais a todas as aplicaçõesexemplo do domínio. Por sua vez, os pontos flexíveis são as funcionalidades específicas de cada aplicação-exemplo. Neste trabalho, as aplicações-exemplo são os métodos da literatura usados para formação de preço de venda tais como: Método de Custeio Baseado em Atividades (Activity-Based Costing); Método SEBRAE-PR; Método Baseado no Custo Pleno. A arquitetura geral do framework, ilustrada na Figura 1, foi dividida em dois pacotes principais: Base e Specific, os quais contêm as classes que são comuns frozen spots e específicas hot spots -, respectivamente. Figura 1 Arquitetura Geral do Framework Há uma relação de dependência entre o pacote Specific e o pacote Base, pois todos os pontos específicos do framework necessitam dos pontos comuns para seu funcionamento. A seguir serão detalhados os pacotes Base e Specific. 2

Pacote Base No interior do pacote Base, verificou-se a necessidade de outros 2 (dois) novos pacotes: Attributes e FoodSystem (figura 2). O pacote Attributes é responsável por todo o gerenciamento dos atributos utilizados nos métodos de custeio e o pacote FoodSystem tem como função gerenciar a entrada de dados que alimenta o sistema afim de efetuar os cálculos necessários para estabelecer o preço de venda do produto. Figura 2 Pacote Base. Para alimentar o sistema, ou seja, atribuir valores aos atributos é necessário haver atributos cadastrados, por este motivo há uma relação de dependência entre o pacote FoodSystem e o pacote Attributes. O pacote Attributes foi modelado e implementado usando o desenvolvimento em camadas View, VO, BusinessRole, Persistence - e dentro destas foram aplicados alguns padrões de projeto, entre eles: Decorator, Abstract Factory, Factory Method, DAOFactory e MVC (Model-view-controller). A arquitetura deste pacote está ilustrado na figura 3. 3

Figura 3 Pacote Attributes Definidas as dependência de cada pacote, as figuras 4, 5, 6, e 7 ilustram respectivamente os pacotes View, VO, BusinessRole e Persistence, contidos no subframework Gerenciar Atributo. Onde no pacote View, encontram-se as classes que provêem as interfaces do sistema por meio das quais os usuários irão interagir com o software. No pacote Persistence encontram-se as classes responsáveis pela conexão ao Banco de Dados. Nas classes VO e BusinessRole, encontram-se as classes que definem o modo como as interfaces do usuário reagem às entradas do mesmo, ou seja, ambos os pacotes são responsáveis pelo gerenciamento da interação entre os pacotes View e Persistence. 4

Figura 4 Pacote View. Figura 5 Pacote VO. Figura 6 Pacote BusinessRule. 5

Figura 7 Pacote Persistence. Devido a aplicação do padrão de projeto DAOFactory, o pacote Persistence possui em seu interior apenas o Pacote DAO. Neste pacote, há uma classe abstrata chamada DAOFactory e outro Pacote chamado Firebird, em que se localiza a classe FBDAOFactory que herda os métodos da classe abstrata do Pacote DAO. As figuras 8 e 9 ilustram o Pacote DAO e o Pacote Firebird, respectivamente. Figura 8 Pacote DAO. 6

Figura 9 Pacote Firebird Pacote Specific As partes específicas, hot spots, de todos os subframeworks que compõem o framework de otimização de Preço de Venda permanecem no interior deste pacote e é ilustrado pela figura 10. Figura 10 Pacote Specific 7

Alguns subframeworks são comuns entre os métodos de formação de preço de venda, como por exemplo, o subframework Attribute e Calculation, porém a implementação de ambos são diferentes para cada método a ser empregado. O subframework Attribute, não contém os mesmos atributos nos 3 (três) métodos estudados, como o Calculation também não possui a mesma fórmula para calcular o preço de venda de um determinado produto. Com exceção do pacote Attribute, todos os outros subframeworks contidos no pacote Specific são em sua totalidade específicos. A relação de dependência existente entre estes subframeworks é simples. O subframework ProductionLine é o único que não depende de nenhum outro, pois para efetuar o cadastro de uma nova linha de produção é necessário apenas o nome desta nova linha. Já o subframework Product, necessita o nome do novo produto e também da linha de produção que ele pertence. O mesmo acontece com o subframework Attribute, que precisa do nome do novo atributo a ser cadastrado juntamente com a linha de produção que este produto esteja relacionado. O subframework Activity além de necessitar do nome da nova atividade, também se relaciona com um atributo e com uma linha de produção. O subframework Calculation é responsável pelo cálculo do preço de venda do produto, porém para obter êxito em sua função, deve estar com todos os atributos e valores disponíveis. Como já mencionado, o subframework Attributes foi modelado e implementado seguindo alguns padrões de projeto já descritos anteriormente. A figura 11 ilustra o pacote Attributes. 8

Figura 11 Pacote Attributes Specific. A estrutura dos pacotes View, VO, BusinessRole e Persistence contidos no subframework Attributes seguem o padrão de projeto MVC. As figuras 12, 13, 14 e 15 ilustram respectivamente cada pacote. 9

Figura 12 Pacote View - Specific 10

Figura 13 Pacote VO Specific 11

Figura 14 Pacote BusinessRole - Specific 12

Figura 15 Pacote Persistence Specific Devido a aplicação do padrão de projeto DAOFactory já citado anteriormente, no interior do pacote Persistence há apenas outro pacote chamado DAO. Neste pacote estão as interfaces de cada método de custeio juntamente com outro pacote chamado Firebird, que por sua vez possui classes de cada método de formação de preço de venda que implementam os métodos das interfaces situadas no pacote DAO. As figuras 16 e 17 ilustram o Pacote DAO e o Pacote Firebird, respectivamente. Figura 16 Pacote DAO Specific 13

Figura 17 Pacote Firebird Specific Referências [1] MENDES, A. Arquitetura de software: desenvolvimento orientado a arquitetura. Rio de Janeiro: Campus, 2002. 212p. [2] SHAW, M.; GARLAN, D. Software Architecture - Perspectives on an Emerging Discipline, Upper Saddle River, NJ, Prentice-Hall, 1996. 14