Modelagem Orientada a Objetos com UML Cursos para a CTI - IME/USP Dairton Bassi, Hugo Corbucci e Mariana Bravo Departamento de Ciência.

Slides:



Advertisements
Apresentações semelhantes
Orientação a Objetos Classes
Advertisements

Paradigmas da Programação – Semestre 1– Aula 5 Lab3
Programação Orientada à Objetos
Herança e Arquitetura em camadas
Implementação Orientada a Objetos – Aula 04 Métodos, parâmetros e retorno Prof. Danielle Martin/Marcia Bissaco Universidade de Mogi das Cruzes
IDENTIFICAÇÃO DOS RELACIONAMENTOS Nesta atividade devem ser definidos os relacionamentos entre as classes Podem ser representados pela: – associação, –
Modelo de Caso de Uso Wedson Quintanilha da Silva
PROGRAMAÇÃO ORIENTADA A OBJETOS EM C++ Professor: Dilvan Moreira.
Modelagem Orientada a Objetos com UML Cursos para a CTI - IME/USP Dairton Bassi, Hugo Corbucci e Mariana Bravo Departamento de Ciência.
Modelagem Orientada a Objetos com UML Cursos para a CTI - IME/USP Dairton Bassi, Hugo Corbucci e Mariana Bravo Departamento de Ciência.
EA976 – Engenharia de Software AULA 17 Diagramas de Interação.
EA976 – Engenharia de Software AULA 19 Pré-Projeto e Modelagem de Negócios.
Memória de Aula 04: Desenvolvimento de Sistemas Introdução a UML Diagramas de Caso de Uso Profª Eliane Costa Santana.
DIAGRAMA DE SEQUENCIA Sandro Carvalho. OBJETIVO DO DIAGRAMA Apresentar as interações entre objetos na ordem temporal em que elas acontecem.
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Ciência da Computação 2o. Semestre / 2006 Prof. Fábio M. Costa
Testes de Unidade Curso de Verão IME/USP Hugo Corbucci
Disciplina: Estrutura de Dados Professor: Jeovane Reges Caxias – MA 2015 ACULDADE DE CIÊNCIAS E TECNOLOGIA DO MARANHÃO.
Classes Objetos Atributos Métodos Coletor de Lixo (Garbage Collector ) Confraria do Java Nivelamento. Caroline, Marcelo e Luiz 12/05/2007.
Diagramas Dinâmicos Diagramas de Interação Diagramas de Sequência Diagramas de Colaboração Diagramas de Estado (Statechart) Diagramas de Atividade.
Diagrama de Sequencia Prof. Thales Castro.
Introdução OO.
UML : Unified Modeling Language
Análise e Projeto de Sistemas II
UML – Diagramas de Objectos
Introdução a Linguagem Java
PROGRAMAÇÃO ORIENTADA A OBJETO - JAVA
3.1 Classes e Objetos Em um programa orientado a objetos normalmente existem vários objetos de um mesmo tipo. Por exemplo, um programa de controle de.
Desenvolvimento Dirigido por Testes / Testes a Priori
Tema 4 - Modelagem ER: Técnicas e Ferramentas
Diagrama de Atividade Prof. Thales Castro.
Singleton e Template Method
FUNDAMENTO DE PROGRAMAÇÃO
Criação e manipulação de objetos
Orientação a Objetos - Programação em C++
Edson Susumu Asaga JavaBeans Edson Susumu Asaga
Linguagens de Modelagem (cont.) (II)
Modelagem de Sistemas I Aula 1 – Introdução à UML
Curso Superior de Tecnologia em BD
Modelagem Orientada a Objetos com UML
Técnicas de Programação
Modelagem de Banco de Dados através do ERwin
MAC Tópicos de POO Secret Partner Pattern / Facet
Revisão Requisitos e Casos de Uso
BANCO DE DADOS I.
Projeto Orientada a Objetos
Modelagem de Objetos de Domínio com Diagrama de Classes
Técnicas de Programação
CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS Aula 09
MER – Modelo de Entidade Relacionamento
Rosemary Silveira Filgueiras Melo
Programação Orientada a Objetos*
DIAGRAMA DE CASOS DE USO
UML : Unified Modeling Language
Rosemary Silveira Filgueiras Melo
Programação Orientada a Objetos
3.1.7 Variáveis de Classe e Instância
Programação Orientada a Objetos
Laboratório I Mateus Raeder.
Rosemary Silveira Filgueiras Melo
Curso básico de PHP. 1 Vantagens: Gratuito Multiplataforma Estável Rapidez Comunicação.
Modelagem Entidade-Relacionamento (MER)
Paradigma de Orientação a Objetos
Tipos Primitivos de Dados
Prof. Marcio Ferreira Modelagem de dados II
UML Prof. Marcio Ferreira 1 29.
Computação Eletrônica
Programação Orientada a Objetos
Modelagem de Banco de Dados
JAVA - BÁSICO COL. ESTADUAL MARIA AGUIAR TEIXEIRA
Programação de Computadores II
Transcrição da apresentação:

Modelagem Orientada a Objetos com UML Cursos para a CTI - IME/USP Dairton Bassi, Hugo Corbucci e Mariana Bravo Departamento de Ciência da Computação

Copyleft AgilCoop Programa do Curso ● Primeiro dia: – Apresentação – Conceitos básicos – Tipos de relacionamento – Modelagem com cartões CRC – Diagrama de comunicação – Mais conceitos básicos

Copyleft AgilCoop Programa do Curso ● Segundo dia: – Diagrama de casos de uso, de banco de dados, de seqüência, de estados, de pacotes e de implantação – Conceitos de modelagem – Arquitetura de sistemas

Copyleft AgilCoop Programa do Curso ● Terceiro dia: – Revisão do curso – Exercícios

5 UML (Unified Modeling Language) UML é uma linguagem usada para representar os elementos de sistemas de software. Através de UML é possível representar e documentar os elementos de um sistema de forma padronizada, facilitando a comunicação.

6 Conceitos Básicos Classe, Tipo: Uma especificação que determina tipos de dados e comportamentos elementos do sistema. Exemplo: Modelo de carro, receita de bolo Código: class Jogo { }

7 Classe em UML ● Diagrama Classe atributos Classe atributos métodos

8 Conceitos Básicos Instância, Objeto: Um elemento construído a partir de uma classe, que contém os dados de fato. Exemplo: Um carro vermelho, um bolo de chocolate Código: new Jogo();

9 Objeto em UML ● Diagrama ● Exemplo: nomeDaVariavel: Classe atributos = valor meuCarro: Carro cor = cinza marca = Renault modelo = Clio

10 Exercício Qual é a diferença entre uma classe e um objeto?

11 Tempo de vida O tempo de vida de uma classe é maior do que o de um objeto. Uma classe existe a partir do momento em que o código é compilado e ela não muda de uma execução do programa para outra. O objeto é criado durante a execução do programa e pode durar no máximo até o fim daquela execução.

12 Conceitos Básicos Método: Uma operação de um objeto que pode ser executada por ele próprio ou por outros objetos. Exemplo: Acelerar o carro, cortar o bolo, falar Código: int calculaDano() { }

13 Método em UML nomeDoMetodo(parametro1: tipo, parametro2: tipo) : tipoDoRetorno nomeDoMetodo() : tipoDoRetorno ligar() : boolean Exemplo: adicionarCobertura(cobertura: Chocolate) : void Exemplo:

14 Conceitos Básicos Atributo: Variável que armazena valores inerentes ao objeto. Exemplo: Cor do carro, sabor do recheio do bolo, data de nascimento do Paulo Código: class Jogo { int numeroDeRodadas;... }

15 Atributo em UML nomeDoAtributo : tipo = valorPadrao nomeDoAtributo : tipo combustivel : int Exemplo: ano : int = 2008 Exemplo:

16 Conceitos Básicos Modificadores de acesso: Métodos e atributos podem ter acesso público, protegido, de pacote ou privado. Serve para garantir que apenas o objeto tenha acesso as algumas de suas informações. Isso auxilia na criação de sistemas modularizados.

17 Conceitos Básicos As permissões determinam quais classes têm acesso a cada método e atributo. Público: Todas as classes têm acesso De pacote: Só as classes no mesmo pacote têm acesso Protegido: Só classes filhas têm acesso Privado: Só a própria classe tem acesso

18 Acesso em UML Público: Adicione '+' antes do elemento Privado: Adicione '-' antes do elemento Protegido: Adicione '#' antes do elemento De pacote: Sem marcação

19 Do código para o UML public class Carro { protected String modelo; protected String marca; int ano; public double velocidade; private int combustivel; public void acelera() {... } public void freia(double intensidade) {... } private int consomeCombustivel() {... } }

20 Solução Carro #modelo : String #marca : String ano : int +velocidade : double -combustivel : int +acelera() : void +freia(intensidade : int) : void -consomeCombustivel() : int

21 Do problema para o UML ● Seu sistema precisa de uma classe para representar uma conta bancária. Ela será usada para controlar a quantidade de dinheiro na conta, e deve permitir saque e deposito de qualquer quantia até um certo limite. Quais os atributos dessa classe? Quais são seus possíveis métodos? Qual é seu nome?

22 Relação entre classes: Associação Relação simples e estática que permite a comunicação entre os objetos. Pode ser representada com uma flecha e o nome da associação ou com os papéis que cada classe representa na associação. Exemplos: Carro e Estrada

23 Relação entre classes: Agregação Associação de define a relação de parte-todo entre o agregado (todo) e o componente (parte). É representada por uma ligação com um losango do lado do agregado. Exemplos: Carro e Pneus ou Empresa e pessoas

24 Relação entre classes: Composição Uma relação semelhante à agregação mas com dependência da parte para o todo. É representada por uma linha com um losango preenchido do lado do objeto principal. Exemplos: Pessoa e Cabeça

25 Relação entre Classes Resumo: Associação, composição e agregação são formas específicas de apresentar relações do tipo “tem um”.

26 Exercício 2 public class Barco { private Motor motor1; private Motor motor2; public Barco(Motor m1, Motor m2) {motor1=m1;motor2=m2;} public void acelera() {motor1.acelera();motor2.acelera();} } class Motor { private int potencia = 0; public void acelera() { potencia++; } } Defina o tipo de relacionamento das classes a seguir e faça o UML para elas: a)

27 Exercício 2 public class Pedido { private List items; public Pedido() { this.items = new LinkedList (); } public void adicionaItem(int id, double valor) { this.items.add(new Item(id, valor));} } class Item { public int id; public double valor; public Item(int id, double valor) { this.id=id;this.valor=valor; } } Defina o tipo de relacionamento das classes a seguir e faça o UML para elas: b)

28 Exercício 3 public class Carro { private List passageiros; public Carro() { this.passageiros = new LinkedList (); } public acolhe(Pessoa passageiro) { this.passageiros.add(passageiro); } class Pessoa { } Defina o tipo de relacionamento das classes a seguir e faça o UML para elas: c)