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

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

Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|

Apresentações semelhantes


Apresentação em tema: "Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|"— Transcrição da apresentação:

1 Orientação a Objetos com UML

2 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 2 Elementos básicos de OO em UML Objeto Classe Atributo Operação Interface Componente Pacote Subsistema Relacionamentos

3 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 3 Objeto em UML : Conta contaSaque : Conta contaSaque Apenas o nome da classe Apenas o nome do objeto Nome da classe e do objeto

4 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 4 Classe em UML Conta Nome da Classe Conta Atributos Operações numero saldo credito() debito() getSaldo() getNumero() estrutura comportamento O que deve ser modelado por uma classe? O que é abstração e modularidade?

5 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 5 Visibilidade Marcações de acesso podem ser usadas para especificar o tipo de acesso permitido aos atributos e operações + público # protegido - privado

6 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 6 Interface Interfaces definem um tipo especificando apenas a assinatura de seus métodos Interfaces não possuem atributos e seus métodos não têm corpo Classes, subsistemas e componentes implementam interfaces ­ provêem implementação para os métodos especificados em uma interface

7 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 7 Exemplo: Independência do meio de armazenamento Isolando as coleções de negócio de mudanças na coleção de dados correspondente RepositorioContasBDRRepositorioContasOOCadastroContas > RepositorioContas

8 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 8 Interface em UML: notação alternativa RepositorioContas Relacionamentos de realização RepositorioContasOO RepositorioContasXMLRepositorioContasBDR

9 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 9 Classes, Interfaces e Classes Abstratas Classes Atributos Métodos Classes Abstratas Atributos Métodos Assinatura de Métodos Interfaces Assinaturas dos métodos

10 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 10 Componente em UML Interface do Componente Arquivo fonte > Componente > Arquivo executável

11 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 11 Pacote Mecanismo para organizar elementos em grupos Facilita entendimento do sistema Favorece modularidade e reuso em larga escala Essencial para estruturar sistemas complexos nome do pacote

12 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 12 Subsistema em UML Subsistema Interface Realização > Nome do subsistema

13 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 13 Subsistemas e Componentes Ambos encapsulam um comportamento modelado por interfaces Subsistemas representam componentes no modelo de projeto Componentes são a realização física dos subsistemas Projeto Implementação Nome do componente > Nome do subsistema

14 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 14 Relacionamentos Associação ­ simples ­ agregação ­ composição Dependência Generalização Realização

15 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 15 Associação Relação estrutural entre classes Pessoa Empresa trabalha Associação Nome da associação Classe Empregado Empregador Papéis

16 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 16 Agregação Tipo especial de associação Relacionamento todo-parte O todo possui um nível de abstração maior que a parte DepartamentoEmpresa TodoParte Agregação

17 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 17 Composição Tipo especial de agregação Relação de posse mais forte O todo é responsável pela criação da parte A parte não vive sem o todo Não permite compartilhamento DepartamentoEmpresa TodoParte Composição

18 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 18 Dependência Relacionamento não estrutural (uso) ­ mais fraco que associação Uma dependência entre dois elementos indica que mudança em um elemento pode causar mudanças no outro CartãoLeitoraCartao lerCartao (cartao) Relacionamento de Dependência

19 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 19 Dependência Pode existir relacionamento de dependência entre vários elementos de UML Classe Pacote PacoteFornecedor Componente FornecedorCliente PacoteCliente Dependência Fonte: Rational FornecedorCliente

20 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 20 Multiplicidade Multiplicidade define quantos objetos participam do relacionamento ­ O número de instâncias de uma classe relacionadas a uma instância de outra classe ­ Especificado em cada uma das pontas da associação

21 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 21 Tipos de Multiplicidade Não especificada Exatamente um Zero ou mais Muitos (mesmo que 0..*) Um ou mais Zero ou um Intervalo determinado Valores múltiplos 1 0..* * 1..* 0..1 2..4 2, 4..6

22 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 22 Exemplo: Multiplicidade Pessoa Empresa Multiplicidade 1..*1

23 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 23 Navegação Especifica a direção da associação Associações e agregações são bidirecionais por default, mas é desejável que a navegação seja restringida a apenas uma direção Associações bidirecionais são mais difíceis de implementar

24 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 24 Exemplo: Navegação Pessoa Empresa Navegação 1..*1

25 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 25 Generalização Relacionamento entre classes onde uma classe compartilha a estrutura (atributos e relacionamentos) e comportamento (operações) de outras classes Define uma hierarquia de abstrações Relacionamento “é um tipo de” (is-a-kind-of) ­ Herança comportamental (behavioural inheritance) ­ Referência clássica: A behavioral notion of subtyping (Liskov & Wing)

26 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 26 Generalização Uma subclasse pode ­ adicionar atributos, operações e relacionamentos ­ redefinir operações herdadas Tipos de herança: simples e múltipla

27 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 27 Herança Simples Classes herdando de apenas uma outra classe Círculo raio centro desenhar() Retângulo vertices desenhar() diagonal() Figura cor largura da linha desenhar() girar(graus) selecionar() Subclasses Superclasse (pai) Relacionamento de Generalização Quadrado

28 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 28 Herança Múltipla Classes herdando de mais de uma classe Mamífero AnimalVoador Herança múltipla Cachorro GatoMorcegoPassarinho Gaviao

29 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 29 Herança Múltipla O que acontece quando as superclasses possuem o mesmo método (métodos com o mesmo nome? O que acontece quando se tenta executar um método que não está definido na subclasse? Em que hierarquia de superclasses deve-se procurar o método?

30 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 30 Realização Subsistema Classe Caso de uso Indica que um elemento serve como contrato que o outro deve seguir Exemplos: Componente Realização de Caso de uso

31 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML para Sistemas RT| 31 Exercício - Arquitetura Defina uma arquitetura simplificada de uma aplicação bancária, com: ­ Pelo menos 2 tipos de conta (corrente, poupança) e um cadastro de contas ­ Cliente e um cadastro de clientes ­ Operações para criar, remover, debitar, creditar, transferir,... ­ Adoção do padrão fachada

32 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 32 Mecanismos adicionais de UML Estereótipos Notas Propriedades (Tagged values) Restrições OCL (Object Constraint Language)

33 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 33 Estereótipos Mecanismo utilizado para estender os elementos de UML Define um novo modelo de elemento em termos de outro já existente Como ­ criando um novo ícone ­ utilizando a notação >

34 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 34 Estereótipos - Exemplo Classes de fronteira: ClasseFronteira > ClasseFronteira

35 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 35 Notas Anotação utilizada para adicionar informação a diagramas ­ Pode ser afixionada a qualquer elemento de UML ­ Pode ser ligada a um elemento com uma linha tracejada Exemplo: LeitorCartao Esta classe é uma abstração do dispositivo de hardware que será usado para ler efetivamente as informações do cartão magnético.

36 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 36 Propriedades (Tagged Values) Servem para estender elementos UML, adicionando informações sobre eles Exemplos já definidos em UML: ­ Persistence ­ Location (ex: no cliente, no servidor) Você pode criar suas próprias propriedades Cliente {persistence} LeitorCartao {location=server}

37 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 37 Restrições Pessoa Empresa {subset} funcionários diretores 1..* 1 31 Usadas para criação de novas regras sobre elementos do modelo Ou modificação de regras existentes

38 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 38 OCL (Object Constraint Language) Empresa É uma linguagem usada para definir restrições sobre elementos do modelo ou modificação de restrições existentes ­ Invariantes de classe ­ Pré e pós-condições de operações context Empresa inv diretoresNecessarios: self.diretor->size() == 3

39 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 39 Diagramas UML Diagramas de UML usados no curso (apresentados sob demanda) ­ Casos de uso ­ Classes ­ Sequência ­ Comunicação (Colaboração) ­ Pacotes ­ Componentes (usado em SOA)

40 Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes 40 Processos e Padrões Orientação a objetos e DBC são paradigmas promissores, mas ­ Reuso ­ Extensibilidade ­ Escalabilidade... exigem ­ Processos ­ Técnicas ­ Disciplina ­ Experiências anteriores de sucesso (padrões)!


Carregar ppt "Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|"

Apresentações semelhantes


Anúncios Google