Capítulo 8. Introdução UML
|
|
- Giovanni Duarte Varejão
- 7 Há anos
- Visualizações:
Transcrição
1 Capítulo 8. Introdução UML 1/42
2 Índice Indice Introdução UML Modelação estrutural Representação de classes e objectos Relações entre objectos Relações de associação Relações de agregação e composição Relações de generalização Modelação de comportamento Use cases Actividade Sequência de mensagens 2/42
3 Índice 8.1 Introdução UML Introdução UML Modelação estrutural Representação de classes e objectos Relações entre objectos Relações de associação Relações de agregação e composição Relações de generalização Modelação de comportamento Use cases Actividade Sequência de mensagens 3/42
4 8.1 Introdução 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 > V1.1 ; > V1.3 ; > V1.4 ; > V1.5 ; Abril > V2.0 Ferramentas -Rational Rose -Plug-in do eclipse ( -ArgoUML ( 4/42
5 8.1 Introdução UML UML Unified Modeling Language 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 Em POO são abordados apenas os diagramas centrais do UML, na sequência: - Conceito => representação em UML => Implementação em Java 5/42
6 Índice 8.2 Modelação estrutural Introdução UML Modelação estrutural Representação de classes e objectos Relações entre objectos Relações de associação Relações de agregação e composição Relações de generalização Modelação de comportamento Use cases Actividade Sequência de mensagens 6/42
7 Índice Representação de classes e objectos Introdução UML Modelação estrutural Representação de classes e objectos Relações entre objectos Relações de associação Relações de agregação e composição Relações de generalização Modelação de comportamento Use cases Actividade Sequência de mensagens 7/42
8 8.2.1 Representação de classes e objectos Representação de classes As classes são representadas por um rectângulo dividido em 3 zonas Identificador da classe Atributos Métodos Conta # dono: Pessoa # quantia: float = 0 + Conta() + deposito (valor:float) + levantamento (valor: float) : void + saldo () : float Tipo do atributo Inicialização do atributo Construtor Visibilidade: Visibilidade Tipo do parâmetro Tipo de retorno - + public (visível e acessível por todas as classes) - # protected (visível e acessível pelas classes filhas noutro package ou pelas classes que compõem o package) - - private (visível e acessível apenas pela própria classe) - ~ package (visível e acessível apenas pelas classes dentro do package) 8/42
9 8.2.1 Representação de classes e objectos Representação de objectos Os objectos são representados por um rectângulo dividido em 2 zonas -Nome do objecto instanciado e inicialização dos atributos Id do Objecto : Id da Classe ou apenas Id da Classe Inicialização dos atributos (1 por linha): Id = init. Conta1: Conta Dono = Rui Silva quantia = /42
10 8.2.1 Representação de classes e objectos Métodos e atributos de classe e de objecto Atributos e métodos podem ser: -De classe : Um para todas as instancias (objectos) da classe (STATIC) -De objecto: Um para cada instância da classe Conta Os atributos e métodos de classe (static) são representados com sublinhado no diagrama. - numproximaconta: int # dono: Pessoa # quantia: float = 0 # incnumproxconta() : void + deposito (valor:float) + levantamento (valor: float) : void + saldo () : float 10/42
11 8.2.1 Representação de classes e objectos Herança A sub-classe constitui uma especialização da super-classe É representada por uma seta não preenchida da sub-classe para a super-classe Super-classe Animal Especialização Mamífero Ovíparo Nota: Quando não é necessário definir os atributos e métodos estes podem ser omitidos e fica apenas o diagrama de relação de classes 11/42
12 8.2.1 Representação de classes e objectos Métodos e classes abstractas Um método abstracto não tem implementação (é apenas um protótipo) Uma classe abstracta é uma classe que não pode ser instanciada. Os métodos e classes abstractas são representados com o nome em itálico Classe abstracta Conta + levantamento (valor: float) Especialização ContaOrdem ContaPrazo + levantamento (valor: float) + levantamento (valor: float) 12/42
13 8.2.1 Representação de classes e objectos Notas, comentários e restrições Notas e comentários : Ilustram comentários e não têm impacto semântico Istoéumanota. Conta Classe que representa a conta bancária Restrições: Permitem adicionar ou alterar a semântica assumida por omissão no elemento UML -Especificação da condição delimitada pelos caracteres {} {Isto é uma condição} Conta - numproximaconta: int # dono: Pessoa # sexo: String # quantia: float = 0 { (sexo = F or sexo = M ) and quantia 0 } 13/42
14 8.2.1 Representação de classes e objectos Estereótipos Permitem adicionar semântica ao símbolo -Os estereótipos são texto entre << >> Para organizar listas longas de atributos e métodos, estes podem ser agrupados em categorias discriminadas por estereótipos << conta à ordem >> Conta <<contador>> -numproximaconta: int <<atributos de Conta>> # dono: Pessoa # quantia: float = 0 <<número próxima conta>> # incnumproxconta() : void <<operações sobre conta>> + deposito (valor:float) + levantamento (valor: float) : void + saldo () : float 14/42
15 Estereótipos Definição de interfaces em UML Representação de classes e objectos -A interface é uma classe que tem somente operações publicas sem métodos nem atributos. -isto é, um tipo especial de classe representada pelo estereótipo <<interface>> -Uma interface, para além das operações oferecidas só pode conter atributos constantes, representados com a propriedade {readonly} << interface >> Teste + valor1: int = 0 {readonly} + valor1: int = 1 {readonly} + setatributo (float valor) + getatributo():float constantes 15/42
16 Índice Relações entre objectos Introdução UML Modelação estrutural Representação de classes e objectos Relações entre objectos Relações de associação Relações de agregação e composição Relações de generalização Modelação de comportamento Use cases Actividade Sequência de mensagens 16/42
17 8.2.2 Relações entre objectos Os objectos não vivem isolados e nos programas são estabelecidas relações de cooperação Uma relação é uma conexão entre elementos. Existem diferentes tipos de relações por exemplo: -Associação: relaciona objectos entre si. -Composição/Agregação: relação que denota o todo constituído por partes. -Herança: mecanismo de generalização-especialização de classes 17/42
18 Índice Relações de associação Introdução UML Modelação estrutural Representação de classes e objectos Relações entre objectos Relações de associação Relações de agregação e composição Relações de generalização Modelação de comportamento Use cases Actividade Sequência de mensagens 18/42
19 8.2.3 Relações de associação Associação Numa associação são definidos identificador, papeis e multiplicidade -Os dois últimos são opcionais -Não há o conceito de posse. Os tempos de vida dos objectos ligados entre si são independentes Empregado Chefe Empregado Multiplicidade: -(1) exactamente 1 -(0..1) Zero ou 1 -(0..* ou *) Zero ou mais -(1..*) 1 ou mais empregados Papeis chefe * Chefia 0..1 Identificador multiplicidade Chefe 1 Chefe pode chefiar entre 0 e muitos empregados 1 empregado pode ter apenas um ou nenhum chefe 19/42
20 8.2.3 Relações de associação Associação A associação é estabelecida quando os atributos forem inicializados Nas associações dirigidas, apenas a classe de partida da seta contêm o atributo para a classe de chegada. Empregado - chefe ÉChefiadoPor 0..1 Chefe public abstract class Empregado { // public abstract class Chefe { // String nome; } } private Chefe nome; public Empregado(Chefe nomechefe){ this.nome = nomechefe; } Associação. Classe de partida contêm atributo com referência para a classe de chegada Associação é definitivamente estabelecida quando os atributos forem inicializados 20/42
21 8.2.3 Relações de associação Multiplicidade das associações No JAVA, a multiplicidade (que não seja 0..1 e 1) é implementada por atributos do tipo array, vector, etc. nas classes associadas. Pessoa dono 1 contas Conta public abstract class Pessoa { } int numproxconta=0; static final int nummaxconta=10; Conta[] conta; // Pessoa(){ } conta = new Conta[numMaxConta] void associarconta(conta conta) { } this.conta[nummaxconta++] = conta; Multiplicidade: Pessoa tem até 10 contas public abstract class Conta { } Pessoa dono; Conta (Pessoa dono){ this.dono=dono; 21/42 } Associação é definitivamente estabelecida quando ambos os atributos forem inicializados
22 Índice Relações de agregação e composição Introdução UML Modelação estrutural Representação de classes e objectos Relações entre objectos Relações de associação Relações de agregação e composição Relações de generalização Modelação de comportamento Use cases Actividade Sequência de mensagens 22/42
23 8.2.3 Relações de agregação e composição Agregação A agregação denota uma relação do todo ser formado por partes -É tida como uma relação has-a ou tem um ou mais Especificada por um losango vazio no extremo relativo ao todo Empresa 0..1 frota * Veículo Composição Na composição, o desaparecimento do todo conduz ao desaparecimento das partes Especificada por um losango preenchido no extremo relativo ao todo. Livro 0..1 Páginas Na composição é ainda necessário garantir que o desaparecimento do todo implica o desapareceimento das partes. * 23/42
24 8.2.3 Relações de agregação e composição Composição Exemplo: -Uma pessoa é composta por uma cabeça e dois braços Pessoa 1 1 Cabeça 1 2 Braço -Implementação JAVA public class Pessoa { // private Cabeça cabeça; private Braço braço_esquerdo; private Braço braço_direito; } Implementação da composição (ou associação) através da definição de atributos do tipo referência Multiplicidade: Pessoa tem 2 braços 24/42
25 Composição Exemplo Relações de agregação e composição Empresa Departamento public class Empresa { int numproxdepartamento = 0; static final int nummaxdepartamentos = 10; Departamento departamentos[]; // 1 para n Empresa() { //Construtor departamentos = new Departamento[numMaxDepartamentos]; } void novodepartamento() { if (numproxdepartamento < nummaxdepartamentos ) departamentos[] = new Departamento(this); }} Implementação da composição (ou associação) através da definição de atributos do tipo referência public class Departamento { } // Empresa empresa; // 1 para 1 Departamento(Empresa e) { } empresa = e; 1 departamento é parte de 1 empresa 1 empresa é composta por n dptos. 25/42
26 8.2.3 Relações de agregação e composição Composição Alternativa recorrendo a classes aninhadas 1 Empresa Departamento -A classe Departamento é em alternativa definida como classe aninhada da classe Empresa -Deixa de ser necessário guardar um atributo com referência da classe Departamento para a classe Empresa, pois esta é disponibilizada implicitamente pelo Java através do this qualificado 26/42
27 8.2.3 Relações de agregação e composição Composição Alternativa recorrendo a classes aninhadas 1 Empresa Departamento public class Empresa { int numproxdepartamento = 0; static final int nummaxdepartamentos = 10; Departamento departamentos[]; // 1 para n public class Departamento { } Empresa() { Classe aninhada //Construtor departamentos = new Departamento[numMaxDepartamentos]; } void novodepartamento() { if (numproxdepartamento < nummaxdepartamentos ) departamentos[] = new Departamento(this); }} 27/42
28 Índice Relações generalização Introdução UML Modelação estrutural Representação de classes e objectos Relações entre objectos Relações de associação Relações de agregação e composição Relações de generalização Modelação de comportamento Use cases Actividade Sequência de mensagens 28/42
29 8.2.5 Relações de generalização Generalização Um humano é um mamífero ou qualquer humano é um mamífero Mamífero Humano Exemplo em Java public class Humano extends Mamífero { // } 29/42
30 8.2.5 Relações de generalização Generalização (simulando herança múltipla) Um hidroavião é uma avião e também um veículo naval ou: Qualquer hidroavião é um avião e um veículo naval Avião << interface >> VeículoNaval Hidroavião Exemplo em Java public class Hidroavião extends Avião implements VeículoNaval { // } Herança multipla é simulada recorrendo a interfaces 30/42
31 Índice 8.3 Modelação de comportamento Introdução UML Modelação estrutural Representação de classes e objectos Relações entre objectos Relações de associação Relações de agregação e composição Relações de generalização Modelação de comportamento Use cases Actividade Sequência de mensagens 31/42
32 Índice Use cases Introdução UML Modelação estrutural Representação de classes e objectos Relações entre objectos Relações de associação Relações de agregação e composição Relações de generalização Modelação de comportamento Use cases Actividade Sequência de mensagens 32/42
33 8.3.1 Modelação de comportamento Diagrama de casos de utilização (Use cases) O elemento básico de representação de casos de utilização é o actor Exemplo diagrama de generelalização de casos de utilização para perfis de acesso a um sistema 33/42
34 8.3.1 Modelação de comportamento Diagrama de casos de utilização (Use cases) Exemplo II 34/42
35 Índice Actividade Introdução UML Modelação estrutural Representação de classes e objectos Relações entre objectos Relações de associação Relações de agregação e composição Relações de generalização Modelação de comportamento Use cases Actividade Sequência de mensagens 35/42
36 8.3.2 Modelação de comportamento Diagrama de actividade São Equivalentes ao fluxograma em linguagem procedimental: Fluxograma em Linguagem procedimental 36/42
37 8.3.2 Modelação de comportamento Diagrama de actividade Utilizado para modelar: -A dinâmica da sociedade de objectos -O controlo de fluxo de um método São o equivalente ao fluxograma para a POO -O fluxo simples é representado por setas -O estado inicial é representado por um circulo preenchido -O estado final é representado por um circulo preenchido dentro de outro circulo 37/42
38 8.3.2 Modelação de comportamento Diagrama de actividade O fluxo alternativo é representado por um diamante não preenchido de onde parte a ramificação: -A ramificação pode resultar em 2 ou mais fluxos simples -Cada fluxo tem uma expressão booleana 38/42
39 Índice Sequência de mensagens Introdução UML Modelação estrutural Representação de classes e objectos Relações entre objectos Relações de associação Relações de agregação e composição Relações de generalização Modelação de comportamento Use cases Actividade Sequência de mensagens 39/42
40 8.3.3 Modelação de comportamento Diagrama de sequência de mensagens Contêm objectos, ligações entre eles e as mensagens (métodos chamados) que deram origem a estas ligações Representa os objectos no eixo das abcossas e os métodos chamados entre os respectivos objectos ordenados temporalmente no eixo das ordenadas 40/42
41 8.3.3 Modelação de comportamento Diagrama de sequência de mensagens Nos diagramas de sequência de mensagens os objectos são criados e destruidos -A sua existência começa com uma seta com o estereótipo <<create>> ligando os objectos envolvidos -A sua existência termina com uma seta com o estereótipo <<destroy>> ligando os objectos envolvidos 41/42
42 FIM 42/42
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 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 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 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 maisProgramação Orientada a Objetos (DPADF 0063)
Programação Orientada a Objetos (DPADF 0063) Aula 5 Herança Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof. Bruno
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 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 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 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 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 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 maisHeranç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 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 maisModelagem com UML. Fabio Perez Marzullo. IEEE Body of Knowledge on Services Computing Committee on Services Computing, IEEE Computer Society
Modelagem com UML Fabio Perez Marzullo IEEE Body of Knowledge on Services Computing Sponsored by Technical Committee on Services Computing, IEEE Computer Society Modelagem Estática (Visão Lógica) Casos
Leia maisCURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008/1 4º PERÍODO 7º MÓDULO AVALIAÇÃO A3 DATA 15/10/2009 ENGENHARIA DE SOFTWARE 2009/2 GABARITO COMENTADO QUESTÃO 1: Analise as afirmações
Leia maisEncapsulamento de Dados
Encapsulamento de Dados Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Modificadores de Visibilidade Especificam
Leia maisImplementando uma Classe e Criando Objetos a partir dela
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe
Leia maisUML & Padrões Aula 2 1
UML & Padrões Aula 2 1 (continuação...) Ainda a tratar: Multiplicidade de Associações Binárias Navegabilidade de Associações Restrições Classes Concretas e Abstratas Atributos e Métodos Estáticos Classes
Leia maisConstruçã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 maisA 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 maisProf. Jhonatan Fernando
Prof. Jhonatan Fernando Métodos Programação OO Instâncias de variáveis (objetos) Mensagens Classes Herança Polimorfismo Encapsulamento Abstração Programação Estruturada Procedimentos e funções Variáveis
Leia maisLinguagem 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 maisProgramaçã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 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 maisUML (Unified Modeling Language) Linguagem de Modelagem Unificada
UML (Unified Modeling Language) Linguagem de Modelagem Unificada Introdução É a padronização das metodologias de desenvolvimento de sistemas baseados na orientação a objetos. Foi criada por três grandes
Leia maisARQUITECTURAS DE SOFTWARE
ARQUITECTURAS DE SOFTWARE AULAS Nº 5, 6 e 7 16-23-30/11/2007 F. Mário Martins Ligação das partes Use Case Diagram Use Case Specification Passo 1: ---------- Passo 2: ---------- Passo 3: ---------- Domain
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 maisDisciplina Técnicas de Modelagem
T É C N I C A 3 MODELAGEM CONCEITUAL GENERALIZAÇÃO/ESPECIALIZAÇÃO, AGREGAÇÃO E COMPOSIÇÃO Generalização/Especialização Herança é o termo em orientação a objetos que se refere à criação de novas classes
Leia maisItens estruturais/caso de uso. Itens estruturais/classe ativa. Itens estruturais/componente. Itens estruturais/artefatos. Itens comportamentais
Objetivos da UML Introdução a UML cbraga@ic.uff.br Uma linguagem para: Visualizar Especificar Construir Documentar... e analisar. Desenvolvimento dirigido a modelos 2 Construções básicas Organizadas em
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 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 maisIntroduçã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 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 maisGestão de projectos na Web
Gestão de projectos na Web Relatório de desenho de alto nível Versão 1.0, 5 de Maio de 2003 Telmo Pedro Gomes Amaral (mee02013@fe.up.pt) (Grupo 15) Aplicações na Web Mestrado em Engenharia Electrotécnica
Leia maisUML Itens Estruturais - Interface
Itens Estruturais - Interface Coleção de operações que especificam serviços de uma classe ou componente Descreve o comportamento visível externamente Raramente aparece sozinha. Em geral vem anexada à classe
Leia maisAlgoritmos e Programação II. Sobrecarga
Algoritmos e Programação II Baseado no Material do Prof. Júlio Machado Sobrecarga Em várias linguagens é comum encontrarmos rotinas que fazem basicamente a mesma coisa, porém, têm nomes distintos porque
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 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 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 maisLinguagem 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 maisFerramenta para Geração de Código a partir da Especialização do Diagrama de Classes
Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes Alexandro Deschamps (Ápice) alexandro@apicesoft.com Everaldo Artur Grahl (FURB/DSC) egrahl@furb.br Resumo. Uma das grandes
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 maisRELACIONAMENTOS ENTRE CLASSES
UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 RELACIONAMENTOS ENTRE CLASSES Conteúdo Introdução...2 Tipos de Relacionamentos...3 O Relacionamento de Dependência ( precisa de )...5
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 maisJava. Marcio de Carvalho Victorino www.dominandoti.eng.br
Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a
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 maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro. Cartão de fidelização de clientes das distribuidoras de combustível.
Caso de estudo O cartão fidelidade Cartão de fidelização de clientes das distribuidoras de combustível. Definição em JAVA da classe CartaoFidelidade, que deverá apresentar uma funcionalidade semelhante
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 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 maisAnálise de Programação
Análise de Programação Conceitos Avançados da Linguagem de Programação Java Prof Gilberto B Oliveira Encapsulamento Proteger o dado dentro de uma classe (capsula segura) Facilita o uso da classe por outros
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 maisSintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.
Sintaxe Geral Tipos de Dados Comentários Comentários: De linha: // comentário 1 // comentário 2 De bloco: /* linha 1 linha 2 linha n */ De documentação: /** linha1 * linha2 */ Programa Exemplo: ExemploComentario.java
Leia maisMaterial 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 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 mais4.4. UML Diagramas de interacção
Engenharia de Software 4.4. UML Diagramas de interacção Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Um diagrama de interacção mostra um padrão de interacção entre vários objectos, com objectos e
Leia maisAnálise e Projeto Orientados a Objeto
Análise e Projeto Orientados a Objeto com UML e Padrões Parte I Análise, Projeto, e Processo Baseado em Craig Larman 1 Aplicando UML, Padrões e APOO Objetivo Desenvolver habilidades práticas na utilização
Leia maisTópicos em Engenharia de Computação
Tópicos em Engenharia de Computação Introdução / Revisão UML e POO (JAVA) Prof. Ivan Prof. Zagari UML Linguagem Unificada. Não é metodologia, processo ou método. Versão atual 2.0 3 categorias de Diagramas
Leia 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 maisModelando com UML Unified Modeling Language
Modelando com UML Unified Modeling Language AHMED ALI ABDALLA ESMIN 1 1 ILES ULBRA Instituto de Informática - Universidade Luterana do Brasil de Informática Cx. Postal 271 CEP 78.9860-000 Ji-Paraná (RO)
Leia maisTema 1: Modelo Estático
Tema 1: Modelo Estático (fonte: http://www.macoratti.net/net_uml1.htm) A Programação Orientada a Objetos (POO) baseia-se na descoberta dos objetos que compõem um determinado escopo e nas trocas de mensagens
Leia maisAnálise de Sistemas Orientados a Objetos Prof. Tiago Eugenio de Melo tiago@comunidadesol.org. www.tiagodemelo.info
Análise de Sistemas Orientados a Objetos Prof. Tiago Eugenio de Melo tiago@comunidadesol.org www.tiagodemelo.info Roteiro Conceitos de Orientação a Objetos (OO) Visão Geral da UML Diagrama de Classes Diagramas
Leia maisExercícios de Revisão Java Básico
Exercícios de Revisão Java Básico (i) Programação básica (estruturada) 1) Faça um programa para calcular o valor das seguintes expressões: S 1 = 1 1 3 2 5 3 7 99... 4 50 S 2 = 21 50 22 49 23 48...250 1
Leia mais4.1. UML Diagramas de casos de uso
Engenharia de Software 4.1. UML Diagramas de casos de uso Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Utilizados para ajudar na análise de requisitos Através da forma como o utilizador usa o sistema
Leia maisAutoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira
Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Introdução Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre
Leia maisMapa Mental de Engenharia de Software - Diagramas UML
Mapa Mental Engenharia Software - Diagramas UML Mapa Mental Engenharia Software Diagramas UML Mapa Mental Engenharia Software Diagramas UML Mapa Mental UML - Diagramas, Fases e Detalhes Resolvi juntar
Leia maisAula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.
Aula 2 Objetivos Encapsulamento na linguagem Java; Utilizando a referência this. Encapsulamento, data hiding é um conceito bastante importante em orientação a objetos. É utilizado para restringir o acesso
Leia maisInfluenciam 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 maisAula 5 UML: Casos de Uso
Aula 5 UML: Casos de Uso 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 2 Introdução Casos
Leia maisProva de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos)
Prova de Java 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos) O programa consiste em uma aplicação que simula o comportamento de dois
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 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 mais04/07/2015 UML. Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com DEFINIÇÃO DE REQUSIITOS
UML Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com DEFINIÇÃO DE REQUSIITOS 1 REQUISITOS São os serviços fornecidos para um sistema. São classificados em requisitos
Leia maisUm objeto é uma instância de uma 'classe'. Você define uma classe utilizando o trecho de código abaixo;
um objeto; é definido; Um objeto é uma instância de uma 'classe'. Você define uma classe utilizando o trecho de código abaixo; class ClasseBase{ é instanciado; $objetobase = new ClasseBase; Caso queira,
Leia maisII. Elementos a Apresentar
Projecto da Disciplina de Programação Orientada Por Objectos 2004/2005 Programação Orientada por Objectos (Cursos: EII EIG EEC) Projecto 2004/2005 I. Considerações Gerais Pretende-se com este projecto
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 maisUtilizando os Diagramas da UML (Linguagem Unificada de Modelagem) para desenvolver aplicação em JSF
Utilizando os Diagramas da UML (Linguagem Unificada de Modelagem) para desenvolver aplicação em JSF Ben-Hur de Sousa Lopes¹, Jaime William Dias¹ ¹Universidade Paranaense (UNIPAR) Paranavaí Paraná Brasil
Leia maisComputação II - Java Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Herança, Polimorfismo e Construtores
Computação II - Java Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Herança, Polimorfismo e Construtores 1 Exercícios Exercício 1: Construtores e Testes Analise a classe Conta.java, mostrada na
Leia maisMódulo 07 Características Avançadas de Classes
Módulo 07 Características Avançadas de Classes Última Atualização: 15/06/2010 1 Objetivos Descrever variáveis, métodos e iniciadores static Descrever a semântica do modificador final em classes, métodos
Leia 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 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 Introdução Esse não é um curso de Java! O objetivo é aprender os conceitos da programação orientada a objetos,
Leia maisBSI UFRPE Prof. Gustavo Callou gcallou@gmail.com
BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com HelloWorld.java: public class HelloWorld { public static void main (String[] args) { System.out.println( Hello, World ); } } Identificadores são usados
Leia maisClasses Abstratas e Interfaces
Classes Abstratas e Interfaces Programação Orientada a Objetos Java Prof. Geraldo Braz Junior Principais conceitos Classes abstratas Interfaces Herança múltipla 2 Simulações (1) Programas são normalmente
Leia maisLinguagem de Programação III Herança
Linguagem de Programação III Herança Prof. Moser Fagundes Curso Técnico em Informática (Modalidade Integrada) Instituto Federal Sul-Rio-Grandense (IFSul) Campus Charqueadas Vantagens da orientação a objetos
Leia maisUML (Unified Modelling Language) Diagrama de Classes
UML (Unified Modelling Language) Diagrama de Classes I Classes... 2 II Relações... 3 II. Associações... 3 II.2 Generalização... 9 III Exemplos de Modelos... III. Tabelas de IRS... III.2 Exames...3 III.3
Leia maisParadigmas da Programação PPROG. Linguagem JAVA. Interfaces. (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33
PPROG Paradigmas da Programação Linguagem JAVA Interfaces (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33 PPROG Motivação para usar Interfaces Definição de Interface
Leia maisDesenvolvimento OO com Java Orientação a objetos básica
Desenvolvimento OO com Java Orientação a objetos básica Vítor E. Silva Souza (vitor.souza@ufes.br) http://www.inf.ufes.br/~vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal
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 maisCASO DE USO. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com
CASO DE USO Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Caso de Uso Descreve o modelo funcional (comportamento) do sistema Técnica de especificaçao de requisitos Especifica um serviço que o sistema
Leia mais8 Classes Internas. Desenvolvimento OO com Java. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.
Desenvolvimento OO com Java 8 Classes Internas 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 maisPROGRAMAÇÃO ORIENTADA A OBJETO EM PHP
PROGRAMAÇÃO ORIENTADA A OBJETO EM PHP O PHP através da versão 5, veio desenvolvido com suporte a programação orientada a objetos. O que significa isso? Que a partir da versão 5 é possível criar bibliotecas
Leia maisProgramaçã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 maisUML Unified Modeling Language. Professor: André Gustavo Bastos Lima
UML Unified Modeling Language Professor: André Gustavo Bastos Lima Diagramas de Casos de Uso Professor: André Gustavo Bastos Lima DEFINIÇÃO DE CASO DE USO Segundo o RUP: Um Caso de Uso é a relação de uma
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 maisJava Threads. Introdução
Java Threads mleal@inf.puc-rio.br 1 Introdução O único mecanismo de concorrência suportado explicitamente pela linguagem Java é multi-threading. threading. Os mecanismos de gerenciamento e sicronização
Leia maisCiência da Computação ENGENHARIA DE SOFTWARE. UML-Unified Modeling Language Linguagem de Modelagem Unificada
Ciência da Computação ENGENHARIA DE SOFTWARE UML-Unified Modeling Language Linguagem de Modelagem Unificada Prof. Claudinei Dias email: prof.claudinei.dias@gmail.com Roteiro Introdução a linguagem UML
Leia mais1.2 Uma linguagem de programação muito simples
1 Representando programas como dados 1.1 Introdução Os processadores de linguagem sempre fazem alguma manipulação com programas. Normalmente a entrada para o processador é um programa apresentado na forma
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 maisProgramaçã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