PADRÕES DE SOFTWARE. Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade. Grupo de Padrões de Software da UECE (GPS.
|
|
- Ísis Belmonte Corte-Real
- 8 Há anos
- Visualizações:
Transcrição
1 PADRÕES DE SOFTWARE 1 Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade Grupo de Padrões de Software da UECE (GPS.UECE) Julho-2009
2 CONTEÚDO Introdução aos Padrões de Software O quê são padrões? Áreas de Atuação e Tipos de Padrões Padrões de Projeto GOF Introdução Classificação Detalhamento Padrões Arquiteturais POSA Classificação Detalhamento Considerações Finais Referências 2
3 PADRÕES DE PROJETOS - GOF Padrões que provêem soluções para refinar os subsistemas ou componentes do software ao nível de projeto, bem como o relacionamento entre eles. Descrevem aspectos do projeto do software, como objetos, classes, herança, agregação, entre outros. 3 Tópicos desta seção: Introdução Classificação Detalhamento dos 23 padrões de Projeto
4 Padrões de Projeto - Introdução Provenientes do Livro: Design Patterns: Elements of Reusable Object-Oriented Software Gang of Four Conceito [Gamma et. al.] Descrição de objetos de comunicação e classes que são customizados para resolver um problema geral de design em um contexto particular 4
5 Padrões GoF Como Surgiu? História Tese de Doutorado do Erick Gamma Projeto OO Framework ET++ Conferência ECOOP/OOPSLA em 1991 Erick Gamma conheceu Richard Helm, Ralph Johnson e John Vlissides. Formaram o Gang Of Four GoF Publicaram na ECOOP 93 o artigo: Design Patterns: Abstraction and Reuse of Object-Oriented Design; Surgiu o Livro de Design Patterns; 5
6 Padrões de Projeto - Introdução Projetando software orientado a objetos Projetar software OO não é uma tarefa muito simples. Mais difícil ainda é desenvolver de forma a torná-los reutilizáveis em outras situações; Esses pedaços reutilizáveis de software podem ser considerados um patrimônio; Podem reduzir o custo/tempo de desenvolvimento de novos sistemas. 6
7 Padrões de Projeto - Introdução Criar componentes reutilizáveis requer mais tempo (e dinheiro) do que soluções que resolvem o problema de imediato; É necessário que projetemos pensando no futuro, ou seja, tentando criar situações onde esses componentes possam ser reutilizados; Às vezes, acabamos introduzindo características desnecessárias no momento, mas que podem ser úteis futuramente. 7
8 Padrões de Projeto - Introdução Os Padrões de Projeto (Design Patterns) ajudam a criar software mais flexível e reutilizável; Permitem entender de forma mais fácil a solução aplicada, caso se conheça o Padrão de Projeto que foi aplicado; Padrões de Projeto ajudam o projetista a chegar de forma mais rápida a um projeto correto, ou seja, um projeto que possua a flexibilidade e o nível de reutilização desejados. 8
9 O que é Padrão de Projeto? Cada padrão descreve um problema que ocorreu várias vezes e o cerne da solução para aquele problema, de forma que essa solução possa ser reutilizada milhões de vezes em situações diferentes; Descrevem objetos, classes, herança, agregação, etc. Encontram-se padrões de projeto no livro do GoF [Gamma et.al 1995] 9
10 O que é Padrão de Projeto? É algo que descreve soluções simples e elegantes para problemas específicos no projeto de software orientado a objetos; Refletem a experiência de diversos desenvolvedores na abordagem de certos tipos de problema. 10
11 O que é Padrão de Projeto? Podem ser implementados em linguagens OO comuns Há linguagens que se adaptam melhor a um Padrão de Projeto e acabam exigindo menos esforço para implementá-lo. 11
12 Como os Padrões de Projeto resolvem os Problemas Muitos dos objetos existentes na fase de Projeto são oriundos da fase de Análise. Os Padrões de Projeto ajudam a encontrar os objetos apropriados porque definem estruturas, relacionamentos e dependências que devem existir para solucionar o problema. 12
13 Como os Padrões de Projeto resolvem os Problemas Uma das tarefas mais difíceis é decompor o sistema em objetos da forma mais apropriada; Também é importante considerar a distribuição dos dados e métodos entre os objetos de forma a respeitar critérios como: granularidade, encapsulamento, dependência, flexibilidade, desempenho, evolução e reusabilidade. É difícil atingir uma concordância total sobre esta decomposição; 13
14 Como os Padrões de Projeto resolvem os Problemas Especificando a interface dos objetos Os objetos são conhecidos através da sua interface. É através dela que se pode saber quais são os métodos disponíveis e como chamá-los; Uma interface não define a implementação de cada método. Isso permite que haja várias implementações para uma mesma interface. 14
15 Como os Padrões de Projeto resolvem os Problemas Padrões de Projeto ajudam a planejar as interfaces pois através deles é possível prever quais são os dados que podem ser obtidos e devem ser passados através de cada interface; Especificando implementações de objetos Alguns Padrões de Projeto definem o comportamento de certos objetos (reutilização); Outros permitem que o comportamento seja modificado (flexibilidade na troca de implementações); 15
16 Como os Padrões de Projeto resolvem os Problemas Projetando para reutilizar Padrões de Projeto permitem escolher antecipadamente quais pontos do sistema aceitam mudanças mais facilmente; Evitam modificar o projeto original, possivelmente afetando os clientes existentes; 16
17 Padrões de Projeto Existem inúmeros Padrões de Projeto; Os mais conhecidos são os do GoF Gang of Four; 17
18 Classificação dos Padrões de Projeto segundo GoF 18
19 Classificação segundo GoF Propósito: reflete o que o padrão faz. Criação: remete ao processo de criação de objetos; Estrutura: composição de classes ou objetos; Comportamento: como as classes e objetos interagem e distribuem as responsabilidades; Escopo: corresponde a classes ou objetos; Classe: relacionamentos entre classes e subclasses. Esse relacionamento é feito através de herança e são estáticos; Objeto: relacionamentos entre objetos. São mais dinâmicos e mudam em tempo de execução; 19
20 Padrão Factory Method Classificação: Padrão de Classe; Permite que se crie uma interface comum para uma família de objetos. Esta característica faz com que a responsabilidade de se criar os objetos concretos seja transferida para as classes derivadas. Este padrão é útil quando não é possível saber inicialmente que tipos de objetos serão criados na aplicação; Permite que uma classe delegue a responsabilidade de criação para outra classe; 20
21 Padrão Factory Method Problema O acesso a um objeto concreto será através da interface conhecida através de sua superclasse, mas o cliente também não quer ou não pode saber qual implementação concreta está usando. 21
22 Padrão Factory Method 22
23 Padrão Factory Method 23
24 Padrão Factory Method O método getcarro(), é o método factory que recebe um parâmetro (tipo) e retorna uma instância da classe Carro, representado no diagrama por :carro 24
25 Padrão Factory Method Estrutura 25
26 Padrão Factory Method Participantes Creator: declara o factory method (método de fabricação) que retorna o objeto da classe Product (produto). Este elemento também pode definir uma implementação básica que retorna um objeto de uma classe ConcreteProduct (produto concreto) básica; ConcreteCreator: sobrescreve o factory method e retorna um objeto da classe ConcreteProduct; Product: define uma interface para os objetos criados pelo factory method; ConcreteProduct: uma implementação para a interface Product. 26
27 Padrão Factory Method Aplicabilidade Quando uma classe não pode antecipar ou conhecer a classe dos objetos que deve criar; Quando uma classe quer suas subclasses para especificar os objetos que cria; Quando classes delegam responsabilidade à alguma das várias subclasses ajudantes, e deseja-se localizar qual é a subclasse ajudante acessada. 27
28 Padrão Factory Method Conseqüências Elimina a necessidade de acoplar classes específicas para aplicação em nível de código,na programação, lida-se apenas com a superclasse ou interface Dá maior flexibilidade para as classes criar objetos numa classe que possui o método-fábrica é sempre mais flexível que fazê-lo. 28
29 Código Factory Method Exemplo... 29
30 Padrão Abstract Factory Classificação: Padrão de Objeto; Criar uma família de objetos relacionados ou dependentes sem especificar suas classes concretas; O padrão Abstract Factory está a um nível de abstração maior do que o padrão Factory Method. Pode retornar uma das muitas classes de objetos relacionados, ou seja, diferentes objetos; O padrão Abstract Factory é uma fábrica de objetos que retorna uma das várias fábricas. 30
31 Padrão Abstract Factory 31
32 Padrão Abstract Factory FábricaAbstrata: declara uma interface para operações que criam produtos abstratos; FábricaConcreta: implementa as operações que criam produtos concretos; ProdutoAbstrato: declara uma interface para um tipo de produto; ProdutoConcreto: define um produto a ser criado pela fábrica concreta correspondente; implementa a interface de ProdutoAbstrato; Cliente: usa somente interfaces declaradas pelas classes FábricaAbstrata e ProdutoAbstrato; 32
33 Padrão Abstract Factory 33
34 Padrão Abstract Factory Exemplo: Criação de diferentes mundos de animais para um jogo de computador. 34
35 Padrão Abstract Factory 2º Exemplo: 35
36 Padrão Abstract Factory Aplicabilidade Situações em que um sistema deve ser independente da maneira como seus produtos são criados, relacionados e representados; Quando é necessária uma configuração utilizando uma das várias famílias de produtos; No fornecimento de uma biblioteca de classes de produtos, e deve-se revelar apenas suas interfaces ou superclasses, e não suas implementações ou subclasses. 36
37 Padrão Abstract Factory Conseqüências Isola as classes concretas (subclasses ou implementações) das suas famílias e da fábrica abstrata ; Maior agilidade para alternar entre diferentes famílias de produtos; Maior segurança para trabalhar com produtos de uma mesma família; Dificuldade em suportar novos tipos de produtos. 37
38 Padrão Abstract Factory Padrões Relacionados Factory Method Singleton: uma fábrica concreta é um singleton; Prototype: pode ser implementado. 38
39 Código Abstract Factory Exemplo... 39
40 Padrão Builder Classificação: Padrão de Objeto; Separar a construção de um objeto complexo de sua representação para que o mesmo processo de construção possa criar representações diferentes; 40
41 Padrão Builder Problema 1. Cliente necessita de uma casa e passa as informações para o diretor da construtora; 2. Com as informações do cliente, ordena a criação da casa pelo construtor, a partir de uma interface uniforme 4. Quando o produto estiver pronto, o cliente pode obtê-lo diretamente do construtor; 3. O construtor está habilitado para construir qualquer objeto complexo, por exemplo, um prédio 41
42 Padrão Builder 42
43 43
44 Padrão Builder 44
45 Padrão Builder Participantes Director: constrói um objeto utilizando a interface do builder; Builder: especifica uma interface para um construtor de partes do objeto product; ConcreteBuilder: define uma implementação da interface builder; Product: o objeto complexo em construção. 45
46 Padrão Builder Aplicabilidade: Quando um algoritmo para criação de um objeto complexo deve ser independente das partes que o compõem e de como elas são montadas; O processo de construção deve permitir diferentes representações para o objeto construído; 46
47 Padrão Builder Conseqüências: Redução da extensão e da complexidade de uma classe; Independência entre a representação de um objeto e a sua construção; Criação de regras graduais de construção para um objeto; Geração de construções diversificadas de um tipo de objeto. 47
48 Padrão Builder Padrões Relacionados: Abstract Factory; Composite; 48
49 Padrão Builder Exemplo... 49
50 Padrão Prototype Classificação: Padrão de Objeto Especifica os tipos de objetos a serem criados usando uma instância como protótipo e cria novos objetos ao copiar esse protótipo; Cria novas instâncias (clones); 50
51 Padrão Prototype Problema: 51
52 Padrão Prototype O Clone cria uma nova instância; Qualquer modificação no clone, não leva à ocorrência da modificação do objeto original; 52
53 Padrão Prototype 53
54 Padrão Prototype Participantes Prototype: uma classe que declara uma interface para objetos capazes de clonar a si mesmo; PrototypeConcreto: implementação de um prototype; Cliente:cria um novo objeto através de um prototype que é capaz de clonar a si mesmo. 54
55 Padrão Prototype Object.clone() é um ótimo exemplo de Prototype em Java; Círculo c = new Circulo (4,5,6); Círculo copia = (Circulo) c.clone(); 55 [Argonavis]
56 Padrão Prototype Aplicabilidade Quando as classes para instanciação são especificadas em tempo de execução ou carregadas dinamicamente; Para evitar a construção de uma hierarquia de classes-exemplo estritamente especializada ou demasiadamente ligada a um tipo de produto; Quando as instâncias de uma classe podem ter apenas uma ou poucas maneiras de manifestar seu estado. 56
57 Padrão Prototype Consequências Isolamento entre os produtos (subclasses ou implementações) e suas classes; Redução do número de subclasses (com o objeto criador); Este método cria uma cópia exata de um objeto que lhe for passado como parâmetro. Uma cópia exata carrega consigo uma espécie de fotografia do objeto: não apenas seu comportamento é clonado, mas também seu estado. 57
58 Padrão Prototype Exemplo... 58
59 Padrão Singleton Classificação: Padrão de Objeto Permitir que uma classe só tenha uma única instância e prover um ponto de acesso global a ela; Garantir que apenas um objeto exista, independente do número de requisições a ele; Uma classe só terá um instância; 59
60 Padrão Singleton Objeto com acesso privativo Construtor Privativo Ponto de acesso simples, estático e global Não permite criar mais de um objeto 60
61 Padrão Singleton Participantes Singleton: define uma operação Instance que deixa clientes acessarem sua única instância. Instance é uma operação de classe. 61
62 Padrão Singleton Exemplos de Aplicação Único Banco de Dados; Único acesso a arquivo de Log; 62
63 Padrão Singleton 63
64 Padrão Singleton Aplicabilidade Uma única instância de uma classe e esta deve ser acessada a partir de um ponto de acesso bemconhecido; Conseqüências Acesso controlado à instância única; O Singleton tem controle sobre como e quando clientes acessam a instância; O Singleton é melhor que variáveis globais, já que as "globais" podem ser encapsuladas na instância única, deixando um único nome externo visível; Mais flexível que métodos estáticos; 64
65 Padrão Singleton Código Fonte Exemplo... 65
66 Exercício 1 Resolver os exercícios; Cada exercício compõe a nota final do curso. 66
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 maisJ930. 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 mais1Introduçã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 maisPrototype, um Design Patterns de Criação
Prototype, um Design Patterns de Criação José Anízio Pantoja Maia Este artigo tem como finalidade compreender o funcionamento do padrão de projeto prototype, serão abordados os participantes que compõe
Leia maisPadrões de projeto 1
Padrões de projeto 1 Design Orientado Objeto Encapsulamento Herança Polimorfismo Design Patterns 2 Responsabilidades Booch e Rumbaugh Responsabilidade é um contrato ou obrigação de um tipo ou classe. Dois
Leia maisCurso - Padrões de Projeto Módulo 2: Padrões de Criação
Curso - Padrões de Projeto Módulo 2: Padrões de Criaçã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 maisProgramaçã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 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. 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 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 maisPasteur Ottoni de Miranda Junior. Alguns Padrões de Projeto Gamma
Pasteur Ottoni de Miranda Junior Alguns Padrões de Projeto Gamma Padrões Gamma de Projeto(ou Gang-of-Four, gof) Os padrões gof foram publicados por Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides
Leia maisFactory Method. Edeyson Andrade Gomes www.edeyson.com.br
Factory Method Edeyson Andrade Gomes www.edeyson.com.br Agenda Resumo Quando Usar Participantes Colaborações Conseqüências Exemplo Estrutura Genérica Exercício 2 Resumo Ao invés do cliente instanciar objetos
Leia maisUNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação
SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar
Leia maisUML Aspectos de projetos em Diagramas de classes
UML Aspectos de projetos em Diagramas de classes Após ser definido o contexto da aplicação a ser gerada. Devemos pensar em detalhar o Diagrama de Classes com informações visando uma implementação Orientada
Leia maisINF011 Padrões de Projeto. 02 Creational Patterns
INF011 Padrões de Projeto 02 Creational Patterns Sandro Santos Andrade sandroandrade@ifba.edu.br Instituto Federal de Educação, Ciência e Tecnologia da Bahia Departamento de Tecnologia Eletro-Eletrônica
Leia maisDecorator Pattern. SISMO - Sistemas e Mobilidade http://www.sismo.deinf.ufma.br. Junho de 2008. Departamento de Informática / UFMA
Decorator Pattern SISMO - Sistemas e Mobilidade http://www.sismo.deinf.ufma.br Departamento de Informática / UFMA Junho de 2008 Revisando os conceitos Herança é poderosa mas não é flexível Comportamento
Leia maisModelos de Sistema. 2007 by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.
Modelos de Sistema Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1 Objetivos Explicar por que o contexto de um sistema deve ser modelado como parte do processo de RE Descrever
Leia maisPadrões de Projeto. Singleton
Padrões de Projeto Padrões de Criação Singleton Singleton Assegura que uma classe tenha apenas uma instância e provê um ponto de acesso global a ela 2 Livro Texto: Design Pattern - Elements 1 Motivação
Leia maisPadrõ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 maisPROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br
PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 1. Conceitos de Orientação a Objetos Introdução O paradigma da POO Classes
Leia maisDesign 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 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 maisISO/IEC 12207: Gerência de Configuração
ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que
Leia maisPadrões de Desenho (Design Patterns)
Padrões de Desenho (Design Patterns) O que são padrões de desenho Porque são úteis Conhecer alguns padrões 1 Padrões (Patterns) Design Patterns Explained: A New Perspective on Object-Oriented Design, Alan
Leia maisAnálise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem
Leia maisAspectos técnicos do desenvolvimento baseado em componentes
Aspectos técnicos do desenvolvimento baseado em componentes Um novo processo de desenvolvimento O uso de componentes traz mudanças no processo de desenvolvimento Além de desenvolver um produto, queremos
Leia maisENGENHARIA DE SOFTWARE I
ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [cassio.costa@ulbra.br] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis
Leia mais2 Engenharia de Software
20 2 Engenharia de Software 2.1 Design de Sistemas Orientados a Objetos Os Sistemas Orientados a Objetos não são mais novidade hoje em dia já estando há muitos anos no mercado. A orientação a objetos permite
Leia mais2 Diagrama de Caso de Uso
Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa
Leia maisPRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)
RELATÓRIO DE ENTREGA DO PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) PARA A ELABORAÇÃO DOS PLANOS MUNICIPAIS DE GESTÃO INTEGRADA DE RESÍDUOS SÓLIDOS PMGIRS PARA OS MUNICÍPIOS DE NOVO HORIZONTE, JUPIÁ, GALVÃO,
Leia maisPadrões clássicos ou padrões GoF O livro "Design Patterns (1994) de Erich Gamma, John Vlissides, Ralph Jonhson e Richard Helm, descreve 23 padrões de
Padrões de Projeto Disciplina: Engenharia de Software - 2009.1 Professora: Rossana Maria de Castro Andrade Assistente da disciplina: Ricardo Fernandes de Almeida 1 O que é um Padrão? Um padrão descreve
Leia maisConteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo
Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de
Leia maisPadrões. Projeto (Design) de Software
Padrões Projeto de Softwares Categorias de Padrões Processo de Tradução de modelos de análise (isentos de tecnologia, lógicos) para modelos de projeto (development-ready, físicos) Qual a Tecnologia Alvo
Leia maisFrameworks. Pasteur Ottoni de Miranda Junior
Frameworks Pasteur Ottoni de Miranda Junior 1-Definição Apesar do avanço das técnicas de desenvolvimento de software, a construção de software ainda é um processo extremamente complexo.a reutilização tem
Leia maisFeature-Driven Development
FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por
Leia maisProgramação Orientada a Objetos Herança Técnico em Informática. Prof. Marcos André Pisching, M.Sc.
Herança Técnico em Informática, M.Sc. Herança 2 Herança Reutilização de código Exemplo Banco: Um banco oferece diversos serviços que podem ser contratados individualmente pelos clientes. Quando um serviço
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 maisCiclo de Vida Clássico ou Convencional CICLOS DE VIDA DE DESENVOLVIMENTO DE SISTEMAS. Ciclo de Vida Clássico ou Convencional. Enfoque Incremental
CICLOS DE VIDA DE DESENVOLVIMENTO DE SISTEMAS Elicitação Ciclo de Vida Clássico ou Convencional O Modelo Cascata Análise Ana Paula Terra Bacelo Blois Implementação Material Adaptado do Prof. Marcelo Yamaguti
Leia maisPadrão Básico de Projeto: Herança versus Composição
Padrão Básico de Projeto: Herança versus Composição Composição e Herança Composição e herança são dois mecanismos para reutilizar funcionalidade Alguns anos atrás (e na cabeça de alguns programadores ainda!),
Leia maisTOTVS BA Guia de Customização Linha Logix
TOTVS BA Guia de Customização Linha Logix Guia de Customização Sumário Título do documento 1. Objetivo... 3 2. Introdução... 3 3. Customização... 3 2 TOTVS BA Linha Logix Guia de Customização Projeto/Versão:
Leia maisPadrão Básico de Projeto: Interfaces e Polimorfismo
Padrão Básico de Projeto: Interfaces e Polimorfismo Herança de implementação versus herança de interface Há uma diferença grande entre uma classe e seu tipo A classe define ambos um tipo e uma implementação
Leia maisAbstract Factory Pattern
Abstract Factory Pattern SISMO - Sistemas e Mobilidade http://www.sismo.deinf.ufma.br Departamento de Informática / UFMA Junho de 2008 Comandar uma franquia não é bolinho Estava tudo muito bom com a franquia
Leia maisEntendendo como funciona o NAT
Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços
Leia maisDesenho de Software. Desenho de Software 1
Desenho de Software Desenho de Software 1 Sumário Caracterização Conceitos fundamentais Desenho funcional e desenho OO Qualidades Desenho de Software 2 Bibliografia Pfleeger, Capítulo 6 Design the Modules
Leia maisProjeto de Arquitetura
Introdução Projeto de Arquitetura (Cap 11 - Sommerville) UNIVERSIDADE FEDERAL DE ALAGOAS Curso de Ciência da Computação Engenharia de Software I Prof. Rômulo Nunes de Oliveira Até agora, estudamos: Os
Leia maisgerenciamento de portais e websites corporativos interface simples e amigável, ágil e funcional não dependendo mais de um profissional especializado
O NetPublisher é um sistema de gerenciamento de portais e websites corporativos (intranets ou extranets), apropriado para pequenas, médias e grandes empresas. O conteúdo do website pode ser atualizado
Leia maisEngenharia de Software III
Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,
Leia maisOrientação a Objetos
Orientação a Objetos Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Histórico A orientação a objetos (OO) foi concebida na década de 70. Origem na linguagem SIMULA-67 (década
Leia mais3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio
32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio
Leia maisProfessor: Curso: Disciplina:
Professor: Curso: Disciplina: Aula 1 Turma: Esp. Marcos Morais de Sousa Sistemas de informação Engenharia de Software I Dinâmica da disciplina, plano de curso e avaliação 03º semestre Prof. Esp. Marcos
Leia maisAnálise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender
Leia maisAnálise e Projeto de Sistemas de Informação. Andrêza Leite andreza.lba@gmail.com
Análise e Projeto de Sistemas de Informação Andrêza Leite andreza.lba@gmail.com Roteiro Sistemas de Informação Ciclo de Desenvolvimento de SI Projeto Análise Estruturada Análise Orientada a Objetos Como
Leia maisA apresentação através de fluxos lógicos consegue mostrar mal entendidos e pontos que são controversos.
Módulo 5 Análise Estruturada As dificuldades que são causadas por problemas de comunicação, mudanças de requisitos e técnicas inadequadas de avaliação, tornam a análise estruturada uma fase critica no
Leia maisSISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária
SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária Cascavel Novembro de 2009 Pedro Patitucci Finamore Daniel Bordignon Cassanelli Marco Antonio da Rosa DIAGRAMAS DE CLASSE E SEQUÊNCIA
Leia maisSumário. Uma visão mais clara da UML
Instituto Federal de Santa Catarina Câmpus Chapecó Ensino Médio Integrado em Informática Módulo V Unidade Curricular: Engenharia de Software Professora: Lara P. Z. B. Oberderfer Uma visão mais clara da
Leia maisUML & Padrões Aula 7. UML & Padrões - Profª Kelly C C Silva
UML & Padrões Aula 7 UML & Padrões - Profª Kelly C C Silva Divisão das classes do Modelo de Análise Jacobson propõe a divisão das classes do Modelo de Análise de acordo com os seguintes estereótipos: entidades
Leia maisCurso de PHP. FATEC - Jundiaí. A programação orientada a objetos (object-oriented oriented programming
Curso de PHP FATEC - Jundiaí A programação orientada a objetos (object-oriented oriented programming OOP) é um conjunto de técnicas t para organizar o código c em torno de entidades ou objetos representados
Leia maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisCategorias de Padrões
Categorias de Padrões Padrão Arquitetural ou Estilo Arquitetural Padrão de Design (Design Patterns) Idiomas Categorias de Padrões ESTILOS ARQUITETURAIS PADRÕES DE DESIGN IDIOMAS Padrões de Design Os subsistemas
Leia maisTabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008
Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,
Leia maisProgramação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos
Programação Estruturada e Orientada a Objetos Fundamentos Orientação a Objetos 2013 O que veremos hoje? Introdução aos fundamentos de Orientação a Objetos Transparências baseadas no material do Prof. Jailton
Leia maisMedEl: Uma solução de E-Learning utilizando tecnologia Microsoft ASP.NET
MedEl: Uma solução de E-Learning utilizando tecnologia Microsoft ASP.NET Átila Correia Cunha 1, 2, Glaucon Henrique Mauricio Maia 1, 2, Waner Ferreira Tavares 1, 2, Jorge Bergson¹, Rui Gomes Patrício 3
Leia maisTestes 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 maisFrameworks O que é um framework?
Frameworks Qual é o problema? Programar é difícil Onde está a maior dificuldade? "Interface design and functional factoring constitute the key intelectual content of software and is far more difficult
Leia maisTRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES
TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES [Observação: O template a seguir é utilizado como roteiro para projeto de sistemas orientado
Leia maisDesenvolvendo plugins WordPress usando Orientação a Objetos
Desenvolvendo plugins WordPress usando Orientação a Objetos por Daniel Antunes danieldeveloper.com @danieldeveloper Introdução Desenvolver plugins WordPress é mais que programar: é obter grandes resultados
Leia maisFACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>
FACULDADE DE ENGENHARIA DE COMPUTAÇÃO PROJETO FINAL I e II PLANO DE TRABALHO O Trabalho de Conclusão de Curso (TCC) a ser desenvolvido
Leia maisTeste de Software. Ricardo Argenton Ramos ricargentonramos@gmail.com. Engenharia de Software I 2012.2
Teste de Software Ricardo Argenton Ramos ricargentonramos@gmail.com Engenharia de Software I 2012.2 O que diferencia teste de software OO de testes Convencionais? Técnicas e abordagens são normalmente
Leia maisUniversidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI PCO203 Tópicos Especiais em Programação
UNIFEI Disciplina Professor Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI PCO203 Tópicos Especiais em Programação Enzo Seraphim 1 Padrões de Operação
Leia mais3.1 Definições Uma classe é a descrição de um tipo de objeto.
Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Classes Autoria:Aristófanes Corrêa Silva Adaptação:
Leia maisProgramação Orientada a Objetos Classes Abstratas Técnico em Informática. Prof. Marcos André Pisching, M.Sc.
Classes Abstratas Técnico em Informática, M.Sc. Classes Abstratas 2 Classes Abstratas Abstração Devemos considerar as qualidades e comportamentos independentes dos objetos a que pertencem, isolamos seus
Leia maisCapítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1
Capítulo 2 Processos de Software slide 1 Tópicos apresentados Modelos de processo de software. Atividades de processo. Lidando com mudanças. Rational Unified Process (RUP). Um exemplo de um processo de
Leia maisFábrica de Software 29/04/2015
Fábrica de Software 29/04/2015 Crise do Software Fábrica de Software Analogias costumam ser usadas para tentar entender melhor algo ou alguma coisa. A idéia é simples: compara-se o conceito que não se
Leia maisAnálise de Sistemas. Visão Geral: Orientação a Objetos. Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br
Análise de Sistemas Visão Geral: Orientação a Objetos Prof. José Honorato Ferreira Nunes Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br Resumo: VISÃO GERAL: Modelagem de sistemas
Leia maisATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS
ATRIBUTOS PRIVADOS Podemos usar o modificador private, para tornar um atributo privado, obtendo um controle centralizado Definimos métodos para implementar todas as lógicas que utilizam ou modificam o
Leia maisEngenharia de software para desenvolvimento com LabVIEW: Validação
Engenharia de software para desenvolvimento com LabVIEW: Orientação a Objetos, Statechart e Validação André Pereira Engenheiro de Vendas (Grande São Paulo) Alexsander Loula Coordenador Suporte Técnico
Leia maisDESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES
DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.
Leia maisNOKIA. Em destaque LEE FEINBERG
Em destaque NOKIA LEE FEINBERG A Nokia é líder mundial no fornecimento de telefones celulares, redes de telecomunicações e serviços relacionados para clientes. Como Gerente Sênior de Planejamento de Decisões
Leia maisDesign 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 maisCurso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais
Curso de Java Orientação a objetos e a Linguagem JAVA Roteiro A linguagem Java e a máquina virtual Objetos e Classes Encapsulamento, Herança e Polimorfismo Primeiro Exemplo A Linguagem JAVA Principais
Leia maisEspecialização em web com interfaces ricas. Padrões de Projeto - Estruturais
Especialização em web com interfaces ricas Padrões de Projeto - Estruturais Prof. Fabrízzio Alphonsus A. M. N. Soares fabrizzio@inf.ufg.br professor.fabrizzio@gmail.com Instituto de Informática Universidade
Leia maisModelagem OO com UML. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza
Modelagem OO com UML Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo Modelos Maneira
Leia maisOrientação à Objetos. Aécio Costa
Aécio Costa O paradigma da orientação à objetos Paradigma? Um paradigma é uma forma de abordar um problema. No contexto da modelagem de um sistema de software, um paradigma tem a ver com a forma pela qual
Leia maisProf. Marcelo Henrique dos Santos
ORIENTAÇÃO A OBJETOS COM PROTOTIPAÇÃO CAPÍTULO 02 CONCEITOS FUNDAMENTAIS OBJETIVOS Definiremos alguns conceitos fundamentais de forma a não deixar dúvidas básicas ou interpretações que nos coloquem em
Leia maisUNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação
SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula
Leia maisRequisitos de Software
Requisitos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 1 Objetivos Apresentar os conceitos de requisitos de usuário e de sistema Descrever requisitos funcionais
Leia maisEngenharia de Requisitos
Engenharia de Requisitos Introdução a Engenharia de Requisitos Professor: Ricardo Argenton Ramos Aula 08 Slide 1 Objetivos Introduzir a noção de requisitos do sistema e o processo da engenharia de requisitos.
Leia maisAUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0
AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento
Leia mais3 SCS: Sistema de Componentes de Software
3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário
Leia maisPADRÕES DE PROJETO FAÇADE, FLYWEIGHT E VISITOR
FACULDADE DE CIÊNCIAS APLICADAS SAGRADO CORAÇÃO DIRETORIA DE ENSINO SUPERIOR COORDENAÇÃO DO CURSO DE SISTEMAS DE INFORMAÇÃO GUSTAVO ANDRÉ DE FREITAS RILIANE ALPOIM PARIS RODRIGO SILVA DE SOUZA PADRÕES
Leia maisAnálise e Projeto Orientados a Objeto
Análise e Projeto Orientados a Objeto Objetivos Comparar e contrastar Análise e Projeto Definir O que vamos fazer na disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente
Leia maisReferências internas são os artefatos usados para ajudar na elaboração do PT tais como:
Plano de Teste (resumo do documento) I Introdução Identificador do Plano de Teste Esse campo deve especificar um identificador único para reconhecimento do Plano de Teste. Pode ser inclusive um código
Leia maisOrganização e Arquitetura de Computadores I. de Computadores
Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização Básica B de Computadores
Leia maisUm Arcabouço open source em Python para DBC com
Um Arcabouço open source em Python para DBC com Suporte à Evolução Dinâmica não Antecipada Yguaratã C. Cavacanti 1, Hyggo Oliveira de Almeida 1, Evandro Costa 2 1 Instituto de Computação Universidade Federal
Leia maisTópicos em Engenharia de Computação
Tópicos em Engenharia de Computação Introdução / Revisão UML e POO (JAVA) Prof. Ivan Prof. Zagari UML Linguagem Unificada. Não é metodologia, processo ou método. Versão atual 2.0 3 categorias de Diagramas
Leia maisPós-Graduação em Gerenciamento de Projetos práticas do PMI
Pós-Graduação em Gerenciamento de Projetos práticas do PMI Planejamento do Gerenciamento das Comunicações (10) e das Partes Interessadas (13) PLANEJAMENTO 2 PLANEJAMENTO Sem 1 Sem 2 Sem 3 Sem 4 Sem 5 ABRIL
Leia maisDiagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.
1 Diagrama de Classes Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes. Um dos objetivos do diagrama de classes é definir a base para
Leia mais