Histórico de revisões
|
|
- Mafalda Bento Soares
- 8 Há anos
- Visualizações:
Transcrição
1
2 Design Patterns
3 Histórico de revisões Data Versão Descrição Autor 15/1/ Finalização da primeira versão HEngholmJr
4 OBJETIVOS Fornecer uma visão geral sobre Design Patterns visando atingir os requisitos não funcionais dos projetos.
5 REQUISITOS NÃO FUNCIONAIS Adaptabilidade (Atender a novos propósitos sem grandes alterações no sistema, e.g., novos tipos de investimentos) Extensibilidade (Adição de novos serviços, extensão de serviços existentes sem impactos no restante do sistema) Manutenibilidade (Esforço exigido para localizar e reparar erros em um sistema ou para modificá-lo com o propósito de adaptá-lo a um novo ambiente,) Reusabilidade (Capacidade de reutilização de módulos do sistema em outras aplicações)
6 REQUISITOS NÃO FUNCIONAIS Performance (E.g., velocidade, taxas de transferências de dados, tempo de resposta) Escalabilidade (Capacidade do sistema manter o desempenho mesmo com o aumento do número de usuários) Confiabilidade (Exatidão, possibilidade de recuperação, poucos números de falhas,...) Usabilidade (Facilidade para que usuário aprenda a utilizar e de utilização do sistema)
7 Pattern Concept Conceitos do design orientado a Objetos Base dos padrões orientados a objetos: Coesão Encapsulamento Acoplamento Herança Composição Herança por interface Polimorfismo
8 Conceitos do design orientado a Objetos Coesão Coesão é o grau em que os métodos e atributos de uma classe estão relacionados a apenas uma finalidade no sistema Vantagens de alta coesão: Evita o efeito colateral de se alterar códigos não relacionados dentro de uma mesma classe Melhora a legibilidade, esclarecendo o papel exato da classe Facilita a criação de pequenos componentes reutilizáveis
9 Coesão Conceitos do design orientado a Objetos
10 Conceitos do design orientado a Objetos Encapsulamento A estrutura interna e comportamento de um objeto não deve ser exposto Esconder a informação é fundamental para o encapsulamento adequado, os dados do objeto devem ser mantidas em sigilo. Métodos de acesso e modificadores devem fornecer uma interface para acesso aos dados Vantagens Implementação de uma classe pode variar sem mudar sua interface Os desenvolvedores podem usar a classe sem conhecer todos os seus detalhes de implementação Impossibilidade de modificações inadequadas de atributo
11 Conceitos do design orientado a Objetos Encapsulamento
12 Conceitos do design orientado a Objetos Acoplamento Acoplamento é uma medida de como as classes dependentes estão no outras classes. Para reduzir o acoplamento: Ocultar a implementação das classes Utilizar interfaces de classes abstratas Reduzir o número de métodos na interface da classe Considere o acoplamento de todo o sistema, em vez de apenas entre as classes individuais
13 Acoplamento Conceitos do design orientado a Objetos
14 Conceitos do design orientado a Objetos Herança Herança garante que as subclasses herdem atributos compartilhados e métodos de uma superclasse Vantagens Evita a duplicação de código que é comum aos subtipos Organiza classes de acordo com a herança Desvantagens Força subclasses a herdar tudo de sua superclasse Alterações para a superclasse pode afetar a subclasse
15 Herança Conceitos do design orientado a Objetos
16 Conceitos do design orientado a Objetos Composição Construa objetos complexos a partir de objetos mais simples.
17 Conceitos do design orientado a Objetos Herança de interface Herança de interface é a separação da definição de uma interface de sua implementação. Similar aos dispositivos de hardware que implementam uma interface comum Pode fazer uma classe ser estendida sem ser modificada
18 Conceitos do design orientado a Objetos Polimorfismo Polimorfismo permite invocar operações de objetos específicos através de referências genéricas. Aspectos de polimorfismo Permite atribuir diferentes tipos de objetos em tempo de execução A implementação do método é determinada pelo tipo de objeto Vantagens Permite-lhe escrever código genérico que não depende de uma subclasse específica Permite codificar menos métodos porque um supertipo pode ser especificado como o tipo de parâmetro
19 Conceitos do design orientado a Objetos Polimorfismo - Exemplo
20 Exploração dos princípios de Design Orientado a Objetos A Gang of Four (Gamma, Helm, Johnson e Vlissides) indica 3 princípios de design orientado a objetos Favoreça a composição Programe para interfaces Realize o design prevendo mudanças
21 Exploração dos princípios de Design Orientado a Objetos Favoreça a composição Reuse funcionalidades através da composição ao invés de herança, reusabilidade caixa preta.
22 Exploração dos princípios de Design Orientado a Objetos Favoreça a composição No relacionamento de composição, um objeto pode conter de uma a várias instâncias de um outro objeto, sendo responsável pela sua criação e destruição. Uma pessoa poderá ter vários telefones que são armazenados na forma de um atributo no objeto Pessoa, chamado telefones. Este atributo na verdade é uma lista de objetos do tipo Telefone. Os objetos Telefone fazem são parte do objeto Pessoa, ou seja, um objeto Telefone (parte) fará parte somente de um único objeto Pessoa (todo). Quando o objeto Pessoa for destruído, seus objetos telefone também serão.
23 Exploração dos princípios de Design Orientado a Objetos Programe para a interface
24 Exploração dos princípios de Design Orientado a Objetos Realize o design prevendo mudanças Requisitos mudam, deste modo realize o design prevendo mudanças Utilize o princípio Open-Closed, entidades de software como as classes devem estar abertos para extensão e fechados para alteração.
25 Padrões de design
26 Design Patterns Soluções conhecidas para problemas conhecidos Cada padrão descreve um problema que ocorre repetidas vezes em nosso ambiente ou são bem conhecidos no mercado, descrevendo uma solução para esse problema, de uma maneira que você pode usá-la diversas vezes sem ter que encontrar a solução sozinho. Apenas use a solução, ele já existe, já foi testada centenas de vezes e é utilizada por milhares de sistemas.
27 Catálogos de Design Patterns - GoF Catálogo de Design Patterns Gang of Four (Primeira publicação de vários padrões de projeto, influenciou muitos padrões J2EE) - Catálogo J2EE Patterns GoF Gamma, Helm, Johnson, Vlissides
28 Elementos do Design Pattern Padrões de projeto incluem os seguintes elementos: Contexto - Situação em que o problema sendo abordado ocorre Problema - problema de design que o padrão está focado Forças - Requisitos que a solução deve satisfazer Solução e Estrutura - Solução para o problema Consequências - Vantagens e desvantagens de usar o padrão Padrões relacionados - padrões que são similares ou são usados para construir esse padrão
29 Notação do Design Pattern Pode ser representado utilizando-se UML através de diagramas de classe e sequencia. Class Diagram System Sequence Diagram Login DataHora +DataHora datahora:s tring data:s tring hora:s tring Menu host:s tring perfilusuario:int cousuario:int coempresa:int flaga dm Sistema:boolean +Menu -preenchemenu:void +retornaitems implesdemenu:string -retornacabecalho:string -retornaitemdemenuv ariositens:s tring -retornarodape:s tring AcessoBD +BeanD ec onexao Usuario loginui LoginServlet usuariocliente sistemaui 1: loginservlet 2: recuperadadosusuario 3: forward m enu:s tring opcoesdeavaliacoes:string opcoesdorh:string opcoesdeadministrador:string
30 Quando e onde aplicar Patterns Algumas literaturas sugerem a utilização de padrões pró-ativamente nos projetos Outras literatura sugerem a utilização de poucos padrões e refatoração dos mesmos no design do projeto De qualquer maneira, deve-se procurar um equilíbrio de design entre flexibilidade e simplicidade Depois de aprender design patterns, você provavelmente estará inclinado a resolver todos os problemas utilizando-se de padrões de design
31 Gang of Four (GoF) Patterns: Groups Padrões de comportamento: Descrevem como os objetos interagem e distribuem responsabilidades Padrões de criação: Fornecem formas mais robusta para a criação objetos Padrões estruturais: Padrões relacionados ao interrelacionamento entre objetos
32 Gang of Four Behavioral Patterns Strategy pattern: Encapsula uma família de algoritmos para uso intercambiável Command pattern: Encapsula solicitações de comandos entre objetos para execução pelo outro objeto Iterator pattern: Iterage coleções de maneira fracamente acoplada. Observer pattern: Fornece notificação de eventos através de um objeto observador
33 Gang of Four Behavioral Patterns Exemplo Strategy pattern: Necessidade de se alterar algoritmo de ordenação em tempo de execução. O objeto cliente seleciona qual tipo de sub-tipo da interface Strategy deve ser utilizado.
34 Gang of Four Behavioral Patterns Exemplo Strategy pattern: 1 public class CatalogSearchEngine { 2 3 private SortStrategy sorter; 4 5 public CatalogSearchEngine(SortStrategy ss) { 6 sorter = ss; 7 } 8 public ArrayList search() { 9 ArrayList list = //perform search 10 sorter.sort(list); 11 return list; 12 } 13 }
35 Gang of Four Behavioral Patterns Exemplo Strategy pattern: Strategy pattern interface: 1 public interface SortStrategy { 2 public void sort(arraylist al); 3 } First strategy implementation: 1 public class QuickSort implements SortStrategy { 2 public void sort(arraylist al) { 3 //implement Quick sort code 4 } 5 }
36 Gang of Four Behavioral Patterns
37 Gang of Four Creational Patterns Factory pattern: Cria objetos de uma classe ou suas subclasses através de uma chamada de método Abstract Factory pattern: Cria uma família de objetos através de uma interface única Singleton pattern: Restringe uma classe para uma instância globalmente acessível
38 Gang of Four Behavioral Patterns Exemplo Factory pattern: A classe cliente obtém uma referência genérica de fábrica para um objeto ConcreteFactory O cliente chama o método de fábrica createproduct na ConcreteFactory O método de fábrica retorna uma referência de um produto para uma nova ConcreteProduct Se o cliente obtém uma referência para uma ConcreteFactory diferente, ele receberá um ConcreteProduct diferente
39 Gang of Four Behavioral Patterns Exemplo JDBC API Factory pattern:
40 Gang of Four Behavioral Patterns Exemplo Factory pattern: O código para utilizar o pattern acima poderia ser: Factory f = new ConcreteFactory1(); Menu m = f.createmenu ();
41 Gang of Four Behavioral Patterns Exemplo Singleton pattern Existem classes que devemos ter apenas uma única instância da mesma A única instância de uma classe deve ser facilmente acessada de diferentes partes da aplicação A única maneira de proteger a criação de um único objeto de uma classe é escondendo o construtor da mesma
42 Gang of Four Structural Patterns Façade pattern: Fornece uma interface simplificada para um subsistema Proxy pattern: Fornece um objeto intermediário que controla o acesso a um outro objeto. Adapter pattern: Permite chamadas para utilização um objeto que tem uma interface incompatível Composite pattern: Compõe objetos em estruturas parte-todo de estruturas tipo árvore. Decorator pattern: Anexa dinamicamente novas funcionalidades em um objeto.
43 Gang of Four Structural Patterns
44 Gang of Four Structural Patterns
45 Gang of Four Structural Patterns
46 Gang of Four Structural Patterns
47 Gang of Four Structural Patterns
48 Design Pattern Selection A seleção do padrão deve ser baseada em semelhanças entre o contexto, o problema, e o problema do design Múltiplos padrões podem ser usados para resolver um problema particular
49 Padrões de arquitetura
50 Model View Controller (MVC) Pattern Model View Controller (MVC) é um padrão de arquitetura Encontrado em muitos lugares, incluindo no Java Foundation Classes / Swing (JFC / Swing) API Separa o gerenciamento da apresentação da lógica do aplicativo Útil em aplicações onde a interface do usuário pode mudar freqüentemente MVC pode ser adaptado para aplicações Web
51 Aplicando o MVC Pattern Separa apresentação do estado e comportamento. Interfaces de usuário e de processamento de negócios mudam frequentemente de forma independente e alguns sistemas têm múltiplas interfaces de usuário A interface de usuário deve ser dissociada dos dados e do processamento Você pode exibir as mesmas informações em diferentes pontos de vista Os pontos de vista podem precisar refletir imediatamente as alterações do modelo de dados Os dados do modelo devem responder imediatamente às mudanças iniciadas nas interfaces
52 (Model 1/Model 2)
53 Aplicando o padrão MVC O padrão Model View Controller divide o sistema em três conjuntos de componentes: Model - Contém os dados de negócios, processamento e regras. O modelo não deve ter quaisquer detalhes sobre a interface do usuário View - Exibe uma interface gráfica de usuário (GUI), contendo os componentes do modelo de dados para o usuário e, normalmente, passa eventos GUI aos componentes do controller Controller - Aceita pedidos do usuário, invoca o processamento sobre os componentes do modelo, e determina qual componente da camada View deve ser exibido
54 Overview do pattern MVC * << Envia input do usuário * Controler -View -Model +updatemodel() +chooseview() * Seleciona >> * * View User controls * Updates >> Model * << Uses * State Data
55 J2EE Pattern Catalog
56 J2EE Pattern Catalog O catálogo de padrões J2EE são agrupados em três níveis: Integration tier Business tier Presentation tier
57 J2EE Integration Tier Patterns Service Activator - Permite que um cliente de forma assíncrona invocar um componente EJB, usando o Java Message Service (JMS) API Data Access Object - Isola banco de dados de código específico em classes que expõem uma interface de negócios Domain Store - Cria um mecanismo de persistência robusto que é transparente para os objetos de negócios sem usar os beans de entidade Web Service Broker - Faz serviços empresariais disponíveis como serviços web
58 Exemplo DAO Design Patterns
59 J2EE Business Tier Patterns Service Locator - Elimina a necessidade de um cliente plataforma J2EE estar ciente do Java Naming and Directory Interface (JNDI) API na aquisição de componentes de negócios Session Façade - Fornece a camada de apresentação com uma interface simples para acessar a camada de negócios Business Delegate - Fornece acesso flexível aos componentes camada de negócios Transfer Object - Reduz o número de chamadas de método remoto, retornando vários valores em um objeto
60 J2EE Business Tier Patterns Application Service - Centraliza a lógica de negócios entre services facades e os objetos de negócios Businness Object - Separa dados de negócio da lógica de negócios e workflow lógico Transfer Object Assembler - Monta objeto de transferência de dados de múltiplos objetos de negócios Composite Entity - Wraps um número de objetos relacionados em uma única entidade Value List Handler - Fornece um mecanismo eficiente para a execução de consultas que pode retornar um grande número de objetos e navegar através dos resultados
61 J2EE Presentation Tier Patterns Interceptando Filter - Gerencia de processamento de pré e pósprocessamento de um pedido do cliente Front Controller - Fornece um mecanismo para gerenciamento centralizado de solicitações de usuários Application Controller - Separa a invocação da gestão e despacho da view do componente front controller Context Object Passa os dados de objetos de contexto específico, sem passar esses objetos
62 J2EE Presentation Tier Patterns View Helper - Fatores fora de recuperação de conteúdo necessárias para construir a visão Composite View - Constrói uma view a partir de diferentes views Dispatcher View - Combina a Front Controller e padrões View Helper Service to Worker - Similar ao padrão Dispatcher View, exceto que o controlador frontal tem mais responsabilidade para seleção da visão e invocação do processo de negócios
63 Front Controller Pattern Client Front controler Page controler View (JSP) Model (Beans) HTTP request Common functions Update Forward Update Forward HTTP response Fornece um único local que encapsula o processamento de solicitação comum
Argo Navis J931 - Padrões de Design J2EE. Introdução. Objetivos de aprender padrões J2EE. Conhecer padrões para uso na plataforma J2EE
Padrões de Projeto J2EE J931 Introdução Helder da Rocha (helder@acm.org) argonavis.com.br Objetivos de aprender padrões J2EE Conhecer padrões para uso na plataforma J2EE Padrões permitem maior reuso, menos
Leia maisProgramaçã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 maisTecnologias Web. Padrões de Projeto - Camada de Apresentação
Tecnologias Web Padrões de Projeto - Camada de Apresentação Cristiano Lehrer, M.Sc. Padrões da Camada de Apresentação (1/2) Intercepting Filter Viabiliza pré e pós processamento de requisições. Front Controller
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. 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 maisArgo Navis J931 - Padrões de Design J2EE. Versão 2.0 (setembro de 2003) Objetivos
de Projeto J931 J2EE Versão 2.0 (setembro de 2003) Helder da Rocha (helder@acm.org) argonavis.com.br Objetivos Identificar os principais padrões de projeto J2EE Distinguir os principais padrões de projeto
Leia maisPADRÕES DE SOFTWARE. Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade. Grupo de Padrões de Software da UECE (GPS.
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 CONTEÚDO Introdução aos Padrões de Software O quê são padrões?
Leia maisPadrões de Projeto WEB e o MVC
Padrões de Projeto WEB e o MVC Padrões de Projeto WEB e o MVC O que são padrões? "Cada padrão descreve um problema que ocorre freqüentemente em seu ambiente, e então descreve o cerne da solução para aquele
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 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 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 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 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 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 maisENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira
ENTERPRISE JAVABEANS 3 Msc. Daniele Carvalho Oliveira Apostila Servlets e JSP www.argonavis.com.br/cursos/java/j550/index.html INTRODUÇÃO Introdução Enterprise JavaBeans é um padrão de modelo de componentes
Leia maisPadrões Arquiteturais e de Integração - Parte 1
1 / 58 - Parte 1 Erick Nilsen Pereira de Souza T017 - Arquitetura e Design de Aplicações Análise e Desenvolvimento de Sistemas Universidade de Fortaleza - UNIFOR 11 de fevereiro de 2015 2 / 58 Agenda Tópicos
Leia maisAprenda as melhores práticas para construir um completo sistema de teste automatizado
Aprenda as melhores práticas para construir um completo sistema de teste automatizado Renan Azevedo Engenheiro de Produto de Teste e Medição -Américas Aprenda as melhores práticas para construir um completo
Leia maisEduardo Bezerra. Editora Campus/Elsevier
Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier Capítulo 11 Arquitetura do sistema Nada que é visto, é visto de uma vez e por completo. --EUCLIDES
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 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 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 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 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 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 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 maisPadrões do Catálogo J2EE. Lincoln Souza Rocha, M.Sc. (lincolnrocha@gmail.com)
Padrões do Catálogo J2EE Lincoln Souza Rocha, M.Sc. (lincolnrocha@gmail.com) Livros Deepak Alur, John Crupi e Dan Malks. Core J2EE Patters: Best Practices and Design Strategies, Second Edition (2003).
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 maisDocumento de Arquitetura
Documento de Arquitetura A2MEPonto - SISTEMA DE PONTO ELETRÔNICO A2MEPonto - SISTEMA DE PONTO ELETRÔNICO #1 Pág. 1 de 11 HISTÓRICO DE REVISÕES Data Versão Descrição Autor 28/10/2010 1 Elaboração do documento
Leia maisLaboratório de ENGSOF Estudo de Caso. Prof. André Pereira, MSC, PMP
Laboratório de ENGSOF Estudo de Caso Aula de Hoje: Desenvolver um sistema UML inteiro: Aplicação Banco Online. Nosso Estudo de Caso! RSA V7 O que será feito para o projeto? 1) Criando um Projeto UML: 1)
Leia maisDocumento de Projeto de Sistema
Documento de Projeto de Sistema 1 IFES / Serra Projeto: Gerenciador de Pelada - Oasis Registro de Alterações: Versão Responsável Data Alterações 0.1 Eduardo Rigamonte, Geann Valfré, João Paulo Miranda,
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 maisRoteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)
Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Definição Geral: Disciplina de Compiladores Prof. Jorge Bidarra (UNIOESTE) A especificação de requisitos tem como objetivo
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 maisIntrodução ao Modelos de Duas Camadas Cliente Servidor
Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos
Leia maisMVC e Camadas - Fragmental Bliki
1 de 5 20-03-2012 18:32 MVC e Camadas From Fragmental Bliki Conteúdo 1 Introdução 2 Camadas: Separação Entre Componentes 3 MVC: Interação Entre Componentes 4 Conclusão 5 Referências Introdução A Arquitetura
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 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 maisModelagem de Software Prof. Flávio de Oliveira Silva, Ph.D.
UML Diagramas Um diagrama é a apresentação gráfica de um conjunto de elementos, onde os vértices são ITENS e os arcos RELACIONAMENTOS UML 2.0 possui os seguintes diagramas: Diagrama de Classes (Class Diagram)
Leia maisCurso - Padrões de Projeto Módulo 5: Model-View- Controller
Curso - Padrões de Projeto Módulo 5: Model-View- Controller 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:
Leia mais4 - Padrões da Camada de Integração. Introdução
Padrões de Projeto J2EE J931 Padrões da Camada de Integração Helder da Rocha (helder@acm.org) argonavis.com.br Introdução A camada de integração encapsula a lógica relacionada com a integração do sistema
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 maisAplicativo web para definição do modelo lógico no projeto de banco de dados relacional
Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional Juarez Bachmann Orientador: Alexander Roberto Valdameri Roteiro Introdução Objetivos Fundamentação teórica Desenvolvimento
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 maisABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE
ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE Amarildo Aparecido Ferreira Junior 1, Ricardo Ribeiro Rufino 1 ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil aapfjr@gmail.com
Leia maisProjeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.
Projeto Demoiselle Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.net Palestrantes: Antônio Carlos Tiboni Luciana Campos Mota 20/07/2009
Leia maisJ550 Padrões de Projeto J2EE para Aplicações Web
J550 Padrões de Projeto J2EE para Aplicações Web Helder da Rocha (helder@acm.org) www.argonavis.com.br 1 Introdução Este módulo aborda os principais padrões de projeto J2EE, dentre o catálogo organizado
Leia maisFigura 01 Kernel de um Sistema Operacional
01 INTRODUÇÃO 1.5 ESTRUTURA DOS SISTEMAS OPERACIONAIS O Sistema Operacional é formado por um Conjunto de rotinas (denominado de núcleo do sistema ou kernel) que oferece serviços aos usuários e suas aplicações
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 maisNome: Login: CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA
ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008 3º PERÍODO - 5º MÓDULO AVALIAÇÃO A4 DATA 23/04/2009 ENGENHARIA DE SOFTWARE Dados de identificação do Acadêmico: Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA
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 mais5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância
5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância O capítulo anterior apresentou uma discussão sobre a inclusão dos chamados learning services no processo
Leia maisPadrões de Interação com o Usuário
Padrões de Interação com o Usuário Granularidade dos Padrões Padrões estão relacionados a 3 elementos: Contexto ocorre Problema resolve Solução Problemas e Soluções podem ser observados em diferentes níveis
Leia maisDesenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto
Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2009 Profa. Dra. Itana Gimenes RUP: Artefatos de projeto Modelo de Projeto: Use-Case Realization-projeto
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 maisEnterprise Java Beans
Enterprise Java Beans Prof. Pasteur Ottoni de Miranda Junior DCC PUC Minas Disponível em www.pasteurjr.blogspot.com 1-O que é um Enterprise Java Bean? O Entertprise Java Bean (EJB) é um componente server-side
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 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 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 maisSISTEMAS DISTRIBUIDOS
1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização
Leia maisUnidade 8: Padrão MVC e DAO Prof. Daniel Caetano
Programação Servidor para Sistemas Web 1 Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Objetivo: Apresentar a teoria por trás dos padrões na construção de aplicações Web. INTRODUÇÃO Nas aulas anteriores
Leia maisMódulo 07 Características Avançadas de Classes
Módulo 07 Características Avançadas de Classes Última Atualização: 15/06/2010 1 Objetivos Descrever variáveis, métodos e iniciadores static Descrever a semântica do modificador final em classes, métodos
Leia mais2 a Lista de Exercícios
Projeto de Sistemas 2011/2 2 a Lista de Exercícios (1) Um importante aspecto do projeto da camada de Lógica de Negócio (LN) diz respeito à organização das classes e distribuição de responsabilidades entre
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 maisUniversidade Federal Rural de Pernambuco. Bacharelado em Sistemas de Informação. Disciplina: Análise e Projeto de Sistemas de Informação
Universidade Federal Rural de Pernambuco Bacharelado em Sistemas de Informação Disciplina: Análise e Projeto de Sistemas de Informação Docente: Rodrigo Aluna: Thays Melo de Moraes Diagramas do Projeto
Leia maisConceitos de Banco de Dados
Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir
Leia maisDefinição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão
DCC / ICEx / UFMG Definição de Padrões 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 problemas recorrentes
Leia maisIntrodução à Engenharia de Software
Introdução à Engenharia de Software Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br Imagem Clássica Objetivo da aula Depois desta aula você terá uma visão sobre o que é a engenharia
Leia maisAssociação Carioca de Ensino Superior Centro Universitário Carioca
Desenvolvimento de Aplicações Web Lista de Exercícios Métodos HTTP 1. No tocante ao protocolo de transferência de hipertexto (HTTP), esse protocolo da categoria "solicitação e resposta" possui três métodos
Leia maisEspecificação do 3º Trabalho
Especificação do 3º Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação,
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 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 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 maisHardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)
Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,
Leia maisHistórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW
Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW Baseado nos materiais dos profs: Prof.: Edilberto M. Silva http://www.edilms.eti.br Edna Canedo Marcio de Carvalho Victorino Brasília-DF,
Leia mais2 Conceitos relativos a Web services e sua composição
15 2 Conceitos relativos a Web services e sua composição A necessidade de flexibilidade na arquitetura das aplicações levou ao modelo orientado a objetos, onde os processos de negócios podem ser representados
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 maisTópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619
Tópicos em Engenharia de Software (Optativa III) AULA 2 Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Engenharia de Software Objetivo da aula Depois desta aula você terá uma revisão sobre o
Leia maisPROJETO PEDAGÓGICO DE CURSOS
1 de 6 PROJETO PEDAGÓGICO DE CURSOS BURITREINAMENTOS MANAUS-AM MARÇO / 2015 2 de 6 PACOTES DE TREINAMENTOS BURITECH A Buritech desenvolveu um grupo de pacotes de treinamentos, aqui chamados de BuriPacks,
Leia maisPadrões Arquiteturais no Java EE 7
Padrões Arquiteturais no Java EE 7 Vagner F. Le Roy Júnior Curso de Pós Graduação em Arquitetura de Software Distribuído Pontifícia Universidade Católica de Minas Gerais Belo Horizonte, MG Brasil vagnerleroy@gmail.com
Leia maisUnisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER
Objetivo dessa aula é descrever as características e a simbologia dos diagramas UML e MER na modelagem de sistemas de informação de uma forma a permitir a comunicação entre técnicos e gestores. Modelagem
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 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 maisAgenda da Aula. Resumo dos Padrões (Aula 4) Padrões Arquiteturais. Arquitetura Cliente-Servidor. Arquitetura Cliente-Servidor
Reuso de Software Aula 05 Agenda da Aula Linha de Produtos de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 19 Março 2012 Padrões arquiteturais Cliente-Servidor
Leia maisApesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:
1 Introdução A utilização de frameworks como base para a construção de aplicativos tem sido adotada pelos desenvolvedores com três objetivos básicos. Primeiramente para adotar um padrão de projeto que
Leia maisCONSULTORIA E SERVIÇOS DE INFORMÁTICA
CONSULTORIA E SERVIÇOS DE INFORMÁTICA Quem Somos A Vital T.I surgiu com apenas um propósito: atender com dedicação nossos clientes. Para nós, cada cliente é especial e procuramos entender toda a dinâmica
Leia maisEVOLUÇÃO DE SOFTWARE
EVOLUÇÃO DE SOFTWARE Dinâmica da evolução de programas Manutenção de software Processo de evolução Evolução de sistemas legados 1 Mudança de Software 2 Manutenção de software Mudança de software é inevitável
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 maisO CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE
O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE Renan Leme Nazário, Ricardo Rufino Universidade Paranaense (Unipar) Paranavaí PR - Brasil renazariorln@gmail.com, ricardo@unipar.br Resumo. Este artigo
Leia maisProjeto: Simul-e Documento de Arquitetura de Software
Projeto: Simul-e Documento de Arquitetura de Software Versão 1.0 Página 1 de 9 Histórico da Revisão Data Versão Descrição Autor 12.09.2015 1.0 Criação do Documento Hugo Pazolline 20.10.2015 1.0 Atualização
Leia maisUFG - Instituto de Informática
UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 6 EJB Enterprise Java
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 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 maisPROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB PADRÕES MVC E DAO Prof. Dr. Daniel Caetano 2012-1 Objetivos Compreender o conceito de Padrões de Projeto Compreender o Padrão MVC Conhecer o princípio de alguns dos
Leia maisModelagemde Software Orientadaa Objetos com UML
Modelagemde Software Orientadaa Objetos com UML André Maués Brabo Pereira Departamento de Engenharia Civil Universidade Federal Fluminense Colaborando para a disciplina CIV 2802 Sistemas Gráficos para
Leia maisINTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF
INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF Guilherme Macedo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil guilhermemacedo28@gmail.com, jaime@unipar.br Resumo.
Leia mais