PADRÕES DE PROJETO: DESIGN PATTERNS
|
|
- Maria das Neves Dreer Azeredo
- 6 Há anos
- Visualizações:
Transcrição
1 PADRÕES DE PROJETO: DESIGN PATTERNS Jaime William Dias 1, Danilo Venturini 1, William Macxuel Muniz 1, Rodrigo Niehues Chagas 1 1 Universidade Paranaense (UNIPAR) Paranavaí PR Brasil danilo_tr98@hotmail.com, william.muz@gmail.com, rodrigonchagas@gmail.com, jaime@unipar.br Resumo. Este artigo constitui uma descrição dos padrões de projeto também conhecidos como design patterns que são utilizados no desenvolvimento de softwares, tendo como objetivo principal contar um pouco da história de seu surgimento, as vantagens de seu uso, os elementos que o compõem, como são classificados e também o que esperar do uso de um padrão de projeto, para finalizar faremos um pequeno estudo de caso para melhor externar o assunto. 1. Introdução Sistemas de software têm desempenhado um papel cada vez mais preponderante no dia-a-dia das pessoas e, consequentemente, se tornaram maiores e mais complexos. A partir do momento em que os produtos de software se tornaram complexos e que as atividades do processo de desenvolvimento deixaram de ser atribuídas a uma única pessoa, passando a ser executada por uma equipe, surgiram medidas que se tornaram essenciais nesse processo. A padronização de projetos é uma dessas medidas, o grande desafio das equipes de desenvolvimento de sistemas de software é produzir sistemas seguros, eficientes, de fácil manutenção, reutilizáveis e em prazos cada vez menores.. Os padrões de projeto servem para identificar nomear e abstrair estruturas recorrentes que são utilizadas no desenvolvimento de software tornando dessa forma a reutilização de códigos muito mais organizada e produtiva. O presente trabalho traz uma breve descrição sobre estes padrões bem como um pequeno estudo de caso para exemplificar um desses modelos de projeto [SILVA, P. et al 2009]. 2. Metodologia Para este trabalho foi realizada uma extensa revisão bibliográfica em livros, artigos e sites da internet. O próximo passo foi organizar as informações e definir os tópicos, após isto foi iniciada a escrita do trabalho. 3. Padrões A ideia de padrões de projeto foi apresentada por Christopher Alexander em 1977, ideia esta que esta ligada a padrões de projeto arquitetônicos, Christopher disse:
2 Cada Padrão descreve um problema que ocorre repetidamente de novo e de novo em nosso ambiente, e então descreve a parte central da solução para aquele problema de uma forma que você pode usar esta solução um milhão de vezes, sem nunca implementa-la duas vezes da mesma forma [KON, Fábio 2014]. Esse conceito ficou adormecido até os anos 80 quando começaram a ser organizados workshops sobre especificações de projeto e programação orientada a objeto [JÚNIOR, Nelson Ribeiro de Carvalho 2013], mas foi somente no ano de 1995 que o desenvolvimento de software passou a ter um catalogo de soluções padronizadas para projetos, que foi o livro Gof. O padrão transmite o conhecimento de uma pessoa com muita experiência em um determinado assunto, de uma maneira que pessoas com menor experiência e que se deparam com problemas semelhantes possam aplica-los [KON, Fábio 2014]. 3.1 Vantagens Com o inicio das catalogações de padrões de desenvolvimento que também são conhecidos com design patterns surgiram inúmeras vantagens para quem desenvolve e faz uso desses padrões, vantagens tais como: passou-se a ter um vocabulário comum para conversar sobre projetos de software, soluções que antes eram desconhecidas e antes não possuíam um nome, passaram a ter, padronização de nomenclaturas e desenvolvimentos em camadas, código mais enxuto, limpo, organizado, aumento da qualidade e diminuição da complexidade do código, entre tantos outros [KON, Fábio 2014]. 3.2 Elementos de um padrão Em geral, um padrão tem quatro elementos essenciais: 1. O nome do padrão é uma referência usada para descrever um problema de projeto, suas soluções e consequências. Dar um nome permite ao desenvolvedor programar em um nível mais alto de abstração, e ter um vocabulário comum para se discutir com a equipe de desenvolvimento. Sendo assim quando existir um problema será mais fácil identificar qual padrão usar naquela situação. [GAMMA, E. et al 2000]. 2. O problema fala em qual situação aplicar o padrão, ele descreve o problema e seu contexto. Algumas vezes o problema trará uma lista de condições que devem ser satisfeitas para que o padrão seja aplicado [GAMMA, E. et al 2000]. 3. A solução descreve os elementos que compõe o padrão de projeto, seus relacionamentos e suas responsabilidades. A solução não descreve um projeto concreto ou uma implementação ela apenas mostra um caminho que pode ser usado, e um exemplo de seu uso [GAMMA, E. et al 2000]. 4. As consequências são os fatores que devem ser levados em conta para utilização ou não do padrão para solução de determinado problema, embora em projetos de software as consequências geralmente não sejam documentadas, é importante se analisar se aquela realmente é a melhor solução, se o software
3 perdera desempenho ou ficara inflexível, tudo isso deve ser levado em conta na hora de se aplicar um padrão [GAMMA, E. et al 2000]. Os padrões variam em suas formas de uso em sua grandeza e também em seu nível de abstração. Lembrando que a construção de um software é feita da união de vários desses padrões que juntos formam a solução para determinado problema. 4. Classificação dos padrões A dois critérios para se classificar os padrões de projeto o primeiro seria a sua finalidade que reflete o que o padrão realmente faz, afinal o padrão pode tratar da parte estrutural ou da criação ou talvez do comportamento de um software por isso são divididos dessa forma, a tabela 1 mostra uma dessas divisões [GAMMA, E. et al 2000]. Tabela 1 Espaço dos Padrões de Projeto Fonte: Padrões de Projeto ; soluções reutilizáveis de software orientado a objetos (2000, p.27). O segundo critério, chamado de escopo especifica se o padrão se aplica a classe ou a objetos. Os padrões relacionados à classe lidam com a ligação entre as classes e suas subclasses, já os padrões relacionados a objetos lidam com relacionamentos entre objetos e seus relacionamentos entre objetos que podem ser mudados dinamicamente [GAMMA, E. et al 2000]. 4.1 Como selecionar um padrão de projeto Primeiramente é necessário analisar o tamanho do seu projeto. Depois é preciso encontrar um padrão que tenha a intenção ou a solução que trabalhe na mesma linha de seu projeto, depois de selecionado é preciso observar com quais outros padrões esse padrão escolhido se relaciona, é preciso também procurar padrões semelhantes ou parecidos com o escolhido e por fim liste possíveis variações e reformulações que poderão ocorrer durante o desenvolvimento do projeto [GAMMA, E. et al 2000]. 4.2 Como usar um padrão de projeto Uma vez escolhido o padrão de projeto é preciso se utilizar de alguns passos para que o entendimento e também a aplicação do padrão sejam efetivados de forma correta.
4 Leia o padrão por inteiro pelo menos uma vez, para que você possa ter uma visão geral, reforce a atenção em elementos do padrão como o problema e a solução, olhe nos exemplos de código que o padrão traz para que você possa ter uma ideia concreta da sua aplicabilidade, escolha nomes que de classes que sugerem quais padrões ali estão sendo utilizados e por fim defina suas classes seus relacionamentos, heranças e outros mais [GAMMA, E. et al 2000]. 4.3 O que esperar do uso de padrões de projeto Muitos dos desenvolvedores em geral só ouviram falar dos padrões de projeto mais em geral nunca os aplicaram de maneira efetiva, mesmo assim se você tem uma maneira padrão de desenvolver sistemas já esta aplicando uma padronização, o que é importante é ter ciência de que eles existem e que é preciso estudar esses padrões para poder produzir softwares de maior qualidade [GAMMA, E. et al 2000]. Hoje fala se muito em software flexível, mas para que essa ideia realmente seja efetiva e eficaz é preciso firmemente seguir uma padronização de desenvolvimento para que em um futuro do ciclo de vida de seu software ele não fique engessado devido a uma má estrutura feita no inicio do projeto, desta forma seguindo padrões de desenvolvimento teremos um código mais limpo e mais reutilizável [GAMMA, E. et al 2000]. 5. ESTUDO DE CASO A seguir mostraremos o uso de dois padrões de projeto, onde na primeira parte o código é desenvolvido sem a utilização de um padrão, e na segunda parte com a utilização de um padrão. Design Pattern Factory Exemplo de conexão sem utilizar Factory demonstrado na figura 2: Figura 1 Código da classe exemplo sem Factory
5 Agora exemplo de conexão utilizando o Design Pattern Factory. Primeiramente é criada a classe responsável por fazer a conexão com o banco de dados, como demonstrado na figura 3: Figura 2 - Código da classe fábrica de conexão Depois de criado a classe de conexão, é chamada a classe com o método de criar a conexão, dessa maneira deixa o código mais limpo e separa a classe responsável pela conexão, quando precisar da conexão com o banco de dados é só chamar a classe responsável e criar a conexão, sem duplicar código como mostra a figura 4: Figura 3 - Código da classe factory
6 6. Considerações finais Padrões de projeto foram criados para auxiliar uma parte repetida de um determinado projeto de software, permitindo desta forma seu entendimento e aplicação em um contexto particular. Sendo assim eles oferecem aos desenvolvedores uma ferramenta comum, facilitando a comunicação e o crescimento do projeto em uma linguagem comum para que todos possam desenvolver seguindo as métricas traçadas no início, além disso, constroem uma base solida para o desenvolvimento de um software que seja flexível e que possa ser usado como plataforma para outros sem que cresça tanto que fique engessado e tenha que ser desenvolvido novamente, esse que é um dos grandes desafios da engenharia de software e que com a utilização de padrões e códigos bem escritos espera se resolver boa parte desse problema e diminuir o tempo de construção de um projeto sem que haja percas neste processo [JÚNIOR, Nelson Ribeiro de Carvalho 2013]. REFERÊNCIAS GAMMA, E.; Helm, R.; Johnson, R.; Vlissides, J (2000). Padrões de Projeto: soluções reutilizáveis de software orientado a objetos, Porto Alegre: Bookman, JÚNIOR, Nelson Ribeiro de Carvalho (2013). Padrões de projeto e frameworks no desenvolvimento de software. Disponível em : < >. Acesso em 18 de abril, KON, Fabio (2014). Padrões de projeto de software orientado a objetos. Disponível em : < Acesso em 19 de maio, SILVA, P. et.al (2009). Estudo do Padrão de Projeto Observer no Desenvolvimento de Softwares Utilizando a Arquitetura MVC, Disponível em: < Acesso em: 25 de agosto, 2014.
Roni Fabio Banaszewski UTFPR Universidade Tecnológica Federal do Paraná
Roni Fabio Banaszewski UTFPR Universidade Tecnológica Federal do Paraná Reuso Motivações para reutilização de software Aspecto econômico Produtividade Time to market Qualidade Utilização de artefatos (código,
Leia maisProjeto de software Estrutura do software e arquitetura SWEBOK
Projeto de software Estrutura do software e arquitetura SWEBOK SWEBOK Design Patterns Maneira testada ou documentada de alcançar um objetivo qualquer Padrões são comuns em várias áreas da engenharia Design
Leia maisPadrões contexto problema solução
Padrões Padrões são soluções para problemas específicos que ocorrem de forma recorrente em um determinado contexto que foram identificados a partir da experiência coletiva de desenvolvedores de software.
Leia maisMódulo I Princípios e Padrões de Projeto de SW em Java
Módulo I Princípios e Padrões de Projeto de SW em Java Professores Eduardo Bezerra edubezerra@gmail.com Ismael H F Santos ismael@tecgraf.puc-rio.br April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br
Leia maisMas o que é mesmo Padrão de Projeto?
Mas o que é mesmo Padrão de Projeto? Um Padrão de Projeto descreve uma solução comprovada para um problema recorrente e conhecido no desenvolvimento de software orientado a objetos. Mas afinal, porque
Leia maisPadrões de Projeto de Software
Padrões de Projeto de Software Introdução Paulo Gomide Departamento de Ciência da Computação Universidade de Itaúna Motivação Introdução Por que Padrões? Por que Padrões de Projeto? O que é um Padrão de
Leia maisModulo I Princípios e Padrões de Projeto de SW em Java
Modulo I Princípios e Padrões de Projeto de SW em Java Professores Eduardo Bezerra edubezerra@gmail.com Ismael H F Santos ismael@tecgraf.puc-rio.br April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br
Leia maisIntrodução aos Padrões de Projeto. Sylvio Barbon Jr
Introdução aos Padrões de Projeto Sylvio Barbon Jr 25 février 2016 Introdução Disciplina Engenharia de Software : São Tratados principalmente os tesmas : Metodologia : No desenvolvimento
Leia maisTópicos Avançados em Linguagem de Programação. Padrões de Software. Prof. Alexandre Vidal DEINF-UFMA. Ciência da Computação
Tópicos Avançados em Linguagem de Programação Prof. Alexandre Vidal DEINF-UFMA Ciência da Computação Patterns (padrões) Compõem uma disciplina da Engenharia de Software voltada para a resolução de problemas
Leia maisESTUDO DO PADRÃO DE PROJETO OBSERVER NO DESENVOLVIMENTO DE SOFTWARES UTILIZANDO A ARQUITETURA MVC RESUMO
Mostra Nacional de Iniciação Científica e Tecnológica Interdisciplinar III MICTI Fórum Nacional de Iniciação Científica no Ensino Médio e Técnico - I FONAIC-EMT Camboriú, SC, 22, 23 e 24 de abril de 2009
Leia maisPadrões de Projeto de Software
Padrões de Projeto de Software Lista de Exercícios AV1 01 Luiz Leão luizleao@gmail.com http://www.luizleao.com Questão 1 Dentre as alternativas abaixo identifique a que NÃO define uma situação em que deve
Leia maisUniversidade Federal de Uberlândia Faculdade de Computação Prof. Fabiano Dorça. Introdução. Padrões de projeto
Universidade Federal de Uberlândia Faculdade de Computação Prof. Fabiano Dorça Introdução Padrões de projeto Algumas definições... Um padrão de projeto (design pattern) é uma solução geral reutilizável
Leia mais5 Processo de Reificação e de Desenvolvimento com ACCA
Uma Arquitetura para a Coordenação e a Composição de Artefatos de Software 53 5 Processo de Reificação e de Desenvolvimento com ACCA Resumo Este capítulo visa esclarecer e descrever atividades existentes
Leia maisProtótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator
Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator Ederson Evaristo Jantsch Orientador: Marcel Hugo 09/07/2002 Roteiro Introdução Aplicação multicamadas Tecnologias
Leia maisPadrões de Projeto de Software
Padrões de Projeto de Software Luiz Leão luizleao@gmail.com http://www.luizleao.com Introdução O que é? Como descrever? Principais Padrões de Projetos Unidade 2 Padrões GoF PADRÕES CRIAÇÃO Abstract Factory
Leia maisPadrões de Projeto de Software
Padrões de Projeto de Software Lista de Exercícios AV2-01 Luiz Leão luizleao@gmail.com http://www.luizleao.com Questão 1 Qual o objetivo dos padrões Comportamentais, segundo o catálogo GOF? Questão 1 Resposta
Leia maisPadrões de Projeto de Software Orientado a Objetos
Padrões de Projeto de Software Orientado a Objetos Ricardo Argenton Ramos [Baseado nos slides do professor Fabio Kon - USP] 1 Padrões de Projeto de Software OO Também conhecidos como Padrões de Desenho
Leia maisIntrodução a Orientação a Objetos
Introdução a Orientação a Objetos Instituto Federal de Educação, Ciência e Tecnologia do Triângulo Mineiro Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 01 - Introdução 1 Qualidade de Software Obter
Leia maisINF011 Padrões de Projeto Introdução
INF011 Padrões de Projeto 01 - Introdução Sandro Santos Andrade sandroandrade@ifba.edu.br Instituto Federal de Educação, Ciência e Tecnologia da Bahia Departamento de Tecnologia Eletro-Eletrônica Graduação
Leia maisUML. Rodrigo Leite Durães.
UML Rodrigo Leite Durães. rodrigo_l_d@yahoo.com.br O que é Análise de Software? UML: É o estágio de um sistema que captura os requisitos e o domínio do problema, focalizando no que deve ser feito, não
Leia maisAnálise e Projeto. Padrões de Análise, Arquitetura e Projeto
Análise e Projeto Padrões de Análise, Arquitetura e Projeto 33 Padrões de Arquitetura Padrões Nome do padrão Problema: quando aplicar o padrão? Descreve o problema e seu contexto. Solução: elementos que
Leia maisUnidade I MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini
Unidade I MODELAGEM DE PROCESSOS Profa. Gislaine Stachissini Documentação Conceito básico: nos negócios; na administração; na ciência; na Tecnologia da Informação. Modelagem de processos Importância da
Leia mais4 Processo de Transformação
Tecnologias Relacionadas 43 4 Processo de Transformação Com a constante mudança nos requisitos (funcionais e não funcionais) do domínio da aplicação, há uma grande necessidade de que os sistemas estejam
Leia maisPadrões de Projeto. Conteúdo. Objetivos
Padrões de Projeto Conteúdo O que são Padrões de Projeto? Para que servem? Vantagens/Desvantagens, Pontos Fortes/Fracos Exemplos e Alternativas Objetivos Conhecer diferentes padrões; Entender sua utilidade;
Leia maisAnálise. Orientada a Objetos Modelo Funcional, Modelo Estrutural e Modelo Comportamental. Linguagens: Java, C++, etc.
Análise Estruturada Modelo Essencial ou Lógico constitui-se de dois sub-modelos (Modelo Ambiental e Modelo Comportamental) e um Dicionário de Dados. Linguagens: Fortran, Cobol, C, etc. Orientada a Objetos
Leia maisINSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE
1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br Introdução 2 Antes de qualquer
Leia maisQUESTÃO 2: Sobre os relacionamentos utilizados no diagrama de caso de uso, analise as assertivas a seguir.
CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008/1 4º PERÍODO 7º MÓDULO AVALIAÇÃO MP1 DATA 10/09/2009 ENGENHARIA DE SOFTWARE 2009/2 GABARITO COMENTADO QUESTÃO 1: Os únicos relacionamentos
Leia maisEngenharia de Software
Engenharia de Software Projeto e Implementação Padrões de Projeto Msc. Carlos Mar 04/2014 REVISÃO: ORIENTAÇÃO A OBJETOS Msc. Carlos Mar - Abr/2014 Conceitos Fundamentais Classe Objeto Atributos Métodos
Leia maisINF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS
INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 17 Padrões de Design Singleton Facade Factory Method Observer Strategy
Leia maisPadrões de Projeto. Parte 1. Prof. Fellipe Aleixo
Padrões de Projeto Parte 1 Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Padrões de Projeto de Software OO Também conhecidos como Padrões de Projeto de Software OO ou simplesmente como Padrões A Inspiração
Leia mais3 Arquitetura para a Coordenação e a Composição de Artefatos de Software
Uma Arquitetura para a Coordenação e a de Artefatos de 23 3 Arquitetura para a Coordenação e a de Artefatos de Resumo Este capítulo apresenta a arquitetura ACCA, que é a parte central deste trabalho. A
Leia maisTécnicas para Reutilização de Software Prof. Eduardo Figueiredo Estagiário: Johnatan Oliveira
Técnicas para Reutilização de Software Prof. Eduardo Figueiredo Estagiário: Johnatan Oliveira Panorama de Reutilização Frameworks Padrões de projeto Aplicações configuráveis Padrões de arquitetura Linha
Leia maisEngenharia de Software
Engenharia de Software Design Principles Representando SW em UML OO em C Pattens úteis para embedded Rodrigo M A Almeida Design Principles Design Principles são guias para decompor as funcionalidades e
Leia maisDesenho e documentação de arquitectura de software e de aplicações empresariais
Desenho e documentação de arquitectura de software e de aplicações empresariais João Pascoal Faria Laboratório de Engenharia de Software 10 de Novembro de 2003 1 Definição de arquitectura de software Arquitectura
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Herança e Polimorfismo Msc. Paulo de Tarso F. Júnior 1 Projeto Orientado a Objetos O que desejam? Produção de projetos conceitualmente simples o bastantes para serem entendidos
Leia maisDESIGN PATTERNS. Como evitar problemas no futuro
I DESIGN PATTERNS Como evitar problemas no futuro 1 Zalba Monteiro Desenvolvedora Full Stack Desenvolvedora de software há 7 anos, atualmente trabalhando na CWI Software. Amante de tecnologias que envolvem
Leia maisArquitectura de Sistemas de Software Mestrado em Engenharia Informática Licenciatura em Engenharia Informática e Computação
Arquitectura de Sistemas de Software Mestrado em Engenharia Informática Licenciatura em Engenharia Informática e Computação Ademar Aguiar Universidade do Porto & INESC Porto ademar.aguiar at fe.up.pt FEUP
Leia maisArquitetura de Software visão emergente
Arquitetura de Software visão emergente Objetivos Visão abstrata do software através de componentes e interfaces Independência de plataforma Independência de paradigma de programação Técnicas Estilos Arquiteturais
Leia maisPadrões de Projeto. Padrões de Projeto. Além dos 23 Padrões GoF. Os 23 Padrões de Projeto. Documentação de um Padrão. Classificação dos Padrões
DCC / ICEx / UFMG Padrões de Projeto Padrões de Projeto Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Um padrão é uma descrição do problema e a essência da sua solução Documenta boas soluções para
Leia maisDesenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto
Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2006 Profa. Dra. Itana Gimenes RUP: Projeto Artefatos Modelo de Projeto: Lista de classes de
Leia maisDe Olho na Pista. Documento de Arquitetura. De Olho na Pista Documento de Arquitetura Data: 23/03/2013. AJA Software
AJA Software www.ajasoftware.wordpress.com De Olho na Pista Documento de Arquitetura Confidencial De Olho na Pista, 2013 1 Sumário 1. Introdução 3 2. Metas e Restrições da Arquitetura 3 3. Padrão da Arquitetura
Leia maisREUSO E REUSABILIDADE
REUSO E REUSABILIDADE Manutenção de Software Profa. Cynthia Pinheiro Antes de mais nada... 2ª Lista de Exercícios Já está disponível no site a 2ª Lista de Exercícios Entrega: dia 03/10, no horário da aula.
Leia maisFrameworks. Viviane Torres da Silva
Frameworks Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/es1 Frameworks Motivação Definição Classificação Características Propriedades Técnicas de Customização Frameworks
Leia maisAnálise de Sistemas. Aula 5
Análise de Sistemas Aula 5 Prof. Emerson Klisiewicz CONTEXTUALIZAÇÃO Aula 5 Análise Orientada a Objetos Introdução a UML Histórico e Visão Geral Ferramentas CASE O Sucesso... Clientes satisfeitos Eles
Leia maisProcesso Unificado Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Introdução
Processo Unificado Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Introdução 1 Processo Unificado (PU) 1.1 Bibliografia Autoria:Aristófanes
Leia maisFrameworks funcionais para JSF que proporciona o desenvolvimento de aplicações computacionais WEB
Frameworks funcionais para JSF que proporciona o desenvolvimento de aplicações computacionais WEB Bruno Costa Silva 1, Ricardo Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil brunocostasilva62@hotmail.com,
Leia mais5 Conclusão e trabalhos futuros
5 Conclusão e trabalhos futuros Neste capítulo fazemos uma retrospectiva do trabalho realizado, uma avaliação da proposta de solução de integração de dados ou conhecimentos mostrada na dissertação e também
Leia maisProblemas na Manutenção
ENGENHARIA REVERSA E REENGENHARIA Manutenção de Software Profa. Cynthia Pinheiro Problemas na Manutenção Código fonte mal elaborado e documentação imprecisa, ultrapassada ou inexistente Falta de compreensão
Leia maisPadrões. Arquitetura de Software Thaís Batista
Padrões Endereçam uma classe de problemas recorrentes e apresenta uma solução para eles (podem ser considerados um par problema-solução) Permitem a construção de software com propriedades definidas Ajudam
Leia maisAdemir Cristiano Gabardo. Novatec
Ademir Cristiano Gabardo Novatec Novatec Editora Ltda. 2012. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo,
Leia maisTécnicas para Reutilização de Software
DCC / ICEx / UFMG Técnicas para Reutilização de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Panorama de Reutilização Frameworks Padrões de projeto Aplicações configuráveis Padrões de
Leia maisHélio Engholm Jr. Novatec
Hélio Engholm Jr. Novatec Copyright 2013 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer
Leia maisINF1013 MODELAGEM DE SOFTWARE
INF1013 MODELAGEM DE SOFTWARE Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 1 O Paradigma Orientado a Objetos A Linguagem UML Descrição da Arquitetura 1 Programa
Leia maisSoluções reutilizáveis para situações ou problemas encontrados comumente em desenvolvimento de software orientado a objetos.
Padrões de Projeto O que são? Soluções reutilizáveis para situações ou problemas encontrados comumente em desenvolvimento de software orientado a objetos. Livros Design Patterns: Elements of Reusable Object-
Leia maisPATI-MVC: Padrões MVC para Sistemas de Informação. Gabriela T. De Souza Instituto Atlântico
PATI-MVC: Padrões MVC para Sistemas de Informação Gabriela T. De Souza gabi@atlantico.com.br Instituto Atlântico Carlo Giovano S. Pires cgiovano@atlantico.com.br Instituto Atlântico Márcio de Oliveira
Leia mais2 Fluxos no Ciclo de Vida do Processo Unificado. O Processo Unificado consiste da repetição de uma série de ciclos durante a vida de um sistema.
Processo Unificado Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Ciclo de Vida - Fluxos Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre
Leia maisLevantamento, Análise e Gestão Requisitos. Aula 03
Levantamento, Análise e Gestão Requisitos Aula 03 Agenda Paradigma da Orientação a Objetos Classes e objetos Abstração Encapsulamento Herança e polimorfismo Associação de objetos Coesão e acoplamento Levantamento
Leia maisAula 2 POO 1 Introdução. Profa. Elaine Faria UFU
Aula 2 POO 1 Introdução Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem de adaptações
Leia maisApresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP:
Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP: 8429016 Definição de MDA OMG (Object Management Group) propôs uma aplicação abrangente das práticas
Leia maisRESUMO DA PROGRAMAÇÃO - Minicursos
RESUMO DA PROGRAMAÇÃO - Minicursos Quarta-feira 15/05 Nome do Minicurso: Introdução ao desenvolvimento na plataforma.net (C#) Parte 01 Sala: Laboratório 04 Nome do Minicurso: Implantação de aplicações
Leia maisARQUITETURA DE SOFTWARE III
ARQUITETURA DE SOFTWARE III Conceitos, definições e evolução da arquitetura de software Prof. Victor A. T. Troitiño ARQUITETURA DE SOFTWARE A Arquitetura de um sistema é um arcabouço abrangente que descreve
Leia maisReutilização de Software
Reutilização de Software Cláudia Maria Lima Werner werner@cos.ufrj.br COPPE/UFRJ Programa de Engenharia de Sistemas e Computação Tópicos Engenharia de Software Processo de Software Reutilização de Software
Leia maisPadrões de Projeto. Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson
Padrões de Projeto Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson Apresentação Conceitos Definição Ponto de vista prático História Padrões de Projeto Conhecidos
Leia mais- Engenharia Reversa - Evolução de Sofware. Desenvolvimento como. Requisitos o que. Sistema porque. Profa. Dra. Sandra Fabbri. operacional.
Unidade V Evolução de Sofware - Engenharia Reversa - Profa. Dra. Sandra Fabbri Fases Genéricas do Ciclo de Vida Engenharia Sistemas Análise Projeto Codificação Manutenção Teste Sistema Requisitos Desenvolvimento
Leia maisArquitectura de Sistemas de Software
Arquitectura de Sistemas de Software Ademar Aguiar www.fe.up.pt/~aaguiar ademar.aguiar@fe.up.pt Arquitectura de Sistemas de Software, LEIC/MEI, 2003/2004 1 Arquitectar... Arquitectar uma pequena cabana
Leia maisProf.ª Esp. Talita Pagani
Especialização em Engenharia de Software Prof.ª Esp. Talita Pagani talita.cpb@gmail.com @talitapagani 21/02/2014 Design Patterns Aula 1 Prof.ª Esp. Talita Pagani 1 Informações gerais 1. Definição de Design
Leia maisDIVISÃO DE ASSUNTOS ACADÊMICOS Secretaria Geral de Cursos PROGRAMA DE DISCIPLINA
DIVISÃO DE ASSUNTOS ACADÊMICOS Secretaria Geral de Cursos PROGRAMA DE DISCIPLINA DEPARTAMENTO DE CIÊNCIAS EXATAS CÓDIGO: EXA836 DISCIPLINA: PADRÕES E FRAMEWORKS CARGA HORÁRIA: 60h EMENTA: Padrões e anti-padrões
Leia maisMANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO
MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO Sumário PREFÁCIO...3 MODELO DA DOCUMENTAÇÃO...3 1. INTRODUÇÃO AO DOCUMENTO...3 1.1. Tema...3 2. DESCRIÇÃO
Leia maisAnálise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Apresentação da Disciplina Edirlei Soares de Lima Objetivos da Disciplina Apresentar e discutir técnicas avançadas de Análise e Projeto de
Leia mais15/09/2014. Aula 01: Apresentação. Review to 1 st Exam. Aula 02: Técnicas de Reuso. Panorama de Reuso. Aula 03: POO e Padrões. Bibliografia da Aula 02
Software Reuse Lecture 13 Aula 01: Apresentação Review to 1 st Exam Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 15 September 2014 Bibliografia Método de avaliação Provas
Leia maisEngenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS. Nome:
Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS Nome: 1. No ciclo de vida de software, a estrutura de dados, a arquitetura, os detalhes procedimentais
Leia maisIntrodução a Padrões, GRASP. Nazareno Andrade (baseado no material de Hyggo Almeida e Jacques Sauvé)
Introdução a Padrões, GRASP Nazareno Andrade (baseado no material de Hyggo Almeida e Jacques Sauvé) O que vimos na última aula? Processo de Desenvolvimento de Software Visão geral de processo Processos
Leia maisPOO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos
UEG - Universidade Estadual de Goiás (Câmpus Posse) Disciplina: Análise e Projeto de Sistemas II Turma: 4 Semestre Ano: 2016 Professor: José Ronaldo Leles Júnior O que é? É uma forma de abordar um problema.
Leia mais15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos
DCC / ICEx / UFMG Pensar Orientado a Objetos Projeto Orientado a Objetos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Onde quer que você olhe no mundo real, você vê objetos Pessoas, animais, plantas,
Leia maisPDS. Aula 1.6 Modelos de Processo. Prof. Dr. Bruno Moreno
PDS Aula 1.6 Modelos de Processo Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br Tipos de Modelos Modelo em Cascata; Prototipação; RAD; Modelo Incremental; Desenvolvimento Evolucionário; Desenvolvimento
Leia maisMAPEAMENTO OBJETO RELACIONAL COM HIBERNATE EM APLICAÇÕES JAVA WEB
MAPEAMENTO OBJETO RELACIONAL COM HIBERNATE EM APLICAÇÕES JAVA WEB Miguel Gustavo Miiller¹, Tiago Piperno Bonetti 1. 1 Universidade Paranaense (UNIPAR) Paranavaí -Paraná- Brasil 94mgm94@gmail.com, bonetti@unipar.br
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Introdução Alguns conceitos importantes Orientação a Objetos Alguns conceitos importantes Programação Estruturada X Programação OO Classes Objetos Construtores e Destrutores
Leia maisHibernate Anotations
Hibernate Anotations Fabio Luiz Oenning da Costa¹, Ricardo Minigucci¹ Universidade Paranaense (Unipar) Paranavaí PR Brasil fabiooenning@hotmail.com ricardominigucci@gmail.com Resumo. Este artigo apresenta
Leia maisVisão Geral do RUP.
Visão Geral do RUP hermano@cin.ufpe.br Objetivos Apresentar as características RUP Discutir os conceitos da metodologia: fases, fluxos de atividades (workflows), iterações, responsáveis, atividades e artefatos
Leia maisProcessos de software
Processos de software 1 Processos de software Conjunto coerente de atividades para especificação, projeto, implementação e teste de sistemas de software. 2 Objetivos Introduzir modelos de processos de
Leia maisAula 01: Apresentação. Revisão para Prova 1. Aula 02: Técnicas de Reuso. Panorama de Reuso. Aula 03: POO e Padrões. Bibliografia da Aula 02
Reutilização de Software Aula 13 Aula 01: Apresentação Revisão para Prova 1 Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 23 Setembro 2013 Bibliografia Método de avaliação
Leia maisEngenharia Reversa e Reengenharia Software 13/05/2015
Engenharia Reversa e Reengenharia Software 13/05/2015 Problemas na manutenção de Software Código fonte e documentação mal elaborada. Falta de compreensão do sistema e suas funcionalidades. Muitas vezes
Leia maisComo Modelar com UML 2
Ricardo Pereira e Silva Como Modelar com UML 2 Visual Books Sumário Prefácio... 13 1 Introdução à Modelagem Orientada a Objetos... 17 1.1 Análise e Projeto Orientados a Objetos... 18 1.2 Requisitos para
Leia maisCampus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /
Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / andre.belini@ifsp.edu.br MATÉRIA: ARQUITETURA DE SOFTWARE ASWA4 Aula N : 10
Leia maisFactory Pattern. SISMO - Sistemas e Mobilidade Junho de Departamento de Informática / UFMA
Factory Pattern SISMO - Sistemas e Mobilidade http://www.sismo.deinf.ufma.br Departamento de Informática / UFMA Junho de 2008 Do que vamos tratar? Criação de objetos não é simplesmente usar o operador
Leia maisDesenvolvimento de Projetos
Desenvolvimento de Projetos Aula 1.3 Modelos de Processo Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br Tipos de Modelos Modelo em Cascata; Prototipação; Modelo Incremental; Desenvolvimento Evolucionário;
Leia maisDiagrama de Casos de Uso
Diagrama de Casos de Uso Régis Patrick Silva Simão Régis Simão Diagrama de Casos de Uso 1/29 Agenda Introdução Casos de Uso Atores Relacionamento entre Atores e Casos de Uso Relacionamento entre Casos
Leia maisPadrões de Análise. Martin Fowler, Analysis Patterns: Reusable Object Models, Addison-Wesley, Osvaldo Kotaro Takai João Eduardo Ferreira
Padrões de Análise Martin Fowler, Analysis Patterns: Reusable Object Models, Addison-Wesley, 2000 última atualização: agosto 2005 Osvaldo Kotaro Takai João Eduardo Ferreira Capítulo 1 - Introdução Modelos
Leia maisBibIme - Um Software Gerenciador de Bibliotecas Produzido de Forma Cooperativa
BibIme - Um Software Gerenciador de Bibliotecas Produzido de Forma Cooperativa Dairton Bassi, Kelly Braghetto, Eduardo Colli, Fabio Kon, João Eduardo Ferreira Instituto de Matemática e Estatística Universidade
Leia maisAs 10 Áreas da Engenharia de Software, Conforme o SWEBOK Prof. Elias Ferreira
As 10 Áreas da Engenharia de Software, Conforme o SWEBOK Prof. Elias Ferreira Educação de iniciação profissional validada e legitimada pela sociedade Registro da adequação à prática através de certificação
Leia maisIFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli
Programa de computador sequência de comandos ou instruções executados por um computador com a finalidade de produzir um resultado e resolver um problema; Linguagem de programação método para a criação
Leia maisNotas de Aula 03: Introdução a Orientação a Objetos e a UML
Notas de Aula 03: Introdução a Orientação a Objetos e a UML Objetivos da aula: Introduzir os conceitos da Orientação à Objetos (O.O) Introduzir os conceitos da UML Relacionar os processos às ferramentas
Leia maisSEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO. Luiz Leão
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 4.1. Aplicações utilizando Programação Estruturada e Programação Orientada a Objeto.
Leia maisEngenharia de Software I Processos de desenvolvimento de SW. profa. Denise Neves
I Processos de desenvolvimento de SW profa. Denise Neves profa.denise@hotmail.com 2018 Projeto Um projeto é um empreendimento temporário empreendido para alcançar um único conjunto de objetivos. (PMI,PMBOK
Leia maispor parte dos usuários dos sistemas de computação se tornou menos necessária e a popularidade desse tipo de linguagem diminuiu. Mais recentemente, a
1 Introdução Middleware é um termo cunhado no final da década de 60 (Naur e Randell, 1968), que é freqüentemente empregado para designar uma camada de software que oferece uma infra-estrutura para construção
Leia mais