Beruflich Dokumente
Kultur Dokumente
Lucas Ferreira1, Ednelson Santos2 Coordenadoria de Informtica - Instituto Federal de Alagoas (IFAL) Rua Odilon Vasconcelos, Centro 57.035-350 Macei AL Brasil
lucasleao@hotmail.com, edtenente@hotmail.com
1
Resumo. Este artigo da disciplina de Anlise e Projeto de Sistemas Orientado a Objetos (APRS) do IFAL descreve brevemente os principais padres de anlise (analysis patterns) selecionados aps uma pesquisa bibliogrfica realizada na internet sobre o tema. Os padres apresentados so: PARTY, ORGANIZATION HIERARCHIES, ORGANIZATION STRUCTURE, QUANTITY, CONVERSATION RATIO, COMPOUND UNITS.
1. Introduo
Na anlise e projeto de sistemas, conforme estudos e conhecimentos empricos surgiram, ficou comprovado em muitos problemas a existncia de condies recorrentes. Aps desenvolvimentos e testes exaustivos vrios modelos de anlise e solues foram propostos para problemas idnticos ou semelhantes. Geralmente quando o problema est associado anlise usamos modelos chamados de Analysis patterns, quando o modelo est associado projeto e implementao usamos o termo Designer Patterns. Analysis patterns so ideias que foram teis em algum contexto e devem permanecer teis em outros, sendo teis na modelagem de domnios de negcio e apoiam o reuso de ideias durante a fase de anlise. Surgiu na dcada de 70, com a publicao dos livros: Notes on the Synthesis of Form, The Timeless Way of Building e A Pattern Language, onde arquiteto Christopher Alexander estabelece que um padro deve ter as seguintes caractersticas: Encapsulamento; Generalidade; Equilbrio; Abstrao; Abertura; Combinatoriedade. Em 1995, com o lanamento do livro, Design Patterns: Elements of Reusable Object-Oriented Software, escrito por Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides, a discusso sobre Padres de Projeto de Software ganha popularidade e h o surgimento do Padres GoF (Gang of Four) que um Catlogo de Padres Dividido em trs famlias: Padres de criao: preocupam-se em como criar objetos; Padres de estrutura: preocupam-se em como compor objetos; Padres de comportamento: preocupam-se em como os objetos devem interagir;
H o Padro GRASP (General Responsibility Assignment Software Patterns), que est disposto no estilo arquitetural MVC MVC = Model-View-Controller O estudo de anti-padro se faz necessrio devido a ser uma soluo negativa amplificada de forma a ajudar as organizaes a reconhecerem uma situao problemtica e dessa forma evit-la e saber como agir em caso de seu surgimento.
Figura 1: Analysis Patterns: Party ORGANIZATION HIERARCHIES: Modela uma hierarquia organizacional atravs
relacionamentos
entre
entidades
Figura 2: Analysis Patterns: Organization Hierarchies ORGANIZATION STRUCTURE: Usa tipos para definir relacionamentos entre
entidades organizacionais.
Figura 3: Analysis Patterns: Organization Structure QUANTITY: Define um tipo de objeto que tem como parte numeros e unidades.
Figura 4: Analysis Patterns: Quantity CONVERSATION RATIO: Define um objeto de converso entre unidades, e d a
quantidade uma operao, convertTo(Unit), que retorna uma nova quantidade na unidade.
atmicas, por exemplo milhas por hora. Uma operao de converso sofisticada pode usar um conversor em uma unidade atmica para converter unidades compostas.
Alguns padres de Anlise surgem mais especificamente quando estamos lidando com um nincho menos abrangente, como por exemplo na rea fianceira vejamos o exemplo de um padro para uso e criao de uma conta: ANALYSIS PATTERN: ACCOUNT Definio: Use o padro "Conta" quando precisa de uma viso histrica de mudanas a um valor, se precisar apenas de saldos histricos e no das mudanas, podese usar o padro "Temporal Property". Como funciona: Junta lanamentos contbeis relacionados e prov dados de sumrio
Contas surgem com freqncia em sistemas financeiros oContas bancrias oContas para custos de um projeto oPlano de contas de uma empresa etc. Podemos pensar sobre contas de vrias formas: oUma conta um repositrio de lanamentos oAo criar um lanamento, ele colocado numa conta oA conta prov informao sumarizada, tal como um saldo oUma conta mantm o histrico de algum valor numrico Voc no quer saber apenas o valor atual, mas o valor em qualquer momento do
passado Voc quer saber de todas as mudanas que ocorreram ao valor Uma conta uma forma de fatorar os elementos de um lanamento.
Figura 8: Analysis Patterns: Account Contas nem sempre tratam de dinheiro o Pense, por exemplo, num controle de estoque o Cada tipo de material sendo estocado corresponde a uma conta
Detalhes de funcionamento H dois aspectos importantes de contas: oGuardar uma coleo de lanamentos oProver informao de sumrio sobre os lanamentos Devido grande quantidade de lanamentos, deve-se freqentemente aperfeioar a forma de calcular a informao de sumrio oExemplo, para calcular o saldo, pode-se guardar o saldo atual e "andar para trs" nos lanamentos para obter saldos de datas passadas Depois de certo tempo, pode ser necessrio remover lanamentos muito antigos e substitu-los por lanamentos fictcios agregados para diminuir o nmero total de lanamentos
perodos de tempo envolvidos Hierarquia de contas o Podemos tambm agrupar contas em um nvel mais alto.
3. Concluses
O bom uso de padres polpa tempo do analista, deixa o trabalho mais limpo, claro e de melhor qualidade, alm de facilitar o entendimento do cliente e da equipe de desenvolvedores. Uma maneira bastante inteligente economizar tempo no que j consolidado como boas prticas e utilizar esse tempo ganho em algo novo, desafiador ou que seja crucial ao projeto.
Referncias
1. Fowler, M.; Analysis Patterns: Reusable Object Models, MA.; Addison-Wesley; 1996. 2. http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/ap/, acessado em 30 de abril de 2012. 3. http://www.ufpa.br/cdesouza/teaching/labes/padroes-de-software.pdf, em 30 de abril de 2012. acessado