diagrama de classes - msoo / frontpagemsoo.pbworks.com/f/diagrama+de+classes.pdfmodelo conceitual...
TRANSCRIPT
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