Padrões de Projeto. Factory Method

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

Download "Padrões de Projeto. Factory Method"

Transcrição

1 Padrões de Projeto Padrões de Criação Factory Method Prof. Eduardo N F Zagari Prof. Ivan Granja Factory Method Também conhecido como Construtor Virtual Em muitas aplicações OO, um objeto cliente precisa decidir em tempo de execução qual a sub-classe de uma hierarquia de classes que lhe provê o(s) serviços(s) desejado(s) deve ser acionada. Factory pattern provê mecanismo para tornar esta escolha mais elegante e a seleção torna-se abstrata para a classe cliente. 1

2 Factory Method Outra: define uma interface para criar um objeto, mas deixa as subclasses decidirem qual classe instanciar. Factory Method faz uma classe delegar a instanciação a subclasses 3 Motivação 1: Seleção de Subclasses sem o pattern factory A escolha pode depender de vários fatores: Estado da Aplicação Parâmetros de configuração da aplicação Evolução ou melhoria nos requisitos Implica que o objeto cliente deve manter uma lógica (muitas vezes complexa) que implementa o algoritmo com o critério de seleção. Essa solução pode levar a diversos problemas: A implementação do critério no objeto cliente implica em alto grau de acoplamento Manutenabilidade é prejudicada, pois o critério pode mudar em função das alterações nos requisitos do software. Requer que o objeto cliente tenha pleno conhecimento das 4 funcionalidades oferecidas pelas classes candidatas da hierarquia que provê o serviço. 2

3 Modelo UML sem uso do Pattern factory method Cliente é que deve decidir qual subclasse instanciar... Motivação 2 Considere um framework para aplicações que possam apresentar múltiplos documentos ao usuário. Duas abstrações-chave: classes Application e Document (ambas abstratas). Clientes devem especializá-las para executar sua funcionalidade específica. P.ex.: DrawingApplication e DrawingDocument Problema: como a subclasse de Document é específica da aplicação, Application não consegue prever a subclasse que deve instanciar... (sabe apenas QUANDO e não QUAL Document criar) 6 3

4 Motivação 2 Dilema: o framework deve instanciar classes, mas ele somente conhece sobre classes abstratas, as quais ele não pode instanciar... Solução: Factory Method. Encapsula o conhecimento de qual subclasse Document criar e move este conhecimento para fora do framework A subclasse de Application redefine uma operação de criação abstrata (Factory Method) e retorna a subclasse Document apropriada. 7 Motivação 2 8 4

5 Aplicação Use Factory Method quando: Uma classe não pode antecipar a classe dos objetos que ela deve criar Uma classe quer que suas subclasses especifiquem os objetos que elas criam 9 Estrutura 10 5

6 Participantes Product (Document) Define a interface dos objetos que o método fábrica (Factory Method) cria ConcreteProduct (MyDocument) Implementa a interface de Product 11 Participantes Creator (Application) Declara o método fábrica, o qual retorna um objeto do tipo Product. Creator também pode definir uma implementação default do método fábrica, que retorne um objeto ConcreteProduct padrão Pode chamar o método fábrica para criar um objeto Product ConcreteCreator (MyApplication) Sobrescreve o método fábrica para retornar uma instância de um ConcreteProduct 12 6

7 Colaborações Creator confia a suas subclasses a definição do método fábrica, para que ele retorne uma instância do ConcreteProduct apropriado 13 Solução Motivação 1: Modelo UML com padrão Factory Method Acionador Impl. Factory Hierarquia Cliente A Classe Creator possui a implementação na qual reside o método factory, que decide qual das sub-classes deve ser instanciada 7

8 Conseqüências 1. Elimina a necessidade de ligar o código a classes específicas da aplicação 2. Provê ganchos (hooks) para especialização (versão estendida de um objeto) 3. Desvantagem potencial: eventualmente, clientes podem ter que especializar a classe Creator apenas para criar um objeto ConcreteProduct particular (um ponto de evolução adicional) 15 Conseqüências 4. Conecta hierarquias de classes paralelas (quando uma classe delega algumas de suas responsabilidades a outra) 16 8

9 Conseqüências Diferentes figuras usam diferentes subclasses Manipulator para tratar interações particulares Note que o método fábrica define uma conexão entre as duas classes de hierarquia. Ele detém o conhecimento de quais classes se co-relacionam. 17 Exemplo: Diagrama de Classes Acionador Hierarquia Cliente Impl. Factory 9

10 Exemplo: Diag Seqüência Implementação Duas variantes principais: Quando a classe Creator é uma classe abstrata e não provê uma implementação para o método fábrica que ela declara Contorna dilema de se ter que instanciar classes imprevisíveis Quando Creator é uma classe concreta e provê uma implementação default para o método fábrica Regra: Crie objetos em uma operação separada para que as subclasses possam sobrescrever a forma como eles são criados 20 10

11 Implementação Outra: Métodos fábrica parametrizados 21 Implementação Sobrescrever métodos fábrica parametrizados é uma forma fácil e seletiva de se estender ou mudar os produtos criados (pode-se introduzir novos identificadores ou mudar os já existentes) 22 11

12 Implementação Questões específicas de linguagem Em C++, métodos fábricas são sempre funções virtuais (ou virtuais puras). Cuidado para não chamá-la do construtor da classe criadora (Creator), pois o método fábrica na classe concreta pode não estar pronto ainda. Pode-se evitar isto através da técnica lazy initialization: acesse produtos através de operações de acesso que criem o produto sob demanda (o construtor apenas inicializa o produto com zero) 23 Implementação 24 12

13 Implementação Use templates para evitar subclasses (especialização) 25 Implementação Por fim, uma convenção de nomes Sempre deixe claro que você está usando um método fábrica (P.ex.: DoMakeDoc(), FactoryDoc() etc) 26 13

14 Exemplo 27 Exemplo 28 14

15 Exemplo Jogos diferentes podem especializar partes do labirinto. As subclasses de MazeGame podem redefinir alguns ou todos os métodos fábrica para especificar variações dos produtos 29 Exemplo 30 15

16 Exemplo 31 Exemplo Para criar um labirinto que contenha cômodos encantados, basta chamar CreateMaze de um EnchantedMazeGame: EnchantedMazeGame game; game.createmaze(); 32 16

INF011 Padrões de Projeto. 05 Factory Method

INF011 Padrões de Projeto. 05 Factory Method INF011 Padrões de Projeto 05 Factory Method Sandro Santos Andrade sandroandrade@ifba.edu.br Instituto Federal de Educação, Ciência e Tecnologia da Bahia Departamento de Tecnologia Eletro-Eletrônica Graduação

Leia mais

Padrões de Projeto. Factory Method

Padrões de Projeto. Factory Method Tópicos Avançados em Linguagem de Programação Padrões de Projeto Prof. Alexandre Vidal DEINF-UFMA Classificação: Propósito: Criacional Escopo: Objetos Intenção: Construção Intenção: define uma interface

Leia mais

Factory Pattern. SISMO - Sistemas e Mobilidade Junho de Departamento de Informática / UFMA

Factory Pattern. SISMO - Sistemas e Mobilidade  Junho de Departamento de Informática / UFMA Factory Pattern SISMO - Sistemas e Mobilidade http://www.sismo.deinf.ufma.br Departamento de Informática / UFMA Junho de 2008 Do que vamos tratar? Criação de objetos não é simplesmente usar o operador

Leia mais

Creational Patterns Factory method

Creational Patterns Factory method Objetivo do Factory method é definir qual será a subclasse que utilizada um cliente. Permite que o sistema funcione sem o conhecimento prévio das subclasses. Assim um framework pode ser construído apenas

Leia mais

Padrões de Projeto. Abstract Factory

Padrões de Projeto. Abstract Factory Padrões de Projeto Padrões de Criação Abstract Factory Prof. Eduardo N F Zagari Prof. Ivan Granja Abstract Factory Provê uma interface para criação de famílias de objetos relacionados ou dependentes sem

Leia mais

Padrões Fábrica. Simple Factory Factory Method

Padrões Fábrica. Simple Factory Factory Method Universidade Federal de Uberlândia Faculdade de Computação Disciplina: POO2 Prof. Fabiano Azevedo Dorça Padrões Fábrica Simple Factory Padrões Fábrica Padrão Simple Factory: fornece interfaces para criar

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 1 Objetivos Descrever requisitos funcionais e não funcionais Explicar como os requisitos de software podem

Leia mais

Motivação Este trabalho apresenta o desenvolvimento do controle da interatividade num sistema para a área de computação gráfica, mais especificamente

Motivação Este trabalho apresenta o desenvolvimento do controle da interatividade num sistema para a área de computação gráfica, mais especificamente Viabilização da Análise de Interação em um Software Colaborativo para Modelagem de Objetos 3D Eduardo Barrére, Ana Luiza Dias e Claudio Esperança Motivação Este trabalho apresenta o desenvolvimento do

Leia mais

SUMÁRIO PARTE I. Princípios de Projeto, a Linguagem de Modelagem Unificada (Unified Modeling Language, ou UML) e Projeto em Nível de Código

SUMÁRIO PARTE I. Princípios de Projeto, a Linguagem de Modelagem Unificada (Unified Modeling Language, ou UML) e Projeto em Nível de Código SUMÁRIO INTRODUÇÃO O processo de software.......21 0.1 INTRODUÇÃO AO PROCESSO DE SOFTWARE.21 0.1.1 As fases do processo de software.....21 0.1.2 Estilos do processo de software.......22 0.1.3 Procedimentos

Leia mais

Padrões de Projeto de Software

Padrões de Projeto de Software Padrões de Projeto de Software Abstract Factory Paulo Gomide Departamento de Ciência da Computação Universidade de Itaúna Sumary Abstract Factory Definição, Motivação e Aplicabilidade Estrutura, Elementos

Leia mais

1.1. Definição do Problema

1.1. Definição do Problema 13 1 Introdução Uma das principais preocupações de área de engenharia de software diz respeito à reutilização [1]. Isso porque a reutilização no contexto de desenvolvimetno de software pode contribuir

Leia mais

- Campus Salto. Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula E-mail: fernandohs@ifsp.edu.br

- Campus Salto. Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula E-mail: fernandohs@ifsp.edu.br Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula E-mail: fernandohs@ifsp.edu.br Sistemas de Arquivos- Parte 2 Pontos importantes de um sistema de arquivos Vários problemas importantes devem

Leia mais

Modulo II Padrões GRASP

Modulo II Padrões GRASP Modulo II Padrões GRASP 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 Padrões de Projeto

Leia mais

Orientação a Objetos

Orientação a Objetos Orientação a Objetos 1. Manipulando Atributos Podemos alterar ou acessar os valores guardados nos atributos de um objeto se tivermos a referência a esse objeto. Os atributos são acessados pelo nome. No

Leia mais

Análise e Projeto Orientados por Objetos

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

Leia mais

Lista de Exercícios Para a P2

Lista de Exercícios Para a P2 Técnicas de Projeto e Implementação de Sistemas I Lista de Exercícios Para a P2 1. Explique o conceito de padrões de projeto e o diferencie dos Frameworks e APIs. 2. Explique o conceito de composição em

Leia mais

Modelando sistemas em UML - Casos de uso.

Modelando sistemas em UML - Casos de uso. Modelando sistemas em UML - Casos de uso. Neste artigo vou falar um pouco sobre modelagem de sistemas usando UML focando exclusivamente os diagramas de casos de uso. A primeira coisa que devemos ter em

Leia mais

Árvores Parte 1. Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos

Árvores Parte 1. Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos Árvores Parte 1 Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos Árvores uma introdução As listas apresentadas na aula anterior formam um conjunto de TADs extremamente importante

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel Programação Orientada a objetos Orientação a Objetos É uma técnica de desenvolvimento de softwares que consiste em representar os elementos do

Leia mais

Proporcionar a modelagem de sistemas utilizando todos os conceitos da orientação a objeto;

Proporcionar a modelagem de sistemas utilizando todos os conceitos da orientação a objeto; Módulo 7 UML Na disciplina de Estrutura de Sistemas de Informação, fizemos uma rápida passagem sobre a UML onde falamos da sua importância na modelagem dos sistemas de informação. Neste capítulo, nos aprofundaremos

Leia mais

Usando o painel do operador

Usando o painel do operador Esta seção contém informações sobre o painel do operador, sobre a alteração das definições da impressora e sobre os menus do painel do operador. 1 É possível mudar a maioria das definições da impressora

Leia mais

Diagramas de Componentes e Diagramas de Deployment

Diagramas de Componentes e Diagramas de Deployment Introdução Diagramas de Componentes e Diagramas de Deployment Ricardo R. Gudwin 05/10/2010 Neste texto, apresentamos um resumo da norma UML que descreve diagramas de componentes e diagramas de distribuição

Leia mais

Introdução à Algoritmos. Aula 11

Introdução à Algoritmos. Aula 11 Introdução à Algoritmos Aula 11 Um programa de computador é um produto resultante da atividade intelectual. Essa atividade depende de um treinamento prévio em abstração e modelagem de problemas, bem como

Leia mais

Qualidade de Produto. Maria Cláudia F. P. Emer

Qualidade de Produto. Maria Cláudia F. P. Emer Qualidade de Produto Maria Cláudia F. P. Emer Introdução Qualidade diretamente ligada ao produto final Controle de qualidade Adequação do produto nas fases finais no processo de produção Software Atividades

Leia mais

Programação Orientada a Objetos. Professor Leonardo Cabral - Larback

Programação Orientada a Objetos. Professor Leonardo Cabral - Larback Programação Orientada a Objetos Professor Leonardo Cabral - Larback Programação Orientada a Objetos O termo Programação Orientada a Objetos (POO) foi criado por Alan Kay (http://pt.wikipedia.org/wiki/alan_kay),

Leia mais

7. Defina encapsulamento. R.: Encapsular é ocultar. Criar uma cápsula ao redor da classe, para proteger o que está dentro dela.

7. Defina encapsulamento. R.: Encapsular é ocultar. Criar uma cápsula ao redor da classe, para proteger o que está dentro dela. 1. O que são classes? Dê exemplos. R.: Classe é um tipo abstrato de dados. Encapsula estrutura e comportamento. Ou seja: uma descrição de um conjunto de objetos que compartilham a mesma estrutura, os mesmos

Leia mais

OpenPDV: Sistema aberto para gerenciamento de restaurantes

OpenPDV: Sistema aberto para gerenciamento de restaurantes Universidade Federal de Santa Catarina Departamento de Informática e Estatística INE5638 Introdução a Projetos Orientador: José Eduardo de Lucca OpenPDV: Sistema aberto para gerenciamento de restaurantes

Leia mais

Abstract Factory. Prover uma interface para criar uma família de objetos relacionados ou dependentes sem especificar suas classes concretas

Abstract Factory. Prover uma interface para criar uma família de objetos relacionados ou dependentes sem especificar suas classes concretas Objetivo Prover uma interface para criar uma família de objetos relacionados ou dependentes sem especificar suas classes concretas Também chamado de Kit Resumo Parece semelhante ao padrão Factory Method,

Leia mais

Algoritmos e Programação II

Algoritmos e Programação II Algoritmos e Programação II Agenda Desenvolver Software Objetos Classes Estudo de algumas Classes da API Estudo de algumas Classes da API Pacotes Criando nossa primeira classe Desenvolver SOFTWARE GAP

Leia mais

LINGUAGEM SQL Linguagem usada em SGBD para: Definir estrutura de dados; Modificar dados em um banco de dados; Especificar restrições de segurança; Rea

LINGUAGEM SQL Linguagem usada em SGBD para: Definir estrutura de dados; Modificar dados em um banco de dados; Especificar restrições de segurança; Rea BANCO DE DADOS Prof. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com SQL A Structed Query Language foi desenvolvida em 1974 nos laboratório da IBM em San José na Califórnia,

Leia mais

CONFIGURANDO SERVIDOR SAT SS-1000

CONFIGURANDO SERVIDOR SAT SS-1000 1. COMUNICAÇÃO SAT-PC CONFIGURANDO SERVIDOR SAT SS-1000 Por especificação, todos os SATs, obrigatoriamente, devem se comunicar com o computador pelo cabo USB. A Sweda optou por um mecanismo moderno para

Leia mais

Introdução. Qualidade de Produto. Introdução. Introdução ISO/IEC 9126. Normas

Introdução. Qualidade de Produto. Introdução. Introdução ISO/IEC 9126. Normas Qualidade de Produto Maria Cláudia F.P. Emer Introdução z Qualidade diretamente ligada ao produto final z Controle de qualidade Adequação do produto nas fases finais no processo de produção z Software

Leia mais

INFORMÁTICA PARA GESTÃO II Curso Superior de Gestão de Marketing

INFORMÁTICA PARA GESTÃO II Curso Superior de Gestão de Marketing INFORMÁTICA PARA GESTÃO II Curso Superior de Gestão de Marketing Docente (Teóricas): Eng.º Vitor M. N. Fernandes Web: http://www.vmnf.net/ipam Mail: vmnf@yahoo.com Aula 10 Sumário Relacionamentos entre

Leia mais

OBSERVAÇÕES: EXERCÍCIOS

OBSERVAÇÕES: EXERCÍCIOS OBSERVAÇÕES: 1. Esta lista de exercícios poderá ser resolvida individualmente ou em grupos de 2 pessoas. 2. A lista possui 25 exercícios, destes você deve responder os 5 primeiros exercícios e os outros

Leia mais

Modem e rede local Guia do usuário

Modem e rede local Guia do usuário Modem e rede local Guia do usuário Copyright 2008 Hewlett-Packard Development Company, L.P. As informações contidas neste documento estão sujeitas a alterações sem aviso. As únicas garantias para produtos

Leia mais

INF011 Padrões de Projeto. 02 Creational Patterns

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

Aula Extra. Depurador Code::Blocks. Monitoria de Introdução à Programação

Aula Extra. Depurador Code::Blocks. Monitoria de Introdução à Programação Aula Extra Depurador Code::Blocks Monitoria de Introdução à Programação Depurador - Definição Um depurador (em inglês: debugger) é um programa de computador usado para testar outros programas e fazer sua

Leia mais

Vamos imaginar que queremos projetar um jogo em que haja diferentes personagens:

Vamos imaginar que queremos projetar um jogo em que haja diferentes personagens: Interfaces Interfaces Interfaces padronizam como coisas, pessoas ou sistemas podem interagir Por exemplo, os controles de um rádio: interface entre o usuário e os componentes internos do rádio Interfaces

Leia mais

Capítulo 4 - Polimorfismo

Capítulo 4 - Polimorfismo Capítulo 4 - Polimorfismo 1. POLIMORFISMO: VAMOS NOS ADAPTAR... 1 1.1 APRENDENDO A PREVER O FUTURO... 1 1.2 O QUE É POLIMORFISMO... 1 1.3 TIPOS DE POLIMORFISMO... 4 1.4 PERGUNTAS - EXERCÍCIO... 5 1. Polimorfismo:

Leia mais

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

Introdução aos Padrões de Projeto. Sylvio Barbon Jr Introdução aos Padrões de Projeto Sylvio Barbon Jr 25 février 2016 Introdução Disciplina Engenharia de Software : São Tratados principalmente os tesmas : Metodologia : No desenvolvimento

Leia mais

Documento de Requisitos do Sistema SISFOTO Sistema de gerenciamento de eventos fotográficos Versão 1.0

Documento de Requisitos do Sistema SISFOTO Sistema de gerenciamento de eventos fotográficos Versão 1.0 SISFOTO Sistema de Gerenciamento de Eventos Fotográficos do Sistema SISFOTO Sistema de gerenciamento de eventos fotográficos Versão 1.0 Histórico de Alterações Data Versão Descrição Autor 17/10/2014 1.0

Leia mais

Padrões GoF Strategy, Observer, Singleton, Abstract Factory e outros...

Padrões GoF Strategy, Observer, Singleton, Abstract Factory e outros... Padrões GoF Strategy, Observer, Singleton, Abstract Factory e outros... SSC-526 Análise e Projeto Orientados a Objeto Profa. Dra. Elisa Yumi Nakagawa 2º semestre de 2013 1 Mais Padrões GoF Strategy Observer

Leia mais

de rede são comumente utilizadas nos dias de hoje. Um dos grandes desafios para a tecnologia de redes sem fio no momento é o handoff vertical, onde

de rede são comumente utilizadas nos dias de hoje. Um dos grandes desafios para a tecnologia de redes sem fio no momento é o handoff vertical, onde 15 1 Introdução A utilização e a popularidade dos dispositivos móveis crescem a cada dia. Mobilidade, flexibilidade, facilidade de comunicação e entretenimento proporcionado por dispositivos, como laptops,

Leia mais

LINHAS MESTRAS; FASES; DISCIPLINAS; PRINCÍPIOS E MELHORES PRÁTICAS.

LINHAS MESTRAS; FASES; DISCIPLINAS; PRINCÍPIOS E MELHORES PRÁTICAS. INTRODUÇÃO O processo de engenharia de software define quem faz o quê, quando e como para atingir um determinado objetivo. Neste trabalho, iremos dissertar sobre o Rational Unified Process, ou RUP, que

Leia mais

INF011 Padrões de Projeto. 03 Abstract Factory

INF011 Padrões de Projeto. 03 Abstract Factory INF011 Padrões de Projeto 03 Abstract Factory Sandro Santos Andrade sandroandrade@ifba.edu.br Instituto Federal de Educação, Ciência e Tecnologia da Bahia Departamento de Tecnologia Eletro-Eletrônica Graduação

Leia mais

Glossário Versão 1.0 Desenvolvimento do Sistema de Gestão de Documentos Doc Manager Histórico de Revisão

Glossário Versão 1.0 Desenvolvimento do Sistema de Gestão de Documentos Doc Manager Histórico de Revisão Glossário Versão 1.0 Desenvolvimento do Sistema de Gestão de Documentos Doc Manager Cliente: São José Agroindustrial Representante do cliente: Paulo José de Souza Histórico de Revisão 1 Data Versão Descrição

Leia mais

Documento de Processo

Documento de Processo Documento de Processo versão 1.0 Desenvolvimento do Sistema de Gestão de Documentos Doc Manager Cliente: São José Agroindustrial Representante do cliente: Paulo José de Souza 2 Histórico de Alterações

Leia mais

2. Tipos Abstratos de Dados

2. Tipos Abstratos de Dados 2. Tipos Abstratos de Dados Um Tipo Abstrato de Dados especifica uma classe de dados definida pelo usuário em termos de suas propriedades abstratas Esta especificação do TAD descreve o comportamento de

Leia mais

Exemplo, ao invés de você ter centenas de funções no mesmo contexto para atividades diferentes, você agrupa em objetos com comportamentos semelhantes

Exemplo, ao invés de você ter centenas de funções no mesmo contexto para atividades diferentes, você agrupa em objetos com comportamentos semelhantes Programação Orientada a Objetos O termo Programação Orientada a Objetos foi criado por Alan Kay, autor da linguagem de programação Smalltalk. Mas mesmo antes da criação do Smalltalk, algumas das idéias

Leia mais

Unidade II Atividades em PDS: Testes. Unidade III Suporte e Manutenção. Processo Desenvolvimento Software

Unidade II Atividades em PDS: Testes. Unidade III Suporte e Manutenção. Processo Desenvolvimento Software Unidade II Atividades em PDS: Testes Unidade III Suporte e Manutenção Atividades Básicas em um PDS Definição / Especificação: (o quê?) Análise econômica Análise de requisitos Especificação de requisitos

Leia mais

UTILIZAÇÃO DE ARQUITETURA EM CAMADAS BASEADA NO MODEL VIEW CONTROLLER, EM APLICAÇÕES WEB

UTILIZAÇÃO DE ARQUITETURA EM CAMADAS BASEADA NO MODEL VIEW CONTROLLER, EM APLICAÇÕES WEB UTILIZAÇÃO DE ARQUITETURA EM CAMADAS BASEADA NO MODEL VIEW CONTROLLER, EM APLICAÇÕES WEB Viviani Priscila Piloni VILHEGAS 1 RESUMO: Este trabalho procura mostrar a importância da utilização de um modelo

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Interconexão do Computador Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Material do prof. Sílvio Fernandes -

Leia mais

TUTORIAL MATLAB Victor Breder 2016

TUTORIAL MATLAB Victor Breder 2016 TUTORIAL MATLAB Victor Breder 2016 1. INTERFACE A. Caminho de trabalho Mostra o caminho pasta raiz que será considerada para executar scripts e funções criados pelo usuário. B. Pasta de trabalho Mostra

Leia mais

Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc.

Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc. Padrões Um padrão de é uma maneira de documentar uma solução conhecida para um problema usualmente encontrado O objetivo do padrão é permitir que boas soluções sejam reutilizadas em diferentes projetos

Leia mais

Avaliação e Desempenho Aula 1 - Simulação

Avaliação e Desempenho Aula 1 - Simulação Avaliação e Desempenho Aula 1 - Simulação Introdução à simulação Geração de números aleatórios Lei dos grandes números Geração de variáveis aleatórias O Ciclo de Modelagem Sistema real Criação do Modelo

Leia mais

Modelo CMMI em Fábrica de Software

Modelo CMMI em Fábrica de Software Modelo CMMI em Fábrica de Software Carol Passos Gerente de Conhecimento - BRAXIS Março/2007 Assuntos Motivação Modelo CMMI Melhoria de Processo de Software Fábrica de Software Processo de Produção de Software

Leia mais

Linguagens e Técnicas de Programação II

Linguagens e Técnicas de Programação II Linguagens e Técnicas de Programação II Modelagem Orientada a Objetos Renato Dourado Maia Universidade Estadual de Montes Claros Sistemas de Informação Lembrando Na Unidade I Gerenciando a Complexidade,

Leia mais

5 - Qual é a principal vantagem de desenvolvimento de código por pares:

5 - Qual é a principal vantagem de desenvolvimento de código por pares: 1 - Quais são os atributos essenciais de um bom software: a) Ser baseado numa boa linguagem de programação b) Fácil manutenção, segurança, eficiência e aceitabilidade c) Fácil manutenção e simplicidade

Leia mais

Padrões de Projeto de Software

Padrões de Projeto de Software Padrões de Projeto de Software Template Method Paulo Gomide Departamento de Ciência da Computação Universidade de Itaúna Sumary Template Method Definição, Motivação e Aplicabilidade Estrutura, Elementos

Leia mais

Aula 01 Introdução Custo de um algoritmo, Funções de complexidad e Recursão

Aula 01 Introdução Custo de um algoritmo, Funções de complexidad e Recursão MC3305 Algoritmos e Estruturas de Dados II Aula 01 Introdução Custo de um algoritmo, Funções de complexidad e Recursão Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 2Q-2015 1 Custo de um algoritmo

Leia mais

Sistemas de Tempo Real

Sistemas de Tempo Real Escola de Computação 2000 - IME-USP Sistemas de Tempo Real Jean-Marie Farines Joni da Silva Fraga Rômulo Silva de Oliveira LCMI - Laboratório de Controle e Microinformática DAS - Departamento de Automação

Leia mais

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

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

Leia mais

4 Um processo para a elaboração de perguntas de questionários para a elicitação de requisitos de software

4 Um processo para a elaboração de perguntas de questionários para a elicitação de requisitos de software 4 Um processo para a elaboração de perguntas de questionários para a elicitação de requisitos de software Esse capítulo tem por objetivo apresentar um método que foi criado com objetivo de prover ao Engenheiro

Leia mais

Algoritmos e Estruturas de Dados I. Recursividade. Pedro O.S. Vaz de Melo

Algoritmos e Estruturas de Dados I. Recursividade. Pedro O.S. Vaz de Melo Algoritmos e Estruturas de Dados I Recursividade Pedro O.S. Vaz de Melo Problema Implemente uma função que classifique os elementos de um vetor em ordem crescente usando o algoritmo quicksort: 1. Seja

Leia mais

INTRODUÇÃO A CONTABILIDADE

INTRODUÇÃO A CONTABILIDADE 1.1. Contabilidade para não Contadores INTRODUÇÃO A CONTABILIDADE Objetiva ensinar a Contabilidade para aqueles que não são contadores, mas necessitam interpretar (entender) a Contabilidade, os relatórios

Leia mais

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

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

Leia mais

Banco de Dados. Modelo Entidade Relacionamento Estendido DCC IME USP. João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger

Banco de Dados. Modelo Entidade Relacionamento Estendido DCC IME USP. João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger Banco de Dados Modelo Entidade Relacionamento Estendido João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger DCC IME USP MER X O MER X é uma extensão do MER, o qual adiciona: Abstração de Agregação

Leia mais

JPA Java Persistence API

JPA Java Persistence API Introdução O principal foco da versão 5 do Java EE é a facilidade de uso. O novo Java EE é bem mais simples que sua versão anterior e suas novas APIs aumentam a produtividade dos desenvolvedores, exigindo

Leia mais

Desenvolvimento guiado por testes e ferramentas xunit

Desenvolvimento guiado por testes e ferramentas xunit Desenvolvimento guiado por testes e ferramentas xunit Carlos Eduardo Santin Disciplina de Engenharia de Software Universidade Federal do Rio Grande do Sul - UFRGS 1 de Maio de 2006 Roteiro 1 Teste de Software

Leia mais

Notação de Classes e Objetos

Notação de Classes e Objetos Padrões Criacionais Notação Notação de Classes e Objetos referencia objeto ClasseAbstrata agrega um ClasseConcreta operaçãoabstrata() cria muitos SubclasseConcreta1 operação() variáveldeinstância SubclasseConcreta2

Leia mais

GUIA DE INSTALAÇÃO MULTIBIO 700

GUIA DE INSTALAÇÃO MULTIBIO 700 GUIA DE INSTALAÇÃO MULTIBIO 700 1. Instalação do equipamento (1)Cole o modelo de montagem na (2) Remova o parafuso na parte (3) Tire a placa traseira. parede, Faça os furos de acordo inferior do dispositivo

Leia mais

Processo de Desenvolvimento de Software

Processo de Desenvolvimento de Software Processo de Desenvolvimento de Software Programação Orientada a Objetos Prof. Francisco de Assis S. Santos, Dr. São José, 2015. Processo de Desenvolvimento de Software O desenvolvimento de software é uma

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Prof. Kléber de Oliveira Andrade pdjkleber@gmail.com Objetos e Classes Programação Orientada ao Objeto O paradigma da Orientação ao Objeto é um mecanismo que ajuda a definir

Leia mais

SIMULADO A - COBIT 5 PORTUGUES

SIMULADO A - COBIT 5 PORTUGUES SIMULADO A - COBIT 5 PORTUGUES 1. Que atributo está associado a um processo já estabelecido? a. Definição do Processo b. Medida do Processo c. Otimização do Processo d. Gerenciamento de Desempenho 2. Que

Leia mais

C com introdução a OO

C com introdução a OO ... Centro Integrado de Tecnologia da Informação C com introdução a OO ... Centro Integrado de Tecnologia da Informação Aula 9 Ronald Dener - Instrutor Matheus Soares - Monitor 17 / outubro 17 / outubro

Leia mais

Aplicando Composição e Orquestração de Serviços na Organização de Sistemas

Aplicando Composição e Orquestração de Serviços na Organização de Sistemas Aplicando Composição e Orquestração de Serviços na Organização de Sistemas Silva, Leo Moreira Centro Federal de Educação Tecnológica do Rio Grande do Norte (CEFET-RN) CEP 59015-000 Natal RN Brazil 1. Introdução

Leia mais

Edições da característica do CallerID do CallManager

Edições da característica do CallerID do CallManager Edições da característica do CallerID do CallManager Índice Introdução Pré-requisitos Requisitos Componentes Utilizados Convenções Nome do CallManager e da chamada originada Indicador IE NI2/NI3 CNID (Bellcore

Leia mais

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Capítulo 6 - Threads

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Capítulo 6 - Threads Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Capítulo 6 - Threads Com o conceito de múltiplos threads (multithread) é possível

Leia mais

Programas Utilitários: Antivírus e Desfragmentadores de disco. Prof. Rafael Sandim

Programas Utilitários: Antivírus e Desfragmentadores de disco. Prof. Rafael Sandim Programas Utilitários: Antivírus e Desfragmentadores de disco Prof. Rafael Sandim Programas Utilitários Desfragmentadores de Disco Antivírus Desfragmentadores de Disco É um software Usa-lo, corretamente,

Leia mais

Universidade Federal da Paraíba Centro de Informática Departamento de Informática

Universidade Federal da Paraíba Centro de Informática Departamento de Informática Universidade Federal da Paraíba Centro de Informática Departamento de Informática Disciplina: Introdução à Programação Horário: T08002, I08002 Sala: CISB01 T10002, I10002 Sala: CI304 Número de Créditos:

Leia mais

Linux e Computação Científica

Linux e Computação Científica Linux e Computação Científica Sumário Motivação Noções de Sistemas Operacionais Ferramental Computação Científica Motivação Financeira Linux é livre Desempenho Linux gerencia melhor recursos de processdor,

Leia mais

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Use o para alterar as configurações da impressora que afetam os trabalhos enviados à impressora por uma porta serial (Serial Padrão ou Opção Serial ). Selecione um item de menu para obter mais detalhes:

Leia mais

3 Informações para Coordenação da Execução de Testes

3 Informações para Coordenação da Execução de Testes Informações para Coordenação da Execução de Testes 32 3 Informações para Coordenação da Execução de Testes Diversas ferramentas oferecidas na literatura têm auxiliado na coordenação da execução dos testes

Leia mais

Agenda. O que é Testar? Por que testar? Quando testar? Processo de teste Níveis de teste Tipos de teste Classificação dos testes.

Agenda. O que é Testar? Por que testar? Quando testar? Processo de teste Níveis de teste Tipos de teste Classificação dos testes. Agenda O que é Testar? Conceitos Por que testar? Quando testar? Custo do defeito Processo de teste Níveis de teste Tipos de teste Classificação dos testes Entendendo o que é TESTAR Testar é analisar um

Leia mais

Os conceitos aprendidos são fundamentais, essenciais para escrever um programa macro. Mas o que é um programa macro?

Os conceitos aprendidos são fundamentais, essenciais para escrever um programa macro. Mas o que é um programa macro? Resumo. O uso de uma variável é necessário quando você não sabe ainda um valor ou uma função, ou seja, quando há uma situação de mudança que impede a determinação direta destes valores. Uma variável pode

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Curso: Engenharia de Software Arquitetura de Software Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 2 Introdução à Arquitetura de Software Arquitetura

Leia mais

Manual Escrituração Fiscal Digital

Manual Escrituração Fiscal Digital Manual Escrituração Fiscal Digital 29/11/2013 Sumário 1 Introdução... 3 2 Funcionalidade... 3 3 Navegação no Sistema... 3 3.1 Inicialização... 3 4 Configurações Gerais... 6 4.1 Domínios... 6 4.2 Configuração

Leia mais

Modelos de Ciclo de Vida de Software

Modelos de Ciclo de Vida de Software Análise 1 Modelos de Ciclo de Vida de Software Um ciclo de vida do software é um período aproximado do desenvolvimento de software, com capacidade de entrega específica e marcos dentro de cada fase. Um

Leia mais

MANUAL DO SISTEMA. Versão 6.05

MANUAL DO SISTEMA. Versão 6.05 MANUAL DO SISTEMA Versão 6.05 Considerações Gerais...1 Configurações...2 Configurando Tipo de Ordem de Serviço...3 Inserindo um Controle de Recall / Campanha...4 Chassis em Recall / Campanha...6 Aviso

Leia mais

O que há de novo. Audaces Vestuário Versão Clube Audaces

O que há de novo. Audaces Vestuário Versão Clube Audaces O que há de novo Audaces Vestuário Versão Clube Audaces Com o propósito de produzir tecnologia de ponta, o principal requisito da Política de Qualidade da Audaces é oferecer produtos inovadores e serviços

Leia mais

Padrões Comportamentais

Padrões Comportamentais Padrões Comportamentais Parte 1 Soluções Reutilizáveis de Software Orientado a Objetos Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Padrões de Projeto Comportamentais 1. Chain of Responsibility 2.

Leia mais

Montadores e Compiladores

Montadores e Compiladores Montadores e Compiladores Prof. Idevar Gonçalves de Souza Júnior Conteúdo Programático Resumido Revisão da Arquitetura de Computadores Introdução a Teoria das Linguagens Compilação e Interpretação Análise

Leia mais

Algoritmos e Programação : Conceitos e estruturas básicas. Hudson Victoria Diniz

Algoritmos e Programação : Conceitos e estruturas básicas. Hudson Victoria Diniz Algoritmos e Programação : Conceitos e estruturas básicas Hudson Victoria Diniz Relembrando... Um algoritmo é formalmente uma seqüência finita de passos que levam a execução de uma tarefa. Podemos pensar

Leia mais

Buffer Trabalhos MAC Binary PS Buffer de Rede Configuração de Rede <x> Modo NPA Comutação p/ PCL Configuração p/ PS

Buffer Trabalhos MAC Binary PS Buffer de Rede Configuração de Rede <x> Modo NPA Comutação p/ PCL Configuração p/ PS Use o para alterar as configurações da impressora que afetam os trabalhos enviados à impressora por uma porta de rede (Rede Padrão ou Opção Rede ). Selecione um item de menu para obter mais detalhes:

Leia mais

Backup e Recuperação Guia do Usuário

Backup e Recuperação Guia do Usuário Backup e Recuperação Guia do Usuário Copyright 2007 Hewlett-Packard Development Company, L.P. Windows é uma marca registrada da Microsoft Corporation nos Estados Unidos. As informações contidas neste documento

Leia mais

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com /

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / andre.belini@ifsp.edu.br MATÉRIA: QUALIDADE DE SOFTWARE Tema: Testes de Caixa

Leia mais

3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks

3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks 48 3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks Este capítulo apresenta uma visão geral da contribuição principal deste trabalho: uma abordagem orientada a aspectos para o

Leia mais

Gerenciamento de dispositivos móveis

Gerenciamento de dispositivos móveis Gerenciamento de dispositivos móveis A ferramenta Mobility management é um add-on do LANDesk Management Suite que permite a descoberta de dispositivos móveis que acessam as caixas de e-mail do Microsoft

Leia mais

Desenvolvimento Organizacional

Desenvolvimento Organizacional Desenvolvimento Organizacional O desenvolvimento Organizacional nasceu na década de 1960 devido as mudanças no mundo das organizações e em função das estruturas convencionais serem inadequadas a essas

Leia mais