Programação com Objectos. Processamento de Dados I. 3. UML (Unified Modeling Language)
|
|
- Pedro Santana Filipe
- 8 Há anos
- Visualizações:
Transcrição
1 Programação com Objectos Processamento de Dados I 3. UML (Unified Modeling Language) 1
2 Modelo UML Diagrama de classes Programação com Objectos / Processamento de Dados I 2
3 Modelo O desenvolvimento de programas orientados aos objectos assenta na construção de um modelo. O modelo é uma abstracção dos aspectos essenciais do problema. O modelo estrutura o problema e permite detectar omissões e inconsistências. O modelo é um passo intermédio entre o enunciado do problema e a solução. Um sistema de análise descreve os modelos (i.e., representações limitadas) da aplicação a desenvolver. Aumenta a legibilidade (menos informação que o código, permitindo visualizar globalmente a aplicação). Mostra a estrutura da aplicação, sem detalhes de implementação. A representação gráfica incrementa a clareza semântica. Devido à complexidade, a abordagem OO é descrita por vários modelos, onde cada modelo aborda um aspecto particular. Programação com Objectos / Processamento de Dados I 3
4 UML UML - Unified Modeling Language resulta da fusão de vários sistemas de análise: Booch (G. Booch) OOSE (I. Jacobson) OMT (J. Rumbaugh) 1ª proposta divulgada em 1997 (1999 -v1.1, v1.3, v1.4, v1.5, Abril v2.0) Ferramentas de desenho UML: Rational Rose ArgoUML( (gratuito) Programação com Objectos / Processamento de Dados I 4
5 UML Em UML os modelos de software são representados por um conjunto de diagramas Estes são criados e utilizados durante a fase de análise e, posteriormente, como ferramenta de comunicação com os programadores Os modelos são constituídos por objectos (com os seus atributos e comportamentos) que interactuam entre si através do envio de mensagens Programação com Objectos / Processamento de Dados I 5
6 UML UML v2 disponibiliza 13 diagramas, agrupados em: Modelação estrutural (pacotes, classes, objectos, estrutura composicional, componentes, aplicação física). Modelação de comportamento (use case, actividade, máquina de estados, comunicação, sequência de mensagens, temporização, enquadramento das interacções). Programação com Objectos / Processamento de Dados I 6
7 Diagrama de classes Um diagrama de classes dá uma panorâmica geral do sistema, mostrando as suas classes e as relações entre elas. Os diagramas de classe são estáticos, ou seja mostram o que interage, mas não o que acontece quando a interacção acontece Apenas relações estáticas: que classes constituem outra, que classes uma dada classe conhece e usa, etc. A identificação dessas classes e suas relações no enunciado do problema tem de ser feita previamente. O diagrama de classes é um grafo: Os nós são classes de objectos Os arcos são relações entre essas classes Programação com Objectos / Processamento de Dados I 7
8 Diagrama de classes Representação das classes Uma classe é representada por um rectângulo dividido em três secções: Identificador (nome da classe); Atributos; Métodos. Identificador Atributos Métodos Pessoa nome: String numtelefone: long numbi: long getnome (): String getnumtelefone (): long getnumbi (): long setnome (nome:string) setnumtelefone (numtelefone:long) setnumbi (numbi: long) Programação com Objectos / Processamento de Dados I 8
9 Diagrama de classes Representação dos membros da classe Especificação dos atributos: [visibilidade] nome :tipo [multiplicidade] [=valor por omissão] + public - private # protected ~ package Especificação dos métodos: [visibilidade] nome (lista dos argumentos:tipo) [:tipo de retorno] OBS: Os atributos e métodos de classe (static) são sublinhados. Programação com Objectos / Processamento de Dados I 9
10 Diagrama de classes Representação da classe Conta Conta - saldo: float - titular: Pessoa - numcontas: int + settitular (titular: Pessoa) + setsaldo (saldo: float) + gettitular (): Pessoa + levantamento (valor: float) + deposito (valor: float) + consultarsaldo (): float - incnumcontas () - decnumcontas() Programação com Objectos / Processamento de Dados I 10
11 UML Representação dos objectos da classe Um objecto de uma classe é representado por um rectângulo dividido em duas secções: Nome_do_objecto: nome_da_classe Valores_dos_atributos person: Pessoa nome: Ana Maria numtelefone: numbi: Programação com Objectos / Processamento de Dados I 11
12 Exercício Observe com atenção a seguinte sequência de imagens Programação com Objectos / Processamento de Dados I 12
13 Programação com Objectos / Processamento de Dados I 13
14 Programação com Objectos / Processamento de Dados I 14
15 Programação com Objectos / Processamento de Dados I 15
16 Programação com Objectos / Processamento de Dados I 16
17 Programação com Objectos / Processamento de Dados I 17
18 Programação com Objectos / Processamento de Dados I 18
19 Programação com Objectos / Processamento de Dados I 19
20 Algumas questões O que visualizamos nas imagens anteriores? Portas Como podemos caracterizar então uma porta? Atributos Para além das suas características o que diferencia as portas apresentadas? Estados Programação com Objectos / Processamento de Dados I 20
21 Estados de uma porta Fechada fechar trancar abrir destrancar Aberta Trancada Programação com Objectos / Processamento de Dados I 21
22 Solução 1: Classe Porta Porta - aberta: boolean -- fechada: boolean -- trancada: boolean + Porta (open: boolean, closed:boolean, locked:boolean) + setestado (open: boolean, closed:boolean, locked:boolean): void + isaberta():boolean + isfechada(): boolean +istrancada():boolean Programação com Objectos / Processamento de Dados I 22
23 Solução 2: Classe Porta Porta - aberta: boolean -- fechada: boolean -- trancada: boolean + Porta (open: boolean, closed:boolean, locked:boolean) + abrir (): void + fechar(): void + trancar(): void + isaberta():boolean + isfechada(): boolean +istrancada():boolean Programação com Objectos / Processamento de Dados I 23
24 Solução 3: Classe Porta Porta - estado: String + Porta (estado: String) + setestado (estado: String): void + getestado(): String + isaberta():boolean + isfechada(): boolean +istrancada():boolean Programação com Objectos / Processamento de Dados I 24
25 Solução 4: Classe Porta Porta - estado: int + Porta (estado: int) + abrir() :void + fechar() :void + trancar() :void + destrancar():void + isaberta(): boolean + isfechada(): boolean +istrancada():boolean Programação com Objectos / Processamento de Dados I 25
26 UML Relações entre objectos Os objectos não vivem isolados e nos programas são estabelecidas relações de cooperação. Uma relação não é mais do que uma conexão entre elementos. Existem diferentes tipos de relações: Associação: relaciona objectos entre si. Composição/Agregação: relação que denota o todo constítuido por partes. Herança: mecanismo de generalização especialização de classes. Realização: uma classe implementa a funcionalidade definida numa interface. Programação com Objectos / Processamento de Dados I 26
27 UML Associação Uma associação representa uma relação semântica entre as classes participantes da relação: Podem ter um nome (etiqueta) - pode ter uma seta que indica a direcção em que o nome deve ser lido O número de objectos que podem participar na associação O papel que cada classe desempenha na associação Uma associação entre classes é representada através de uma linha. Programação com Objectos / Processamento de Dados I 27
28 UML Especificação da associação Cada associação tem dois papéis; Os papéis fazem parte da associação e não da classe, porque uma mesma classe pode ter diferentes papéis em diferentes associações Classe A papel de A etiqueta papel de B Classe B Empresa empregador Trabalha para empregado Pessoa Programação com Objectos / Processamento de Dados I 28
29 UML Especificação da associação A multiplicidade de uma associação traduz o nº de instâncias de uma classe que se podem associar com uma única instância das restantes classes. 1: Uma única instância 0..1: zero ou uma instância * ou 0..*: zero ou mais instâncias n..*: n ou mais instâncias 5..10: 5 a 10 instâncias (temos instâncias mais complexas) Classe A multiplicidade de A papel de A etiqueta multiplicidade de B papel de B Classe B Empresa 1 Trabalha para 1..* empregador empregado Pessoa Programação com Objectos / Processamento de Dados I 29
30 UML Classes de associações Uma associação pode ser ela própria descrita como uma classe classe associativa. O identificador da associação para a ser o nome da classe * empregador empregado Programação com Objectos / Processamento de Dados I 30
31 UML Associações reflexivas São associações entre objectos da mesma classe. Os papéis são fundamentais neste caso pois são eles que permitem perceber a associação existente. Programação com Objectos / Processamento de Dados I 31
32 UML Agregação/Composição A agregação é uma associação, que denota uma relação do todo ser formado por partes. A agregação é dita como sendo uma relação de has-a. Representada como uma associação com um pequeno diamante não preenchido no extremo relativo ao todo. Programação com Objectos / Processamento de Dados I 32
33 UML Agregação/Composição Na composição, o desaparecimento do todo conduz ao desaparecimento das partes. Representada como uma associação com um pequeno diamante preenchido no extremo relativo ao todo. Programação com Objectos / Processamento de Dados I 33
34 UML Agregação/Composição De uma maneira geral tanto a agregação como a composição não têm identificador, pois o significado destas relações está representada pelo próprio par todo-partes. A multiplicidade deve aparecer em ambos os extremos. Quando a multiplicidade é omitida, considera-se que é exactamente 1. Programação com Objectos / Processamento de Dados I 34
35 Exercício Considere a seguinte situação: 1 banco tem vários clientes. Cada cliente pode ter 1 ou várias contas, sendo o cliente o seu titular. Para existir uma conta deve de estar sempre afecta a um cliente (o seu titular), podendo no entanto ter outros dois clientes como titulares secundários. Descreva um diagrama de classes e inclua as suas relações. Programação com Objectos / Processamento de Dados I 35
36 UML Herança Princípio Aberto-Fechado Fecho: devem estar desenvolvidos para que o programa possa ser usado sem alterações. Abertura: classes devem estar abertas para extensão, por forma a incorporar alterações com o mínimo impacto no sistema. Programação com Objectos / Processamento de Dados I 36
37 UML Herança A herança é um mecanismo em que a subclasse constitui uma especialização da superclasse. A superclasse pode ser vista como generalização das subclasses. A herança é dita como uma relação is-a. As subclasses herdam os atributos e métodos das superclasses. Novos atributos e métodos podem ser adicionados às subclasses. O polimorfismo é a redefinição de métodos, da superclasse nas subclasses, com a mesma assinatura. Em POO o polimorfismo é normalmente implementado através de ligação dinâmica (o método a ser executado é determinado apenas em tempo de execução). Programação com Objectos / Processamento de Dados I 37
38 UML Herança Vantagens da herança: Maior legibilidade, pois as superclasses descrevem os aspectos comuns. Facilita alterações, porque normalmente estas incidem apenas nos aspectos particulares. Promovem a reutilização do código das superclasses. Inconvenientes da herança: Obriga à detecção dos aspectos comuns. Programação com Objectos / Processamento de Dados I 38
39 UML Herança Na herança simples cada subclasse tem apenas uma superclasse (directa). Na herança múltipla uma subclasse pode ter mais do que uma superclasse (directa). Problema do diamante Programação com Objectos / Processamento de Dados I 39
40 UML Herança A herança simples é representada por uma seta não preenchida das subclasses para a superclasse. Programação com Objectos / Processamento de Dados I 40
41 UML Herança A herança múltipla é representada por uma seta não preenchida da subclasse para as superclasses. Programação com Objectos / Processamento de Dados I 41
42 UML Herança Classe não extensível Classe sem superclasses: representada com a propriedade {root} escrita por baixo do identificador da classe. Classe sem subclasses: representada com a propriedade {leaf} escrita por baixo do identificador da classe. Programação com Objectos / Processamento de Dados I 42
43 UML Herança O UML permite ainda especificar que um determinado método que não pode ser redefinido em subclasses. Tais métodos são representados com a propriedade {leaf} escrita depois da assinatura do método. Programação com Objectos / Processamento de Dados I 43
44 EXERCÍCIO: Venda de bebidas Considere uma loja cuja área de negócio é a venda de bebidas. A loja vende dois tipos de bebidas: cerveja e whisky. Estas bebidas são engarrafadas pela própria loja, sendo a loja responsável por manter a quantidade disponível de cada bebida para vender. Para cada tipo de bebida as garrafas comercializadas poderão ser de: - Cerveja: 25 cl, 33 cl e 1 L. - Whisky: apenas de 75 cl. Programação com Objectos / Processamento de Dados I 44
45 EXERCÍCIO: Funcionalidade da loja Quando se cria uma nova loja é necessário indicar o seu nome, e as capacidades iniciais (em litros) disponíveis de cerveja e whisky, respectivamente. A qualquer momento é possível saber as quantidades disponíveis para venda de qualquer uma das bebidas através dos seguintes métodos: capcerveja e capwhisky. Também é possível obter o nome da loja através do método nomeloja. A loja permite a venda de garrafas de cerveja (método vendecerveja, o qual devolverá a garrafa de cerveja pretendida), tendo que ser indicada a capacidade pretendida da garrafa a vender. Deve imprimir a seguinte mensagem: Loja <nome da loja> vendeu garrafa de cerveja de " <capacidade da garrafa> " cl. A loja permite também a venda de garrafas de whisky (método vendewhisky, o qual devolverá a garrafa de whisky pretendida). Deve imprimir a seguinte mensagem: Loja <nome da loja> vendeu garrafa de whisky. Programação com Objectos / Processamento de Dados I 45
46 EXERCÍCIO: Funcionalidade da loja Em qualquer um dos casos, se a capacidade disponível da bebida escolhida for inferior à quantidade a vender, então o método de venda invocado deve retornar a referência para objecto null. Finalmente, a loja pode comprar mais cerveja e whisky de forma a aumentar o stock de bebida disponível na loja. Esta funcionalidade deve ser representado pelos métodos: compracerveja e comprawhisky, que irão aumentar a quantidade de bebida disponível na loja. Ambos os métodos recebem como argumento o número de litros de bebida a adicionar ao stock de loja. Programação com Objectos / Processamento de Dados I 46
47 EXERCÍCIO: Funcionalidade da garrafa de cerveja Uma garrafa de cerveja tem uma dada quantidade de cerveja. É possível saber se está cheia (através do valor booleano retornado pelo método estacheia) ou vazia (através do valor booleano retornado pelo método estavazia) e qual a quantidade bebida ainda presente na garrafa (através do método quantgarrafa). Tem ainda a funcionalidade de se poder beber uma dada quantidade da garrafa (representado pelo método bebecerveja). Se se pretender uma quantidade maior que a presente na garrafa, este método deve devolver false e deixar a garrafa com a quantidade inalterada. Se a quantidade presente na garrafa for maior ou igual à que se quer beber então este método deve devolver true. Programação com Objectos / Processamento de Dados I 47
48 EXERCÍCIO: Funcionalidade da garrafa de whisky Uma garrafa de whisky tem uma dada quantidade de whisky. É possível saber se está cheia (através do valor booleano retornado pelo método estacheia) ou vazia (através do valor booleano retornado pelo método estavazia) e qual a quantidade bebida ainda presente na garrafa (através do método quantgarrafa). Tem ainda a funcionalidade de se poder beber, de cada vez, 15 cl da garrafa (representado pelo método bebewhisky). Se se pretender uma quantidade maior que a presente na garrafa, este método deve devolver false e deixar a garrafa com a quantidade inalterada. Se a quantidade presente na garrafa for maior ou igual à que se quer beber então este método deve devolver true. Programação com Objectos / Processamento de Dados I 48
49 EXERCÍCIO: Outras funcionalidades Para a classe Loja deverá implementar o método equals que deverá comparar duas lojas. Considere que as lojas serão iguais se tiverem o mesmo nome. Para uma garrafa deve ser implementado o método tostring que deverá devolver a seguinte String: Garrafa de <tipo_de_bebida> ainda com <quantidade_de_bebida_disponível> Programação com Objectos / Processamento de Dados I 49
50 EXERCÍCIO: Objectivos Especifique em UML o diagrama de classes referente à situação descrita acima. Implemente, em Java, as classes participantes do sistema declarando os seus atributos e os métodos necessários para o seu correcto funcionamento. Implemente a classe Java de execução DemoLojas que execute os seguintes passos: Crie uma loja com o nome "Bar Académico" e com uma quantidade inicial de 5L de cerveja e 3L de whisky. Vende 4 garrafas de cerveja de 1L, 2 de 33 cl e uma de 25 cl. Invoque o método tostring sobre cada uma destas garrafas. Beba 33cl de todas as garrafas criadas. Invoque novamente o método tostring sobre cada uma destas garrafas. Vende mais uma garrafa de cerveja de 25cl. Vende 4 garrafas de whisky. Invoque o método tostring sobre cada uma destas garrafas. Bebe uma vez das primeiras três garrafas de whisky e duas vezes da quarta garrafa. Invoque novamente o método tostring sobre cada uma destas garrafas. Vende mais uma garrafa de whisky. Compre 5L de whisky. Vende mais uma garrafa de cerveja de 25cl. Vende mais uma garrafa de whisky. Programação com Objectos / Processamento de Dados I 50
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 maisProgramação por Objectos UML MEEC@IST UML 1/83
Programação por Objectos UML MEEC@IST UML 1/83 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 maisProgramaçã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 maisDiagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.
1 Diagrama de Classes Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes. Um dos objetivos do diagrama de classes é definir a base para
Leia maisUML Aspectos de projetos em Diagramas de classes
UML Aspectos de projetos em Diagramas de classes Após ser definido o contexto da aplicação a ser gerada. Devemos pensar em detalhar o Diagrama de Classes com informações visando uma implementação Orientada
Leia maisProgramaçã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 maisTópicos em Engenharia de Computação
Tópicos em Engenharia de Computação Introdução / Revisão UML e POO (JAVA) Prof. Ivan Prof. Zagari UML Linguagem Unificada. Não é metodologia, processo ou método. Versão atual 2.0 3 categorias de Diagramas
Leia mais3.1 Definições Uma classe é a descrição de um tipo de objeto.
Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Classes Autoria:Aristófanes Corrêa Silva Adaptação:
Leia maisO que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo?
O que é a UML? Introdução a UML Linguagem Gráfica de Modelagem para: Visualizar Especificar Construir Documentar Comunicar Artefatos de sistemas complexos Linguagem: vocabulário + regras de combinação
Leia maisSumário. Uma visão mais clara da UML
Instituto Federal de Santa Catarina Câmpus Chapecó Ensino Médio Integrado em Informática Módulo V Unidade Curricular: Engenharia de Software Professora: Lara P. Z. B. Oberderfer Uma visão mais clara da
Leia maisEngenharia Informática
Escola Superior de Ciência e Tecnologia Engenharia Informática Análise de Sistemas Informáticos 3º ano Exame 12 de Julho de 2006 Docentes: José Correia e João Paulo Rodrigues Duração: 90 m; Tolerância:
Leia mais3 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 maisOrientaçã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 maisEXERCÍ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 maisRelacionamentos 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 maisUnisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER
Objetivo dessa aula é descrever as características e a simbologia dos diagramas UML e MER na modelagem de sistemas de informação de uma forma a permitir a comunicação entre técnicos e gestores. Modelagem
Leia maisUML - Unified Modeling Language
UML - Unified Modeling Language Casos de Uso Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 24 de abril
Leia maisOrientaçã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 maisOrientação à Objetos. Aécio Costa
Aécio Costa O paradigma da orientação à objetos Paradigma? Um paradigma é uma forma de abordar um problema. No contexto da modelagem de um sistema de software, um paradigma tem a ver com a forma pela qual
Leia maisUML 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 maisCapítulo 4. Packages e interfaces
Capítulo 4. Packages e interfaces 1/17 Índice Indice 4.1 - Package 4.2 - Interface 2/17 Índice 4.1 Package 4.1 - Package 4.2 -- Interface 3/17 4.1 Package Package ou pacote está para o Java como as directorias
Leia maisAula 3 Objeto atual com referencia THIS e Classes com Herança
Aula 3 Objeto atual com referencia THIS e Classes com Herança Profº Msc. Alexsandro M. Carneiro Engenharia de Computação Tec. Análise e Des. De Sistemas Tópicos Abordados Controlee de Acesso Herança Definição:
Leia maisModelagem OO com UML. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza
Modelagem OO com UML Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo Modelos Maneira
Leia maisHeranç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 maisProgramação por Objectos. Java
Programação por Objectos Java Parte 6: Herança e Polimorfismo LEEC@IST Java 1/52 Herança revisão A herança é um mecanismo em que a subclasse constitui uma especialização da superclasse. A superclasse pode
Leia maisANÁLISE E PROJETO ORIENTADO A OBJETOS. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com
ANÁLISE E PROJETO ORIENTADO A OBJETOS Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Análise Descrição do problema a ser implementado Descrição dos objetos e classes que fazem parte do problema, Descrição
Leia maisLista 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 mais2 Diagrama de Caso de Uso
Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa
Leia maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisENGENHARIA 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 maisCurso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais
Curso de Java Orientação a objetos e a Linguagem JAVA Roteiro A linguagem Java e a máquina virtual Objetos e Classes Encapsulamento, Herança e Polimorfismo Primeiro Exemplo A Linguagem JAVA Principais
Leia maisWilson Moraes Góes. Novatec
Wilson Moraes Góes Novatec Copyright 2014 Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo,
Leia maisModelos de Sistema. 2007 by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.
Modelos de Sistema Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1 Objetivos Explicar por que o contexto de um sistema deve ser modelado como parte do processo de RE Descrever
Leia maisEngenharia de Software Engenharia de Requisitos. Análise Orientada a Objetos Prof. Edison A M Morais http://www.edison.eti.br prof@edison.eti.
Engenharia de Software Engenharia de Requisitos Análise Orientada a Objetos Prof. Edison A M Morais http://www.edison.eti.br prof@edison.eti.br 1 Contextualizando... Fonte: [1] O Processo de ER pode ser
Leia maisTécnicas de Programação Avançada TCC- 00175 Profs.: Anselmo Montenegro www.ic.uff.br/~anselmo. Conteúdo: Introdução à Orientação a Objetos
Técnicas de Programação Avançada TCC- 00175 Profs.: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo: Introdução à Orientação a Objetos Introdução Paradigmas de programação Programação Estruturada Composição
Leia maisEspecificação do 3º Trabalho
Especificação do 3º Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação,
Leia maisProgramaçã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 maisUNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC
CURSO: Bacharelado em Ciência da Computação DISCIPLINA: ANPS Análise e Projeto de Sistemas AULA NÚMERO: 3 DATA: PROFESSOR: Murakami Sumário 1 APRESENTAÇÃO...1 2 DESENVOLVIMENTO...1 2.1 Revisão...1 2.1.1
Leia maisProgramaçã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 maisCapí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 maisGuia 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 maismodelagem 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 maisTé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 mais3. 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 maisProgramaçã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 maisFelipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet)
UML Felipe Denis M. de Oliveira Fonte: Alice e Carlos Rodrigo (Internet) 1 Programação O que é UML? Por quê UML? Benefícios Diagramas Use Case Class State Interaction Sequence Collaboration Activity Physical
Leia maisAná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 maisProgramaçã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 maisComputaçã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 maisPOO 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 maisProgramação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos
Programação Estruturada e Orientada a Objetos Fundamentos Orientação a Objetos 2013 O que veremos hoje? Introdução aos fundamentos de Orientação a Objetos Transparências baseadas no material do Prof. Jailton
Leia maisAná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 maisPolimorfismo. Prof. Leonardo Barreto Campos 1
Polimorfismo Prof. Leonardo Barreto Campos 1 Sumário Introdução; Polimorfismo; Polimorfismo Java; Métodos Abstratos Java Classes Abstratas Java Exercício - Java Polimorfismo C++ Classe Abstrata C++; Funções
Leia maisUML: Diagrama de Casos de Uso, Diagrama de Classes
UML: Diagrama de Casos de Uso, Diagrama de Classes Diagrama de Casos de Uso O modelo de casos de uso visa responder a pergunta: Que usos (funcionalidades) o sistema terá? ou Para que aplicações o sistema
Leia maisModelagem de Processos. Prof.: Fernando Ascani
Modelagem de Processos Prof.: Fernando Ascani Bibliografia UML Guia de consulta rápida Douglas Marcos da Silva Editora: Novatec UML Guia do usuário Grady Booch James Rumbaugh Ivair Jacobson Editora: Campus
Leia maisFundamentos de Banco de Dados e Modelagem de Dados
Abril - 2015 Universidade Federal de Mato Grosso Instituto de Computação Pós Graduação Lato Sensu em Banco de Dados Fundamentos de Banco de Dados e Modelagem de Dados Prof. Dr. Josiel Maimone de Figueiredo
Leia maisReuso 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 maisProgramaçã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 maisEspecificaçã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 maisUNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação
SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar
Leia maisUML: Diagrama de Classes
UML: Diagrama de Classes UML Diagrama de Classes Introdução Diagrama de classes Elementos do diagrama de classes Exemplo: Sistema de matrícula Introdução - Diagrama de Classes Mostra um conjunto de classes
Leia maisIntrodução ao Paradigma Orientado a Objetos. Principais conceitos
Introdução ao Paradigma Orientado a Objetos Principais conceitos Paradigmas de Programação PROGRAMAÇÃO ESTRUTURADA X PROGRAMAÇÃO ORIENTADA A OBJETOS Paradigma Programação estruturada Na programação estrutura
Leia mais4.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 maisProfº. 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 maisQuestões de Concursos Públicos sobre Orientação a Objetos e UML
Análise Orientada a Objetos Professora Lucélia Oliveira Questões de Concursos Públicos sobre Orientação a Objetos e UML 1. (BNDES) Analise as seguintes afirmações relativas à Programação Orientada a Objetos:
Leia maisUML 01. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan
Faculdade INED UML 01 Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan Referências BARBIERI, Carlos. Análise e Programação
Leia maisExercí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 maisUNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação
SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula
Leia maisAnálise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender
Leia maisPrograma do Módulo 2. Fundações do Modelo Objeto
2.1 Programa do Módulo 2 Orientação a Objetos Conceitos Básicos Análise Orientada a Objetos (UML) Processo Unificado (RUP) Fundações do Modelo Objeto 2.2 Programação Orientada a Objetos: é um método de
Leia maisIntrodução à orientação a objetos. João Tito Almeida Vianna 25/05/2013
Introdução à orientação a objetos João Tito Almeida Vianna 25/05/2013 Roteiro Aula 2 Motivação Revisão dos conceitos da aula 1 Preparação para os exercícios Exercícios propostos 2 Motivação A orientação
Leia maisRelacionamentos entre classes
Relacionamentos entre classes Relacionamentos entre classes Relacionamentos estruturais entre classes Precisam ser criteriosamente definidos durante o projeto do software São obtidos a partir da análise
Leia maisProgramação Orientada a Objetos e Java - Introdução. Carlos Lopes
Programação Orientada a Objetos e Java - Introdução Carlos Lopes POO e Java Objetivo: proporcionar uma visão dos conceitos de POO e do seu uso na estruturação dos programas em Java. Classes e objetos em
Leia maisUML: 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 maisUML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2
UML 2 Guia Prático Gilleanes T.A. Guedes Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2 Novatec capítulo 1 Introdução à UML A UML (Unified Modeling Language ou Linguagem de Modelagem
Leia maisUML & 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 maisATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS
ATRIBUTOS PRIVADOS Podemos usar o modificador private, para tornar um atributo privado, obtendo um controle centralizado Definimos métodos para implementar todas as lógicas que utilizam ou modificam o
Leia maisFUNDAMENTOS DA ORIENTAÇÃO A OBJETOS- REVISÃO
FUNDAMENTOS DA ORIENTAÇÃO A OBJETOS- REVISÃO Dado que a UML é uma ferramenta inserida no paradigma da orientação a objetos, vamos rever alguns conceitos fundamentais, dentre os quais, destacamos: Classificação,
Leia maisMétodos de Construção de Software: Orientação a Objetos. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes
Métodos de Construção de Software: Orientação a Objetos Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes Problemas com Modelagem Funcional Falta de aproximação de conceitos com o mundo real
Leia maisEngenharia de Software I
Engenharia de Software I Curso de Desenvolvimento de Software Prof. Alessandro J de Souza ajdsouza@cefetrn.br 1 Rational Unified Process RUP Fase Elaboração 2 VISÃO GERAL Fase Elaboração. Visão Geral 3
Leia maisMicro Mídia Informática Fevereiro/2009
Micro Mídia Informática Fevereiro/2009 1 UML Introdução Fases de Desenvolvimento Notação Visões Análise de Requisitos Casos de Uso StarUML Criando Casos de Uso Orientação a Objetos Diagrama de Classes
Leia maisPROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br
PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 1. Conceitos de Orientação a Objetos Introdução O paradigma da POO Classes
Leia maisDiagramas de Casos de Uso
UML Unified Modeling Language Diagramas de Casos de Uso José Correia, Março 2006 (http://paginas.ispgaya.pt/~jcorreia/) Objectivos O objectivo de um diagrama de casos de uso de um sistema é mostrar para
Leia maisMODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES. lucelia.com@gmail.com
MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES lucelia.com@gmail.com Externamente ao sistema, os atores visualizam resultados de cálculos, relatórios produzidos, confirmações de requisições solicitadas,
Leia maisCapítulo 11. Conceitos de Orientação a Objetos. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Capítulo 11 Conceitos de Orientação a Objetos Objetivos do Capítulo Introduzir os conceitos fundamentais da Programação Orientada a Objetos. Apresentar o significado dos objetos e das classes no contexto
Leia maisProgramaçã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 maisUML: Casos de Uso. Projeto de Sistemas de Software
UML: Casos de Uso Projeto de Sistemas de Software UML Casos de Uso Introdução Casos de uso Elementos do diagrama de casos de uso Descrição de casos de uso Exemplo: Blog Ferramentas de modelagem Bibliografia
Leia maisCapí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 maisEngenharia de Software III
Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,
Leia maisJava 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 mais2ª LISTA DE EXERCÍCIOS CLASSES E JAVA Disciplina: PC-II. public double getgeracaoatual() {return geracaoatual;}
2ª LISTA DE EXERCÍCIOS CLASSES E JAVA Disciplina: PC-II Exercício : Construtores são métodos especiais sem tipo de retorno (nem mesmo void) e de mesmo nome que a classe que são invocados quando da criação
Leia maisPadrão Básico de Projeto: Herança versus Composição
Padrão Básico de Projeto: Herança versus Composição Composição e Herança Composição e herança são dois mecanismos para reutilizar funcionalidade Alguns anos atrás (e na cabeça de alguns programadores ainda!),
Leia maisUnified Software Development Process
59/170 Unified Software Development Process Sumário Breve história do Unified Process O Unified Process O ciclo de vida do Unified Process O RUP (Rational Unified Process) 60/170 Breve História do Unified
Leia maisBibliografia. Desenvolvimento Orientado a Objetos. Introdução. Bibliografia. O que você vê?
Bibliografia Desenvolvimento Orientado a Objetos Prof.: Edson dos Santos Cordeiro LARMAN, Graig. Utilizando UML e padrões. Porto Alegre: Bookman, 2000. STAA, Arndt von. Programação modular. Rio de Janeiro:
Leia maisIntrodução a Java. Hélder Nunes
Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais
Leia maisProgramaçã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 maisCapítulo 22. Associações entre Classes. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Capítulo 22 Associações entre Classes Objetivos do Capítulo Indicar os diferentes aspectos de um relacionamento entre classes que podem ser expressos através de uma associação. Descrever o significado
Leia maisProf. Claudio Passos Apresentação cedida pela Ceça Moraes
Prof. Claudio Passos Apresentação cedida pela Ceça Moraes Programação Orientada a Objetos: os problemas de programação são pensados em termos de objetos Em vez de funções e rotinas Problema = desenvolver
Leia mais