Arquitectura de Sistemas de Software
|
|
- Jerónimo Palma de Andrade
- 5 Há anos
- Visualizações:
Transcrição
1 Ou um prédio de 6 andares... Arquitectura de Sistemas de Software Ademar Aguiar ademar.aguiar@fe.up.pt Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Arquitectar uma pequena cabana parece-nos fácil... Ou um arranha-céus de 452 metros de altura... Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Menos fácil será arquitectar uma casa... 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/ Arquitectura de Sistemas de Software, LEIC/MEI, 2003/
2 Arquitectura & Engenharias tradicionais Uma Definição 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 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/ 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 (LEIC MEI)/AS Arquitecturas de Sistemas de Software Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Níveis de Desenho de Software Pré-requisitos Arquitectura Código-fonte módulos interligações algoritmos estruturas de dados Que módulos? Como os interligar? Que estruturas de dados? Que algoritmos? Que gestão de memória? Que instruções utilizar? Mínimos Conhecimentos de engenharia de software Conhecimentos de orientação por objectos Preferenciais Experiência de programação OO (Java ou C++ ou...) Conhecimentos de UML Executável pilhas de rotinas alocação de registos código-máquina Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Arquitectura de Sistemas de Software, LEIC/MEI, 2003/
3 Objectivos Estilos de Arquitectura Ensinar a desenhar, compreender e avaliar arquitecturas de sistemas de software, tanto ao nível de macroarquitectura como de micro-arquitectura Familiarizar os alunos com os conceitos fundamentais de arquitectura de software: as propriedades e aplicabilidade dos diferentes estilos de arquitectura existentes os padrões de desenho mais populares componentes de software arquitecturas reutilizáveis e as relações destes conceitos todos com a reutilização de software Pipes & Filters Object-orientation Event-based Layered Systems Repositories Interpreters Process Control... Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Capacidades Exemplos do Estilo Layered System Arquitectura de Software Reconhecer os principais estilos de arquitectura existentes para sistemas de software. Descrever uma arquitectura de forma precisa. Idealizar diferentes arquitecturas alternativas para resolver um mesmo problema e avaliar de forma justificada qual a melhor, quer em termos de desenho, quer em termos de reutilização. Micro-arquitecturas: design patterns Reconhecer e compreender diversos padrões de desenho. Conhecer e aplicar diversos métodos e técnicas de reutilização de software. Macro-arquitecturas: frameworks Construir um sistema de software de média dimensão de acordo com uma especificação de requisitos e uma especificação de arquitectura, seleccionando e aplicando padrões de desenho e utilizando um método de desenvolvimento baseado em componentes. Utilizar definições e ferramentas de desenvolvimento existentes para tornar mais expedita a realização das tarefas anteriores. 2 camadas 3 camadas mais camadas Graphical User Interface Relational Database Graphical User Interface Business Object Model Relational Database Graphical User Interface Business Object Model Relational Database Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Conteúdos Questões Noções fundamentais Estilos clássicos de arquitectura Micro-arquitecturas: design patterns Macro-arquitecturas: frameworks Técnicas e ferramentas Quais são os estilos de arquitectura mais utilizados no desenvolvimento de sistemas de software? O que é um estilo de arquitectura e que propriedades cada estilo tem? Que aplicações são mais adequadas a cada um dos estilos? Qual a vantagem de conhecer os diversos estilos? Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Arquitectura de Sistemas de Software, LEIC/MEI, 2003/
4 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. Solução: Implementar um mecanismo de propagação de alterações entre o objecto fornecedor de informação - subject - e os objectos que dela dependem - os observers. Os observers podem ser registados dinamicamente com este mecanismo. Sempre que o subject altera a sua informação, inicia o mecanismo de propagação de alterações para repor a consistência com todos os observers registados. As alterações podem ser propagadas invocando uma função comum a todos os observers. Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Exemplo: : estrutura e exemplo Pretende-se visualizar um conjunto de dados (modelo) através de duas formas distintas (vistas) que estejam sempre coerentes com o modelo. 60 Vistas (observers) Modelo (subject) 20, 30, 40, Trim. Trim. Subject applicationdata propagatechange() attach() detach() setdata() getdata() class Modelo { // colecção de vistas registadas private Vector vistas; // registar novos observers public attach (Vista vista) { vistas.add(vista); // anular registo de observers existentes public detach(vista vista) { vistas.remove(vista); public propagatechange() { Iterator iterator = vistas.iterator(); while(iterator.hasnext()) iterator.next().update(); observers * update() service() interface Vista { public void update(); public class VistaTipoPie implement Vista {... public void update() { public class VistaTipoBarras implement Vista {... public void update() { Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ : colaborações Nome: [Buschmann96] Contexto Um objecto utiliza informação fornecida por outro objecto. Problema A alteração de informação interna a um objecto pode introduzir inconsistências em eventuais objectos que com ele cooperam. Para manter a consistência, é necessário estabelecer um mecanismo de troca de informação entre eles. Forças O objecto fornecedor de informação não pode depender dos detalhes internos dos objectos que com ele cooperam. Os objectos observadores que dependem da informação do objecto fornecedor podem não ser todos conhecidos a priori. Os objectos observadores podem reagir de forma diferente a uma mesma alteração de informação do objecto fornecedor. anobject asubject : an1 : Subject attach(me) changedata update( ) getdata1 update( ) an2 : attach(me) getdata2 Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Arquitectura de Sistemas de Software, LEIC/MEI, 2003/
5 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,, State, Strategy,Template Method,Visitor, Master-Slave, Publisher-Subscriber, Blackboard, Reactor, Reflection, 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 Callbacks Hooks Plugins... Framework code Framework code Application Code 1 Application Code 3 Application Code 2 Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Questões O que é um padrão de software? Quais são os padrões de software mais populares? Aplicação Framework Aplicacional Diversos componentes Como se utilizam os padrões de software? Como se documenta um padrão de software? 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/ Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Frameworks Orientadas por Objectos Exemplo: JUnit Definição An object-oriented framework consists of a collection of cooperating classes, both abstract and concrete, that embody an abstract design for solutions to a family of related problems [Gamma et al. 1995]. Frameworks fornecem uma solução inicial para um problema cuja solução normalmente requer muito tempo para desenvolver de raiz. Framework para testes unitários JUnit é uma framework open source em Java para testes unitários utilizada para escrever e executar testes repetitivos. É uma instância da arquitectura xunit para teste. As frameworks são macro-arquitecturas Macro-arquitecturas que interligam diversos padrões e que também incluem normalmente a infraestrutura que suporta a sua integração. As frameworks possuem partes inalteráveis e partes configuráveis pelo utilizador através de mecanismos de herança (white-box) e/ou composição (black-box). Exemplos populares: MacApp, MVC, NEXTSTEP, MFC, J2EE (Swing, Enterprise JavaBeans,...), SanFrancisco, JUnit,.NET, Struts, etc. Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Arquitectura de Sistemas de Software, LEIC/MEI, 2003/
6 Componentes da disciplina Aulas teórico-práticas 12 aulas x 3 horas = 36 horas Apresentação de conhecimentos teóricos Estudo de casos Desenvolvimento de projectos: OO + UML + documentação. - Grupos de 3-4 elementos - projectos análise, documentação, desenho, ou implementação de arquitecturas. Sessões de atendimento colectivas 12 sessões x 1-3 horas = horas Diagnóstico & Caracterização Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Bibliografia Tecnologias 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. Linguagens de programação C, Pascal C++, Java, C# Programação Orientada por objectos Herança, polimorfismo, associação dinâmica, templates/hooks Análise e desenho OO Booch, OMT, UML Padrões de software GoF, POSA Arquitecturas comerciais J2EE.NET CORBA MacApp Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Avaliação Avaliação distribuída sem exame final. Componentes de Avaliação. 4 questões teóricas para desenvolvimento individual (até 1 página A4) fora de aulas e avaliação do tipo Satisfaz/Não satisfaz.. 1 teste individual com consulta, duração de 90 minutos, a meio do semestre. 1 projecto semestral em grupo para desenvolvimento de uma arquitectura. Avaliação quantititiva individual pelos docentes. Nota Final (Questões x 20%)+(Teste x 20%)+(Projecto x 50%) + (Avaliação x 10%) Questões? Arquitectura de Sistemas de Software, LEIC/MEI, 2003/ Arquitectura de Sistemas de Software, LEIC/MEI, 2003/
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 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 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, 2004/2005 1 Arquitectar... Arquitectar uma pequena cabana
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 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 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 Frameworks orientadas por objectos Arquitectura
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 Revisões Arquitectura de Sistemas de Software,
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 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 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 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 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 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 maisPadrões, Frameworks e Arquitecturas. Ademar Aguiar. MRSC, Programação em Comunicações
Padrões, Frameworks e Arquitecturas www.fe.up.pt/~aaguiar ademar.aguiar@fe.up.pt 1 Objectivos Dar uma visão geral sobre as principais abordagens para a reutilização de software, ao nível de desenho. Apresentar
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 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 mais" ##$#$!% # & #$#$ !!!!"!
" ##$#$!% # & #$#$ Abstract Factory, Builder, Singleton, Factory Method, Prototype, Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy, Chain of Responsability, Command, Interpreter, Iterator,
Leia maisSoftware Patterns: uma Forma de Reutilizar Conhecimento
Seminário Software Patterns: uma Forma de Reutilizar Conhecimento por Ademar Aguiar FEUP e INESC Porto ademar.aguiar@fe.up.pt FEUP/DEEC, 26 de Maio de 2000 FEUP e INESC Porto, 2000 Patterns - 1 Objectivos
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 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 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 maisArquitetura 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 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 maisDesign 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 maisRoni 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 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 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 maisLaboratório de Engenharia de Software
Laboratório de Engenharia de Software FEUP/LEIC - Licenciatura em Engenharia Informática, 2005/06 Ademar Aguiar ademar.aguiar at fe.up.pt João Correia Lopes jlopes at fe.up.pt Francisco Reinaldo reifeup
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 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 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 maisLaborató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 maisTó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 maisTó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 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 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 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 maisEnglish 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 maisAná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 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 maisAcademia 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 maisb) 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 maisDomain Logic Patterns. Pedro Lemos N.º Arquitecturas de Software LEIC
Pedro Lemos N.º 49467 pcml@rnl.ist.utl.pt Arquitecturas de Software 2004 - LEIC Outline da Apresentação 1. Introdução e Motivação de Padrões de Software 2. Padrões Arquitecturais para Aplicações Empresariais
Leia maisEnglish 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 maisAgenda 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 maisAná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 maisPadrõ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 maisAná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 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 maisDesenho de Software. Sumário
(QJHQKDULDGD3URJUDPDomR Desenho de Software Carla Ferreira Carla.Ferreira@dei.ist.utl.pt Sumário Objectivos Problemas Qualidades Técnicas Avaliação e Validação Casos Notáveis Exemplo Conclusões Desenho
Leia maisTecnologias 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 maisMó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 maisProgramaçã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 maisProgramação em Comunicações. Programação Orientada por Objectos. Ademar Aguiar.
Programação em Comunicações Programação Orientada por Objectos www.fe.up.pt/~aaguiar ademar.aguiar@fe.up.pt 1 Objectivos Apresentar os princípios e conceitos base sobre orientação por objectos (objectos,
Leia maisUFG - 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 maisPadrões Arquiteturais. Silvia Regina Vergilio
Padrões Arquiteturais Silvia Regina Vergilio Exemplo de Padrão Arquitetural: MVC + call Observer update() Model coredata setofobservers attach() detach() notify() getdata() service() +attach get View mymodel
Leia maisUML (Unified Modelling Language)
UML (Unified Modelling Language) Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Booch, G. et al. The Unified Modeling Language User Guide
Leia maisModelagem/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 maisAná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 maisDefinindo 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 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: DESIGN PATTERNS
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,
Leia maisDesign 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 maisTó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 maisPrograma Analítico de Disciplina INF323 Engenharia de Software II
0 Programa Analítico de Disciplina Departamento de Informática - Centro de Ciências Exatas e Tecnológicas Número de créditos: Teóricas Práticas Total Duração em semanas: 15 Carga horária semanal 0 Períodos
Leia maisDesenvolvimento Dirigido por Modelos: Ferramentas
DCC / ICEx / UFMG Desenvolvimento Dirigido por Modelos: Ferramentas Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Existe MDD na prática? Poucos sistemas ainda são desenvolvidos usando a filosofia
Leia maisProf. 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 maisAtividades 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 maisObjetivo 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 maisCurso - 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 maisConceitos de Programação Orientada por Objectos. Rui Camacho Programação 2
Conceitos de Programação Orientada por Objectos Um Problema Problema: Existem, hoje em dia, aplicações complexas e de grande dimensão que é preciso desenvolver e manter de modo eficiente utilizando equipas
Leia maisPROJETO 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 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 maisSERVIÇ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 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 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 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 maisSISMO - Sistemas e Mobilidade Departamento de Informática / UFMA. Junho de 2008
Introdução SISMO - Sistemas e Mobilidade http://www.sismo.deinf.ufma.br Departamento de Informática / UFMA Junho de 2008 Compõem uma disciplina da Engenharia de Software voltada para a resolução de problemas
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 maisAmbientes de Desenvolvimento Avançados
Ambientes de Desenvolvimento Avançados http://www.dei.isep.ipp.pt/~jtavares/adav Aula 1 Engenharia Informática 2006/2007 José António Tavares jrt@isep.ipp.pt 1 Aula de Apresentação e de Introdução 2 1
Leia maisSERVIÇ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 maisPrincí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 maisEngenharia da Programação
Engenharia da Programação LEIC 4º ano, 1º Semestre, ano lectivo de 2002-03 2º Exame (o exame é composto por 10 perguntas (1-10) cotadas com 1 valor cada) Data: 8 de Fevereiro de 2003 Duração Exame: 1h30
Leia maisO 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 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 maisUNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular PROGRAMAÇÃO AVANÇADA Ano Lectivo 2013/2014
Programa da Unidade Curricular PROGRAMAÇÃO AVANÇADA Ano Lectivo 2013/2014 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Engenharia Informática 3. Ciclo de Estudos 1º 4. Unidade
Leia maisMo#vação. Objec#vo. Estudar uma abordagem de desenvolvimento de so9ware orientada pelos objectos. Linguagens usadas: UML (Unified Modeling Language)
Mo#vação Esta disciplina mostra como construir um bom alicerce para desenvolver so9ware orientado pelos objectos Ensina técnicas de análise e desenho para ajudar a produzir so9ware orientado pelos objectos
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 maisArquitectura 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 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 maisEngenharia de Software
UNIVERSIDADE DE LISBOA INSTITUTO SUPERIOR TÉCNICO Engenharia de Software LEIC/LETI, 3 o Ano, 2 o Semestre 1 o Teste, 4 de Abril de 2017 Duração: 60 minutos Nome: Número: Este teste tem um conjunto de 8
Leia mais