Arquitectura de Sistemas de Software

Tamanho: px
Começar a partir da página:

Download "Arquitectura de Sistemas de Software"

Transcrição

1 Arquitectura de Sistemas de Software Ademar Aguiar Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Arquitectar... Arquitectar uma pequena cabana parece-nos fácil... Arquitectura de Sistemas de Software, LEIC/MEI, 2003/

2 Arquitectar... Menos fácil será arquitectar uma casa... Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Arquitectar... Ou um prédio de 6 andares... Arquitectura de Sistemas de Software, LEIC/MEI, 2003/

3 Arquitectar... Ou um arranha-céus de 452 metros de altura... Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Arquitectar... Quais as principais diferenças entre estas construções? Dimensões Custos Prazos Processo Competências e equipas Materiais e tecnologias Riscos associados Robustez Longevidade... Arquitectura de Sistemas de Software, LEIC/MEI, 2003/

4 Arquitectura & Engenharias tradicionais As engenharias tradicionais têm arquitecturas estáveis Edifícios, aviões, automóveis, barcos, pontes, etc. Estas arquitecturas evoluíram ao longo do tempo Por tentativa-e-erro Por reutilização e refinamento de soluções comprovadamente boas Nestes domínios foram conseguidos diversos avanços de engenharia Normalização de métodos de engenharia Produção de novos materiais Definição de novos processos de engenharia Alguns exemplos da Arquitectura Civil Casas, hospitais, lojas, hóteis, aeroportos, fábricas, estádios, cinemas Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Arquitectura de Software Arquitectar software é diferente (mais dificil?)... Invisibilidade Natureza temporal complexa de compreender e com possibilidade de evoluir ao longo do tempo Não obedece a leis físicas Tem que ser facilmente adaptável Evolução rápida das tecnologias subjacentes Mas o papel da arquitectura é o mesmo Controlar complexidade do sistema Garantir a integridade do sistema Assegurar as qualidades do sistema Melhorar a predictabilidade Equilibra forças influenciando o desenvolvimento do sistema e a sua evolução Arquitectura de Sistemas de Software, LEIC/MEI, 2003/

5 Níveis de Desenho de Software Que módulos? Como os interligar? Arquitectura módulos interligações Código-fonte algoritmos estruturas de dados Que estruturas de dados? Que algoritmos? Que gestão de memória? Que instruções utilizar? Executável pilhas de rotinas alocação de registos código-máquina Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Uma Definição A arquitectura de software compreende o conjunto de decisões significativas acerca da organização de um sistema de software Definição dos elementos estruturais e interfaces que compõem o sistema (blocos básicos de construção) Especificação de comportamentos envolvendo colaborações entre esses elementos Como é feita a composição dos elementos estruturais e comportamentais em subsistemas maiores Explicita o estilo arquitectónico que guia a organização do sistema. Arquitectura de Sistemas de Software, LEIC/MEI, 2003/

6 Tópicos principais Noções fundamentais Estilos clássicos de arquitectura Micro-arquitecturas: design patterns Macro-arquitecturas: frameworks Técnicas e ferramentas... Linguagens para descrição de arquitecturas (ADLs) -ACME (CMU/USC) - Rapide (Stanford) - Wright (CMU) - Unicon (CMU) UML Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Estilos de Arquitectura Pipes & Filters Object-orientation Event-based Layered Systems Repositories Interpreters Process Control... Arquitectura de Sistemas de Software, LEIC/MEI, 2003/

7 Exemplos do Estilo Layered System 2 camadas 3 camadas mais camadas Graphical User Interface Relational Database Graphical User Interface Business Object Model Graphical User Interface Business Object Model Relational Database Relational Database Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Padrões de Software Existem problemas e soluções recorrentes também em Eng. Software: Arquitectura Análise Desenho Codificação GoF book : 1º livro sobre Padrões de Software Foi apresentado na OOPSLA 94, e é uma co-autoria de um grupo de quatro indivíduos conhecido pelo Gang of Four (GoF). Documenta 23 padrões que descrevem soluções reconhecidamente boas para problemas recorrentes de desenho orientado por objectos [Gamma95]. Os padrões são micro-arquitecturas Descrevem mecanismos abstractos de cooperação entre objectos por forma a resolver um problema recorrente. Arquitectura de Sistemas de Software, LEIC/MEI, 2003/

8 Padrões de Software Abstract Factory, Builder, Singleton, Factory Method, Prototype, Adapter, Bridge, Composite, Decorator, Proxy, Chain of Responsability, Command, Flyweight, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor, Master-Slave, Publisher-Subscriber, Blackboard, Reactor, Reflection, Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Frameworks Orientadas por Objectos As frameworks são uma poderosa ténica de reutilização de software que permitem reutilização de código e desenho. Frameworks + componentes + padrões tecnologia actualmente existente mais capaz de suportar reutilização de software em larga-escala. Application 1 Application 2 Application 3 abstraction Framework code Framework code Application Code 2 Callbacks Hooks Plugins... Application Code 1 Application Code 3 Arquitectura de Sistemas de Software, LEIC/MEI, 2003/

9 Aplicação Framework Aplicacional Diversos componentes Framework Aplicacional Aplicação Bibliotecas de Classes Bibliotecas de Classes Bibliotecas de Procedimentos Bibliotecas de Procedimentos Sistema Operativo Sistema Operativo Aplicação OO convencional Aplicação OO com frameworks Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Sobre ADLs Uma ADL deve suportar a definição e descrição de arquitecturas, ie, deve permitir definir: componentes conectores configurações restrições Arquitectura de Sistemas de Software, LEIC/MEI, 2003/

10 Arquitectura vs. Design Arquitectura onde as decisões sobre requisitos não-funcionais são tomadas, e os requisitos funcionais são particionados (divididos em módulos) Design onde os requisitos funcionais são satisfeitos Requisitos não-funcionais ( ilities ) Requisitos funcionais (domínios) arquitectura (ADL) design (UML) Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ UML como uma ADL Aspectos positivos É bastante acessível Permitiu disseminar em larga escala as práticas de modelação Existem inúmeras ferramentas de modelação para UML Limitações do UML como uma ADL Os modelos estão fracamente interligados com semântica não perfeitamente apropriada à análise e definição de arquitecturas Os conectores não são reconhecidos como elementos de 1ª classe A notação visual ainda não tem um suporte bom para geração da arquitectura física e tecnológica, permite relações ambíguas e escondidas entre diferentes vistas Arquitectura de Sistemas de Software, LEIC/MEI, 2003/

11 Bibliografia Software Architecture: Perspectives on an Emerging Discipline de Mary Shaw e David Garlan, publicados por Prentice Hall em Software Architecture in Practice de Len Bass, Paul Clements e Rick Kazman, 2ª edição, publicados por Addison-Wesley em Design Patterns - Elements of Reusable Object-Oriented Software de Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides, publicado por Addison Wesley em Diversos artigos. Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Questões? Arquitectura de Sistemas de Software, LEIC/MEI, 2003/

Arquitectura 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 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 mais

Arquitectura de Sistemas de Software

Arquitectura 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 mais

Arquitectura de Sistemas de Software

Arquitectura de Sistemas de Software Ou um prédio de 6 andares... 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 Arquitectura de

Leia mais

Arquitectura de Sistemas de Software

Arquitectura 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, 2004/2005 1 Arquitectar... Arquitectar uma pequena cabana

Leia mais

Arquitectura 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 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 mais

Arquitectura de Sistemas de Software

Arquitectura 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 Revisões Arquitectura de Sistemas de Software,

Leia mais

Mas o que é mesmo Padrão de Projeto?

Mas 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 mais

" ##$#$!% # & #$#$ !!!!"!

 ##$#$!% # & #$#$ !!!!! " ##$#$!% # & #$#$ Abstract Factory, Builder, Singleton, Factory Method, Prototype, Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy, Chain of Responsability, Command, Interpreter, Iterator,

Leia mais

Aula 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

Aula 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 mais

15/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

15/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 mais

Análise e Projeto. Padrões de Análise, Arquitetura e Projeto

Aná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 mais

Universidade 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 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 mais

Padrões contexto problema solução

Padrõ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 mais

Padrõ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

Padrõ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 mais

Padrões de Projeto de Software

Padrõ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 mais

Prof.ª Esp. Talita Pagani

Prof.ª 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 mais

Padrões de Projeto de Software

Padrõ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 mais

INF011 Padrões de Projeto Introdução

INF011 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 mais

Padrões de Projeto de Software Orientado a Objetos

Padrõ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 mais

Arquitectura de Sistemas de Software

Arquitectura 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 Frameworks orientadas por objectos Arquitectura

Leia mais

Padrões de Design Orientado a Objetos Design Patterns. Jorge H. C. Fernandes DI-UFPE, Junho de 1999

Padrões de Design Orientado a Objetos Design Patterns. Jorge H. C. Fernandes DI-UFPE, Junho de 1999 Padrões de Design Orientado a Objetos Design Patterns Jorge H. C. Fernandes DI-UFPE, Junho de 1999 Padrões de Design Bibliografia Design Patterns: Elements of Reusable Object- Oriented Software. Gamma,

Leia mais

Tópico 8: Arquitetura, Padrões, Frameworks e MDA

Tópico 8: Arquitetura, Padrões, Frameworks e MDA PU-Rio Tópico 8: Arquitetura, Padrões, Frameworks e MDA Luiz Antônio M. Pereira lpereira@uninet.com.br PU-Rio Agenda Arquitetura de Software Padrões e Frameworks Introdução Padrões de projeto Frameworks

Leia mais

Desenho 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 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 mais

Padrões de Projeto. Parte 1. Prof. Fellipe Aleixo

Padrõ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 mais

Engenharia de Software

Engenharia 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 mais

Padrõ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 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

Tecnologias Atuais de. Desenvolvimento de Software

Tecnologias Atuais de. Desenvolvimento de Software Tecnologias Atuais de Desenvolvimento de Software Arquitetura, Padrões, Frameworks e MDA Prof. Luiz Antônio lpereira@uninet.com.br Agenda Arquitetura de Software Patterns e Frameworks Introdução Padrões

Leia mais

Laboratório de Desenvolvimento de Software

Laboratório de Desenvolvimento de Software Laboratório de Desenvolvimento de Software FEUP/MIEIC, 2010/11 Nuno Flores nuno.flores at fe.up.pt Rosaldo Rossetti rossetti at fe.up.pt Filipe Correia filipe.correia at fe.up.pt http://paginas.fe.up.pt/~nflores/dokuwiki/doku.php?id=teaching:1011:ldso

Leia mais

Arquitetura de Software visão emergente

Arquitetura 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 mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 10 Padrões GoF (Protoype e Façade) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method Prototype Singleton

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 11 Padrões GoF (Bridge e Decorator) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method Prototype Singleton

Leia mais

Arquitetura de Software Parte 1/3 Introdução* Jorge H. C. Fernandes Junho de 1999

Arquitetura de Software Parte 1/3 Introdução* Jorge H. C. Fernandes Junho de 1999 Arquitetura de Software Parte 1/3 Introdução* Jorge H. C. Fernandes Junho de 1999 Arquitetura de Software Este curso é baseado no livro Software Architecture in Practice, de Len Bass, Paul Clements and

Leia mais

Design Patterns. Viviane Torres da Silva

Design Patterns. Viviane Torres da Silva Design Patterns Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/2010.1/es1 Sumário Reuso de Software Introdução Benefícios e Desvantagens Visão do Reuso Padrões de Projeto

Leia mais

Curso - Padrões de Projeto Módulo 1: Introdução

Curso - Padrões de Projeto Módulo 1: Introdução Curso - Padrões de Projeto Módulo 1: Introdução Vítor E. Silva Souza vitorsouza@gmail.com http://www.javablogs.com.br/page/engenho http://esjug.dev.java.net Sobre o Instrutor Formação: Java: Graduação

Leia mais

Mó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 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 mais

Tópicos da Aula. POO e Padrões de Projetos. Considere três classes... Reuso de Classes. Locadora de DVD. Sistema Acadêmico

Tópicos da Aula. POO e Padrões de Projetos. Considere três classes... Reuso de Classes. Locadora de DVD. Sistema Acadêmico Reuso de Software Aula 03 Tópicos da Aula POO e Padrões de Projetos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 12 Março 2012 Programação orientada a objetos Reuso de

Leia mais

b) Adapter, Bridge e Composite. c) Builder, Prototype e Singleton. d) Façade, Command e Decorator. e) Factory Method, Interpreter e Template Method.

b) Adapter, Bridge e Composite. c) Builder, Prototype e Singleton. d) Façade, Command e Decorator. e) Factory Method, Interpreter e Template Method. 1) Considere os diagramas de classes de análise fornecidos nos itens (a) e (b) abaixo, ambos de acordo com a notação da UML. Esses diagramas desejam representar o fato de que uma conta bancária pode estar

Leia mais

Programação Orientada a Objetos. Padrões de Criação

Programação Orientada a Objetos. Padrões de Criação Programação Orientada a Objetos Padrões de Criação Cristiano Lehrer, M.Sc. Objetivos Apresentar cada um dos 23 padrões clássicos descrevendo: O problema que solucionam. A solução. Diagramas UML (Unified

Leia mais

Padrões GoF. Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Padrões GoF. Leonardo Gresta Paulino Murta leomurta@ic.uff.br Padrões GoF Leonardo Gresta Paulino Murta leomurta@ic.uff.br Agenda Introdução Padrões de Criação Padrões de Estrutura Padrões de comportamento Leonardo Murta Padrões GoF 2 Introdução Os padrões GoF (Gamma

Leia mais

Módulo III Padrões GOF

Módulo III Padrões GOF Módulo III Padrões GOF 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 1 Ementa Introdução aos

Leia mais

DIVISÃ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 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 mais

Design Pattern Implementation in Java and AspectJ

Design Pattern Implementation in Java and AspectJ Design Pattern Implementation in Java and AspectJ Jan Hannemann Gregor Kiczales In Proceedings of 2002 ACM SIGPLAN conference on OOPSLA. NY, USA. Introdução 2 Introdução 3 Introdução 4 Introdução 5 Introdução

Leia mais

Princípios de Engenharia de Software Resumo 8 Semana 8 Versão: 1.0 Data: 05/10/04

Princípios de Engenharia de Software Resumo 8 Semana 8 Versão: 1.0 Data: 05/10/04 Alunos: Ariane Bueno 0114784-9 Elaine A. de Carvalho 0114633-1 Gabriel Ramos 0114838» O QUE APRENDI ASSUNTO: ARQUITETURA ASSUNTO: Notas de aula referentes às aulas de 30/09/04, Arquitetura de Software(Shaw),

Leia mais

Roni Fabio Banaszewski UTFPR Universidade Tecnológica Federal do Paraná

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 mais

English version at the end of this document

English version at the end of this document English version at the end of this document Ano Letivo 2016-17 Unidade Curricular PROGRAMAÇÃO ORIENTADA POR OBJETOS Cursos ENGENHARIA ELETRÓNICA E TELECOMUNICAÇÕES (Mestrado Integrado) ENGENHARIA INFORMÁTICA

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 09 Padrões GoF (Adapter e Composite) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method Prototype Singleton

Leia mais

Programação Avançada. Padrões de Projeto de Software. Fonte: Oswaldo B. Peres e K19 Treinamentos

Programação Avançada. Padrões de Projeto de Software. Fonte: Oswaldo B. Peres e K19 Treinamentos Programação Avançada Padrões de Projeto de Software 1 Fonte: Oswaldo B. Peres e K19 Treinamentos Introdução Projetar software OO reusável e de boa qualidade é uma tarefa difícil; Para realizar essa tarefa

Leia mais

Projeto de software Estrutura do software e arquitetura SWEBOK

Projeto 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 mais

Programação com Objectos. Programação Centrada em Objectos. Home Page. Ano Lectivo 2008/2009 1º Semestre. Objectivos Programa Bibliografia Avaliação

Programação com Objectos. Programação Centrada em Objectos. Home Page. Ano Lectivo 2008/2009 1º Semestre. Objectivos Programa Bibliografia Avaliação Última actualização: 25 de Outubro de 2008 Ano Lectivo 2008/2009 1º Semestre ção com Objectos ção Centrada em Objectos Docente: Paulo Leocádio Web: www.uac.pt/~pleocadio E-mail: pleocadio@uac.pt : Competências:

Leia mais

1Introdução Helder da Rocha (helder@acm.org)

1Introdução Helder da Rocha (helder@acm.org) J930 Padrões Projeto de 1Introdução Helder da Rocha (helder@acm.org) argonavis.com.br O que é um padrão? Maneira testada ou documentada de alcançar um objetivo qualquer Padrões são comuns em várias áreas

Leia mais

English version at the end of this document

English version at the end of this document English version at the end of this document Ano Letivo 2017-18 Unidade Curricular PROGRAMAÇÃO ORIENTADA POR OBJETOS Cursos ENGENHARIA INFORMÁTICA (1.º ciclo) ENGENHARIA ELETRÓNICA E TELECOMUNICAÇÕES (Mestrado

Leia mais

Testes com Design Patterns

Testes com Design Patterns Helder da Rocha (helder.darocha@gmail.com) 31 de março de 2005 71. Que padrão de design pode ser usado para permitir que uma implementação específica e uma hierarquia de abstrações possa variar independentemente?

Leia mais

Padrões de Projeto de Software Orientado a Objetos

Padrõ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 mais

Rossana Andrade Departamento de Computação Universidade Federal do Ceará. O que é? Como?

Rossana Andrade Departamento de Computação Universidade Federal do Ceará. O que é? Como? Rossana Andrade rossana@lia.ufc.br Departamento de Computação Universidade Federal do Ceará Oferecer uma visão geral sobre os conceitos de padrões de software Explicar a terminologia Apresentar exemplos

Leia mais

Sumário. Prefácio 12. Capítulo 1 - Técnicas Simples Para um Código Limpo 23

Sumário. Prefácio 12. Capítulo 1 - Técnicas Simples Para um Código Limpo 23 Prefácio 12 Para quem é esse livro? 13 Objetivos do livro 13 Por que Engenharia de Software? 14 Como esse livro está escrito 16 Perguntas 16 Código em texto corrido 16 Caixas de código 16 Caixas com conteúdo

Leia mais

J930. Padrões. Projeto. Introdução. argonavis.com.br. Helder da Rocha (helder@acm.org)

J930. Padrões. Projeto. Introdução. argonavis.com.br. Helder da Rocha (helder@acm.org) Padrões de J930 Projeto Introdução Helder da Rocha (helder@acm.org) argonavis.com.br O que é um padrão? Maneira testada ou documentada de alcançar um objetivo qualquer Padrões são comuns em várias áreas

Leia mais

Soluções reutilizáveis para situações ou problemas encontrados comumente em desenvolvimento de software orientado a objetos.

Soluçõ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 mais

Agenda da Aula. Arquitetura de Software e Padrões Arquiteturais. Elementos de um Padrão. Arquitetura de Software. Arquitetura de Software

Agenda da Aula. Arquitetura de Software e Padrões Arquiteturais. Elementos de um Padrão. Arquitetura de Software. Arquitetura de Software Reuso de Software Aula 04 Agenda da Aula Arquitetura de Software e Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 14 Março 2012 Arquitetura de Software Padrões arquiteturais

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 05 Padrões GoF (Singleton e Iterator) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method Prototype

Leia mais

Tópicos Especiais em Informática Fatec Indaiatuba

Tópicos Especiais em Informática Fatec Indaiatuba Prof. Dr. Dilermando Piva Jr. Fatec Indaiatuba O que tem a ver isso com Programação? Imagine que uma pessoa tenha aprendido diversas técnicas de pintura. A partir desse conhecimento, ela saberá como pegar

Leia mais

Programação Orientada a Objetos. Padrões Estruturais

Programação Orientada a Objetos. Padrões Estruturais Programação Orientada a Objetos Padrões Estruturais Cristiano Lehrer, M.Sc. Classificação dos Padrões de Projeto Propósito o que o padrão faz: Padrões de criação: abstraem o processo de criação de objetos

Leia mais

Design Patterns. Viviane Torres da Silva viviane.silva@ic.uff.br. http://www.ic.uff.br/~viviane.silva/2012.1/es1

Design Patterns. Viviane Torres da Silva viviane.silva@ic.uff.br. http://www.ic.uff.br/~viviane.silva/2012.1/es1 Design Patterns Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/2012.1/es1 Sumário Reuso de Software Introdução Benefícios e Desvantagens Visão do Reuso Padrões de Projeto

Leia mais

Padrões Comportamentais. Padrões de Projeto Comportamentais. Motivação. Chain of Responsibility (CoR) Padrão Chain of Responsibility

Padrões Comportamentais. Padrões de Projeto Comportamentais. Motivação. Chain of Responsibility (CoR) Padrão Chain of Responsibility DCC / ICEx / UFMG Padrões Comportamentais Padrões de Projeto Comportamentais Command Observer Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Interpreter Iterator Memento Strategy Template Method

Leia mais

Prof. Dr. Dilermando Piva Jr. Fatec Indaiatuba

Prof. Dr. Dilermando Piva Jr. Fatec Indaiatuba Prof. Dr. Dilermando Piva Jr. Fatec Indaiatuba Imagine que uma pessoa tenha aprendido diversas técnicas de pintura. A partir desse conhecimento, ela saberá como pegar um pincel, como misturar as cores

Leia mais

O USO DOS PADRÕES DE PROJETO GOF NA ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

O USO DOS PADRÕES DE PROJETO GOF NA ANÁLISE E DESENVOLVIMENTO DE SISTEMAS O USO DOS PADRÕES DE PROJETO GOF NA ANÁLISE E DESENVOLVIMENTO DE SISTEMAS Revista UNILUS Ensino e Pesquisa v. 13, n. 30, jan./mar. 2016 ISSN 2318-2083 (eletrônico) Claudio Costa Matos Graduando no curso

Leia mais

Tó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. 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 mais

Atividades de Projeto. Arquitetura de Software. Arquitetura. Projeto da Arquitetura de Software. O que é arquitetura de Software?

Atividades de Projeto. Arquitetura de Software. Arquitetura. Projeto da Arquitetura de Software. O que é arquitetura de Software? de Software Silvia Regina Vergilio Atividades de Projeto Projeto Geral ou Preliminar: fase que traduz a especificação do sistema em termos da arquitetura de dados e de módulos. Descreve a organização fundamental

Leia mais

Objetivo do Curso. Modelagem/Arquitetura de Software. Enfoque do Curso. Conteúdo do Curso

Objetivo do Curso. Modelagem/Arquitetura de Software. Enfoque do Curso. Conteúdo do Curso Objetivo do Curso Modelagem/Arquitetura de Software Thaís Vasconcelos Batista Apresentar as tendências atuais para desenvolvimento de aplicações baseadas em, oferecendo uma visão conjunta das tecnologias

Leia mais

Abstract Factory Builder Factory Method Prototype Singleton Adapter Bridge Composite Decorator Facade Flyweight Proxy

Abstract Factory Builder Factory Method Prototype Singleton Adapter Bridge Composite Decorator Facade Flyweight Proxy Abstract Factory Builder Factory Method Prototype Singleton Adapter Bridge Composite Decorator Facade Flyweight Proxy Chain of Responsibility Command Interpreter Iterator Mediator Memento Observer State

Leia mais

Arquitectura de Sistemas de Software

Arquitectura de Sistemas de Software Arquitectura de Sistemas de Software Ademar Aguiar www.fe.up.pt/~aaguiar ademar.aguiar@fe.up.pt Seminários Arquitectura LEIC, de 30 Sistemas de Outubro de Software, de 2002 LEIC/MEI, 2003/2004 1 Abstract

Leia mais

Padrões de Software (Software Patterns)

Padrões de Software (Software Patterns) Padrões de Software (Software Patterns) Cleidson de Souza - cdesouza@ufpa.br Departamento de Informática Universidade Federal do Pará Agenda! Definição! Histórico! Motivação! Exemplo Estratégia MVC! Forma

Leia mais

Exemplos em Go e Python ALÉM DOS PARADIGMAS. Entenda as características da linguagem e saiba escolher e adaptar padrões de projeto

Exemplos em Go e Python ALÉM DOS PARADIGMAS. Entenda as características da linguagem e saiba escolher e adaptar padrões de projeto Exemplos em Go e Python ALÉM DOS PARADIGMAS Entenda as características da linguagem e saiba escolher e adaptar padrões de projeto Luciano Ramalho @ramalhoorg Sometimes you need a blank template. 2 FLUENT

Leia mais

Definindo um padrão para arquitetura Web

Definindo um padrão para arquitetura Web Definindo um padrão para arquitetura Web Padrões de Projeto Soluções reutilizáveis para situações ou problemas encontrados comumente em desenvolvimento de software orientado a objetos. Livros Design Patterns:

Leia mais

SERVIÇO PÚBLICO FEDERAL UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO DE CIÊNCIAS DA SAÚDE PROGRAMA DE MESTRADO PROFISSIONAL EM INFORMÁTICA EM SAÚDE

SERVIÇO PÚBLICO FEDERAL UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO DE CIÊNCIAS DA SAÚDE PROGRAMA DE MESTRADO PROFISSIONAL EM INFORMÁTICA EM SAÚDE PLANO DE ENSINO Disciplina INS 310008: Análise de sistemas e UML Professor Responsável: Dra Raul Sidnei Wazlawick Créditos: (02 CRÉDITOS 30HS) Semestre: 2018-2 1. Ementa Geral Introdução a orientação a

Leia mais

Modelagem/Arquitetura de Software

Modelagem/Arquitetura de Software Modelagem/Arquitetura de Software Thaís Vasconcelos Batista Objetivo do Curso Apresentar as tendências atuais para desenvolvimento de aplicações baseadas em componentes, oferecendo uma visão conjunta das

Leia mais

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1636 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 mais

Padrões de Projeto de Software

Padrõ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 mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 06 Padrões GoF (Factory Method e Abstract Factory) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method

Leia mais

Academia Programador de Aplicações JAVA

Academia Programador de Aplicações JAVA Academia Programador de Aplicações JAVA Formato do curso: Presencial e Live Training Com certificação: Oracle Certified Associate Preço: mensal, desde 253 Duração: 210 horas Este percurso é destinado a

Leia mais

Fábio Amado João Maio 33306

Fábio Amado João Maio 33306 Fábio Amado 33637 João Maio 33306 Universidade de Aveiro Especificação, Modelação e Projecto de Sistemas Embutidos 21-11-2009 1. UML - o que é? 2. A Natureza dos Sistemas Embutidos 1. Heterogeneidade 2.

Leia mais

Design Patterns na Geração de Código

Design Patterns na Geração de Código Design Patterns na Geração de Código Guarda, 28 Maio 2003 João Macedo Cunha jcunha@quatrosi.com Design Patterns Software Engenieering Necessidade Conhecimento do Domínio Experiência Contexto Arquitectura

Leia mais

Introdução aos Padrões de Projeto. Sylvio Barbon Jr

Introduçã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 mais

Programação com Objectos

Programação com Objectos Programação com Objectos PADRÕES DE DESENHO Classificaçã Objectivo Criação Estrutura Comportamento Introdução Alguns Padrões de Desenho Classe Factory Method Adapter Interpreter Template Method O que é

Leia mais

PROJETO DE ARQUITETURA

PROJETO DE ARQUITETURA PROJETO DE ARQUITETURA Projeto Detalhado de Software (PDS) Profa. Cynthia Pinheiro Antes de mais nada... Próximas aulas: Seminários de Padrões de Projeto GoF 1º Dia: 10/11/2017, 08h 10h, Sala 04 2º Dia:

Leia mais

SERVIÇO PÚBLICO FEDERAL UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO DE CIÊNCIAS DA SAÚDE PROGRAMA DE MESTRADO PROFISSIONAL EM INFORMÁTICA EM SAÚDE

SERVIÇO PÚBLICO FEDERAL UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO DE CIÊNCIAS DA SAÚDE PROGRAMA DE MESTRADO PROFISSIONAL EM INFORMÁTICA EM SAÚDE PLANO DE ENSINO Disciplina (INS310008): Análise de Sistemas e UML Professor Responsável: Raul Sidnei Wazlawick Créditos: (02 CRÉDITOS 30HS) Semestre: 2017-2 1. Ementa Geral Introdução a orientação a objetos

Leia mais

Visões Arquiteturais. Arquitetura de Software Thaís Batista

Visões Arquiteturais. Arquitetura de Software Thaís Batista Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 08 Padrões GoF (Observer e Builder) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method Prototype Singleton

Leia mais

Introdução ao Catalysis

Introdução ao Catalysis Introdução ao Catalysis Tópicos Avançados de Engenharia de Software João Bosco jbapf@cin.ufpe.br Roteiro Dificuldades Motivação Componentes Desenvolvimento Baseado em Componentes (DBC) Catalysis jbapf@cin.ufpe.br

Leia mais

Padrões de Software (Software Patterns)

Padrões de Software (Software Patterns) Padrões de Software (Software Patterns) Cleidson de Souza - cdesouza@ufpa.br Departamento de Informática Universidade Federal do Pará Agenda! Definição! Histórico! Considerações! Forma de um Padrão! Exemplo!

Leia mais

UNIVERSIDADE DO SUL DE SANTA CATARINA RÔMULO VIEIRA DA SILVA EXEMPLO DE APLICAÇÃO DOS PADRÕES DE PROJETO GOF PARA A ESPECIFICAÇÃO DE SIGAD

UNIVERSIDADE DO SUL DE SANTA CATARINA RÔMULO VIEIRA DA SILVA EXEMPLO DE APLICAÇÃO DOS PADRÕES DE PROJETO GOF PARA A ESPECIFICAÇÃO DE SIGAD UNIVERSIDADE DO SUL DE SANTA CATARINA RÔMULO VIEIRA DA SILVA EXEMPLO DE APLICAÇÃO DOS PADRÕES DE PROJETO GOF PARA A ESPECIFICAÇÃO DE SIGAD Florianópolis 2015 RÔMULO VIEIRA DA SILVA EXEMPLO DE APLICAÇÃO

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Curso: Engenharia de Software Arquitetura de Software Prof.: Fabrízzio A A M N Soares Aula 1 - Apresentação Ementa Definição de arquitetura de software. Importância e impacto

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 07 Padrões GoF (Command e Template Method) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method Prototype

Leia mais

Arquitetura de Software

Arquitetura de Software Arquitetura de Software Ponte entre os requisitos do sistema e sua implementação Requisitos do Sistema Arquitetura Arquiteto(s) Implementação do Sistema Arquitetura de Software (AS) Abstração que ajuda

Leia mais