Diagrama de Classes - msoo / FrontPagemsoo.pbworks.com/f/Diagrama+de+Classes.pdfModelo conceitual...
Transcript of Diagrama de Classes - msoo / FrontPagemsoo.pbworks.com/f/Diagrama+de+Classes.pdfModelo conceitual...
![Page 1: Diagrama de Classes - msoo / FrontPagemsoo.pbworks.com/f/Diagrama+de+Classes.pdfModelo conceitual – Para que? Não existe um modelo conceitual totalmente correto ou incorreto. Existem](https://reader030.fdocumentos.tips/reader030/viewer/2022011807/5c0c074609d3f2e9148b64e4/html5/thumbnails/1.jpg)
UML
Diagrama de Classes
![Page 2: Diagrama de Classes - msoo / FrontPagemsoo.pbworks.com/f/Diagrama+de+Classes.pdfModelo conceitual – Para que? Não existe um modelo conceitual totalmente correto ou incorreto. Existem](https://reader030.fdocumentos.tips/reader030/viewer/2022011807/5c0c074609d3f2e9148b64e4/html5/thumbnails/2.jpg)
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
![Page 3: Diagrama de Classes - msoo / FrontPagemsoo.pbworks.com/f/Diagrama+de+Classes.pdfModelo conceitual – Para que? Não existe um modelo conceitual totalmente correto ou incorreto. Existem](https://reader030.fdocumentos.tips/reader030/viewer/2022011807/5c0c074609d3f2e9148b64e4/html5/thumbnails/3.jpg)
Perpectivas (Niveis de Abstracao)
Conceitual
Especificação Logica (Tipos e Interfaces)
Implementação (Fisica)
I
IMAGEM
DOMÍNIO
![Page 4: Diagrama de Classes - msoo / FrontPagemsoo.pbworks.com/f/Diagrama+de+Classes.pdfModelo conceitual – Para que? Não existe um modelo conceitual totalmente correto ou incorreto. Existem](https://reader030.fdocumentos.tips/reader030/viewer/2022011807/5c0c074609d3f2e9148b64e4/html5/thumbnails/4.jpg)
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.
![Page 5: Diagrama de Classes - msoo / FrontPagemsoo.pbworks.com/f/Diagrama+de+Classes.pdfModelo conceitual – Para que? Não existe um modelo conceitual totalmente correto ou incorreto. Existem](https://reader030.fdocumentos.tips/reader030/viewer/2022011807/5c0c074609d3f2e9148b64e4/html5/thumbnails/5.jpg)
Modelo Conceitual – O quê?
Representamos no modelo conceitual: Conceitos Atributos relacionados aos conceitos Associação entre conceitos
![Page 6: Diagrama de Classes - msoo / FrontPagemsoo.pbworks.com/f/Diagrama+de+Classes.pdfModelo conceitual – Para que? Não existe um modelo conceitual totalmente correto ou incorreto. Existem](https://reader030.fdocumentos.tips/reader030/viewer/2022011807/5c0c074609d3f2e9148b64e4/html5/thumbnails/6.jpg)
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á.
![Page 7: Diagrama de Classes - msoo / FrontPagemsoo.pbworks.com/f/Diagrama+de+Classes.pdfModelo conceitual – Para que? Não existe um modelo conceitual totalmente correto ou incorreto. Existem](https://reader030.fdocumentos.tips/reader030/viewer/2022011807/5c0c074609d3f2e9148b64e4/html5/thumbnails/7.jpg)
Queremos:
Representar abstrações Independência de Implementações Facilidade de comunicação
![Page 8: Diagrama de Classes - msoo / FrontPagemsoo.pbworks.com/f/Diagrama+de+Classes.pdfModelo conceitual – Para que? Não existe um modelo conceitual totalmente correto ou incorreto. Existem](https://reader030.fdocumentos.tips/reader030/viewer/2022011807/5c0c074609d3f2e9148b64e4/html5/thumbnails/8.jpg)
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
![Page 9: Diagrama de Classes - msoo / FrontPagemsoo.pbworks.com/f/Diagrama+de+Classes.pdfModelo conceitual – Para que? Não existe um modelo conceitual totalmente correto ou incorreto. Existem](https://reader030.fdocumentos.tips/reader030/viewer/2022011807/5c0c074609d3f2e9148b64e4/html5/thumbnails/9.jpg)
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
![Page 10: Diagrama de Classes - msoo / FrontPagemsoo.pbworks.com/f/Diagrama+de+Classes.pdfModelo conceitual – Para que? Não existe um modelo conceitual totalmente correto ou incorreto. Existem](https://reader030.fdocumentos.tips/reader030/viewer/2022011807/5c0c074609d3f2e9148b64e4/html5/thumbnails/10.jpg)
Classes
![Page 11: Diagrama de Classes - msoo / FrontPagemsoo.pbworks.com/f/Diagrama+de+Classes.pdfModelo conceitual – Para que? Não existe um modelo conceitual totalmente correto ou incorreto. Existem](https://reader030.fdocumentos.tips/reader030/viewer/2022011807/5c0c074609d3f2e9148b64e4/html5/thumbnails/11.jpg)
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
![Page 12: Diagrama de Classes - msoo / FrontPagemsoo.pbworks.com/f/Diagrama+de+Classes.pdfModelo conceitual – Para que? Não existe um modelo conceitual totalmente correto ou incorreto. Existem](https://reader030.fdocumentos.tips/reader030/viewer/2022011807/5c0c074609d3f2e9148b64e4/html5/thumbnails/12.jpg)
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
![Page 13: Diagrama de Classes - msoo / FrontPagemsoo.pbworks.com/f/Diagrama+de+Classes.pdfModelo conceitual – Para que? Não existe um modelo conceitual totalmente correto ou incorreto. Existem](https://reader030.fdocumentos.tips/reader030/viewer/2022011807/5c0c074609d3f2e9148b64e4/html5/thumbnails/13.jpg)
Generalização
![Page 14: Diagrama de Classes - msoo / FrontPagemsoo.pbworks.com/f/Diagrama+de+Classes.pdfModelo conceitual – Para que? Não existe um modelo conceitual totalmente correto ou incorreto. Existem](https://reader030.fdocumentos.tips/reader030/viewer/2022011807/5c0c074609d3f2e9148b64e4/html5/thumbnails/14.jpg)
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
![Page 15: Diagrama de Classes - msoo / FrontPagemsoo.pbworks.com/f/Diagrama+de+Classes.pdfModelo conceitual – Para que? Não existe um modelo conceitual totalmente correto ou incorreto. Existem](https://reader030.fdocumentos.tips/reader030/viewer/2022011807/5c0c074609d3f2e9148b64e4/html5/thumbnails/15.jpg)
Agregação
![Page 16: Diagrama de Classes - msoo / FrontPagemsoo.pbworks.com/f/Diagrama+de+Classes.pdfModelo conceitual – Para que? Não existe um modelo conceitual totalmente correto ou incorreto. Existem](https://reader030.fdocumentos.tips/reader030/viewer/2022011807/5c0c074609d3f2e9148b64e4/html5/thumbnails/16.jpg)
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!!!
![Page 17: Diagrama de Classes - msoo / FrontPagemsoo.pbworks.com/f/Diagrama+de+Classes.pdfModelo conceitual – Para que? Não existe um modelo conceitual totalmente correto ou incorreto. Existem](https://reader030.fdocumentos.tips/reader030/viewer/2022011807/5c0c074609d3f2e9148b64e4/html5/thumbnails/17.jpg)
Composição
![Page 18: Diagrama de Classes - msoo / FrontPagemsoo.pbworks.com/f/Diagrama+de+Classes.pdfModelo conceitual – Para que? Não existe um modelo conceitual totalmente correto ou incorreto. Existem](https://reader030.fdocumentos.tips/reader030/viewer/2022011807/5c0c074609d3f2e9148b64e4/html5/thumbnails/18.jpg)
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)
![Page 19: Diagrama de Classes - msoo / FrontPagemsoo.pbworks.com/f/Diagrama+de+Classes.pdfModelo conceitual – Para que? Não existe um modelo conceitual totalmente correto ou incorreto. Existem](https://reader030.fdocumentos.tips/reader030/viewer/2022011807/5c0c074609d3f2e9148b64e4/html5/thumbnails/19.jpg)
Papel (Role)
![Page 20: Diagrama de Classes - msoo / FrontPagemsoo.pbworks.com/f/Diagrama+de+Classes.pdfModelo conceitual – Para que? Não existe um modelo conceitual totalmente correto ou incorreto. Existem](https://reader030.fdocumentos.tips/reader030/viewer/2022011807/5c0c074609d3f2e9148b64e4/html5/thumbnails/20.jpg)
Associações – Exemplos
![Page 21: Diagrama de Classes - msoo / FrontPagemsoo.pbworks.com/f/Diagrama+de+Classes.pdfModelo conceitual – Para que? Não existe um modelo conceitual totalmente correto ou incorreto. Existem](https://reader030.fdocumentos.tips/reader030/viewer/2022011807/5c0c074609d3f2e9148b64e4/html5/thumbnails/21.jpg)
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
![Page 22: Diagrama de Classes - msoo / FrontPagemsoo.pbworks.com/f/Diagrama+de+Classes.pdfModelo conceitual – Para que? Não existe um modelo conceitual totalmente correto ou incorreto. Existem](https://reader030.fdocumentos.tips/reader030/viewer/2022011807/5c0c074609d3f2e9148b64e4/html5/thumbnails/22.jpg)
Conceitos Avançados
Classes de Associação Restrição
Esteriótipos Atributos Derivados Classes Abstratas e Interfaces
Refinamento Templates Visibilidade
![Page 23: Diagrama de Classes - msoo / FrontPagemsoo.pbworks.com/f/Diagrama+de+Classes.pdfModelo conceitual – Para que? Não existe um modelo conceitual totalmente correto ou incorreto. Existem](https://reader030.fdocumentos.tips/reader030/viewer/2022011807/5c0c074609d3f2e9148b64e4/html5/thumbnails/23.jpg)
Atributos Derivados