Diagrama de Classes - msoo / FrontPagemsoo.pbworks.com/f/Diagrama+de+Classes.pdfModelo conceitual...

Post on 09-Dec-2018

215 views 0 download

Transcript of Diagrama de Classes - msoo / FrontPagemsoo.pbworks.com/f/Diagrama+de+Classes.pdfModelo conceitual...

UML

Diagrama de Classes

Introdução

Descreve relações estáticas, basicamente: Classes e sub-classes Associações

Atemporal Diagrama mais importante Objeto = qualquer coisa que faz sentido no

contexto da aplicação Classe = conjunto de objetos com atributos,

comportamentos e semântica comnus

Perpectivas (Niveis de Abstracao)

Conceitual

Especificação Logica (Tipos e Interfaces)

Implementação (Fisica)

I

IMAGEM

DOMÍNIO

Modelo Conceitual

No Modelo Conceitual representamos conceitos relativos ao domínio de um problema. Devemos nos concentrar no negocio e não em detalhes da implementação.

Modelo Conceitual – O quê?

Representamos no modelo conceitual: Conceitos Atributos relacionados aos conceitos Associação entre conceitos

Modelo conceitual – Para que?

Não existe um modelo conceitual totalmente correto ou incorreto. Existem modelos úteis e inúteis. [Larman 97]

Se modelarmos um conceito de uma determinada maneira, devemos nos questionar quanto a sua utilidade e se a forma que modelamos é a que mais no facilitará.

Queremos:

Representar abstrações Independência de Implementações Facilidade de comunicação

Modelo Conceitual – Como?

Conceito é uma idéia ou um algo tangível, uma coisa

Construímos o modelo: Usando nomes comuns ao negócio Omitindo coisas ou detalhes irrelevantes Sem acrescentar coisas que não estejam o

negócio

Notação (Elementos)

N

Classes Atributos Operações Associações

Papéis Cardinalidade Navegabilidade (Uni-direcional x Bi-direcional)

N

Generalização Restrições Agregação e Composição

Classes

Atributos

visibilidade nome : expressão-tipo = valor inicial {propriedades}

Visibilidade Privado – Público + Protegido #

Expressão – tipo Tipo do atributo. Depende da linguagem utilizada.

Propriedades Escopo

Associações

Generalização Agregação Composição Papéis (Necessário para ligação de uma

classe com ela mesma)

c

Multiplicidade Navegabilidade (Uni-direcional x Bi-direcional)

N

Restrições

Generalização

Agregação

É um tipo específico de associação Relacionamento PARTE/TODO Cria uma restrição de integridade na

associação Esconde as partes dentro do todo Aumenta o acoplamento

Agregação

Composição

Também é uma associação É uma agregação Impõe uma restrição de integridade ainda

mais severa a associação/agregação Introduz o conceito de vidas coincidentes!!!

Composição

Agregação, composição e associação

Composição: um trem é formado por locomotiva e vagões

Agregação: uma locomotiva tem um farol (mas não vai deixar de ser uma locomotiva se não o tiver)

Associação: um trem usa uma estrada de ferro (não faz parte do trem, mas ele depende dela)

Papel (Role)

Associações – Exemplos

Operações

visibilidade nome (lista-parametros) : expressão-tipo-retorno {propriedades}

lista-parâmetros gênero nome : expressão-tipo = valor-default

gênero -> in ,out , inout expressão-tipo -> dependente da linguagem valor-default -> opcional

propriedades características da operação

Ex.: seqüencial ou concorrente Especificação da operação

Descrita por uma nota (recurso genérico) ligada a operação

Conceitos Avançados

Classes de Associação Restrição

Esteriótipos Atributos Derivados Classes Abstratas e Interfaces

Refinamento Templates Visibilidade

Atributos Derivados