A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Modelagem Orientada a Objetos com UML Cursos para a CTI - IME/USP Dairton Bassi, Hugo Corbucci e Mariana Bravo Departamento de Ciência."— Transcrição da apresentação:

1 www.agilcoop.org.br 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

2 Copyleft AgilCoop 20072 Roteiro ● Cartões CRC ● Diagrama de comunicação ● Herança e polimorfismo ● Classe abstrata e interface ● Mais diagrama de classe

3 Copyleft AgilCoop 20073 Cartões CRC ● Classe, Responsabilidade e Colaboração ● Objetivo: a partir de um problema, reconhecer classes e relacionamentos importantes em uma possível solução para o sistema. ● Não é UML!

4 Copyleft AgilCoop 20074 Cartões CRC ● Classe: o nome da classe, que tenha significado relevante ● Responsabilidades: o que a classe deve conhecer o fazer (e não como) ● Colaboração: outras classes no sistema com as quais esta classe colabora

5 Copyleft AgilCoop 20075 Cartões CRC – Exemplo Carro Conhece sua velocidade atual Conhece sua direção Permite acelerar Permite frear Permite girar o volante para fazer curvas Motor Sistema Eletrico

6 Copyleft AgilCoop 20076 Exercício! ● Vamos montar um sistema para uma locadora de livros. Ele deve cuidar do estoque de livros, dos aluguéis e do cadastro dos clientes. ● Os livros são separados por categoria, e queremos buscá-los seja pela categoria, pelo autor ou pelo título para descobrir em qual estante da loja ele está, se não estiver alugado.

7 Copyleft AgilCoop 20077 Exercício! (continuado) ● O cadastro de clientes é bem simples, só precisamos saber seu nome, CPF e telefone. ● Os clientes podem alugar livros que estejam disponíveis por quanto tempo quiserem, pagando uma taxa diária que varia de R$0,90 a R$1,70 dependendo da categoria do livro. Ele paga a taxa de dois dias ao levar o livro, e o resto ao devolver, dependendo do tempo de aluguel.

8 Copyleft AgilCoop 20078 Discussão do exercício!

9 Copyleft AgilCoop 20079 Diagrama de comunicação ● Mostra como diversos objetos colaboram para realizar uma determinada tarefa. ● É um diagrama de objetos mostrando quais mensagens são trocadas entre os objetos e em qual ordem.

10 Copyleft AgilCoop 200710 Exemplo :Carro:Motor :Controle 1. fazCurva(angulo) 2. acelera(valor) 1.1 freia(valor) 2.1 acelera(valor) 1.2 giraVolante(angulo)

11 Copyleft AgilCoop 200711 Exercício ● Revisitando o exercício da locadora de livros, desenhe um diagrama de comunicação mostrando como é feita a retirada e a devolução de um livro no sistema.

12 Copyleft AgilCoop 200712 Herança ● Relacionamento entre dois tipos indicando que um (filho) é subtipo do outro (pai). ● Usada para: – Reaproveitar implementação (classe pai tem código que classes filhas podem usar) – Reaproveitar especificação (tipo pai define métodos que tipos filhos devem seguir)

13 Copyleft AgilCoop 200713 Herança em UML

14 Copyleft AgilCoop 200714 Polimorfismo ● É a habilidade de um tipo A parecer e ser usado como um tipo B. ● Qualquer tipo de herança permite polimorfismo dos subtipos, que podem ser usados como o supertipo.

15 Copyleft AgilCoop 200715 Classe abstrata ● É uma classe que não define a implementação de todos os seus métodos. ● Suas subclasses devem fornecer implementações para os métodos abstratos, a não ser que sejam abstratas também.

16 Copyleft AgilCoop 200716 Classe abstrata ● Código: abstract class ClasseAbstrata { void metodoConcreto() {... } abstract void metodoAbstrato(); }

17 Copyleft AgilCoop 200717 Exercício! ● Suponha que você tem uma classe abstrata Robo usada para controlar diversos tipos de rôbos que ajudam na limpeza de uma casa. Por exemplo, ela tem uma subclasse AspiradorDePo e outra LimpadorDeVidro. Que métodos teria a classe Rôbo? E as suas subclasses? Quais métodos seriam abstratos? Na sua solução, a herança aproveita implementação ou especificação?

18 Copyleft AgilCoop 200718 Discussão do exercício!

19 Copyleft AgilCoop 200719 Interface ● Tipo que não define implementação para nenhum de seus métodos. É apenas uma especificação. ● O suporte em UML é feito através de esteriótipos (notação: >)

20 Copyleft AgilCoop 200720 Interface ● interface UmaInterface { void umMetodo(); }

21 Copyleft AgilCoop 200721 Estender e implementar em UML

22 Copyleft AgilCoop 200722 Discussão! Quando você usaria uma classe abstrata?Quando usaria uma interface? Tente pensar em exemplos.

23 Copyleft AgilCoop 200723 Exercício! ● Modele um sistema de pintura de um desenho, usando uma classe Tela que desenha apenas linhas. Queremos poder desenhar retângulos, quadrados e triângulos na tela, criando classes que não sejam nem subclasses nem superclasses de Tela. Queremos apenas usar Tela.

24 Copyleft AgilCoop 200724 Discussão do exercício!


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

Apresentações semelhantes


Anúncios Google