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

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

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

Transcrição

1 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 Um padrão de projeto possui 3 partes distintas: Contexto Problema recorrente neste contexto Solução para o problema Características dos Padrões de Projeto São observados através da experiência São descritos de uma forma estruturada Previnem contra a reinvenção da roda Existem em diferentes níveis de abstração Estão em desenvolvimento contínuo São artefatos reutilizáveis Transmitem melhores práticas Permitem o uso de um vocabulário comum Podem ser utilizados em conjunto para resolver um problema mais amplo 57 Classificação de Padrões Padrões Os padrões de projeto podem ser classificados de acordo com a fase de desenvolvimento em que são mais adequados: Padrões de Análise (Analysis patterns) Seu foco é na fase de análise ou modelamento de negócio Padrões ligados ao domínio do problema Padrões de Arquitetura (Architectural patterns) Seu foco é na arquitetura do software Padrões de Projeto (Design patterns) Foco no projeto de componentes do software Muitas das vezes os padrões podem estar muito ligados tanto ao domínio da solução, quanto do problema 58 1

2 Classificação de Padrões Padrões Padrões de Análise (Analysis patterns) Martin Fowler, 1996 Padrões de Arquitetura (Architectural patterns) Apresentado inicialmente por Frank Buschmann et al., 1996 Computação Distribuída - Frank Buschmann et al., 2007 Padrões de Projeto (Design patterns) GOF (Gang of Four) E. Gamma, R. Helm, R. Johnson, J. Vlissides 1995 Aplicações Concorrentes e em Rede - Frank Buschmann et al Enterprise Integration Patterns Gregor Hohpe, 2003 Real-time Design Patterns Bruce Douglass, 2003.Net Design Patterns - Christian Thilmany, 2003 J2EE Design Patterns - Deepak Alur, 2003 Web Services Patterns Paul Monday, 2003 Ajax Design Patterns - Michael Mahemoff, 2006 SOA Design Patterns Thomas Erl, Padrões de Análise (Analysis Patterns) Proposto por Martin Fowler, em livro publicado em 1996 Notação do Livro não é baseada em UML Baseada em áreas (domínios) específicas como: manufatura; financeira e saúde Mesmo assim, padrões podem apresentados podem ser úteis em outros domínios Alguns princípios apresentados Um modelo não está certo ou errado, eles podem ser mais ou menos úteis Modelos conceituais estão ligados a tipos (interfaces) e não implementações (classes) Padrões são o ponto de partida, não o destino Sempre que possível, quando existir um tipo e um supertipo, considere colocar os recursos no supertipo, desde que isto faça sentido Quando múltipos atributos possuam um comportamento relacionado e presente em muitos tipos, combine estes atributos em um novo tipo fundamental 60 2

3 Padrões de Análise (Analysis Patterns) Exemplos de alguns padrões de projeto Quantity (3.1) Conversion Ratio (3.2) Compound Units (3.3) 3) Measurement (3.4) Observation (3.5) Range (4.3) Name (5.1) Account (6.1) Transaction (6.2) Summary Account (6.3) Plan (8.4) Contract (9.1) Product (10.3) Associative Type (15.1) 61 Padrões de Projeto GoF Trabalho proposto inicialmente por Erich Gamma, Richard Helm, Ralph Jonhson, John Vlissides (Gang of Four) em 1995 Famílias de Padrões De Criação Responsáveis pela criação de objetos Permitem que o sistema fique independente da forma como os objetos são criados Estruturais Relacionados com a forma com que classes e objetos são compostos a fim de formar estruturas maiores Comportamentais Relacionados com a atribuição de responsabilidades entre objetos Descrevem a comunicação entre objetos 62 3

4 Padrões de Criação Factory Fornece uma interface para criar um objeto, porém a decisão de qual classe será instanciada é decidida pelas subclasses Fornecem uma interface para criação de objetos sem especificar sua classe concreta Singleton Garante que apenas uma classe possua uma única instância e oferece um acesso global à mesma Builder Permite separar a construção de um objeto complexo de sua representação a fim de que diferentes objetos sejam criados através do mesmo processo Prototype Permite que um objeto seja criado a partir de uma instância existente copiando suas propriedades 63 Factory Permite que um objeto seja criado sem que seja necessário informar a classe exata que será criada Separa a complexidade de criação do objeto Uma interface define um método padrão para criação Subclasses implentam este método e devolvem o objeto desejado A fábrica implementa o método criando o objeto conforme necessário class GOF - Factory «interface» ImageReader + getdecodedimage() : DecodedImage ImageReaderFactory + getimagereader(inputstream) : ImageReader GifReader + getdecodedimage() : DecodedImage JpegReader + getdecodedimage() : DecodedImage 64 4

5 Factory Exemplo public interface ImageReader { public DecodedImage getdecodedimage(); public class GifReader implements ImageReader { public DecodedImage getdecodedimage() { //... return decodedimage; public class JpegReader implements ImageReader { public DecodedImage getdecodedimage() { //... return decodedimage; 65 Factory Exemplo public class ImageReaderFactory { public static ImageReader getimagereader(inputstream is) { int imagetype = determineimagetype(is); switch(imagetype) { ( g yp ) { case ImageReaderFactory.GIF: return new GifReader(is); case ImageReaderFactory.JPEG: return new JpegReader(is); // etc. 66 5

6 Permite que objetos sejam criados de forma transparente caso exista um grupo de diferente fábricas class Design Pattern - ApplicationRunner + main(string[]) : void + createosspecificfactory() : GUIFactory Application + Application(GUIFactory) «interface» GUIFactory «interface» Button + createbutton() : Button + paint() : void WinFactory OSXFactory WinButton OSXButton + createbutton() : Button + createbutton() : Button + paint() : void + paint() : void 67 interface GUIFactory { public Button createbutton(); class WinFactory implements GUIFactory { y p y { public Button createbutton() { return new WinButton(); class OSXFactory implements GUIFactory { public Button createbutton() { return new OSXButton(); 68 6

7 interface Button { public void paint(); class WinButton implements Button { bli id i t() { public void paint() { System.out.println("I'm a WinButton"); class OSXButton implements Button { public void paint() { System.out.println("I'm an OSXButton"); 69 class Application { public Application(GUIFactory factory) { Button button = factory.createbutton(); button.paint(); public class ApplicationRunner { public static void main(string[] args) { new Application(createOsSpecificFactory()); public static GUIFactory createosspecificfactory() { int sys = readfromconfigfile("os_type"); Fil if (sys == 0) { return new WinFactory(); else { return new OSXFactory(); 70 7

8 Singleton Objetivo Garante que existirá uma única instância de um objeto de uma classe e permite um acesso global ao mesmo Motivação Em muitas situações é necessário um único objeto. Exemplos: O objeto que representa um sistema de arquivos do Sistema Operacional Um objeto que representa um arquivo de configuração de uma aplicação Um objeto que representa uma conexão com um banco de dados 71 Singleton Exemplo public class Singleton { //instância de um objeto da classe Singleton //inicializada com a chamada do construtor private static Singleton instance = new Singleton(); //Construtor privado impede criação de objetos desta classe private Singleton() { //lógica para criação do objeto //método estático que retorna a única instância i da classe public static Singleton getinstance() { return instance; 72 8

9 Singleton Exemplo - Outra abordagem public class Singleton { // Private constructor prevents instantiation from other classes private Singleton() { /** * SingletonHolder is loaded on the first execution of Singleton.getInstance() * or the first access to SingletonHolder.INSTANCE, not before. */ private static class SingletonHolder { public static ti final Singleton instance = new Singleton(); public static Singleton getinstance() { return SingletonHolder.instance; 73 9

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

Análise e Projeto. Padrões de Análise, Arquitetura e Projeto Análise e Projeto Padrões de Análise, Arquitetura e Projeto 33 Padrões de Arquitetura Padrões Nome do padrão Problema: quando aplicar o padrão? Descreve o problema e seu contexto. Solução: elementos que

Leia mais

Padrões de Projeto. Padrões de Projeto. Além dos 23 Padrões GoF. Os 23 Padrões de Projeto. Documentação de um Padrão. Classificação dos Padrões

Padrões de Projeto. Padrões de Projeto. Além dos 23 Padrões GoF. Os 23 Padrões de Projeto. Documentação de um Padrão. Classificação dos Padrões DCC / ICEx / UFMG Padrões de Projeto Padrões de Projeto Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Um padrão é uma descrição do problema e a essência da sua solução Documenta boas soluções para

Leia mais

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

CURSO DE SISTEMAS DE INFORMAÇÃO ALINE DE SOUSA PEREIRA PADRÕES DE PROJETO: UMA COMPILAÇÃO DOS MAIS UTILIZADOS EM PROJETOS DE SOFTWARE

CURSO DE SISTEMAS DE INFORMAÇÃO ALINE DE SOUSA PEREIRA PADRÕES DE PROJETO: UMA COMPILAÇÃO DOS MAIS UTILIZADOS EM PROJETOS DE SOFTWARE FACULDADE DE MINAS FAMINAS-BH CURSO DE SISTEMAS DE INFORMAÇÃO ALINE DE SOUSA PEREIRA PADRÕES DE PROJETO: UMA COMPILAÇÃO DOS MAIS UTILIZADOS EM PROJETOS DE SOFTWARE BELO HORIZONTE 2008 ALINE DE SOUSA PEREIRA

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

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

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

Leia mais

Padrões de Projeto. Factory Method

Padrões de Projeto. Factory Method 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

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

Padrões de Projeto. T ó p i c o s A v a n ç a d o s e m L i n g u a g e m d e P r o g r a m a ç ã o. Prof. Alexandre Vidal

Padrões de Projeto. T ó p i c o s A v a n ç a d o s e m L i n g u a g e m d e P r o g r a m a ç ã o. Prof. Alexandre Vidal Padrões de Projeto Prof. Alexandre Vidal DEINF-UFMA Fevereiro de 2007 Singleton (padrão de criação) intenção: garantir que uma classe tenha somente uma instância e fornecer um ponto global de acesso para

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

Mas o que é mesmo Padrão de Projeto?

Mas o que é mesmo Padrão de Projeto? Mas o que é mesmo Padrão de Projeto? Um Padrão de Projeto descreve uma solução comprovada para um problema recorrente e conhecido no desenvolvimento de software orientado a objetos. Mas afinal, porque

Leia mais

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

PROJETO DE REDES www.projetoderedes.com.br. Prof. José Maurício S. Pinheiro UniFOA 2009-2

PROJETO DE REDES www.projetoderedes.com.br. Prof. José Maurício S. Pinheiro UniFOA 2009-2 PROJETO DE REDES www.projetoderedes.com.br Tecnologias WEB Web 3.0 Prof. José Maurício S. Pinheiro UniFOA 2009-2 Conceitos As pessoas geram o conhecimento; A informação é a matéria prima na geração de

Leia mais

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 17 Padrões de Design Singleton Facade Factory Method Observer Strategy

Leia mais

Análise e Projeto Orientados por Objetos

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

Leia mais

Profa. Thienne Johnson

Profa. Thienne Johnson Profa. Thienne Johnson 1 E. Gamma and R. Helm and R. Johnson and J. Vlissides. Design Patterns - Elements of Reusable Object-Oriented Software. Addison- Wesley, 1995. Conhecido como GoF (Gang of Four)

Leia mais

Análise e Projeto Orientados por Objetos

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

Leia mais

BANCO DE DADOS I AULA 2. Willamys Araújo willamysaraujo7@gmail.com

BANCO DE DADOS I AULA 2. Willamys Araújo willamysaraujo7@gmail.com BANCO DE DADOS I AULA 2 Willamys Araújo willamysaraujo7@gmail.com Modelagem de Dados Modelagem de dados é o estudo das informações existentes em um contexto sob observação para a construção de um modelo

Leia mais

Projeto de software Estrutura do software e arquitetura SWEBOK

Projeto de software Estrutura do software e arquitetura SWEBOK Projeto de software Estrutura do software e arquitetura SWEBOK SWEBOK Design Patterns Maneira testada ou documentada de alcançar um objetivo qualquer Padrões são comuns em várias áreas da engenharia Design

Leia mais

Programação 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

Análise e Projeto Orientados por Objetos

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

Leia mais

Arquitetura da Informação Organizacional: Um novo paradigma para Enterprise Architecture

Arquitetura da Informação Organizacional: Um novo paradigma para Enterprise Architecture Arquitetura da Informação Organizacional: Um novo paradigma para Enterprise Architecture Jorge Cordeiro Duarte 14 de abril de 2011 Faculdade de Ciência da Informação Universidade de Brasília 1 Enterprise

Leia mais

Desenho e documentação de arquitectura de software e de aplicações empresariais

Desenho e documentação de arquitectura de software e de aplicações empresariais Desenho e documentação de arquitectura de software e de aplicações empresariais João Pascoal Faria Laboratório de Engenharia de Software 10 de Novembro de 2003 1 Definição de arquitectura de software Arquitectura

Leia mais

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

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

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

TEORIA DAS FILAS COMO TÉCNICA MATEMÁTICA PARA REPRESENTAR O COMPORTAMENTO DE UMA SOLUÇÃO DE INTEGRAÇÃO EMPRESARIAL 1

TEORIA DAS FILAS COMO TÉCNICA MATEMÁTICA PARA REPRESENTAR O COMPORTAMENTO DE UMA SOLUÇÃO DE INTEGRAÇÃO EMPRESARIAL 1 TEORIA DAS FILAS COMO TÉCNICA MATEMÁTICA PARA REPRESENTAR O COMPORTAMENTO DE UMA SOLUÇÃO DE INTEGRAÇÃO EMPRESARIAL 1 Arléte Kelm Wiesner 2, Gabriel Freytag 3, Rafael Z. Frantz 4, Sandro Sawicki 5, Fabricia

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

Módulo I Princípios e Padrões de Projeto de SW em Java

Módulo I Princípios e Padrões de Projeto de SW em Java Módulo I Princípios e Padrões de Projeto de SW em Java Professores Eduardo Bezerra edubezerra@gmail.com Ismael H F Santos ismael@tecgraf.puc-rio.br April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br

Leia mais

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

Arquitetura TCP/IP. Apresentado por: Ricardo Quintão

Arquitetura TCP/IP. Apresentado por: Ricardo Quintão Arquitetura TCP/IP Apresentado por: Ricardo Quintão Roteiro Conexões Inter-redes Serviço Universal Rede Virtual (inter-rede ou internet) Protocolos para ligação inter-redes (TCP/IP) Divisão em camadas

Leia mais

Título : B1 INTRODUÇÃO. Conteúdo : INTRODUÇÃO

Título : B1 INTRODUÇÃO. Conteúdo : INTRODUÇÃO Título : B1 INTRODUÇÃO Conteúdo : INTRODUÇÃO O termo documentação tornou se um conceito básico nos negócios, na administração, na ciência e na tecnologia da informação. A modelagem nada mais é que uma

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

Padrões contexto problema solução

Padrões contexto problema solução Padrões Padrões são soluções para problemas específicos que ocorrem de forma recorrente em um determinado contexto que foram identificados a partir da experiência coletiva de desenvolvedores de software.

Leia mais

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

Prototype, um Design Patterns de Criação

Prototype, 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 mais

Design Patterns (Factory Method, Prototype, Singleton)

Design Patterns (Factory Method, Prototype, Singleton) DesignPatterns (FactoryMethod,Prototype,Singleton) JoãoAntónioPaz LuísMiguelClaro AlbertoManuelGomes N.º12812 N.º12817 N.º12818 FACTORYMETHOD Padrãoquedefineumainterfaceparacriaçãodeobjectos,masdeixaassubclassesdecidirque

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

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

Roni Fabio Banaszewski UTFPR Universidade Tecnológica Federal do Paraná Roni Fabio Banaszewski UTFPR Universidade Tecnológica Federal do Paraná Reuso Motivações para reutilização de software Aspecto econômico Produtividade Time to market Qualidade Utilização de artefatos (código,

Leia mais

Ref: Observatório Nacional de Clima e Saúde Projeto Observatorium.

Ref: Observatório Nacional de Clima e Saúde Projeto Observatorium. À Fundação Oswaldo Cruz, ICICT Instituto de Comunicação e Informação Científica e Tecnológica em Saúde Rio de Janeiro, 28 de outubro de 2009. At: Sr. Christovam Barcellos Ref: Observatório Nacional de

Leia mais

Análise e Projeto Orientados por Objetos

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

Leia mais

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

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

Prof.ª Esp. Talita Pagani

Prof.ª Esp. Talita Pagani Especialização em Engenharia de Software Prof.ª Esp. Talita Pagani talita.cpb@gmail.com @talitapagani 21/02/2014 Design Patterns Aula 1 Prof.ª Esp. Talita Pagani 1 Informações gerais 1. Definição de Design

Leia mais

23/10/15. Padrões de Projeto (Design Patterns) em Java. Separação de Implementação e Interface. Separação de Implementação e Interface.

23/10/15. Padrões de Projeto (Design Patterns) em Java. Separação de Implementação e Interface. Separação de Implementação e Interface. Design Patterns / Padrões de Projeto Padrões de Projeto (Design Patterns) em Java Um padrão de projeto é uma solução geral para um problema recorrente É uma espécie de gabarito para como resolver um problema

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

Singleton. Como a maioria dos programadores organizaria o código para acessar informação de configuração? Eis um exemplo:

Singleton. Como a maioria dos programadores organizaria o código para acessar informação de configuração? Eis um exemplo: Introdução Como a maioria dos programadores organizaria o código para acessar informação de configuração? Eis um exemplo: public class Config { public static final String DEFAULT_READ_COMMUNITY_NAME =

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

Arquitectura de Sistemas de Software

Arquitectura de Sistemas de Software Arquitectura de Sistemas de Software Ademar Aguiar www.fe.up.pt/~aaguiar ademar.aguiar@fe.up.pt Arquitectura de Sistemas de Software, LEIC/MEI, 2003/2004 1 Arquitectar... Arquitectar uma pequena cabana

Leia mais

Refatoração Melhorando o sistema e preparando pra a Web

Refatoração Melhorando o sistema e preparando pra a Web POO Programação Orientada a Objetos Refatoração Melhorando o sistema e preparando pra a Web Jefferson S. Silva IFET - PI Copyright Jefferson S. Silva Slide 1 Refatoração Uma prática bastante comum e difundida

Leia mais

Idiomas de Programação

Idiomas de Programação DCC / ICEx / UFMG Idiomas de Programação Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Definição de Idiomas Idiomas são padrões de baixo nível específicos de uma linguagem de programação Cada idioma

Leia mais

Análise e Projeto Orientados por Objetos

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

PHP ORIENTADO A OBJETOS. 2º Encontro PHP MG 16 e 17 de Outubro / 2009. Charles Schaefer

PHP ORIENTADO A OBJETOS. 2º Encontro PHP MG 16 e 17 de Outubro / 2009. Charles Schaefer PHP ORIENTADO A OBJETOS 2º Encontro PHP MG 16 e 17 de Outubro / 2009 Charles Schaefer Charles Schaefer Profissional PHP há 4 anos Sócio Diretor da UaiTI Instrutor dos cursos de PHP da PHPrime / Belo Horizonte

Leia mais

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

Programação Orientada a Objetos. Padrões de Projeto Programação Orientada a Objetos Padrões de Projeto 1 Contexto Desenvolver sistemas reutilizáveis é difícil porque deve-se procurar por: Uma boa decomposição do problema e a abstração correta. Flexibilidade,

Leia mais

Etapas principais do desenvolvimento de software Padrões arquiteturais Padrões de projeto

Etapas principais do desenvolvimento de software Padrões arquiteturais Padrões de projeto Etapas principais do desenvolvimento de software Padrões arquiteturais Padrões de projeto 1 Criar aplicações não é apenas escrever código (code and fix) Atualmente as aplicações exigem arquiteturas e código

Leia mais

Interface gráfica em Java: Swing e SWT

Interface gráfica em Java: Swing e SWT Programação Orientada a Objetos Interface gráfica em Java: Swing e SWT UNIFEI 14/06/2012 Componentes gráficos em Java Os componentes gráficos em Java Componentes de desenho 2D e 3D Componentes de interface

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

BABok 2.0, O Guia de Referência de Análise de Negócio

BABok 2.0, O Guia de Referência de Análise de Negócio Primeiro Módulo: Parte 2 BABok 2.0, O Guia de Referência de Análise de Negócio AN V 3.0 [60] Rildo F Santos (@rildosan) rildo.santos@etecnologia.com.br www.etecnologia.com.br http://etecnologia.ning.com

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

Análise de Sistemas Informáticos FREQUÊNCIA 14JUN2002

Análise de Sistemas Informáticos FREQUÊNCIA 14JUN2002 REQUÊNCIA 14JUN2002 ENGENHARIA INORMÁTICA e INORMÁTICA DE GESTÃO Proposta de correcção... 1ª Parte 1. Para cada uma das afirmações seguintes, assinale (no enunciado do teste) as que são Verdadeiras (V)

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

Design Patterns. Viviane Torres da Silva

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

Leia mais

Tópicos Avançados em Linguagem de Programação. Padrões de Software. Prof. Alexandre Vidal DEINF-UFMA. Ciência da Computação

Tópicos Avançados em Linguagem de Programação. Padrões de Software. Prof. Alexandre Vidal DEINF-UFMA. Ciência da Computação Tópicos Avançados em Linguagem de Programação Prof. Alexandre Vidal DEINF-UFMA Ciência da Computação Patterns (padrões) Compõem uma disciplina da Engenharia de Software voltada para a resolução de problemas

Leia mais

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

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

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

Soluções reutilizáveis para situações ou problemas encontrados comumente em desenvolvimento de software orientado a objetos. Padrões de Projeto O que são? Soluções reutilizáveis para situações ou problemas encontrados comumente em desenvolvimento de software orientado a objetos. Livros Design Patterns: Elements of Reusable Object-

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS -PLANO DE ENSINO. Prof. Angelo Augusto Frozza, M.Sc.

PROGRAMAÇÃO ORIENTADA A OBJETOS -PLANO DE ENSINO. Prof. Angelo Augusto Frozza, M.Sc. PROGRAMAÇÃO ORIENTADA A OBJETOS -PLANO DE ENSINO Prof. Angelo Augusto Frozza, M.Sc. Ementa Proporcionar uma experiência com a programação orientada a objetos através da modelagem conceitual e sua implementação.

Leia mais

Programação de Computadores I. Linguagem C Função

Programação de Computadores I. Linguagem C Função Linguagem C Função Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 07 Função 1 Conceitos As técnicas de programação dizem que, sempre que possível, evite códigos extensos, separando o mesmo em funções,

Leia mais

Soluções de gestão de clientes e de impressão móvel

Soluções de gestão de clientes e de impressão móvel Soluções de gestão de clientes e de impressão móvel Manual do utilizador Copyright 2007 Hewlett-Packard Development Company, L.P. Microsoft é uma marca comercial registada da Microsoft Corporation nos

Leia mais

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

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

Leia mais

Programação com Objectos. 2º Teste 2015/2016 1º Semestre

Programação com Objectos. 2º Teste 2015/2016 1º Semestre 1/7 2015/2016 1º Semestre 13 de Janeiro de 2016, 18:30 (120 minutos) 2º Teste Nome: Número: Primeira Parte (3 valores) PERGUNTA RESPOSTA Segunda Parte (7 valores) PERGUNTA 1.1 2.1 1.2 2.2.1 1.3 2.2.2 1.4

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

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

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

Leia mais

Modelos Conceituais de Dados

Modelos Conceituais de Dados Modelos Conceituais de Dados Banco de Dados Motivação Objetivo da abordagem de BD: oferecer abstração dos dados separar aplicações dos usuários dos detalhes de hardware ferramenta utilizada: modelo de

Leia mais

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS Data final de entrega 16/09/2014, até às 23h59min Enviar o arquivo de respostas em formato PDF e o arquivozip com códigos fontes para o e-mail motafernandomaia@gmailcom, insira no assunto do e-mail [Lista

Leia mais

MPS.BR. rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com 1

MPS.BR. rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com 1 MPS.BR rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com 1 Prefácio O objetivo do programa é a Melhoria de Processo do Software Brasileiro Duas metas a alcançar a médio e longo

Leia mais

Gestão de Processos: Ciclo PDCA. Profa. Reane Franco Goulart

Gestão de Processos: Ciclo PDCA. Profa. Reane Franco Goulart Gestão de Processos: Ciclo PDCA Profa. Reane Franco Goulart O que é PDCA? É uma ferramenta da qualidade utilizada no controle do processo para a solução de problemas. É também chamado de Roda de Deming

Leia mais

5.1 Processo de Avaliação de Organizações Prestadoras de Serviços Hospitalares O processo de avaliação e visita deve ser orientado pela aplicação do

5.1 Processo de Avaliação de Organizações Prestadoras de Serviços Hospitalares O processo de avaliação e visita deve ser orientado pela aplicação do 5. PROCEDIMENTOS 5.1 Processo de Avaliação de Organizações Prestadoras de Serviços Hospitalares O processo de avaliação e visita deve ser orientado pela aplicação do Manual Brasileiro de Acreditação das

Leia mais

Profa. Thienne Johnson

Profa. Thienne Johnson Profa. Thienne Johnson 1 E. Gamma and R. Helm and R. Johnson and J. Vlissides. Design Patterns - Elements of Reusable Object-Oriented Software. Addison- Wesley, 1995. GoF Design Patterns - with examples

Leia mais

Luis Francisco Thomazini Neto. 0300743, 8º Semestre. Padrões de Projetos. Jaguariúna

Luis Francisco Thomazini Neto. 0300743, 8º Semestre. Padrões de Projetos. Jaguariúna Luis Francisco Thomazini Neto 0300743, 8º Semestre Padrões de Projetos Jaguariúna 2006 Luis Francisco Thomazini Neto 0300743, 8º Semestre Padrões de Projetos Relatório parcial apresentado à disciplina

Leia mais

Plano de Ensino PROBABILIDADE E ESTATÍSTICA APLICADA À ENGENHARIA - CCE0292

Plano de Ensino PROBABILIDADE E ESTATÍSTICA APLICADA À ENGENHARIA - CCE0292 Plano de Ensino PROBABILIDADE E ESTATÍSTICA APLICADA À ENGENHARIA - CCE0292 Título PROBABILIDADE E ESTATÍSTICA APLICADA À ENGENHARIA Código da disciplina SIA CCE0292 16 Número de semanas de aula 4 Número

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

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Herança Prof. Francisco de Assis S. Santos, Dr. São José, 2014. Herança em POO O conceito de herança torna mais rápido o desenvolvimento de softwares complexos Novas classes

Leia mais

Guia para Modelagem de Casos de Uso Metodologia CELEPAR

Guia para Modelagem de Casos de Uso Metodologia CELEPAR Guia para Modelagem de Casos de Uso Metodologia CELEPAR Agosto 2009 Sumário de Informações do Documento Documento: guiamodelagemcasosuso.odt Número de páginas: 14 Versão Data Mudanças Autor 1.0 25/04/07

Leia mais

Padrões de Projeto de Software

Padrões de Projeto de Software Padrões de Projeto de Software Lista de Exercícios AV1 01 Luiz Leão luizleao@gmail.com http://www.luizleao.com Questão 1 Dentre as alternativas abaixo identifique a que NÃO define uma situação em que deve

Leia mais

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

Padrões de Projeto WEB e o MVC

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

Padrões de Projeto de Software Orientado a Objetos

Padrões de Projeto de Software Orientado a Objetos Padrões de Projeto de Software Orientado a Objetos Ricardo Argenton Ramos [Baseado nos slides do professor Fabio Kon - USP] 1 Padrões de Projeto de Software OO Também conhecidos como Padrões de Desenho

Leia mais

Curso de Sistemas de Informação 8º período Disciplina: Tópicos Especiais Professor: José Maurício S. Pinheiro V. 2009-1

Curso de Sistemas de Informação 8º período Disciplina: Tópicos Especiais Professor: José Maurício S. Pinheiro V. 2009-1 Curso de Sistemas de Informação 8º período Disciplina: Tópicos Especiais Professor: José Maurício S. Pinheiro V. 2009-1 Aula 5 Sistemas Biométricos 1. Sistema Biométrico Típico Qualquer que seja a característica

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

Análise e Projeto de Sistemas OO

Análise e Projeto de Sistemas OO Análise e Projeto de Sistemas OO 25 26 27 28 29 30 31 32 35 36 34 Objetos no mundo real Podem ser definidos como objetos, entidades individuais que tenham características e comportamento; Exemplo: Automóvel

Leia mais

Interpretações de Qualidade de Software. Interpretações de Qualidade de Software. Aspectos Importantes das Definições de Qualidade

Interpretações de Qualidade de Software. Interpretações de Qualidade de Software. Aspectos Importantes das Definições de Qualidade terpretações de de é um termo que pode ter diferentes interpretações e para se estudar a qualidade de software de maneira efetiva é necessário, inicialmente, obter um consenso em relação à definição de

Leia mais

Definindo um padrão para arquitetura Web

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

Leia mais