Visibilidade e Diagrama de Classe de Projeto na UML

27
João F. M. Figueiredo www.joaomatosf.com [email protected] Departamento de Informática – UFPB

description

Slides do seminário sobre modelos de visibilidade e diagramas de classe de projetos na UML. Apresentados como parte do conteúdo do processo unificado.

Transcript of Visibilidade e Diagrama de Classe de Projeto na UML

Page 1: Visibilidade e Diagrama de Classe de Projeto na UML

João F. M. Figueiredowww.joaomatosf.com

[email protected] de Informática – UFPB

Page 2: Visibilidade e Diagrama de Classe de Projeto na UML

Sumário1. Como Determinar a Visibilidade

1. A visibilidade entre objetos

2. Tipos de Visibilidade

3. Visibilidade na UML

2. Como Criar Diagramas de Classe de Projeto

1. Quando criar DCPs

2. Exemplo de DCP

3. Modelo de Domínio Versus Classes do Modelo de Projeto

4. Criação de um DCP para o PDV ProxGear(estudo de caso)

Page 3: Visibilidade e Diagrama de Classe de Projeto na UML

1.1 Visibilidade entre objetos

Definições: Possibilidade de Ver. (TheFreeDictionary) Medida da facilidade com que o objeto é encontrado.

(Enciclopédia Livre) Habilidade de um objeto ver ou fazer referência a outro objeto.

(Craig Larman, 2004)

mensagem

Page 4: Visibilidade e Diagrama de Classe de Projeto na UML

1.1 Visibilidade entre objetos

Figura 18.1 – A Visibilidade do Registro para o CatálogoDeProduto é exigida.

Page 5: Visibilidade e Diagrama de Classe de Projeto na UML

1.2 Tipos de Visibilidade

1.Visibilidade por atributo: B é atributo de A.

2.Visibilidade por parâmetro: B é um parâmetro de um método de A.

3.Visibilidade local: B é um objeto local(não-parâmetro) em um método de A.

4.Visibilidade global: B é, de certo modo, globalmente visível.

mensagem

Page 6: Visibilidade e Diagrama de Classe de Projeto na UML

1.2 Tipos de Visibilidade (2)

Visibilidade por Atributo

Figura 18.2 – Visibilidade por atributo

Page 7: Visibilidade e Diagrama de Classe de Projeto na UML

Visibilidade Por Parâmetro

1.2 Tipos de Visibilidade (3)

Figura 18.3 – Visibilidade por parâmetro

Page 8: Visibilidade e Diagrama de Classe de Projeto na UML

Visibilidade Por Parâmetro

1.2 Tipos de Visibilidade (4)

Figura 18.1 – A Visibilidade de parâmetro para atributo.

Page 9: Visibilidade e Diagrama de Classe de Projeto na UML

Visibilidade Local

1.2 Tipos de Visibilidade (5)

Figura 18.1 – Visibilidade local

Page 10: Visibilidade e Diagrama de Classe de Projeto na UML

Visibilidade Global

Um objeto global é visível a todos

Não uma boa forma de ter visibilidade

1.2 Tipos de Visibilidade (6)

Page 11: Visibilidade e Diagrama de Classe de Projeto na UML

Como Ilustrar Visibilidade na UML

1.3 Visibilidade na UML

Figura 18.6 – Implementação de estereótipos para visibilidade

Page 12: Visibilidade e Diagrama de Classe de Projeto na UML

2. Como Criar Diagramas de Classe de Projeto

Objetivos:

Criar Diagramas de Classes de Projeto (DCPs)

Identificar as classes, os métodos e as associações para mostrar em um DCP.

Page 13: Visibilidade e Diagrama de Classe de Projeto na UML

2.1 O que é e Quando Criar DCPs

Especifica as classes de software e as interfaces da aplicação; Não somente das entidades conceituais.

Normalmente criado em paralelo com os diagramas de interação.

Page 14: Visibilidade e Diagrama de Classe de Projeto na UML

2.1 O que é e Quando criar DCPs (2)

Informação tipicamente incluída: Classes, associações e atributosInterfaces, incluindo métodos e constantesMétodosInformação de tipo de atributosNavegabilidadeDependências

Page 15: Visibilidade e Diagrama de Classe de Projeto na UML

2.2 Exemplo de DCPs

Figura 19.1 – Amostra de diagrama de classe de projeto

Page 16: Visibilidade e Diagrama de Classe de Projeto na UML

2.3 Modelo de Domínio Versus Classes de Modelo de Projeto

Figura 19.2 – Modelo do domínio vs classes do modelo de projeto

Page 17: Visibilidade e Diagrama de Classe de Projeto na UML

2.4 Criação De Um DCP Para o Estudo de Caso

Identificar as classes que participam da solução de software.Verificar os diagramas de interação para identificar as

classes.

Desenhar um diagrama de classe para estas classes e incluir os atributos identificados.

Page 18: Visibilidade e Diagrama de Classe de Projeto na UML

2.4 Criação De Um DCP Para o Estudo de Caso (2)

Figura 19.3 – Classes de software na aplicação

Page 19: Visibilidade e Diagrama de Classe de Projeto na UML

2.4 Criação De Um DCP Para o Estudo de Caso (3)Acrescentar nomes de métodos

Figura 19.4 – Nomes de métodos a partir dos diagramas de interação

Page 20: Visibilidade e Diagrama de Classe de Projeto na UML

2.4 Criação De Um DCP Para o Estudo de Caso (3)Acrescentar nomes de métodos

Figura 19.5 – Métodos na aplicação

Page 21: Visibilidade e Diagrama de Classe de Projeto na UML

2.4 Criação De Um DCP Para o Estudo de Caso (4)Acrescentar informação de tipo

Figura 19.7 – Informação de tipo

Page 22: Visibilidade e Diagrama de Classe de Projeto na UML

2.4 Criação De Um DCP Para o Estudo de Caso (5)Acrescentar associações e navegabilidade

Figura 19.8 – Mostrar navegabilidade ou visibilidade do atributo

Page 23: Visibilidade e Diagrama de Classe de Projeto na UML

2.4 Criação De Um DCP Para o Estudo de Caso (5)Acrescentar associações e navegabilidade

Figura 19.10 – Associações com adorno de navegabilidade

Page 24: Visibilidade e Diagrama de Classe de Projeto na UML

2.4 Criação De Um DCP Para o Estudo de Caso (6)Acrescentar relações de dependência

Figura 19.10 – Relacionamentos de dependência que indicam visibilidade que não é implementada por atributo

Page 25: Visibilidade e Diagrama de Classe de Projeto na UML

2.4 Criação De Um DCP Para o Estudo de Caso (7)Incluir detalhes de membro de classes

Exemplo:

Figura 19.12 – Detalhes da notação de membro do diagrama de classes UML

Page 26: Visibilidade e Diagrama de Classe de Projeto na UML

3. Referências BibliográficasCraig Larman: Utilizando UML e padrões: uma introdução

à análise e ao projeto orientados a objetos e ao Processo Unificado. 2ed – Porto Alegre: Bookman, 2004.

Page 27: Visibilidade e Diagrama de Classe de Projeto na UML

João F. M. Figueiredowww.joaomatosf.com

[email protected]

Departamento de Informática – UFPB