Tópicos em Engenharia de Computação

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

Download "Tópicos em Engenharia de Computação"

Transcrição

1 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 categorias de Diagramas Estruturais (Estáticos) De Classes; de Objetos; de Componentes; de Distribuição (Deployment) Comportamentais (Dinâmicos) Use Case; Seqüência; Colaboração (comunicação UML 2.0); Atividades; Estados; Gestão de Modelos De Pacotes; de Sub-Sistemas; 1

2 UML vs. Fases Eng. Software (Estáticos) Análise 1. Classes representam o do Domínio do Problema (entity) 2. Pacotes para facilitar compreensão do todo (dividir complexidade) Projeto 1. Classes representam ambos Domínios - Problema e Solução (entity, boundary, control) 2. Uso de Design Patterns e Frameworks 3. Pacotes como critérios para sub-divisão e compreensão de frameworks, sub-sistemas físicos e componentes 4. Sub-Sistemas Componentes Pacotes UML vs. Fases Eng. Software Diagramas Estruturais Diagramas Estruturais (Estáticos) Análise 5. Classes, herança de funcionalidade, associações simples 6. Diagrama de Classes de Visão Essencial 7. Coordenados e Modelados pelo Analista de Sistemas Projeto 5. Classes, Herança de funcionalidades, associações mais complexas, tipos, hierarquia de tipos, classes abstratas, interfaces (não é GUI) 6. Diagrama de Classes de Visão de Implementação 7. Coordenados e Modelados pelo arquiteto de aplicações (projetista). Incorporam-se informações de design. 2

3 UML vs. Fases Eng. Software (Dinâmicos) Análise 1. Casos de Uso Comportamento desejado (sem tecnologia) 2. Diagrama de seqüências expressam seqüência de mensagens (eventos entre objetos de análise) que modelam qual o comportamento desejado. Projeto 1. Realização de Casos de Uso (Use case realization). Casos de uso com todos os detalhes de design 2. Diagrama de seqüências expressam seqüência de mensagens (métodos) entre objetos e interfaces (não é GUI) que realizam (dão percepção de como é a solução) o caso de uso UML vs. Fases Eng. Software Diagramas Comportamentais Diagramas Comportamentais (Dinâmicos) Análise 3. Diagramas de Atividades modelam o workflow dos processos de negócios 4. Diagramas de Estados focados no comportamento geral (estados) dos objetos no contexto do problema Projeto 3. Diagramas de atividades modelam a solução algorítmica dos métodos das classes 4. Diagramas de atividades podem detalhar os estados associados ao comportamento da solução 5. Diagrama de Estados para objetos típicos da aplicação/solução (Forms, ODBC, etc..) 3

4 Classe Classe Interna Inner Class Especificadores de Acesso + Público - Privado # Protegido Atributos Operações Pacotes (Packages) Agrupamento de Classes Relacionadas Classes do Pacote Classes de outro Pacote Sub-Classes do Pacote Sub-Classes de outro Pacote Publico Pode Pode Pode Pode Protegido Pode Não Pode Pode Pode Privado Não Pode Não Pode Não Pode Não Pode 4

5 Construtor Construtor é método especial executado apenas uma vez, na hora da construção da instância. Usado quando o objeto que aciona a construção do objeto possui os dados da instância que se deseja criar e/ou para inicializar elementos internos ao objeto Construtores JAVA suportam sobrecarga (várias implementações), desde que cada um tenha assinaturas diferentes. Métodos também podem ter sobrecarga... Acessor Methods getters & setters Todo atributo é um característica da classe que se particulariza nas instâncias Em uma classe deve ter um método que permite recuperar o valor do atributo em uma dada instância (getter) e outro para estabelecer um valor de atributo em uma dada instância (setter) Outros métodos (não acessors) operam sobre o objeto 5

6 public class Conta { Exemplo: Acessors, Construtor e demais métodos private int numero; float saldo; Atributos public Conta(int numero) { this.numero = numero; this.saldo = 0; } public void depositar(float valordeposito) { this.saldo = this.saldo + valordeposito; } public boolean sacar(float valorsaque) { if (this.saldo>=valorsaque) { this.saldo = this.saldo - valorsaque; return true; } else return false; } public float getsaldo() { return saldo; } public void setnumero(int numero) { this.numero = numero; } public void setsaldo(float saldo) { this.saldo = saldo; }... } Construtor Demais Métodos Acessors (getter e setters) Comentário (Nota) Âncora (linha pontilhada, ligando um elemento UML com sua nota Exemplo: Método save() lança exceções usando objetos do pacote documentado na nota 6

7 Métodos Abstratos Métodos sem corpo e implementação Estereótipo <<abstract>> e/ou nome em itálico Classes Abstratas Aqueles que tem, pelo menos, um método abstrato; Estereótipo <<abstract>> e/ou nome em itálico Não podem ser Instanciadas Permitem herança dos métodos implementados e/ou métodos abstratos Herança (Generalização / Especialização) Permite que características (atributos e operações) de uma classe mais geral sejam herdadas por classe mais específicas. Herança de Métodos Permite que seja herdada a implementação de um método, que pode ser modificada na classe especializada; Herança de Métodos Abstratos Permite que seja herdada apenas a assinatura do método. A implementação fica localizada Assinatura Métodos: Nome + Parâmetros + Tipo de Retorno 7

8 Herança (Generalização / Especialização) E S P E C I A L I Z A Ç Ã O G E N E R A L I Z A Ç Ã O Dependência Relação entre dois elementos UML (origem destino). Se houver mudança no alvo (destino), há potencialmente um impacto na fonte (origem). Vice Versa aplicável se dependência for bidirecional (EVITE! Péssima Prática!!!!) Pode ser usado em diversos elementos UML: classes, pacotes, subsistemas, etc... 8

9 Dependência Classe6 oferece serviços à classe 5 Acoplamento entre componentes implementados Algum(ns) elemento(s) do pacote1 provocam dependência no pacote 0 Associações entre classes Denota uma relação estrutural entre classes Multiplicidade Denota o numero de instâncias de uma classe envolvida na associação com outra classe Navegabilidade (de A para B) Denota que uma classe A contém a informação necessária para que a classe B seja alcançada 9

10 Exemplo Herança / Associação Associação: Com navegabilidade Multiplicidade: Uma instância de acionador permite acesso a 0..N Instâncias de Conta Herança Corrente é um sub-tipo de conta acionador Acionador (from acionador) Exemplo Classe Abstrata folha main() 1 0..* Funcionario (from folha) nome : Logical View::java::lang::String pis : Logical View::java::lang::String Funcionario() getnome() setnome() getpis() setpis() tostring() calcularsalario() Horista (from folha) salariohora : double horastrabalhadas : double salariobruto : double Horista() gethorastrabalhadas() sethorastrabalhadas() getsalariohora() setsalariohora() calcularsalario() tostring() Mensalista (from folha) salariomensal : double descontofaltas : double Comissionado (from folha) totalvendasbruto : double percentile : double Mensalista() getdescontofaltas() setdescontofaltas() getsalariomensal() setsalariomensal() calcularsalario() tostring() Comissionado() getpercentile() setpercentile() gettotalvendasbruto() settotalvendasbruto() calcularsalario() tostring() 10

11 Classe que requisita o serviço é cliente Classe que provê o serviço é provedora (servidora) Existe uma dependência direta (explícita) entre cliente e provedor Funciona, se serviço provido apenas por 1 classe E se o mesmo serviço for implementado (provido) por duas classes diferentes??? Controle de qual classe deve ser instanciada caberá ao cliente Cliente deverá ter o controle de qual instância deve ser chamada. Aumenta complexidade da classe cliente. Diminui a reusabilidade das classes 11

12 Interface Descrevem um conjunto de operações visíveis (apenas a declaração/assinatura) que podem ser implementados por diversos objetos. Oferecem apenas parte do comportamento da operação (contrato), sem particularizar o método que será aplicado para sua implementação Interfaces descrevem serviços (contrato) que podem ser implementados de diferentes maneiras, por objetos de contextos completamente diferentes Não é herança. Trata-se de uma realização Representações da Interfaces Estereótipo <<interface>> Icônica 12

13 Realização Relação entre um elemento UML que define um contrato a ser seguido e outro elemento realizador, que aceita o contrato estabelecido e define os detalhes e particularidades Representado na UML com uma seta de herança, porém pontilhada. Por linha e circulo (pirulito - lollypop) quando o contratado é uma interface e o realizador (contratante) é uma classe UseCase UseCase-Realization 13

14 Classe cliente solicita serviços à interface Provê reusabilidade e Polimorfismo Cada classe provedora, implementa os serviços do contrato (interface) à sua maneira Classes provedoras podem ser de domínios e mesmo de pacotes diferentes Exemplo Interface (Visão Canônica - Lollypop) 14

15 Exemplo Interface (Visão Estereotipada) Exemplo Interface + Classe Abstrata 15

16 Associações Avançadas Composição: Classe A (agregadora, todo) contém a classeb (parte de). Vinculo indissociável. Agregação: Classe A (agregadora, todo) contém a classeb (parte de), porém a vinculação pode se desfazer. Composição Agregação 16

UML Aspectos de projetos em Diagramas de classes

UML Aspectos de projetos em Diagramas de classes UML Aspectos de projetos em Diagramas de classes Após ser definido o contexto da aplicação a ser gerada. Devemos pensar em detalhar o Diagrama de Classes com informações visando uma implementação Orientada

Leia mais

Programação com Objectos. Processamento de Dados I. 3. UML (Unified Modeling Language)

Programação com Objectos. Processamento de Dados I. 3. UML (Unified Modeling Language) Programação com Objectos Processamento de Dados I 3. UML (Unified Modeling Language) 1 Modelo UML Diagrama de classes Programação com Objectos / Processamento de Dados I 2 Modelo O desenvolvimento de programas

Leia mais

Introdução à Programação. Interface, Polimorfismo e Dynamic Binding

Introdução à Programação. Interface, Polimorfismo e Dynamic Binding Introdução à Programação Interface, Polimorfismo e Dynamic Binding Interface Programador Java PLENO Possuir sólida experiência em programação Desenvolvimento na linguagem JAVA Webservice, Struts ou JSF(desejável)

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 Ambiente de Desenvolvimento Orientação a Objetos É uma técnica de desenvolvimento de softwares que consiste em representar os elementos do mundo

Leia mais

Orientação a Objeto e UML Questões 2014 Prof. Felipe Leite

Orientação a Objeto e UML Questões 2014 Prof. Felipe Leite Orientação a Objeto e UML Questões 2014 Prof. Felipe Leite Pessoal, fiz uma coletânea das questões mais recentes de concursos públicos de TODO o Brasil de várias bancas diferentes sobre os assuntos Orientação

Leia mais

Orientação a Objetos com Java

Orientação a Objetos com Java Orientação a Objetos com Java Julio Cesar Nardi julionardi@yahoo.com.br 2011/2 Apresentação 3: Orientação Objetos: Conceitos Básicos Objetivos: Compreender os Conceitos Básicos da Orientação a Objetos;

Leia mais

Capítulo 3. Programação por objectos em Java

Capítulo 3. Programação por objectos em Java Capítulo 3. Programação por objectos em Java 1/46 Índice Indice 3.1 - Qualificadores de visualização 3.2 - Classe 3.3 - Objecto 3.4 - Métodos 3.5 - Herança 3.6 - Reescrita de métodos 3.7 - Classes abstractas

Leia mais

Programação Orientada a Objetos. Encapsulamento

Programação Orientada a Objetos. Encapsulamento Programação Orientada a Objetos Encapsulamento de Dados Ocultação de dados Garante a transparência de utilização dos componentes do software, facilitando: Entendimento Reuso Manutenção Minimiza as interdependências

Leia mais

Introdução. Programação. Orientada a Objetos: Reuso. Introdução. Classes Abstratas

Introdução. Programação. Orientada a Objetos: Reuso. Introdução. Classes Abstratas Introdução Programação Orientada a Objetos: Reuso Alexandre César Muniz de Oliveira Hierarquia de classes está associada a forma como se distribui conceitos (comportamentos) entre as unidades que compõem

Leia mais

Programação Orientada a Objeto

Programação Orientada a Objeto Programação Orientada a Objeto Classes, Atributos, Métodos e Objetos Programação de Computadores II Professor: Edwar Saliba Júnior 1) Java é uma linguagem orientada a objetos. Para que possamos fazer uso

Leia mais

3 Classes e instanciação de objectos (em Java)

3 Classes e instanciação de objectos (em Java) 3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem

Leia mais

Programação Orientada a Objetos em Java

Programação Orientada a Objetos em Java Programação Orientada a Objetos em Java Rone Ilídio da Silva Universidade Federal de São João del-rei Campus Alto Paraopeba 1:14 1 Objetivo Apresentar os principais conceitos de Programção Orientada a

Leia mais

POO Programação Orientada a Objetos. Classes em Java

POO Programação Orientada a Objetos. Classes em Java + POO Programação Orientada a Objetos Classes em Java + Classes 2 Para que a JVM crie objetos: Ela precisa saber qual classe o objeto pertence Na classe estão definidos os atributos e métodos Programamos

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS

PROGRAMAÇÃO ORIENTADA A OBJETOS CC 3º Período Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br Unidade I - Objetos e Classes em Java Conceito de Objeto; Conceito de Classe; Atributos; Métodos; Representação

Leia mais

Capítulo 8. Introdução UML

Capítulo 8. Introdução UML Capítulo 8. Introdução UML 1/42 Índice Indice 8.1 - Introdução UML 8.2 - Modelação estrutural 8.2.1 - Representação de classes e objectos 8.2.2 - Relações entre objectos 8.2-3 - Relações de associação

Leia mais

Engenharia de Softwares e Sistema IF682 (2012.1) Bruno Medeiros(bmo@cin.ufpe.br)

Engenharia de Softwares e Sistema IF682 (2012.1) Bruno Medeiros(bmo@cin.ufpe.br) Engenharia de Softwares e Sistema IF682 (2012.1) Bruno Medeiros(bmo@cin.ufpe.br) Algumas definições Engenharia de Software conjunto de tecnologias e práticas usadas para construir software de qualidade

Leia mais

Uma Abordagem usando PU

Uma Abordagem usando PU Uma Abordagem usando PU Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Baseada em: Rational Software Corpotation G. Booch, Ivar Jacobson,

Leia mais

4.2. UML Diagramas de classes

4.2. UML Diagramas de classes Engenharia de Software 4.2. UML Diagramas de classes Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Um diagrama de classes serve para modelar o vocabulário de um sistema Construído e refinado ao longo

Leia mais

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais Curso de Java Orientação a objetos e a Linguagem JAVA Roteiro A linguagem Java e a máquina virtual Objetos e Classes Encapsulamento, Herança e Polimorfismo Primeiro Exemplo A Linguagem JAVA Principais

Leia mais

Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição

Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição Lista de Contas Lista de Contas: Assinatura null Quais são os métodos necessários? class ListaDeContas { void inserir (Conta c) { void retirar (Conta c) { Conta procurar (String num) { Listas de Contas:

Leia mais

Herança. Algoritmos e Programação II. Aula 5 Herança

Herança. Algoritmos e Programação II. Aula 5 Herança Algoritmos e Programação II Aula 5 Herança *Adaptado do material do Prof. Júlio Machado Herança Uma característica importante da programação orientada a objetos é permitir a criação de novas classes com

Leia mais

Programação Orientada a Objetos em Java. Herança

Programação Orientada a Objetos em Java. Herança Universidade Federal do Amazonas Departamento de Ciência da Computação IEC481 Projeto de Programas Programação Orientada a Objetos em Java Herança Professor: César Melo Slides baseados em materiais preparados

Leia mais

CONVENÇÃO DE CÓDIGO JAVA

CONVENÇÃO DE CÓDIGO JAVA CONVENÇÃO DE CÓDIGO JAVA Eligiane Ceron - Abril de 2012 Versão 1.0 Conteúdo Considerações iniciais... 2 Introdução... 2 Extensão de arquivos... 2 Arquivos de código Java... 2 Comentários iniciais... 2

Leia mais

PHP: Programando com Orientação a Objetos

PHP: Programando com Orientação a Objetos PHP: Programando com Orientação a Objetos Pablo Dall'Oglio Adianti Solutions www.adianti.com.br Roteiro Conceitos de Orientação a Objetos; Classes, objetos, propriedades, métodos; Métodos construtores

Leia mais

modelagem do negócio (processos e objetos do negócio) modelagem de requisitos alocados ao software modelagem da solução de software

modelagem do negócio (processos e objetos do negócio) modelagem de requisitos alocados ao software modelagem da solução de software POO com UML Java Uso da linguagem UML(Unified Modeling Language) A UML, ou Linguagem de Modelagem Unificada, é a junção das três mais conceituadas linguagens de modelagem orientados a objectos (Booch de

Leia mais

Apostila de. Programação Orientada a Objeto (POO)

Apostila de. Programação Orientada a Objeto (POO) Apostila de Programação Orientada a Objeto (POO) Prof. Francesco Artur Perrotti Revisão: Janeiro de 2014 Programação Orientada a Objeto (POO) Prof. Francesco Artur Perrotti 1) Classes e Objetos Classe

Leia mais

Linguagem de Programação I. Orientação a Objetos em Java

Linguagem de Programação I. Orientação a Objetos em Java Linguagem de Programação I Orientação a Objetos em Java Roteiro Introdução Classes e Objetos Declaração de Classes e Instanciação de um Objeto de uma Classe Declarando métodos com parâmetros Atributos,

Leia mais

Diagrama de Classes. Viviane Torres da Silva viviane.silva@ic.uff.br. http://www.ic.uff.br/~viviane.silva/2012.1/es1

Diagrama de Classes. Viviane Torres da Silva viviane.silva@ic.uff.br. http://www.ic.uff.br/~viviane.silva/2012.1/es1 Diagrama de Classes Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/2012.1/es1 O que é? Diagrama mais utilizado da UML Representa os tipos (classes) de objetos de um

Leia mais

Programação com Acesso a BD. Programação com OO Acesso em Java

Programação com Acesso a BD. Programação com OO Acesso em Java Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TECNICO EM INFORMATICA DISCIPLINA:

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TECNICO EM INFORMATICA DISCIPLINA: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TECNICO EM INFORMATICA DISCIPLINA: PROGRAMAÇÃO ORIENTADA A OBJETOS PROFESSOR: REINALDO GOMES ASSUNTO: REVISÃO DA INTRODUÇÃO A ORIENTAÇÃO

Leia mais

Reuso com Herança a e Composiçã

Reuso com Herança a e Composiçã Java 2 Standard Edition Reuso com Herança a e Composiçã ção Helder da Rocha www.argonavis.com.br 1 Como aumentar as chances de reuso Separar as partes que podem mudar das partes que não mudam. Exemplo:

Leia mais

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - MÓDULO 3 - MODELAGEM DE SISTEMAS ORIENTADA A OBJETOS COM UML 1. INTRODUÇÃO A partir de 1980, diversos métodos de desenvolvimento de sistemas surgiram para apoiar o paradigma orientado a objetos com uma

Leia mais

Modelagem OO com UML. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza

Modelagem OO com UML. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Modelagem OO com UML Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo Modelos Maneira

Leia mais

3.5. Cuidado com o modelo anêmico

3.5. Cuidado com o modelo anêmico 3.5. Cuidado com o modelo anêmico public Periodo adiaumasemana() { Calendar novofim = (Calendar) this.fim.clone(); novofim.add(calendar.day_of_month, 7); return new Periodo(inicio, novofim); E, com uma

Leia mais

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

Curso Adonai QUESTÕES Disciplina Linguagem JAVA 1) Qual será o valor da string c, caso o programa rode com a seguinte linha de comando? > java Teste um dois tres public class Teste { public static void main(string[] args) { String a = args[0]; String

Leia mais

A Introdução à Programação Orientada a Objetos. Programação e Sistemas de Informação

A Introdução à Programação Orientada a Objetos. Programação e Sistemas de Informação A Introdução à Programação Orientada a Objetos Programação e Sistemas de Informação Objectos (1) Objectos são coisas que temos no mundo real e abstraímos no mundo virtual para que possamos manipulá-los

Leia mais

Módulo 02 Programação Orientada a Objetos. Última atualização: 07/06/2010

Módulo 02 Programação Orientada a Objetos. Última atualização: 07/06/2010 Módulo 02 Programação Orientada a Objetos Última atualização: 07/06/2010 1 Objetivos Definir conceitos de orientação a objetos: o abstração, encapsulamento, pacotes. Discutir reutilização de código em

Leia mais

Material de Apoio 5. int getres() { return res; O que estas classes possuem em comum? 1) 2) 3)

Material de Apoio 5. int getres() { return res; O que estas classes possuem em comum? 1) 2) 3) pg. 1/6 Material de Apoio 5 Herança Observe o código das classes Fatorial e Fibonacci apresentados abaixo. class Fatorial { class Fibonacci { private int n, res; private int n, res; public Fatorial( int

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Programação com Objectos. Processamento de Dados I. 4. Classes Abstractas

Programação com Objectos. Processamento de Dados I. 4. Classes Abstractas Programação com Objectos Processamento de Dados I 4. Classes Abstractas 1 Conceito de classe abstracta Declaração de uma classe abstracta Implicações e características das classes abstractas Utilização

Leia mais

Programação Orientada por Objetos

Programação Orientada por Objetos PPROG Paradigmas da Programação Programação Orientada por Objetos Relações entre Dependência Agregação Composição Associação (Livro Big Java, Late Objects Capítulo 12) Nelson Freire (ISEP DEI-PPROG 2014/15)

Leia mais

Unified Modeling Language UML

Unified Modeling Language UML Unified Modeling Language UML Classe e Objeto Atributo Operação Associações (Delegações [SANTOS, 2003]) Dependência Simples: multiplicidade, papel, navegabilidade Com valor semântico adicional: agregação

Leia mais

Herança. Alberto Costa Neto DComp - UFS

Herança. Alberto Costa Neto DComp - UFS Herança Alberto Costa Neto DComp - UFS 1 Motivação Vimos como se faz encapsulamento e a importância de fazê-lo... Contudo, também é possível fazer encapsulamento em algumas linguagens não OO O que mais

Leia mais

UML: Unified Modeling Language. Graduação em Informática 2008 Profa. Itana Gimenes

UML: Unified Modeling Language. Graduação em Informática 2008 Profa. Itana Gimenes UML: Unified Modeling Language Graduação em Informática 2008 Profa. Itana Gimenes Unified Modelling Language (UML) Não é uma linguagem de programação. Linguagem de modelagem visual utilizada para especificar,

Leia mais

Objetivos: Sun recomenda que utilize o nome de domínio da Internet da empresa, para garantir um nome de pacote único

Objetivos: Sun recomenda que utilize o nome de domínio da Internet da empresa, para garantir um nome de pacote único Pacotes e Encapsulamento Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Introdução Permite o agrupamento de classes em uma coleção chamada pacote Um pacote é uma coleção de classes

Leia mais

3. PARADIGMA ORIENTADO A OBJETOS

3. PARADIGMA ORIENTADO A OBJETOS Paradigmas de Linguagens I 1 3. PARADIGMA ORIENTADO A OBJETOS Este paradigma é o que mais reflete os problemas atuais. Linguagens orientada a objetos (OO) são projetadas para implementar diretamente a

Leia mais

BCC221 Programação Orientada a Objetos. Prof. Marco Antonio M. Carvalho 2014/2

BCC221 Programação Orientada a Objetos. Prof. Marco Antonio M. Carvalho 2014/2 BCC221 Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho 2014/2 Site da disciplina: http://www.decom.ufop.br/marco/ Moodle: www.decom.ufop.br/moodle Lista de e- mails: bcc221- decom@googlegroups.com

Leia mais

Construção de novas Classes em Java. Classes Atributos Métodos Herança...

Construção de novas Classes em Java. Classes Atributos Métodos Herança... Construção de novas Classes em Java Classes Atributos Métodos Herança... 1 Exemplo Representação em UML Java (Unified Modeling Language) Stack items : Vector Stack( ) push( ) pop( ) isempty( ) finalize(

Leia mais

Programação Orientada a Objetos em java. Polimorfismo

Programação Orientada a Objetos em java. Polimorfismo Programação Orientada a Objetos em java Polimorfismo Polimorfismo Uma característica muito importante em sistemas orientados a objetos Termo proveniente do grego, e significa muitas formas Em POO, significa

Leia mais

Eduardo Bezerra. Editora Campus/Elsevier

Eduardo 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 8 Modelagem de classes de projeto A perfeição (no projeto) é alcançada, não quando não há

Leia mais

Análise Orientada a Objetos

Análise Orientada a Objetos Análise Orientada a Objetos Breve Histórico: Fim da década de 80: amadurecimento da Orientação a Objeto Década de 1990: diversas proposições a partir de diversos autores, como Booch, Rumbaugh e Jacobson.

Leia mais

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP 1) Introdução Programação Orientada a Objetos é um paradigma de programação bastante antigo. Entretanto somente nos últimos anos foi aceito realmente

Leia mais

Programação com Objectos Teste Teórico 04 de Janeiro de 2010, 09:00 (120 minutos)

Programação com Objectos Teste Teórico 04 de Janeiro de 2010, 09:00 (120 minutos) LEIC-A LEIC-T LERC MEE MEIC-A 2009/2010 (1º Semestre) Teste Teórico (201001040900) 1/10 LEIC-A LEIC-T LERC MEE MEIC-A 2009/2010 (1º Semestre) Teste Teórico 04 de Janeiro de 2010, 09:00 (120 minutos) Nome:

Leia mais

Engenharia de Software

Engenharia de Software Prof. M.Sc. Ronaldo C. de Oliveira ronaldooliveira@facom.ufu.br FACOM - 2011 UML Linguagem Unificada de Modelagem Diagramas de Projeto de Software UML Linguagem Unificada de Modelagem Diagramas de Classe

Leia mais

Especificação de Sistemas de Tempo-Real utilizando Orientação a Objetos

Especificação de Sistemas de Tempo-Real utilizando Orientação a Objetos Especificação de Sistemas de Tempo-Real utilizando Orientação a Objetos Marco Aurélio Wehrmeister mawehrmeister@inf.ufrgs.br Roteiro Introdução Orientação a Objetos UML Real-Time UML Estudo de Caso: Automação

Leia mais

UML 2. Gilleanes T. A. Guedes. Novatec

UML 2. Gilleanes T. A. Guedes. Novatec UML 2 uma abordagem prática Gilleanes T. A. Guedes Novatec Sumário Agradecimentos...15 Sobre o Autor...16 Prefácio...17 Capítulo 1 Introdução à UML...19 1.1 Breve Histórico da UML...19 1.2 Por Que Modelar

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 As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem

Leia mais

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes. 1 Diagrama de Classes Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes. Um dos objetivos do diagrama de classes é definir a base para

Leia mais

Sumário. Uma visão mais clara da UML

Sumá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 mais

Módulo 06 Desenho de Classes

Módulo 06 Desenho de Classes Módulo 06 Desenho de Classes Última Atualização: 13/06/2010 1 Objetivos Definir os conceitos de herança, polimorfismo, sobrecarga (overloading), sobreescrita(overriding) e invocação virtual de métodos.

Leia mais

Influenciam nossa percepção; ajudam-nos a organizar e a coordenar a Classes estimulam projeto centrado em dados:

Influenciam nossa percepção; ajudam-nos a organizar e a coordenar a Classes estimulam projeto centrado em dados: O Paradigma Orientado a Objetos Paradigma e Programação Orientada a Objetos Prof. João Carlos Pinheiro jcpinheiro@ifma.edu.br 1 Não é um paradigma no sentido estrito: é uma subclassificacão do imperativo

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Rogério Eduardo Garcia (rogerio@fct.unesp.br) Bacharelado em Ciência da Computação Aula 05 Material preparado por Fernanda Madeiral Delfim Tópicos Aula 5 Contextualização UML Astah

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Engenharia da Computação Professor: Rosalvo Ferreira de Oliveira Neto Dados Pessoais Rosalvo Ferreira de Oliveira Neto MSc. em ciência da computação (UFPE) rosalvo.oliveira@univasf.edu.br

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Classes abstratas Até agora, usamos interfaces toda vez que queríamos representar algum conceito abstrato

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 2: Classes e objectos LEEC@IST Java 1/24 Classes (1) Sintaxe Qualif* class Ident [ extends IdentC] [ implements IdentI [,IdentI]* ] { [ Atributos Métodos ]* Qualif:

Leia mais

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

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

Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos

Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos Programação Orientada a Objetos Relacionamentos entre objetos Associação, composição e agregação Construtores e sobrecarga Variáveis de classe e de instância Reinaldo Gomes reinaldo@cefet-al.br Objetos

Leia mais

PHP Orientado a Objetos Análise e Desenvolvimento de Sistemas Prof. Marcelo da Silveira Siedler siedler@gmail.com

PHP Orientado a Objetos Análise e Desenvolvimento de Sistemas Prof. Marcelo da Silveira Siedler siedler@gmail.com PHP Orientado a Objetos Análise e Desenvolvimento de Sistemas Prof. Marcelo da Silveira Siedler siedler@gmail.com SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA SENAC PELOTAS Introdução

Leia mais

Técnicas de Programação II

Técnicas de Programação II Técnicas de Programação II Aula 06 Orientação a Objetos e Classes Edirlei Soares de Lima Orientação a Objetos O ser humano se relaciona com o mundo através do conceito de objetos.

Leia mais

Java TM e o Modelo de Objetos

Java TM e o Modelo de Objetos Java TM e o Modelo de Objetos Java Deployment Course: Aula 1 por Jorge H C Fernandes (jorge@dimap.ufrn.br) DIMAp-UFRN Java e o Modelo de Objetos Objetivos desta Aula Introduzir conceitos básicos do modelo

Leia mais

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS Campus Cachoeiro de Itapemirim Curso Técnico em Informática Disciplina: Análise e Projeto de Sistemas Professor: Rafael Vargas Mesquita Este exercício deve ser manuscrito e entregue na próxima aula; Valor

Leia mais

Java 2 Standard Edition Como criar classes e objetos

Java 2 Standard Edition Como criar classes e objetos Java 2 Standard Edition Como criar classes e objetos Helder da Rocha www.argonavis.com.br 1 Assuntos abordados Este módulo explora detalhes da construção de classes e objetos Construtores Implicações da

Leia mais

Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI PCO203 Tópicos Especiais em Programação

Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI PCO203 Tópicos Especiais em Programação UNIFEI Disciplina Professor Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI PCO203 Tópicos Especiais em Programação Enzo Seraphim 1 Padrões de Operação

Leia mais

Modificador static e Pacotes. Alberto Costa Neto DComp - UFS

Modificador static e Pacotes. Alberto Costa Neto DComp - UFS Modificador static e Pacotes Alberto Costa Neto DComp - UFS 1 Roteiro Modificador static Pacotes 2 Modificador static Instanciando a classe Funcionário matricula nome cpf salario salario-min getmatricula()

Leia mais

Ricardo Pereira e Silva UML 2. Modelagem Orientada a Objetos. Visual. Books

Ricardo Pereira e Silva UML 2. Modelagem Orientada a Objetos. Visual. Books Ricardo Pereira e Silva UML 2 Modelagem Orientada a Objetos Visual Books Sumário Parte I - Modelagem em Desenvolvimento de Software Orientado a Objetos...15 1 Modelagem em Desenvolvimento de Software...17

Leia mais

Orientação a Objetos em Java. Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Orientação a Objetos em Java. Leonardo Gresta Paulino Murta leomurta@ic.uff.br Orientação a Objetos em Java Leonardo Gresta Paulino Murta leomurta@ic.uff.br Agenda Introdução; Orientação a Objetos; Orientação a Objetos em Java; Leonardo Murta Orientação a Objetos em Java 2 Agosto/2007

Leia mais

Capítulo 14. Herança a e Polimorfismo. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Capítulo 14. Herança a e Polimorfismo. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Capítulo 14 Herança a e Polimorfismo Objetivos do Capítulo Apresentar os conceitos de herança e de polimorfismo. Explorar os diversos recursos disponíveis no Java para a aplicação da herança e do polimorfismo

Leia mais

Módulo 07 Características Avançadas de Classes

Mó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 mais

Unified Modeling Language UML - Notações

Unified Modeling Language UML - Notações Unified Modeling Language UML - Notações Prof. Ms. Elvio Gilberto da Silva elvio@fmr.edu.br UML Ponto de Vista É gerada com propósito geral de uma linguagem de modelagem visual usada para especificar,

Leia mais

7 RTTI e Interfaces. Desenvolvimento OO com Java. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.

7 RTTI e Interfaces. Desenvolvimento OO com Java. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes. Desenvolvimento OO com Java 7 RTTI e Interfaces Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do

Leia mais

A linguagem UML. UML e Diagramas de Casos de Uso e Classes. Por que usar UML? O que é modelagem?

A linguagem UML. UML e Diagramas de Casos de Uso e Classes. Por que usar UML? O que é modelagem? UML e Diagramas de Casos de Uso e Classes Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com A linguagem UML UML (Unified Modeling Language) Linguagem de Modelagem Unificada É uma linguagem de modelagem

Leia mais

MC302A Modelagem de Sistemas com UML. Prof. Fernando Vanini vanini@ic.unicamp.br

MC302A Modelagem de Sistemas com UML. Prof. Fernando Vanini vanini@ic.unicamp.br MC302A Modelagem de Sistemas com UML Prof. Fernando Vanini vanini@ic.unicamp.br Modelamento de Sistemas e Orientação a Objetos O paradigma de Orientação a Objetos oferece um conjunto de características

Leia mais

Estudo de Caso Sistema de Caixa Automático

Estudo de Caso Sistema de Caixa Automático Estudo de Caso Sistema de Caixa Automático Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Notas de Aula Ulrich Schiel Notas de Aula Ariadne

Leia mais

Guia de Fatores de Qualidade de OO e Java

Guia de Fatores de Qualidade de OO e Java Qualiti Software Processes Guia de Fatores de Qualidade de OO e Java Versã o 1.0 Este documento só pode ser utilizado para fins educacionais, no Centro de Informática da Universidade Federal de Pernambuco.

Leia mais

UML Unified Modeling Language

UML Unified Modeling Language UML Unified Modeling Language Linguagem de Modelagem Unificada A linguagem UML UML (Unified Modeling Language) Linguagem de Modelagem Unificada É uma linguagem para especificação, É uma linguagem para

Leia mais

Profº. Enrique Pimentel Leite de Oliveira

Profº. Enrique Pimentel Leite de Oliveira Profº. Enrique Pimentel Leite de Oliveira O termo orientação a objetos significa organizar o mundo real como uma coleção de objetos que incorporam estrutura de dados e um conjunto de operações que manipulam

Leia mais

SUMÁRIO CAPÍTULO 1 INTRODUÇÃO AO JAVA... 1

SUMÁRIO CAPÍTULO 1 INTRODUÇÃO AO JAVA... 1 SUMÁRIO CAPÍTULO 1 INTRODUÇÃO AO JAVA... 1 A Origem... 2 O Caminho Para a Aprendizagem... 4 Java Como Plataforma... 6 Finalidade... 9 Características... 11 Perspectivas... 13 Exercícios... 14 CAPÍTULO

Leia mais

Sumário. Capítulo 1 Introdução à UML... 17. Capítulo 2 Orientação a Objetos... 37. Agradecimentos... 6 Sobre o Autor... 6 Prefácio...

Sumário. Capítulo 1 Introdução à UML... 17. Capítulo 2 Orientação a Objetos... 37. Agradecimentos... 6 Sobre o Autor... 6 Prefácio... 7 Agradecimentos... 6 Sobre o Autor... 6 Prefácio... 15 Capítulo 1 Introdução à UML... 17 1.1 Breve Histórico da UML... 17 1.2 Por Que Modelar Software?... 18 1.2.1 Levantamento e Análise de Requisitos...

Leia mais

Revisão OO Básico. Orientação a Objetos em Java

Revisão OO Básico. Orientação a Objetos em Java Revisão OO Básico Orientação a Objetos em Java Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Nomenclatura A unidade básica de programação em linguagens orientadas a objetos é a

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 01 Orientação a Objetos Edirlei Soares de Lima Paradigmas de Programação Um paradigma de programação consiste na filosofia adotada na

Leia mais

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em

Leia mais

( JUDE Community 5.1 2006/2007 ) Por Denize Terra Pimenta Outubro/2007

( JUDE Community 5.1 2006/2007 ) Por Denize Terra Pimenta Outubro/2007 Tutorial JUDE ( JUDE Community 5.1 2006/2007 ) Por Denize Terra Pimenta Outubro/2007 Ferramenta CASE UML Índice Introdução... 2 Download e Instalação... 2 Apresentação da Ferramenta... 2 Salvando o Projeto...

Leia mais

Análise e Projeto Orientados por Objetos

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

Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.

Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this. Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.x = x; this.y = y; public String tostring(){ return "(" + x + "," +

Leia mais

UML & Padrões. Aula 1 Apresentação. Profª Kelly Christine C. Silva

UML & Padrões. Aula 1 Apresentação. Profª Kelly Christine C. Silva UML & Padrões Aula 1 Apresentação Profª Kelly Christine C. Silva Sistemas para Internet Módulo I - Construção de sites informativos Módulo II - Construção de sites dinâmicos Módulo III - Aplicações para

Leia mais

Programação por Objectos UML LEEC@IST UML 1/87

Programação por Objectos UML LEEC@IST UML 1/87 Programação por Objectos UML LEEC@IST UML 1/87 Análise por UML (1) Um sistema de análise descreve os modelos da aplicação a desenvolver. Aumenta legibilidade (menos informação que o código, permitindo

Leia mais

Programação Orientada a Objetos (DPADF 0063)

Programação Orientada a Objetos (DPADF 0063) Programação Orientada a Objetos (DPADF 0063) Aula 6 Polimorfismo Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof.

Leia mais

RUI ROSSI DOS SANTOS PROGRAMAÇÃO DE COMPUTADORES EM. Java

RUI ROSSI DOS SANTOS PROGRAMAÇÃO DE COMPUTADORES EM. Java RUI ROSSI DOS SANTOS PROGRAMAÇÃO DE COMPUTADORES EM Java 2ª Edição n Sumário VII Sumário CAPÍTULO 1 Introdução ao Java... 1 A Origem... 2 O Caminho Para a Aprendizagem... 4 Java como Plataforma... 6 Finalidade...

Leia mais